From 359561cac4f6f00e28c199f75058da9a1dccd364 Mon Sep 17 00:00:00 2001 From: iioter <535915157@qq.com> Date: Wed, 12 Apr 2023 23:40:00 +0800 Subject: [PATCH] merge branch 'private'. this is version 2.0 --- 3d/3d.html | 282 + 3d/css/main.css | 108 + 3d/image/10.png | Bin 0 -> 3568 bytes 3d/image/info.png | Bin 0 -> 7847 bytes 3d/image/line.png | Bin 0 -> 22441 bytes 3d/image/traffic_01.png | Bin 0 -> 2522 bytes 3d/lib/CSS3DRenderer.js | 308 + 3d/lib/DRACOLoader.js | 587 + 3d/lib/GLTFLoader.js | 4349 ++ 3d/lib/OrbitControls.js | 1252 + 3d/lib/RoomEnvironment.js | 121 + 3d/lib/ShaderPass.js | 63 + 3d/lib/dat.gui.min.js | 14 + 3d/lib/gltf/draco_decoder.js | 48 + 3d/lib/gltf/draco_decoder.wasm | Bin 0 -> 194983 bytes 3d/lib/gltf/draco_encoder.js | 33 + 3d/lib/gltf/draco_wasm_wrapper.js | 104 + 3d/lib/stats.module.js | 167 + 3d/lib/three.module.js | 50312 ++++++++++++++++ 3d/model/LittlestTokyo.glb | Bin 0 -> 4133072 bytes Export_DeviceSettings_202301131655289713.xlsx | Bin 18225 -> 0 bytes Export_DeviceSettings_202304122238403461.xlsx | Bin 0 -> 10870 bytes .../20230412061736_IsUpload.Designer.cs | 871 + .../Migrations/20230412061736_IsUpload.cs | 36 + .../Migrations/DataContextModelSnapshot.cs | 6 + IoTGateway.Model/DeviceVariable.cs | 25 + IoTGateway.Model/SystemConfig.cs | 2 +- .../DeviceConfigVMs/DeviceConfigListVM.cs | 2 +- .../BasicData/DeviceVMs/CopyVM.cs | 6 +- .../BasicData/DeviceVMs/DeleteDevices.cs | 4 +- .../BasicData/DeviceVMs/DeviceListVM.cs | 17 +- .../BasicData/DeviceVMs/DeviceVM.cs | 2 +- .../DeviceVariableBatchVM.cs | 2 + .../DeviceVariableImportVM.cs | 4 + .../DeviceVariableVMs/DeviceVariableListVM.cs | 48 +- .../DeviceVariableSearcher.cs | 2 + .../DeviceVariableVMs/DeviceVariableVM.cs | 4 +- .../BasicData/DeviceVariableVMs/SetValueVM.cs | 23 +- .../BasicData/DriverVMs/DriverListVM.cs | 2 +- .../BasicData/ExportDevicesSetting.cs | 304 + .../BasicData/ImportExcelVM.cs | 284 + IoTGateway.sln | 252 +- .../BasicData/Controllers/DeviceController.cs | 39 +- .../BasicData/Views/Device/ImportExcel.cshtml | 18 + .../Views/DeviceVariable/BatchEdit.cshtml | 1 + .../Views/DeviceVariable/Create.cshtml | 4 +- .../Views/DeviceVariable/Details.cshtml | 1 + .../Views/DeviceVariable/Edit.cshtml | 2 + .../Views/DeviceVariable/Index.cshtml | 75 +- .../Config/Views/SystemConfig/Index.cshtml | 2 +- IoTGateway/Controllers/HomeController.cs | 4 +- IoTGateway/IoTGateway.csproj | 81 +- .../PublishProfiles/FolderProfile.pubxml | 3 +- .../PublishProfiles/FolderProfile.pubxml.user | 2 +- IoTGateway/Views/Home/FrontPage.cshtml | 19 +- IoTGateway/Views/Login/Login.cshtml | 11 +- IoTGateway/iotgateway.db | Bin 311296 -> 319488 bytes IoTGateway/nlog.config | 2 +- IoTGateway/wwwroot/images/wxgroup.png | Bin 0 -> 5887 bytes .../.vs/DriverFanuc/v17/.futdcache.v1 | Bin .../.vs/DriverFanuc/v17/.suo | Bin .../ProjectEvaluation/driverfanuc.metadata.v2 | Bin .../ProjectEvaluation/driverfanuc.projects.v2 | Bin .../CNC.Fanuc.H.csproj} | 2 +- .../DeviceFanuc.cs} | 107 +- .../CNC.Fanuc.csproj} | 0 .../Fanuc.cs => CNC.Fanuc/DeviceFanuc.cs} | 56 +- .../{DriverFanuc => CNC.Fanuc}/FanucFocas.cs | 8 +- .../{DriverFanuc => CNC.Fanuc}/fwlib32.cs | 2 +- .../CNC.MTConnect.csproj} | 0 .../DeviceMTClient.cs} | 25 +- .../DriverAllenBradley/AllenBradley.cs | 162 - Plugins/Drivers/DriverModbusMaster/PlcType.cs | 10 - .../DeviceTcpClient.cs} | 34 +- .../Mock.TcpClient.csproj} | 0 .../DeviceDaClient.cs} | 83 +- .../OPC.DaClient.csproj} | 0 .../OPCClient/Interop.OPCAutomation.dll | Bin .../OPCClient/OPCChangeModel.cs | 0 .../OPCClient/OPCClientWrapper.cs | 2 +- .../OPCClient/OPCDataChangedHandler.cs | 0 .../OPCClient/TagItem.cs | 0 .../OPCClient/TagQuality.cs | 0 .../OPCClient/TagTreeNode.cs | 0 .../DeviceUaClient.cs} | 82 +- .../OPC.UaClient.csproj} | 0 .../OpcUaHelper/FormUtils.cs | 0 .../OpcUaHelper/OpcUaClientHelper.cs | 2 +- .../OpcUaHelper/OpcUaStatusEventArgs.cs | 0 .../Drivers/OmronFins/DriverOmronFins.csproj | 17 - Plugins/Drivers/OmronFins/OmronFins.cs | 160 - ...6d9642ad-eef7-4197-ad88-fff9aa3edfb1.vsidx | Bin 0 -> 17757 bytes .../FileContentIndex/read.lock | 0 .../DriverWeightTcpClient/v17/.futdcache.v1 | Bin 0 -> 147 bytes .../.vs/DriverWeightTcpClient/v17/.suo | Bin 0 -> 5120 bytes .../driverweighttcpclient.metadata.v2 | Bin 0 -> 139671 bytes .../driverweighttcpclient.projects.v2 | Bin 0 -> 60604 bytes Plugins/Drivers/Other.Toledo/DeviceToledo.cs | 394 + .../Drivers/Other.Toledo/Other.Toledo.csproj | 18 + .../DeviceAllenBradley.cs} | 55 +- .../PLC.AllenBradley.csproj} | 0 .../DeviceMelsecMc.cs} | 116 +- .../PLC.MelsecMc.csproj} | 0 .../DesignTimeBuild/.dtbcache.v2 | Bin .../.vs/DriverModbusMaster/v17/.futdcache.v1 | Bin .../.vs/DriverModbusMaster/v17/.suo | Bin .../DeviceModBusMaster.cs} | 753 +- .../MasterType.cs | 2 +- .../ModbusDataConver.cs | 23 +- .../NModbus4/Data/DataStore.cs | 0 .../NModbus4/Data/DataStoreEventArgs.cs | 0 .../NModbus4/Data/DataStoreFactory.cs | 0 .../NModbus4/Data/DiscreteCollection.cs | 0 .../Data/IModbusMessageDataCollection.cs | 0 .../NModbus4/Data/ModbusDataCollection.cs | 0 .../NModbus4/Data/ModbusDataType.cs | 0 .../NModbus4/Data/RegisterCollection.cs | 0 .../NModbus4/Device/IModbusMaster.cs | 0 .../NModbus4/Device/IModbusSerialMaster.cs | 0 .../NModbus4/Device/ModbusDevice.cs | 0 .../NModbus4/Device/ModbusIpMaster.cs | 0 .../NModbus4/Device/ModbusMaster.cs | 0 .../Device/ModbusMasterTcpConnection.cs | 0 .../NModbus4/Device/ModbusSerialMaster.cs | 0 .../NModbus4/Device/ModbusSerialSlave.cs | 0 .../NModbus4/Device/ModbusSlave.cs | 0 .../Device/ModbusSlaveRequestEventArgs.cs | 0 .../NModbus4/Device/ModbusTcpSlave.cs | 0 .../NModbus4/Device/ModbusUdpSlave.cs | 0 .../NModbus4/Device/TcpConnectionEventArgs.cs | 0 .../NModbus4/Extensions/Enron/EnronModbus.cs | 0 .../NModbus4/GlobalSuppressions.cs | 0 .../NModbus4/IO/EmptyTransport.cs | 0 .../NModbus4/IO/IStreamResource.cs | 0 .../NModbus4/IO/ModbusAsciiTransport.cs | 0 .../NModbus4/IO/ModbusIpTransport.cs | 0 .../NModbus4/IO/ModbusRtuTransport.cs | 0 .../NModbus4/IO/ModbusSerialTransport.cs | 0 .../NModbus4/IO/ModbusTransport.cs | 0 .../NModbus4/IO/StreamResourceUtility.cs | 0 .../NModbus4/IO/TcpClientAdapter.cs | 0 .../NModbus4/IO/UdpClientAdapter.cs | 0 .../NModbus4/InvalidModbusRequestException.cs | 0 .../NModbus4/Message/AbstractModbusMessage.cs | 0 .../Message/AbstractModbusMessageWithData.cs | 0 .../Message/DiagnosticsRequestResponse.cs | 0 .../NModbus4/Message/IModbusMessage.cs | 0 .../NModbus4/Message/IModbusRequest.cs | 0 .../NModbus4/Message/ModbusMessageFactory.cs | 0 .../NModbus4/Message/ModbusMessageImpl.cs | 0 .../Message/ReadCoilsInputsRequest.cs | 0 .../Message/ReadCoilsInputsResponse.cs | 0 .../ReadHoldingInputRegistersRequest.cs | 0 .../ReadHoldingInputRegistersResponse.cs | 0 .../ReadWriteMultipleRegistersRequest.cs | 0 .../Message/SlaveExceptionResponse.cs | 0 .../Message/WriteMultipleCoilsRequest.cs | 0 .../Message/WriteMultipleCoilsResponse.cs | 0 .../Message/WriteMultipleRegistersRequest.cs | 0 .../Message/WriteMultipleRegistersResponse.cs | 0 .../Message/WriteSingleCoilRequestResponse.cs | 0 .../WriteSingleRegisterRequestResponse.cs | 0 .../NModbus4/Modbus.cs | 0 .../NModbus4/Resources.cs | 0 .../NModbus4/SerialPortAdapter.cs | 0 .../NModbus4/SlaveException.cs | 0 .../NModbus4/Unme.Common/DisposableUtility.cs | 0 .../NModbus4/Unme.Common/SequenceUtility.cs | 0 .../NModbus4/Utility/DiscriminatedUnion.cs | 0 .../NModbus4/Utility/ModbusUtility.cs | 0 .../PLC.ModBusMaster.csproj} | 0 .../Drivers/PLC.OmronFins/DeviceOmronFins.cs | 210 + .../PLC.OmronFins.csproj} | 0 .../DeviceSiemensS7.cs} | 232 +- .../PLC.SiemensS7.csproj} | 0 .../S7.Net/COTP.cs | 0 .../S7.Net/Compat/TcpClientMixins.cs | 0 .../S7.Net/Conversion.cs | 0 .../S7.Net/Enums.cs | 0 .../S7.Net/Helper/MemoryStreamExtension.cs | 0 .../S7.Net/Internal/TaskQueue.cs | 0 .../S7.Net/InvalidDataException.cs | 0 .../S7.Net/PLC.cs | 0 .../S7.Net/PLCAddress.cs | 0 .../S7.Net/PLCExceptions.cs | 0 .../S7.Net/PLCHelpers.cs | 0 .../S7.Net/PlcAsynchronous.cs | 0 .../S7.Net/PlcException.cs | 0 .../S7.Net/PlcSynchronous.cs | 0 .../S7.Net/Properties/AssemblyInfo.cs | 0 .../S7.Net/Properties/S7.Net.snk | Bin .../S7.Net/Protocol/ConnectionRequest.cs | 0 .../S7.Net/Protocol/ReadWriteErrorCode.cs | 0 .../S7.Net/Protocol/S7/DataItemAddress.cs | 0 .../S7.Net/Protocol/S7WriteMultiple.cs | 0 .../S7.Net/Protocol/Serialization.cs | 0 .../S7.Net/Protocol/Tsap.cs | 0 .../S7.Net/Protocol/TsapPair.cs | 0 .../S7.Net/StreamExtensions.cs | 0 .../S7.Net/TPKT.cs | 0 .../S7.Net/Types/Bit.cs | 0 .../S7.Net/Types/Boolean.cs | 0 .../S7.Net/Types/Byte.cs | 0 .../S7.Net/Types/ByteArray.cs | 0 .../S7.Net/Types/Class.cs | 0 .../S7.Net/Types/Counter.cs | 0 .../S7.Net/Types/DInt.cs | 0 .../S7.Net/Types/DWord.cs | 0 .../S7.Net/Types/DataItem.cs | 0 .../S7.Net/Types/DateTime.cs | 0 .../S7.Net/Types/DateTimeLong.cs | 0 .../S7.Net/Types/Double.cs | 0 .../S7.Net/Types/Int.cs | 0 .../S7.Net/Types/LReal.cs | 0 .../S7.Net/Types/Real.cs | 0 .../S7.Net/Types/S7String.cs | 0 .../S7.Net/Types/S7StringAttribute.cs | 0 .../S7.Net/Types/S7WString.cs | 0 .../S7.Net/Types/Single.cs | 0 .../S7.Net/Types/String.cs | 0 .../S7.Net/Types/StringEx.cs | 0 .../S7.Net/Types/Struct.cs | 0 .../S7.Net/Types/Timer.cs | 0 .../S7.Net/Types/TypeHelper.cs | 0 .../S7.Net/Types/Word.cs | 0 Plugins/Plugin/DeviceThread.cs | 263 +- Plugins/Plugin/JsonUtility.cs | 28 + Plugins/Plugin/ModbusSlaveService.cs | 4 +- Plugins/Plugin/MyMqttClient.cs | 100 +- Plugins/Plugin/Plugin.csproj | 8 +- Plugins/PluginInterface/DataTypeEnum.cs | 3 +- .../DriverAddressIoArgModel.cs | 41 +- .../PluginInterface/DriverReturnValueModel.cs | 19 + Plugins/PluginInterface/EndianEnum.cs | 9 +- Plugins/PluginInterface/IDriver.cs | 4 +- Plugins/PluginInterface/RpcResponse.cs | 8 +- .../WalkingTec.Mvvm.Core.csproj | 82 +- appsettings.json | 116 - auto-build-arm.sh | 12 +- auto-build.sh | 2 +- ...nucHsl.deps.json => CNC.Fanuc.H.deps.json} | 22 +- drivers/net6.0/CNC.Fanuc.H.dll | Bin 0 -> 16896 bytes drivers/net6.0/CNC.Fanuc.H.pdb | Bin 0 -> 17220 bytes ...nect.deps.json => CNC.MTConnect.deps.json} | 6 +- drivers/net6.0/CNC.MTConnect.dll | Bin 0 -> 8704 bytes drivers/net6.0/CNC.MTConnect.pdb | Bin 0 -> 11828 bytes drivers/net6.0/DriverAllenBradley.dll | Bin 9728 -> 0 bytes drivers/net6.0/DriverAllenBradley.pdb | Bin 11868 -> 0 bytes drivers/net6.0/DriverFanuc.dll | Bin 168448 -> 0 bytes drivers/net6.0/DriverFanuc.pdb | Bin 40776 -> 0 bytes drivers/net6.0/DriverFanucHsl.dll | Bin 16384 -> 0 bytes drivers/net6.0/DriverFanucHsl.pdb | Bin 17056 -> 0 bytes drivers/net6.0/DriverMTConnect.dll | Bin 8704 -> 0 bytes drivers/net6.0/DriverMTConnect.pdb | Bin 11824 -> 0 bytes drivers/net6.0/DriverMitsubishi.dll | Bin 10240 -> 0 bytes drivers/net6.0/DriverMitsubishi.pdb | Bin 11936 -> 0 bytes drivers/net6.0/DriverModbusMaster.dll | Bin 104960 -> 0 bytes drivers/net6.0/DriverModbusMaster.pdb | Bin 52796 -> 0 bytes drivers/net6.0/DriverOPCDaClient.dll | Bin 20480 -> 0 bytes drivers/net6.0/DriverOPCDaClient.pdb | Bin 16404 -> 0 bytes drivers/net6.0/DriverOPCUaClient.dll | Bin 46592 -> 0 bytes drivers/net6.0/DriverOPCUaClient.pdb | Bin 26164 -> 0 bytes drivers/net6.0/DriverOmronFins.dll | Bin 10240 -> 0 bytes drivers/net6.0/DriverOmronFins.pdb | Bin 11820 -> 0 bytes drivers/net6.0/DriverSiemensS7.deps.json | 70 - drivers/net6.0/DriverSiemensS7.dll | Bin 111104 -> 0 bytes drivers/net6.0/DriverSiemensS7.pdb | Bin 49528 -> 0 bytes drivers/net6.0/DriverSimTcpClient.dll | Bin 10240 -> 0 bytes drivers/net6.0/DriverSimTcpClient.pdb | Bin 12004 -> 0 bytes drivers/net6.0/HslCommunication.dll | Bin 3878912 -> 4132352 bytes ...ent.deps.json => Mock.TcpClient.deps.json} | 6 +- drivers/net6.0/Mock.TcpClient.dll | Bin 0 -> 10752 bytes drivers/net6.0/Mock.TcpClient.pdb | Bin 0 -> 12056 bytes ...lient.deps.json => OPC.DaClient.deps.json} | 6 +- drivers/net6.0/OPC.DaClient.dll | Bin 0 -> 21504 bytes drivers/net6.0/OPC.DaClient.pdb | Bin 0 -> 16556 bytes ...lient.deps.json => OPC.UaClient.deps.json} | 6 +- drivers/net6.0/OPC.UaClient.dll | Bin 0 -> 47104 bytes drivers/net6.0/OPC.UaClient.pdb | Bin 0 -> 26300 bytes drivers/net6.0/Other.Toledo.deps.json | 215 + drivers/net6.0/Other.Toledo.dll | Bin 0 -> 12800 bytes drivers/net6.0/Other.Toledo.pdb | Bin 0 -> 13120 bytes ...i.deps.json => PLC.AllenBradley.deps.json} | 6 +- drivers/net6.0/PLC.AllenBradley.dll | Bin 0 -> 10752 bytes drivers/net6.0/PLC.AllenBradley.pdb | Bin 0 -> 11960 bytes ...nFins.deps.json => PLC.MelsecMc.deps.json} | 6 +- drivers/net6.0/PLC.MelsecMc.dll | Bin 0 -> 11264 bytes drivers/net6.0/PLC.MelsecMc.pdb | Bin 0 -> 12052 bytes ...r.deps.json => PLC.ModBusMaster.deps.json} | 6 +- drivers/net6.0/PLC.ModBusMaster.dll | Bin 0 -> 108032 bytes drivers/net6.0/PLC.ModBusMaster.pdb | Bin 0 -> 54256 bytes ...dley.deps.json => PLC.OmronFins.deps.json} | 6 +- drivers/net6.0/PLC.OmronFins.dll | Bin 0 -> 10752 bytes drivers/net6.0/PLC.OmronFins.pdb | Bin 0 -> 11984 bytes ...anuc.deps.json => PLC.SiemensS7.deps.json} | 6 +- drivers/net6.0/PLC.SiemensS7.dll | Bin 0 -> 111104 bytes drivers/net6.0/PLC.SiemensS7.pdb | Bin 0 -> 49320 bytes drivers/net6.0/PluginInterface.dll | Bin 22016 -> 22528 bytes drivers/net6.0/PluginInterface.pdb | Bin 16564 -> 16912 bytes drivers/net6.0/System.IO.Ports.dll | Bin 34680 -> 36968 bytes 300 files changed, 61878 insertions(+), 1645 deletions(-) create mode 100644 3d/3d.html create mode 100644 3d/css/main.css create mode 100644 3d/image/10.png create mode 100644 3d/image/info.png create mode 100644 3d/image/line.png create mode 100644 3d/image/traffic_01.png create mode 100644 3d/lib/CSS3DRenderer.js create mode 100644 3d/lib/DRACOLoader.js create mode 100644 3d/lib/GLTFLoader.js create mode 100644 3d/lib/OrbitControls.js create mode 100644 3d/lib/RoomEnvironment.js create mode 100644 3d/lib/ShaderPass.js create mode 100644 3d/lib/dat.gui.min.js create mode 100644 3d/lib/gltf/draco_decoder.js create mode 100644 3d/lib/gltf/draco_decoder.wasm create mode 100644 3d/lib/gltf/draco_encoder.js create mode 100644 3d/lib/gltf/draco_wasm_wrapper.js create mode 100644 3d/lib/stats.module.js create mode 100644 3d/lib/three.module.js create mode 100644 3d/model/LittlestTokyo.glb delete mode 100644 Export_DeviceSettings_202301131655289713.xlsx create mode 100644 Export_DeviceSettings_202304122238403461.xlsx create mode 100644 IoTGateway.DataAccess/Migrations/20230412061736_IsUpload.Designer.cs create mode 100644 IoTGateway.DataAccess/Migrations/20230412061736_IsUpload.cs create mode 100644 IoTGateway.ViewModel/BasicData/ExportDevicesSetting.cs create mode 100644 IoTGateway.ViewModel/BasicData/ImportExcelVM.cs create mode 100644 IoTGateway/Areas/BasicData/Views/Device/ImportExcel.cshtml create mode 100644 IoTGateway/wwwroot/images/wxgroup.png rename Plugins/Drivers/{DriverFanucHsl => CNC.Fanuc.H}/.vs/DriverFanuc/v17/.futdcache.v1 (100%) rename Plugins/Drivers/{DriverFanucHsl => CNC.Fanuc.H}/.vs/DriverFanuc/v17/.suo (100%) rename Plugins/Drivers/{DriverFanucHsl => CNC.Fanuc.H}/.vs/ProjectEvaluation/driverfanuc.metadata.v2 (100%) rename Plugins/Drivers/{DriverFanucHsl => CNC.Fanuc.H}/.vs/ProjectEvaluation/driverfanuc.projects.v2 (100%) rename Plugins/Drivers/{DriverFanucHsl/DriverFanucHsl.csproj => CNC.Fanuc.H/CNC.Fanuc.H.csproj} (89%) rename Plugins/Drivers/{DriverFanucHsl/FanucHsl.cs => CNC.Fanuc.H/DeviceFanuc.cs} (93%) rename Plugins/Drivers/{DriverFanuc/DriverFanuc.csproj => CNC.Fanuc/CNC.Fanuc.csproj} (100%) rename Plugins/Drivers/{DriverFanuc/Fanuc.cs => CNC.Fanuc/DeviceFanuc.cs} (97%) rename Plugins/Drivers/{DriverFanuc => CNC.Fanuc}/FanucFocas.cs (98%) rename Plugins/Drivers/{DriverFanuc => CNC.Fanuc}/fwlib32.cs (99%) rename Plugins/Drivers/{DriverMTConnect/DriverMTConnect.csproj => CNC.MTConnect/CNC.MTConnect.csproj} (100%) rename Plugins/Drivers/{DriverMTConnect/MTConnectClient.cs => CNC.MTConnect/DeviceMTClient.cs} (86%) delete mode 100644 Plugins/Drivers/DriverAllenBradley/AllenBradley.cs delete mode 100644 Plugins/Drivers/DriverModbusMaster/PlcType.cs rename Plugins/Drivers/{DriverSimTcpClient/SimTcpClient.cs => Mock.TcpClient/DeviceTcpClient.cs} (89%) rename Plugins/Drivers/{DriverSimTcpClient/DriverSimTcpClient.csproj => Mock.TcpClient/Mock.TcpClient.csproj} (100%) rename Plugins/Drivers/{DriverOPCDaClient/OPCDaClient.cs => OPC.DaClient/DeviceDaClient.cs} (71%) rename Plugins/Drivers/{DriverOPCDaClient/DriverOPCDaClient.csproj => OPC.DaClient/OPC.DaClient.csproj} (100%) rename Plugins/Drivers/{DriverOPCDaClient => OPC.DaClient}/OPCClient/Interop.OPCAutomation.dll (100%) rename Plugins/Drivers/{DriverOPCDaClient => OPC.DaClient}/OPCClient/OPCChangeModel.cs (100%) rename Plugins/Drivers/{DriverOPCDaClient => OPC.DaClient}/OPCClient/OPCClientWrapper.cs (99%) rename Plugins/Drivers/{DriverOPCDaClient => OPC.DaClient}/OPCClient/OPCDataChangedHandler.cs (100%) rename Plugins/Drivers/{DriverOPCDaClient => OPC.DaClient}/OPCClient/TagItem.cs (100%) rename Plugins/Drivers/{DriverOPCDaClient => OPC.DaClient}/OPCClient/TagQuality.cs (100%) rename Plugins/Drivers/{DriverOPCDaClient => OPC.DaClient}/OPCClient/TagTreeNode.cs (100%) rename Plugins/Drivers/{DriverOPCUaClient/OPCUaClient.cs => OPC.UaClient/DeviceUaClient.cs} (59%) rename Plugins/Drivers/{DriverOPCUaClient/DriverOPCUaClient.csproj => OPC.UaClient/OPC.UaClient.csproj} (100%) rename Plugins/Drivers/{DriverOPCUaClient => OPC.UaClient}/OpcUaHelper/FormUtils.cs (100%) rename Plugins/Drivers/{DriverOPCUaClient => OPC.UaClient}/OpcUaHelper/OpcUaClientHelper.cs (99%) rename Plugins/Drivers/{DriverOPCUaClient => OPC.UaClient}/OpcUaHelper/OpcUaStatusEventArgs.cs (100%) delete mode 100644 Plugins/Drivers/OmronFins/DriverOmronFins.csproj delete mode 100644 Plugins/Drivers/OmronFins/OmronFins.cs create mode 100644 Plugins/Drivers/Other.Toledo/.vs/DriverWeightTcpClient/FileContentIndex/6d9642ad-eef7-4197-ad88-fff9aa3edfb1.vsidx create mode 100644 Plugins/Drivers/Other.Toledo/.vs/DriverWeightTcpClient/FileContentIndex/read.lock create mode 100644 Plugins/Drivers/Other.Toledo/.vs/DriverWeightTcpClient/v17/.futdcache.v1 create mode 100644 Plugins/Drivers/Other.Toledo/.vs/DriverWeightTcpClient/v17/.suo create mode 100644 Plugins/Drivers/Other.Toledo/.vs/ProjectEvaluation/driverweighttcpclient.metadata.v2 create mode 100644 Plugins/Drivers/Other.Toledo/.vs/ProjectEvaluation/driverweighttcpclient.projects.v2 create mode 100644 Plugins/Drivers/Other.Toledo/DeviceToledo.cs create mode 100644 Plugins/Drivers/Other.Toledo/Other.Toledo.csproj rename Plugins/Drivers/{DriverOmronFins/OmronFins.cs => PLC.AllenBradley/DeviceAllenBradley.cs} (77%) rename Plugins/Drivers/{DriverAllenBradley/DriverAllenBradley.csproj => PLC.AllenBradley/PLC.AllenBradley.csproj} (100%) rename Plugins/Drivers/{DriverMitsubishi/Mitsubishi.cs => PLC.MelsecMc/DeviceMelsecMc.cs} (58%) rename Plugins/Drivers/{DriverMitsubishi/DriverMitsubishi.csproj => PLC.MelsecMc/PLC.MelsecMc.csproj} (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/.vs/DriverModbusMaster/DesignTimeBuild/.dtbcache.v2 (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/.vs/DriverModbusMaster/v17/.futdcache.v1 (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/.vs/DriverModbusMaster/v17/.suo (100%) rename Plugins/Drivers/{DriverModbusMaster/ModbusMaster.cs => PLC.ModBusMaster/DeviceModBusMaster.cs} (59%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/MasterType.cs (82%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/ModbusDataConver.cs (91%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Data/DataStore.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Data/DataStoreEventArgs.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Data/DataStoreFactory.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Data/DiscreteCollection.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Data/IModbusMessageDataCollection.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Data/ModbusDataCollection.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Data/ModbusDataType.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Data/RegisterCollection.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Device/IModbusMaster.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Device/IModbusSerialMaster.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Device/ModbusDevice.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Device/ModbusIpMaster.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Device/ModbusMaster.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Device/ModbusMasterTcpConnection.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Device/ModbusSerialMaster.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Device/ModbusSerialSlave.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Device/ModbusSlave.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Device/ModbusSlaveRequestEventArgs.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Device/ModbusTcpSlave.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Device/ModbusUdpSlave.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Device/TcpConnectionEventArgs.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Extensions/Enron/EnronModbus.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/GlobalSuppressions.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/IO/EmptyTransport.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/IO/IStreamResource.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/IO/ModbusAsciiTransport.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/IO/ModbusIpTransport.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/IO/ModbusRtuTransport.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/IO/ModbusSerialTransport.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/IO/ModbusTransport.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/IO/StreamResourceUtility.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/IO/TcpClientAdapter.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/IO/UdpClientAdapter.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/InvalidModbusRequestException.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Message/AbstractModbusMessage.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Message/AbstractModbusMessageWithData.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Message/DiagnosticsRequestResponse.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Message/IModbusMessage.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Message/IModbusRequest.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Message/ModbusMessageFactory.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Message/ModbusMessageImpl.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Message/ReadCoilsInputsRequest.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Message/ReadCoilsInputsResponse.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Message/ReadHoldingInputRegistersRequest.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Message/ReadHoldingInputRegistersResponse.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Message/ReadWriteMultipleRegistersRequest.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Message/SlaveExceptionResponse.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Message/WriteMultipleCoilsRequest.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Message/WriteMultipleCoilsResponse.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Message/WriteMultipleRegistersRequest.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Message/WriteMultipleRegistersResponse.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Message/WriteSingleCoilRequestResponse.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Message/WriteSingleRegisterRequestResponse.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Modbus.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Resources.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/SerialPortAdapter.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/SlaveException.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Unme.Common/DisposableUtility.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Unme.Common/SequenceUtility.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Utility/DiscriminatedUnion.cs (100%) rename Plugins/Drivers/{DriverModbusMaster => PLC.ModBusMaster}/NModbus4/Utility/ModbusUtility.cs (100%) rename Plugins/Drivers/{DriverModbusMaster/DriverModbusMaster.csproj => PLC.ModBusMaster/PLC.ModBusMaster.csproj} (100%) create mode 100644 Plugins/Drivers/PLC.OmronFins/DeviceOmronFins.cs rename Plugins/Drivers/{DriverOmronFins/DriverOmronFins.csproj => PLC.OmronFins/PLC.OmronFins.csproj} (100%) rename Plugins/Drivers/{DriverSiemensS7/SiemensS7.cs => PLC.SiemensS7/DeviceSiemensS7.cs} (63%) rename Plugins/Drivers/{DriverSiemensS7/DriverSiemensS7.csproj => PLC.SiemensS7/PLC.SiemensS7.csproj} (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/COTP.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Compat/TcpClientMixins.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Conversion.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Enums.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Helper/MemoryStreamExtension.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Internal/TaskQueue.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/InvalidDataException.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/PLC.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/PLCAddress.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/PLCExceptions.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/PLCHelpers.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/PlcAsynchronous.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/PlcException.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/PlcSynchronous.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Properties/AssemblyInfo.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Properties/S7.Net.snk (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Protocol/ConnectionRequest.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Protocol/ReadWriteErrorCode.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Protocol/S7/DataItemAddress.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Protocol/S7WriteMultiple.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Protocol/Serialization.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Protocol/Tsap.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Protocol/TsapPair.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/StreamExtensions.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/TPKT.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/Bit.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/Boolean.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/Byte.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/ByteArray.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/Class.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/Counter.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/DInt.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/DWord.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/DataItem.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/DateTime.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/DateTimeLong.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/Double.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/Int.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/LReal.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/Real.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/S7String.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/S7StringAttribute.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/S7WString.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/Single.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/String.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/StringEx.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/Struct.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/Timer.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/TypeHelper.cs (100%) rename Plugins/Drivers/{DriverSiemensS7 => PLC.SiemensS7}/S7.Net/Types/Word.cs (100%) create mode 100644 Plugins/Plugin/JsonUtility.cs delete mode 100644 appsettings.json rename drivers/net6.0/{DriverFanucHsl.deps.json => CNC.Fanuc.H.deps.json} (93%) create mode 100644 drivers/net6.0/CNC.Fanuc.H.dll create mode 100644 drivers/net6.0/CNC.Fanuc.H.pdb rename drivers/net6.0/{DriverMTConnect.deps.json => CNC.MTConnect.deps.json} (97%) create mode 100644 drivers/net6.0/CNC.MTConnect.dll create mode 100644 drivers/net6.0/CNC.MTConnect.pdb delete mode 100644 drivers/net6.0/DriverAllenBradley.dll delete mode 100644 drivers/net6.0/DriverAllenBradley.pdb delete mode 100644 drivers/net6.0/DriverFanuc.dll delete mode 100644 drivers/net6.0/DriverFanuc.pdb delete mode 100644 drivers/net6.0/DriverFanucHsl.dll delete mode 100644 drivers/net6.0/DriverFanucHsl.pdb delete mode 100644 drivers/net6.0/DriverMTConnect.dll delete mode 100644 drivers/net6.0/DriverMTConnect.pdb delete mode 100644 drivers/net6.0/DriverMitsubishi.dll delete mode 100644 drivers/net6.0/DriverMitsubishi.pdb delete mode 100644 drivers/net6.0/DriverModbusMaster.dll delete mode 100644 drivers/net6.0/DriverModbusMaster.pdb delete mode 100644 drivers/net6.0/DriverOPCDaClient.dll delete mode 100644 drivers/net6.0/DriverOPCDaClient.pdb delete mode 100644 drivers/net6.0/DriverOPCUaClient.dll delete mode 100644 drivers/net6.0/DriverOPCUaClient.pdb delete mode 100644 drivers/net6.0/DriverOmronFins.dll delete mode 100644 drivers/net6.0/DriverOmronFins.pdb delete mode 100644 drivers/net6.0/DriverSiemensS7.deps.json delete mode 100644 drivers/net6.0/DriverSiemensS7.dll delete mode 100644 drivers/net6.0/DriverSiemensS7.pdb delete mode 100644 drivers/net6.0/DriverSimTcpClient.dll delete mode 100644 drivers/net6.0/DriverSimTcpClient.pdb rename drivers/net6.0/{DriverSimTcpClient.deps.json => Mock.TcpClient.deps.json} (95%) create mode 100644 drivers/net6.0/Mock.TcpClient.dll create mode 100644 drivers/net6.0/Mock.TcpClient.pdb rename drivers/net6.0/{DriverOPCDaClient.deps.json => OPC.DaClient.deps.json} (95%) create mode 100644 drivers/net6.0/OPC.DaClient.dll create mode 100644 drivers/net6.0/OPC.DaClient.pdb rename drivers/net6.0/{DriverOPCUaClient.deps.json => OPC.UaClient.deps.json} (98%) create mode 100644 drivers/net6.0/OPC.UaClient.dll create mode 100644 drivers/net6.0/OPC.UaClient.pdb create mode 100644 drivers/net6.0/Other.Toledo.deps.json create mode 100644 drivers/net6.0/Other.Toledo.dll create mode 100644 drivers/net6.0/Other.Toledo.pdb rename drivers/net6.0/{DriverMitsubishi.deps.json => PLC.AllenBradley.deps.json} (98%) create mode 100644 drivers/net6.0/PLC.AllenBradley.dll create mode 100644 drivers/net6.0/PLC.AllenBradley.pdb rename drivers/net6.0/{DriverOmronFins.deps.json => PLC.MelsecMc.deps.json} (98%) create mode 100644 drivers/net6.0/PLC.MelsecMc.dll create mode 100644 drivers/net6.0/PLC.MelsecMc.pdb rename drivers/net6.0/{DriverModbusMaster.deps.json => PLC.ModBusMaster.deps.json} (98%) create mode 100644 drivers/net6.0/PLC.ModBusMaster.dll create mode 100644 drivers/net6.0/PLC.ModBusMaster.pdb rename drivers/net6.0/{DriverAllenBradley.deps.json => PLC.OmronFins.deps.json} (98%) create mode 100644 drivers/net6.0/PLC.OmronFins.dll create mode 100644 drivers/net6.0/PLC.OmronFins.pdb rename drivers/net6.0/{DriverFanuc.deps.json => PLC.SiemensS7.deps.json} (95%) create mode 100644 drivers/net6.0/PLC.SiemensS7.dll create mode 100644 drivers/net6.0/PLC.SiemensS7.pdb diff --git a/3d/3d.html b/3d/3d.html new file mode 100644 index 00000000..a25a58dc --- /dev/null +++ b/3d/3d.html @@ -0,0 +1,282 @@ + + + + + 3D + + + + + + + + +
+ + + + + + + \ No newline at end of file diff --git a/3d/css/main.css b/3d/css/main.css new file mode 100644 index 00000000..2018d04c --- /dev/null +++ b/3d/css/main.css @@ -0,0 +1,108 @@ +body { + margin: 0; + background-color: #000; + color: #fff; + font-family: Monospace; + font-size: 13px; + line-height: 24px; + overscroll-behavior: none; +} + +a { + color: #ff0; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +button { + cursor: pointer; + text-transform: uppercase; +} + +#info { + position: absolute; + top: 0px; + width: 100%; + padding: 10px; + box-sizing: border-box; + text-align: center; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; + pointer-events: none; + z-index: 1; /* TODO Solve this in HTML */ +} + +a, button, input, select { + pointer-events: auto; +} + +.lil-gui { + z-index: 2 !important; /* TODO Solve this in HTML */ +} + +@media all and ( max-width: 640px ) { + .lil-gui.root { + right: auto; + top: auto; + max-height: 50%; + max-width: 80%; + bottom: 0; + left: 0; + } +} + +#overlay { + position: absolute; + font-size: 16px; + z-index: 2; + top: 0; + left: 0; + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + background: rgba(0,0,0,0.7); +} + + #overlay button { + background: transparent; + border: 0; + border: 1px solid rgb(255, 255, 255); + border-radius: 4px; + color: #ffffff; + padding: 12px 18px; + text-transform: uppercase; + cursor: pointer; + } + +#notSupported { + width: 50%; + margin: auto; + background-color: #f00; + margin-top: 20px; + padding: 10px; +} + +.div-label { + width: 355px; + height: 255px; + background: url("../image/info.png") no-repeat; + } + + .div-label ul { + margin: 80px 40px; + width: 355px; + height: 255px; + } + + .div-label li { + margin: 20px 0; + } + \ No newline at end of file diff --git a/3d/image/10.png b/3d/image/10.png new file mode 100644 index 0000000000000000000000000000000000000000..01328c952ba090a53ef6b67175137d69b34f7add GIT binary patch literal 3568 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 CnVvcT literal 0 HcmV?d00001 diff --git a/3d/image/info.png b/3d/image/info.png new file mode 100644 index 0000000000000000000000000000000000000000..5aeb732cffbd165fac2770ad2ed8a0f8a6760edf GIT binary patch literal 7847 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

ngus z#3y6No_l?6*Qr?dU^ze>zB2gEclR)x}#5flD<$j6zD|$5u5y zRMrSG|B)u4QI{PC`LK6jtCNA9jcSi33wFg^JeqfsV-2JMH3cy zol1Y|2p_W7W>C!*QLl{Av1m}z&t`;mUWpQ%S@=rbpd22J`o>5b^4bQ15~B*w>#~5h z21LHOpN(YQ=)3y(GG2H^;*}L2y=NiV+cDUl?)MvTuoQg|2j_Makm%TY+lu|=+N?e} zVF>0y`@}b1@JEB3u>|I+@e6SL8JWWGnp@JQ2_P>-+IGDzY4NEoY1dyP1u5ujz=A@e zARF$@qHn^ZPE@ud*Ic;YJRgXGJ%u?K!mjJcpu|(aQ$Q8it3d{~cC7jL?SRpJRsXa- zlStNX6~eO3vI#)@qVU~Vc(B9l^!d<8%f2V0<>s%hiK4)>n&cw!!JHj-`*o%czMuCg zImM3d;+n$NxBDg?5m;ca4!t_EU}XOLs6Ex{_e6XrsAw<#Qh9f{mho8s&i&onnxl*0 zlBT#l>#YM7R?kf-sJge(3&DENk7SXChRPz~6wMMUa99Yg!2&r~I10h0M7&j7c$7hH zN{NOE%}CfNW literal 0 HcmV?d00001 diff --git a/3d/image/traffic_01.png b/3d/image/traffic_01.png new file mode 100644 index 0000000000000000000000000000000000000000..39a4e4587b27abcacbd03922884f14c69d50cc35 GIT binary patch literal 2522 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 literal 0 HcmV?d00001 diff --git a/3d/lib/CSS3DRenderer.js b/3d/lib/CSS3DRenderer.js new file mode 100644 index 00000000..8dc6ae94 --- /dev/null +++ b/3d/lib/CSS3DRenderer.js @@ -0,0 +1,308 @@ +import { + Matrix4, + Object3D, + Quaternion, + Vector3 +} from './three.module.js'; + +/** + * Based on http://www.emagix.net/academic/mscs-project/item/camera-sync-with-css3-and-webgl-threejs + */ + +const _position = new Vector3(); +const _quaternion = new Quaternion(); +const _scale = new Vector3(); + +class CSS3DObject extends Object3D { + + constructor( element = document.createElement( 'div' ) ) { + + super(); + + this.element = element; + this.element.style.position = 'absolute'; + this.element.style.pointerEvents = 'auto'; + this.element.style.userSelect = 'none'; + + this.element.setAttribute( 'draggable', false ); + + this.addEventListener( 'removed', function () { + + this.traverse( function ( object ) { + + if ( object.element instanceof Element && object.element.parentNode !== null ) { + + object.element.parentNode.removeChild( object.element ); + + } + + } ); + + } ); + + } + + copy( source, recursive ) { + + super.copy( source, recursive ); + + this.element = source.element.cloneNode( true ); + + return this; + + } + +} + +CSS3DObject.prototype.isCSS3DObject = true; + +class CSS3DSprite extends CSS3DObject { + + constructor( element ) { + + super( element ); + + this.rotation2D = 0; + + } + + copy( source, recursive ) { + + super.copy( source, recursive ); + + this.rotation2D = source.rotation2D; + + return this; + + } + +} + +CSS3DSprite.prototype.isCSS3DSprite = true; + +// + +const _matrix = new Matrix4(); +const _matrix2 = new Matrix4(); + +class CSS3DRenderer { + + constructor( parameters = {} ) { + + const _this = this; + + let _width, _height; + let _widthHalf, _heightHalf; + + const cache = { + camera: { fov: 0, style: '' }, + objects: new WeakMap() + }; + + const domElement = parameters.element !== undefined ? parameters.element : document.createElement( 'div' ); + + domElement.style.overflow = 'hidden'; + + this.domElement = domElement; + + const cameraElement = document.createElement( 'div' ); + + cameraElement.style.transformStyle = 'preserve-3d'; + cameraElement.style.pointerEvents = 'none'; + + domElement.appendChild( cameraElement ); + + this.getSize = function () { + + return { + width: _width, + height: _height + }; + + }; + + this.render = function ( scene, camera ) { + + const fov = camera.projectionMatrix.elements[ 5 ] * _heightHalf; + + if ( cache.camera.fov !== fov ) { + + domElement.style.perspective = camera.isPerspectiveCamera ? fov + 'px' : ''; + cache.camera.fov = fov; + + } + + if ( scene.autoUpdate === true ) scene.updateMatrixWorld(); + if ( camera.parent === null ) camera.updateMatrixWorld(); + + let tx, ty; + + if ( camera.isOrthographicCamera ) { + + tx = - ( camera.right + camera.left ) / 2; + ty = ( camera.top + camera.bottom ) / 2; + + } + + const cameraCSSMatrix = camera.isOrthographicCamera ? + 'scale(' + fov + ')' + 'translate(' + epsilon( tx ) + 'px,' + epsilon( ty ) + 'px)' + getCameraCSSMatrix( camera.matrixWorldInverse ) : + 'translateZ(' + fov + 'px)' + getCameraCSSMatrix( camera.matrixWorldInverse ); + + const style = cameraCSSMatrix + + 'translate(' + _widthHalf + 'px,' + _heightHalf + 'px)'; + + if ( cache.camera.style !== style ) { + + cameraElement.style.transform = style; + + cache.camera.style = style; + + } + + renderObject( scene, scene, camera, cameraCSSMatrix ); + + }; + + this.setSize = function ( width, height ) { + + _width = width; + _height = height; + _widthHalf = _width / 2; + _heightHalf = _height / 2; + + domElement.style.width = width + 'px'; + domElement.style.height = height + 'px'; + + cameraElement.style.width = width + 'px'; + cameraElement.style.height = height + 'px'; + + }; + + function epsilon( value ) { + + return Math.abs( value ) < 1e-10 ? 0 : value; + + } + + function getCameraCSSMatrix( matrix ) { + + const elements = matrix.elements; + + return 'matrix3d(' + + epsilon( elements[ 0 ] ) + ',' + + epsilon( - elements[ 1 ] ) + ',' + + epsilon( elements[ 2 ] ) + ',' + + epsilon( elements[ 3 ] ) + ',' + + epsilon( elements[ 4 ] ) + ',' + + epsilon( - elements[ 5 ] ) + ',' + + epsilon( elements[ 6 ] ) + ',' + + epsilon( elements[ 7 ] ) + ',' + + epsilon( elements[ 8 ] ) + ',' + + epsilon( - elements[ 9 ] ) + ',' + + epsilon( elements[ 10 ] ) + ',' + + epsilon( elements[ 11 ] ) + ',' + + epsilon( elements[ 12 ] ) + ',' + + epsilon( - elements[ 13 ] ) + ',' + + epsilon( elements[ 14 ] ) + ',' + + epsilon( elements[ 15 ] ) + + ')'; + + } + + function getObjectCSSMatrix( matrix ) { + + const elements = matrix.elements; + const matrix3d = 'matrix3d(' + + epsilon( elements[ 0 ] ) + ',' + + epsilon( elements[ 1 ] ) + ',' + + epsilon( elements[ 2 ] ) + ',' + + epsilon( elements[ 3 ] ) + ',' + + epsilon( - elements[ 4 ] ) + ',' + + epsilon( - elements[ 5 ] ) + ',' + + epsilon( - elements[ 6 ] ) + ',' + + epsilon( - elements[ 7 ] ) + ',' + + epsilon( elements[ 8 ] ) + ',' + + epsilon( elements[ 9 ] ) + ',' + + epsilon( elements[ 10 ] ) + ',' + + epsilon( elements[ 11 ] ) + ',' + + epsilon( elements[ 12 ] ) + ',' + + epsilon( elements[ 13 ] ) + ',' + + epsilon( elements[ 14 ] ) + ',' + + epsilon( elements[ 15 ] ) + + ')'; + + return 'translate(-50%,-50%)' + matrix3d; + + } + + function renderObject( object, scene, camera, cameraCSSMatrix ) { + + if ( object.isCSS3DObject ) { + + object.onBeforeRender( _this, scene, camera ); + + let style; + + if ( object.isCSS3DSprite ) { + + // http://swiftcoder.wordpress.com/2008/11/25/constructing-a-billboard-matrix/ + + _matrix.copy( camera.matrixWorldInverse ); + _matrix.transpose(); + + if ( object.rotation2D !== 0 ) _matrix.multiply( _matrix2.makeRotationZ( object.rotation2D ) ); + + object.matrixWorld.decompose( _position, _quaternion, _scale ); + _matrix.setPosition( _position ); + _matrix.scale( _scale ); + + _matrix.elements[ 3 ] = 0; + _matrix.elements[ 7 ] = 0; + _matrix.elements[ 11 ] = 0; + _matrix.elements[ 15 ] = 1; + + style = getObjectCSSMatrix( _matrix ); + + } else { + + style = getObjectCSSMatrix( object.matrixWorld ); + + } + + const element = object.element; + const cachedObject = cache.objects.get( object ); + + if ( cachedObject === undefined || cachedObject.style !== style ) { + + element.style.transform = style; + + const objectData = { style: style }; + cache.objects.set( object, objectData ); + + } + + element.style.display = object.visible ? '' : 'none'; + + if ( element.parentNode !== cameraElement ) { + + cameraElement.appendChild( element ); + + } + + object.onAfterRender( _this, scene, camera ); + + } + + for ( let i = 0, l = object.children.length; i < l; i ++ ) { + + renderObject( object.children[ i ], scene, camera, cameraCSSMatrix ); + + } + + } + + } + +} + +export { CSS3DObject, CSS3DSprite, CSS3DRenderer }; diff --git a/3d/lib/DRACOLoader.js b/3d/lib/DRACOLoader.js new file mode 100644 index 00000000..28c20314 --- /dev/null +++ b/3d/lib/DRACOLoader.js @@ -0,0 +1,587 @@ +import { + BufferAttribute, + BufferGeometry, + FileLoader, + Loader +} from './three.module.js'; + +const _taskCache = new WeakMap(); + +class DRACOLoader extends Loader { + + constructor( manager ) { + + super( manager ); + + this.decoderPath = ''; + this.decoderConfig = {}; + this.decoderBinary = null; + this.decoderPending = null; + + this.workerLimit = 4; + this.workerPool = []; + this.workerNextTaskID = 1; + this.workerSourceURL = ''; + + this.defaultAttributeIDs = { + position: 'POSITION', + normal: 'NORMAL', + color: 'COLOR', + uv: 'TEX_COORD' + }; + this.defaultAttributeTypes = { + position: 'Float32Array', + normal: 'Float32Array', + color: 'Float32Array', + uv: 'Float32Array' + }; + + } + + setDecoderPath( path ) { + + this.decoderPath = path; + + return this; + + } + + setDecoderConfig( config ) { + + this.decoderConfig = config; + + return this; + + } + + setWorkerLimit( workerLimit ) { + + this.workerLimit = workerLimit; + + return this; + + } + + load( url, onLoad, onProgress, onError ) { + + const loader = new FileLoader( this.manager ); + + loader.setPath( this.path ); + loader.setResponseType( 'arraybuffer' ); + loader.setRequestHeader( this.requestHeader ); + loader.setWithCredentials( this.withCredentials ); + + loader.load( url, ( buffer ) => { + + const taskConfig = { + attributeIDs: this.defaultAttributeIDs, + attributeTypes: this.defaultAttributeTypes, + useUniqueIDs: false + }; + + this.decodeGeometry( buffer, taskConfig ) + .then( onLoad ) + .catch( onError ); + + }, onProgress, onError ); + + } + + /** @deprecated Kept for backward-compatibility with previous DRACOLoader versions. */ + decodeDracoFile( buffer, callback, attributeIDs, attributeTypes ) { + + const taskConfig = { + attributeIDs: attributeIDs || this.defaultAttributeIDs, + attributeTypes: attributeTypes || this.defaultAttributeTypes, + useUniqueIDs: !! attributeIDs + }; + + this.decodeGeometry( buffer, taskConfig ).then( callback ); + + } + + decodeGeometry( buffer, taskConfig ) { + + // TODO: For backward-compatibility, support 'attributeTypes' objects containing + // references (rather than names) to typed array constructors. These must be + // serialized before sending them to the worker. + for ( const attribute in taskConfig.attributeTypes ) { + + const type = taskConfig.attributeTypes[ attribute ]; + + if ( type.BYTES_PER_ELEMENT !== undefined ) { + + taskConfig.attributeTypes[ attribute ] = type.name; + + } + + } + + // + + const taskKey = JSON.stringify( taskConfig ); + + // Check for an existing task using this buffer. A transferred buffer cannot be transferred + // again from this thread. + if ( _taskCache.has( buffer ) ) { + + const cachedTask = _taskCache.get( buffer ); + + if ( cachedTask.key === taskKey ) { + + return cachedTask.promise; + + } else if ( buffer.byteLength === 0 ) { + + // Technically, it would be possible to wait for the previous task to complete, + // transfer the buffer back, and decode again with the second configuration. That + // is complex, and I don't know of any reason to decode a Draco buffer twice in + // different ways, so this is left unimplemented. + throw new Error( + + 'THREE.DRACOLoader: Unable to re-decode a buffer with different ' + + 'settings. Buffer has already been transferred.' + + ); + + } + + } + + // + + let worker; + const taskID = this.workerNextTaskID ++; + const taskCost = buffer.byteLength; + + // Obtain a worker and assign a task, and construct a geometry instance + // when the task completes. + const geometryPending = this._getWorker( taskID, taskCost ) + .then( ( _worker ) => { + + worker = _worker; + + return new Promise( ( resolve, reject ) => { + + worker._callbacks[ taskID ] = { resolve, reject }; + + worker.postMessage( { type: 'decode', id: taskID, taskConfig, buffer }, [ buffer ] ); + + // this.debug(); + + } ); + + } ) + .then( ( message ) => this._createGeometry( message.geometry ) ); + + // Remove task from the task list. + // Note: replaced '.finally()' with '.catch().then()' block - iOS 11 support (#19416) + geometryPending + .catch( () => true ) + .then( () => { + + if ( worker && taskID ) { + + this._releaseTask( worker, taskID ); + + // this.debug(); + + } + + } ); + + // Cache the task result. + _taskCache.set( buffer, { + + key: taskKey, + promise: geometryPending + + } ); + + return geometryPending; + + } + + _createGeometry( geometryData ) { + + const geometry = new BufferGeometry(); + + if ( geometryData.index ) { + + geometry.setIndex( new BufferAttribute( geometryData.index.array, 1 ) ); + + } + + for ( let i = 0; i < geometryData.attributes.length; i ++ ) { + + const attribute = geometryData.attributes[ i ]; + const name = attribute.name; + const array = attribute.array; + const itemSize = attribute.itemSize; + + geometry.setAttribute( name, new BufferAttribute( array, itemSize ) ); + + } + + return geometry; + + } + + _loadLibrary( url, responseType ) { + + const loader = new FileLoader( this.manager ); + loader.setPath( this.decoderPath ); + loader.setResponseType( responseType ); + loader.setWithCredentials( this.withCredentials ); + + return new Promise( ( resolve, reject ) => { + + loader.load( url, resolve, undefined, reject ); + + } ); + + } + + preload() { + + this._initDecoder(); + + return this; + + } + + _initDecoder() { + + if ( this.decoderPending ) return this.decoderPending; + + const useJS = typeof WebAssembly !== 'object' || this.decoderConfig.type === 'js'; + const librariesPending = []; + + if ( useJS ) { + + librariesPending.push( this._loadLibrary( 'draco_decoder.js', 'text' ) ); + + } else { + + librariesPending.push( this._loadLibrary( 'draco_wasm_wrapper.js', 'text' ) ); + librariesPending.push( this._loadLibrary( 'draco_decoder.wasm', 'arraybuffer' ) ); + + } + + this.decoderPending = Promise.all( librariesPending ) + .then( ( libraries ) => { + + const jsContent = libraries[ 0 ]; + + if ( ! useJS ) { + + this.decoderConfig.wasmBinary = libraries[ 1 ]; + + } + + const fn = DRACOWorker.toString(); + + const body = [ + '/* draco decoder */', + jsContent, + '', + '/* worker */', + fn.substring( fn.indexOf( '{' ) + 1, fn.lastIndexOf( '}' ) ) + ].join( '\n' ); + + this.workerSourceURL = URL.createObjectURL( new Blob( [ body ] ) ); + + } ); + + return this.decoderPending; + + } + + _getWorker( taskID, taskCost ) { + + return this._initDecoder().then( () => { + + if ( this.workerPool.length < this.workerLimit ) { + + const worker = new Worker( this.workerSourceURL ); + + worker._callbacks = {}; + worker._taskCosts = {}; + worker._taskLoad = 0; + + worker.postMessage( { type: 'init', decoderConfig: this.decoderConfig } ); + + worker.onmessage = function ( e ) { + + const message = e.data; + + switch ( message.type ) { + + case 'decode': + worker._callbacks[ message.id ].resolve( message ); + break; + + case 'error': + worker._callbacks[ message.id ].reject( message ); + break; + + default: + console.error( 'THREE.DRACOLoader: Unexpected message, "' + message.type + '"' ); + + } + + }; + + this.workerPool.push( worker ); + + } else { + + this.workerPool.sort( function ( a, b ) { + + return a._taskLoad > b._taskLoad ? - 1 : 1; + + } ); + + } + + const worker = this.workerPool[ this.workerPool.length - 1 ]; + worker._taskCosts[ taskID ] = taskCost; + worker._taskLoad += taskCost; + return worker; + + } ); + + } + + _releaseTask( worker, taskID ) { + + worker._taskLoad -= worker._taskCosts[ taskID ]; + delete worker._callbacks[ taskID ]; + delete worker._taskCosts[ taskID ]; + + } + + debug() { + + console.log( 'Task load: ', this.workerPool.map( ( worker ) => worker._taskLoad ) ); + + } + + dispose() { + + for ( let i = 0; i < this.workerPool.length; ++ i ) { + + this.workerPool[ i ].terminate(); + + } + + this.workerPool.length = 0; + + return this; + + } + +} + +/* WEB WORKER */ + +function DRACOWorker() { + + let decoderConfig; + let decoderPending; + + onmessage = function ( e ) { + + const message = e.data; + + switch ( message.type ) { + + case 'init': + decoderConfig = message.decoderConfig; + decoderPending = new Promise( function ( resolve/*, reject*/ ) { + + decoderConfig.onModuleLoaded = function ( draco ) { + + // Module is Promise-like. Wrap before resolving to avoid loop. + resolve( { draco: draco } ); + + }; + + DracoDecoderModule( decoderConfig ); // eslint-disable-line no-undef + + } ); + break; + + case 'decode': + const buffer = message.buffer; + const taskConfig = message.taskConfig; + decoderPending.then( ( module ) => { + + const draco = module.draco; + const decoder = new draco.Decoder(); + const decoderBuffer = new draco.DecoderBuffer(); + decoderBuffer.Init( new Int8Array( buffer ), buffer.byteLength ); + + try { + + const geometry = decodeGeometry( draco, decoder, decoderBuffer, taskConfig ); + + const buffers = geometry.attributes.map( ( attr ) => attr.array.buffer ); + + if ( geometry.index ) buffers.push( geometry.index.array.buffer ); + + self.postMessage( { type: 'decode', id: message.id, geometry }, buffers ); + + } catch ( error ) { + + console.error( error ); + + self.postMessage( { type: 'error', id: message.id, error: error.message } ); + + } finally { + + draco.destroy( decoderBuffer ); + draco.destroy( decoder ); + + } + + } ); + break; + + } + + }; + + function decodeGeometry( draco, decoder, decoderBuffer, taskConfig ) { + + const attributeIDs = taskConfig.attributeIDs; + const attributeTypes = taskConfig.attributeTypes; + + let dracoGeometry; + let decodingStatus; + + const geometryType = decoder.GetEncodedGeometryType( decoderBuffer ); + + if ( geometryType === draco.TRIANGULAR_MESH ) { + + dracoGeometry = new draco.Mesh(); + decodingStatus = decoder.DecodeBufferToMesh( decoderBuffer, dracoGeometry ); + + } else if ( geometryType === draco.POINT_CLOUD ) { + + dracoGeometry = new draco.PointCloud(); + decodingStatus = decoder.DecodeBufferToPointCloud( decoderBuffer, dracoGeometry ); + + } else { + + throw new Error( 'THREE.DRACOLoader: Unexpected geometry type.' ); + + } + + if ( ! decodingStatus.ok() || dracoGeometry.ptr === 0 ) { + + throw new Error( 'THREE.DRACOLoader: Decoding failed: ' + decodingStatus.error_msg() ); + + } + + const geometry = { index: null, attributes: [] }; + + // Gather all vertex attributes. + for ( const attributeName in attributeIDs ) { + + const attributeType = self[ attributeTypes[ attributeName ] ]; + + let attribute; + let attributeID; + + // A Draco file may be created with default vertex attributes, whose attribute IDs + // are mapped 1:1 from their semantic name (POSITION, NORMAL, ...). Alternatively, + // a Draco file may contain a custom set of attributes, identified by known unique + // IDs. glTF files always do the latter, and `.drc` files typically do the former. + if ( taskConfig.useUniqueIDs ) { + + attributeID = attributeIDs[ attributeName ]; + attribute = decoder.GetAttributeByUniqueId( dracoGeometry, attributeID ); + + } else { + + attributeID = decoder.GetAttributeId( dracoGeometry, draco[ attributeIDs[ attributeName ] ] ); + + if ( attributeID === - 1 ) continue; + + attribute = decoder.GetAttribute( dracoGeometry, attributeID ); + + } + + geometry.attributes.push( decodeAttribute( draco, decoder, dracoGeometry, attributeName, attributeType, attribute ) ); + + } + + // Add index. + if ( geometryType === draco.TRIANGULAR_MESH ) { + + geometry.index = decodeIndex( draco, decoder, dracoGeometry ); + + } + + draco.destroy( dracoGeometry ); + + return geometry; + + } + + function decodeIndex( draco, decoder, dracoGeometry ) { + + const numFaces = dracoGeometry.num_faces(); + const numIndices = numFaces * 3; + const byteLength = numIndices * 4; + + const ptr = draco._malloc( byteLength ); + decoder.GetTrianglesUInt32Array( dracoGeometry, byteLength, ptr ); + const index = new Uint32Array( draco.HEAPF32.buffer, ptr, numIndices ).slice(); + draco._free( ptr ); + + return { array: index, itemSize: 1 }; + + } + + function decodeAttribute( draco, decoder, dracoGeometry, attributeName, attributeType, attribute ) { + + const numComponents = attribute.num_components(); + const numPoints = dracoGeometry.num_points(); + const numValues = numPoints * numComponents; + const byteLength = numValues * attributeType.BYTES_PER_ELEMENT; + const dataType = getDracoDataType( draco, attributeType ); + + const ptr = draco._malloc( byteLength ); + decoder.GetAttributeDataArrayForAllPoints( dracoGeometry, attribute, dataType, byteLength, ptr ); + const array = new attributeType( draco.HEAPF32.buffer, ptr, numValues ).slice(); + draco._free( ptr ); + + return { + name: attributeName, + array: array, + itemSize: numComponents + }; + + } + + function getDracoDataType( draco, attributeType ) { + + switch ( attributeType ) { + + case Float32Array: return draco.DT_FLOAT32; + case Int8Array: return draco.DT_INT8; + case Int16Array: return draco.DT_INT16; + case Int32Array: return draco.DT_INT32; + case Uint8Array: return draco.DT_UINT8; + case Uint16Array: return draco.DT_UINT16; + case Uint32Array: return draco.DT_UINT32; + + } + + } + +} + +export { DRACOLoader }; diff --git a/3d/lib/GLTFLoader.js b/3d/lib/GLTFLoader.js new file mode 100644 index 00000000..5c356366 --- /dev/null +++ b/3d/lib/GLTFLoader.js @@ -0,0 +1,4349 @@ +import { + AnimationClip, + Bone, + Box3, + BufferAttribute, + BufferGeometry, + ClampToEdgeWrapping, + Color, + DirectionalLight, + DoubleSide, + FileLoader, + FrontSide, + Group, + ImageBitmapLoader, + InterleavedBuffer, + InterleavedBufferAttribute, + Interpolant, + InterpolateDiscrete, + InterpolateLinear, + Line, + LineBasicMaterial, + LineLoop, + LineSegments, + LinearFilter, + LinearMipmapLinearFilter, + LinearMipmapNearestFilter, + Loader, + LoaderUtils, + Material, + MathUtils, + Matrix4, + Mesh, + MeshBasicMaterial, + MeshPhysicalMaterial, + MeshStandardMaterial, + MirroredRepeatWrapping, + NearestFilter, + NearestMipmapLinearFilter, + NearestMipmapNearestFilter, + NumberKeyframeTrack, + Object3D, + OrthographicCamera, + PerspectiveCamera, + PointLight, + Points, + PointsMaterial, + PropertyBinding, + Quaternion, + QuaternionKeyframeTrack, + RGBFormat, + RepeatWrapping, + Skeleton, + SkinnedMesh, + Sphere, + SpotLight, + TangentSpaceNormalMap, + Texture, + TextureLoader, + TriangleFanDrawMode, + TriangleStripDrawMode, + Vector2, + Vector3, + VectorKeyframeTrack, + sRGBEncoding +} from './three.module.js'; + +class GLTFLoader extends Loader { + + constructor( manager ) { + + super( manager ); + + this.dracoLoader = null; + this.ktx2Loader = null; + this.meshoptDecoder = null; + + this.pluginCallbacks = []; + + this.register( function ( parser ) { + + return new GLTFMaterialsClearcoatExtension( parser ); + + } ); + + this.register( function ( parser ) { + + return new GLTFTextureBasisUExtension( parser ); + + } ); + + this.register( function ( parser ) { + + return new GLTFTextureWebPExtension( parser ); + + } ); + + this.register( function ( parser ) { + + return new GLTFMaterialsSheenExtension( parser ); + + } ); + + this.register( function ( parser ) { + + return new GLTFMaterialsTransmissionExtension( parser ); + + } ); + + this.register( function ( parser ) { + + return new GLTFMaterialsVolumeExtension( parser ); + + } ); + + this.register( function ( parser ) { + + return new GLTFMaterialsIorExtension( parser ); + + } ); + + this.register( function ( parser ) { + + return new GLTFMaterialsSpecularExtension( parser ); + + } ); + + this.register( function ( parser ) { + + return new GLTFLightsExtension( parser ); + + } ); + + this.register( function ( parser ) { + + return new GLTFMeshoptCompression( parser ); + + } ); + + } + + load( url, onLoad, onProgress, onError ) { + + const scope = this; + + let resourcePath; + + if ( this.resourcePath !== '' ) { + + resourcePath = this.resourcePath; + + } else if ( this.path !== '' ) { + + resourcePath = this.path; + + } else { + + resourcePath = LoaderUtils.extractUrlBase( url ); + + } + + // Tells the LoadingManager to track an extra item, which resolves after + // the model is fully loaded. This means the count of items loaded will + // be incorrect, but ensures manager.onLoad() does not fire early. + this.manager.itemStart( url ); + + const _onError = function ( e ) { + + if ( onError ) { + + onError( e ); + + } else { + + console.error( e ); + + } + + scope.manager.itemError( url ); + scope.manager.itemEnd( url ); + + }; + + const loader = new FileLoader( this.manager ); + + loader.setPath( this.path ); + loader.setResponseType( 'arraybuffer' ); + loader.setRequestHeader( this.requestHeader ); + loader.setWithCredentials( this.withCredentials ); + + loader.load( url, function ( data ) { + + try { + + scope.parse( data, resourcePath, function ( gltf ) { + + onLoad( gltf ); + + scope.manager.itemEnd( url ); + + }, _onError ); + + } catch ( e ) { + + _onError( e ); + + } + + }, onProgress, _onError ); + + } + + setDRACOLoader( dracoLoader ) { + + this.dracoLoader = dracoLoader; + return this; + + } + + setDDSLoader() { + + throw new Error( + + 'THREE.GLTFLoader: "MSFT_texture_dds" no longer supported. Please update to "KHR_texture_basisu".' + + ); + + } + + setKTX2Loader( ktx2Loader ) { + + this.ktx2Loader = ktx2Loader; + return this; + + } + + setMeshoptDecoder( meshoptDecoder ) { + + this.meshoptDecoder = meshoptDecoder; + return this; + + } + + register( callback ) { + + if ( this.pluginCallbacks.indexOf( callback ) === - 1 ) { + + this.pluginCallbacks.push( callback ); + + } + + return this; + + } + + unregister( callback ) { + + if ( this.pluginCallbacks.indexOf( callback ) !== - 1 ) { + + this.pluginCallbacks.splice( this.pluginCallbacks.indexOf( callback ), 1 ); + + } + + return this; + + } + + parse( data, path, onLoad, onError ) { + + let content; + const extensions = {}; + const plugins = {}; + + if ( typeof data === 'string' ) { + + content = data; + + } else { + + const magic = LoaderUtils.decodeText( new Uint8Array( data, 0, 4 ) ); + + if ( magic === BINARY_EXTENSION_HEADER_MAGIC ) { + + try { + + extensions[ EXTENSIONS.KHR_BINARY_GLTF ] = new GLTFBinaryExtension( data ); + + } catch ( error ) { + + if ( onError ) onError( error ); + return; + + } + + content = extensions[ EXTENSIONS.KHR_BINARY_GLTF ].content; + + } else { + + content = LoaderUtils.decodeText( new Uint8Array( data ) ); + + } + + } + + const json = JSON.parse( content ); + + if ( json.asset === undefined || json.asset.version[ 0 ] < 2 ) { + + if ( onError ) onError( new Error( 'THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported.' ) ); + return; + + } + + const parser = new GLTFParser( json, { + + path: path || this.resourcePath || '', + crossOrigin: this.crossOrigin, + requestHeader: this.requestHeader, + manager: this.manager, + ktx2Loader: this.ktx2Loader, + meshoptDecoder: this.meshoptDecoder + + } ); + + parser.fileLoader.setRequestHeader( this.requestHeader ); + + for ( let i = 0; i < this.pluginCallbacks.length; i ++ ) { + + const plugin = this.pluginCallbacks[ i ]( parser ); + plugins[ plugin.name ] = plugin; + + // Workaround to avoid determining as unknown extension + // in addUnknownExtensionsToUserData(). + // Remove this workaround if we move all the existing + // extension handlers to plugin system + extensions[ plugin.name ] = true; + + } + + if ( json.extensionsUsed ) { + + for ( let i = 0; i < json.extensionsUsed.length; ++ i ) { + + const extensionName = json.extensionsUsed[ i ]; + const extensionsRequired = json.extensionsRequired || []; + + switch ( extensionName ) { + + case EXTENSIONS.KHR_MATERIALS_UNLIT: + extensions[ extensionName ] = new GLTFMaterialsUnlitExtension(); + break; + + case EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS: + extensions[ extensionName ] = new GLTFMaterialsPbrSpecularGlossinessExtension(); + break; + + case EXTENSIONS.KHR_DRACO_MESH_COMPRESSION: + extensions[ extensionName ] = new GLTFDracoMeshCompressionExtension( json, this.dracoLoader ); + break; + + case EXTENSIONS.KHR_TEXTURE_TRANSFORM: + extensions[ extensionName ] = new GLTFTextureTransformExtension(); + break; + + case EXTENSIONS.KHR_MESH_QUANTIZATION: + extensions[ extensionName ] = new GLTFMeshQuantizationExtension(); + break; + + default: + + if ( extensionsRequired.indexOf( extensionName ) >= 0 && plugins[ extensionName ] === undefined ) { + + console.warn( 'THREE.GLTFLoader: Unknown extension "' + extensionName + '".' ); + + } + + } + + } + + } + + parser.setExtensions( extensions ); + parser.setPlugins( plugins ); + parser.parse( onLoad, onError ); + + } + + parseAsync( data, path ) { + + const scope = this; + + return new Promise( function ( resolve, reject ) { + + scope.parse( data, path, resolve, reject ); + + } ); + + } + +} + +/* GLTFREGISTRY */ + +function GLTFRegistry() { + + let objects = {}; + + return { + + get: function ( key ) { + + return objects[ key ]; + + }, + + add: function ( key, object ) { + + objects[ key ] = object; + + }, + + remove: function ( key ) { + + delete objects[ key ]; + + }, + + removeAll: function () { + + objects = {}; + + } + + }; + +} + +/*********************************/ +/********** EXTENSIONS ***********/ +/*********************************/ + +const EXTENSIONS = { + KHR_BINARY_GLTF: 'KHR_binary_glTF', + KHR_DRACO_MESH_COMPRESSION: 'KHR_draco_mesh_compression', + KHR_LIGHTS_PUNCTUAL: 'KHR_lights_punctual', + KHR_MATERIALS_CLEARCOAT: 'KHR_materials_clearcoat', + KHR_MATERIALS_IOR: 'KHR_materials_ior', + KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS: 'KHR_materials_pbrSpecularGlossiness', + KHR_MATERIALS_SHEEN: 'KHR_materials_sheen', + KHR_MATERIALS_SPECULAR: 'KHR_materials_specular', + KHR_MATERIALS_TRANSMISSION: 'KHR_materials_transmission', + KHR_MATERIALS_UNLIT: 'KHR_materials_unlit', + KHR_MATERIALS_VOLUME: 'KHR_materials_volume', + KHR_TEXTURE_BASISU: 'KHR_texture_basisu', + KHR_TEXTURE_TRANSFORM: 'KHR_texture_transform', + KHR_MESH_QUANTIZATION: 'KHR_mesh_quantization', + EXT_TEXTURE_WEBP: 'EXT_texture_webp', + EXT_MESHOPT_COMPRESSION: 'EXT_meshopt_compression' +}; + +/** + * Punctual Lights Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_lights_punctual + */ +class GLTFLightsExtension { + + constructor( parser ) { + + this.parser = parser; + this.name = EXTENSIONS.KHR_LIGHTS_PUNCTUAL; + + // Object3D instance caches + this.cache = { refs: {}, uses: {} }; + + } + + _markDefs() { + + const parser = this.parser; + const nodeDefs = this.parser.json.nodes || []; + + for ( let nodeIndex = 0, nodeLength = nodeDefs.length; nodeIndex < nodeLength; nodeIndex ++ ) { + + const nodeDef = nodeDefs[ nodeIndex ]; + + if ( nodeDef.extensions + && nodeDef.extensions[ this.name ] + && nodeDef.extensions[ this.name ].light !== undefined ) { + + parser._addNodeRef( this.cache, nodeDef.extensions[ this.name ].light ); + + } + + } + + } + + _loadLight( lightIndex ) { + + const parser = this.parser; + const cacheKey = 'light:' + lightIndex; + let dependency = parser.cache.get( cacheKey ); + + if ( dependency ) return dependency; + + const json = parser.json; + const extensions = ( json.extensions && json.extensions[ this.name ] ) || {}; + const lightDefs = extensions.lights || []; + const lightDef = lightDefs[ lightIndex ]; + let lightNode; + + const color = new Color( 0xffffff ); + + if ( lightDef.color !== undefined ) color.fromArray( lightDef.color ); + + const range = lightDef.range !== undefined ? lightDef.range : 0; + + switch ( lightDef.type ) { + + case 'directional': + lightNode = new DirectionalLight( color ); + lightNode.target.position.set( 0, 0, - 1 ); + lightNode.add( lightNode.target ); + break; + + case 'point': + lightNode = new PointLight( color ); + lightNode.distance = range; + break; + + case 'spot': + lightNode = new SpotLight( color ); + lightNode.distance = range; + // Handle spotlight properties. + lightDef.spot = lightDef.spot || {}; + lightDef.spot.innerConeAngle = lightDef.spot.innerConeAngle !== undefined ? lightDef.spot.innerConeAngle : 0; + lightDef.spot.outerConeAngle = lightDef.spot.outerConeAngle !== undefined ? lightDef.spot.outerConeAngle : Math.PI / 4.0; + lightNode.angle = lightDef.spot.outerConeAngle; + lightNode.penumbra = 1.0 - lightDef.spot.innerConeAngle / lightDef.spot.outerConeAngle; + lightNode.target.position.set( 0, 0, - 1 ); + lightNode.add( lightNode.target ); + break; + + default: + throw new Error( 'THREE.GLTFLoader: Unexpected light type: ' + lightDef.type ); + + } + + // Some lights (e.g. spot) default to a position other than the origin. Reset the position + // here, because node-level parsing will only override position if explicitly specified. + lightNode.position.set( 0, 0, 0 ); + + lightNode.decay = 2; + + if ( lightDef.intensity !== undefined ) lightNode.intensity = lightDef.intensity; + + lightNode.name = parser.createUniqueName( lightDef.name || ( 'light_' + lightIndex ) ); + + dependency = Promise.resolve( lightNode ); + + parser.cache.add( cacheKey, dependency ); + + return dependency; + + } + + createNodeAttachment( nodeIndex ) { + + const self = this; + const parser = this.parser; + const json = parser.json; + const nodeDef = json.nodes[ nodeIndex ]; + const lightDef = ( nodeDef.extensions && nodeDef.extensions[ this.name ] ) || {}; + const lightIndex = lightDef.light; + + if ( lightIndex === undefined ) return null; + + return this._loadLight( lightIndex ).then( function ( light ) { + + return parser._getNodeRef( self.cache, lightIndex, light ); + + } ); + + } + +} + +/** + * Unlit Materials Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_unlit + */ +class GLTFMaterialsUnlitExtension { + + constructor() { + + this.name = EXTENSIONS.KHR_MATERIALS_UNLIT; + + } + + getMaterialType() { + + return MeshBasicMaterial; + + } + + extendParams( materialParams, materialDef, parser ) { + + const pending = []; + + materialParams.color = new Color( 1.0, 1.0, 1.0 ); + materialParams.opacity = 1.0; + + const metallicRoughness = materialDef.pbrMetallicRoughness; + + if ( metallicRoughness ) { + + if ( Array.isArray( metallicRoughness.baseColorFactor ) ) { + + const array = metallicRoughness.baseColorFactor; + + materialParams.color.fromArray( array ); + materialParams.opacity = array[ 3 ]; + + } + + if ( metallicRoughness.baseColorTexture !== undefined ) { + + pending.push( parser.assignTexture( materialParams, 'map', metallicRoughness.baseColorTexture ) ); + + } + + } + + return Promise.all( pending ); + + } + +} + +/** + * Clearcoat Materials Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_clearcoat + */ +class GLTFMaterialsClearcoatExtension { + + constructor( parser ) { + + this.parser = parser; + this.name = EXTENSIONS.KHR_MATERIALS_CLEARCOAT; + + } + + getMaterialType( materialIndex ) { + + const parser = this.parser; + const materialDef = parser.json.materials[ materialIndex ]; + + if ( ! materialDef.extensions || ! materialDef.extensions[ this.name ] ) return null; + + return MeshPhysicalMaterial; + + } + + extendMaterialParams( materialIndex, materialParams ) { + + const parser = this.parser; + const materialDef = parser.json.materials[ materialIndex ]; + + if ( ! materialDef.extensions || ! materialDef.extensions[ this.name ] ) { + + return Promise.resolve(); + + } + + const pending = []; + + const extension = materialDef.extensions[ this.name ]; + + if ( extension.clearcoatFactor !== undefined ) { + + materialParams.clearcoat = extension.clearcoatFactor; + + } + + if ( extension.clearcoatTexture !== undefined ) { + + pending.push( parser.assignTexture( materialParams, 'clearcoatMap', extension.clearcoatTexture ) ); + + } + + if ( extension.clearcoatRoughnessFactor !== undefined ) { + + materialParams.clearcoatRoughness = extension.clearcoatRoughnessFactor; + + } + + if ( extension.clearcoatRoughnessTexture !== undefined ) { + + pending.push( parser.assignTexture( materialParams, 'clearcoatRoughnessMap', extension.clearcoatRoughnessTexture ) ); + + } + + if ( extension.clearcoatNormalTexture !== undefined ) { + + pending.push( parser.assignTexture( materialParams, 'clearcoatNormalMap', extension.clearcoatNormalTexture ) ); + + if ( extension.clearcoatNormalTexture.scale !== undefined ) { + + const scale = extension.clearcoatNormalTexture.scale; + + materialParams.clearcoatNormalScale = new Vector2( scale, scale ); + + } + + } + + return Promise.all( pending ); + + } + +} + +/** + * Sheen Materials Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_materials_sheen + */ +class GLTFMaterialsSheenExtension { + + constructor( parser ) { + + this.parser = parser; + this.name = EXTENSIONS.KHR_MATERIALS_SHEEN; + + } + + getMaterialType( materialIndex ) { + + const parser = this.parser; + const materialDef = parser.json.materials[ materialIndex ]; + + if ( ! materialDef.extensions || ! materialDef.extensions[ this.name ] ) return null; + + return MeshPhysicalMaterial; + + } + + extendMaterialParams( materialIndex, materialParams ) { + + const parser = this.parser; + const materialDef = parser.json.materials[ materialIndex ]; + + if ( ! materialDef.extensions || ! materialDef.extensions[ this.name ] ) { + + return Promise.resolve(); + + } + + const pending = []; + + materialParams.sheenColor = new Color( 0, 0, 0 ); + materialParams.sheenRoughness = 0; + materialParams.sheen = 1; + + const extension = materialDef.extensions[ this.name ]; + + if ( extension.sheenColorFactor !== undefined ) { + + materialParams.sheenColor.fromArray( extension.sheenColorFactor ); + + } + + if ( extension.sheenRoughnessFactor !== undefined ) { + + materialParams.sheenRoughness = extension.sheenRoughnessFactor; + + } + + if ( extension.sheenColorTexture !== undefined ) { + + pending.push( parser.assignTexture( materialParams, 'sheenColorMap', extension.sheenColorTexture ) ); + + } + + if ( extension.sheenRoughnessTexture !== undefined ) { + + pending.push( parser.assignTexture( materialParams, 'sheenRoughnessMap', extension.sheenRoughnessTexture ) ); + + } + + return Promise.all( pending ); + + } + +} + +/** + * Transmission Materials Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_transmission + * Draft: https://github.com/KhronosGroup/glTF/pull/1698 + */ +class GLTFMaterialsTransmissionExtension { + + constructor( parser ) { + + this.parser = parser; + this.name = EXTENSIONS.KHR_MATERIALS_TRANSMISSION; + + } + + getMaterialType( materialIndex ) { + + const parser = this.parser; + const materialDef = parser.json.materials[ materialIndex ]; + + if ( ! materialDef.extensions || ! materialDef.extensions[ this.name ] ) return null; + + return MeshPhysicalMaterial; + + } + + extendMaterialParams( materialIndex, materialParams ) { + + const parser = this.parser; + const materialDef = parser.json.materials[ materialIndex ]; + + if ( ! materialDef.extensions || ! materialDef.extensions[ this.name ] ) { + + return Promise.resolve(); + + } + + const pending = []; + + const extension = materialDef.extensions[ this.name ]; + + if ( extension.transmissionFactor !== undefined ) { + + materialParams.transmission = extension.transmissionFactor; + + } + + if ( extension.transmissionTexture !== undefined ) { + + pending.push( parser.assignTexture( materialParams, 'transmissionMap', extension.transmissionTexture ) ); + + } + + return Promise.all( pending ); + + } + +} + +/** + * Materials Volume Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_volume + */ +class GLTFMaterialsVolumeExtension { + + constructor( parser ) { + + this.parser = parser; + this.name = EXTENSIONS.KHR_MATERIALS_VOLUME; + + } + + getMaterialType( materialIndex ) { + + const parser = this.parser; + const materialDef = parser.json.materials[ materialIndex ]; + + if ( ! materialDef.extensions || ! materialDef.extensions[ this.name ] ) return null; + + return MeshPhysicalMaterial; + + } + + extendMaterialParams( materialIndex, materialParams ) { + + const parser = this.parser; + const materialDef = parser.json.materials[ materialIndex ]; + + if ( ! materialDef.extensions || ! materialDef.extensions[ this.name ] ) { + + return Promise.resolve(); + + } + + const pending = []; + + const extension = materialDef.extensions[ this.name ]; + + materialParams.thickness = extension.thicknessFactor !== undefined ? extension.thicknessFactor : 0; + + if ( extension.thicknessTexture !== undefined ) { + + pending.push( parser.assignTexture( materialParams, 'thicknessMap', extension.thicknessTexture ) ); + + } + + materialParams.attenuationDistance = extension.attenuationDistance || 0; + + const colorArray = extension.attenuationColor || [ 1, 1, 1 ]; + materialParams.attenuationColor = new Color( colorArray[ 0 ], colorArray[ 1 ], colorArray[ 2 ] ); + + return Promise.all( pending ); + + } + +} + +/** + * Materials ior Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_ior + */ +class GLTFMaterialsIorExtension { + + constructor( parser ) { + + this.parser = parser; + this.name = EXTENSIONS.KHR_MATERIALS_IOR; + + } + + getMaterialType( materialIndex ) { + + const parser = this.parser; + const materialDef = parser.json.materials[ materialIndex ]; + + if ( ! materialDef.extensions || ! materialDef.extensions[ this.name ] ) return null; + + return MeshPhysicalMaterial; + + } + + extendMaterialParams( materialIndex, materialParams ) { + + const parser = this.parser; + const materialDef = parser.json.materials[ materialIndex ]; + + if ( ! materialDef.extensions || ! materialDef.extensions[ this.name ] ) { + + return Promise.resolve(); + + } + + const extension = materialDef.extensions[ this.name ]; + + materialParams.ior = extension.ior !== undefined ? extension.ior : 1.5; + + return Promise.resolve(); + + } + +} + +/** + * Materials specular Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_specular + */ +class GLTFMaterialsSpecularExtension { + + constructor( parser ) { + + this.parser = parser; + this.name = EXTENSIONS.KHR_MATERIALS_SPECULAR; + + } + + getMaterialType( materialIndex ) { + + const parser = this.parser; + const materialDef = parser.json.materials[ materialIndex ]; + + if ( ! materialDef.extensions || ! materialDef.extensions[ this.name ] ) return null; + + return MeshPhysicalMaterial; + + } + + extendMaterialParams( materialIndex, materialParams ) { + + const parser = this.parser; + const materialDef = parser.json.materials[ materialIndex ]; + + if ( ! materialDef.extensions || ! materialDef.extensions[ this.name ] ) { + + return Promise.resolve(); + + } + + const pending = []; + + const extension = materialDef.extensions[ this.name ]; + + materialParams.specularIntensity = extension.specularFactor !== undefined ? extension.specularFactor : 1.0; + + if ( extension.specularTexture !== undefined ) { + + pending.push( parser.assignTexture( materialParams, 'specularIntensityMap', extension.specularTexture ) ); + + } + + const colorArray = extension.specularColorFactor || [ 1, 1, 1 ]; + materialParams.specularColor = new Color( colorArray[ 0 ], colorArray[ 1 ], colorArray[ 2 ] ); + + if ( extension.specularColorTexture !== undefined ) { + + pending.push( parser.assignTexture( materialParams, 'specularColorMap', extension.specularColorTexture ).then( function ( texture ) { + + texture.encoding = sRGBEncoding; + + } ) ); + + } + + return Promise.all( pending ); + + } + +} + +/** + * BasisU Texture Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_texture_basisu + */ +class GLTFTextureBasisUExtension { + + constructor( parser ) { + + this.parser = parser; + this.name = EXTENSIONS.KHR_TEXTURE_BASISU; + + } + + loadTexture( textureIndex ) { + + const parser = this.parser; + const json = parser.json; + + const textureDef = json.textures[ textureIndex ]; + + if ( ! textureDef.extensions || ! textureDef.extensions[ this.name ] ) { + + return null; + + } + + const extension = textureDef.extensions[ this.name ]; + const source = json.images[ extension.source ]; + const loader = parser.options.ktx2Loader; + + if ( ! loader ) { + + if ( json.extensionsRequired && json.extensionsRequired.indexOf( this.name ) >= 0 ) { + + throw new Error( 'THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures' ); + + } else { + + // Assumes that the extension is optional and that a fallback texture is present + return null; + + } + + } + + return parser.loadTextureImage( textureIndex, source, loader ); + + } + +} + +/** + * WebP Texture Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_texture_webp + */ +class GLTFTextureWebPExtension { + + constructor( parser ) { + + this.parser = parser; + this.name = EXTENSIONS.EXT_TEXTURE_WEBP; + this.isSupported = null; + + } + + loadTexture( textureIndex ) { + + const name = this.name; + const parser = this.parser; + const json = parser.json; + + const textureDef = json.textures[ textureIndex ]; + + if ( ! textureDef.extensions || ! textureDef.extensions[ name ] ) { + + return null; + + } + + const extension = textureDef.extensions[ name ]; + const source = json.images[ extension.source ]; + + let loader = parser.textureLoader; + if ( source.uri ) { + + const handler = parser.options.manager.getHandler( source.uri ); + if ( handler !== null ) loader = handler; + + } + + return this.detectSupport().then( function ( isSupported ) { + + if ( isSupported ) return parser.loadTextureImage( textureIndex, source, loader ); + + if ( json.extensionsRequired && json.extensionsRequired.indexOf( name ) >= 0 ) { + + throw new Error( 'THREE.GLTFLoader: WebP required by asset but unsupported.' ); + + } + + // Fall back to PNG or JPEG. + return parser.loadTexture( textureIndex ); + + } ); + + } + + detectSupport() { + + if ( ! this.isSupported ) { + + this.isSupported = new Promise( function ( resolve ) { + + const image = new Image(); + + // Lossy test image. Support for lossy images doesn't guarantee support for all + // WebP images, unfortunately. + image.src = 'data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA'; + + image.onload = image.onerror = function () { + + resolve( image.height === 1 ); + + }; + + } ); + + } + + return this.isSupported; + + } + +} + +/** + * meshopt BufferView Compression Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/EXT_meshopt_compression + */ +class GLTFMeshoptCompression { + + constructor( parser ) { + + this.name = EXTENSIONS.EXT_MESHOPT_COMPRESSION; + this.parser = parser; + + } + + loadBufferView( index ) { + + const json = this.parser.json; + const bufferView = json.bufferViews[ index ]; + + if ( bufferView.extensions && bufferView.extensions[ this.name ] ) { + + const extensionDef = bufferView.extensions[ this.name ]; + + const buffer = this.parser.getDependency( 'buffer', extensionDef.buffer ); + const decoder = this.parser.options.meshoptDecoder; + + if ( ! decoder || ! decoder.supported ) { + + if ( json.extensionsRequired && json.extensionsRequired.indexOf( this.name ) >= 0 ) { + + throw new Error( 'THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files' ); + + } else { + + // Assumes that the extension is optional and that fallback buffer data is present + return null; + + } + + } + + return Promise.all( [ buffer, decoder.ready ] ).then( function ( res ) { + + const byteOffset = extensionDef.byteOffset || 0; + const byteLength = extensionDef.byteLength || 0; + + const count = extensionDef.count; + const stride = extensionDef.byteStride; + + const result = new ArrayBuffer( count * stride ); + const source = new Uint8Array( res[ 0 ], byteOffset, byteLength ); + + decoder.decodeGltfBuffer( new Uint8Array( result ), count, stride, source, extensionDef.mode, extensionDef.filter ); + return result; + + } ); + + } else { + + return null; + + } + + } + +} + +/* BINARY EXTENSION */ +const BINARY_EXTENSION_HEADER_MAGIC = 'glTF'; +const BINARY_EXTENSION_HEADER_LENGTH = 12; +const BINARY_EXTENSION_CHUNK_TYPES = { JSON: 0x4E4F534A, BIN: 0x004E4942 }; + +class GLTFBinaryExtension { + + constructor( data ) { + + this.name = EXTENSIONS.KHR_BINARY_GLTF; + this.content = null; + this.body = null; + + const headerView = new DataView( data, 0, BINARY_EXTENSION_HEADER_LENGTH ); + + this.header = { + magic: LoaderUtils.decodeText( new Uint8Array( data.slice( 0, 4 ) ) ), + version: headerView.getUint32( 4, true ), + length: headerView.getUint32( 8, true ) + }; + + if ( this.header.magic !== BINARY_EXTENSION_HEADER_MAGIC ) { + + throw new Error( 'THREE.GLTFLoader: Unsupported glTF-Binary header.' ); + + } else if ( this.header.version < 2.0 ) { + + throw new Error( 'THREE.GLTFLoader: Legacy binary file detected.' ); + + } + + const chunkContentsLength = this.header.length - BINARY_EXTENSION_HEADER_LENGTH; + const chunkView = new DataView( data, BINARY_EXTENSION_HEADER_LENGTH ); + let chunkIndex = 0; + + while ( chunkIndex < chunkContentsLength ) { + + const chunkLength = chunkView.getUint32( chunkIndex, true ); + chunkIndex += 4; + + const chunkType = chunkView.getUint32( chunkIndex, true ); + chunkIndex += 4; + + if ( chunkType === BINARY_EXTENSION_CHUNK_TYPES.JSON ) { + + const contentArray = new Uint8Array( data, BINARY_EXTENSION_HEADER_LENGTH + chunkIndex, chunkLength ); + this.content = LoaderUtils.decodeText( contentArray ); + + } else if ( chunkType === BINARY_EXTENSION_CHUNK_TYPES.BIN ) { + + const byteOffset = BINARY_EXTENSION_HEADER_LENGTH + chunkIndex; + this.body = data.slice( byteOffset, byteOffset + chunkLength ); + + } + + // Clients must ignore chunks with unknown types. + + chunkIndex += chunkLength; + + } + + if ( this.content === null ) { + + throw new Error( 'THREE.GLTFLoader: JSON content not found.' ); + + } + + } + +} + +/** + * DRACO Mesh Compression Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_draco_mesh_compression + */ +class GLTFDracoMeshCompressionExtension { + + constructor( json, dracoLoader ) { + + if ( ! dracoLoader ) { + + throw new Error( 'THREE.GLTFLoader: No DRACOLoader instance provided.' ); + + } + + this.name = EXTENSIONS.KHR_DRACO_MESH_COMPRESSION; + this.json = json; + this.dracoLoader = dracoLoader; + this.dracoLoader.preload(); + + } + + decodePrimitive( primitive, parser ) { + + const json = this.json; + const dracoLoader = this.dracoLoader; + const bufferViewIndex = primitive.extensions[ this.name ].bufferView; + const gltfAttributeMap = primitive.extensions[ this.name ].attributes; + const threeAttributeMap = {}; + const attributeNormalizedMap = {}; + const attributeTypeMap = {}; + + for ( const attributeName in gltfAttributeMap ) { + + const threeAttributeName = ATTRIBUTES[ attributeName ] || attributeName.toLowerCase(); + + threeAttributeMap[ threeAttributeName ] = gltfAttributeMap[ attributeName ]; + + } + + for ( const attributeName in primitive.attributes ) { + + const threeAttributeName = ATTRIBUTES[ attributeName ] || attributeName.toLowerCase(); + + if ( gltfAttributeMap[ attributeName ] !== undefined ) { + + const accessorDef = json.accessors[ primitive.attributes[ attributeName ] ]; + const componentType = WEBGL_COMPONENT_TYPES[ accessorDef.componentType ]; + + attributeTypeMap[ threeAttributeName ] = componentType; + attributeNormalizedMap[ threeAttributeName ] = accessorDef.normalized === true; + + } + + } + + return parser.getDependency( 'bufferView', bufferViewIndex ).then( function ( bufferView ) { + + return new Promise( function ( resolve ) { + + dracoLoader.decodeDracoFile( bufferView, function ( geometry ) { + + for ( const attributeName in geometry.attributes ) { + + const attribute = geometry.attributes[ attributeName ]; + const normalized = attributeNormalizedMap[ attributeName ]; + + if ( normalized !== undefined ) attribute.normalized = normalized; + + } + + resolve( geometry ); + + }, threeAttributeMap, attributeTypeMap ); + + } ); + + } ); + + } + +} + +/** + * Texture Transform Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_texture_transform + */ +class GLTFTextureTransformExtension { + + constructor() { + + this.name = EXTENSIONS.KHR_TEXTURE_TRANSFORM; + + } + + extendTexture( texture, transform ) { + + if ( transform.texCoord !== undefined ) { + + console.warn( 'THREE.GLTFLoader: Custom UV sets in "' + this.name + '" extension not yet supported.' ); + + } + + if ( transform.offset === undefined && transform.rotation === undefined && transform.scale === undefined ) { + + // See https://github.com/mrdoob/three.js/issues/21819. + return texture; + + } + + texture = texture.clone(); + + if ( transform.offset !== undefined ) { + + texture.offset.fromArray( transform.offset ); + + } + + if ( transform.rotation !== undefined ) { + + texture.rotation = transform.rotation; + + } + + if ( transform.scale !== undefined ) { + + texture.repeat.fromArray( transform.scale ); + + } + + texture.needsUpdate = true; + + return texture; + + } + +} + +/** + * Specular-Glossiness Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Archived/KHR_materials_pbrSpecularGlossiness + */ + +/** + * A sub class of StandardMaterial with some of the functionality + * changed via the `onBeforeCompile` callback + * @pailhead + */ +class GLTFMeshStandardSGMaterial extends MeshStandardMaterial { + + constructor( params ) { + + super(); + + this.isGLTFSpecularGlossinessMaterial = true; + + //various chunks that need replacing + const specularMapParsFragmentChunk = [ + '#ifdef USE_SPECULARMAP', + ' uniform sampler2D specularMap;', + '#endif' + ].join( '\n' ); + + const glossinessMapParsFragmentChunk = [ + '#ifdef USE_GLOSSINESSMAP', + ' uniform sampler2D glossinessMap;', + '#endif' + ].join( '\n' ); + + const specularMapFragmentChunk = [ + 'vec3 specularFactor = specular;', + '#ifdef USE_SPECULARMAP', + ' vec4 texelSpecular = texture2D( specularMap, vUv );', + ' texelSpecular = sRGBToLinear( texelSpecular );', + ' // reads channel RGB, compatible with a glTF Specular-Glossiness (RGBA) texture', + ' specularFactor *= texelSpecular.rgb;', + '#endif' + ].join( '\n' ); + + const glossinessMapFragmentChunk = [ + 'float glossinessFactor = glossiness;', + '#ifdef USE_GLOSSINESSMAP', + ' vec4 texelGlossiness = texture2D( glossinessMap, vUv );', + ' // reads channel A, compatible with a glTF Specular-Glossiness (RGBA) texture', + ' glossinessFactor *= texelGlossiness.a;', + '#endif' + ].join( '\n' ); + + const lightPhysicalFragmentChunk = [ + 'PhysicalMaterial material;', + 'material.diffuseColor = diffuseColor.rgb * ( 1. - max( specularFactor.r, max( specularFactor.g, specularFactor.b ) ) );', + 'vec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );', + 'float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );', + 'material.roughness = max( 1.0 - glossinessFactor, 0.0525 ); // 0.0525 corresponds to the base mip of a 256 cubemap.', + 'material.roughness += geometryRoughness;', + 'material.roughness = min( material.roughness, 1.0 );', + 'material.specularColor = specularFactor;', + ].join( '\n' ); + + const uniforms = { + specular: { value: new Color().setHex( 0xffffff ) }, + glossiness: { value: 1 }, + specularMap: { value: null }, + glossinessMap: { value: null } + }; + + this._extraUniforms = uniforms; + + this.onBeforeCompile = function ( shader ) { + + for ( const uniformName in uniforms ) { + + shader.uniforms[ uniformName ] = uniforms[ uniformName ]; + + } + + shader.fragmentShader = shader.fragmentShader + .replace( 'uniform float roughness;', 'uniform vec3 specular;' ) + .replace( 'uniform float metalness;', 'uniform float glossiness;' ) + .replace( '#include ', specularMapParsFragmentChunk ) + .replace( '#include ', glossinessMapParsFragmentChunk ) + .replace( '#include ', specularMapFragmentChunk ) + .replace( '#include ', glossinessMapFragmentChunk ) + .replace( '#include ', lightPhysicalFragmentChunk ); + + }; + + Object.defineProperties( this, { + + specular: { + get: function () { + + return uniforms.specular.value; + + }, + set: function ( v ) { + + uniforms.specular.value = v; + + } + }, + + specularMap: { + get: function () { + + return uniforms.specularMap.value; + + }, + set: function ( v ) { + + uniforms.specularMap.value = v; + + if ( v ) { + + this.defines.USE_SPECULARMAP = ''; // USE_UV is set by the renderer for specular maps + + } else { + + delete this.defines.USE_SPECULARMAP; + + } + + } + }, + + glossiness: { + get: function () { + + return uniforms.glossiness.value; + + }, + set: function ( v ) { + + uniforms.glossiness.value = v; + + } + }, + + glossinessMap: { + get: function () { + + return uniforms.glossinessMap.value; + + }, + set: function ( v ) { + + uniforms.glossinessMap.value = v; + + if ( v ) { + + this.defines.USE_GLOSSINESSMAP = ''; + this.defines.USE_UV = ''; + + } else { + + delete this.defines.USE_GLOSSINESSMAP; + delete this.defines.USE_UV; + + } + + } + } + + } ); + + delete this.metalness; + delete this.roughness; + delete this.metalnessMap; + delete this.roughnessMap; + + this.setValues( params ); + + } + + copy( source ) { + + super.copy( source ); + + this.specularMap = source.specularMap; + this.specular.copy( source.specular ); + this.glossinessMap = source.glossinessMap; + this.glossiness = source.glossiness; + delete this.metalness; + delete this.roughness; + delete this.metalnessMap; + delete this.roughnessMap; + return this; + + } + +} + + +class GLTFMaterialsPbrSpecularGlossinessExtension { + + constructor() { + + this.name = EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS; + + this.specularGlossinessParams = [ + 'color', + 'map', + 'lightMap', + 'lightMapIntensity', + 'aoMap', + 'aoMapIntensity', + 'emissive', + 'emissiveIntensity', + 'emissiveMap', + 'bumpMap', + 'bumpScale', + 'normalMap', + 'normalMapType', + 'displacementMap', + 'displacementScale', + 'displacementBias', + 'specularMap', + 'specular', + 'glossinessMap', + 'glossiness', + 'alphaMap', + 'envMap', + 'envMapIntensity', + 'refractionRatio', + ]; + + } + + getMaterialType() { + + return GLTFMeshStandardSGMaterial; + + } + + extendParams( materialParams, materialDef, parser ) { + + const pbrSpecularGlossiness = materialDef.extensions[ this.name ]; + + materialParams.color = new Color( 1.0, 1.0, 1.0 ); + materialParams.opacity = 1.0; + + const pending = []; + + if ( Array.isArray( pbrSpecularGlossiness.diffuseFactor ) ) { + + const array = pbrSpecularGlossiness.diffuseFactor; + + materialParams.color.fromArray( array ); + materialParams.opacity = array[ 3 ]; + + } + + if ( pbrSpecularGlossiness.diffuseTexture !== undefined ) { + + pending.push( parser.assignTexture( materialParams, 'map', pbrSpecularGlossiness.diffuseTexture ) ); + + } + + materialParams.emissive = new Color( 0.0, 0.0, 0.0 ); + materialParams.glossiness = pbrSpecularGlossiness.glossinessFactor !== undefined ? pbrSpecularGlossiness.glossinessFactor : 1.0; + materialParams.specular = new Color( 1.0, 1.0, 1.0 ); + + if ( Array.isArray( pbrSpecularGlossiness.specularFactor ) ) { + + materialParams.specular.fromArray( pbrSpecularGlossiness.specularFactor ); + + } + + if ( pbrSpecularGlossiness.specularGlossinessTexture !== undefined ) { + + const specGlossMapDef = pbrSpecularGlossiness.specularGlossinessTexture; + pending.push( parser.assignTexture( materialParams, 'glossinessMap', specGlossMapDef ) ); + pending.push( parser.assignTexture( materialParams, 'specularMap', specGlossMapDef ) ); + + } + + return Promise.all( pending ); + + } + + createMaterial( materialParams ) { + + const material = new GLTFMeshStandardSGMaterial( materialParams ); + material.fog = true; + + material.color = materialParams.color; + + material.map = materialParams.map === undefined ? null : materialParams.map; + + material.lightMap = null; + material.lightMapIntensity = 1.0; + + material.aoMap = materialParams.aoMap === undefined ? null : materialParams.aoMap; + material.aoMapIntensity = 1.0; + + material.emissive = materialParams.emissive; + material.emissiveIntensity = 1.0; + material.emissiveMap = materialParams.emissiveMap === undefined ? null : materialParams.emissiveMap; + + material.bumpMap = materialParams.bumpMap === undefined ? null : materialParams.bumpMap; + material.bumpScale = 1; + + material.normalMap = materialParams.normalMap === undefined ? null : materialParams.normalMap; + material.normalMapType = TangentSpaceNormalMap; + + if ( materialParams.normalScale ) material.normalScale = materialParams.normalScale; + + material.displacementMap = null; + material.displacementScale = 1; + material.displacementBias = 0; + + material.specularMap = materialParams.specularMap === undefined ? null : materialParams.specularMap; + material.specular = materialParams.specular; + + material.glossinessMap = materialParams.glossinessMap === undefined ? null : materialParams.glossinessMap; + material.glossiness = materialParams.glossiness; + + material.alphaMap = null; + + material.envMap = materialParams.envMap === undefined ? null : materialParams.envMap; + material.envMapIntensity = 1.0; + + material.refractionRatio = 0.98; + + return material; + + } + +} + +/** + * Mesh Quantization Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_mesh_quantization + */ +class GLTFMeshQuantizationExtension { + + constructor() { + + this.name = EXTENSIONS.KHR_MESH_QUANTIZATION; + + } + +} + +/*********************************/ +/********** INTERPOLATION ********/ +/*********************************/ + +// Spline Interpolation +// Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#appendix-c-spline-interpolation +class GLTFCubicSplineInterpolant extends Interpolant { + + constructor( parameterPositions, sampleValues, sampleSize, resultBuffer ) { + + super( parameterPositions, sampleValues, sampleSize, resultBuffer ); + + } + + copySampleValue_( index ) { + + // Copies a sample value to the result buffer. See description of glTF + // CUBICSPLINE values layout in interpolate_() function below. + + const result = this.resultBuffer, + values = this.sampleValues, + valueSize = this.valueSize, + offset = index * valueSize * 3 + valueSize; + + for ( let i = 0; i !== valueSize; i ++ ) { + + result[ i ] = values[ offset + i ]; + + } + + return result; + + } + +} + +GLTFCubicSplineInterpolant.prototype.beforeStart_ = GLTFCubicSplineInterpolant.prototype.copySampleValue_; + +GLTFCubicSplineInterpolant.prototype.afterEnd_ = GLTFCubicSplineInterpolant.prototype.copySampleValue_; + +GLTFCubicSplineInterpolant.prototype.interpolate_ = function ( i1, t0, t, t1 ) { + + const result = this.resultBuffer; + const values = this.sampleValues; + const stride = this.valueSize; + + const stride2 = stride * 2; + const stride3 = stride * 3; + + const td = t1 - t0; + + const p = ( t - t0 ) / td; + const pp = p * p; + const ppp = pp * p; + + const offset1 = i1 * stride3; + const offset0 = offset1 - stride3; + + const s2 = - 2 * ppp + 3 * pp; + const s3 = ppp - pp; + const s0 = 1 - s2; + const s1 = s3 - pp + p; + + // Layout of keyframe output values for CUBICSPLINE animations: + // [ inTangent_1, splineVertex_1, outTangent_1, inTangent_2, splineVertex_2, ... ] + for ( let i = 0; i !== stride; i ++ ) { + + const p0 = values[ offset0 + i + stride ]; // splineVertex_k + const m0 = values[ offset0 + i + stride2 ] * td; // outTangent_k * (t_k+1 - t_k) + const p1 = values[ offset1 + i + stride ]; // splineVertex_k+1 + const m1 = values[ offset1 + i ] * td; // inTangent_k+1 * (t_k+1 - t_k) + + result[ i ] = s0 * p0 + s1 * m0 + s2 * p1 + s3 * m1; + + } + + return result; + +}; + +const _q = new Quaternion(); + +class GLTFCubicSplineQuaternionInterpolant extends GLTFCubicSplineInterpolant { + + interpolate_( i1, t0, t, t1 ) { + + const result = super.interpolate_( i1, t0, t, t1 ); + + _q.fromArray( result ).normalize().toArray( result ); + + return result; + + } + +} + + +/*********************************/ +/********** INTERNALS ************/ +/*********************************/ + +/* CONSTANTS */ + +const WEBGL_CONSTANTS = { + FLOAT: 5126, + //FLOAT_MAT2: 35674, + FLOAT_MAT3: 35675, + FLOAT_MAT4: 35676, + FLOAT_VEC2: 35664, + FLOAT_VEC3: 35665, + FLOAT_VEC4: 35666, + LINEAR: 9729, + REPEAT: 10497, + SAMPLER_2D: 35678, + POINTS: 0, + LINES: 1, + LINE_LOOP: 2, + LINE_STRIP: 3, + TRIANGLES: 4, + TRIANGLE_STRIP: 5, + TRIANGLE_FAN: 6, + UNSIGNED_BYTE: 5121, + UNSIGNED_SHORT: 5123 +}; + +const WEBGL_COMPONENT_TYPES = { + 5120: Int8Array, + 5121: Uint8Array, + 5122: Int16Array, + 5123: Uint16Array, + 5125: Uint32Array, + 5126: Float32Array +}; + +const WEBGL_FILTERS = { + 9728: NearestFilter, + 9729: LinearFilter, + 9984: NearestMipmapNearestFilter, + 9985: LinearMipmapNearestFilter, + 9986: NearestMipmapLinearFilter, + 9987: LinearMipmapLinearFilter +}; + +const WEBGL_WRAPPINGS = { + 33071: ClampToEdgeWrapping, + 33648: MirroredRepeatWrapping, + 10497: RepeatWrapping +}; + +const WEBGL_TYPE_SIZES = { + 'SCALAR': 1, + 'VEC2': 2, + 'VEC3': 3, + 'VEC4': 4, + 'MAT2': 4, + 'MAT3': 9, + 'MAT4': 16 +}; + +const ATTRIBUTES = { + POSITION: 'position', + NORMAL: 'normal', + TANGENT: 'tangent', + TEXCOORD_0: 'uv', + TEXCOORD_1: 'uv2', + COLOR_0: 'color', + WEIGHTS_0: 'skinWeight', + JOINTS_0: 'skinIndex', +}; + +const PATH_PROPERTIES = { + scale: 'scale', + translation: 'position', + rotation: 'quaternion', + weights: 'morphTargetInfluences' +}; + +const INTERPOLATION = { + CUBICSPLINE: undefined, // We use a custom interpolant (GLTFCubicSplineInterpolation) for CUBICSPLINE tracks. Each + // keyframe track will be initialized with a default interpolation type, then modified. + LINEAR: InterpolateLinear, + STEP: InterpolateDiscrete +}; + +const ALPHA_MODES = { + OPAQUE: 'OPAQUE', + MASK: 'MASK', + BLEND: 'BLEND' +}; + +/** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#default-material + */ +function createDefaultMaterial( cache ) { + + if ( cache[ 'DefaultMaterial' ] === undefined ) { + + cache[ 'DefaultMaterial' ] = new MeshStandardMaterial( { + color: 0xFFFFFF, + emissive: 0x000000, + metalness: 1, + roughness: 1, + transparent: false, + depthTest: true, + side: FrontSide + } ); + + } + + return cache[ 'DefaultMaterial' ]; + +} + +function addUnknownExtensionsToUserData( knownExtensions, object, objectDef ) { + + // Add unknown glTF extensions to an object's userData. + + for ( const name in objectDef.extensions ) { + + if ( knownExtensions[ name ] === undefined ) { + + object.userData.gltfExtensions = object.userData.gltfExtensions || {}; + object.userData.gltfExtensions[ name ] = objectDef.extensions[ name ]; + + } + + } + +} + +/** + * @param {Object3D|Material|BufferGeometry} object + * @param {GLTF.definition} gltfDef + */ +function assignExtrasToUserData( object, gltfDef ) { + + if ( gltfDef.extras !== undefined ) { + + if ( typeof gltfDef.extras === 'object' ) { + + Object.assign( object.userData, gltfDef.extras ); + + } else { + + console.warn( 'THREE.GLTFLoader: Ignoring primitive type .extras, ' + gltfDef.extras ); + + } + + } + +} + +/** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#morph-targets + * + * @param {BufferGeometry} geometry + * @param {Array} targets + * @param {GLTFParser} parser + * @return {Promise} + */ +function addMorphTargets( geometry, targets, parser ) { + + let hasMorphPosition = false; + let hasMorphNormal = false; + + for ( let i = 0, il = targets.length; i < il; i ++ ) { + + const target = targets[ i ]; + + if ( target.POSITION !== undefined ) hasMorphPosition = true; + if ( target.NORMAL !== undefined ) hasMorphNormal = true; + + if ( hasMorphPosition && hasMorphNormal ) break; + + } + + if ( ! hasMorphPosition && ! hasMorphNormal ) return Promise.resolve( geometry ); + + const pendingPositionAccessors = []; + const pendingNormalAccessors = []; + + for ( let i = 0, il = targets.length; i < il; i ++ ) { + + const target = targets[ i ]; + + if ( hasMorphPosition ) { + + const pendingAccessor = target.POSITION !== undefined + ? parser.getDependency( 'accessor', target.POSITION ) + : geometry.attributes.position; + + pendingPositionAccessors.push( pendingAccessor ); + + } + + if ( hasMorphNormal ) { + + const pendingAccessor = target.NORMAL !== undefined + ? parser.getDependency( 'accessor', target.NORMAL ) + : geometry.attributes.normal; + + pendingNormalAccessors.push( pendingAccessor ); + + } + + } + + return Promise.all( [ + Promise.all( pendingPositionAccessors ), + Promise.all( pendingNormalAccessors ) + ] ).then( function ( accessors ) { + + const morphPositions = accessors[ 0 ]; + const morphNormals = accessors[ 1 ]; + + if ( hasMorphPosition ) geometry.morphAttributes.position = morphPositions; + if ( hasMorphNormal ) geometry.morphAttributes.normal = morphNormals; + geometry.morphTargetsRelative = true; + + return geometry; + + } ); + +} + +/** + * @param {Mesh} mesh + * @param {GLTF.Mesh} meshDef + */ +function updateMorphTargets( mesh, meshDef ) { + + mesh.updateMorphTargets(); + + if ( meshDef.weights !== undefined ) { + + for ( let i = 0, il = meshDef.weights.length; i < il; i ++ ) { + + mesh.morphTargetInfluences[ i ] = meshDef.weights[ i ]; + + } + + } + + // .extras has user-defined data, so check that .extras.targetNames is an array. + if ( meshDef.extras && Array.isArray( meshDef.extras.targetNames ) ) { + + const targetNames = meshDef.extras.targetNames; + + if ( mesh.morphTargetInfluences.length === targetNames.length ) { + + mesh.morphTargetDictionary = {}; + + for ( let i = 0, il = targetNames.length; i < il; i ++ ) { + + mesh.morphTargetDictionary[ targetNames[ i ] ] = i; + + } + + } else { + + console.warn( 'THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.' ); + + } + + } + +} + +function createPrimitiveKey( primitiveDef ) { + + const dracoExtension = primitiveDef.extensions && primitiveDef.extensions[ EXTENSIONS.KHR_DRACO_MESH_COMPRESSION ]; + let geometryKey; + + if ( dracoExtension ) { + + geometryKey = 'draco:' + dracoExtension.bufferView + + ':' + dracoExtension.indices + + ':' + createAttributesKey( dracoExtension.attributes ); + + } else { + + geometryKey = primitiveDef.indices + ':' + createAttributesKey( primitiveDef.attributes ) + ':' + primitiveDef.mode; + + } + + return geometryKey; + +} + +function createAttributesKey( attributes ) { + + let attributesKey = ''; + + const keys = Object.keys( attributes ).sort(); + + for ( let i = 0, il = keys.length; i < il; i ++ ) { + + attributesKey += keys[ i ] + ':' + attributes[ keys[ i ] ] + ';'; + + } + + return attributesKey; + +} + +function getNormalizedComponentScale( constructor ) { + + // Reference: + // https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_mesh_quantization#encoding-quantized-data + + switch ( constructor ) { + + case Int8Array: + return 1 / 127; + + case Uint8Array: + return 1 / 255; + + case Int16Array: + return 1 / 32767; + + case Uint16Array: + return 1 / 65535; + + default: + throw new Error( 'THREE.GLTFLoader: Unsupported normalized accessor component type.' ); + + } + +} + +/* GLTF PARSER */ + +class GLTFParser { + + constructor( json = {}, options = {} ) { + + this.json = json; + this.extensions = {}; + this.plugins = {}; + this.options = options; + + // loader object cache + this.cache = new GLTFRegistry(); + + // associations between Three.js objects and glTF elements + this.associations = new Map(); + + // BufferGeometry caching + this.primitiveCache = {}; + + // Object3D instance caches + this.meshCache = { refs: {}, uses: {} }; + this.cameraCache = { refs: {}, uses: {} }; + this.lightCache = { refs: {}, uses: {} }; + + this.textureCache = {}; + + // Track node names, to ensure no duplicates + this.nodeNamesUsed = {}; + + // Use an ImageBitmapLoader if imageBitmaps are supported. Moves much of the + // expensive work of uploading a texture to the GPU off the main thread. + if ( typeof createImageBitmap !== 'undefined' && /Firefox|Safari/.test( navigator.userAgent ) === false ) { + + this.textureLoader = new ImageBitmapLoader( this.options.manager ); + + } else { + + this.textureLoader = new TextureLoader( this.options.manager ); + + } + + this.textureLoader.setCrossOrigin( this.options.crossOrigin ); + this.textureLoader.setRequestHeader( this.options.requestHeader ); + + this.fileLoader = new FileLoader( this.options.manager ); + this.fileLoader.setResponseType( 'arraybuffer' ); + + if ( this.options.crossOrigin === 'use-credentials' ) { + + this.fileLoader.setWithCredentials( true ); + + } + + } + + setExtensions( extensions ) { + + this.extensions = extensions; + + } + + setPlugins( plugins ) { + + this.plugins = plugins; + + } + + parse( onLoad, onError ) { + + const parser = this; + const json = this.json; + const extensions = this.extensions; + + // Clear the loader cache + this.cache.removeAll(); + + // Mark the special nodes/meshes in json for efficient parse + this._invokeAll( function ( ext ) { + + return ext._markDefs && ext._markDefs(); + + } ); + + Promise.all( this._invokeAll( function ( ext ) { + + return ext.beforeRoot && ext.beforeRoot(); + + } ) ).then( function () { + + return Promise.all( [ + + parser.getDependencies( 'scene' ), + parser.getDependencies( 'animation' ), + parser.getDependencies( 'camera' ), + + ] ); + + } ).then( function ( dependencies ) { + + const result = { + scene: dependencies[ 0 ][ json.scene || 0 ], + scenes: dependencies[ 0 ], + animations: dependencies[ 1 ], + cameras: dependencies[ 2 ], + asset: json.asset, + parser: parser, + userData: {} + }; + + addUnknownExtensionsToUserData( extensions, result, json ); + + assignExtrasToUserData( result, json ); + + Promise.all( parser._invokeAll( function ( ext ) { + + return ext.afterRoot && ext.afterRoot( result ); + + } ) ).then( function () { + + onLoad( result ); + + } ); + + } ).catch( onError ); + + } + + /** + * Marks the special nodes/meshes in json for efficient parse. + */ + _markDefs() { + + const nodeDefs = this.json.nodes || []; + const skinDefs = this.json.skins || []; + const meshDefs = this.json.meshes || []; + + // Nothing in the node definition indicates whether it is a Bone or an + // Object3D. Use the skins' joint references to mark bones. + for ( let skinIndex = 0, skinLength = skinDefs.length; skinIndex < skinLength; skinIndex ++ ) { + + const joints = skinDefs[ skinIndex ].joints; + + for ( let i = 0, il = joints.length; i < il; i ++ ) { + + nodeDefs[ joints[ i ] ].isBone = true; + + } + + } + + // Iterate over all nodes, marking references to shared resources, + // as well as skeleton joints. + for ( let nodeIndex = 0, nodeLength = nodeDefs.length; nodeIndex < nodeLength; nodeIndex ++ ) { + + const nodeDef = nodeDefs[ nodeIndex ]; + + if ( nodeDef.mesh !== undefined ) { + + this._addNodeRef( this.meshCache, nodeDef.mesh ); + + // Nothing in the mesh definition indicates whether it is + // a SkinnedMesh or Mesh. Use the node's mesh reference + // to mark SkinnedMesh if node has skin. + if ( nodeDef.skin !== undefined ) { + + meshDefs[ nodeDef.mesh ].isSkinnedMesh = true; + + } + + } + + if ( nodeDef.camera !== undefined ) { + + this._addNodeRef( this.cameraCache, nodeDef.camera ); + + } + + } + + } + + /** + * Counts references to shared node / Object3D resources. These resources + * can be reused, or "instantiated", at multiple nodes in the scene + * hierarchy. Mesh, Camera, and Light instances are instantiated and must + * be marked. Non-scenegraph resources (like Materials, Geometries, and + * Textures) can be reused directly and are not marked here. + * + * Example: CesiumMilkTruck sample model reuses "Wheel" meshes. + */ + _addNodeRef( cache, index ) { + + if ( index === undefined ) return; + + if ( cache.refs[ index ] === undefined ) { + + cache.refs[ index ] = cache.uses[ index ] = 0; + + } + + cache.refs[ index ] ++; + + } + + /** Returns a reference to a shared resource, cloning it if necessary. */ + _getNodeRef( cache, index, object ) { + + if ( cache.refs[ index ] <= 1 ) return object; + + const ref = object.clone(); + + // Propagates mappings to the cloned object, prevents mappings on the + // original object from being lost. + const updateMappings = ( original, clone ) => { + + const mappings = this.associations.get( original ); + if ( mappings != null ) { + + this.associations.set( clone, mappings ); + + } + + for ( const [ i, child ] of original.children.entries() ) { + + updateMappings( child, clone.children[ i ] ); + + } + + }; + + updateMappings( object, ref ); + + ref.name += '_instance_' + ( cache.uses[ index ] ++ ); + + return ref; + + } + + _invokeOne( func ) { + + const extensions = Object.values( this.plugins ); + extensions.push( this ); + + for ( let i = 0; i < extensions.length; i ++ ) { + + const result = func( extensions[ i ] ); + + if ( result ) return result; + + } + + return null; + + } + + _invokeAll( func ) { + + const extensions = Object.values( this.plugins ); + extensions.unshift( this ); + + const pending = []; + + for ( let i = 0; i < extensions.length; i ++ ) { + + const result = func( extensions[ i ] ); + + if ( result ) pending.push( result ); + + } + + return pending; + + } + + /** + * Requests the specified dependency asynchronously, with caching. + * @param {string} type + * @param {number} index + * @return {Promise} + */ + getDependency( type, index ) { + + const cacheKey = type + ':' + index; + let dependency = this.cache.get( cacheKey ); + + if ( ! dependency ) { + + switch ( type ) { + + case 'scene': + dependency = this.loadScene( index ); + break; + + case 'node': + dependency = this.loadNode( index ); + break; + + case 'mesh': + dependency = this._invokeOne( function ( ext ) { + + return ext.loadMesh && ext.loadMesh( index ); + + } ); + break; + + case 'accessor': + dependency = this.loadAccessor( index ); + break; + + case 'bufferView': + dependency = this._invokeOne( function ( ext ) { + + return ext.loadBufferView && ext.loadBufferView( index ); + + } ); + break; + + case 'buffer': + dependency = this.loadBuffer( index ); + break; + + case 'material': + dependency = this._invokeOne( function ( ext ) { + + return ext.loadMaterial && ext.loadMaterial( index ); + + } ); + break; + + case 'texture': + dependency = this._invokeOne( function ( ext ) { + + return ext.loadTexture && ext.loadTexture( index ); + + } ); + break; + + case 'skin': + dependency = this.loadSkin( index ); + break; + + case 'animation': + dependency = this.loadAnimation( index ); + break; + + case 'camera': + dependency = this.loadCamera( index ); + break; + + default: + throw new Error( 'Unknown type: ' + type ); + + } + + this.cache.add( cacheKey, dependency ); + + } + + return dependency; + + } + + /** + * Requests all dependencies of the specified type asynchronously, with caching. + * @param {string} type + * @return {Promise>} + */ + getDependencies( type ) { + + let dependencies = this.cache.get( type ); + + if ( ! dependencies ) { + + const parser = this; + const defs = this.json[ type + ( type === 'mesh' ? 'es' : 's' ) ] || []; + + dependencies = Promise.all( defs.map( function ( def, index ) { + + return parser.getDependency( type, index ); + + } ) ); + + this.cache.add( type, dependencies ); + + } + + return dependencies; + + } + + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#buffers-and-buffer-views + * @param {number} bufferIndex + * @return {Promise} + */ + loadBuffer( bufferIndex ) { + + const bufferDef = this.json.buffers[ bufferIndex ]; + const loader = this.fileLoader; + + if ( bufferDef.type && bufferDef.type !== 'arraybuffer' ) { + + throw new Error( 'THREE.GLTFLoader: ' + bufferDef.type + ' buffer type is not supported.' ); + + } + + // If present, GLB container is required to be the first buffer. + if ( bufferDef.uri === undefined && bufferIndex === 0 ) { + + return Promise.resolve( this.extensions[ EXTENSIONS.KHR_BINARY_GLTF ].body ); + + } + + const options = this.options; + + return new Promise( function ( resolve, reject ) { + + loader.load( LoaderUtils.resolveURL( bufferDef.uri, options.path ), resolve, undefined, function () { + + reject( new Error( 'THREE.GLTFLoader: Failed to load buffer "' + bufferDef.uri + '".' ) ); + + } ); + + } ); + + } + + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#buffers-and-buffer-views + * @param {number} bufferViewIndex + * @return {Promise} + */ + loadBufferView( bufferViewIndex ) { + + const bufferViewDef = this.json.bufferViews[ bufferViewIndex ]; + + return this.getDependency( 'buffer', bufferViewDef.buffer ).then( function ( buffer ) { + + const byteLength = bufferViewDef.byteLength || 0; + const byteOffset = bufferViewDef.byteOffset || 0; + return buffer.slice( byteOffset, byteOffset + byteLength ); + + } ); + + } + + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#accessors + * @param {number} accessorIndex + * @return {Promise} + */ + loadAccessor( accessorIndex ) { + + const parser = this; + const json = this.json; + + const accessorDef = this.json.accessors[ accessorIndex ]; + + if ( accessorDef.bufferView === undefined && accessorDef.sparse === undefined ) { + + // Ignore empty accessors, which may be used to declare runtime + // information about attributes coming from another source (e.g. Draco + // compression extension). + return Promise.resolve( null ); + + } + + const pendingBufferViews = []; + + if ( accessorDef.bufferView !== undefined ) { + + pendingBufferViews.push( this.getDependency( 'bufferView', accessorDef.bufferView ) ); + + } else { + + pendingBufferViews.push( null ); + + } + + if ( accessorDef.sparse !== undefined ) { + + pendingBufferViews.push( this.getDependency( 'bufferView', accessorDef.sparse.indices.bufferView ) ); + pendingBufferViews.push( this.getDependency( 'bufferView', accessorDef.sparse.values.bufferView ) ); + + } + + return Promise.all( pendingBufferViews ).then( function ( bufferViews ) { + + const bufferView = bufferViews[ 0 ]; + + const itemSize = WEBGL_TYPE_SIZES[ accessorDef.type ]; + const TypedArray = WEBGL_COMPONENT_TYPES[ accessorDef.componentType ]; + + // For VEC3: itemSize is 3, elementBytes is 4, itemBytes is 12. + const elementBytes = TypedArray.BYTES_PER_ELEMENT; + const itemBytes = elementBytes * itemSize; + const byteOffset = accessorDef.byteOffset || 0; + const byteStride = accessorDef.bufferView !== undefined ? json.bufferViews[ accessorDef.bufferView ].byteStride : undefined; + const normalized = accessorDef.normalized === true; + let array, bufferAttribute; + + // The buffer is not interleaved if the stride is the item size in bytes. + if ( byteStride && byteStride !== itemBytes ) { + + // Each "slice" of the buffer, as defined by 'count' elements of 'byteStride' bytes, gets its own InterleavedBuffer + // This makes sure that IBA.count reflects accessor.count properly + const ibSlice = Math.floor( byteOffset / byteStride ); + const ibCacheKey = 'InterleavedBuffer:' + accessorDef.bufferView + ':' + accessorDef.componentType + ':' + ibSlice + ':' + accessorDef.count; + let ib = parser.cache.get( ibCacheKey ); + + if ( ! ib ) { + + array = new TypedArray( bufferView, ibSlice * byteStride, accessorDef.count * byteStride / elementBytes ); + + // Integer parameters to IB/IBA are in array elements, not bytes. + ib = new InterleavedBuffer( array, byteStride / elementBytes ); + + parser.cache.add( ibCacheKey, ib ); + + } + + bufferAttribute = new InterleavedBufferAttribute( ib, itemSize, ( byteOffset % byteStride ) / elementBytes, normalized ); + + } else { + + if ( bufferView === null ) { + + array = new TypedArray( accessorDef.count * itemSize ); + + } else { + + array = new TypedArray( bufferView, byteOffset, accessorDef.count * itemSize ); + + } + + bufferAttribute = new BufferAttribute( array, itemSize, normalized ); + + } + + // https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#sparse-accessors + if ( accessorDef.sparse !== undefined ) { + + const itemSizeIndices = WEBGL_TYPE_SIZES.SCALAR; + const TypedArrayIndices = WEBGL_COMPONENT_TYPES[ accessorDef.sparse.indices.componentType ]; + + const byteOffsetIndices = accessorDef.sparse.indices.byteOffset || 0; + const byteOffsetValues = accessorDef.sparse.values.byteOffset || 0; + + const sparseIndices = new TypedArrayIndices( bufferViews[ 1 ], byteOffsetIndices, accessorDef.sparse.count * itemSizeIndices ); + const sparseValues = new TypedArray( bufferViews[ 2 ], byteOffsetValues, accessorDef.sparse.count * itemSize ); + + if ( bufferView !== null ) { + + // Avoid modifying the original ArrayBuffer, if the bufferView wasn't initialized with zeroes. + bufferAttribute = new BufferAttribute( bufferAttribute.array.slice(), bufferAttribute.itemSize, bufferAttribute.normalized ); + + } + + for ( let i = 0, il = sparseIndices.length; i < il; i ++ ) { + + const index = sparseIndices[ i ]; + + bufferAttribute.setX( index, sparseValues[ i * itemSize ] ); + if ( itemSize >= 2 ) bufferAttribute.setY( index, sparseValues[ i * itemSize + 1 ] ); + if ( itemSize >= 3 ) bufferAttribute.setZ( index, sparseValues[ i * itemSize + 2 ] ); + if ( itemSize >= 4 ) bufferAttribute.setW( index, sparseValues[ i * itemSize + 3 ] ); + if ( itemSize >= 5 ) throw new Error( 'THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.' ); + + } + + } + + return bufferAttribute; + + } ); + + } + + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#textures + * @param {number} textureIndex + * @return {Promise} + */ + loadTexture( textureIndex ) { + + const json = this.json; + const options = this.options; + const textureDef = json.textures[ textureIndex ]; + const source = json.images[ textureDef.source ]; + + let loader = this.textureLoader; + + if ( source.uri ) { + + const handler = options.manager.getHandler( source.uri ); + if ( handler !== null ) loader = handler; + + } + + return this.loadTextureImage( textureIndex, source, loader ); + + } + + loadTextureImage( textureIndex, source, loader ) { + + const parser = this; + const json = this.json; + const options = this.options; + + const textureDef = json.textures[ textureIndex ]; + + const cacheKey = ( source.uri || source.bufferView ) + ':' + textureDef.sampler; + + if ( this.textureCache[ cacheKey ] ) { + + // See https://github.com/mrdoob/three.js/issues/21559. + return this.textureCache[ cacheKey ]; + + } + + const URL = self.URL || self.webkitURL; + + let sourceURI = source.uri || ''; + let isObjectURL = false; + + if ( source.bufferView !== undefined ) { + + // Load binary image data from bufferView, if provided. + + sourceURI = parser.getDependency( 'bufferView', source.bufferView ).then( function ( bufferView ) { + + isObjectURL = true; + const blob = new Blob( [ bufferView ], { type: source.mimeType } ); + sourceURI = URL.createObjectURL( blob ); + return sourceURI; + + } ); + + } else if ( source.uri === undefined ) { + + throw new Error( 'THREE.GLTFLoader: Image ' + textureIndex + ' is missing URI and bufferView' ); + + } + + const promise = Promise.resolve( sourceURI ).then( function ( sourceURI ) { + + return new Promise( function ( resolve, reject ) { + + let onLoad = resolve; + + if ( loader.isImageBitmapLoader === true ) { + + onLoad = function ( imageBitmap ) { + + const texture = new Texture( imageBitmap ); + texture.needsUpdate = true; + + resolve( texture ); + + }; + + } + + loader.load( LoaderUtils.resolveURL( sourceURI, options.path ), onLoad, undefined, reject ); + + } ); + + } ).then( function ( texture ) { + + // Clean up resources and configure Texture. + + if ( isObjectURL === true ) { + + URL.revokeObjectURL( sourceURI ); + + } + + texture.flipY = false; + + if ( textureDef.name ) texture.name = textureDef.name; + + const samplers = json.samplers || {}; + const sampler = samplers[ textureDef.sampler ] || {}; + + texture.magFilter = WEBGL_FILTERS[ sampler.magFilter ] || LinearFilter; + texture.minFilter = WEBGL_FILTERS[ sampler.minFilter ] || LinearMipmapLinearFilter; + texture.wrapS = WEBGL_WRAPPINGS[ sampler.wrapS ] || RepeatWrapping; + texture.wrapT = WEBGL_WRAPPINGS[ sampler.wrapT ] || RepeatWrapping; + + parser.associations.set( texture, { textures: textureIndex } ); + + return texture; + + } ).catch( function () { + + console.error( 'THREE.GLTFLoader: Couldn\'t load texture', sourceURI ); + return null; + + } ); + + this.textureCache[ cacheKey ] = promise; + + return promise; + + } + + /** + * Asynchronously assigns a texture to the given material parameters. + * @param {Object} materialParams + * @param {string} mapName + * @param {Object} mapDef + * @return {Promise} + */ + assignTexture( materialParams, mapName, mapDef ) { + + const parser = this; + + return this.getDependency( 'texture', mapDef.index ).then( function ( texture ) { + + // Materials sample aoMap from UV set 1 and other maps from UV set 0 - this can't be configured + // However, we will copy UV set 0 to UV set 1 on demand for aoMap + if ( mapDef.texCoord !== undefined && mapDef.texCoord != 0 && ! ( mapName === 'aoMap' && mapDef.texCoord == 1 ) ) { + + console.warn( 'THREE.GLTFLoader: Custom UV set ' + mapDef.texCoord + ' for texture ' + mapName + ' not yet supported.' ); + + } + + if ( parser.extensions[ EXTENSIONS.KHR_TEXTURE_TRANSFORM ] ) { + + const transform = mapDef.extensions !== undefined ? mapDef.extensions[ EXTENSIONS.KHR_TEXTURE_TRANSFORM ] : undefined; + + if ( transform ) { + + const gltfReference = parser.associations.get( texture ); + texture = parser.extensions[ EXTENSIONS.KHR_TEXTURE_TRANSFORM ].extendTexture( texture, transform ); + parser.associations.set( texture, gltfReference ); + + } + + } + + materialParams[ mapName ] = texture; + + return texture; + + } ); + + } + + /** + * Assigns final material to a Mesh, Line, or Points instance. The instance + * already has a material (generated from the glTF material options alone) + * but reuse of the same glTF material may require multiple threejs materials + * to accommodate different primitive types, defines, etc. New materials will + * be created if necessary, and reused from a cache. + * @param {Object3D} mesh Mesh, Line, or Points instance. + */ + assignFinalMaterial( mesh ) { + + const geometry = mesh.geometry; + let material = mesh.material; + + const useDerivativeTangents = geometry.attributes.tangent === undefined; + const useVertexColors = geometry.attributes.color !== undefined; + const useFlatShading = geometry.attributes.normal === undefined; + + if ( mesh.isPoints ) { + + const cacheKey = 'PointsMaterial:' + material.uuid; + + let pointsMaterial = this.cache.get( cacheKey ); + + if ( ! pointsMaterial ) { + + pointsMaterial = new PointsMaterial(); + Material.prototype.copy.call( pointsMaterial, material ); + pointsMaterial.color.copy( material.color ); + pointsMaterial.map = material.map; + pointsMaterial.sizeAttenuation = false; // glTF spec says points should be 1px + + this.cache.add( cacheKey, pointsMaterial ); + + } + + material = pointsMaterial; + + } else if ( mesh.isLine ) { + + const cacheKey = 'LineBasicMaterial:' + material.uuid; + + let lineMaterial = this.cache.get( cacheKey ); + + if ( ! lineMaterial ) { + + lineMaterial = new LineBasicMaterial(); + Material.prototype.copy.call( lineMaterial, material ); + lineMaterial.color.copy( material.color ); + + this.cache.add( cacheKey, lineMaterial ); + + } + + material = lineMaterial; + + } + + // Clone the material if it will be modified + if ( useDerivativeTangents || useVertexColors || useFlatShading ) { + + let cacheKey = 'ClonedMaterial:' + material.uuid + ':'; + + if ( material.isGLTFSpecularGlossinessMaterial ) cacheKey += 'specular-glossiness:'; + if ( useDerivativeTangents ) cacheKey += 'derivative-tangents:'; + if ( useVertexColors ) cacheKey += 'vertex-colors:'; + if ( useFlatShading ) cacheKey += 'flat-shading:'; + + let cachedMaterial = this.cache.get( cacheKey ); + + if ( ! cachedMaterial ) { + + cachedMaterial = material.clone(); + + if ( useVertexColors ) cachedMaterial.vertexColors = true; + if ( useFlatShading ) cachedMaterial.flatShading = true; + + if ( useDerivativeTangents ) { + + // https://github.com/mrdoob/three.js/issues/11438#issuecomment-507003995 + if ( cachedMaterial.normalScale ) cachedMaterial.normalScale.y *= - 1; + if ( cachedMaterial.clearcoatNormalScale ) cachedMaterial.clearcoatNormalScale.y *= - 1; + + } + + this.cache.add( cacheKey, cachedMaterial ); + + this.associations.set( cachedMaterial, this.associations.get( material ) ); + + } + + material = cachedMaterial; + + } + + // workarounds for mesh and geometry + + if ( material.aoMap && geometry.attributes.uv2 === undefined && geometry.attributes.uv !== undefined ) { + + geometry.setAttribute( 'uv2', geometry.attributes.uv ); + + } + + mesh.material = material; + + } + + getMaterialType( /* materialIndex */ ) { + + return MeshStandardMaterial; + + } + + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#materials + * @param {number} materialIndex + * @return {Promise} + */ + loadMaterial( materialIndex ) { + + const parser = this; + const json = this.json; + const extensions = this.extensions; + const materialDef = json.materials[ materialIndex ]; + + let materialType; + const materialParams = {}; + const materialExtensions = materialDef.extensions || {}; + + const pending = []; + + if ( materialExtensions[ EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS ] ) { + + const sgExtension = extensions[ EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS ]; + materialType = sgExtension.getMaterialType(); + pending.push( sgExtension.extendParams( materialParams, materialDef, parser ) ); + + } else if ( materialExtensions[ EXTENSIONS.KHR_MATERIALS_UNLIT ] ) { + + const kmuExtension = extensions[ EXTENSIONS.KHR_MATERIALS_UNLIT ]; + materialType = kmuExtension.getMaterialType(); + pending.push( kmuExtension.extendParams( materialParams, materialDef, parser ) ); + + } else { + + // Specification: + // https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#metallic-roughness-material + + const metallicRoughness = materialDef.pbrMetallicRoughness || {}; + + materialParams.color = new Color( 1.0, 1.0, 1.0 ); + materialParams.opacity = 1.0; + + if ( Array.isArray( metallicRoughness.baseColorFactor ) ) { + + const array = metallicRoughness.baseColorFactor; + + materialParams.color.fromArray( array ); + materialParams.opacity = array[ 3 ]; + + } + + if ( metallicRoughness.baseColorTexture !== undefined ) { + + pending.push( parser.assignTexture( materialParams, 'map', metallicRoughness.baseColorTexture ) ); + + } + + materialParams.metalness = metallicRoughness.metallicFactor !== undefined ? metallicRoughness.metallicFactor : 1.0; + materialParams.roughness = metallicRoughness.roughnessFactor !== undefined ? metallicRoughness.roughnessFactor : 1.0; + + if ( metallicRoughness.metallicRoughnessTexture !== undefined ) { + + pending.push( parser.assignTexture( materialParams, 'metalnessMap', metallicRoughness.metallicRoughnessTexture ) ); + pending.push( parser.assignTexture( materialParams, 'roughnessMap', metallicRoughness.metallicRoughnessTexture ) ); + + } + + materialType = this._invokeOne( function ( ext ) { + + return ext.getMaterialType && ext.getMaterialType( materialIndex ); + + } ); + + pending.push( Promise.all( this._invokeAll( function ( ext ) { + + return ext.extendMaterialParams && ext.extendMaterialParams( materialIndex, materialParams ); + + } ) ) ); + + } + + if ( materialDef.doubleSided === true ) { + + materialParams.side = DoubleSide; + + } + + const alphaMode = materialDef.alphaMode || ALPHA_MODES.OPAQUE; + + if ( alphaMode === ALPHA_MODES.BLEND ) { + + materialParams.transparent = true; + + // See: https://github.com/mrdoob/three.js/issues/17706 + materialParams.depthWrite = false; + + } else { + + materialParams.format = RGBFormat; + materialParams.transparent = false; + + if ( alphaMode === ALPHA_MODES.MASK ) { + + materialParams.alphaTest = materialDef.alphaCutoff !== undefined ? materialDef.alphaCutoff : 0.5; + + } + + } + + if ( materialDef.normalTexture !== undefined && materialType !== MeshBasicMaterial ) { + + pending.push( parser.assignTexture( materialParams, 'normalMap', materialDef.normalTexture ) ); + + materialParams.normalScale = new Vector2( 1, 1 ); + + if ( materialDef.normalTexture.scale !== undefined ) { + + const scale = materialDef.normalTexture.scale; + + materialParams.normalScale.set( scale, scale ); + + } + + } + + if ( materialDef.occlusionTexture !== undefined && materialType !== MeshBasicMaterial ) { + + pending.push( parser.assignTexture( materialParams, 'aoMap', materialDef.occlusionTexture ) ); + + if ( materialDef.occlusionTexture.strength !== undefined ) { + + materialParams.aoMapIntensity = materialDef.occlusionTexture.strength; + + } + + } + + if ( materialDef.emissiveFactor !== undefined && materialType !== MeshBasicMaterial ) { + + materialParams.emissive = new Color().fromArray( materialDef.emissiveFactor ); + + } + + if ( materialDef.emissiveTexture !== undefined && materialType !== MeshBasicMaterial ) { + + pending.push( parser.assignTexture( materialParams, 'emissiveMap', materialDef.emissiveTexture ) ); + + } + + return Promise.all( pending ).then( function () { + + let material; + + if ( materialType === GLTFMeshStandardSGMaterial ) { + + material = extensions[ EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS ].createMaterial( materialParams ); + + } else { + + material = new materialType( materialParams ); + + } + + if ( materialDef.name ) material.name = materialDef.name; + + // baseColorTexture, emissiveTexture, and specularGlossinessTexture use sRGB encoding. + if ( material.map ) material.map.encoding = sRGBEncoding; + if ( material.emissiveMap ) material.emissiveMap.encoding = sRGBEncoding; + + assignExtrasToUserData( material, materialDef ); + + parser.associations.set( material, { materials: materialIndex } ); + + if ( materialDef.extensions ) addUnknownExtensionsToUserData( extensions, material, materialDef ); + + return material; + + } ); + + } + + /** When Object3D instances are targeted by animation, they need unique names. */ + createUniqueName( originalName ) { + + const sanitizedName = PropertyBinding.sanitizeNodeName( originalName || '' ); + + let name = sanitizedName; + + for ( let i = 1; this.nodeNamesUsed[ name ]; ++ i ) { + + name = sanitizedName + '_' + i; + + } + + this.nodeNamesUsed[ name ] = true; + + return name; + + } + + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#geometry + * + * Creates BufferGeometries from primitives. + * + * @param {Array} primitives + * @return {Promise>} + */ + loadGeometries( primitives ) { + + const parser = this; + const extensions = this.extensions; + const cache = this.primitiveCache; + + function createDracoPrimitive( primitive ) { + + return extensions[ EXTENSIONS.KHR_DRACO_MESH_COMPRESSION ] + .decodePrimitive( primitive, parser ) + .then( function ( geometry ) { + + return addPrimitiveAttributes( geometry, primitive, parser ); + + } ); + + } + + const pending = []; + + for ( let i = 0, il = primitives.length; i < il; i ++ ) { + + const primitive = primitives[ i ]; + const cacheKey = createPrimitiveKey( primitive ); + + // See if we've already created this geometry + const cached = cache[ cacheKey ]; + + if ( cached ) { + + // Use the cached geometry if it exists + pending.push( cached.promise ); + + } else { + + let geometryPromise; + + if ( primitive.extensions && primitive.extensions[ EXTENSIONS.KHR_DRACO_MESH_COMPRESSION ] ) { + + // Use DRACO geometry if available + geometryPromise = createDracoPrimitive( primitive ); + + } else { + + // Otherwise create a new geometry + geometryPromise = addPrimitiveAttributes( new BufferGeometry(), primitive, parser ); + + } + + // Cache this geometry + cache[ cacheKey ] = { primitive: primitive, promise: geometryPromise }; + + pending.push( geometryPromise ); + + } + + } + + return Promise.all( pending ); + + } + + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#meshes + * @param {number} meshIndex + * @return {Promise} + */ + loadMesh( meshIndex ) { + + const parser = this; + const json = this.json; + const extensions = this.extensions; + + const meshDef = json.meshes[ meshIndex ]; + const primitives = meshDef.primitives; + + const pending = []; + + for ( let i = 0, il = primitives.length; i < il; i ++ ) { + + const material = primitives[ i ].material === undefined + ? createDefaultMaterial( this.cache ) + : this.getDependency( 'material', primitives[ i ].material ); + + pending.push( material ); + + } + + pending.push( parser.loadGeometries( primitives ) ); + + return Promise.all( pending ).then( function ( results ) { + + const materials = results.slice( 0, results.length - 1 ); + const geometries = results[ results.length - 1 ]; + + const meshes = []; + + for ( let i = 0, il = geometries.length; i < il; i ++ ) { + + const geometry = geometries[ i ]; + const primitive = primitives[ i ]; + + // 1. create Mesh + + let mesh; + + const material = materials[ i ]; + + if ( primitive.mode === WEBGL_CONSTANTS.TRIANGLES || + primitive.mode === WEBGL_CONSTANTS.TRIANGLE_STRIP || + primitive.mode === WEBGL_CONSTANTS.TRIANGLE_FAN || + primitive.mode === undefined ) { + + // .isSkinnedMesh isn't in glTF spec. See ._markDefs() + mesh = meshDef.isSkinnedMesh === true + ? new SkinnedMesh( geometry, material ) + : new Mesh( geometry, material ); + + if ( mesh.isSkinnedMesh === true && ! mesh.geometry.attributes.skinWeight.normalized ) { + + // we normalize floating point skin weight array to fix malformed assets (see #15319) + // it's important to skip this for non-float32 data since normalizeSkinWeights assumes non-normalized inputs + mesh.normalizeSkinWeights(); + + } + + if ( primitive.mode === WEBGL_CONSTANTS.TRIANGLE_STRIP ) { + + mesh.geometry = toTrianglesDrawMode( mesh.geometry, TriangleStripDrawMode ); + + } else if ( primitive.mode === WEBGL_CONSTANTS.TRIANGLE_FAN ) { + + mesh.geometry = toTrianglesDrawMode( mesh.geometry, TriangleFanDrawMode ); + + } + + } else if ( primitive.mode === WEBGL_CONSTANTS.LINES ) { + + mesh = new LineSegments( geometry, material ); + + } else if ( primitive.mode === WEBGL_CONSTANTS.LINE_STRIP ) { + + mesh = new Line( geometry, material ); + + } else if ( primitive.mode === WEBGL_CONSTANTS.LINE_LOOP ) { + + mesh = new LineLoop( geometry, material ); + + } else if ( primitive.mode === WEBGL_CONSTANTS.POINTS ) { + + mesh = new Points( geometry, material ); + + } else { + + throw new Error( 'THREE.GLTFLoader: Primitive mode unsupported: ' + primitive.mode ); + + } + + if ( Object.keys( mesh.geometry.morphAttributes ).length > 0 ) { + + updateMorphTargets( mesh, meshDef ); + + } + + mesh.name = parser.createUniqueName( meshDef.name || ( 'mesh_' + meshIndex ) ); + + assignExtrasToUserData( mesh, meshDef ); + + if ( primitive.extensions ) addUnknownExtensionsToUserData( extensions, mesh, primitive ); + + parser.assignFinalMaterial( mesh ); + + meshes.push( mesh ); + + } + + for ( let i = 0, il = meshes.length; i < il; i ++ ) { + + parser.associations.set( meshes[ i ], { + meshes: meshIndex, + primitives: i + } ); + + } + + if ( meshes.length === 1 ) { + + return meshes[ 0 ]; + + } + + const group = new Group(); + + parser.associations.set( group, { meshes: meshIndex } ); + + for ( let i = 0, il = meshes.length; i < il; i ++ ) { + + group.add( meshes[ i ] ); + + } + + return group; + + } ); + + } + + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#cameras + * @param {number} cameraIndex + * @return {Promise} + */ + loadCamera( cameraIndex ) { + + let camera; + const cameraDef = this.json.cameras[ cameraIndex ]; + const params = cameraDef[ cameraDef.type ]; + + if ( ! params ) { + + console.warn( 'THREE.GLTFLoader: Missing camera parameters.' ); + return; + + } + + if ( cameraDef.type === 'perspective' ) { + + camera = new PerspectiveCamera( MathUtils.radToDeg( params.yfov ), params.aspectRatio || 1, params.znear || 1, params.zfar || 2e6 ); + + } else if ( cameraDef.type === 'orthographic' ) { + + camera = new OrthographicCamera( - params.xmag, params.xmag, params.ymag, - params.ymag, params.znear, params.zfar ); + + } + + if ( cameraDef.name ) camera.name = this.createUniqueName( cameraDef.name ); + + assignExtrasToUserData( camera, cameraDef ); + + return Promise.resolve( camera ); + + } + + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#skins + * @param {number} skinIndex + * @return {Promise} + */ + loadSkin( skinIndex ) { + + const skinDef = this.json.skins[ skinIndex ]; + + const skinEntry = { joints: skinDef.joints }; + + if ( skinDef.inverseBindMatrices === undefined ) { + + return Promise.resolve( skinEntry ); + + } + + return this.getDependency( 'accessor', skinDef.inverseBindMatrices ).then( function ( accessor ) { + + skinEntry.inverseBindMatrices = accessor; + + return skinEntry; + + } ); + + } + + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#animations + * @param {number} animationIndex + * @return {Promise} + */ + loadAnimation( animationIndex ) { + + const json = this.json; + + const animationDef = json.animations[ animationIndex ]; + + const pendingNodes = []; + const pendingInputAccessors = []; + const pendingOutputAccessors = []; + const pendingSamplers = []; + const pendingTargets = []; + + for ( let i = 0, il = animationDef.channels.length; i < il; i ++ ) { + + const channel = animationDef.channels[ i ]; + const sampler = animationDef.samplers[ channel.sampler ]; + const target = channel.target; + const name = target.node !== undefined ? target.node : target.id; // NOTE: target.id is deprecated. + const input = animationDef.parameters !== undefined ? animationDef.parameters[ sampler.input ] : sampler.input; + const output = animationDef.parameters !== undefined ? animationDef.parameters[ sampler.output ] : sampler.output; + + pendingNodes.push( this.getDependency( 'node', name ) ); + pendingInputAccessors.push( this.getDependency( 'accessor', input ) ); + pendingOutputAccessors.push( this.getDependency( 'accessor', output ) ); + pendingSamplers.push( sampler ); + pendingTargets.push( target ); + + } + + return Promise.all( [ + + Promise.all( pendingNodes ), + Promise.all( pendingInputAccessors ), + Promise.all( pendingOutputAccessors ), + Promise.all( pendingSamplers ), + Promise.all( pendingTargets ) + + ] ).then( function ( dependencies ) { + + const nodes = dependencies[ 0 ]; + const inputAccessors = dependencies[ 1 ]; + const outputAccessors = dependencies[ 2 ]; + const samplers = dependencies[ 3 ]; + const targets = dependencies[ 4 ]; + + const tracks = []; + + for ( let i = 0, il = nodes.length; i < il; i ++ ) { + + const node = nodes[ i ]; + const inputAccessor = inputAccessors[ i ]; + const outputAccessor = outputAccessors[ i ]; + const sampler = samplers[ i ]; + const target = targets[ i ]; + + if ( node === undefined ) continue; + + node.updateMatrix(); + node.matrixAutoUpdate = true; + + let TypedKeyframeTrack; + + switch ( PATH_PROPERTIES[ target.path ] ) { + + case PATH_PROPERTIES.weights: + + TypedKeyframeTrack = NumberKeyframeTrack; + break; + + case PATH_PROPERTIES.rotation: + + TypedKeyframeTrack = QuaternionKeyframeTrack; + break; + + case PATH_PROPERTIES.position: + case PATH_PROPERTIES.scale: + default: + + TypedKeyframeTrack = VectorKeyframeTrack; + break; + + } + + const targetName = node.name ? node.name : node.uuid; + + const interpolation = sampler.interpolation !== undefined ? INTERPOLATION[ sampler.interpolation ] : InterpolateLinear; + + const targetNames = []; + + if ( PATH_PROPERTIES[ target.path ] === PATH_PROPERTIES.weights ) { + + node.traverse( function ( object ) { + + if ( object.morphTargetInfluences ) { + + targetNames.push( object.name ? object.name : object.uuid ); + + } + + } ); + + } else { + + targetNames.push( targetName ); + + } + + let outputArray = outputAccessor.array; + + if ( outputAccessor.normalized ) { + + const scale = getNormalizedComponentScale( outputArray.constructor ); + const scaled = new Float32Array( outputArray.length ); + + for ( let j = 0, jl = outputArray.length; j < jl; j ++ ) { + + scaled[ j ] = outputArray[ j ] * scale; + + } + + outputArray = scaled; + + } + + for ( let j = 0, jl = targetNames.length; j < jl; j ++ ) { + + const track = new TypedKeyframeTrack( + targetNames[ j ] + '.' + PATH_PROPERTIES[ target.path ], + inputAccessor.array, + outputArray, + interpolation + ); + + // Override interpolation with custom factory method. + if ( sampler.interpolation === 'CUBICSPLINE' ) { + + track.createInterpolant = function InterpolantFactoryMethodGLTFCubicSpline( result ) { + + // A CUBICSPLINE keyframe in glTF has three output values for each input value, + // representing inTangent, splineVertex, and outTangent. As a result, track.getValueSize() + // must be divided by three to get the interpolant's sampleSize argument. + + const interpolantType = ( this instanceof QuaternionKeyframeTrack ) ? GLTFCubicSplineQuaternionInterpolant : GLTFCubicSplineInterpolant; + + return new interpolantType( this.times, this.values, this.getValueSize() / 3, result ); + + }; + + // Mark as CUBICSPLINE. `track.getInterpolation()` doesn't support custom interpolants. + track.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline = true; + + } + + tracks.push( track ); + + } + + } + + const name = animationDef.name ? animationDef.name : 'animation_' + animationIndex; + + return new AnimationClip( name, undefined, tracks ); + + } ); + + } + + createNodeMesh( nodeIndex ) { + + const json = this.json; + const parser = this; + const nodeDef = json.nodes[ nodeIndex ]; + + if ( nodeDef.mesh === undefined ) return null; + + return parser.getDependency( 'mesh', nodeDef.mesh ).then( function ( mesh ) { + + const node = parser._getNodeRef( parser.meshCache, nodeDef.mesh, mesh ); + + // if weights are provided on the node, override weights on the mesh. + if ( nodeDef.weights !== undefined ) { + + node.traverse( function ( o ) { + + if ( ! o.isMesh ) return; + + for ( let i = 0, il = nodeDef.weights.length; i < il; i ++ ) { + + o.morphTargetInfluences[ i ] = nodeDef.weights[ i ]; + + } + + } ); + + } + + return node; + + } ); + + } + + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#nodes-and-hierarchy + * @param {number} nodeIndex + * @return {Promise} + */ + loadNode( nodeIndex ) { + + const json = this.json; + const extensions = this.extensions; + const parser = this; + + const nodeDef = json.nodes[ nodeIndex ]; + + // reserve node's name before its dependencies, so the root has the intended name. + const nodeName = nodeDef.name ? parser.createUniqueName( nodeDef.name ) : ''; + + return ( function () { + + const pending = []; + + const meshPromise = parser._invokeOne( function ( ext ) { + + return ext.createNodeMesh && ext.createNodeMesh( nodeIndex ); + + } ); + + if ( meshPromise ) { + + pending.push( meshPromise ); + + } + + if ( nodeDef.camera !== undefined ) { + + pending.push( parser.getDependency( 'camera', nodeDef.camera ).then( function ( camera ) { + + return parser._getNodeRef( parser.cameraCache, nodeDef.camera, camera ); + + } ) ); + + } + + parser._invokeAll( function ( ext ) { + + return ext.createNodeAttachment && ext.createNodeAttachment( nodeIndex ); + + } ).forEach( function ( promise ) { + + pending.push( promise ); + + } ); + + return Promise.all( pending ); + + }() ).then( function ( objects ) { + + let node; + + // .isBone isn't in glTF spec. See ._markDefs + if ( nodeDef.isBone === true ) { + + node = new Bone(); + + } else if ( objects.length > 1 ) { + + node = new Group(); + + } else if ( objects.length === 1 ) { + + node = objects[ 0 ]; + + } else { + + node = new Object3D(); + + } + + if ( node !== objects[ 0 ] ) { + + for ( let i = 0, il = objects.length; i < il; i ++ ) { + + node.add( objects[ i ] ); + + } + + } + + if ( nodeDef.name ) { + + node.userData.name = nodeDef.name; + node.name = nodeName; + + } + + assignExtrasToUserData( node, nodeDef ); + + if ( nodeDef.extensions ) addUnknownExtensionsToUserData( extensions, node, nodeDef ); + + if ( nodeDef.matrix !== undefined ) { + + const matrix = new Matrix4(); + matrix.fromArray( nodeDef.matrix ); + node.applyMatrix4( matrix ); + + } else { + + if ( nodeDef.translation !== undefined ) { + + node.position.fromArray( nodeDef.translation ); + + } + + if ( nodeDef.rotation !== undefined ) { + + node.quaternion.fromArray( nodeDef.rotation ); + + } + + if ( nodeDef.scale !== undefined ) { + + node.scale.fromArray( nodeDef.scale ); + + } + + } + + if ( ! parser.associations.has( node ) ) { + + parser.associations.set( node, {} ); + + } + + parser.associations.get( node ).nodes = nodeIndex; + + return node; + + } ); + + } + + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#scenes + * @param {number} sceneIndex + * @return {Promise} + */ + loadScene( sceneIndex ) { + + const json = this.json; + const extensions = this.extensions; + const sceneDef = this.json.scenes[ sceneIndex ]; + const parser = this; + + // Loader returns Group, not Scene. + // See: https://github.com/mrdoob/three.js/issues/18342#issuecomment-578981172 + const scene = new Group(); + if ( sceneDef.name ) scene.name = parser.createUniqueName( sceneDef.name ); + + assignExtrasToUserData( scene, sceneDef ); + + if ( sceneDef.extensions ) addUnknownExtensionsToUserData( extensions, scene, sceneDef ); + + const nodeIds = sceneDef.nodes || []; + + const pending = []; + + for ( let i = 0, il = nodeIds.length; i < il; i ++ ) { + + pending.push( buildNodeHierarchy( nodeIds[ i ], scene, json, parser ) ); + + } + + return Promise.all( pending ).then( function () { + + // Removes dangling associations, associations that reference a node that + // didn't make it into the scene. + const reduceAssociations = ( node ) => { + + const reducedAssociations = new Map(); + + for ( const [ key, value ] of parser.associations ) { + + if ( key instanceof Material || key instanceof Texture ) { + + reducedAssociations.set( key, value ); + + } + + } + + node.traverse( ( node ) => { + + const mappings = parser.associations.get( node ); + + if ( mappings != null ) { + + reducedAssociations.set( node, mappings ); + + } + + } ); + + return reducedAssociations; + + }; + + parser.associations = reduceAssociations( scene ); + + return scene; + + } ); + + } + +} + +function buildNodeHierarchy( nodeId, parentObject, json, parser ) { + + const nodeDef = json.nodes[ nodeId ]; + + return parser.getDependency( 'node', nodeId ).then( function ( node ) { + + if ( nodeDef.skin === undefined ) return node; + + // build skeleton here as well + + let skinEntry; + + return parser.getDependency( 'skin', nodeDef.skin ).then( function ( skin ) { + + skinEntry = skin; + + const pendingJoints = []; + + for ( let i = 0, il = skinEntry.joints.length; i < il; i ++ ) { + + pendingJoints.push( parser.getDependency( 'node', skinEntry.joints[ i ] ) ); + + } + + return Promise.all( pendingJoints ); + + } ).then( function ( jointNodes ) { + + node.traverse( function ( mesh ) { + + if ( ! mesh.isMesh ) return; + + const bones = []; + const boneInverses = []; + + for ( let j = 0, jl = jointNodes.length; j < jl; j ++ ) { + + const jointNode = jointNodes[ j ]; + + if ( jointNode ) { + + bones.push( jointNode ); + + const mat = new Matrix4(); + + if ( skinEntry.inverseBindMatrices !== undefined ) { + + mat.fromArray( skinEntry.inverseBindMatrices.array, j * 16 ); + + } + + boneInverses.push( mat ); + + } else { + + console.warn( 'THREE.GLTFLoader: Joint "%s" could not be found.', skinEntry.joints[ j ] ); + + } + + } + + mesh.bind( new Skeleton( bones, boneInverses ), mesh.matrixWorld ); + + } ); + + return node; + + } ); + + } ).then( function ( node ) { + + // build node hierachy + + parentObject.add( node ); + + const pending = []; + + if ( nodeDef.children ) { + + const children = nodeDef.children; + + for ( let i = 0, il = children.length; i < il; i ++ ) { + + const child = children[ i ]; + pending.push( buildNodeHierarchy( child, node, json, parser ) ); + + } + + } + + return Promise.all( pending ); + + } ); + +} + +/** + * @param {BufferGeometry} geometry + * @param {GLTF.Primitive} primitiveDef + * @param {GLTFParser} parser + */ +function computeBounds( geometry, primitiveDef, parser ) { + + const attributes = primitiveDef.attributes; + + const box = new Box3(); + + if ( attributes.POSITION !== undefined ) { + + const accessor = parser.json.accessors[ attributes.POSITION ]; + + const min = accessor.min; + const max = accessor.max; + + // glTF requires 'min' and 'max', but VRM (which extends glTF) currently ignores that requirement. + + if ( min !== undefined && max !== undefined ) { + + box.set( + new Vector3( min[ 0 ], min[ 1 ], min[ 2 ] ), + new Vector3( max[ 0 ], max[ 1 ], max[ 2 ] ) + ); + + if ( accessor.normalized ) { + + const boxScale = getNormalizedComponentScale( WEBGL_COMPONENT_TYPES[ accessor.componentType ] ); + box.min.multiplyScalar( boxScale ); + box.max.multiplyScalar( boxScale ); + + } + + } else { + + console.warn( 'THREE.GLTFLoader: Missing min/max properties for accessor POSITION.' ); + + return; + + } + + } else { + + return; + + } + + const targets = primitiveDef.targets; + + if ( targets !== undefined ) { + + const maxDisplacement = new Vector3(); + const vector = new Vector3(); + + for ( let i = 0, il = targets.length; i < il; i ++ ) { + + const target = targets[ i ]; + + if ( target.POSITION !== undefined ) { + + const accessor = parser.json.accessors[ target.POSITION ]; + const min = accessor.min; + const max = accessor.max; + + // glTF requires 'min' and 'max', but VRM (which extends glTF) currently ignores that requirement. + + if ( min !== undefined && max !== undefined ) { + + // we need to get max of absolute components because target weight is [-1,1] + vector.setX( Math.max( Math.abs( min[ 0 ] ), Math.abs( max[ 0 ] ) ) ); + vector.setY( Math.max( Math.abs( min[ 1 ] ), Math.abs( max[ 1 ] ) ) ); + vector.setZ( Math.max( Math.abs( min[ 2 ] ), Math.abs( max[ 2 ] ) ) ); + + + if ( accessor.normalized ) { + + const boxScale = getNormalizedComponentScale( WEBGL_COMPONENT_TYPES[ accessor.componentType ] ); + vector.multiplyScalar( boxScale ); + + } + + // Note: this assumes that the sum of all weights is at most 1. This isn't quite correct - it's more conservative + // to assume that each target can have a max weight of 1. However, for some use cases - notably, when morph targets + // are used to implement key-frame animations and as such only two are active at a time - this results in very large + // boxes. So for now we make a box that's sometimes a touch too small but is hopefully mostly of reasonable size. + maxDisplacement.max( vector ); + + } else { + + console.warn( 'THREE.GLTFLoader: Missing min/max properties for accessor POSITION.' ); + + } + + } + + } + + // As per comment above this box isn't conservative, but has a reasonable size for a very large number of morph targets. + box.expandByVector( maxDisplacement ); + + } + + geometry.boundingBox = box; + + const sphere = new Sphere(); + + box.getCenter( sphere.center ); + sphere.radius = box.min.distanceTo( box.max ) / 2; + + geometry.boundingSphere = sphere; + +} + +/** + * @param {BufferGeometry} geometry + * @param {GLTF.Primitive} primitiveDef + * @param {GLTFParser} parser + * @return {Promise} + */ +function addPrimitiveAttributes( geometry, primitiveDef, parser ) { + + const attributes = primitiveDef.attributes; + + const pending = []; + + function assignAttributeAccessor( accessorIndex, attributeName ) { + + return parser.getDependency( 'accessor', accessorIndex ) + .then( function ( accessor ) { + + geometry.setAttribute( attributeName, accessor ); + + } ); + + } + + for ( const gltfAttributeName in attributes ) { + + const threeAttributeName = ATTRIBUTES[ gltfAttributeName ] || gltfAttributeName.toLowerCase(); + + // Skip attributes already provided by e.g. Draco extension. + if ( threeAttributeName in geometry.attributes ) continue; + + pending.push( assignAttributeAccessor( attributes[ gltfAttributeName ], threeAttributeName ) ); + + } + + if ( primitiveDef.indices !== undefined && ! geometry.index ) { + + const accessor = parser.getDependency( 'accessor', primitiveDef.indices ).then( function ( accessor ) { + + geometry.setIndex( accessor ); + + } ); + + pending.push( accessor ); + + } + + assignExtrasToUserData( geometry, primitiveDef ); + + computeBounds( geometry, primitiveDef, parser ); + + return Promise.all( pending ).then( function () { + + return primitiveDef.targets !== undefined + ? addMorphTargets( geometry, primitiveDef.targets, parser ) + : geometry; + + } ); + +} + +/** + * @param {BufferGeometry} geometry + * @param {Number} drawMode + * @return {BufferGeometry} + */ +function toTrianglesDrawMode( geometry, drawMode ) { + + let index = geometry.getIndex(); + + // generate index if not present + + if ( index === null ) { + + const indices = []; + + const position = geometry.getAttribute( 'position' ); + + if ( position !== undefined ) { + + for ( let i = 0; i < position.count; i ++ ) { + + indices.push( i ); + + } + + geometry.setIndex( indices ); + index = geometry.getIndex(); + + } else { + + console.error( 'THREE.GLTFLoader.toTrianglesDrawMode(): Undefined position attribute. Processing not possible.' ); + return geometry; + + } + + } + + // + + const numberOfTriangles = index.count - 2; + const newIndices = []; + + if ( drawMode === TriangleFanDrawMode ) { + + // gl.TRIANGLE_FAN + + for ( let i = 1; i <= numberOfTriangles; i ++ ) { + + newIndices.push( index.getX( 0 ) ); + newIndices.push( index.getX( i ) ); + newIndices.push( index.getX( i + 1 ) ); + + } + + } else { + + // gl.TRIANGLE_STRIP + + for ( let i = 0; i < numberOfTriangles; i ++ ) { + + if ( i % 2 === 0 ) { + + newIndices.push( index.getX( i ) ); + newIndices.push( index.getX( i + 1 ) ); + newIndices.push( index.getX( i + 2 ) ); + + + } else { + + newIndices.push( index.getX( i + 2 ) ); + newIndices.push( index.getX( i + 1 ) ); + newIndices.push( index.getX( i ) ); + + } + + } + + } + + if ( ( newIndices.length / 3 ) !== numberOfTriangles ) { + + console.error( 'THREE.GLTFLoader.toTrianglesDrawMode(): Unable to generate correct amount of triangles.' ); + + } + + // build final geometry + + const newGeometry = geometry.clone(); + newGeometry.setIndex( newIndices ); + + return newGeometry; + +} + +export { GLTFLoader }; diff --git a/3d/lib/OrbitControls.js b/3d/lib/OrbitControls.js new file mode 100644 index 00000000..a50aae63 --- /dev/null +++ b/3d/lib/OrbitControls.js @@ -0,0 +1,1252 @@ +import { + EventDispatcher, + MOUSE, + Quaternion, + Spherical, + TOUCH, + Vector2, + Vector3 +} from './three.module.js'; + +// This set of controls performs orbiting, dollying (zooming), and panning. +// Unlike TrackballControls, it maintains the "up" direction object.up (+Y by default). +// +// Orbit - left mouse / touch: one-finger move +// Zoom - middle mouse, or mousewheel / touch: two-finger spread or squish +// Pan - right mouse, or left mouse + ctrl/meta/shiftKey, or arrow keys / touch: two-finger move + +const _changeEvent = { type: 'change' }; +const _startEvent = { type: 'start' }; +const _endEvent = { type: 'end' }; + +class OrbitControls extends EventDispatcher { + + constructor( object, domElement ) { + + super(); + + if ( domElement === undefined ) console.warn( 'THREE.OrbitControls: The second parameter "domElement" is now mandatory.' ); + if ( domElement === document ) console.error( 'THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.' ); + + this.object = object; + this.domElement = domElement; + this.domElement.style.touchAction = 'none'; // disable touch scroll + + // Set to false to disable this control + this.enabled = true; + + // "target" sets the location of focus, where the object orbits around + this.target = new Vector3(); + + // How far you can dolly in and out ( PerspectiveCamera only ) + this.minDistance = 0; + this.maxDistance = Infinity; + + // How far you can zoom in and out ( OrthographicCamera only ) + this.minZoom = 0; + this.maxZoom = Infinity; + + // How far you can orbit vertically, upper and lower limits. + // Range is 0 to Math.PI radians. + this.minPolarAngle = 0; // radians + this.maxPolarAngle = Math.PI; // radians + + // How far you can orbit horizontally, upper and lower limits. + // If set, the interval [ min, max ] must be a sub-interval of [ - 2 PI, 2 PI ], with ( max - min < 2 PI ) + this.minAzimuthAngle = - Infinity; // radians + this.maxAzimuthAngle = Infinity; // radians + + // Set to true to enable damping (inertia) + // If damping is enabled, you must call controls.update() in your animation loop + this.enableDamping = false; + this.dampingFactor = 0.05; + + // This option actually enables dollying in and out; left as "zoom" for backwards compatibility. + // Set to false to disable zooming + this.enableZoom = true; + this.zoomSpeed = 1.0; + + // Set to false to disable rotating + this.enableRotate = true; + this.rotateSpeed = 1.0; + + // Set to false to disable panning + this.enablePan = true; + this.panSpeed = 1.0; + this.screenSpacePanning = true; // if false, pan orthogonal to world-space direction camera.up + this.keyPanSpeed = 7.0; // pixels moved per arrow key push + + // Set to true to automatically rotate around the target + // If auto-rotate is enabled, you must call controls.update() in your animation loop + this.autoRotate = false; + this.autoRotateSpeed = 2.0; // 30 seconds per orbit when fps is 60 + + // The four arrow keys + this.keys = { LEFT: 'ArrowLeft', UP: 'ArrowUp', RIGHT: 'ArrowRight', BOTTOM: 'ArrowDown' }; + + // Mouse buttons + this.mouseButtons = { LEFT: MOUSE.ROTATE, MIDDLE: MOUSE.DOLLY, RIGHT: MOUSE.PAN }; + + // Touch fingers + this.touches = { ONE: TOUCH.ROTATE, TWO: TOUCH.DOLLY_PAN }; + + // for reset + this.target0 = this.target.clone(); + this.position0 = this.object.position.clone(); + this.zoom0 = this.object.zoom; + + // the target DOM element for key events + this._domElementKeyEvents = null; + + // + // public methods + // + + this.getPolarAngle = function () { + + return spherical.phi; + + }; + + this.getAzimuthalAngle = function () { + + return spherical.theta; + + }; + + this.getDistance = function () { + + return this.object.position.distanceTo( this.target ); + + }; + + this.listenToKeyEvents = function ( domElement ) { + + domElement.addEventListener( 'keydown', onKeyDown ); + this._domElementKeyEvents = domElement; + + }; + + this.saveState = function () { + + scope.target0.copy( scope.target ); + scope.position0.copy( scope.object.position ); + scope.zoom0 = scope.object.zoom; + + }; + + this.reset = function () { + + scope.target.copy( scope.target0 ); + scope.object.position.copy( scope.position0 ); + scope.object.zoom = scope.zoom0; + + scope.object.updateProjectionMatrix(); + scope.dispatchEvent( _changeEvent ); + + scope.update(); + + state = STATE.NONE; + + }; + + // this method is exposed, but perhaps it would be better if we can make it private... + this.update = function () { + + const offset = new Vector3(); + + // so camera.up is the orbit axis + const quat = new Quaternion().setFromUnitVectors( object.up, new Vector3( 0, 1, 0 ) ); + const quatInverse = quat.clone().invert(); + + const lastPosition = new Vector3(); + const lastQuaternion = new Quaternion(); + + const twoPI = 2 * Math.PI; + + return function update() { + + const position = scope.object.position; + + offset.copy( position ).sub( scope.target ); + + // rotate offset to "y-axis-is-up" space + offset.applyQuaternion( quat ); + + // angle from z-axis around y-axis + spherical.setFromVector3( offset ); + + if ( scope.autoRotate && state === STATE.NONE ) { + + rotateLeft( getAutoRotationAngle() ); + + } + + if ( scope.enableDamping ) { + + spherical.theta += sphericalDelta.theta * scope.dampingFactor; + spherical.phi += sphericalDelta.phi * scope.dampingFactor; + + } else { + + spherical.theta += sphericalDelta.theta; + spherical.phi += sphericalDelta.phi; + + } + + // restrict theta to be between desired limits + + let min = scope.minAzimuthAngle; + let max = scope.maxAzimuthAngle; + + if ( isFinite( min ) && isFinite( max ) ) { + + if ( min < - Math.PI ) min += twoPI; else if ( min > Math.PI ) min -= twoPI; + + if ( max < - Math.PI ) max += twoPI; else if ( max > Math.PI ) max -= twoPI; + + if ( min <= max ) { + + spherical.theta = Math.max( min, Math.min( max, spherical.theta ) ); + + } else { + + spherical.theta = ( spherical.theta > ( min + max ) / 2 ) ? + Math.max( min, spherical.theta ) : + Math.min( max, spherical.theta ); + + } + + } + + // restrict phi to be between desired limits + spherical.phi = Math.max( scope.minPolarAngle, Math.min( scope.maxPolarAngle, spherical.phi ) ); + + spherical.makeSafe(); + + + spherical.radius *= scale; + + // restrict radius to be between desired limits + spherical.radius = Math.max( scope.minDistance, Math.min( scope.maxDistance, spherical.radius ) ); + + // move target to panned location + + if ( scope.enableDamping === true ) { + + scope.target.addScaledVector( panOffset, scope.dampingFactor ); + + } else { + + scope.target.add( panOffset ); + + } + + offset.setFromSpherical( spherical ); + + // rotate offset back to "camera-up-vector-is-up" space + offset.applyQuaternion( quatInverse ); + + position.copy( scope.target ).add( offset ); + + scope.object.lookAt( scope.target ); + + if ( scope.enableDamping === true ) { + + sphericalDelta.theta *= ( 1 - scope.dampingFactor ); + sphericalDelta.phi *= ( 1 - scope.dampingFactor ); + + panOffset.multiplyScalar( 1 - scope.dampingFactor ); + + } else { + + sphericalDelta.set( 0, 0, 0 ); + + panOffset.set( 0, 0, 0 ); + + } + + scale = 1; + + // update condition is: + // min(camera displacement, camera rotation in radians)^2 > EPS + // using small-angle approximation cos(x/2) = 1 - x^2 / 8 + + if ( zoomChanged || + lastPosition.distanceToSquared( scope.object.position ) > EPS || + 8 * ( 1 - lastQuaternion.dot( scope.object.quaternion ) ) > EPS ) { + + scope.dispatchEvent( _changeEvent ); + + lastPosition.copy( scope.object.position ); + lastQuaternion.copy( scope.object.quaternion ); + zoomChanged = false; + + return true; + + } + + return false; + + }; + + }(); + + this.dispose = function () { + + scope.domElement.removeEventListener( 'contextmenu', onContextMenu ); + + scope.domElement.removeEventListener( 'pointerdown', onPointerDown ); + scope.domElement.removeEventListener( 'pointercancel', onPointerCancel ); + scope.domElement.removeEventListener( 'wheel', onMouseWheel ); + + scope.domElement.removeEventListener( 'pointermove', onPointerMove ); + scope.domElement.removeEventListener( 'pointerup', onPointerUp ); + + + if ( scope._domElementKeyEvents !== null ) { + + scope._domElementKeyEvents.removeEventListener( 'keydown', onKeyDown ); + + } + + //scope.dispatchEvent( { type: 'dispose' } ); // should this be added here? + + }; + + // + // internals + // + + const scope = this; + + const STATE = { + NONE: - 1, + ROTATE: 0, + DOLLY: 1, + PAN: 2, + TOUCH_ROTATE: 3, + TOUCH_PAN: 4, + TOUCH_DOLLY_PAN: 5, + TOUCH_DOLLY_ROTATE: 6 + }; + + let state = STATE.NONE; + + const EPS = 0.000001; + + // current position in spherical coordinates + const spherical = new Spherical(); + const sphericalDelta = new Spherical(); + + let scale = 1; + const panOffset = new Vector3(); + let zoomChanged = false; + + const rotateStart = new Vector2(); + const rotateEnd = new Vector2(); + const rotateDelta = new Vector2(); + + const panStart = new Vector2(); + const panEnd = new Vector2(); + const panDelta = new Vector2(); + + const dollyStart = new Vector2(); + const dollyEnd = new Vector2(); + const dollyDelta = new Vector2(); + + const pointers = []; + const pointerPositions = {}; + + function getAutoRotationAngle() { + + return 2 * Math.PI / 60 / 60 * scope.autoRotateSpeed; + + } + + function getZoomScale() { + + return Math.pow( 0.95, scope.zoomSpeed ); + + } + + function rotateLeft( angle ) { + + sphericalDelta.theta -= angle; + + } + + function rotateUp( angle ) { + + sphericalDelta.phi -= angle; + + } + + const panLeft = function () { + + const v = new Vector3(); + + return function panLeft( distance, objectMatrix ) { + + v.setFromMatrixColumn( objectMatrix, 0 ); // get X column of objectMatrix + v.multiplyScalar( - distance ); + + panOffset.add( v ); + + }; + + }(); + + const panUp = function () { + + const v = new Vector3(); + + return function panUp( distance, objectMatrix ) { + + if ( scope.screenSpacePanning === true ) { + + v.setFromMatrixColumn( objectMatrix, 1 ); + + } else { + + v.setFromMatrixColumn( objectMatrix, 0 ); + v.crossVectors( scope.object.up, v ); + + } + + v.multiplyScalar( distance ); + + panOffset.add( v ); + + }; + + }(); + + // deltaX and deltaY are in pixels; right and down are positive + const pan = function () { + + const offset = new Vector3(); + + return function pan( deltaX, deltaY ) { + + const element = scope.domElement; + + if ( scope.object.isPerspectiveCamera ) { + + // perspective + const position = scope.object.position; + offset.copy( position ).sub( scope.target ); + let targetDistance = offset.length(); + + // half of the fov is center to top of screen + targetDistance *= Math.tan( ( scope.object.fov / 2 ) * Math.PI / 180.0 ); + + // we use only clientHeight here so aspect ratio does not distort speed + panLeft( 2 * deltaX * targetDistance / element.clientHeight, scope.object.matrix ); + panUp( 2 * deltaY * targetDistance / element.clientHeight, scope.object.matrix ); + + } else if ( scope.object.isOrthographicCamera ) { + + // orthographic + panLeft( deltaX * ( scope.object.right - scope.object.left ) / scope.object.zoom / element.clientWidth, scope.object.matrix ); + panUp( deltaY * ( scope.object.top - scope.object.bottom ) / scope.object.zoom / element.clientHeight, scope.object.matrix ); + + } else { + + // camera neither orthographic nor perspective + console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.' ); + scope.enablePan = false; + + } + + }; + + }(); + + function dollyOut( dollyScale ) { + + if ( scope.object.isPerspectiveCamera ) { + + scale /= dollyScale; + + } else if ( scope.object.isOrthographicCamera ) { + + scope.object.zoom = Math.max( scope.minZoom, Math.min( scope.maxZoom, scope.object.zoom * dollyScale ) ); + scope.object.updateProjectionMatrix(); + zoomChanged = true; + + } else { + + console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' ); + scope.enableZoom = false; + + } + + } + + function dollyIn( dollyScale ) { + + if ( scope.object.isPerspectiveCamera ) { + + scale *= dollyScale; + + } else if ( scope.object.isOrthographicCamera ) { + + scope.object.zoom = Math.max( scope.minZoom, Math.min( scope.maxZoom, scope.object.zoom / dollyScale ) ); + scope.object.updateProjectionMatrix(); + zoomChanged = true; + + } else { + + console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' ); + scope.enableZoom = false; + + } + + } + + // + // event callbacks - update the object state + // + + function handleMouseDownRotate( event ) { + + rotateStart.set( event.clientX, event.clientY ); + + } + + function handleMouseDownDolly( event ) { + + dollyStart.set( event.clientX, event.clientY ); + + } + + function handleMouseDownPan( event ) { + + panStart.set( event.clientX, event.clientY ); + + } + + function handleMouseMoveRotate( event ) { + + rotateEnd.set( event.clientX, event.clientY ); + + rotateDelta.subVectors( rotateEnd, rotateStart ).multiplyScalar( scope.rotateSpeed ); + + const element = scope.domElement; + + rotateLeft( 2 * Math.PI * rotateDelta.x / element.clientHeight ); // yes, height + + rotateUp( 2 * Math.PI * rotateDelta.y / element.clientHeight ); + + rotateStart.copy( rotateEnd ); + + scope.update(); + + } + + function handleMouseMoveDolly( event ) { + + dollyEnd.set( event.clientX, event.clientY ); + + dollyDelta.subVectors( dollyEnd, dollyStart ); + + if ( dollyDelta.y > 0 ) { + + dollyOut( getZoomScale() ); + + } else if ( dollyDelta.y < 0 ) { + + dollyIn( getZoomScale() ); + + } + + dollyStart.copy( dollyEnd ); + + scope.update(); + + } + + function handleMouseMovePan( event ) { + + panEnd.set( event.clientX, event.clientY ); + + panDelta.subVectors( panEnd, panStart ).multiplyScalar( scope.panSpeed ); + + pan( panDelta.x, panDelta.y ); + + panStart.copy( panEnd ); + + scope.update(); + + } + + function handleMouseWheel( event ) { + + if ( event.deltaY < 0 ) { + + dollyIn( getZoomScale() ); + + } else if ( event.deltaY > 0 ) { + + dollyOut( getZoomScale() ); + + } + + scope.update(); + + } + + function handleKeyDown( event ) { + + let needsUpdate = false; + + switch ( event.code ) { + + case scope.keys.UP: + pan( 0, scope.keyPanSpeed ); + needsUpdate = true; + break; + + case scope.keys.BOTTOM: + pan( 0, - scope.keyPanSpeed ); + needsUpdate = true; + break; + + case scope.keys.LEFT: + pan( scope.keyPanSpeed, 0 ); + needsUpdate = true; + break; + + case scope.keys.RIGHT: + pan( - scope.keyPanSpeed, 0 ); + needsUpdate = true; + break; + + } + + if ( needsUpdate ) { + + // prevent the browser from scrolling on cursor keys + event.preventDefault(); + + scope.update(); + + } + + + } + + function handleTouchStartRotate() { + + if ( pointers.length === 1 ) { + + rotateStart.set( pointers[ 0 ].pageX, pointers[ 0 ].pageY ); + + } else { + + const x = 0.5 * ( pointers[ 0 ].pageX + pointers[ 1 ].pageX ); + const y = 0.5 * ( pointers[ 0 ].pageY + pointers[ 1 ].pageY ); + + rotateStart.set( x, y ); + + } + + } + + function handleTouchStartPan() { + + if ( pointers.length === 1 ) { + + panStart.set( pointers[ 0 ].pageX, pointers[ 0 ].pageY ); + + } else { + + const x = 0.5 * ( pointers[ 0 ].pageX + pointers[ 1 ].pageX ); + const y = 0.5 * ( pointers[ 0 ].pageY + pointers[ 1 ].pageY ); + + panStart.set( x, y ); + + } + + } + + function handleTouchStartDolly() { + + const dx = pointers[ 0 ].pageX - pointers[ 1 ].pageX; + const dy = pointers[ 0 ].pageY - pointers[ 1 ].pageY; + + const distance = Math.sqrt( dx * dx + dy * dy ); + + dollyStart.set( 0, distance ); + + } + + function handleTouchStartDollyPan() { + + if ( scope.enableZoom ) handleTouchStartDolly(); + + if ( scope.enablePan ) handleTouchStartPan(); + + } + + function handleTouchStartDollyRotate() { + + if ( scope.enableZoom ) handleTouchStartDolly(); + + if ( scope.enableRotate ) handleTouchStartRotate(); + + } + + function handleTouchMoveRotate( event ) { + + if ( pointers.length == 1 ) { + + rotateEnd.set( event.pageX, event.pageY ); + + } else { + + const position = getSecondPointerPosition( event ); + + const x = 0.5 * ( event.pageX + position.x ); + const y = 0.5 * ( event.pageY + position.y ); + + rotateEnd.set( x, y ); + + } + + rotateDelta.subVectors( rotateEnd, rotateStart ).multiplyScalar( scope.rotateSpeed ); + + const element = scope.domElement; + + rotateLeft( 2 * Math.PI * rotateDelta.x / element.clientHeight ); // yes, height + + rotateUp( 2 * Math.PI * rotateDelta.y / element.clientHeight ); + + rotateStart.copy( rotateEnd ); + + } + + function handleTouchMovePan( event ) { + + if ( pointers.length === 1 ) { + + panEnd.set( event.pageX, event.pageY ); + + } else { + + const position = getSecondPointerPosition( event ); + + const x = 0.5 * ( event.pageX + position.x ); + const y = 0.5 * ( event.pageY + position.y ); + + panEnd.set( x, y ); + + } + + panDelta.subVectors( panEnd, panStart ).multiplyScalar( scope.panSpeed ); + + pan( panDelta.x, panDelta.y ); + + panStart.copy( panEnd ); + + } + + function handleTouchMoveDolly( event ) { + + const position = getSecondPointerPosition( event ); + + const dx = event.pageX - position.x; + const dy = event.pageY - position.y; + + const distance = Math.sqrt( dx * dx + dy * dy ); + + dollyEnd.set( 0, distance ); + + dollyDelta.set( 0, Math.pow( dollyEnd.y / dollyStart.y, scope.zoomSpeed ) ); + + dollyOut( dollyDelta.y ); + + dollyStart.copy( dollyEnd ); + + } + + function handleTouchMoveDollyPan( event ) { + + if ( scope.enableZoom ) handleTouchMoveDolly( event ); + + if ( scope.enablePan ) handleTouchMovePan( event ); + + } + + function handleTouchMoveDollyRotate( event ) { + + if ( scope.enableZoom ) handleTouchMoveDolly( event ); + + if ( scope.enableRotate ) handleTouchMoveRotate( event ); + + } + + // + // event handlers - FSM: listen for events and reset state + // + + function onPointerDown( event ) { + + if ( scope.enabled === false ) return; + + if ( pointers.length === 0 ) { + + scope.domElement.setPointerCapture( event.pointerId ); + + scope.domElement.addEventListener( 'pointermove', onPointerMove ); + scope.domElement.addEventListener( 'pointerup', onPointerUp ); + + } + + // + + addPointer( event ); + + if ( event.pointerType === 'touch' ) { + + onTouchStart( event ); + + } else { + + onMouseDown( event ); + + } + + } + + function onPointerMove( event ) { + + if ( scope.enabled === false ) return; + + if ( event.pointerType === 'touch' ) { + + onTouchMove( event ); + + } else { + + onMouseMove( event ); + + } + + } + + function onPointerUp( event ) { + + removePointer( event ); + + if ( pointers.length === 0 ) { + + scope.domElement.releasePointerCapture( event.pointerId ); + + scope.domElement.removeEventListener( 'pointermove', onPointerMove ); + scope.domElement.removeEventListener( 'pointerup', onPointerUp ); + + } + + scope.dispatchEvent( _endEvent ); + + state = STATE.NONE; + + } + + function onPointerCancel( event ) { + + removePointer( event ); + + } + + function onMouseDown( event ) { + + let mouseAction; + + switch ( event.button ) { + + case 0: + + mouseAction = scope.mouseButtons.LEFT; + break; + + case 1: + + mouseAction = scope.mouseButtons.MIDDLE; + break; + + case 2: + + mouseAction = scope.mouseButtons.RIGHT; + break; + + default: + + mouseAction = - 1; + + } + + switch ( mouseAction ) { + + case MOUSE.DOLLY: + + if ( scope.enableZoom === false ) return; + + handleMouseDownDolly( event ); + + state = STATE.DOLLY; + + break; + + case MOUSE.ROTATE: + + if ( event.ctrlKey || event.metaKey || event.shiftKey ) { + + if ( scope.enablePan === false ) return; + + handleMouseDownPan( event ); + + state = STATE.PAN; + + } else { + + if ( scope.enableRotate === false ) return; + + handleMouseDownRotate( event ); + + state = STATE.ROTATE; + + } + + break; + + case MOUSE.PAN: + + if ( event.ctrlKey || event.metaKey || event.shiftKey ) { + + if ( scope.enableRotate === false ) return; + + handleMouseDownRotate( event ); + + state = STATE.ROTATE; + + } else { + + if ( scope.enablePan === false ) return; + + handleMouseDownPan( event ); + + state = STATE.PAN; + + } + + break; + + default: + + state = STATE.NONE; + + } + + if ( state !== STATE.NONE ) { + + scope.dispatchEvent( _startEvent ); + + } + + } + + function onMouseMove( event ) { + + if ( scope.enabled === false ) return; + + switch ( state ) { + + case STATE.ROTATE: + + if ( scope.enableRotate === false ) return; + + handleMouseMoveRotate( event ); + + break; + + case STATE.DOLLY: + + if ( scope.enableZoom === false ) return; + + handleMouseMoveDolly( event ); + + break; + + case STATE.PAN: + + if ( scope.enablePan === false ) return; + + handleMouseMovePan( event ); + + break; + + } + + } + + function onMouseWheel( event ) { + + if ( scope.enabled === false || scope.enableZoom === false || state !== STATE.NONE ) return; + + event.preventDefault(); + + scope.dispatchEvent( _startEvent ); + + handleMouseWheel( event ); + + scope.dispatchEvent( _endEvent ); + + } + + function onKeyDown( event ) { + + if ( scope.enabled === false || scope.enablePan === false ) return; + + handleKeyDown( event ); + + } + + function onTouchStart( event ) { + + trackPointer( event ); + + switch ( pointers.length ) { + + case 1: + + switch ( scope.touches.ONE ) { + + case TOUCH.ROTATE: + + if ( scope.enableRotate === false ) return; + + handleTouchStartRotate(); + + state = STATE.TOUCH_ROTATE; + + break; + + case TOUCH.PAN: + + if ( scope.enablePan === false ) return; + + handleTouchStartPan(); + + state = STATE.TOUCH_PAN; + + break; + + default: + + state = STATE.NONE; + + } + + break; + + case 2: + + switch ( scope.touches.TWO ) { + + case TOUCH.DOLLY_PAN: + + if ( scope.enableZoom === false && scope.enablePan === false ) return; + + handleTouchStartDollyPan(); + + state = STATE.TOUCH_DOLLY_PAN; + + break; + + case TOUCH.DOLLY_ROTATE: + + if ( scope.enableZoom === false && scope.enableRotate === false ) return; + + handleTouchStartDollyRotate(); + + state = STATE.TOUCH_DOLLY_ROTATE; + + break; + + default: + + state = STATE.NONE; + + } + + break; + + default: + + state = STATE.NONE; + + } + + if ( state !== STATE.NONE ) { + + scope.dispatchEvent( _startEvent ); + + } + + } + + function onTouchMove( event ) { + + trackPointer( event ); + + switch ( state ) { + + case STATE.TOUCH_ROTATE: + + if ( scope.enableRotate === false ) return; + + handleTouchMoveRotate( event ); + + scope.update(); + + break; + + case STATE.TOUCH_PAN: + + if ( scope.enablePan === false ) return; + + handleTouchMovePan( event ); + + scope.update(); + + break; + + case STATE.TOUCH_DOLLY_PAN: + + if ( scope.enableZoom === false && scope.enablePan === false ) return; + + handleTouchMoveDollyPan( event ); + + scope.update(); + + break; + + case STATE.TOUCH_DOLLY_ROTATE: + + if ( scope.enableZoom === false && scope.enableRotate === false ) return; + + handleTouchMoveDollyRotate( event ); + + scope.update(); + + break; + + default: + + state = STATE.NONE; + + } + + } + + function onContextMenu( event ) { + + if ( scope.enabled === false ) return; + + event.preventDefault(); + + } + + function addPointer( event ) { + + pointers.push( event ); + + } + + function removePointer( event ) { + + delete pointerPositions[ event.pointerId ]; + + for ( let i = 0; i < pointers.length; i ++ ) { + + if ( pointers[ i ].pointerId == event.pointerId ) { + + pointers.splice( i, 1 ); + return; + + } + + } + + } + + function trackPointer( event ) { + + let position = pointerPositions[ event.pointerId ]; + + if ( position === undefined ) { + + position = new Vector2(); + pointerPositions[ event.pointerId ] = position; + + } + + position.set( event.pageX, event.pageY ); + + } + + function getSecondPointerPosition( event ) { + + const pointer = ( event.pointerId === pointers[ 0 ].pointerId ) ? pointers[ 1 ] : pointers[ 0 ]; + + return pointerPositions[ pointer.pointerId ]; + + } + + // + + scope.domElement.addEventListener( 'contextmenu', onContextMenu ); + + scope.domElement.addEventListener( 'pointerdown', onPointerDown ); + scope.domElement.addEventListener( 'pointercancel', onPointerCancel ); + scope.domElement.addEventListener( 'wheel', onMouseWheel, { passive: false } ); + + // force an update at start + + this.update(); + + } + +} + + +// This set of controls performs orbiting, dollying (zooming), and panning. +// Unlike TrackballControls, it maintains the "up" direction object.up (+Y by default). +// This is very similar to OrbitControls, another set of touch behavior +// +// Orbit - right mouse, or left mouse + ctrl/meta/shiftKey / touch: two-finger rotate +// Zoom - middle mouse, or mousewheel / touch: two-finger spread or squish +// Pan - left mouse, or arrow keys / touch: one-finger move + +class MapControls extends OrbitControls { + + constructor( object, domElement ) { + + super( object, domElement ); + + this.screenSpacePanning = false; // pan orthogonal to world-space direction camera.up + + this.mouseButtons.LEFT = MOUSE.PAN; + this.mouseButtons.RIGHT = MOUSE.ROTATE; + + this.touches.ONE = TOUCH.PAN; + this.touches.TWO = TOUCH.DOLLY_ROTATE; + + } + +} + +export { OrbitControls, MapControls }; diff --git a/3d/lib/RoomEnvironment.js b/3d/lib/RoomEnvironment.js new file mode 100644 index 00000000..cf0159f1 --- /dev/null +++ b/3d/lib/RoomEnvironment.js @@ -0,0 +1,121 @@ +/** + * https://github.com/google/model-viewer/blob/master/packages/model-viewer/src/three-components/EnvironmentScene.ts + */ + +import { + BackSide, + BoxGeometry, + Mesh, + MeshBasicMaterial, + MeshStandardMaterial, + PointLight, + Scene, +} from './three.module.js'; + +class RoomEnvironment extends Scene { + + constructor() { + + super(); + + const geometry = new BoxGeometry(); + geometry.deleteAttribute( 'uv' ); + + const roomMaterial = new MeshStandardMaterial( { side: BackSide } ); + const boxMaterial = new MeshStandardMaterial(); + + const mainLight = new PointLight( 0xffffff, 5.0, 28, 2 ); + mainLight.position.set( 0.418, 16.199, 0.300 ); + this.add( mainLight ); + + const room = new Mesh( geometry, roomMaterial ); + room.position.set( - 0.757, 13.219, 0.717 ); + room.scale.set( 31.713, 28.305, 28.591 ); + this.add( room ); + + const box1 = new Mesh( geometry, boxMaterial ); + box1.position.set( - 10.906, 2.009, 1.846 ); + box1.rotation.set( 0, - 0.195, 0 ); + box1.scale.set( 2.328, 7.905, 4.651 ); + this.add( box1 ); + + const box2 = new Mesh( geometry, boxMaterial ); + box2.position.set( - 5.607, - 0.754, - 0.758 ); + box2.rotation.set( 0, 0.994, 0 ); + box2.scale.set( 1.970, 1.534, 3.955 ); + this.add( box2 ); + + const box3 = new Mesh( geometry, boxMaterial ); + box3.position.set( 6.167, 0.857, 7.803 ); + box3.rotation.set( 0, 0.561, 0 ); + box3.scale.set( 3.927, 6.285, 3.687 ); + this.add( box3 ); + + const box4 = new Mesh( geometry, boxMaterial ); + box4.position.set( - 2.017, 0.018, 6.124 ); + box4.rotation.set( 0, 0.333, 0 ); + box4.scale.set( 2.002, 4.566, 2.064 ); + this.add( box4 ); + + const box5 = new Mesh( geometry, boxMaterial ); + box5.position.set( 2.291, - 0.756, - 2.621 ); + box5.rotation.set( 0, - 0.286, 0 ); + box5.scale.set( 1.546, 1.552, 1.496 ); + this.add( box5 ); + + const box6 = new Mesh( geometry, boxMaterial ); + box6.position.set( - 2.193, - 0.369, - 5.547 ); + box6.rotation.set( 0, 0.516, 0 ); + box6.scale.set( 3.875, 3.487, 2.986 ); + this.add( box6 ); + + + // -x right + const light1 = new Mesh( geometry, createAreaLightMaterial( 50 ) ); + light1.position.set( - 16.116, 14.37, 8.208 ); + light1.scale.set( 0.1, 2.428, 2.739 ); + this.add( light1 ); + + // -x left + const light2 = new Mesh( geometry, createAreaLightMaterial( 50 ) ); + light2.position.set( - 16.109, 18.021, - 8.207 ); + light2.scale.set( 0.1, 2.425, 2.751 ); + this.add( light2 ); + + // +x + const light3 = new Mesh( geometry, createAreaLightMaterial( 17 ) ); + light3.position.set( 14.904, 12.198, - 1.832 ); + light3.scale.set( 0.15, 4.265, 6.331 ); + this.add( light3 ); + + // +z + const light4 = new Mesh( geometry, createAreaLightMaterial( 43 ) ); + light4.position.set( - 0.462, 8.89, 14.520 ); + light4.scale.set( 4.38, 5.441, 0.088 ); + this.add( light4 ); + + // -z + const light5 = new Mesh( geometry, createAreaLightMaterial( 20 ) ); + light5.position.set( 3.235, 11.486, - 12.541 ); + light5.scale.set( 2.5, 2.0, 0.1 ); + this.add( light5 ); + + // +y + const light6 = new Mesh( geometry, createAreaLightMaterial( 100 ) ); + light6.position.set( 0.0, 20.0, 0.0 ); + light6.scale.set( 1.0, 0.1, 1.0 ); + this.add( light6 ); + + } + +} + +function createAreaLightMaterial( intensity ) { + + const material = new MeshBasicMaterial(); + material.color.setScalar( intensity ); + return material; + +} + +export { RoomEnvironment }; diff --git a/3d/lib/ShaderPass.js b/3d/lib/ShaderPass.js new file mode 100644 index 00000000..9c508b36 --- /dev/null +++ b/3d/lib/ShaderPass.js @@ -0,0 +1,63 @@ +( function () { + + class ShaderPass extends THREE.Pass { + + constructor( shader, textureID ) { + + super(); + this.textureID = textureID !== undefined ? textureID : 'tDiffuse'; + + if ( shader instanceof THREE.ShaderMaterial ) { + + this.uniforms = shader.uniforms; + this.material = shader; + + } else if ( shader ) { + + this.uniforms = THREE.UniformsUtils.clone( shader.uniforms ); + this.material = new THREE.ShaderMaterial( { + defines: Object.assign( {}, shader.defines ), + uniforms: this.uniforms, + vertexShader: shader.vertexShader, + fragmentShader: shader.fragmentShader + } ); + + } + + this.fsQuad = new THREE.FullScreenQuad( this.material ); + + } + + render( renderer, writeBuffer, readBuffer + /*, deltaTime, maskActive */ + ) { + + if ( this.uniforms[ this.textureID ] ) { + + this.uniforms[ this.textureID ].value = readBuffer.texture; + + } + + this.fsQuad.material = this.material; + + if ( this.renderToScreen ) { + + renderer.setRenderTarget( null ); + this.fsQuad.render( renderer ); + + } else { + + renderer.setRenderTarget( writeBuffer ); // TODO: Avoid using autoClear properties, see https://github.com/mrdoob/three.js/pull/15571#issuecomment-465669600 + + if ( this.clear ) renderer.clear( renderer.autoClearColor, renderer.autoClearDepth, renderer.autoClearStencil ); + this.fsQuad.render( renderer ); + + } + + } + + } + + THREE.ShaderPass = ShaderPass; + +} )(); diff --git a/3d/lib/dat.gui.min.js b/3d/lib/dat.gui.min.js new file mode 100644 index 00000000..5b69be5a --- /dev/null +++ b/3d/lib/dat.gui.min.js @@ -0,0 +1,14 @@ +/** + * dat-gui JavaScript Controller Library + * https://github.com/dataarts/dat.gui + * + * Copyright 2016 Data Arts Team, Google Creative Lab + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + */ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.dat=t():e.dat=t()}(this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var i=n[o]={exports:{},id:o,loaded:!1};return e[o].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}var i=n(1),r=o(i);e.exports=r["default"]},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}t.__esModule=!0;var i=n(2),r=o(i),a=n(6),l=o(a),s=n(3),u=o(s),d=n(7),c=o(d),f=n(8),_=o(f),p=n(10),h=o(p),m=n(11),b=o(m),g=n(12),v=o(g),y=n(13),w=o(y),x=n(14),E=o(x),C=n(15),A=o(C),S=n(16),k=o(S),O=n(9),T=o(O),R=n(17),L=o(R);t["default"]={color:{Color:r["default"],math:l["default"],interpret:u["default"]},controllers:{Controller:c["default"],BooleanController:_["default"],OptionController:h["default"],StringController:b["default"],NumberController:v["default"],NumberControllerBox:w["default"],NumberControllerSlider:E["default"],FunctionController:A["default"],ColorController:k["default"]},dom:{dom:T["default"]},gui:{GUI:L["default"]},GUI:L["default"]}},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t,n){Object.defineProperty(e,t,{get:function(){return"RGB"===this.__state.space?this.__state[t]:(h.recalculateRGB(this,t,n),this.__state[t])},set:function(e){"RGB"!==this.__state.space&&(h.recalculateRGB(this,t,n),this.__state.space="RGB"),this.__state[t]=e}})}function a(e,t){Object.defineProperty(e,t,{get:function(){return"HSV"===this.__state.space?this.__state[t]:(h.recalculateHSV(this),this.__state[t])},set:function(e){"HSV"!==this.__state.space&&(h.recalculateHSV(this),this.__state.space="HSV"),this.__state[t]=e}})}t.__esModule=!0;var l=n(3),s=o(l),u=n(6),d=o(u),c=n(4),f=o(c),_=n(5),p=o(_),h=function(){function e(){if(i(this,e),this.__state=s["default"].apply(this,arguments),this.__state===!1)throw new Error("Failed to interpret color arguments");this.__state.a=this.__state.a||1}return e.prototype.toString=function(){return(0,f["default"])(this)},e.prototype.toHexString=function(){return(0,f["default"])(this,!0)},e.prototype.toOriginal=function(){return this.__state.conversion.write(this)},e}();h.recalculateRGB=function(e,t,n){if("HEX"===e.__state.space)e.__state[t]=d["default"].component_from_hex(e.__state.hex,n);else{if("HSV"!==e.__state.space)throw new Error("Corrupted color state");p["default"].extend(e.__state,d["default"].hsv_to_rgb(e.__state.h,e.__state.s,e.__state.v))}},h.recalculateHSV=function(e){var t=d["default"].rgb_to_hsv(e.r,e.g,e.b);p["default"].extend(e.__state,{s:t.s,v:t.v}),p["default"].isNaN(t.h)?p["default"].isUndefined(e.__state.h)&&(e.__state.h=0):e.__state.h=t.h},h.COMPONENTS=["r","g","b","h","s","v","hex","a"],r(h.prototype,"r",2),r(h.prototype,"g",1),r(h.prototype,"b",0),a(h.prototype,"h"),a(h.prototype,"s"),a(h.prototype,"v"),Object.defineProperty(h.prototype,"a",{get:function(){return this.__state.a},set:function(e){this.__state.a=e}}),Object.defineProperty(h.prototype,"hex",{get:function(){return"HEX"!==!this.__state.space&&(this.__state.hex=d["default"].rgb_to_hex(this.r,this.g,this.b)),this.__state.hex},set:function(e){this.__state.space="HEX",this.__state.hex=e}}),t["default"]=h},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}t.__esModule=!0;var i=n(4),r=o(i),a=n(5),l=o(a),s=[{litmus:l["default"].isString,conversions:{THREE_CHAR_HEX:{read:function(e){var t=e.match(/^#([A-F0-9])([A-F0-9])([A-F0-9])$/i);return null!==t&&{space:"HEX",hex:parseInt("0x"+t[1].toString()+t[1].toString()+t[2].toString()+t[2].toString()+t[3].toString()+t[3].toString(),0)}},write:r["default"]},SIX_CHAR_HEX:{read:function(e){var t=e.match(/^#([A-F0-9]{6})$/i);return null!==t&&{space:"HEX",hex:parseInt("0x"+t[1].toString(),0)}},write:r["default"]},CSS_RGB:{read:function(e){var t=e.match(/^rgb\(\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*\)/);return null!==t&&{space:"RGB",r:parseFloat(t[1]),g:parseFloat(t[2]),b:parseFloat(t[3])}},write:r["default"]},CSS_RGBA:{read:function(e){var t=e.match(/^rgba\(\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*\)/);return null!==t&&{space:"RGB",r:parseFloat(t[1]),g:parseFloat(t[2]),b:parseFloat(t[3]),a:parseFloat(t[4])}},write:r["default"]}}},{litmus:l["default"].isNumber,conversions:{HEX:{read:function(e){return{space:"HEX",hex:e,conversionName:"HEX"}},write:function(e){return e.hex}}}},{litmus:l["default"].isArray,conversions:{RGB_ARRAY:{read:function(e){return 3===e.length&&{space:"RGB",r:e[0],g:e[1],b:e[2]}},write:function(e){return[e.r,e.g,e.b]}},RGBA_ARRAY:{read:function(e){return 4===e.length&&{space:"RGB",r:e[0],g:e[1],b:e[2],a:e[3]}},write:function(e){return[e.r,e.g,e.b,e.a]}}}},{litmus:l["default"].isObject,conversions:{RGBA_OBJ:{read:function(e){return!!(l["default"].isNumber(e.r)&&l["default"].isNumber(e.g)&&l["default"].isNumber(e.b)&&l["default"].isNumber(e.a))&&{space:"RGB",r:e.r,g:e.g,b:e.b,a:e.a}},write:function(e){return{r:e.r,g:e.g,b:e.b,a:e.a}}},RGB_OBJ:{read:function(e){return!!(l["default"].isNumber(e.r)&&l["default"].isNumber(e.g)&&l["default"].isNumber(e.b))&&{space:"RGB",r:e.r,g:e.g,b:e.b}},write:function(e){return{r:e.r,g:e.g,b:e.b}}},HSVA_OBJ:{read:function(e){return!!(l["default"].isNumber(e.h)&&l["default"].isNumber(e.s)&&l["default"].isNumber(e.v)&&l["default"].isNumber(e.a))&&{space:"HSV",h:e.h,s:e.s,v:e.v,a:e.a}},write:function(e){return{h:e.h,s:e.s,v:e.v,a:e.a}}},HSV_OBJ:{read:function(e){return!!(l["default"].isNumber(e.h)&&l["default"].isNumber(e.s)&&l["default"].isNumber(e.v))&&{space:"HSV",h:e.h,s:e.s,v:e.v}},write:function(e){return{h:e.h,s:e.s,v:e.v}}}}}],u=void 0,d=void 0,c=function(){d=!1;var e=arguments.length>1?l["default"].toArray(arguments):arguments[0];return l["default"].each(s,function(t){if(t.litmus(e))return l["default"].each(t.conversions,function(t,n){if(u=t.read(e),d===!1&&u!==!1)return d=u,u.conversionName=n,u.conversion=t,l["default"].BREAK}),l["default"].BREAK}),d};t["default"]=c},function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e,t){var n=e.__state.conversionName.toString(),o=Math.round(e.r),i=Math.round(e.g),r=Math.round(e.b),a=e.a,l=Math.round(e.h),s=e.s.toFixed(1),u=e.v.toFixed(1);if(t||"THREE_CHAR_HEX"===n||"SIX_CHAR_HEX"===n){for(var d=e.hex.toString(16);d.length<6;)d="0"+d;return"#"+d}return"CSS_RGB"===n?"rgb("+o+","+i+","+r+")":"CSS_RGBA"===n?"rgba("+o+","+i+","+r+","+a+")":"HEX"===n?"0x"+e.hex.toString(16):"RGB_ARRAY"===n?"["+o+","+i+","+r+"]":"RGBA_ARRAY"===n?"["+o+","+i+","+r+","+a+"]":"RGB_OBJ"===n?"{r:"+o+",g:"+i+",b:"+r+"}":"RGBA_OBJ"===n?"{r:"+o+",g:"+i+",b:"+r+",a:"+a+"}":"HSV_OBJ"===n?"{h:"+l+",s:"+s+",v:"+u+"}":"HSVA_OBJ"===n?"{h:"+l+",s:"+s+",v:"+u+",a:"+a+"}":"unknown format"}},function(e,t){"use strict";t.__esModule=!0;var n=Array.prototype.forEach,o=Array.prototype.slice,i={BREAK:{},extend:function(e){return this.each(o.call(arguments,1),function(t){var n=this.isObject(t)?Object.keys(t):[];n.forEach(function(n){this.isUndefined(t[n])||(e[n]=t[n])}.bind(this))},this),e},defaults:function(e){return this.each(o.call(arguments,1),function(t){var n=this.isObject(t)?Object.keys(t):[];n.forEach(function(n){this.isUndefined(e[n])&&(e[n]=t[n])}.bind(this))},this),e},compose:function(){var e=o.call(arguments);return function(){for(var t=o.call(arguments),n=e.length-1;n>=0;n--)t=[e[n].apply(this,t)];return t[0]}},each:function(e,t,o){if(e)if(n&&e.forEach&&e.forEach===n)e.forEach(t,o);else if(e.length===e.length+0){var i=void 0,r=void 0;for(i=0,r=e.length;i>8*t&255},hex_with_component:function(e,t,o){return o<<(n=8*t)|e&~(255<-1?t.length-t.indexOf(".")-1:0}t.__esModule=!0;var s=n(7),u=o(s),d=n(5),c=o(d),f=function(e){function t(n,o,a){i(this,t);var s=r(this,e.call(this,n,o)),u=a||{};return s.__min=u.min,s.__max=u.max,s.__step=u.step,c["default"].isUndefined(s.__step)?0===s.initialValue?s.__impliedStep=1:s.__impliedStep=Math.pow(10,Math.floor(Math.log(Math.abs(s.initialValue))/Math.LN10))/10:s.__impliedStep=s.__step,s.__precision=l(s.__impliedStep),s}return a(t,e),t.prototype.setValue=function(t){var n=t;return void 0!==this.__min&&nthis.__max&&(n=this.__max),void 0!==this.__step&&n%this.__step!==0&&(n=Math.round(n/this.__step)*this.__step),e.prototype.setValue.call(this,n)},t.prototype.min=function(e){return this.__min=e,this},t.prototype.max=function(e){return this.__max=e,this},t.prototype.step=function(e){return this.__step=e,this.__impliedStep=e,this.__precision=l(e),this},t}(u["default"]);t["default"]=f},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e,t){var n=Math.pow(10,t);return Math.round(e*n)/n}t.__esModule=!0;var s=n(12),u=o(s),d=n(9),c=o(d),f=n(5),_=o(f),p=function(e){function t(n,o,a){function l(){var e=parseFloat(m.__input.value);_["default"].isNaN(e)||m.setValue(e)}function s(){m.__onFinishChange&&m.__onFinishChange.call(m,m.getValue())}function u(){s()}function d(e){var t=b-e.clientY;m.setValue(m.getValue()+t*m.__impliedStep),b=e.clientY}function f(){c["default"].unbind(window,"mousemove",d),c["default"].unbind(window,"mouseup",f),s()}function p(e){c["default"].bind(window,"mousemove",d),c["default"].bind(window,"mouseup",f),b=e.clientY}i(this,t);var h=r(this,e.call(this,n,o,a));h.__truncationSuspended=!1;var m=h,b=void 0;return h.__input=document.createElement("input"),h.__input.setAttribute("type","text"),c["default"].bind(h.__input,"change",l),c["default"].bind(h.__input,"blur",u),c["default"].bind(h.__input,"mousedown",p),c["default"].bind(h.__input,"keydown",function(e){13===e.keyCode&&(m.__truncationSuspended=!0,this.blur(),m.__truncationSuspended=!1,s())}),h.updateDisplay(),h.domElement.appendChild(h.__input),h}return a(t,e),t.prototype.updateDisplay=function(){return this.__input.value=this.__truncationSuspended?this.getValue():l(this.getValue(),this.__precision),e.prototype.updateDisplay.call(this)},t}(u["default"]);t["default"]=p},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e,t,n,o,i){return o+(i-o)*((e-t)/(n-t))}t.__esModule=!0;var s=n(12),u=o(s),d=n(9),c=o(d),f=function(e){function t(n,o,a,s,u){function d(e){document.activeElement.blur(),c["default"].bind(window,"mousemove",f),c["default"].bind(window,"mouseup",_),f(e)}function f(e){e.preventDefault();var t=h.__background.getBoundingClientRect();return h.setValue(l(e.clientX,t.left,t.right,h.__min,h.__max)),!1}function _(){c["default"].unbind(window,"mousemove",f),c["default"].unbind(window,"mouseup",_),h.__onFinishChange&&h.__onFinishChange.call(h,h.getValue())}i(this,t);var p=r(this,e.call(this,n,o,{min:a,max:s,step:u})),h=p;return p.__background=document.createElement("div"),p.__foreground=document.createElement("div"),c["default"].bind(p.__background,"mousedown",d),c["default"].addClass(p.__background,"slider"),c["default"].addClass(p.__foreground,"slider-fg"),p.updateDisplay(),p.__background.appendChild(p.__foreground),p.domElement.appendChild(p.__background),p}return a(t,e),t.prototype.updateDisplay=function(){var t=(this.getValue()-this.__min)/(this.__max-this.__min);return this.__foreground.style.width=100*t+"%",e.prototype.updateDisplay.call(this)},t}(u["default"]);t["default"]=f},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var l=n(7),s=o(l),u=n(9),d=o(u),c=function(e){function t(n,o,a){i(this,t);var l=r(this,e.call(this,n,o)),s=l;return l.__button=document.createElement("div"),l.__button.innerHTML=void 0===a?"Fire":a,d["default"].bind(l.__button,"click",function(e){return e.preventDefault(),s.fire(),!1}),d["default"].addClass(l.__button,"button"),l.domElement.appendChild(l.__button),l}return a(t,e),t.prototype.fire=function(){this.__onChange&&this.__onChange.call(this),this.getValue().call(this.object),this.__onFinishChange&&this.__onFinishChange.call(this,this.getValue())},t}(s["default"]);t["default"]=c},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e,t,n,o){e.style.background="",g["default"].each(y,function(i){e.style.cssText+="background: "+i+"linear-gradient("+t+", "+n+" 0%, "+o+" 100%); "})}function s(e){e.style.background="",e.style.cssText+="background: -moz-linear-gradient(top, #ff0000 0%, #ff00ff 17%, #0000ff 34%, #00ffff 50%, #00ff00 67%, #ffff00 84%, #ff0000 100%);",e.style.cssText+="background: -webkit-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",e.style.cssText+="background: -o-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",e.style.cssText+="background: -ms-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",e.style.cssText+="background: linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);"}t.__esModule=!0;var u=n(7),d=o(u),c=n(9),f=o(c),_=n(2),p=o(_),h=n(3),m=o(h),b=n(5),g=o(b),v=function(e){function t(n,o){function a(e){h(e),f["default"].bind(window,"mousemove",h),f["default"].bind(window,"mouseup",u)}function u(){f["default"].unbind(window,"mousemove",h),f["default"].unbind(window,"mouseup",u),_()}function d(){var e=(0,m["default"])(this.value);e!==!1?(y.__color.__state=e,y.setValue(y.__color.toOriginal())):this.value=y.__color.toString()}function c(){f["default"].unbind(window,"mousemove",b),f["default"].unbind(window,"mouseup",c),_()}function _(){y.__onFinishChange&&y.__onFinishChange.call(y,y.__color.toOriginal())}function h(e){e.preventDefault();var t=y.__saturation_field.getBoundingClientRect(),n=(e.clientX-t.left)/(t.right-t.left),o=1-(e.clientY-t.top)/(t.bottom-t.top);return o>1?o=1:o<0&&(o=0),n>1?n=1:n<0&&(n=0),y.__color.v=o,y.__color.s=n,y.setValue(y.__color.toOriginal()),!1}function b(e){e.preventDefault();var t=y.__hue_field.getBoundingClientRect(),n=1-(e.clientY-t.top)/(t.bottom-t.top);return n>1?n=1:n<0&&(n=0),y.__color.h=360*n,y.setValue(y.__color.toOriginal()),!1}i(this,t);var v=r(this,e.call(this,n,o));v.__color=new p["default"](v.getValue()),v.__temp=new p["default"](0);var y=v;v.domElement=document.createElement("div"),f["default"].makeSelectable(v.domElement,!1),v.__selector=document.createElement("div"),v.__selector.className="selector",v.__saturation_field=document.createElement("div"),v.__saturation_field.className="saturation-field",v.__field_knob=document.createElement("div"),v.__field_knob.className="field-knob",v.__field_knob_border="2px solid ",v.__hue_knob=document.createElement("div"),v.__hue_knob.className="hue-knob",v.__hue_field=document.createElement("div"),v.__hue_field.className="hue-field",v.__input=document.createElement("input"),v.__input.type="text",v.__input_textShadow="0 1px 1px ",f["default"].bind(v.__input,"keydown",function(e){13===e.keyCode&&d.call(this)}),f["default"].bind(v.__input,"blur",d),f["default"].bind(v.__selector,"mousedown",function(){f["default"].addClass(this,"drag").bind(window,"mouseup",function(){f["default"].removeClass(y.__selector,"drag")})});var w=document.createElement("div");return g["default"].extend(v.__selector.style,{width:"122px",height:"102px",padding:"3px",backgroundColor:"#222",boxShadow:"0px 1px 3px rgba(0,0,0,0.3)"}),g["default"].extend(v.__field_knob.style,{position:"absolute",width:"12px",height:"12px",border:v.__field_knob_border+(v.__color.v<.5?"#fff":"#000"),boxShadow:"0px 1px 3px rgba(0,0,0,0.5)",borderRadius:"12px",zIndex:1}),g["default"].extend(v.__hue_knob.style,{position:"absolute",width:"15px",height:"2px",borderRight:"4px solid #fff",zIndex:1}),g["default"].extend(v.__saturation_field.style,{width:"100px",height:"100px",border:"1px solid #555",marginRight:"3px",display:"inline-block",cursor:"pointer"}),g["default"].extend(w.style,{width:"100%",height:"100%",background:"none"}),l(w,"top","rgba(0,0,0,0)","#000"),g["default"].extend(v.__hue_field.style,{width:"15px",height:"100px",border:"1px solid #555",cursor:"ns-resize",position:"absolute",top:"3px",right:"3px"}),s(v.__hue_field),g["default"].extend(v.__input.style,{outline:"none",textAlign:"center",color:"#fff",border:0,fontWeight:"bold",textShadow:v.__input_textShadow+"rgba(0,0,0,0.7)"}),f["default"].bind(v.__saturation_field,"mousedown",a),f["default"].bind(v.__field_knob,"mousedown",a),f["default"].bind(v.__hue_field,"mousedown",function(e){b(e),f["default"].bind(window,"mousemove",b),f["default"].bind(window,"mouseup",c)}),v.__saturation_field.appendChild(w),v.__selector.appendChild(v.__field_knob),v.__selector.appendChild(v.__saturation_field),v.__selector.appendChild(v.__hue_field),v.__hue_field.appendChild(v.__hue_knob),v.domElement.appendChild(v.__input),v.domElement.appendChild(v.__selector),v.updateDisplay(),v}return a(t,e),t.prototype.updateDisplay=function(){var e=(0,m["default"])(this.getValue());if(e!==!1){var t=!1;g["default"].each(p["default"].COMPONENTS,function(n){if(!g["default"].isUndefined(e[n])&&!g["default"].isUndefined(this.__color.__state[n])&&e[n]!==this.__color.__state[n])return t=!0,{}},this),t&&g["default"].extend(this.__color.__state,e)}g["default"].extend(this.__temp.__state,this.__color.__state),this.__temp.a=1;var n=this.__color.v<.5||this.__color.s>.5?255:0,o=255-n;g["default"].extend(this.__field_knob.style,{marginLeft:100*this.__color.s-7+"px",marginTop:100*(1-this.__color.v)-7+"px",backgroundColor:this.__temp.toHexString(),border:this.__field_knob_border+"rgb("+n+","+n+","+n+")"}),this.__hue_knob.style.marginTop=100*(1-this.__color.h/360)+"px",this.__temp.s=1,this.__temp.v=1,l(this.__saturation_field,"left","#fff",this.__temp.toHexString()),this.__input.value=this.__color.toString(),g["default"].extend(this.__input.style,{backgroundColor:this.__color.toHexString(),color:"rgb("+n+","+n+","+n+")",textShadow:this.__input_textShadow+"rgba("+o+","+o+","+o+",.7)"})},t}(d["default"]),y=["-moz-","-o-","-webkit-","-ms-",""];t["default"]=v},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function i(e,t,n){var o=document.createElement("li");return t&&o.appendChild(t),n?e.__ul.insertBefore(o,n):e.__ul.appendChild(o),e.onResize(),o}function r(e,t){var n=e.__preset_select[e.__preset_select.selectedIndex];t?n.innerHTML=n.value+"*":n.innerHTML=n.value}function a(e,t,n){if(n.__li=t,n.__gui=e,U["default"].extend(n,{options:function(t){if(arguments.length>1){var o=n.__li.nextElementSibling;return n.remove(),s(e,n.object,n.property,{before:o,factoryArgs:[U["default"].toArray(arguments)]})}if(U["default"].isArray(t)||U["default"].isObject(t)){var i=n.__li.nextElementSibling;return n.remove(),s(e,n.object,n.property,{before:i,factoryArgs:[t]})}},name:function(e){return n.__li.firstElementChild.firstElementChild.innerHTML=e,n},listen:function(){return n.__gui.listen(n),n},remove:function(){ +return n.__gui.remove(n),n}}),n instanceof B["default"])!function(){var e=new N["default"](n.object,n.property,{min:n.__min,max:n.__max,step:n.__step});U["default"].each(["updateDisplay","onChange","onFinishChange","step"],function(t){var o=n[t],i=e[t];n[t]=e[t]=function(){var t=Array.prototype.slice.call(arguments);return i.apply(e,t),o.apply(n,t)}}),z["default"].addClass(t,"has-slider"),n.domElement.insertBefore(e.domElement,n.domElement.firstElementChild)}();else if(n instanceof N["default"]){var o=function(t){if(U["default"].isNumber(n.__min)&&U["default"].isNumber(n.__max)){var o=n.__li.firstElementChild.firstElementChild.innerHTML,i=n.__gui.__listening.indexOf(n)>-1;n.remove();var r=s(e,n.object,n.property,{before:n.__li.nextElementSibling,factoryArgs:[n.__min,n.__max,n.__step]});return r.name(o),i&&r.listen(),r}return t};n.min=U["default"].compose(o,n.min),n.max=U["default"].compose(o,n.max)}else n instanceof O["default"]?(z["default"].bind(t,"click",function(){z["default"].fakeEvent(n.__checkbox,"click")}),z["default"].bind(n.__checkbox,"click",function(e){e.stopPropagation()})):n instanceof R["default"]?(z["default"].bind(t,"click",function(){z["default"].fakeEvent(n.__button,"click")}),z["default"].bind(t,"mouseover",function(){z["default"].addClass(n.__button,"hover")}),z["default"].bind(t,"mouseout",function(){z["default"].removeClass(n.__button,"hover")})):n instanceof j["default"]&&(z["default"].addClass(t,"color"),n.updateDisplay=U["default"].compose(function(e){return t.style.borderLeftColor=n.__color.toString(),e},n.updateDisplay),n.updateDisplay());n.setValue=U["default"].compose(function(t){return e.getRoot().__preset_select&&n.isModified()&&r(e.getRoot(),!0),t},n.setValue)}function l(e,t){var n=e.getRoot(),o=n.__rememberedObjects.indexOf(t.object);if(o!==-1){var i=n.__rememberedObjectIndecesToControllers[o];if(void 0===i&&(i={},n.__rememberedObjectIndecesToControllers[o]=i),i[t.property]=t,n.load&&n.load.remembered){var r=n.load.remembered,a=void 0;if(r[e.preset])a=r[e.preset];else{if(!r[Q])return;a=r[Q]}if(a[o]&&void 0!==a[o][t.property]){var l=a[o][t.property];t.initialValue=l,t.setValue(l)}}}}function s(e,t,n,o){if(void 0===t[n])throw new Error('Object "'+t+'" has no property "'+n+'"');var r=void 0;if(o.color)r=new j["default"](t,n);else{var s=[t,n].concat(o.factoryArgs);r=C["default"].apply(e,s)}o.before instanceof S["default"]&&(o.before=o.before.__li),l(e,r),z["default"].addClass(r.domElement,"c");var u=document.createElement("span");z["default"].addClass(u,"property-name"),u.innerHTML=r.property;var d=document.createElement("div");d.appendChild(u),d.appendChild(r.domElement);var c=i(e,d,o.before);return z["default"].addClass(c,oe.CLASS_CONTROLLER_ROW),r instanceof j["default"]?z["default"].addClass(c,"color"):z["default"].addClass(c,g(r.getValue())),a(e,c,r),e.__controllers.push(r),r}function u(e,t){return document.location.href+"."+t}function d(e,t,n){var o=document.createElement("option");o.innerHTML=t,o.value=t,e.__preset_select.appendChild(o),n&&(e.__preset_select.selectedIndex=e.__preset_select.length-1)}function c(e,t){t.style.display=e.useLocalStorage?"block":"none"}function f(e){var t=e.__save_row=document.createElement("li");z["default"].addClass(e.domElement,"has-save"),e.__ul.insertBefore(t,e.__ul.firstChild),z["default"].addClass(t,"save-row");var n=document.createElement("span");n.innerHTML=" ",z["default"].addClass(n,"button gears");var o=document.createElement("span");o.innerHTML="Save",z["default"].addClass(o,"button"),z["default"].addClass(o,"save");var i=document.createElement("span");i.innerHTML="New",z["default"].addClass(i,"button"),z["default"].addClass(i,"save-as");var r=document.createElement("span");r.innerHTML="Revert",z["default"].addClass(r,"button"),z["default"].addClass(r,"revert");var a=e.__preset_select=document.createElement("select");e.load&&e.load.remembered?U["default"].each(e.load.remembered,function(t,n){d(e,n,n===e.preset)}):d(e,Q,!1),z["default"].bind(a,"change",function(){for(var t=0;t0&&(e.preset=this.preset,e.remembered||(e.remembered={}),e.remembered[this.preset]=h(this)),e.folders={},U["default"].each(this.__folders,function(t,n){e.folders[n]=t.getSaveObject()}),e},save:function(){this.load.remembered||(this.load.remembered={}),this.load.remembered[this.preset]=h(this),r(this,!1),this.saveToLocalStorageIfPossible()},saveAs:function(e){this.load.remembered||(this.load.remembered={},this.load.remembered[Q]=h(this,!0)),this.load.remembered[e]=h(this),this.preset=e,d(this,e,!0),this.saveToLocalStorageIfPossible()},revert:function(e){U["default"].each(this.__controllers,function(t){this.getRoot().load.remembered?l(e||this.getRoot(),t):t.setValue(t.initialValue),t.__onFinishChange&&t.__onFinishChange.call(t,t.getValue())},this),U["default"].each(this.__folders,function(e){e.revert(e)}),e||r(this.getRoot(),!1)},listen:function(e){var t=0===this.__listening.length;this.__listening.push(e),t&&b(this.__listening)},updateDisplay:function(){U["default"].each(this.__controllers,function(e){e.updateDisplay()}),U["default"].each(this.__folders,function(e){e.updateDisplay()})}}),e.exports=oe},function(e,t){"use strict";e.exports={load:function(e,t){var n=t||document,o=n.createElement("link");o.type="text/css",o.rel="stylesheet",o.href=e,n.getElementsByTagName("head")[0].appendChild(o)},inject:function(e,t){var n=t||document,o=document.createElement("style");o.type="text/css",o.innerHTML=e;var i=n.getElementsByTagName("head")[0];try{i.appendChild(o)}catch(r){}}}},function(e,t){e.exports="
Here's the new load parameter for your GUI's constructor:
Automatically save values to localStorage on exit.
The values saved to localStorage will override those passed to dat.GUI's constructor. This makes it easier to work incrementally, but localStorage is fragile, and your friends may not see the same values you do.
"},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}t.__esModule=!0;var i=n(10),r=o(i),a=n(13),l=o(a),s=n(14),u=o(s),d=n(11),c=o(d),f=n(15),_=o(f),p=n(8),h=o(p),m=n(5),b=o(m),g=function(e,t){var n=e[t];return b["default"].isArray(arguments[2])||b["default"].isObject(arguments[2])?new r["default"](e,t,arguments[2]):b["default"].isNumber(n)?b["default"].isNumber(arguments[2])&&b["default"].isNumber(arguments[3])?b["default"].isNumber(arguments[4])?new u["default"](e,t,arguments[2],arguments[3],arguments[4]):new u["default"](e,t,arguments[2],arguments[3]):b["default"].isNumber(arguments[4])?new l["default"](e,t,{min:arguments[2],max:arguments[3],step:arguments[4]}):new l["default"](e,t,{min:arguments[2],max:arguments[3]}):b["default"].isString(n)?new c["default"](e,t):b["default"].isFunction(n)?new _["default"](e,t,""):b["default"].isBoolean(n)?new h["default"](e,t):null};t["default"]=g},function(e,t){"use strict";function n(e){setTimeout(e,1e3/60)}t.__esModule=!0,t["default"]=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||n},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}t.__esModule=!0;var r=n(9),a=o(r),l=n(5),s=o(l),u=function(){function e(){i(this,e),this.backgroundElement=document.createElement("div"),s["default"].extend(this.backgroundElement.style,{backgroundColor:"rgba(0,0,0,0.8)",top:0,left:0,display:"none",zIndex:"1000",opacity:0,WebkitTransition:"opacity 0.2s linear",transition:"opacity 0.2s linear"}),a["default"].makeFullscreen(this.backgroundElement),this.backgroundElement.style.position="fixed",this.domElement=document.createElement("div"),s["default"].extend(this.domElement.style,{position:"fixed",display:"none",zIndex:"1001",opacity:0,WebkitTransition:"-webkit-transform 0.2s ease-out, opacity 0.2s linear",transition:"transform 0.2s ease-out, opacity 0.2s linear"}),document.body.appendChild(this.backgroundElement),document.body.appendChild(this.domElement);var t=this;a["default"].bind(this.backgroundElement,"click",function(){t.hide()})}return e.prototype.show=function(){var e=this;this.backgroundElement.style.display="block",this.domElement.style.display="block",this.domElement.style.opacity=0,this.domElement.style.webkitTransform="scale(1.1)",this.layout(),s["default"].defer(function(){e.backgroundElement.style.opacity=1,e.domElement.style.opacity=1,e.domElement.style.webkitTransform="scale(1)"})},e.prototype.hide=function t(){var e=this,t=function n(){e.domElement.style.display="none",e.backgroundElement.style.display="none",a["default"].unbind(e.domElement,"webkitTransitionEnd",n),a["default"].unbind(e.domElement,"transitionend",n),a["default"].unbind(e.domElement,"oTransitionEnd",n)};a["default"].bind(this.domElement,"webkitTransitionEnd",t),a["default"].bind(this.domElement,"transitionend",t),a["default"].bind(this.domElement,"oTransitionEnd",t),this.backgroundElement.style.opacity=0,this.domElement.style.opacity=0,this.domElement.style.webkitTransform="scale(1.1)"},e.prototype.layout=function(){this.domElement.style.left=window.innerWidth/2-a["default"].getWidth(this.domElement)/2+"px",this.domElement.style.top=window.innerHeight/2-a["default"].getHeight(this.domElement)/2+"px"},e}();t["default"]=u},function(e,t,n){t=e.exports=n(24)(),t.push([e.id,".dg ul{list-style:none;margin:0;padding:0;width:100%;clear:both}.dg.ac{position:fixed;top:0;left:0;right:0;height:0;z-index:0}.dg:not(.ac) .main{overflow:hidden}.dg.main{-webkit-transition:opacity .1s linear;transition:opacity .1s linear}.dg.main.taller-than-window{overflow-y:auto}.dg.main.taller-than-window .close-button{opacity:1;margin-top:-1px;border-top:1px solid #2c2c2c}.dg.main ul.closed .close-button{opacity:1!important}.dg.main .close-button.drag,.dg.main:hover .close-button{opacity:1}.dg.main .close-button{-webkit-transition:opacity .1s linear;transition:opacity .1s linear;border:0;position:absolute;line-height:19px;height:20px;cursor:pointer;text-align:center;background-color:#000}.dg.main .close-button:hover{background-color:#111}.dg.a{float:right;margin-right:15px;overflow-x:hidden}.dg.a.has-save>ul{margin-top:27px}.dg.a.has-save>ul.closed{margin-top:0}.dg.a .save-row{position:fixed;top:0;z-index:1002}.dg li{-webkit-transition:height .1s ease-out;transition:height .1s ease-out}.dg li:not(.folder){cursor:auto;height:27px;line-height:27px;overflow:hidden;padding:0 4px 0 5px}.dg li.folder{padding:0;border-left:4px solid transparent}.dg li.title{cursor:pointer;margin-left:-4px}.dg .closed li:not(.title),.dg .closed ul li,.dg .closed ul li>*{height:0;overflow:hidden;border:0}.dg .cr{clear:both;padding-left:3px;height:27px}.dg .property-name{cursor:default;float:left;clear:left;width:40%;overflow:hidden;text-overflow:ellipsis}.dg .c{float:left;width:60%}.dg .c input[type=text]{border:0;margin-top:4px;padding:3px;width:100%;float:right}.dg .has-slider input[type=text]{width:30%;margin-left:0}.dg .slider{float:left;width:66%;margin-left:-5px;margin-right:0;height:19px;margin-top:4px}.dg .slider-fg{height:100%}.dg .c input[type=checkbox]{margin-top:9px}.dg .c select{margin-top:5px}.dg .cr.boolean,.dg .cr.boolean *,.dg .cr.function,.dg .cr.function *,.dg .cr.function .property-name{cursor:pointer}.dg .selector{display:none;position:absolute;margin-left:-9px;margin-top:23px;z-index:10}.dg .c:hover .selector,.dg .selector.drag{display:block}.dg li.save-row{padding:0}.dg li.save-row .button{display:inline-block;padding:0 6px}.dg.dialogue{background-color:#222;width:460px;padding:15px;font-size:13px;line-height:15px}#dg-new-constructor{padding:10px;color:#222;font-family:Monaco,monospace;font-size:10px;border:0;resize:none;box-shadow:inset 1px 1px 1px #888;word-wrap:break-word;margin:12px 0;display:block;width:440px;overflow-y:scroll;height:100px;position:relative}#dg-local-explain{display:none;font-size:11px;line-height:17px;border-radius:3px;background-color:#333;padding:8px;margin-top:10px}#dg-local-explain code{font-size:10px}#dat-gui-save-locally{display:none}.dg{color:#eee;font:11px Lucida Grande,sans-serif;text-shadow:0 -1px 0 #111}.dg.main::-webkit-scrollbar{width:5px;background:#1a1a1a}.dg.main::-webkit-scrollbar-corner{height:0;display:none}.dg.main::-webkit-scrollbar-thumb{border-radius:5px;background:#676767}.dg li:not(.folder){background:#1a1a1a;border-bottom:1px solid #2c2c2c}.dg li.save-row{line-height:25px;background:#dad5cb;border:0}.dg li.save-row select{margin-left:5px;width:108px}.dg li.save-row .button{margin-left:5px;margin-top:1px;border-radius:2px;font-size:9px;line-height:7px;padding:4px 4px 5px;background:#c5bdad;color:#fff;text-shadow:0 1px 0 #b0a58f;box-shadow:0 -1px 0 #b0a58f;cursor:pointer}.dg li.save-row .button.gears{background:#c5bdad url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAANCAYAAAB/9ZQ7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQJJREFUeNpiYKAU/P//PwGIC/ApCABiBSAW+I8AClAcgKxQ4T9hoMAEUrxx2QSGN6+egDX+/vWT4e7N82AMYoPAx/evwWoYoSYbACX2s7KxCxzcsezDh3evFoDEBYTEEqycggWAzA9AuUSQQgeYPa9fPv6/YWm/Acx5IPb7ty/fw+QZblw67vDs8R0YHyQhgObx+yAJkBqmG5dPPDh1aPOGR/eugW0G4vlIoTIfyFcA+QekhhHJhPdQxbiAIguMBTQZrPD7108M6roWYDFQiIAAv6Aow/1bFwXgis+f2LUAynwoIaNcz8XNx3Dl7MEJUDGQpx9gtQ8YCueB+D26OECAAQDadt7e46D42QAAAABJRU5ErkJggg==) 2px 1px no-repeat;height:7px;width:8px}.dg li.save-row .button:hover{background-color:#bab19e;box-shadow:0 -1px 0 #b0a58f}.dg li.folder{border-bottom:0}.dg li.title{padding-left:16px;background:#000 url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlI+hKgFxoCgAOw==) 6px 10px no-repeat;cursor:pointer;border-bottom:1px solid hsla(0,0%,100%,.2)}.dg .closed li.title{background-image:url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlGIWqMCbWAEAOw==)}.dg .cr.boolean{border-left:3px solid #806787}.dg .cr.color{border-left:3px solid}.dg .cr.function{border-left:3px solid #e61d5f}.dg .cr.number{border-left:3px solid #2fa1d6}.dg .cr.number input[type=text]{color:#2fa1d6}.dg .cr.string{border-left:3px solid #1ed36f}.dg .cr.string input[type=text]{color:#1ed36f}.dg .cr.boolean:hover,.dg .cr.function:hover{background:#111}.dg .c input[type=text]{background:#303030;outline:none}.dg .c input[type=text]:hover{background:#3c3c3c}.dg .c input[type=text]:focus{background:#494949;color:#fff}.dg .c .slider{background:#303030;cursor:ew-resize}.dg .c .slider-fg{background:#2fa1d6;max-width:100%}.dg .c .slider:hover{background:#3c3c3c}.dg .c .slider:hover .slider-fg{background:#44abda}",""])},function(e,t){e.exports=function(){var e=[];return e.toString=function(){for(var e=[],t=0;t3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";read_=function shell_read(filename,binary){var ret=tryParseAsDataURI(filename);if(ret){return binary?ret:ret.toString()}if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}function convertJsFunctionToWasm(func,sig){return func}function addFunctionWasm(func,sig){var table=wasmTable;var ret=table.length;try{table.grow(1)}catch(err){if(!err instanceof RangeError){throw err}throw"Unable to grow wasm table. Use a higher value for RESERVED_FUNCTION_POINTERS or set ALLOW_TABLE_GROWTH."}try{table.set(ret,func)}catch(err){if(!err instanceof TypeError){throw err}assert(typeof sig!=="undefined","Missing signature argument to addFunction");var wrapped=convertJsFunctionToWasm(func,sig);table.set(ret,wrapped)}return ret}function removeFunctionWasm(index){}var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];var WebAssembly={Memory:function(opts){return{buffer:new ArrayBuffer(opts["initial"]*65536),grow:function(amount){var ret=__growWasmMemory(amount);return ret}}},Table:function(opts){var ret=new Array(opts["initial"]);ret.grow=function(by){if(ret.length>=293+0){abort("Unable to grow wasm table. Use a higher value for RESERVED_FUNCTION_POINTERS or set ALLOW_TABLE_GROWTH.")}ret.push(null)};ret.set=function(i,func){ret[i]=func};ret.get=function(i){return ret[i]};return ret},Module:function(binary){return{}},Instance:function(module,info){var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i>2]=0;o[c>>2]=0;o[c+4>>2]=0;d=_j(b);if(d>>>0<4294967280){a:{b:{if(d>>>0>=11){f=d+16&-16;e=Hk(f);o[c+8>>2]=f|-2147483648;o[c>>2]=e;o[c+4>>2]=d;break b}m[c+11|0]=d;e=c;if(!d){break a}}wl(e,b,d)}m[d+e|0]=0;a=ea(a,c);if(m[c+11|0]<=-1){ul(o[c>>2])}R=c+16|0;return(a|0)!=0}Kk();D()}function ea(a,b){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=o[a+4>>2];if(a){h=p[b+11|0];i=h<<24>>24<0;h=i?o[b+4>>2]:h;l=i?o[b>>2]:b;while(1){b=a+16|0;g=p[a+27|0];i=g<<24>>24<0;j=i?o[a+20>>2]:g;m=j>>>0>>0;a:{b:{c:{d:{e:{f:{g=m?j:h;if(g){k=i?o[b>>2]:b;n=Zj(l,k,g);if(n){break f}}if(h>>>0>>0){break a}if(!g){break d}k=i?o[b>>2]:b;break e}if((n|0)<=-1){break a}}b=Zj(k,l,g);if(b){break c}}if(m){break b}return 1}if((b|0)<=-1){break b}return 1}a=a+4|0}a=o[a>>2];if(a){continue}break}}return 0}function fa(a,b){var p=0,q=0,r=0,s=0;p=R-16|0;R=p;o[p+12>>2]=0;o[p+8>>2]=0;o[p>>2]=0;o[p+4>>2]=0;q=_j(b);if(q>>>0<4294967280){a:{b:{if(q>>>0>=11){s=q+16&-16;r=Hk(s);o[p+8>>2]=s|-2147483648;o[p>>2]=r;o[p+4>>2]=q;break b}m[p+11|0]=q;r=p;if(!q){break a}}wl(r,b,q)}m[q+r|0]=0;jj(a,p,p+12|0);a=o[p+12>>2];if(m[p+11|0]<=-1){ul(o[p>>2])}R=p+16|0;return a}Kk();D()}function ga(a,b,t){var u=0,v=0,w=0,x=0;u=R-32|0;R=u;o[u+24>>2]=0;o[u+16>>2]=0;o[u+20>>2]=0;v=_j(b);if(v>>>0<4294967280){a:{b:{if(v>>>0>=11){x=v+16&-16;w=Hk(x);o[u+24>>2]=x|-2147483648;o[u+16>>2]=w;o[u+20>>2]=v;break b}m[u+27|0]=v;w=u+16|0;if(!v){break a}}wl(w,b,v)}m[v+w|0]=0;o[u+8>>2]=0;o[u>>2]=0;o[u+4>>2]=0;kj(a,u+16|0,u);a=o[t>>2];if(a){o[t+4>>2]=a;ul(a);o[t+8>>2]=0;o[t>>2]=0;o[t+4>>2]=0}o[t>>2]=o[u>>2];o[t+4>>2]=o[u+4>>2];o[t+8>>2]=o[u+8>>2];if(m[u+27|0]<=-1){ul(o[u+16>>2])}R=u+32|0;return}Kk();D()}function ha(a,b){var y=0,z=0,A=0,B=0,C=0;y=R-32|0;R=y;o[y+24>>2]=0;o[y+28>>2]=0;o[y+16>>2]=0;o[y+8>>2]=0;o[y+12>>2]=0;z=_j(b);if(z>>>0<4294967280){a:{b:{if(z>>>0>=11){B=z+16&-16;A=Hk(B);o[y+16>>2]=B|-2147483648;o[y+8>>2]=A;o[y+12>>2]=z;break b}m[y+19|0]=z;A=y+8|0;if(!z){break a}}wl(A,b,z)}m[z+A|0]=0;lj(a,y+8|0,y+24|0);C=t[y+24>>3];if(m[y+19|0]<=-1){ul(o[y+8>>2])}R=y+32|0;return C}Kk();D()}function ia(a,b,t){var E=0,F=0,G=0,H=0;E=R-16|0;R=E;o[E+8>>2]=0;o[E>>2]=0;o[E+4>>2]=0;F=_j(t);if(F>>>0<4294967280){a:{b:{if(F>>>0>=11){H=F+16&-16;G=Hk(H);o[E+8>>2]=H|-2147483648;o[E>>2]=G;o[E+4>>2]=F;break b}m[E+11|0]=F;G=E;if(!F){break a}}wl(G,t,F)}m[F+G|0]=0;a=a+16|0;t=0;c:{if(!mj(b,E,a)){break c}t=o[a>>2];if(m[a+11|0]<=-1){break c}t=a}if(m[E+11|0]<=-1){ul(o[E>>2])}R=E+16|0;return t}Kk();D()}function ja(a,b,t){var D=0,I=0,J=0,K=0;a:{if(o[a+12>>2]==(b|0)){break a}D=o[a>>2];J=a+4|0;I=o[J>>2];if((D|0)!=(I|0)){while(1){K=I+ -12|0;if(m[I+ -1|0]<=-1){ul(o[K>>2])}I=K;if((I|0)!=(D|0)){continue}break}}o[a+12>>2]=b;o[J>>2]=D;I=o[b>>2];J=b+4|0;if((I|0)==(J|0)){break a}K=a+8|0;while(1){b=I+16|0;b:{if(o[K>>2]!=(D|0)){Mk(D,b);b=a+4|0;o[b>>2]=o[b>>2]+12;break b}ka(a,b)}D=o[I+4>>2];c:{if(!D){b=o[I+8>>2];if(o[b>>2]==(I|0)){break c}I=I+8|0;while(1){D=o[I>>2];I=D+8|0;b=o[D+8>>2];if((D|0)!=o[b>>2]){continue}break}break c}while(1){b=D;D=o[D>>2];if(D){continue}break}}if((b|0)==(J|0)){break a}D=o[a+4>>2];I=b;continue}}D=0;d:{if((t|0)<0){break d}b=o[a+4>>2];a=o[a>>2];if((b-a|0)/12>>>0<=t>>>0){break d}D=a+u(t,12)|0;if(m[D+11|0]>-1){break d}D=o[D>>2]}return D}function ka(a,b){var t=0,L=0,M=0,N=0,O=0;a:{b:{c:{M=o[a>>2];O=(o[a+4>>2]-M|0)/12|0;t=O+1|0;if(t>>>0<357913942){M=(o[a+8>>2]-M|0)/12|0;N=M<<1;t=M>>>0<178956970?N>>>0>>0?t:N:357913941;L=0;d:{if(!t){break d}if(t>>>0>=357913942){break c}L=Hk(u(t,12))}M=L+u(t,12)|0;b=Mk(L+u(O,12)|0,b);O=b+12|0;t=o[a+4>>2];L=o[a>>2];if((t|0)==(L|0)){break b}while(1){t=t+ -12|0;N=o[t+4>>2];b=b+ -12|0;o[b>>2]=o[t>>2];o[b+4>>2]=N;N=t+8|0;o[b+8>>2]=o[N>>2];o[t>>2]=0;o[t+4>>2]=0;o[N>>2]=0;if((t|0)!=(L|0)){continue}break}L=o[a+4>>2];t=o[a>>2];break a}Yk();D()}_a(1040);D()}t=L}o[a>>2]=b;o[a+8>>2]=M;o[a+4>>2]=O;if((t|0)!=(L|0)){while(1){a=L+ -12|0;if(m[L+ -1|0]<=-1){ul(o[a>>2])}L=a;if((a|0)!=(t|0)){continue}break}}if(t){ul(t)}}function la(a){var b=0;ui(a);b=a+16|0;o[b>>2]=0;o[b+4>>2]=0;o[a+24>>2]=0;o[a+28>>2]=0;o[a+12>>2]=b;o[a+32>>2]=0;o[a+36>>2]=0;return a}function ma(a){var P=0;P=R-32|0;R=P;Rf(P+8|0,a);a=o[P+24>>2];if(m[P+23|0]<=-1){ul(o[P+12>>2])}R=P+32|0;return a}function na(a){var Q=0;Q=R-16|0;R=Q;Tf(Q);o[a+24>>2]=o[Q>>2];Ok(a+28|0,Q|4);a=a+24|0;if(m[Q+15|0]<=-1){ul(o[Q+4>>2])}R=Q+16|0;return a}function oa(a,S,T){var U=0;U=R-16|0;R=U;Sf(U,a,S,T);o[a+24>>2]=o[U>>2];Ok(a+28|0,U|4);a=a+24|0;if(m[U+15|0]<=-1){ul(o[U+4>>2])}R=U+16|0;return a}function pa(a,S){var T=0,V=0,W=0,X=0;T=R-32|0;R=T;o[T+24>>2]=0;o[T+16>>2]=0;o[T+20>>2]=0;V=_j(S);if(V>>>0<4294967280){a:{b:{if(V>>>0>=11){X=V+16&-16;W=Hk(X);o[T+24>>2]=X|-2147483648;o[T+16>>2]=W;o[T+20>>2]=V;break b}m[T+27|0]=V;W=T+16|0;if(!V){break a}}wl(W,S,V)}m[V+W|0]=0;o[T+8>>2]=67108864;o[T>>2]=0;o[T+4>>2]=0;m[T+4|0]=0;o[T>>2]=1701667182;V=o[a+4>>2];S=-1;c:{if(!V){break c}V=dj(V,T,T+16|0);S=-1;if(!V){break c}S=uj(a,o[V+24>>2])}if(m[T+11|0]<=-1){ul(o[T>>2])}if(m[T+27|0]<=-1){ul(o[T+16>>2])}R=T+32|0;return S}Kk();D()}function qa(a,S,Y){var Z=0,_=0,$=0,aa=0;Z=R-32|0;R=Z;o[Z+24>>2]=0;o[Z+16>>2]=0;o[Z+20>>2]=0;a:{aa=_j(S);if(aa>>>0<4294967280){b:{c:{if(aa>>>0>=11){_=aa+16&-16;$=Hk(_);o[Z+24>>2]=_|-2147483648;o[Z+16>>2]=$;o[Z+20>>2]=aa;break c}m[Z+27|0]=aa;$=Z+16|0;if(!aa){break b}}wl($,S,aa)}m[$+aa|0]=0;o[Z+8>>2]=0;o[Z>>2]=0;o[Z+4>>2]=0;_=_j(Y);if(_>>>0>=4294967280){break a}d:{e:{if(_>>>0>=11){S=_+16&-16;$=Hk(S);o[Z+8>>2]=S|-2147483648;o[Z>>2]=$;o[Z+4>>2]=_;break e}m[Z+11|0]=_;$=Z;if(!_){break d}}wl($,Y,_)}m[_+$|0]=0;Y=o[a+4>>2];S=-1;f:{if(!Y){break f}Y=dj(Y,Z+16|0,Z);S=-1;if(!Y){break f}S=uj(a,o[Y+24>>2])}a=S;if(m[Z+11|0]<=-1){ul(o[Z>>2])}if(m[Z+27|0]<=-1){ul(o[Z+16>>2])}R=Z+32|0;return a}Kk();D()}Kk();D()}function ra(a,S,Y){var ba=0,ca=0,da=0;ba=R-16|0;R=ba;ca=o[a+96>>2];o[ba+8>>2]=0;o[ba>>2]=0;o[ba+4>>2]=0;a=Hk(12);o[ba>>2]=a;o[ba+4>>2]=a;da=a+12|0;o[ba+8>>2]=da;ca=wl(a,ca+u(S,12)|0,12)+12|0;o[ba+4>>2]=ca;S=o[Y>>2];if(S){o[Y+4>>2]=S;ul(S);o[Y+8>>2]=0;o[Y>>2]=0;o[Y+4>>2]=0}o[Y>>2]=a;o[Y+8>>2]=da;o[Y+4>>2]=ca;R=ba+16|0;return 1}function sa(a,S){var Y=0,ea=0;Y=R-96|0;R=Y;xl(Y+16|0,0,76);o[Y+92>>2]=-1;o[Y+8>>2]=0;o[Y>>2]=0;o[Y+4>>2]=0;a:{if(ta(Y+16|0,a,Y)){a=o[S>>2];if(a){o[S+4>>2]=a;ul(a);o[S+8>>2]=0;o[S>>2]=0;o[S+4>>2]=0}o[S>>2]=o[Y>>2];o[S+4>>2]=o[Y+4>>2];o[S+8>>2]=o[Y+8>>2];o[Y+8>>2]=0;o[Y>>2]=0;o[Y+4>>2]=0;ea=o[Y+84>>2];break a}a=o[Y>>2];if(!a){break a}o[Y+4>>2]=a;ul(a)}a=o[Y+72>>2];if(a){ul(a)}a=o[Y+48>>2];if(a){o[Y+52>>2]=a;ul(a)}a=o[Y+36>>2];if(a){o[Y+40>>2]=a;ul(a)}a=o[Y+24>>2];if(a){o[Y+28>>2]=a;ul(a)}a=o[Y+20>>2];o[Y+20>>2]=0;if(a){ua(Y+16|4,a)}R=Y+96|0;return ea}function ta(a,S,fa){var ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;ja=R-16|0;R=ja;a:{if(!va(a,S)){break a}ia=1;ha=o[S+96>>2];oa=S+100|0;ga=o[oa>>2];if((ha|0)==(ga|0)){break a}pa=a+12|0;qa=a+24|0;ra=a+36|0;na=fa+8|0;la=fa+4|0;while(1){if(!(o[o[a+56>>2]+(ma>>>3&536870908)>>2]>>>(ma&31)&1)){ia=u(ma,3);Zi(a,0,ia);sa=o[pa>>2];ka=o[a+8>>2];Zi(a,1,ia+1|0);ha=o[qa>>2];ga=o[a+20>>2];Zi(a,2,ia+2|0);ia=ha-ga>>2;ha=sa-ka|0;ga=ha>>2;ka=ia>>>0>ga>>>0;ka=o[ra>>2]-o[a+32>>2]>>2>>>0>(ka?ia:ga)>>>0?2:ka?1:ha?0:-1;b:{if(o[a+68>>2]<1){break b}ga=o[a+76>>2];o[ja+12>>2]=ga;ha=o[la>>2];c:{if(ha>>>0>2]){o[ha>>2]=ga;o[la>>2]=ha+4;break c}wa(fa,ja+12|0)}ga=ja;ia=o[((ka<<2)+a|0)+44>>2];ha=-1;d:{if((ia|0)<0){break d}ha=(ia>>>0)/3|0;ha=o[(o[o[a>>2]+96>>2]+u(ha,12)|0)+(ia-u(ha,3)<<2)>>2]}o[ga+8>>2]=ha;ga=o[la>>2];e:{if(ga>>>0>2]){o[ga>>2]=ha;o[la>>2]=ga+4;break e}wa(fa,ja+8|0)}ga=o[a+72>>2]+2|0;o[a+72>>2]=ga;if(!(ga&1)){break b}o[ja+4>>2]=ha;ga=o[la>>2];f:{if(ga>>>0>2]){o[ga>>2]=ha;o[la>>2]=ga+4;break f}wa(fa,ja+4|0)}o[a+72>>2]=o[a+72>>2]+1}xa(a,ka,fa);ha=o[S+96>>2];ga=o[oa>>2]}ia=1;ma=ma+1|0;if(ma>>>0<(ga-ha|0)/12>>>0){continue}break}}R=ja+16|0;return ia}function ua(a,R){if(R){a=o[R+76>>2];if(a){o[R+80>>2]=a;ul(a)}a=o[R- -64>>2];if(a){o[R+68>>2]=a;ul(a)}a=o[R+48>>2];if(a){o[R+52>>2]=a;ul(a)}a=o[R+24>>2];if(a){o[R+28>>2]=a;ul(a)}a=o[R+12>>2];if(a){o[R+16>>2]=a;ul(a)}a=o[R>>2];if(a){o[R+4>>2]=a;ul(a)}ul(R)}}function va(a,S){var fa=0,ta=0,va=0;fa=R-16|0;R=fa;o[a+68>>2]=0;o[a+72>>2]=0;o[a>>2]=S;Yi(fa+8|0,S);ta=o[fa+8>>2];o[fa+8>>2]=0;va=o[a+4>>2];o[a+4>>2]=ta;a:{if(!va){o[fa+8>>2]=0;break a}ta=a+4|0;ua(ta,va);va=o[fa+8>>2];o[fa+8>>2]=0;if(va){ua(fa+8|0,va)}ta=o[ta>>2]}if(ta){ta=o[S+100>>2];S=o[S+96>>2];m[fa+7|0]=0;$a(a+56|0,(ta-S|0)/12|0,fa+7|0);a=1}else{a=0}R=fa+16|0;return a}function wa(a,R){var S=0,ua=0,wa=0,xa=0,ya=0,za=0;a:{wa=o[a>>2];ya=o[a+4>>2]-wa|0;S=ya>>2;ua=S+1|0;if(ua>>>0<1073741824){za=S<<2;S=o[a+8>>2]-wa|0;xa=S>>1;ua=S>>2>>>0<536870911?xa>>>0>>0?ua:xa:1073741823;S=0;b:{if(!ua){break b}if(ua>>>0>=1073741824){break a}S=Hk(ua<<2)}xa=za+S|0;o[xa>>2]=o[R>>2];R=S+(ua<<2)|0;ua=xa+4|0;if((ya|0)>=1){wl(S,wa,ya)}o[a>>2]=S;o[a+8>>2]=R;o[a+4>>2]=ua;if(wa){ul(wa)}return}Yk();D()}_a(1040);D()}function xa(a,Aa,Ba){var Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0;Ea=R-16|0;R=Ea;o[a+68>>2]=o[a+68>>2]+1;Ca=u(Aa,12)+a|0;Ca=o[Ca+12>>2]-o[Ca+8>>2]|0;if((Ca|0)>=1){Ja=Ca>>2;Ca=o[((Aa<<2)+a|0)+44>>2];Ha=Ba+8|0;Fa=Ba+4|0;while(1){Aa=Ca;Ga=(Ca>>>0)/3|0;Ca=(Ca|0)==-1?-1:Ga;Da=o[a+56>>2]+(Ca>>>3&536870908)|0;o[Da>>2]=o[Da>>2]|1<<(Ca&31);o[a+72>>2]=o[a+72>>2]+1;a:{b:{if(!Ia){Ca=(Aa|0)<0?-1:o[(o[o[a>>2]+96>>2]+u(Ga,12)|0)+((Aa>>>0)%3<<2)>>2];o[Ea+12>>2]=Ca;Da=o[Fa>>2];c:{if(Da>>>0>2]){o[Da>>2]=Ca;o[Fa>>2]=Da+4;break c}wa(Ba,Ea+12|0)}Ca=-1;d:{if((Aa|0)==-1){break d}Da=Aa+1|0;Da=(Da>>>0)%3|0?Da:Aa+ -2|0;if((Da|0)<0){break d}Ca=(Da>>>0)/3|0;Ca=o[(o[o[a>>2]+96>>2]+u(Ca,12)|0)+(Da-u(Ca,3)<<2)>>2]}o[Ea+12>>2]=Ca;Da=o[Fa>>2];e:{if(Da>>>0>2]){o[Da>>2]=Ca;o[Fa>>2]=Da+4;break e}wa(Ba,Ea+12|0)}Da=a;Ca=-1;f:{if((Aa|0)==-1){break f}Ga=((Aa>>>0)%3|0?-1:2)+Aa|0;Ca=-1;if((Ga|0)<0){break f}Ca=(Ga>>>0)/3|0;Ca=o[(o[o[a>>2]+96>>2]+u(Ca,12)|0)+(Ga-u(Ca,3)<<2)>>2]}o[Da+76>>2]=Ca;o[Ea+12>>2]=Ca;Da=o[Fa>>2];if(Da>>>0>2]){o[Da>>2]=Ca;o[Fa>>2]=Da+4;break b}wa(Ba,Ea+12|0);break b}Ca=(Aa|0)<0?-1:o[(o[o[a>>2]+96>>2]+u(Ga,12)|0)+((Aa>>>0)%3<<2)>>2];o[a+76>>2]=Ca;o[Ea+12>>2]=Ca;Da=o[Fa>>2];g:{if(Da>>>0>2]){o[Da>>2]=Ca;o[Fa>>2]=Da+4;break g}wa(Ba,Ea+12|0)}if(Ia&1){Ca=-1;if((Aa|0)==-1){break a}if(Aa-u(Ga,3)){Aa=Aa+ -1|0;break b}Aa=Aa+2|0;break b}Ca=-1;if((Aa|0)==-1){break a}Ca=Aa+1|0;Aa=(Ca>>>0)%3|0?Ca:Aa+ -2|0}Ca=-1;if((Aa|0)==-1){break a}Ca=o[o[o[a+4>>2]+12>>2]+(Aa<<2)>>2]}Ia=Ia+1|0;if((Ia|0)<(Ja|0)){continue}break}}R=Ea+16|0}function ya(a,R,Aa){var Ba=0,Ka=0,La=0;a:{if(r[a+80>>2]>65535){break a}Ka=o[a+96>>2];a=o[a+100>>2]-Ka|0;La=(a|0)/12|0;if((u(La,6)|0)!=(R|0)){break a}if(!a){return 1}a=0;while(1){R=u(a,6)+Aa|0;Ba=u(a,12)+Ka|0;n[R>>1]=o[Ba>>2];n[R+2>>1]=o[Ba+4>>2];n[R+4>>1]=o[Ba+8>>2];Ba=1;a=a+1|0;if(a>>>0>>0){continue}break}}return Ba}function za(a,R,Aa){var Ma=0,Na=0,Oa=0;Na=o[a+96>>2];a=o[a+100>>2]-Na|0;Oa=(a|0)/12|0;if((a|0)==(R|0)){if(!R){return 1}a=0;while(1){Ma=u(a,12);R=Ma+Aa|0;Ma=Ma+Na|0;o[R>>2]=o[Ma>>2];o[R+4>>2]=o[Ma+4>>2];o[R+8>>2]=o[Ma+8>>2];Ma=1;a=a+1|0;if(a>>>0>>0){continue}break}}return Ma}function Aa(a,Aa,Pa){var Qa=0,Ra=0,Sa=0,Ta=0;Qa=R-32|0;R=Qa;Ra=m[a+24|0];Ta=o[259];o[Qa+24>>2]=o[258];o[Qa+28>>2]=Ta;Ta=o[257];o[Qa+16>>2]=o[256];o[Qa+20>>2]=Ta;a:{if(Ba(a,Aa,Ra,Qa+16|0)){a=0;o[Qa+8>>2]=0;o[Qa>>2]=0;o[Qa+4>>2]=0;Aa=0;if(Ra){if((Ra|0)<=-1){break a}Aa=Ra<<2;Sa=Hk(Aa);o[Qa>>2]=Sa;a=(Ra<<2)+Sa|0;o[Qa+8>>2]=a;wl(Sa,Qa+16|0,Aa);o[Qa+4>>2]=a;Aa=a}Ra=o[Pa>>2];if(Ra){o[Pa+4>>2]=Ra;ul(Ra);o[Pa+8>>2]=0;o[Pa>>2]=0;o[Pa+4>>2]=0;Aa=o[Qa+4>>2];Sa=o[Qa>>2];a=o[Qa+8>>2]}o[Pa>>2]=Sa;o[Pa+8>>2]=a;o[Pa+4>>2]=Aa;Sa=1}R=Qa+32|0;return Sa}Yk();D()}function Ba(a,R,Aa,Pa){var Ua=0,Va=0,Wa=v(0),Xa=0,Ya=0;a:{b:{if(!Pa){break b}Ua=o[a+28>>2]+ -1|0;if(Ua>>>0>10){break b}c:{switch(Ua-1|0){default:Ya=1;Ua=m[a+24|0];if(((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24>=1){Ua=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Ua+R|0;Xa=p[a+32|0];while(1){Wa=v(m[R|0]);s[(Va<<2)+Pa>>2]=Xa?v(Wa/v(127)):Wa;R=R+1|0;Va=Va+1|0;Ua=m[a+24|0];if((Va|0)<((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24){continue}break}}if((Ua|0)>=(Aa|0)){break b}break a;case 0:Ya=1;Ua=m[a+24|0];if(((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24>=1){Ua=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Ua+R|0;Xa=p[a+32|0];while(1){Wa=v(p[R|0]);s[(Va<<2)+Pa>>2]=Xa?v(Wa/v(255)):Wa;R=R+1|0;Va=Va+1|0;Ua=m[a+24|0];if((Va|0)<((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24){continue}break}}if((Ua|0)>=(Aa|0)){break b}break a;case 1:Ya=1;Ua=m[a+24|0];if(((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24>=1){Ua=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Ua+R|0;Xa=p[a+32|0];while(1){Wa=v(n[R>>1]);s[(Va<<2)+Pa>>2]=Xa?v(Wa/v(32767)):Wa;R=R+2|0;Va=Va+1|0;Ua=m[a+24|0];if((Va|0)<((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24){continue}break}}if((Ua|0)>=(Aa|0)){break b}break a;case 2:Ya=1;Ua=m[a+24|0];if(((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24>=1){Ua=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Ua+R|0;Xa=p[a+32|0];while(1){Wa=v(q[R>>1]);s[(Va<<2)+Pa>>2]=Xa?v(Wa/v(65535)):Wa;R=R+2|0;Va=Va+1|0;Ua=m[a+24|0];if((Va|0)<((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24){continue}break}}if((Ua|0)>=(Aa|0)){break b}break a;case 3:Ya=1;Ua=m[a+24|0];if(((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24>=1){Ua=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Ua+R|0;Xa=p[a+32|0];while(1){Wa=v(o[R>>2]);s[(Va<<2)+Pa>>2]=Xa?v(Wa*v(4.656612873077393e-10)):Wa;R=R+4|0;Va=Va+1|0;Ua=m[a+24|0];if((Va|0)<((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24){continue}break}}if((Ua|0)>=(Aa|0)){break b}break a;case 4:Ya=1;Ua=m[a+24|0];if(((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24>=1){Ua=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Ua+R|0;Xa=p[a+32|0];while(1){Wa=v(r[R>>2]);s[(Va<<2)+Pa>>2]=Xa?v(Wa*v(2.3283064365386963e-10)):Wa;R=R+4|0;Va=Va+1|0;Ua=m[a+24|0];if((Va|0)<((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24){continue}break}}if((Ua|0)>=(Aa|0)){break b}break a;case 5:Ya=1;Ua=m[a+24|0];if(((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24>=1){Ua=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Ua+R|0;Xa=p[a+32|0];while(1){Wa=v(+r[R>>2]+4294967296*+o[R+4>>2]);s[(Va<<2)+Pa>>2]=Xa?v(Wa*v(1.0842021724855044e-19)):Wa;R=R+8|0;Va=Va+1|0;Ua=m[a+24|0];if((Va|0)<((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24){continue}break}}if((Ua|0)>=(Aa|0)){break b}break a;case 6:Ya=1;Ua=m[a+24|0];if(((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24>=1){Ua=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Ua+R|0;Xa=p[a+32|0];while(1){Wa=v(+r[R>>2]+4294967296*+r[R+4>>2]);s[(Va<<2)+Pa>>2]=Xa?v(Wa*v(5.421010862427522e-20)):Wa;R=R+8|0;Va=Va+1|0;Ua=m[a+24|0];if((Va|0)<((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24){continue}break}}if((Ua|0)>=(Aa|0)){break b}break a;case 7:Ya=1;Ua=m[a+24|0];if(((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24>=1){Ua=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Ua+R|0;while(1){o[(Va<<2)+Pa>>2]=o[R>>2];R=R+4|0;Va=Va+1|0;Ua=m[a+24|0];if((Va|0)<((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24){continue}break}}if((Ua|0)>=(Aa|0)){break b}break a;case 8:Ya=1;Ua=m[a+24|0];if(((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24>=1){Ua=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Ua+R|0;while(1){s[(Va<<2)+Pa>>2]=t[R>>3];R=R+8|0;Va=Va+1|0;Ua=m[a+24|0];if((Va|0)<((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24){continue}break}}if((Ua|0)>=(Aa|0)){break b}break a;case 9:break c}}Ya=1;Ua=m[a+24|0];if(((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24>=1){Ua=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Ua+R|0;while(1){s[(Va<<2)+Pa>>2]=p[R|0]?v(1):v(0);R=R+1|0;Va=Va+1|0;Ua=m[a+24|0];if((Va|0)<((Ua|0)>(Aa|0)?Aa:Ua)<<24>>24){continue}break}}if((Ua|0)>=(Aa|0)){break b}xl((Ua<<2)+Pa|0,0,Aa-Ua<<2)}return Ya}xl((Ua<<2)+Pa|0,0,Aa-Ua<<2);return 1}function Ca(a,Aa,Pa){var Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0;Za=R-16|0;R=Za;bb=o[a+80>>2];cb=m[Aa+24|0];a=o[259];o[Za+8>>2]=o[258];o[Za+12>>2]=a;a=o[257];o[Za>>2]=o[256];o[Za+4>>2]=a;a=u(bb,cb);$a=o[Pa>>2];_a=o[Pa+4>>2]-$a>>2;a:{if(a>>>0>_a>>>0){Da(Pa,a-_a|0);break a}if(a>>>0>=_a>>>0){break a}o[Pa+4>>2]=$a+(a<<2)}b:{if(!bb){a=1;break b}$a=0;db=Aa+68|0;eb=(cb|0)<1;while(1){a=ab;_a=Aa;if(!p[_a+84|0]){a=o[o[db>>2]+(ab<<2)>>2]}if(!Ba(_a,a,m[Aa+24|0],Za)){a=0;break b}if(!eb){_a=o[Pa>>2];a=0;while(1){o[_a+($a<<2)>>2]=o[(a<<2)+Za>>2];$a=$a+1|0;a=a+1|0;if((cb|0)!=(a|0)){continue}break}}a=1;ab=ab+1|0;if((bb|0)!=(ab|0)){continue}break}}R=Za+16|0;return a}function Da(a,R){var Aa=0,Pa=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0;Pa=o[a+8>>2];fb=a+4|0;Aa=o[fb>>2];if(Pa-Aa>>2>>>0>=R>>>0){a=R<<2;kb=fb,lb=xl(Aa,0,a)+a|0,o[kb>>2]=lb;return}a:{fb=o[a>>2];hb=Aa-fb|0;Aa=hb>>2;gb=Aa+R|0;if(gb>>>0<1073741824){jb=Aa<<2;Pa=Pa-fb|0;Aa=Pa>>1;Pa=Pa>>2>>>0<536870911?Aa>>>0>>0?gb:Aa:1073741823;Aa=0;b:{if(!Pa){break b}if(Pa>>>0>=1073741824){break a}ib=Hk(Pa<<2);Aa=ib}xl(jb+Aa|0,0,R<<2);R=Aa+(gb<<2)|0;gb=Aa+(Pa<<2)|0;if((hb|0)>=1){wl(ib,fb,hb)}o[a>>2]=Aa;o[a+8>>2]=gb;o[a+4>>2]=R;if(fb){ul(fb)}return}Yk();D()}_a(1040);D()}function Ea(a,mb,nb){var ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0;pb=R-16|0;R=pb;sb=o[a+80>>2];rb=m[mb+24|0];qb=u(sb,rb);a:{a=o[mb+28>>2];b:{if(!(!p[mb+84|0]|((a|0)!=2?(a|0)!=1:0))){rb=o[mb+48>>2];mb=o[o[mb>>2]>>2];o[pb+8>>2]=0;o[pb>>2]=0;o[pb+4>>2]=0;a=0;if(qb){if((qb|0)<=-1){break a}a=Hk(qb);o[pb>>2]=a;ob=a+qb|0;o[pb+8>>2]=ob;wl(a,mb+rb|0,qb);o[pb+4>>2]=ob}mb=o[nb>>2];if(mb){o[nb+4>>2]=mb;ul(mb);o[nb+8>>2]=0;o[nb>>2]=0;o[nb+4>>2]=0}o[nb>>2]=a;o[nb+8>>2]=ob;o[nb+4>>2]=ob;ob=1;break b}o[pb+8>>2]=0;o[pb>>2]=0;o[pb+4>>2]=0;if(rb){if((rb|0)<=-1){break a}ob=Hk(rb);o[pb>>2]=ob;o[pb+4>>2]=ob;o[pb+8>>2]=ob+rb;a=rb;while(1){m[ob|0]=0;ob=o[pb+4>>2]+1|0;o[pb+4>>2]=ob;a=a+ -1|0;if(a){continue}break}}ob=o[nb>>2];a=o[nb+4>>2]-ob|0;c:{if(qb>>>0>a>>>0){Fa(nb,qb-a|0);break c}if(qb>>>0>=a>>>0){break c}o[nb+4>>2]=ob+qb}d:{if(!sb){ob=1;break d}a=0;tb=mb+68|0;ub=(rb|0)<1;qb=0;while(1){ob=qb;vb=mb;if(!p[mb+84|0]){ob=o[o[tb>>2]+(qb<<2)>>2]}if(!Ga(vb,ob,m[mb+24|0],o[pb>>2])){ob=0;break d}ob=0;if(!ub){while(1){m[o[nb>>2]+a|0]=p[o[pb>>2]+ob|0];a=a+1|0;ob=ob+1|0;if((rb|0)!=(ob|0)){continue}break}}ob=1;qb=qb+1|0;if((sb|0)!=(qb|0)){continue}break}}a=o[pb>>2];if(!a){break b}o[pb+4>>2]=a;ul(a)}R=pb+16|0;return ob}Yk();D()}function Fa(a,R){var mb=0,nb=0,wb=0,xb=0,yb=0,zb=0;a:{nb=o[a+8>>2];wb=a+4|0;mb=o[wb>>2];b:{if(nb-mb>>>0>=R>>>0){while(1){m[mb|0]=0;mb=o[wb>>2]+1|0;o[wb>>2]=mb;R=R+ -1|0;if(R){continue}break b}}xb=o[a>>2];yb=mb-xb|0;mb=yb+R|0;if((mb|0)<=-1){break a}wb=0;nb=nb-xb|0;zb=nb<<1;nb=nb>>>0<1073741823?zb>>>0>>0?mb:zb:2147483647;if(nb){wb=Hk(nb)}mb=wb+yb|0;xl(mb,0,R);nb=nb+wb|0;while(1){mb=mb+1|0;R=R+ -1|0;if(R){continue}break}if((yb|0)>=1){wl(wb,xb,yb)}o[a>>2]=wb;o[a+8>>2]=nb;o[a+4>>2]=mb;if(!xb){break b}ul(xb)}return}Yk();D()}function Ga(a,R,Ab,Bb){var Cb=0,Db=0,Eb=0,Fb=0,Gb=v(0),Hb=0;a:{b:{if(!Bb){break b}Cb=o[a+28>>2]+ -1|0;if(Cb>>>0>10){break b}c:{d:{e:{switch(Cb-1|0){default:Eb=1;Cb=m[a+24|0];if(((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24>=1){Cb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Cb+R|0;while(1){m[Bb+Db|0]=p[R|0];R=R+1|0;Db=Db+1|0;Cb=m[a+24|0];if((Db|0)<((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24){continue}break}}if((Cb|0)>=(Ab|0)){break b}break a;case 0:Eb=1;Cb=m[a+24|0];if(((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24>=1){Cb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Cb+R|0;while(1){m[Bb+Db|0]=p[R|0];R=R+1|0;Db=Db+1|0;Cb=m[a+24|0];if((Db|0)<((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24){continue}break}}if((Cb|0)>=(Ab|0)){break b}break a;case 1:Eb=1;Cb=m[a+24|0];if(((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24>=1){Cb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Cb+R|0;while(1){m[Bb+Db|0]=p[R|0];R=R+2|0;Db=Db+1|0;Cb=m[a+24|0];if((Db|0)<((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24){continue}break}}if((Cb|0)>=(Ab|0)){break b}break a;case 2:Eb=1;Cb=m[a+24|0];if(((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24>=1){Cb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Cb+R|0;while(1){m[Bb+Db|0]=p[R|0];R=R+2|0;Db=Db+1|0;Cb=m[a+24|0];if((Db|0)<((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24){continue}break}}if((Cb|0)>=(Ab|0)){break b}break a;case 3:Eb=1;Cb=m[a+24|0];if(((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24>=1){Cb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Cb+R|0;while(1){m[Bb+Db|0]=o[R>>2];R=R+4|0;Db=Db+1|0;Cb=m[a+24|0];if((Db|0)<((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24){continue}break}}if((Cb|0)>=(Ab|0)){break b}break a;case 4:Eb=1;Cb=m[a+24|0];if(((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24>=1){Cb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Cb+R|0;while(1){m[Bb+Db|0]=o[R>>2];R=R+4|0;Db=Db+1|0;Cb=m[a+24|0];if((Db|0)<((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24){continue}break}}if((Cb|0)>=(Ab|0)){break b}break a;case 5:Eb=1;Cb=m[a+24|0];if(((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24>=1){Cb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Cb+R|0;while(1){m[Bb+Db|0]=o[R>>2];R=R+8|0;Db=Db+1|0;Cb=m[a+24|0];if((Db|0)<((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24){continue}break}}if((Cb|0)>=(Ab|0)){break b}break a;case 6:Eb=1;Cb=m[a+24|0];if(((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24>=1){Cb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Cb+R|0;while(1){m[Bb+Db|0]=o[R>>2];R=R+8|0;Db=Db+1|0;Cb=m[a+24|0];if((Db|0)<((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24){continue}break}}if((Cb|0)>=(Ab|0)){break b}break a;case 7:Eb=1;Cb=m[a+24|0];if(((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24<1){break c}Cb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Cb+R|0;while(1){Cb=Bb+Db|0;Gb=s[R>>2];f:{if(v(w(Gb))(Ab|0)?Ab:Cb)<<24>>24){continue}break}break c;case 8:Eb=1;Cb=m[a+24|0];if(((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24<1){break d}Cb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Cb+R|0;while(1){Cb=Bb+Db|0;Hb=t[R>>3];g:{if(w(Hb)<2147483648){Fb=~~Hb;break g}Fb=-2147483648}m[Cb|0]=Fb;R=R+8|0;Db=Db+1|0;Cb=m[a+24|0];if((Db|0)<((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24){continue}break}break d;case 9:break e}}Eb=1;Cb=m[a+24|0];if(((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24>=1){Cb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Cb+R|0;while(1){m[Bb+Db|0]=p[R|0];R=R+1|0;Db=Db+1|0;Cb=m[a+24|0];if((Db|0)<((Cb|0)>(Ab|0)?Ab:Cb)<<24>>24){continue}break}}if((Cb|0)>=(Ab|0)){break b}xl(Bb+Cb|0,0,Ab-Cb|0);break b}if((Cb|0)>=(Ab|0)){break b}break a}if((Cb|0)>=(Ab|0)){break b}break a}return Eb}xl(Bb+Cb|0,0,Ab-Cb|0);return 1}function Ha(a,Ab,Bb){var Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0;Jb=R-16|0;R=Jb;Mb=o[a+80>>2];Lb=m[Ab+24|0];Kb=u(Mb,Lb);a:{a=o[Ab+28>>2];b:{if(!(!p[Ab+84|0]|((a|0)!=2?(a|0)!=1:0))){Lb=o[Ab+48>>2];Ab=o[o[Ab>>2]>>2];o[Jb+8>>2]=0;o[Jb>>2]=0;o[Jb+4>>2]=0;a=0;if(Kb){if((Kb|0)<=-1){break a}a=Hk(Kb);o[Jb>>2]=a;Ib=a+Kb|0;o[Jb+8>>2]=Ib;wl(a,Ab+Lb|0,Kb);o[Jb+4>>2]=Ib}Ab=o[Bb>>2];if(Ab){o[Bb+4>>2]=Ab;ul(Ab);o[Bb+8>>2]=0;o[Bb>>2]=0;o[Bb+4>>2]=0}o[Bb>>2]=a;o[Bb+8>>2]=Ib;o[Bb+4>>2]=Ib;Ib=1;break b}o[Jb+8>>2]=0;o[Jb>>2]=0;o[Jb+4>>2]=0;if(Lb){if((Lb|0)<=-1){break a}Ib=Hk(Lb);o[Jb>>2]=Ib;o[Jb+4>>2]=Ib;o[Jb+8>>2]=Ib+Lb;a=Lb;while(1){m[Ib|0]=0;Ib=o[Jb+4>>2]+1|0;o[Jb+4>>2]=Ib;a=a+ -1|0;if(a){continue}break}}Ib=o[Bb>>2];a=o[Bb+4>>2]-Ib|0;c:{if(Kb>>>0>a>>>0){Fa(Bb,Kb-a|0);break c}if(Kb>>>0>=a>>>0){break c}o[Bb+4>>2]=Ib+Kb}d:{if(!Mb){Ib=1;break d}a=0;Nb=Ab+68|0;Ob=(Lb|0)<1;Kb=0;while(1){Ib=Kb;Pb=Ab;if(!p[Ab+84|0]){Ib=o[o[Nb>>2]+(Kb<<2)>>2]}if(!Ia(Pb,Ib,m[Ab+24|0],o[Jb>>2])){Ib=0;break d}Ib=0;if(!Ob){while(1){m[o[Bb>>2]+a|0]=p[o[Jb>>2]+Ib|0];a=a+1|0;Ib=Ib+1|0;if((Lb|0)!=(Ib|0)){continue}break}}Ib=1;Kb=Kb+1|0;if((Mb|0)!=(Kb|0)){continue}break}}a=o[Jb>>2];if(!a){break b}o[Jb+4>>2]=a;ul(a)}R=Jb+16|0;return Ib}Yk();D()}function Ia(a,R,Ab,Bb){var Qb=0,Rb=0,Sb=0,Tb=0,Ub=v(0),Vb=0;a:{b:{if(!Bb){break b}Qb=o[a+28>>2]+ -1|0;if(Qb>>>0>10){break b}c:{d:{e:{switch(Qb-1|0){default:Sb=1;Qb=m[a+24|0];if(((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24>=1){Qb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qb+R|0;while(1){m[Bb+Rb|0]=p[R|0];R=R+1|0;Rb=Rb+1|0;Qb=m[a+24|0];if((Rb|0)<((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24){continue}break}}if((Qb|0)>=(Ab|0)){break b}break a;case 0:Sb=1;Qb=m[a+24|0];if(((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24>=1){Qb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qb+R|0;while(1){m[Bb+Rb|0]=p[R|0];R=R+1|0;Rb=Rb+1|0;Qb=m[a+24|0];if((Rb|0)<((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24){continue}break}}if((Qb|0)>=(Ab|0)){break b}break a;case 1:Sb=1;Qb=m[a+24|0];if(((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24>=1){Qb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qb+R|0;while(1){m[Bb+Rb|0]=p[R|0];R=R+2|0;Rb=Rb+1|0;Qb=m[a+24|0];if((Rb|0)<((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24){continue}break}}if((Qb|0)>=(Ab|0)){break b}break a;case 2:Sb=1;Qb=m[a+24|0];if(((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24>=1){Qb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qb+R|0;while(1){m[Bb+Rb|0]=p[R|0];R=R+2|0;Rb=Rb+1|0;Qb=m[a+24|0];if((Rb|0)<((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24){continue}break}}if((Qb|0)>=(Ab|0)){break b}break a;case 3:Sb=1;Qb=m[a+24|0];if(((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24>=1){Qb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qb+R|0;while(1){m[Bb+Rb|0]=o[R>>2];R=R+4|0;Rb=Rb+1|0;Qb=m[a+24|0];if((Rb|0)<((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24){continue}break}}if((Qb|0)>=(Ab|0)){break b}break a;case 4:Sb=1;Qb=m[a+24|0];if(((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24>=1){Qb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qb+R|0;while(1){m[Bb+Rb|0]=o[R>>2];R=R+4|0;Rb=Rb+1|0;Qb=m[a+24|0];if((Rb|0)<((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24){continue}break}}if((Qb|0)>=(Ab|0)){break b}break a;case 5:Sb=1;Qb=m[a+24|0];if(((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24>=1){Qb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qb+R|0;while(1){m[Bb+Rb|0]=o[R>>2];R=R+8|0;Rb=Rb+1|0;Qb=m[a+24|0];if((Rb|0)<((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24){continue}break}}if((Qb|0)>=(Ab|0)){break b}break a;case 6:Sb=1;Qb=m[a+24|0];if(((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24>=1){Qb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qb+R|0;while(1){m[Bb+Rb|0]=o[R>>2];R=R+8|0;Rb=Rb+1|0;Qb=m[a+24|0];if((Rb|0)<((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24){continue}break}}if((Qb|0)>=(Ab|0)){break b}break a;case 7:Sb=1;Qb=m[a+24|0];if(((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24<1){break c}Qb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qb+R|0;while(1){Qb=Bb+Rb|0;Ub=s[R>>2];f:{if(Ub=v(0)){Tb=~~Ub>>>0;break f}Tb=0}m[Qb|0]=Tb;R=R+4|0;Rb=Rb+1|0;Qb=m[a+24|0];if((Rb|0)<((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24){continue}break}break c;case 8:Sb=1;Qb=m[a+24|0];if(((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24<1){break d}Qb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qb+R|0;while(1){Qb=Bb+Rb|0;Vb=t[R>>3];g:{if(Vb<4294967296&Vb>=0){Tb=~~Vb>>>0;break g}Tb=0}m[Qb|0]=Tb;R=R+8|0;Rb=Rb+1|0;Qb=m[a+24|0];if((Rb|0)<((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24){continue}break}break d;case 9:break e}}Sb=1;Qb=m[a+24|0];if(((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24>=1){Qb=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qb+R|0;while(1){m[Bb+Rb|0]=p[R|0];R=R+1|0;Rb=Rb+1|0;Qb=m[a+24|0];if((Rb|0)<((Qb|0)>(Ab|0)?Ab:Qb)<<24>>24){continue}break}}if((Qb|0)>=(Ab|0)){break b}xl(Bb+Qb|0,0,Ab-Qb|0);break b}if((Qb|0)>=(Ab|0)){break b}break a}if((Qb|0)>=(Ab|0)){break b}break a}return Sb}xl(Bb+Qb|0,0,Ab-Qb|0);return 1}function Ja(a,Ab,Bb){var Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0;Wb=R-16|0;R=Wb;ac=o[a+80>>2];_b=m[Ab+24|0];a=u(ac,_b);a:{Xb=o[Ab+28>>2];b:{if(!(!p[Ab+84|0]|((Xb|0)!=4?(Xb|0)!=3:0))){$b=o[Ab+48>>2];Xb=o[o[Ab>>2]>>2];o[Wb+8>>2]=0;o[Wb>>2]=0;o[Wb+4>>2]=0;Ab=0;a=a<<1;if(a){if((a|0)<=-1){break a}Yb=Hk(a);o[Wb>>2]=Yb;Zb=(a>>1<<1)+Yb|0;o[Wb+8>>2]=Zb;Ab=wl(Yb,Xb+$b|0,a)+a|0;o[Wb+4>>2]=Ab}a=o[Bb>>2];if(a){o[Bb+4>>2]=a;ul(a);o[Bb+8>>2]=0;o[Bb>>2]=0;o[Bb+4>>2]=0}o[Bb>>2]=Yb;o[Bb+8>>2]=Zb;o[Bb+4>>2]=Ab;a=1;break b}o[Wb+8>>2]=0;o[Wb>>2]=0;o[Wb+4>>2]=0;if(_b){if((_b|0)<=-1){break a}Xb=_b<<1;Yb=Hk(Xb);o[Wb>>2]=Yb;Zb=Xb+Yb|0;o[Wb+8>>2]=Zb;xl(Yb,0,Xb);o[Wb+4>>2]=Zb}Yb=o[Bb>>2];Xb=o[Bb+4>>2]-Yb>>1;c:{if(a>>>0>Xb>>>0){Ka(Bb,a-Xb|0);break c}if(a>>>0>=Xb>>>0){break c}o[Bb+4>>2]=Yb+(a<<1)}d:{if(!ac){a=1;break d}Yb=0;Zb=Ab+68|0;bc=(_b|0)<1;while(1){a=$b;Xb=Ab;if(!p[Ab+84|0]){a=o[o[Zb>>2]+($b<<2)>>2]}if(!La(Xb,a,m[Ab+24|0],o[Wb>>2])){a=0;break d}if(!bc){Xb=o[Bb>>2];a=0;cc=o[Wb>>2];while(1){n[Xb+(Yb<<1)>>1]=q[cc+(a<<1)>>1];Yb=Yb+1|0;a=a+1|0;if((_b|0)!=(a|0)){continue}break}}a=1;$b=$b+1|0;if((ac|0)!=($b|0)){continue}break}}Ab=o[Wb>>2];if(!Ab){break b}o[Wb+4>>2]=Ab;ul(Ab)}R=Wb+16|0;return a}Yk();D()}function Ka(a,R){var Ab=0,Bb=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0;Bb=o[a+8>>2];dc=a+4|0;Ab=o[dc>>2];if(Bb-Ab>>1>>>0>=R>>>0){a=R<<1;ic=dc,jc=xl(Ab,0,a)+a|0,o[ic>>2]=jc;return}a:{dc=o[a>>2];fc=Ab-dc|0;Ab=fc>>1;ec=Ab+R|0;if((ec|0)>-1){hc=Ab<<1;Bb=Bb-dc|0;Bb=Bb>>1>>>0<1073741823?Bb>>>0>>0?ec:Bb:2147483647;Ab=0;b:{if(!Bb){break b}if((Bb|0)<=-1){break a}gc=Hk(Bb<<1);Ab=gc}xl(hc+Ab|0,0,R<<1);R=Ab+(ec<<1)|0;ec=Ab+(Bb<<1)|0;if((fc|0)>=1){wl(gc,dc,fc)}o[a>>2]=Ab;o[a+8>>2]=ec;o[a+4>>2]=R;if(dc){ul(dc)}return}Yk();D()}_a(1040);D()}function La(a,R,kc,lc){var mc=0,nc=0,oc=0,pc=0,qc=v(0),rc=0;a:{b:{if(!lc){break b}mc=o[a+28>>2]+ -1|0;if(mc>>>0>10){break b}c:{d:{e:{switch(mc-1|0){default:oc=1;mc=m[a+24|0];if(((mc|0)>(kc|0)?kc:mc)<<24>>24>=1){mc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=mc+R|0;while(1){n[(nc<<1)+lc>>1]=m[R|0];R=R+1|0;nc=nc+1|0;mc=m[a+24|0];if((nc|0)<((mc|0)>(kc|0)?kc:mc)<<24>>24){continue}break}}if((mc|0)>=(kc|0)){break b}break a;case 0:oc=1;mc=m[a+24|0];if(((mc|0)>(kc|0)?kc:mc)<<24>>24>=1){mc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=mc+R|0;while(1){n[(nc<<1)+lc>>1]=p[R|0];R=R+1|0;nc=nc+1|0;mc=m[a+24|0];if((nc|0)<((mc|0)>(kc|0)?kc:mc)<<24>>24){continue}break}}if((mc|0)>=(kc|0)){break b}break a;case 1:oc=1;mc=m[a+24|0];if(((mc|0)>(kc|0)?kc:mc)<<24>>24>=1){mc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=mc+R|0;while(1){n[(nc<<1)+lc>>1]=q[R>>1];R=R+2|0;nc=nc+1|0;mc=m[a+24|0];if((nc|0)<((mc|0)>(kc|0)?kc:mc)<<24>>24){continue}break}}if((mc|0)>=(kc|0)){break b}break a;case 2:oc=1;mc=m[a+24|0];if(((mc|0)>(kc|0)?kc:mc)<<24>>24>=1){mc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=mc+R|0;while(1){n[(nc<<1)+lc>>1]=q[R>>1];R=R+2|0;nc=nc+1|0;mc=m[a+24|0];if((nc|0)<((mc|0)>(kc|0)?kc:mc)<<24>>24){continue}break}}if((mc|0)>=(kc|0)){break b}break a;case 3:oc=1;mc=m[a+24|0];if(((mc|0)>(kc|0)?kc:mc)<<24>>24>=1){mc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=mc+R|0;while(1){n[(nc<<1)+lc>>1]=o[R>>2];R=R+4|0;nc=nc+1|0;mc=m[a+24|0];if((nc|0)<((mc|0)>(kc|0)?kc:mc)<<24>>24){continue}break}}if((mc|0)>=(kc|0)){break b}break a;case 4:oc=1;mc=m[a+24|0];if(((mc|0)>(kc|0)?kc:mc)<<24>>24>=1){mc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=mc+R|0;while(1){n[(nc<<1)+lc>>1]=o[R>>2];R=R+4|0;nc=nc+1|0;mc=m[a+24|0];if((nc|0)<((mc|0)>(kc|0)?kc:mc)<<24>>24){continue}break}}if((mc|0)>=(kc|0)){break b}break a;case 5:oc=1;mc=m[a+24|0];if(((mc|0)>(kc|0)?kc:mc)<<24>>24>=1){mc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=mc+R|0;while(1){n[(nc<<1)+lc>>1]=o[R>>2];R=R+8|0;nc=nc+1|0;mc=m[a+24|0];if((nc|0)<((mc|0)>(kc|0)?kc:mc)<<24>>24){continue}break}}if((mc|0)>=(kc|0)){break b}break a;case 6:oc=1;mc=m[a+24|0];if(((mc|0)>(kc|0)?kc:mc)<<24>>24>=1){mc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=mc+R|0;while(1){n[(nc<<1)+lc>>1]=o[R>>2];R=R+8|0;nc=nc+1|0;mc=m[a+24|0];if((nc|0)<((mc|0)>(kc|0)?kc:mc)<<24>>24){continue}break}}if((mc|0)>=(kc|0)){break b}break a;case 7:oc=1;mc=m[a+24|0];if(((mc|0)>(kc|0)?kc:mc)<<24>>24<1){break c}mc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=mc+R|0;while(1){mc=(nc<<1)+lc|0;qc=s[R>>2];f:{if(v(w(qc))>1]=pc;R=R+4|0;nc=nc+1|0;mc=m[a+24|0];if((nc|0)<((mc|0)>(kc|0)?kc:mc)<<24>>24){continue}break}break c;case 8:oc=1;mc=m[a+24|0];if(((mc|0)>(kc|0)?kc:mc)<<24>>24<1){break d}mc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=mc+R|0;while(1){mc=(nc<<1)+lc|0;rc=t[R>>3];g:{if(w(rc)<2147483648){pc=~~rc;break g}pc=-2147483648}n[mc>>1]=pc;R=R+8|0;nc=nc+1|0;mc=m[a+24|0];if((nc|0)<((mc|0)>(kc|0)?kc:mc)<<24>>24){continue}break}break d;case 9:break e}}oc=1;mc=m[a+24|0];if(((mc|0)>(kc|0)?kc:mc)<<24>>24>=1){mc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=mc+R|0;while(1){n[(nc<<1)+lc>>1]=p[R|0];R=R+1|0;nc=nc+1|0;mc=m[a+24|0];if((nc|0)<((mc|0)>(kc|0)?kc:mc)<<24>>24){continue}break}}if((mc|0)>=(kc|0)){break b}xl((mc<<1)+lc|0,0,kc-mc<<1);break b}if((mc|0)>=(kc|0)){break b}break a}if((mc|0)>=(kc|0)){break b}break a}return oc}xl((mc<<1)+lc|0,0,kc-mc<<1);return 1}function Ma(a,kc,lc){var sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0;sc=R-16|0;R=sc;yc=o[a+80>>2];wc=m[kc+24|0];a=u(yc,wc);a:{tc=o[kc+28>>2];b:{if(!(!p[kc+84|0]|((tc|0)!=4?(tc|0)!=3:0))){xc=o[kc+48>>2];tc=o[o[kc>>2]>>2];o[sc+8>>2]=0;o[sc>>2]=0;o[sc+4>>2]=0;kc=0;a=a<<1;if(a){if((a|0)<=-1){break a}uc=Hk(a);o[sc>>2]=uc;vc=(a>>1<<1)+uc|0;o[sc+8>>2]=vc;kc=wl(uc,tc+xc|0,a)+a|0;o[sc+4>>2]=kc}a=o[lc>>2];if(a){o[lc+4>>2]=a;ul(a);o[lc+8>>2]=0;o[lc>>2]=0;o[lc+4>>2]=0}o[lc>>2]=uc;o[lc+8>>2]=vc;o[lc+4>>2]=kc;a=1;break b}o[sc+8>>2]=0;o[sc>>2]=0;o[sc+4>>2]=0;if(wc){if((wc|0)<=-1){break a}tc=wc<<1;uc=Hk(tc);o[sc>>2]=uc;vc=tc+uc|0;o[sc+8>>2]=vc;xl(uc,0,tc);o[sc+4>>2]=vc}uc=o[lc>>2];tc=o[lc+4>>2]-uc>>1;c:{if(a>>>0>tc>>>0){Ka(lc,a-tc|0);break c}if(a>>>0>=tc>>>0){break c}o[lc+4>>2]=uc+(a<<1)}d:{if(!yc){a=1;break d}uc=0;vc=kc+68|0;zc=(wc|0)<1;while(1){a=xc;tc=kc;if(!p[kc+84|0]){a=o[o[vc>>2]+(xc<<2)>>2]}if(!Na(tc,a,m[kc+24|0],o[sc>>2])){a=0;break d}if(!zc){tc=o[lc>>2];a=0;Ac=o[sc>>2];while(1){n[tc+(uc<<1)>>1]=q[Ac+(a<<1)>>1];uc=uc+1|0;a=a+1|0;if((wc|0)!=(a|0)){continue}break}}a=1;xc=xc+1|0;if((yc|0)!=(xc|0)){continue}break}}kc=o[sc>>2];if(!kc){break b}o[sc+4>>2]=kc;ul(kc)}R=sc+16|0;return a}Yk();D()}function Na(a,R,kc,lc){var Bc=0,Cc=0,Dc=0,Ec=0,Fc=v(0),Gc=0;a:{b:{if(!lc){break b}Bc=o[a+28>>2]+ -1|0;if(Bc>>>0>10){break b}c:{d:{e:{switch(Bc-1|0){default:Dc=1;Bc=m[a+24|0];if(((Bc|0)>(kc|0)?kc:Bc)<<24>>24>=1){Bc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Bc+R|0;while(1){n[(Cc<<1)+lc>>1]=m[R|0];R=R+1|0;Cc=Cc+1|0;Bc=m[a+24|0];if((Cc|0)<((Bc|0)>(kc|0)?kc:Bc)<<24>>24){continue}break}}if((Bc|0)>=(kc|0)){break b}break a;case 0:Dc=1;Bc=m[a+24|0];if(((Bc|0)>(kc|0)?kc:Bc)<<24>>24>=1){Bc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Bc+R|0;while(1){n[(Cc<<1)+lc>>1]=p[R|0];R=R+1|0;Cc=Cc+1|0;Bc=m[a+24|0];if((Cc|0)<((Bc|0)>(kc|0)?kc:Bc)<<24>>24){continue}break}}if((Bc|0)>=(kc|0)){break b}break a;case 1:Dc=1;Bc=m[a+24|0];if(((Bc|0)>(kc|0)?kc:Bc)<<24>>24>=1){Bc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Bc+R|0;while(1){n[(Cc<<1)+lc>>1]=q[R>>1];R=R+2|0;Cc=Cc+1|0;Bc=m[a+24|0];if((Cc|0)<((Bc|0)>(kc|0)?kc:Bc)<<24>>24){continue}break}}if((Bc|0)>=(kc|0)){break b}break a;case 2:Dc=1;Bc=m[a+24|0];if(((Bc|0)>(kc|0)?kc:Bc)<<24>>24>=1){Bc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Bc+R|0;while(1){n[(Cc<<1)+lc>>1]=q[R>>1];R=R+2|0;Cc=Cc+1|0;Bc=m[a+24|0];if((Cc|0)<((Bc|0)>(kc|0)?kc:Bc)<<24>>24){continue}break}}if((Bc|0)>=(kc|0)){break b}break a;case 3:Dc=1;Bc=m[a+24|0];if(((Bc|0)>(kc|0)?kc:Bc)<<24>>24>=1){Bc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Bc+R|0;while(1){n[(Cc<<1)+lc>>1]=o[R>>2];R=R+4|0;Cc=Cc+1|0;Bc=m[a+24|0];if((Cc|0)<((Bc|0)>(kc|0)?kc:Bc)<<24>>24){continue}break}}if((Bc|0)>=(kc|0)){break b}break a;case 4:Dc=1;Bc=m[a+24|0];if(((Bc|0)>(kc|0)?kc:Bc)<<24>>24>=1){Bc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Bc+R|0;while(1){n[(Cc<<1)+lc>>1]=o[R>>2];R=R+4|0;Cc=Cc+1|0;Bc=m[a+24|0];if((Cc|0)<((Bc|0)>(kc|0)?kc:Bc)<<24>>24){continue}break}}if((Bc|0)>=(kc|0)){break b}break a;case 5:Dc=1;Bc=m[a+24|0];if(((Bc|0)>(kc|0)?kc:Bc)<<24>>24>=1){Bc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Bc+R|0;while(1){n[(Cc<<1)+lc>>1]=o[R>>2];R=R+8|0;Cc=Cc+1|0;Bc=m[a+24|0];if((Cc|0)<((Bc|0)>(kc|0)?kc:Bc)<<24>>24){continue}break}}if((Bc|0)>=(kc|0)){break b}break a;case 6:Dc=1;Bc=m[a+24|0];if(((Bc|0)>(kc|0)?kc:Bc)<<24>>24>=1){Bc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Bc+R|0;while(1){n[(Cc<<1)+lc>>1]=o[R>>2];R=R+8|0;Cc=Cc+1|0;Bc=m[a+24|0];if((Cc|0)<((Bc|0)>(kc|0)?kc:Bc)<<24>>24){continue}break}}if((Bc|0)>=(kc|0)){break b}break a;case 7:Dc=1;Bc=m[a+24|0];if(((Bc|0)>(kc|0)?kc:Bc)<<24>>24<1){break c}Bc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Bc+R|0;while(1){Bc=(Cc<<1)+lc|0;Fc=s[R>>2];f:{if(Fc=v(0)){Ec=~~Fc>>>0;break f}Ec=0}n[Bc>>1]=Ec;R=R+4|0;Cc=Cc+1|0;Bc=m[a+24|0];if((Cc|0)<((Bc|0)>(kc|0)?kc:Bc)<<24>>24){continue}break}break c;case 8:Dc=1;Bc=m[a+24|0];if(((Bc|0)>(kc|0)?kc:Bc)<<24>>24<1){break d}Bc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Bc+R|0;while(1){Bc=(Cc<<1)+lc|0;Gc=t[R>>3];g:{if(Gc<4294967296&Gc>=0){Ec=~~Gc>>>0;break g}Ec=0}n[Bc>>1]=Ec;R=R+8|0;Cc=Cc+1|0;Bc=m[a+24|0];if((Cc|0)<((Bc|0)>(kc|0)?kc:Bc)<<24>>24){continue}break}break d;case 9:break e}}Dc=1;Bc=m[a+24|0];if(((Bc|0)>(kc|0)?kc:Bc)<<24>>24>=1){Bc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Bc+R|0;while(1){n[(Cc<<1)+lc>>1]=p[R|0];R=R+1|0;Cc=Cc+1|0;Bc=m[a+24|0];if((Cc|0)<((Bc|0)>(kc|0)?kc:Bc)<<24>>24){continue}break}}if((Bc|0)>=(kc|0)){break b}xl((Bc<<1)+lc|0,0,kc-Bc<<1);break b}if((Bc|0)>=(kc|0)){break b}break a}if((Bc|0)>=(kc|0)){break b}break a}return Dc}xl((Bc<<1)+lc|0,0,kc-Bc<<1);return 1}function Oa(a,kc,lc){var Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0;Hc=R-16|0;R=Hc;Nc=o[a+80>>2];Kc=m[kc+24|0];Jc=u(Nc,Kc);a:{a=o[kc+28>>2];b:{if(!(!p[kc+84|0]|((a|0)!=6?(a|0)!=5:0))){Mc=o[kc+48>>2];Kc=o[o[kc>>2]>>2];o[Hc+8>>2]=0;o[Hc>>2]=0;o[Hc+4>>2]=0;a=0;kc=Jc<<2;c:{if(!kc){break c}a=kc>>2;if(a>>>0>=1073741824){break a}Ic=Hk(kc);o[Hc>>2]=Ic;o[Hc+4>>2]=Ic;Lc=(a<<2)+Ic|0;o[Hc+8>>2]=Lc;if((kc|0)<1){a=Ic;break c}a=wl(Ic,Kc+Mc|0,kc)+kc|0;o[Hc+4>>2]=a}kc=o[lc>>2];if(kc){o[lc+4>>2]=kc;ul(kc);o[lc+8>>2]=0;o[lc>>2]=0;o[lc+4>>2]=0}o[lc>>2]=Ic;o[lc+8>>2]=Lc;o[lc+4>>2]=a;a=1;break b}o[Hc+8>>2]=0;o[Hc>>2]=0;o[Hc+4>>2]=0;if(Kc){if((Kc|0)<=-1){break a}a=Kc<<2;Ic=Hk(a);o[Hc>>2]=Ic;Lc=a+Ic|0;o[Hc+8>>2]=Lc;xl(Ic,0,a);o[Hc+4>>2]=Lc}Ic=o[lc>>2];a=o[lc+4>>2]-Ic>>2;d:{if(Jc>>>0>a>>>0){Da(lc,Jc-a|0);break d}if(Jc>>>0>=a>>>0){break d}o[lc+4>>2]=Ic+(Jc<<2)}e:{if(!Nc){a=1;break e}Ic=0;Lc=kc+68|0;Oc=(Kc|0)<1;while(1){a=Mc;Jc=kc;if(!p[kc+84|0]){a=o[o[Lc>>2]+(Mc<<2)>>2]}if(!Pa(Jc,a,m[kc+24|0],o[Hc>>2])){a=0;break e}if(!Oc){Jc=o[lc>>2];a=0;Pc=o[Hc>>2];while(1){o[Jc+(Ic<<2)>>2]=o[Pc+(a<<2)>>2];Ic=Ic+1|0;a=a+1|0;if((Kc|0)!=(a|0)){continue}break}}a=1;Mc=Mc+1|0;if((Nc|0)!=(Mc|0)){continue}break}}kc=o[Hc>>2];if(!kc){break b}o[Hc+4>>2]=kc;ul(kc)}R=Hc+16|0;return a}Yk();D()}function Pa(a,R,kc,lc){var Qc=0,Rc=0,Sc=0,Tc=0,Uc=v(0),Vc=0;a:{b:{if(!lc){break b}Qc=o[a+28>>2]+ -1|0;if(Qc>>>0>10){break b}c:{d:{e:{switch(Qc-1|0){default:Sc=1;Qc=m[a+24|0];if(((Qc|0)>(kc|0)?kc:Qc)<<24>>24>=1){Qc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qc+R|0;while(1){o[(Rc<<2)+lc>>2]=m[R|0];R=R+1|0;Rc=Rc+1|0;Qc=m[a+24|0];if((Rc|0)<((Qc|0)>(kc|0)?kc:Qc)<<24>>24){continue}break}}if((Qc|0)>=(kc|0)){break b}break a;case 0:Sc=1;Qc=m[a+24|0];if(((Qc|0)>(kc|0)?kc:Qc)<<24>>24>=1){Qc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qc+R|0;while(1){o[(Rc<<2)+lc>>2]=p[R|0];R=R+1|0;Rc=Rc+1|0;Qc=m[a+24|0];if((Rc|0)<((Qc|0)>(kc|0)?kc:Qc)<<24>>24){continue}break}}if((Qc|0)>=(kc|0)){break b}break a;case 1:Sc=1;Qc=m[a+24|0];if(((Qc|0)>(kc|0)?kc:Qc)<<24>>24>=1){Qc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qc+R|0;while(1){o[(Rc<<2)+lc>>2]=n[R>>1];R=R+2|0;Rc=Rc+1|0;Qc=m[a+24|0];if((Rc|0)<((Qc|0)>(kc|0)?kc:Qc)<<24>>24){continue}break}}if((Qc|0)>=(kc|0)){break b}break a;case 2:Sc=1;Qc=m[a+24|0];if(((Qc|0)>(kc|0)?kc:Qc)<<24>>24>=1){Qc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qc+R|0;while(1){o[(Rc<<2)+lc>>2]=q[R>>1];R=R+2|0;Rc=Rc+1|0;Qc=m[a+24|0];if((Rc|0)<((Qc|0)>(kc|0)?kc:Qc)<<24>>24){continue}break}}if((Qc|0)>=(kc|0)){break b}break a;case 3:Sc=1;Qc=m[a+24|0];if(((Qc|0)>(kc|0)?kc:Qc)<<24>>24>=1){Qc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qc+R|0;while(1){o[(Rc<<2)+lc>>2]=o[R>>2];R=R+4|0;Rc=Rc+1|0;Qc=m[a+24|0];if((Rc|0)<((Qc|0)>(kc|0)?kc:Qc)<<24>>24){continue}break}}if((Qc|0)>=(kc|0)){break b}break a;case 4:Sc=1;Qc=m[a+24|0];if(((Qc|0)>(kc|0)?kc:Qc)<<24>>24>=1){Qc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qc+R|0;while(1){o[(Rc<<2)+lc>>2]=o[R>>2];R=R+4|0;Rc=Rc+1|0;Qc=m[a+24|0];if((Rc|0)<((Qc|0)>(kc|0)?kc:Qc)<<24>>24){continue}break}}if((Qc|0)>=(kc|0)){break b}break a;case 5:Sc=1;Qc=m[a+24|0];if(((Qc|0)>(kc|0)?kc:Qc)<<24>>24>=1){Qc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qc+R|0;while(1){o[(Rc<<2)+lc>>2]=o[R>>2];R=R+8|0;Rc=Rc+1|0;Qc=m[a+24|0];if((Rc|0)<((Qc|0)>(kc|0)?kc:Qc)<<24>>24){continue}break}}if((Qc|0)>=(kc|0)){break b}break a;case 6:Sc=1;Qc=m[a+24|0];if(((Qc|0)>(kc|0)?kc:Qc)<<24>>24>=1){Qc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qc+R|0;while(1){o[(Rc<<2)+lc>>2]=o[R>>2];R=R+8|0;Rc=Rc+1|0;Qc=m[a+24|0];if((Rc|0)<((Qc|0)>(kc|0)?kc:Qc)<<24>>24){continue}break}}if((Qc|0)>=(kc|0)){break b}break a;case 7:Sc=1;Qc=m[a+24|0];if(((Qc|0)>(kc|0)?kc:Qc)<<24>>24<1){break c}Qc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qc+R|0;while(1){Qc=(Rc<<2)+lc|0;Uc=s[R>>2];f:{if(v(w(Uc))>2]=Tc;R=R+4|0;Rc=Rc+1|0;Qc=m[a+24|0];if((Rc|0)<((Qc|0)>(kc|0)?kc:Qc)<<24>>24){continue}break}break c;case 8:Sc=1;Qc=m[a+24|0];if(((Qc|0)>(kc|0)?kc:Qc)<<24>>24<1){break d}Qc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qc+R|0;while(1){Qc=(Rc<<2)+lc|0;Vc=t[R>>3];g:{if(w(Vc)<2147483648){Tc=~~Vc;break g}Tc=-2147483648}o[Qc>>2]=Tc;R=R+8|0;Rc=Rc+1|0;Qc=m[a+24|0];if((Rc|0)<((Qc|0)>(kc|0)?kc:Qc)<<24>>24){continue}break}break d;case 9:break e}}Sc=1;Qc=m[a+24|0];if(((Qc|0)>(kc|0)?kc:Qc)<<24>>24>=1){Qc=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=Qc+R|0;while(1){o[(Rc<<2)+lc>>2]=p[R|0];R=R+1|0;Rc=Rc+1|0;Qc=m[a+24|0];if((Rc|0)<((Qc|0)>(kc|0)?kc:Qc)<<24>>24){continue}break}}if((Qc|0)>=(kc|0)){break b}xl((Qc<<2)+lc|0,0,kc-Qc<<2);break b}if((Qc|0)>=(kc|0)){break b}break a}if((Qc|0)>=(kc|0)){break b}break a}return Sc}xl((Qc<<2)+lc|0,0,kc-Qc<<2);return 1}function Qa(a,kc,lc){var Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0;Wc=R-16|0;R=Wc;ad=o[a+80>>2];Zc=m[kc+24|0];Yc=u(ad,Zc);a:{a=o[kc+28>>2];b:{if(!(!p[kc+84|0]|((a|0)!=6?(a|0)!=5:0))){$c=o[kc+48>>2];Zc=o[o[kc>>2]>>2];o[Wc+8>>2]=0;o[Wc>>2]=0;o[Wc+4>>2]=0;a=0;kc=Yc<<2;c:{if(!kc){break c}a=kc>>2;if(a>>>0>=1073741824){break a}Xc=Hk(kc);o[Wc>>2]=Xc;o[Wc+4>>2]=Xc;_c=(a<<2)+Xc|0;o[Wc+8>>2]=_c;if((kc|0)<1){a=Xc;break c}a=wl(Xc,Zc+$c|0,kc)+kc|0;o[Wc+4>>2]=a}kc=o[lc>>2];if(kc){o[lc+4>>2]=kc;ul(kc);o[lc+8>>2]=0;o[lc>>2]=0;o[lc+4>>2]=0}o[lc>>2]=Xc;o[lc+8>>2]=_c;o[lc+4>>2]=a;a=1;break b}o[Wc+8>>2]=0;o[Wc>>2]=0;o[Wc+4>>2]=0;if(Zc){if((Zc|0)<=-1){break a}a=Zc<<2;Xc=Hk(a);o[Wc>>2]=Xc;_c=a+Xc|0;o[Wc+8>>2]=_c;xl(Xc,0,a);o[Wc+4>>2]=_c}Xc=o[lc>>2];a=o[lc+4>>2]-Xc>>2;d:{if(Yc>>>0>a>>>0){Da(lc,Yc-a|0);break d}if(Yc>>>0>=a>>>0){break d}o[lc+4>>2]=Xc+(Yc<<2)}e:{if(!ad){a=1;break e}Xc=0;_c=kc+68|0;bd=(Zc|0)<1;while(1){a=$c;Yc=kc;if(!p[kc+84|0]){a=o[o[_c>>2]+($c<<2)>>2]}if(!Ra(Yc,a,m[kc+24|0],o[Wc>>2])){a=0;break e}if(!bd){Yc=o[lc>>2];a=0;cd=o[Wc>>2];while(1){o[Yc+(Xc<<2)>>2]=o[cd+(a<<2)>>2];Xc=Xc+1|0;a=a+1|0;if((Zc|0)!=(a|0)){continue}break}}a=1;$c=$c+1|0;if((ad|0)!=($c|0)){continue}break}}kc=o[Wc>>2];if(!kc){break b}o[Wc+4>>2]=kc;ul(kc)}R=Wc+16|0;return a}Yk();D()}function Ra(a,R,kc,lc){var dd=0,ed=0,fd=0,gd=0,hd=v(0),id=0;a:{b:{if(!lc){break b}dd=o[a+28>>2]+ -1|0;if(dd>>>0>10){break b}c:{d:{e:{switch(dd-1|0){default:fd=1;dd=m[a+24|0];if(((dd|0)>(kc|0)?kc:dd)<<24>>24>=1){dd=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=dd+R|0;while(1){o[(ed<<2)+lc>>2]=m[R|0];R=R+1|0;ed=ed+1|0;dd=m[a+24|0];if((ed|0)<((dd|0)>(kc|0)?kc:dd)<<24>>24){continue}break}}if((dd|0)>=(kc|0)){break b}break a;case 0:fd=1;dd=m[a+24|0];if(((dd|0)>(kc|0)?kc:dd)<<24>>24>=1){dd=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=dd+R|0;while(1){o[(ed<<2)+lc>>2]=p[R|0];R=R+1|0;ed=ed+1|0;dd=m[a+24|0];if((ed|0)<((dd|0)>(kc|0)?kc:dd)<<24>>24){continue}break}}if((dd|0)>=(kc|0)){break b}break a;case 1:fd=1;dd=m[a+24|0];if(((dd|0)>(kc|0)?kc:dd)<<24>>24>=1){dd=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=dd+R|0;while(1){o[(ed<<2)+lc>>2]=n[R>>1];R=R+2|0;ed=ed+1|0;dd=m[a+24|0];if((ed|0)<((dd|0)>(kc|0)?kc:dd)<<24>>24){continue}break}}if((dd|0)>=(kc|0)){break b}break a;case 2:fd=1;dd=m[a+24|0];if(((dd|0)>(kc|0)?kc:dd)<<24>>24>=1){dd=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=dd+R|0;while(1){o[(ed<<2)+lc>>2]=q[R>>1];R=R+2|0;ed=ed+1|0;dd=m[a+24|0];if((ed|0)<((dd|0)>(kc|0)?kc:dd)<<24>>24){continue}break}}if((dd|0)>=(kc|0)){break b}break a;case 3:fd=1;dd=m[a+24|0];if(((dd|0)>(kc|0)?kc:dd)<<24>>24>=1){dd=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=dd+R|0;while(1){o[(ed<<2)+lc>>2]=o[R>>2];R=R+4|0;ed=ed+1|0;dd=m[a+24|0];if((ed|0)<((dd|0)>(kc|0)?kc:dd)<<24>>24){continue}break}}if((dd|0)>=(kc|0)){break b}break a;case 4:fd=1;dd=m[a+24|0];if(((dd|0)>(kc|0)?kc:dd)<<24>>24>=1){dd=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=dd+R|0;while(1){o[(ed<<2)+lc>>2]=o[R>>2];R=R+4|0;ed=ed+1|0;dd=m[a+24|0];if((ed|0)<((dd|0)>(kc|0)?kc:dd)<<24>>24){continue}break}}if((dd|0)>=(kc|0)){break b}break a;case 5:fd=1;dd=m[a+24|0];if(((dd|0)>(kc|0)?kc:dd)<<24>>24>=1){dd=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=dd+R|0;while(1){o[(ed<<2)+lc>>2]=o[R>>2];R=R+8|0;ed=ed+1|0;dd=m[a+24|0];if((ed|0)<((dd|0)>(kc|0)?kc:dd)<<24>>24){continue}break}}if((dd|0)>=(kc|0)){break b}break a;case 6:fd=1;dd=m[a+24|0];if(((dd|0)>(kc|0)?kc:dd)<<24>>24>=1){dd=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=dd+R|0;while(1){o[(ed<<2)+lc>>2]=o[R>>2];R=R+8|0;ed=ed+1|0;dd=m[a+24|0];if((ed|0)<((dd|0)>(kc|0)?kc:dd)<<24>>24){continue}break}}if((dd|0)>=(kc|0)){break b}break a;case 7:fd=1;dd=m[a+24|0];if(((dd|0)>(kc|0)?kc:dd)<<24>>24<1){break c}dd=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=dd+R|0;while(1){dd=(ed<<2)+lc|0;hd=s[R>>2];f:{if(hd=v(0)){gd=~~hd>>>0;break f}gd=0}o[dd>>2]=gd;R=R+4|0;ed=ed+1|0;dd=m[a+24|0];if((ed|0)<((dd|0)>(kc|0)?kc:dd)<<24>>24){continue}break}break c;case 8:fd=1;dd=m[a+24|0];if(((dd|0)>(kc|0)?kc:dd)<<24>>24<1){break d}dd=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=dd+R|0;while(1){dd=(ed<<2)+lc|0;id=t[R>>3];g:{if(id<4294967296&id>=0){gd=~~id>>>0;break g}gd=0}o[dd>>2]=gd;R=R+8|0;ed=ed+1|0;dd=m[a+24|0];if((ed|0)<((dd|0)>(kc|0)?kc:dd)<<24>>24){continue}break}break d;case 9:break e}}fd=1;dd=m[a+24|0];if(((dd|0)>(kc|0)?kc:dd)<<24>>24>=1){dd=o[o[a>>2]>>2];R=o[a+48>>2]+Vl(o[a+40>>2],o[a+44>>2],R,0)|0;R=dd+R|0;while(1){o[(ed<<2)+lc>>2]=p[R|0];R=R+1|0;ed=ed+1|0;dd=m[a+24|0];if((ed|0)<((dd|0)>(kc|0)?kc:dd)<<24>>24){continue}break}}if((dd|0)>=(kc|0)){break b}xl((dd<<2)+lc|0,0,kc-dd<<2);break b}if((dd|0)>=(kc|0)){break b}break a}if((dd|0)>=(kc|0)){break b}break a}return fd}xl((dd<<2)+lc|0,0,kc-dd<<2);return 1}function Sa(a,kc,lc,jd,kd){var ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0;md=R-16|0;R=md;lc=lc+ -1|0;a:{if(lc>>>0>8){break a}b:{switch(lc-1|0){default:ld=Ta(a,kc,jd,kd);break a;case 1:ld=Ua(a,kc,jd,kd);break a;case 3:ld=Va(a,kc,jd,kd);break a;case 0:ld=Wa(a,kc,jd,kd);break a;case 2:ld=Xa(a,kc,jd,kd);break a;case 4:ld=Ya(a,kc,jd,kd);break a;case 5:case 6:break a;case 7:break b}}nd=o[a+80>>2];od=m[kc+24|0];pd=od<<2;if((u(nd,pd)|0)!=(jd|0)){break a}a=0;lc=o[259];o[md+8>>2]=o[258];o[md+12>>2]=lc;lc=o[257];o[md>>2]=o[256];o[md+4>>2]=lc;if(!nd){ld=1;break a}qd=kc+68|0;rd=(od|0)<1;lc=0;while(1){jd=lc;ld=kc;if(!p[kc+84|0]){jd=o[o[qd>>2]+(lc<<2)>>2]}if(!Ba(ld,jd,m[kc+24|0],md)){ld=0;break a}if(!rd){wl((a<<2)+kd|0,md,pd);a=a+od|0}ld=1;lc=lc+1|0;if((nd|0)!=(lc|0)){continue}break}}R=md+16|0;return ld}function Ta(a,kc,lc,jd){var kd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0;sd=R-16|0;R=sd;a:{vd=o[a+80>>2];td=m[kc+24|0];b:{if((u(vd,td)|0)!=(lc|0)){break b}if(!(!p[kc+84|0]|o[kc+28>>2]!=1)){wl(jd,o[o[kc>>2]>>2]+o[kc+48>>2]|0,lc);kd=1;break b}o[sd+8>>2]=0;o[sd>>2]=0;o[sd+4>>2]=0;if(td){if((td|0)<=-1){break a}kd=Hk(td);o[sd>>2]=kd;o[sd+4>>2]=kd;o[sd+8>>2]=kd+td;lc=td;while(1){m[kd|0]=0;kd=o[sd+4>>2]+1|0;o[sd+4>>2]=kd;lc=lc+ -1|0;if(lc){continue}break}}c:{if(!vd){kd=1;break c}lc=0;wd=kc+68|0;xd=(td|0)<1;while(1){a=ud;kd=kc;if(!p[kd+84|0]){a=o[o[wd>>2]+(ud<<2)>>2]}if(!Ga(kd,a,m[kc+24|0],o[sd>>2])){kd=0;break c}if(!xd){kd=0;a=o[sd>>2];while(1){m[lc+jd|0]=p[a+kd|0];lc=lc+1|0;kd=kd+1|0;if((td|0)!=(kd|0)){continue}break}}kd=1;ud=ud+1|0;if((vd|0)!=(ud|0)){continue}break}}a=o[sd>>2];if(!a){break b}o[sd+4>>2]=a;ul(a)}R=sd+16|0;return kd}Yk();D()}function Ua(a,kc,lc,jd){var yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0;yd=R-16|0;R=yd;a:{Cd=o[a+80>>2];Ad=m[kc+24|0];a=Ad<<1;b:{if((u(Cd,a)|0)!=(lc|0)){break b}if(!(!p[kc+84|0]|o[kc+28>>2]!=3)){wl(jd,o[o[kc>>2]>>2]+o[kc+48>>2]|0,lc);zd=1;break b}lc=0;o[yd+8>>2]=0;o[yd>>2]=0;o[yd+4>>2]=0;if(Ad){if((Ad|0)<=-1){break a}lc=Hk(a);o[yd>>2]=lc;o[yd+8>>2]=(Ad<<1)+lc;Fd=yd,Gd=xl(lc,0,a)+a|0,o[Fd+4>>2]=Gd}c:{if(!Cd){zd=1;break c}lc=0;Dd=kc+68|0;Ed=(Ad|0)<1;while(1){a=Bd;zd=kc;if(!p[kc+84|0]){a=o[o[Dd>>2]+(Bd<<2)>>2]}d:{if(!La(zd,a,m[kc+24|0],o[yd>>2])){zd=0;break d}if(!Ed){zd=0;a=o[yd>>2];while(1){n[(lc<<1)+jd>>1]=q[a+(zd<<1)>>1];lc=lc+1|0;zd=zd+1|0;if((Ad|0)!=(zd|0)){continue}break}}zd=1;Bd=Bd+1|0;if((Cd|0)!=(Bd|0)){continue}}break}lc=o[yd>>2]}if(!lc){break b}o[yd+4>>2]=lc;ul(lc)}R=yd+16|0;return zd}Yk();D()}function Va(a,kc,lc,jd){var Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0;Hd=R-16|0;R=Hd;a:{Ld=o[a+80>>2];Jd=m[kc+24|0];a=Jd<<2;b:{if((u(Ld,a)|0)!=(lc|0)){break b}if(!(!p[kc+84|0]|o[kc+28>>2]!=5)){wl(jd,o[o[kc>>2]>>2]+o[kc+48>>2]|0,lc);Id=1;break b}lc=0;o[Hd+8>>2]=0;o[Hd>>2]=0;o[Hd+4>>2]=0;if(Jd){if((Jd|0)<=-1){break a}lc=Hk(a);o[Hd>>2]=lc;o[Hd+8>>2]=(Jd<<2)+lc;Od=Hd,Pd=xl(lc,0,a)+a|0,o[Od+4>>2]=Pd}c:{if(!Ld){Id=1;break c}lc=0;Md=kc+68|0;Nd=(Jd|0)<1;while(1){a=Kd;Id=kc;if(!p[kc+84|0]){a=o[o[Md>>2]+(Kd<<2)>>2]}d:{if(!Pa(Id,a,m[kc+24|0],o[Hd>>2])){Id=0;break d}if(!Nd){Id=0;a=o[Hd>>2];while(1){o[(lc<<2)+jd>>2]=o[a+(Id<<2)>>2];lc=lc+1|0;Id=Id+1|0;if((Jd|0)!=(Id|0)){continue}break}}Id=1;Kd=Kd+1|0;if((Ld|0)!=(Kd|0)){continue}}break}lc=o[Hd>>2]}if(!lc){break b}o[Hd+4>>2]=lc;ul(lc)}R=Hd+16|0;return Id}Yk();D()}function Wa(a,kc,lc,jd){var Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0;Rd=R-16|0;R=Rd;a:{Ud=o[a+80>>2];Sd=m[kc+24|0];b:{if((u(Ud,Sd)|0)!=(lc|0)){break b}if(!(!p[kc+84|0]|o[kc+28>>2]!=2)){wl(jd,o[o[kc>>2]>>2]+o[kc+48>>2]|0,lc);Qd=1;break b}o[Rd+8>>2]=0;o[Rd>>2]=0;o[Rd+4>>2]=0;if(Sd){if((Sd|0)<=-1){break a}Qd=Hk(Sd);o[Rd>>2]=Qd;o[Rd+4>>2]=Qd;o[Rd+8>>2]=Qd+Sd;lc=Sd;while(1){m[Qd|0]=0;Qd=o[Rd+4>>2]+1|0;o[Rd+4>>2]=Qd;lc=lc+ -1|0;if(lc){continue}break}}c:{if(!Ud){Qd=1;break c}lc=0;Vd=kc+68|0;Wd=(Sd|0)<1;while(1){a=Td;Qd=kc;if(!p[Qd+84|0]){a=o[o[Vd>>2]+(Td<<2)>>2]}if(!Ia(Qd,a,m[kc+24|0],o[Rd>>2])){Qd=0;break c}if(!Wd){Qd=0;a=o[Rd>>2];while(1){m[lc+jd|0]=p[a+Qd|0];lc=lc+1|0;Qd=Qd+1|0;if((Sd|0)!=(Qd|0)){continue}break}}Qd=1;Td=Td+1|0;if((Ud|0)!=(Td|0)){continue}break}}a=o[Rd>>2];if(!a){break b}o[Rd+4>>2]=a;ul(a)}R=Rd+16|0;return Qd}Yk();D()}function Xa(a,kc,lc,jd){var Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0;Xd=R-16|0;R=Xd;a:{$d=o[a+80>>2];Zd=m[kc+24|0];a=Zd<<1;b:{if((u($d,a)|0)!=(lc|0)){break b}if(!(!p[kc+84|0]|o[kc+28>>2]!=4)){wl(jd,o[o[kc>>2]>>2]+o[kc+48>>2]|0,lc);Yd=1;break b}lc=0;o[Xd+8>>2]=0;o[Xd>>2]=0;o[Xd+4>>2]=0;if(Zd){if((Zd|0)<=-1){break a}lc=Hk(a);o[Xd>>2]=lc;o[Xd+8>>2]=(Zd<<1)+lc;ce=Xd,de=xl(lc,0,a)+a|0,o[ce+4>>2]=de}c:{if(!$d){Yd=1;break c}lc=0;ae=kc+68|0;be=(Zd|0)<1;while(1){a=_d;Yd=kc;if(!p[kc+84|0]){a=o[o[ae>>2]+(_d<<2)>>2]}d:{if(!Na(Yd,a,m[kc+24|0],o[Xd>>2])){Yd=0;break d}if(!be){Yd=0;a=o[Xd>>2];while(1){n[(lc<<1)+jd>>1]=q[a+(Yd<<1)>>1];lc=lc+1|0;Yd=Yd+1|0;if((Zd|0)!=(Yd|0)){continue}break}}Yd=1;_d=_d+1|0;if(($d|0)!=(_d|0)){continue}}break}lc=o[Xd>>2]}if(!lc){break b}o[Xd+4>>2]=lc;ul(lc)}R=Xd+16|0;return Yd}Yk();D()}function Ya(a,kc,lc,jd){var ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0;ee=R-16|0;R=ee;a:{ie=o[a+80>>2];ge=m[kc+24|0];a=ge<<2;b:{if((u(ie,a)|0)!=(lc|0)){break b}if(!(!p[kc+84|0]|o[kc+28>>2]!=6)){wl(jd,o[o[kc>>2]>>2]+o[kc+48>>2]|0,lc);fe=1;break b}lc=0;o[ee+8>>2]=0;o[ee>>2]=0;o[ee+4>>2]=0;if(ge){if((ge|0)<=-1){break a}lc=Hk(a);o[ee>>2]=lc;o[ee+8>>2]=(ge<<2)+lc;le=ee,me=xl(lc,0,a)+a|0,o[le+4>>2]=me}c:{if(!ie){fe=1;break c}lc=0;je=kc+68|0;ke=(ge|0)<1;while(1){a=he;fe=kc;if(!p[kc+84|0]){a=o[o[je>>2]+(he<<2)>>2]}d:{if(!Ra(fe,a,m[kc+24|0],o[ee>>2])){fe=0;break d}if(!ke){fe=0;a=o[ee>>2];while(1){o[(lc<<2)+jd>>2]=o[a+(fe<<2)>>2];lc=lc+1|0;fe=fe+1|0;if((ge|0)!=(fe|0)){continue}break}}fe=1;he=he+1|0;if((ie|0)!=(he|0)){continue}}break}lc=o[ee>>2]}if(!lc){break b}o[ee+4>>2]=lc;ul(lc)}R=ee+16|0;return fe}Yk();D()}function Za(a,R){var kc=0,lc=0;kc=o[a+4>>2];if(!kc){return 0}R=o[o[o[a+8>>2]+(R<<2)>>2]+60>>2];if((R|0)<0){return 0}a=o[kc+24>>2];kc=o[kc+28>>2];if((a|0)==(kc|0)){return 0}a:{while(1){lc=o[a>>2];if((R|0)==o[lc+24>>2]){break a}a=a+4|0;if((kc|0)!=(a|0)){continue}break}return 0}return lc}function _a(a){var R=0;R=G(8)|0;o[R>>2]=12288;o[R>>2]=12332;Ik(R+4|0,a);o[R>>2]=12380;H(R|0,12412,1);D()}function $a(a,jd,ne){var oe=0,pe=0,qe=0,re=0,se=0;pe=R-16|0;R=pe;o[a+4>>2]=0;a:{b:{if(!jd){break b}qe=o[a+8>>2];oe=qe<<5;c:{if(oe>>>0>=jd>>>0){o[a+4>>2]=jd;break c}o[pe+8>>2]=0;o[pe>>2]=0;o[pe+4>>2]=0;if((jd|0)<=-1){break a}se=pe;if(oe>>>0<=1073741822){re=jd+31&-32;oe=qe<<6;re=oe>>>0>>0?re:oe}else{re=2147483647}ab(se,re);re=o[a>>2];o[a>>2]=o[pe>>2];o[pe>>2]=re;qe=o[a+4>>2];o[a+4>>2]=jd;o[pe+4>>2]=qe;oe=a+8|0;qe=o[oe>>2];o[oe>>2]=o[pe+8>>2];o[pe+8>>2]=qe;if(!re){break c}ul(re)}oe=jd>>>5;qe=oe<<2;a=o[a>>2];if(p[ne|0]){a=xl(a,255,qe);jd=jd&31;if(!jd){break b}a=a+(oe<<2)|0;o[a>>2]=o[a>>2]|-1>>>32-jd;break b}a=xl(a,0,qe);jd=jd&31;if(!jd){break b}a=a+(oe<<2)|0;o[a>>2]=o[a>>2]&(-1>>>32-jd^-1)}R=pe+16|0;return}Yk();D()}function ab(a,jd){var ne=0,te=0;ne=R-32|0;R=ne;a:{b:{if(o[a+8>>2]<<5>>>0>=jd>>>0){break b}o[ne+24>>2]=0;o[ne+16>>2]=0;o[ne+20>>2]=0;if((jd|0)<=-1){break a}jd=(jd+ -1>>>5)+1|0;te=Hk(jd<<2);o[ne+24>>2]=jd;o[ne+20>>2]=0;o[ne+16>>2]=te;jd=o[a>>2];o[ne+12>>2]=0;o[ne+8>>2]=jd;te=o[a+4>>2];o[ne+4>>2]=te&31;o[ne>>2]=jd+(te>>>3&536870908);bb(ne+16|0,ne+8|0,ne);jd=o[a>>2];o[a>>2]=o[ne+16>>2];o[ne+16>>2]=jd;te=o[a+4>>2];o[a+4>>2]=o[ne+20>>2];o[ne+20>>2]=te;a=a+8|0;te=o[a>>2];o[a>>2]=o[ne+24>>2];o[ne+24>>2]=te;if(!jd){break b}ul(jd)}R=ne+32|0;return}Yk();D()}function bb(a,jd,ue){var ve=0,we=0,xe=0,ye=0,ze=0,Ae=0;xe=R-32|0;R=xe;ze=o[ue+4>>2];ve=o[jd+4>>2];Ae=o[ue>>2];ye=o[jd>>2];jd=(ze-ve|0)+(Ae-ye<<3)|0;ue=o[a+4>>2];we=jd+ue|0;o[a+4>>2]=we;a:{if(!(!ue|(we+ -1^ue+ -1)>>>0>31)){a=o[a>>2];break a}a=o[a>>2];if(we>>>0<=32){o[a>>2]=0;break a}o[(we+ -1>>>3&536870908)+a>>2]=0}a=(ue>>>3&536870908)+a|0;ue=ue&31;b:{if((ue|0)==(ve|0)){c:{if((jd|0)<1){break c}d:{if(!ve){ue=0;break d}we=32-ve|0;ue=(jd|0)<(we|0)?jd:we;we=-1<>>we-ue;o[a>>2]=o[a>>2]&(we^-1)|we&o[ye>>2];jd=jd-ue|0;ve=ue+ve|0;ue=ve&31;a=(ve>>>3&536870908)+a|0;ye=ye+4|0}ve=(jd|0)/32|0;we=ve<<2;a=yl(a,ye,we)+we|0;ve=jd-(ve<<5)|0;if((ve|0)<1){ve=ue;break c}jd=-1>>>32-ve;o[a>>2]=o[a>>2]&(jd^-1)|jd&o[we+ye>>2]}o[xe+4>>2]=ve;o[xe>>2]=a;break b}o[xe+28>>2]=ve;o[xe+24>>2]=ye;o[xe+20>>2]=ze;o[xe+16>>2]=Ae;o[xe+12>>2]=ue;o[xe+8>>2]=a;cb(xe,xe+24|0,xe+16|0,xe+8|0)}R=xe+32|0}function cb(a,jd,ue,Be){var Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0;De=o[jd>>2];Ce=o[ue+4>>2]+(o[ue>>2]-De<<3)|0;ue=o[jd+4>>2];Ee=Ce-ue|0;a:{if((Ee|0)<=0){ue=o[Be+4>>2];break a}b:{if(!ue){ue=o[Be+4>>2];break b}Ce=o[Be+4>>2];He=32-Ce|0;Ie=32-ue|0;Fe=(Ee|0)<(Ie|0)?Ee:Ie;Ge=He>>>0>>0?He:Fe;Je=o[Be>>2];De=o[De>>2]&(-1<>>Ie-Fe);o[Je>>2]=o[Je>>2]&(-1<>>He-Ge^-1)|(Ce>>>0>ue>>>0?De<>>ue-Ce);Ce=Ce+Ge|0;ue=Ce&31;o[Be+4>>2]=ue;He=Je+(Ce>>>3&536870908)|0;o[Be>>2]=He;Ce=Fe-Ge|0;if((Ce|0)>=1){o[He>>2]=o[He>>2]&(-1>>>32-Ce^-1)|De>>>Ge+o[jd+4>>2];o[Be+4>>2]=Ce;ue=Ce}Ee=Ee-Fe|0;De=o[jd>>2]+4|0;o[jd>>2]=De}Ge=-1<>2];De=o[De>>2];o[Ce>>2]=He&o[Ce>>2]|De<>2]=Ce+4;o[Ce+4>>2]=Ge&o[Ce+4>>2]|De>>>Fe;De=o[jd>>2]+4|0;o[jd>>2]=De;Ie=(Ee|0)>63;Ce=Ee+ -32|0;Ee=Ce;if(Ie){continue}break}}if((Ce|0)<1){break a}jd=o[Be>>2];Ee=(Fe|0)<(Ce|0)?Fe:Ce;Ge=o[jd>>2]&(Ge&-1>>>Fe-Ee^-1);Fe=o[De>>2]&-1>>>32-Ce;o[jd>>2]=Ge|Fe<>2]=ue;De=jd+(De>>>3&536870908)|0;o[Be>>2]=De;jd=Ce-Ee|0;if((jd|0)<1){break a}o[De>>2]=o[De>>2]&(-1>>>32-jd^-1)|Fe>>>Ee;o[Be+4>>2]=jd;ue=jd}jd=o[Be>>2];o[a+4>>2]=ue;o[a>>2]=jd}function db(a){a=a|0;return o[a>>2]}function eb(a){a=a|0;return!o[a>>2]|0}function fb(a){a=a|0;var jd=0;jd=a+4|0;if(m[a+15|0]<=-1){jd=o[jd>>2]}return jd|0}function gb(a){a=a|0;if(a){if(m[a+15|0]<=-1){ul(o[a+4>>2])}ul(a)}}function hb(){var a=0;a=Hk(12);o[a>>2]=0;o[a+4>>2]=0;o[a+8>>2]=0;return a|0}function ib(ue,Be){ue=ue|0;Be=Be|0;return q[o[ue>>2]+(Be<<1)>>1]}function jb(ue){ue=ue|0;return o[ue+4>>2]-o[ue>>2]>>1}function kb(ue){ue=ue|0;var Be=0;if(ue){Be=o[ue>>2];if(Be){o[ue+4>>2]=Be;ul(Be)}ul(ue)}}function lb(){return qj(Hk(84))|0}function mb(ue){ue=ue|0;return o[ue+12>>2]-o[ue+8>>2]>>2}function nb(ue){ue=ue|0;return o[ue+80>>2]}function ob(ue){ue=ue|0;if(ue){l[o[o[ue>>2]+4>>2]](ue)}}function pb(ue,Ke){ue=ue|0;Ke=Ke|0;return p[o[ue>>2]+Ke|0]}function qb(ue){ue=ue|0;return o[ue+4>>2]-o[ue>>2]|0}function rb(ue,Ke){ue=ue|0;Ke=Ke|0;return o[o[ue>>2]+(Ke<<2)>>2]}function sb(ue){ue=ue|0;return o[ue+4>>2]-o[ue>>2]>>2}function tb(){var ue=0;ue=Hk(8);o[ue+4>>2]=-1;o[ue>>2]=1116;return ue|0}function ub(Ke,Le){Ke=Ke|0;Le=Le|0;return l[o[o[Ke>>2]+12>>2]](Ke,Le)|0}function vb(Ke){Ke=Ke|0;return o[Ke+4>>2]}function wb(){return pd(Hk(96))|0}function xb(Ke){Ke=Ke|0;return o[Ke+88>>2]}function yb(Ke){Ke=Ke|0;return o[Ke+56>>2]}function zb(Ke){Ke=Ke|0;return o[Ke+28>>2]}function Ab(o){o=o|0;return m[o+24|0]}function Bb(o){o=o|0;return p[o+32|0]}function Cb(Ke){Ke=Ke|0;return o[Ke+40>>2]}function Db(Ke){Ke=Ke|0;return o[Ke+48>>2]}function Eb(Ke){Ke=Ke|0;return o[Ke+60>>2]}function Fb(Ke){Ke=Ke|0;var Le=0,Me=0;if(Ke){Le=Ke+88|0;Me=o[Le>>2];o[Le>>2]=0;if(Me){Le=o[Me+8>>2];if(Le){o[Me+12>>2]=Le;ul(Le)}ul(Me)}Me=o[Ke+68>>2];if(Me){o[Ke+72>>2]=Me;ul(Me)}Le=Ke- -64|0;Me=o[Le>>2];o[Le>>2]=0;if(Me){Le=o[Me>>2];if(Le){o[Me+4>>2]=Le;ul(Le)}ul(Me)}ul(Ke)}}function Gb(){var Ke=0;Ke=Hk(40);o[Ke>>2]=-1;ki(Ke+8|0);return Ke|0}function Hb(Ne){Ne=Ne|0;var Oe=0;if(Ne){Oe=o[Ne+8>>2];if(Oe){o[Ne+12>>2]=Oe;ul(Oe)}ul(Ne)}}function Ib(){var Ne=0;Ne=Hk(24);o[Ne+4>>2]=-1;o[Ne>>2]=1232;o[Ne+8>>2]=0;o[Ne+12>>2]=0;o[Ne+16>>2]=0;o[Ne+20>>2]=0;return Ne|0}function Jb(Pe,Qe){Pe=Pe|0;Qe=Qe|0;return v(s[o[Pe+8>>2]+(Qe<<2)>>2])}function Kb(o){o=o|0;return v(s[o+20>>2])}function Lb(Pe,Qe){Pe=Pe|0;Qe=Qe|0;return m[o[Pe>>2]+Qe|0]}function Mb(){var Pe=0;Pe=Hk(28);o[Pe>>2]=0;o[Pe+4>>2]=0;o[Pe+24>>2]=0;o[Pe+16>>2]=0;o[Pe+20>>2]=0;o[Pe+8>>2]=0;o[Pe+12>>2]=0;return Pe|0}function Nb(o,Qe,Re){o=o|0;Qe=Qe|0;Re=Re|0;return da(Qe,Re)|0}function Ob(o,Qe,Re){o=o|0;Qe=Qe|0;Re=Re|0;return fa(Qe,Re)|0}function Pb(o,Qe,Re,Se){o=o|0;Qe=Qe|0;Re=Re|0;Se=Se|0;ga(Qe,Re,Se)}function Qb(o,Qe,Re){o=o|0;Qe=Qe|0;Re=Re|0;return+ha(Qe,Re)}function Rb(o,Qe,Re){o=o|0;Qe=Qe|0;Re=Re|0;return ia(o,Qe,Re)|0}function Sb(Qe,Re){Qe=Qe|0;Re=Re|0;return o[Re+8>>2]}function Tb(o,Qe,Re){o=o|0;Qe=Qe|0;Re=Re|0;return ja(o,Qe,Re)|0}function Ub(Qe){Qe=Qe|0;var Re=0,Se=0,Te=0,Ue=0,Ve=0;if(Qe){if(m[Qe+27|0]<=-1){ul(o[Qe+16>>2])}Se=o[Qe>>2];if(Se){Re=Se;Ve=Qe+4|0;Te=o[Ve>>2];Ue=Re;a:{if((Te|0)==(Re|0)){break a}while(1){Re=Te+ -12|0;if(m[Te+ -1|0]<=-1){ul(o[Re>>2])}Te=Re;if((Re|0)!=(Se|0)){continue}break}Ue=o[Qe>>2]}Re=Ue;o[Ve>>2]=Se;ul(Re)}ul(Qe)}}function Vb(Qe,We){Qe=Qe|0;We=We|0;return n[o[Qe>>2]+(We<<1)>>1]}function Wb(Qe,We){Qe=Qe|0;We=We|0;return v(s[o[Qe>>2]+(We<<2)>>2])}function Xb(){return ld(Hk(64))|0}function Yb(o){o=o|0;if(o){ul(o)}}function Zb(){return oi(Hk(40))|0}function _b(Qe,We,Xe){Qe=Qe|0;We=We|0;Xe=Xe|0;o[Qe+16>>2]=0;o[Qe+20>>2]=0;o[Qe>>2]=We;o[Qe+8>>2]=Xe;o[Qe+12>>2]=0}function $b(){return la(Hk(40))|0}function ac(o,Qe){o=o|0;Qe=Qe|0;return ma(Qe)|0}function bc(o,Qe,We){o=o|0;Qe=Qe|0;We=We|0;return na(o)|0}function cc(o,Qe,We){o=o|0;Qe=Qe|0;We=We|0;return oa(o,Qe,We)|0}function dc(o,Qe,We){o=o|0;Qe=Qe|0;We=We|0;return rj(Qe,We)|0}function ec(o,Qe,We){o=o|0;Qe=Qe|0;We=We|0;return pa(Qe,We)|0}function fc(o,Qe,We,Xe){o=o|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return qa(Qe,We,Xe)|0}function gc(Qe,We,Xe){Qe=Qe|0;We=We|0;Xe=Xe|0;return o[o[We+8>>2]+(Xe<<2)>>2]}function hc(o,Qe,We){o=o|0;Qe=Qe|0;We=We|0;return tj(Qe,We)|0}function ic(Qe,We){Qe=Qe|0;We=We|0;return o[We+4>>2]}function jc(o,Qe,We){o=o|0;Qe=Qe|0;We=We|0;return Za(Qe,We)|0}function kc(o,Qe,We,Xe){o=o|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return ra(Qe,We,Xe)|0}function lc(o,Qe,We){o=o|0;Qe=Qe|0;We=We|0;return sa(Qe,We)|0}function mc(o,Qe,We,Xe){o=o|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return ya(Qe,We,Xe)|0}function nc(o,Qe,We,Xe){o=o|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return za(Qe,We,Xe)|0}function oc(o,Qe,We,Xe){o=o|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Aa(Qe,We,Xe)|0}function pc(o,Qe,We,Xe){o=o|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Ca(Qe,We,Xe)|0}function qc(o,Qe,We,Xe){o=o|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Oa(Qe,We,Xe)|0}function rc(o,Qe,We,Xe){o=o|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Ea(Qe,We,Xe)|0}function sc(o,Qe,We,Xe){o=o|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Ha(Qe,We,Xe)|0}function tc(o,Qe,We,Xe){o=o|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Ja(Qe,We,Xe)|0}function uc(o,Qe,We,Xe){o=o|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Ma(Qe,We,Xe)|0}function vc(o,Qe,We,Xe){o=o|0;Qe=Qe|0;We=We|0;Xe=Xe|0;return Qa(Qe,We,Xe)|0}function wc(o,Qe,We,Xe,Ye,Ze){o=o|0;Qe=Qe|0;We=We|0;Xe=Xe|0;Ye=Ye|0;Ze=Ze|0;return Sa(Qe,We,Xe,Ye,Ze)|0}function xc(o,Qe){o=o|0;Qe=Qe|0;Uf(o,Qe)}function yc(Qe){Qe=Qe|0;if(Qe){if(m[Qe+39|0]<=-1){ul(o[Qe+28>>2])}zc(Qe+12|0,o[Qe+16>>2]);Ac(Qe,o[Qe+4>>2]);ul(Qe)}}function zc(Qe,We){if(We){zc(Qe,o[We>>2]);zc(Qe,o[We+4>>2]);Ac(We+20|0,o[We+24>>2]);ul(We)}}function Ac(Qe,We){if(We){Ac(Qe,o[We>>2]);Ac(Qe,o[We+4>>2]);if(m[We+39|0]<=-1){ul(o[We+28>>2])}if(m[We+27|0]<=-1){ul(o[We+16>>2])}ul(We)}}function Bc(){return Li(Hk(108))|0}function Cc(Qe){Qe=Qe|0;return(o[Qe+100>>2]-o[Qe+96>>2]|0)/12|0}function Dc(){var Qe=0,We=0,Xe=0;We=Hk(24);Xe=We+4|0;Qe=Xe;o[Qe>>2]=0;o[Qe+4>>2]=0;Qe=We+16|0;o[Qe>>2]=0;o[Qe+4>>2]=0;o[We>>2]=Xe;o[We+12>>2]=Qe;return We|0}function Ec(Ye){Ye=Ye|0;if(Ye){Fc(Ye+12|0,o[Ye+16>>2]);Gc(Ye,o[Ye+4>>2]);ul(Ye)}}function Fc(Ye,Ze){var _e=0;if(Ze){Fc(Ye,o[Ze>>2]);Fc(Ye,o[Ze+4>>2]);_e=Ze+28|0;Ye=o[_e>>2];o[_e>>2]=0;if(Ye){Fc(Ye+12|0,o[Ye+16>>2]);Gc(Ye,o[Ye+4>>2]);ul(Ye)}if(m[Ze+27|0]<=-1){ul(o[Ze+16>>2])}ul(Ze)}}function Gc(Ye,Ze){if(Ze){Gc(Ye,o[Ze>>2]);Gc(Ye,o[Ze+4>>2]);Ye=o[Ze+28>>2];if(Ye){o[Ze+32>>2]=Ye;ul(Ye)}if(m[Ze+27|0]<=-1){ul(o[Ze+16>>2])}ul(Ze)}}function Hc(){return 0}function Ic(){return-1}function Jc(){return-2}function Kc(){return-3}function Lc(){return-4}function Mc(){return-5}function Nc(){return 1}function Oc(){return 2}function Pc(){return 3}function Qc(){return 4}function Rc(){return 5}function Sc(){return 6}function Tc(){return 7}function Uc(){return 8}function Vc(){return 9}function Wc(){return 10}function Xc(){return 11}function Yc(){return 12}function Zc(Ye,Ze){Ye=Ye|0;Ze=Ze|0;var $e=0;Ze=o[Ze+88>>2];if(!(!Ze|o[Ze>>2]!=2)){$e=Ye;Ye=o[Ze+8>>2];o[$e+4>>2]=p[Ye|0]|p[Ye+1|0]<<8|(p[Ye+2|0]<<16|p[Ye+3|0]<<24);$e=1}return $e|0}function _c(Ye,Ze){Ye=Ye|0;Ze=Ze|0;var af=0,bf=0;o[Ze>>2]=2;af=o[Ze+8>>2];bf=o[Ze+12>>2]-af|0;if(bf>>>0<=4294967291){Ze=Ze+8|0;ni(Ze,bf+4|0);af=o[Ze>>2]}Ze=af+bf|0;Ye=p[Ye+4|0]|p[Ye+5|0]<<8|(p[Ye+6|0]<<16|p[Ye+7|0]<<24);m[Ze|0]=Ye;m[Ze+1|0]=Ye>>>8;m[Ze+2|0]=Ye>>>16;m[Ze+3|0]=Ye>>>24}function $c(o){o=o|0;return o|0}function ad(o){o=o|0;ul(o)}function bd(o){o=o|0;return 2}function cd(Ye,Ze){Ye=Ye|0;Ze=Ze|0;var cf=0,df=0,ef=0,ff=0,gf=0,hf=0;ef=o[Ze+88>>2];if(!(!ef|o[ef>>2]!=1)){ff=ef+8|0;ef=o[ff>>2];cf=ef;o[Ye+4>>2]=p[cf|0]|p[cf+1|0]<<8|(p[cf+2|0]<<16|p[cf+3|0]<<24);gf=Ye+8|0;hf=o[Ye+8>>2];df=o[Ye+12>>2]-hf>>2;cf=m[Ze+24|0];a:{if(df>>>0>>0){Da(gf,cf-df|0);ef=o[ff>>2];cf=p[Ze+24|0];break a}if(df>>>0<=cf>>>0){break a}o[Ye+12>>2]=hf+(cf<<2)}ff=1;Ze=ef;df=p[Ze+4|0]|p[Ze+5|0]<<8|(p[Ze+6|0]<<16|p[Ze+7|0]<<24);if(cf<<24>>24>=1){hf=cf&255;gf=o[gf>>2];Ze=0;cf=4;while(1){o[gf+(Ze<<2)>>2]=df;cf=cf+4|0;df=ef+cf|0;df=p[df|0]|p[df+1|0]<<8|(p[df+2|0]<<16|p[df+3|0]<<24);Ze=Ze+1|0;if(Ze>>>0>>0){continue}break}}o[Ye+20>>2]=df}return ff|0}function dd(Ye,Ze){Ye=Ye|0;Ze=Ze|0;var jf=0,kf=0,lf=0,mf=0,nf=0,of=0;o[Ze>>2]=1;mf=Ze+8|0;jf=o[Ze+8>>2];kf=o[Ze+12>>2]-jf|0;if(kf>>>0<=4294967291){ni(mf,kf+4|0);jf=o[mf>>2]}kf=jf+kf|0;jf=p[Ye+4|0]|p[Ye+5|0]<<8|(p[Ye+6|0]<<16|p[Ye+7|0]<<24);m[kf|0]=jf;m[kf+1|0]=jf>>>8;m[kf+2|0]=jf>>>16;m[kf+3|0]=jf>>>24;jf=o[Ye+8>>2];if((jf|0)!=o[Ye+12>>2]){of=Ze+12|0;while(1){kf=(nf<<2)+jf|0;jf=o[Ze+8>>2];lf=o[of>>2]-jf|0;if(lf>>>0<=4294967291){ni(mf,lf+4|0);jf=o[mf>>2]}lf=jf+lf|0;jf=p[kf|0]|p[kf+1|0]<<8|(p[kf+2|0]<<16|p[kf+3|0]<<24);m[lf|0]=jf;m[lf+1|0]=jf>>>8;m[lf+2|0]=jf>>>16;m[lf+3|0]=jf>>>24;nf=nf+1|0;jf=o[Ye+8>>2];if(nf>>>0>2]-jf>>2>>>0){continue}break}}jf=o[Ze+12>>2];Ze=o[Ze+8>>2];jf=jf-Ze|0;if(jf>>>0<=4294967291){ni(mf,jf+4|0);Ze=o[mf>>2]}Ze=Ze+jf|0;Ye=p[Ye+20|0]|p[Ye+21|0]<<8|(p[Ye+22|0]<<16|p[Ye+23|0]<<24);m[Ze|0]=Ye;m[Ze+1|0]=Ye>>>8;m[Ze+2|0]=Ye>>>16;m[Ze+3|0]=Ye>>>24}function ed(Ye,Ze,pf,qf,rf){o[Ye+4>>2]=Ze;fd(Ye+8|0,pf,(qf<<2)+pf|0);s[Ye+20>>2]=rf}function fd(Ye,Ze,pf){var qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0;a:{tf=pf-Ze|0;sf=tf>>2;qf=o[Ye+8>>2];rf=o[Ye>>2];b:{if(sf>>>0<=qf-rf>>2>>>0){qf=o[Ye+4>>2]-rf|0;tf=qf>>2;qf=sf>>>0>tf>>>0?Ze+qf|0:pf;uf=qf-Ze|0;if(uf){yl(rf,Ze,uf)}if(sf>>>0>tf>>>0){Ze=pf-qf|0;if((Ze|0)<1){break b}Ye=Ye+4|0;wl(o[Ye>>2],qf,Ze);o[Ye>>2]=Ze+o[Ye>>2];return}o[Ye+4>>2]=rf+(uf>>2<<2);return}if(rf){o[Ye+4>>2]=rf;ul(rf);o[Ye+8>>2]=0;o[Ye>>2]=0;o[Ye+4>>2]=0;qf=0}if(sf>>>0>=1073741824){break a}pf=qf>>1;pf=qf>>2>>>0<536870911?pf>>>0>>0?sf:pf:1073741823;if(pf>>>0>=1073741824){break a}rf=pf<<2;pf=Hk(rf);o[Ye>>2]=pf;sf=Ye+4|0;o[sf>>2]=pf;o[Ye+8>>2]=pf+rf;if((tf|0)<1){break b}vf=sf,wf=wl(pf,Ze,tf)+tf|0,o[vf>>2]=wf}return}Yk();D()}function gd(Ye){Ye=Ye|0;var Ze=0;o[Ye>>2]=1232;Ze=o[Ye+8>>2];if(Ze){o[Ye+12>>2]=Ze;ul(Ze)}return Ye|0}function hd(Ye){Ye=Ye|0;var pf=0;o[Ye>>2]=1232;pf=o[Ye+8>>2];if(pf){o[Ye+12>>2]=pf;ul(pf)}ul(Ye)}function id(o){o=o|0;return 1}function jd(Ye,xf){var yf=0;yf=Hk(40);o[yf>>2]=-1;ki(yf+8|0);l[o[o[Ye>>2]+16>>2]](Ye,yf);Ye=o[xf+88>>2];o[xf+88>>2]=yf;if(Ye){xf=o[Ye+8>>2];if(xf){o[Ye+12>>2]=xf;ul(xf)}ul(Ye)}return 1}function kd(Ye,xf,zf){var Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0;Cf=o[Ye+8>>2];Af=o[Ye+4>>2];if(Cf-Af>>2>>>0>=xf>>>0){while(1){o[Af>>2]=o[zf>>2];Af=Af+4|0;xf=xf+ -1|0;if(xf){continue}break}o[Ye+4>>2]=Af;return}a:{Df=o[Ye>>2];Ef=Af-Df|0;Ff=Ef>>2;Af=Ff+xf|0;if(Af>>>0<1073741824){Cf=Cf-Df|0;Bf=Cf>>1;Af=Cf>>2>>>0<536870911?Bf>>>0>>0?Af:Bf:1073741823;Bf=0;b:{if(!Af){break b}if(Af>>>0>=1073741824){break a}Bf=Hk(Af<<2)}Cf=Bf+(Af<<2)|0;Af=Bf+(Ff<<2)|0;while(1){o[Af>>2]=o[zf>>2];Af=Af+4|0;xf=xf+ -1|0;if(xf){continue}break}if((Ef|0)>=1){wl(Bf,Df,Ef)}o[Ye>>2]=Bf;o[Ye+8>>2]=Cf;o[Ye+4>>2]=Af;if(Df){ul(Df)}return}Yk();D()}_a(1308);D()}function ld(Ye){o[Ye+8>>2]=0;o[Ye+12>>2]=0;o[Ye>>2]=0;o[Ye+40>>2]=0;o[Ye+44>>2]=0;o[Ye+28>>2]=9;m[Ye+24|0]=1;o[Ye+56>>2]=-1;o[Ye+60>>2]=0;o[Ye+16>>2]=0;o[Ye+20>>2]=0;o[Ye+48>>2]=0;o[Ye+52>>2]=0;return Ye}function md(Ye,xf,zf,Gf,Hf,If,Jf){o[Ye>>2]=0;o[Ye+56>>2]=xf;o[Ye+48>>2]=0;o[Ye+52>>2]=0;o[Ye+40>>2]=If;o[Ye+44>>2]=Jf;m[Ye+32|0]=Hf;o[Ye+28>>2]=Gf;m[Ye+24|0]=zf}function nd(Ye,xf){var zf=0,Gf=0,Hf=0;Gf=o[Ye>>2];a:{if(!Gf){break a}zf=o[xf>>2];if(!zf){break a}Hf=Gf;Gf=o[zf>>2];li(Hf,Gf,o[zf+4>>2]-Gf|0,0);m[Ye+24|0]=p[xf+24|0];o[Ye+28>>2]=o[xf+28>>2];m[Ye+32|0]=p[xf+32|0];zf=o[xf+44>>2];o[Ye+40>>2]=o[xf+40>>2];o[Ye+44>>2]=zf;zf=o[xf+52>>2];o[Ye+48>>2]=o[xf+48>>2];o[Ye+52>>2]=zf;o[Ye+56>>2]=o[xf+56>>2];zf=o[xf+12>>2];o[Ye+8>>2]=o[xf+8>>2];o[Ye+12>>2]=zf;zf=o[xf+20>>2];o[Ye+16>>2]=o[xf+16>>2];o[Ye+20>>2]=zf;o[Ye+60>>2]=o[xf+60>>2];Hf=1}return Hf}function od(Ye,xf,If,Jf){var Kf=0;o[Ye>>2]=xf;Kf=o[xf+20>>2];o[Ye+8>>2]=o[xf+16>>2];o[Ye+12>>2]=Kf;Kf=o[xf+24>>2];xf=o[xf+28>>2];o[Ye+48>>2]=0;o[Ye+52>>2]=0;o[Ye+40>>2]=If;o[Ye+44>>2]=Jf;o[Ye+16>>2]=Kf;o[Ye+20>>2]=xf}function pd(Ye){ld(Ye);o[Ye+64>>2]=0;o[Ye+68>>2]=0;o[Ye+88>>2]=0;o[Ye+72>>2]=0;o[Ye+76>>2]=0;m[Ye+77|0]=0;m[Ye+78|0]=0;m[Ye+79|0]=0;m[Ye+80|0]=0;m[Ye+81|0]=0;m[Ye+82|0]=0;m[Ye+83|0]=0;m[Ye+84|0]=0;return Ye}function qd(Ye,xf){var If=0;If=o[xf+4>>2];o[Ye>>2]=o[xf>>2];o[Ye+4>>2]=If;If=o[xf+60>>2];o[Ye+56>>2]=o[xf+56>>2];o[Ye+60>>2]=If;If=o[xf+52>>2];o[Ye+48>>2]=o[xf+48>>2];o[Ye+52>>2]=If;If=o[xf+44>>2];o[Ye+40>>2]=o[xf+40>>2];o[Ye+44>>2]=If;If=o[xf+36>>2];o[Ye+32>>2]=o[xf+32>>2];o[Ye+36>>2]=If;If=o[xf+28>>2];o[Ye+24>>2]=o[xf+24>>2];o[Ye+28>>2]=If;If=o[xf+20>>2];o[Ye+16>>2]=o[xf+16>>2];o[Ye+20>>2]=If;If=o[xf+12>>2];o[Ye+8>>2]=o[xf+8>>2];o[Ye+12>>2]=If;o[Ye+88>>2]=0;o[Ye+64>>2]=0;o[Ye+68>>2]=0;o[Ye+72>>2]=0;o[Ye+76>>2]=0;m[Ye+77|0]=0;m[Ye+78|0]=0;m[Ye+79|0]=0;m[Ye+80|0]=0;m[Ye+81|0]=0;m[Ye+82|0]=0;m[Ye+83|0]=0;m[Ye+84|0]=0}function rd(Ye,xf){var Jf=0,Lf=0;a:{if(o[Ye+64>>2]){break a}Lf=Hk(32);ki(Lf);Jf=o[Ye+64>>2];o[Ye+64>>2]=Lf;if(!Jf){break a}Lf=o[Jf>>2];if(Lf){o[Jf+4>>2]=Lf;ul(Lf)}ul(Jf)}Jf=ti(o[Ye+28>>2]);Jf=u(Jf,m[Ye+24|0]);Lf=Jf;Jf=Jf>>31;if(li(o[Ye+64>>2],0,Vl(Lf,Jf,xf,0),T)){od(Ye,o[Ye+64>>2],Lf,Jf);o[Ye+80>>2]=xf;Ye=1}else{Ye=0}return Ye}function sd(Ye,xf){var Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0;if(!o[Ye- -64>>2]){Mf=Hk(32);ki(Mf);Of=o[Ye+64>>2];o[Ye+64>>2]=Mf;Nf=Ye;if(Of){Mf=o[Of>>2];if(Mf){o[Of+4>>2]=Mf;ul(Mf)}ul(Of);Mf=o[Ye+64>>2]}od(Nf,Mf,0,0)}a:{b:{if(!nd(Ye,xf)){break b}m[Ye+84|0]=p[xf+84|0];o[Ye+80>>2]=o[xf+80>>2];if((Ye|0)!=(xf|0)){td(Ye+68|0,o[xf+68>>2],o[xf+72>>2])}Mf=o[xf+88>>2];if(Mf){xf=Hk(40);Nf=o[Mf>>2];o[xf+16>>2]=0;o[xf+8>>2]=0;o[xf+12>>2]=0;o[xf>>2]=Nf;Nf=o[Mf+12>>2]-o[Mf+8>>2]|0;c:{if(!Nf){break c}if((Nf|0)<=-1){break a}Of=Hk(Nf);o[xf+8>>2]=Of;Pf=xf+12|0;o[Pf>>2]=Of;o[xf+16>>2]=Nf+Of;Qf=o[Mf+8>>2];Nf=o[Mf+12>>2]-Qf|0;if((Nf|0)<1){break c}Rf=Pf,Sf=wl(Of,Qf,Nf)+Nf|0,o[Rf>>2]=Sf}Nf=o[Mf+36>>2];o[xf+32>>2]=o[Mf+32>>2];o[xf+36>>2]=Nf;Nf=o[Mf+28>>2];o[xf+24>>2]=o[Mf+24>>2];o[xf+28>>2]=Nf;Mf=o[Ye+88>>2];o[Ye+88>>2]=xf;if(!Mf){break b}Ye=o[Mf+8>>2];if(Ye){o[Mf+12>>2]=Ye;ul(Ye)}ul(Mf);return}xf=Ye+88|0;Ye=o[xf>>2];o[xf>>2]=0;if(!Ye){break b}xf=o[Ye+8>>2];if(xf){o[Ye+12>>2]=xf;ul(xf)}ul(Ye)}return}Yk();D()}function td(Ye,xf,Tf){var Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0;a:{Uf=Tf-xf|0;Wf=Uf>>2;Xf=o[Ye+8>>2];Vf=o[Ye>>2];b:{if(Wf>>>0<=Xf-Vf>>2>>>0){Yf=o[Ye+4>>2];Uf=Yf-Vf|0;Xf=Uf>>2;Uf=Wf>>>0>Xf>>>0?xf+Uf|0:Tf;if((Uf|0)!=(xf|0)){while(1){o[Vf>>2]=o[xf>>2];Vf=Vf+4|0;xf=xf+4|0;if((Uf|0)!=(xf|0)){continue}break}}if(Wf>>>0>Xf>>>0){xf=Tf-Uf|0;if((xf|0)<1){break b}wl(Yf,Uf,xf);Ye=Ye+4|0;o[Ye>>2]=xf+o[Ye>>2];return}o[Ye+4>>2]=Vf;return}if(Vf){o[Ye+4>>2]=Vf;ul(Vf);o[Ye+8>>2]=0;o[Ye>>2]=0;o[Ye+4>>2]=0;Xf=0}if(Wf>>>0>=1073741824){break a}Tf=Xf>>1;Tf=Xf>>2>>>0<536870911?Tf>>>0>>0?Wf:Tf:1073741823;if(Tf>>>0>=1073741824){break a}Vf=Tf<<2;Tf=Hk(Vf);o[Ye>>2]=Tf;Wf=Ye+4|0;o[Wf>>2]=Tf;o[Ye+8>>2]=Tf+Vf;if((Uf|0)<1){break b}Zf=Wf,_f=wl(Tf,xf,Uf)+Uf|0,o[Zf>>2]=_f}return}Yk();D()}function ud(Ye){o[Ye>>2]=1384;o[Ye+4>>2]=0;o[Ye+8>>2]=0;o[Ye+12>>2]=0;o[Ye+16>>2]=0;o[Ye+20>>2]=0;o[Ye+24>>2]=0;o[Ye+28>>2]=0;o[Ye+32>>2]=0}function vd(Ye,xf,Tf){Ye=Ye|0;xf=xf|0;Tf=Tf|0;o[Ye+32>>2]=Tf;o[Ye+28>>2]=xf;return 1}function wd(Ye,xf){Ye=Ye|0;xf=xf|0;var Tf=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0;ag=R-96|0;R=ag;a:{if(!xd(1,ag+92|0,xf)){break a}fg=o[ag+92>>2];if(!fg){break a}Tf=o[Ye+4>>2];$f=o[Ye+8>>2]-Tf>>2;b:{if(fg>>>0>$f>>>0){Da(Ye+4|0,fg-$f|0);break b}if(fg>>>0>=$f>>>0){break b}o[Ye+8>>2]=Tf+(fg<<2)}lg=Ye+16|0;mg=o[Ye+32>>2];pg=mg+8|0;ng=Ye+20|0;while(1){hg=o[xf+8>>2];gg=o[xf+16>>2];bg=o[xf+12>>2];Tf=bg;$f=o[xf+20>>2];if((Tf|0)<($f|0)?1:(Tf|0)<=($f|0)?hg>>>0>gg>>>0?0:1:0){$f=0;break a}ig=o[xf>>2];og=p[ig+gg|0];Tf=$f;dg=gg+1|0;if(dg>>>0<1){Tf=Tf+1|0}cg=xf;o[xf+16>>2]=dg;o[xf+20>>2]=Tf;if((bg|0)<(Tf|0)?1:(bg|0)<=(Tf|0)?hg>>>0>dg>>>0?0:1:0){$f=0;break a}dg=p[dg+ig|0];Tf=$f;eg=gg+2|0;if(eg>>>0<2){Tf=Tf+1|0}o[xf+16>>2]=eg;o[cg+20>>2]=Tf;if((bg|0)<(Tf|0)?1:(bg|0)<=(Tf|0)?hg>>>0>eg>>>0?0:1:0){$f=0;break a}eg=p[eg+ig|0];Tf=$f;jg=gg+3|0;if(jg>>>0<3){Tf=Tf+1|0}o[xf+16>>2]=jg;o[cg+20>>2]=Tf;if((bg|0)<(Tf|0)?1:(bg|0)<=(Tf|0)?hg>>>0>jg>>>0?0:1:0){$f=0;break a}bg=p[jg+ig|0];Tf=$f;$f=gg+4|0;if($f>>>0<4){Tf=Tf+1|0}o[xf+16>>2]=$f;o[cg+20>>2]=Tf;if(og>>>0>4){$f=0;break a}if((dg+ -1&255)>>>0>10){$f=0;break a}$f=ld(ag+24|0);Tf=u(ti(dg),eg);md($f,og,eg<<24>>24,dg,(bg|0)!=0,Tf,Tf>>31);xd(1,ag+20|0,xf);cg=o[ag+20>>2];o[ag+84>>2]=cg;Tf=Hk(96);qd(Tf,$f);o[ag+16>>2]=Tf;$f=vj(mg,ag+16|0);Tf=o[ag+16>>2];o[ag+16>>2]=0;if(Tf){Fb(Tf)}bg=$f<<2;o[o[bg+o[pg>>2]>>2]+60>>2]=cg;o[o[Ye+4>>2]+(kg<<2)>>2]=$f;Tf=o[Ye+16>>2];cg=o[ng>>2]-Tf>>2;c:{if(($f|0)<(cg|0)){break c}o[ag+12>>2]=-1;$f=$f+1|0;if($f>>>0>cg>>>0){yd(lg,$f-cg|0,ag+12|0);Tf=o[lg>>2];break c}if($f>>>0>=cg>>>0){break c}o[ng>>2]=($f<<2)+Tf}o[Tf+bg>>2]=kg;$f=1;kg=kg+1|0;if((fg|0)!=(kg|0)){continue}break}}R=ag+96|0;return $f|0}function xd(Ye,xf,qg){var rg=0,sg=0,tg=0,ug=0;a:{if(Ye>>>0>5){break a}tg=o[qg+16>>2];rg=o[qg+12>>2];sg=o[qg+20>>2];if((rg|0)<(sg|0)?1:(rg|0)<=(sg|0)?r[qg+8>>2]>tg>>>0?0:1:0){break a}rg=p[tg+o[qg>>2]|0];tg=tg+1|0;if(tg>>>0<1){sg=sg+1|0}o[qg+16>>2]=tg;o[qg+20>>2]=sg;sg=xf;if(rg&128){if(!xd(Ye+1|0,xf,qg)){break a}Ye=o[xf>>2]<<7;o[xf>>2]=Ye;rg=Ye|rg&127}o[sg>>2]=rg;ug=1}return ug}function yd(Ye,xf,qg){var vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0;xg=o[Ye+8>>2];vg=o[Ye+4>>2];if(xg-vg>>2>>>0>=xf>>>0){while(1){o[vg>>2]=o[qg>>2];vg=vg+4|0;xf=xf+ -1|0;if(xf){continue}break}o[Ye+4>>2]=vg;return}a:{yg=o[Ye>>2];zg=vg-yg|0;Ag=zg>>2;vg=Ag+xf|0;if(vg>>>0<1073741824){xg=xg-yg|0;wg=xg>>1;vg=xg>>2>>>0<536870911?wg>>>0>>0?vg:wg:1073741823;wg=0;b:{if(!vg){break b}if(vg>>>0>=1073741824){break a}wg=Hk(vg<<2)}xg=wg+(vg<<2)|0;vg=wg+(Ag<<2)|0;while(1){o[vg>>2]=o[qg>>2];vg=vg+4|0;xf=xf+ -1|0;if(xf){continue}break}if((zg|0)>=1){wl(wg,yg,zg)}o[Ye>>2]=wg;o[Ye+8>>2]=xg;o[Ye+4>>2]=vg;if(yg){ul(yg)}return}Yk();D()}_a(1520);D()}function zd(Ye){Ye=Ye|0;var xf=0;o[Ye>>2]=1384;xf=o[Ye+16>>2];if(xf){o[Ye+20>>2]=xf;ul(xf)}xf=o[Ye+4>>2];if(xf){o[Ye+8>>2]=xf;ul(xf)}return Ye|0}function Ad(o){o=o|0;D()}function Bd(Ye,qg){Ye=Ye|0;qg=qg|0;var Bg=0;a:{if(!l[o[o[Ye>>2]+36>>2]](Ye,qg)){break a}if(!l[o[o[Ye>>2]+40>>2]](Ye,qg)){break a}Bg=l[o[o[Ye>>2]+44>>2]](Ye)|0}return Bg|0}function Cd(Ye,qg){Ye=Ye|0;qg=qg|0;return o[o[Ye+4>>2]+(qg<<2)>>2]}function Dd(Ye){Ye=Ye|0;return o[Ye+8>>2]-o[Ye+4>>2]>>2}function Ed(o,Ye){o=o|0;Ye=Ye|0;return 0}function Fd(o,Ye){o=o|0;Ye=Ye|0;return 1}function Gd(Ye){o[Ye+12>>2]=-1;o[Ye+16>>2]=0;o[Ye+4>>2]=0;o[Ye+8>>2]=0;o[Ye>>2]=1596}function Hd(Ye,qg,Cg){Ye=Ye|0;qg=qg|0;Cg=Cg|0;o[Ye+4>>2]=qg;qg=o[o[o[qg+4>>2]+8>>2]+(Cg<<2)>>2];o[Ye+12>>2]=Cg;o[Ye+8>>2]=qg;return 1}function Id(Ye,qg){Ye=Ye|0;qg=qg|0;o[Ye+12>>2]=-1;o[Ye+8>>2]=qg;return 1}function Jd(Ye,qg,Cg){Ye=Ye|0;qg=qg|0;Cg=Cg|0;var Dg=0,Eg=0;Dg=o[Ye+8>>2];a:{if(m[Dg+24|0]<1){break a}if(!rd(Dg,o[qg+4>>2]-o[qg>>2]>>2)){break a}Eg=l[o[o[Ye>>2]+32>>2]](Ye,qg,Cg)|0}return Eg|0}function Kd(o,Ye,qg){o=o|0;Ye=Ye|0;qg=qg|0;return 1}function Ld(Ye){var qg=0,Cg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0;a:{Fg=o[Ye+8>>2];if(p[Fg+84|0]){break a}qg=o[Ye+16>>2];if(!qg|!p[qg+84|0]){break a}Cg=o[Fg+72>>2];Gg=o[Fg+68>>2];m[qg+84|0]=0;Cg=Cg-Gg>>2;Hg=o[qg+68>>2];Gg=o[qg+72>>2]-Hg>>2;b:{if(Cg>>>0>Gg>>>0){kd(qg+68|0,Cg-Gg|0,1680);Fg=o[Ye+8>>2];break b}if(Cg>>>0>=Gg>>>0){break b}o[qg+72>>2]=Hg+(Cg<<2)}qg=0;Gg=p[Fg+84|0];Ig=Fg+72|0;Jg=Ye+16|0;Kg=Fg+68|0;while(1){if(qg>>>0>=(Gg?0:o[Ig>>2]-o[Fg+68>>2]>>2)>>>0){break a}Cg=qg;Hg=o[o[Jg>>2]+68>>2]+(qg<<2)|0;if(!Gg){Cg=o[o[Kg>>2]+(qg<<2)>>2]}o[Hg>>2]=Cg;qg=qg+1|0;continue}}return o[Ye+16>>2]}function Md(Ye,Lg){Ye=Ye|0;Lg=Lg|0;var Mg=0,Ng=0,Og=0;Ng=1;a:{if((l[o[o[Lg>>2]+20>>2]](Lg)|0)<1){break a}Ng=0;while(1){Mg=rj(o[o[Ye+4>>2]+4>>2],l[o[o[Lg>>2]+24>>2]](Lg,Og)|0);if((Mg|0)==-1){break a}Mg=ii(o[Ye+4>>2],Mg);if(!Mg){break a}if(!l[o[o[Lg>>2]+28>>2]](Lg,Mg)){break a}Og=Og+1|0;if((Og|0)<(l[o[o[Lg>>2]+20>>2]](Lg)|0)){continue}break}Ng=1}return Ng|0}function Nd(Ye,Lg,Pg){Ye=Ye|0;Lg=Lg|0;Pg=Pg|0;var Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0;Qg=o[Lg+4>>2];Rg=o[Lg>>2];Lg=o[o[Ye+8>>2]+40>>2];Sg=Lg;Tg=Hk((Lg|0)>-1?Lg:-1);Qg=Qg-Rg|0;if((Qg|0)>=1){Zg=Qg>>2;while(1){Vg=o[Pg+12>>2];Qg=_g+o[Pg+20>>2]|0;Wg=o[Pg+16>>2];Ug=Lg+Wg|0;if(Ug>>>0>>0){Qg=Qg+1|0}Rg=Qg;if((Vg|0)<(Qg|0)?1:(Vg|0)<=(Qg|0)?r[Pg+8>>2]>=Ug>>>0?0:1:0){ul(Tg);return 0}Qg=wl(Tg,Wg+o[Pg>>2]|0,Sg);o[Pg+16>>2]=Ug;o[Pg+20>>2]=Rg;wl(o[o[o[Ye+8>>2]- -64>>2]>>2]+Xg|0,Qg,Sg);Xg=Sg+Xg|0;Yg=Yg+1|0;if((Yg|0)<(Zg|0)){continue}break}}ul(Tg);return 1}function Od(Ye){Ye=Ye|0;var Lg=0;o[Ye>>2]=1596;Lg=o[Ye+16>>2];o[Ye+16>>2]=0;if(Lg){Fb(Lg)}return Ye|0}function Pd(Ye){Ye=Ye|0;var Pg=0;o[Ye>>2]=1596;Pg=o[Ye+16>>2];o[Ye+16>>2]=0;if(Pg){Fb(Pg)}ul(Ye)}function Qd(Ye,$g){var ah=0;ud(Ye);o[Ye+36>>2]=0;o[Ye+40>>2]=0;o[Ye>>2]=1692;o[Ye+44>>2]=0;o[Ye+48>>2]=0;o[Ye+52>>2]=0;o[Ye+56>>2]=0;ah=o[$g>>2];o[$g>>2]=0;o[Ye+60>>2]=ah}function Rd(Ye,$g){Ye=Ye|0;$g=$g|0;var bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0,ih=0,jh=0,kh=0,lh=0,mh=0,nh=0;fh=R-16|0;R=fh;a:{if(!wd(Ye,$g)){break a}jh=Ye+36|0;gh=l[o[o[Ye>>2]+24>>2]](Ye)|0;dh=o[Ye+40>>2];ch=o[Ye+36>>2];bh=dh-ch>>2;b:{if(gh>>>0>bh>>>0){Sd(jh,gh-bh|0);break b}if(gh>>>0>=bh>>>0){break b}ch=ch+(gh<<2)|0;if((ch|0)!=(dh|0)){while(1){dh=dh+ -4|0;bh=o[dh>>2];o[dh>>2]=0;if(bh){l[o[o[bh>>2]+4>>2]](bh)}if((dh|0)!=(ch|0)){continue}break}}o[Ye+40>>2]=ch}ih=1;if((gh|0)<1){break a}ih=0;dh=0;while(1){eh=o[$g+16>>2];ch=o[$g+12>>2];bh=o[$g+20>>2];if((ch|0)<(bh|0)?1:(ch|0)<=(bh|0)?r[$g+8>>2]>eh>>>0?0:1:0){break a}hh=p[eh+o[$g>>2]|0];eh=eh+1|0;if(eh>>>0<1){bh=bh+1|0}ch=$g;o[ch+16>>2]=eh;o[ch+20>>2]=bh;l[o[o[Ye>>2]+48>>2]](fh+8|0,Ye,hh);bh=o[Ye+36>>2];ch=o[fh+8>>2];o[fh+8>>2]=0;eh=dh<<2;hh=bh+eh|0;bh=o[hh>>2];o[hh>>2]=ch;if(bh){l[o[o[bh>>2]+4>>2]](bh)}bh=o[fh+8>>2];o[fh+8>>2]=0;if(bh){l[o[o[bh>>2]+4>>2]](bh)}bh=o[o[jh>>2]+eh>>2];if(!bh){break a}if(!(lh=bh,mh=l[o[o[Ye>>2]+28>>2]](Ye)|0,nh=l[o[o[Ye>>2]+20>>2]](Ye,dh)|0,kh=o[o[bh>>2]+8>>2],l[kh](lh|0,mh|0,nh|0)|0)){break a}dh=dh+1|0;if((gh|0)!=(dh|0)){continue}break}ih=1}R=fh+16|0;return ih|0}function Sd(Ye,$g){var oh=0,ph=0,qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0;ph=o[Ye+8>>2];qh=Ye+4|0;oh=o[qh>>2];if(ph-oh>>2>>>0>=$g>>>0){Ye=$g<<2;vh=qh,wh=xl(oh,0,Ye)+Ye|0,o[vh>>2]=wh;return}a:{qh=o[Ye>>2];rh=oh-qh>>2;sh=rh+$g|0;if(sh>>>0<1073741824){rh=rh<<2;ph=ph-qh|0;uh=ph>>1;ph=ph>>2>>>0<536870911?uh>>>0>>0?sh:uh:1073741823;if(ph){if(ph>>>0>=1073741824){break a}th=Hk(ph<<2)}rh=rh+th|0;xl(rh,0,$g<<2);$g=(sh<<2)+th|0;sh=(ph<<2)+th|0;if((oh|0)!=(qh|0)){while(1){oh=oh+ -4|0;ph=o[oh>>2];o[oh>>2]=0;rh=rh+ -4|0;o[rh>>2]=ph;if((oh|0)!=(qh|0)){continue}break}qh=o[Ye>>2];oh=o[Ye+4>>2]}o[Ye>>2]=rh;o[Ye+8>>2]=sh;o[Ye+4>>2]=$g;if((oh|0)!=(qh|0)){while(1){oh=oh+ -4|0;Ye=o[oh>>2];o[oh>>2]=0;if(Ye){l[o[o[Ye>>2]+4>>2]](Ye)}if((oh|0)!=(qh|0)){continue}break}}if(qh){ul(qh)}return}Yk();D()}_a(1832);D()}function Td(Ye,$g){Ye=Ye|0;$g=$g|0;var xh=0,yh=0,zh=0,Ah=0,Bh=0,Ch=0,Dh=0;xh=o[Ye+60>>2];a:{if(!xh){break a}o[xh+4>>2]=Ye+48;if(!l[o[o[xh>>2]+12>>2]](xh)){break a}b:{yh=l[o[o[Ye>>2]+24>>2]](Ye)|0;if((yh|0)<1){break b}Ah=Ye+60|0;xh=0;while(1){c:{Bh=o[(l[o[o[Ye>>2]+28>>2]](Ye)|0)+4>>2];Ch=l[o[o[Ye>>2]+20>>2]](Ye,xh)|0;zh=o[Ah>>2];if(!l[o[o[zh>>2]+8>>2]](zh,o[o[Bh+8>>2]+(Ch<<2)>>2])){break c}xh=xh+1|0;if((yh|0)!=(xh|0)){continue}break b}break}return 0}if(!l[o[o[Ye>>2]+36>>2]](Ye,$g)){break a}if(!l[o[o[Ye>>2]+40>>2]](Ye,$g)){break a}Dh=l[o[o[Ye>>2]+44>>2]](Ye)|0}return Dh|0}function Ud(Ye,$g){Ye=Ye|0;$g=$g|0;var Eh=0,Fh=0,Gh=0,Hh=0,Ih=0;Eh=1;Fh=l[o[o[Ye>>2]+24>>2]](Ye)|0;a:{if((Fh|0)<1){break a}Hh=Ye+48|0;Eh=0;Ih=Ye+36|0;Ye=0;while(1){Gh=o[o[Ih>>2]+(Ye<<2)>>2];if(!l[o[o[Gh>>2]+16>>2]](Gh,Hh,$g)){break a}Ye=Ye+1|0;if((Fh|0)!=(Ye|0)){continue}break}Eh=1}return Eh|0}function Vd(Ye,$g){Ye=Ye|0;$g=$g|0;var Jh=0,Kh=0,Lh=0,Mh=0,Nh=0;Jh=1;Kh=l[o[o[Ye>>2]+24>>2]](Ye)|0;a:{if((Kh|0)<1){break a}Mh=Ye+48|0;Jh=0;Nh=Ye+36|0;Ye=0;while(1){Lh=o[o[Nh>>2]+(Ye<<2)>>2];if(!l[o[o[Lh>>2]+20>>2]](Lh,Mh,$g)){break a}Ye=Ye+1|0;if((Kh|0)!=(Ye|0)){continue}break}Jh=1}return Jh|0}function Wd(Ye){Ye=Ye|0;var $g=0,Oh=0,Ph=0,Qh=0,Rh=0,Sh=0,Th=0,Uh=0,Vh=0,Wh=0,Xh=0,Yh=0,Zh=0;Qh=R-16|0;R=Qh;$g=1;Th=l[o[o[Ye>>2]+24>>2]](Ye)|0;a:{if((Th|0)<1){break a}Zh=Ye+48|0;Sh=Ye+36|0;while(1){b:{c:{if(!o[(l[o[o[Ye>>2]+28>>2]](Ye)|0)+40>>2]){break c}Uh=Rh<<2;$g=o[Uh+o[Sh>>2]>>2];Oh=o[$g+8>>2];Vh=Ld($g);if(!Vh){break c}$g=l[o[o[Ye>>2]+28>>2]](Ye)|0;Wh=o[Oh+56>>2];Xh=o[$g+40>>2];$g=Hk(32);o[Qh>>2]=$g;o[Qh+4>>2]=24;o[Qh+8>>2]=-2147483616;m[$g+24|0]=0;Oh=p[1764]|p[1765]<<8|(p[1766]<<16|p[1767]<<24);Ph=p[1760]|p[1761]<<8|(p[1762]<<16|p[1763]<<24);m[$g+16|0]=Ph;m[$g+17|0]=Ph>>>8;m[$g+18|0]=Ph>>>16;m[$g+19|0]=Ph>>>24;m[$g+20|0]=Oh;m[$g+21|0]=Oh>>>8;m[$g+22|0]=Oh>>>16;m[$g+23|0]=Oh>>>24;Oh=p[1756]|p[1757]<<8|(p[1758]<<16|p[1759]<<24);Ph=p[1752]|p[1753]<<8|(p[1754]<<16|p[1755]<<24);m[$g+8|0]=Ph;m[$g+9|0]=Ph>>>8;m[$g+10|0]=Ph>>>16;m[$g+11|0]=Ph>>>24;m[$g+12|0]=Oh;m[$g+13|0]=Oh>>>8;m[$g+14|0]=Oh>>>16;m[$g+15|0]=Oh>>>24;Oh=p[1748]|p[1749]<<8|(p[1750]<<16|p[1751]<<24);Ph=p[1744]|p[1745]<<8|(p[1746]<<16|p[1747]<<24);m[$g|0]=Ph;m[$g+1|0]=Ph>>>8;m[$g+2|0]=Ph>>>16;m[$g+3|0]=Ph>>>24;m[$g+4|0]=Oh;m[$g+5|0]=Oh>>>8;m[$g+6|0]=Oh>>>16;m[$g+7|0]=Oh>>>24;d:{e:{Ph=Xh+16|0;Oh=Ph;$g=o[Oh>>2];if(!$g){break e}while(1){Yh=o[$g+16>>2]<(Wh|0);Oh=Yh?Oh:$g;$g=o[(Yh<<2)+$g>>2];if($g){continue}break}if((Oh|0)==(Ph|0)|(Wh|0)>2]){break e}$g=Oh+20|0;if(!ea($g,Qh)){break e}$g=yi($g,Qh);break d}$g=yi(Xh,Qh)}if(m[Qh+11|0]<=-1){ul(o[Qh>>2])}if(!$g){break c}sd(o[o[o[Sh>>2]+Uh>>2]+8>>2],Vh);break b}$g=o[o[Sh>>2]+(Rh<<2)>>2];if(l[o[o[$g>>2]+24>>2]]($g,Zh)){break b}$g=0;break a}$g=1;Rh=Rh+1|0;if((Th|0)!=(Rh|0)){continue}break}}R=Qh+16|0;return $g|0}function Xd(Ye,_h,$h){Ye=Ye|0;_h=_h|0;$h=$h|0;if($h>>>0>3){o[Ye>>2]=0;return}a:{b:{switch($h-1|0){default:_h=Hk(20);Gd(_h);break a;case 0:_h=Hk(24);$d(_h);break a;case 1:_h=Hk(36);$d(_h);o[_h+32>>2]=0;o[_h+24>>2]=-1;o[_h+28>>2]=0;o[_h>>2]=7664;break a;case 2:break b}}_h=Hk(28);$d(_h);o[_h+24>>2]=-1;o[_h>>2]=5528;o[Ye>>2]=_h;return}o[Ye>>2]=_h}function Yd(Ye){Ye=Ye|0;var _h=0,$h=0,ai=0,bi=0,ci=0;o[Ye>>2]=1692;_h=Ye+60|0;$h=o[_h>>2];o[_h>>2]=0;if($h){l[o[o[$h>>2]+4>>2]]($h)}_h=o[Ye+48>>2];if(_h){o[Ye+52>>2]=_h;ul(_h)}$h=o[Ye+36>>2];if($h){_h=$h;ci=Ye+40|0;ai=o[ci>>2];bi=_h;a:{if((_h|0)==(ai|0)){break a}while(1){ai=ai+ -4|0;_h=o[ai>>2];o[ai>>2]=0;if(_h){l[o[o[_h>>2]+4>>2]](_h)}if(($h|0)!=(ai|0)){continue}break}bi=o[Ye+36>>2]}_h=bi;o[ci>>2]=$h;ul(_h)}o[Ye>>2]=1384;_h=o[Ye+16>>2];if(_h){o[Ye+20>>2]=_h;ul(_h)}_h=o[Ye+4>>2];if(_h){o[Ye+8>>2]=_h;ul(_h)}return Ye|0}function Zd(Ye){Ye=Ye|0;var di=0,ei=0,fi=0,gi=0,hi=0;o[Ye>>2]=1692;di=Ye+60|0;ei=o[di>>2];o[di>>2]=0;if(ei){l[o[o[ei>>2]+4>>2]](ei)}di=o[Ye+48>>2];if(di){o[Ye+52>>2]=di;ul(di)}ei=o[Ye+36>>2];if(ei){di=ei;hi=Ye+40|0;fi=o[hi>>2];gi=di;a:{if((di|0)==(fi|0)){break a}while(1){fi=fi+ -4|0;di=o[fi>>2];o[fi>>2]=0;if(di){l[o[o[di>>2]+4>>2]](di)}if((ei|0)!=(fi|0)){continue}break}gi=o[Ye+36>>2]}di=gi;o[hi>>2]=ei;ul(di)}o[Ye>>2]=1384;di=o[Ye+16>>2];if(di){o[Ye+20>>2]=di;ul(di)}di=o[Ye+4>>2];if(di){o[Ye+8>>2]=di;ul(di)}ul(Ye)}function _d(Ye,ii){Ye=Ye|0;ii=ii|0;var ji=0,ki=0;ki=o[Ye+16>>2];ji=0;a:{if(o[Ye+20>>2]-ki>>2<=(ii|0)){break a}ii=o[(ii<<2)+ki>>2];ji=0;if((ii|0)<0){break a}ji=Ld(o[o[Ye+36>>2]+(ii<<2)>>2])}return ji|0}function $d(Ye){Gd(Ye);o[Ye+20>>2]=0;o[Ye>>2]=1908}function ae(o,Ye,ii){o=o|0;Ye=Ye|0;ii=ii|0;return Hd(o,Ye,ii)|0}function be(Ye,ii){Ye=Ye|0;ii=ii|0;return l[o[o[Ye>>2]+48>>2]](Ye,o[ii+4>>2]-o[ii>>2]>>2)|0}function ce(Ye,ii,li){Ye=Ye|0;ii=ii|0;li=li|0;var mi=0,ni=0,oi=0,pi=0,qi=0,ri=0,si=0,ti=0,ui=0,vi=0;oi=R-16|0;R=oi;si=o[li+8>>2];pi=o[li+16>>2];qi=o[li+12>>2];mi=qi;ni=o[li+20>>2];a:{if((mi|0)<(ni|0)?1:(mi|0)<=(ni|0)?si>>>0>pi>>>0?0:1:0){break a}ti=o[li>>2];ui=m[ti+pi|0];mi=ni;ri=pi+1|0;if(ri>>>0<1){mi=mi+1|0}o[li+16>>2]=ri;o[li+20>>2]=mi;b:{if((ui|0)==-2){break b}if((qi|0)<(mi|0)?1:(qi|0)<=(mi|0)?si>>>0>ri>>>0?0:1:0){break a}qi=m[ri+ti|0];pi=pi+2|0;if(pi>>>0<2){ni=ni+1|0}mi=li;o[mi+16>>2]=pi;o[mi+20>>2]=ni;l[o[o[Ye>>2]+40>>2]](oi+8|0,Ye,ui,qi);ni=o[oi+8>>2];o[oi+8>>2]=0;mi=o[Ye+20>>2];o[Ye+20>>2]=ni;if(!mi){o[oi+8>>2]=0;break b}l[o[o[mi>>2]+4>>2]](mi);mi=o[oi+8>>2];o[oi+8>>2]=0;if(!mi){break b}l[o[o[mi>>2]+4>>2]](mi)}mi=o[Ye+20>>2];if(mi){if(!l[o[o[Ye>>2]+28>>2]](Ye,mi)){break a}}vi=l[o[o[Ye>>2]+36>>2]](Ye,ii,li)|0}R=oi+16|0;return vi|0}function de(Ye,ii,li,wi){Ye=Ye|0;ii=ii|0;li=li|0;wi=wi|0;var xi=0,yi=0;xi=R-48|0;R=xi;a:{if((wi|0)!=1){o[Ye>>2]=0;break a}wi=o[ii+4>>2];ii=o[ii+12>>2];o[xi+40>>2]=0;yi=xi+32|0;o[yi>>2]=0;o[yi+4>>2]=0;o[xi+24>>2]=0;o[xi+28>>2]=0;o[xi+16>>2]=0;o[xi+20>>2]=0;o[xi+8>>2]=0;o[xi+12>>2]=0;ee(xi,li,ii,wi,xi+8|0);ii=o[yi>>2];if(ii){o[xi+36>>2]=ii;ul(ii)}o[Ye>>2]=o[xi>>2]}R=xi+48|0}function ee(Ye,ii,li,wi,zi){var Ai=0,Bi=0;a:{if((ii|0)!=-2){Bi=o[o[o[wi+4>>2]+8>>2]+(li<<2)>>2];if((l[o[o[wi>>2]+8>>2]](wi)|0)==1){Ai=ii;ii=q[wi+36>>1];le(Ye,wi,Ai,li,zi,(ii<<24|ii<<8&16711680)>>>16);if(o[Ye>>2]){break a}o[Ye>>2]=0}Ai=Hk(44);me(Ai,Bi,zi)}o[Ye>>2]=Ai}}function fe(Ye,ii,li){Ye=Ye|0;ii=ii|0;li=li|0;var wi=0,zi=0,Ci=0,Di=0,Ei=0,Fi=0,Gi=0,Hi=0,Ii=0,Ji=0,Ki=0,Li=0,Mi=0;a:{Ki=l[o[o[Ye>>2]+44>>2]](Ye)|0;if((Ki|0)<1){break a}Ei=o[ii+4>>2]-o[ii>>2]>>2;ge(Ye,Ei,Ki);wi=o[Ye+16>>2];if(!o[wi+80>>2]){break a}Ci=o[o[wi>>2]>>2];if(!Ci){break a}Gi=o[li+8>>2];Fi=o[li+16>>2];Di=o[li+12>>2];Hi=Di;zi=o[li+20>>2];if((Hi|0)<(zi|0)?1:(Hi|0)<=(zi|0)?Gi>>>0>Fi>>>0?0:1:0){break a}Hi=u(Ei,Ki);Ji=Ci+o[wi+48>>2]|0;Li=o[li>>2];Mi=p[Li+Fi|0];Ei=li;wi=zi;Ci=Fi+1|0;if(Ci>>>0<1){wi=wi+1|0}Ii=Ci;Ci=wi;o[Ei+16>>2]=Ii;o[Ei+20>>2]=wi;b:{c:{d:{if(Mi){if(_f(Hi,Ki,li,Ji)){break d}break a}if((Di|0)<(Ci|0)?1:(Di|0)<=(Ci|0)?Gi>>>0>Ii>>>0?0:1:0){break a}Ei=p[Ii+Li|0];wi=zi;zi=Fi+2|0;if(zi>>>0<2){wi=wi+1|0}o[li+16>>2]=zi;o[li+20>>2]=wi;wi=ti(5);zi=o[o[Ye+16>>2]- -64>>2];zi=o[zi+4>>2]-o[zi>>2]|0;e:{if((wi|0)==(Ei|0)){Ei=Hi<<2;if(zi>>>0>>0){break a}Ci=o[li+12>>2];wi=o[li+20>>2];Fi=o[li+16>>2];zi=Ei;Di=Fi+zi|0;if(Di>>>0>>0){wi=wi+1|0}if((Ci|0)>(wi|0)?1:(Ci|0)>=(wi|0)?r[li+8>>2]>>0?0:1:0){break e}break a}if(zi>>>0>>0){break a}Fi=o[li+12>>2];wi=o[li+20>>2];Gi=o[li+8>>2];Ci=Gi;Ii=o[li+16>>2];Di=Ii;zi=Ei;Mi=Ci-Di>>>0>=Vl(zi,0,Hi,0)>>>0?0:1;Ci=Fi-(wi+(Ci>>>0>>0)|0)|0;Di=T;if((Ci|0)<(Di|0)?1:(Ci|0)<=(Di|0)?Mi:0){break a}Ci=0;if(!Hi){break c}Di=0;Ci=Gi;Gi=zi+Ii|0;if(Gi>>>0>>0){wi=wi+1|0}if((Fi|0)<(wi|0)?1:(Fi|0)<=(wi|0)?Ci>>>0>=Gi>>>0?0:1:0){break b}Gi=0;while(1){wl(Ji+(Gi<<2)|0,Ii+o[li>>2]|0,Ei);wi=o[li+20>>2];Ii=zi+o[li+16>>2]|0;if(Ii>>>0>>0){wi=wi+1|0}o[li+16>>2]=Ii;o[li+20>>2]=wi;Gi=Gi+1|0;if((Hi|0)==(Gi|0)){break d}Fi=o[li+12>>2];Li=zi+Ii|0;if(Li>>>0>>0){wi=wi+1|0}if((Fi|0)>(wi|0)?1:(Fi|0)>=(wi|0)?r[li+8>>2]
  • >>0?0:1:0){continue}break}break b}wl(Ji,Fi+o[li>>2]|0,Ei);wi=o[li+20>>2];Ci=zi+o[li+16>>2]|0;if(Ci>>>0>>0){wi=wi+1|0}o[li+16>>2]=Ci;o[li+20>>2]=wi}Ci=0;if(!Hi){break c}zi=o[Ye+20>>2];if(zi){Ci=1;if(l[o[o[zi>>2]+32>>2]](zi)){break c}}ji(Ji,Hi,Ji);Ci=1}zi=o[Ye+20>>2];f:{if(!zi){break f}if(!l[o[o[zi>>2]+40>>2]](zi,li)){break a}if(!Ci){break f}Di=0;Ye=o[Ye+20>>2];if(!l[o[o[Ye>>2]+44>>2]](Ye,Ji,Ji,Hi,Ki,o[ii>>2])){break b}}Di=1}return Di|0}return 0}function ge(Ye,ii,li){var Ni=0,Oi=0,Pi=0,Qi=0;Ni=R-80|0;R=Ni;Oi=ld(Ni+16|0);Pi=o[o[Ye+8>>2]+56>>2];Qi=li<<24>>24;li=u(ti(5),li);md(Oi,Pi,Qi,5,0,li,li>>31);li=Hk(96);qd(li,Oi);o[Ni+8>>2]=li;m[li+84|0]=1;o[li+72>>2]=o[li+68>>2];rd(li,ii);o[Ni>>2]=0;ii=o[Ni+8>>2];o[Ni+8>>2]=0;li=Ye+16|0;Ye=o[li>>2];o[li>>2]=ii;a:{if(!Ye){o[Ni>>2]=0;break a}Fb(Ye);Ye=o[Ni>>2];o[Ni>>2]=0;if(!Ye){break a}Fb(Ye)}Ye=o[Ni+8>>2];o[Ni+8>>2]=0;if(Ye){Fb(Ye)}R=Ni+80|0}function he(Ye,ii){Ye=Ye|0;ii=ii|0;var li=0,Ri=0,Si=0,Ti=0,Ui=0,Vi=0,Wi=0,Xi=0,Yi=0;Ri=o[Ye+8>>2];li=o[Ri+28>>2]+ -1|0;if(li>>>0>5){return 0}a:{b:{switch(li-1|0){case 0:Ti=m[Ri+24|0];Ui=Hk((Ti|0)>-1?Ti:-1);li=o[Ye+16>>2];Ri=0;c:{if(!o[li+80>>2]){break c}Ri=o[o[li>>2]>>2]+o[li+48>>2]|0}if(!ii){break a}Vi=(Ti|0)<1;Xi=Ye+8|0;li=0;while(1){Ye=0;if(!Vi){while(1){m[Ye+Ui|0]=o[Ri+(li<<2)>>2];li=li+1|0;Ye=Ye+1|0;if((Ti|0)!=(Ye|0)){continue}break}}wl(o[o[o[Xi>>2]- -64>>2]>>2]+Wi|0,Ui,Ti);Wi=Ti+Wi|0;Si=Si+1|0;if((Si|0)!=(ii|0)){continue}break}break a;default:Ti=m[Ri+24|0];Ui=Hk((Ti|0)>-1?Ti:-1);li=o[Ye+16>>2];Ri=0;d:{if(!o[li+80>>2]){break d}Ri=o[o[li>>2]>>2]+o[li+48>>2]|0}if(!ii){break a}Vi=(Ti|0)<1;Xi=Ye+8|0;li=0;while(1){Ye=0;if(!Vi){while(1){m[Ye+Ui|0]=o[Ri+(li<<2)>>2];li=li+1|0;Ye=Ye+1|0;if((Ti|0)!=(Ye|0)){continue}break}}wl(o[o[o[Xi>>2]- -64>>2]>>2]+Wi|0,Ui,Ti);Wi=Ti+Wi|0;Si=Si+1|0;if((Si|0)!=(ii|0)){continue}break}break a;case 2:Si=m[Ri+24|0];Ri=Si+Si|0;Ui=Hk(Ri>>>0>>0?-1:Ri);li=o[Ye+16>>2];Ri=0;e:{if(!o[li+80>>2]){break e}Ri=o[o[li>>2]>>2]+o[li+48>>2]|0}if(!ii){break a}Vi=Si<<1;Xi=(Si|0)<1;Yi=Ye+8|0;li=0;while(1){Ye=0;if(!Xi){while(1){n[(Ye<<1)+Ui>>1]=o[Ri+(li<<2)>>2];li=li+1|0;Ye=Ye+1|0;if((Si|0)!=(Ye|0)){continue}break}}wl(o[o[o[Yi>>2]- -64>>2]>>2]+Wi|0,Ui,Vi);Wi=Wi+Vi|0;Ti=Ti+1|0;if((Ti|0)!=(ii|0)){continue}break}break a;case 1:Si=m[Ri+24|0];Ri=Si+Si|0;Ui=Hk(Ri>>>0>>0?-1:Ri);li=o[Ye+16>>2];Ri=0;f:{if(!o[li+80>>2]){break f}Ri=o[o[li>>2]>>2]+o[li+48>>2]|0}if(!ii){break a}Vi=Si<<1;Xi=(Si|0)<1;Yi=Ye+8|0;li=0;while(1){Ye=0;if(!Xi){while(1){n[(Ye<<1)+Ui>>1]=o[Ri+(li<<2)>>2];li=li+1|0;Ye=Ye+1|0;if((Si|0)!=(Ye|0)){continue}break}}wl(o[o[o[Yi>>2]- -64>>2]>>2]+Wi|0,Ui,Vi);Wi=Wi+Vi|0;Ti=Ti+1|0;if((Ti|0)!=(ii|0)){continue}break}break a;case 4:Si=m[Ri+24|0];Vi=Si<<2;Ui=Hk((Si|0)!=(Si&1073741823)?-1:Vi);li=o[Ye+16>>2];Ri=0;g:{if(!o[li+80>>2]){break g}Ri=o[o[li>>2]>>2]+o[li+48>>2]|0}if(!ii){break a}Xi=(Si|0)<1;Yi=Ye+8|0;li=0;while(1){Ye=0;if(!Xi){while(1){o[(Ye<<2)+Ui>>2]=o[Ri+(li<<2)>>2];li=li+1|0;Ye=Ye+1|0;if((Si|0)!=(Ye|0)){continue}break}}wl(o[o[o[Yi>>2]- -64>>2]>>2]+Wi|0,Ui,Vi);Wi=Wi+Vi|0;Ti=Ti+1|0;if((Ti|0)!=(ii|0)){continue}break}break a;case 3:break b}}Si=m[Ri+24|0];Vi=Si<<2;Ui=Hk((Si|0)!=(Si&1073741823)?-1:Vi);li=o[Ye+16>>2];Ri=0;h:{if(!o[li+80>>2]){break h}Ri=o[o[li>>2]>>2]+o[li+48>>2]|0}if(!ii){break a}Xi=(Si|0)<1;Yi=Ye+8|0;li=0;while(1){Ye=0;if(!Xi){while(1){o[(Ye<<2)+Ui>>2]=o[Ri+(li<<2)>>2];li=li+1|0;Ye=Ye+1|0;if((Si|0)!=(Ye|0)){continue}break}}wl(o[o[o[Yi>>2]- -64>>2]>>2]+Wi|0,Ui,Vi);Wi=Wi+Vi|0;Ti=Ti+1|0;if((Ti|0)!=(ii|0)){continue}break}}ul(Ui);return 1}function ie(Ye){Ye=Ye|0;var ii=0,Zi=0;o[Ye>>2]=1908;Zi=Ye+20|0;ii=o[Zi>>2];o[Zi>>2]=0;if(ii){l[o[o[ii>>2]+4>>2]](ii)}o[Ye>>2]=1596;Zi=Ye+16|0;ii=o[Zi>>2];o[Zi>>2]=0;if(ii){Fb(ii)}return Ye|0}function je(Ye){Ye=Ye|0;var _i=0,$i=0;o[Ye>>2]=1908;$i=Ye+20|0;_i=o[$i>>2];o[$i>>2]=0;if(_i){l[o[o[_i>>2]+4>>2]](_i)}o[Ye>>2]=1596;$i=Ye+16|0;_i=o[$i>>2];o[$i>>2]=0;if(_i){Fb(_i)}ul(Ye)}function ke(Ye){Ye=Ye|0;return m[o[Ye+8>>2]+24|0]}function le(Ye,aj,bj,cj,dj,ej){var fj=0,gj=0,hj=0;ej=R-32|0;R=ej;gj=o[o[o[aj+4>>2]+8>>2]+(cj<<2)>>2];a:{b:{if((l[o[o[aj>>2]+8>>2]](aj)|0)!=1|bj+ -1>>>0>5){break b}hj=l[o[o[aj>>2]+36>>2]](aj)|0;fj=l[o[o[aj>>2]+44>>2]](aj,cj)|0;if(!(fj?hj:0)){o[Ye>>2]=0;break a}cj=l[o[o[aj>>2]+40>>2]](aj,cj)|0;if(cj){aj=o[aj+44>>2];o[ej+12>>2]=cj;o[ej+8>>2]=aj;o[ej+20>>2]=fj;o[ej+16>>2]=fj+12;ne(Ye,bj,gj,dj,ej+8|0);if(o[Ye>>2]){break a}o[Ye>>2]=0;break b}aj=o[aj+44>>2];o[ej+12>>2]=hj;o[ej+8>>2]=aj;o[ej+20>>2]=fj;o[ej+16>>2]=fj+12;oe(Ye,bj,gj,dj,ej+8|0);if(o[Ye>>2]){break a}o[Ye>>2]=0}o[Ye>>2]=0}R=ej+32|0}function me(Ye,aj,bj){var cj=0,dj=0,ej=0,ij=0,jj=0,kj=0,lj=0,mj=0;o[Ye>>2]=2732;o[Ye+4>>2]=aj;aj=o[bj+8>>2];cj=o[bj+12>>2];dj=o[bj+16>>2];ij=o[bj+20>>2];jj=o[bj>>2];kj=o[bj+4>>2];o[Ye+40>>2]=0;ej=Ye+32|0;o[ej>>2]=0;o[ej+4>>2]=0;o[Ye+24>>2]=dj;o[Ye+28>>2]=ij;o[Ye+16>>2]=aj;o[Ye+20>>2]=cj;o[Ye+8>>2]=jj;o[Ye+12>>2]=kj;a:{aj=o[bj+28>>2]-o[bj+24>>2]|0;b:{if(!aj){break b}cj=aj>>2;if(cj>>>0>=1073741824){break a}aj=Hk(aj);o[Ye+32>>2]=aj;dj=Ye+36|0;o[dj>>2]=aj;o[Ye+40>>2]=aj+(cj<<2);cj=o[bj+24>>2];bj=o[bj+28>>2]-cj|0;if((bj|0)<1){break b}lj=dj,mj=wl(aj,cj,bj)+bj|0,o[lj>>2]=mj}o[Ye>>2]=5368;return}Yk();D()}function ne(Ye,aj,bj,nj,oj){var pj=0;a:{aj=aj+ -1|0;b:{if(aj>>>0>5){break b}c:{switch(aj-1|0){default:aj=Hk(60);pe(aj,bj,nj,oj);o[aj>>2]=2024;break a;case 2:aj=Hk(112);pe(aj,bj,nj,oj);o[aj>>2]=2788;o[aj+60>>2]=0;o[aj+64>>2]=0;o[aj+68>>2]=0;o[aj+72>>2]=0;o[aj+76>>2]=0;o[aj+80>>2]=0;o[aj+84>>2]=0;o[aj+88>>2]=0;o[aj+92>>2]=0;o[aj+96>>2]=0;o[aj+100>>2]=0;o[aj+104>>2]=0;o[aj+108>>2]=0;break a;case 3:aj=Hk(104);pe(aj,bj,nj,oj);o[aj+76>>2]=0;o[aj+80>>2]=0;o[aj+60>>2]=0;o[aj+64>>2]=0;o[aj>>2]=3036;o[aj+84>>2]=0;bj=o[oj+4>>2];o[aj+88>>2]=o[oj>>2];o[aj+92>>2]=bj;bj=o[oj+12>>2];o[aj+96>>2]=o[oj+8>>2];o[aj+100>>2]=bj;break a;case 0:case 1:break b;case 4:break c}}pj=Hk(124);pe(pj,bj,nj,oj);o[pj>>2]=3272;aj=pj- -64|0;o[aj>>2]=0;o[aj+4>>2]=0;aj=o[oj+4>>2];o[pj+72>>2]=o[oj>>2];o[pj+76>>2]=aj;aj=o[oj+12>>2];o[pj+80>>2]=o[oj+8>>2];o[pj+84>>2]=aj;o[pj+92>>2]=-1;o[pj+96>>2]=-1;o[pj+88>>2]=1;o[pj+60>>2]=3508;o[pj+100>>2]=-1;o[pj+104>>2]=-1;Mf(pj+108|0)}o[Ye>>2]=pj;return}o[Ye>>2]=aj}function oe(Ye,aj,bj,nj,oj){var qj=0;a:{aj=aj+ -1|0;b:{if(aj>>>0>5){break b}c:{switch(aj-1|0){default:aj=Hk(60);Xe(aj,bj,nj,oj);o[aj>>2]=3900;break a;case 2:aj=Hk(112);Xe(aj,bj,nj,oj);o[aj>>2]=4324;o[aj+60>>2]=0;o[aj+64>>2]=0;o[aj+68>>2]=0;o[aj+72>>2]=0;o[aj+76>>2]=0;o[aj+80>>2]=0;o[aj+84>>2]=0;o[aj+88>>2]=0;o[aj+92>>2]=0;o[aj+96>>2]=0;o[aj+100>>2]=0;o[aj+104>>2]=0;o[aj+108>>2]=0;break a;case 3:aj=Hk(104);Xe(aj,bj,nj,oj);o[aj+76>>2]=0;o[aj+80>>2]=0;o[aj+60>>2]=0;o[aj+64>>2]=0;o[aj>>2]=4560;o[aj+84>>2]=0;bj=o[oj+4>>2];o[aj+88>>2]=o[oj>>2];o[aj+92>>2]=bj;bj=o[oj+12>>2];o[aj+96>>2]=o[oj+8>>2];o[aj+100>>2]=bj;break a;case 0:case 1:break b;case 4:break c}}qj=Hk(124);Xe(qj,bj,nj,oj);o[qj>>2]=4784;aj=qj- -64|0;o[aj>>2]=0;o[aj+4>>2]=0;aj=o[oj+4>>2];o[qj+72>>2]=o[oj>>2];o[qj+76>>2]=aj;aj=o[oj+12>>2];o[qj+80>>2]=o[oj+8>>2];o[qj+84>>2]=aj;o[qj+92>>2]=-1;o[qj+96>>2]=-1;o[qj+88>>2]=1;o[qj+60>>2]=5004;o[qj+100>>2]=-1;o[qj+104>>2]=-1;Mf(qj+108|0)}o[Ye>>2]=qj;return}o[Ye>>2]=aj}function pe(Ye,aj,bj,nj){var oj=0,rj=0,sj=0,tj=0,uj=0,vj=0,wj=0,xj=0;o[Ye>>2]=2732;o[Ye+4>>2]=aj;aj=o[bj+8>>2];oj=o[bj+12>>2];rj=o[bj+16>>2];tj=o[bj+20>>2];uj=o[bj>>2];vj=o[bj+4>>2];o[Ye+40>>2]=0;sj=Ye+32|0;o[sj>>2]=0;o[sj+4>>2]=0;o[Ye+24>>2]=rj;o[Ye+28>>2]=tj;o[Ye+16>>2]=aj;o[Ye+20>>2]=oj;o[Ye+8>>2]=uj;o[Ye+12>>2]=vj;a:{aj=o[bj+28>>2]-o[bj+24>>2]|0;b:{if(!aj){break b}oj=aj>>2;if(oj>>>0>=1073741824){break a}aj=Hk(aj);o[Ye+32>>2]=aj;rj=Ye+36|0;o[rj>>2]=aj;o[Ye+40>>2]=aj+(oj<<2);oj=o[bj+24>>2];bj=o[bj+28>>2]-oj|0;if((bj|0)<1){break b}wj=rj,xj=wl(aj,oj,bj)+bj|0,o[wj>>2]=xj}o[Ye>>2]=2676;aj=o[nj+4>>2];o[Ye+44>>2]=o[nj>>2];o[Ye+48>>2]=aj;aj=o[nj+12>>2];o[Ye+52>>2]=o[nj+8>>2];o[Ye+56>>2]=aj;return}Yk();D()}function qe(Ye){Ye=Ye|0;var aj=0;o[Ye>>2]=2732;aj=o[Ye+32>>2];if(aj){o[Ye+36>>2]=aj;ul(aj)}return Ye|0}function re(Ye){Ye=Ye|0;var bj=0;o[Ye>>2]=2732;bj=o[Ye+32>>2];if(bj){o[Ye+36>>2]=bj;ul(bj)}ul(Ye)}function se(Ye){Ye=Ye|0;var nj=0;if(!(!o[Ye+52>>2]|(!o[Ye+44>>2]|!o[Ye+48>>2]))){nj=o[Ye+56>>2]!=0}return nj|0}function te(o){o=o|0;return 0}function ue(o,Ye){o=o|0;Ye=Ye|0;return-1}function ve(Ye,yj){Ye=Ye|0;yj=yj|0;var zj=0,Aj=0,Bj=0,Cj=0,Dj=0,Ej=0,Fj=0,Gj=0,Hj=0,Ij=0;Aj=o[yj+12>>2];Fj=Aj;zj=o[yj+20>>2];Cj=zj;Dj=o[yj+16>>2];Bj=Dj+4|0;if(Bj>>>0<4){zj=zj+1|0}Gj=o[yj+8>>2];Ej=Bj;Bj=zj;a:{if((Aj|0)<(zj|0)?1:(Aj|0)<=(zj|0)?Gj>>>0>=Ej>>>0?0:1:0){break a}Hj=o[yj>>2];zj=Hj+Dj|0;Aj=p[zj|0]|p[zj+1|0]<<8|(p[zj+2|0]<<16|p[zj+3|0]<<24);o[yj+16>>2]=Ej;o[yj+20>>2]=Bj;zj=Cj;Cj=Dj+8|0;if(Cj>>>0<8){zj=zj+1|0}Bj=Cj;Cj=zj;if((Fj|0)<(zj|0)?1:(Fj|0)<=(zj|0)?Gj>>>0>=Bj>>>0?0:1:0){break a}zj=Ej+Hj|0;zj=p[zj|0]|p[zj+1|0]<<8|(p[zj+2|0]<<16|p[zj+3|0]<<24);o[yj+16>>2]=Bj;o[yj+20>>2]=Cj;if((Aj|0)>(zj|0)){break a}o[Ye+16>>2]=zj;o[Ye+12>>2]=Aj;yj=Aj;Aj=(zj>>31)-((zj>>>0>>0)+(yj>>31)|0)|0;yj=zj-yj|0;if(!Aj&yj>>>0>2147483646|Aj>>>0>0){break a}Ij=1;yj=yj+1|0;o[Ye+20>>2]=yj;Aj=Ye+24|0;zj=(yj|0)/2|0;o[Aj>>2]=zj;o[Ye+28>>2]=0-zj;if(yj&1){break a}o[Aj>>2]=zj+ -1}return Ij|0}function we(Ye,yj,Jj,Kj,Lj,Mj){Ye=Ye|0;yj=yj|0;Jj=Jj|0;Kj=Kj|0;Lj=Lj|0;Mj=Mj|0;var Nj=0,Oj=0,Pj=0,Qj=0,Rj=0,Sj=0,Tj=0,Uj=0,Vj=0,Wj=0,Xj=0,Yj=0,Zj=0,_j=0,$j=0,ak=0;o[Ye+8>>2]=Lj;Mj=Ye+32|0;Nj=o[Mj>>2];Kj=o[Ye+36>>2]-Nj>>2;a:{if(Kj>>>0>>0){Da(Mj,Lj-Kj|0);break a}if(Kj>>>0<=Lj>>>0){break a}o[Ye+36>>2]=Nj+(Lj<<2)}$j=o[Ye+52>>2];Yj=o[Ye+48>>2];Kj=0;Mj=(Lj&1073741823)!=(Lj|0)?-1:Lj<<2;Wj=xl(Hk(Mj),0,Mj);Sj=Ye+8|0;Mj=o[Sj>>2];b:{if((Mj|0)<1){break b}Tj=Ye+16|0;Nj=Ye+32|0;Uj=Ye+12|0;while(1){Mj=Kj<<2;Pj=o[Mj+Wj>>2];Rj=o[Tj>>2];c:{if((Pj|0)>(Rj|0)){Oj=o[Nj>>2];o[Mj+Oj>>2]=Rj;break c}Oj=o[Nj>>2];Mj=Mj+Oj|0;Rj=o[Uj>>2];if((Pj|0)<(Rj|0)){o[Mj>>2]=Rj;break c}o[Mj>>2]=Pj}Kj=Kj+1|0;Mj=o[Sj>>2];if((Kj|0)<(Mj|0)){continue}break}if((Mj|0)<1){break b}Nj=0;Sj=Ye+16|0;Pj=Ye+20|0;Tj=Ye+8|0;Uj=Ye+12|0;while(1){Mj=Nj<<2;Kj=Mj+Jj|0;Mj=o[yj+Mj>>2]+o[Mj+Oj>>2]|0;o[Kj>>2]=Mj;d:{if((Mj|0)>o[Sj>>2]){Mj=Mj-o[Pj>>2]|0}else{if((Mj|0)>=o[Uj>>2]){break d}Mj=Mj+o[Pj>>2]|0}o[Kj>>2]=Mj}Nj=Nj+1|0;Mj=o[Tj>>2];if((Nj|0)<(Mj|0)){continue}break}}Kj=o[Ye+56>>2];Zj=o[Kj>>2];Kj=o[Kj+4>>2]-Zj|0;if((Kj|0)>=5){_j=Kj>>2;Sj=Ye+16|0;Tj=Ye+32|0;Uj=Ye+8|0;Rj=Ye+20|0;Xj=Ye+12|0;ak=Yj+28|0;Pj=1;while(1){e:{f:{if(_j>>>0>Pj>>>0){Vj=u(Lj,Pj);Ye=o[(Pj<<2)+Zj>>2];if((Ye|0)==-1|o[o[Yj>>2]+(Ye>>>3&536870908)>>2]>>>(Ye&31)&1){break f}Ye=o[o[o[Yj+64>>2]+12>>2]+(Ye<<2)>>2];if((Ye|0)==-1){break f}Nj=o[$j>>2];Kj=o[ak>>2];Oj=o[Nj+(o[Kj+(Ye<<2)>>2]<<2)>>2];if((Oj|0)>=(Pj|0)){break f}Qj=Ye+1|0;Qj=o[Nj+(o[Kj+(((Qj>>>0)%3|0?Qj:Ye+ -2|0)<<2)>>2]<<2)>>2];if((Qj|0)>=(Pj|0)){break f}Ye=o[Nj+(o[Kj+(Ye+((Ye>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((Ye|0)>=(Pj|0)){break f}if((Lj|0)>=1){Ye=u(Ye,Lj);Nj=u(Lj,Qj);Oj=u(Lj,Oj);Kj=0;while(1){o[(Kj<<2)+Wj>>2]=(o[(Ye+Kj<<2)+Jj>>2]+o[(Kj+Nj<<2)+Jj>>2]|0)-o[(Kj+Oj<<2)+Jj>>2];Kj=Kj+1|0;if((Lj|0)!=(Kj|0)){continue}break}}if((Mj|0)<1){break e}Kj=0;while(1){Ye=Kj<<2;Mj=o[Ye+Wj>>2];Nj=o[Sj>>2];g:{if((Mj|0)>(Nj|0)){Oj=o[Tj>>2];o[Ye+Oj>>2]=Nj;break g}Oj=o[Tj>>2];Ye=Ye+Oj|0;Nj=o[Xj>>2];if((Mj|0)<(Nj|0)){o[Ye>>2]=Nj;break g}o[Ye>>2]=Mj}Kj=Kj+1|0;Mj=o[Uj>>2];if((Kj|0)<(Mj|0)){continue}break}Nj=0;if((Mj|0)<1){break e}Ye=Vj<<2;Vj=Ye+Jj|0;Qj=Ye+yj|0;while(1){Kj=Nj<<2;Ye=Kj+Vj|0;Kj=o[Kj+Qj>>2]+o[Kj+Oj>>2]|0;o[Ye>>2]=Kj;h:{if((Kj|0)>o[Sj>>2]){Kj=Kj-o[Rj>>2]|0}else{if((Kj|0)>=o[Xj>>2]){break h}Kj=Kj+o[Rj>>2]|0}o[Ye>>2]=Kj}Nj=Nj+1|0;Mj=o[Uj>>2];if((Nj|0)<(Mj|0)){continue}break}break e}Zk();D()}if((Mj|0)<1){break e}Nj=(u(Pj+ -1|0,Lj)<<2)+Jj|0;Kj=0;while(1){Ye=Kj<<2;Mj=o[Ye+Nj>>2];Qj=o[Sj>>2];i:{if((Mj|0)>(Qj|0)){Oj=o[Tj>>2];o[Ye+Oj>>2]=Qj;break i}Oj=o[Tj>>2];Ye=Ye+Oj|0;Qj=o[Xj>>2];if((Mj|0)<(Qj|0)){o[Ye>>2]=Qj;break i}o[Ye>>2]=Mj}Kj=Kj+1|0;Mj=o[Uj>>2];if((Kj|0)<(Mj|0)){continue}break}Nj=0;if((Mj|0)<1){break e}Ye=Vj<<2;Vj=Ye+Jj|0;Qj=Ye+yj|0;while(1){Kj=Nj<<2;Ye=Kj+Vj|0;Kj=o[Kj+Qj>>2]+o[Kj+Oj>>2]|0;o[Ye>>2]=Kj;j:{if((Kj|0)>o[Sj>>2]){Kj=Kj-o[Rj>>2]|0}else{if((Kj|0)>=o[Xj>>2]){break j}Kj=Kj+o[Rj>>2]|0}o[Ye>>2]=Kj}Nj=Nj+1|0;Mj=o[Uj>>2];if((Nj|0)<(Mj|0)){continue}break}}Pj=Pj+1|0;if((Pj|0)<(_j|0)){continue}break}}ul(Wj);return 1}function xe(Ye){Ye=Ye|0;var yj=0;o[Ye>>2]=2788;yj=o[Ye+96>>2];if(yj){ul(yj)}yj=o[Ye+84>>2];if(yj){ul(yj)}yj=o[Ye+72>>2];if(yj){ul(yj)}yj=o[Ye+60>>2];if(yj){ul(yj)}o[Ye>>2]=2732;yj=o[Ye+32>>2];if(yj){o[Ye+36>>2]=yj;ul(yj)}return Ye|0}function ye(Ye){Ye=Ye|0;var Jj=0;o[Ye>>2]=2788;Jj=o[Ye+96>>2];if(Jj){ul(Jj)}Jj=o[Ye+84>>2];if(Jj){ul(Jj)}Jj=o[Ye+72>>2];if(Jj){ul(Jj)}Jj=o[Ye+60>>2];if(Jj){ul(Jj)}o[Ye>>2]=2732;Jj=o[Ye+32>>2];if(Jj){o[Ye+36>>2]=Jj;ul(Jj)}ul(Ye)}function ze(o){o=o|0;return 4}function Ae(Ye,Kj){Ye=Ye|0;Kj=Kj|0;var Lj=0,Mj=0,bk=0,ck=0,dk=0,ek=0,fk=0,gk=0,hk=0,ik=0,jk=0;fk=R-32|0;R=fk;a:{b:{while(1){if(!Be(1,fk+28|0,Kj)){break b}Lj=o[fk+28>>2];if(Lj){ck=(u(Mj,12)+Ye|0)+60|0;Ce(ck,Lj);ek=Mf(fk+8|0);if(!Nf(ek,Kj)){break b}dk=0;while(1){gk=1<<(dk&31);hk=Pf(ek);bk=o[ck>>2]+(dk>>>3&536870908)|0;ik=bk;if(hk){bk=gk|o[bk>>2]}else{bk=o[bk>>2]&(gk^-1)}o[ik>>2]=bk;dk=dk+1|0;if((Lj|0)!=(dk|0)){continue}break}}Mj=Mj+1|0;if((Mj|0)!=4){continue}break}dk=0;Mj=o[Kj+12>>2];gk=Mj;Lj=o[Kj+20>>2];bk=Lj;ek=o[Kj+16>>2];ck=ek+4|0;if(ck>>>0<4){Lj=Lj+1|0}ik=o[Kj+8>>2];hk=ck;ck=Lj;if((Mj|0)<(Lj|0)?1:(Mj|0)<=(Lj|0)?ik>>>0>=hk>>>0?0:1:0){break a}jk=o[Kj>>2];Lj=jk+ek|0;Mj=p[Lj|0]|p[Lj+1|0]<<8|(p[Lj+2|0]<<16|p[Lj+3|0]<<24);o[Kj+16>>2]=hk;o[Kj+20>>2]=ck;Lj=bk;bk=ek+8|0;if(bk>>>0<8){Lj=Lj+1|0}ck=bk;bk=Lj;if((gk|0)<(Lj|0)?1:(gk|0)<=(Lj|0)?ik>>>0>=ck>>>0?0:1:0){break a}Lj=hk+jk|0;Lj=p[Lj|0]|p[Lj+1|0]<<8|(p[Lj+2|0]<<16|p[Lj+3|0]<<24);o[Kj+16>>2]=ck;o[Kj+20>>2]=bk;if((Mj|0)>(Lj|0)){break a}o[Ye+16>>2]=Lj;o[Ye+12>>2]=Mj;Kj=Mj;Mj=(Lj>>31)-((Lj>>>0>>0)+(Kj>>31)|0)|0;Kj=Lj-Kj|0;if(!Mj&Kj>>>0>2147483646|Mj>>>0>0){break a}dk=1;Kj=Kj+1|0;o[Ye+20>>2]=Kj;Mj=Ye+24|0;Lj=(Kj|0)/2|0;o[Mj>>2]=Lj;o[Ye+28>>2]=0-Lj;if(Kj&1){break a}o[Mj>>2]=Lj+ -1;break a}dk=0}R=fk+32|0;return dk|0}function Be(Ye,Kj,kk){var lk=0,mk=0,nk=0,ok=0;a:{if(Ye>>>0>5){break a}nk=o[kk+16>>2];lk=o[kk+12>>2];mk=o[kk+20>>2];if((lk|0)<(mk|0)?1:(lk|0)<=(mk|0)?r[kk+8>>2]>nk>>>0?0:1:0){break a}lk=p[nk+o[kk>>2]|0];nk=nk+1|0;if(nk>>>0<1){mk=mk+1|0}o[kk+16>>2]=nk;o[kk+20>>2]=mk;mk=Kj;if(lk&128){if(!Be(Ye+1|0,Kj,kk)){break a}Ye=o[Kj>>2]<<7;o[Kj>>2]=Ye;lk=Ye|lk&127}o[mk>>2]=lk;ok=1}return ok}function Ce(Ye,Kj){var kk=0,pk=0,qk=0,rk=0,sk=0,tk=0;pk=R-32|0;R=pk;a:{kk=o[Ye+4>>2];b:{if(kk>>>0>>0){sk=o[Ye+8>>2];qk=sk<<5;rk=Kj-kk|0;c:{if(!(qk>>>0>>0|kk>>>0>qk-rk>>>0)){o[Ye+4>>2]=Kj;Kj=kk&31;Ye=o[Ye>>2]+(kk>>>3&536870908)|0;break c}o[pk+24>>2]=0;o[pk+16>>2]=0;o[pk+20>>2]=0;if((Kj|0)<=-1){break a}kk=pk+16|0;if(qk>>>0<=1073741822){Kj=Kj+31&-32;qk=sk<<6;Kj=qk>>>0>>0?Kj:qk}else{Kj=2147483647}ab(kk,Kj);kk=o[Ye+4>>2];o[pk+20>>2]=kk+rk;Kj=o[pk+16>>2];d:{if((kk|0)<1){kk=0;break d}sk=o[Ye>>2];qk=kk>>>5<<2;Kj=yl(Kj,sk,qk)+qk|0;kk=kk&31;if(!kk){kk=0;break d}tk=-1>>>32-kk;o[Kj>>2]=o[Kj>>2]&(tk^-1)|o[qk+sk>>2]&tk}o[pk+12>>2]=kk;o[pk+8>>2]=Kj;kk=o[pk+8>>2];Kj=o[pk+12>>2];qk=o[Ye>>2];o[Ye>>2]=o[pk+16>>2];o[pk+16>>2]=qk;sk=o[Ye+4>>2];o[Ye+4>>2]=o[pk+20>>2];o[pk+20>>2]=sk;Ye=Ye+8|0;sk=o[Ye>>2];o[Ye>>2]=o[pk+24>>2];o[pk+24>>2]=sk;if(qk){ul(qk)}Ye=kk}if(!rk){break b}if(Kj){kk=32-Kj|0;qk=kk>>>0>rk>>>0?rk:kk;o[Ye>>2]=o[Ye>>2]&(-1<>>kk-qk^-1);rk=rk-qk|0;Ye=Ye+4|0}Kj=Ye;Ye=rk>>>5<<2;Kj=xl(Kj,0,Ye);kk=rk&31;if(!kk){break b}Ye=Ye+Kj|0;o[Ye>>2]=o[Ye>>2]&(-1>>>32-kk^-1);break b}o[Ye+4>>2]=Kj}R=pk+32|0;return}Yk();D()}function De(Ye,Kj,uk,vk,wk,xk){Ye=Ye|0;Kj=Kj|0;uk=uk|0;vk=vk|0;wk=wk|0;xk=xk|0;var yk=0,zk=0,Ak=0,Bk=0,Ck=0,Dk=0,Ek=0,Fk=0,Gk=0,Ik=0,Jk=0,Kk=0,Lk=0,Mk=0,Nk=0,Ok=0,Pk=0,Qk=0,Rk=0,Sk=0,Tk=0,Uk=0,Vk=0,Wk=0,Xk=0,_k=0;Ak=R+ -64|0;R=Ak;o[Ye+8>>2]=wk;xk=Ye+32|0;Bk=o[xk>>2];vk=o[Ye+36>>2]-Bk>>2;a:{if(vk>>>0>>0){Da(xk,wk-vk|0);break a}if(vk>>>0<=wk>>>0){break a}o[Ye+36>>2]=Bk+(wk<<2)}o[Ak+56>>2]=0;o[Ak+60>>2]=0;o[Ak+48>>2]=0;o[Ak+52>>2]=0;o[Ak+40>>2]=0;o[Ak+44>>2]=0;xk=Ak+32|0;o[xk>>2]=0;o[xk+4>>2]=0;o[Ak+24>>2]=0;o[Ak+28>>2]=0;o[Ak+16>>2]=0;o[Ak+20>>2]=0;o[Ak>>2]=0;vk=0;if(wk){yd(Ak+16|0,wk,Ak);zk=o[Ak+28>>2];vk=o[xk>>2]}o[Ak>>2]=0;vk=vk-zk>>2;b:{if(vk>>>0>=wk>>>0){if(vk>>>0<=wk>>>0){break b}o[Ak+32>>2]=(wk<<2)+zk;break b}yd(Ak+16|12,wk-vk|0,Ak)}o[Ak>>2]=0;xk=o[Ak+40>>2];vk=o[Ak+44>>2]-xk>>2;c:{if(vk>>>0>=wk>>>0){if(vk>>>0<=wk>>>0){break c}o[Ak+44>>2]=xk+(wk<<2);break c}yd(Ak+40|0,wk-vk|0,Ak)}o[Ak>>2]=0;xk=o[Ak+52>>2];vk=o[Ak+56>>2]-xk>>2;d:{if(vk>>>0>=wk>>>0){if(vk>>>0<=wk>>>0){break d}o[Ak+56>>2]=xk+(wk<<2);break d}yd(Ak+52|0,wk-vk|0,Ak)}Dk=Ye+8|0;e:{if(o[Dk>>2]<=0){break e}Ek=o[Ak+16>>2];zk=0;Gk=Ye+16|0;vk=Ye+32|0;Ck=Ye+12|0;while(1){xk=zk<<2;yk=o[xk+Ek>>2];Ik=o[Gk>>2];f:{if((yk|0)>(Ik|0)){Bk=o[vk>>2];o[xk+Bk>>2]=Ik;break f}Bk=o[vk>>2];xk=xk+Bk|0;Ik=o[Ck>>2];if((yk|0)<(Ik|0)){o[xk>>2]=Ik;break f}o[xk>>2]=yk}zk=zk+1|0;xk=o[Dk>>2];if((zk|0)<(xk|0)){continue}break}if((xk|0)<1){break e}vk=0;Dk=Ye+16|0;zk=Ye+20|0;Ek=Ye+8|0;Gk=Ye+12|0;while(1){yk=vk<<2;xk=yk+uk|0;yk=o[Kj+yk>>2]+o[yk+Bk>>2]|0;o[xk>>2]=yk;g:{if((yk|0)>o[Dk>>2]){yk=yk-o[zk>>2]|0}else{if((yk|0)>=o[Gk>>2]){break g}yk=yk+o[zk>>2]|0}o[xk>>2]=yk}vk=vk+1|0;if((vk|0)>2]){continue}break}}Wk=o[Ye+52>>2];Ek=o[Ye+48>>2];Qk=Hk(16);vk=Qk;o[vk>>2]=0;o[vk+4>>2]=0;o[vk+8>>2]=0;o[vk+12>>2]=0;o[Ak+8>>2]=0;o[Ak>>2]=0;o[Ak+4>>2]=0;h:{if(wk){if(wk>>>0>=1073741824){break h}vk=wk<<2;Mk=Hk(vk);o[Ak>>2]=Mk;xk=vk+Mk|0;o[Ak+8>>2]=xk;xl(Mk,0,vk);o[Ak+4>>2]=xk}vk=1;xk=o[Ye+56>>2];Uk=o[xk>>2];xk=o[xk+4>>2]-Uk|0;i:{if((xk|0)<5){break i}Vk=xk>>2;Xk=wk<<2;Gk=Ye+8|0;Ik=Ye+16|0;Nk=Ye+32|0;Ok=Ye+20|0;Pk=Ye+12|0;_k=Ek+28|0;Dk=1;while(1){j:{k:{l:{if(Vk>>>0>Dk>>>0){m:{n:{Bk=o[(Dk<<2)+Uk>>2];if((Bk|0)==-1){break n}Fk=Bk+((Bk>>>0)%3|0?-1:2)|0;Rk=Fk>>>5;Ck=1;Sk=1<<(Fk&31);Tk=o[Ek>>2];xk=0;vk=Bk;o:{while(1){p:{if(o[Tk+(vk>>>3&536870908)>>2]>>>(vk&31)&1){break p}yk=o[o[o[Ek+64>>2]+12>>2]+(vk<<2)>>2];if((yk|0)==-1){break p}Kk=o[Wk>>2];zk=o[_k>>2];Lk=o[Kk+(o[zk+(yk<<2)>>2]<<2)>>2];if((Lk|0)>=(Dk|0)){break p}Jk=yk+1|0;Jk=o[Kk+(o[zk+(((Jk>>>0)%3|0?Jk:yk+ -2|0)<<2)>>2]<<2)>>2];if((Jk|0)>=(Dk|0)){break p}yk=o[Kk+(o[zk+(yk+((yk>>>0)%3|0?-1:2)<<2)>>2]<<2)>>2];if((yk|0)>=(Dk|0)){break p}if((wk|0)>=1){Kk=o[(Ak+16|0)+u(xk,12)>>2];yk=u(wk,yk);Jk=u(wk,Jk);Lk=u(wk,Lk);zk=0;while(1){o[Kk+(zk<<2)>>2]=(o[(yk+zk<<2)+uk>>2]+o[(zk+Jk<<2)+uk>>2]|0)-o[(zk+Lk<<2)+uk>>2];zk=zk+1|0;if((zk|0)!=(wk|0)){continue}break}}yk=4;xk=xk+1|0;if((xk|0)==4){break o}}q:{if(Ck&1){zk=-1;yk=vk+1|0;vk=(yk>>>0)%3|0?yk:vk+ -2|0;if((vk|0)==-1|o[o[Ek>>2]+(vk>>>3&536870908)>>2]>>>(vk&31)&1){break q}vk=o[o[o[Ek+64>>2]+12>>2]+(vk<<2)>>2];if((vk|0)==-1){break q}yk=vk+1|0;zk=(yk>>>0)%3|0?yk:vk+ -2|0;break q}zk=-1;vk=((vk>>>0)%3|0?-1:2)+vk|0;if((vk|0)==-1|o[o[Ek>>2]+(vk>>>3&536870908)>>2]>>>(vk&31)&1){break q}vk=o[o[o[Ek+64>>2]+12>>2]+(vk<<2)>>2];if((vk|0)==-1){break q}if((vk>>>0)%3){zk=vk+ -1|0;break q}zk=vk+2|0}r:{if((zk|0)==(Bk|0)){break r}vk=zk;yk=(zk|0)!=-1;zk=(yk|Ck^-1)&1;vk=zk?vk:-1;Ck=yk&Ck;if(!((Fk|0)==-1|zk)){if(o[o[Ek>>2]+(Rk<<2)>>2]&Sk){break r}yk=o[o[o[Ek+64>>2]+12>>2]+(Fk<<2)>>2];if((yk|0)==-1){break r}Ck=0;if((yk>>>0)%3){vk=yk+ -1|0}else{vk=yk+2|0}}if((vk|0)!=-1){continue}}break}yk=xk;if((yk|0)<1){break n}}Fk=(wk|0)<1;if(!Fk){xl(Mk,0,Xk)}vk=yk+ -1|0;Ck=(vk<<2)+Qk|0;vk=u(vk,12)+Ye|0;Kk=vk+60|0;Rk=o[vk- -64>>2];vk=0;Sk=o[Ak>>2];Bk=0;xk=0;while(1){zk=o[Ck>>2];o[Ck>>2]=zk+1;if(Rk>>>0<=zk>>>0){break i}s:{if(o[o[Kk>>2]+(zk>>>3&536870908)>>2]>>>(zk&31)&1){break s}xk=xk+1|0;if(Fk){break s}Tk=o[(Ak+16|0)+u(Bk,12)>>2];zk=0;while(1){Lk=zk<<2;Jk=Lk+Sk|0;o[Jk>>2]=o[Jk>>2]+o[Lk+Tk>>2];zk=zk+1|0;if((zk|0)!=(wk|0)){continue}break}}Bk=Bk+1|0;if((yk|0)!=(Bk|0)){continue}break}Ck=u(wk,Dk);yk=Ck;if(!xk){break m}zk=0;if((wk|0)>0){break l}break k}yk=u(wk,Dk)}if(o[Gk>>2]<1){break j}Ck=(u(Dk+ -1|0,wk)<<2)+uk|0;zk=0;while(1){vk=zk<<2;xk=o[vk+Ck>>2];Fk=o[Ik>>2];t:{if((xk|0)>(Fk|0)){Bk=o[Nk>>2];o[vk+Bk>>2]=Fk;break t}Bk=o[Nk>>2];vk=vk+Bk|0;Fk=o[Pk>>2];if((xk|0)<(Fk|0)){o[vk>>2]=Fk;break t}o[vk>>2]=xk}zk=zk+1|0;xk=o[Gk>>2];if((zk|0)<(xk|0)){continue}break}vk=0;if((xk|0)<1){break j}xk=yk<<2;zk=xk+uk|0;Ck=Kj+xk|0;while(1){yk=vk<<2;xk=yk+zk|0;yk=o[yk+Ck>>2]+o[yk+Bk>>2]|0;o[xk>>2]=yk;u:{if((yk|0)>o[Ik>>2]){yk=yk-o[Ok>>2]|0}else{if((yk|0)>=o[Pk>>2]){break u}yk=yk+o[Ok>>2]|0}o[xk>>2]=yk}vk=vk+1|0;if((vk|0)>2]){continue}break}break j}Zk();D()}while(1){vk=(zk<<2)+Mk|0;o[vk>>2]=o[vk>>2]/(xk|0);zk=zk+1|0;if((zk|0)!=(wk|0)){continue}break}}if(o[Gk>>2]<1){break j}zk=0;while(1){vk=zk<<2;xk=o[vk+Mk>>2];yk=o[Ik>>2];v:{if((xk|0)>(yk|0)){Bk=o[Nk>>2];o[vk+Bk>>2]=yk;break v}Bk=o[Nk>>2];vk=vk+Bk|0;yk=o[Pk>>2];if((xk|0)<(yk|0)){o[vk>>2]=yk;break v}o[vk>>2]=xk}zk=zk+1|0;xk=o[Gk>>2];if((zk|0)<(xk|0)){continue}break}vk=0;if((xk|0)<1){break j}xk=Ck<<2;zk=xk+uk|0;Ck=Kj+xk|0;while(1){yk=vk<<2;xk=yk+zk|0;yk=o[yk+Ck>>2]+o[yk+Bk>>2]|0;o[xk>>2]=yk;w:{if((yk|0)>o[Ik>>2]){yk=yk-o[Ok>>2]|0}else{if((yk|0)>=o[Pk>>2]){break w}yk=yk+o[Ok>>2]|0}o[xk>>2]=yk}vk=vk+1|0;if((vk|0)>2]){continue}break}}vk=1;Dk=Dk+1|0;if((Dk|0)<(Vk|0)){continue}break}}Ye=o[Ak>>2];if(Ye){o[Ak+4>>2]=Ye;ul(Ye)}ul(Qk);Ye=o[Ak+52>>2];if(Ye){o[Ak+56>>2]=Ye;ul(Ye)}Ye=o[Ak+40>>2];if(Ye){o[Ak+44>>2]=Ye;ul(Ye)}Ye=o[Ak+28>>2];if(Ye){o[Ak+32>>2]=Ye;ul(Ye)}Ye=o[Ak+16>>2];if(Ye){o[Ak+20>>2]=Ye;ul(Ye)}R=Ak- -64|0;return vk|0}Yk();D()}function Ee(Ye){Ye=Ye|0;var Kj=0;o[Ye>>2]=3036;Kj=o[Ye+76>>2];if(Kj){ul(Kj)}o[Ye>>2]=2732;Kj=o[Ye+32>>2];if(Kj){o[Ye+36>>2]=Kj;ul(Kj)}return Ye|0}function Fe(Ye){Ye=Ye|0;var uk=0;o[Ye>>2]=3036;uk=o[Ye+76>>2];if(uk){ul(uk)}o[Ye>>2]=2732;uk=o[Ye+32>>2];if(uk){o[Ye+36>>2]=uk;ul(uk)}ul(Ye)}function Ge(o){o=o|0;return 5}function He(Ye){Ye=Ye|0;if(!(!o[Ye+60>>2]|!o[Ye+44>>2]|(!o[Ye+48>>2]|!o[Ye+52>>2]))){return o[Ye+56>>2]!=0|0}return 0}function Ie(Ye,vk){Ye=Ye|0;vk=vk|0;var wk=0;if(!(o[vk+56>>2]|!vk|p[vk+24|0]!=3)){o[Ye+60>>2]=vk;wk=1}return wk|0}function Je(Ye,vk){Ye=Ye|0;vk=vk|0;var xk=0,Hk=0,Yk=0,Zk=0,$k=0,al=0,bl=0,cl=0,dl=0,el=0,fl=0;cl=R-16|0;R=cl;Yk=o[vk+12>>2];xk=o[vk+20>>2];Zk=o[vk+16>>2];Hk=Zk+4|0;if(Hk>>>0<4){xk=xk+1|0}$k=Hk;Hk=xk;a:{if((Yk|0)<(xk|0)?1:(Yk|0)<=(xk|0)?r[vk+8>>2]>=$k>>>0?0:1:0){break a}xk=Zk+o[vk>>2]|0;xk=p[xk|0]|p[xk+1|0]<<8|(p[xk+2|0]<<16|p[xk+3|0]<<24);o[vk+16>>2]=$k;o[vk+20>>2]=Hk;if((xk|0)<0){break a}Ce(Ye+76|0,xk);$k=Mf(cl);b:{if(!Nf($k,vk)){break b}if((xk|0)>=1){Yk=1;while(1){Zk=1<<(bl&31);al=Pf($k);Hk=o[Ye+76>>2]+(bl>>>3&536870908)|0;Yk=Yk^al;al=o[Hk>>2]|Zk;c:{if(!(Yk&1)){break c}al=o[Hk>>2]&(Zk^-1)}Zk=al;Yk=Yk^1;o[Hk>>2]=Zk;bl=bl+1|0;if((xk|0)!=(bl|0)){continue}break}}Hk=o[vk+12>>2];bl=Hk;xk=o[vk+20>>2];Yk=xk;$k=o[vk+16>>2];Zk=$k+4|0;if(Zk>>>0<4){xk=xk+1|0}dl=o[vk+8>>2];al=Zk;Zk=xk;if((Hk|0)<(xk|0)?1:(Hk|0)<=(xk|0)?dl>>>0>=al>>>0?0:1:0){break b}el=o[vk>>2];xk=el+$k|0;Hk=p[xk|0]|p[xk+1|0]<<8|(p[xk+2|0]<<16|p[xk+3|0]<<24);o[vk+16>>2]=al;o[vk+20>>2]=Zk;xk=Yk;Yk=$k+8|0;if(Yk>>>0<8){xk=xk+1|0}Zk=Yk;Yk=xk;if((bl|0)<(xk|0)?1:(bl|0)<=(xk|0)?dl>>>0>=Zk>>>0?0:1:0){break b}xk=al+el|0;xk=p[xk|0]|p[xk+1|0]<<8|(p[xk+2|0]<<16|p[xk+3|0]<<24);o[vk+16>>2]=Zk;o[vk+20>>2]=Yk;if((Hk|0)>(xk|0)){break b}o[Ye+16>>2]=xk;o[Ye+12>>2]=Hk;vk=Hk;Hk=(xk>>31)-((xk>>>0>>0)+(vk>>31)|0)|0;vk=xk-vk|0;if(!Hk&vk>>>0>2147483646|Hk>>>0>0){break b}fl=1;vk=vk+1|0;o[Ye+20>>2]=vk;Hk=Ye+24|0;xk=(vk|0)/2|0;o[Hk>>2]=xk;o[Ye+28>>2]=0-xk;if(vk&1){break b}o[Hk>>2]=xk+ -1}}R=cl+16|0;return fl|0}function Ke(Ye,vk,gl,hl,il,jl){Ye=Ye|0;vk=vk|0;gl=gl|0;hl=hl|0;il=il|0;jl=jl|0;var kl=0,ll=0,ml=0,nl=0,ol=0,pl=0,ql=0,rl=0,sl=0,tl=0,ul=0,vl=0;hl=0;a:{if((il|0)!=2){break a}o[Ye+8>>2]=2;o[Ye- -64>>2]=jl;hl=Ye+32|0;il=o[hl>>2];jl=o[Ye+36>>2]-il|0;kl=jl>>2;b:{if(kl>>>0<=1){Da(hl,2-kl|0);break b}if((jl|0)==8){break b}o[Ye+36>>2]=il+8}hl=1;il=o[Ye+56>>2];jl=o[il+4>>2];il=o[il>>2];kl=jl-il|0;if((kl|0)<1){break a}if((il|0)!=(jl|0)){sl=Ye+60|0;tl=kl>>2;kl=Ye+8|0;ol=Ye+16|0;pl=Ye+32|0;ql=Ye+20|0;rl=Ye+12|0;ul=Ye+56|0;while(1){if(!Le(sl,o[(ml<<2)+il>>2],gl,ml)){hl=0;break a}c:{if(o[kl>>2]<1){break c}il=0;while(1){hl=il<<2;jl=o[(hl+Ye|0)+68>>2];ll=o[ol>>2];d:{if((jl|0)>(ll|0)){nl=o[pl>>2];o[hl+nl>>2]=ll;break d}nl=o[pl>>2];hl=hl+nl|0;ll=o[rl>>2];if((jl|0)<(ll|0)){o[hl>>2]=ll;break d}o[hl>>2]=jl}il=il+1|0;hl=o[kl>>2];if((il|0)<(hl|0)){continue}break}jl=0;if((hl|0)<1){break c}hl=ml<<3;ll=hl+gl|0;vl=vk+hl|0;while(1){il=jl<<2;hl=il+ll|0;il=o[il+vl>>2]+o[il+nl>>2]|0;o[hl>>2]=il;e:{if((il|0)>o[ol>>2]){il=il-o[ql>>2]|0}else{if((il|0)>=o[rl>>2]){break e}il=il+o[ql>>2]|0}o[hl>>2]=il}jl=jl+1|0;if((jl|0)>2]){continue}break}}hl=1;ml=ml+1|0;if((ml|0)>=(tl|0)){break a}hl=o[ul>>2];il=o[hl>>2];if(o[hl+4>>2]-il>>2>>>0>ml>>>0){continue}break}}Zk();D()}return hl|0}function Le(Ye,vk,gl,hl){var il=0,jl=0,wl=0,xl=0,yl=0,zl=0,Al=0,Bl=0,Cl=0,Dl=0,El=0,Fl=0,Gl=0,Hl=0,Il=0,Jl=0,Kl=0,Ll=0,Ml=0,Nl=0,Ol=0,Pl=0,Ql=0,Rl=0,Sl=0;wl=R-80|0;R=wl;jl=-1;il=-1;a:{if((vk|0)==-1){break a}il=vk+1|0;jl=(il>>>0)%3|0?il:vk+ -2|0;il=vk+ -1|0;if((vk>>>0)%3){break a}il=vk+2|0}xl=o[Ye+36>>2];vk=o[xl>>2];b:{c:{d:{e:{f:{xl=o[xl+4>>2]-vk>>2;yl=jl<<2;jl=o[o[Ye+32>>2]+28>>2];zl=o[yl+jl>>2];if(xl>>>0<=zl>>>0){break f}il=o[jl+(il<<2)>>2];if(xl>>>0<=il>>>0){break f}g:{h:{Cl=o[vk+(zl<<2)>>2];Fl=(Cl|0)>=(hl|0);if(Fl){break h}jl=o[vk+(il<<2)>>2];if((jl|0)>=(hl|0)){break h}vk=jl<<3;Kl=o[(vk|4)+gl>>2];il=Cl<<3;Dl=o[(il|4)+gl>>2];Hl=o[vk+gl>>2];Jl=o[gl+il>>2];if(!((Hl|0)!=(Jl|0)|(Dl|0)!=(Kl|0))){o[Ye+8>>2]=Jl;o[Ye+12>>2]=Dl;break g}vk=o[o[Ye+4>>2]+(hl<<2)>>2];o[wl+72>>2]=0;o[wl+76>>2]=0;il=wl- -64|0;o[il>>2]=0;o[il+4>>2]=0;o[wl+56>>2]=0;o[wl+60>>2]=0;il=o[Ye>>2];if(!p[il+84|0]){vk=o[o[il+68>>2]+(vk<<2)>>2]}Me(il,vk,m[il+24|0],wl+56|0);vk=o[o[Ye+4>>2]+(Cl<<2)>>2];o[wl+48>>2]=0;o[wl+52>>2]=0;o[wl+40>>2]=0;o[wl+44>>2]=0;o[wl+32>>2]=0;o[wl+36>>2]=0;il=o[Ye>>2];if(!p[il+84|0]){vk=o[o[il+68>>2]+(vk<<2)>>2]}Me(il,vk,m[il+24|0],wl+32|0);vk=o[o[Ye+4>>2]+(jl<<2)>>2];o[wl+24>>2]=0;o[wl+28>>2]=0;o[wl+16>>2]=0;o[wl+20>>2]=0;o[wl+8>>2]=0;o[wl+12>>2]=0;il=o[Ye>>2];if(!p[il+84|0]){vk=o[o[il+68>>2]+(vk<<2)>>2]}Me(il,vk,m[il+24|0],wl+8|0);Ll=o[wl+44>>2];vk=o[wl+16>>2];yl=o[wl+40>>2];il=yl;jl=o[wl+20>>2]-(Ll+(vk>>>0>>0)|0)|0;Nl=vk-il|0;vk=Vl(Nl,jl,Nl,jl);il=T;Bl=vk;Ml=o[wl+36>>2];vk=o[wl+8>>2];Al=o[wl+32>>2];zl=Al;xl=o[wl+12>>2]-(Ml+(vk>>>0>>0)|0)|0;Ol=vk-zl|0;zl=Vl(Ol,xl,Ol,xl);vk=Bl+zl|0;il=T+il|0;il=vk>>>0>>0?il+1|0:il;Gl=vk;Ql=o[wl+52>>2];vk=o[wl+24>>2];Bl=o[wl+48>>2];zl=Bl;El=o[wl+28>>2]-(Ql+(vk>>>0>>0)|0)|0;Pl=vk-zl|0;zl=Vl(Pl,El,Pl,El);vk=Gl+zl|0;il=T+il|0;Il=vk;zl=vk>>>0>>0?il+1|0:il;if(!(vk|zl)){break h}hl=1;vk=0;il=o[wl+64>>2];gl=o[wl+68>>2]-((il>>>0>>0)+Ll|0)|0;il=il-yl|0;Cl=il;Fl=gl;gl=Vl(Nl,jl,il,gl);il=T;Gl=gl;yl=o[wl+56>>2];gl=yl-Al|0;Ll=o[wl+60>>2]-((yl>>>0>>0)+Ml|0)|0;Al=Vl(gl,Ll,Ol,xl);yl=Gl+Al|0;il=T+il|0;il=yl>>>0>>0?il+1|0:il;Gl=yl;yl=o[wl+72>>2];Al=yl-Bl|0;Ml=o[wl+76>>2]-((yl>>>0>>0)+Ql|0)|0;Bl=Vl(Al,Ml,Pl,El);yl=Gl+Bl|0;il=T+il|0;il=yl>>>0>>0?il+1|0:il;Bl=yl;yl=il;jl=Wl(Vl(Bl,il,Nl,jl),T,Il,zl);Fl=Fl-(T+(Cl>>>0>>0)|0)|0;jl=Cl-jl|0;jl=Vl(jl,Fl,jl,Fl);Cl=T;Gl=jl;il=Wl(Vl(Ol,xl,Bl,il),T,Il,zl);jl=Ll-(T+(gl>>>0>>0)|0)|0;gl=gl-il|0;jl=Vl(gl,jl,gl,jl);gl=Gl+jl|0;il=T+Cl|0;il=gl>>>0>>0?il+1|0:il;xl=gl;gl=Wl(Vl(Bl,yl,Pl,El),T,Il,zl);jl=Ml-(T+(Al>>>0>>0)|0)|0;gl=Al-gl|0;jl=Vl(gl,jl,gl,jl);gl=xl+jl|0;il=T+il|0;jl=Vl(gl,gl>>>0>>0?il+1|0:il,Il,zl);gl=T;xl=gl;if(!gl&jl>>>0<=1|gl>>>0<0){break e}El=jl;gl=xl;while(1){il=vk<<1|hl>>>31;hl=hl<<1;vk=il;Al=!gl&El>>>0>7|gl>>>0>0;El=(gl&3)<<30|El>>>2;gl=gl>>>2;if(Al){continue}break}break d}il=Ye;if(Fl){if((hl|0)<=0){o[Ye+8>>2]=0;o[Ye+12>>2]=0;break g}vk=(hl<<1)+ -2|0}else{vk=Cl<<1}vk=(vk<<2)+gl|0;o[il+8>>2]=o[vk>>2];o[Ye+12>>2]=o[vk+4>>2]}gl=1;break b}Zk();D()}hl=jl;vk=xl;if(jl-1){break c}}while(1){gl=Xl(jl,xl,hl,vk)+hl|0;il=vk+T|0;il=gl>>>0>>0?il+1|0:il;hl=(il&1)<<31|gl>>>1;vk=il>>>1;gl=Vl(hl,vk,hl,vk);il=T;if((xl|0)==(il|0)&gl>>>0>jl>>>0|il>>>0>xl>>>0){continue}break}}il=o[Ye+20>>2];gl=0;if(!il){break b}xl=il+ -1|0;El=o[o[Ye+16>>2]+(xl>>>3&536870908)>>2];o[Ye+20>>2]=xl;gl=Kl;il=Dl;Al=gl-il|0;Dl=il>>31;Kl=(gl>>31)-(Dl+(gl>>>0>>0)|0)|0;gl=Vl(Bl,yl,Al,Kl);jl=T;Dl=Vl(il,Dl,Il,zl);gl=Dl+gl|0;il=T+jl|0;il=gl>>>0
    >>0?il+1|0:il;Gl=gl;gl=Hl;jl=Jl;Cl=gl-jl|0;Jl=jl>>31;Dl=(gl>>31)-(Jl+(gl>>>0>>0)|0)|0;gl=Vl(hl,vk,Cl,Dl);Hl=gl;gl=El>>>(xl&31)&1;Fl=gl?0-Hl|0:Hl;xl=Gl+Fl|0;El=il;il=T;il=El+(gl?0-(il+(0>>0)|0)|0:il)|0;Rl=Ye,Sl=Wl(xl,xl>>>0>>0?il+1|0:il,Il,zl),o[Rl+12>>2]=Sl;il=Vl(Bl,yl,Cl,Dl);xl=T;Hl=Ye;jl=Vl(jl,Jl,Il,zl);Ye=jl+il|0;il=T+xl|0;il=Ye>>>0>>0?il+1|0:il;yl=Ye;Ye=Vl(hl,vk,Al,Kl);hl=gl?Ye:0-Ye|0;vk=yl+hl|0;yl=il;il=T;Ye=yl+(gl?il:0-((0>>0)+il|0)|0)|0;Rl=Hl,Sl=Wl(vk,vk>>>0>>0?Ye+1|0:Ye,Il,zl),o[Rl+8>>2]=Sl;gl=1}R=wl+80|0;return gl}function Me(Ye,vk,gl,hl){var Tl=0,Ul=0,Wl=0,Xl=0,Yl=v(0),Zl=0,_l=0;a:{b:{if(!hl){break b}Tl=o[Ye+28>>2]+ -1|0;if(Tl>>>0>10){break b}c:{d:{e:{switch(Tl-1|0){default:Tl=m[Ye+24|0];if(((Tl|0)>(gl|0)?gl:Tl)<<24>>24>=1){Wl=o[o[Ye>>2]>>2];Tl=o[Ye+48>>2]+Vl(o[Ye+40>>2],o[Ye+44>>2],vk,0)|0;vk=Wl+Tl|0;while(1){Tl=(Ul<<3)+hl|0;Xl=m[vk|0];o[Tl>>2]=Xl;o[Tl+4>>2]=Xl>>31;vk=vk+1|0;Ul=Ul+1|0;Tl=m[Ye+24|0];if((Ul|0)<((Tl|0)>(gl|0)?gl:Tl)<<24>>24){continue}break}}if((Tl|0)>=(gl|0)){break b}break a;case 0:Tl=m[Ye+24|0];if(((Tl|0)>(gl|0)?gl:Tl)<<24>>24>=1){Wl=o[o[Ye>>2]>>2];Tl=o[Ye+48>>2]+Vl(o[Ye+40>>2],o[Ye+44>>2],vk,0)|0;vk=Wl+Tl|0;while(1){Tl=(Ul<<3)+hl|0;o[Tl>>2]=p[vk|0];o[Tl+4>>2]=0;vk=vk+1|0;Ul=Ul+1|0;Tl=m[Ye+24|0];if((Ul|0)<((Tl|0)>(gl|0)?gl:Tl)<<24>>24){continue}break}}if((Tl|0)>=(gl|0)){break b}break a;case 1:Tl=m[Ye+24|0];if(((Tl|0)>(gl|0)?gl:Tl)<<24>>24>=1){Wl=o[o[Ye>>2]>>2];Tl=o[Ye+48>>2]+Vl(o[Ye+40>>2],o[Ye+44>>2],vk,0)|0;vk=Wl+Tl|0;while(1){Tl=(Ul<<3)+hl|0;Xl=n[vk>>1];o[Tl>>2]=Xl;o[Tl+4>>2]=Xl>>31;vk=vk+2|0;Ul=Ul+1|0;Tl=m[Ye+24|0];if((Ul|0)<((Tl|0)>(gl|0)?gl:Tl)<<24>>24){continue}break}}if((Tl|0)>=(gl|0)){break b}break a;case 2:Tl=m[Ye+24|0];if(((Tl|0)>(gl|0)?gl:Tl)<<24>>24>=1){Wl=o[o[Ye>>2]>>2];Tl=o[Ye+48>>2]+Vl(o[Ye+40>>2],o[Ye+44>>2],vk,0)|0;vk=Wl+Tl|0;while(1){Tl=(Ul<<3)+hl|0;o[Tl>>2]=q[vk>>1];o[Tl+4>>2]=0;vk=vk+2|0;Ul=Ul+1|0;Tl=m[Ye+24|0];if((Ul|0)<((Tl|0)>(gl|0)?gl:Tl)<<24>>24){continue}break}}if((Tl|0)>=(gl|0)){break b}break a;case 3:Tl=m[Ye+24|0];if(((Tl|0)>(gl|0)?gl:Tl)<<24>>24>=1){Wl=o[o[Ye>>2]>>2];Tl=o[Ye+48>>2]+Vl(o[Ye+40>>2],o[Ye+44>>2],vk,0)|0;vk=Wl+Tl|0;while(1){Tl=(Ul<<3)+hl|0;Xl=o[vk>>2];o[Tl>>2]=Xl;o[Tl+4>>2]=Xl>>31;vk=vk+4|0;Ul=Ul+1|0;Tl=m[Ye+24|0];if((Ul|0)<((Tl|0)>(gl|0)?gl:Tl)<<24>>24){continue}break}}if((Tl|0)>=(gl|0)){break b}break a;case 4:Tl=m[Ye+24|0];if(((Tl|0)>(gl|0)?gl:Tl)<<24>>24>=1){Wl=o[o[Ye>>2]>>2];Tl=o[Ye+48>>2]+Vl(o[Ye+40>>2],o[Ye+44>>2],vk,0)|0;vk=Wl+Tl|0;while(1){Tl=(Ul<<3)+hl|0;o[Tl>>2]=o[vk>>2];o[Tl+4>>2]=0;vk=vk+4|0;Ul=Ul+1|0;Tl=m[Ye+24|0];if((Ul|0)<((Tl|0)>(gl|0)?gl:Tl)<<24>>24){continue}break}}if((Tl|0)>=(gl|0)){break b}break a;case 5:Tl=m[Ye+24|0];if(((Tl|0)>(gl|0)?gl:Tl)<<24>>24>=1){Wl=o[o[Ye>>2]>>2];Tl=o[Ye+48>>2]+Vl(o[Ye+40>>2],o[Ye+44>>2],vk,0)|0;vk=Wl+Tl|0;while(1){Xl=o[vk+4>>2];Tl=(Ul<<3)+hl|0;o[Tl>>2]=o[vk>>2];o[Tl+4>>2]=Xl;vk=vk+8|0;Ul=Ul+1|0;Tl=m[Ye+24|0];if((Ul|0)<((Tl|0)>(gl|0)?gl:Tl)<<24>>24){continue}break}}if((Tl|0)>=(gl|0)){break b}break a;case 6:Tl=m[Ye+24|0];if(((Tl|0)>(gl|0)?gl:Tl)<<24>>24>=1){Wl=o[o[Ye>>2]>>2];Tl=o[Ye+48>>2]+Vl(o[Ye+40>>2],o[Ye+44>>2],vk,0)|0;vk=Wl+Tl|0;while(1){Xl=o[vk+4>>2];Tl=(Ul<<3)+hl|0;o[Tl>>2]=o[vk>>2];o[Tl+4>>2]=Xl;vk=vk+8|0;Ul=Ul+1|0;Tl=m[Ye+24|0];if((Ul|0)<((Tl|0)>(gl|0)?gl:Tl)<<24>>24){continue}break}}if((Tl|0)>=(gl|0)){break b}break a;case 7:Tl=m[Ye+24|0];if(((Tl|0)>(gl|0)?gl:Tl)<<24>>24<1){break c}Wl=o[o[Ye>>2]>>2];Tl=o[Ye+48>>2]+Vl(o[Ye+40>>2],o[Ye+44>>2],vk,0)|0;vk=Wl+Tl|0;while(1){Tl=(Ul<<3)+hl|0;Wl=Tl;Yl=s[vk>>2];f:{if(v(w(Yl))=v(1)?Yl>v(0)?~~v(y(v(A(v(Yl/v(4294967296)))),v(4294967296)))>>>0:~~v(B(v(v(Yl-v(~~Yl>>>0>>>0))/v(4294967296))))>>>0:0;_l=~~Yl>>>0;break f}Xl=-2147483648;_l=0}o[Wl>>2]=_l;o[Tl+4>>2]=Xl;vk=vk+4|0;Ul=Ul+1|0;Tl=m[Ye+24|0];if((Ul|0)<((Tl|0)>(gl|0)?gl:Tl)<<24>>24){continue}break}break c;case 8:Tl=m[Ye+24|0];if(((Tl|0)>(gl|0)?gl:Tl)<<24>>24<1){break d}Wl=o[o[Ye>>2]>>2];Tl=o[Ye+48>>2]+Vl(o[Ye+40>>2],o[Ye+44>>2],vk,0)|0;vk=Wl+Tl|0;while(1){Tl=(Ul<<3)+hl|0;Wl=Tl;Zl=t[vk>>3];g:{if(w(Zl)<0x8000000000000000){Xl=w(Zl)>=1?Zl>0?~~y(A(Zl/4294967296),4294967295)>>>0:~~B((Zl- +(~~Zl>>>0>>>0))/4294967296)>>>0:0;_l=~~Zl>>>0;break g}Xl=-2147483648;_l=0}o[Wl>>2]=_l;o[Tl+4>>2]=Xl;vk=vk+8|0;Ul=Ul+1|0;Tl=m[Ye+24|0];if((Ul|0)<((Tl|0)>(gl|0)?gl:Tl)<<24>>24){continue}break}break d;case 9:break e}}Tl=m[Ye+24|0];if(((Tl|0)>(gl|0)?gl:Tl)<<24>>24>=1){Wl=o[o[Ye>>2]>>2];Tl=o[Ye+48>>2]+Vl(o[Ye+40>>2],o[Ye+44>>2],vk,0)|0;vk=Wl+Tl|0;while(1){Tl=(Ul<<3)+hl|0;o[Tl>>2]=p[vk|0];o[Tl+4>>2]=0;vk=vk+1|0;Ul=Ul+1|0;Tl=m[Ye+24|0];if((Ul|0)<((Tl|0)>(gl|0)?gl:Tl)<<24>>24){continue}break}}if((Tl|0)>=(gl|0)){break b}xl((Tl<<3)+hl|0,0,gl-Tl<<3);break b}if((Tl|0)>=(gl|0)){break b}break a}if((Tl|0)>=(gl|0)){break b}xl((Tl<<3)+hl|0,0,gl-Tl<<3)}return}xl((Tl<<3)+hl|0,0,gl-Tl<<3)}function Ne(Ye){Ye=Ye|0;var vk=0;o[Ye>>2]=3272;o[Ye>>2]=2732;vk=o[Ye+32>>2];if(vk){o[Ye+36>>2]=vk;ul(vk)}return Ye|0}function Oe(Ye){Ye=Ye|0;var gl=0;o[Ye>>2]=3272;o[Ye>>2]=2732;gl=o[Ye+32>>2];if(gl){o[Ye+36>>2]=gl;ul(gl)}ul(Ye)}function Pe(o){o=o|0;return 6}function Qe(Ye){Ye=Ye|0;var hl=0;a:{if(!o[Ye- -64>>2]|!o[Ye+68>>2]|(!o[Ye+44>>2]|!o[Ye+48>>2])){break a}if(!o[Ye+52>>2]|!o[Ye+56>>2]){break a}hl=o[Ye+92>>2]!=-1}return hl|0}function Re(Ye,Vl){Ye=Ye|0;Vl=Vl|0;var $l=0;if(!(o[Vl+56>>2]|p[Vl+24|0]!=3)){o[Ye- -64>>2]=Vl;$l=1}return $l|0}function Se(Ye,Vl){Ye=Ye|0;Vl=Vl|0;var am=0,bm=0,cm=0,dm=0,em=0,fm=0,gm=0,hm=0,im=0,jm=0;bm=o[Vl+12>>2];cm=bm;am=o[Vl+20>>2];em=am;fm=o[Vl+16>>2];dm=fm+4|0;if(dm>>>0<4){am=am+1|0}hm=o[Vl+8>>2];gm=dm;dm=am;a:{if((bm|0)<(am|0)?1:(bm|0)<=(am|0)?hm>>>0>=gm>>>0?0:1:0){break a}im=o[Vl>>2];am=im+fm|0;bm=p[am|0]|p[am+1|0]<<8|(p[am+2|0]<<16|p[am+3|0]<<24);o[Vl+16>>2]=gm;o[Vl+20>>2]=dm;am=em;em=fm+8|0;if(em>>>0<8){am=am+1|0}dm=em;em=am;if((cm|0)<(am|0)?1:(cm|0)<=(am|0)?hm>>>0>=dm>>>0?0:1:0){break a}am=gm+im|0;am=p[am|0]|p[am+1|0]<<8|(p[am+2|0]<<16|p[am+3|0]<<24);o[Vl+16>>2]=dm;o[Vl+20>>2]=em;if((bm|0)>(am|0)){break a}o[Ye+16>>2]=am;o[Ye+12>>2]=bm;cm=bm;bm=(am>>31)-((bm>>31)+(am>>>0>>0)|0)|0;am=am-cm|0;if(!bm&am>>>0>2147483646|bm>>>0>0){break a}am=am+1|0;o[Ye+20>>2]=am;cm=Ye+24|0;bm=(am|0)/2|0;o[cm>>2]=bm;o[Ye+28>>2]=0-bm;if(!(am&1)){o[cm>>2]=bm+ -1}jm=Nf(Ye+108|0,Vl)}return jm|0}function Te(Ye,km,lm,mm,nm,om){Ye=Ye|0;km=km|0;lm=lm|0;mm=mm|0;nm=nm|0;om=om|0;var pm=0,qm=0,rm=0,sm=0,tm=0,um=0,vm=0,wm=0,xm=0,ym=0,zm=0,Am=0,Bm=0,Cm=0,Dm=0;qm=R-32|0;R=qm;o[Ye+68>>2]=om;mm=o[Ye+56>>2];nm=o[mm>>2];om=mm+4|0;pm=o[om>>2];o[qm+24>>2]=0;o[qm+16>>2]=0;o[qm+20>>2]=0;a:{nm=pm-nm|0;if((nm|0)<1){break a}mm=o[mm>>2];if((mm|0)!=o[om>>2]){Am=nm>>2;Bm=Ye+60|0;Cm=Ye+108|0;vm=Ye+8|0;wm=Ye+16|0;xm=Ye+32|0;ym=Ye+20|0;zm=Ye+12|0;Dm=Ye+56|0;while(1){Ue(Bm,o[(tm<<2)+mm>>2],qm+16|0);nm=o[qm+20>>2];pm=nm>>31;om=o[qm+16>>2];rm=om>>31;um=o[qm+24>>2];sm=um>>31;mm=0;sm=sm^sm+um;pm=sm+((pm^nm+pm)+(rm^om+rm)|0)|0;if(pm>>>0>>0){mm=1}b:{if(!(mm|pm)){o[qm+16>>2]=o[Ye+104>>2];break b}rm=o[Ye+104>>2];sm=rm>>31;nm=Wl(Vl(rm,sm,nm,nm>>31),T,pm,mm);o[qm+20>>2]=nm;mm=Wl(Vl(rm,sm,om,om>>31),T,pm,mm);o[qm+16>>2]=mm;om=mm;mm=mm>>31;mm=(rm-(om+mm^mm)|0)+((nm|0)<0?nm:0-nm|0)|0;if((um|0)>=0){o[qm+24>>2]=mm;break b}o[qm+24>>2]=0-mm}mm=Pf(Cm);om=o[qm+16>>2];c:{if(!mm){nm=o[qm+20>>2];break c}o[qm+24>>2]=0-o[qm+24>>2];nm=0-o[qm+20>>2]|0;o[qm+20>>2]=nm;om=0-om|0;o[qm+16>>2]=om}d:{if((om|0)>=0){mm=o[Ye+104>>2];om=mm+o[qm+24>>2]|0;mm=mm+nm|0;break d}e:{if((nm|0)<=-1){om=o[qm+24>>2];mm=om>>31;mm=mm^mm+om;break e}om=o[qm+24>>2];mm=om>>31;mm=o[Ye+100>>2]-(mm^mm+om)|0}if((om|0)<=-1){om=nm;nm=nm>>31;om=om+nm^nm;break d}om=nm;nm=nm>>31;om=o[Ye+100>>2]-(om+nm^nm)|0}nm=o[Ye+100>>2];f:{if(!(mm|om)){om=nm;mm=nm;break f}if(!((nm|0)!=(om|0)|mm)){mm=om;break f}if(!((mm|0)!=(nm|0)|om)){om=mm;break f}g:{if(mm){break g}pm=o[Ye+104>>2];if((pm|0)>=(om|0)){break g}om=(pm<<1)-om|0;mm=0;break f}h:{if((mm|0)!=(nm|0)){break h}pm=o[Ye+104>>2];if((pm|0)<=(om|0)){break h}om=(pm<<1)-om|0;break f}i:{if((nm|0)!=(om|0)){break i}nm=o[Ye+104>>2];if((nm|0)<=(mm|0)){break i}mm=(nm<<1)-mm|0;break f}if(om){break f}om=0;nm=o[Ye+104>>2];if((nm|0)>=(mm|0)){break f}mm=(nm<<1)-mm|0}o[qm+12>>2]=om;o[qm+8>>2]=mm;j:{if(o[vm>>2]<1){break j}om=0;while(1){pm=o[wm>>2];k:{if((mm|0)>(pm|0)){nm=o[xm>>2];o[nm+(om<<2)>>2]=pm;break k}nm=o[xm>>2];pm=nm+(om<<2)|0;rm=o[zm>>2];if((mm|0)<(rm|0)){o[pm>>2]=rm;break k}o[pm>>2]=mm}om=om+1|0;pm=o[vm>>2];if((om|0)<(pm|0)){mm=o[(qm+8|0)+(om<<2)>>2];continue}break}mm=0;if((pm|0)<1){break j}om=tm<<3;rm=om+lm|0;um=km+om|0;while(1){pm=mm<<2;om=pm+rm|0;pm=o[pm+um>>2]+o[nm+pm>>2]|0;o[om>>2]=pm;l:{if((pm|0)>o[wm>>2]){sm=pm-o[ym>>2]|0}else{if((pm|0)>=o[zm>>2]){break l}sm=pm+o[ym>>2]|0}o[om>>2]=sm}mm=mm+1|0;if((mm|0)>2]){continue}break}}tm=tm+1|0;if((tm|0)>=(Am|0)){break a}nm=o[Dm>>2];mm=o[nm>>2];if(o[nm+4>>2]-mm>>2>>>0>tm>>>0){continue}break}}Zk();D()}R=qm+32|0;return 1}function Ue(Ye,km,lm){Ye=Ye|0;km=km|0;lm=lm|0;var mm=0,nm=0,om=0,Em=0,Fm=0,Gm=0,Hm=0,Im=0,Jm=0,Km=0,Lm=0,Mm=0,Nm=0,Om=0,Pm=0,Qm=0,Rm=0,Sm=0,Tm=0,Um=0,Vm=0,Wm=0,Xm=0,Ym=0,Zm=0,_m=0;nm=R-96|0;R=nm;mm=o[Ye+16>>2];m[nm+92|0]=1;o[nm+88>>2]=km;o[nm+84>>2]=km;o[nm+80>>2]=mm;Em=o[Ye+20>>2];om=o[Em>>2];a:{b:{c:{d:{mm=o[o[mm+28>>2]+(km<<2)>>2];if(o[Em+4>>2]-om>>2>>>0>mm>>>0){mm=o[o[Ye+8>>2]+(o[om+(mm<<2)>>2]<<2)>>2];om=o[Ye+4>>2];if(!p[om+84|0]){mm=o[o[om+68>>2]+(mm<<2)>>2]}o[nm+72>>2]=0;o[nm+76>>2]=0;Em=nm- -64|0;o[Em>>2]=0;o[Em+4>>2]=0;o[nm+56>>2]=0;o[nm+60>>2]=0;Me(om,mm,m[om+24|0],nm+56|0);if((km|0)==-1){break a}mm=km+1|0;Em=(mm>>>0)%3|0?mm:km+ -2|0;Om=((km>>>0)%3|0?-1:2)+km|0;Vm=Ye+28|0;Fm=!o[Vm>>2];Wm=Ye+20|0;Xm=Ye+16|0;Ym=Ye+8|0;while(1){om=Em;mm=Om;e:{if(Fm){break e}mm=km+1|0;om=(mm>>>0)%3|0?mm:km+ -2|0;mm=km+ -1|0;if((km>>>0)%3){break e}mm=km+2|0}Fm=o[Wm>>2];km=o[Fm>>2];om=o[o[o[Xm>>2]+28>>2]+(om<<2)>>2];if(o[Fm+4>>2]-km>>2>>>0<=om>>>0){break d}om=o[o[Ym>>2]+(o[km+(om<<2)>>2]<<2)>>2];Fm=Ye+4|0;km=o[Fm>>2];if(!p[km+84|0]){om=o[o[km+68>>2]+(om<<2)>>2]}o[nm+48>>2]=0;o[nm+52>>2]=0;o[nm+40>>2]=0;o[nm+44>>2]=0;o[nm+32>>2]=0;o[nm+36>>2]=0;Me(km,om,m[km+24|0],nm+32|0);om=o[Wm>>2];km=o[om>>2];mm=o[o[o[Xm>>2]+28>>2]+(mm<<2)>>2];if(o[om+4>>2]-km>>2>>>0<=mm>>>0){break c}om=o[o[Ym>>2]+(o[km+(mm<<2)>>2]<<2)>>2];km=o[Fm>>2];if(!p[km+84|0]){om=o[o[km+68>>2]+(om<<2)>>2]}Fm=nm+24|0;mm=Fm;o[mm>>2]=0;o[mm+4>>2]=0;Im=nm+16|0;mm=Im;o[mm>>2]=0;o[mm+4>>2]=0;o[nm+8>>2]=0;o[nm+12>>2]=0;Me(km,om,m[km+24|0],nm+8|0);mm=o[nm+8>>2];km=o[nm+56>>2];Pm=mm-km|0;Qm=o[nm+60>>2];om=o[nm+12>>2]-(Qm+(mm>>>0>>0)|0)|0;Rm=o[nm+40>>2];mm=o[nm+64>>2];Zm=Rm-mm|0;Sm=o[nm+68>>2];Rm=o[nm+44>>2]-(Sm+(Rm>>>0>>0)|0)|0;Tm=Vl(Pm,om,Zm,Rm);Um=Gm-Tm|0;Jm=Jm-(T+(Gm>>>0>>0)|0)|0;Gm=o[Im>>2];Tm=Gm-mm|0;Im=o[Im+4>>2]-((Gm>>>0>>0)+Sm|0)|0;Gm=o[nm+32>>2];Sm=Gm-km|0;Qm=o[nm+36>>2]-((Gm>>>0>>0)+Qm|0)|0;mm=Vl(Tm,Im,Sm,Qm);Gm=mm+Um|0;km=T+Jm|0;km=Gm>>>0>>0?km+1|0:km;Jm=km;mm=Hm;Lm=Pm;_m=om;Hm=o[nm+48>>2];km=o[nm+72>>2];om=Hm-km|0;Pm=o[nm+76>>2];Um=o[nm+52>>2]-(Pm+(Hm>>>0>>0)|0)|0;Lm=Vl(Lm,_m,om,Um);Hm=mm+Lm|0;mm=T+Mm|0;mm=Hm>>>0>>0?mm+1|0:mm;Mm=Hm;Hm=o[Fm>>2];Lm=Hm-km|0;km=o[Fm+4>>2]-((Hm>>>0>>0)+Pm|0)|0;Fm=Vl(Lm,km,Sm,Qm);Hm=Mm-Fm|0;Mm=mm-(T+(Mm>>>0>>0)|0)|0;mm=Vl(Tm,Im,om,Um);om=Km-mm|0;Nm=Nm-(T+(Km>>>0>>0)|0)|0;mm=Vl(Lm,km,Zm,Rm);Km=mm+om|0;km=T+Nm|0;km=Km>>>0>>0?km+1|0:km;Nm=km;We(nm+80|0);Im=o[Vm>>2];Fm=!Im;km=o[nm+88>>2];if((km|0)!=-1){continue}break}km=Mm;mm=km>>31;Ye=km>>31;km=Ye+km|0;Em=mm+Hm|0;if(Em>>>0>>0){km=km+1|0}mm=mm^Em;Fm=Ye^km;km=Nm;Ye=km>>31;km=km>>31;Em=Ye;Om=Nm+Ye|0;om=km+Km|0;if(om>>>0>>0){Om=Om+1|0}Ye=km^om;om=Em^Om;f:{if((Jm|0)<-1?1:(Jm|0)<=-1?Gm>>>0>4294967295?0:1:0){km=Gm;Em=Ye+(mm-km|0)|0;km=om+(Fm-((mm>>>0>>0)+Jm|0)|0)|0;mm=Em;Ye=mm>>>0>>0?km+1|0:km;if(!Im){break f}break b}km=Fm+Jm|0;Em=mm;mm=Gm;Em=Em+mm|0;if(Em>>>0>>0){km=km+1|0}mm=Ye;Em=mm+Em|0;Ye=km+om|0;Ye=Em>>>0>>0?Ye+1|0:Ye;mm=Em;if(Im){break b}}if((mm|0)<536870913){break a}Ye=((Ye&536870911)<<3|mm>>>29)&7;km=0;Gm=Wl(Gm,Jm,Ye,km);Hm=Wl(Hm,Mm,Ye,km);Km=Wl(Km,Nm,Ye,km);break a}Zk();D()}Zk();D()}Zk();D()}if((Ye|0)<0?1:(Ye|0)<=0?mm>>>0>=536870913?0:1:0){break a}km=Ye>>>29;Ye=(Ye&536870911)<<3|mm>>>29;Gm=Wl(Gm,Jm,Ye,km);Hm=Wl(Hm,Mm,Ye,km);Km=Wl(Km,Nm,Ye,km)}o[lm+8>>2]=Gm;o[lm+4>>2]=Hm;o[lm>>2]=Km;R=nm+96|0}function Ve(Ye,Vl){Ye=Ye|0;Vl=Vl|0;if(Vl>>>0<=1){o[Ye+28>>2]=Vl;Ye=1}else{Ye=0}return Ye|0}function We(Ye){var Vl=0,km=0,lm=0;Vl=o[Ye+8>>2];lm=o[Ye>>2];a:{if(p[Ye+12|0]){b:{c:{d:{e:{if((Vl|0)==-1){break e}km=Vl+1|0;Vl=(km>>>0)%3|0?km:Vl+ -2|0;if((Vl|0)==-1|o[o[lm>>2]+(Vl>>>3&536870908)>>2]>>>(Vl&31)&1){break e}Vl=o[o[o[lm+64>>2]+12>>2]+(Vl<<2)>>2];if((Vl|0)!=-1){break d}}o[Ye+8>>2]=-1;break c}km=Vl+1|0;Vl=(km>>>0)%3|0?km:Vl+ -2|0;o[Ye+8>>2]=Vl;if((Vl|0)!=-1){break b}}Vl=-1;km=o[Ye+4>>2];f:{if((km|0)==-1){break f}km=km+((km>>>0)%3|0?-1:2)|0;if((km|0)==-1|o[o[lm>>2]+(km>>>3&536870908)>>2]>>>(km&31)&1){break f}lm=o[o[o[lm+64>>2]+12>>2]+(km<<2)>>2];if((lm|0)==-1){break f}if((lm>>>0)%3){Vl=lm+ -1|0;break f}Vl=lm+2|0}m[Ye+12|0]=0;o[Ye+8>>2]=Vl;return}if((Vl|0)!=o[Ye+4>>2]){break a}o[Ye+8>>2]=-1;return}km=-1;g:{if((Vl|0)==-1){break g}Vl=Vl+((Vl>>>0)%3|0?-1:2)|0;if((Vl|0)==-1|o[o[lm>>2]+(Vl>>>3&536870908)>>2]>>>(Vl&31)&1){break g}Vl=o[o[o[lm+64>>2]+12>>2]+(Vl<<2)>>2];if((Vl|0)==-1){break g}if((Vl>>>0)%3){km=Vl+ -1|0;break g}km=Vl+2|0}o[Ye+8>>2]=km}}function Xe(Ye,$m,an,bn){var cn=0,dn=0,en=0,fn=0,gn=0,hn=0,jn=0,kn=0;o[Ye>>2]=2732;o[Ye+4>>2]=$m;$m=o[an+8>>2];cn=o[an+12>>2];dn=o[an+16>>2];fn=o[an+20>>2];gn=o[an>>2];hn=o[an+4>>2];o[Ye+40>>2]=0;en=Ye+32|0;o[en>>2]=0;o[en+4>>2]=0;o[Ye+24>>2]=dn;o[Ye+28>>2]=fn;o[Ye+16>>2]=$m;o[Ye+20>>2]=cn;o[Ye+8>>2]=gn;o[Ye+12>>2]=hn;a:{$m=o[an+28>>2]-o[an+24>>2]|0;b:{if(!$m){break b}cn=$m>>2;if(cn>>>0>=1073741824){break a}$m=Hk($m);o[Ye+32>>2]=$m;dn=Ye+36|0;o[dn>>2]=$m;o[Ye+40>>2]=$m+(cn<<2);cn=o[an+24>>2];an=o[an+28>>2]-cn|0;if((an|0)<1){break b}jn=dn,kn=wl($m,cn,an)+an|0,o[jn>>2]=kn}o[Ye>>2]=4268;$m=o[bn+4>>2];o[Ye+44>>2]=o[bn>>2];o[Ye+48>>2]=$m;$m=o[bn+12>>2];o[Ye+52>>2]=o[bn+8>>2];o[Ye+56>>2]=$m;return}Yk();D()}function Ye(Ye,$m,an,bn,ln,mn){Ye=Ye|0;$m=$m|0;an=an|0;bn=bn|0;ln=ln|0;mn=mn|0;var nn=0,on=0,pn=0,qn=0,rn=0,sn=0,tn=0,un=0,vn=0,wn=0,xn=0,yn=0,zn=0,An=0,Bn=0,Cn=0;o[Ye+8>>2]=ln;mn=Ye+32|0;on=o[mn>>2];bn=o[Ye+36>>2]-on>>2;a:{if(bn>>>0>>0){Da(mn,ln-bn|0);break a}if(bn>>>0<=ln>>>0){break a}o[Ye+36>>2]=on+(ln<<2)}Cn=o[Ye+52>>2];zn=o[Ye+48>>2];bn=0;mn=(ln&1073741823)!=(ln|0)?-1:ln<<2;yn=xl(Hk(mn),0,mn);rn=Ye+8|0;mn=o[rn>>2];b:{if((mn|0)<1){break b}tn=Ye+16|0;on=Ye+32|0;un=Ye+12|0;while(1){mn=bn<<2;nn=o[mn+yn>>2];qn=o[tn>>2];c:{if((nn|0)>(qn|0)){sn=o[on>>2];o[mn+sn>>2]=qn;break c}sn=o[on>>2];mn=mn+sn|0;qn=o[un>>2];if((nn|0)<(qn|0)){o[mn>>2]=qn;break c}o[mn>>2]=nn}bn=bn+1|0;mn=o[rn>>2];if((bn|0)<(mn|0)){continue}break}if((mn|0)<1){break b}on=0;rn=Ye+16|0;nn=Ye+20|0;tn=Ye+8|0;un=Ye+12|0;while(1){mn=on<<2;bn=mn+an|0;mn=o[$m+mn>>2]+o[mn+sn>>2]|0;o[bn>>2]=mn;d:{if((mn|0)>o[rn>>2]){mn=mn-o[nn>>2]|0}else{if((mn|0)>=o[un>>2]){break d}mn=mn+o[nn>>2]|0}o[bn>>2]=mn}on=on+1|0;mn=o[tn>>2];if((on|0)<(mn|0)){continue}break}}bn=o[Ye+56>>2];An=o[bn>>2];bn=o[bn+4>>2]-An|0;if((bn|0)>=5){Bn=bn>>2;sn=Ye+16|0;rn=Ye+32|0;tn=Ye+8|0;un=Ye+20|0;qn=Ye+12|0;on=1;while(1){e:{f:{if(Bn>>>0>on>>>0){xn=u(ln,on);Ye=o[(on<<2)+An>>2];if((Ye|0)==-1){break f}Ye=o[o[zn+12>>2]+(Ye<<2)>>2];if((Ye|0)==-1){break f}bn=-1;pn=o[Cn>>2];nn=o[zn>>2];vn=o[pn+(o[nn+(Ye<<2)>>2]<<2)>>2];wn=Ye+1|0;wn=(wn>>>0)%3|0?wn:Ye+ -2|0;if((wn|0)!=-1){wn=o[nn+(wn<<2)>>2]}else{wn=-1}Ye=Ye+((Ye>>>0)%3|0?-1:2)|0;if((Ye|0)!=-1){bn=o[nn+(Ye<<2)>>2]}if((vn|0)>=(on|0)){break f}Ye=o[(wn<<2)+pn>>2];if((Ye|0)>=(on|0)){break f}bn=o[pn+(bn<<2)>>2];if((bn|0)>=(on|0)){break f}if((ln|0)>=1){nn=u(bn,ln);Ye=u(Ye,ln);pn=u(ln,vn);bn=0;while(1){o[(bn<<2)+yn>>2]=(o[(bn+nn<<2)+an>>2]+o[(Ye+bn<<2)+an>>2]|0)-o[(bn+pn<<2)+an>>2];bn=bn+1|0;if((ln|0)!=(bn|0)){continue}break}}if((mn|0)<1){break e}bn=0;while(1){Ye=bn<<2;mn=o[Ye+yn>>2];pn=o[sn>>2];g:{if((mn|0)>(pn|0)){nn=o[rn>>2];o[Ye+nn>>2]=pn;break g}nn=o[rn>>2];Ye=Ye+nn|0;pn=o[qn>>2];if((mn|0)<(pn|0)){o[Ye>>2]=pn;break g}o[Ye>>2]=mn}bn=bn+1|0;mn=o[tn>>2];if((bn|0)<(mn|0)){continue}break}bn=0;if((mn|0)<1){break e}Ye=xn<<2;xn=Ye+an|0;pn=Ye+$m|0;while(1){mn=bn<<2;Ye=mn+xn|0;mn=o[mn+pn>>2]+o[mn+nn>>2]|0;o[Ye>>2]=mn;h:{if((mn|0)>o[sn>>2]){mn=mn-o[un>>2]|0}else{if((mn|0)>=o[qn>>2]){break h}mn=mn+o[un>>2]|0}o[Ye>>2]=mn}bn=bn+1|0;mn=o[tn>>2];if((bn|0)<(mn|0)){continue}break}break e}Zk();D()}if((mn|0)<1){break e}pn=(u(on+ -1|0,ln)<<2)+an|0;bn=0;while(1){Ye=bn<<2;mn=o[Ye+pn>>2];vn=o[sn>>2];i:{if((mn|0)>(vn|0)){nn=o[rn>>2];o[Ye+nn>>2]=vn;break i}nn=o[rn>>2];Ye=Ye+nn|0;vn=o[qn>>2];if((mn|0)<(vn|0)){o[Ye>>2]=vn;break i}o[Ye>>2]=mn}bn=bn+1|0;mn=o[tn>>2];if((bn|0)<(mn|0)){continue}break}bn=0;if((mn|0)<1){break e}Ye=xn<<2;xn=Ye+an|0;pn=Ye+$m|0;while(1){mn=bn<<2;Ye=mn+xn|0;mn=o[mn+pn>>2]+o[mn+nn>>2]|0;o[Ye>>2]=mn;j:{if((mn|0)>o[sn>>2]){mn=mn-o[un>>2]|0}else{if((mn|0)>=o[qn>>2]){break j}mn=mn+o[un>>2]|0}o[Ye>>2]=mn}bn=bn+1|0;mn=o[tn>>2];if((bn|0)<(mn|0)){continue}break}}on=on+1|0;if((on|0)<(Bn|0)){continue}break}}ul(yn);return 1}function Ze(Ye){Ye=Ye|0;var $m=0;o[Ye>>2]=4324;$m=o[Ye+96>>2];if($m){ul($m)}$m=o[Ye+84>>2];if($m){ul($m)}$m=o[Ye+72>>2];if($m){ul($m)}$m=o[Ye+60>>2];if($m){ul($m)}o[Ye>>2]=2732;$m=o[Ye+32>>2];if($m){o[Ye+36>>2]=$m;ul($m)}return Ye|0}function _e(Ye){Ye=Ye|0;var an=0;o[Ye>>2]=4324;an=o[Ye+96>>2];if(an){ul(an)}an=o[Ye+84>>2];if(an){ul(an)}an=o[Ye+72>>2];if(an){ul(an)}an=o[Ye+60>>2];if(an){ul(an)}o[Ye>>2]=2732;an=o[Ye+32>>2];if(an){o[Ye+36>>2]=an;ul(an)}ul(Ye)}function $e(Ye,bn,ln,mn,Dn,En){Ye=Ye|0;bn=bn|0;ln=ln|0;mn=mn|0;Dn=Dn|0;En=En|0;var Fn=0,Gn=0,Hn=0,In=0,Jn=0,Kn=0,Ln=0,Mn=0,Nn=0,On=0,Pn=0,Qn=0,Rn=0,Sn=0,Tn=0,Un=0,Vn=0,Wn=0,Xn=0,Yn=0,Zn=0,_n=0,$n=0,ao=0,bo=0;Hn=R+ -64|0;R=Hn;o[Ye+8>>2]=Dn;En=Ye+32|0;In=o[En>>2];mn=o[Ye+36>>2]-In>>2;a:{if(mn>>>0>>0){Da(En,Dn-mn|0);break a}if(mn>>>0<=Dn>>>0){break a}o[Ye+36>>2]=In+(Dn<<2)}o[Hn+56>>2]=0;o[Hn+60>>2]=0;o[Hn+48>>2]=0;o[Hn+52>>2]=0;o[Hn+40>>2]=0;o[Hn+44>>2]=0;mn=Hn+32|0;o[mn>>2]=0;o[mn+4>>2]=0;o[Hn+24>>2]=0;o[Hn+28>>2]=0;o[Hn+16>>2]=0;o[Hn+20>>2]=0;o[Hn>>2]=0;En=0;if(Dn){yd(Hn+16|0,Dn,Hn);Gn=o[Hn+28>>2];En=o[mn>>2]}o[Hn>>2]=0;mn=En-Gn>>2;b:{if(mn>>>0>=Dn>>>0){if(mn>>>0<=Dn>>>0){break b}o[Hn+32>>2]=(Dn<<2)+Gn;break b}yd(Hn+16|12,Dn-mn|0,Hn)}o[Hn>>2]=0;En=o[Hn+40>>2];mn=o[Hn+44>>2]-En>>2;c:{if(mn>>>0>=Dn>>>0){if(mn>>>0<=Dn>>>0){break c}o[Hn+44>>2]=En+(Dn<<2);break c}yd(Hn+40|0,Dn-mn|0,Hn)}o[Hn>>2]=0;En=o[Hn+52>>2];mn=o[Hn+56>>2]-En>>2;d:{if(mn>>>0>=Dn>>>0){if(mn>>>0<=Dn>>>0){break d}o[Hn+56>>2]=En+(Dn<<2);break d}yd(Hn+52|0,Dn-mn|0,Hn)}Kn=Ye+8|0;e:{if(o[Kn>>2]<=0){break e}Mn=o[Hn+16>>2];Gn=0;Jn=Ye+16|0;mn=Ye+32|0;Rn=Ye+12|0;while(1){En=Gn<<2;Fn=o[En+Mn>>2];Nn=o[Jn>>2];f:{if((Fn|0)>(Nn|0)){In=o[mn>>2];o[En+In>>2]=Nn;break f}In=o[mn>>2];En=En+In|0;Nn=o[Rn>>2];if((Fn|0)<(Nn|0)){o[En>>2]=Nn;break f}o[En>>2]=Fn}Gn=Gn+1|0;En=o[Kn>>2];if((Gn|0)<(En|0)){continue}break}if((En|0)<1){break e}En=0;Kn=Ye+16|0;Gn=Ye+20|0;Mn=Ye+8|0;Jn=Ye+12|0;while(1){Fn=En<<2;mn=Fn+ln|0;Fn=o[bn+Fn>>2]+o[Fn+In>>2]|0;o[mn>>2]=Fn;g:{if((Fn|0)>o[Kn>>2]){Fn=Fn-o[Gn>>2]|0}else{if((Fn|0)>=o[Jn>>2]){break g}Fn=Fn+o[Gn>>2]|0}o[mn>>2]=Fn}En=En+1|0;if((En|0)>2]){continue}break}}ao=o[Ye+52>>2];Zn=o[Ye+48>>2];Yn=Hk(16);mn=Yn;o[mn>>2]=0;o[mn+4>>2]=0;o[mn+8>>2]=0;o[mn+12>>2]=0;o[Hn+8>>2]=0;o[Hn>>2]=0;o[Hn+4>>2]=0;h:{if(Dn){if(Dn>>>0>=1073741824){break h}mn=Dn<<2;Sn=Hk(mn);o[Hn>>2]=Sn;En=mn+Sn|0;o[Hn+8>>2]=En;xl(Sn,0,mn);o[Hn+4>>2]=En}In=1;mn=o[Ye+56>>2];_n=o[mn>>2];mn=o[mn+4>>2]-_n|0;i:{if((mn|0)<5){break i}$n=mn>>2;bo=Dn<<2;Mn=Ye+8|0;Rn=Ye+16|0;Nn=Ye+32|0;Vn=Ye+20|0;Wn=Ye+12|0;Kn=1;while(1){j:{k:{l:{if($n>>>0>Kn>>>0){m:{n:{In=o[(Kn<<2)+_n>>2];if((In|0)==-1){break n}Ln=o[Zn+12>>2];Un=In+((In>>>0)%3|0?-1:2)|0;Xn=Ln+(Un<<2)|0;Jn=1;En=0;mn=In;o:{while(1){Fn=o[Ln+(mn<<2)>>2];p:{if((Fn|0)==-1){break p}Gn=-1;Qn=o[ao>>2];On=o[Zn>>2];Tn=o[Qn+(o[On+(Fn<<2)>>2]<<2)>>2];Pn=Fn+1|0;Pn=(Pn>>>0)%3|0?Pn:Fn+ -2|0;if((Pn|0)!=-1){Pn=o[On+(Pn<<2)>>2]}else{Pn=-1}Fn=Fn+((Fn>>>0)%3|0?-1:2)|0;if((Fn|0)!=-1){Gn=o[On+(Fn<<2)>>2]}if((Tn|0)>=(Kn|0)){break p}Fn=o[(Pn<<2)+Qn>>2];if((Fn|0)>=(Kn|0)){break p}Gn=o[Qn+(Gn<<2)>>2];if((Gn|0)>=(Kn|0)){break p}On=o[(Hn+16|0)+u(En,12)>>2];if((Dn|0)>=1){Qn=u(Dn,Gn);Fn=u(Dn,Fn);Tn=u(Dn,Tn);Gn=0;while(1){o[On+(Gn<<2)>>2]=(o[(Gn+Qn<<2)+ln>>2]+o[(Fn+Gn<<2)+ln>>2]|0)-o[(Gn+Tn<<2)+ln>>2];Gn=Gn+1|0;if((Gn|0)!=(Dn|0)){continue}break}}Fn=4;En=En+1|0;if((En|0)==4){break o}}q:{if(Jn&1){On=mn+1|0;mn=(On>>>0)%3|0?On:mn+ -2|0;Fn=-1;if((mn|0)==-1){break q}mn=o[Ln+(mn<<2)>>2];Fn=-1;if((mn|0)==-1){break q}Fn=mn+1|0;Fn=(Fn>>>0)%3|0?Fn:mn+ -2|0;break q}mn=((mn>>>0)%3|0?-1:2)+mn|0;Fn=-1;if((mn|0)==-1){break q}mn=o[Ln+(mn<<2)>>2];Fn=-1;if((mn|0)==-1){break q}Fn=mn+ -1|0;if((mn>>>0)%3){break q}Fn=mn+2|0}r:{if((Fn|0)==(In|0)){break r}mn=Fn;Fn=(Fn|0)!=-1;Gn=(Fn|Jn^-1)&1;mn=Gn?mn:-1;Jn=Fn&Jn;if(!((Un|0)==-1|Gn)){Fn=o[Xn>>2];if((Fn|0)==-1){break r}Jn=0;if((Fn>>>0)%3){mn=Fn+ -1|0}else{mn=Fn+2|0}}if((mn|0)!=-1){continue}}break}Fn=En;if((Fn|0)<1){break n}}Ln=(Dn|0)<1;if(!Ln){xl(Sn,0,bo)}mn=Fn+ -1|0;Jn=(mn<<2)+Yn|0;mn=u(mn,12)+Ye|0;On=mn+60|0;Qn=o[mn- -64>>2];In=0;Tn=o[Hn>>2];mn=0;En=0;while(1){Gn=o[Jn>>2];o[Jn>>2]=Gn+1;if(Qn>>>0<=Gn>>>0){break i}s:{if(o[o[On>>2]+(Gn>>>3&536870908)>>2]>>>(Gn&31)&1){break s}En=En+1|0;if(Ln){break s}Pn=o[(Hn+16|0)+u(mn,12)>>2];Gn=0;while(1){Un=Gn<<2;Xn=Un+Tn|0;o[Xn>>2]=o[Xn>>2]+o[Pn+Un>>2];Gn=Gn+1|0;if((Gn|0)!=(Dn|0)){continue}break}}mn=mn+1|0;if((Fn|0)!=(mn|0)){continue}break}Fn=u(Dn,Kn);mn=Fn;if(!En){break m}Gn=0;if((Dn|0)>0){break l}break k}mn=u(Dn,Kn)}if(o[Mn>>2]<1){break j}Jn=(u(Kn+ -1|0,Dn)<<2)+ln|0;Gn=0;while(1){En=Gn<<2;Fn=o[En+Jn>>2];Ln=o[Rn>>2];t:{if((Fn|0)>(Ln|0)){In=o[Nn>>2];o[En+In>>2]=Ln;break t}In=o[Nn>>2];En=En+In|0;Ln=o[Wn>>2];if((Fn|0)<(Ln|0)){o[En>>2]=Ln;break t}o[En>>2]=Fn}Gn=Gn+1|0;Fn=o[Mn>>2];if((Gn|0)<(Fn|0)){continue}break}En=0;if((Fn|0)<1){break j}mn=mn<<2;Gn=mn+ln|0;Jn=bn+mn|0;while(1){Fn=En<<2;mn=Fn+Gn|0;Fn=o[Fn+Jn>>2]+o[Fn+In>>2]|0;o[mn>>2]=Fn;u:{if((Fn|0)>o[Rn>>2]){Fn=Fn-o[Vn>>2]|0}else{if((Fn|0)>=o[Wn>>2]){break u}Fn=Fn+o[Vn>>2]|0}o[mn>>2]=Fn}En=En+1|0;if((En|0)>2]){continue}break}break j}Zk();D()}while(1){mn=(Gn<<2)+Sn|0;o[mn>>2]=o[mn>>2]/(En|0);Gn=Gn+1|0;if((Gn|0)!=(Dn|0)){continue}break}}if(o[Mn>>2]<1){break j}Gn=0;while(1){mn=Gn<<2;En=o[mn+Sn>>2];Jn=o[Rn>>2];v:{if((En|0)>(Jn|0)){In=o[Nn>>2];o[mn+In>>2]=Jn;break v}In=o[Nn>>2];mn=mn+In|0;Jn=o[Wn>>2];if((En|0)<(Jn|0)){o[mn>>2]=Jn;break v}o[mn>>2]=En}Gn=Gn+1|0;mn=o[Mn>>2];if((Gn|0)<(mn|0)){continue}break}En=0;if((mn|0)<1){break j}mn=Fn<<2;Gn=mn+ln|0;Jn=bn+mn|0;while(1){Fn=En<<2;mn=Fn+Gn|0;Fn=o[Fn+Jn>>2]+o[Fn+In>>2]|0;o[mn>>2]=Fn;w:{if((Fn|0)>o[Rn>>2]){Fn=Fn-o[Vn>>2]|0}else{if((Fn|0)>=o[Wn>>2]){break w}Fn=Fn+o[Vn>>2]|0}o[mn>>2]=Fn}En=En+1|0;if((En|0)>2]){continue}break}}In=1;Kn=Kn+1|0;if((Kn|0)<($n|0)){continue}break}}Ye=o[Hn>>2];if(Ye){o[Hn+4>>2]=Ye;ul(Ye)}ul(Yn);Ye=o[Hn+52>>2];if(Ye){o[Hn+56>>2]=Ye;ul(Ye)}Ye=o[Hn+40>>2];if(Ye){o[Hn+44>>2]=Ye;ul(Ye)}Ye=o[Hn+28>>2];if(Ye){o[Hn+32>>2]=Ye;ul(Ye)}Ye=o[Hn+16>>2];if(Ye){o[Hn+20>>2]=Ye;ul(Ye)}R=Hn- -64|0;return In|0}Yk();D()}function af(Ye){Ye=Ye|0;var bn=0;o[Ye>>2]=4560;bn=o[Ye+76>>2];if(bn){ul(bn)}o[Ye>>2]=2732;bn=o[Ye+32>>2];if(bn){o[Ye+36>>2]=bn;ul(bn)}return Ye|0}function bf(Ye){Ye=Ye|0;var ln=0;o[Ye>>2]=4560;ln=o[Ye+76>>2];if(ln){ul(ln)}o[Ye>>2]=2732;ln=o[Ye+32>>2];if(ln){o[Ye+36>>2]=ln;ul(ln)}ul(Ye)}function cf(Ye,mn,Dn,En,co,eo){Ye=Ye|0;mn=mn|0;Dn=Dn|0;En=En|0;co=co|0;eo=eo|0;var fo=0,go=0,ho=0,io=0,jo=0,ko=0,lo=0,mo=0,no=0,oo=0,po=0,qo=0;En=0;a:{if((co|0)!=2){break a}o[Ye+8>>2]=2;o[Ye- -64>>2]=eo;En=Ye+32|0;co=o[En>>2];eo=o[Ye+36>>2]-co|0;fo=eo>>2;b:{if(fo>>>0<=1){Da(En,2-fo|0);break b}if((eo|0)==8){break b}o[Ye+36>>2]=co+8}En=1;co=o[Ye+56>>2];eo=o[co+4>>2];co=o[co>>2];fo=eo-co|0;if((fo|0)<1){break a}if((co|0)!=(eo|0)){no=Ye+60|0;oo=fo>>2;fo=Ye+8|0;jo=Ye+16|0;ko=Ye+32|0;lo=Ye+20|0;mo=Ye+12|0;po=Ye+56|0;while(1){if(!df(no,o[(ho<<2)+co>>2],Dn,ho)){En=0;break a}c:{if(o[fo>>2]<1){break c}co=0;while(1){En=co<<2;eo=o[(En+Ye|0)+68>>2];go=o[jo>>2];d:{if((eo|0)>(go|0)){io=o[ko>>2];o[En+io>>2]=go;break d}io=o[ko>>2];En=En+io|0;go=o[mo>>2];if((eo|0)<(go|0)){o[En>>2]=go;break d}o[En>>2]=eo}co=co+1|0;En=o[fo>>2];if((co|0)<(En|0)){continue}break}eo=0;if((En|0)<1){break c}En=ho<<3;go=En+Dn|0;qo=mn+En|0;while(1){co=eo<<2;En=co+go|0;co=o[co+qo>>2]+o[co+io>>2]|0;o[En>>2]=co;e:{if((co|0)>o[jo>>2]){co=co-o[lo>>2]|0}else{if((co|0)>=o[mo>>2]){break e}co=co+o[lo>>2]|0}o[En>>2]=co}eo=eo+1|0;if((eo|0)>2]){continue}break}}En=1;ho=ho+1|0;if((ho|0)>=(oo|0)){break a}En=o[po>>2];co=o[En>>2];if(o[En+4>>2]-co>>2>>>0>ho>>>0){continue}break}}Zk();D()}return En|0}function df(Ye,mn,Dn,En){var co=0,eo=0,ro=0,so=0,to=0,uo=0,vo=0,wo=0,xo=0,yo=0,zo=0,Ao=0,Bo=0,Co=0,Do=0,Eo=0,Fo=0,Go=0,Ho=0,Io=0,Jo=0,Ko=0,Lo=0,Mo=0,No=0;ro=R-80|0;R=ro;co=-1;eo=-1;a:{if((mn|0)==-1){break a}so=((mn>>>0)%3|0?-1:2)+mn|0;to=o[Ye+32>>2];vo=mn+1|0;mn=(vo>>>0)%3|0?vo:mn+ -2|0;if((mn|0)!=-1){co=o[o[to>>2]+(mn<<2)>>2]}if((so|0)==-1){break a}eo=o[o[to>>2]+(so<<2)>>2]}so=o[Ye+36>>2];mn=o[so>>2];b:{c:{d:{e:{so=o[so+4>>2]-mn>>2;if(!(so>>>0<=co>>>0|so>>>0<=eo>>>0)){f:{g:{yo=o[mn+(co<<2)>>2];Ao=(yo|0)>=(En|0);if(Ao){break g}eo=o[mn+(eo<<2)>>2];if((eo|0)>=(En|0)){break g}mn=eo<<3;Fo=o[(mn|4)+Dn>>2];co=yo<<3;vo=o[(co|4)+Dn>>2];Co=o[mn+Dn>>2];Eo=o[Dn+co>>2];if(!((Co|0)!=(Eo|0)|(vo|0)!=(Fo|0))){o[Ye+8>>2]=Eo;o[Ye+12>>2]=vo;break f}mn=o[o[Ye+4>>2]+(En<<2)>>2];o[ro+72>>2]=0;o[ro+76>>2]=0;co=ro- -64|0;o[co>>2]=0;o[co+4>>2]=0;o[ro+56>>2]=0;o[ro+60>>2]=0;co=o[Ye>>2];if(!p[co+84|0]){mn=o[o[co+68>>2]+(mn<<2)>>2]}Me(co,mn,m[co+24|0],ro+56|0);mn=o[o[Ye+4>>2]+(yo<<2)>>2];o[ro+48>>2]=0;o[ro+52>>2]=0;o[ro+40>>2]=0;o[ro+44>>2]=0;o[ro+32>>2]=0;o[ro+36>>2]=0;co=o[Ye>>2];if(!p[co+84|0]){mn=o[o[co+68>>2]+(mn<<2)>>2]}Me(co,mn,m[co+24|0],ro+32|0);mn=o[o[Ye+4>>2]+(eo<<2)>>2];o[ro+24>>2]=0;o[ro+28>>2]=0;o[ro+16>>2]=0;o[ro+20>>2]=0;o[ro+8>>2]=0;o[ro+12>>2]=0;co=o[Ye>>2];if(!p[co+84|0]){mn=o[o[co+68>>2]+(mn<<2)>>2]}Me(co,mn,m[co+24|0],ro+8|0);Go=o[ro+44>>2];mn=o[ro+16>>2];uo=o[ro+40>>2];co=uo;eo=o[ro+20>>2]-(Go+(mn>>>0>>0)|0)|0;Io=mn-co|0;mn=Vl(Io,eo,Io,eo);co=T;xo=mn;Ho=o[ro+36>>2];mn=o[ro+8>>2];wo=o[ro+32>>2];to=wo;so=o[ro+12>>2]-(Ho+(mn>>>0>>0)|0)|0;Jo=mn-to|0;to=Vl(Jo,so,Jo,so);mn=xo+to|0;co=T+co|0;co=mn>>>0>>0?co+1|0:co;Bo=mn;Lo=o[ro+52>>2];mn=o[ro+24>>2];xo=o[ro+48>>2];to=xo;zo=o[ro+28>>2]-(Lo+(mn>>>0>>0)|0)|0;Ko=mn-to|0;to=Vl(Ko,zo,Ko,zo);mn=Bo+to|0;co=T+co|0;Do=mn;to=mn>>>0>>0?co+1|0:co;if(!(mn|to)){break g}En=1;mn=0;co=o[ro+64>>2];Dn=o[ro+68>>2]-((co>>>0>>0)+Go|0)|0;co=co-uo|0;yo=co;Ao=Dn;Dn=Vl(Io,eo,co,Dn);co=T;Bo=Dn;uo=o[ro+56>>2];Dn=uo-wo|0;Go=o[ro+60>>2]-((uo>>>0>>0)+Ho|0)|0;wo=Vl(Dn,Go,Jo,so);uo=Bo+wo|0;co=T+co|0;co=uo>>>0>>0?co+1|0:co;Bo=uo;uo=o[ro+72>>2];wo=uo-xo|0;Ho=o[ro+76>>2]-((uo>>>0>>0)+Lo|0)|0;xo=Vl(wo,Ho,Ko,zo);uo=Bo+xo|0;co=T+co|0;co=uo>>>0>>0?co+1|0:co;xo=uo;uo=co;eo=Wl(Vl(xo,co,Io,eo),T,Do,to);Ao=Ao-(T+(yo>>>0>>0)|0)|0;eo=yo-eo|0;eo=Vl(eo,Ao,eo,Ao);yo=T;Bo=eo;co=Wl(Vl(Jo,so,xo,co),T,Do,to);eo=Go-(T+(Dn>>>0>>0)|0)|0;Dn=Dn-co|0;eo=Vl(Dn,eo,Dn,eo);Dn=Bo+eo|0;co=T+yo|0;co=Dn>>>0>>0?co+1|0:co;so=Dn;Dn=Wl(Vl(xo,uo,Ko,zo),T,Do,to);eo=Ho-(T+(wo>>>0>>0)|0)|0;Dn=wo-Dn|0;eo=Vl(Dn,eo,Dn,eo);Dn=so+eo|0;co=T+co|0;eo=Vl(Dn,Dn>>>0>>0?co+1|0:co,Do,to);Dn=T;so=Dn;if(!Dn&eo>>>0<=1|Dn>>>0<0){break e}zo=eo;Dn=so;while(1){co=mn<<1|En>>>31;En=En<<1;mn=co;wo=!Dn&zo>>>0>7|Dn>>>0>0;zo=(Dn&3)<<30|zo>>>2;Dn=Dn>>>2;if(wo){continue}break}break d}co=Ye;if(Ao){if((En|0)<=0){o[Ye+8>>2]=0;o[Ye+12>>2]=0;break f}mn=(En<<1)+ -2|0}else{mn=yo<<1}mn=(mn<<2)+Dn|0;o[co+8>>2]=o[mn>>2];o[Ye+12>>2]=o[mn+4>>2]}Dn=1;break b}Zk();D()}En=eo;mn=so;if(eo-1){break c}}while(1){Dn=Xl(eo,so,En,mn)+En|0;co=mn+T|0;co=Dn>>>0>>0?co+1|0:co;En=(co&1)<<31|Dn>>>1;mn=co>>>1;Dn=Vl(En,mn,En,mn);co=T;if((so|0)==(co|0)&Dn>>>0>eo>>>0|co>>>0>so>>>0){continue}break}}co=o[Ye+20>>2];Dn=0;if(!co){break b}so=co+ -1|0;zo=o[o[Ye+16>>2]+(so>>>3&536870908)>>2];o[Ye+20>>2]=so;Dn=Fo;co=vo;wo=Dn-co|0;vo=co>>31;Fo=(Dn>>31)-(vo+(Dn>>>0>>0)|0)|0;Dn=Vl(xo,uo,wo,Fo);eo=T;vo=Vl(co,vo,Do,to);Dn=vo+Dn|0;co=T+eo|0;co=Dn>>>0>>0?co+1|0:co;Bo=Dn;Dn=Co;eo=Eo;yo=Dn-eo|0;Eo=eo>>31;vo=(Dn>>31)-(Eo+(Dn>>>0>>0)|0)|0;Dn=Vl(En,mn,yo,vo);Co=Dn;Dn=zo>>>(so&31)&1;Ao=Dn?0-Co|0:Co;so=Bo+Ao|0;zo=co;co=T;co=zo+(Dn?0-(co+(0>>0)|0)|0:co)|0;Mo=Ye,No=Wl(so,so>>>0>>0?co+1|0:co,Do,to),o[Mo+12>>2]=No;co=Vl(xo,uo,yo,vo);so=T;Co=Ye;eo=Vl(eo,Eo,Do,to);Ye=eo+co|0;co=T+so|0;co=Ye>>>0>>0?co+1|0:co;uo=Ye;Ye=Vl(En,mn,wo,Fo);En=Dn?Ye:0-Ye|0;mn=uo+En|0;uo=co;co=T;Ye=uo+(Dn?co:0-((0>>0)+co|0)|0)|0;Mo=Co,No=Wl(mn,mn>>>0>>0?Ye+1|0:Ye,Do,to),o[Mo+8>>2]=No;Dn=1}R=ro+80|0;return Dn}function ef(Ye){Ye=Ye|0;var mn=0;o[Ye>>2]=4784;o[Ye>>2]=2732;mn=o[Ye+32>>2];if(mn){o[Ye+36>>2]=mn;ul(mn)}return Ye|0}function ff(Ye){Ye=Ye|0;var Dn=0;o[Ye>>2]=4784;o[Ye>>2]=2732;Dn=o[Ye+32>>2];if(Dn){o[Ye+36>>2]=Dn;ul(Dn)}ul(Ye)}function gf(Ye,En,Oo,Po,Qo,Ro){Ye=Ye|0;En=En|0;Oo=Oo|0;Po=Po|0;Qo=Qo|0;Ro=Ro|0;var So=0,To=0,Uo=0,Vo=0,Wo=0,Xo=0,Yo=0,Zo=0,_o=0,$o=0,ap=0,bp=0,cp=0,dp=0,ep=0;To=R-32|0;R=To;o[Ye+68>>2]=Ro;Po=o[Ye+56>>2];Qo=o[Po>>2];Ro=Po+4|0;So=o[Ro>>2];o[To+24>>2]=0;o[To+16>>2]=0;o[To+20>>2]=0;a:{Qo=So-Qo|0;if((Qo|0)<1){break a}Po=o[Po>>2];if((Po|0)!=o[Ro>>2]){bp=Qo>>2;cp=Ye+60|0;dp=Ye+108|0;Yo=Ye+8|0;Zo=Ye+16|0;_o=Ye+32|0;$o=Ye+20|0;ap=Ye+12|0;ep=Ye+56|0;while(1){hf(cp,o[(Wo<<2)+Po>>2],To+16|0);Qo=o[To+20>>2];So=Qo>>31;Ro=o[To+16>>2];Uo=Ro>>31;Xo=o[To+24>>2];Vo=Xo>>31;Po=0;Vo=Vo^Vo+Xo;So=Vo+((So^Qo+So)+(Uo^Ro+Uo)|0)|0;if(So>>>0>>0){Po=1}b:{if(!(Po|So)){o[To+16>>2]=o[Ye+104>>2];break b}Uo=o[Ye+104>>2];Vo=Uo>>31;Qo=Wl(Vl(Uo,Vo,Qo,Qo>>31),T,So,Po);o[To+20>>2]=Qo;Po=Wl(Vl(Uo,Vo,Ro,Ro>>31),T,So,Po);o[To+16>>2]=Po;Ro=Po;Po=Po>>31;Po=(Uo-(Ro+Po^Po)|0)+((Qo|0)<0?Qo:0-Qo|0)|0;if((Xo|0)>=0){o[To+24>>2]=Po;break b}o[To+24>>2]=0-Po}Po=Pf(dp);Ro=o[To+16>>2];c:{if(!Po){Qo=o[To+20>>2];break c}o[To+24>>2]=0-o[To+24>>2];Qo=0-o[To+20>>2]|0;o[To+20>>2]=Qo;Ro=0-Ro|0;o[To+16>>2]=Ro}d:{if((Ro|0)>=0){Po=o[Ye+104>>2];Ro=Po+o[To+24>>2]|0;Po=Po+Qo|0;break d}e:{if((Qo|0)<=-1){Ro=o[To+24>>2];Po=Ro>>31;Po=Po^Po+Ro;break e}Ro=o[To+24>>2];Po=Ro>>31;Po=o[Ye+100>>2]-(Po^Po+Ro)|0}if((Ro|0)<=-1){Ro=Qo;Qo=Qo>>31;Ro=Ro+Qo^Qo;break d}Ro=Qo;Qo=Qo>>31;Ro=o[Ye+100>>2]-(Ro+Qo^Qo)|0}Qo=o[Ye+100>>2];f:{if(!(Po|Ro)){Ro=Qo;Po=Qo;break f}if(!((Qo|0)!=(Ro|0)|Po)){Po=Ro;break f}if(!((Po|0)!=(Qo|0)|Ro)){Ro=Po;break f}g:{if(Po){break g}So=o[Ye+104>>2];if((So|0)>=(Ro|0)){break g}Ro=(So<<1)-Ro|0;Po=0;break f}h:{if((Po|0)!=(Qo|0)){break h}So=o[Ye+104>>2];if((So|0)<=(Ro|0)){break h}Ro=(So<<1)-Ro|0;break f}i:{if((Qo|0)!=(Ro|0)){break i}Qo=o[Ye+104>>2];if((Qo|0)<=(Po|0)){break i}Po=(Qo<<1)-Po|0;break f}if(Ro){break f}Ro=0;Qo=o[Ye+104>>2];if((Qo|0)>=(Po|0)){break f}Po=(Qo<<1)-Po|0}o[To+12>>2]=Ro;o[To+8>>2]=Po;j:{if(o[Yo>>2]<1){break j}Ro=0;while(1){So=o[Zo>>2];k:{if((Po|0)>(So|0)){Qo=o[_o>>2];o[Qo+(Ro<<2)>>2]=So;break k}Qo=o[_o>>2];So=Qo+(Ro<<2)|0;Uo=o[ap>>2];if((Po|0)<(Uo|0)){o[So>>2]=Uo;break k}o[So>>2]=Po}Ro=Ro+1|0;So=o[Yo>>2];if((Ro|0)<(So|0)){Po=o[(To+8|0)+(Ro<<2)>>2];continue}break}Po=0;if((So|0)<1){break j}Ro=Wo<<3;Uo=Ro+Oo|0;Xo=En+Ro|0;while(1){So=Po<<2;Ro=So+Uo|0;So=o[So+Xo>>2]+o[Qo+So>>2]|0;o[Ro>>2]=So;l:{if((So|0)>o[Zo>>2]){Vo=So-o[$o>>2]|0}else{if((So|0)>=o[ap>>2]){break l}Vo=So+o[$o>>2]|0}o[Ro>>2]=Vo}Po=Po+1|0;if((Po|0)>2]){continue}break}}Wo=Wo+1|0;if((Wo|0)>=(bp|0)){break a}Qo=o[ep>>2];Po=o[Qo>>2];if(o[Qo+4>>2]-Po>>2>>>0>Wo>>>0){continue}break}}Zk();D()}R=To+32|0;return 1}function hf(Ye,En,Oo){Ye=Ye|0;En=En|0;Oo=Oo|0;var Po=0,Qo=0,Ro=0,fp=0,gp=0,hp=0,ip=0,jp=0,kp=0,lp=0,mp=0,np=0,op=0,pp=0,qp=0,rp=0,sp=0,tp=0,up=0,vp=0,wp=0,xp=0,yp=0,zp=0,Ap=0,Bp=0;Ro=R-96|0;R=Ro;Qo=o[Ye+16>>2];m[Ro+92|0]=1;o[Ro+88>>2]=En;o[Ro+84>>2]=En;o[Ro+80>>2]=Qo;Po=-1;Po=(En|0)!=-1?o[o[Qo>>2]+(En<<2)>>2]:Po;fp=o[Ye+20>>2];Qo=o[fp>>2];a:{b:{c:{d:{if(o[fp+4>>2]-Qo>>2>>>0>Po>>>0){Qo=o[o[Ye+8>>2]+(o[Qo+(Po<<2)>>2]<<2)>>2];Po=o[Ye+4>>2];if(!p[Po+84|0]){Qo=o[o[Po+68>>2]+(Qo<<2)>>2]}o[Ro+72>>2]=0;o[Ro+76>>2]=0;fp=Ro- -64|0;o[fp>>2]=0;o[fp+4>>2]=0;o[Ro+56>>2]=0;o[Ro+60>>2]=0;Me(Po,Qo,m[Po+24|0],Ro+56|0);if((En|0)==-1){break a}Po=En+1|0;fp=(Po>>>0)%3|0?Po:En+ -2|0;pp=((En>>>0)%3|0?-1:2)+En|0;wp=Ye+28|0;gp=!o[wp>>2];xp=Ye+20|0;yp=Ye+8|0;zp=Ro+48|0;while(1){Qo=fp;Po=pp;e:{if(gp){break e}Po=En+1|0;Qo=(Po>>>0)%3|0?Po:En+ -2|0;Po=En+ -1|0;if((En>>>0)%3){break e}Po=En+2|0}En=-1;En=(Qo|0)!=-1?o[o[o[Ye+16>>2]>>2]+(Qo<<2)>>2]:En;gp=o[xp>>2];Qo=o[gp>>2];if(o[gp+4>>2]-Qo>>2>>>0<=En>>>0){break d}Qo=o[o[yp>>2]+(o[Qo+(En<<2)>>2]<<2)>>2];gp=Ye+4|0;En=o[gp>>2];if(!p[En+84|0]){Qo=o[o[En+68>>2]+(Qo<<2)>>2]}o[zp>>2]=0;o[zp+4>>2]=0;o[Ro+40>>2]=0;o[Ro+44>>2]=0;o[Ro+32>>2]=0;o[Ro+36>>2]=0;Me(En,Qo,m[En+24|0],Ro+32|0);En=-1;En=(Po|0)!=-1?o[o[o[Ye+16>>2]>>2]+(Po<<2)>>2]:En;Qo=o[xp>>2];Po=o[Qo>>2];if(o[Qo+4>>2]-Po>>2>>>0<=En>>>0){break c}Po=o[o[yp>>2]+(o[Po+(En<<2)>>2]<<2)>>2];En=o[gp>>2];if(!p[En+84|0]){Po=o[o[En+68>>2]+(Po<<2)>>2]}Qo=Ro+24|0;o[Qo>>2]=0;o[Qo+4>>2]=0;gp=Ro+16|0;o[gp>>2]=0;o[gp+4>>2]=0;o[Ro+8>>2]=0;o[Ro+12>>2]=0;Me(En,Po,m[En+24|0],Ro+8|0);Po=o[Ro+8>>2];En=o[Ro+56>>2];qp=Po-En|0;rp=o[Ro+60>>2];jp=o[Ro+12>>2]-(rp+(Po>>>0>>0)|0)|0;sp=o[Ro+40>>2];Po=o[Ro+64>>2];Ap=sp-Po|0;tp=o[Ro+68>>2];sp=o[Ro+44>>2]-(tp+(sp>>>0>>0)|0)|0;up=Vl(qp,jp,Ap,sp);vp=hp-up|0;kp=kp-(T+(hp>>>0>>0)|0)|0;hp=o[gp>>2];up=hp-Po|0;gp=o[gp+4>>2]-((hp>>>0>>0)+tp|0)|0;hp=o[Ro+32>>2];tp=hp-En|0;rp=o[Ro+36>>2]-((hp>>>0>>0)+rp|0)|0;Po=Vl(up,gp,tp,rp);hp=Po+vp|0;En=T+kp|0;En=hp>>>0>>0?En+1|0:En;kp=En;Po=ip;mp=qp;Bp=jp;ip=o[Ro+48>>2];En=o[Ro+72>>2];jp=ip-En|0;qp=o[Ro+76>>2];vp=o[Ro+52>>2]-(qp+(ip>>>0>>0)|0)|0;mp=Vl(mp,Bp,jp,vp);ip=Po+mp|0;Po=T+np|0;Po=ip>>>0>>0?Po+1|0:Po;np=ip;ip=o[Qo>>2];mp=ip-En|0;En=o[Qo+4>>2]-((ip>>>0>>0)+qp|0)|0;Qo=Vl(mp,En,tp,rp);ip=np-Qo|0;np=Po-(T+(np>>>0>>0)|0)|0;Po=Vl(up,gp,jp,vp);Qo=lp-Po|0;op=op-(T+(lp>>>0>>0)|0)|0;Po=Vl(mp,En,Ap,sp);lp=Po+Qo|0;En=T+op|0;En=lp>>>0>>0?En+1|0:En;op=En;jf(Ro+80|0);jp=o[wp>>2];gp=!jp;En=o[Ro+88>>2];if((En|0)!=-1){continue}break}En=np;Po=En>>31;Ye=En>>31;En=Ye+En|0;fp=Po+ip|0;if(fp>>>0>>0){En=En+1|0}Po=Po^fp;gp=Ye^En;En=op;Ye=En>>31;En=En>>31;fp=Ye;pp=op+Ye|0;Qo=En+lp|0;if(Qo>>>0>>0){pp=pp+1|0}Ye=En^Qo;Qo=fp^pp;f:{if((kp|0)<-1?1:(kp|0)<=-1?hp>>>0>4294967295?0:1:0){En=hp;fp=Ye+(Po-En|0)|0;En=Qo+(gp-((Po>>>0>>0)+kp|0)|0)|0;Po=fp;Ye=Po>>>0>>0?En+1|0:En;if(!jp){break f}break b}En=gp+kp|0;fp=Po;Po=hp;fp=fp+Po|0;if(fp>>>0>>0){En=En+1|0}Po=Ye;fp=Po+fp|0;Ye=En+Qo|0;Ye=fp>>>0>>0?Ye+1|0:Ye;Po=fp;if(jp){break b}}if((Po|0)<536870913){break a}Ye=((Ye&536870911)<<3|Po>>>29)&7;En=0;hp=Wl(hp,kp,Ye,En);ip=Wl(ip,np,Ye,En);lp=Wl(lp,op,Ye,En);break a}Zk();D()}Zk();D()}Zk();D()}if((Ye|0)<0?1:(Ye|0)<=0?Po>>>0>=536870913?0:1:0){break a}En=Ye>>>29;Ye=(Ye&536870911)<<3|Po>>>29;hp=Wl(hp,kp,Ye,En);ip=Wl(ip,np,Ye,En);lp=Wl(lp,op,Ye,En)}o[Oo+8>>2]=hp;o[Oo+4>>2]=ip;o[Oo>>2]=lp;R=Ro+96|0}function jf(Ye){var En=0,Oo=0,Cp=0;En=o[Ye+8>>2];Cp=o[Ye>>2];a:{if(p[Ye+12|0]){b:{c:{d:{e:{if((En|0)==-1){break e}Oo=En+1|0;En=(Oo>>>0)%3|0?Oo:En+ -2|0;if((En|0)==-1){break e}En=o[o[Cp+12>>2]+(En<<2)>>2];if((En|0)!=-1){break d}}o[Ye+8>>2]=-1;break c}Oo=En+1|0;En=(Oo>>>0)%3|0?Oo:En+ -2|0;o[Ye+8>>2]=En;if((En|0)!=-1){break b}}Oo=o[Ye+4>>2];En=-1;f:{if((Oo|0)==-1){break f}Oo=Oo+((Oo>>>0)%3|0?-1:2)|0;En=-1;if((Oo|0)==-1){break f}Oo=o[o[Cp+12>>2]+(Oo<<2)>>2];En=-1;if((Oo|0)==-1){break f}En=Oo+ -1|0;if((Oo>>>0)%3){break f}En=Oo+2|0}m[Ye+12|0]=0;o[Ye+8>>2]=En;return}if((En|0)!=o[Ye+4>>2]){break a}o[Ye+8>>2]=-1;return}Oo=-1;g:{if((En|0)==-1){break g}En=En+((En>>>0)%3|0?-1:2)|0;Oo=-1;if((En|0)==-1){break g}En=o[o[Cp+12>>2]+(En<<2)>>2];Oo=-1;if((En|0)==-1){break g}Oo=En+ -1|0;if((En>>>0)%3){break g}Oo=En+2|0}o[Ye+8>>2]=Oo}}function kf(Ye,Dp,Ep,Fp,Gp,Hp){Ye=Ye|0;Dp=Dp|0;Ep=Ep|0;Fp=Fp|0;Gp=Gp|0;Hp=Hp|0;var Ip=0,Jp=0,Kp=0,Lp=0,Mp=0,Np=0,Op=0,Pp=0,Qp=0,Rp=0,Sp=0,Tp=0,Up=0,Vp=0;o[Ye+8>>2]=Gp;Jp=Ye+32|0;Ip=o[Jp>>2];Hp=o[Ye+36>>2]-Ip>>2;a:{if(Hp>>>0>>0){Da(Jp,Gp-Hp|0);break a}if(Hp>>>0<=Gp>>>0){break a}o[Ye+36>>2]=Ip+(Gp<<2)}Jp=0;Hp=(Gp&1073741823)!=(Gp|0)?-1:Gp<<2;Sp=xl(Hk(Hp),0,Hp);Mp=Ye+8|0;Ip=o[Mp>>2];b:{if((Ip|0)<1){break b}Op=Ye+16|0;Hp=Ye+32|0;Pp=Ye+12|0;while(1){Ip=Jp<<2;Lp=o[Ip+Sp>>2];Kp=o[Op>>2];c:{if((Lp|0)>(Kp|0)){Np=o[Hp>>2];o[Ip+Np>>2]=Kp;break c}Np=o[Hp>>2];Ip=Ip+Np|0;Kp=o[Pp>>2];if((Lp|0)<(Kp|0)){o[Ip>>2]=Kp;break c}o[Ip>>2]=Lp}Jp=Jp+1|0;Ip=o[Mp>>2];if((Jp|0)<(Ip|0)){continue}break}if((Ip|0)<1){break b}Jp=0;Mp=Ye+16|0;Lp=Ye+20|0;Op=Ye+8|0;Pp=Ye+12|0;while(1){Ip=Jp<<2;Hp=Ip+Ep|0;Ip=o[Dp+Ip>>2]+o[Ip+Np>>2]|0;o[Hp>>2]=Ip;d:{if((Ip|0)>o[Mp>>2]){Ip=Ip-o[Lp>>2]|0}else{if((Ip|0)>=o[Pp>>2]){break d}Ip=Ip+o[Lp>>2]|0}o[Hp>>2]=Ip}Jp=Jp+1|0;Ip=o[Op>>2];if((Jp|0)<(Ip|0)){continue}break}}if((Gp|0)<(Fp|0)){Up=0-Gp<<2;Lp=Ye+16|0;Np=Ye+32|0;Mp=Ye+8|0;Op=Ye+20|0;Pp=Ye+12|0;Hp=Gp;while(1){e:{if((Ip|0)<1){break e}Rp=Hp<<2;Tp=Rp+Ep|0;Vp=Tp+Up|0;Jp=0;while(1){Ye=Jp<<2;Ip=o[Ye+Vp>>2];Qp=o[Lp>>2];f:{if((Ip|0)>(Qp|0)){Kp=o[Np>>2];o[Ye+Kp>>2]=Qp;break f}Kp=o[Np>>2];Ye=Ye+Kp|0;Qp=o[Pp>>2];if((Ip|0)<(Qp|0)){o[Ye>>2]=Qp;break f}o[Ye>>2]=Ip}Jp=Jp+1|0;Ip=o[Mp>>2];if((Jp|0)<(Ip|0)){continue}break}Jp=0;if((Ip|0)<1){break e}Rp=Dp+Rp|0;while(1){Ip=Jp<<2;Ye=Ip+Tp|0;Ip=o[Ip+Rp>>2]+o[Ip+Kp>>2]|0;o[Ye>>2]=Ip;g:{if((Ip|0)>o[Lp>>2]){Ip=Ip-o[Op>>2]|0}else{if((Ip|0)>=o[Pp>>2]){break g}Ip=Ip+o[Op>>2]|0}o[Ye>>2]=Ip}Jp=Jp+1|0;Ip=o[Mp>>2];if((Jp|0)<(Ip|0)){continue}break}}Hp=Gp+Hp|0;if((Hp|0)<(Fp|0)){continue}break}}ul(Sp);return 1}function lf(Ye,Dp,Ep){Ye=Ye|0;Dp=Dp|0;Ep=Ep|0;var Fp=0;a:{if(!ae(Ye,Dp,Ep)){break a}Ye=o[Ye+8>>2];if(p[Ye+24|0]!=3){break a}Fp=o[Ye+28>>2]==9}return Fp|0}function mf(o,Ye,Dp){o=o|0;Ye=Ye|0;Dp=Dp|0;return fe(o,Ye,Dp)|0}function nf(Ye,Dp,Ep){Ye=Ye|0;Dp=Dp|0;Ep=Ep|0;var Gp=0,Hp=0,Wp=0,Xp=0,Yp=0;Gp=R-16|0;R=Gp;a:{b:{if(p[o[Ye+4>>2]+36|0]<=1){Dp=o[Ye+24>>2];break b}Xp=o[Ep+16>>2];Hp=o[Ep+12>>2];Wp=o[Ep+20>>2];Dp=Wp;Yp=0;if((Hp|0)<(Dp|0)?1:(Hp|0)<=(Dp|0)?r[Ep+8>>2]>Xp>>>0?0:1:0){break a}Dp=p[Xp+o[Ep>>2]|0];Hp=Xp+1|0;if(Hp>>>0<1){Wp=Wp+1|0}o[Ep+16>>2]=Hp;o[Ep+20>>2]=Wp;o[Ye+24>>2]=Dp}o[Gp+12>>2]=-1;o[Gp+8>>2]=1116;o[(Gp+8|0)+4>>2]=Dp;Yp=jd(Gp+8|0,o[Ye+16>>2])}Ye=Yp;R=Gp+16|0;return Ye|0}function of(Ye,Dp){Ye=Ye|0;Dp=Dp|0;var Ep=0,Zp=0,_p=0,$p=0,aq=0,bq=v(0),cq=0,dq=0;Zp=R-32|0;R=Zp;$p=m[o[Ye+8>>2]+24|0];Ep=o[Ye+16>>2];if(o[Ep+80>>2]){aq=o[o[Ep>>2]>>2]+o[Ep+48>>2]|0}o[Zp+8>>2]=-1;o[Zp+12>>2]=-1;o[Zp>>2]=-1;o[Zp+4>>2]=-1;a:{Ep=o[Ye+24>>2];if(Ep+ -2>>>0>28){break a}o[Zp>>2]=Ep;Ep=-1<>2]=_p;o[Zp+4>>2]=Ep^-1;o[Zp+12>>2]=(_p|0)/2;if(!Dp){_p=1;break a}$p=$p<<2;Ep=0;dq=Ye+8|0;Ye=0;while(1){bq=v(v(1)/v(_p|0));_p=Ep<<2;pf(v(bq*v(o[_p+aq>>2])),v(bq*v(o[(_p|4)+aq>>2])),Zp+20|0);wl(o[o[o[dq>>2]- -64>>2]>>2]+Ye|0,Zp+20|0,$p);_p=1;cq=cq+1|0;if((cq|0)==(Dp|0)){break a}Ep=Ep+2|0;Ye=Ye+$p|0;_p=o[Zp+8>>2];continue}}R=Zp+32|0;return _p|0}function pf(Ye,Dp,eq){var fq=0,gq=0,hq=v(0),iq=v(0),jq=v(0),kq=0,lq=0;hq=v(Ye+Dp);a:{b:{jq=v(Ye-Dp);if(jq<=v(.5)^1|jq>=v(-.5)^1|hq>=v(.5)^1){break b}gq=1;if(!(hq<=v(1.5))){break b}iq=Dp;break a}c:{if(!!(hq<=v(.5))){iq=v(v(.5)-Ye);Ye=v(v(.5)-Dp);break c}if(!!(hq>=v(1.5))){iq=v(v(1.5)-Ye);Ye=v(v(1.5)-Dp);break c}if(!!(jq<=v(-.5))){iq=v(Ye+v(.5));Ye=v(Dp+v(-.5));break c}iq=v(Ye+v(-.5));Ye=v(Dp+v(.5))}jq=v(Ye-iq);hq=v(iq+Ye);gq=-1}fq=+iq;Dp=v(fq+fq+ -1);fq=+Ye;Ye=v(fq+fq+ -1);lq=gq;gq=+jq;gq=gq+gq;fq=1-gq;gq=gq+1;gq=fq>2]=0;hq=v(0);Ye=v(0);break d}jq=v(v(1)/v(C(hq)));s[eq>>2]=jq*iq;hq=v(jq*Dp);Ye=v(jq*Ye)}s[eq+8>>2]=hq;s[eq+4>>2]=Ye}function qf(Ye,Dp,eq,mq){Ye=Ye|0;Dp=Dp|0;eq=eq|0;mq=mq|0;var nq=0,oq=0,pq=0;nq=R-32|0;R=nq;a:{if((mq|0)==3){mq=o[Dp+4>>2];Dp=o[Dp+12>>2];o[nq+24>>2]=-1;o[nq+28>>2]=-1;o[nq+16>>2]=-1;o[nq+20>>2]=-1;if((eq|0)==-2){o[nq+8>>2]=0;o[Ye>>2]=0;break a}oq=o[o[o[mq+4>>2]+8>>2]+(Dp<<2)>>2];if((l[o[o[mq>>2]+8>>2]](mq)|0)==1){pq=Dp;Dp=q[mq+36>>1];rf(nq+8|0,mq,eq,pq,nq+16|0,(Dp<<24|Dp<<8&16711680)>>>16);Dp=o[nq+8>>2];if(Dp){o[Ye>>2]=Dp;break a}o[nq+8>>2]=0}Dp=Hk(24);o[Dp+4>>2]=oq;eq=o[nq+20>>2];o[Dp+8>>2]=o[nq+16>>2];o[Dp+12>>2]=eq;eq=o[nq+28>>2];o[Dp+16>>2]=o[nq+24>>2];o[Dp+20>>2]=eq;o[Dp>>2]=7480;o[nq+8>>2]=Dp;o[Ye>>2]=Dp;break a}o[Ye>>2]=0}R=nq+32|0}function rf(Ye,Dp,eq,mq,qq,rq){var sq=0,tq=0,uq=0,vq=0;vq=o[o[o[Dp+4>>2]+8>>2]+(mq<<2)>>2];a:{b:{if((l[o[o[Dp>>2]+8>>2]](Dp)|0)!=1|eq+ -1>>>0>5){break b}tq=l[o[o[Dp>>2]+36>>2]](Dp)|0;rq=l[o[o[Dp>>2]+44>>2]](Dp,mq)|0;if(!tq|!rq){break b}uq=l[o[o[Dp>>2]+40>>2]](Dp,mq)|0;mq=rq+12|0;sq=o[Dp+44>>2];c:{if(uq){if((eq|0)!=6){break c}Dp=Hk(104);o[Dp+4>>2]=vq;eq=o[qq+4>>2];o[Dp+8>>2]=o[qq>>2];o[Dp+12>>2]=eq;eq=o[qq+12>>2];o[Dp+16>>2]=o[qq+8>>2];o[Dp+20>>2]=eq;o[Dp+36>>2]=rq;o[Dp+32>>2]=mq;o[Dp+28>>2]=uq;o[Dp+24>>2]=sq;o[Dp+64>>2]=rq;o[Dp+60>>2]=mq;o[Dp+56>>2]=uq;o[Dp+52>>2]=sq;o[Dp+44>>2]=0;o[Dp+48>>2]=0;o[Dp>>2]=5644;o[Dp+72>>2]=-1;o[Dp+76>>2]=-1;o[Dp+68>>2]=1;o[Dp+40>>2]=6208;break a}if((eq|0)!=6){break c}Dp=Hk(104);o[Dp+4>>2]=vq;eq=o[qq+4>>2];o[Dp+8>>2]=o[qq>>2];o[Dp+12>>2]=eq;eq=o[qq+12>>2];o[Dp+16>>2]=o[qq+8>>2];o[Dp+20>>2]=eq;o[Dp+36>>2]=rq;o[Dp+32>>2]=mq;o[Dp+28>>2]=tq;o[Dp+24>>2]=sq;o[Dp+64>>2]=rq;o[Dp+60>>2]=mq;o[Dp+56>>2]=tq;o[Dp+52>>2]=sq;o[Dp+44>>2]=0;o[Dp+48>>2]=0;o[Dp>>2]=6648;o[Dp+72>>2]=-1;o[Dp+76>>2]=-1;o[Dp+68>>2]=1;o[Dp+40>>2]=7068;break a}o[Ye>>2]=0}o[Ye>>2]=0;return}o[Dp+80>>2]=-1;o[Dp+84>>2]=-1;Mf(Dp+88|0);o[Ye>>2]=Dp}function sf(Ye){Ye=Ye|0;o[Ye>>2]=5644;return Ye|0}function tf(Ye){Ye=Ye|0;o[Ye>>2]=5644;ul(Ye)}function uf(Ye){Ye=Ye|0;var Dp=0;a:{if(!o[Ye+44>>2]|!o[Ye+48>>2]|(!o[Ye+24>>2]|!o[Ye+28>>2])){break a}if(!o[Ye+32>>2]|!o[Ye+36>>2]){break a}Dp=o[Ye+72>>2]!=-1}return Dp|0}function vf(Ye,eq){Ye=Ye|0;eq=eq|0;var mq=0;if(!(o[eq+56>>2]|p[eq+24|0]!=3)){o[Ye+44>>2]=eq;mq=1}return mq|0}function wf(o){o=o|0;return 3}function xf(Ye,eq){Ye=Ye|0;eq=eq|0;var qq=0,rq=0,wq=0,xq=0,yq=0,zq=0,Aq=0,Bq=0,Cq=0;qq=o[eq+12>>2];zq=qq;wq=qq;qq=o[eq+20>>2];xq=qq;yq=o[eq+16>>2];rq=yq+4|0;if(rq>>>0<4){qq=qq+1|0}Aq=o[eq+8>>2];Bq=rq;rq=qq;a:{if((wq|0)<(qq|0)?1:(wq|0)<=(qq|0)?Aq>>>0>=Bq>>>0?0:1:0){break a}qq=yq+o[eq>>2]|0;wq=p[qq|0]|p[qq+1|0]<<8|(p[qq+2|0]<<16|p[qq+3|0]<<24);o[eq+16>>2]=Bq;o[eq+20>>2]=rq;qq=xq;rq=yq+8|0;if(rq>>>0<8){qq=qq+1|0}xq=rq;rq=qq;if((zq|0)<(qq|0)?1:(zq|0)<=(qq|0)?Aq>>>0>=xq>>>0?0:1:0){break a}o[eq+16>>2]=xq;o[eq+20>>2]=rq;if(!(wq&1)){break a}qq=x(wq)^31;if(qq+ -1>>>0>28){break a}o[Ye+8>>2]=qq+1;rq=-2<>2]=qq;o[Ye+12>>2]=rq^-1;o[Ye+20>>2]=(qq|0)/2;Cq=Nf(Ye+88|0,eq)}return Cq|0}function yf(Ye,eq,Dq,Eq,Fq,Gq){Ye=Ye|0;eq=eq|0;Dq=Dq|0;Eq=Eq|0;Fq=Fq|0;Gq=Gq|0;var Hq=0,Iq=0,Jq=0,Kq=0,Lq=0,Mq=0,Nq=0,Oq=0,Pq=0,Qq=0,Rq=0;Hq=R-48|0;R=Hq;Nq=Ye+8|0;Eq=o[Nq>>2];if(Eq+ -2>>>0<=28){o[Ye+72>>2]=Eq;Eq=-1<>2]=Fq;o[Ye+76>>2]=Eq^-1;o[Ye+84>>2]=(Fq|0)/2}o[Ye+48>>2]=Gq;Eq=o[Ye+36>>2];Fq=o[Eq>>2];Gq=Eq+4|0;Iq=o[Gq>>2];o[Hq+16>>2]=0;o[Hq+8>>2]=0;o[Hq+12>>2]=0;a:{Fq=Iq-Fq|0;if((Fq|0)<1){break a}Eq=o[Eq>>2];if((Eq|0)!=o[Gq>>2]){Oq=Fq>>2;Pq=Ye+40|0;Qq=Ye+88|0;Rq=Ye+36|0;while(1){Ue(Pq,o[(Lq<<2)+Eq>>2],Hq+8|0);Fq=o[Hq+12>>2];Iq=Fq>>31;Gq=o[Hq+8>>2];Kq=Gq>>31;Mq=o[Hq+16>>2];Jq=Mq>>31;Eq=0;Jq=Jq^Jq+Mq;Iq=Jq+((Iq^Fq+Iq)+(Kq^Gq+Kq)|0)|0;if(Iq>>>0>>0){Eq=1}b:{if(!(Eq|Iq)){o[Hq+8>>2]=o[Ye+84>>2];break b}Kq=o[Ye+84>>2];Jq=Kq;Jq=Jq>>31;Fq=Wl(Vl(Kq,Jq,Fq,Fq>>31),T,Iq,Eq);o[Hq+12>>2]=Fq;Eq=Wl(Vl(Kq,Jq,Gq,Gq>>31),T,Iq,Eq);o[Hq+8>>2]=Eq;Gq=Eq;Eq=Eq>>31;Eq=(Kq-(Gq+Eq^Eq)|0)+((Fq|0)<0?Fq:0-Fq|0)|0;if((Mq|0)>=0){o[Hq+16>>2]=Eq;break b}o[Hq+16>>2]=0-Eq}Eq=Pf(Qq);Gq=o[Hq+8>>2];c:{if(!Eq){Fq=o[Hq+12>>2];break c}o[Hq+16>>2]=0-o[Hq+16>>2];Fq=0-o[Hq+12>>2]|0;o[Hq+12>>2]=Fq;Gq=0-Gq|0;o[Hq+8>>2]=Gq}d:{if((Gq|0)>=0){Gq=o[Ye+84>>2];Eq=Gq+o[Hq+16>>2]|0;Gq=Fq+Gq|0;break d}e:{if((Fq|0)<=-1){Eq=o[Hq+16>>2];Gq=Eq>>31;Gq=Gq^Eq+Gq;break e}Eq=o[Hq+16>>2];Gq=Eq>>31;Gq=o[Ye+80>>2]-(Gq^Eq+Gq)|0}if((Eq|0)<=-1){Eq=Fq>>31;Eq=Eq+Fq^Eq;break d}Eq=Fq>>31;Eq=o[Ye+80>>2]-(Eq+Fq^Eq)|0}Fq=o[Ye+80>>2];f:{if(!(Eq|Gq)){Eq=Fq;Gq=Eq;break f}if(!((Eq|0)!=(Fq|0)|Gq)){Gq=Eq;break f}if(!((Fq|0)!=(Gq|0)|Eq)){Eq=Gq;break f}g:{if(Gq){break g}Iq=o[Ye+84>>2];if((Iq|0)>=(Eq|0)){break g}Eq=(Iq<<1)-Eq|0;Gq=0;break f}h:{if((Fq|0)!=(Gq|0)){break h}Iq=o[Ye+84>>2];if((Iq|0)<=(Eq|0)){break h}Eq=(Iq<<1)-Eq|0;break f}i:{if((Eq|0)!=(Fq|0)){break i}Fq=o[Ye+84>>2];if((Fq|0)<=(Gq|0)){break i}Gq=(Fq<<1)-Gq|0;break f}if(Eq){break f}Eq=0;Fq=o[Ye+84>>2];if((Fq|0)>=(Gq|0)){break f}Gq=(Fq<<1)-Gq|0}Fq=Lq<<3;Iq=Fq+eq|0;Kq=o[Iq+4>>2];Iq=o[Iq>>2];o[Hq+36>>2]=Eq;o[Hq+32>>2]=Gq;o[Hq+24>>2]=Iq;o[Hq+28>>2]=Kq;zf(Hq+40|0,Nq,Hq+32|0,Hq+24|0);Eq=Dq+Fq|0;o[Eq>>2]=o[Hq+40>>2];o[Eq+4>>2]=o[Hq+44>>2];Lq=Lq+1|0;if((Lq|0)>=(Oq|0)){break a}Fq=o[Rq>>2];Eq=o[Fq>>2];if(o[Fq+4>>2]-Eq>>2>>>0>Lq>>>0){continue}break}}Zk();D()}R=Hq+48|0;return 1}function zf(Ye,eq,Dq,Eq){var Fq=0,Gq=0,Sq=0,Tq=0,Uq=0,Vq=0,Wq=0,Xq=0;Tq=eq+12|0;Wq=o[Tq>>2];Gq=o[Dq+4>>2]-Wq|0;Fq=o[Dq>>2]-Wq|0;o[Dq>>2]=Fq;o[Dq+4>>2]=Gq;Sq=Gq>>31;Uq=Sq+Gq^Sq;Sq=Fq>>31;Tq=o[Tq>>2];Xq=(Uq+(Sq+Fq^Sq)|0)<=(Tq|0);if(!Xq){a:{b:{if((Fq|0)>=0){Sq=1;Vq=1;if((Gq|0)>-1){break a}Uq=1;Sq=-1;Vq=-1;if((Fq|0)>=1){break b}break a}Uq=-1;Sq=-1;Vq=-1;if((Gq|0)<1){break a}}Sq=(Gq|0)<1?-1:1;Vq=Uq}Uq=Gq<<1;Gq=u(Sq,Tq);Uq=Uq-Gq|0;o[Dq+4>>2]=Uq;Tq=u(Tq,Vq);Fq=(Fq<<1)-Tq|0;o[Dq>>2]=Fq;c:{if((u(Sq,Vq)|0)>=0){Uq=0-Uq|0;o[Dq>>2]=Uq;Fq=0-Fq|0;break c}o[Dq>>2]=Uq}Gq=(Fq+Gq|0)/2|0;o[Dq+4>>2]=Gq;Fq=(Tq+Uq|0)/2|0;o[Dq>>2]=Fq}d:{e:{f:{g:{h:{i:{j:{k:{if(!Fq){if(Gq){break j}Tq=1;Vq=0;break k}Tq=1;Sq=(Fq|0)<0&(Gq|0)<1;if((Fq|0)>=1){Vq=(Gq|0)>-1?2:1;if(Sq){break k}break i}Vq=(Gq|0)>0?3:0;if(!Sq){break i}}Sq=Gq;Uq=Fq;break d}if((Gq|0)>=1){break f}break h}Sq=Vq+ -1|0;if(Sq>>>0>2){Sq=Gq;Gq=Fq;Vq=0;break e}switch(Sq-1|0){case 0:break g;case 1:break f;default:break h}}Sq=0-Fq|0;Vq=1;break e}Sq=0-Gq|0;Gq=0-Fq|0;Vq=2;break e}Sq=Fq;Gq=0-Gq|0;Vq=3}Fq=Dq;Uq=Gq;o[Fq>>2]=Gq;o[Fq+4>>2]=Sq;Tq=0}Gq=o[Eq>>2]+Uq|0;o[Ye>>2]=Gq;Fq=o[Eq+4>>2]+Sq|0;o[Ye+4>>2]=Fq;Sq=o[eq+12>>2];l:{if((Sq|0)<(Gq|0)){Gq=Gq-o[eq+4>>2]|0;break l}if((Gq|0)>=(0-Sq|0)){break l}Gq=o[eq+4>>2]+Gq|0}o[Ye>>2]=Gq;m:{if((Sq|0)<(Fq|0)){Fq=Fq-o[eq+4>>2]|0;break m}if((Fq|0)>=(0-Sq|0)){break m}Fq=o[eq+4>>2]+Fq|0}o[Ye+4>>2]=Fq;n:{if(Tq){Dq=Fq;Fq=Gq;break n}eq=(4-Vq&3)+ -1|0;o:{if(eq>>>0>2){Dq=Fq;Fq=Gq;break o}p:{switch(eq-1|0){default:Dq=0-Gq|0;break o;case 0:Dq=0-Fq|0;Fq=0-Gq|0;break o;case 1:break p}}Fq=0-Fq|0;Dq=Gq}o[Ye>>2]=Fq;o[Ye+4>>2]=Dq}if(!Xq){q:{r:{if((Fq|0)>=0){eq=1;Tq=1;if((Dq|0)>-1){break q}Gq=1;eq=-1;Tq=-1;if((Fq|0)>=1){break r}break q}Gq=-1;eq=-1;Tq=-1;if((Dq|0)<1){break q}}eq=(Dq|0)<1?-1:1;Tq=Gq}Eq=Dq<<1;Dq=u(eq,Sq);Gq=Eq-Dq|0;o[Ye+4>>2]=Gq;Eq=u(Sq,Tq);Fq=(Fq<<1)-Eq|0;o[Ye>>2]=Fq;s:{if((u(eq,Tq)|0)>=0){Gq=0-Gq|0;o[Ye>>2]=Gq;Fq=0-Fq|0;break s}o[Ye>>2]=Gq}Dq=(Dq+Fq|0)/2|0;o[Ye+4>>2]=Dq;Fq=(Eq+Gq|0)/2|0;o[Ye>>2]=Fq}o[Ye>>2]=Fq+Wq;o[Ye+4>>2]=Dq+Wq}function Af(Ye,eq){Ye=Ye|0;eq=eq|0;var Dq=0,Eq=0,Yq=0,Zq=0,_q=0,$q=0,ar=0,br=0,cr=0;Dq=o[eq+12>>2];$q=Dq;Yq=Dq;Dq=o[eq+20>>2];Zq=Dq;_q=o[eq+16>>2];Eq=_q+4|0;if(Eq>>>0<4){Dq=Dq+1|0}ar=o[eq+8>>2];br=Eq;Eq=Dq;a:{if((Yq|0)<(Dq|0)?1:(Yq|0)<=(Dq|0)?ar>>>0>=br>>>0?0:1:0){break a}Dq=_q+o[eq>>2]|0;Yq=p[Dq|0]|p[Dq+1|0]<<8|(p[Dq+2|0]<<16|p[Dq+3|0]<<24);o[eq+16>>2]=br;o[eq+20>>2]=Eq;Dq=Zq;Eq=_q+8|0;if(Eq>>>0<8){Dq=Dq+1|0}Zq=Eq;Eq=Dq;if(($q|0)<(Dq|0)?1:($q|0)<=(Dq|0)?ar>>>0>=Zq>>>0?0:1:0){break a}o[eq+16>>2]=Zq;o[eq+20>>2]=Eq;if(!(Yq&1)){break a}eq=x(Yq)^31;if(eq+ -1>>>0>28){break a}cr=1;o[Ye+8>>2]=eq+1;Dq=-2<>2]=eq;o[Ye+12>>2]=Dq^-1;o[Ye+20>>2]=(eq|0)/2}return cr|0}function Bf(Ye){Ye=Ye|0;o[Ye>>2]=6648;return Ye|0}function Cf(Ye){Ye=Ye|0;o[Ye>>2]=6648;ul(Ye)}function Df(Ye,eq,dr,er,fr,gr){Ye=Ye|0;eq=eq|0;dr=dr|0;er=er|0;fr=fr|0;gr=gr|0;var hr=0,ir=0,jr=0,kr=0,lr=0,mr=0,nr=0,or=0,pr=0,qr=0,rr=0;hr=R-48|0;R=hr;nr=Ye+8|0;er=o[nr>>2];if(er+ -2>>>0<=28){o[Ye+72>>2]=er;er=-1<>2]=fr;o[Ye+76>>2]=er^-1;o[Ye+84>>2]=(fr|0)/2}o[Ye+48>>2]=gr;er=o[Ye+36>>2];fr=o[er>>2];gr=er+4|0;ir=o[gr>>2];o[hr+16>>2]=0;o[hr+8>>2]=0;o[hr+12>>2]=0;a:{fr=ir-fr|0;if((fr|0)<1){break a}er=o[er>>2];if((er|0)!=o[gr>>2]){or=fr>>2;pr=Ye+40|0;qr=Ye+88|0;rr=Ye+36|0;while(1){hf(pr,o[(lr<<2)+er>>2],hr+8|0);fr=o[hr+12>>2];ir=fr>>31;gr=o[hr+8>>2];kr=gr>>31;mr=o[hr+16>>2];jr=mr>>31;er=0;jr=jr^jr+mr;ir=jr+((ir^fr+ir)+(kr^gr+kr)|0)|0;if(ir>>>0>>0){er=1}b:{if(!(er|ir)){o[hr+8>>2]=o[Ye+84>>2];break b}kr=o[Ye+84>>2];jr=kr;jr=jr>>31;fr=Wl(Vl(kr,jr,fr,fr>>31),T,ir,er);o[hr+12>>2]=fr;er=Wl(Vl(kr,jr,gr,gr>>31),T,ir,er);o[hr+8>>2]=er;gr=er;er=er>>31;er=(kr-(gr+er^er)|0)+((fr|0)<0?fr:0-fr|0)|0;if((mr|0)>=0){o[hr+16>>2]=er;break b}o[hr+16>>2]=0-er}er=Pf(qr);gr=o[hr+8>>2];c:{if(!er){fr=o[hr+12>>2];break c}o[hr+16>>2]=0-o[hr+16>>2];fr=0-o[hr+12>>2]|0;o[hr+12>>2]=fr;gr=0-gr|0;o[hr+8>>2]=gr}d:{if((gr|0)>=0){gr=o[Ye+84>>2];er=gr+o[hr+16>>2]|0;gr=fr+gr|0;break d}e:{if((fr|0)<=-1){er=o[hr+16>>2];gr=er>>31;gr=gr^er+gr;break e}er=o[hr+16>>2];gr=er>>31;gr=o[Ye+80>>2]-(gr^er+gr)|0}if((er|0)<=-1){er=fr>>31;er=er+fr^er;break d}er=fr>>31;er=o[Ye+80>>2]-(er+fr^er)|0}fr=o[Ye+80>>2];f:{if(!(er|gr)){er=fr;gr=er;break f}if(!((er|0)!=(fr|0)|gr)){gr=er;break f}if(!((fr|0)!=(gr|0)|er)){er=gr;break f}g:{if(gr){break g}ir=o[Ye+84>>2];if((ir|0)>=(er|0)){break g}er=(ir<<1)-er|0;gr=0;break f}h:{if((fr|0)!=(gr|0)){break h}ir=o[Ye+84>>2];if((ir|0)<=(er|0)){break h}er=(ir<<1)-er|0;break f}i:{if((er|0)!=(fr|0)){break i}fr=o[Ye+84>>2];if((fr|0)<=(gr|0)){break i}gr=(fr<<1)-gr|0;break f}if(er){break f}er=0;fr=o[Ye+84>>2];if((fr|0)>=(gr|0)){break f}gr=(fr<<1)-gr|0}fr=lr<<3;ir=fr+eq|0;kr=o[ir+4>>2];ir=o[ir>>2];o[hr+36>>2]=er;o[hr+32>>2]=gr;o[hr+24>>2]=ir;o[hr+28>>2]=kr;zf(hr+40|0,nr,hr+32|0,hr+24|0);er=dr+fr|0;o[er>>2]=o[hr+40>>2];o[er+4>>2]=o[hr+44>>2];lr=lr+1|0;if((lr|0)>=(or|0)){break a}fr=o[rr>>2];er=o[fr>>2];if(o[fr+4>>2]-er>>2>>>0>lr>>>0){continue}break}}Zk();D()}R=hr+48|0;return 1}function Ef(Ye,eq,dr,er,fr,gr){Ye=Ye|0;eq=eq|0;dr=dr|0;er=er|0;fr=fr|0;gr=gr|0;var sr=0,tr=0,ur=0,vr=0,wr=0,xr=0,yr=0,zr=0;gr=R-32|0;R=gr;tr=(fr&1073741823)!=(fr|0)?-1:fr<<2;tr=xl(Hk(tr),0,tr);sr=o[eq>>2];ur=o[eq+4>>2];wr=o[tr+4>>2];o[gr+16>>2]=o[tr>>2];o[gr+20>>2]=wr;o[gr+8>>2]=sr;o[gr+12>>2]=ur;ur=Ye+8|0;zf(gr+24|0,ur,gr+16|0,gr+8|0);o[dr>>2]=o[gr+24>>2];o[dr+4>>2]=o[gr+28>>2];if((fr|0)<(er|0)){wr=0-fr<<2;Ye=fr;while(1){sr=Ye<<2;vr=sr+eq|0;yr=o[vr>>2];vr=o[vr+4>>2];sr=dr+sr|0;xr=sr+wr|0;zr=o[xr+4>>2];o[gr+16>>2]=o[xr>>2];o[gr+20>>2]=zr;o[gr+8>>2]=yr;o[gr+12>>2]=vr;zf(gr+24|0,ur,gr+16|0,gr+8|0);o[sr>>2]=o[gr+24>>2];o[sr+4>>2]=o[gr+28>>2];Ye=Ye+fr|0;if((Ye|0)<(er|0)){continue}break}}ul(tr);R=gr+32|0;return 1}function Ff(Ye,eq,dr){Ye=Ye|0;eq=eq|0;dr=dr|0;if(ae(Ye,eq,dr)){Ye=o[o[o[o[eq+4>>2]+8>>2]+(dr<<2)>>2]+28>>2]==9}else{Ye=0}return Ye|0}function Gf(Ye,eq,dr){Ye=Ye|0;eq=eq|0;dr=dr|0;eq=R-32|0;R=eq;a:{if(p[o[Ye+4>>2]+36|0]>=2){dr=0;if(!l[o[o[Ye>>2]+52>>2]](Ye)){break a}}o[eq+24>>2]=0;o[eq+28>>2]=0;o[eq+16>>2]=0;o[eq+20>>2]=0;o[eq+12>>2]=-1;o[eq+8>>2]=1232;ed(eq+8|0,o[Ye+24>>2],o[Ye+28>>2],m[o[Ye+8>>2]+24|0],s[Ye+32>>2]);dr=jd(eq+8|0,o[Ye+16>>2]);o[eq+8>>2]=1232;Ye=o[eq+16>>2];if(!Ye){break a}o[eq+20>>2]=Ye;ul(Ye)}R=eq+32|0;return dr|0}function Hf(Ye,eq){Ye=Ye|0;eq=eq|0;return l[o[o[Ye>>2]+56>>2]](Ye,eq)|0}function If(Ye){Ye=Ye|0;var eq=0,dr=0,er=0,fr=0,gr=0,Ar=0,Br=0,Cr=0,Dr=0,Er=0;eq=m[o[Ye+8>>2]+24|0];er=eq<<2;eq=Hk((eq|0)!=(eq&1073741823)?-1:er);dr=o[Ye+28>>2];o[Ye+28>>2]=eq;if(dr){ul(dr)}Cr=Ye+4|0;dr=o[o[Cr>>2]+32>>2];eq=o[dr+8>>2];Dr=o[dr+12>>2];Ar=eq;gr=o[dr+20>>2];Br=o[dr+16>>2];eq=er;fr=Br+eq|0;if(fr>>>0>>0){gr=gr+1|0}a:{if((Dr|0)<(gr|0)?1:(Dr|0)<=(gr|0)?Ar>>>0>=fr>>>0?0:1:0){break a}wl(o[Ye+28>>2],Br+o[dr>>2]|0,er);er=dr;Ar=dr;fr=o[dr+20>>2];dr=eq+o[dr+16>>2]|0;if(dr>>>0>>0){fr=fr+1|0}o[Ar+16>>2]=dr;o[er+20>>2]=fr;fr=o[Cr>>2];er=o[fr+32>>2];eq=o[er+8>>2];gr=o[er+12>>2];Ar=eq;Br=o[er+20>>2];dr=o[er+16>>2];eq=dr+4|0;if(eq>>>0<4){Br=Br+1|0}if((gr|0)<(Br|0)?1:(gr|0)<=(Br|0)?Ar>>>0>=eq>>>0?0:1:0){break a}eq=dr+o[er>>2]|0;o[Ye+32>>2]=p[eq|0]|p[eq+1|0]<<8|(p[eq+2|0]<<16|p[eq+3|0]<<24);eq=er;Ar=eq;dr=o[eq+20>>2];er=o[eq+16>>2]+4|0;if(er>>>0<4){dr=dr+1|0}o[Ar+16>>2]=er;o[eq+20>>2]=dr;eq=o[fr+32>>2];gr=o[eq+16>>2];fr=o[eq+12>>2];er=o[eq+20>>2];dr=er;if((fr|0)<(dr|0)?1:(fr|0)<=(dr|0)?r[eq+8>>2]>gr>>>0?0:1:0){break a}fr=p[gr+o[eq>>2]|0];dr=gr+1|0;if(dr>>>0<1){er=er+1|0}o[eq+16>>2]=dr;o[eq+20>>2]=er;if(fr>>>0>31){break a}o[Ye+24>>2]=fr;Er=1}return Er|0}function Jf(Ye,Fr){Ye=Ye|0;Fr=Fr|0;var Gr=0,Hr=0,Ir=0,Jr=0,Kr=0,Lr=0,Mr=0,Nr=0,Or=0,Pr=0,Qr=0,Rr=0,Sr=0,Tr=0,Ur=v(0);Kr=R-16|0;R=Kr;Ir=o[Ye+24>>2];Jr=m[o[Ye+8>>2]+24|0];Lr=Jr<<2;Mr=Hk((Jr&1073741823)!=(Jr|0)?-1:Lr);Nr=Kr+8|0;o[Nr>>2]=1065353216;Ir=-1<>2]=s[Ye+32>>2]/v(Ir|0);Hr=1}b:{if(!Hr){break b}Gr=o[Ye+16>>2];Hr=0;c:{if(!o[Gr+80>>2]){break c}Hr=o[o[Gr>>2]>>2]+o[Gr+48>>2]|0}if(!Fr){Gr=1;break b}Ir=(Jr|0)<1;Rr=Ye+28|0;Sr=Ye+8|0;Ye=0;while(1){if(!Ir){Tr=o[Rr>>2];Ur=s[Nr>>2];Gr=0;while(1){Or=Gr<<2;s[Or+Mr>>2]=v(Ur*v(o[Hr+(Ye<<2)>>2]))+s[Tr+Or>>2];Ye=Ye+1|0;Gr=Gr+1|0;if((Jr|0)!=(Gr|0)){continue}break}}wl(o[o[o[Sr>>2]- -64>>2]>>2]+Pr|0,Mr,Lr);Pr=Lr+Pr|0;Gr=1;Qr=Qr+1|0;if((Qr|0)!=(Fr|0)){continue}break}}ul(Mr);R=Kr+16|0;return Gr|0}function Kf(Ye){Ye=Ye|0;var Fr=0,Vr=0;o[Ye>>2]=7664;Vr=Ye+28|0;Fr=o[Vr>>2];o[Vr>>2]=0;if(Fr){ul(Fr)}o[Ye>>2]=1908;Vr=Ye+20|0;Fr=o[Vr>>2];o[Vr>>2]=0;if(Fr){l[o[o[Fr>>2]+4>>2]](Fr)}o[Ye>>2]=1596;Vr=Ye+16|0;Fr=o[Vr>>2];o[Vr>>2]=0;if(Fr){Fb(Fr)}return Ye|0}function Lf(Ye){Ye=Ye|0;var Wr=0,Xr=0;o[Ye>>2]=7664;Xr=Ye+28|0;Wr=o[Xr>>2];o[Xr>>2]=0;if(Wr){ul(Wr)}o[Ye>>2]=1908;Xr=Ye+20|0;Wr=o[Xr>>2];o[Xr>>2]=0;if(Wr){l[o[o[Wr>>2]+4>>2]](Wr)}o[Ye>>2]=1596;Xr=Ye+16|0;Wr=o[Xr>>2];o[Xr>>2]=0;if(Wr){Fb(Wr)}ul(Ye)}function Mf(Ye){o[Ye>>2]=0;o[Ye+4>>2]=0;m[Ye+5|0]=0;m[Ye+6|0]=0;m[Ye+7|0]=0;m[Ye+8|0]=0;m[Ye+9|0]=0;m[Ye+10|0]=0;m[Ye+11|0]=0;m[Ye+12|0]=0;return Ye}function Nf(Ye,Yr){var Zr=0,_r=0,$r=0,as=0,bs=0,cs=0,ds=0,es=0,fs=0,gs=0,hs=0;bs=R-16|0;R=bs;as=o[Yr+16>>2];_r=o[Yr+12>>2];Zr=o[Yr+20>>2];a:{if((_r|0)<(Zr|0)?1:(_r|0)<=(Zr|0)?r[Yr+8>>2]>as>>>0?0:1:0){break a}m[Ye+12|0]=p[as+o[Yr>>2]|0];_r=o[Yr+20>>2];Zr=o[Yr+16>>2]+1|0;if(Zr>>>0<1){_r=_r+1|0}o[Yr+16>>2]=Zr;o[Yr+20>>2]=_r;if(!Of(1,bs+12|0,Yr)){break a}_r=o[Yr+8>>2];cs=o[Yr+16>>2];Zr=cs;$r=o[bs+12>>2];as=$r;ds=_r-Zr>>>0>=$r>>>0?0:1;Zr=_r>>>0>>0;_r=o[Yr+20>>2];Zr=o[Yr+12>>2]-(Zr+_r|0)|0;if(((Zr|0)<0?1:(Zr|0)<=0?ds:0)|($r|0)<1){break a}Zr=cs+o[Yr>>2]|0;o[Ye>>2]=Zr;es=$r+ -1|0;fs=es+Zr|0;gs=p[fs|0]>>>6;if((gs|0)==3){break a}ds=Ye;b:{c:{switch(gs-1|0){default:o[Ye+4>>2]=es;Ye=p[fs|0]&63;break b;case 0:if(($r|0)<2){break a}o[Ye+4>>2]=$r+ -2;Ye=(Zr+$r|0)+ -2|0;Ye=p[Ye+1|0]<<8&16128|p[Ye|0];break b;case 1:break c}}if(($r|0)<3){break a}o[Ye+4>>2]=$r+ -3;Ye=(Zr+$r|0)+ -3|0;Ye=p[Ye+1|0]<<8|p[Ye+2|0]<<16&4128768|p[Ye|0]}Ye=Ye+4096|0;o[ds+8>>2]=Ye;if(Ye>>>0>1048575){break a}Ye=_r;_r=as+cs|0;if(_r>>>0>>0){Ye=Ye+1|0}o[Yr+16>>2]=_r;o[Yr+20>>2]=Ye;hs=1}R=bs+16|0;return hs}function Of(Ye,Yr,is){var js=0,ks=0,ls=0,ms=0;a:{if(Ye>>>0>5){break a}ls=o[is+16>>2];js=o[is+12>>2];ks=o[is+20>>2];if((js|0)<(ks|0)?1:(js|0)<=(ks|0)?r[is+8>>2]>ls>>>0?0:1:0){break a}js=p[ls+o[is>>2]|0];ls=ls+1|0;if(ls>>>0<1){ks=ks+1|0}o[is+16>>2]=ls;o[is+20>>2]=ks;ks=Yr;if(js&128){if(!Of(Ye+1|0,Yr,is)){break a}Ye=o[Yr>>2]<<7;o[Yr>>2]=Ye;js=Ye|js&127}o[ks>>2]=js;ms=1}return ms}function Pf(Ye){var Yr=0,is=0,ns=0,os=0,ps=0;ns=0-p[Ye+12|0]|0;is=o[Ye+8>>2];a:{if(is>>>0>4095){break a}Yr=o[Ye+4>>2];if((Yr|0)<1){break a}Yr=Yr+ -1|0;o[Ye+4>>2]=Yr;is=p[Yr+o[Ye>>2]|0]|is<<8;o[Ye+8>>2]=is}ns=ns&255;Yr=u(ns,is>>>8);os=is&255;ps=os>>>0>>0;o[Ye+8>>2]=ps?Yr+os|0:(is-ns|0)-Yr|0;return ps}function Qf(Ye,qs){var rs=0,ss=0,ts=0;ts=R-32|0;R=ts;a:{if(qs>>>0<=1){if(qs-1){qs=Hk(48);ug(qs);o[qs>>2]=9816;o[Ye+8>>2]=0;o[Ye+12>>2]=0;o[Ye>>2]=0;o[Ye+4>>2]=0;o[Ye+16>>2]=qs;break a}qs=Hk(52);ug(qs);o[qs+48>>2]=0;o[qs>>2]=8064;o[Ye+8>>2]=0;o[Ye+12>>2]=0;o[Ye>>2]=0;o[Ye+4>>2]=0;o[Ye+16>>2]=qs;break a}qs=Hk(32);o[ts>>2]=qs;o[ts+4>>2]=28;o[ts+8>>2]=-2147483616;m[qs+28|0]=0;rs=p[7812]|p[7813]<<8|(p[7814]<<16|p[7815]<<24);m[qs+24|0]=rs;m[qs+25|0]=rs>>>8;m[qs+26|0]=rs>>>16;m[qs+27|0]=rs>>>24;rs=p[7808]|p[7809]<<8|(p[7810]<<16|p[7811]<<24);ss=p[7804]|p[7805]<<8|(p[7806]<<16|p[7807]<<24);m[qs+16|0]=ss;m[qs+17|0]=ss>>>8;m[qs+18|0]=ss>>>16;m[qs+19|0]=ss>>>24;m[qs+20|0]=rs;m[qs+21|0]=rs>>>8;m[qs+22|0]=rs>>>16;m[qs+23|0]=rs>>>24;rs=p[7800]|p[7801]<<8|(p[7802]<<16|p[7803]<<24);ss=p[7796]|p[7797]<<8|(p[7798]<<16|p[7799]<<24);m[qs+8|0]=ss;m[qs+9|0]=ss>>>8;m[qs+10|0]=ss>>>16;m[qs+11|0]=ss>>>24;m[qs+12|0]=rs;m[qs+13|0]=rs>>>8;m[qs+14|0]=rs>>>16;m[qs+15|0]=rs>>>24;rs=p[7792]|p[7793]<<8|(p[7794]<<16|p[7795]<<24);ss=p[7788]|p[7789]<<8|(p[7790]<<16|p[7791]<<24);m[qs|0]=ss;m[qs+1|0]=ss>>>8;m[qs+2|0]=ss>>>16;m[qs+3|0]=ss>>>24;m[qs+4|0]=rs;m[qs+5|0]=rs>>>8;m[qs+6|0]=rs>>>16;m[qs+7|0]=rs>>>24;o[ts+16>>2]=-1;qs=Mk(ts+16|4,ts);o[Ye>>2]=o[ts+16>>2];Mk(Ye+4|0,qs);o[Ye+16>>2]=0;if(m[qs+11|0]<=-1){ul(o[qs>>2])}if(m[ts+11|0]>-1){break a}ul(o[ts>>2])}R=ts+32|0}function Rf(Ye,qs){var us=0,vs=0,ws=0;us=R-80|0;R=us;vs=o[qs+36>>2];o[us+72>>2]=o[qs+32>>2];o[us+76>>2]=vs;ws=o[qs+28>>2];vs=us- -64|0;o[vs>>2]=o[qs+24>>2];o[vs+4>>2]=ws;vs=o[qs+20>>2];o[us+56>>2]=o[qs+16>>2];o[us+60>>2]=vs;vs=o[qs+12>>2];o[us+48>>2]=o[qs+8>>2];o[us+52>>2]=vs;vs=o[qs+4>>2];o[us+40>>2]=o[qs>>2];o[us+44>>2]=vs;ci(us+8|0,us+40|0,us+24|0);qs=o[us+8>>2];a:{if(qs){o[Ye>>2]=qs;Mk(Ye+4|0,us+8|4);if(m[us+23|0]>=0){break a}ul(o[us+12>>2]);break a}if(m[us+23|0]<=-1){ul(o[us+12>>2])}qs=p[us+31|0];o[Ye>>2]=0;o[Ye+4>>2]=0;o[Ye+16>>2]=qs;o[Ye+8>>2]=0;o[Ye+12>>2]=0}R=us+80|0}function Sf(Ye,qs,xs,ys){var zs=0,As=0,Bs=0;zs=R-80|0;R=zs;As=o[xs+36>>2];o[zs+72>>2]=o[xs+32>>2];o[zs+76>>2]=As;Bs=o[xs+28>>2];As=zs- -64|0;o[As>>2]=o[xs+24>>2];o[As+4>>2]=Bs;As=o[xs+20>>2];o[zs+56>>2]=o[xs+16>>2];o[zs+60>>2]=As;As=o[xs+12>>2];o[zs+48>>2]=o[xs+8>>2];o[zs+52>>2]=As;As=o[xs+4>>2];o[zs+40>>2]=o[xs>>2];o[zs+44>>2]=As;ci(Ye,zs+40|0,zs+24|0);a:{if(o[Ye>>2]){break a}As=Ye+4|0;if(m[Ye+15|0]<=-1){ul(o[As>>2])}if(p[zs+31|0]!=1){o[zs+8>>2]=0;o[zs>>2]=0;o[zs+4>>2]=0;qs=Hk(32);o[zs>>2]=qs;o[zs+4>>2]=20;o[zs+8>>2]=-2147483616;m[qs+20|0]=0;xs=p[7860]|p[7861]<<8|(p[7862]<<16|p[7863]<<24);m[qs+16|0]=xs;m[qs+17|0]=xs>>>8;m[qs+18|0]=xs>>>16;m[qs+19|0]=xs>>>24;xs=p[7856]|p[7857]<<8|(p[7858]<<16|p[7859]<<24);ys=p[7852]|p[7853]<<8|(p[7854]<<16|p[7855]<<24);m[qs+8|0]=ys;m[qs+9|0]=ys>>>8;m[qs+10|0]=ys>>>16;m[qs+11|0]=ys>>>24;m[qs+12|0]=xs;m[qs+13|0]=xs>>>8;m[qs+14|0]=xs>>>16;m[qs+15|0]=xs>>>24;xs=p[7848]|p[7849]<<8|(p[7850]<<16|p[7851]<<24);ys=p[7844]|p[7845]<<8|(p[7846]<<16|p[7847]<<24);m[qs|0]=ys;m[qs+1|0]=ys>>>8;m[qs+2|0]=ys>>>16;m[qs+3|0]=ys>>>24;m[qs+4|0]=xs;m[qs+5|0]=xs>>>8;m[qs+6|0]=xs>>>16;m[qs+7|0]=xs>>>24;o[Ye>>2]=-1;Mk(As,zs);if(m[zs+11|0]>-1){break a}ul(o[zs>>2]);break a}Qf(zs,p[zs+32|0]);Bs=o[zs>>2];b:{if(Bs){o[Ye>>2]=Bs;Mk(As,zs|4);break b}Bs=o[zs+16>>2];o[zs+16>>2]=0;o[Bs+44>>2]=ys;fi(Ye,Bs,qs,xs,ys);if(!o[Ye>>2]){if(m[As+11|0]<=-1){ul(o[As>>2])}o[Ye>>2]=0;o[Ye+4>>2]=0;o[Ye+8>>2]=0;o[Ye+12>>2]=0}if(!Bs){break b}l[o[o[Bs>>2]+4>>2]](Bs)}Ye=o[zs+16>>2];o[zs+16>>2]=0;if(Ye){l[o[o[Ye>>2]+4>>2]](Ye)}if(m[zs+15|0]>-1){break a}ul(o[zs+4>>2])}R=zs+80|0}function Tf(Ye){var qs=0,xs=0,ys=0,Cs=0;Cs=R-16|0;R=Cs;qs=Hk(32);o[Cs>>2]=qs;o[Cs+4>>2]=26;o[Cs+8>>2]=-2147483616;m[qs+26|0]=0;xs=p[7841]|p[7842]<<8;m[qs+24|0]=xs;m[qs+25|0]=xs>>>8;ys=p[7837]|p[7838]<<8|(p[7839]<<16|p[7840]<<24);xs=p[7833]|p[7834]<<8|(p[7835]<<16|p[7836]<<24);m[qs+16|0]=xs;m[qs+17|0]=xs>>>8;m[qs+18|0]=xs>>>16;m[qs+19|0]=xs>>>24;m[qs+20|0]=ys;m[qs+21|0]=ys>>>8;m[qs+22|0]=ys>>>16;m[qs+23|0]=ys>>>24;ys=p[7829]|p[7830]<<8|(p[7831]<<16|p[7832]<<24);xs=p[7825]|p[7826]<<8|(p[7827]<<16|p[7828]<<24);m[qs+8|0]=xs;m[qs+9|0]=xs>>>8;m[qs+10|0]=xs>>>16;m[qs+11|0]=xs>>>24;m[qs+12|0]=ys;m[qs+13|0]=ys>>>8;m[qs+14|0]=ys>>>16;m[qs+15|0]=ys>>>24;ys=p[7821]|p[7822]<<8|(p[7823]<<16|p[7824]<<24);xs=p[7817]|p[7818]<<8|(p[7819]<<16|p[7820]<<24);m[qs|0]=xs;m[qs+1|0]=xs>>>8;m[qs+2|0]=xs>>>16;m[qs+3|0]=xs>>>24;m[qs+4|0]=ys;m[qs+5|0]=ys>>>8;m[qs+6|0]=ys>>>16;m[qs+7|0]=ys>>>24;o[Ye>>2]=-1;Mk(Ye+4|0,Cs);if(m[Cs+11|0]<=-1){ul(o[Cs>>2])}R=Cs+16|0}function Uf(Ye,Ds){var Es=0,Fs=0,Gs=0;Gs=R-16|0;R=Gs;o[Gs+12>>2]=Ds;Ds=Hk(32);o[Gs>>2]=Ds;o[Gs+4>>2]=24;o[Gs+8>>2]=-2147483616;m[Ds+24|0]=0;Es=p[7885]|p[7886]<<8|(p[7887]<<16|p[7888]<<24);Fs=p[7881]|p[7882]<<8|(p[7883]<<16|p[7884]<<24);m[Ds+16|0]=Fs;m[Ds+17|0]=Fs>>>8;m[Ds+18|0]=Fs>>>16;m[Ds+19|0]=Fs>>>24;m[Ds+20|0]=Es;m[Ds+21|0]=Es>>>8;m[Ds+22|0]=Es>>>16;m[Ds+23|0]=Es>>>24;Es=p[7877]|p[7878]<<8|(p[7879]<<16|p[7880]<<24);Fs=p[7873]|p[7874]<<8|(p[7875]<<16|p[7876]<<24);m[Ds+8|0]=Fs;m[Ds+9|0]=Fs>>>8;m[Ds+10|0]=Fs>>>16;m[Ds+11|0]=Fs>>>24;m[Ds+12|0]=Es;m[Ds+13|0]=Es>>>8;m[Ds+14|0]=Es>>>16;m[Ds+15|0]=Es>>>24;Es=p[7869]|p[7870]<<8|(p[7871]<<16|p[7872]<<24);Fs=p[7865]|p[7866]<<8|(p[7867]<<16|p[7868]<<24);m[Ds|0]=Fs;m[Ds+1|0]=Fs>>>8;m[Ds+2|0]=Fs>>>16;m[Ds+3|0]=Fs>>>24;m[Ds+4|0]=Es;m[Ds+5|0]=Es>>>8;m[Ds+6|0]=Es>>>16;m[Ds+7|0]=Es>>>24;wi(Vf(Ye,Gs+12|0),Gs);if(m[Gs+11|0]<=-1){ul(o[Gs>>2])}R=Gs+16|0}function Vf(Ye,Ds){var Hs=0,Is=0,Js=0,Ks=0,Ls=0,Ms=0,Ns=0,Os=0;Js=R-32|0;R=Js;Ks=Ye+16|0;Is=o[Ks>>2];a:{b:{if(!Is){break b}Ms=o[Ds>>2];Hs=Ks;while(1){Ls=o[Is+16>>2]<(Ms|0);Hs=Ls?Hs:Is;Is=o[(Ls<<2)+Is>>2];if(Is){continue}break}if((Hs|0)==(Ks|0)){break b}if((Ms|0)>=o[Hs+16>>2]){break a}}Ms=ui(Js+16|0);Ds=o[Ds>>2];Ls=Js+8|0;o[Ls>>2]=0;o[Ls+4>>2]=0;o[Js>>2]=Ds;o[Js+4>>2]=Ls;Hs=o[Ms>>2];Ns=Ms+4|0;if((Hs|0)!=(Ns|0)){Os=Js|4;while(1){Ds=Hs;Is=Hs+16|0;Wf(Os,Ls,Is,Is);Is=o[Hs+4>>2];c:{if(!Is){Hs=o[Ds+8>>2];if((Ds|0)==o[Hs>>2]){break c}Ds=Ds+8|0;while(1){Is=o[Ds>>2];Ds=Is+8|0;Hs=o[Is+8>>2];if((Is|0)!=o[Hs>>2]){continue}break}break c}while(1){Hs=Is;Is=o[Hs>>2];if(Is){continue}break}}if((Hs|0)!=(Ns|0)){continue}break}}Ds=Ye+16|0;Is=o[Ds>>2];d:{if(Is){Ks=o[Js>>2];while(1){Hs=o[Is+16>>2];e:{if((Ks|0)<(Hs|0)){Hs=o[Is>>2];if(Hs){break e}Ds=Is;break d}if((Hs|0)>=(Ks|0)){break d}Ds=Is+4|0;Hs=o[Is+4>>2];if(!Hs){break d}Is=Ds}Ds=Is;Is=Hs;continue}}Is=Ks;Ds=Is}Hs=o[Ds>>2];if(!Hs){Hs=Hk(32);o[Hs+16>>2]=o[Js>>2];o[Hs+20>>2]=o[Js+4>>2];Ks=Hs+24|0;Ns=o[Js+8>>2];o[Ks>>2]=Ns;Os=o[Js+12>>2];o[Hs+28>>2]=Os;f:{if(!Os){o[Hs+20>>2]=Ks;break f}o[Ns+8>>2]=Ks;o[Js+8>>2]=0;o[Js+12>>2]=0;o[Js+4>>2]=Ls}o[Hs+8>>2]=Is;o[Hs>>2]=0;o[Hs+4>>2]=0;o[Ds>>2]=Hs;Ks=o[o[Ye+12>>2]>>2];Is=Hs;g:{if(!Ks){break g}o[Ye+12>>2]=Ks;Is=o[Ds>>2]}Xf(o[Ye+16>>2],Is);Ye=Ye+20|0;o[Ye>>2]=o[Ye>>2]+1}Ac(Js|4,o[Js+8>>2]);Ac(Ms,o[Ms+4>>2])}R=Js+32|0;return Hs+20|0}function Wf(Ye,Ds,Ps,Qs){var Rs=0;Rs=R-16|0;R=Rs;Ps=Yf(Ye,Ds,Rs+12|0,Rs+8|0,Ps);if(!o[Ps>>2]){Ds=Hk(40);Mk(Ds+16|0,Qs);Mk(Ds+28|0,Qs+12|0);o[Ds+8>>2]=o[Rs+12>>2];o[Ds>>2]=0;o[Ds+4>>2]=0;o[Ps>>2]=Ds;Qs=Ds;Ds=o[o[Ye>>2]>>2];if(Ds){o[Ye>>2]=Ds;Qs=o[Ps>>2]}Xf(o[Ye+4>>2],Qs);Ye=Ye+8|0;o[Ye>>2]=o[Ye>>2]+1}R=Rs+16|0}function Xf(Ye,Ds){var Ps=0,Qs=0,Ss=0;Ps=(Ye|0)==(Ds|0);m[Ds+12|0]=Ps;a:{if(Ps){break a}while(1){Qs=o[Ds+8>>2];if(p[Qs+12|0]){break a}b:{Ps=o[Qs+8>>2];Ss=o[Ps>>2];if((Ss|0)==(Qs|0)){Ss=o[Ps+4>>2];if(!(!Ss|p[Ss+12|0])){break b}c:{if(o[Qs>>2]==(Ds|0)){Ds=Qs;break c}Ds=o[Qs+4>>2];Ss=o[Ds>>2];o[Qs+4>>2]=Ss;Ye=Ds;if(Ss){o[Ss+8>>2]=Qs;Ps=o[Qs+8>>2]}o[Ye+8>>2]=Ps;Ye=o[Qs+8>>2];o[((Qs|0)==o[Ye>>2]?Ye:Ye+4|0)>>2]=Ds;o[Ds>>2]=Qs;o[Qs+8>>2]=Ds;Ps=o[Ds+8>>2]}m[Ds+12|0]=1;m[Ps+12|0]=0;Ye=o[Ps>>2];Ds=o[Ye+4>>2];o[Ps>>2]=Ds;if(Ds){o[Ds+8>>2]=Ps}o[Ye+8>>2]=o[Ps+8>>2];Ds=o[Ps+8>>2];o[(o[Ds>>2]==(Ps|0)?Ds:Ds+4|0)>>2]=Ye;o[Ye+4>>2]=Ps;o[Ps+8>>2]=Ye;return}if(!(p[Ss+12|0]|!Ss)){break b}d:{if(o[Qs>>2]!=(Ds|0)){Ds=Qs;break d}Ss=o[Ds+4>>2];o[Qs>>2]=Ss;Ye=Ds;if(Ss){o[Ss+8>>2]=Qs;Ps=o[Qs+8>>2]}o[Ye+8>>2]=Ps;Ye=o[Qs+8>>2];o[((Qs|0)==o[Ye>>2]?Ye:Ye+4|0)>>2]=Ds;o[Ds+4>>2]=Qs;o[Qs+8>>2]=Ds;Ps=o[Ds+8>>2]}m[Ds+12|0]=1;m[Ps+12|0]=0;Ye=o[Ps+4>>2];Ds=o[Ye>>2];o[Ps+4>>2]=Ds;if(Ds){o[Ds+8>>2]=Ps}o[Ye+8>>2]=o[Ps+8>>2];Ds=o[Ps+8>>2];o[(o[Ds>>2]==(Ps|0)?Ds:Ds+4|0)>>2]=Ye;o[Ye>>2]=Ps;o[Ps+8>>2]=Ye;break a}Ds=Ss+12|0;m[Qs+12|0]=1;m[Ps+12|0]=(Ye|0)==(Ps|0);m[Ds|0]=1;Ds=Ps;if((Ds|0)!=(Ye|0)){continue}break}}}function Yf(Ye,Ds,Ts,Us,Vs){var Ws=0,Xs=0,Ys=0,Zs=0,_s=0,$s=0,at=0,bt=0,ct=0,dt=0,et=0;a:{b:{c:{d:{e:{ct=Ye+4|0;f:{if((ct|0)==(Ds|0)){break f}Ws=Ds+16|0;Ys=p[Ds+27|0];dt=Ys<<24>>24;Xs=(dt|0)<0;Zs=p[Vs+11|0];_s=Zs<<24>>24;$s=(_s|0)<0;at=Xs?o[Ds+20>>2]:Ys;Zs=$s?o[Vs+4>>2]:Zs;bt=at>>>0>>0;g:{Ys=bt?at:Zs;if(Ys){$s=$s?o[Vs>>2]:Vs;Xs=Xs?o[Ws>>2]:Ws;et=Zj($s,Xs,Ys);if(et){break g}}if(Zs>>>0>>0){break f}if(!Ys){break d}$s=(_s|0)<0?o[Vs>>2]:Vs;Xs=(dt|0)<0?o[Ws>>2]:Ws;break e}if((et|0)>-1){break e}}Ys=o[Ds>>2];h:{i:{if(o[Ye>>2]==(Ds|0)){Ws=Ds;break i}j:{if(!Ys){Us=Ds;while(1){Ws=o[Us+8>>2];Zs=o[Ws>>2]==(Us|0);Us=Ws;if(Zs){continue}break}break j}Us=Ys;while(1){Ws=Us;Us=o[Ws+4>>2];if(Us){continue}break}}Xs=p[Vs+11|0];Us=Xs<<24>>24<0;_s=p[Ws+27|0];Zs=_s<<24>>24<0;k:{Xs=Us?o[Vs+4>>2]:Xs;_s=Zs?o[Ws+20>>2]:_s;$s=Xs>>>0<_s>>>0?Xs:_s;if($s){at=Ws+16|0;Us=Zj(Zs?o[at>>2]:at,Us?o[Vs>>2]:Vs,$s);if(Us){break k}}if(_s>>>0>>0){break i}break h}if((Us|0)>-1){break h}}if(!Ys){o[Ts>>2]=Ds;return Ds}o[Ts>>2]=Ws;return Ws+4|0}return Zf(Ye,Ts,Vs)}Ws=Zj(Xs,$s,Ys);if(Ws){break c}}if(bt){break b}break a}if((Ws|0)>-1){break a}}$s=Ds+4|0;Ys=o[$s>>2];l:{if(Ys){Ws=Ys;while(1){Us=Ws;Ws=o[Ws>>2];if(Ws){continue}break}break l}Us=o[Ds+8>>2];if(o[Us>>2]==(Ds|0)){break l}Ws=Ds+8|0;while(1){Xs=o[Ws>>2];Ws=Xs+8|0;Us=o[Xs+8>>2];if((Xs|0)!=o[Us>>2]){continue}break}}m:{n:{if((Us|0)==(ct|0)){break n}Xs=p[Us+27|0];Ws=Xs<<24>>24<0;o:{Xs=Ws?o[Us+20>>2]:Xs;at=Xs>>>0>>0?Xs:Zs;if(at){bt=(_s|0)<0?o[Vs>>2]:Vs;_s=Us+16|0;Ws=Zj(bt,Ws?o[_s>>2]:_s,at);if(Ws){break o}}if(Zs>>>0>>0){break n}break m}if((Ws|0)>-1){break m}}if(!Ys){o[Ts>>2]=Ds;return $s}o[Ts>>2]=Us;return Us}return Zf(Ye,Ts,Vs)}o[Ts>>2]=Ds;o[Us>>2]=Ds;return Us}function Zf(Ye,Ds,Ts){var Us=0,Vs=0,ft=0,gt=0,ht=0,it=0,jt=0,kt=0,lt=0;a:{Us=Ye+4|0;Ye=o[Us>>2];if(Ye){ft=p[Ts+11|0];gt=ft<<24>>24<0;ft=gt?o[Ts+4>>2]:ft;jt=gt?o[Ts>>2]:Ts;while(1){Ts=Ye+16|0;Vs=p[Ye+27|0];gt=Vs<<24>>24<0;ht=gt?o[Ye+20>>2]:Vs;kt=ht>>>0>>0;b:{c:{d:{e:{f:{g:{h:{Vs=kt?ht:ft;if(Vs){it=gt?o[Ts>>2]:Ts;lt=Zj(jt,it,Vs);if(lt){break h}}if(ft>>>0>>0){break g}if(!Vs){break e}it=gt?o[Ts>>2]:Ts;break f}if((lt|0)>-1){break f}}Ts=o[Ye>>2];if(Ts){break b}o[Ds>>2]=Ye;return Ye}Ts=Zj(it,jt,Vs);if(Ts){break d}}if(kt){break c}break a}if((Ts|0)>-1){break a}}Us=Ye+4|0;Ts=o[Ye+4>>2];if(!Ts){break a}Ye=Us}Us=Ye;Ye=Ts;continue}}o[Ds>>2]=Us;return Us}o[Ds>>2]=Ye;return Us}function _f(Ye,Ds,Ts,mt){var nt=0,ot=0,pt=0,qt=0,rt=0;if(!Ye){return 1}nt=o[Ts+16>>2];qt=o[Ts+12>>2];pt=o[Ts+20>>2];ot=pt;a:{if((qt|0)<(ot|0)?1:(qt|0)<=(ot|0)?r[Ts+8>>2]>nt>>>0?0:1:0){break a}ot=p[nt+o[Ts>>2]|0];nt=nt+1|0;if(nt>>>0<1){pt=pt+1|0}o[Ts+16>>2]=nt;o[Ts+20>>2]=pt;if(ot>>>0>1){break a}if(ot-1){return $f(Ye,Ds,Ts,mt)}rt=ag(Ye,Ts,mt)}return rt}function $f(Ye,Ds,Ts,mt){var st=0,tt=0,ut=0,vt=0,wt=0,xt=0,yt=0,zt=0,At=0,Bt=0,Ct=0,Dt=0,Et=0,Ft=0,Gt=0,Ht=0;st=R+ -64|0;R=st;o[st+56>>2]=0;o[st+48>>2]=0;o[st+52>>2]=0;o[st+40>>2]=0;o[st+44>>2]=0;o[st+32>>2]=0;o[st+36>>2]=0;o[st+24>>2]=0;o[st+28>>2]=0;o[st+16>>2]=0;o[st+20>>2]=0;o[st+8>>2]=0;o[st+12>>2]=0;a:{if(!bg(st+8|0,Ts)){break a}if(!cg(st+8|0,Ts)|(o[st+20>>2]?0:Ye)){break a}qi(Ts,0,0);if(Ye){vt=o[st+56>>2];Dt=o[st+36>>2];Et=o[st+48>>2];Ft=o[st+24>>2];while(1){b:{if(vt>>>0>16383){break b}tt=o[st+52>>2];while(1){if((tt|0)<1){break b}tt=tt+ -1|0;o[st+52>>2]=tt;vt=p[tt+Et|0]|vt<<8;o[st+56>>2]=vt;if(vt>>>0<16384){continue}break}}ut=vt&4095;Bt=o[(ut<<2)+Ft>>2];wt=(Bt<<3)+Dt|0;vt=(u(o[wt>>2],vt>>>12)+ut|0)-o[wt+4>>2]|0;o[st+56>>2]=vt;if((Ds|0)>=1){if(!p[Ts+36|0]){ut=0;break a}wt=Ds+xt|0;while(1){c:{if((Bt|0)<1){zt=0;break c}ut=o[Ts+32>>2];Gt=o[Ts+28>>2];Ht=o[Ts+24>>2];tt=0;zt=0;while(1){yt=(ut>>>3)+Ht|0;d:{if(yt>>>0>=Gt>>>0){At=0;break d}At=p[yt|0];yt=ut+1|0;o[Ts+32>>2]=yt;At=At>>>(ut&7)&1;ut=yt}zt=At<>2]=zt;xt=xt+1|0;if((wt|0)!=(xt|0)){continue}break}xt=wt}Ct=Ds+Ct|0;if(Ct>>>0>>0){continue}break}}si(Ts);ut=1}Ye=o[st+36>>2];if(Ye){o[st+40>>2]=Ye;ul(Ye)}Ye=o[st+24>>2];if(Ye){o[st+28>>2]=Ye;ul(Ye)}Ye=o[st+8>>2];if(Ye){o[st+12>>2]=Ye;ul(Ye)}R=st- -64|0;return ut}function ag(Ye,Ds,Ts){var mt=0,It=0,Jt=0,Kt=0;a:{b:{It=o[Ds+16>>2];Jt=o[Ds+12>>2];mt=o[Ds+20>>2];c:{if((Jt|0)<(mt|0)?1:(Jt|0)<=(mt|0)?r[Ds+8>>2]>It>>>0?0:1:0){break c}Jt=p[It+o[Ds>>2]|0];It=It+1|0;if(It>>>0<1){mt=mt+1|0}o[Ds+16>>2]=It;o[Ds+20>>2]=mt;mt=Jt+ -1|0;if(mt>>>0>17){break c}d:{e:{f:{g:{h:{i:{j:{switch(mt-1|0){case 12:case 13:case 14:case 15:break a;case 8:break h;case 7:break i;case 3:break j;case 16:break d;case 11:break e;case 10:break f;case 9:break g;default:break b}}return eg(Ye,Ds,Ts)}return fg(Ye,Ds,Ts)}return gg(Ye,Ds,Ts)}return hg(Ye,Ds,Ts)}return ig(Ye,Ds,Ts)}return jg(Ye,Ds,Ts)}Kt=kg(Ye,Ds,Ts)}return Kt}return dg(Ye,Ds,Ts)}return kg(Ye,Ds,Ts)}function bg(Ye,Ds){var Ts=0,Lt=0,Mt=0,Nt=0,Ot=0,Pt=0,Qt=0,Rt=0,St=0,Tt=0,Ut=0,Vt=0,Wt=0;a:{if(!q[Ds+38>>1]){break a}Tt=Ye+12|0;if(!lg(1,Tt,Ds)){break a}Nt=o[Ye+12>>2];Ts=o[Ye>>2];Lt=o[Ye+4>>2]-Ts>>2;b:{if(Nt>>>0>Lt>>>0){Da(Ye,Nt-Lt|0);Nt=o[Ye+12>>2];break b}if(Nt>>>0>=Lt>>>0){break b}o[Ye+4>>2]=Ts+(Nt<<2)}if(!Nt){Wt=1;break a}Ut=o[Ds+8>>2];Qt=o[Ds+12>>2];while(1){Mt=o[Ds+16>>2];Lt=o[Ds+20>>2];Ts=Lt;if((Qt|0)<(Ts|0)?1:(Qt|0)<=(Ts|0)?Ut>>>0>Mt>>>0?0:1:0){break a}Vt=o[Ds>>2];Rt=p[Vt+Mt|0];Mt=Mt+1|0;if(Mt>>>0<1){Lt=Lt+1|0}Ts=Ds;Pt=Mt;o[Ts+16>>2]=Mt;o[Ts+20>>2]=Lt;Mt=Rt>>>2;c:{d:{e:{St=Rt&3;if(St>>>0>3){Ts=0;break e}Ts=0;f:{switch(St-1|0){case 2:break f;case 0:case 1:break e;default:break d}}Lt=Mt+Ot|0;if(Lt>>>0>=Nt>>>0){return 0}xl(o[Ye>>2]+(Ot<<2)|0,0,(Rt&252)+4|0);Ot=Lt;break c}while(1){if((Qt|0)<(Lt|0)?1:(Qt|0)<=(Lt|0)?Ut>>>0>Pt>>>0?0:1:0){return 0}Rt=p[Pt+Vt|0];Pt=Pt+1|0;if(Pt>>>0<1){Lt=Lt+1|0}Nt=Ds;o[Nt+16>>2]=Pt;o[Nt+20>>2]=Lt;Mt=Rt<<(Ts<<3|6)|Mt;Ts=Ts+1|0;if((St|0)!=(Ts|0)){continue}break}}o[o[Ye>>2]+(Ot<<2)>>2]=Mt}Ot=Ot+1|0;Nt=o[Tt>>2];if(Ot>>>0>>0){continue}break}Lt=Ye+16|0;Qt=o[Ye>>2];Ds=o[Ye+16>>2];Ts=o[Ye+20>>2]-Ds|0;Ot=Ts>>2;g:{if(Ot>>>0<=4095){Da(Lt,4096-Ot|0);break g}if((Ts|0)==16384){break g}o[Ye+20>>2]=Ds+16384}h:{Ts=Ye+28|0;Ds=o[Ts>>2];Ot=o[Ye+32>>2]-Ds>>3;if(Nt>>>0>Ot>>>0){mg(Ts,Nt-Ot|0);Ds=o[Ts>>2];break h}if(Nt>>>0>>0){o[Ye+32>>2]=(Nt<<3)+Ds}if(Nt){break h}return 0}Mt=0;Ts=0;while(1){Ye=Qt+(Mt<<2)|0;Ot=o[Ye>>2];Pt=(Mt<<3)+Ds|0;o[Pt+4>>2]=Ts;o[Pt>>2]=Ot;Ye=o[Ye>>2]+Ts|0;if(Ye>>>0>4096){break a}if(Ts>>>0>>0){Ot=o[Lt>>2];while(1){o[Ot+(Ts<<2)>>2]=Mt;Ts=Ts+1|0;if((Ye|0)!=(Ts|0)){continue}break}}Ts=Ye;Mt=Mt+1|0;if((Nt|0)!=(Mt|0)){continue}break}return(Ye|0)==4096}return Wt}function cg(Ye,Ds){var Xt=0,Yt=0,Zt=0,_t=0,$t=0,au=0,bu=0,cu=0;$t=R-16|0;R=$t;a:{if(!ng(1,$t+8|0,Ds)){break a}Xt=o[Ds+8>>2];Yt=o[Ds+16>>2];au=Xt-Yt|0;Zt=o[$t+12>>2];bu=o[Ds+20>>2];_t=o[Ds+12>>2]-(bu+(Xt>>>0>>0)|0)|0;Xt=o[$t+8>>2];if((Zt|0)==(_t|0)&Xt>>>0>au>>>0|Zt>>>0>_t>>>0){break a}Zt=Zt+bu|0;_t=Xt+Yt|0;if(_t>>>0>>0){Zt=Zt+1|0}o[Ds+16>>2]=_t;o[Ds+20>>2]=Zt;if((Xt|0)<1){break a}Yt=Yt+o[Ds>>2]|0;o[Ye+40>>2]=Yt;Ds=Ye;b:{c:{d:{e:{f:{_t=Xt+ -1|0;au=Yt+_t|0;switch((p[au|0]>>>6)-1|0){case 2:break c;case 1:break d;case 0:break e;default:break f}}o[Ye+44>>2]=_t;Ye=p[au|0]&63;break b}if((Xt|0)<2){break a}o[Ye+44>>2]=Xt+ -2;Ye=(Xt+Yt|0)+ -2|0;Ye=p[Ye+1|0]<<8&16128|p[Ye|0];break b}if((Xt|0)<3){break a}o[Ye+44>>2]=Xt+ -3;Ye=(Xt+Yt|0)+ -3|0;Ye=p[Ye+1|0]<<8|p[Ye+2|0]<<16&4128768|p[Ye|0];break b}o[Ye+44>>2]=Xt+ -4;Ye=(Xt+Yt|0)+ -4|0;Ye=p[Ye+2|0]<<16|p[Ye+3|0]<<24&1056964608|p[Ye+1|0]<<8|p[Ye|0]}Ye=Ye+16384|0;o[Ds+48>>2]=Ye;cu=Ye>>>0<4194304}R=$t+16|0;return cu}function dg(Ye,Ds,du){var eu=0,fu=0,gu=0,hu=0,iu=0,ju=0,ku=0,lu=0,mu=0,nu=0;eu=R+ -64|0;R=eu;o[eu+48>>2]=0;o[eu+40>>2]=0;o[eu+44>>2]=0;o[eu+32>>2]=0;o[eu+36>>2]=0;o[eu+24>>2]=0;o[eu+28>>2]=0;o[eu+16>>2]=0;o[eu+20>>2]=0;o[eu+8>>2]=0;o[eu+12>>2]=0;o[eu>>2]=0;o[eu+4>>2]=0;a:{if(!bg(eu,Ds)|(o[eu+12>>2]?0:Ye)){break a}if(!ng(1,eu+56|0,Ds)){break a}gu=o[Ds+8>>2];mu=o[Ds+16>>2];hu=mu;ku=gu-hu|0;ju=o[eu+60>>2];fu=ju;lu=o[Ds+20>>2];hu=o[Ds+12>>2]-(lu+(gu>>>0>>0)|0)|0;gu=o[eu+56>>2];if((fu|0)==(hu|0)&gu>>>0>ku>>>0|fu>>>0>hu>>>0){break a}ju=ju+lu|0;hu=mu;lu=hu+gu|0;if(lu>>>0>>0){ju=ju+1|0}o[Ds+16>>2]=lu;o[Ds+20>>2]=ju;if((gu|0)<1){break a}ku=mu+o[Ds>>2]|0;o[eu+40>>2]=ku;hu=eu;b:{c:{d:{e:{f:{Ds=gu+ -1|0;fu=ku+Ds|0;switch((p[fu|0]>>>6)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break c}}if((gu|0)<2){break a}Ds=gu+ -2|0;o[eu+44>>2]=Ds;fu=(gu+ku|0)+ -2|0;fu=p[fu+1|0]<<8&16128|p[fu|0];break b}if((gu|0)<3){break a}Ds=gu+ -3|0;o[eu+44>>2]=Ds;fu=(gu+ku|0)+ -3|0;fu=p[fu+1|0]<<8|p[fu+2|0]<<16&4128768|p[fu|0];break b}Ds=gu+ -4|0;o[eu+44>>2]=Ds;fu=(gu+ku|0)+ -4|0;fu=p[fu+2|0]<<16|p[fu+3|0]<<24&1056964608|p[fu+1|0]<<8|p[fu|0];break b}o[eu+44>>2]=Ds;fu=p[fu|0]&63}iu=fu+16384|0;o[hu+48>>2]=iu;nu=iu>>>0<4194304;if(!Ye|iu>>>0>4194303){break a}lu=o[eu+28>>2];ju=0;mu=o[eu+16>>2];while(1){g:{if(iu>>>0>16383){break g}while(1){if((Ds|0)<1){break g}Ds=Ds+ -1|0;o[eu+44>>2]=Ds;iu=p[Ds+ku|0]|iu<<8;o[eu+48>>2]=iu;if(iu>>>0<16384){continue}break}}gu=iu&4095;fu=o[(gu<<2)+mu>>2];hu=(fu<<3)+lu|0;iu=(u(o[hu>>2],iu>>>12)+gu|0)-o[hu+4>>2]|0;o[eu+48>>2]=iu;o[(ju<<2)+du>>2]=fu;nu=1;ju=ju+1|0;if((ju|0)!=(Ye|0)){continue}break}}Ye=o[eu+28>>2];if(Ye){o[eu+32>>2]=Ye;ul(Ye)}Ye=o[eu+16>>2];if(Ye){o[eu+20>>2]=Ye;ul(Ye)}Ye=o[eu>>2];if(Ye){o[eu+4>>2]=Ye;ul(Ye)}R=eu- -64|0;return nu}function eg(Ye,Ds,du){var ou=0,pu=0,qu=0,ru=0,su=0,tu=0,uu=0,vu=0;ou=R+ -64|0;R=ou;o[ou+56>>2]=0;o[ou+48>>2]=0;o[ou+52>>2]=0;o[ou+40>>2]=0;o[ou+44>>2]=0;o[ou+32>>2]=0;o[ou+36>>2]=0;o[ou+24>>2]=0;o[ou+28>>2]=0;o[ou+16>>2]=0;o[ou+20>>2]=0;o[ou+8>>2]=0;o[ou+12>>2]=0;a:{if(!bg(ou+8|0,Ds)|(o[ou+20>>2]?0:Ye)){break a}pu=cg(ou+8|0,Ds);if(!Ye|!pu){break a}Ds=o[ou+56>>2];tu=o[ou+36>>2];uu=o[ou+48>>2];vu=o[ou+24>>2];while(1){b:{if(Ds>>>0>16383){break b}pu=o[ou+52>>2];while(1){if((pu|0)<1){break b}pu=pu+ -1|0;o[ou+52>>2]=pu;Ds=p[pu+uu|0]|Ds<<8;o[ou+56>>2]=Ds;if(Ds>>>0<16384){continue}break}}pu=Ds&4095;ru=o[(pu<<2)+vu>>2];su=(ru<<3)+tu|0;Ds=(u(o[su>>2],Ds>>>12)+pu|0)-o[su+4>>2]|0;o[ou+56>>2]=Ds;o[(qu<<2)+du>>2]=ru;pu=1;qu=qu+1|0;if((qu|0)!=(Ye|0)){continue}break}}Ye=o[ou+36>>2];if(Ye){o[ou+40>>2]=Ye;ul(Ye)}Ye=o[ou+24>>2];if(Ye){o[ou+28>>2]=Ye;ul(Ye)}Ye=o[ou+8>>2];if(Ye){o[ou+12>>2]=Ye;ul(Ye)}R=ou- -64|0;return pu}function fg(Ye,Ds,du){var wu=0,xu=0,yu=0,zu=0,Au=0,Bu=0,Cu=0,Du=0,Eu=0,Fu=0;wu=R+ -64|0;R=wu;o[wu+48>>2]=0;o[wu+40>>2]=0;o[wu+44>>2]=0;o[wu+32>>2]=0;o[wu+36>>2]=0;o[wu+24>>2]=0;o[wu+28>>2]=0;o[wu+16>>2]=0;o[wu+20>>2]=0;o[wu+8>>2]=0;o[wu+12>>2]=0;o[wu>>2]=0;o[wu+4>>2]=0;a:{if(!og(wu,Ds)|(o[wu+12>>2]?0:Ye)){break a}if(!ng(1,wu+56|0,Ds)){break a}yu=o[Ds+8>>2];Eu=o[Ds+16>>2];zu=Eu;Cu=yu-zu|0;Bu=o[wu+60>>2];xu=Bu;Du=o[Ds+20>>2];zu=o[Ds+12>>2]-(Du+(yu>>>0>>0)|0)|0;yu=o[wu+56>>2];if((xu|0)==(zu|0)&yu>>>0>Cu>>>0|xu>>>0>zu>>>0){break a}Bu=Bu+Du|0;zu=Eu;Du=zu+yu|0;if(Du>>>0>>0){Bu=Bu+1|0}o[Ds+16>>2]=Du;o[Ds+20>>2]=Bu;if((yu|0)<1){break a}Cu=Eu+o[Ds>>2]|0;o[wu+40>>2]=Cu;zu=wu;b:{c:{d:{e:{f:{Ds=yu+ -1|0;xu=Cu+Ds|0;switch((p[xu|0]>>>6)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break c}}if((yu|0)<2){break a}Ds=yu+ -2|0;o[wu+44>>2]=Ds;xu=(yu+Cu|0)+ -2|0;xu=p[xu+1|0]<<8&16128|p[xu|0];break b}if((yu|0)<3){break a}Ds=yu+ -3|0;o[wu+44>>2]=Ds;xu=(yu+Cu|0)+ -3|0;xu=p[xu+1|0]<<8|p[xu+2|0]<<16&4128768|p[xu|0];break b}Ds=yu+ -4|0;o[wu+44>>2]=Ds;xu=(yu+Cu|0)+ -4|0;xu=p[xu+2|0]<<16|p[xu+3|0]<<24&1056964608|p[xu+1|0]<<8|p[xu|0];break b}o[wu+44>>2]=Ds;xu=p[xu|0]&63}Au=xu+32768|0;o[zu+48>>2]=Au;Fu=Au>>>0<8388608;if(!Ye|Au>>>0>8388607){break a}Du=o[wu+28>>2];Bu=0;Eu=o[wu+16>>2];while(1){g:{if(Au>>>0>32767){break g}while(1){if((Ds|0)<1){break g}Ds=Ds+ -1|0;o[wu+44>>2]=Ds;Au=p[Ds+Cu|0]|Au<<8;o[wu+48>>2]=Au;if(Au>>>0<32768){continue}break}}yu=Au&8191;xu=o[(yu<<2)+Eu>>2];zu=(xu<<3)+Du|0;Au=(u(o[zu>>2],Au>>>13)+yu|0)-o[zu+4>>2]|0;o[wu+48>>2]=Au;o[(Bu<<2)+du>>2]=xu;Fu=1;Bu=Bu+1|0;if((Bu|0)!=(Ye|0)){continue}break}}Ye=o[wu+28>>2];if(Ye){o[wu+32>>2]=Ye;ul(Ye)}Ye=o[wu+16>>2];if(Ye){o[wu+20>>2]=Ye;ul(Ye)}Ye=o[wu>>2];if(Ye){o[wu+4>>2]=Ye;ul(Ye)}R=wu- -64|0;return Fu}function gg(Ye,Ds,du){var Gu=0,Hu=0,Iu=0,Ju=0,Ku=0,Lu=0,Mu=0,Nu=0,Ou=0,Pu=0;Gu=R+ -64|0;R=Gu;o[Gu+48>>2]=0;o[Gu+40>>2]=0;o[Gu+44>>2]=0;o[Gu+32>>2]=0;o[Gu+36>>2]=0;o[Gu+24>>2]=0;o[Gu+28>>2]=0;o[Gu+16>>2]=0;o[Gu+20>>2]=0;o[Gu+8>>2]=0;o[Gu+12>>2]=0;o[Gu>>2]=0;o[Gu+4>>2]=0;a:{if(!pg(Gu,Ds)|(o[Gu+12>>2]?0:Ye)){break a}if(!ng(1,Gu+56|0,Ds)){break a}Iu=o[Ds+8>>2];Ou=o[Ds+16>>2];Ju=Ou;Mu=Iu-Ju|0;Lu=o[Gu+60>>2];Hu=Lu;Nu=o[Ds+20>>2];Ju=o[Ds+12>>2]-(Nu+(Iu>>>0>>0)|0)|0;Iu=o[Gu+56>>2];if((Hu|0)==(Ju|0)&Iu>>>0>Mu>>>0|Hu>>>0>Ju>>>0){break a}Lu=Lu+Nu|0;Ju=Ou;Nu=Ju+Iu|0;if(Nu>>>0>>0){Lu=Lu+1|0}o[Ds+16>>2]=Nu;o[Ds+20>>2]=Lu;if((Iu|0)<1){break a}Mu=Ou+o[Ds>>2]|0;o[Gu+40>>2]=Mu;Ju=Gu;b:{c:{d:{e:{f:{Ds=Iu+ -1|0;Hu=Mu+Ds|0;switch((p[Hu|0]>>>6)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break c}}if((Iu|0)<2){break a}Ds=Iu+ -2|0;o[Gu+44>>2]=Ds;Hu=(Iu+Mu|0)+ -2|0;Hu=p[Hu+1|0]<<8&16128|p[Hu|0];break b}if((Iu|0)<3){break a}Ds=Iu+ -3|0;o[Gu+44>>2]=Ds;Hu=(Iu+Mu|0)+ -3|0;Hu=p[Hu+1|0]<<8|p[Hu+2|0]<<16&4128768|p[Hu|0];break b}Ds=Iu+ -4|0;o[Gu+44>>2]=Ds;Hu=(Iu+Mu|0)+ -4|0;Hu=p[Hu+2|0]<<16|p[Hu+3|0]<<24&1056964608|p[Hu+1|0]<<8|p[Hu|0];break b}o[Gu+44>>2]=Ds;Hu=p[Hu|0]&63}Ku=Hu+131072|0;o[Ju+48>>2]=Ku;Pu=Ku>>>0<33554432;if(!Ye|Ku>>>0>33554431){break a}Nu=o[Gu+28>>2];Lu=0;Ou=o[Gu+16>>2];while(1){g:{if(Ku>>>0>131071){break g}while(1){if((Ds|0)<1){break g}Ds=Ds+ -1|0;o[Gu+44>>2]=Ds;Ku=p[Ds+Mu|0]|Ku<<8;o[Gu+48>>2]=Ku;if(Ku>>>0<131072){continue}break}}Iu=Ku&32767;Hu=o[(Iu<<2)+Ou>>2];Ju=(Hu<<3)+Nu|0;Ku=(u(o[Ju>>2],Ku>>>15)+Iu|0)-o[Ju+4>>2]|0;o[Gu+48>>2]=Ku;o[(Lu<<2)+du>>2]=Hu;Pu=1;Lu=Lu+1|0;if((Lu|0)!=(Ye|0)){continue}break}}Ye=o[Gu+28>>2];if(Ye){o[Gu+32>>2]=Ye;ul(Ye)}Ye=o[Gu+16>>2];if(Ye){o[Gu+20>>2]=Ye;ul(Ye)}Ye=o[Gu>>2];if(Ye){o[Gu+4>>2]=Ye;ul(Ye)}R=Gu- -64|0;return Pu}function hg(Ye,Ds,du){var Qu=0,Ru=0,Su=0,Tu=0,Uu=0,Vu=0,Wu=0,Xu=0,Yu=0,Zu=0;Qu=R+ -64|0;R=Qu;o[Qu+48>>2]=0;o[Qu+40>>2]=0;o[Qu+44>>2]=0;o[Qu+32>>2]=0;o[Qu+36>>2]=0;o[Qu+24>>2]=0;o[Qu+28>>2]=0;o[Qu+16>>2]=0;o[Qu+20>>2]=0;o[Qu+8>>2]=0;o[Qu+12>>2]=0;o[Qu>>2]=0;o[Qu+4>>2]=0;a:{if(!qg(Qu,Ds)|(o[Qu+12>>2]?0:Ye)){break a}if(!ng(1,Qu+56|0,Ds)){break a}Su=o[Ds+8>>2];Yu=o[Ds+16>>2];Tu=Yu;Wu=Su-Tu|0;Vu=o[Qu+60>>2];Ru=Vu;Xu=o[Ds+20>>2];Tu=o[Ds+12>>2]-(Xu+(Su>>>0>>0)|0)|0;Su=o[Qu+56>>2];if((Ru|0)==(Tu|0)&Su>>>0>Wu>>>0|Ru>>>0>Tu>>>0){break a}Vu=Vu+Xu|0;Tu=Yu;Xu=Tu+Su|0;if(Xu>>>0>>0){Vu=Vu+1|0}o[Ds+16>>2]=Xu;o[Ds+20>>2]=Vu;if((Su|0)<1){break a}Wu=Yu+o[Ds>>2]|0;o[Qu+40>>2]=Wu;Tu=Qu;b:{c:{d:{e:{f:{Ds=Su+ -1|0;Ru=Wu+Ds|0;switch((p[Ru|0]>>>6)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break c}}if((Su|0)<2){break a}Ds=Su+ -2|0;o[Qu+44>>2]=Ds;Ru=(Su+Wu|0)+ -2|0;Ru=p[Ru+1|0]<<8&16128|p[Ru|0];break b}if((Su|0)<3){break a}Ds=Su+ -3|0;o[Qu+44>>2]=Ds;Ru=(Su+Wu|0)+ -3|0;Ru=p[Ru+1|0]<<8|p[Ru+2|0]<<16&4128768|p[Ru|0];break b}Ds=Su+ -4|0;o[Qu+44>>2]=Ds;Ru=(Su+Wu|0)+ -4|0;Ru=p[Ru+2|0]<<16|p[Ru+3|0]<<24&1056964608|p[Ru+1|0]<<8|p[Ru|0];break b}o[Qu+44>>2]=Ds;Ru=p[Ru|0]&63}Uu=Ru+262144|0;o[Tu+48>>2]=Uu;Zu=Uu>>>0<67108864;if(!Ye|Uu>>>0>67108863){break a}Xu=o[Qu+28>>2];Vu=0;Yu=o[Qu+16>>2];while(1){g:{if(Uu>>>0>262143){break g}while(1){if((Ds|0)<1){break g}Ds=Ds+ -1|0;o[Qu+44>>2]=Ds;Uu=p[Ds+Wu|0]|Uu<<8;o[Qu+48>>2]=Uu;if(Uu>>>0<262144){continue}break}}Su=Uu&65535;Ru=o[(Su<<2)+Yu>>2];Tu=(Ru<<3)+Xu|0;Uu=(u(o[Tu>>2],Uu>>>16)+Su|0)-o[Tu+4>>2]|0;o[Qu+48>>2]=Uu;o[(Vu<<2)+du>>2]=Ru;Zu=1;Vu=Vu+1|0;if((Vu|0)!=(Ye|0)){continue}break}}Ye=o[Qu+28>>2];if(Ye){o[Qu+32>>2]=Ye;ul(Ye)}Ye=o[Qu+16>>2];if(Ye){o[Qu+20>>2]=Ye;ul(Ye)}Ye=o[Qu>>2];if(Ye){o[Qu+4>>2]=Ye;ul(Ye)}R=Qu- -64|0;return Zu}function ig(Ye,Ds,du){var _u=0,$u=0,av=0,bv=0,cv=0,dv=0,ev=0,fv=0,gv=0,hv=0;_u=R+ -64|0;R=_u;o[_u+48>>2]=0;o[_u+40>>2]=0;o[_u+44>>2]=0;o[_u+32>>2]=0;o[_u+36>>2]=0;o[_u+24>>2]=0;o[_u+28>>2]=0;o[_u+16>>2]=0;o[_u+20>>2]=0;o[_u+8>>2]=0;o[_u+12>>2]=0;o[_u>>2]=0;o[_u+4>>2]=0;a:{if(!rg(_u,Ds)|(o[_u+12>>2]?0:Ye)){break a}if(!ng(1,_u+56|0,Ds)){break a}av=o[Ds+8>>2];gv=o[Ds+16>>2];bv=gv;ev=av-bv|0;dv=o[_u+60>>2];$u=dv;fv=o[Ds+20>>2];bv=o[Ds+12>>2]-(fv+(av>>>0>>0)|0)|0;av=o[_u+56>>2];if(($u|0)==(bv|0)&av>>>0>ev>>>0|$u>>>0>bv>>>0){break a}dv=dv+fv|0;bv=gv;fv=bv+av|0;if(fv>>>0>>0){dv=dv+1|0}o[Ds+16>>2]=fv;o[Ds+20>>2]=dv;if((av|0)<1){break a}ev=gv+o[Ds>>2]|0;o[_u+40>>2]=ev;bv=_u;b:{c:{d:{e:{f:{Ds=av+ -1|0;$u=ev+Ds|0;switch((p[$u|0]>>>6)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break c}}if((av|0)<2){break a}Ds=av+ -2|0;o[_u+44>>2]=Ds;$u=(av+ev|0)+ -2|0;$u=p[$u+1|0]<<8&16128|p[$u|0];break b}if((av|0)<3){break a}Ds=av+ -3|0;o[_u+44>>2]=Ds;$u=(av+ev|0)+ -3|0;$u=p[$u+1|0]<<8|p[$u+2|0]<<16&4128768|p[$u|0];break b}Ds=av+ -4|0;o[_u+44>>2]=Ds;$u=(av+ev|0)+ -4|0;$u=p[$u+2|0]<<16|p[$u+3|0]<<24&1056964608|p[$u+1|0]<<8|p[$u|0];break b}o[_u+44>>2]=Ds;$u=p[$u|0]&63}cv=$u- -1048576|0;o[bv+48>>2]=cv;hv=cv>>>0<268435456;if(!Ye|cv>>>0>268435455){break a}fv=o[_u+28>>2];dv=0;gv=o[_u+16>>2];while(1){g:{if(cv>>>0>1048575){break g}while(1){if((Ds|0)<1){break g}Ds=Ds+ -1|0;o[_u+44>>2]=Ds;cv=p[Ds+ev|0]|cv<<8;o[_u+48>>2]=cv;if(cv>>>0<1048576){continue}break}}av=cv&262143;$u=o[(av<<2)+gv>>2];bv=($u<<3)+fv|0;cv=(u(o[bv>>2],cv>>>18)+av|0)-o[bv+4>>2]|0;o[_u+48>>2]=cv;o[(dv<<2)+du>>2]=$u;hv=1;dv=dv+1|0;if((dv|0)!=(Ye|0)){continue}break}}Ye=o[_u+28>>2];if(Ye){o[_u+32>>2]=Ye;ul(Ye)}Ye=o[_u+16>>2];if(Ye){o[_u+20>>2]=Ye;ul(Ye)}Ye=o[_u>>2];if(Ye){o[_u+4>>2]=Ye;ul(Ye)}R=_u- -64|0;return hv}function jg(Ye,Ds,du){var iv=0,jv=0,kv=0,lv=0,mv=0,nv=0,ov=0,pv=0,qv=0,rv=0;iv=R+ -64|0;R=iv;o[iv+48>>2]=0;o[iv+40>>2]=0;o[iv+44>>2]=0;o[iv+32>>2]=0;o[iv+36>>2]=0;o[iv+24>>2]=0;o[iv+28>>2]=0;o[iv+16>>2]=0;o[iv+20>>2]=0;o[iv+8>>2]=0;o[iv+12>>2]=0;o[iv>>2]=0;o[iv+4>>2]=0;a:{if(!sg(iv,Ds)|(o[iv+12>>2]?0:Ye)){break a}if(!ng(1,iv+56|0,Ds)){break a}kv=o[Ds+8>>2];qv=o[Ds+16>>2];lv=qv;ov=kv-lv|0;nv=o[iv+60>>2];jv=nv;pv=o[Ds+20>>2];lv=o[Ds+12>>2]-(pv+(kv>>>0>>0)|0)|0;kv=o[iv+56>>2];if((jv|0)==(lv|0)&kv>>>0>ov>>>0|jv>>>0>lv>>>0){break a}nv=nv+pv|0;lv=qv;pv=lv+kv|0;if(pv>>>0>>0){nv=nv+1|0}o[Ds+16>>2]=pv;o[Ds+20>>2]=nv;if((kv|0)<1){break a}ov=qv+o[Ds>>2]|0;o[iv+40>>2]=ov;lv=iv;b:{c:{d:{e:{f:{Ds=kv+ -1|0;jv=ov+Ds|0;switch((p[jv|0]>>>6)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break c}}if((kv|0)<2){break a}Ds=kv+ -2|0;o[iv+44>>2]=Ds;jv=(kv+ov|0)+ -2|0;jv=p[jv+1|0]<<8&16128|p[jv|0];break b}if((kv|0)<3){break a}Ds=kv+ -3|0;o[iv+44>>2]=Ds;jv=(kv+ov|0)+ -3|0;jv=p[jv+1|0]<<8|p[jv+2|0]<<16&4128768|p[jv|0];break b}Ds=kv+ -4|0;o[iv+44>>2]=Ds;jv=(kv+ov|0)+ -4|0;jv=p[jv+2|0]<<16|p[jv+3|0]<<24&1056964608|p[jv+1|0]<<8|p[jv|0];break b}o[iv+44>>2]=Ds;jv=p[jv|0]&63}mv=jv+2097152|0;o[lv+48>>2]=mv;rv=mv>>>0<536870912;if(!Ye|mv>>>0>536870911){break a}pv=o[iv+28>>2];nv=0;qv=o[iv+16>>2];while(1){g:{if(mv>>>0>2097151){break g}while(1){if((Ds|0)<1){break g}Ds=Ds+ -1|0;o[iv+44>>2]=Ds;mv=p[Ds+ov|0]|mv<<8;o[iv+48>>2]=mv;if(mv>>>0<2097152){continue}break}}kv=mv&524287;jv=o[(kv<<2)+qv>>2];lv=(jv<<3)+pv|0;mv=(u(o[lv>>2],mv>>>19)+kv|0)-o[lv+4>>2]|0;o[iv+48>>2]=mv;o[(nv<<2)+du>>2]=jv;rv=1;nv=nv+1|0;if((nv|0)!=(Ye|0)){continue}break}}Ye=o[iv+28>>2];if(Ye){o[iv+32>>2]=Ye;ul(Ye)}Ye=o[iv+16>>2];if(Ye){o[iv+20>>2]=Ye;ul(Ye)}Ye=o[iv>>2];if(Ye){o[iv+4>>2]=Ye;ul(Ye)}R=iv- -64|0;return rv}function kg(Ye,Ds,du){var sv=0,tv=0,uv=0,vv=0,wv=0,xv=0,yv=0,zv=0,Av=0,Bv=0;sv=R+ -64|0;R=sv;o[sv+48>>2]=0;o[sv+40>>2]=0;o[sv+44>>2]=0;o[sv+32>>2]=0;o[sv+36>>2]=0;o[sv+24>>2]=0;o[sv+28>>2]=0;o[sv+16>>2]=0;o[sv+20>>2]=0;o[sv+8>>2]=0;o[sv+12>>2]=0;o[sv>>2]=0;o[sv+4>>2]=0;a:{if(!tg(sv,Ds)|(o[sv+12>>2]?0:Ye)){break a}if(!ng(1,sv+56|0,Ds)){break a}uv=o[Ds+8>>2];Av=o[Ds+16>>2];vv=Av;yv=uv-vv|0;xv=o[sv+60>>2];tv=xv;zv=o[Ds+20>>2];vv=o[Ds+12>>2]-(zv+(uv>>>0>>0)|0)|0;uv=o[sv+56>>2];if((tv|0)==(vv|0)&uv>>>0>yv>>>0|tv>>>0>vv>>>0){break a}xv=xv+zv|0;vv=Av;zv=vv+uv|0;if(zv>>>0>>0){xv=xv+1|0}o[Ds+16>>2]=zv;o[Ds+20>>2]=xv;if((uv|0)<1){break a}yv=Av+o[Ds>>2]|0;o[sv+40>>2]=yv;vv=sv;b:{c:{d:{e:{f:{Ds=uv+ -1|0;tv=yv+Ds|0;switch((p[tv|0]>>>6)-1|0){case 2:break d;case 1:break e;case 0:break f;default:break c}}if((uv|0)<2){break a}Ds=uv+ -2|0;o[sv+44>>2]=Ds;tv=(uv+yv|0)+ -2|0;tv=p[tv+1|0]<<8&16128|p[tv|0];break b}if((uv|0)<3){break a}Ds=uv+ -3|0;o[sv+44>>2]=Ds;tv=(uv+yv|0)+ -3|0;tv=p[tv+1|0]<<8|p[tv+2|0]<<16&4128768|p[tv|0];break b}Ds=uv+ -4|0;o[sv+44>>2]=Ds;tv=(uv+yv|0)+ -4|0;tv=p[tv+2|0]<<16|p[tv+3|0]<<24&1056964608|p[tv+1|0]<<8|p[tv|0];break b}o[sv+44>>2]=Ds;tv=p[tv|0]&63}wv=tv+4194304|0;o[vv+48>>2]=wv;Bv=wv>>>0<1073741824;if(!Ye|wv>>>0>1073741823){break a}zv=o[sv+28>>2];xv=0;Av=o[sv+16>>2];while(1){g:{if(wv>>>0>4194303){break g}while(1){if((Ds|0)<1){break g}Ds=Ds+ -1|0;o[sv+44>>2]=Ds;wv=p[Ds+yv|0]|wv<<8;o[sv+48>>2]=wv;if(wv>>>0<4194304){continue}break}}uv=wv&1048575;tv=o[(uv<<2)+Av>>2];vv=(tv<<3)+zv|0;wv=(u(o[vv>>2],wv>>>20)+uv|0)-o[vv+4>>2]|0;o[sv+48>>2]=wv;o[(xv<<2)+du>>2]=tv;Bv=1;xv=xv+1|0;if((xv|0)!=(Ye|0)){continue}break}}Ye=o[sv+28>>2];if(Ye){o[sv+32>>2]=Ye;ul(Ye)}Ye=o[sv+16>>2];if(Ye){o[sv+20>>2]=Ye;ul(Ye)}Ye=o[sv>>2];if(Ye){o[sv+4>>2]=Ye;ul(Ye)}R=sv- -64|0;return Bv}function lg(Ye,Ds,du){var Cv=0,Dv=0,Ev=0,Fv=0;a:{if(Ye>>>0>5){break a}Ev=o[du+16>>2];Cv=o[du+12>>2];Dv=o[du+20>>2];if((Cv|0)<(Dv|0)?1:(Cv|0)<=(Dv|0)?r[du+8>>2]>Ev>>>0?0:1:0){break a}Cv=p[Ev+o[du>>2]|0];Ev=Ev+1|0;if(Ev>>>0<1){Dv=Dv+1|0}o[du+16>>2]=Ev;o[du+20>>2]=Dv;Dv=Ds;if(Cv&128){if(!lg(Ye+1|0,Ds,du)){break a}Ye=o[Ds>>2]<<7;o[Ds>>2]=Ye;Cv=Ye|Cv&127}o[Dv>>2]=Cv;Fv=1}return Fv}function mg(Ye,Ds){var du=0,Gv=0,Hv=0,Iv=0,Jv=0,Kv=0,Lv=0;a:{b:{Hv=o[Ye+8>>2];du=Ye+4|0;Gv=o[du>>2];c:{if(Hv-Gv>>3>>>0>=Ds>>>0){while(1){o[Gv>>2]=0;o[Gv+4>>2]=0;Gv=o[du>>2]+8|0;o[du>>2]=Gv;Ds=Ds+ -1|0;if(Ds){continue}break c}}Iv=o[Ye>>2];Jv=Gv-Iv|0;du=Jv>>3;Gv=du+Ds|0;if(Gv>>>0>=536870912){break b}Lv=du<<3;Hv=Hv-Iv|0;du=Hv>>2;Hv=Hv>>3>>>0<268435455?du>>>0>>0?Gv:du:536870911;du=0;d:{if(!Hv){break d}if(Hv>>>0>=536870912){break a}Kv=Hk(Hv<<3);du=Kv}Gv=Lv+du|0;xl(Gv,0,Ds<<3);Hv=du+(Hv<<3)|0;while(1){Gv=Gv+8|0;Ds=Ds+ -1|0;if(Ds){continue}break}if((Jv|0)>=1){wl(Kv,Iv,Jv)}o[Ye>>2]=du;o[Ye+8>>2]=Hv;o[Ye+4>>2]=Gv;if(!Iv){break c}ul(Iv)}return}Yk();D()}_a(7890);D()}function ng(Ye,Ds,Mv){var Nv=0,Ov=0,Pv=0,Qv=0,Rv=0,Sv=0;a:{if(Ye>>>0>10){break a}Pv=o[Mv+16>>2];Nv=o[Mv+12>>2];Ov=o[Mv+20>>2];Qv=Ov;if((Nv|0)<(Qv|0)?1:(Nv|0)<=(Qv|0)?r[Mv+8>>2]>Pv>>>0?0:1:0){break a}Rv=m[Pv+o[Mv>>2]|0];Nv=Pv+1|0;if(Nv>>>0<1){Ov=Ov+1|0}o[Mv+16>>2]=Nv;o[Mv+20>>2]=Ov;Qv=Ds;Pv=Ds;Nv=Rv;b:{if((Nv|0)<=-1){if(!ng(Ye+1|0,Ds,Mv)){break a}Ye=Ds;Mv=o[Ds+4>>2];Ds=o[Ds>>2];Ov=Mv<<7|Ds>>>25;Ds=Ds<<7;o[Ye>>2]=Ds;o[Ye+4>>2]=Ov;Ye=Nv&127|Ds;break b}Ov=0;Ye=Nv&255}o[Pv>>2]=Ye;o[Qv+4>>2]=Ov;Sv=1}return Sv}function og(Ye,Ds){var Mv=0,Tv=0,Uv=0,Vv=0,Wv=0,Xv=0,Yv=0,Zv=0,_v=0,$v=0,aw=0,bw=0,cw=0;a:{if(!q[Ds+38>>1]){break a}$v=Ye+12|0;if(!lg(1,$v,Ds)){break a}Vv=o[Ye+12>>2];Mv=o[Ye>>2];Tv=o[Ye+4>>2]-Mv>>2;b:{if(Vv>>>0>Tv>>>0){Da(Ye,Vv-Tv|0);Vv=o[Ye+12>>2];break b}if(Vv>>>0>=Tv>>>0){break b}o[Ye+4>>2]=Mv+(Vv<<2)}if(!Vv){cw=1;break a}aw=o[Ds+8>>2];Yv=o[Ds+12>>2];while(1){Uv=o[Ds+16>>2];Tv=o[Ds+20>>2];Mv=Tv;if((Yv|0)<(Mv|0)?1:(Yv|0)<=(Mv|0)?aw>>>0>Uv>>>0?0:1:0){break a}bw=o[Ds>>2];Zv=p[bw+Uv|0];Uv=Uv+1|0;if(Uv>>>0<1){Tv=Tv+1|0}Mv=Ds;Xv=Uv;o[Mv+16>>2]=Uv;o[Mv+20>>2]=Tv;Uv=Zv>>>2;c:{d:{e:{_v=Zv&3;if(_v>>>0>3){Mv=0;break e}Mv=0;f:{switch(_v-1|0){case 2:break f;case 0:case 1:break e;default:break d}}Tv=Uv+Wv|0;if(Tv>>>0>=Vv>>>0){return 0}xl(o[Ye>>2]+(Wv<<2)|0,0,(Zv&252)+4|0);Wv=Tv;break c}while(1){if((Yv|0)<(Tv|0)?1:(Yv|0)<=(Tv|0)?aw>>>0>Xv>>>0?0:1:0){return 0}Zv=p[Xv+bw|0];Xv=Xv+1|0;if(Xv>>>0<1){Tv=Tv+1|0}Vv=Ds;o[Vv+16>>2]=Xv;o[Vv+20>>2]=Tv;Uv=Zv<<(Mv<<3|6)|Uv;Mv=Mv+1|0;if((_v|0)!=(Mv|0)){continue}break}}o[o[Ye>>2]+(Wv<<2)>>2]=Uv}Wv=Wv+1|0;Vv=o[$v>>2];if(Wv>>>0>>0){continue}break}Tv=Ye+16|0;Yv=o[Ye>>2];Ds=o[Ye+16>>2];Mv=o[Ye+20>>2]-Ds|0;Wv=Mv>>2;g:{if(Wv>>>0<=8191){Da(Tv,8192-Wv|0);break g}if((Mv|0)==32768){break g}o[Ye+20>>2]=Ds+32768}h:{Mv=Ye+28|0;Ds=o[Mv>>2];Wv=o[Ye+32>>2]-Ds>>3;if(Vv>>>0>Wv>>>0){mg(Mv,Vv-Wv|0);Ds=o[Mv>>2];break h}if(Vv>>>0>>0){o[Ye+32>>2]=(Vv<<3)+Ds}if(Vv){break h}return 0}Uv=0;Mv=0;while(1){Ye=Yv+(Uv<<2)|0;Wv=o[Ye>>2];Xv=(Uv<<3)+Ds|0;o[Xv+4>>2]=Mv;o[Xv>>2]=Wv;Ye=o[Ye>>2]+Mv|0;if(Ye>>>0>8192){break a}if(Mv>>>0>>0){Wv=o[Tv>>2];while(1){o[Wv+(Mv<<2)>>2]=Uv;Mv=Mv+1|0;if((Ye|0)!=(Mv|0)){continue}break}}Mv=Ye;Uv=Uv+1|0;if((Vv|0)!=(Uv|0)){continue}break}return(Ye|0)==8192}return cw}function pg(Ye,Ds){var dw=0,ew=0,fw=0,gw=0,hw=0,iw=0,jw=0,kw=0,lw=0,mw=0,nw=0,ow=0,pw=0;a:{if(!q[Ds+38>>1]){break a}mw=Ye+12|0;if(!lg(1,mw,Ds)){break a}gw=o[Ye+12>>2];dw=o[Ye>>2];ew=o[Ye+4>>2]-dw>>2;b:{if(gw>>>0>ew>>>0){Da(Ye,gw-ew|0);gw=o[Ye+12>>2];break b}if(gw>>>0>=ew>>>0){break b}o[Ye+4>>2]=dw+(gw<<2)}if(!gw){pw=1;break a}nw=o[Ds+8>>2];jw=o[Ds+12>>2];while(1){fw=o[Ds+16>>2];ew=o[Ds+20>>2];dw=ew;if((jw|0)<(dw|0)?1:(jw|0)<=(dw|0)?nw>>>0>fw>>>0?0:1:0){break a}ow=o[Ds>>2];kw=p[ow+fw|0];fw=fw+1|0;if(fw>>>0<1){ew=ew+1|0}dw=Ds;iw=fw;o[dw+16>>2]=fw;o[dw+20>>2]=ew;fw=kw>>>2;c:{d:{e:{lw=kw&3;if(lw>>>0>3){dw=0;break e}dw=0;f:{switch(lw-1|0){case 2:break f;case 0:case 1:break e;default:break d}}ew=fw+hw|0;if(ew>>>0>=gw>>>0){return 0}xl(o[Ye>>2]+(hw<<2)|0,0,(kw&252)+4|0);hw=ew;break c}while(1){if((jw|0)<(ew|0)?1:(jw|0)<=(ew|0)?nw>>>0>iw>>>0?0:1:0){return 0}kw=p[iw+ow|0];iw=iw+1|0;if(iw>>>0<1){ew=ew+1|0}gw=Ds;o[gw+16>>2]=iw;o[gw+20>>2]=ew;fw=kw<<(dw<<3|6)|fw;dw=dw+1|0;if((lw|0)!=(dw|0)){continue}break}}o[o[Ye>>2]+(hw<<2)>>2]=fw}hw=hw+1|0;gw=o[mw>>2];if(hw>>>0>>0){continue}break}ew=Ye+16|0;jw=o[Ye>>2];Ds=o[Ye+16>>2];dw=o[Ye+20>>2]-Ds|0;hw=dw>>2;g:{if(hw>>>0<=32767){Da(ew,32768-hw|0);break g}if((dw|0)==131072){break g}o[Ye+20>>2]=Ds+131072}h:{dw=Ye+28|0;Ds=o[dw>>2];hw=o[Ye+32>>2]-Ds>>3;if(gw>>>0>hw>>>0){mg(dw,gw-hw|0);Ds=o[dw>>2];break h}if(gw>>>0>>0){o[Ye+32>>2]=(gw<<3)+Ds}if(gw){break h}return 0}fw=0;dw=0;while(1){Ye=jw+(fw<<2)|0;hw=o[Ye>>2];iw=(fw<<3)+Ds|0;o[iw+4>>2]=dw;o[iw>>2]=hw;Ye=o[Ye>>2]+dw|0;if(Ye>>>0>32768){break a}if(dw>>>0>>0){hw=o[ew>>2];while(1){o[hw+(dw<<2)>>2]=fw;dw=dw+1|0;if((Ye|0)!=(dw|0)){continue}break}}dw=Ye;fw=fw+1|0;if((gw|0)!=(fw|0)){continue}break}return(Ye|0)==32768}return pw}function qg(Ye,Ds){var qw=0,rw=0,sw=0,tw=0,uw=0,vw=0,ww=0,xw=0,yw=0,zw=0,Aw=0,Bw=0,Cw=0;a:{if(!q[Ds+38>>1]){break a}zw=Ye+12|0;if(!lg(1,zw,Ds)){break a}tw=o[Ye+12>>2];qw=o[Ye>>2];rw=o[Ye+4>>2]-qw>>2;b:{if(tw>>>0>rw>>>0){Da(Ye,tw-rw|0);tw=o[Ye+12>>2];break b}if(tw>>>0>=rw>>>0){break b}o[Ye+4>>2]=qw+(tw<<2)}if(!tw){Cw=1;break a}Aw=o[Ds+8>>2];ww=o[Ds+12>>2];while(1){sw=o[Ds+16>>2];rw=o[Ds+20>>2];qw=rw;if((ww|0)<(qw|0)?1:(ww|0)<=(qw|0)?Aw>>>0>sw>>>0?0:1:0){break a}Bw=o[Ds>>2];xw=p[Bw+sw|0];sw=sw+1|0;if(sw>>>0<1){rw=rw+1|0}qw=Ds;vw=sw;o[qw+16>>2]=sw;o[qw+20>>2]=rw;sw=xw>>>2;c:{d:{e:{yw=xw&3;if(yw>>>0>3){qw=0;break e}qw=0;f:{switch(yw-1|0){case 2:break f;case 0:case 1:break e;default:break d}}rw=sw+uw|0;if(rw>>>0>=tw>>>0){return 0}xl(o[Ye>>2]+(uw<<2)|0,0,(xw&252)+4|0);uw=rw;break c}while(1){if((ww|0)<(rw|0)?1:(ww|0)<=(rw|0)?Aw>>>0>vw>>>0?0:1:0){return 0}xw=p[vw+Bw|0];vw=vw+1|0;if(vw>>>0<1){rw=rw+1|0}tw=Ds;o[tw+16>>2]=vw;o[tw+20>>2]=rw;sw=xw<<(qw<<3|6)|sw;qw=qw+1|0;if((yw|0)!=(qw|0)){continue}break}}o[o[Ye>>2]+(uw<<2)>>2]=sw}uw=uw+1|0;tw=o[zw>>2];if(uw>>>0>>0){continue}break}rw=Ye+16|0;ww=o[Ye>>2];Ds=o[Ye+16>>2];qw=o[Ye+20>>2]-Ds|0;uw=qw>>2;g:{if(uw>>>0<=65535){Da(rw,65536-uw|0);break g}if((qw|0)==262144){break g}o[Ye+20>>2]=Ds+262144}h:{qw=Ye+28|0;Ds=o[qw>>2];uw=o[Ye+32>>2]-Ds>>3;if(tw>>>0>uw>>>0){mg(qw,tw-uw|0);Ds=o[qw>>2];break h}if(tw>>>0>>0){o[Ye+32>>2]=(tw<<3)+Ds}if(tw){break h}return 0}sw=0;qw=0;while(1){Ye=ww+(sw<<2)|0;uw=o[Ye>>2];vw=(sw<<3)+Ds|0;o[vw+4>>2]=qw;o[vw>>2]=uw;Ye=o[Ye>>2]+qw|0;if(Ye>>>0>65536){break a}if(qw>>>0>>0){uw=o[rw>>2];while(1){o[uw+(qw<<2)>>2]=sw;qw=qw+1|0;if((Ye|0)!=(qw|0)){continue}break}}qw=Ye;sw=sw+1|0;if((tw|0)!=(sw|0)){continue}break}return(Ye|0)==65536}return Cw}function rg(Ye,Ds){var Dw=0,Ew=0,Fw=0,Gw=0,Hw=0,Iw=0,Jw=0,Kw=0,Lw=0,Mw=0,Nw=0,Ow=0,Pw=0;a:{if(!q[Ds+38>>1]){break a}Mw=Ye+12|0;if(!lg(1,Mw,Ds)){break a}Gw=o[Ye+12>>2];Dw=o[Ye>>2];Ew=o[Ye+4>>2]-Dw>>2;b:{if(Gw>>>0>Ew>>>0){Da(Ye,Gw-Ew|0);Gw=o[Ye+12>>2];break b}if(Gw>>>0>=Ew>>>0){break b}o[Ye+4>>2]=Dw+(Gw<<2)}if(!Gw){Pw=1;break a}Nw=o[Ds+8>>2];Jw=o[Ds+12>>2];while(1){Fw=o[Ds+16>>2];Ew=o[Ds+20>>2];Dw=Ew;if((Jw|0)<(Dw|0)?1:(Jw|0)<=(Dw|0)?Nw>>>0>Fw>>>0?0:1:0){break a}Ow=o[Ds>>2];Kw=p[Ow+Fw|0];Fw=Fw+1|0;if(Fw>>>0<1){Ew=Ew+1|0}Dw=Ds;Iw=Fw;o[Dw+16>>2]=Fw;o[Dw+20>>2]=Ew;Fw=Kw>>>2;c:{d:{e:{Lw=Kw&3;if(Lw>>>0>3){Dw=0;break e}Dw=0;f:{switch(Lw-1|0){case 2:break f;case 0:case 1:break e;default:break d}}Ew=Fw+Hw|0;if(Ew>>>0>=Gw>>>0){return 0}xl(o[Ye>>2]+(Hw<<2)|0,0,(Kw&252)+4|0);Hw=Ew;break c}while(1){if((Jw|0)<(Ew|0)?1:(Jw|0)<=(Ew|0)?Nw>>>0>Iw>>>0?0:1:0){return 0}Kw=p[Iw+Ow|0];Iw=Iw+1|0;if(Iw>>>0<1){Ew=Ew+1|0}Gw=Ds;o[Gw+16>>2]=Iw;o[Gw+20>>2]=Ew;Fw=Kw<<(Dw<<3|6)|Fw;Dw=Dw+1|0;if((Lw|0)!=(Dw|0)){continue}break}}o[o[Ye>>2]+(Hw<<2)>>2]=Fw}Hw=Hw+1|0;Gw=o[Mw>>2];if(Hw>>>0>>0){continue}break}Ew=Ye+16|0;Jw=o[Ye>>2];Ds=o[Ye+16>>2];Dw=o[Ye+20>>2]-Ds|0;Hw=Dw>>2;g:{if(Hw>>>0<=262143){Da(Ew,262144-Hw|0);break g}if((Dw|0)==1048576){break g}o[Ye+20>>2]=Ds- -1048576}h:{Dw=Ye+28|0;Ds=o[Dw>>2];Hw=o[Ye+32>>2]-Ds>>3;if(Gw>>>0>Hw>>>0){mg(Dw,Gw-Hw|0);Ds=o[Dw>>2];break h}if(Gw>>>0>>0){o[Ye+32>>2]=(Gw<<3)+Ds}if(Gw){break h}return 0}Fw=0;Dw=0;while(1){Ye=Jw+(Fw<<2)|0;Hw=o[Ye>>2];Iw=(Fw<<3)+Ds|0;o[Iw+4>>2]=Dw;o[Iw>>2]=Hw;Ye=o[Ye>>2]+Dw|0;if(Ye>>>0>262144){break a}if(Dw>>>0>>0){Hw=o[Ew>>2];while(1){o[Hw+(Dw<<2)>>2]=Fw;Dw=Dw+1|0;if((Ye|0)!=(Dw|0)){continue}break}}Dw=Ye;Fw=Fw+1|0;if((Gw|0)!=(Fw|0)){continue}break}return(Ye|0)==262144}return Pw}function sg(Ye,Ds){var Qw=0,Rw=0,Sw=0,Tw=0,Uw=0,Vw=0,Ww=0,Xw=0,Yw=0,Zw=0,_w=0,$w=0,ax=0;a:{if(!q[Ds+38>>1]){break a}Zw=Ye+12|0;if(!lg(1,Zw,Ds)){break a}Tw=o[Ye+12>>2];Qw=o[Ye>>2];Rw=o[Ye+4>>2]-Qw>>2;b:{if(Tw>>>0>Rw>>>0){Da(Ye,Tw-Rw|0);Tw=o[Ye+12>>2];break b}if(Tw>>>0>=Rw>>>0){break b}o[Ye+4>>2]=Qw+(Tw<<2)}if(!Tw){ax=1;break a}_w=o[Ds+8>>2];Ww=o[Ds+12>>2];while(1){Sw=o[Ds+16>>2];Rw=o[Ds+20>>2];Qw=Rw;if((Ww|0)<(Qw|0)?1:(Ww|0)<=(Qw|0)?_w>>>0>Sw>>>0?0:1:0){break a}$w=o[Ds>>2];Xw=p[$w+Sw|0];Sw=Sw+1|0;if(Sw>>>0<1){Rw=Rw+1|0}Qw=Ds;Vw=Sw;o[Qw+16>>2]=Sw;o[Qw+20>>2]=Rw;Sw=Xw>>>2;c:{d:{e:{Yw=Xw&3;if(Yw>>>0>3){Qw=0;break e}Qw=0;f:{switch(Yw-1|0){case 2:break f;case 0:case 1:break e;default:break d}}Rw=Sw+Uw|0;if(Rw>>>0>=Tw>>>0){return 0}xl(o[Ye>>2]+(Uw<<2)|0,0,(Xw&252)+4|0);Uw=Rw;break c}while(1){if((Ww|0)<(Rw|0)?1:(Ww|0)<=(Rw|0)?_w>>>0>Vw>>>0?0:1:0){return 0}Xw=p[Vw+$w|0];Vw=Vw+1|0;if(Vw>>>0<1){Rw=Rw+1|0}Tw=Ds;o[Tw+16>>2]=Vw;o[Tw+20>>2]=Rw;Sw=Xw<<(Qw<<3|6)|Sw;Qw=Qw+1|0;if((Yw|0)!=(Qw|0)){continue}break}}o[o[Ye>>2]+(Uw<<2)>>2]=Sw}Uw=Uw+1|0;Tw=o[Zw>>2];if(Uw>>>0>>0){continue}break}Rw=Ye+16|0;Ww=o[Ye>>2];Ds=o[Ye+16>>2];Qw=o[Ye+20>>2]-Ds|0;Uw=Qw>>2;g:{if(Uw>>>0<=524287){Da(Rw,524288-Uw|0);break g}if((Qw|0)==2097152){break g}o[Ye+20>>2]=Ds+2097152}h:{Qw=Ye+28|0;Ds=o[Qw>>2];Uw=o[Ye+32>>2]-Ds>>3;if(Tw>>>0>Uw>>>0){mg(Qw,Tw-Uw|0);Ds=o[Qw>>2];break h}if(Tw>>>0>>0){o[Ye+32>>2]=(Tw<<3)+Ds}if(Tw){break h}return 0}Sw=0;Qw=0;while(1){Ye=Ww+(Sw<<2)|0;Uw=o[Ye>>2];Vw=(Sw<<3)+Ds|0;o[Vw+4>>2]=Qw;o[Vw>>2]=Uw;Ye=o[Ye>>2]+Qw|0;if(Ye>>>0>524288){break a}if(Qw>>>0>>0){Uw=o[Rw>>2];while(1){o[Uw+(Qw<<2)>>2]=Sw;Qw=Qw+1|0;if((Ye|0)!=(Qw|0)){continue}break}}Qw=Ye;Sw=Sw+1|0;if((Tw|0)!=(Sw|0)){continue}break}return(Ye|0)==524288}return ax}function tg(Ye,Ds){var bx=0,cx=0,dx=0,ex=0,fx=0,gx=0,hx=0,ix=0,jx=0,kx=0,lx=0,mx=0,nx=0;a:{if(!q[Ds+38>>1]){break a}kx=Ye+12|0;if(!lg(1,kx,Ds)){break a}ex=o[Ye+12>>2];bx=o[Ye>>2];cx=o[Ye+4>>2]-bx>>2;b:{if(ex>>>0>cx>>>0){Da(Ye,ex-cx|0);ex=o[Ye+12>>2];break b}if(ex>>>0>=cx>>>0){break b}o[Ye+4>>2]=bx+(ex<<2)}if(!ex){nx=1;break a}lx=o[Ds+8>>2];hx=o[Ds+12>>2];while(1){dx=o[Ds+16>>2];cx=o[Ds+20>>2];bx=cx;if((hx|0)<(bx|0)?1:(hx|0)<=(bx|0)?lx>>>0>dx>>>0?0:1:0){break a}mx=o[Ds>>2];ix=p[mx+dx|0];dx=dx+1|0;if(dx>>>0<1){cx=cx+1|0}bx=Ds;gx=dx;o[bx+16>>2]=dx;o[bx+20>>2]=cx;dx=ix>>>2;c:{d:{e:{jx=ix&3;if(jx>>>0>3){bx=0;break e}bx=0;f:{switch(jx-1|0){case 2:break f;case 0:case 1:break e;default:break d}}cx=dx+fx|0;if(cx>>>0>=ex>>>0){return 0}xl(o[Ye>>2]+(fx<<2)|0,0,(ix&252)+4|0);fx=cx;break c}while(1){if((hx|0)<(cx|0)?1:(hx|0)<=(cx|0)?lx>>>0>gx>>>0?0:1:0){return 0}ix=p[gx+mx|0];gx=gx+1|0;if(gx>>>0<1){cx=cx+1|0}ex=Ds;o[ex+16>>2]=gx;o[ex+20>>2]=cx;dx=ix<<(bx<<3|6)|dx;bx=bx+1|0;if((jx|0)!=(bx|0)){continue}break}}o[o[Ye>>2]+(fx<<2)>>2]=dx}fx=fx+1|0;ex=o[kx>>2];if(fx>>>0>>0){continue}break}cx=Ye+16|0;hx=o[Ye>>2];Ds=o[Ye+16>>2];bx=o[Ye+20>>2]-Ds|0;fx=bx>>2;g:{if(fx>>>0<=1048575){Da(cx,1048576-fx|0);break g}if((bx|0)==4194304){break g}o[Ye+20>>2]=Ds+4194304}h:{bx=Ye+28|0;Ds=o[bx>>2];fx=o[Ye+32>>2]-Ds>>3;if(ex>>>0>fx>>>0){mg(bx,ex-fx|0);Ds=o[bx>>2];break h}if(ex>>>0>>0){o[Ye+32>>2]=(ex<<3)+Ds}if(ex){break h}return 0}dx=0;bx=0;while(1){Ye=hx+(dx<<2)|0;fx=o[Ye>>2];gx=(dx<<3)+Ds|0;o[gx+4>>2]=bx;o[gx>>2]=fx;Ye=o[Ye>>2]+bx|0;if(Ye>>>0>1048576){break a}if(bx>>>0>>0){fx=o[cx>>2];while(1){o[fx+(bx<<2)>>2]=dx;bx=bx+1|0;if((Ye|0)!=(bx|0)){continue}break}}bx=Ye;dx=dx+1|0;if((ex|0)!=(dx|0)){continue}break}return(Ye|0)==1048576}return nx}function ug(Ye){bi(Ye);o[Ye+44>>2]=0;o[Ye>>2]=7968}function vg(Ye){Ye=Ye|0;if(o[Ye+44>>2]){return l[o[o[Ye>>2]+48>>2]](Ye)|0}return 0}function wg(Ye){Ye=Ye|0;var Ds=0,ox=0,px=0,qx=0,rx=0;o[Ye>>2]=10052;Ds=o[Ye+20>>2];if(Ds){o[Ye+24>>2]=Ds;ul(Ds)}px=o[Ye+8>>2];if(px){Ds=px;rx=Ye+12|0;ox=o[rx>>2];qx=Ds;a:{if((Ds|0)==(ox|0)){break a}while(1){ox=ox+ -4|0;Ds=o[ox>>2];o[ox>>2]=0;if(Ds){l[o[o[Ds>>2]+4>>2]](Ds)}if((ox|0)!=(px|0)){continue}break}qx=o[Ye+8>>2]}Ds=qx;o[rx>>2]=px;ul(Ds)}return Ye|0}function xg(Ye,sx){Ye=Ye|0;sx=sx|0;Ye=o[Ye+48>>2];return l[o[o[Ye>>2]+20>>2]](Ye,sx)|0}function yg(Ye){Ye=Ye|0;var sx=0,tx=0,ux=0,vx=0;sx=o[Ye+32>>2];ux=o[sx+16>>2];vx=o[sx+12>>2];tx=o[sx+20>>2];if((vx|0)>(tx|0)?1:(vx|0)>=(tx|0)?r[sx+8>>2]<=ux>>>0?0:1:0){vx=p[ux+o[sx>>2]|0];ux=ux+1|0;if(ux>>>0<1){tx=tx+1|0}o[sx+16>>2]=ux;o[sx+20>>2]=tx;sx=o[Ye+48>>2];o[Ye+48>>2]=0;if(sx){l[o[o[sx>>2]+4>>2]](sx)}a:{b:{if(vx>>>0>2){break b}c:{switch(vx-1|0){default:tx=Hk(384);Gg(tx);sx=o[Ye+48>>2];o[Ye+48>>2]=tx;if(!sx){break a}l[o[o[sx>>2]+4>>2]](sx);break b;case 0:break b;case 1:break c}}tx=Hk(440);fh(tx);sx=o[Ye+48>>2];o[Ye+48>>2]=tx;if(!sx){break a}l[o[o[sx>>2]+4>>2]](sx)}tx=o[Ye+48>>2];if(tx){break a}return 0}Ye=l[o[o[tx>>2]+8>>2]](tx,Ye)|0}else{Ye=0}return Ye|0}function zg(Ye){Ye=Ye|0;Ye=o[Ye+48>>2];return l[o[o[Ye>>2]+24>>2]](Ye)|0}function Ag(Ye){Ye=Ye|0;Ye=o[Ye+48>>2];return l[o[o[Ye>>2]+28>>2]](Ye)|0}function Bg(Ye){Ye=Ye|0;var wx=0,xx=0,yx=0,zx=0,Ax=0;o[Ye>>2]=8064;wx=Ye+48|0;xx=o[wx>>2];o[wx>>2]=0;if(xx){l[o[o[xx>>2]+4>>2]](xx)}o[Ye>>2]=10052;wx=o[Ye+20>>2];if(wx){o[Ye+24>>2]=wx;ul(wx)}xx=o[Ye+8>>2];if(xx){wx=xx;Ax=Ye+12|0;yx=o[Ax>>2];zx=wx;a:{if((wx|0)==(yx|0)){break a}while(1){yx=yx+ -4|0;wx=o[yx>>2];o[yx>>2]=0;if(wx){l[o[o[wx>>2]+4>>2]](wx)}if((xx|0)!=(yx|0)){continue}break}zx=o[Ye+8>>2]}wx=zx;o[Ax>>2]=xx;ul(wx)}return Ye|0} + + + +function Cg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;o[a>>2]=8064;b=a+48|0;c=o[b>>2];o[b>>2]=0;if(c){l[o[o[c>>2]+4>>2]](c)}o[a>>2]=10052;b=o[a+20>>2];if(b){o[a+24>>2]=b;ul(b)}c=o[a+8>>2];if(c){b=c;f=a+12|0;d=o[f>>2];e=b;a:{if((b|0)==(d|0)){break a}while(1){d=d+ -4|0;b=o[d>>2];o[d>>2]=0;if(b){l[o[o[b>>2]+4>>2]](b)}if((c|0)!=(d|0)){continue}break}e=o[a+8>>2]}b=e;o[f>>2]=c;ul(b)}ul(a)}function Dg(a){a=a|0;a=o[a+48>>2];return l[o[o[a>>2]+36>>2]](a)|0}function Eg(a,g){a=a|0;g=g|0;a=o[a+48>>2];return l[o[o[a>>2]+12>>2]](a,g)|0}function Fg(a,g){a=a|0;g=g|0;a=o[a+48>>2];return l[o[o[a>>2]+16>>2]](a,g)|0}function Gg(a){o[a>>2]=8172;xl(a+4|0,0,80);o[a+96>>2]=0;o[a+100>>2]=0;o[a+92>>2]=-1;o[a+84>>2]=-1;o[a+88>>2]=-1;o[a+104>>2]=0;o[a+108>>2]=0;o[a+112>>2]=0;o[a+116>>2]=0;o[a+120>>2]=0;o[a+124>>2]=0;o[a+128>>2]=0;o[a+132>>2]=0;o[a+136>>2]=0;o[a+140>>2]=0;o[a+144>>2]=0;o[a+148>>2]=0;o[a+156>>2]=0;o[a+160>>2]=0;o[a+152>>2]=1065353216;o[a+164>>2]=0;o[a+168>>2]=0;o[a+172>>2]=0;o[a+176>>2]=0;o[a+180>>2]=0;o[a+184>>2]=0;o[a+188>>2]=0;o[a+192>>2]=0;o[a+196>>2]=0;o[a+200>>2]=0;o[a+204>>2]=0;o[a+208>>2]=0;o[a+212>>2]=-1;o[a+216>>2]=0;o[a+220>>2]=0;o[a+224>>2]=0;Hg(a+232|0)}function Hg(a){oi(a);oi(a+40|0);Mf(a+80|0);oi(a+96|0);o[a+144>>2]=0;o[a+136>>2]=0;o[a+140>>2]=0}function Ig(a,g){a=a|0;g=g|0;o[a+4>>2]=g;return 1}function Jg(a,g){a=a|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;h=o[a+216>>2];k=a+220|0;if((h|0)!=o[k>>2]){while(1){a:{h=o[u(j,144)+h>>2];if((h|0)<0){break a}m=o[a+4>>2];i=o[m+8>>2];if((h|0)>=o[m+12>>2]-i>>2){break a}h=o[i+(h<<2)>>2];if((l[o[o[h>>2]+24>>2]](h)|0)<1){break a}i=0;while(1){if((l[o[o[h>>2]+20>>2]](h,i)|0)!=(g|0)){i=i+1|0;if((i|0)<(l[o[o[h>>2]+24>>2]](h)|0)){continue}break a}break}a=o[a+216>>2]+u(j,144)|0;return(p[a+100|0]?a+4|0:0)|0}j=j+1|0;h=o[a+216>>2];if(j>>>0<(o[k>>2]-h|0)/144>>>0){continue}break}}return 0}function Kg(a,g){a=a|0;g=g|0;var n=0,p=0,q=0,r=0,s=0;n=o[a+216>>2];r=a+220|0;if((n|0)!=o[r>>2]){while(1){a:{n=o[u(q,144)+n>>2];if((n|0)<0){break a}s=o[a+4>>2];p=o[s+8>>2];if((n|0)>=o[s+12>>2]-p>>2){break a}n=o[p+(n<<2)>>2];if((l[o[o[n>>2]+24>>2]](n)|0)<1){break a}p=0;while(1){if((l[o[o[n>>2]+20>>2]](n,p)|0)!=(g|0)){p=p+1|0;if((p|0)<(l[o[o[n>>2]+24>>2]](n)|0)){continue}break a}break}return(o[a+216>>2]+u(q,144)|0)+104|0}q=q+1|0;n=o[a+216>>2];if(q>>>0<(o[r>>2]-n|0)/144>>>0){continue}break}}return a+184|0}function Lg(a,g){a=a|0;g=g|0;var t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0;x=R-80|0;R=x;a:{b:{H=o[a+4>>2];t=o[H+32>>2];C=o[t+8>>2];B=o[t+16>>2];F=o[t+12>>2];v=F;z=o[t+20>>2];y=z;c:{if((v|0)<(y|0)?1:(v|0)<=(y|0)?C>>>0>B>>>0?0:1:0){break c}I=o[t>>2];E=p[I+B|0];v=z;A=B+1|0;if(A>>>0<1){v=v+1|0}y=t;o[t+16>>2]=A;o[t+20>>2]=v;if((F|0)<(v|0)?1:(F|0)<=(v|0)?C>>>0>A>>>0?0:1:0){break c}J=p[A+I|0];v=z;A=B+2|0;if(A>>>0<2){v=v+1|0}o[t+16>>2]=A;o[y+20>>2]=v;G=E<<24>>24;d:{if((G|0)>=0){y=o[a+216>>2];if((o[a+220>>2]-y|0)/144>>>0<=E>>>0){break c}y=y+u(E,144)|0;if(o[y>>2]<=-1){break d}break c}if(o[a+212>>2]>-1){break c}y=a+212|0}o[y>>2]=g;y=0;w=q[H+36>>1];if((w<<24|w<<8&16711680)>>>16>>>0>=258){w=0;if((F|0)<(v|0)?1:(F|0)<=(v|0)?C>>>0>A>>>0?0:1:0){break c}y=p[A+I|0];v=B+3|0;if(v>>>0<3){z=z+1|0}o[t+16>>2]=v;o[t+20>>2]=z}e:{f:{g:{if(!J){if((G|0)<=-1){t=a+184|0}else{t=o[a+216>>2]+u(E,144)|0;m[t+100|0]=0;t=t+104|0}w=0;if(y>>>0>1){break c}if(!(y-1)){break g}Mg(x+16|0,a,t);break f}w=0;if(y|(G|0)<0){break c}z=o[H+44>>2];w=o[a+216>>2];t=Hk(80);o[t>>2]=9636;o[t+76>>2]=0;o[t+68>>2]=z;v=t+12|0;o[v>>2]=0;o[v+4>>2]=0;o[t+4>>2]=0;y=t+20|0;o[y>>2]=0;o[y+4>>2]=0;F=t+28|0;B=F;o[B>>2]=0;o[B+4>>2]=0;o[t+36>>2]=0;o[t+40>>2]=0;B=t+44|0;o[B>>2]=0;o[B+4>>2]=0;o[t+52>>2]=0;w=w+u(E,144)|0;E=w+104|0;o[t+72>>2]=E;o[t- -64>>2]=0;H=t+56|0;C=H;o[C>>2]=0;o[C+4>>2]=0;o[t+8>>2]=8512;C=x+56|0;o[C>>2]=0;o[C+4>>2]=0;o[x+48>>2]=0;o[x+52>>2]=0;I=x+32|0;A=I;o[A>>2]=0;o[A+4>>2]=0;o[x+72>>2]=0;o[x+40>>2]=0;o[x+44>>2]=0;o[x+24>>2]=0;o[x+28>>2]=0;o[x+64>>2]=0;o[x+68>>2]=0;o[x+16>>2]=8512;A=w+4|0;o[x+20>>2]=A;w=o[w+68>>2];G=o[w>>2];w=o[w+4>>2];m[x+79|0]=0;$a(x+40|0,(w-G>>2>>>0)/3|0,x+79|0);w=o[x+20>>2];G=o[w+56>>2];w=o[w+52>>2];m[x+79|0]=0;$a(x+52|0,G-w>>2,x+79|0);o[x+36>>2]=t;o[I>>2]=z;z=x+28|0;o[z>>2]=E;o[x+24>>2]=A;o[F>>2]=t;w=o[z+4>>2];o[y>>2]=o[z>>2];o[y+4>>2]=w;z=o[x+24>>2];o[v>>2]=o[x+20>>2];o[v+4>>2]=z;z=t;w=o[x+44>>2];if(w){v=t+32|0;h:{if(w>>>0<=o[t+40>>2]<<5>>>0){y=w+ -1>>>5;w=o[v>>2];break h}v=o[v>>2];if(v){ul(v);o[t+40>>2]=0;o[t+32>>2]=0;o[t+36>>2]=0;w=o[x+44>>2]}if((w|0)<=-1){break b}y=w+ -1>>>5;v=y+1|0;w=Hk(v<<2);o[t+40>>2]=v;o[t+36>>2]=0;o[t+32>>2]=w}yl(w,o[x+40>>2],(y<<2)+4|0);v=o[x+44>>2]}else{v=0}o[z+36>>2]=v;z=t;w=o[C>>2];if(w){i:{if(w>>>0<=o[t+52>>2]<<5>>>0){v=w+ -1>>>5;w=o[B>>2];break i}v=o[B>>2];if(v){ul(v);o[t+52>>2]=0;o[t+44>>2]=0;o[t+48>>2]=0;w=o[x+56>>2]}if((w|0)<=-1){break a}v=w+ -1>>>5;y=v+1|0;w=Hk(y<<2);o[t+52>>2]=y;o[t+48>>2]=0;o[t+44>>2]=w}yl(w,o[x+52>>2],(v<<2)+4|0);v=o[x+56>>2]}else{v=0}o[z+48>>2]=v;td(H,o[x+64>>2],o[x+68>>2]);o[x+16>>2]=8512;z=o[x+64>>2];if(z){o[x+68>>2]=z;ul(z)}o[x+16>>2]=8764;z=o[x+52>>2];if(z){ul(z)}z=o[x+40>>2];if(!z){break e}ul(z);break e}Ng(x+16|0,a,t)}t=o[x+16>>2];if(!t){break c}}z=Hk(64);o[x+8>>2]=t;Qd(z,x+8|0);t=o[x+8>>2];o[x+8>>2]=0;if(t){l[o[o[t>>2]+4>>2]](t)}if((g|0)>=0){a=o[a+4>>2];w=a+8|0;t=o[a+12>>2];E=o[a+8>>2];v=t-E>>2;j:{if((v|0)>(g|0)){break j}y=g+1|0;if(v>>>0<=g>>>0){Og(w,y-v|0);break j}if(y>>>0>=v>>>0){break j}y=E+(y<<2)|0;if((y|0)!=(t|0)){while(1){t=t+ -4|0;v=o[t>>2];o[t>>2]=0;if(v){l[o[o[v>>2]+4>>2]](v)}if((t|0)!=(y|0)){continue}break}}o[a+12>>2]=y}g=o[w>>2]+(g<<2)|0;a=o[g>>2];o[g>>2]=z;w=1;if(!a){break c}l[o[o[a>>2]+4>>2]](a);break c}l[o[o[z>>2]+4>>2]](z);w=0}R=x+80|0;return w|0}Yk();D()}Yk();D()}function Mg(a,g,l){var u=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,S=0,T=0,U=0,V=0;u=R+ -64|0;R=u;L=o[o[g+4>>2]+44>>2];K=Hk(80);o[K>>2]=9344;o[K+76>>2]=0;o[K+72>>2]=l;o[K+68>>2]=L;M=K+12|0;o[M>>2]=0;o[M+4>>2]=0;o[K+4>>2]=0;Q=K+20|0;N=Q;o[N>>2]=0;o[N+4>>2]=0;T=K+28|0;N=T;o[N>>2]=0;o[N+4>>2]=0;o[K+36>>2]=0;o[K+40>>2]=0;N=K+44|0;o[N>>2]=0;o[N+4>>2]=0;o[K+52>>2]=0;o[K- -64>>2]=0;U=K+56|0;P=U;o[P>>2]=0;o[P+4>>2]=0;o[K+8>>2]=9508;g=o[g+8>>2];P=u+40|0;o[P>>2]=0;o[P+4>>2]=0;o[u+32>>2]=0;o[u+36>>2]=0;V=u+16|0;O=V;o[O>>2]=0;o[O+4>>2]=0;o[u+56>>2]=0;o[u+24>>2]=0;o[u+28>>2]=0;o[u+8>>2]=0;o[u+12>>2]=0;o[u+48>>2]=0;o[u+52>>2]=0;o[u>>2]=9508;o[u+4>>2]=g;O=o[g>>2];S=o[g+4>>2];m[u+63|0]=0;$a(u+24|0,(S-O>>2>>>0)/3|0,u+63|0);O=o[u+4>>2];S=o[O+28>>2];O=o[O+24>>2];m[u+63|0]=0;$a(u+36|0,S-O>>2,u+63|0);o[u+20>>2]=K;o[V>>2]=L;L=u+12|0;o[L>>2]=l;o[u+8>>2]=g;o[T>>2]=K;g=o[L+4>>2];o[Q>>2]=o[L>>2];o[Q+4>>2]=g;g=o[u+8>>2];o[M>>2]=o[u+4>>2];o[M+4>>2]=g;a:{b:{l=K;g=o[u+28>>2];if(g){L=K+32|0;c:{if(g>>>0<=o[K+40>>2]<<5>>>0){M=g+ -1>>>5;g=o[L>>2];break c}L=o[L>>2];if(L){ul(L);o[K+40>>2]=0;o[K+32>>2]=0;o[K+36>>2]=0;g=o[u+28>>2]}if((g|0)<=-1){break b}M=g+ -1>>>5;L=M+1|0;g=Hk(L<<2);o[K+40>>2]=L;o[K+36>>2]=0;o[K+32>>2]=g}yl(g,o[u+24>>2],(M<<2)+4|0);g=o[u+28>>2]}else{g=0}o[l+36>>2]=g;Q=K;g=o[P>>2];if(g){d:{if(g>>>0<=o[K+52>>2]<<5>>>0){l=g+ -1>>>5;g=o[N>>2];break d}l=o[N>>2];if(l){ul(l);o[K+52>>2]=0;o[K+44>>2]=0;o[K+48>>2]=0;g=o[u+40>>2]}if((g|0)<=-1){break a}l=g+ -1>>>5;M=l+1|0;g=Hk(M<<2);o[K+52>>2]=M;o[K+48>>2]=0;o[K+44>>2]=g}yl(g,o[u+36>>2],(l<<2)+4|0);g=o[u+40>>2]}else{g=0}o[Q+48>>2]=g;td(U,o[u+48>>2],o[u+52>>2]);o[a>>2]=K;o[u>>2]=9508;a=o[u+48>>2];if(a){o[u+52>>2]=a;ul(a)}o[u>>2]=9324;a=o[u+36>>2];if(a){ul(a)}a=o[u+24>>2];if(a){ul(a)}R=u- -64|0;return}Yk();D()}Yk();D()}function Ng(a,g,l){var D=0,W=0,X=0,Y=0,Z=0,_=0,$=0;D=R-112|0;R=D;$=o[o[g+4>>2]+44>>2];W=Hk(120);o[W>>2]=8876;o[W+116>>2]=0;o[W+112>>2]=l;o[W+108>>2]=$;o[W+12>>2]=0;o[W+16>>2]=0;o[W+4>>2]=0;o[W+20>>2]=0;o[W+24>>2]=0;o[W+28>>2]=0;o[W+32>>2]=0;o[W+36>>2]=0;o[W+40>>2]=0;o[W+44>>2]=0;o[W+48>>2]=0;o[W+52>>2]=0;o[W+56>>2]=0;o[W+60>>2]=0;o[W+8>>2]=9088;Z=W- -64|0;o[Z>>2]=0;o[Z+4>>2]=0;o[W+72>>2]=0;o[W+76>>2]=0;o[W+80>>2]=0;o[W+84>>2]=0;o[W+88>>2]=0;o[W+104>>2]=0;o[W+96>>2]=0;o[W+100>>2]=0;g=o[g+8>>2];o[D+48>>2]=0;o[D+52>>2]=0;o[D+40>>2]=0;o[D+44>>2]=0;Z=D+24|0;X=Z;o[X>>2]=0;o[X+4>>2]=0;X=D- -64|0;o[X>>2]=0;o[X+4>>2]=0;o[D+72>>2]=0;o[D+76>>2]=0;X=D+80|0;o[X>>2]=0;o[X+4>>2]=0;o[D+88>>2]=0;o[D+104>>2]=0;o[D+32>>2]=0;o[D+36>>2]=0;o[D+16>>2]=0;o[D+20>>2]=0;o[D+56>>2]=0;o[D+60>>2]=0;o[D+8>>2]=9088;o[D+96>>2]=0;o[D+100>>2]=0;o[D+12>>2]=g;Y=o[g>>2];_=o[g+4>>2];m[D+111|0]=0;$a(D+32|0,(_-Y>>2>>>0)/3|0,D+111|0);Y=o[D+12>>2];_=o[Y+28>>2];Y=o[Y+24>>2];m[D+111|0]=0;$a(D+44|0,_-Y>>2,D+111|0);o[D+28>>2]=W;o[Z>>2]=$;o[D+20>>2]=l;o[D+16>>2]=g;Pg(W,D+8|0);o[a>>2]=W;o[D+8>>2]=9088;a=o[D+96>>2];if(a){o[D+100>>2]=a;ul(a)}a=o[X>>2];if(a){o[D+84>>2]=a;ul(a)}a=o[D+68>>2];if(a){o[D+72>>2]=a;ul(a)}a=o[D+56>>2];if(a){o[D+60>>2]=a;ul(a)}o[D+8>>2]=9324;a=o[D+44>>2];if(a){ul(a)}a=o[D+32>>2];if(a){ul(a)}R=D+112|0}function Og(a,g){var R=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;aa=o[a+8>>2];ba=a+4|0;R=o[ba>>2];if(aa-R>>2>>>0>=g>>>0){a=g<<2;ga=ba,ha=xl(R,0,a)+a|0,o[ga>>2]=ha;return}a:{ba=o[a>>2];ca=R-ba>>2;da=ca+g|0;if(da>>>0<1073741824){ca=ca<<2;aa=aa-ba|0;fa=aa>>1;aa=aa>>2>>>0<536870911?fa>>>0>>0?da:fa:1073741823;if(aa){if(aa>>>0>=1073741824){break a}ea=Hk(aa<<2)}ca=ca+ea|0;xl(ca,0,g<<2);g=(da<<2)+ea|0;da=(aa<<2)+ea|0;if((R|0)!=(ba|0)){while(1){R=R+ -4|0;aa=o[R>>2];o[R>>2]=0;ca=ca+ -4|0;o[ca>>2]=aa;if((R|0)!=(ba|0)){continue}break}ba=o[a>>2];R=o[a+4>>2]}o[a>>2]=ca;o[a+8>>2]=da;o[a+4>>2]=g;if((R|0)!=(ba|0)){while(1){R=R+ -4|0;a=o[R>>2];o[R>>2]=0;if(a){l[o[o[a>>2]+4>>2]](a)}if((R|0)!=(ba|0)){continue}break}}if(ba){ul(ba)}return}Yk();D()}_a(8776);D()}function Pg(a,g){var l=0;l=o[g+8>>2];o[a+12>>2]=o[g+4>>2];o[a+16>>2]=l;o[a+28>>2]=o[g+20>>2];l=o[g+16>>2];o[a+20>>2]=o[g+12>>2];o[a+24>>2]=l;uh(a+32|0,g+24|0);uh(a+44|0,g+36|0);if((a+8|0)==(g|0)){o[a+92>>2]=o[g+84>>2];return}td(a+56|0,o[g+48>>2],o[g+52>>2]);td(a+68|0,o[g+60>>2],o[g- -64>>2]);td(a+80|0,o[g+72>>2],o[g+76>>2]);o[a+92>>2]=o[g+84>>2];fd(a+96|0,o[g+88>>2],o[g+92>>2])}function Qg(a,g,ia){a=a|0;g=g|0;ia=ia|0;var ja=0,ka=0;ja=R-16|0;R=ja;o[a+4>>2]=g;g=o[g+64>>2];ka=o[g+4>>2];g=o[g>>2];m[ja+15|0]=0;$a(a+24|0,(ka-g>>2>>>0)/3|0,ja+15|0);g=o[a+4>>2];ka=o[g+56>>2];g=o[g+52>>2];m[ja+14|0]=0;$a(a+36|0,ka-g>>2,ja+14|0);g=o[ia+12>>2];o[a+16>>2]=o[ia+8>>2];o[a+20>>2]=g;g=o[ia+4>>2];o[a+8>>2]=o[ia>>2];o[a+12>>2]=g;R=ja+16|0}function Rg(a){a=a|0;var g=0;o[a>>2]=8512;g=o[a+48>>2];if(g){o[a+52>>2]=g;ul(g)}o[a>>2]=8764;g=o[a+36>>2];if(g){ul(g)}g=o[a+24>>2];if(g){ul(g)}return a|0}function Sg(a){a=a|0;var ia=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,va=0,wa=0,xa=0,ya=0;qa=R+ -64|0;R=qa;o[a+132>>2]=0;if(o[a+148>>2]){ma=a+144|0;la=o[ma>>2];if(la){while(1){ia=o[la>>2];ul(la);la=ia;if(ia){continue}break}}o[ma>>2]=0;ia=o[a+140>>2];if(ia){ma=a+136|0;la=0;while(1){o[o[ma>>2]+(la<<2)>>2]=0;la=la+1|0;if((ia|0)!=(la|0)){continue}break}}o[a+148>>2]=0}a:{if(!Tg(1,qa+52|0,o[o[a+4>>2]+32>>2])){break a}o[a+156>>2]=o[qa+52>>2];if(!Tg(1,qa+48|0,o[o[a+4>>2]+32>>2])){break a}na=o[qa+48>>2];if(na>>>0>1431655765|r[a+156>>2]>u(na,3)>>>0){break a}la=o[o[a+4>>2]+32>>2];ra=o[la+16>>2];ma=o[la+12>>2];ia=o[la+20>>2];if((ma|0)<(ia|0)?1:(ma|0)<=(ia|0)?r[la+8>>2]>ra>>>0?0:1:0){break a}pa=p[ra+o[la>>2]|0];ra=ra+1|0;if(ra>>>0<1){ia=ia+1|0}o[la+16>>2]=ra;o[la+20>>2]=ia;if(!Tg(1,qa+44|0,la)){break a}ta=o[qa+44>>2];if(na>>>0>>0|na>>>0>ta+((ta>>>0)/3|0)>>>0){break a}if(!Tg(1,qa+40|0,o[o[a+4>>2]+32>>2])){break a}sa=o[qa+40>>2];if(sa>>>0>ta>>>0){break a}o[a+28>>2]=o[a+24>>2];ia=Hk(88);zi(ia);la=o[a+8>>2];o[a+8>>2]=ia;ra=a+8|0;if(la){ua(ra,la);if(!o[ra>>2]){break a}}la=o[a+160>>2];o[a+164>>2]=la;b:{c:{d:{e:{f:{if(o[a+168>>2]-la>>2>>>0>=na>>>0){break f}if(na>>>0>=1073741824){break e}ma=na<<2;ia=Hk(ma);o[a+164>>2]=ia;o[a+160>>2]=ia;o[a+168>>2]=ia+ma;if(!la){break f}ul(la)}la=o[a+172>>2];o[a+176>>2]=la;g:{if(o[a+180>>2]-la>>2>>>0>=na>>>0){break g}if(na>>>0>=1073741824){break d}ma=na<<2;ia=Hk(ma);o[a+176>>2]=ia;o[a+172>>2]=ia;o[a+180>>2]=ia+ma;if(!la){break g}ul(la)}o[a+92>>2]=-1;o[a+84>>2]=-1;o[a+88>>2]=-1;o[a+40>>2]=o[a+36>>2];o[a- -64>>2]=0;o[a+52>>2]=o[a+48>>2];o[a+76>>2]=o[a+72>>2];va=a+216|0;ia=o[a+220>>2];la=o[a+216>>2];if((ia|0)==(la|0)){break c}while(1){ma=o[ia+ -12>>2];if(ma){o[ia+ -8>>2]=ma;ul(ma)}ma=o[ia+ -28>>2];if(ma){o[ia+ -24>>2]=ma;ul(ma)}ma=ia+ -144|0;oa=o[ia+ -40>>2];if(oa){o[ia+ -36>>2]=oa;ul(oa)}Ug(ia+ -140|0);ia=ma;if((la|0)!=(ia|0)){continue}break}ia=o[va>>2];break b}_a(8776);D()}_a(8776);D()}ia=la}o[a+220>>2]=la;ma=(la-ia|0)/144|0;h:{if(ma>>>0>>0){Vg(va,pa-ma|0);break h}if(ma>>>0<=pa>>>0){break h}ma=ia+u(pa,144)|0;if((ma|0)!=(la|0)){while(1){ia=o[la+ -12>>2];if(ia){o[la+ -8>>2]=ia;ul(ia)}ia=o[la+ -28>>2];if(ia){o[la+ -24>>2]=ia;ul(ia)}ia=la+ -144|0;oa=o[la+ -40>>2];if(oa){o[la+ -36>>2]=oa;ul(oa)}Ug(la+ -140|0);la=ia;if((ia|0)!=(ma|0)){continue}break}}o[a+220>>2]=ma}oa=0;if(!Ji(o[a+8>>2],na,sa+o[a+156>>2]|0)){break a}la=o[a+156>>2];m[qa|0]=1;$a(a+120|0,la+sa|0,qa);if((Wg(a,o[o[a+4>>2]+32>>2])|0)==-1){break a}o[a+376>>2]=a;na=a+232|0;la=o[(l[o[o[a>>2]+32>>2]](a)|0)+32>>2];oa=o[la>>2]+o[la+16>>2]|0;ma=o[(l[o[o[a>>2]+32>>2]](a)|0)+32>>2];la=o[ma+8>>2];ia=o[ma+16>>2];pi(na,oa,la-ia|0,q[o[(l[o[o[a>>2]+32>>2]](a)|0)+32>>2]+38>>1]);o[a+372>>2]=pa;la=oi(qa);ia=o[a+268>>2];o[a+304>>2]=o[a+264>>2];o[a+308>>2]=ia;ia=o[a+260>>2];o[a+296>>2]=o[a+256>>2];o[a+300>>2]=ia;ma=a+248|0;ia=o[ma+4>>2];o[a+288>>2]=o[ma>>2];o[a+292>>2]=ia;oa=a+240|0;ia=oa;pa=o[ia+4>>2];o[a+280>>2]=o[ia>>2];o[a+284>>2]=pa;ia=o[a+236>>2];pa=a+272|0;o[pa>>2]=o[a+232>>2];o[pa+4>>2]=ia;i:{j:{if(qi(pa,1,qa+56|0)){ia=o[pa+4>>2];o[na>>2]=o[pa>>2];o[na+4>>2]=ia;ia=o[pa+36>>2];o[na+32>>2]=o[pa+32>>2];o[na+36>>2]=ia;ia=o[pa+28>>2];o[na+24>>2]=o[pa+24>>2];o[na+28>>2]=ia;ia=o[pa+20>>2];o[na+16>>2]=o[pa+16>>2];o[na+20>>2]=ia;ia=o[pa+12>>2];o[na+8>>2]=o[pa+8>>2];o[na+12>>2]=ia;sa=o[oa>>2];ia=o[ma>>2];xa=sa-ia|0;wa=o[qa+60>>2];ya=o[oa+4>>2];oa=o[ma+4>>2];ma=ya-(oa+(sa>>>0>>0)|0)|0;sa=o[qa+56>>2];if((wa|0)==(ma|0)&sa>>>0<=xa>>>0|wa>>>0>>0){break j}}oa=0;break i}oa=oa+wa|0;sa=ia+sa|0;if(sa>>>0>>0){oa=oa+1|0}o[a+248>>2]=sa;o[a+252>>2]=oa;oa=0;if(!Nf(a+312|0,na)){break i}if(!Xg(na)){break i}ia=o[na+36>>2];o[qa+32>>2]=o[na+32>>2];o[qa+36>>2]=ia;ia=o[na+28>>2];o[qa+24>>2]=o[na+24>>2];o[qa+28>>2]=ia;ia=o[na+20>>2];o[qa+16>>2]=o[na+16>>2];o[qa+20>>2]=ia;ia=o[na+12>>2];o[qa+8>>2]=o[na+8>>2];o[qa+12>>2]=ia;ia=o[na+4>>2];o[qa>>2]=o[na>>2];o[qa+4>>2]=ia;ta=Yg(a,ta);if((ta|0)==-1){break i}ma=o[o[a+4>>2]+32>>2];ia=o[la+16>>2];na=ia+o[la>>2]|0;la=o[la+8>>2];pi(ma,na,la-ia|0,q[ma+38>>1]);k:{if(o[a+220>>2]==o[a+216>>2]){break k}la=o[ra>>2];if(o[la+4>>2]==o[la>>2]){break k}ia=0;while(1){if(Zg(a,ia)){ia=ia+3|0;la=o[ra>>2];if(ia>>>0>2]-o[la>>2]>>2>>>0){continue}break k}break}break i}if(p[a+308|0]){si(pa)}la=o[a+216>>2];pa=a+220|0;if((la|0)!=o[pa>>2]){ma=0;while(1){na=u(ma,144);Ui((na+la|0)+4|0,o[ra>>2]);ia=o[va>>2];oa=na+ia|0;la=o[oa+132>>2];oa=o[oa+136>>2];if((la|0)!=(oa|0)){while(1){Wi((ia+na|0)+4|0,o[la>>2]);ia=o[va>>2];la=la+4|0;if((oa|0)!=(la|0)){continue}break}}Vi((ia+na|0)+4|0);ma=ma+1|0;la=o[a+216>>2];if(ma>>>0<(o[pa>>2]-la|0)/144>>>0){continue}break}}la=o[a+8>>2];_g(a+184|0,o[la+28>>2]-o[la+24>>2]>>2);ia=o[a+216>>2];if((ia|0)!=o[pa>>2]){la=0;na=a+220|0;while(1){ia=u(la,144)+ia|0;ma=o[ia+60>>2]-o[ia+56>>2]>>2;pa=ia+104|0;ia=o[ra>>2];ia=o[ia+28>>2]-o[ia+24>>2]>>2;_g(pa,(ma|0)<(ia|0)?ia:ma);la=la+1|0;ia=o[a+216>>2];if(la>>>0<(o[na>>2]-ia|0)/144>>>0){continue}break}}oa=$g(a,ta)}}R=qa- -64|0;return oa|0}function Tg(a,ua,za){var Aa=0,Ba=0,Ca=0,Da=0;a:{if(a>>>0>5){break a}Ca=o[za+16>>2];Aa=o[za+12>>2];Ba=o[za+20>>2];if((Aa|0)<(Ba|0)?1:(Aa|0)<=(Ba|0)?r[za+8>>2]>Ca>>>0?0:1:0){break a}Aa=p[Ca+o[za>>2]|0];Ca=Ca+1|0;if(Ca>>>0<1){Ba=Ba+1|0}o[za+16>>2]=Ca;o[za+20>>2]=Ba;Ba=ua;if(Aa&128){if(!Tg(a+1|0,ua,za)){break a}a=o[ua>>2]<<7;o[ua>>2]=a;Aa=a|Aa&127}o[Ba>>2]=Aa;Da=1}return Da}function Ug(a){var ua=0;ua=o[a+84>>2];if(ua){o[a+88>>2]=ua;ul(ua)}ua=o[a+72>>2];if(ua){o[a+76>>2]=ua;ul(ua)}ua=o[a+52>>2];if(ua){o[a+56>>2]=ua;ul(ua)}ua=o[a+40>>2];if(ua){o[a+44>>2]=ua;ul(ua)}ua=o[a+28>>2];if(ua){o[a+32>>2]=ua;ul(ua)}ua=o[a+12>>2];if(ua){ul(ua)}a=o[a>>2];if(a){ul(a)}}function Vg(a,za){var Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0;Fa=R-32|0;R=Fa;a:{b:{Ga=o[a+8>>2];Ha=a+4|0;Ea=o[Ha>>2];c:{if((Ga-Ea|0)/144>>>0>=za>>>0){while(1){o[Ea>>2]=-1;Ti(Ea+4|0);o[Ea+104>>2]=0;o[Ea+108>>2]=0;m[Ea+100|0]=1;o[Ea+112>>2]=0;o[Ea+116>>2]=0;o[Ea+120>>2]=0;o[Ea+124>>2]=0;o[Ea+128>>2]=0;o[Ea+132>>2]=0;o[Ea+136>>2]=0;o[Ea+140>>2]=0;Ea=o[Ha>>2]+144|0;o[Ha>>2]=Ea;za=za+ -1|0;if(za){continue}break c}}Ia=o[a>>2];Ja=(Ea-Ia|0)/144|0;Ea=Ja+za|0;if(Ea>>>0>=29826162){break b}o[Fa+24>>2]=a+8;Ha=0;o[Fa+20>>2]=0;Ga=(Ga-Ia|0)/144|0;Ia=Ga<<1;Ga=Ga>>>0<14913080?Ia>>>0>>0?Ea:Ia:29826161;if(Ga){if(Ga>>>0>=29826162){break a}Ha=Hk(u(Ga,144))}o[Fa+8>>2]=Ha;Ea=u(Ja,144)+Ha|0;o[Fa+16>>2]=Ea;o[Fa+20>>2]=u(Ga,144)+Ha;o[Fa+12>>2]=Ea;while(1){o[Ea>>2]=-1;Ti(Ea+4|0);o[Ea+104>>2]=0;o[Ea+108>>2]=0;m[Ea+100|0]=1;o[Ea+112>>2]=0;o[Ea+116>>2]=0;o[Ea+120>>2]=0;o[Ea+124>>2]=0;o[Ea+128>>2]=0;o[Ea+132>>2]=0;o[Ea+136>>2]=0;o[Ea+140>>2]=0;Ea=o[Fa+16>>2]+144|0;o[Fa+16>>2]=Ea;za=za+ -1|0;if(za){continue}break}za=o[a+4>>2];Ga=o[a>>2];d:{if((za|0)==(Ga|0)){Ha=o[Fa+12>>2];break d}Ha=o[Fa+12>>2];while(1){za=za+ -144|0;Ha=Qh(Ha+ -144|0,za);if((za|0)!=(Ga|0)){continue}break}o[Fa+12>>2]=Ha;za=o[a+4>>2];Ga=o[a>>2]}o[a>>2]=Ha;o[Fa+12>>2]=Ga;o[a+4>>2]=Ea;o[Fa+16>>2]=za;a=a+8|0;za=o[a>>2];o[a>>2]=o[Fa+20>>2];o[Fa+8>>2]=Ga;o[Fa+20>>2]=za;Rh(Fa+8|0)}R=Fa+32|0;return}Yk();D()}_a(8776);D()}function Wg(a,za){var Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0;Ma=R-32|0;R=Ma;Pa=-1;a:{if(!Tg(1,Ma+28|0,za)){break a}Qa=o[Ma+28>>2];if(Qa){La=o[a+8>>2];if(Qa>>>0>(o[La+4>>2]-o[La>>2]>>2>>>0)/3>>>0){break a}Ta=a+36|0;Ra=a+44|0;La=a+40|0;while(1){Tg(1,Ma+12|0,za);o[Ma+20>>2]=o[Ma+12>>2]+Oa;Tg(1,Ma+12|0,za);Oa=o[Ma+20>>2];Ka=o[Ma+12>>2];if(Oa>>>0>>0){break a}o[Ma+16>>2]=Oa-Ka;Ka=o[La>>2];b:{if((Ka|0)!=o[Ra>>2]){Sa=o[Ma+20>>2];o[Ka>>2]=o[Ma+16>>2];o[Ka+4>>2]=Sa;o[Ka+8>>2]=o[Ma+24>>2];o[La>>2]=o[La>>2]+12;break b}ah(Ta,Ma+16|0)}Na=Na+1|0;if((Qa|0)!=(Na|0)){continue}break}Oa=0;qi(za,0,0);Ta=a+36|0;while(1){La=p[za+36|0];Ka=q[o[a+4>>2]+36>>1];c:{if((Ka<<24|Ka<<8&16711680)>>>16>>>0<=513){if(!La){break c}Na=0;La=o[za+32>>2];Pa=La>>>3;Ra=o[za+24>>2];Ka=Pa+Ra|0;Sa=o[za+28>>2];d:{if(Ka>>>0>=Sa>>>0){Ka=La;break d}Na=p[Ka|0];Ka=La+1|0;o[za+32>>2]=Ka;Pa=Ka>>>3;Na=Na>>>(La&7)&1}if(Pa+Ra>>>0>=Sa>>>0){break c}o[za+32>>2]=Ka+1;break c}if(!La){break c}Na=0;La=o[za+32>>2];Ka=o[za+24>>2]+(La>>>3)|0;if(Ka>>>0>=r[za+28>>2]){break c}Ka=p[Ka|0];o[za+32>>2]=La+1;Na=Ka>>>(La&7)&1}La=o[Ta>>2]+u(Oa,12)|0;m[La+8|0]=p[La+8|0]&254|Na&1;Oa=Oa+1|0;if((Qa|0)!=(Oa|0)){continue}break}si(za)}Pa=o[za+16>>2]}R=Ma+32|0;return Pa}function Xg(a){var za=0,Ua=0,Va=0,Wa=0;Ua=1;Va=o[a+140>>2];a:{if((Va|0)<1){break a}za=Va<<4;Ua=Hk((Va|0)!=(Va&268435455)?-1:za|4);o[Ua>>2]=Va;Ua=Ua+4|0;Va=Ua+za|0;za=Ua;while(1){za=Mf(za)+16|0;if((Va|0)!=(za|0)){continue}break}Wa=o[a+136>>2];o[a+136>>2]=Ua;if(Wa){Va=Wa+ -4|0;Ua=o[Va>>2];if(Ua){za=Wa+(Ua<<4)|0;while(1){za=za+ -16|0;if((Wa|0)!=(za|0)){continue}break}}ul(Va)}Ua=1;if(o[a+140>>2]<1){break a}Ua=0;za=0;while(1){if(!Nf(o[a+136>>2]+(za<<4)|0,a)){break a}za=za+1|0;if((za|0)>2]){continue}break}Ua=1}return Ua}function Yg(a,Xa){var Ya=0,Za=0,_a=0,$a=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0;$a=R-96|0;R=$a;o[$a+72>>2]=0;o[$a+64>>2]=0;o[$a+68>>2]=0;o[$a+48>>2]=0;o[$a+52>>2]=0;o[$a+40>>2]=0;o[$a+44>>2]=0;o[$a+56>>2]=1065353216;o[$a+32>>2]=0;o[$a+24>>2]=0;o[$a+28>>2]=0;rb=o[a+124>>2];a:{b:{c:{d:{if((Xa|0)>=1){qb=a+8|0;nb=o[a+216>>2]!=o[a+220>>2];ob=a+40|0;while(1){e:{f:{g:{h:{i:{j:{k:{if(!p[a+308|0]){break k}l:{m:{eb=o[a+296>>2];gb=o[a+304>>2];Ya=eb+(gb>>>3)|0;cb=o[a+300>>2];if(Ya>>>0>=cb>>>0){break m}Ya=p[Ya|0];Za=gb+1|0;o[a+304>>2]=Za;if(!(Ya>>>(gb&7)&1)){break m}Ya=Za>>>3;_a=eb+Ya|0;n:{if(_a>>>0>=cb>>>0){_a=Za;Za=0;break n}db=p[_a|0];_a=gb+2|0;o[a+304>>2]=_a;Ya=_a>>>3;Za=db>>>(Za&7)&1}Ya=Ya+eb|0;if(Ya>>>0>>0){Ya=p[Ya|0];o[a+304>>2]=_a+1;Ya=Ya>>>(_a&7)<<1&2}else{Ya=0}Ya=(Za|Ya)<<1|1;switch(Ya+ -2|0){case 0:case 2:case 4:break h;case 5:break j;case 1:case 3:break l;default:break k}}Za=o[$a+68>>2];if((Za|0)==o[$a+64>>2]){break d}eb=-1;ib=o[qb>>2];cb=o[ib+24>>2];_a=cb;db=Za+ -4|0;lb=o[db>>2];Ya=-1;o:{if((lb|0)==-1){break o}Za=lb+1|0;Za=(Za>>>0)%3|0?Za:lb+ -2|0;Ya=-1;if((Za|0)==-1){break o}Ya=o[o[ib>>2]+(Za<<2)>>2]}_a=o[_a+(Ya<<2)>>2];if((_a|0)!=-1){Za=_a+1|0;eb=(Za>>>0)%3|0?Za:_a+ -2|0}_a=o[ib+12>>2];jb=u(bb,3);Za=jb+1|0;o[_a+(lb<<2)>>2]=Za;Za=Za<<2;o[Za+_a>>2]=lb;hb=jb+2|0;o[_a+(eb<<2)>>2]=hb;gb=hb<<2;o[gb+_a>>2]=eb;kb=o[ib>>2];o[kb+(jb<<2)>>2]=Ya;_a=Za+kb|0;fb=-1;p:{if((eb|0)==-1){break p}Za=eb+1|0;Za=(Za>>>0)%3|0?Za:eb+ -2|0;fb=-1;if((Za|0)==-1){break p}fb=o[kb+(Za<<2)>>2]}o[_a>>2]=fb;q:{r:{if((lb|0)!=-1){Za=lb+((lb>>>0)%3|0?-1:2)|0;if((Za|0)!=-1){break r}}o[gb+kb>>2]=-1;break q}Za=o[kb+(Za<<2)>>2];o[gb+kb>>2]=Za;if((Za|0)==-1){break q}o[cb+(Za<<2)>>2]=hb}_a=o[a+120>>2]+(Ya>>>3&536870908)|0;Za=o[_a>>2];sb=_a,tb=Zl(Ya)&Za,o[sb>>2]=tb;o[db>>2]=jb;break e}_a=o[$a+68>>2];if((_a|0)==o[$a+64>>2]){break d}gb=o[qb>>2];Za=o[gb+12>>2];hb=u(bb,3);eb=(Ya|0)==5;cb=hb+(eb?2:1)|0;Ya=cb<<2;kb=o[_a+ -4>>2];o[Za+Ya>>2]=kb;o[Za+(kb<<2)>>2]=cb;db=gb+24|0;_a=gb+28|0;Za=o[_a>>2];s:{if((Za|0)!=o[gb+32>>2]){o[Za>>2]=-1;ib=Za+4|0;o[_a>>2]=ib;break s}bh(db,8212);ib=o[_a>>2]}_a=-1;Za=o[qb>>2];gb=o[Za+24>>2];if(o[Za+28>>2]-gb>>2>(rb|0)){break c}_a=hb+2|0;jb=o[Za>>2];fb=jb+Ya|0;Za=ib-o[db>>2]|0;Ya=(Za>>2)+ -1|0;o[fb>>2]=Ya;if(Za){o[gb+(Ya<<2)>>2]=cb}_a=eb?hb:_a;Za=jb+(eb+hb<<2)|0;t:{u:{v:{if((kb|0)!=-1){Ya=kb+((kb>>>0)%3|0?-1:2)|0;if((Ya|0)==-1){break v}Ya=o[jb+(Ya<<2)>>2];o[jb+(_a<<2)>>2]=Ya;if((Ya|0)==-1){break u}o[gb+(Ya<<2)>>2]=_a;break u}o[jb+(_a<<2)>>2]=-1;_a=-1;break t}o[jb+(_a<<2)>>2]=-1}Ya=kb+1|0;Ya=(Ya>>>0)%3|0?Ya:kb+ -2|0;_a=-1;if((Ya|0)==-1){break t}_a=o[jb+(Ya<<2)>>2]}o[Za>>2]=_a;o[o[$a+68>>2]+ -4>>2]=hb;break i}_a=-1;Ya=o[$a+68>>2];ib=o[$a+64>>2];if((Ya|0)==(ib|0)){break c}Za=Ya+ -4|0;mb=o[Za>>2];o[$a+68>>2]=Za;hb=o[$a+44>>2];w:{if(!hb){Ya=Za;break w}cb=o[$a+40>>2];gb=Yl(hb)>>>0>1;db=hb+2147483647&bb;x:{if(!gb){break x}db=bb;if(bb>>>0>>0){break x}db=(bb>>>0)%(hb>>>0)|0}cb=o[cb+(db<<2)>>2];if(!cb){Ya=Za;break w}fb=o[cb>>2];if(!fb){Ya=Za;break w}cb=hb+ -1|0;y:{while(1){eb=o[fb+4>>2];z:{if((eb|0)!=(bb|0)){A:{if(!gb){eb=eb&cb;break A}if(eb>>>0>>0){break A}eb=(eb>>>0)%(hb>>>0)|0}if((eb|0)==(db|0)){break z}Ya=Za;break w}if(o[fb+8>>2]==(bb|0)){break y}}fb=o[fb>>2];if(fb){continue}break}Ya=Za;break w}db=fb+12|0;if((Za|0)!=o[$a+72>>2]){o[Za>>2]=o[db>>2];o[$a+68>>2]=Ya;break w}bh($a- -64|0,db);Ya=o[$a+68>>2];ib=o[$a+64>>2]}if((Ya|0)==(ib|0)){break c}lb=o[Ya+ -4>>2];db=(lb|0)==-1;pb=o[qb>>2];if(o[o[pb+12>>2]+(lb<<2)>>2]!=-1?!db:0){break c}gb=(mb|0)==-1;hb=pb+12|0;cb=o[hb>>2];if(o[cb+(mb<<2)>>2]!=-1?!gb:0){break c}kb=u(bb,3);ib=kb+2|0;o[cb+(lb<<2)>>2]=ib;jb=ib<<2;o[jb+cb>>2]=lb;Za=kb+1|0;o[cb+(mb<<2)>>2]=Za;eb=cb;cb=Za<<2;o[eb+cb>>2]=mb;if(db){break g}eb=-1;db=o[pb>>2];fb=db+(kb<<2)|0;Za=lb+((lb>>>0)%3|0?-1:2)|0;if((Za|0)!=-1){eb=o[(Za<<2)+db>>2]}o[fb>>2]=eb;Za=lb+1|0;Za=(Za>>>0)%3|0?Za:lb+ -2|0;if((Za|0)==-1){break f}_a=o[(Za<<2)+db>>2];break f}o[$a>>2]=u(bb,3);Ya=o[qb>>2];_a=Ya+24|0;cb=o[Ya+32>>2];Za=Ya+28|0;Ya=o[Za>>2];B:{if((cb|0)!=(Ya|0)){o[Ya>>2]=-1;Ya=Ya+4|0;o[Za>>2]=Ya;break B}bh(_a,8212);Ya=o[Za>>2]}ib=o[qb>>2];eb=o[ib>>2];Za=o[$a>>2];gb=Ya-o[_a>>2]|0;hb=gb>>2;_a=hb+ -1|0;o[eb+(Za<<2)>>2]=_a;Za=Za+1|0;cb=ib+24|0;db=ib+28|0;Ya=o[db>>2];C:{if((Ya|0)!=o[ib+32>>2]){o[Ya>>2]=-1;Ya=Ya+4|0;o[db>>2]=Ya;break C}bh(cb,8212);Ya=o[db>>2];eb=o[ib>>2]}o[(Za<<2)+eb>>2]=(Ya-o[cb>>2]>>2)+ -1;Ya=o[$a>>2]+2|0;cb=o[qb>>2];Za=cb+28|0;db=o[Za>>2];D:{if((db|0)!=o[cb+32>>2]){o[db>>2]=-1;eb=db+4|0;o[Za>>2]=eb;break D}bh(cb+24|0,8212);eb=o[Za>>2]}o[o[cb>>2]+(Ya<<2)>>2]=(eb-o[cb+24>>2]>>2)+ -1;Ya=o[qb>>2];Za=o[Ya+24>>2];if(o[Ya+28>>2]-Za>>2>(rb|0)){break d}Ya=o[$a>>2];E:{F:{if(!gb){eb=1;o[Za+(hb<<2)>>2]=Ya+1;break F}o[Za+(_a<<2)>>2]=Ya;eb=0;if((gb|0)==-4){break F}o[Za+(hb<<2)>>2]=o[$a>>2]+1;eb=hb+1|0;if((eb|0)==-1){break E}}o[Za+(eb<<2)>>2]=o[$a>>2]+2}Ya=o[$a+68>>2];if((Ya|0)!=o[$a+72>>2]){o[Ya>>2]=o[$a>>2];o[$a+68>>2]=Ya+4;break i}bh($a- -64|0,$a)}fb=o[ob>>2];if((fb|0)==o[a+36>>2]){break e}cb=(bb^-1)+Xa|0;while(1){_a=-1;Ya=o[fb+ -8>>2];if(Ya>>>0>cb>>>0){break c}if((Ya|0)!=(cb|0)){break e}Za=p[fb+ -4|0];Ya=fb+ -12|0;db=o[Ya>>2];o[ob>>2]=Ya;if((db|0)<0){break c}_a=o[o[$a+68>>2]+ -4>>2];o[$a+20>>2]=(db^-1)+Xa;o[$a+88>>2]=$a+20;ch($a,$a+40|0,$a+20|0,$a+88|0);db=o[$a>>2];G:{if(Za&1){Ya=-1;if((_a|0)==-1){break G}Ya=_a+1|0;Ya=(Ya>>>0)%3|0?Ya:_a+ -2|0;break G}Ya=-1;if((_a|0)==-1){break G}Ya=_a+ -1|0;if((_a>>>0)%3){break G}Ya=_a+2|0}o[db+12>>2]=Ya;fb=o[ob>>2];if((fb|0)!=o[a+36>>2]){continue}break}break e}D()}eb=-1;db=o[pb>>2];o[db+(kb<<2)>>2]=-1}o[cb+db>>2]=_a;H:{I:{J:{if(!gb){Za=mb+((mb>>>0)%3|0?-1:2)|0;if((Za|0)==-1){break J}Za=o[(Za<<2)+db>>2];o[db+jb>>2]=Za;if((Za|0)==-1){break I}o[o[pb+24>>2]+(Za<<2)>>2]=ib;break I}o[db+jb>>2]=-1;fb=-1;_a=-1;break H}o[db+jb>>2]=-1}fb=-1;Za=mb+1|0;Za=(Za>>>0)%3|0?Za:mb+ -2|0;_a=-1;if((Za|0)==-1){break H}fb=o[(Za<<2)+db>>2];_a=Za}o[$a>>2]=fb;cb=o[pb+24>>2];if((eb|0)!=-1){o[cb+(eb<<2)>>2]=o[cb+(fb<<2)>>2]}K:{if((_a|0)==-1){break K}db=o[pb>>2];while(1){o[db+(_a<<2)>>2]=eb;Za=_a+1|0;Za=(Za>>>0)%3|0?Za:_a+ -2|0;if((Za|0)==-1){break K}_a=o[o[hb>>2]+(Za<<2)>>2];if((_a|0)==-1){break K}Za=_a+1|0;_a=(Za>>>0)%3|0?Za:_a+ -2|0;if((_a|0)!=-1){continue}break}}o[cb+(o[$a>>2]<<2)>>2]=-1;L:{if(nb){break L}Za=o[$a+28>>2];if((Za|0)!=o[$a+32>>2]){o[Za>>2]=o[$a>>2];o[$a+28>>2]=Za+4;break L}bh($a+24|0,$a);Ya=o[$a+68>>2]}o[Ya+ -4>>2]=kb}bb=bb+1|0;if((bb|0)!=(Xa|0)){continue}break}eb=Xa}_a=-1;fb=o[a+8>>2];if(o[fb+28>>2]-o[fb+24>>2]>>2>(rb|0)){break c}bb=o[$a+68>>2];if((bb|0)!=o[$a+64>>2]){lb=a+72|0;Za=a+60|0;ib=a+312|0;nb=a+8|0;kb=a+68|0;rb=a+80|0;pb=a+76|0;while(1){Ya=bb+ -4|0;Xa=o[Ya>>2];o[$a+68>>2]=Ya;o[$a>>2]=Xa;M:{if(Pf(ib)){hb=o[nb>>2];mb=o[hb>>2];if((eb|0)>=((o[hb+4>>2]-mb>>2>>>0)/3|0)){break d}Ya=-1;fb=-1;bb=o[hb+24>>2];cb=bb;ob=o[$a>>2];db=-1;N:{if((ob|0)==-1){break N}Xa=ob+1|0;Xa=(Xa>>>0)%3|0?Xa:ob+ -2|0;db=-1;if((Xa|0)==-1){break N}db=o[mb+(Xa<<2)>>2]}cb=o[cb+(db<<2)>>2];O:{if((cb|0)==-1){break O}Xa=cb+1|0;Xa=(Xa>>>0)%3|0?Xa:cb+ -2|0;if((Xa|0)==-1){break O}Ya=Xa+1|0;Ya=(Ya>>>0)%3|0?Ya:Xa+ -2|0;if((Ya|0)!=-1){fb=o[mb+(Ya<<2)>>2]}Ya=Xa}Xa=-1;jb=-1;gb=o[bb+(fb<<2)>>2];cb=-1;P:{if((gb|0)==-1){break P}bb=gb+1|0;bb=(bb>>>0)%3|0?bb:gb+ -2|0;cb=-1;if((bb|0)==-1){break P}cb=bb+1|0;cb=(cb>>>0)%3|0?cb:bb+ -2|0;if((cb|0)!=-1){jb=o[mb+(cb<<2)>>2]}cb=bb}bb=u(eb,3);o[$a+88>>2]=bb;gb=o[hb+12>>2];o[gb+(bb<<2)>>2]=ob;o[gb+(ob<<2)>>2]=bb;bb=o[$a+88>>2]+1|0;o[gb+(bb<<2)>>2]=Ya;o[gb+(Ya<<2)>>2]=bb;Ya=o[$a+88>>2]+2|0;o[gb+(Ya<<2)>>2]=cb;o[gb+(cb<<2)>>2]=Ya;Ya=o[$a+88>>2];o[mb+(Ya<<2)>>2]=fb;ob=Ya+1|0;hb=mb+(ob<<2)|0;o[hb>>2]=jb;gb=Ya+2|0;cb=mb+(gb<<2)|0;o[cb>>2]=db;jb=o[a+120>>2];bb=ob>>>0>>0?-1:fb;db=jb+(bb>>>3&536870908)|0;Ya=o[db>>2];sb=db,tb=Zl(bb)&Ya,o[sb>>2]=tb;Xa=(ob|0)!=-1?o[hb>>2]:Xa;db=jb+(Xa>>>3&536870908)|0;Ya=o[db>>2];sb=db,tb=Zl(Xa)&Ya,o[sb>>2]=tb;bb=-1;bb=(gb|0)!=-1?o[cb>>2]:bb;Ya=jb+(bb>>>3&536870908)|0;Xa=o[Ya>>2];sb=Ya,tb=Zl(bb)&Xa,o[sb>>2]=tb;bb=o[a+64>>2];Ya=o[kb>>2];if((bb|0)==Ya<<5){if((bb+1|0)<=-1){break a}Xa=Za;if(bb>>>0<=1073741822){db=bb+32&-32;Ya=Ya<<6;Ya=Ya>>>0>>0?db:Ya}else{Ya=2147483647}ab(Xa,Ya);bb=o[a+64>>2]}eb=eb+1|0;o[a+64>>2]=bb+1;Xa=o[a+60>>2]+(bb>>>3&536870908)|0;o[Xa>>2]=o[Xa>>2]|1<<(bb&31);Xa=o[pb>>2];if((Xa|0)!=o[rb>>2]){o[Xa>>2]=o[$a+88>>2];o[pb>>2]=Xa+4;break M}bh(lb,$a+88|0);break M}bb=o[a+64>>2];Ya=o[kb>>2];if((bb|0)==Ya<<5){if((bb+1|0)<=-1){break a}Xa=Za;if(bb>>>0<=1073741822){db=bb+32&-32;Ya=Ya<<6;Ya=Ya>>>0>>0?db:Ya}else{Ya=2147483647}ab(Xa,Ya);bb=o[a+64>>2]}o[a+64>>2]=bb+1;Ya=o[a+60>>2]+(bb>>>3&536870908)|0;Xa=o[Ya>>2];sb=Ya,tb=Zl(bb)&Xa,o[sb>>2]=tb;Xa=o[pb>>2];if((Xa|0)!=o[rb>>2]){o[Xa>>2]=o[$a>>2];o[pb>>2]=Xa+4;break M}bh(lb,$a)}bb=o[$a+68>>2];if((bb|0)!=o[$a+64>>2]){continue}break}fb=o[a+8>>2]}if(((o[fb+4>>2]-o[fb>>2]>>2>>>0)/3|0)!=(eb|0)){break c}_a=o[fb+28>>2]-o[fb+24>>2]>>2;nb=o[$a+24>>2];cb=o[$a+28>>2];if((nb|0)==(cb|0)){break b}db=a+8|0;while(1){hb=o[nb>>2];eb=o[fb+24>>2];bb=_a+ -1|0;Q:{if(o[eb+(bb<<2)>>2]!=-1){Ya=_a;break Q}eb=o[fb+24>>2];while(1){bb=_a+ -2|0;Ya=_a+ -1|0;_a=Ya;if(o[(bb<<2)+eb>>2]==-1){continue}break}}if(!(bb>>>0>>0)){o[$a>>2]=fb;Xa=bb<<2;_a=o[Xa+eb>>2];m[$a+12|0]=1;o[$a+8>>2]=_a;o[$a+4>>2]=_a;if((_a|0)!=-1){while(1){o[o[fb>>2]+(_a<<2)>>2]=hb;jf($a);fb=o[db>>2];_a=o[$a+8>>2];if((_a|0)!=-1){continue}break}}Za=Xa;Xa=o[fb+24>>2];Za=Za+Xa|0;if((hb|0)!=-1){o[Xa+(hb<<2)>>2]=o[Za>>2]}o[Za>>2]=-1;gb=1<<(hb&31);Xa=o[a+120>>2];_a=Xa+(hb>>>3&536870908)|0;Za=_a;eb=Xa+(bb>>>3&536870908)|0;Xa=1<<(bb&31);bb=gb|o[_a>>2];R:{if(o[eb>>2]&Xa){break R}bb=o[_a>>2]&(gb^-1)}o[Za>>2]=bb;o[eb>>2]=o[eb>>2]&(Xa^-1);Ya=Ya+ -1|0}_a=Ya;nb=nb+4|0;if((cb|0)!=(nb|0)){continue}break}break c}_a=-1}nb=o[$a+24>>2]}if(nb){o[$a+28>>2]=nb;ul(nb)}bb=o[$a+48>>2];if(bb){while(1){a=o[bb>>2];ul(bb);bb=a;if(bb){continue}break}}a=o[$a+40>>2];o[$a+40>>2]=0;if(a){ul(a)}a=o[$a+64>>2];if(a){o[$a+68>>2]=a;ul(a)}R=$a+96|0;return _a}Yk();D()}function Zg(a,Xa){var ab=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0;ub=R-32|0;R=ub;o[ub+16>>2]=Xa;ab=-1;a:{if((Xa|0)==-1){o[ub+20>>2]=-1;break a}ab=Xa+1|0;o[ub+20>>2]=(ab>>>0)%3|0?ab:Xa+ -2|0;if((Xa>>>0)%3){ab=Xa+ -1|0;break a}ab=Xa+2|0}o[ub+24>>2]=ab;Cb=(Xa|0)==-1?-1:(Xa>>>0)/3|0;yb=a+220|0;Db=a+8|0;Eb=a+368|0;while(1){b:{c:{if((Xa|0)!=-1){ab=o[o[o[Db>>2]+12>>2]+(Xa<<2)>>2];if((ab|0)!=-1){break c}}ab=0;vb=o[a+216>>2];wb=o[yb>>2];if((vb|0)==(wb|0)){break b}while(1){o[ub+12>>2]=Xa;xb=u(ab,144)+vb|0;Bb=xb+136|0;zb=o[Bb>>2];d:{if(zb>>>0>2]){o[zb>>2]=Xa;o[Bb>>2]=zb+4;break d}wa(xb+132|0,ub+12|0);wb=o[yb>>2];vb=o[a+216>>2]}ab=ab+1|0;if(ab>>>0<(wb-vb|0)/144>>>0){continue}break}break b}if((ab>>>0)/3>>>0>>0){break b}ab=0;if(o[yb>>2]==o[a+216>>2]){break b}while(1){e:{if(!Pf(o[Eb>>2]+(ab<<4)|0)){break e}vb=o[a+216>>2];o[ub+12>>2]=Xa;vb=vb+u(ab,144)|0;xb=vb+136|0;wb=o[xb>>2];if(wb>>>0>2]){o[wb>>2]=Xa;o[xb>>2]=wb+4;break e}wa(vb+132|0,ub+12|0)}ab=ab+1|0;if(ab>>>0<(o[yb>>2]-o[a+216>>2]|0)/144>>>0){continue}break}}Ab=Ab+1|0;if((Ab|0)!=3){Xa=o[(ub+16|0)+(Ab<<2)>>2];continue}break}R=ub+32|0;return 1}function _g(a,Xa){var Fb=0,Gb=0,Hb=0,Ib=0,Jb=0;Gb=o[a+12>>2];Fb=o[a+16>>2]-Gb>>2;a:{if(Fb>>>0>>0){Da(a+12|0,Xa-Fb|0);break a}if(Fb>>>0<=Xa>>>0){break a}o[a+16>>2]=Gb+(Xa<<2)}b:{Fb=o[a>>2];c:{if(o[a+8>>2]-Fb>>2>>>0>=Xa>>>0){break c}if(Xa>>>0>=1073741824){break b}Ib=a+4|0;Gb=o[Ib>>2];Hb=Xa<<2;Xa=Hk(Hb);Hb=Xa+Hb|0;Gb=Gb-Fb|0;Jb=Gb+Xa|0;if((Gb|0)>=1){wl(Xa,Fb,Gb)}o[a>>2]=Xa;o[a+8>>2]=Hb;o[Ib>>2]=Jb;if(!Fb){break c}ul(Fb)}return}_a(8776);D()}function $g(a,Xa){var Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0;Lb=R-48|0;R=Lb;Kb=o[a+8>>2];Mb=o[Kb>>2];Ob=o[Kb+4>>2];Kb=o[o[a+4>>2]+44>>2];o[Lb+40>>2]=0;o[Lb+32>>2]=0;o[Lb+36>>2]=0;Mb=(Ob-Mb>>2>>>0)/3|0;Nb=o[Kb+96>>2];Ob=(o[Kb+100>>2]-Nb|0)/12|0;a:{if(Mb>>>0>Ob>>>0){dh(Kb+96|0,Mb-Ob|0,Lb+32|0);break a}if(Mb>>>0>=Ob>>>0){break a}o[Kb+100>>2]=Nb+u(Mb,12)}b:{if(o[a+216>>2]==o[a+220>>2]){Sb=o[a+4>>2];Kb=o[Sb+44>>2];Mb=o[Kb+100>>2];Qb=o[Kb+96>>2];if((Mb|0)!=(Qb|0)){Tb=(Mb-Qb|0)/12|0;Ub=Lb+40|0;Kb=0;while(1){o[Ub>>2]=0;o[Lb+32>>2]=0;o[Lb+36>>2]=0;Ob=Lb;c:{d:{e:{Nb=u(Kb,3);if((Nb|0)==-1){Mb=-1;o[Lb+32>>2]=-1;Pb=0;break e}Mb=o[o[o[a+8>>2]>>2]+(Nb<<2)>>2];o[Lb+32>>2]=Mb;Pb=Nb+1|0;if((Pb|0)!=-1){break e}o[Lb+36>>2]=-1;Nb=0;break d}o[Lb+36>>2]=o[o[o[a+8>>2]>>2]+(Pb<<2)>>2];Nb=Nb+2|0;Vb=-1;if((Nb|0)==-1){break c}}Vb=o[o[o[a+8>>2]>>2]+(Nb<<2)>>2]}o[Ob+40>>2]=Vb;Ob=Qb+u(Kb,12)|0;o[Ob>>2]=Mb;o[Ob+4>>2]=o[Lb+36>>2];o[Ob+8>>2]=o[Lb+40>>2];Kb=Kb+1|0;if(Kb>>>0>>0){continue}break}}o[o[Sb+4>>2]+80>>2]=Xa;Kb=1;break b}o[Lb+40>>2]=0;o[Lb+32>>2]=0;o[Lb+36>>2]=0;Nb=o[a+8>>2];Xa=o[Nb>>2];Kb=o[Nb+4>>2];o[Lb+24>>2]=0;o[Lb+16>>2]=0;o[Lb+20>>2]=0;f:{g:{h:{Xa=Kb-Xa|0;if(Xa){Mb=Xa>>2;if(Mb>>>0>=1073741824){break h}Kb=Hk(Xa);o[Lb+16>>2]=Kb;o[Lb+24>>2]=Kb+(Mb<<2);Yb=Lb,Zb=xl(Kb,0,Xa)+Xa|0,o[Yb+20>>2]=Zb}if((o[Nb+28>>2]-o[Nb+24>>2]|0)<1){break g}Sb=a+220|0;Tb=a+8|0;while(1){Mb=o[o[Nb+24>>2]+(Qb<<2)>>2];i:{if((Mb|0)==-1){break i}j:{if(o[o[a+120>>2]+(Qb>>>3&536870908)>>2]>>>(Qb&31)&1){break j}Xa=o[Sb>>2];Ub=o[a+216>>2];if((Xa|0)==(Ub|0)){break j}Vb=(Xa-Ub|0)/144|0;Wb=((Mb>>>0)%3|0?-1:2)+Mb|0;Pb=0;while(1){Xb=Mb<<2;Rb=Ub+u(Pb,144)|0;Xa=o[Xb+o[o[Rb+68>>2]>>2]>>2];k:{if(!(o[o[Rb+16>>2]+(Xa>>>3&536870908)>>2]>>>(Xa&31)&1)){break k}Xa=Mb;Kb=-1;l:{if((Wb|0)==-1){break l}Ob=o[o[Nb+12>>2]+(Wb<<2)>>2];Kb=-1;if((Ob|0)==-1){break l}Kb=Ob+ -1|0;if((Ob>>>0)%3){break l}Kb=Ob+2|0}if((Xa|0)==(Kb|0)){break k}Rb=o[Rb+32>>2];Xb=o[Rb+Xb>>2];while(1){Xa=0;if((Kb|0)==-1){break f}if((Xb|0)!=o[Rb+(Kb<<2)>>2]){Mb=Kb;break j}Ob=Mb;Kb=((Kb>>>0)%3|0?-1:2)+Kb|0;Xa=-1;m:{if((Kb|0)==-1){break m}Kb=o[o[Nb+12>>2]+(Kb<<2)>>2];Xa=-1;if((Kb|0)==-1){break m}Xa=Kb+ -1|0;if((Kb>>>0)%3){break m}Xa=Kb+2|0}Kb=Xa;if((Ob|0)!=(Kb|0)){continue}break}}Pb=Pb+1|0;if(Pb>>>0>>0){continue}break}}Xa=o[Lb+36>>2];o[o[Lb+16>>2]+(Mb<<2)>>2]=Xa-o[Lb+32>>2]>>2;o[Lb>>2]=Mb;n:{if(r[Lb+40>>2]>Xa>>>0){o[Xa>>2]=Mb;o[Lb+36>>2]=Xa+4;break n}wa(Lb+32|0,Lb);Nb=o[Tb>>2]}if((Mb|0)==-1){break i}Xa=((Mb>>>0)%3|0?-1:2)+Mb|0;if((Xa|0)==-1){break i}Xa=o[o[Nb+12>>2]+(Xa<<2)>>2];if((Xa|0)==-1){break i}Kb=Xa+((Xa>>>0)%3|0?-1:2)|0;if((Kb|0)==-1){break i}Ob=Mb;if((Kb|0)==(Mb|0)){break i}while(1){Xa=Kb;o:{p:{Kb=o[Sb>>2];Pb=o[a+216>>2];if((Kb|0)==(Pb|0)){break p}Ub=(Kb-Pb|0)/144|0;Kb=0;while(1){Wb=o[(Pb+u(Kb,144)|0)+32>>2];Rb=Xa<<2;if(o[Wb+Rb>>2]==o[Wb+(Ob<<2)>>2]){Kb=Kb+1|0;if(Kb>>>0>>0){continue}break p}break}Kb=o[Lb+36>>2];o[Rb+o[Lb+16>>2]>>2]=Kb-o[Lb+32>>2]>>2;o[Lb>>2]=Xa;if(r[Lb+40>>2]>Kb>>>0){o[Kb>>2]=Xa;o[Lb+36>>2]=Kb+4;break o}wa(Lb+32|0,Lb);Nb=o[Tb>>2];break o}Kb=o[Lb+16>>2];o[Kb+(Xa<<2)>>2]=o[Kb+(Ob<<2)>>2]}if((Xa|0)==-1){break i}Kb=Xa+((Xa>>>0)%3|0?-1:2)|0;if((Kb|0)==-1){break i}Kb=o[o[Nb+12>>2]+(Kb<<2)>>2];if((Kb|0)==-1){break i}Kb=Kb+((Kb>>>0)%3|0?-1:2)|0;if((Kb|0)==-1){break i}Ob=Xa;if((Kb|0)!=(Mb|0)){continue}break}}Qb=Qb+1|0;if((Qb|0)>2]-o[Nb+24>>2]>>2){continue}break}break g}Yk();D()}Mb=o[a+4>>2];a=o[Mb+44>>2];Xa=o[a+100>>2];a=o[a+96>>2];if((Xa|0)!=(a|0)){Ob=(Xa-a|0)/12|0;Kb=0;Nb=o[Lb+16>>2];while(1){Qb=Lb+8|0;Pb=u(Kb,12);Xa=Pb+Nb|0;o[Qb>>2]=o[Xa+8>>2];Sb=o[Xa+4>>2];Tb=o[Xa>>2];o[Lb>>2]=Tb;o[Lb+4>>2]=Sb;Xa=a+Pb|0;o[Xa>>2]=Tb;o[Xa+4>>2]=o[Lb+4>>2];o[Xa+8>>2]=o[Qb>>2];Kb=Kb+1|0;if(Kb>>>0>>0){continue}break}}o[o[Mb+4>>2]+80>>2]=o[Lb+36>>2]-o[Lb+32>>2]>>2;Xa=1}Kb=Xa;a=o[Lb+16>>2];if(a){o[Lb+20>>2]=a;ul(a)}a=o[Lb+32>>2];if(!a){break b}o[Lb+36>>2]=a;ul(a)}R=Lb+48|0;return Kb}function ah(a,Xa){var _b=0,$b=0,ac=0,bc=0,cc=0,dc=0;a:{bc=o[a>>2];cc=o[a+4>>2]-bc|0;_b=(cc|0)/12|0;$b=_b+1|0;if($b>>>0<357913942){dc=u(_b,12);ac=(o[a+8>>2]-bc|0)/12|0;_b=ac<<1;ac=ac>>>0<178956970?_b>>>0<$b>>>0?$b:_b:357913941;_b=0;b:{if(!ac){break b}if(ac>>>0>=357913942){break a}_b=Hk(u(ac,12))}$b=dc+_b|0;dc=o[Xa+4>>2];o[$b>>2]=o[Xa>>2];o[$b+4>>2]=dc;o[$b+8>>2]=o[Xa+8>>2];Xa=$b+u((cc|0)/-12|0,12)|0;_b=_b+u(ac,12)|0;$b=$b+12|0;if((cc|0)>=1){wl(Xa,bc,cc)}o[a>>2]=Xa;o[a+8>>2]=_b;o[a+4>>2]=$b;if(bc){ul(bc)}return}Yk();D()}_a(8776);D()}function bh(a,Xa){var ec=0,fc=0,gc=0,hc=0,ic=0,jc=0;a:{gc=o[a>>2];ic=o[a+4>>2]-gc|0;ec=ic>>2;fc=ec+1|0;if(fc>>>0<1073741824){jc=ec<<2;ec=o[a+8>>2]-gc|0;hc=ec>>1;fc=ec>>2>>>0<536870911?hc>>>0>>0?fc:hc:1073741823;ec=0;b:{if(!fc){break b}if(fc>>>0>=1073741824){break a}ec=Hk(fc<<2)}hc=jc+ec|0;o[hc>>2]=o[Xa>>2];Xa=ec+(fc<<2)|0;fc=hc+4|0;if((ic|0)>=1){wl(ec,gc,ic)}o[a>>2]=ec;o[a+8>>2]=Xa;o[a+4>>2]=fc;if(gc){ul(gc)}return}Yk();D()}_a(8776);D()}function ch(a,Xa,kc,lc){var mc=0,nc=0,oc=0,pc=0,qc=0,rc=v(0),sc=0,tc=v(0),uc=0;mc=o[kc>>2];uc=a;a:{b:{nc=o[Xa+4>>2];if(!nc){break b}sc=o[Xa>>2];pc=Yl(nc);kc=nc+ -1&mc;c:{if(pc>>>0<=1){break c}kc=mc;if(mc>>>0>>0){break c}kc=(mc>>>0)%(nc>>>0)|0}oc=kc;kc=o[(kc<<2)+sc>>2];if(!kc){break b}sc=nc+ -1|0;pc=pc>>>0>1;while(1){kc=o[kc>>2];if(!kc){break b}qc=o[kc+4>>2];if((qc|0)!=(mc|0)){d:{if(!pc){qc=qc≻break d}if(qc>>>0>>0){break d}qc=(qc>>>0)%(nc>>>0)|0}if((oc|0)!=(qc|0)){break b}}if(o[kc+8>>2]!=(mc|0)){continue}break}Xa=0;break a}kc=Hk(16);lc=o[o[lc>>2]>>2];o[kc+12>>2]=0;o[kc+8>>2]=lc;o[kc+4>>2]=mc;o[kc>>2]=0;tc=s[Xa+16>>2];rc=v(o[Xa+12>>2]+1>>>0);e:{if(!(!nc|!!(v(tc*v(nc>>>0))>>0<3|nc<<1;lc=Xa;rc=v(B(v(rc/tc)));f:{if(rc=v(0)){pc=~~rc>>>0;break f}pc=0}Sh(lc,oc>>>0>>0?pc:oc);nc=o[Xa+4>>2];if(!(nc&nc+ -1)){mc=nc+ -1&mc;break e}if(mc>>>0>>0){break e}mc=(mc>>>0)%(nc>>>0)|0}lc=o[Xa>>2]+(mc<<2)|0;mc=o[lc>>2];g:{h:{if(!mc){oc=Xa+8|0;o[kc>>2]=o[oc>>2];o[oc>>2]=kc;o[lc>>2]=oc;lc=o[kc>>2];if(!lc){break g}mc=o[lc+4>>2];lc=nc+ -1|0;i:{if(!(lc&nc)){mc=lc&mc;break i}if(mc>>>0>>0){break i}mc=(mc>>>0)%(nc>>>0)|0}mc=o[Xa>>2]+(mc<<2)|0;break h}o[kc>>2]=o[mc>>2]}o[mc>>2]=kc}Xa=Xa+12|0;o[Xa>>2]=o[Xa>>2]+1;Xa=1}m[uc+4|0]=Xa;o[a>>2]=kc}function dh(a,Xa,kc){var lc=0,vc=0,wc=0,xc=0,yc=0;a:{b:{xc=o[a+8>>2];vc=a+4|0;lc=o[vc>>2];c:{if((xc-lc|0)/12>>>0>=Xa>>>0){while(1){a=o[kc+4>>2];o[lc>>2]=o[kc>>2];o[lc+4>>2]=a;o[lc+8>>2]=o[kc+8>>2];lc=o[vc>>2]+12|0;o[vc>>2]=lc;Xa=Xa+ -1|0;if(Xa){continue}break c}}wc=o[a>>2];yc=(lc-wc|0)/12|0;vc=yc+Xa|0;if(vc>>>0>=357913942){break b}xc=(xc-wc|0)/12|0;wc=xc<<1;vc=xc>>>0<178956970?wc>>>0>>0?vc:wc:357913941;lc=0;d:{if(!vc){break d}if(vc>>>0>=357913942){break a}lc=Hk(u(vc,12))}xc=lc+u(vc,12)|0;vc=lc+u(yc,12)|0;lc=vc;while(1){wc=o[kc+4>>2];o[lc>>2]=o[kc>>2];o[lc+4>>2]=wc;o[lc+8>>2]=o[kc+8>>2];lc=lc+12|0;Xa=Xa+ -1|0;if(Xa){continue}break}wc=a+4|0;Xa=o[a>>2];kc=o[wc>>2]-Xa|0;vc=vc+u((kc|0)/-12|0,12)|0;if((kc|0)>=1){wl(vc,Xa,kc)}o[a>>2]=vc;o[a+8>>2]=xc;o[wc>>2]=lc;if(!Xa){break c}ul(Xa)}return}Yk();D()}_a(8776);D()}function eh(a){a=a|0;return o[a+8>>2]}function fh(a){o[a>>2]=8224;xl(a+4|0,0,80);o[a+96>>2]=0;o[a+100>>2]=0;o[a+92>>2]=-1;o[a+84>>2]=-1;o[a+88>>2]=-1;o[a+104>>2]=0;o[a+108>>2]=0;o[a+112>>2]=0;o[a+116>>2]=0;o[a+120>>2]=0;o[a+124>>2]=0;o[a+128>>2]=0;o[a+132>>2]=0;o[a+136>>2]=0;o[a+140>>2]=0;o[a+144>>2]=0;o[a+148>>2]=0;o[a+156>>2]=0;o[a+160>>2]=0;o[a+152>>2]=1065353216;o[a+164>>2]=0;o[a+168>>2]=0;o[a+172>>2]=0;o[a+176>>2]=0;o[a+180>>2]=0;o[a+184>>2]=0;o[a+188>>2]=0;o[a+192>>2]=0;o[a+196>>2]=0;o[a+200>>2]=0;o[a+204>>2]=0;o[a+208>>2]=0;o[a+212>>2]=-1;o[a+216>>2]=0;o[a+220>>2]=0;o[a+224>>2]=0;Hg(a+232|0);o[a+388>>2]=0;o[a+392>>2]=0;o[a+380>>2]=0;o[a+384>>2]=0;o[a+416>>2]=0;o[a+420>>2]=0;o[a+412>>2]=7;o[a+404>>2]=-1;o[a+408>>2]=2;o[a+396>>2]=0;o[a+400>>2]=-1;o[a+424>>2]=0;o[a+428>>2]=0;o[a+432>>2]=0;o[a+436>>2]=0}function gh(a){a=a|0;var Xa=0,kc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0;Bc=R+ -64|0;R=Bc;o[a+132>>2]=0;if(o[a+148>>2]){zc=a+144|0;Xa=o[zc>>2];if(Xa){while(1){kc=o[Xa>>2];ul(Xa);Xa=kc;if(Xa){continue}break}}o[zc>>2]=0;kc=o[a+140>>2];if(kc){zc=a+136|0;Xa=0;while(1){o[o[zc>>2]+(Xa<<2)>>2]=0;Xa=Xa+1|0;if((kc|0)!=(Xa|0)){continue}break}}o[a+148>>2]=0}a:{if(!Tg(1,Bc+60|0,o[o[a+4>>2]+32>>2])){break a}o[a+156>>2]=o[Bc+60>>2];if(!Tg(1,Bc+56|0,o[o[a+4>>2]+32>>2])){break a}Ac=o[Bc+56>>2];if(Ac>>>0>1431655765|r[a+156>>2]>u(Ac,3)>>>0){break a}Xa=o[o[a+4>>2]+32>>2];Cc=o[Xa+16>>2];zc=o[Xa+12>>2];kc=o[Xa+20>>2];if((zc|0)<(kc|0)?1:(zc|0)<=(kc|0)?r[Xa+8>>2]>Cc>>>0?0:1:0){break a}Dc=p[Cc+o[Xa>>2]|0];Cc=Cc+1|0;if(Cc>>>0<1){kc=kc+1|0}o[Xa+16>>2]=Cc;o[Xa+20>>2]=kc;if(!Tg(1,Bc+52|0,Xa)){break a}Gc=o[Bc+52>>2];if(Ac>>>0>>0|Ac>>>0>Gc+((Gc>>>0)/3|0)>>>0){break a}if(!Tg(1,Bc+48|0,o[o[a+4>>2]+32>>2])){break a}Ec=o[Bc+48>>2];if(Ec>>>0>Gc>>>0){break a}o[a+28>>2]=o[a+24>>2];kc=Hk(88);zi(kc);Xa=o[a+8>>2];o[a+8>>2]=kc;Cc=a+8|0;if(Xa){ua(Cc,Xa);if(!o[Cc>>2]){break a}}Xa=o[a+160>>2];o[a+164>>2]=Xa;b:{c:{d:{e:{f:{if(o[a+168>>2]-Xa>>2>>>0>=Ac>>>0){break f}if(Ac>>>0>=1073741824){break e}zc=Ac<<2;kc=Hk(zc);o[a+164>>2]=kc;o[a+160>>2]=kc;o[a+168>>2]=kc+zc;if(!Xa){break f}ul(Xa)}Xa=o[a+172>>2];o[a+176>>2]=Xa;g:{if(o[a+180>>2]-Xa>>2>>>0>=Ac>>>0){break g}if(Ac>>>0>=1073741824){break d}zc=Ac<<2;kc=Hk(zc);o[a+176>>2]=kc;o[a+172>>2]=kc;o[a+180>>2]=kc+zc;if(!Xa){break g}ul(Xa)}o[a+92>>2]=-1;o[a+84>>2]=-1;o[a+88>>2]=-1;o[a+40>>2]=o[a+36>>2];o[a- -64>>2]=0;o[a+52>>2]=o[a+48>>2];o[a+76>>2]=o[a+72>>2];Hc=a+216|0;kc=o[a+220>>2];Xa=o[a+216>>2];if((kc|0)==(Xa|0)){break c}while(1){zc=o[kc+ -12>>2];if(zc){o[kc+ -8>>2]=zc;ul(zc)}zc=o[kc+ -28>>2];if(zc){o[kc+ -24>>2]=zc;ul(zc)}zc=kc+ -144|0;Fc=o[kc+ -40>>2];if(Fc){o[kc+ -36>>2]=Fc;ul(Fc)}Ug(kc+ -140|0);kc=zc;if((Xa|0)!=(kc|0)){continue}break}kc=o[Hc>>2];break b}_a(8776);D()}_a(8776);D()}kc=Xa}o[a+220>>2]=Xa;zc=(Xa-kc|0)/144|0;h:{if(zc>>>0>>0){Vg(Hc,Dc-zc|0);break h}if(zc>>>0<=Dc>>>0){break h}zc=kc+u(Dc,144)|0;if((zc|0)!=(Xa|0)){while(1){kc=o[Xa+ -12>>2];if(kc){o[Xa+ -8>>2]=kc;ul(kc)}kc=o[Xa+ -28>>2];if(kc){o[Xa+ -24>>2]=kc;ul(kc)}kc=Xa+ -144|0;Fc=o[Xa+ -40>>2];if(Fc){o[Xa+ -36>>2]=Fc;ul(Fc)}Ug(Xa+ -140|0);Xa=kc;if((Xa|0)!=(zc|0)){continue}break}}o[a+220>>2]=zc}Fc=0;if(!Ji(o[a+8>>2],Ac,Ec+o[a+156>>2]|0)){break a}Xa=o[a+156>>2];m[Bc+8|0]=1;$a(a+120|0,Xa+Ec|0,Bc+8|0);if((Wg(a,o[o[a+4>>2]+32>>2])|0)==-1){break a}o[a+376>>2]=a;Ac=a+232|0;Xa=o[(l[o[o[a>>2]+32>>2]](a)|0)+32>>2];Ic=o[Xa>>2]+o[Xa+16>>2]|0;zc=o[(l[o[o[a>>2]+32>>2]](a)|0)+32>>2];Xa=o[zc+8>>2];kc=o[zc+16>>2];pi(Ac,Ic,Xa-kc|0,q[o[(l[o[o[a>>2]+32>>2]](a)|0)+32>>2]+38>>1]);Jc=a,Kc=l[o[o[a>>2]+36>>2]](a)|0,o[Jc+380>>2]=Kc;o[a+372>>2]=Dc;o[a+384>>2]=Ec+o[a+156>>2];Xa=oi(Bc+8|0);i:{if(!hh(Ac,Xa)){break i}Gc=ih(a,Gc);if((Gc|0)==-1){break i}zc=o[o[a+4>>2]+32>>2];kc=o[Xa+16>>2];Dc=kc+o[Xa>>2]|0;Xa=o[Xa+8>>2];pi(zc,Dc,Xa-kc|0,q[zc+38>>1]);j:{if(o[a+220>>2]==o[a+216>>2]){break j}Xa=o[Cc>>2];if(o[Xa+4>>2]==o[Xa>>2]){break j}Xa=0;while(1){if(Zg(a,Xa)){Xa=Xa+3|0;kc=o[Cc>>2];if(Xa>>>0>2]-o[kc>>2]>>2>>>0){continue}break j}break}break i}if(p[a+308|0]){si(a+272|0)}Xa=o[a+216>>2];Dc=a+220|0;if((Xa|0)!=o[Dc>>2]){zc=0;while(1){Ac=u(zc,144);Ui((Ac+Xa|0)+4|0,o[Cc>>2]);kc=o[Hc>>2];Ec=Ac+kc|0;Xa=o[Ec+132>>2];Ec=o[Ec+136>>2];if((Xa|0)!=(Ec|0)){while(1){Wi((kc+Ac|0)+4|0,o[Xa>>2]);kc=o[Hc>>2];Xa=Xa+4|0;if((Ec|0)!=(Xa|0)){continue}break}}Vi((kc+Ac|0)+4|0);zc=zc+1|0;Xa=o[a+216>>2];if(zc>>>0<(o[Dc>>2]-Xa|0)/144>>>0){continue}break}}Xa=o[a+8>>2];_g(a+184|0,o[Xa+28>>2]-o[Xa+24>>2]>>2);kc=o[a+216>>2];if((kc|0)!=o[Dc>>2]){Xa=0;Ac=a+220|0;while(1){kc=u(Xa,144)+kc|0;zc=o[kc+60>>2]-o[kc+56>>2]>>2;Dc=kc+104|0;kc=o[Cc>>2];kc=o[kc+28>>2]-o[kc+24>>2]>>2;_g(Dc,(zc|0)<(kc|0)?kc:zc);Xa=Xa+1|0;kc=o[a+216>>2];if(Xa>>>0<(o[Ac>>2]-kc|0)/144>>>0){continue}break}}Fc=$g(a,Gc)}}R=Bc- -64|0;return Fc|0}function hh(a,Lc){var Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0;Sc=R-16|0;R=Sc;a:{if(!Nf(a+80|0,a)){break a}if(!Xg(a)){break a}Mc=o[a+4>>2];o[Lc>>2]=o[a>>2];o[Lc+4>>2]=Mc;Mc=o[a+36>>2];o[Lc+32>>2]=o[a+32>>2];o[Lc+36>>2]=Mc;Mc=o[a+28>>2];o[Lc+24>>2]=o[a+24>>2];o[Lc+28>>2]=Mc;Mc=o[a+20>>2];o[Lc+16>>2]=o[a+16>>2];o[Lc+20>>2]=Mc;Mc=o[a+12>>2];o[Lc+8>>2]=o[a+8>>2];o[Lc+12>>2]=Mc;o[a+176>>2]=2;o[a+180>>2]=7;Mc=o[a+152>>2];if((Mc|0)<0){break a}o[Sc+12>>2]=0;Oc=2;Pc=o[a+156>>2];Rc=o[a+160>>2]-Pc>>2;b:{if(Mc>>>0>Rc>>>0){yd(a+156|0,Mc-Rc|0,Sc+12|0);Oc=o[a+176>>2];Nc=o[a+180>>2];break b}Nc=7;if(Mc>>>0>=Rc>>>0){break b}o[a+160>>2]=Pc+(Mc<<2)}Rc=a+184|0;Nc=(Nc-Oc|0)+1|0;Pc=a+188|0;Mc=o[Pc>>2];Qc=o[a+184>>2];Oc=(Mc-Qc|0)/12|0;c:{if(Nc>>>0>Oc>>>0){jh(Rc,Nc-Oc|0);Nc=o[Pc>>2];break c}if(Nc>>>0>=Oc>>>0){Nc=Mc;break c}Nc=Qc+u(Nc,12)|0;if((Nc|0)!=(Mc|0)){while(1){Oc=Mc+ -12|0;Pc=o[Oc>>2];if(Pc){o[Mc+ -8>>2]=Pc;ul(Pc)}Mc=Oc;if((Mc|0)!=(Nc|0)){continue}break}}o[a+188>>2]=Nc}Pc=a+196|0;Mc=o[a+184>>2];Oc=(Nc-Mc|0)/12|0;Tc=o[a+196>>2];Qc=o[a+200>>2]-Tc>>2;d:{if(Oc>>>0>Qc>>>0){Da(Pc,Oc-Qc|0);Nc=o[a+188>>2];Mc=o[a+184>>2];break d}if(Oc>>>0>=Qc>>>0){break d}o[a+200>>2]=Tc+(Oc<<2)}Oc=1;if((Mc|0)==(Nc|0)){break a}Mc=0;Xc=a+188|0;while(1){Tg(1,Sc+8|0,Lc);Nc=o[Sc+8>>2];if(Nc){Oc=o[Rc>>2];Uc=u(Mc,12);Qc=Oc+Uc|0;Vc=Qc+4|0;Wc=o[Qc>>2];Tc=o[Vc>>2]-Wc>>2;e:{if(Nc>>>0>Tc>>>0){Da(Qc,Nc-Tc|0);Oc=o[Rc>>2];break e}if(Nc>>>0>=Tc>>>0){break e}o[Vc>>2]=(Nc<<2)+Wc}_f(Nc,1,Lc,o[Oc+Uc>>2]);o[o[Pc>>2]+(Mc<<2)>>2]=Nc}Oc=1;Mc=Mc+1|0;if(Mc>>>0<(o[Xc>>2]-o[a+184>>2]|0)/12>>>0){continue}break}}R=Sc+16|0;return Oc}function ih(a,Lc){var Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0;ad=R-96|0;R=ad;o[ad+72>>2]=0;o[ad+64>>2]=0;o[ad+68>>2]=0;o[ad+48>>2]=0;o[ad+52>>2]=0;o[ad+40>>2]=0;o[ad+44>>2]=0;o[ad+56>>2]=1065353216;o[ad+32>>2]=0;o[ad+24>>2]=0;o[ad+28>>2]=0;jd=o[a+124>>2];a:{b:{c:{if((Lc|0)>=1){qd=a+232|0;hd=a+8|0;nd=a+40|0;rd=a+428|0;ld=a+416|0;sd=a+388|0;td=o[a+216>>2]!=o[a+220>>2];while(1){d:{e:{f:{Yc=o[a+404>>2];g:{h:{if((Yc|0)!=-1){$c=-1;Zc=o[rd>>2]+(Yc<<2)|0;_c=o[Zc>>2];Yc=_c+ -1|0;o[Zc>>2]=Yc;if((_c|0)<1){break c}Yc=o[o[o[ld>>2]+u(o[a+404>>2],12)>>2]+(Yc<<2)>>2];Zc=o[(Yc<<2)+8848>>2];o[a+400>>2]=Zc;if(!Yc){Yc=o[ad+68>>2];if((Yc|0)==o[ad+64>>2]){break c}cd=-1;_c=o[hd>>2];id=o[_c+24>>2];bd=id;md=Yc+ -4|0;$c=o[md>>2];Zc=-1;i:{if(($c|0)==-1){break i}fd=$c+1|0;fd=(fd>>>0)%3|0?fd:$c+ -2|0;Zc=-1;if((fd|0)==-1){break i}Zc=o[o[_c>>2]+(fd<<2)>>2]}bd=o[bd+(Zc<<2)>>2];if((bd|0)!=-1){cd=bd+1|0;cd=(cd>>>0)%3|0?cd:bd+ -2|0}bd=o[_c+12>>2];fd=u(dd,3);ed=fd+1|0;o[bd+($c<<2)>>2]=ed;kd=ed<<2;o[kd+bd>>2]=$c;ed=fd+2|0;o[bd+(cd<<2)>>2]=ed;gd=ed<<2;o[gd+bd>>2]=cd;_c=o[_c>>2];o[_c+(fd<<2)>>2]=Zc;bd=_c+kd|0;kd=-1;j:{if((cd|0)==-1){break j}od=cd+1|0;cd=(od>>>0)%3|0?od:cd+ -2|0;kd=-1;if((cd|0)==-1){break j}kd=o[_c+(cd<<2)>>2]}o[bd>>2]=kd;k:{l:{if(($c|0)!=-1){$c=$c+(($c>>>0)%3|0?-1:2)|0;if(($c|0)!=-1){break l}}o[_c+gd>>2]=-1;break k}$c=o[_c+($c<<2)>>2];o[_c+gd>>2]=$c;if(($c|0)==-1){break k}o[id+($c<<2)>>2]=ed}$c=o[a+120>>2]+(Zc>>>3&536870908)|0;_c=o[$c>>2];vd=$c,wd=Zl(Zc)&_c,o[vd>>2]=wd;o[md>>2]=fd;Zc=0;break d}Zc=Zc+ -1|0;if(Zc>>>0>6){break c}m:{switch(Zc-1|0){case 1:case 3:cd=o[ad+68>>2];if((cd|0)==o[ad+64>>2]){break c}Zc=o[hd>>2];$c=o[Zc+12>>2];_c=u(dd,3);bd=(Yc|0)==3;fd=_c+(bd?2:1)|0;id=fd<<2;Yc=o[cd+ -4>>2];o[$c+id>>2]=Yc;o[$c+(Yc<<2)>>2]=fd;ed=Zc+24|0;cd=o[Zc+32>>2];Zc=Zc+28|0;$c=o[Zc>>2];n:{if((cd|0)!=($c|0)){o[$c>>2]=-1;gd=$c+4|0;o[Zc>>2]=gd;break n}bh(ed,8212);gd=o[Zc>>2]}$c=-1;Zc=o[hd>>2];cd=o[Zc+24>>2];if(o[Zc+28>>2]-cd>>2>(jd|0)){break c}$c=_c+2|0;Zc=o[Zc>>2];ed=gd-o[ed>>2]|0;gd=(ed>>2)+ -1|0;o[Zc+id>>2]=gd;if(ed){o[cd+(gd<<2)>>2]=fd}$c=bd?_c:$c;id=Zc+(_c+bd<<2)|0;o:{p:{q:{if((Yc|0)!=-1){bd=Yc+((Yc>>>0)%3|0?-1:2)|0;if((bd|0)==-1){break q}bd=o[Zc+(bd<<2)>>2];o[Zc+($c<<2)>>2]=bd;if((bd|0)==-1){break p}o[cd+(bd<<2)>>2]=$c;break p}o[Zc+($c<<2)>>2]=-1;$c=-1;break o}o[Zc+($c<<2)>>2]=-1}cd=Yc+1|0;Yc=(cd>>>0)%3|0?cd:Yc+ -2|0;$c=-1;if((Yc|0)==-1){break o}$c=o[Zc+(Yc<<2)>>2]}o[id>>2]=$c;Yc=o[ad+68>>2];o[Yc+ -4>>2]=_c;break g;case 5:break h;case 0:case 2:case 4:break c;default:break m}}Yc=o[ad+68>>2];gd=o[ad+64>>2];if((Yc|0)==(gd|0)){break c}Zc=Yc+ -4|0;fd=o[Zc>>2];o[ad+68>>2]=Zc;ed=o[ad+44>>2];r:{if(!ed){Yc=Zc;break r}id=Yl(ed)>>>0>1;s:{if(!id){_c=ed+2147483647ⅆbreak s}_c=dd;if(_c>>>0>>0){break s}_c=(dd>>>0)%(ed>>>0)|0}cd=o[o[ad+40>>2]+(_c<<2)>>2];if(!cd){Yc=Zc;break r}bd=o[cd>>2];if(!bd){Yc=Zc;break r}md=ed+ -1|0;t:{while(1){cd=o[bd+4>>2];u:{if((dd|0)!=(cd|0)){v:{if(!id){cd=cd&md;break v}if(cd>>>0>>0){break v}cd=(cd>>>0)%(ed>>>0)|0}if((_c|0)==(cd|0)){break u}Yc=Zc;break r}if(o[bd+8>>2]==(dd|0)){break t}}bd=o[bd>>2];if(bd){continue}break}Yc=Zc;break r}_c=bd+12|0;if((Zc|0)!=o[ad+72>>2]){o[Zc>>2]=o[_c>>2];o[ad+68>>2]=Yc;break r}bh(ad- -64|0,_c);Yc=o[ad+68>>2];gd=o[ad+64>>2]}if((Yc|0)==(gd|0)){break c}Zc=o[Yc+ -4>>2];cd=(Zc|0)==-1;ed=o[hd>>2];if(o[o[ed+12>>2]+(Zc<<2)>>2]!=-1?!cd:0){break c}kd=(fd|0)==-1;md=ed+12|0;_c=o[md>>2];if(o[_c+(fd<<2)>>2]!=-1?!kd:0){break c}gd=u(dd,3);id=gd+2|0;o[_c+(Zc<<2)>>2]=id;bd=id<<2;o[bd+_c>>2]=Zc;$c=gd+1|0;o[_c+(fd<<2)>>2]=$c;od=$c<<2;o[od+_c>>2]=fd;if(cd){break f}$c=-1;cd=-1;_c=o[ed>>2];ud=_c+(gd<<2)|0;pd=Zc+((Zc>>>0)%3|0?-1:2)|0;if((pd|0)!=-1){cd=o[(pd<<2)+_c>>2]}o[ud>>2]=cd;pd=Zc+1|0;Zc=(pd>>>0)%3|0?pd:Zc+ -2|0;if((Zc|0)==-1){break e}$c=o[(Zc<<2)+_c>>2];break e}o[a+400>>2]=7}o[ad>>2]=u(dd,3);Yc=o[hd>>2];$c=Yc+24|0;_c=o[Yc+32>>2];Yc=Yc+28|0;Zc=o[Yc>>2];w:{if((_c|0)!=(Zc|0)){o[Zc>>2]=-1;_c=Yc;Yc=Zc+4|0;o[_c>>2]=Yc;break w}bh($c,8212);Yc=o[Yc>>2]}Zc=o[hd>>2];bd=o[Zc>>2];cd=o[ad>>2];_c=Yc-o[$c>>2]|0;$c=_c>>2;ed=$c+ -1|0;o[bd+(cd<<2)>>2]=ed;gd=cd+1|0;cd=Zc+24|0;Yc=Zc+28|0;fd=o[Yc>>2];x:{if((fd|0)!=o[Zc+32>>2]){o[fd>>2]=-1;Zc=Yc;Yc=fd+4|0;o[Zc>>2]=Yc;break x}bh(cd,8212);Yc=o[Yc>>2];bd=o[Zc>>2]}o[(gd<<2)+bd>>2]=(Yc-o[cd>>2]>>2)+ -1;fd=o[ad>>2]+2|0;Yc=o[hd>>2];cd=Yc+28|0;Zc=o[cd>>2];y:{if((Zc|0)!=o[Yc+32>>2]){o[Zc>>2]=-1;bd=Zc+4|0;o[cd>>2]=bd;break y}bh(Yc+24|0,8212);bd=o[cd>>2]}o[o[Yc>>2]+(fd<<2)>>2]=(bd-o[Yc+24>>2]>>2)+ -1;Zc=o[hd>>2];Yc=o[Zc+24>>2];z:{if(o[Zc+28>>2]-Yc>>2<=(jd|0)){Zc=o[ad>>2];A:{B:{if(!_c){bd=1;o[Yc+($c<<2)>>2]=Zc+1;break B}o[Yc+(ed<<2)>>2]=Zc;bd=0;if((_c|0)==-4){break B}o[Yc+($c<<2)>>2]=o[ad>>2]+1;bd=$c+1|0;if((bd|0)==-1){break A}}o[Yc+(bd<<2)>>2]=o[ad>>2]+2}Yc=o[ad+68>>2];if((Yc|0)==o[ad+72>>2]){break z}o[Yc>>2]=o[ad>>2];Yc=Yc+4|0;o[ad+68>>2]=Yc;break g}$c=-1;break c}bh(ad- -64|0,ad);Yc=o[ad+68>>2]}Zc=1;break d}cd=-1;_c=o[ed>>2];o[_c+(gd<<2)>>2]=-1;$c=-1}o[_c+od>>2]=$c;C:{D:{E:{if(!kd){Zc=fd+((fd>>>0)%3|0?-1:2)|0;if((Zc|0)==-1){break E}Zc=o[(Zc<<2)+_c>>2];o[_c+bd>>2]=Zc;if((Zc|0)==-1){break D}o[o[ed+24>>2]+(Zc<<2)>>2]=id;break D}o[_c+bd>>2]=-1;bd=-1;$c=-1;break C}o[_c+bd>>2]=-1}bd=-1;Zc=fd+1|0;Zc=(Zc>>>0)%3|0?Zc:fd+ -2|0;$c=-1;if((Zc|0)==-1){break C}bd=o[(Zc<<2)+_c>>2];$c=Zc}o[ad>>2]=bd;Zc=o[sd>>2];_c=cd<<2;fd=Zc+_c|0;o[fd>>2]=o[fd>>2]+o[Zc+(bd<<2)>>2];Zc=o[ed+24>>2];if((cd|0)!=-1){o[Zc+_c>>2]=o[Zc+(o[ad>>2]<<2)>>2]}F:{if(($c|0)==-1){break F}_c=o[ed>>2];while(1){o[_c+($c<<2)>>2]=cd;bd=$c+1|0;$c=(bd>>>0)%3|0?bd:$c+ -2|0;if(($c|0)==-1){break F}$c=o[o[md>>2]+($c<<2)>>2];if(($c|0)==-1){break F}bd=$c+1|0;$c=(bd>>>0)%3|0?bd:$c+ -2|0;if(($c|0)!=-1){continue}break}}o[Zc+(o[ad>>2]<<2)>>2]=-1;G:{if(td){break G}Zc=o[ad+28>>2];if((Zc|0)!=o[ad+32>>2]){o[Zc>>2]=o[ad>>2];o[ad+28>>2]=Zc+4;break G}bh(ad+24|0,ad);Yc=o[ad+68>>2]}o[Yc+ -4>>2]=gd;Zc=0}kh(qd,o[Yc+ -4>>2]);H:{if(!Zc){break H}Yc=o[nd>>2];if((Yc|0)==o[a+36>>2]){break H}_c=(dd^-1)+Lc|0;while(1){$c=-1;Zc=o[Yc+ -8>>2];if(Zc>>>0>_c>>>0){break c}if((Zc|0)!=(_c|0)){break H}Zc=p[Yc+ -4|0];Yc=Yc+ -12|0;cd=o[Yc>>2];o[nd>>2]=Yc;if((cd|0)<0){break c}Yc=o[o[ad+68>>2]+ -4>>2];o[ad+20>>2]=(cd^-1)+Lc;o[ad+88>>2]=ad+20;ch(ad,ad+40|0,ad+20|0,ad+88|0);$c=o[ad>>2];I:{if(Zc&1){Zc=-1;if((Yc|0)==-1){break I}Zc=Yc+1|0;Zc=(Zc>>>0)%3|0?Zc:Yc+ -2|0;break I}Zc=-1;if((Yc|0)==-1){break I}Zc=Yc+ -1|0;if((Yc>>>0)%3){break I}Zc=Yc+2|0}o[$c+12>>2]=Zc;Yc=o[nd>>2];if((Yc|0)!=o[a+36>>2]){continue}break}}dd=dd+1|0;if((dd|0)!=(Lc|0)){continue}break}Zc=Lc}$c=-1;bd=o[a+8>>2];if(o[bd+28>>2]-o[bd+24>>2]>>2>(jd|0)){break c}Yc=o[ad+68>>2];if((Yc|0)!=o[ad+64>>2]){nd=a+72|0;Lc=a+60|0;sd=a+312|0;td=a+8|0;id=a+68|0;qd=a+80|0;fd=a+76|0;while(1){Yc=Yc+ -4|0;dd=o[Yc>>2];o[ad+68>>2]=Yc;o[ad>>2]=dd;J:{if(Pf(sd)){gd=o[td>>2];hd=o[gd>>2];if((Zc|0)>=((o[gd+4>>2]-hd>>2>>>0)/3|0)){break c}Yc=-1;bd=-1;ed=o[ad>>2];cd=-1;K:{if((ed|0)==-1){break K}_c=ed+1|0;_c=(_c>>>0)%3|0?_c:ed+ -2|0;cd=-1;if((_c|0)==-1){break K}cd=o[hd+(_c<<2)>>2]}_c=o[gd+24>>2];dd=o[(cd<<2)+_c>>2];L:{if((dd|0)==-1){break L}jd=dd+1|0;dd=(jd>>>0)%3|0?jd:dd+ -2|0;if((dd|0)==-1){break L}Yc=dd+1|0;Yc=(Yc>>>0)%3|0?Yc:dd+ -2|0;if((Yc|0)!=-1){bd=o[hd+(Yc<<2)>>2]}Yc=dd}jd=-1;rd=-1;_c=o[_c+(bd<<2)>>2];dd=-1;M:{if((_c|0)==-1){break M}ld=_c+1|0;_c=(ld>>>0)%3|0?ld:_c+ -2|0;dd=-1;if((_c|0)==-1){break M}dd=_c+1|0;dd=(dd>>>0)%3|0?dd:_c+ -2|0;if((dd|0)!=-1){rd=o[hd+(dd<<2)>>2]}dd=_c}ld=u(Zc,3);o[ad+88>>2]=ld;_c=o[gd+12>>2];o[_c+(ld<<2)>>2]=ed;o[_c+(ed<<2)>>2]=ld;ed=o[ad+88>>2]+1|0;o[_c+(ed<<2)>>2]=Yc;o[_c+(Yc<<2)>>2]=ed;Yc=o[ad+88>>2]+2|0;o[_c+(Yc<<2)>>2]=dd;o[_c+(dd<<2)>>2]=Yc;Yc=o[ad+88>>2];o[hd+(Yc<<2)>>2]=bd;dd=Yc+1|0;ed=hd+(dd<<2)|0;o[ed>>2]=rd;gd=Yc+2|0;hd=hd+(gd<<2)|0;o[hd>>2]=cd;_c=o[a+120>>2];Yc=dd>>>0>>0?-1:bd;cd=_c+(Yc>>>3&536870908)|0;bd=o[cd>>2];vd=cd,wd=Zl(Yc)&bd,o[vd>>2]=wd;jd=(dd|0)!=-1?o[ed>>2]:jd;Yc=_c+(jd>>>3&536870908)|0;dd=o[Yc>>2];vd=Yc,wd=Zl(jd)&dd,o[vd>>2]=wd;Yc=-1;Yc=(gd|0)!=-1?o[hd>>2]:Yc;dd=_c+(Yc>>>3&536870908)|0;_c=o[dd>>2];vd=dd,wd=Zl(Yc)&_c,o[vd>>2]=wd;Yc=o[a+64>>2];_c=o[id>>2];if((Yc|0)==_c<<5){if((Yc+1|0)<=-1){break a}dd=Lc;if(Yc>>>0<=1073741822){Yc=Yc+32&-32;_c=_c<<6;Yc=_c>>>0>>0?Yc:_c}else{Yc=2147483647}ab(dd,Yc);Yc=o[a+64>>2]}Zc=Zc+1|0;o[a+64>>2]=Yc+1;dd=o[a+60>>2]+(Yc>>>3&536870908)|0;o[dd>>2]=o[dd>>2]|1<<(Yc&31);Yc=o[fd>>2];if((Yc|0)!=o[qd>>2]){o[Yc>>2]=o[ad+88>>2];o[fd>>2]=Yc+4;break J}bh(nd,ad+88|0);break J}Yc=o[a+64>>2];_c=o[id>>2];if((Yc|0)==_c<<5){if((Yc+1|0)<=-1){break a}dd=Lc;if(Yc>>>0<=1073741822){Yc=Yc+32&-32;_c=_c<<6;Yc=_c>>>0>>0?Yc:_c}else{Yc=2147483647}ab(dd,Yc);Yc=o[a+64>>2]}o[a+64>>2]=Yc+1;dd=o[a+60>>2]+(Yc>>>3&536870908)|0;_c=o[dd>>2];vd=dd,wd=Zl(Yc)&_c,o[vd>>2]=wd;Yc=o[fd>>2];if((Yc|0)!=o[qd>>2]){o[Yc>>2]=o[ad>>2];o[fd>>2]=Yc+4;break J}bh(nd,ad)}Yc=o[ad+68>>2];if((Yc|0)!=o[ad+64>>2]){continue}break}bd=o[a+8>>2]}if(((o[bd+4>>2]-o[bd>>2]>>2>>>0)/3|0)!=(Zc|0)){break c}$c=o[bd+28>>2]-o[bd+24>>2]>>2;Lc=o[ad+24>>2];cd=o[ad+28>>2];if((Lc|0)==(cd|0)){break b}hd=a+8|0;while(1){_c=o[Lc>>2];Zc=o[bd+24>>2];Yc=$c+ -1|0;N:{if(o[Zc+(Yc<<2)>>2]!=-1){dd=$c;break N}Zc=o[bd+24>>2];while(1){Yc=$c+ -2|0;dd=$c+ -1|0;$c=dd;if(o[(Yc<<2)+Zc>>2]==-1){continue}break}}if(!(Yc>>>0<_c>>>0)){o[ad>>2]=bd;$c=Zc;Zc=Yc<<2;$c=o[$c+Zc>>2];m[ad+12|0]=1;o[ad+8>>2]=$c;o[ad+4>>2]=$c;if(($c|0)!=-1){while(1){o[o[bd>>2]+($c<<2)>>2]=_c;jf(ad);bd=o[hd>>2];$c=o[ad+8>>2];if(($c|0)!=-1){continue}break}}$c=o[bd+24>>2];Zc=$c+Zc|0;if((_c|0)!=-1){o[$c+(_c<<2)>>2]=o[Zc>>2]}o[Zc>>2]=-1;Zc=1<<(_c&31);$c=_c>>>3&536870908;_c=o[a+120>>2];$c=$c+_c|0;id=$c;ed=1<<(Yc&31);_c=_c+(Yc>>>3&536870908)|0;Yc=Zc|o[$c>>2];O:{if(ed&o[_c>>2]){break O}Yc=o[$c>>2]&(Zc^-1)}o[id>>2]=Yc;o[_c>>2]=o[_c>>2]&(ed^-1);dd=dd+ -1|0}$c=dd;Lc=Lc+4|0;if((cd|0)!=(Lc|0)){continue}break}}Lc=o[ad+24>>2]}if(Lc){o[ad+28>>2]=Lc;ul(Lc)}Yc=o[ad+48>>2];if(Yc){while(1){a=o[Yc>>2];ul(Yc);Yc=a;if(Yc){continue}break}}a=o[ad+40>>2];o[ad+40>>2]=0;if(a){ul(a)}a=o[ad+64>>2];if(a){o[ad+68>>2]=a;ul(a)}R=ad+96|0;return $c}Yk();D()}function jh(a,Lc){var xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0;zd=o[a+8>>2];Ad=a+4|0;xd=o[Ad>>2];if((zd-xd|0)/12>>>0>=Lc>>>0){a=u(Lc,12);Ed=Ad,Fd=xl(xd,0,a)+a|0,o[Ed>>2]=Fd;return}a:{Ad=o[a>>2];yd=(xd-Ad|0)/12|0;Bd=yd+Lc|0;if(Bd>>>0<357913942){Dd=u(yd,12);zd=(zd-Ad|0)/12|0;yd=zd<<1;yd=zd>>>0<178956970?yd>>>0>>0?Bd:yd:357913941;if(yd){if(yd>>>0>=357913942){break a}Cd=Hk(u(yd,12))}zd=Cd+Dd|0;xl(zd,0,u(Lc,12));Lc=u(Bd,12)+Cd|0;Bd=u(yd,12)+Cd|0;if((xd|0)!=(Ad|0)){while(1){zd=zd+ -12|0;o[zd>>2]=0;o[zd+4>>2]=0;yd=zd+8|0;o[yd>>2]=0;xd=xd+ -12|0;o[zd>>2]=o[xd>>2];o[zd+4>>2]=o[xd+4>>2];Cd=yd;yd=xd+8|0;o[Cd>>2]=o[yd>>2];o[yd>>2]=0;o[xd>>2]=0;o[xd+4>>2]=0;if((xd|0)!=(Ad|0)){continue}break}Ad=o[a>>2];xd=o[a+4>>2]}o[a>>2]=zd;o[a+8>>2]=Bd;o[a+4>>2]=Lc;if((xd|0)!=(Ad|0)){while(1){a=xd+ -12|0;Lc=o[a>>2];if(Lc){o[xd+ -8>>2]=Lc;ul(Lc)}xd=a;if((xd|0)!=(Ad|0)){continue}break}}if(Ad){ul(Ad)}return}Yk();D()}_a(8776);D()}function kh(a,Lc){var Gd=0,Hd=0,Id=0,Jd=0,Kd=0;Jd=-1;Hd=-1;a:{if((Lc|0)==-1){break a}Hd=Lc+1|0;Jd=(Hd>>>0)%3|0?Hd:Lc+ -2|0;Hd=Lc+ -1|0;if((Lc>>>0)%3){break a}Hd=Lc+2|0}Gd=o[a+168>>2];b:{if(Gd>>>0>7){break b}c:{d:{switch(Gd-2|0){default:Gd=o[a+148>>2];Id=1;Lc=o[a+156>>2];Kd=Lc+(((Jd|0)!=-1?o[o[Gd>>2]+(Jd<<2)>>2]:-1)<<2)|0;o[Kd>>2]=o[Kd>>2]+1;Lc=(((Hd|0)!=-1?o[o[Gd>>2]+(Hd<<2)>>2]:-1)<<2)+Lc|0;break c;case 3:Id=o[a+148>>2];Gd=-1;Gd=((Lc|0)!=-1?o[o[Id>>2]+(Lc<<2)>>2]:Gd)<<2;Lc=o[a+156>>2];Gd=Gd+Lc|0;o[Gd>>2]=o[Gd>>2]+1;Gd=(((Jd|0)!=-1?o[o[Id>>2]+(Jd<<2)>>2]:-1)<<2)+Lc|0;o[Gd>>2]=o[Gd>>2]+1;Gd=-1;Gd=(Hd|0)!=-1?o[o[Id>>2]+(Hd<<2)>>2]:Gd;Id=2;Lc=Lc+(Gd<<2)|0;break c;case 1:Id=o[a+148>>2];Gd=-1;Gd=((Lc|0)!=-1?o[o[Id>>2]+(Lc<<2)>>2]:Gd)<<2;Lc=o[a+156>>2];Gd=Gd+Lc|0;o[Gd>>2]=o[Gd>>2]+1;Gd=(((Jd|0)!=-1?o[o[Id>>2]+(Jd<<2)>>2]:-1)<<2)+Lc|0;o[Gd>>2]=o[Gd>>2]+2;Lc=(((Hd|0)!=-1?o[o[Id>>2]+(Hd<<2)>>2]:-1)<<2)+Lc|0;Id=1;break c;case 0:case 2:case 4:break b;case 5:break d}}Id=o[a+148>>2];Gd=-1;Gd=((Lc|0)!=-1?o[o[Id>>2]+(Lc<<2)>>2]:Gd)<<2;Lc=o[a+156>>2];Gd=Gd+Lc|0;o[Gd>>2]=o[Gd>>2]+2;Gd=(((Jd|0)!=-1?o[o[Id>>2]+(Jd<<2)>>2]:-1)<<2)+Lc|0;o[Gd>>2]=o[Gd>>2]+2;Gd=-1;Gd=(Hd|0)!=-1?o[o[Id>>2]+(Hd<<2)>>2]:Gd;Id=2;Lc=Lc+(Gd<<2)|0}o[Lc>>2]=o[Lc>>2]+Id}Gd=-1;Gd=(Jd|0)!=-1?o[o[o[a+148>>2]>>2]+(Jd<<2)>>2]:Gd;Jd=o[a+176>>2];Lc=Jd;Hd=a;Gd=o[o[a+156>>2]+(Gd<<2)>>2];if((Gd|0)>=(Lc|0)){a=o[a+180>>2];Lc=(Gd|0)>(a|0)?a:Gd}o[Hd+172>>2]=Lc-Jd}function lh(a){a=a|0;var Lc=0,Ld=0,Md=0,Nd=0,Od=0;o[a>>2]=8172;Lc=a+368|0;Md=o[Lc>>2];o[Lc>>2]=0;if(Md){Ld=Md+ -4|0;Lc=o[Ld>>2];if(Lc){Lc=Md+(Lc<<4)|0;while(1){Lc=Lc+ -16|0;if((Md|0)!=(Lc|0)){continue}break}}ul(Ld)}Md=o[a+216>>2];if(Md){Od=a+220|0;Lc=o[Od>>2];Ld=Md;a:{if((Md|0)==(Lc|0)){break a}while(1){Ld=o[Lc+ -12>>2];if(Ld){o[Lc+ -8>>2]=Ld;ul(Ld)}Ld=o[Lc+ -28>>2];if(Ld){o[Lc+ -24>>2]=Ld;ul(Ld)}Ld=Lc+ -144|0;Nd=o[Lc+ -40>>2];if(Nd){o[Lc+ -36>>2]=Nd;ul(Nd)}Ug(Lc+ -140|0);Lc=Ld;if((Md|0)!=(Lc|0)){continue}break}Ld=o[a+216>>2]}o[Od>>2]=Md;ul(Ld)}Lc=o[a+196>>2];if(Lc){o[a+200>>2]=Lc;ul(Lc)}Lc=o[a+184>>2];if(Lc){o[a+188>>2]=Lc;ul(Lc)}Lc=o[a+172>>2];if(Lc){o[a+176>>2]=Lc;ul(Lc)}Lc=o[a+160>>2];if(Lc){o[a+164>>2]=Lc;ul(Lc)}Lc=o[a+144>>2];if(Lc){while(1){Md=o[Lc>>2];ul(Lc);Lc=Md;if(Lc){continue}break}}Md=a+136|0;Lc=o[Md>>2];o[Md>>2]=0;if(Lc){ul(Lc)}Lc=o[a+120>>2];if(Lc){ul(Lc)}Lc=o[a+108>>2];if(Lc){ul(Lc)}Lc=o[a+96>>2];if(Lc){ul(Lc)}Lc=o[a+72>>2];if(Lc){o[a+76>>2]=Lc;ul(Lc)}Lc=o[a+60>>2];if(Lc){ul(Lc)}Lc=o[a+48>>2];if(Lc){o[a+52>>2]=Lc;ul(Lc)}Lc=o[a+36>>2];if(Lc){o[a+40>>2]=Lc;ul(Lc)}Lc=o[a+24>>2];if(Lc){o[a+28>>2]=Lc;ul(Lc)}Lc=o[a+12>>2];if(Lc){o[a+16>>2]=Lc;ul(Lc)}Lc=o[a+8>>2];o[a+8>>2]=0;if(Lc){ua(a+8|0,Lc)}return a|0}function mh(a){a=a|0;ul(lh(a))}function nh(a){a=a|0;var Pd=0,Qd=0,Rd=0,Sd=0,Td=0;o[a>>2]=8224;oh(a+232|0);Sd=o[a+216>>2];if(Sd){Qd=Sd;Td=a+220|0;Pd=o[Td>>2];Rd=Qd;a:{if((Qd|0)==(Pd|0)){break a}while(1){Qd=o[Pd+ -12>>2];if(Qd){o[Pd+ -8>>2]=Qd;ul(Qd)}Qd=o[Pd+ -28>>2];if(Qd){o[Pd+ -24>>2]=Qd;ul(Qd)}Qd=Pd+ -144|0;Rd=o[Pd+ -40>>2];if(Rd){o[Pd+ -36>>2]=Rd;ul(Rd)}Ug(Pd+ -140|0);Pd=Qd;if((Sd|0)!=(Pd|0)){continue}break}Rd=o[a+216>>2]}Qd=Rd;o[Td>>2]=Sd;ul(Qd)}Pd=o[a+196>>2];if(Pd){o[a+200>>2]=Pd;ul(Pd)}Pd=o[a+184>>2];if(Pd){o[a+188>>2]=Pd;ul(Pd)}Pd=o[a+172>>2];if(Pd){o[a+176>>2]=Pd;ul(Pd)}Pd=o[a+160>>2];if(Pd){o[a+164>>2]=Pd;ul(Pd)}Pd=o[a+144>>2];if(Pd){while(1){Qd=o[Pd>>2];ul(Pd);Pd=Qd;if(Pd){continue}break}}Pd=a+136|0;Qd=o[Pd>>2];o[Pd>>2]=0;if(Qd){ul(Qd)}Pd=o[a+120>>2];if(Pd){ul(Pd)}Pd=o[a+108>>2];if(Pd){ul(Pd)}Pd=o[a+96>>2];if(Pd){ul(Pd)}Pd=o[a+72>>2];if(Pd){o[a+76>>2]=Pd;ul(Pd)}Pd=o[a+60>>2];if(Pd){ul(Pd)}Pd=o[a+48>>2];if(Pd){o[a+52>>2]=Pd;ul(Pd)}Pd=o[a+36>>2];if(Pd){o[a+40>>2]=Pd;ul(Pd)}Pd=o[a+24>>2];if(Pd){o[a+28>>2]=Pd;ul(Pd)}Pd=o[a+12>>2];if(Pd){o[a+16>>2]=Pd;ul(Pd)}Pd=o[a+8>>2];o[a+8>>2]=0;if(Pd){ua(a+8|0,Pd)}return a|0}function oh(a){var Ud=0,Vd=0,Wd=0,Xd=0,Yd=0;Ud=o[a+196>>2];if(Ud){o[a+200>>2]=Ud;ul(Ud)}Ud=o[a+184>>2];if(Ud){Yd=a+188|0;Vd=o[Yd>>2];Wd=Ud;a:{if((Ud|0)==(Vd|0)){break a}while(1){Wd=Vd+ -12|0;Xd=o[Wd>>2];if(Xd){o[Vd+ -8>>2]=Xd;ul(Xd)}Vd=Wd;if((Vd|0)!=(Ud|0)){continue}break}Wd=o[a+184>>2]}o[Yd>>2]=Ud;ul(Wd)}Ud=o[a+156>>2];if(Ud){o[a+160>>2]=Ud;ul(Ud)}Ud=a+136|0;a=o[Ud>>2];o[Ud>>2]=0;if(a){Vd=a+ -4|0;Ud=o[Vd>>2];if(Ud){Ud=a+(Ud<<4)|0;while(1){Ud=Ud+ -16|0;if((a|0)!=(Ud|0)){continue}break}}ul(Vd)}}function ph(a){a=a|0;ul(nh(a))}function qh(a){a=a|0;var Zd=0;o[a>>2]=8512;Zd=o[a+48>>2];if(Zd){o[a+52>>2]=Zd;ul(Zd)}o[a>>2]=8764;Zd=o[a+36>>2];if(Zd){ul(Zd)}Zd=o[a+24>>2];if(Zd){ul(Zd)}ul(a)}function rh(a){a=a|0;var _d=0;o[a>>2]=8764;_d=o[a+36>>2];if(_d){ul(_d)}_d=o[a+24>>2];if(_d){ul(_d)}return a|0}function sh(a){a=a|0;var $d=0;o[a>>2]=8764;$d=o[a+36>>2];if($d){ul($d)}$d=o[a+24>>2];if($d){ul($d)}ul(a)}function th(a,ae,be){a=a|0;ae=ae|0;be=be|0;var ce=0,de=0;ce=R-16|0;R=ce;o[a+4>>2]=ae;de=o[ae+4>>2];ae=o[ae>>2];m[ce+15|0]=0;$a(a+24|0,(de-ae>>2>>>0)/3|0,ce+15|0);ae=o[a+4>>2];de=o[ae+28>>2];ae=o[ae+24>>2];m[ce+14|0]=0;$a(a+36|0,de-ae>>2,ce+14|0);ae=o[be+12>>2];o[a+16>>2]=o[be+8>>2];o[a+20>>2]=ae;ae=o[be+4>>2];o[a+8>>2]=o[be>>2];o[a+12>>2]=ae;R=ce+16|0}function uh(a,ae){var be=0,ee=0,fe=0;a:{if((a|0)!=(ae|0)){fe=a;be=o[ae+4>>2];ee=0;b:{if(!be){break b}c:{if(be>>>0<=o[a+8>>2]<<5>>>0){ee=o[a>>2];break c}ee=o[a>>2];if(ee){ul(ee);o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;be=o[ae+4>>2]}if((be|0)<=-1){break a}be=(be+ -1>>>5)+1|0;ee=Hk(be<<2);o[a+8>>2]=be;o[a+4>>2]=0;o[a>>2]=ee;be=o[ae+4>>2]}yl(ee,o[ae>>2],(be+ -1>>>3&536870908)+4|0);ee=o[ae+4>>2]}o[fe+4>>2]=ee}return}Yk();D()}function vh(a){a=a|0;var ae=0;o[a>>2]=9088;ae=o[a+88>>2];if(ae){o[a+92>>2]=ae;ul(ae)}ae=o[a+72>>2];if(ae){o[a+76>>2]=ae;ul(ae)}ae=o[a+60>>2];if(ae){o[a- -64>>2]=ae;ul(ae)}ae=o[a+48>>2];if(ae){o[a+52>>2]=ae;ul(ae)}o[a>>2]=9324;ae=o[a+36>>2];if(ae){ul(ae)}ae=o[a+24>>2];if(ae){ul(ae)}return a|0}function wh(a){a=a|0;var ge=0;o[a>>2]=8876;o[a+8>>2]=9088;ge=o[a+96>>2];if(ge){o[a+100>>2]=ge;ul(ge)}ge=o[a+80>>2];if(ge){o[a+84>>2]=ge;ul(ge)}ge=o[a+68>>2];if(ge){o[a+72>>2]=ge;ul(ge)}ge=o[a+56>>2];if(ge){o[a+60>>2]=ge;ul(ge)}o[a+8>>2]=9324;ge=o[a+44>>2];if(ge){ul(ge)}ge=o[a+32>>2];if(ge){ul(ge)}return a|0}function xh(a){a=a|0;var he=0;o[a>>2]=8876;o[a+8>>2]=9088;he=o[a+96>>2];if(he){o[a+100>>2]=he;ul(he)}he=o[a+80>>2];if(he){o[a+84>>2]=he;ul(he)}he=o[a+68>>2];if(he){o[a+72>>2]=he;ul(he)}he=o[a+56>>2];if(he){o[a+60>>2]=he;ul(he)}o[a+8>>2]=9324;he=o[a+44>>2];if(he){ul(he)}he=o[a+32>>2];if(he){ul(he)}ul(a)}function yh(a,ie){a=a|0;ie=ie|0;var je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0;re=o[a+12>>2];je=o[a+108>>2];ke=o[je+80>>2];m[ie+84|0]=0;ne=o[ie+68>>2];le=o[ie+72>>2]-ne>>2;a:{if(ke>>>0>le>>>0){kd(ie+68|0,ke-le|0,9076);je=o[a+108>>2];ke=o[je+80>>2];break a}if(ke>>>0>=le>>>0){break a}o[ie+72>>2]=ne+(ke<<2)}qe=o[je+96>>2];je=o[je+100>>2]-qe|0;se=(je|0)/12|0;if(!je){return 1}te=ie+68|0;ie=0;b:{while(1){c:{if((ie|0)==1431655765){break c}je=o[re>>2]+(u(ie,3)<<2)|0;ne=o[je>>2];if((ne|0)==-1){break c}le=u(ie,12)+qe|0;oe=o[le>>2];if(oe>>>0>=ke>>>0){break c}me=ne<<2;ne=o[o[a+112>>2]+12>>2];me=o[me+ne>>2];if(me>>>0>=ke>>>0){break c}pe=oe<<2;oe=o[te>>2];o[pe+oe>>2]=me;me=o[je+4>>2];if((me|0)==-1){break c}pe=o[le+4>>2];if(pe>>>0>=ke>>>0){break c}me=o[ne+(me<<2)>>2];if(me>>>0>=ke>>>0){break c}o[oe+(pe<<2)>>2]=me;je=o[je+8>>2];if((je|0)==-1){break c}le=o[le+8>>2];if(le>>>0>=ke>>>0){break c}je=o[ne+(je<<2)>>2];if(je>>>0>=ke>>>0){break c}o[oe+(le<<2)>>2]=je;je=1;ie=ie+1|0;if(ie>>>0>>0){continue}break b}break}je=0}return je|0}function zh(a){a=a|0;var ie=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0;xe=R-16|0;R=xe;ue=o[a+4>>2];ie=o[ue>>2];a:{Ae=a+12|0;ve=o[Ae>>2];we=o[ve+28>>2]-o[ve+24>>2]|0;ve=we>>2;b:{if(o[ue+8>>2]-ie>>2>>>0>=ve>>>0){break b}if(ve>>>0>=1073741824){break a}Be=ue+4|0;ye=o[Be>>2];ze=ve<<2;ve=Hk(we);ze=ze+ve|0;we=ye-ie|0;ye=we+ve|0;if((we|0)>=1){wl(ve,ie,we)}o[ue>>2]=ve;o[ue+8>>2]=ze;o[Be>>2]=ye;if(!ie){break b}ul(ie)}ie=o[Ae>>2];ue=o[ie+24>>2];ie=o[ie+28>>2];o[xe+12>>2]=0;ie=ie-ue>>2;ve=a+96|0;we=o[ve>>2];ue=o[a+100>>2]-we>>2;c:{if(ie>>>0>ue>>>0){yd(ve,ie-ue|0,xe+12|0);break c}if(ie>>>0>=ue>>>0){break c}o[a+100>>2]=we+(ie<<2)}we=a+8|0;d:{e:{ie=o[a+116>>2];if(ie){ve=o[ie>>2];ue=1;if((ve|0)==o[ie+4>>2]){break d}ie=0;while(1){if(!Ah(we,o[(ie<<2)+ve>>2])){break e}ue=o[a+116>>2];ve=o[ue>>2];ie=ie+1|0;if(ie>>>0>2]-ve>>2>>>0){continue}break}ue=1;break d}ie=0;a=o[a+12>>2];a=(o[a+4>>2]-o[a>>2]>>2>>>0)/3|0;ue=1;if((a|0)<=0){break d}while(1){if(!Ah(we,u(ie,3))){break e}ie=ie+1|0;if(ie>>>0>>0){continue}break}ue=1;break d}ue=0}R=xe+16|0;return ue|0}_a(8776);D()}function Ah(a,Ce){var De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0;Ge=R-32|0;R=Ge;o[Ge+8>>2]=Ce;a:{if(o[a+92>>2]==o[a+88>>2]){break a}Fe=a+52|0;De=o[Fe>>2];b:{if((De|0)!=o[a+56>>2]){o[De>>2]=Ce;o[Fe>>2]=De+4;break b}bh(a+48|0,Ge+8|0)}o[a+84>>2]=0;Ce=-1;Fe=-1;De=o[Ge+8>>2];c:{if((De|0)==-1){break c}Ee=o[a+4>>2];He=De+1|0;He=(He>>>0)%3|0?He:De+ -2|0;if((He|0)!=-1){Ce=o[o[Ee>>2]+(He<<2)>>2]}De=De+((De>>>0)%3|0?-1:2)|0;if((De|0)==-1){break c}Fe=o[o[Ee>>2]+(De<<2)>>2]}De=o[a+36>>2];Ee=De+(Ce>>>3&536870908)|0;He=o[Ee>>2];Je=1<<(Ce&31);if(!(He&Je)){o[Ee>>2]=He|Je;De=-1;Ee=o[Ge+8>>2];if((Ee|0)!=-1){De=Ee+1|0;De=(De>>>0)%3|0?De:Ee+ -2|0}o[Ge+16>>2]=De;Ee=o[a+20>>2];He=(De>>>0)/3|0;He=o[(o[o[a+16>>2]+96>>2]+u(He,12)|0)+(De-u(He,3)<<2)>>2];o[Ge+24>>2]=He;Ee=o[Ee+4>>2];Je=Ee+4|0;De=o[Je>>2];d:{if((De|0)!=o[Ee+8>>2]){o[De>>2]=He;o[Je>>2]=De+4;break d}bh(Ee,Ge+24|0)}He=a+12|0;De=o[He>>2];Je=De+4|0;Ee=o[Je>>2];e:{if((Ee|0)!=o[De+8>>2]){o[Ee>>2]=o[Ge+16>>2];o[Je>>2]=Ee+4;break e}bh(De,Ge+16|0);De=o[He>>2]}o[o[De+12>>2]+(Ce<<2)>>2]=o[De+24>>2];o[De+24>>2]=o[De+24>>2]+1;De=o[a+36>>2]}Ce=De+(Fe>>>3&536870908)|0;De=o[Ce>>2];Ee=1<<(Fe&31);if(!(De&Ee)){o[Ce>>2]=De|Ee;Ce=Ge;Ke=Ce;Ee=o[Ce+8>>2];De=-1;f:{if((Ee|0)==-1){break f}De=Ee+ -1|0;if((Ee>>>0)%3){break f}De=Ee+2|0}o[Ke+16>>2]=De;Ce=o[a+20>>2];Ee=(De>>>0)/3|0;Ee=o[(o[o[a+16>>2]+96>>2]+u(Ee,12)|0)+(De-u(Ee,3)<<2)>>2];o[Ge+24>>2]=Ee;De=o[Ce+4>>2];He=De+4|0;Ce=o[He>>2];g:{if((Ce|0)!=o[De+8>>2]){o[Ce>>2]=Ee;o[He>>2]=Ce+4;break g}bh(De,Ge+24|0)}Ee=a+12|0;Ce=o[Ee>>2];He=Ce+4|0;De=o[He>>2];h:{if((De|0)!=o[Ce+8>>2]){o[De>>2]=o[Ge+16>>2];o[He>>2]=De+4;break h}bh(Ce,Ge+16|0);Ce=o[Ee>>2]}o[o[Ce+12>>2]+(Fe<<2)>>2]=o[Ce+24>>2];o[Ce+24>>2]=o[Ce+24>>2]+1}Ce=-1;De=o[Ge+8>>2];if((De|0)!=-1){Ce=o[o[o[a+4>>2]>>2]+(De<<2)>>2]}De=o[a+36>>2]+(Ce>>>3&536870908)|0;Fe=o[De>>2];Ee=1<<(Ce&31);if(!(Fe&Ee)){o[De>>2]=Ee|Fe;De=o[Ge+8>>2];o[Ge+16>>2]=De;Fe=o[a+20>>2];Ee=(De>>>0)/3|0;Ee=o[(o[o[a+16>>2]+96>>2]+u(Ee,12)|0)+(De-u(Ee,3)<<2)>>2];o[Ge+24>>2]=Ee;Fe=o[Fe+4>>2];He=Fe+4|0;De=o[He>>2];i:{if((De|0)!=o[Fe+8>>2]){o[De>>2]=Ee;o[He>>2]=De+4;break i}bh(Fe,Ge+24|0)}Ee=a+12|0;Fe=o[Ee>>2];He=Fe+4|0;De=o[He>>2];j:{if((De|0)!=o[Fe+8>>2]){o[De>>2]=o[Ge+16>>2];o[He>>2]=De+4;break j}bh(Fe,Ge+16|0);Fe=o[Ee>>2]}o[o[Fe+12>>2]+(Ce<<2)>>2]=o[Fe+24>>2];o[Fe+24>>2]=o[Fe+24>>2]+1}De=o[a+84>>2];k:{if((De|0)>2){break k}He=a+24|0;Je=a+36|0;Oe=a+16|0;Pe=a+20|0;Me=a+88|0;while(1){Fe=u(De,12)+a|0;Ee=Fe+52|0;Ce=o[Ee>>2];if((Ce|0)==o[Fe+48>>2]){Ce=(De|0)<2;De=De+1|0;if(Ce){continue}break k}Fe=Ce+ -4|0;Ce=o[Fe>>2];o[Ee>>2]=Fe;o[a+84>>2]=De;o[Ge+8>>2]=Ce;if((Ce|0)==-1){break a}Fe=o[He>>2];Ee=(Ce>>>0)/3|0;l:{if(o[Fe+(Ee>>>3&268435452)>>2]>>>(Ee&31)&1){break l}m:{while(1){Ce=(Ce>>>0)/3|0;De=(Ce>>>3&268435452)+Fe|0;o[De>>2]=o[De>>2]|1<<(Ce&31);Ce=-1;Fe=o[Ge+8>>2];if((Fe|0)!=-1){Ce=o[o[o[a+4>>2]>>2]+(Fe<<2)>>2]}De=o[Je>>2]+(Ce>>>3&536870908)|0;Ee=o[De>>2];Ie=1<<(Ce&31);if(!(Ee&Ie)){o[De>>2]=Ee|Ie;De=o[Ge+8>>2];o[Ge+16>>2]=De;Fe=o[Pe>>2];Ee=(De>>>0)/3|0;Ee=o[(o[o[Oe>>2]+96>>2]+u(Ee,12)|0)+(De-u(Ee,3)<<2)>>2];o[Ge+24>>2]=Ee;Fe=o[Fe+4>>2];Ie=Fe+4|0;De=o[Ie>>2];n:{if((De|0)!=o[Fe+8>>2]){o[De>>2]=Ee;o[Ie>>2]=De+4;break n}bh(Fe,Ge+24|0)}Ee=a+12|0;Fe=o[Ee>>2];Ie=Fe+4|0;De=o[Ie>>2];o:{if((De|0)!=o[Fe+8>>2]){o[De>>2]=o[Ge+16>>2];o[Ie>>2]=De+4;break o}bh(Fe,Ge+16|0);Fe=o[Ee>>2]}o[o[Fe+12>>2]+(Ce<<2)>>2]=o[Fe+24>>2];o[Fe+24>>2]=o[Fe+24>>2]+1;Fe=o[Ge+8>>2]}if((Fe|0)==-1){break m}Ne=a+4|0;Ie=o[Ne>>2];Ce=-1;De=-1;Ee=Fe+1|0;Ee=(Ee>>>0)%3|0?Ee:Fe+ -2|0;if((Ee|0)!=-1){De=o[o[Ie+12>>2]+(Ee<<2)>>2]}Fe=((Fe>>>0)%3|0?-1:2)+Fe|0;if((Fe|0)!=-1){Ce=o[o[Ie+12>>2]+(Fe<<2)>>2]}Ee=(Ce>>>0)/3|0;Le=(De>>>0)/3|0;Ke=(De|0)==-1;Fe=1;p:{if(Ke){break p}Fe=Ke?-1:Le;Fe=o[o[He>>2]+(Fe>>>3&536870908)>>2]>>>(Fe&31)&1}q:{r:{s:{if((Ce|0)==-1){if(!Fe){break s}break m}Ee=(Ce|0)==-1?-1:Ee;t:{if(o[o[He>>2]+(Ee>>>3&536870908)>>2]>>>(Ee&31)&1){break t}Ee=0;Ke=Fe;Ie=o[o[Ie>>2]+(Ce<<2)>>2];if(!(o[o[Je>>2]+(Ie>>>3&536870908)>>2]>>>(Ie&31)&1)){Ie=o[Me>>2]+(Ie<<2)|0;Ee=o[Ie>>2];o[Ie>>2]=Ee+1;Ee=(Ee|0)<1?2:1}if((Ee|0)<=o[a+84>>2]?Ke:0){break r}o[Ge+24>>2]=Ce;Le=u(Ee,12)+a|0;Ke=Le+52|0;Ie=o[Ke>>2];u:{if((Ie|0)!=o[Le+56>>2]){o[Ie>>2]=Ce;o[Ke>>2]=Ie+4;break u}bh(Le+48|0,Ge+24|0)}if(o[a+84>>2]<=(Ee|0)){break t}o[a+84>>2]=Ee}if(Fe){break m}}Ce=-1;Fe=0;Ce=(De|0)!=-1?o[o[o[Ne>>2]>>2]+(De<<2)>>2]:Ce;if(!(o[o[Je>>2]+(Ce>>>3&536870908)>>2]>>>(Ce&31)&1)){Fe=o[Me>>2]+(Ce<<2)|0;Ce=o[Fe>>2];o[Fe>>2]=Ce+1;Fe=(Ce|0)<1?2:1}if((Fe|0)>o[a+84>>2]){break q}Ce=De}o[Ge+8>>2]=Ce;Fe=o[He>>2];continue}break}o[Ge+24>>2]=De;Ee=u(Fe,12)+a|0;Ie=Ee+52|0;Ce=o[Ie>>2];v:{if((Ce|0)!=o[Ee+56>>2]){o[Ce>>2]=De;o[Ie>>2]=Ce+4;break v}bh(Ee+48|0,Ge+24|0)}De=o[a+84>>2];if((De|0)<=(Fe|0)){break l}o[a+84>>2]=Fe;De=Fe;break l}De=o[a+84>>2]}if((De|0)<3){continue}break}}o[Ge+8>>2]=-1}R=Ge+32|0;return 1}function Bh(a){a=a|0;var Ce=0;o[a>>2]=9088;Ce=o[a+88>>2];if(Ce){o[a+92>>2]=Ce;ul(Ce)}Ce=o[a+72>>2];if(Ce){o[a+76>>2]=Ce;ul(Ce)}Ce=o[a+60>>2];if(Ce){o[a- -64>>2]=Ce;ul(Ce)}Ce=o[a+48>>2];if(Ce){o[a+52>>2]=Ce;ul(Ce)}o[a>>2]=9324;Ce=o[a+36>>2];if(Ce){ul(Ce)}Ce=o[a+24>>2];if(Ce){ul(Ce)}ul(a)}function Ch(a){a=a|0;var Qe=0;o[a>>2]=9324;Qe=o[a+36>>2];if(Qe){ul(Qe)}Qe=o[a+24>>2];if(Qe){ul(Qe)}return a|0}function Dh(a){a=a|0;var Re=0;o[a>>2]=9324;Re=o[a+36>>2];if(Re){ul(Re)}Re=o[a+24>>2];if(Re){ul(Re)}ul(a)}function Eh(a){a=a|0;var Se=0;o[a>>2]=9508;Se=o[a+48>>2];if(Se){o[a+52>>2]=Se;ul(Se)}o[a>>2]=9324;Se=o[a+36>>2];if(Se){ul(Se)}Se=o[a+24>>2];if(Se){ul(Se)}return a|0}function Fh(a){a=a|0;var Te=0,Ue=0;o[a>>2]=9344;Ue=a+8|0;o[Ue>>2]=9508;Te=o[a+56>>2];if(Te){o[a+60>>2]=Te;ul(Te)}o[Ue>>2]=9324;Te=o[a+44>>2];if(Te){ul(Te)}Te=o[a+32>>2];if(Te){ul(Te)}return a|0}function Gh(a){a=a|0;var Ve=0,We=0;o[a>>2]=9344;We=a+8|0;o[We>>2]=9508;Ve=o[a+56>>2];if(Ve){o[a+60>>2]=Ve;ul(Ve)}o[We>>2]=9324;Ve=o[a+44>>2];if(Ve){ul(Ve)}Ve=o[a+32>>2];if(Ve){ul(Ve)}ul(a)}function Hh(a,Xe){a=a|0;Xe=Xe|0;var Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0;ef=o[a+12>>2];Ye=o[a+68>>2];Ze=o[Ye+80>>2];m[Xe+84|0]=0;af=o[Xe+68>>2];_e=o[Xe+72>>2]-af>>2;a:{if(Ze>>>0>_e>>>0){kd(Xe+68|0,Ze-_e|0,9076);Ye=o[a+68>>2];Ze=o[Ye+80>>2];break a}if(Ze>>>0>=_e>>>0){break a}o[Xe+72>>2]=af+(Ze<<2)}df=o[Ye+96>>2];Ye=o[Ye+100>>2]-df|0;ff=(Ye|0)/12|0;if(!Ye){return 1}gf=Xe+68|0;Xe=0;b:{while(1){c:{if((Xe|0)==1431655765){break c}Ye=o[ef>>2]+(u(Xe,3)<<2)|0;af=o[Ye>>2];if((af|0)==-1){break c}_e=u(Xe,12)+df|0;bf=o[_e>>2];if(bf>>>0>=Ze>>>0){break c}$e=af<<2;af=o[o[a+72>>2]+12>>2];$e=o[$e+af>>2];if($e>>>0>=Ze>>>0){break c}cf=bf<<2;bf=o[gf>>2];o[cf+bf>>2]=$e;$e=o[Ye+4>>2];if(($e|0)==-1){break c}cf=o[_e+4>>2];if(cf>>>0>=Ze>>>0){break c}$e=o[af+($e<<2)>>2];if($e>>>0>=Ze>>>0){break c}o[bf+(cf<<2)>>2]=$e;Ye=o[Ye+8>>2];if((Ye|0)==-1){break c}_e=o[_e+8>>2];if(_e>>>0>=Ze>>>0){break c}Ye=o[af+(Ye<<2)>>2];if(Ye>>>0>=Ze>>>0){break c}o[bf+(_e<<2)>>2]=Ye;Ye=1;Xe=Xe+1|0;if(Xe>>>0>>0){continue}break b}break}Ye=0}return Ye|0}function Ih(a){a=a|0;var Xe=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0;kf=o[a+4>>2];Xe=o[kf>>2];a:{hf=o[a+12>>2];jf=o[hf+28>>2]-o[hf+24>>2]|0;hf=jf>>2;b:{if(o[kf+8>>2]-Xe>>2>>>0>=hf>>>0){break b}if(hf>>>0>=1073741824){break a}nf=kf+4|0;lf=o[nf>>2];mf=hf<<2;hf=Hk(jf);mf=mf+hf|0;jf=lf-Xe|0;lf=jf+hf|0;if((jf|0)>=1){wl(hf,Xe,jf)}o[kf>>2]=hf;o[kf+8>>2]=mf;o[nf>>2]=lf;if(!Xe){break b}ul(Xe)}hf=a+8|0;c:{d:{Xe=o[a+76>>2];if(Xe){kf=o[Xe>>2];jf=1;if((kf|0)==o[Xe+4>>2]){break c}Xe=0;while(1){if(!Jh(hf,o[(Xe<<2)+kf>>2])){break d}jf=o[a+76>>2];kf=o[jf>>2];Xe=Xe+1|0;if(Xe>>>0>2]-kf>>2>>>0){continue}break}return 1}Xe=0;a=o[a+12>>2];a=(o[a+4>>2]-o[a>>2]>>2>>>0)/3|0;if((a|0)<=0){return 1}while(1){if(!Jh(hf,u(Xe,3))){break d}Xe=Xe+1|0;if(Xe>>>0>>0){continue}break}return 1}jf=0}return jf|0}_a(8776);D()}function Jh(a,of){var pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0;tf=R-32|0;R=tf;o[tf+8>>2]=of;a:{if((of|0)==-1){sf=1;break a}sf=1;pf=(of>>>0)/3|0;if(o[o[a+24>>2]+(pf>>>3&268435452)>>2]>>>(pf&31)&1){break a}pf=a+52|0;rf=o[a+48>>2];o[pf>>2]=rf;yf=a+48|0;b:{if((rf|0)!=o[a+56>>2]){o[rf>>2]=of;o[pf>>2]=rf+4;break b}bh(yf,tf+8|0)}sf=-1;rf=o[tf+8>>2];if((rf|0)==-1){sf=0;break a}pf=o[a+4>>2];of=rf+1|0;of=(of>>>0)%3|0?of:rf+ -2|0;if((of|0)!=-1){sf=o[o[pf>>2]+(of<<2)>>2]}of=rf+((rf>>>0)%3|0?-1:2)|0;if((of|0)==-1){sf=0;break a}if((sf|0)==-1){sf=0;break a}uf=o[o[pf>>2]+(of<<2)>>2];if((uf|0)==-1){sf=0;break a}of=o[a+36>>2];qf=of+(sf>>>3&536870908)|0;rf=o[qf>>2];pf=1<<(sf&31);if(!(rf&pf)){o[qf>>2]=pf|rf;qf=-1;pf=o[tf+8>>2];if((pf|0)!=-1){of=pf+1|0;qf=(of>>>0)%3|0?of:pf+ -2|0}o[tf+16>>2]=qf;rf=o[a+20>>2];of=(qf>>>0)/3|0;pf=o[(o[o[a+16>>2]+96>>2]+u(of,12)|0)+(qf-u(of,3)<<2)>>2];o[tf+24>>2]=pf;rf=o[rf+4>>2];of=rf+4|0;qf=o[of>>2];c:{if((qf|0)!=o[rf+8>>2]){o[qf>>2]=pf;o[of>>2]=qf+4;break c}bh(rf,tf+24|0)}pf=a+12|0;qf=o[pf>>2];of=qf+4|0;rf=o[of>>2];d:{if((rf|0)!=o[qf+8>>2]){o[rf>>2]=o[tf+16>>2];o[of>>2]=rf+4;break d}bh(qf,tf+16|0);qf=o[pf>>2]}o[o[qf+12>>2]+(sf<<2)>>2]=o[qf+24>>2];o[qf+24>>2]=o[qf+24>>2]+1;of=o[a+36>>2]}rf=(uf>>>3&536870908)+of|0;pf=o[rf>>2];of=1<<(uf&31);if(!(pf&of)){o[rf>>2]=of|pf;of=tf;rf=of;pf=o[of+8>>2];qf=-1;e:{if((pf|0)==-1){break e}qf=pf+ -1|0;if((pf>>>0)%3){break e}qf=pf+2|0}o[rf+16>>2]=qf;rf=o[a+20>>2];of=(qf>>>0)/3|0;pf=o[(o[o[a+16>>2]+96>>2]+u(of,12)|0)+(qf-u(of,3)<<2)>>2];o[tf+24>>2]=pf;rf=o[rf+4>>2];of=rf+4|0;qf=o[of>>2];f:{if((qf|0)!=o[rf+8>>2]){o[qf>>2]=pf;o[of>>2]=qf+4;break f}bh(rf,tf+24|0)}pf=a+12|0;sf=o[pf>>2];of=sf+4|0;rf=o[of>>2];g:{if((rf|0)!=o[sf+8>>2]){o[rf>>2]=o[tf+16>>2];o[of>>2]=rf+4;break g}bh(sf,tf+16|0);sf=o[pf>>2]}o[o[sf+12>>2]+(uf<<2)>>2]=o[sf+24>>2];o[sf+24>>2]=o[sf+24>>2]+1}wf=a+52|0;of=o[wf>>2];if((of|0)==o[a+48>>2]){sf=1;break a}xf=a+24|0;zf=a+4|0;Af=a+36|0;Bf=a+16|0;Cf=a+20|0;Df=a+56|0;while(1){qf=of+ -4|0;pf=o[qf>>2];o[tf+8>>2]=pf;of=(pf>>>0)/3|0;h:{i:{j:{if((pf|0)==-1){break j}rf=o[xf>>2]+(of>>>3&268435452)|0;pf=o[rf>>2];of=1<<(of&31);if(pf&of){break j}o[rf>>2]=of|pf;of=o[tf+8>>2];if((of|0)!=-1){break i}sf=0;break a}o[wf>>2]=qf;break h}k:{l:{m:{while(1){vf=o[zf>>2];pf=o[o[vf>>2]+(of<<2)>>2];if((pf|0)==-1){sf=0;break a}uf=o[Af>>2]+(pf>>>3&536870908)|0;qf=o[uf>>2];rf=1<<(pf&31);n:{if(!(qf&rf)){sf=pf<<2;pf=o[sf+o[vf+24>>2]>>2];o:{p:{if((pf|0)==-1){break p}of=pf+1|0;of=(of>>>0)%3|0?of:pf+ -2|0;if((of|0)==-1){break p}vf=o[o[vf+12>>2]+(of<<2)>>2];if((vf|0)==-1){break p}of=vf+1|0;pf=0;if((((of>>>0)%3|0?of:vf+ -2|0)|0)!=-1){break o}}pf=1}o[uf>>2]=rf|qf;rf=o[tf+8>>2];o[tf+16>>2]=rf;qf=o[Cf>>2];of=(rf>>>0)/3|0;rf=o[(o[o[Bf>>2]+96>>2]+u(of,12)|0)+(rf-u(of,3)<<2)>>2];o[tf+24>>2]=rf;qf=o[qf+4>>2];of=qf+4|0;uf=o[of>>2];q:{if((uf|0)!=o[qf+8>>2]){o[uf>>2]=rf;o[of>>2]=uf+4;break q}bh(qf,tf+24|0)}qf=a+12|0;of=o[qf>>2];rf=of+4|0;uf=o[rf>>2];r:{if((uf|0)!=o[of+8>>2]){o[uf>>2]=o[tf+16>>2];o[rf>>2]=uf+4;break r}bh(of,tf+16|0);of=o[qf>>2]}o[o[of+12>>2]+sf>>2]=o[of+24>>2];o[of+24>>2]=o[of+24>>2]+1;vf=o[zf>>2];of=o[tf+8>>2];if(!pf){pf=tf;qf=-1;s:{if((of|0)==-1){break s}rf=of+1|0;of=(rf>>>0)%3|0?rf:of+ -2|0;qf=-1;if((of|0)==-1){break s}qf=o[o[vf+12>>2]+(of<<2)>>2]}o[pf+8>>2]=qf;of=(qf>>>0)/3|0;break n}if((of|0)==-1){break l}}qf=-1;sf=-1;pf=of+1|0;pf=(pf>>>0)%3|0?pf:of+ -2|0;if((pf|0)!=-1){sf=o[o[vf+12>>2]+(pf<<2)>>2]}o[tf+24>>2]=sf;of=((of>>>0)%3|0?-1:2)+of|0;if((of|0)!=-1){qf=o[o[vf+12>>2]+(of<<2)>>2]}rf=(qf>>>0)/3|0;of=(sf>>>0)/3|0;pf=(sf|0)==-1;t:{if(pf){of=-1;pf=1;break t}pf=pf?-1:of;pf=o[o[xf>>2]+(pf>>>3&536870908)>>2]>>>(pf&31)&1}u:{if((qf|0)!=-1){uf=(qf|0)==-1?-1:rf;uf=o[o[xf>>2]+(uf>>>3&536870908)>>2]&1<<(uf&31);if(pf){sf=qf;of=rf;if(!uf){break u}break k}if(uf){break u}of=o[wf>>2];o[of+ -4>>2]=qf;if((of|0)==o[Df>>2]){break m}o[of>>2]=o[tf+24>>2];o[wf>>2]=of+4;break h}if(pf){break k}}o[tf+8>>2]=sf}pf=o[xf>>2]+(of>>>3&536870908)|0;o[pf>>2]=o[pf>>2]|1<<(of&31);of=o[tf+8>>2];if((of|0)!=-1){continue}break}sf=0;break a}bh(yf,tf+24|0);break h}o[tf+24>>2]=-1}o[wf>>2]=o[wf>>2]+ -4}sf=1;of=o[wf>>2];if((of|0)!=o[a+48>>2]){continue}break}}R=tf+32|0;return sf}function Kh(a){a=a|0;var of=0;o[a>>2]=9508;of=o[a+48>>2];if(of){o[a+52>>2]=of;ul(of)}o[a>>2]=9324;of=o[a+36>>2];if(of){ul(of)}of=o[a+24>>2];if(of){ul(of)}ul(a)}function Lh(a){a=a|0;var Ef=0,Ff=0;o[a>>2]=9636;Ff=a+8|0;o[Ff>>2]=8512;Ef=o[a+56>>2];if(Ef){o[a+60>>2]=Ef;ul(Ef)}o[Ff>>2]=8764;Ef=o[a+44>>2];if(Ef){ul(Ef)}Ef=o[a+32>>2];if(Ef){ul(Ef)}return a|0}function Mh(a){a=a|0;var Gf=0,Hf=0;o[a>>2]=9636;Hf=a+8|0;o[Hf>>2]=8512;Gf=o[a+56>>2];if(Gf){o[a+60>>2]=Gf;ul(Gf)}o[Hf>>2]=8764;Gf=o[a+44>>2];if(Gf){ul(Gf)}Gf=o[a+32>>2];if(Gf){ul(Gf)}ul(a)}function Nh(a,If){a=a|0;If=If|0;var Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0;Of=o[a+12>>2];Jf=o[a+68>>2];Kf=o[Jf+80>>2];m[If+84|0]=0;Nf=o[If+68>>2];Lf=o[If+72>>2]-Nf>>2;a:{if(Kf>>>0>Lf>>>0){kd(If+68|0,Kf-Lf|0,9076);Jf=o[a+68>>2];Kf=o[Jf+80>>2];break a}if(Kf>>>0>=Lf>>>0){break a}o[If+72>>2]=Nf+(Kf<<2)}Qf=o[Jf+96>>2];Jf=o[Jf+100>>2]-Qf|0;Rf=(Jf|0)/12|0;if(!Jf){return 1}Sf=o[Of+28>>2];Tf=If+68|0;If=0;b:{while(1){c:{Jf=(u(If,3)<<2)+Sf|0;Of=o[Jf>>2];if((Of|0)==-1){break c}Lf=u(If,12)+Qf|0;Nf=o[Lf>>2];if(Nf>>>0>=Kf>>>0){break c}Mf=Of<<2;Of=o[o[a+72>>2]+12>>2];Mf=o[Mf+Of>>2];if(Mf>>>0>=Kf>>>0){break c}Pf=Nf<<2;Nf=o[Tf>>2];o[Pf+Nf>>2]=Mf;Mf=o[Jf+4>>2];if((Mf|0)==-1){break c}Pf=o[Lf+4>>2];if(Pf>>>0>=Kf>>>0){break c}Mf=o[Of+(Mf<<2)>>2];if(Mf>>>0>=Kf>>>0){break c}o[Nf+(Pf<<2)>>2]=Mf;Jf=o[Jf+8>>2];if((Jf|0)==-1){break c}Lf=o[Lf+8>>2];if(Lf>>>0>=Kf>>>0){break c}Jf=o[Of+(Jf<<2)>>2];if(Jf>>>0>=Kf>>>0){break c}o[Nf+(Lf<<2)>>2]=Jf;Jf=1;If=If+1|0;if(If>>>0>>0){continue}break b}break}Jf=0}return Jf|0}function Oh(a){a=a|0;var If=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0;Wf=o[a+4>>2];If=o[Wf>>2];a:{Uf=o[a+12>>2];Vf=o[Uf+56>>2]-o[Uf+52>>2]|0;Uf=Vf>>2;b:{if(o[Wf+8>>2]-If>>2>>>0>=Uf>>>0){break b}if(Uf>>>0>=1073741824){break a}Zf=Wf+4|0;Xf=o[Zf>>2];Yf=Uf<<2;Uf=Hk(Vf);Yf=Yf+Uf|0;Vf=Xf-If|0;Xf=Vf+Uf|0;if((Vf|0)>=1){wl(Uf,If,Vf)}o[Wf>>2]=Uf;o[Wf+8>>2]=Yf;o[Zf>>2]=Xf;if(!If){break b}ul(If)}Uf=a+8|0;c:{d:{If=o[a+76>>2];if(If){Wf=o[If>>2];Vf=1;if((Wf|0)==o[If+4>>2]){break c}If=0;while(1){if(!Ph(Uf,o[(If<<2)+Wf>>2])){break d}Vf=o[a+76>>2];Wf=o[Vf>>2];If=If+1|0;if(If>>>0>2]-Wf>>2>>>0){continue}break}return 1}If=0;a=o[o[a+12>>2]+64>>2];a=(o[a+4>>2]-o[a>>2]>>2>>>0)/3|0;if((a|0)<=0){return 1}while(1){if(!Ph(Uf,u(If,3))){break d}If=If+1|0;if(If>>>0>>0){continue}break}return 1}Vf=0}return Vf|0}_a(8776);D()}function Ph(a,_f){var $f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0;dg=R-32|0;R=dg;o[dg+8>>2]=_f;a:{if((_f|0)==-1){$f=1;break a}$f=1;cg=(_f>>>0)/3|0;if(o[o[a+24>>2]+(cg>>>3&268435452)>>2]>>>(cg&31)&1){break a}cg=a+52|0;$f=o[a+48>>2];o[cg>>2]=$f;ig=a+48|0;b:{if(($f|0)!=o[a+56>>2]){o[$f>>2]=_f;o[cg>>2]=$f+4;break b}bh(ig,dg+8|0)}ag=-1;$f=o[a+4>>2];_f=o[dg+8>>2];c:{if((_f|0)==-1){cg=o[$f+28>>2];$f=o[cg+ -4>>2];break c}cg=o[$f+28>>2];$f=_f+1|0;$f=o[cg+((($f>>>0)%3|0?$f:_f+ -2|0)<<2)>>2];if((_f>>>0)%3){ag=_f+ -1|0;break c}ag=_f+2|0}if(($f|0)==-1){$f=0;break a}cg=o[(ag<<2)+cg>>2];if((cg|0)==-1){$f=0;break a}_f=o[a+36>>2];bg=_f+($f>>>3&536870908)|0;ag=o[bg>>2];eg=1<<($f&31);if(!(ag&eg)){o[bg>>2]=ag|eg;ag=-1;_f=o[dg+8>>2];if((_f|0)!=-1){bg=_f+1|0;ag=(bg>>>0)%3|0?bg:_f+ -2|0}o[dg+16>>2]=ag;_f=o[a+20>>2];bg=(ag>>>0)/3|0;ag=o[(o[o[a+16>>2]+96>>2]+u(bg,12)|0)+(ag-u(bg,3)<<2)>>2];o[dg+24>>2]=ag;bg=o[_f+4>>2];eg=bg+4|0;_f=o[eg>>2];d:{if((_f|0)!=o[bg+8>>2]){o[_f>>2]=ag;o[eg>>2]=_f+4;break d}bh(bg,dg+24|0)}bg=a+12|0;ag=o[bg>>2];eg=ag+4|0;_f=o[eg>>2];e:{if((_f|0)!=o[ag+8>>2]){o[_f>>2]=o[dg+16>>2];o[eg>>2]=_f+4;break e}bh(ag,dg+16|0);ag=o[bg>>2]}o[o[ag+12>>2]+($f<<2)>>2]=o[ag+24>>2];o[ag+24>>2]=o[ag+24>>2]+1;_f=o[a+36>>2]}_f=(cg>>>3&536870908)+_f|0;$f=o[_f>>2];bg=1<<(cg&31);if(!($f&bg)){o[_f>>2]=$f|bg;_f=dg;ag=_f;bg=o[_f+8>>2];$f=-1;f:{if((bg|0)==-1){break f}$f=bg+ -1|0;if((bg>>>0)%3){break f}$f=bg+2|0}o[ag+16>>2]=$f;_f=o[a+20>>2];bg=($f>>>0)/3|0;bg=o[(o[o[a+16>>2]+96>>2]+u(bg,12)|0)+($f-u(bg,3)<<2)>>2];o[dg+24>>2]=bg;$f=o[_f+4>>2];ag=$f+4|0;_f=o[ag>>2];g:{if((_f|0)!=o[$f+8>>2]){o[_f>>2]=bg;o[ag>>2]=_f+4;break g}bh($f,dg+24|0)}bg=a+12|0;$f=o[bg>>2];ag=$f+4|0;_f=o[ag>>2];h:{if((_f|0)!=o[$f+8>>2]){o[_f>>2]=o[dg+16>>2];o[ag>>2]=_f+4;break h}bh($f,dg+16|0);$f=o[bg>>2]}o[o[$f+12>>2]+(cg<<2)>>2]=o[$f+24>>2];o[$f+24>>2]=o[$f+24>>2]+1}eg=a+52|0;_f=o[eg>>2];if((_f|0)==o[a+48>>2]){$f=1;break a}gg=a+24|0;hg=a+4|0;kg=a+36|0;lg=a+16|0;mg=a+20|0;ng=a+56|0;while(1){cg=_f+ -4|0;_f=o[cg>>2];o[dg+8>>2]=_f;$f=(_f>>>0)/3|0;i:{j:{k:{if((_f|0)==-1){break k}_f=o[gg>>2]+($f>>>3&268435452)|0;bg=o[_f>>2];$f=1<<($f&31);if(bg&$f){break k}o[_f>>2]=$f|bg;ag=o[hg>>2];_f=o[dg+8>>2];$f=o[o[ag+28>>2]+(_f<<2)>>2];if(($f|0)!=-1){break j}$f=0;break a}o[eg>>2]=cg;break i}l:{m:{n:{while(1){o:{p:{cg=o[kg>>2]+($f>>>3&536870908)|0;bg=o[cg>>2];fg=1<<($f&31);if(bg&fg){break p}jg=$f<<2;$f=o[jg+o[ag+40>>2]>>2];_f=1;q:{if(($f|0)==-1){break q}_f=$f+1|0;_f=(_f>>>0)%3|0?_f:$f+ -2|0;r:{if((_f|0)==-1|o[o[ag>>2]+(_f>>>3&536870908)>>2]>>>(_f&31)&1){break r}$f=o[o[o[ag+64>>2]+12>>2]+(_f<<2)>>2];if(($f|0)==-1){break r}ag=$f+1|0;_f=0;if((((ag>>>0)%3|0?ag:$f+ -2|0)|0)!=-1){break q}}_f=1}$f=_f;o[cg>>2]=bg|fg;_f=o[dg+8>>2];o[dg+16>>2]=_f;cg=o[mg>>2];bg=(_f>>>0)/3|0;bg=o[(o[o[lg>>2]+96>>2]+u(bg,12)|0)+(_f-u(bg,3)<<2)>>2];o[dg+24>>2]=bg;cg=o[cg+4>>2];ag=cg+4|0;_f=o[ag>>2];s:{if((_f|0)!=o[cg+8>>2]){o[_f>>2]=bg;o[ag>>2]=_f+4;break s}bh(cg,dg+24|0)}bg=a+12|0;_f=o[bg>>2];ag=_f+4|0;cg=o[ag>>2];t:{if((cg|0)!=o[_f+8>>2]){o[cg>>2]=o[dg+16>>2];o[ag>>2]=cg+4;break t}bh(_f,dg+16|0);_f=o[bg>>2]}o[o[_f+12>>2]+jg>>2]=o[_f+24>>2];o[_f+24>>2]=o[_f+24>>2]+1;ag=o[hg>>2];_f=o[dg+8>>2];if($f){break p}$f=-1;u:{if((_f|0)==-1){break u}cg=_f+1|0;_f=(cg>>>0)%3|0?cg:_f+ -2|0;if((_f|0)==-1|o[o[ag>>2]+(_f>>>3&536870908)>>2]>>>(_f&31)&1){break u}$f=o[o[o[ag+64>>2]+12>>2]+(_f<<2)>>2]}o[dg+8>>2]=$f;_f=($f>>>0)/3|0;break o}if((_f|0)==-1){break m}cg=-1;bg=dg;fg=_f+1|0;fg=(fg>>>0)%3|0?fg:_f+ -2|0;$f=-1;v:{if((fg|0)==-1){break v}$f=-1;if(o[o[ag>>2]+(fg>>>3&536870908)>>2]>>>(fg&31)&1){break v}$f=o[o[o[ag+64>>2]+12>>2]+(fg<<2)>>2]}o[bg+24>>2]=$f;_f=((_f>>>0)%3|0?-1:2)+_f|0;if(!((_f|0)==-1|o[o[ag>>2]+(_f>>>3&536870908)>>2]>>>(_f&31)&1)){cg=o[o[o[ag+64>>2]+12>>2]+(_f<<2)>>2]}bg=(cg>>>0)/3|0;_f=($f>>>0)/3|0;ag=($f|0)==-1;w:{if(ag){_f=-1;ag=1;break w}ag=ag?-1:_f;ag=o[o[gg>>2]+(ag>>>3&536870908)>>2]>>>(ag&31)&1}x:{if((cg|0)!=-1){fg=(cg|0)==-1?-1:bg;fg=o[o[gg>>2]+(fg>>>3&536870908)>>2]&1<<(fg&31);if(ag){$f=cg;_f=bg;if(!fg){break x}break l}if(fg){break x}_f=o[eg>>2];o[_f+ -4>>2]=cg;if((_f|0)==o[ng>>2]){break n}o[_f>>2]=o[dg+24>>2];o[eg>>2]=_f+4;break i}if(ag){break l}}o[dg+8>>2]=$f}$f=o[gg>>2]+(_f>>>3&536870908)|0;o[$f>>2]=o[$f>>2]|1<<(_f&31);ag=o[hg>>2];_f=o[dg+8>>2];$f=o[o[ag+28>>2]+(_f<<2)>>2];if(($f|0)!=-1){continue}break}$f=0;break a}bh(ig,dg+24|0);break i}o[dg+24>>2]=-1}o[eg>>2]=o[eg>>2]+ -4}$f=1;_f=o[eg>>2];if((_f|0)!=o[a+48>>2]){continue}break}}R=dg+32|0;return $f}function Qh(a,_f){var og=0,pg=0,qg=0;o[a>>2]=o[_f>>2];o[a+4>>2]=o[_f+4>>2];o[a+8>>2]=o[_f+8>>2];og=_f+12|0;o[a+12>>2]=o[og>>2];o[og>>2]=0;o[_f+4>>2]=0;o[_f+8>>2]=0;og=_f+16|0;o[a+16>>2]=o[og>>2];o[a+20>>2]=o[_f+20>>2];pg=_f+24|0;o[a+24>>2]=o[pg>>2];o[pg>>2]=0;o[og>>2]=0;o[og+4>>2]=0;pg=p[_f+28|0];qg=a+40|0;o[qg>>2]=0;og=a+32|0;o[og>>2]=0;o[og+4>>2]=0;m[a+28|0]=pg;pg=og;og=_f+32|0;o[pg>>2]=o[og>>2];o[a+36>>2]=o[_f+36>>2];pg=_f+40|0;o[qg>>2]=o[pg>>2];o[pg>>2]=0;o[og>>2]=0;o[og+4>>2]=0;pg=a+52|0;o[pg>>2]=0;og=a+44|0;o[og>>2]=0;o[og+4>>2]=0;qg=og;og=_f+44|0;o[qg>>2]=o[og>>2];o[a+48>>2]=o[_f+48>>2];qg=pg;pg=_f+52|0;o[qg>>2]=o[pg>>2];o[pg>>2]=0;o[og>>2]=0;o[og+4>>2]=0;pg=a- -64|0;o[pg>>2]=0;og=a+56|0;o[og>>2]=0;o[og+4>>2]=0;qg=og;og=_f+56|0;o[qg>>2]=o[og>>2];o[a+60>>2]=o[_f+60>>2];qg=pg;pg=_f- -64|0;o[qg>>2]=o[pg>>2];o[pg>>2]=0;o[og>>2]=0;o[og+4>>2]=0;o[a+68>>2]=o[_f+68>>2];pg=o[_f+72>>2];qg=a+84|0;o[qg>>2]=0;og=a+76|0;o[og>>2]=0;o[og+4>>2]=0;o[a+72>>2]=pg;pg=og;og=_f+76|0;o[pg>>2]=o[og>>2];o[a+80>>2]=o[_f+80>>2];pg=_f+84|0;o[qg>>2]=o[pg>>2];o[pg>>2]=0;o[og>>2]=0;o[og+4>>2]=0;pg=a+96|0;o[pg>>2]=0;og=a+88|0;o[og>>2]=0;o[og+4>>2]=0;qg=og;og=_f+88|0;o[qg>>2]=o[og>>2];o[a+92>>2]=o[_f+92>>2];qg=pg;pg=_f+96|0;o[qg>>2]=o[pg>>2];o[pg>>2]=0;o[og>>2]=0;o[og+4>>2]=0;og=p[_f+100|0];pg=a+112|0;o[pg>>2]=0;o[a+104>>2]=0;o[a+108>>2]=0;m[a+100|0]=og;o[a+104>>2]=o[_f+104>>2];o[a+108>>2]=o[_f+108>>2];og=_f+112|0;o[pg>>2]=o[og>>2];o[og>>2]=0;o[_f+104>>2]=0;o[_f+108>>2]=0;pg=a+124|0;o[pg>>2]=0;og=a+116|0;o[og>>2]=0;o[og+4>>2]=0;qg=og;og=_f+116|0;o[qg>>2]=o[og>>2];o[a+120>>2]=o[_f+120>>2];qg=pg;pg=_f+124|0;o[qg>>2]=o[pg>>2];o[pg>>2]=0;o[og>>2]=0;o[og+4>>2]=0;og=o[_f+128>>2];pg=a+140|0;o[pg>>2]=0;o[a+132>>2]=0;o[a+136>>2]=0;o[a+128>>2]=og;o[a+132>>2]=o[_f+132>>2];o[a+136>>2]=o[_f+136>>2];og=_f+140|0;o[pg>>2]=o[og>>2];o[og>>2]=0;o[_f+132>>2]=0;o[_f+136>>2]=0;return a}function Rh(a){var _f=0,rg=0,sg=0;rg=o[a+8>>2];sg=o[a+4>>2];if((rg|0)!=(sg|0)){while(1){_f=rg+ -144|0;o[a+8>>2]=_f;_f=o[_f+132>>2];if(_f){o[rg+ -8>>2]=_f;ul(_f)}_f=o[rg+ -28>>2];if(_f){o[rg+ -24>>2]=_f;ul(_f)}_f=o[rg+ -40>>2];if(_f){o[rg+ -36>>2]=_f;ul(_f)}Ug(rg+ -140|0);rg=o[a+8>>2];if((sg|0)!=(rg|0)){continue}break}}a=o[a>>2];if(a){ul(a)}}function Sh(a,tg){var ug=0,vg=0,wg=v(0);ug=2;a:{if((tg|0)==1){break a}ug=tg;if(!(tg+ -1&tg)){break a}ug=ek(tg)}vg=o[a+4>>2];if(ug>>>0>vg>>>0){Th(a,ug);return}b:{if(ug>>>0>=vg>>>0){break b}wg=v(B(v(v(r[a+12>>2])/s[a+16>>2])));c:{if(wg=v(0)){tg=~~wg>>>0;break c}tg=0}d:{e:{if(vg>>>0<3){break e}if(Yl(vg)>>>0>1){break e}tg=tg>>>0<2?tg:1<<32-x(tg+ -1|0);break d}tg=ek(tg)}tg=ug>>>0>>0?tg:ug;if(tg>>>0>=vg>>>0){break b}Th(a,tg)}}function Th(a,tg){var xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0;a:{b:{if(tg){if(tg>>>0>=1073741824){break a}xg=Hk(tg<<2);yg=o[a>>2];o[a>>2]=xg;if(yg){ul(yg)}o[a+4>>2]=tg;xg=0;while(1){o[o[a>>2]+(xg<<2)>>2]=0;xg=xg+1|0;if((xg|0)!=(tg|0)){continue}break}yg=a+8|0;Ag=o[yg>>2];if(!Ag){break b}Bg=o[Ag+4>>2];xg=Yl(tg);c:{if(xg>>>0<=1){Bg=tg+ -1&Bg;break c}if(Bg>>>0>>0){break c}Bg=(Bg>>>0)%(tg>>>0)|0}o[o[a>>2]+(Bg<<2)>>2]=yg;yg=o[Ag>>2];if(!yg){break b}Eg=tg+ -1|0;Fg=xg>>>0>1;while(1){zg=o[yg+4>>2];d:{if(!Fg){zg=zg&Eg;break d}if(zg>>>0>>0){break d}zg=(zg>>>0)%(tg>>>0)|0}e:{if((zg|0)==(Bg|0)){Ag=yg;break e}xg=yg;Cg=zg<<2;Dg=Cg+o[a>>2]|0;if(!o[Dg>>2]){o[Dg>>2]=Ag;Ag=yg;Bg=zg;break e}while(1){zg=xg;xg=o[xg>>2];if(o[yg+8>>2]==o[xg+8>>2]?xg:0){continue}break}o[Ag>>2]=xg;o[zg>>2]=o[o[o[a>>2]+Cg>>2]>>2];o[o[o[a>>2]+Cg>>2]>>2]=yg}yg=o[Ag>>2];if(yg){continue}break}break b}tg=o[a>>2];o[a>>2]=0;if(tg){ul(tg)}o[a+4>>2]=0}return}_a(8776);D()}function Uh(a){a=a|0;var tg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0;Hg=R-32|0;R=Hg;Gg=a+32|0;a:{if(!Vh(1,Hg+28|0,o[Gg>>2])){break a}if(!Vh(1,Hg+24|0,o[Gg>>2])){break a}Rg=o[Hg+28>>2];if(Rg>>>0>1431655765){break a}Gg=Vl(Rg,0,3,0);tg=T;Vg=o[Hg+24>>2];if(!tg&Gg>>>0>>0|tg>>>0<0){break a}Ig=o[a+32>>2];Gg=Ig;Kg=o[Gg+16>>2];Lg=r[Gg+8>>2]>Kg>>>0?0:1;Jg=o[Gg+12>>2];tg=o[Gg+20>>2];if((Jg|0)<(tg|0)?1:(Jg|0)<=(tg|0)?Lg:0){break a}Lg=p[Kg+o[Ig>>2]|0];Gg=tg;Og=Kg+1|0;if(Og>>>0<1){Gg=Gg+1|0}o[Ig+16>>2]=Og;o[Ig+20>>2]=Gg;b:{if(!Lg){if(!Wh(a,Rg)){break a}break b}c:{if(Vg>>>0<=255){if(!Rg){break b}Kg=Hg+16|0;o[Kg>>2]=0;o[Hg+8>>2]=0;o[Hg+12>>2]=0;Lg=o[Ig+8>>2];Jg=o[Ig+12>>2];tg=Jg;if((tg|0)<(Gg|0)?1:(tg|0)<=(Gg|0)?Lg>>>0>Og>>>0?0:1:0){break c}Qg=a+44|0;Tg=a+32|0;while(1){Pg=o[Ig>>2];Ug=p[Pg+Og|0];tg=Gg;Mg=Og+1|0;if(Mg>>>0<1){tg=tg+1|0}Ng=Ig;o[Ig+16>>2]=Mg;o[Ig+20>>2]=tg;o[Hg+8>>2]=Ug;if((Jg|0)<(tg|0)?1:(Jg|0)<=(tg|0)?Lg>>>0>Mg>>>0?0:1:0){break c}Ug=p[Mg+Pg|0];tg=Gg;Mg=Og+2|0;if(Mg>>>0<2){tg=tg+1|0}o[Ig+16>>2]=Mg;o[Ng+20>>2]=tg;o[Hg+12>>2]=Ug;if((Jg|0)<(tg|0)?1:(Jg|0)<=(tg|0)?Lg>>>0>Mg>>>0?0:1:0){break c}tg=p[Mg+Pg|0];Jg=Og+3|0;if(Jg>>>0<3){Gg=Gg+1|0}o[Ig+16>>2]=Jg;o[Ig+20>>2]=Gg;o[Hg+16>>2]=tg;tg=o[Qg>>2];Ig=tg+100|0;Gg=o[Ig>>2];d:{if((Gg|0)==o[tg+104>>2]){Xh(tg+96|0,Hg+8|0);break d}tg=o[Hg+12>>2];o[Gg>>2]=o[Hg+8>>2];o[Gg+4>>2]=tg;o[Gg+8>>2]=o[Kg>>2];o[Ig>>2]=o[Ig>>2]+12}Sg=Sg+1|0;if((Rg|0)==(Sg|0)){break b}Ig=o[Tg>>2];tg=Ig;Og=o[tg+16>>2];Gg=o[tg+20>>2];o[Kg>>2]=0;o[Hg+8>>2]=0;o[Hg+12>>2]=0;Lg=o[tg+8>>2];Jg=o[tg+12>>2];tg=Jg;if((tg|0)>(Gg|0)?1:(tg|0)>=(Gg|0)?Lg>>>0<=Og>>>0?0:1:0){continue}break}break c}if(Vg>>>0<=65535){if(!Rg){break b}Mg=Hg+16|0;o[Mg>>2]=0;o[Hg+8>>2]=0;o[Hg+12>>2]=0;Ng=o[Ig+12>>2];Qg=Ng;Jg=Kg+3|0;if(Jg>>>0<3){tg=tg+1|0}Pg=o[Ig+8>>2];Lg=Jg;Jg=tg;if((Qg|0)<(tg|0)?1:(Qg|0)<=(tg|0)?Pg>>>0>=Lg>>>0?0:1:0){break c}Ug=a+44|0;Wg=a+32|0;while(1){Qg=o[Ig>>2];tg=Qg+Og|0;tg=p[tg|0]|p[tg+1|0]<<8;o[Ig+16>>2]=Lg;o[Ig+20>>2]=Jg;o[Hg+8>>2]=tg;Jg=Ng;tg=Gg;Kg=Og+4|0;if(Kg>>>0<4){tg=tg+1|0}Tg=Kg;Kg=tg;if((Jg|0)<(tg|0)?1:(Jg|0)<=(tg|0)?Pg>>>0>=Tg>>>0?0:1:0){break c}tg=Lg+Qg|0;tg=p[tg|0]|p[tg+1|0]<<8;o[Ig+16>>2]=Tg;o[Ig+20>>2]=Kg;o[Hg+12>>2]=tg;tg=Og+6|0;if(tg>>>0<6){Gg=Gg+1|0}Jg=tg;tg=Gg;if((Ng|0)<(tg|0)?1:(Ng|0)<=(tg|0)?Pg>>>0>=Jg>>>0?0:1:0){break c}Gg=Qg+Tg|0;Gg=p[Gg|0]|p[Gg+1|0]<<8;o[Ig+16>>2]=Jg;o[Ig+20>>2]=tg;o[Hg+16>>2]=Gg;tg=o[Ug>>2];Ig=tg+100|0;Gg=o[Ig>>2];e:{if((Gg|0)==o[tg+104>>2]){Xh(tg+96|0,Hg+8|0);break e}tg=o[Hg+12>>2];o[Gg>>2]=o[Hg+8>>2];o[Gg+4>>2]=tg;o[Gg+8>>2]=o[Mg>>2];o[Ig>>2]=o[Ig>>2]+12}Sg=Sg+1|0;if((Rg|0)==(Sg|0)){break b}Ig=o[Wg>>2];tg=Ig;Og=o[tg+16>>2];Gg=o[tg+20>>2];o[Mg>>2]=0;o[Hg+8>>2]=0;o[Hg+12>>2]=0;Kg=o[tg+12>>2];Ng=Kg;Pg=o[tg+8>>2];Qg=Pg;tg=Gg;Jg=Og+2|0;if(Jg>>>0<2){tg=tg+1|0}Lg=Jg;Jg=tg;if((Kg|0)>(tg|0)?1:(Kg|0)>=(tg|0)?Qg>>>0>>0?0:1:0){continue}break}break c}f:{if(r[o[a+44>>2]+80>>2]>2097151){break f}Jg=q[a+36>>1];if((Jg<<24|Jg<<8&16711680)>>>16>>>0<514){break f}if(!Rg){break b}Jg=Hg+16|0;o[Jg>>2]=0;o[Hg+8>>2]=0;o[Hg+12>>2]=0;if(!Vh(1,Hg+4|0,Ig)){break c}tg=a+32|0;Kg=a+44|0;while(1){o[Hg+8>>2]=o[Hg+4>>2];if(!Vh(1,Hg+4|0,o[tg>>2])){break c}o[Hg+12>>2]=o[Hg+4>>2];if(!Vh(1,Hg+4|0,o[tg>>2])){break c}o[Hg+16>>2]=o[Hg+4>>2];Ig=o[Kg>>2];Ng=Ig+100|0;Gg=o[Ng>>2];g:{if((Gg|0)==o[Ig+104>>2]){Xh(Ig+96|0,Hg+8|0);break g}Ig=o[Hg+12>>2];o[Gg>>2]=o[Hg+8>>2];o[Gg+4>>2]=Ig;o[Gg+8>>2]=o[Jg>>2];o[Ng>>2]=o[Ng>>2]+12}Pg=Pg+1|0;if((Rg|0)==(Pg|0)){break b}Gg=o[tg>>2];o[Jg>>2]=0;o[Hg+8>>2]=0;o[Hg+12>>2]=0;if(Vh(1,Hg+4|0,Gg)){continue}break}break c}if(!Rg){break b}Sg=Hg+16|0;o[Sg>>2]=0;o[Hg+8>>2]=0;o[Hg+12>>2]=0;Ng=o[Ig+12>>2];Mg=Ng;Jg=Kg+5|0;if(Jg>>>0<5){tg=tg+1|0}Pg=o[Ig+8>>2];Lg=Jg;Jg=tg;if((Mg|0)<(tg|0)?1:(Mg|0)<=(tg|0)?Pg>>>0>=Lg>>>0?0:1:0){break c}Tg=a+44|0;Ug=a+32|0;while(1){Mg=o[Ig>>2];tg=Mg+Og|0;tg=p[tg|0]|p[tg+1|0]<<8|(p[tg+2|0]<<16|p[tg+3|0]<<24);o[Ig+16>>2]=Lg;o[Ig+20>>2]=Jg;o[Hg+8>>2]=tg;Jg=Ng;tg=Gg;Kg=Og+8|0;if(Kg>>>0<8){tg=tg+1|0}Qg=Kg;Kg=tg;if((Jg|0)<(tg|0)?1:(Jg|0)<=(tg|0)?Pg>>>0>=Qg>>>0?0:1:0){break c}tg=Mg+Lg|0;tg=p[tg|0]|p[tg+1|0]<<8|(p[tg+2|0]<<16|p[tg+3|0]<<24);o[Ig+16>>2]=Qg;o[Ig+20>>2]=Kg;o[Hg+12>>2]=tg;tg=Gg;Gg=Og+12|0;if(Gg>>>0<12){tg=tg+1|0}Jg=Gg;Gg=tg;if((Ng|0)<(tg|0)?1:(Ng|0)<=(tg|0)?Pg>>>0>=Jg>>>0?0:1:0){break c}tg=Mg+Qg|0;tg=p[tg|0]|p[tg+1|0]<<8|(p[tg+2|0]<<16|p[tg+3|0]<<24);o[Ig+16>>2]=Jg;o[Ig+20>>2]=Gg;o[Hg+16>>2]=tg;tg=o[Tg>>2];Ig=tg+100|0;Gg=o[Ig>>2];h:{if((Gg|0)==o[tg+104>>2]){Xh(tg+96|0,Hg+8|0);break h}tg=o[Hg+12>>2];o[Gg>>2]=o[Hg+8>>2];o[Gg+4>>2]=tg;o[Gg+8>>2]=o[Sg>>2];o[Ig>>2]=o[Ig>>2]+12}Wg=Wg+1|0;if((Rg|0)==(Wg|0)){break b}Ig=o[Ug>>2];tg=Ig;Og=o[tg+16>>2];Gg=o[tg+20>>2];o[Sg>>2]=0;o[Hg+8>>2]=0;o[Hg+12>>2]=0;Kg=o[tg+12>>2];Ng=Kg;Pg=o[tg+8>>2];Qg=Pg;tg=Gg;Jg=Og+4|0;if(Jg>>>0<4){tg=tg+1|0}Lg=Jg;Jg=tg;if((Kg|0)>(tg|0)?1:(Kg|0)>=(tg|0)?Qg>>>0>>0?0:1:0){continue}break}}Ng=0;break a}o[o[a+4>>2]+80>>2]=Vg;Ng=1}R=Hg+32|0;return Ng|0}function Vh(a,Xg,Yg){var Zg=0,_g=0,$g=0,ah=0;a:{if(a>>>0>5){break a}$g=o[Yg+16>>2];Zg=o[Yg+12>>2];_g=o[Yg+20>>2];if((Zg|0)<(_g|0)?1:(Zg|0)<=(_g|0)?r[Yg+8>>2]>$g>>>0?0:1:0){break a}Zg=p[$g+o[Yg>>2]|0];$g=$g+1|0;if($g>>>0<1){_g=_g+1|0}o[Yg+16>>2]=$g;o[Yg+20>>2]=_g;_g=Xg;if(Zg&128){if(!Vh(a+1|0,Xg,Yg)){break a}a=o[Xg>>2]<<7;o[Xg>>2]=a;Zg=a|Zg&127}o[_g>>2]=Zg;ah=1}return ah}function Wh(a,Xg){var Yg=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0,ih=0,jh=0;Yg=R-32|0;R=Yg;o[Yg+24>>2]=0;o[Yg+16>>2]=0;o[Yg+20>>2]=0;a:{dh=u(Xg,3);if(dh){if(dh>>>0>=1073741824){break a}bh=u(Xg,12);eh=Hk(bh);o[Yg+16>>2]=eh;o[Yg+24>>2]=(dh<<2)+eh;ih=Yg,jh=xl(eh,0,bh)+bh|0,o[ih+20>>2]=jh}b:{if(!_f(dh,1,o[a+32>>2],eh)){break b}ch=1;if(!Xg){break b}hh=a+44|0;eh=0;while(1){dh=Yg+8|0;o[dh>>2]=0;o[Yg>>2]=0;o[Yg+4>>2]=0;a=o[Yg+16>>2]+(eh<<2)|0;bh=o[a>>2];ch=bh>>>1;bh=(bh&1?0-ch|0:ch)+fh|0;o[Yg>>2]=bh;ch=o[a+4>>2];fh=ch>>>1;bh=bh+(ch&1?0-fh|0:fh)|0;o[Yg+4>>2]=bh;a=o[a+8>>2];ch=a>>>1;fh=bh+(a&1?0-ch|0:ch)|0;o[dh>>2]=fh;bh=o[hh>>2];ch=bh+100|0;a=o[ch>>2];c:{if((a|0)!=o[bh+104>>2]){bh=o[Yg+4>>2];o[a>>2]=o[Yg>>2];o[a+4>>2]=bh;o[a+8>>2]=o[dh>>2];o[ch>>2]=o[ch>>2]+12;break c}Xh(bh+96|0,Yg)}eh=eh+3|0;ch=1;gh=gh+1|0;if((gh|0)!=(Xg|0)){continue}break}}a=o[Yg+16>>2];if(a){o[Yg+20>>2]=a;ul(a)}R=Yg+32|0;return ch}Yk();D()}function Xh(a,Xg){var kh=0,lh=0,mh=0,nh=0,oh=0,ph=0;a:{nh=o[a>>2];oh=o[a+4>>2]-nh|0;kh=(oh|0)/12|0;lh=kh+1|0;if(lh>>>0<357913942){ph=u(kh,12);mh=(o[a+8>>2]-nh|0)/12|0;kh=mh<<1;mh=mh>>>0<178956970?kh>>>0>>0?lh:kh:357913941;kh=0;b:{if(!mh){break b}if(mh>>>0>=357913942){break a}kh=Hk(u(mh,12))}lh=ph+kh|0;ph=o[Xg+4>>2];o[lh>>2]=o[Xg>>2];o[lh+4>>2]=ph;o[lh+8>>2]=o[Xg+8>>2];Xg=lh+u((oh|0)/-12|0,12)|0;kh=kh+u(mh,12)|0;lh=lh+12|0;if((oh|0)>=1){wl(Xg,nh,oh)}o[a>>2]=Xg;o[a+8>>2]=kh;o[a+4>>2]=lh;if(nh){ul(nh)}return}Yk();D()}_a(9912);D()}function Yh(a,Xg){a=a|0;Xg=Xg|0;var qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0;th=R-16|0;R=th;uh=Hk(64);qh=Hk(12);o[qh+8>>2]=o[o[a+4>>2]+80>>2];o[qh>>2]=9988;o[qh+4>>2]=0;o[th+8>>2]=qh;Qd(uh,th+8|0);a:{if((Xg|0)>=0){qh=o[a+12>>2];vh=a+8|0;wh=o[vh>>2];rh=qh-wh>>2;b:{if((rh|0)>(Xg|0)){break b}sh=Xg+1|0;if(rh>>>0<=Xg>>>0){Og(vh,sh-rh|0);break b}if(sh>>>0>=rh>>>0){break b}sh=wh+(sh<<2)|0;if((sh|0)!=(qh|0)){while(1){qh=qh+ -4|0;rh=o[qh>>2];o[qh>>2]=0;if(rh){l[o[o[rh>>2]+4>>2]](rh)}if((qh|0)!=(sh|0)){continue}break}}o[a+12>>2]=sh}Xg=o[vh>>2]+(Xg<<2)|0;a=o[Xg>>2];o[Xg>>2]=uh;rh=1;if(!a){break a}l[o[o[a>>2]+4>>2]](a);break a}l[o[o[uh>>2]+4>>2]](uh)}a=o[th+8>>2];o[th+8>>2]=0;if(a){l[o[o[a>>2]+4>>2]](a)}R=th+16|0;return rh|0}function Zh(a){a=a|0;var Xg=0,xh=0,yh=0,zh=0,Ah=0;o[a>>2]=10052;Xg=o[a+20>>2];if(Xg){o[a+24>>2]=Xg;ul(Xg)}yh=o[a+8>>2];if(yh){Xg=yh;Ah=a+12|0;xh=o[Ah>>2];zh=Xg;a:{if((Xg|0)==(xh|0)){break a}while(1){xh=xh+ -4|0;Xg=o[xh>>2];o[xh>>2]=0;if(Xg){l[o[o[Xg>>2]+4>>2]](Xg)}if((xh|0)!=(yh|0)){continue}break}zh=o[a+8>>2]}Xg=zh;o[Ah>>2]=yh;ul(Xg)}ul(a)}function _h(a,Bh){a=a|0;Bh=Bh|0;m[Bh+84|0]=1;o[Bh+72>>2]=o[Bh+68>>2];return 1}function $h(a){a=a|0;var Bh=0,Ch=0,Dh=0,Eh=0;a:{Bh=o[a+8>>2];b:{if((Bh|0)<0){break b}Ch=o[a+4>>2];Eh=o[Ch>>2];Dh=o[Ch+4>>2]-Eh>>2;c:{if(Bh>>>0>Dh>>>0){ai(Ch,Bh-Dh|0);Bh=o[a+8>>2];break c}if(Bh>>>0>=Dh>>>0){break c}o[Ch+4>>2]=Eh+(Bh<<2)}Eh=1;if((Bh|0)<1){break b}a=o[a+4>>2];Ch=o[a>>2];Dh=o[a+4>>2]-Ch>>2;a=0;while(1){if((a|0)==(Dh|0)){break a}o[Ch+(a<<2)>>2]=a;a=a+1|0;if((a|0)<(Bh|0)){continue}break}}return Eh|0}Zk();D()}function ai(a,Fh){var Gh=0,Hh=0,Ih=0,Jh=0,Kh=0,Lh=0,Mh=0,Nh=0,Oh=0;Hh=o[a+8>>2];Ih=a+4|0;Gh=o[Ih>>2];if(Hh-Gh>>2>>>0>=Fh>>>0){a=Fh<<2;Nh=Ih,Oh=xl(Gh,0,a)+a|0,o[Nh>>2]=Oh;return}a:{Ih=o[a>>2];Kh=Gh-Ih|0;Gh=Kh>>2;Jh=Gh+Fh|0;if(Jh>>>0<1073741824){Mh=Gh<<2;Hh=Hh-Ih|0;Gh=Hh>>1;Hh=Hh>>2>>>0<536870911?Gh>>>0>>0?Jh:Gh:1073741823;Gh=0;b:{if(!Hh){break b}if(Hh>>>0>=1073741824){break a}Lh=Hk(Hh<<2);Gh=Lh}xl(Mh+Gh|0,0,Fh<<2);Fh=Gh+(Jh<<2)|0;Jh=Gh+(Hh<<2)|0;if((Kh|0)>=1){wl(Lh,Ih,Kh)}o[a>>2]=Gh;o[a+8>>2]=Jh;o[a+4>>2]=Fh;if(Ih){ul(Ih)}return}Yk();D()}_a(9912);D()}function bi(a){o[a+40>>2]=0;o[a>>2]=10052;o[a+4>>2]=0;o[a+8>>2]=0;o[a+12>>2]=0;o[a+16>>2]=0;o[a+20>>2]=0;o[a+24>>2]=0;o[a+28>>2]=0;o[a+32>>2]=0;n[a+36>>1]=0}function ci(a,Fh,Ph){var Qh=0,Rh=0,Sh=0,Th=0,Uh=0,Vh=0;Rh=R-16|0;R=Rh;Th=o[Fh+12>>2];Qh=o[Fh+20>>2];Sh=o[Fh+16>>2];Uh=Sh+5|0;if(Uh>>>0<5){Qh=Qh+1|0}a:{if((Th|0)<(Qh|0)?1:(Th|0)<=(Qh|0)?r[Fh+8>>2]>=Uh>>>0?0:1:0){Fh=Hk(32);o[Rh>>2]=Fh;o[Rh+4>>2]=29;o[Rh+8>>2]=-2147483616;m[Fh+29|0]=0;Ph=p[10121]|p[10122]<<8|(p[10123]<<16|p[10124]<<24);Qh=p[10117]|p[10118]<<8|(p[10119]<<16|p[10120]<<24);m[Fh+21|0]=Qh;m[Fh+22|0]=Qh>>>8;m[Fh+23|0]=Qh>>>16;m[Fh+24|0]=Qh>>>24;m[Fh+25|0]=Ph;m[Fh+26|0]=Ph>>>8;m[Fh+27|0]=Ph>>>16;m[Fh+28|0]=Ph>>>24;Ph=o[2529];Qh=o[2528];m[Fh+16|0]=Qh;m[Fh+17|0]=Qh>>>8;m[Fh+18|0]=Qh>>>16;m[Fh+19|0]=Qh>>>24;m[Fh+20|0]=Ph;m[Fh+21|0]=Ph>>>8;m[Fh+22|0]=Ph>>>16;m[Fh+23|0]=Ph>>>24;Ph=o[2527];Qh=o[2526];m[Fh+8|0]=Qh;m[Fh+9|0]=Qh>>>8;m[Fh+10|0]=Qh>>>16;m[Fh+11|0]=Qh>>>24;m[Fh+12|0]=Ph;m[Fh+13|0]=Ph>>>8;m[Fh+14|0]=Ph>>>16;m[Fh+15|0]=Ph>>>24;Ph=o[2525];Qh=o[2524];m[Fh|0]=Qh;m[Fh+1|0]=Qh>>>8;m[Fh+2|0]=Qh>>>16;m[Fh+3|0]=Qh>>>24;m[Fh+4|0]=Ph;m[Fh+5|0]=Ph>>>8;m[Fh+6|0]=Ph>>>16;m[Fh+7|0]=Ph>>>24;o[a>>2]=-2;Mk(a+4|0,Rh);if(m[Rh+11|0]>-1){break a}ul(o[Rh>>2]);break a}Qh=Sh+o[Fh>>2]|0;Th=p[Qh|0]|p[Qh+1|0]<<8|(p[Qh+2|0]<<16|p[Qh+3|0]<<24);m[Ph|0]=Th;m[Ph+1|0]=Th>>>8;m[Ph+2|0]=Th>>>16;m[Ph+3|0]=Th>>>24;m[Ph+4|0]=p[Qh+4|0];Th=Fh;Qh=o[Fh+20>>2];Sh=o[Fh+16>>2]+5|0;if(Sh>>>0<5){Qh=Qh+1|0}Uh=Sh;Sh=Qh;o[Th+16>>2]=Uh;o[Th+20>>2]=Qh;if(Zj(Ph,10126,5)){Fh=Hk(32);o[Rh>>2]=Fh;o[Rh+4>>2]=17;o[Rh+8>>2]=-2147483616;m[Fh+17|0]=0;m[Fh+16|0]=p[10148];Ph=p[10144]|p[10145]<<8|(p[10146]<<16|p[10147]<<24);Qh=p[10140]|p[10141]<<8|(p[10142]<<16|p[10143]<<24);m[Fh+8|0]=Qh;m[Fh+9|0]=Qh>>>8;m[Fh+10|0]=Qh>>>16;m[Fh+11|0]=Qh>>>24;m[Fh+12|0]=Ph;m[Fh+13|0]=Ph>>>8;m[Fh+14|0]=Ph>>>16;m[Fh+15|0]=Ph>>>24;Ph=p[10136]|p[10137]<<8|(p[10138]<<16|p[10139]<<24);Qh=p[10132]|p[10133]<<8|(p[10134]<<16|p[10135]<<24);m[Fh|0]=Qh;m[Fh+1|0]=Qh>>>8;m[Fh+2|0]=Qh>>>16;m[Fh+3|0]=Qh>>>24;m[Fh+4|0]=Ph;m[Fh+5|0]=Ph>>>8;m[Fh+6|0]=Ph>>>16;m[Fh+7|0]=Ph>>>24;o[a>>2]=-1;Mk(a+4|0,Rh);if(m[Rh+11|0]>-1){break a}ul(o[Rh>>2]);break a}Qh=o[Fh+12>>2];if((Qh|0)<(Sh|0)?1:(Qh|0)<=(Sh|0)?r[Fh+8>>2]>Uh>>>0?0:1:0){Fh=Hk(32);o[Rh>>2]=Fh;o[Rh+4>>2]=29;o[Rh+8>>2]=-2147483616;m[Fh+29|0]=0;Ph=p[10121]|p[10122]<<8|(p[10123]<<16|p[10124]<<24);Qh=p[10117]|p[10118]<<8|(p[10119]<<16|p[10120]<<24);m[Fh+21|0]=Qh;m[Fh+22|0]=Qh>>>8;m[Fh+23|0]=Qh>>>16;m[Fh+24|0]=Qh>>>24;m[Fh+25|0]=Ph;m[Fh+26|0]=Ph>>>8;m[Fh+27|0]=Ph>>>16;m[Fh+28|0]=Ph>>>24;Ph=o[2529];Qh=o[2528];m[Fh+16|0]=Qh;m[Fh+17|0]=Qh>>>8;m[Fh+18|0]=Qh>>>16;m[Fh+19|0]=Qh>>>24;m[Fh+20|0]=Ph;m[Fh+21|0]=Ph>>>8;m[Fh+22|0]=Ph>>>16;m[Fh+23|0]=Ph>>>24;Ph=o[2527];Qh=o[2526];m[Fh+8|0]=Qh;m[Fh+9|0]=Qh>>>8;m[Fh+10|0]=Qh>>>16;m[Fh+11|0]=Qh>>>24;m[Fh+12|0]=Ph;m[Fh+13|0]=Ph>>>8;m[Fh+14|0]=Ph>>>16;m[Fh+15|0]=Ph>>>24;Ph=o[2525];Qh=o[2524];m[Fh|0]=Qh;m[Fh+1|0]=Qh>>>8;m[Fh+2|0]=Qh>>>16;m[Fh+3|0]=Qh>>>24;m[Fh+4|0]=Ph;m[Fh+5|0]=Ph>>>8;m[Fh+6|0]=Ph>>>16;m[Fh+7|0]=Ph>>>24;o[a>>2]=-2;Mk(a+4|0,Rh);if(m[Rh+11|0]>-1){break a}ul(o[Rh>>2]);break a}m[Ph+5|0]=p[Uh+o[Fh>>2]|0];Qh=o[Fh+20>>2];Sh=o[Fh+16>>2]+1|0;if(Sh>>>0<1){Qh=Qh+1|0}o[Fh+16>>2]=Sh;o[Th+20>>2]=Qh;Th=o[Fh+12>>2];if((Th|0)<(Qh|0)?1:(Th|0)<=(Qh|0)?r[Fh+8>>2]>Sh>>>0?0:1:0){Fh=Hk(32);o[Rh>>2]=Fh;o[Rh+4>>2]=29;o[Rh+8>>2]=-2147483616;m[Fh+29|0]=0;Ph=p[10121]|p[10122]<<8|(p[10123]<<16|p[10124]<<24);Qh=p[10117]|p[10118]<<8|(p[10119]<<16|p[10120]<<24);m[Fh+21|0]=Qh;m[Fh+22|0]=Qh>>>8;m[Fh+23|0]=Qh>>>16;m[Fh+24|0]=Qh>>>24;m[Fh+25|0]=Ph;m[Fh+26|0]=Ph>>>8;m[Fh+27|0]=Ph>>>16;m[Fh+28|0]=Ph>>>24;Ph=o[2529];Qh=o[2528];m[Fh+16|0]=Qh;m[Fh+17|0]=Qh>>>8;m[Fh+18|0]=Qh>>>16;m[Fh+19|0]=Qh>>>24;m[Fh+20|0]=Ph;m[Fh+21|0]=Ph>>>8;m[Fh+22|0]=Ph>>>16;m[Fh+23|0]=Ph>>>24;Ph=o[2527];Qh=o[2526];m[Fh+8|0]=Qh;m[Fh+9|0]=Qh>>>8;m[Fh+10|0]=Qh>>>16;m[Fh+11|0]=Qh>>>24;m[Fh+12|0]=Ph;m[Fh+13|0]=Ph>>>8;m[Fh+14|0]=Ph>>>16;m[Fh+15|0]=Ph>>>24;Ph=o[2525];Qh=o[2524];m[Fh|0]=Qh;m[Fh+1|0]=Qh>>>8;m[Fh+2|0]=Qh>>>16;m[Fh+3|0]=Qh>>>24;m[Fh+4|0]=Ph;m[Fh+5|0]=Ph>>>8;m[Fh+6|0]=Ph>>>16;m[Fh+7|0]=Ph>>>24;o[a>>2]=-2;Mk(a+4|0,Rh);if(m[Rh+11|0]>-1){break a}ul(o[Rh>>2]);break a}m[Ph+6|0]=p[Sh+o[Fh>>2]|0];Qh=o[Fh+20>>2];Sh=o[Fh+16>>2]+1|0;if(Sh>>>0<1){Qh=Qh+1|0}o[Fh+16>>2]=Sh;o[Fh+20>>2]=Qh;Th=o[Fh+12>>2];if((Th|0)<(Qh|0)?1:(Th|0)<=(Qh|0)?r[Fh+8>>2]>Sh>>>0?0:1:0){Fh=Hk(32);o[Rh>>2]=Fh;o[Rh+4>>2]=29;o[Rh+8>>2]=-2147483616;m[Fh+29|0]=0;Ph=p[10121]|p[10122]<<8|(p[10123]<<16|p[10124]<<24);Qh=p[10117]|p[10118]<<8|(p[10119]<<16|p[10120]<<24);m[Fh+21|0]=Qh;m[Fh+22|0]=Qh>>>8;m[Fh+23|0]=Qh>>>16;m[Fh+24|0]=Qh>>>24;m[Fh+25|0]=Ph;m[Fh+26|0]=Ph>>>8;m[Fh+27|0]=Ph>>>16;m[Fh+28|0]=Ph>>>24;Ph=o[2529];Qh=o[2528];m[Fh+16|0]=Qh;m[Fh+17|0]=Qh>>>8;m[Fh+18|0]=Qh>>>16;m[Fh+19|0]=Qh>>>24;m[Fh+20|0]=Ph;m[Fh+21|0]=Ph>>>8;m[Fh+22|0]=Ph>>>16;m[Fh+23|0]=Ph>>>24;Ph=o[2527];Qh=o[2526];m[Fh+8|0]=Qh;m[Fh+9|0]=Qh>>>8;m[Fh+10|0]=Qh>>>16;m[Fh+11|0]=Qh>>>24;m[Fh+12|0]=Ph;m[Fh+13|0]=Ph>>>8;m[Fh+14|0]=Ph>>>16;m[Fh+15|0]=Ph>>>24;Ph=o[2525];Qh=o[2524];m[Fh|0]=Qh;m[Fh+1|0]=Qh>>>8;m[Fh+2|0]=Qh>>>16;m[Fh+3|0]=Qh>>>24;m[Fh+4|0]=Ph;m[Fh+5|0]=Ph>>>8;m[Fh+6|0]=Ph>>>16;m[Fh+7|0]=Ph>>>24;o[a>>2]=-2;Mk(a+4|0,Rh);if(m[Rh+11|0]>-1){break a}ul(o[Rh>>2]);break a}m[Ph+7|0]=p[Sh+o[Fh>>2]|0];Qh=o[Fh+20>>2];Sh=o[Fh+16>>2]+1|0;if(Sh>>>0<1){Qh=Qh+1|0}o[Fh+16>>2]=Sh;o[Fh+20>>2]=Qh;Th=o[Fh+12>>2];if((Th|0)<(Qh|0)?1:(Th|0)<=(Qh|0)?r[Fh+8>>2]>Sh>>>0?0:1:0){Fh=Hk(32);o[Rh>>2]=Fh;o[Rh+4>>2]=29;o[Rh+8>>2]=-2147483616;m[Fh+29|0]=0;Ph=p[10121]|p[10122]<<8|(p[10123]<<16|p[10124]<<24);Qh=p[10117]|p[10118]<<8|(p[10119]<<16|p[10120]<<24);m[Fh+21|0]=Qh;m[Fh+22|0]=Qh>>>8;m[Fh+23|0]=Qh>>>16;m[Fh+24|0]=Qh>>>24;m[Fh+25|0]=Ph;m[Fh+26|0]=Ph>>>8;m[Fh+27|0]=Ph>>>16;m[Fh+28|0]=Ph>>>24;Ph=o[2529];Qh=o[2528];m[Fh+16|0]=Qh;m[Fh+17|0]=Qh>>>8;m[Fh+18|0]=Qh>>>16;m[Fh+19|0]=Qh>>>24;m[Fh+20|0]=Ph;m[Fh+21|0]=Ph>>>8;m[Fh+22|0]=Ph>>>16;m[Fh+23|0]=Ph>>>24;Ph=o[2527];Qh=o[2526];m[Fh+8|0]=Qh;m[Fh+9|0]=Qh>>>8;m[Fh+10|0]=Qh>>>16;m[Fh+11|0]=Qh>>>24;m[Fh+12|0]=Ph;m[Fh+13|0]=Ph>>>8;m[Fh+14|0]=Ph>>>16;m[Fh+15|0]=Ph>>>24;Ph=o[2525];Qh=o[2524];m[Fh|0]=Qh;m[Fh+1|0]=Qh>>>8;m[Fh+2|0]=Qh>>>16;m[Fh+3|0]=Qh>>>24;m[Fh+4|0]=Ph;m[Fh+5|0]=Ph>>>8;m[Fh+6|0]=Ph>>>16;m[Fh+7|0]=Ph>>>24;o[a>>2]=-2;Mk(a+4|0,Rh);if(m[Rh+11|0]>-1){break a}ul(o[Rh>>2]);break a}m[Ph+8|0]=p[Sh+o[Fh>>2]|0];Qh=o[Fh+20>>2];Sh=Qh;Vh=o[Fh+16>>2];Uh=Vh+1|0;if(Uh>>>0<1){Qh=Qh+1|0}o[Fh+16>>2]=Uh;o[Fh+20>>2]=Qh;Th=o[Fh+12>>2];Qh=Sh;Sh=Vh+3|0;if(Sh>>>0<3){Qh=Qh+1|0}if((Th|0)<(Qh|0)?1:(Th|0)<=(Qh|0)?r[Fh+8>>2]>=Sh>>>0?0:1:0){Fh=Hk(32);o[Rh>>2]=Fh;o[Rh+4>>2]=29;o[Rh+8>>2]=-2147483616;m[Fh+29|0]=0;Ph=p[10121]|p[10122]<<8|(p[10123]<<16|p[10124]<<24);Qh=p[10117]|p[10118]<<8|(p[10119]<<16|p[10120]<<24);m[Fh+21|0]=Qh;m[Fh+22|0]=Qh>>>8;m[Fh+23|0]=Qh>>>16;m[Fh+24|0]=Qh>>>24;m[Fh+25|0]=Ph;m[Fh+26|0]=Ph>>>8;m[Fh+27|0]=Ph>>>16;m[Fh+28|0]=Ph>>>24;Ph=o[2529];Qh=o[2528];m[Fh+16|0]=Qh;m[Fh+17|0]=Qh>>>8;m[Fh+18|0]=Qh>>>16;m[Fh+19|0]=Qh>>>24;m[Fh+20|0]=Ph;m[Fh+21|0]=Ph>>>8;m[Fh+22|0]=Ph>>>16;m[Fh+23|0]=Ph>>>24;Ph=o[2527];Qh=o[2526];m[Fh+8|0]=Qh;m[Fh+9|0]=Qh>>>8;m[Fh+10|0]=Qh>>>16;m[Fh+11|0]=Qh>>>24;m[Fh+12|0]=Ph;m[Fh+13|0]=Ph>>>8;m[Fh+14|0]=Ph>>>16;m[Fh+15|0]=Ph>>>24;Ph=o[2525];Qh=o[2524];m[Fh|0]=Qh;m[Fh+1|0]=Qh>>>8;m[Fh+2|0]=Qh>>>16;m[Fh+3|0]=Qh>>>24;m[Fh+4|0]=Ph;m[Fh+5|0]=Ph>>>8;m[Fh+6|0]=Ph>>>16;m[Fh+7|0]=Ph>>>24;o[a>>2]=-2;Mk(a+4|0,Rh);if(m[Rh+11|0]>-1){break a}ul(o[Rh>>2]);break a}Sh=Ph;Ph=Uh+o[Fh>>2]|0;n[Sh+10>>1]=p[Ph|0]|p[Ph+1|0]<<8;Ph=Fh;Sh=Fh;Qh=o[Fh+20>>2];Fh=o[Fh+16>>2]+2|0;if(Fh>>>0<2){Qh=Qh+1|0}o[Sh+16>>2]=Fh;o[Ph+20>>2]=Qh;o[a+8>>2]=0;o[a+12>>2]=0;o[a>>2]=0;o[a+4>>2]=0}R=Rh+16|0}function di(a,Fh){var Ph=0,Wh=0,Xh=0,Yh=0;Wh=R-48|0;R=Wh;Ph=Hk(36);Xh=Ph+4|0;o[Xh>>2]=0;o[Xh+4>>2]=0;Yh=Ph+16|0;o[Yh>>2]=0;o[Yh+4>>2]=0;o[Ph>>2]=Xh;o[Ph+32>>2]=0;o[Ph+24>>2]=0;o[Ph+28>>2]=0;o[Ph+12>>2]=Yh;o[Wh+40>>2]=Ph;Ph=Wh+32|0;o[Ph>>2]=0;a:{if(!cj(Ph,o[Fh+32>>2],o[Wh+40>>2])){o[Wh+24>>2]=0;o[Wh+16>>2]=0;o[Wh+20>>2]=0;Fh=Hk(32);o[Wh+16>>2]=Fh;o[Wh+20>>2]=26;o[Wh+24>>2]=-2147483616;m[Fh+26|0]=0;Ph=p[10174]|p[10175]<<8;m[Fh+24|0]=Ph;m[Fh+25|0]=Ph>>>8;Ph=p[10170]|p[10171]<<8|(p[10172]<<16|p[10173]<<24);Xh=p[10166]|p[10167]<<8|(p[10168]<<16|p[10169]<<24);m[Fh+16|0]=Xh;m[Fh+17|0]=Xh>>>8;m[Fh+18|0]=Xh>>>16;m[Fh+19|0]=Xh>>>24;m[Fh+20|0]=Ph;m[Fh+21|0]=Ph>>>8;m[Fh+22|0]=Ph>>>16;m[Fh+23|0]=Ph>>>24;Ph=p[10162]|p[10163]<<8|(p[10164]<<16|p[10165]<<24);Xh=p[10158]|p[10159]<<8|(p[10160]<<16|p[10161]<<24);m[Fh+8|0]=Xh;m[Fh+9|0]=Xh>>>8;m[Fh+10|0]=Xh>>>16;m[Fh+11|0]=Xh>>>24;m[Fh+12|0]=Ph;m[Fh+13|0]=Ph>>>8;m[Fh+14|0]=Ph>>>16;m[Fh+15|0]=Ph>>>24;Ph=p[10154]|p[10155]<<8|(p[10156]<<16|p[10157]<<24);Xh=p[10150]|p[10151]<<8|(p[10152]<<16|p[10153]<<24);m[Fh|0]=Xh;m[Fh+1|0]=Xh>>>8;m[Fh+2|0]=Xh>>>16;m[Fh+3|0]=Xh>>>24;m[Fh+4|0]=Ph;m[Fh+5|0]=Ph>>>8;m[Fh+6|0]=Ph>>>16;m[Fh+7|0]=Ph>>>24;o[a>>2]=-1;Mk(a+4|0,Wh+16|0);if(m[Wh+27|0]>-1){break a}ul(o[Wh+16>>2]);break a}Fh=o[Fh+4>>2];o[Wh+8>>2]=0;Xh=o[Wh+40>>2];o[Wh+40>>2]=0;Ph=o[Fh+4>>2];o[Fh+4>>2]=Xh;b:{if(!Ph){o[Wh+8>>2]=0;break b}ei(Ph);Fh=o[Wh+8>>2];o[Wh+8>>2]=0;if(!Fh){break b}ei(Fh)}o[a>>2]=0;o[a+4>>2]=0;o[a+8>>2]=0;o[a+12>>2]=0}a=o[Wh+40>>2];o[Wh+40>>2]=0;if(a){ei(a)}R=Wh+48|0}function ei(a){var Fh=0,Zh=0,_h=0,$h=0,ai=0;if(a){_h=o[a+24>>2];if(_h){Fh=_h;ai=a+28|0;Zh=o[ai>>2];$h=Fh;a:{if((Zh|0)==(Fh|0)){break a}while(1){Zh=Zh+ -4|0;Fh=o[Zh>>2];o[Zh>>2]=0;if(Fh){Fc(Fh+12|0,o[Fh+16>>2]);Gc(Fh,o[Fh+4>>2]);ul(Fh)}if((Zh|0)!=(_h|0)){continue}break}$h=o[a+24>>2]}Fh=$h;o[ai>>2]=_h;ul(Fh)}Fc(a+12|0,o[a+16>>2]);Gc(a,o[a+4>>2]);ul(a)}}function fi(a,bi,ei,fi,gi){var hi=0,ii=0;hi=R-32|0;R=hi;o[bi+32>>2]=fi;o[bi+40>>2]=ei;o[bi+4>>2]=gi;ci(a,fi,hi+16|0);a:{if(o[a>>2]){break a}ei=a+4|0;if(m[a+15|0]<=-1){ul(o[ei>>2])}gi=p[hi+23|0];if((l[o[o[bi>>2]+8>>2]](bi)|0)!=(gi|0)){bi=Hk(64);o[hi>>2]=bi;o[hi+4>>2]=50;o[hi+8>>2]=-2147483584;m[bi+50|0]=0;fi=p[10225]|p[10226]<<8;m[bi+48|0]=fi;m[bi+49|0]=fi>>>8;fi=p[10221]|p[10222]<<8|(p[10223]<<16|p[10224]<<24);gi=p[10217]|p[10218]<<8|(p[10219]<<16|p[10220]<<24);m[bi+40|0]=gi;m[bi+41|0]=gi>>>8;m[bi+42|0]=gi>>>16;m[bi+43|0]=gi>>>24;m[bi+44|0]=fi;m[bi+45|0]=fi>>>8;m[bi+46|0]=fi>>>16;m[bi+47|0]=fi>>>24;fi=p[10213]|p[10214]<<8|(p[10215]<<16|p[10216]<<24);gi=p[10209]|p[10210]<<8|(p[10211]<<16|p[10212]<<24);m[bi+32|0]=gi;m[bi+33|0]=gi>>>8;m[bi+34|0]=gi>>>16;m[bi+35|0]=gi>>>24;m[bi+36|0]=fi;m[bi+37|0]=fi>>>8;m[bi+38|0]=fi>>>16;m[bi+39|0]=fi>>>24;fi=p[10205]|p[10206]<<8|(p[10207]<<16|p[10208]<<24);gi=p[10201]|p[10202]<<8|(p[10203]<<16|p[10204]<<24);m[bi+24|0]=gi;m[bi+25|0]=gi>>>8;m[bi+26|0]=gi>>>16;m[bi+27|0]=gi>>>24;m[bi+28|0]=fi;m[bi+29|0]=fi>>>8;m[bi+30|0]=fi>>>16;m[bi+31|0]=fi>>>24;fi=p[10197]|p[10198]<<8|(p[10199]<<16|p[10200]<<24);gi=p[10193]|p[10194]<<8|(p[10195]<<16|p[10196]<<24);m[bi+16|0]=gi;m[bi+17|0]=gi>>>8;m[bi+18|0]=gi>>>16;m[bi+19|0]=gi>>>24;m[bi+20|0]=fi;m[bi+21|0]=fi>>>8;m[bi+22|0]=fi>>>16;m[bi+23|0]=fi>>>24;fi=p[10189]|p[10190]<<8|(p[10191]<<16|p[10192]<<24);gi=p[10185]|p[10186]<<8|(p[10187]<<16|p[10188]<<24);m[bi+8|0]=gi;m[bi+9|0]=gi>>>8;m[bi+10|0]=gi>>>16;m[bi+11|0]=gi>>>24;m[bi+12|0]=fi;m[bi+13|0]=fi>>>8;m[bi+14|0]=fi>>>16;m[bi+15|0]=fi>>>24;fi=p[10181]|p[10182]<<8|(p[10183]<<16|p[10184]<<24);gi=p[10177]|p[10178]<<8|(p[10179]<<16|p[10180]<<24);m[bi|0]=gi;m[bi+1|0]=gi>>>8;m[bi+2|0]=gi>>>16;m[bi+3|0]=gi>>>24;m[bi+4|0]=fi;m[bi+5|0]=fi>>>8;m[bi+6|0]=fi>>>16;m[bi+7|0]=fi>>>24;o[a>>2]=-1;Mk(ei,hi);if(m[hi+11|0]>-1){break a}ul(o[hi>>2]);break a}fi=p[hi+21|0];m[bi+36|0]=fi;ii=p[hi+22|0];m[bi+37|0]=ii;if((fi+ -1&255)>>>0>=2){bi=Hk(32);o[hi>>2]=bi;o[hi+4>>2]=22;o[hi+8>>2]=-2147483616;m[bi+22|0]=0;fi=p[10246]|p[10247]<<8|(p[10248]<<16|p[10249]<<24);gi=p[10242]|p[10243]<<8|(p[10244]<<16|p[10245]<<24);m[bi+14|0]=gi;m[bi+15|0]=gi>>>8;m[bi+16|0]=gi>>>16;m[bi+17|0]=gi>>>24;m[bi+18|0]=fi;m[bi+19|0]=fi>>>8;m[bi+20|0]=fi>>>16;m[bi+21|0]=fi>>>24;fi=p[10240]|p[10241]<<8|(p[10242]<<16|p[10243]<<24);gi=p[10236]|p[10237]<<8|(p[10238]<<16|p[10239]<<24);m[bi+8|0]=gi;m[bi+9|0]=gi>>>8;m[bi+10|0]=gi>>>16;m[bi+11|0]=gi>>>24;m[bi+12|0]=fi;m[bi+13|0]=fi>>>8;m[bi+14|0]=fi>>>16;m[bi+15|0]=fi>>>24;fi=p[10232]|p[10233]<<8|(p[10234]<<16|p[10235]<<24);gi=p[10228]|p[10229]<<8|(p[10230]<<16|p[10231]<<24);m[bi|0]=gi;m[bi+1|0]=gi>>>8;m[bi+2|0]=gi>>>16;m[bi+3|0]=gi>>>24;m[bi+4|0]=fi;m[bi+5|0]=fi>>>8;m[bi+6|0]=fi>>>16;m[bi+7|0]=fi>>>24;o[a>>2]=-5;Mk(ei,hi);if(m[hi+11|0]>-1){break a}ul(o[hi>>2]);break a}if(!((fi|0)!=2|(gi?2:3)>>>0>=ii>>>0)){bi=Hk(32);o[hi>>2]=bi;o[hi+4>>2]=22;o[hi+8>>2]=-2147483616;m[bi+22|0]=0;fi=p[10269]|p[10270]<<8|(p[10271]<<16|p[10272]<<24);gi=p[10265]|p[10266]<<8|(p[10267]<<16|p[10268]<<24);m[bi+14|0]=gi;m[bi+15|0]=gi>>>8;m[bi+16|0]=gi>>>16;m[bi+17|0]=gi>>>24;m[bi+18|0]=fi;m[bi+19|0]=fi>>>8;m[bi+20|0]=fi>>>16;m[bi+21|0]=fi>>>24;fi=p[10263]|p[10264]<<8|(p[10265]<<16|p[10266]<<24);gi=p[10259]|p[10260]<<8|(p[10261]<<16|p[10262]<<24);m[bi+8|0]=gi;m[bi+9|0]=gi>>>8;m[bi+10|0]=gi>>>16;m[bi+11|0]=gi>>>24;m[bi+12|0]=fi;m[bi+13|0]=fi>>>8;m[bi+14|0]=fi>>>16;m[bi+15|0]=fi>>>24;fi=p[10255]|p[10256]<<8|(p[10257]<<16|p[10258]<<24);gi=p[10251]|p[10252]<<8|(p[10253]<<16|p[10254]<<24);m[bi|0]=gi;m[bi+1|0]=gi>>>8;m[bi+2|0]=gi>>>16;m[bi+3|0]=gi>>>24;m[bi+4|0]=fi;m[bi+5|0]=fi>>>8;m[bi+6|0]=fi>>>16;m[bi+7|0]=fi>>>24;o[a>>2]=-5;Mk(ei,hi);if(m[hi+11|0]>-1){break a}ul(o[hi>>2]);break a}fi=fi<<8|ii;n[o[bi+32>>2]+38>>1]=fi;b:{if((fi&65535)>>>0<259|n[hi+26>>1]>-1){break b}di(a,bi);if(o[a>>2]){break a}if(m[ei+11|0]>-1){break b}ul(o[ei>>2])}if(!l[o[o[bi>>2]+12>>2]](bi)){bi=Hk(48);o[hi>>2]=bi;o[hi+4>>2]=33;o[hi+8>>2]=-2147483600;m[bi+33|0]=0;m[bi+32|0]=p[10306];fi=p[10302]|p[10303]<<8|(p[10304]<<16|p[10305]<<24);gi=p[10298]|p[10299]<<8|(p[10300]<<16|p[10301]<<24);m[bi+24|0]=gi;m[bi+25|0]=gi>>>8;m[bi+26|0]=gi>>>16;m[bi+27|0]=gi>>>24;m[bi+28|0]=fi;m[bi+29|0]=fi>>>8;m[bi+30|0]=fi>>>16;m[bi+31|0]=fi>>>24;fi=p[10294]|p[10295]<<8|(p[10296]<<16|p[10297]<<24);gi=p[10290]|p[10291]<<8|(p[10292]<<16|p[10293]<<24);m[bi+16|0]=gi;m[bi+17|0]=gi>>>8;m[bi+18|0]=gi>>>16;m[bi+19|0]=gi>>>24;m[bi+20|0]=fi;m[bi+21|0]=fi>>>8;m[bi+22|0]=fi>>>16;m[bi+23|0]=fi>>>24;fi=p[10286]|p[10287]<<8|(p[10288]<<16|p[10289]<<24);gi=p[10282]|p[10283]<<8|(p[10284]<<16|p[10285]<<24);m[bi+8|0]=gi;m[bi+9|0]=gi>>>8;m[bi+10|0]=gi>>>16;m[bi+11|0]=gi>>>24;m[bi+12|0]=fi;m[bi+13|0]=fi>>>8;m[bi+14|0]=fi>>>16;m[bi+15|0]=fi>>>24;fi=p[10278]|p[10279]<<8|(p[10280]<<16|p[10281]<<24);gi=p[10274]|p[10275]<<8|(p[10276]<<16|p[10277]<<24);m[bi|0]=gi;m[bi+1|0]=gi>>>8;m[bi+2|0]=gi>>>16;m[bi+3|0]=gi>>>24;m[bi+4|0]=fi;m[bi+5|0]=fi>>>8;m[bi+6|0]=fi>>>16;m[bi+7|0]=fi>>>24;o[a>>2]=-1;Mk(ei,hi);if(m[hi+11|0]>-1){break a}ul(o[hi>>2]);break a}if(!l[o[o[bi>>2]+20>>2]](bi)){bi=Hk(32);o[hi>>2]=bi;o[hi+4>>2]=31;o[hi+8>>2]=-2147483616;m[bi+31|0]=0;fi=p[10335]|p[10336]<<8|(p[10337]<<16|p[10338]<<24);gi=p[10331]|p[10332]<<8|(p[10333]<<16|p[10334]<<24);m[bi+23|0]=gi;m[bi+24|0]=gi>>>8;m[bi+25|0]=gi>>>16;m[bi+26|0]=gi>>>24;m[bi+27|0]=fi;m[bi+28|0]=fi>>>8;m[bi+29|0]=fi>>>16;m[bi+30|0]=fi>>>24;fi=p[10328]|p[10329]<<8|(p[10330]<<16|p[10331]<<24);gi=p[10324]|p[10325]<<8|(p[10326]<<16|p[10327]<<24);m[bi+16|0]=gi;m[bi+17|0]=gi>>>8;m[bi+18|0]=gi>>>16;m[bi+19|0]=gi>>>24;m[bi+20|0]=fi;m[bi+21|0]=fi>>>8;m[bi+22|0]=fi>>>16;m[bi+23|0]=fi>>>24;fi=p[10320]|p[10321]<<8|(p[10322]<<16|p[10323]<<24);gi=p[10316]|p[10317]<<8|(p[10318]<<16|p[10319]<<24);m[bi+8|0]=gi;m[bi+9|0]=gi>>>8;m[bi+10|0]=gi>>>16;m[bi+11|0]=gi>>>24;m[bi+12|0]=fi;m[bi+13|0]=fi>>>8;m[bi+14|0]=fi>>>16;m[bi+15|0]=fi>>>24;fi=p[10312]|p[10313]<<8|(p[10314]<<16|p[10315]<<24);gi=p[10308]|p[10309]<<8|(p[10310]<<16|p[10311]<<24);m[bi|0]=gi;m[bi+1|0]=gi>>>8;m[bi+2|0]=gi>>>16;m[bi+3|0]=gi>>>24;m[bi+4|0]=fi;m[bi+5|0]=fi>>>8;m[bi+6|0]=fi>>>16;m[bi+7|0]=fi>>>24;o[a>>2]=-1;Mk(ei,hi);if(m[hi+11|0]>-1){break a}ul(o[hi>>2]);break a}if(!l[o[o[bi>>2]+24>>2]](bi)){bi=Hk(48);o[hi>>2]=bi;o[hi+4>>2]=34;o[hi+8>>2]=-2147483600;m[bi+34|0]=0;fi=p[10372]|p[10373]<<8;m[bi+32|0]=fi;m[bi+33|0]=fi>>>8;fi=p[10368]|p[10369]<<8|(p[10370]<<16|p[10371]<<24);gi=p[10364]|p[10365]<<8|(p[10366]<<16|p[10367]<<24);m[bi+24|0]=gi;m[bi+25|0]=gi>>>8;m[bi+26|0]=gi>>>16;m[bi+27|0]=gi>>>24;m[bi+28|0]=fi;m[bi+29|0]=fi>>>8;m[bi+30|0]=fi>>>16;m[bi+31|0]=fi>>>24;fi=p[10360]|p[10361]<<8|(p[10362]<<16|p[10363]<<24);gi=p[10356]|p[10357]<<8|(p[10358]<<16|p[10359]<<24);m[bi+16|0]=gi;m[bi+17|0]=gi>>>8;m[bi+18|0]=gi>>>16;m[bi+19|0]=gi>>>24;m[bi+20|0]=fi;m[bi+21|0]=fi>>>8;m[bi+22|0]=fi>>>16;m[bi+23|0]=fi>>>24;fi=p[10352]|p[10353]<<8|(p[10354]<<16|p[10355]<<24);gi=p[10348]|p[10349]<<8|(p[10350]<<16|p[10351]<<24);m[bi+8|0]=gi;m[bi+9|0]=gi>>>8;m[bi+10|0]=gi>>>16;m[bi+11|0]=gi>>>24;m[bi+12|0]=fi;m[bi+13|0]=fi>>>8;m[bi+14|0]=fi>>>16;m[bi+15|0]=fi>>>24;fi=p[10344]|p[10345]<<8|(p[10346]<<16|p[10347]<<24);gi=p[10340]|p[10341]<<8|(p[10342]<<16|p[10343]<<24);m[bi|0]=gi;m[bi+1|0]=gi>>>8;m[bi+2|0]=gi>>>16;m[bi+3|0]=gi>>>24;m[bi+4|0]=fi;m[bi+5|0]=fi>>>8;m[bi+6|0]=fi>>>16;m[bi+7|0]=fi>>>24;o[a>>2]=-1;Mk(ei,hi);if(m[hi+11|0]>-1){break a}ul(o[hi>>2]);break a}o[a>>2]=0;o[a+4>>2]=0;o[a+8>>2]=0;o[a+12>>2]=0}R=hi+32|0}function gi(a){a=a|0;var bi=0,ci=0,di=0,ei=0,fi=0,gi=0,ji=0,ki=0,li=0,mi=0,ni=0,oi=0;a:{bi=o[a+32>>2];ei=o[bi+16>>2];gi=o[bi+12>>2];di=o[bi+20>>2];b:{if((gi|0)<(di|0)?1:(gi|0)<=(di|0)?r[bi+8>>2]>ei>>>0?0:1:0){break b}fi=p[ei+o[bi>>2]|0];ji=ei+1|0;if(ji>>>0<1){di=di+1|0}o[bi+16>>2]=ji;o[bi+20>>2]=di;c:{if(!fi){break c}while(1){if(l[o[o[a>>2]+16>>2]](a,ci)){ci=ci+1|0;if((fi|0)!=(ci|0)){continue}break c}break}return 0}ci=o[a+8>>2];di=o[a+12>>2];if((ci|0)!=(di|0)){while(1){bi=o[ci>>2];if(!l[o[o[bi>>2]+8>>2]](bi,a,o[a+4>>2])){break b}ci=ci+4|0;if((di|0)!=(ci|0)){continue}break}}d:{if(!fi){break d}ci=0;di=a+8|0;while(1){bi=o[o[di>>2]+(ci<<2)>>2];if(!l[o[o[bi>>2]+12>>2]](bi,o[a+32>>2])){break a}ci=ci+1|0;if((fi|0)!=(ci|0)){continue}break}if(!fi){break d}ei=a+20|0;ki=a+8|0;gi=a+24|0;while(1){ci=0;ji=li<<2;bi=o[ji+o[ki>>2]>>2];di=l[o[o[bi>>2]+24>>2]](bi)|0;if((di|0)>0){while(1){bi=o[o[ki>>2]+ji>>2];bi=l[o[o[bi>>2]+20>>2]](bi,ci)|0;mi=o[a+20>>2];ni=o[gi>>2]-mi>>2;e:{if(bi>>>0>>0){break e}oi=bi+1|0;if(oi>>>0>ni>>>0){Da(ei,oi-ni|0);mi=o[ei>>2];break e}if(oi>>>0>=ni>>>0){break e}o[gi>>2]=(oi<<2)+mi}o[(bi<<2)+mi>>2]=li;ci=ci+1|0;if((di|0)!=(ci|0)){continue}break}}li=li+1|0;if((li|0)!=(fi|0)){continue}break}}ki=0;if(!l[o[o[a>>2]+28>>2]](a)){break b}ki=l[o[o[a>>2]+32>>2]](a)|0}return ki|0}return 0}function hi(a){a=a|0;var pi=0,qi=0,ri=0,si=0;qi=1;pi=o[a+8>>2];ri=o[a+12>>2];a:{if((pi|0)==(ri|0)){break a}while(1){si=o[pi>>2];if(l[o[o[si>>2]+16>>2]](si,o[a+32>>2])){pi=pi+4|0;if((ri|0)!=(pi|0)){continue}break a}break}qi=0}return qi|0}function ii(a,ti){var ui=0,vi=0;a:{if((ti|0)<0){break a}ui=o[a+4>>2];if(o[ui+12>>2]-o[ui+8>>2]>>2<=(ti|0)){break a}a=o[o[a+8>>2]+(o[o[a+20>>2]+(ti<<2)>>2]<<2)>>2];vi=l[o[o[a>>2]+32>>2]](a,ti)|0}return vi}function ji(a,ti,wi){var xi=0,yi=0,zi=0;if((ti|0)>0){while(1){yi=xi<<2;zi=o[yi+a>>2];o[wi+yi>>2]=0-(zi&1)^zi>>>1;xi=xi+1|0;if((xi|0)!=(ti|0)){continue}break}}}function ki(a){o[a+16>>2]=0;o[a+20>>2]=0;o[a>>2]=0;o[a+4>>2]=0;o[a+8>>2]=0;o[a+24>>2]=0;o[a+28>>2]=0}function li(a,o,ti,wi){return mi(a,o,ti,wi)}function mi(a,ti,wi,Ai){var Bi=0,Ci=0,Di=0;a:{if(!ti){ti=wi;Ai=ti>>>0<0?Ai+1|0:Ai;if((Ai|0)<0?1:(Ai|0)<=0?ti>>>0>=0?0:1:0){return 0}Ai=o[a>>2];wi=o[a+4>>2]-Ai|0;if(wi>>>0>>0){Fa(a,ti-wi|0);break a}if(wi>>>0<=ti>>>0){break a}o[a+4>>2]=ti+Ai;break a}if((Ai|0)<0?1:(Ai|0)<=0?wi>>>0>=0?0:1:0){return 0}Ci=wi;if(wi>>>0<0){Ai=Ai+1|0}Di=o[a>>2];Bi=o[a+4>>2]-Di|0;b:{if((Ai|0)<0?1:(Ai|0)<=0?Ci>>>0>Bi>>>0?0:1:0){break b}Ai=Ci;if(Bi>>>0>>0){Fa(a,Ai-Bi|0);break b}if(Bi>>>0<=Ai>>>0){break b}o[a+4>>2]=Ai+Di}if(!wi){break a}yl(o[a>>2],ti,wi)}ti=a+24|0;wi=ti;Ai=ti;a=o[ti+4>>2];ti=o[ti>>2]+1|0;if(ti>>>0<1){a=a+1|0}o[Ai>>2]=ti;o[wi+4>>2]=a;return 1}function ni(a,ti){var wi=0,Ai=0;Ai=o[a>>2];wi=o[a+4>>2]-Ai|0;a:{if(wi>>>0>>0){Fa(a,ti-wi|0);break a}if(wi>>>0<=ti>>>0){break a}o[a+4>>2]=ti+Ai}ti=a+24|0;wi=ti;Ai=ti;a=o[ti+4>>2];ti=o[ti>>2]+1|0;if(ti>>>0<1){a=a+1|0}o[Ai>>2]=ti;o[wi+4>>2]=a}function oi(a){n[a+38>>1]=0;o[a>>2]=0;o[a+8>>2]=0;o[a+12>>2]=0;o[a+16>>2]=0;o[a+20>>2]=0;o[a+24>>2]=0;o[a+28>>2]=0;m[a+29|0]=0;m[a+30|0]=0;m[a+31|0]=0;m[a+32|0]=0;m[a+33|0]=0;m[a+34|0]=0;m[a+35|0]=0;m[a+36|0]=0;return a}function pi(a,ti,Ei,Fi){n[a+38>>1]=Fi;o[a>>2]=ti;o[a+16>>2]=0;o[a+20>>2]=0;o[a+8>>2]=Ei;o[a+12>>2]=0}function qi(a,ti,Ei){var Fi=0;a:{if(ti){ti=0;if(!ri(1,Ei,a)){break a}}m[a+36|0]=1;o[a+32>>2]=0;ti=o[a+16>>2];Ei=ti+o[a>>2]|0;o[a+24>>2]=Ei;Fi=a;a=o[a+8>>2];o[Fi+28>>2]=Ei+(a-ti|0);ti=1}return ti}function ri(a,ti,Ei){var Gi=0,Hi=0,Ii=0,Ji=0,Ki=0,Li=0;a:{if(a>>>0>10){break a}Ii=o[Ei+16>>2];Gi=o[Ei+12>>2];Hi=o[Ei+20>>2];Ji=Hi;if((Gi|0)<(Ji|0)?1:(Gi|0)<=(Ji|0)?r[Ei+8>>2]>Ii>>>0?0:1:0){break a}Ki=m[Ii+o[Ei>>2]|0];Gi=Ii+1|0;if(Gi>>>0<1){Hi=Hi+1|0}o[Ei+16>>2]=Gi;o[Ei+20>>2]=Hi;Ji=ti;Ii=ti;Gi=Ki;b:{if((Gi|0)<=-1){if(!ri(a+1|0,ti,Ei)){break a}a=ti;Ei=o[ti+4>>2];ti=o[ti>>2];Hi=Ei<<7|ti>>>25;ti=ti<<7;o[a>>2]=ti;o[a+4>>2]=Hi;a=Gi&127|ti;break b}Hi=0;a=Gi&255}o[Ii>>2]=a;o[Ji+4>>2]=Hi;Li=1}return Li}function si(a){var ti=0,Ei=0,Mi=0,Ni=0,Oi=0,Pi=0;m[a+36|0]=0;Mi=o[a+20>>2];Ni=a;Oi=a;Pi=o[a+16>>2];a=o[a+32>>2]+7|0;if(a>>>0<7){ti=1}Ei=ti>>>3;a=ti<<29|a>>>3;ti=Pi+a|0;Ei=Ei+Mi|0;o[Oi+16>>2]=ti;o[Ni+20>>2]=ti>>>0>>0?Ei+1|0:Ei}function ti(a){a=a+ -1|0;if(a>>>0<=10){return o[(a<<2)+10412>>2]}return-1}function ui(a){var Qi=0;Qi=a+4|0;o[Qi>>2]=0;o[Qi+4>>2]=0;o[a>>2]=Qi;return a}function vi(a,Ri,Si,Ti){var Ui=0,Vi=0,Wi=0,Xi=0;Ui=R-16|0;R=Ui;Xi=a;Vi=Zf(Ri,Ui+12|0,Si);Si=o[Vi>>2];if(Si){Ri=0}else{Si=Hk(40);Mk(Si+16|0,o[Ti>>2]);o[Si+36>>2]=0;o[Si+28>>2]=0;o[Si+32>>2]=0;o[Si+8>>2]=o[Ui+12>>2];o[Si>>2]=0;o[Si+4>>2]=0;o[Vi>>2]=Si;Ti=Si;Wi=o[o[Ri>>2]>>2];if(Wi){o[Ri>>2]=Wi;Ti=o[Vi>>2]}Xf(o[Ri+4>>2],Ti);Ri=Ri+8|0;o[Ri>>2]=o[Ri>>2]+1;Ri=1}m[Xi+4|0]=Ri;o[a>>2]=Si;R=Ui+16|0}function wi(a,Ri){var Si=0;Si=R-48|0;R=Si;Wk(Si+8|0);o[Si+32>>2]=Ri;vi(Si+40|0,a,Ri,Si+32|0);a=o[Si+40>>2];Ri=a+28|0;a:{if(m[a+39|0]>=0){m[Ri+11|0]=0;m[Ri|0]=0;break a}m[o[a+28>>2]]=0;o[a+32>>2]=0;if(m[a+39|0]>-1){break a}ul(o[a+28>>2]);o[a+36>>2]=0}a=o[Si+12>>2];o[Ri>>2]=o[Si+8>>2];o[Ri+4>>2]=a;o[Ri+8>>2]=o[Si+16>>2];R=Si+48|0}function xi(a,Ri){var Ti=0,Yi=0,Zi=0,_i=0,$i=0,aj=0,bj=0,cj=0;$i=a+4|0;a=o[$i>>2];a:{b:{if(!a){break b}Ti=p[Ri+11|0];Yi=Ti<<24>>24<0;Zi=Yi?o[Ri+4>>2]:Ti;bj=Yi?o[Ri>>2]:Ri;Ti=$i;while(1){Ri=p[a+27|0];cj=Ri<<24>>24<0;aj=cj?o[a+20>>2]:Ri;_i=Zi>>>0>>0;Yi=_i?Zi:aj;c:{if(Yi){Ri=a+16|0;Ri=Zj(cj?o[Ri>>2]:Ri,bj,Yi);if(Ri){break c}}Ri=aj>>>0>>0?-1:_i}Ti=(Ri|0)<0?Ti:a;a=o[(Ri>>>29&4)+a>>2];if(a){continue}break}if((Ti|0)==($i|0)){break b}a=p[Ti+27|0];_i=a<<24>>24<0;d:{Yi=_i?o[Ti+20>>2]:a;Ri=Yi>>>0>>0?Yi:Zi;if(Ri){a=Ti+16|0;a=Zj(bj,_i?o[a>>2]:a,Ri);if(a){break d}}if(Zi>>>0>>0){break b}break a}if((a|0)>-1){break a}}Ti=$i}return Ti}function yi(a,Ri){var dj=0;Ri=xi(a,Ri);a:{if((Ri|0)==(a+4|0)){break a}a=Ri+28|0;if(m[Ri+39|0]<=-1){a=o[a>>2]}a=Yj(a);if((a|0)==-1){break a}dj=(a|0)!=0}return dj}function zi(a){var Ri=0;o[a>>2]=0;o[a+4>>2]=0;o[a+56>>2]=0;o[a+48>>2]=0;o[a+52>>2]=0;o[a+40>>2]=0;o[a+44>>2]=0;o[a+32>>2]=0;o[a+36>>2]=0;o[a+24>>2]=0;o[a+28>>2]=0;o[a+16>>2]=0;o[a+20>>2]=0;o[a+8>>2]=0;o[a+12>>2]=0;Ri=a- -64|0;o[Ri>>2]=0;o[Ri+4>>2]=0;o[a+72>>2]=0;o[a+76>>2]=0;o[a+80>>2]=0;o[a+84>>2]=0;o[a+60>>2]=a}function Ai(a,ej){var fj=0,gj=0,hj=0;hj=R-16|0;R=hj;gj=Hk(88);fj=gj;o[fj>>2]=0;o[fj+4>>2]=0;o[fj+56>>2]=0;o[fj+48>>2]=0;o[fj+52>>2]=0;o[fj+40>>2]=0;o[fj+44>>2]=0;o[fj+32>>2]=0;o[fj+36>>2]=0;o[fj+24>>2]=0;o[fj+28>>2]=0;o[fj+16>>2]=0;o[fj+20>>2]=0;o[fj+8>>2]=0;o[fj+12>>2]=0;fj=fj- -64|0;o[fj>>2]=0;o[fj+4>>2]=0;o[gj+72>>2]=0;o[gj+76>>2]=0;o[gj+80>>2]=0;o[gj+84>>2]=0;o[gj+60>>2]=gj;o[hj+8>>2]=gj;a:{if(Bi(gj,ej)){o[a>>2]=o[hj+8>>2];o[hj+8>>2]=0;break a}o[a>>2]=0;a=o[hj+8>>2];o[hj+8>>2]=0;if(!a){break a}ua(hj+8|0,a)}R=hj+16|0}function Bi(a,ej){var ij=0,jj=0,kj=0,lj=0,mj=0,nj=0,oj=0;lj=R-16|0;R=lj;o[a+80>>2]=0;o[a+84>>2]=0;ij=a+76|0;jj=o[ij>>2];o[ij>>2]=0;if(jj){ul(jj)}o[a+68>>2]=0;o[a+72>>2]=0;ij=a- -64|0;jj=o[ij>>2];o[ij>>2]=0;if(jj){ul(jj)}nj=ej+4|0;ij=o[nj>>2];jj=o[ej>>2];kj=u((ij-jj|0)/12|0,3);oj=o[a>>2];mj=o[a+4>>2]-oj>>2;a:{if(kj>>>0>mj>>>0){Ci(a,kj-mj|0);ij=o[nj>>2];jj=o[ej>>2];break a}if(kj>>>0>=mj>>>0){break a}o[a+4>>2]=(kj<<2)+oj}if((ij|0)!=(jj|0)){mj=(ij-jj|0)/12|0;nj=o[a>>2];ej=0;while(1){kj=u(ej,12);ij=kj+nj|0;kj=jj+kj|0;o[ij>>2]=o[kj>>2];o[ij+4>>2]=o[kj+4>>2];o[ij+8>>2]=o[kj+8>>2];ej=ej+1|0;if(ej>>>0>>0){continue}break}}o[lj+12>>2]=-1;ej=0;if(Di(a,lj+12|0)){Ei(a);Fi(a,o[lj+12>>2]);ej=1}R=lj+16|0;return ej}function Ci(a,ej){var pj=0,qj=0,rj=0,sj=0,tj=0,uj=0,vj=0,wj=0,xj=0;qj=o[a+8>>2];rj=a+4|0;pj=o[rj>>2];if(qj-pj>>2>>>0>=ej>>>0){a=ej<<2;wj=rj,xj=xl(pj,0,a)+a|0,o[wj>>2]=xj;return}a:{rj=o[a>>2];tj=pj-rj|0;pj=tj>>2;sj=pj+ej|0;if(sj>>>0<1073741824){vj=pj<<2;qj=qj-rj|0;pj=qj>>1;qj=qj>>2>>>0<536870911?pj>>>0>>0?sj:pj:1073741823;pj=0;b:{if(!qj){break b}if(qj>>>0>=1073741824){break a}uj=Hk(qj<<2);pj=uj}xl(vj+pj|0,0,ej<<2);ej=pj+(sj<<2)|0;sj=pj+(qj<<2)|0;if((tj|0)>=1){wl(uj,rj,tj)}o[a>>2]=pj;o[a+8>>2]=sj;o[a+4>>2]=ej;if(rj){ul(rj)}return}Yk();D()}_a(10468);D()}function Di(a,ej){var yj=0,zj=0,Aj=0,Bj=0,Cj=0,Dj=0,Ej=0,Fj=0,Gj=0,Hj=0,Ij=0,Jj=0,Kj=0,Lj=0,Mj=0,Nj=0,Oj=0,Pj=0,Qj=0,Rj=0,Sj=0;Aj=R-48|0;R=Aj;if(ej){Pj=a+12|0;zj=a+4|0;Fj=o[zj>>2];Gj=o[a>>2];Dj=Fj-Gj|0;Bj=Dj>>2;yj=o[a+12>>2];Cj=o[a+16>>2]-yj>>2;a:{if(Bj>>>0>Cj>>>0){Gi(Pj,Bj-Cj|0);Fj=o[zj>>2];Gj=o[a>>2];Dj=Fj-Gj|0;Bj=Dj>>2;break a}if(Bj>>>0>=Cj>>>0){break a}o[a+16>>2]=yj+(Bj<<2)}zj=0;o[Aj+40>>2]=0;o[Aj+32>>2]=0;o[Aj+36>>2]=0;b:{c:{d:{if(!Bj){yj=0;Cj=0;break d}if(Bj>>>0>=1073741824){break c}yj=Hk(Dj);o[Aj+36>>2]=yj;o[Aj+32>>2]=yj;o[Aj+40>>2]=(Bj<<2)+yj;Cj=yj}e:{if(!Dj){break e}Ej=a+4|0;zj=Cj;Ij=zj;Dj=0;while(1){Hj=o[(Dj<<2)+Gj>>2];Ij=Ij-zj>>2;if(Hj>>>0>=Ij>>>0){o[Aj+16>>2]=0;yj=Hj+1|0;f:{if(yj>>>0>Ij>>>0){yd(Aj+32|0,yj-Ij|0,Aj+16|0);Fj=o[Ej>>2];Gj=o[a>>2];break f}if(yj>>>0>=Ij>>>0){break f}o[Aj+36>>2]=(yj<<2)+zj}yj=o[Aj+32>>2];Cj=yj}zj=(Hj<<2)+yj|0;o[zj>>2]=o[zj>>2]+1;Dj=Dj+1|0;zj=Fj-Gj|0;Bj=zj>>2;if(Dj>>>0>=Bj>>>0){break e}Ij=o[Aj+36>>2];zj=yj;continue}}o[Aj+24>>2]=0;o[Aj+16>>2]=0;o[Aj+20>>2]=0;Dj=0;g:{if(zj){if(Bj>>>0>=536870912){break g}Dj=Hk(zj<<1);o[Aj+16>>2]=Dj;o[Aj+20>>2]=Dj;zj=Bj<<3;o[Aj+24>>2]=zj+Dj;zj=xl(Dj,255,zj);while(1){zj=zj+8|0;Bj=Bj+ -1|0;if(Bj){continue}break}o[Aj+20>>2]=zj}o[Aj+8>>2]=0;o[Aj>>2]=0;o[Aj+4>>2]=0;zj=o[Aj+36>>2]-Cj|0;Mj=zj>>2;h:{if(zj){if(Mj>>>0>=1073741824){break h}Jj=Hk(zj);o[Aj>>2]=Jj;o[Aj+8>>2]=(Mj<<2)+Jj;Bj=0;Ej=xl(Jj,0,zj);o[Aj+4>>2]=Ej+zj;zj=0;while(1){Cj=zj<<2;o[Cj+Ej>>2]=Bj;Bj=o[yj+Cj>>2]+Bj|0;zj=zj+1|0;if(zj>>>0>>0){continue}break}}if((Fj|0)==(Gj|0)){break b}Sj=Fj-Gj>>2;Ej=0;Qj=o[Aj+32>>2];while(1){Nj=Ej<<2;Ij=o[Nj+Gj>>2];Fj=-1;zj=Ej+1|0;yj=(zj>>>0)%3|0?zj:Ej+ -2|0;if((yj|0)!=-1){Fj=o[(yj<<2)+Gj>>2]}Kj=-1;Cj=(Ej>>>0)%3|0;yj=(Cj?-1:2)+Ej|0;if((yj|0)!=-1){Kj=o[(yj<<2)+Gj>>2]}i:{j:{if(Cj){break j}k:{if((Fj|0)==(Kj|0)){break k}yj=o[Gj+Nj>>2];if((yj|0)==(Fj|0)){break k}if((yj|0)!=(Kj|0)){break j}}o[a+40>>2]=o[a+40>>2]+1;zj=Ej+3|0;break i}yj=Kj<<2;Oj=o[yj+Qj>>2];l:{m:{if((Oj|0)<1){break m}yj=o[yj+Jj>>2];Bj=0;while(1){Hj=(yj<<3)+Dj|0;Cj=o[Hj>>2];if((Cj|0)==-1){break m}n:{if((Cj|0)!=(Fj|0)){break n}Lj=o[Hj+4>>2];if((Lj|0)!=-1){Cj=o[(Lj<<2)+Gj>>2]}else{Cj=-1}if((Cj|0)==(Ij|0)){break n}while(1){Cj=yj;Bj=Bj+1|0;o:{if((Bj|0)>=(Oj|0)){break o}Rj=(Cj<<3)+Dj|0;yj=Cj+1|0;Ij=(yj<<3)+Dj|0;Hj=o[Ij>>2];o[Rj>>2]=Hj;o[Rj+4>>2]=o[Ij+4>>2];if((Hj|0)!=-1){continue}}break}o[(Cj<<3)+Dj>>2]=-1;if((Lj|0)==-1){break m}yj=o[Pj>>2];o[yj+Nj>>2]=Lj;o[yj+(Lj<<2)>>2]=Ej;break l}yj=yj+1|0;Bj=Bj+1|0;if((Oj|0)!=(Bj|0)){continue}break}}yj=Fj<<2;Cj=o[yj+Qj>>2];if((Cj|0)<1){break l}yj=o[yj+Jj>>2];Bj=0;while(1){Hj=(yj<<3)+Dj|0;if(o[Hj>>2]==-1){o[Hj>>2]=Kj;o[Hj+4>>2]=Ej;break l}yj=yj+1|0;Bj=Bj+1|0;if((Cj|0)!=(Bj|0)){continue}break}}}Ej=zj;if(Ej>>>0>>0){continue}break}break b}Yk();D()}Yk();D()}_a(10468);D()}o[ej>>2]=Mj;if(Jj){o[Aj+4>>2]=Jj;ul(Jj)}a=o[Aj+16>>2];if(a){o[Aj+20>>2]=a;ul(a)}a=o[Aj+32>>2];if(a){o[Aj+36>>2]=a;ul(a)}a=1}else{a=0}R=Aj+48|0;return a}function Ei(a){var ej=0,Tj=0,Uj=0,Vj=0,Wj=0,Xj=0,Yj=0,Zj=0,_j=0,$j=0,ak=0,bk=0,ck=0,dk=0,ek=0;Uj=R-48|0;R=Uj;ak=a+4|0;ej=o[ak>>2];_j=o[a>>2];m[Uj+16|0]=0;bk=Hi(Uj+32|0,ej-_j>>2,Uj+16|0);o[Uj+24>>2]=0;o[Uj+16>>2]=0;o[Uj+20>>2]=0;ej=o[ak>>2];Yj=o[a>>2];Zj=a+12|0;while(1){ck=0;Xj=0;a:{if((ej|0)==(Yj|0)){break a}while(1){Vj=o[bk>>2];b:{if(o[Vj+(Xj>>>3&536870908)>>2]>>>(Xj&31)&1){break b}Wj=o[Uj+16>>2];o[Uj+20>>2]=Wj;ej=Xj;while(1){Tj=ej+1|0;_j=ej;ej=(Tj>>>0)%3|0?Tj:ej+ -2|0;c:{if((ej|0)==-1){break c}ej=o[o[Zj>>2]+(ej<<2)>>2];if((ej|0)==-1){break c}Tj=ej+1|0;ej=(Tj>>>0)%3|0?Tj:ej+ -2|0;if((Xj|0)==(ej|0)|(ej|0)==-1){break c}if(!(o[(ej>>>3&536870908)+Vj>>2]>>>(ej&31)&1)){continue}}break}ej=Wj;Tj=_j;while(1){Vj=(Tj>>>3&536870908)+Vj|0;o[Vj>>2]=o[Vj>>2]|1<<(Tj&31);Vj=Tj+1|0;dk=(Vj>>>0)%3|0?Vj:Tj+ -2|0;Vj=((Tj>>>0)%3|0?-1:2)+Tj|0;if((ej|0)!=(Wj|0)){ek=o[(dk<<2)+Yj>>2];while(1){d:{if((ek|0)!=o[ej>>2]){break d}Tj=-1;$j=o[ej+4>>2];Tj=(Vj|0)!=-1?o[o[Zj>>2]+(Vj<<2)>>2]:Tj;if(($j|0)==(Tj|0)){break d}Wj=-1;Wj=($j|0)!=-1?o[o[Zj>>2]+($j<<2)>>2]:Wj;if((Tj|0)!=-1){o[o[Zj>>2]+(Tj<<2)>>2]=-1}ej=o[Zj>>2];if((Wj|0)!=-1){o[ej+(Wj<<2)>>2]=-1}o[ej+(Vj<<2)>>2]=-1;o[ej+($j<<2)>>2]=-1;ck=1;break b}ej=ej+8|0;if((Wj|0)!=(ej|0)){continue}break}}o[Uj+8>>2]=0;ej=Vj<<2;Tj=o[ej+Yj>>2];o[Uj+12>>2]=dk;o[Uj+8>>2]=Tj;e:{if(o[Uj+24>>2]!=(Wj|0)){Tj=o[Uj+12>>2];o[Wj>>2]=o[Uj+8>>2];o[Wj+4>>2]=Tj;o[Uj+20>>2]=o[Uj+20>>2]+8;break e}Ii(Uj+16|0,Uj+8|0)}f:{if((Vj|0)==-1){break f}ej=o[ej+o[Zj>>2]>>2];if((ej|0)==-1){break f}Tj=ej+((ej>>>0)%3|0?-1:2)|0;if((_j|0)==(Tj|0)|(Tj|0)==-1){break f}Yj=o[a>>2];Vj=o[bk>>2];Wj=o[Uj+20>>2];ej=o[Uj+16>>2];continue}break}Yj=o[a>>2]}Xj=Xj+1|0;ej=o[ak>>2];if(Xj>>>0>2>>>0){continue}break}if(ck){continue}}break}a=o[Uj+16>>2];if(a){o[Uj+20>>2]=a;ul(a)}a=o[bk>>2];if(a){ul(a)}R=Uj+48|0}function Fi(a,fk){var gk=0,hk=0,ik=0,jk=0,kk=0,lk=0,mk=0,nk=0,ok=0,pk=0,qk=0,rk=0,sk=0,tk=0,uk=0,vk=0,wk=0,xk=0,yk=0,zk=0,Ak=0,Bk=0,Ck=0;lk=R-48|0;R=lk;o[a+36>>2]=fk;rk=a+24|0;ik=o[a+24>>2];gk=o[a+28>>2]-ik>>2;a:{if(gk>>>0>>0){Gi(rk,fk-gk|0);break a}if(gk>>>0<=fk>>>0){break a}o[a+28>>2]=ik+(fk<<2)}m[lk+16|0]=0;mk=Hi(lk+32|0,fk,lk+16|0);sk=a+4|0;gk=o[sk>>2];ik=o[a>>2];m[lk+8|0]=0;ok=Hi(lk+16|0,gk-ik>>2,lk+8|0);b:{gk=o[a>>2];if(o[sk>>2]-gk>>2>>>0<3){break b}yk=a+48|0;tk=a+12|0;zk=a+32|0;vk=a+28|0;Ak=a+56|0;wk=a+52|0;while(1){pk=u(uk,3);jk=o[(pk<<2)+gk>>2];kk=0;hk=-1;ik=pk+1|0;c:{if((ik|0)!=-1){hk=o[(ik<<2)+gk>>2];kk=pk+2|0;ik=-1;if((kk|0)==-1){break c}}ik=o[(kk<<2)+gk>>2]}d:{if(!((ik|0)==(hk|0)|(hk|0)==(jk|0)|(ik|0)==(jk|0))){nk=o[ok>>2];qk=0;while(1){ik=pk+qk|0;e:{if(o[(ik>>>3&536870908)+nk>>2]>>>(ik&31)&1){break e}kk=o[o[a>>2]+(ik<<2)>>2];o[lk+8>>2]=kk;gk=1<<(kk&31);hk=o[mk>>2];kk=kk>>>5;nk=o[hk+(kk<<2)>>2];jk=0;f:{if(!(gk&nk)){break f}gk=o[vk>>2];g:{if((gk|0)!=o[zk>>2]){o[gk>>2]=-1;o[vk>>2]=gk+4;break g}bh(rk,10464)}gk=o[wk>>2];h:{if((gk|0)!=o[Ak>>2]){o[gk>>2]=o[lk+8>>2];o[wk>>2]=gk+4;break h}bh(yk,lk+8|0)}gk=o[mk+4>>2];jk=o[mk+8>>2];if((gk|0)==jk<<5){if((gk+1|0)<=-1){break d}hk=mk;if(gk>>>0<=1073741822){gk=gk+32&-32;jk=jk<<6;gk=jk>>>0>>0?gk:jk}else{gk=2147483647}ab(hk,gk);gk=o[mk+4>>2]}o[mk+4>>2]=gk+1;hk=o[mk>>2];jk=hk+(gk>>>3&536870908)|0;kk=o[jk>>2];Bk=jk,Ck=Zl(gk)&kk,o[Bk>>2]=Ck;o[lk+8>>2]=fk;gk=1<<(fk&31);kk=fk>>>5;nk=o[(kk<<2)+hk>>2];fk=fk+1|0;jk=1}o[(kk<<2)+hk>>2]=gk|nk;nk=o[ok>>2];gk=ik;i:{while(1){if((gk|0)==-1){break i}hk=(gk>>>3&536870908)+nk|0;o[hk>>2]=o[hk>>2]|1<<(gk&31);hk=o[lk+8>>2];o[o[rk>>2]+(hk<<2)>>2]=gk;if(jk){o[o[a>>2]+(gk<<2)>>2]=hk}kk=ik;hk=gk+1|0;gk=(hk>>>0)%3|0?hk:gk+ -2|0;hk=-1;j:{if((gk|0)==-1){break j}gk=o[o[tk>>2]+(gk<<2)>>2];hk=-1;if((gk|0)==-1){break j}hk=gk+1|0;hk=(hk>>>0)%3|0?hk:gk+ -2|0}gk=hk;if((kk|0)!=(gk|0)){continue}break}if((ik|0)!=-1){break e}}gk=ik+((ik>>>0)%3|0?-1:2)|0;if((gk|0)==-1){break e}gk=o[o[tk>>2]+(gk<<2)>>2];if((gk|0)==-1){break e}gk=gk+((gk>>>0)%3|0?-1:2)|0;if((gk|0)==-1){break e}nk=o[ok>>2];while(1){ik=(gk>>>3&536870908)+nk|0;o[ik>>2]=o[ik>>2]|1<<(gk&31);if(jk){o[o[a>>2]+(gk<<2)>>2]=o[lk+8>>2]}gk=((gk>>>0)%3|0?-1:2)+gk|0;if((gk|0)==-1){break e}gk=o[o[tk>>2]+(gk<<2)>>2];if((gk|0)==-1){break e}gk=gk+((gk>>>0)%3|0?-1:2)|0;if((gk|0)!=-1){continue}break}}qk=qk+1|0;if((qk|0)!=3){continue}break}}uk=uk+1|0;gk=o[a>>2];if(uk>>>0<(o[sk>>2]-gk>>2>>>0)/3>>>0){continue}break b}break}Yk();D()}o[a+44>>2]=0;fk=o[mk>>2];gk=o[mk+4>>2];ik=gk>>>5;jk=gk&31;if(ik|jk){ik=(ik<<2)+fk|0;hk=fk;gk=0;while(1){if(!(o[hk>>2]>>>gk&1)){xk=xk+1|0;o[a+44>>2]=xk}kk=(gk|0)==31;gk=kk?0:gk+1|0;hk=kk?hk+4|0:hk;if((ik|0)!=(hk|0)|(gk|0)!=(jk|0)){continue}break}}a=o[ok>>2];if(a){ul(a);fk=o[mk>>2]}if(fk){ul(fk)}R=lk+48|0}function Gi(a,fk){var Dk=0,Ek=0,Fk=0,Gk=0,Ik=0,Jk=0;Fk=o[a+8>>2];Dk=o[a+4>>2];if(Fk-Dk>>2>>>0>=fk>>>0){while(1){o[Dk>>2]=o[2616];Dk=Dk+4|0;fk=fk+ -1|0;if(fk){continue}break}o[a+4>>2]=Dk;return}a:{Gk=o[a>>2];Ik=Dk-Gk|0;Jk=Ik>>2;Dk=Jk+fk|0;if(Dk>>>0<1073741824){Fk=Fk-Gk|0;Ek=Fk>>1;Dk=Fk>>2>>>0<536870911?Ek>>>0>>0?Dk:Ek:1073741823;Ek=0;b:{if(!Dk){break b}if(Dk>>>0>=1073741824){break a}Ek=Hk(Dk<<2)}Fk=Ek+(Dk<<2)|0;Dk=Ek+(Jk<<2)|0;while(1){o[Dk>>2]=o[2616];Dk=Dk+4|0;fk=fk+ -1|0;if(fk){continue}break}if((Ik|0)>=1){wl(Ek,Gk,Ik)}o[a>>2]=Ek;o[a+8>>2]=Fk;o[a+4>>2]=Dk;if(Gk){ul(Gk)}return}Yk();D()}_a(10468);D()}function Hi(a,fk,Kk){var Lk=0,Mk=0,Nk=0;o[a>>2]=0;o[a+4>>2]=0;o[a+8>>2]=0;a:{b:{if(!fk){break b}if((fk|0)<=-1){break a}Mk=fk+ -1>>>5;Nk=Mk+1|0;Lk=Hk(Nk<<2);o[a+8>>2]=Nk;o[a>>2]=Lk;Nk=p[Kk|0];o[a+4>>2]=fk;o[(fk>>>0<33?Lk:Lk+(Mk<<2)|0)>>2]=0;Kk=fk>>>5;Mk=Kk<<2;if(Nk){Lk=xl(Lk,255,Mk);fk=fk&31;if(!fk){break b}Kk=Lk+(Kk<<2)|0;o[Kk>>2]=o[Kk>>2]|-1>>>32-fk;return a}Lk=xl(Lk,0,Mk);fk=fk&31;if(!fk){break b}Kk=Lk+(Kk<<2)|0;o[Kk>>2]=o[Kk>>2]&(-1>>>32-fk^-1)}return a}Yk();D()}function Ii(a,fk){var Kk=0,Ok=0,Pk=0,Qk=0,Rk=0,Sk=0;a:{Pk=o[a>>2];Sk=o[a+4>>2]-Pk|0;Kk=Sk>>3;Ok=Kk+1|0;if(Ok>>>0<536870912){Qk=Kk<<3;Rk=o[a+8>>2]-Pk|0;Kk=Rk>>2;Ok=Rk>>3>>>0<268435455?Kk>>>0>>0?Ok:Kk:536870911;Kk=0;b:{if(!Ok){break b}if(Ok>>>0>=536870912){break a}Kk=Hk(Ok<<3)}Qk=Qk+Kk|0;Rk=o[fk+4>>2];o[Qk>>2]=o[fk>>2];o[Qk+4>>2]=Rk;fk=Kk+(Ok<<3)|0;Ok=Qk+8|0;if((Sk|0)>=1){wl(Kk,Pk,Sk)}o[a>>2]=Kk;o[a+8>>2]=fk;o[a+4>>2]=Ok;if(Pk){ul(Pk)}return}Yk();D()}_a(10468);D()}function Ji(a,fk,Tk){var Uk=0,Vk=0,Wk=0,Xk=0;a:{b:{if((fk|Tk)<0|fk>>>0>1431655765){break b}fk=u(fk,3);Ki(a,fk,10460);Ki(a+12|0,fk,10464);fk=o[a+24>>2];c:{if(o[a+32>>2]-fk>>2>>>0>=Tk>>>0){break c}if(Tk>>>0>=1073741824){break a}Wk=a+28|0;Uk=o[Wk>>2];Vk=Tk<<2;Tk=Hk(Vk);Vk=Tk+Vk|0;Uk=Uk-fk|0;Xk=Uk+Tk|0;if((Uk|0)>=1){wl(Tk,fk,Uk)}o[a+24>>2]=Tk;o[a+32>>2]=Vk;o[Wk>>2]=Xk;if(!fk){break c}ul(fk)}o[a+80>>2]=0;o[a+84>>2]=0;Tk=a+76|0;fk=o[Tk>>2];o[Tk>>2]=0;if(fk){ul(fk)}o[a+68>>2]=0;o[a+72>>2]=0;fk=a- -64|0;a=o[fk>>2];o[fk>>2]=0;Uk=1;if(!a){break b}ul(a)}return Uk}_a(10468);D()}function Ki(a,fk,Tk){var Zk=0,_k=0,$k=0,al=0,bl=0;Zk=o[a+8>>2];_k=o[a>>2];if(Zk-_k>>2>>>0>=fk>>>0){$k=o[a+4>>2];al=$k-_k>>2;bl=al>>>0>>0?al:fk;if(bl){Zk=_k;while(1){o[Zk>>2]=o[Tk>>2];Zk=Zk+4|0;bl=bl+ -1|0;if(bl){continue}break}}if(al>>>0>>0){Zk=fk-al|0;while(1){o[$k>>2]=o[Tk>>2];$k=$k+4|0;Zk=Zk+ -1|0;if(Zk){continue}break}o[a+4>>2]=$k;return}o[a+4>>2]=(fk<<2)+_k;return}if(_k){o[a+4>>2]=_k;ul(_k);o[a+8>>2]=0;o[a>>2]=0;o[a+4>>2]=0;Zk=0}a:{if(fk>>>0>=1073741824){break a}_k=Zk>>1;_k=Zk>>2>>>0<536870911?_k>>>0>>0?fk:_k:1073741823;if(_k>>>0>=1073741824){break a}_k=_k<<2;Zk=Hk(_k);o[a>>2]=Zk;o[a+4>>2]=Zk;o[a+8>>2]=Zk+_k;while(1){o[Zk>>2]=o[Tk>>2];Zk=Zk+4|0;fk=fk+ -1|0;if(fk){continue}break}o[a+4>>2]=Zk;return}Yk();D()}function Li(a){qj(a);o[a+84>>2]=0;o[a+88>>2]=0;o[a>>2]=10544;o[a+92>>2]=0;o[a+96>>2]=0;o[a+100>>2]=0;o[a+104>>2]=0;return a}function Mi(a){a=a|0;var fk=0,Hk=0,Tk=0,Yk=0,cl=0;o[a>>2]=10944;fk=o[a+68>>2];if(fk){o[a+72>>2]=fk;ul(fk)}fk=o[a+56>>2];if(fk){o[a+60>>2]=fk;ul(fk)}fk=o[a+44>>2];if(fk){o[a+48>>2]=fk;ul(fk)}fk=o[a+32>>2];if(fk){o[a+36>>2]=fk;ul(fk)}fk=o[a+20>>2];if(fk){o[a+24>>2]=fk;ul(fk)}Tk=o[a+8>>2];if(Tk){fk=Tk;cl=a+12|0;Hk=o[cl>>2];Yk=fk;a:{if((fk|0)==(Hk|0)){break a}while(1){Hk=Hk+ -4|0;fk=o[Hk>>2];o[Hk>>2]=0;if(fk){Fb(fk)}if((Hk|0)!=(Tk|0)){continue}break}Yk=o[a+8>>2]}fk=Yk;o[cl>>2]=Tk;ul(fk)}fk=o[a+4>>2];o[a+4>>2]=0;if(fk){ei(fk)}return a|0}function Ni(a){a=a|0;var dl=0;o[a>>2]=10544;dl=o[a+96>>2];if(dl){o[a+100>>2]=dl;ul(dl)}dl=o[a+84>>2];if(dl){o[a+88>>2]=dl;ul(dl)}Mi(a);return a|0}function Oi(a){a=a|0;var el=0;o[a>>2]=10544;el=o[a+96>>2];if(el){o[a+100>>2]=el;ul(el)}el=o[a+84>>2];if(el){o[a+88>>2]=el;ul(el)}Mi(a);ul(a)}function Pi(a,fl,gl){a=a|0;fl=fl|0;gl=gl|0;var hl=0,il=0;hl=R-16|0;R=hl;il=o[gl>>2];o[gl>>2]=0;o[hl+8>>2]=il;wj(a,fl,hl+8|0);gl=o[hl+8>>2];o[hl+8>>2]=0;if(gl){Fb(gl)}il=o[a+84>>2];gl=o[a+88>>2]-il>>2;a:{if((gl|0)>(fl|0)){break a}fl=fl+1|0;if(fl>>>0>gl>>>0){Qi(a+84|0,fl-gl|0);break a}if(fl>>>0>=gl>>>0){break a}o[a+88>>2]=il+(fl<<2)}R=hl+16|0}function Qi(a,fl){var gl=0,jl=0,kl=0,ll=0,ml=0,nl=0;kl=o[a+8>>2];gl=o[a+4>>2];if(kl-gl>>2>>>0>=fl>>>0){while(1){o[gl>>2]=1;gl=gl+4|0;fl=fl+ -1|0;if(fl){continue}break}o[a+4>>2]=gl;return}a:{ll=o[a>>2];ml=gl-ll|0;nl=ml>>2;gl=nl+fl|0;if(gl>>>0<1073741824){kl=kl-ll|0;jl=kl>>1;gl=kl>>2>>>0<536870911?jl>>>0>>0?gl:jl:1073741823;jl=0;b:{if(!gl){break b}if(gl>>>0>=1073741824){break a}jl=Hk(gl<<2)}kl=jl+(gl<<2)|0;gl=jl+(nl<<2)|0;while(1){o[gl>>2]=1;gl=gl+4|0;fl=fl+ -1|0;if(fl){continue}break}if((ml|0)>=1){wl(jl,ll,ml)}o[a>>2]=jl;o[a+8>>2]=kl;o[a+4>>2]=gl;if(ll){ul(ll)}return}Yk();D()}_a(10588);D()}function Ri(a,fl){a=a|0;fl=fl|0;var ol=0,pl=0,ql=0;zj(a,fl);a:{if((fl|0)<0){break a}ol=o[a+88>>2];pl=o[a+84>>2];if(ol-pl>>2<=(fl|0)){break a}fl=pl+(fl<<2)|0;pl=fl+4|0;ol=ol-pl|0;ql=ol>>2;if(ol){yl(fl,pl,ol)}o[a+88>>2]=fl+(ql<<2)}}function Si(a,fl){var rl=0,sl=0,tl=0,vl=0,xl=0,yl=0;a:{tl=o[a>>2];xl=o[a+4>>2]-tl|0;rl=xl>>2;sl=rl+1|0;if(sl>>>0<1073741824){yl=rl<<2;rl=o[a+8>>2]-tl|0;vl=rl>>1;sl=rl>>2>>>0<536870911?vl>>>0>>0?sl:vl:1073741823;rl=0;b:{if(!sl){break b}if(sl>>>0>=1073741824){break a}rl=Hk(sl<<2)}vl=yl+rl|0;o[vl>>2]=o[fl>>2];fl=rl+(sl<<2)|0;sl=vl+4|0;if((xl|0)>=1){wl(rl,tl,xl)}o[a>>2]=rl;o[a+8>>2]=fl;o[a+4>>2]=sl;if(tl){ul(tl)}return}Yk();D()}_a(10656);D()}function Ti(a){o[a>>2]=0;o[a+4>>2]=0;m[a+24|0]=1;o[a+16>>2]=0;o[a+20>>2]=0;o[a+8>>2]=0;o[a+12>>2]=0;o[a+28>>2]=0;o[a+32>>2]=0;o[a+36>>2]=0;o[a+40>>2]=0;o[a+44>>2]=0;o[a+48>>2]=0;o[a+52>>2]=0;o[a+56>>2]=0;o[a+60>>2]=0;o[a+64>>2]=0;o[a+72>>2]=0;o[a+76>>2]=0;o[a+80>>2]=0;o[a+84>>2]=0;o[a+88>>2]=0;o[a+92>>2]=0;o[a+68>>2]=a}function Ui(a,fl){var zl=0,Al=0,Bl=0,Cl=0,Dl=0,El=0,Fl=0,Gl=0;El=R-16|0;R=El;a:{b:{if(fl){o[a+88>>2]=0;o[a+92>>2]=0;zl=a+84|0;Al=o[zl>>2];o[zl>>2]=0;if(Al){ul(Al)}o[a+76>>2]=0;o[a+80>>2]=0;zl=a+72|0;Al=o[zl>>2];o[zl>>2]=0;if(Al){ul(Al)}Al=fl+4|0;zl=o[Al>>2];Bl=o[fl>>2];m[El+15|0]=0;$a(a,zl-Bl>>2,El+15|0);Bl=fl+28|0;zl=o[Bl>>2];Cl=o[fl+24>>2];m[El+14|0]=0;$a(a+12|0,zl-Cl>>2,El+14|0);Ki(a+28|0,o[Al>>2]-o[fl>>2]>>2,10724);Al=o[a+52>>2];Cl=o[Bl>>2]-o[fl+24>>2]|0;zl=Cl>>2;c:{if(o[a+60>>2]-Al>>2>>>0>=zl>>>0){break c}if(zl>>>0>=1073741824){break b}Fl=a+56|0;Dl=o[Fl>>2];Gl=zl<<2;zl=Hk(Cl);Gl=Gl+zl|0;Cl=Dl-Al|0;Dl=Cl+zl|0;if((Cl|0)>=1){wl(zl,Al,Cl)}o[a+52>>2]=zl;o[a+60>>2]=Gl;o[Fl>>2]=Dl;if(!Al){break c}ul(Al)}Al=o[a+40>>2];Bl=o[Bl>>2]-o[fl+24>>2]|0;zl=Bl>>2;d:{if(o[a+48>>2]-Al>>2>>>0>=zl>>>0){break d}if(zl>>>0>=1073741824){break a}Cl=a+44|0;Fl=o[Cl>>2];Dl=zl<<2;zl=Hk(Bl);Dl=Dl+zl|0;Bl=Fl-Al|0;Fl=Bl+zl|0;if((Bl|0)>=1){wl(zl,Al,Bl)}o[a+40>>2]=zl;o[a+48>>2]=Dl;o[Cl>>2]=Fl;if(!Al){break d}ul(Al)}m[a+24|0]=1;o[a+64>>2]=fl}R=El+16|0;return}_a(10728);D()}_a(10728);D()}function Vi(a){var fl=0,ul=0,wl=0,Hl=0,Il=0,Jl=0,Kl=0,Ll=0,Ml=0,Nl=0,Ol=0,Pl=0,Ql=0;wl=R-32|0;R=wl;Jl=a+56|0;o[Jl>>2]=o[a+52>>2];Kl=a+44|0;o[Kl>>2]=o[a+40>>2];fl=o[a+64>>2];if(o[fl+28>>2]!=o[fl+24>>2]){Ml=a+40|0;Nl=a+52|0;Ol=a+60|0;Pl=a+48|0;while(1){ul=o[o[fl+24>>2]+(Ll<<2)>>2];a:{if((ul|0)==-1){break a}o[wl+24>>2]=Il;fl=o[Jl>>2];b:{if((fl|0)!=o[Ol>>2]){o[fl>>2]=Il;o[Jl>>2]=fl+4;break b}Xi(Nl,wl+24|0)}o[wl+16>>2]=ul;o[wl+8>>2]=0;c:{if(!(o[o[a+12>>2]+(Ll>>>3&536870908)>>2]>>>(Ll&31)&1)){break c}d:{fl=ul+1|0;fl=(fl>>>0)%3|0?fl:ul+ -2|0;if(!((fl|0)==-1|o[o[a>>2]+(fl>>>3&536870908)>>2]>>>(fl&31)&1)){fl=o[o[o[a+64>>2]+12>>2]+(fl<<2)>>2];if((fl|0)!=-1){break d}}o[wl+8>>2]=-1;break c}Hl=fl+1|0;fl=(Hl>>>0)%3|0?Hl:fl+ -2|0;o[wl+8>>2]=fl;if((fl|0)==-1){break c}while(1){o[wl+16>>2]=fl;e:{Hl=fl+1|0;ul=fl;fl=(Hl>>>0)%3|0?Hl:fl+ -2|0;if(!((fl|0)==-1|o[o[a>>2]+(fl>>>3&536870908)>>2]>>>(fl&31)&1)){fl=o[o[o[a+64>>2]+12>>2]+(fl<<2)>>2];if((fl|0)!=-1){break e}}o[wl+8>>2]=-1;break c}Hl=fl+1|0;fl=(Hl>>>0)%3|0?Hl:fl+ -2|0;o[wl+8>>2]=fl;if((fl|0)!=-1){continue}break}}Ql=a+28|0;o[o[Ql>>2]+(ul<<2)>>2]=o[wl+24>>2];fl=o[Kl>>2];f:{if((fl|0)!=o[Pl>>2]){o[fl>>2]=o[wl+16>>2];o[Kl>>2]=fl+4;break f}bh(Ml,wl+16|0)}Il=Il+1|0;fl=o[a+64>>2];g:{Hl=o[wl+16>>2];if((Hl|0)==-1){break g}ul=Hl+((Hl>>>0)%3|0?-1:2)|0;if((ul|0)==-1){break g}ul=o[o[fl+12>>2]+(ul<<2)>>2];if((ul|0)==-1){break g}ul=ul+((ul>>>0)%3|0?-1:2)|0;o[wl+8>>2]=ul;if((ul|0)==-1|(ul|0)==(Hl|0)){break a}while(1){fl=ul+1|0;fl=(fl>>>0)%3|0?fl:ul+ -2|0;h:{if(!(o[o[a>>2]+(fl>>>3&536870908)>>2]>>>(fl&31)&1)){break h}o[wl+24>>2]=Il;fl=o[Jl>>2];i:{if((fl|0)!=o[Ol>>2]){o[fl>>2]=Il;o[Jl>>2]=fl+4;break i}Xi(Nl,wl+24|0)}Il=Il+1|0;fl=o[Kl>>2];if((fl|0)!=o[Pl>>2]){o[fl>>2]=o[wl+8>>2];o[Kl>>2]=fl+4;break h}bh(Ml,wl+8|0)}o[o[Ql>>2]+(o[wl+8>>2]<<2)>>2]=o[wl+24>>2];fl=o[a+64>>2];ul=o[wl+8>>2];if((ul|0)==-1){break g}ul=ul+((ul>>>0)%3|0?-1:2)|0;if((ul|0)==-1){break g}ul=o[o[fl+12>>2]+(ul<<2)>>2];if((ul|0)==-1){break g}ul=ul+((ul>>>0)%3|0?-1:2)|0;o[wl+8>>2]=ul;if((ul|0)==-1){break a}if(o[wl+16>>2]!=(ul|0)){continue}break}break a}o[wl+8>>2]=-1}Ll=Ll+1|0;if(Ll>>>0>2]-o[fl+24>>2]>>2>>>0){continue}break}}R=wl+32|0}function Wi(a,Rl){var Sl=0,Tl=0,Ul=0,Vl=0,Wl=0,Xl=0;Ul=o[a>>2];Sl=Ul+(Rl>>>3&536870908)|0;o[Sl>>2]=o[Sl>>2]|1<<(Rl&31);Wl=o[a+64>>2];Vl=(Rl|0)==-1;Sl=-1;a:{if(Vl){break a}Tl=Rl+1|0;Tl=(Tl>>>0)%3|0?Tl:Rl+ -2|0;Sl=-1;if((Tl|0)==-1){break a}Sl=o[o[Wl>>2]+(Tl<<2)>>2]}Tl=o[a+12>>2];Xl=(Sl>>>3&536870908)+Tl|0;o[Xl>>2]=o[Xl>>2]|1<<(Sl&31);b:{c:{if(!Vl){Sl=-1;Vl=((Rl>>>0)%3|0?-1:2)+Rl|0;if((Vl|0)!=-1){Sl=o[o[Wl>>2]+(Vl<<2)>>2]}Vl=Tl+(Sl>>>3&536870908)|0;o[Vl>>2]=o[Vl>>2]|1<<(Sl&31);Rl=o[o[Wl+12>>2]+(Rl<<2)>>2];if((Rl|0)==-1){break b}m[a+24|0]=0;a=(Rl>>>3&536870908)+Ul|0;o[a>>2]=o[a>>2]|1<<(Rl&31);a=-1;Sl=-1;Ul=Rl+1|0;Ul=(Ul>>>0)%3|0?Ul:Rl+ -2|0;if((Ul|0)!=-1){Sl=o[o[Wl>>2]+(Ul<<2)>>2]}Ul=Tl+(Sl>>>3&536870908)|0;o[Ul>>2]=o[Ul>>2]|1<<(Sl&31);Rl=Rl+((Rl>>>0)%3|0?-1:2)|0;if((Rl|0)!=-1){a=o[o[Wl>>2]+(Rl<<2)>>2]}Rl=1<<(a&31);a=Tl+(a>>>3&536870908)|0;Sl=o[a>>2];break c}a=Tl+536870908|0;Rl=o[Tl+536870908>>2];Sl=-2147483648}o[a>>2]=Rl|Sl}}function Xi(a,Rl){var Yl=0,Zl=0,_l=0,$l=0,am=0,bm=0;a:{_l=o[a>>2];am=o[a+4>>2]-_l|0;Yl=am>>2;Zl=Yl+1|0;if(Zl>>>0<1073741824){bm=Yl<<2;Yl=o[a+8>>2]-_l|0;$l=Yl>>1;Zl=Yl>>2>>>0<536870911?$l>>>0>>0?Zl:$l:1073741823;Yl=0;b:{if(!Zl){break b}if(Zl>>>0>=1073741824){break a}Yl=Hk(Zl<<2)}$l=bm+Yl|0;o[$l>>2]=o[Rl>>2];Rl=Yl+(Zl<<2)|0;Zl=$l+4|0;if((am|0)>=1){wl(Yl,_l,am)}o[a>>2]=Yl;o[a+8>>2]=Rl;o[a+4>>2]=Zl;if(_l){ul(_l)}return}Yk();D()}_a(10728);D()}function Yi(a,Rl){var cm=0,dm=0,em=0,fm=0,gm=0,hm=0,im=0,jm=0,km=0,lm=0,mm=0;dm=R-16|0;R=dm;a:{em=sj(Rl);if(!em){o[a>>2]=0;break a}fm=o[Rl+100>>2];jm=o[Rl+96>>2];o[dm+8>>2]=0;o[dm>>2]=0;o[dm+4>>2]=0;Rl=fm-jm|0;im=(Rl|0)/12|0;b:{if(Rl){if(im>>>0>=357913942){break b}gm=Hk(Rl);o[dm>>2]=gm;o[dm+4>>2]=gm;o[dm+8>>2]=u(im,12)+gm;Rl=xl(gm,0,Rl);cm=im;while(1){Rl=Rl+12|0;cm=cm+ -1|0;if(cm){continue}break}o[dm+4>>2]=Rl}if((fm|0)!=(jm|0)){Rl=0;lm=p[em+84|0];mm=em+68|0;while(1){km=u(Rl,12);cm=km+jm|0;em=o[cm>>2];c:{if(lm){fm=cm+8|0;cm=cm+4|0;break c}hm=o[mm>>2];fm=hm+(o[cm+8>>2]<<2)|0;em=o[hm+(em<<2)>>2];cm=hm+(o[cm+4>>2]<<2)|0}hm=o[cm>>2];cm=gm+km|0;o[cm+8>>2]=o[fm>>2];o[cm+4>>2]=hm;o[cm>>2]=em;Rl=Rl+1|0;if(Rl>>>0>>0){continue}break}}Ai(a,dm);a=o[dm>>2];if(!a){break a}o[dm+4>>2]=a;ul(a);break a}Yk();D()}R=dm+16|0}function Zi(a,Rl,nm){var om=0,pm=0,qm=0,rm=0,sm=0,tm=0,um=0,vm=0,wm=0,xm=0,ym=0,zm=0,Am=0,Bm=0,Cm=0,Dm=0;tm=R-16|0;R=tm;sm=u(Rl,12)+a|0;um=sm+12|0;zm=sm+8|0;o[um>>2]=o[zm>>2];o[tm+8>>2]=(nm|0)==-1?-1:(nm>>>0)/3|0;Am=sm+16|0;Bm=a+4|0;qm=nm;while(1){sm=pm;vm=(pm|0)==1;a:{b:{if(!vm){pm=o[tm+8>>2];break b}if((qm|0)==-1){qm=-1;_i(a,-1);break a}if((qm|0)==-1|(_i(a,((qm>>>0)%3|0?-1:2)+qm|0)|0)==-1){break a}nm=qm+1|0;om=(nm>>>0)%3|0?nm:qm+ -2|0;if((om|0)==-1){break a}nm=om+1|0;nm=(nm>>>0)%3|0?nm:om+ -2|0;if((nm|0)==-1){break a}om=o[o[o[Bm>>2]+12>>2]+(nm<<2)>>2];if((om|0)==-1){break a}nm=om+1|0;nm=(nm>>>0)%3|0?nm:om+ -2|0;if((nm|0)==-1){break a}pm=(nm>>>0)/3|0;o[tm+8>>2]=pm}wm=1<<(pm&31);xm=o[a+56>>2]+(pm>>>3&536870908)|0;ym=o[xm>>2];c:{if(wm&ym){break c}rm=0;while(1){o[xm>>2]=wm|ym;om=o[um>>2];d:{if((om|0)!=o[Am>>2]){o[om>>2]=pm;o[um>>2]=om+4;break d}Si(zm,tm+8|0)}om=rm+1|0;e:{if(!rm){break e}if(om&1){if((nm|0)==-1){nm=-1;break e}rm=nm+1|0;nm=(rm>>>0)%3|0?rm:nm+ -2|0;break e}qm=vm?nm:qm;if((nm|0)==-1){nm=-1;break e}if((nm>>>0)%3){nm=nm+ -1|0;break e}nm=nm+2|0}nm=_i(a,nm);if((nm|0)!=-1){pm=(nm>>>0)/3|0;o[tm+8>>2]=pm;rm=om;wm=1<<(pm&31);xm=o[a+56>>2]+(pm>>>3&268435452)|0;ym=o[xm>>2];if(!(wm&ym)){continue}}break}if(!(om&1)|(sm|0)!=1){break c}vm=o[um>>2]+ -4|0;pm=o[vm>>2];rm=o[a+56>>2]+(pm>>>3&536870908)|0;om=o[rm>>2];Cm=rm,Dm=Zl(pm)&om,o[Cm>>2]=Dm;o[um>>2]=vm}pm=1;if(!sm){continue}}break}o[((Rl<<2)+a|0)+44>>2]=qm;Rl=o[um>>2];qm=o[zm>>2];if((Rl|0)!=(qm|0)){rm=Rl-qm>>2;om=o[a+56>>2];nm=0;while(1){sm=o[qm+(nm<<2)>>2];Rl=om+(sm>>>3&536870908)|0;a=o[Rl>>2];Cm=Rl,Dm=Zl(sm)&a,o[Cm>>2]=Dm;nm=nm+1|0;if(nm>>>0>>0){continue}break}}R=tm+16|0}function _i(a,Rl){var nm=0,Em=0,Fm=0,Gm=0,Hm=0;Em=-1;Gm=-1;Fm=-1;a:{b:{if((Rl|0)==-1){break b}Hm=1;Gm=o[o[o[a+4>>2]+12>>2]+(Rl<<2)>>2];nm=Rl+1|0;nm=(nm>>>0)%3|0?nm:Rl+ -2|0;if((nm|0)>=0){Fm=(nm>>>0)/3|0;Fm=o[(o[o[a>>2]+96>>2]+u(Fm,12)|0)+(nm-u(Fm,3)<<2)>>2]}c:{if((Gm|0)==-1){break c}Hm=0;nm=((Gm>>>0)%3|0?-1:2)+Gm|0;if((nm|0)<0){break c}Em=(nm>>>0)/3|0;Em=o[(o[o[a>>2]+96>>2]+u(Em,12)|0)+(nm-u(Em,3)<<2)>>2]}nm=-1;if((Em|0)!=(Fm|0)){break a}Fm=-1;d:{Rl=((Rl>>>0)%3|0?-1:2)+Rl|0;if((Rl|0)>=0){Em=(Rl>>>0)/3|0;Em=o[(o[o[a>>2]+96>>2]+u(Em,12)|0)+(Rl-u(Em,3)<<2)>>2];if(Hm){break b}break d}Em=-1;if(!Hm){break d}break b}Rl=Gm+1|0;Rl=(Rl>>>0)%3|0?Rl:Gm+ -2|0;if((Rl|0)<0){break b}Fm=o[o[a>>2]+96>>2];a=(Rl>>>0)/3|0;Fm=o[(Fm+u(a,12)|0)+(Rl-u(a,3)<<2)>>2]}nm=(Em|0)==(Fm|0)?Gm:-1}return nm}function $i(a,Rl){var Im=0,Jm=0,Km=0,Lm=0,Mm=0,Nm=0,Om=0,Pm=0,Qm=0,Rm=0,Sm=0;Jm=R-48|0;R=Jm;o[Jm+40>>2]=0;o[Jm+32>>2]=0;o[Jm+36>>2]=0;Im=Hk(8);o[Im+4>>2]=Rl;o[Im>>2]=0;Rl=Im+8|0;o[Jm+40>>2]=Rl;o[Jm+36>>2]=Rl;o[Jm+32>>2]=Im;a:{b:{c:{d:{while(1){Rl=Rl+ -8|0;Nm=o[Rl+4>>2];Sm=o[Rl>>2];o[Jm+36>>2]=Rl;if(Sm){o[Jm+24>>2]=0;o[Jm+16>>2]=0;o[Jm+20>>2]=0;Pm=1;Rl=o[a>>2];Mm=o[Rl+16>>2];Lm=o[Rl+12>>2];Im=o[Rl+20>>2];e:{if((Lm|0)<(Im|0)?1:(Lm|0)<=(Im|0)?r[Rl+8>>2]>Mm>>>0?0:1:0){break e}Km=p[Mm+o[Rl>>2]|0];Lm=Mm+1|0;if(Lm>>>0<1){Im=Im+1|0}o[Rl+16>>2]=Lm;o[Rl+20>>2]=Im;Rk(Jm+16|0,Km);if(Km){Lm=o[a>>2];Rm=Vk(Jm+16|0);Om=o[Lm+12>>2];Mm=o[Lm+20>>2];Qm=o[Lm+16>>2];Rl=Km;Im=Qm+Rl|0;if(Im>>>0>>0){Mm=Mm+1|0}if((Om|0)<(Mm|0)?1:(Om|0)<=(Mm|0)?r[Lm+8>>2]>=Im>>>0?0:1:0){break e}wl(Rm,Qm+o[Lm>>2]|0,Km);Im=Lm;Lm=Im;Mm=o[Im+20>>2];Km=Rl+o[Im+16>>2]|0;if(Km>>>0>>0){Mm=Mm+1|0}o[Lm+16>>2]=Km;o[Im+20>>2]=Mm}Nm=Hk(24);Im=Nm+4|0;o[Im>>2]=0;o[Im+4>>2]=0;Rl=Nm+16|0;o[Rl>>2]=0;o[Rl+4>>2]=0;o[Nm>>2]=Im;o[Nm+12>>2]=Rl;o[Jm+8>>2]=Nm;oj(Sm,Jm+16|0,Jm+8|0);Rl=o[Jm+8>>2];Pm=0;o[Jm+8>>2]=0;if(!Rl){break e}Fc(Rl+12|0,o[Rl+16>>2]);Gc(Rl,o[Rl+4>>2]);ul(Rl)}if(m[Jm+27|0]<=-1){ul(o[Jm+16>>2])}if(Pm){break b}}if(!Nm){break b}o[Jm+16>>2]=0;if(!aj(1,Jm+16|0,o[a>>2])){break b}Rl=0;Im=o[Jm+16>>2];if(Im){while(1){if(!bj(a,Nm)){break b}Rl=Rl+1|0;if(Rl>>>0>>0){continue}break}}o[Jm+4>>2]=0;if(!aj(1,Jm+4|0,o[a>>2])){break b}Mm=o[Jm+4>>2];if(Mm){Pm=0;while(1){Rl=o[Jm+36>>2];Im=o[Jm+40>>2];f:{if(Rl>>>0>>0){o[Rl+4>>2]=0;o[Rl>>2]=Nm;o[Jm+36>>2]=o[Jm+36>>2]+8;break f}Om=o[Jm+32>>2];Rm=Rl-Om|0;Rl=Rm>>3;Qm=Rl+1|0;if(Qm>>>0>=536870912){break d}Lm=Rl<<3;Km=Im-Om|0;Im=Km>>2;Km=Km>>3>>>0<268435455?Im>>>0>>0?Qm:Im:536870911;Rl=0;g:{if(!Km){break g}if(Km>>>0>=536870912){break c}Rl=Hk(Km<<3)}Im=Lm+Rl|0;o[Im+4>>2]=0;o[Im>>2]=Nm;Km=Rl+(Km<<3)|0;Im=Im+8|0;if((Rm|0)>=1){wl(Rl,Om,Rm)}o[Jm+40>>2]=Km;o[Jm+36>>2]=Im;o[Jm+32>>2]=Rl;if(!Om){break f}ul(Om)}Pm=Pm+1|0;if(Pm>>>0>>0){continue}break}}Rl=o[Jm+36>>2];Im=o[Jm+32>>2];if((Rl|0)!=(Im|0)){continue}break}a=1;break a}Yk();D()}_a(10796);D()}Im=o[Jm+32>>2];a=0}if(Im){o[Jm+36>>2]=Im;ul(Im)}R=Jm+48|0;return a}function aj(a,Rl,Tm){var Um=0,Vm=0,Wm=0,Xm=0;a:{if(a>>>0>5){break a}Wm=o[Tm+16>>2];Um=o[Tm+12>>2];Vm=o[Tm+20>>2];if((Um|0)<(Vm|0)?1:(Um|0)<=(Vm|0)?r[Tm+8>>2]>Wm>>>0?0:1:0){break a}Um=p[Wm+o[Tm>>2]|0];Wm=Wm+1|0;if(Wm>>>0<1){Vm=Vm+1|0}o[Tm+16>>2]=Wm;o[Tm+20>>2]=Vm;Vm=Rl;if(Um&128){if(!aj(a+1|0,Rl,Tm)){break a}a=o[Rl>>2]<<7;o[Rl>>2]=a;Um=a|Um&127}o[Vm>>2]=Um;Xm=1}return Xm}function bj(a,Rl){var Tm=0,Ym=0,Zm=0,_m=0,$m=0,an=0,bn=0,cn=0,dn=0,en=0;Ym=R-32|0;R=Ym;o[Ym+24>>2]=0;o[Ym+16>>2]=0;o[Ym+20>>2]=0;a:{Zm=o[a>>2];Tm=Zm;$m=o[Tm+16>>2];an=r[Tm+8>>2]>$m>>>0?0:1;_m=o[Tm+12>>2];Tm=o[Tm+20>>2];b:{if((_m|0)<(Tm|0)?1:(_m|0)<=(Tm|0)?an:0){break b}an=p[$m+o[Zm>>2]|0];_m=Tm;Tm=$m+1|0;if(Tm>>>0<1){_m=_m+1|0}o[Zm+16>>2]=Tm;o[Zm+20>>2]=_m;Rk(Ym+16|0,an);if(an){_m=o[a>>2];cn=Vk(Ym+16|0);en=o[_m+12>>2];$m=o[_m+20>>2];dn=o[_m+16>>2];Zm=an;Tm=dn+Zm|0;if(Tm>>>0>>0){$m=$m+1|0}if((en|0)<($m|0)?1:(en|0)<=($m|0)?r[_m+8>>2]>=Tm>>>0?0:1:0){break b}wl(cn,dn+o[_m>>2]|0,an);Tm=_m;_m=Tm;$m=o[Tm+20>>2];an=Zm+o[Tm+16>>2]|0;if(an>>>0>>0){$m=$m+1|0}o[_m+16>>2]=an;o[Tm+20>>2]=$m}o[Ym+12>>2]=0;Tm=aj(1,Ym+12|0,o[a>>2]);Zm=o[Ym+12>>2];if(!Zm|!Tm){break b}o[Ym+8>>2]=0;o[Ym>>2]=0;o[Ym+4>>2]=0;if((Zm|0)<=-1){break a}bn=Hk(Zm);o[Ym>>2]=bn;o[Ym+4>>2]=bn;o[Ym+8>>2]=Zm+bn;Tm=Zm;while(1){m[bn|0]=0;bn=o[Ym+4>>2]+1|0;o[Ym+4>>2]=bn;Tm=Tm+ -1|0;if(Tm){continue}break}bn=0;Tm=o[a>>2];a=o[Tm+8>>2];dn=o[Tm+12>>2];_m=a;cn=o[Tm+20>>2];$m=o[Tm+16>>2];a=Zm;an=$m+Zm|0;if(an>>>0>>0){cn=cn+1|0}if((dn|0)>(cn|0)?1:(dn|0)>=(cn|0)?_m>>>0>>0?0:1:0){wl(o[Ym>>2],$m+o[Tm>>2]|0,Zm);Zm=Tm;an=Tm;_m=o[Tm+20>>2];Tm=a+o[Tm+16>>2]|0;if(Tm>>>0>>0){_m=_m+1|0}o[an+16>>2]=Tm;o[Zm+20>>2]=_m;nj(Rl,Ym+16|0,Ym);bn=1}a=o[Ym>>2];if(!a){break b}o[Ym+4>>2]=a;ul(a)}if(m[Ym+27|0]<=-1){ul(o[Ym+16>>2])}R=Ym+32|0;return bn}Yk();D()}function cj(a,Rl,fn){var gn=0,hn=0,jn=0,kn=0,ln=0;hn=R-16|0;R=hn;a:{b:{if(!fn){break b}o[a>>2]=Rl;o[hn+12>>2]=0;gn=0;if(!aj(1,hn+12|0,Rl)){break a}c:{ln=o[hn+12>>2];if(ln){Rl=0;while(1){if(!aj(1,hn+8|0,o[a>>2])){break b}gn=Hk(28);jn=gn+4|0;o[jn>>2]=0;o[jn+4>>2]=0;kn=gn+16|0;o[kn>>2]=0;o[kn+4>>2]=0;o[gn>>2]=jn;jn=gn+12|0;o[jn>>2]=kn;o[gn+24>>2]=o[hn+8>>2];if(!$i(a,gn)){break c}o[hn>>2]=gn;ej(fn,hn);gn=o[hn>>2];o[hn>>2]=0;if(gn){Fc(gn+12|0,o[gn+16>>2]);Gc(gn,o[gn+4>>2]);ul(gn)}Rl=Rl+1|0;if(Rl>>>0>>0){continue}break}}gn=$i(a,fn);break a}Fc(jn,o[gn+16>>2]);Gc(gn,o[gn+4>>2]);ul(gn)}gn=0}R=hn+16|0;return gn}function dj(a,Rl,fn){var mn=0,nn=0,on=0,pn=0,qn=0,rn=0,sn=0,tn=0,un=0,vn=0,wn=0,xn=0;mn=R-16|0;R=mn;pn=o[a+24>>2];un=o[a+28>>2];a:{if((pn|0)!=(un|0)){wn=mn+8|0;xn=fn+4|0;while(1){o[wn>>2]=0;o[mn>>2]=0;o[mn+4>>2]=0;a=mj(o[pn>>2],Rl,mn);qn=p[mn+11|0];tn=qn<<24>>24;b:{c:{d:{if(!a){a=3;break d}a=0;nn=p[fn+11|0];on=nn<<24>>24;sn=(tn|0)<0?o[mn+4>>2]:qn;if((sn|0)!=(((on|0)<0?o[xn>>2]:nn)|0)){break d}rn=(on|0)<0?o[fn>>2]:fn;on=o[mn>>2];nn=(tn|0)<0;e:{if(!nn){if(!sn){break e}nn=mn;if(p[rn|0]!=(on&255)){break d}while(1){qn=qn+ -1|0;if(!qn){break e}on=p[rn+1|0];rn=rn+1|0;nn=nn+1|0;if((on|0)==p[nn|0]){continue}break}break d}if(!sn){break e}if(Zj(nn?on:mn,rn,sn)){break c}}vn=o[pn>>2];a=1}if((tn|0)>-1){break b}}ul(o[mn>>2])}if(a>>>0>3){break a}f:{switch(a-1|0){case 0:case 1:break a;default:break f}}pn=pn+4|0;if((un|0)!=(pn|0)){continue}break}}vn=0}R=mn+16|0;return vn}function ej(a,Rl){var fn=0,yn=0,zn=0;yn=o[Rl>>2];if(!yn){return}fn=a+28|0;zn=o[fn>>2];if(zn>>>0>2]){o[Rl>>2]=0;o[zn>>2]=yn;o[fn>>2]=o[fn>>2]+4;return}fj(a+24|0,Rl)}function fj(a,Rl){var An=0,Bn=0,Cn=0,Dn=0,En=0;a:{b:{c:{Cn=o[a>>2];Dn=o[a+4>>2]-Cn>>2;An=Dn+1|0;if(An>>>0<1073741824){Cn=o[a+8>>2]-Cn|0;En=Cn>>1;An=Cn>>2>>>0<536870911?En>>>0>>0?An:En:1073741823;if(An){if(An>>>0>=1073741824){break c}Bn=Hk(An<<2)}Cn=o[Rl>>2];o[Rl>>2]=0;Rl=(Dn<<2)+Bn|0;o[Rl>>2]=Cn;Cn=(An<<2)+Bn|0;Dn=Rl+4|0;An=o[a+4>>2];Bn=o[a>>2];if((An|0)==(Bn|0)){break b}while(1){An=An+ -4|0;En=o[An>>2];o[An>>2]=0;Rl=Rl+ -4|0;o[Rl>>2]=En;if((An|0)!=(Bn|0)){continue}break}Bn=o[a+4>>2];An=o[a>>2];break a}Yk();D()}_a(10864);D()}An=Bn}o[a>>2]=Rl;o[a+8>>2]=Cn;o[a+4>>2]=Dn;if((An|0)!=(Bn|0)){while(1){Bn=Bn+ -4|0;a=o[Bn>>2];o[Bn>>2]=0;if(a){Fc(a+12|0,o[a+16>>2]);Gc(a,o[a+4>>2]);ul(a)}if((An|0)!=(Bn|0)){continue}break}}if(An){ul(An)}}function gj(a,Rl,Fn,Gn){var Hn=0,In=0,Jn=0,Kn=0;Hn=R-16|0;R=Hn;Kn=a;In=Zf(Rl,Hn+12|0,Fn);Fn=o[In>>2];if(Fn){Rl=0}else{Fn=Hk(32);Mk(Fn+16|0,o[Gn>>2]);o[Fn+28>>2]=0;o[Fn+8>>2]=o[Hn+12>>2];o[Fn>>2]=0;o[Fn+4>>2]=0;o[In>>2]=Fn;Gn=Fn;Jn=o[o[Rl>>2]>>2];if(Jn){o[Rl>>2]=Jn;Gn=o[In>>2]}Xf(o[Rl+4>>2],Gn);Rl=Rl+8|0;o[Rl>>2]=o[Rl>>2]+1;Rl=1}m[Kn+4|0]=Rl;o[a>>2]=Fn;R=Hn+16|0}function hj(a,Rl){var Fn=0,Gn=0,Ln=0;Fn=o[Rl+4>>2];a:{if(!Fn){Gn=o[Rl+8>>2];if(o[Gn>>2]==(Rl|0)){break a}Ln=Rl+8|0;while(1){Fn=o[Ln>>2];Ln=Fn+8|0;Gn=o[Fn+8>>2];if((Fn|0)!=o[Gn>>2]){continue}break}break a}while(1){Gn=Fn;Fn=o[Fn>>2];if(Fn){continue}break}}if(o[a>>2]==(Rl|0)){o[a>>2]=Gn}Gn=a+8|0;o[Gn>>2]=o[Gn>>2]+ -1;pj(o[a+4>>2],Rl);a=o[Rl+28>>2];if(a){o[Rl+32>>2]=a;ul(a)}if(m[Rl+27|0]<=-1){ul(o[Rl+16>>2])}ul(Rl)}function ij(a,Rl,Mn){var Nn=0,On=0,Pn=0,Qn=0,Rn=0;Nn=Hk(40);m[a+8|0]=0;o[a+4>>2]=Rl+4;o[a>>2]=Nn;Rl=Mn+8|0;o[Nn+24>>2]=o[Rl>>2];On=o[Mn+4>>2];o[Nn+16>>2]=o[Mn>>2];o[Nn+20>>2]=On;o[Mn>>2]=0;o[Mn+4>>2]=0;o[Rl>>2]=0;o[Nn+36>>2]=0;o[Nn+28>>2]=0;o[Nn+32>>2]=0;Pn=Mn+16|0;On=o[Pn>>2];Rl=o[Mn+12>>2];Qn=On-Rl|0;if(Qn){Rl=Nn+28|0;Fa(Rl,Qn);On=o[Pn>>2];Rn=o[Rl>>2];Rl=o[Mn+12>>2]}wl(Rn,Rl,On-Rl|0);m[a+8|0]=1}function jj(a,Rl,Mn){var Sn=0;Sn=a+4|0;a=xi(a,Rl);a:{if((Sn|0)==(a|0)){break a}Rl=o[a+32>>2];a=o[a+28>>2];if((Rl-a|0)!=4){break a}o[Mn>>2]=p[a|0]|p[a+1|0]<<8|(p[a+2|0]<<16|p[a+3|0]<<24)}}function kj(a,Rl,Mn){var Tn=0,Un=0,Vn=0,Wn=0;a:{Rl=xi(a,Rl);b:{if((Rl|0)==(a+4|0)){break b}a=o[Rl+28>>2];Tn=o[Rl+32>>2];if((a|0)==(Tn|0)){break b}a=Tn-a|0;if(a&3){break b}Tn=a>>>2;Wn=Mn+4|0;Un=o[Wn>>2];a=o[Mn>>2];Vn=Un-a>>2;c:{if(Tn>>>0>Vn>>>0){Da(Mn,Tn-Vn|0);Un=o[Wn>>2];a=o[Mn>>2];break c}if(Tn>>>0>=Vn>>>0){break c}Un=(Tn<<2)+a|0;o[Mn+4>>2]=Un}if((a|0)==(Un|0)){break a}Mn=a;a=o[Rl+28>>2];wl(Mn,a,o[Rl+32>>2]-a|0)}return}Zk();D()}function lj(a,Rl,Mn){var Xn=0;Xn=a+4|0;a=xi(a,Rl);a:{if((Xn|0)==(a|0)){break a}Rl=o[a+32>>2];a=o[a+28>>2];if((Rl-a|0)!=8){break a}Rl=p[a+4|0]|p[a+5|0]<<8|(p[a+6|0]<<16|p[a+7|0]<<24);o[Mn>>2]=p[a|0]|p[a+1|0]<<8|(p[a+2|0]<<16|p[a+3|0]<<24);o[Mn+4>>2]=Rl}}function mj(a,Rl,Mn){var Yn=0,Zn=0,_n=0;Yn=a+4|0;a=xi(a,Rl);a:{if((Yn|0)==(a|0)){break a}Rl=a+32|0;Yn=o[Rl>>2];Zn=o[a+28>>2];if((Yn|0)==(Zn|0)){break a}Rk(Mn,Yn-Zn|0);Mn=Vk(Mn);a=o[a+28>>2];wl(Mn,a,o[Rl>>2]-a|0);_n=1}return _n}function nj(a,Rl,Mn){var $n=0,ao=0,bo=0,co=0;$n=R+ -64|0;R=$n;ao=xi(a,Rl);if((ao|0)!=(a+4|0)){hj(a,ao)}ao=0;o[$n+16>>2]=0;o[$n+8>>2]=0;o[$n+12>>2]=0;co=o[Mn>>2];bo=o[Mn+4>>2]-co|0;if(bo){Fa($n+8|0,bo);co=o[Mn>>2];Mn=o[$n+8>>2]}else{Mn=0}wl(Mn,co,bo);co=Mk($n+24|0,Rl);o[$n+44>>2]=0;o[$n+36>>2]=0;o[$n+40>>2]=0;Rl=o[$n+12>>2];Mn=o[$n+8>>2];bo=Rl-Mn|0;if(bo){Fa($n+36|0,bo);Mn=o[$n+8>>2];ao=o[$n+36>>2];Rl=o[$n+12>>2]}wl(ao,Mn,Rl-Mn|0);Rl=Zf(a,$n+60|0,co);if(!o[Rl>>2]){ij($n+48|0,a,$n+24|0);Mn=o[$n+48>>2];o[Mn+8>>2]=o[$n+60>>2];o[Mn>>2]=0;o[Mn+4>>2]=0;o[Rl>>2]=Mn;ao=o[o[a>>2]>>2];if(ao){o[a>>2]=ao;Mn=o[Rl>>2]}Xf(o[a+4>>2],Mn);a=a+8|0;o[a>>2]=o[a>>2]+1}a=o[$n+36>>2];if(a){o[$n+40>>2]=a;ul(a)}if(m[$n+35|0]<=-1){ul(o[$n+24>>2])}a=o[$n+8>>2];if(a){o[$n+12>>2]=a;ul(a)}R=$n- -64|0}function oj(a,Rl,Mn){var eo=0,fo=0;eo=R-32|0;R=eo;fo=a+12|0;a:{if((xi(fo,Rl)|0)!=(a+16|0)){break a}o[eo+16>>2]=Rl;gj(eo+24|0,fo,Rl,eo+16|0);a=o[eo+24>>2];Rl=o[Mn>>2];o[Mn>>2]=0;Mn=a+28|0;a=o[Mn>>2];o[Mn>>2]=Rl;if(!a){break a}Fc(a+12|0,o[a+16>>2]);Gc(a,o[a+4>>2]);ul(a)}R=eo+32|0}function pj(a,Rl){var Mn=0,go=0,ho=0,io=0,jo=0,ko=0;a:{b:{go=Rl;ho=o[Rl>>2];if(ho){Mn=o[Rl+4>>2];if(!Mn){break b}while(1){go=Mn;Mn=o[Mn>>2];if(Mn){continue}break}}ho=o[go+4>>2];if(ho){break b}ho=0;jo=0;break a}o[ho+8>>2]=o[go+8>>2];jo=1}io=o[go+8>>2];Mn=o[io>>2];c:{if((Mn|0)==(go|0)){o[io>>2]=ho;if((a|0)==(go|0)){Mn=0;a=ho;break c}Mn=o[io+4>>2];break c}o[io+4>>2]=ho}d:{e:{f:{ko=!p[go+12|0];if((Rl|0)!=(go|0)){io=o[Rl+8>>2];o[go+8>>2]=io;o[io+((o[o[Rl+8>>2]>>2]!=(Rl|0))<<2)>>2]=go;io=o[Rl>>2];o[go>>2]=io;o[io+8>>2]=go;io=o[Rl+4>>2];o[go+4>>2]=io;if(io){o[io+8>>2]=go}m[go+12|0]=p[Rl+12|0];a=(a|0)==(Rl|0)?go:a}if(!(ko|!a)){if(!jo){while(1){Rl=p[Mn+12|0];g:{ho=o[Mn+8>>2];if(o[ho>>2]!=(Mn|0)){if(!Rl){m[Mn+12|0]=1;m[ho+12|0]=0;Rl=ho+4|0;jo=o[Rl>>2];go=o[jo>>2];o[Rl>>2]=go;if(go){o[go+8>>2]=ho}o[jo+8>>2]=o[ho+8>>2];Rl=o[ho+8>>2];o[((ho|0)==o[Rl>>2]?Rl:Rl+4|0)>>2]=jo;o[jo>>2]=ho;o[ho+8>>2]=jo;Rl=o[Mn>>2];a=(Rl|0)==(a|0)?Mn:a;Mn=o[Rl+4>>2]}go=o[Mn>>2];if(!(p[go+12|0]?0:go)){Rl=o[Mn+4>>2];if(p[Rl+12|0]?0:Rl){break f}m[Mn+12|0]=0;Mn=o[Mn+8>>2];h:{if((Mn|0)==(a|0)){Mn=a;break h}if(p[Mn+12|0]){break g}}m[Mn+12|0]=1;return}Rl=o[Mn+4>>2];if(Rl){break f}break e}i:{if(Rl){Rl=Mn;break i}m[Mn+12|0]=1;m[ho+12|0]=0;Rl=o[Mn+4>>2];o[ho>>2]=Rl;if(Rl){o[Rl+8>>2]=ho}o[Mn+8>>2]=o[ho+8>>2];go=o[ho+8>>2];j:{if((ho|0)==o[go>>2]){o[go>>2]=Mn;Rl=o[ho>>2];break j}o[go+4>>2]=Mn}o[Mn+4>>2]=ho;o[ho+8>>2]=Mn;a=(a|0)==(ho|0)?Mn:a}go=o[Rl>>2];k:{if(!(!go|p[go+12|0])){Mn=Rl;break k}Mn=o[Rl+4>>2];if(!(p[Mn+12|0]?0:Mn)){m[Rl+12|0]=0;Mn=o[Rl+8>>2];if(p[Mn+12|0]?(Mn|0)!=(a|0):0){break g}m[Mn+12|0]=1;return}if(go){if(!p[go+12|0]){Mn=Rl;break k}Mn=o[Rl+4>>2]}m[Mn+12|0]=1;m[Rl+12|0]=0;a=o[Mn>>2];o[Rl+4>>2]=a;if(a){o[a+8>>2]=Rl}o[Mn+8>>2]=o[Rl+8>>2];a=o[Rl+8>>2];o[(o[a>>2]==(Rl|0)?a:a+4|0)>>2]=Mn;o[Mn>>2]=Rl;o[Rl+8>>2]=Mn;go=Rl}a=Mn;Mn=o[Mn+8>>2];m[a+12|0]=p[Mn+12|0];m[Mn+12|0]=1;m[go+12|0]=1;Rl=o[Mn>>2];a=o[Rl+4>>2];o[Mn>>2]=a;if(a){o[a+8>>2]=Mn}o[Rl+8>>2]=o[Mn+8>>2];a=o[Mn+8>>2];o[((Mn|0)==o[a>>2]?a:a+4|0)>>2]=Rl;o[Rl+4>>2]=Mn;o[Mn+8>>2]=Rl;return}Rl=o[Mn+8>>2];Mn=o[(o[Rl>>2]==(Mn|0)?Rl+4|0:Rl)>>2];continue}}m[ho+12|0]=1}return}if(p[Rl+12|0]){break e}go=Mn;break d}m[go+12|0]=1;m[Mn+12|0]=0;a=o[go+4>>2];o[Mn>>2]=a;if(a){o[a+8>>2]=Mn}o[go+8>>2]=o[Mn+8>>2];a=o[Mn+8>>2];o[(o[a>>2]==(Mn|0)?a:a+4|0)>>2]=go;o[go+4>>2]=Mn;o[Mn+8>>2]=go;Rl=Mn}Mn=o[go+8>>2];m[go+12|0]=p[Mn+12|0];m[Mn+12|0]=1;m[Rl+12|0]=1;Rl=o[Mn+4>>2];a=o[Rl>>2];o[Mn+4>>2]=a;if(a){o[a+8>>2]=Mn}o[Rl+8>>2]=o[Mn+8>>2];a=o[Mn+8>>2];o[((Mn|0)==o[a>>2]?a:a+4|0)>>2]=Rl;o[Rl>>2]=Mn;o[Mn+8>>2]=Rl}function qj(a){o[a>>2]=10944;xl(a+4|0,0,80);return a}function rj(a,Rl){var lo=0;lo=-1;a:{if((Rl|0)==-1|(Rl|0)>4){break a}Rl=u(Rl,12)+a|0;a=o[Rl+20>>2];if((o[Rl+24>>2]-a|0)<1){break a}lo=o[a>>2]}return lo}function sj(a){var Rl=0,mo=0;Rl=o[a+20>>2];a:{if((o[a+24>>2]-Rl|0)<1){break a}Rl=o[Rl>>2];if((Rl|0)==-1){break a}mo=o[o[a+8>>2]+(Rl<<2)>>2]}return mo}function tj(a,no){var oo=0,po=0,qo=0;oo=o[a+8>>2];a=o[a+12>>2];a:{if((oo|0)==(a|0)){break a}qo=a-oo>>2;a=0;while(1){po=o[(a<<2)+oo>>2];if(o[po+60>>2]==(no|0)){break a}a=a+1|0;if(a>>>0>>0){continue}break}po=0}return po}function uj(a,no){var ro=0,so=0;ro=o[a+8>>2];a=o[a+12>>2];if((ro|0)!=(a|0)){so=a-ro>>2;a=0;while(1){if(o[o[(a<<2)+ro>>2]+60>>2]==(no|0)){return a}a=a+1|0;if(a>>>0>>0){continue}break}}return-1}function vj(a,no){var to=0,uo=0,vo=0,wo=0,xo=0;to=R-16|0;R=to;uo=a+12|0;vo=o[uo>>2];wo=o[a+8>>2];xo=o[no>>2];o[no>>2]=0;o[to+8>>2]=xo;l[o[o[a>>2]+8>>2]](a,vo-wo>>2,to+8|0);no=o[to+8>>2];o[to+8>>2]=0;if(no){Fb(no)}R=to+16|0;return(o[uo>>2]-o[a+8>>2]>>2)+ -1|0}function wj(a,no,yo){a=a|0;no=no|0;yo=yo|0;var zo=0,Ao=0,Bo=0,Co=0,Do=0,Eo=0;Co=R-16|0;R=Co;o[Co+12>>2]=no;Do=a+8|0;zo=o[a+12>>2];Eo=o[a+8>>2];Ao=zo-Eo>>2;a:{if((Ao|0)>(no|0)){break a}Bo=no+1|0;if(Bo>>>0>Ao>>>0){xj(Do,Bo-Ao|0);break a}if(Bo>>>0>=Ao>>>0){break a}Ao=Eo+(Bo<<2)|0;if((Ao|0)!=(zo|0)){while(1){zo=zo+ -4|0;Bo=o[zo>>2];o[zo>>2]=0;if(Bo){Fb(Bo)}if((zo|0)!=(Ao|0)){continue}break}}o[a+12>>2]=Ao}zo=o[o[yo>>2]+56>>2];b:{if((zo|0)>4){break b}zo=u(zo,12)+a|0;Ao=zo+24|0;a=o[Ao>>2];if((a|0)!=o[zo+28>>2]){o[a>>2]=no;o[Ao>>2]=a+4;break b}yj(zo+20|0,Co+12|0)}no=o[yo>>2];a=o[Co+12>>2];o[no+60>>2]=a;zo=o[Do>>2];o[yo>>2]=0;yo=zo+(a<<2)|0;a=o[yo>>2];o[yo>>2]=no;if(a){Fb(a)}R=Co+16|0}function xj(a,no){var yo=0,Fo=0,Go=0,Ho=0,Io=0,Jo=0,Ko=0,Lo=0,Mo=0;Fo=o[a+8>>2];Go=a+4|0;yo=o[Go>>2];if(Fo-yo>>2>>>0>=no>>>0){a=no<<2;Lo=Go,Mo=xl(yo,0,a)+a|0,o[Lo>>2]=Mo;return}a:{Go=o[a>>2];Ho=yo-Go>>2;Io=Ho+no|0;if(Io>>>0<1073741824){Ho=Ho<<2;Fo=Fo-Go|0;Ko=Fo>>1;Fo=Fo>>2>>>0<536870911?Ko>>>0>>0?Io:Ko:1073741823;if(Fo){if(Fo>>>0>=1073741824){break a}Jo=Hk(Fo<<2)}Ho=Ho+Jo|0;xl(Ho,0,no<<2);no=(Io<<2)+Jo|0;Io=(Fo<<2)+Jo|0;if((yo|0)!=(Go|0)){while(1){yo=yo+ -4|0;Fo=o[yo>>2];o[yo>>2]=0;Ho=Ho+ -4|0;o[Ho>>2]=Fo;if((yo|0)!=(Go|0)){continue}break}Go=o[a>>2];yo=o[a+4>>2]}o[a>>2]=Ho;o[a+8>>2]=Io;o[a+4>>2]=no;if((yo|0)!=(Go|0)){while(1){yo=yo+ -4|0;a=o[yo>>2];o[yo>>2]=0;if(a){Fb(a)}if((yo|0)!=(Go|0)){continue}break}}if(Go){ul(Go)}return}Yk();D()}_a(10992);D()}function yj(a,no){var No=0,Oo=0,Po=0,Qo=0,Ro=0,So=0;a:{Po=o[a>>2];Ro=o[a+4>>2]-Po|0;No=Ro>>2;Oo=No+1|0;if(Oo>>>0<1073741824){So=No<<2;No=o[a+8>>2]-Po|0;Qo=No>>1;Oo=No>>2>>>0<536870911?Qo>>>0>>0?Oo:Qo:1073741823;No=0;b:{if(!Oo){break b}if(Oo>>>0>=1073741824){break a}No=Hk(Oo<<2)}Qo=So+No|0;o[Qo>>2]=o[no>>2];no=No+(Oo<<2)|0;Oo=Qo+4|0;if((Ro|0)>=1){wl(No,Po,Ro)}o[a>>2]=No;o[a+8>>2]=no;o[a+4>>2]=Oo;if(Po){ul(Po)}return}Yk();D()}_a(10992);D()}function zj(a,no){a=a|0;no=no|0;var To=0,Uo=0,Vo=0,Wo=0,Xo=0,Yo=0,Zo=0;a:{if((no|0)<0){break a}To=o[a+12>>2];Uo=o[a+8>>2];if(To-Uo>>2>>>0<=no>>>0){break a}Uo=Uo+(no<<2)|0;Vo=o[Uo>>2];Yo=o[Vo+60>>2];Wo=o[Vo+56>>2];Vo=Uo+4|0;b:{if((Vo|0)!=(To|0)){while(1){Zo=o[Vo>>2];o[Vo>>2]=0;Xo=o[Uo>>2];o[Uo>>2]=Zo;if(Xo){Fb(Xo)}Uo=Uo+4|0;Vo=Vo+4|0;if((Vo|0)!=(To|0)){continue}break}To=o[a+12>>2];if((Uo|0)==(To|0)){break b}}while(1){To=To+ -4|0;Vo=o[To>>2];o[To>>2]=0;if(Vo){Fb(Vo)}if((To|0)!=(Uo|0)){continue}break}}o[a+12>>2]=Uo;To=o[a+4>>2];if(To){Aj(To,Yo)}c:{if((Wo|0)>4){break c}d:{Uo=u(Wo,12)+a|0;To=o[Uo+20>>2];Vo=Uo+24|0;Uo=o[Vo>>2];if((To|0)==(Uo|0)){break d}while(1){if(o[To>>2]==(no|0)){break d}To=To+4|0;if((Uo|0)!=(To|0)){continue}break}break c}if((To|0)==(Uo|0)){break c}Wo=To+4|0;Uo=Uo-Wo|0;Xo=Uo>>2;if(Uo){yl(To,Wo,Uo)}o[Vo>>2]=(Xo<<2)+To}To=o[a+24>>2];Uo=o[a+20>>2];if((To|0)!=(Uo|0)){Vo=To-Uo>>2;To=0;while(1){Wo=Uo+(To<<2)|0;Xo=o[Wo>>2];if((Xo|0)>(no|0)){o[Wo>>2]=Xo+ -1}To=To+1|0;if(To>>>0>>0){continue}break}}To=o[a+36>>2];Uo=o[a+32>>2];if((To|0)!=(Uo|0)){Vo=To-Uo>>2;To=0;while(1){Wo=Uo+(To<<2)|0;Xo=o[Wo>>2];if((Xo|0)>(no|0)){o[Wo>>2]=Xo+ -1}To=To+1|0;if(To>>>0>>0){continue}break}}To=o[a+48>>2];Uo=o[a+44>>2];if((To|0)!=(Uo|0)){Vo=To-Uo>>2;To=0;while(1){Wo=Uo+(To<<2)|0;Xo=o[Wo>>2];if((Xo|0)>(no|0)){o[Wo>>2]=Xo+ -1}To=To+1|0;if(To>>>0>>0){continue}break}}To=o[a+60>>2];Uo=o[a+56>>2];if((To|0)!=(Uo|0)){Vo=To-Uo>>2;To=0;while(1){Wo=Uo+(To<<2)|0;Xo=o[Wo>>2];if((Xo|0)>(no|0)){o[Wo>>2]=Xo+ -1}To=To+1|0;if(To>>>0>>0){continue}break}}To=o[a+72>>2];a=o[a+68>>2];if((To|0)==(a|0)){break a}Uo=To-a>>2;To=0;while(1){Vo=a+(To<<2)|0;Wo=o[Vo>>2];if((Wo|0)>(no|0)){o[Vo>>2]=Wo+ -1}To=To+1|0;if(To>>>0>>0){continue}break}}}function Aj(a,no){var _o=0,$o=0,ap=0,bp=0;a:{if((no|0)<0){break a}_o=o[a+28>>2];ap=o[a+24>>2];while(1){$o=ap;if((_o|0)==($o|0)){break a}ap=$o+4|0;if(o[o[$o>>2]+24>>2]!=(no|0)){continue}break}b:{if((_o|0)!=(ap|0)){while(1){no=o[ap>>2];o[ap>>2]=0;bp=o[$o>>2];o[$o>>2]=no;if(bp){Fc(bp+12|0,o[bp+16>>2]);Gc(bp,o[bp+4>>2]);ul(bp)}$o=$o+4|0;ap=ap+4|0;if((_o|0)!=(ap|0)){continue}break}_o=o[a+28>>2];if((_o|0)==($o|0)){break b}}while(1){_o=_o+ -4|0;no=o[_o>>2];o[_o>>2]=0;if(no){Fc(no+12|0,o[no+16>>2]);Gc(no,o[no+4>>2]);ul(no)}if(($o|0)!=(_o|0)){continue}break}}o[a+28>>2]=$o}}function Bj(a){a=a|0;ul(Mi(a))}function Cj(a){a=a|0}function Dj(a){var no=0;no=p[a+74|0];m[a+74|0]=no+ -1|no;no=o[a>>2];if(no&8){o[a>>2]=no|32;return-1}o[a+4>>2]=0;o[a+8>>2]=0;no=o[a+44>>2];o[a+28>>2]=no;o[a+20>>2]=no;o[a+16>>2]=no+o[a+48>>2];return 0}function Ej(a,cp,dp){var ep=0,fp=0,gp=0;ep=o[dp+16>>2];a:{if(!ep){if(Dj(dp)){break a}ep=o[dp+16>>2]}gp=o[dp+20>>2];if(ep-gp>>>0>>0){l[o[dp+36>>2]](dp,a,cp)|0;return}b:{if(m[dp+75|0]<0){break b}ep=cp;while(1){fp=ep;if(!fp){break b}ep=fp+ -1|0;if(p[ep+a|0]!=10){continue}break}if(l[o[dp+36>>2]](dp,a,fp)>>>0>>0){break a}cp=cp-fp|0;a=a+fp|0;gp=o[dp+20>>2]}wl(gp,a,cp);o[dp+20>>2]=o[dp+20>>2]+cp}}function Fj(a,cp,dp){var hp=0,ip=0,jp=0,kp=0;hp=R-208|0;R=hp;o[hp+204>>2]=dp;dp=0;xl(hp+160|0,0,40);o[hp+200>>2]=o[hp+204>>2];a:{if((Gj(0,cp,hp+200|0,hp+80|0,hp+160|0)|0)<0){cp=-1;break a}dp=o[a+76>>2]>=0?1:dp;ip=o[a>>2];if(m[a+74|0]<=0){o[a>>2]=ip&-33}kp=ip&32;b:{if(o[a+48>>2]){cp=Gj(a,cp,hp+200|0,hp+80|0,hp+160|0);break b}o[a+48>>2]=80;o[a+16>>2]=hp+80;o[a+28>>2]=hp;o[a+20>>2]=hp;ip=o[a+44>>2];o[a+44>>2]=hp;jp=Gj(a,cp,hp+200|0,hp+80|0,hp+160|0);cp=jp;if(!ip){break b}l[o[a+36>>2]](a,0,0)|0;o[a+48>>2]=0;o[a+44>>2]=ip;o[a+28>>2]=0;o[a+16>>2]=0;cp=o[a+20>>2];o[a+20>>2]=0;cp=cp?jp:-1}jp=a;a=o[a>>2];o[jp>>2]=a|kp;cp=a&32?-1:cp;if(!dp){break a}}R=hp+208|0;return cp}function Gj(a,cp,dp,lp,mp){var np=0,op=0,pp=0,qp=0,rp=0,sp=0,tp=0,up=0,vp=0,wp=0,xp=0,yp=0,zp=0,Ap=0,Bp=0;np=R-80|0;R=np;o[np+76>>2]=cp;Bp=np+55|0;yp=np+56|0;cp=0;a:{b:while(1){c:{if((vp|0)<0){break c}if((cp|0)>(2147483647-vp|0)){o[3269]=61;vp=-1;break c}vp=cp+vp|0}d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{o:{p:{q:{rp=o[np+76>>2];cp=rp;qp=p[cp|0];if(qp){while(1){r:{s:{op=qp&255;t:{if(!op){qp=cp;break t}if((op|0)!=37){break s}qp=cp;while(1){if(p[cp+1|0]!=37){break t}op=cp+2|0;o[np+76>>2]=op;qp=qp+1|0;pp=p[cp+2|0];cp=op;if((pp|0)==37){continue}break}}cp=qp-rp|0;if(a){Hj(a,rp,cp)}if(cp){continue b}wp=-1;qp=1;op=np;sp=!Uj(m[o[np+76>>2]+1|0]);cp=o[np+76>>2];if(!(sp|p[cp+2|0]!=36)){wp=m[cp+1|0]+ -48|0;zp=1;qp=3}cp=qp+cp|0;o[op+76>>2]=cp;qp=0;xp=m[cp|0];pp=xp+ -32|0;u:{if(pp>>>0>31){op=cp;break u}op=cp;pp=1<>2]=op;qp=pp|qp;xp=m[cp+1|0];pp=xp+ -32|0;if(pp>>>0>31){break u}cp=op;pp=1<>2];if(p[cp+2|0]!=36){break x}o[((m[cp+1|0]<<2)+mp|0)+ -192>>2]=10;tp=o[((m[cp+1|0]<<3)+lp|0)+ -384>>2];zp=1;cp=cp+3|0;break w}if(zp){break q}zp=0;tp=0;if(a){cp=o[dp>>2];o[dp>>2]=cp+4;tp=o[cp>>2]}cp=o[np+76>>2]+1|0}o[sp+76>>2]=cp;if((tp|0)>-1){break v}tp=0-tp|0;qp=qp|8192;break v}tp=Ij(np+76|0);if((tp|0)<0){break q}cp=o[np+76>>2]}pp=-1;y:{if(p[cp|0]!=46){break y}if(p[cp+1|0]==42){z:{if(!Uj(m[cp+2|0])){break z}cp=o[np+76>>2];if(p[cp+3|0]!=36){break z}o[((m[cp+2|0]<<2)+mp|0)+ -192>>2]=10;pp=o[((m[cp+2|0]<<3)+lp|0)+ -384>>2];cp=cp+4|0;o[np+76>>2]=cp;break y}if(zp){break q}if(a){cp=o[dp>>2];o[dp>>2]=cp+4;pp=o[cp>>2]}else{pp=0}cp=o[np+76>>2]+2|0;o[np+76>>2]=cp;break y}o[np+76>>2]=cp+1;pp=Ij(np+76|0);cp=o[np+76>>2]}op=0;while(1){Ap=op;up=-1;if(m[cp|0]+ -65>>>0>57){break a}xp=cp+1|0;o[np+76>>2]=xp;op=m[cp|0];cp=xp;op=p[(op+u(Ap,58)|0)+11023|0];if(op+ -1>>>0<8){continue}break}if(!op){break a}A:{B:{C:{if((op|0)==19){if((wp|0)<=-1){break C}break a}if((wp|0)<0){break B}o[(wp<<2)+mp>>2]=op;cp=(wp<<3)+lp|0;op=o[cp+4>>2];o[np+64>>2]=o[cp>>2];o[np+68>>2]=op}cp=0;if(!a){continue b}break A}if(!a){break d}Jj(np- -64|0,op,dp);xp=o[np+76>>2]}sp=qp&-65537;qp=qp&8192?sp:qp;up=0;wp=11060;op=yp;cp=m[xp+ -1|0];cp=Ap?(cp&15)==3?cp&-33:cp:cp;xp=cp+ -88|0;if(xp>>>0<=32){break r}D:{E:{F:{G:{sp=cp+ -65|0;if(sp>>>0>6){if((cp|0)!=83){break e}if(!pp){break G}op=o[np+64>>2];break E}switch(sp-1|0){case 1:break F;case 0:case 2:break e;default:break p}}cp=0;Kj(a,32,tp,0,qp);break D}o[np+12>>2]=0;o[np+8>>2]=o[np+64>>2];o[np+64>>2]=np+8;pp=-1;op=np+8|0}cp=0;H:{while(1){rp=o[op>>2];if(!rp){break H}rp=Vj(np+4|0,rp);sp=(rp|0)<0;if(!(sp|rp>>>0>pp-cp>>>0)){op=op+4|0;cp=cp+rp|0;if(pp>>>0>cp>>>0){continue}break H}break}up=-1;if(sp){break a}}Kj(a,32,tp,cp,qp);if(!cp){cp=0;break D}pp=0;op=o[np+64>>2];while(1){rp=o[op>>2];if(!rp){break D}rp=Vj(np+4|0,rp);pp=rp+pp|0;if((pp|0)>(cp|0)){break D}Hj(a,np+4|0,rp);op=op+4|0;if(pp>>>0>>0){continue}break}}Kj(a,32,tp,cp,qp^8192);cp=(tp|0)>(cp|0)?tp:cp;continue b}op=cp+1|0;o[np+76>>2]=op;qp=p[cp+1|0];cp=op;continue}break}switch(xp-1|0){case 21:break i;case 23:break k;case 22:break l;case 11:case 16:break m;case 10:break n;case 26:break o;case 8:case 12:case 13:case 14:break p;case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 9:case 15:case 17:case 18:case 19:case 20:case 24:case 25:case 27:case 29:case 30:break e;case 28:break h;default:break j}}up=vp;if(a){break a}if(!zp){break d}cp=1;while(1){a=o[(cp<<2)+mp>>2];if(a){Jj((cp<<3)+lp|0,a,dp);up=1;cp=cp+1|0;if((cp|0)!=10){continue}break a}break}up=1;if(cp>>>0>=10){break a}while(1){if(o[(cp<<2)+mp>>2]){break q}a=cp>>>0>8;cp=cp+1|0;if(!a){continue}break}break a}up=-1;break a}cp=l[269](a,t[np+64>>3],tp,pp,qp,cp)|0;continue}cp=o[np+64>>2];rp=cp?cp:11070;cp=$j(rp,pp);op=cp?cp:pp+rp|0;qp=sp;pp=cp?cp-rp|0:pp;break e}m[np+55|0]=o[np+64>>2];pp=1;rp=Bp;qp=sp;break e}sp=o[np+68>>2];cp=sp;rp=o[np+64>>2];if((cp|0)<-1?1:(cp|0)<=-1?rp>>>0>4294967295?0:1:0){cp=0-(cp+(0>>0)|0)|0;rp=0-rp|0;o[np+64>>2]=rp;o[np+68>>2]=cp;up=1;wp=11060;break g}if(qp&2048){up=1;wp=11061;break g}up=qp&1;wp=up?11062:11060;break g}rp=Lj(o[np+64>>2],o[np+68>>2],yp);if(!(qp&8)){break f}cp=yp-rp|0;pp=(pp|0)>(cp|0)?pp:cp+1|0;break f}pp=pp>>>0>8?pp:8;qp=qp|8;cp=120}rp=Mj(o[np+64>>2],o[np+68>>2],yp,cp&32);if(!(qp&8)|!(o[np+64>>2]|o[np+68>>2])){break f}wp=(cp>>>4)+11060|0;up=2;break f}cp=0;op=Ap&255;if(op>>>0>7){continue}I:{switch(op-1|0){default:o[o[np+64>>2]>>2]=vp;continue;case 0:o[o[np+64>>2]>>2]=vp;continue;case 1:op=o[np+64>>2];o[op>>2]=vp;o[op+4>>2]=vp>>31;continue;case 2:n[o[np+64>>2]>>1]=vp;continue;case 3:m[o[np+64>>2]]=vp;continue;case 5:o[o[np+64>>2]>>2]=vp;continue;case 4:continue;case 6:break I}}op=o[np+64>>2];o[op>>2]=vp;o[op+4>>2]=vp>>31;continue}rp=o[np+64>>2];cp=o[np+68>>2];wp=11060}rp=Nj(rp,cp,yp)}qp=(pp|0)>-1?qp&-65537:qp;cp=o[np+64>>2];sp=o[np+68>>2];J:{if(!(!!(cp|sp)|pp)){rp=yp;pp=0;break J}cp=!(cp|sp)+(yp-rp|0)|0;pp=(pp|0)>(cp|0)?pp:cp}}sp=op-rp|0;pp=(pp|0)<(sp|0)?sp:pp;op=pp+up|0;cp=(tp|0)<(op|0)?op:tp;Kj(a,32,cp,op,qp);Hj(a,wp,up);Kj(a,48,cp,op,qp^65536);Kj(a,48,pp,sp,0);Hj(a,rp,sp);Kj(a,32,cp,op,qp^8192);continue}break}up=0}R=np+80|0;return up}function Hj(a,o,cp){if(!(p[a|0]&32)){Ej(o,cp,a)}}function Ij(a){var cp=0,dp=0,lp=0;if(Uj(m[o[a>>2]])){while(1){cp=o[a>>2];lp=m[cp|0];o[a>>2]=cp+1;dp=(u(dp,10)+lp|0)+ -48|0;if(Uj(m[cp+1|0])){continue}break}}return dp}function Jj(a,mp,Cp){a:{b:{if(mp>>>0>20){break b}mp=mp+ -9|0;if(mp>>>0>9){break b}c:{switch(mp-1|0){default:mp=o[Cp>>2];o[Cp>>2]=mp+4;o[a>>2]=o[mp>>2];return;case 0:mp=o[Cp>>2];o[Cp>>2]=mp+4;mp=o[mp>>2];o[a>>2]=mp;o[a+4>>2]=mp>>31;return;case 1:mp=o[Cp>>2];o[Cp>>2]=mp+4;o[a>>2]=o[mp>>2];o[a+4>>2]=0;return;case 3:mp=o[Cp>>2];o[Cp>>2]=mp+4;mp=n[mp>>1];o[a>>2]=mp;o[a+4>>2]=mp>>31;return;case 4:mp=o[Cp>>2];o[Cp>>2]=mp+4;o[a>>2]=q[mp>>1];o[a+4>>2]=0;return;case 5:mp=o[Cp>>2];o[Cp>>2]=mp+4;mp=m[mp|0];o[a>>2]=mp;o[a+4>>2]=mp>>31;return;case 6:mp=o[Cp>>2];o[Cp>>2]=mp+4;o[a>>2]=p[mp|0];o[a+4>>2]=0;return;case 2:case 7:break a;case 8:break c}}l[270](a,Cp)}return}mp=o[Cp>>2]+7&-8;o[Cp>>2]=mp+8;Cp=o[mp+4>>2];o[a>>2]=o[mp>>2];o[a+4>>2]=Cp}function Kj(a,o,mp,Cp,Dp){var Ep=0,Fp=0,Gp=0;Ep=R-256|0;R=Ep;if(!(Dp&73728|(mp|0)<=(Cp|0))){Dp=mp-Cp|0;Fp=Dp>>>0<256;xl(Ep,o,Fp?Dp:256);o=a;Gp=Ep;if(!Fp){mp=mp-Cp|0;while(1){Hj(a,Ep,256);Dp=Dp+ -256|0;if(Dp>>>0>255){continue}break}Dp=mp&255}Hj(o,Gp,Dp)}R=Ep+256|0}function Lj(a,o,mp){if(a|o){while(1){mp=mp+ -1|0;m[mp|0]=a&7|48;a=(o&7)<<29|a>>>3;o=o>>>3;if(a|o){continue}break}}return mp}function Mj(a,o,mp,Cp){if(a|o){while(1){mp=mp+ -1|0;m[mp|0]=p[(a&15)+11552|0]|Cp;a=(o&15)<<28|a>>>4;o=o>>>4;if(a|o){continue}break}}return mp}function Nj(a,o,mp){var Cp=0,Dp=0,Hp=0;a:{if((o|0)==1&a>>>0<0|o>>>0<1){Cp=a;break a}while(1){Cp=Xl(a,o,10,0);Dp=T;Hp=Dp;Dp=Vl(Cp,Dp,10,0);mp=mp+ -1|0;m[mp|0]=a-Dp|48;Dp=(o|0)==9&a>>>0>4294967295|o>>>0>9;a=Cp;o=Hp;if(Dp){continue}break}}if(Cp){while(1){mp=mp+ -1|0;a=(Cp>>>0)/10|0;m[mp|0]=Cp-u(a,10)|48;o=Cp>>>0>9;Cp=a;if(o){continue}break}}return mp}function Oj(a,o,mp){return Fj(a,o,mp)}function Pj(a,mp,Ip,Jp,Kp,Lp){a=a|0;mp=+mp;Ip=Ip|0;Jp=Jp|0;Kp=Kp|0;Lp=Lp|0;var Mp=0,Np=0,Op=0,Pp=0,Qp=0,Rp=0,Sp=0,Tp=0,Up=0,Vp=0,Wp=0,Xp=0,Yp=0,Zp=0,_p=0,$p=0,aq=0,bq=0,cq=0,dq=0,eq=0,fq=0,gq=0,hq=0,iq=0;Qp=R-560|0;R=Qp;o[Qp+44>>2]=0;h(+mp);Mp=e(1)|0;a:{if(dq=1,eq=(gq=e(0)>>>0>4294967295?0:1,hq=0,iq=(Mp|0)<=-1,iq?gq:hq),fq=(Mp|0)<-1,fq?dq:eq){mp=-mp;h(+mp);Mp=e(1)|0;e(0)|0;_p=1;$p=11568;break a}if(Kp&2048){_p=1;$p=11571;break a}_p=Kp&1;$p=_p?11574:11569}b:{if((Mp&2146435072)==2146435072){Sp=_p+3|0;Kj(a,32,Ip,Sp,Kp&-65537);Hj(a,$p,_p);Jp=Lp>>>5&1;Hj(a,mp!=mp?Jp?11595:11599:Jp?11587:11591,3);break b}mp=Xj(mp,Qp+44|0);mp=mp+mp;if(mp!=0){o[Qp+44>>2]=o[Qp+44>>2]+ -1}Xp=Qp+16|0;aq=Lp|32;if((aq|0)==97){Rp=Lp&32;Np=Rp?$p+9|0:$p;c:{if(Jp>>>0>11){break c}Mp=12-Jp|0;if(!Mp){break c}Yp=8;while(1){Yp=Yp*16;Mp=Mp+ -1|0;if(Mp){continue}break}if(p[Np|0]==45){mp=-(Yp+(-mp-Yp));break c}mp=mp+Yp-Yp}Pp=o[Qp+44>>2];Mp=Pp>>31;Mp=Nj(Mp^Mp+Pp,0,Xp);if((Xp|0)==(Mp|0)){m[Qp+15|0]=48;Mp=Qp+15|0}Pp=_p|2;Op=o[Qp+44>>2];Up=Mp+ -2|0;m[Up|0]=Lp+15;m[Mp+ -1|0]=(Op|0)<0?45:43;$p=Kp&8;Op=Qp+16|0;while(1){Lp=Op;Sp=Rp;if(w(mp)<2147483648){Mp=~~mp}else{Mp=-2147483648}m[Op|0]=Sp|p[Mp+11552|0];mp=(mp- +(Mp|0))*16;Op=Lp+1|0;if(!((Op-(Qp+16|0)|0)!=1|(mp==0?!((Jp|0)>0|$p):0))){m[Lp+1|0]=46;Op=Lp+2|0}if(mp!=0){continue}break}Lp=a;Mp=Ip;if(!Jp|((Op-Qp|0)+ -18|0)>=(Jp|0)){Rp=((Xp-(Qp+16|0)|0)-Up|0)+Op|0}else{Rp=((Jp+Xp|0)-Up|0)+2|0}Jp=Rp;Sp=Jp+Pp|0;Kj(Lp,32,Mp,Sp,Kp);Hj(a,Np,Pp);Kj(a,48,Ip,Sp,Kp^65536);Lp=Op-(Qp+16|0)|0;Hj(a,Qp+16|0,Lp);Jp=Xp-Up|0;Kj(a,48,Rp-(Jp+Lp|0)|0,0,0);Hj(a,Up,Jp);break b}Mp=(Jp|0)<0;d:{if(mp==0){Np=o[Qp+44>>2];break d}Np=o[Qp+44>>2]+ -28|0;o[Qp+44>>2]=Np;mp=mp*268435456}Rp=Mp?6:Jp;Up=(Np|0)<0?Qp+48|0:Qp+336|0;Pp=Up;while(1){Jp=Pp;if(mp<4294967296&mp>=0){Mp=~~mp>>>0}else{Mp=0}o[Jp>>2]=Mp;Pp=Pp+4|0;mp=(mp- +(Mp>>>0))*1e9;if(mp!=0){continue}break}e:{if((Np|0)<1){Mp=Pp;Op=Up;break e}Op=Up;while(1){Tp=(Np|0)<29?Np:29;Mp=Pp+ -4|0;f:{if(Mp>>>0>>0){break f}Jp=Tp;Np=0;while(1){Sp=Mp;bq=Np;Wp=o[Mp>>2];Vp=Jp&31;if(32<=(Jp&63)>>>0){Np=Wp<>>32-Vp;Wp=Wp<>>0>>0?Np+1|0:Np;Np=Xl(Vp,Np,1e9,0);Wp=Sp;Sp=Vl(Np,T,1e9,0);o[Wp>>2]=Vp-Sp;Mp=Mp+ -4|0;if(Mp>>>0>=Op>>>0){continue}break}if(!Np){break f}Op=Op+ -4|0;o[Op>>2]=Np}while(1){Mp=Pp;if(Mp>>>0>Op>>>0){Pp=Mp+ -4|0;if(!o[Pp>>2]){continue}}break}Np=o[Qp+44>>2]-Tp|0;o[Qp+44>>2]=Np;Pp=Mp;if((Np|0)>0){continue}break}}if((Np|0)<=-1){Zp=((Rp+25|0)/9|0)+1|0;Tp=(aq|0)==102;while(1){Jp=(Np|0)<-9?9:0-Np|0;g:{if(Op>>>0>=Mp>>>0){Op=o[Op>>2]?Op:Op+4|0;break g}Sp=1e9>>>Jp;Vp=-1<>2];o[Pp>>2]=Wp+(Np>>>Jp);Np=u(Sp,Np&Vp);Pp=Pp+4|0;if(Pp>>>0>>0){continue}break}Op=o[Op>>2]?Op:Op+4|0;if(!Np){break g}o[Mp>>2]=Np;Mp=Mp+4|0}Np=Jp+o[Qp+44>>2]|0;o[Qp+44>>2]=Np;Jp=Tp?Up:Op;Mp=Mp-Jp>>2>(Zp|0)?Jp+(Zp<<2)|0:Mp;if((Np|0)<0){continue}break}}Pp=0;h:{if(Op>>>0>=Mp>>>0){break h}Pp=u(Up-Op>>2,9);Np=10;Jp=o[Op>>2];if(Jp>>>0<10){break h}while(1){Pp=Pp+1|0;Np=u(Np,10);if(Jp>>>0>=Np>>>0){continue}break}}Jp=(Rp-((aq|0)==102?0:Pp)|0)-((aq|0)==103&(Rp|0)!=0)|0;if((Jp|0)<(u(Mp-Up>>2,9)+ -9|0)){Np=Jp+9216|0;Sp=(Np|0)/9|0;Tp=(Up+(Sp<<2)|0)+ -4092|0;Jp=10;Np=Np-u(Sp,9)|0;if((Np|0)<=7){while(1){Jp=u(Jp,10);Sp=(Np|0)<7;Np=Np+1|0;if(Sp){continue}break}}Sp=o[Tp>>2];Vp=(Sp>>>0)/(Jp>>>0)|0;Zp=Tp+4|0;Np=Sp-u(Jp,Vp)|0;i:{if(Np?0:(Zp|0)==(Mp|0)){break i}Wp=Jp>>>1;Yp=Np>>>0>>0?.5:(Mp|0)==(Zp|0)?(Wp|0)==(Np|0)?1:1.5:1.5;mp=Vp&1?9007199254740994:9007199254740992;if(!(!_p|p[$p|0]!=45)){Yp=-Yp;mp=-mp}Np=Sp-Np|0;o[Tp>>2]=Np;if(mp+Yp==mp){break i}Jp=Jp+Np|0;o[Tp>>2]=Jp;if(Jp>>>0>=1e9){while(1){o[Tp>>2]=0;Tp=Tp+ -4|0;if(Tp>>>0>>0){Op=Op+ -4|0;o[Op>>2]=0}Jp=o[Tp>>2]+1|0;o[Tp>>2]=Jp;if(Jp>>>0>999999999){continue}break}}Pp=u(Up-Op>>2,9);Np=10;Jp=o[Op>>2];if(Jp>>>0<10){break i}while(1){Pp=Pp+1|0;Np=u(Np,10);if(Jp>>>0>=Np>>>0){continue}break}}Jp=Tp+4|0;Mp=Mp>>>0>Jp>>>0?Jp:Mp}j:{while(1){Np=Mp;Tp=0;if(Mp>>>0<=Op>>>0){break j}Mp=Np+ -4|0;if(!o[Mp>>2]){continue}break}Tp=1}k:{if((aq|0)!=103){Vp=Kp&8;break k}Jp=Rp?Rp:1;Mp=(Jp|0)>(Pp|0)&(Pp|0)>-5;Rp=(Mp?Pp^-1:-1)+Jp|0;Lp=(Mp?-1:-2)+Lp|0;Vp=Kp&8;if(Vp){break k}Mp=9;l:{if(!Tp){break l}Sp=o[Np+ -4>>2];if(!Sp){break l}Jp=10;Mp=0;if((Sp>>>0)%10){break l}while(1){Mp=Mp+1|0;Jp=u(Jp,10);if(!((Sp>>>0)%(Jp>>>0))){continue}break}}Jp=u(Np-Up>>2,9)+ -9|0;if((Lp|32)==102){Vp=0;Jp=Jp-Mp|0;Jp=(Jp|0)>0?Jp:0;Rp=(Rp|0)<(Jp|0)?Rp:Jp;break k}Vp=0;Jp=(Jp+Pp|0)-Mp|0;Jp=(Jp|0)>0?Jp:0;Rp=(Rp|0)<(Jp|0)?Rp:Jp}aq=Rp|Vp;Wp=(aq|0)!=0;Jp=a;bq=Ip;cq=Lp|32;Mp=(Pp|0)>0?Pp:0;m:{if((cq|0)==102){break m}Mp=Pp>>31;Mp=Nj(Mp+Pp^Mp,0,Xp);if((Xp-Mp|0)<=1){while(1){Mp=Mp+ -1|0;m[Mp|0]=48;if((Xp-Mp|0)<2){continue}break}}Zp=Mp+ -2|0;m[Zp|0]=Lp;m[Mp+ -1|0]=(Pp|0)<0?45:43;Mp=Xp-Zp|0}Sp=(Mp+(Wp+(Rp+_p|0)|0)|0)+1|0;Kj(Jp,32,bq,Sp,Kp);Hj(a,$p,_p);Kj(a,48,Ip,Sp,Kp^65536);n:{o:{p:{if((cq|0)==102){Jp=Qp+16|8;Lp=Qp+16|9;Pp=Op>>>0>Up>>>0?Up:Op;Op=Pp;while(1){Mp=Nj(o[Op>>2],0,Lp);q:{if((Op|0)!=(Pp|0)){if(Mp>>>0<=Qp+16>>>0){break q}while(1){Mp=Mp+ -1|0;m[Mp|0]=48;if(Mp>>>0>Qp+16>>>0){continue}break}break q}if((Lp|0)!=(Mp|0)){break q}m[Qp+24|0]=48;Mp=Jp}Hj(a,Mp,Lp-Mp|0);Op=Op+4|0;if(Op>>>0<=Up>>>0){continue}break}if(aq){Hj(a,11603,1)}if((Rp|0)<1|Op>>>0>=Np>>>0){break p}while(1){Mp=Nj(o[Op>>2],0,Lp);if(Mp>>>0>Qp+16>>>0){while(1){Mp=Mp+ -1|0;m[Mp|0]=48;if(Mp>>>0>Qp+16>>>0){continue}break}}Hj(a,Mp,(Rp|0)<9?Rp:9);Mp=Rp+ -9|0;Op=Op+4|0;if(Op>>>0>=Np>>>0){break o}Jp=(Rp|0)>9;Rp=Mp;if(Jp){continue}break}break o}r:{if((Rp|0)<0){break r}Up=Tp?Np:Op+4|0;Jp=Qp+16|8;Lp=Qp+16|9;Pp=Op;while(1){Mp=Nj(o[Pp>>2],0,Lp);if((Lp|0)==(Mp|0)){m[Qp+24|0]=48;Mp=Jp}s:{if((Op|0)!=(Pp|0)){if(Mp>>>0<=Qp+16>>>0){break s}while(1){Mp=Mp+ -1|0;m[Mp|0]=48;if(Mp>>>0>Qp+16>>>0){continue}break}break s}Hj(a,Mp,1);Mp=Mp+1|0;if((Rp|0)<1?!Vp:0){break s}Hj(a,11603,1)}Np=Mp;Mp=Lp-Mp|0;Hj(a,Np,(Rp|0)>(Mp|0)?Mp:Rp);Rp=Rp-Mp|0;Pp=Pp+4|0;if(Pp>>>0>=Up>>>0){break r}if((Rp|0)>-1){continue}break}}Kj(a,48,Rp+18|0,18,0);Hj(a,Zp,Xp-Zp|0);break n}Mp=Rp}Kj(a,48,Mp+9|0,9,0)}}Kj(a,32,Ip,Sp,Kp^8192);R=Qp+560|0;return((Sp|0)<(Ip|0)?Ip:Sp)|0}function Qj(a,mp){a=a|0;mp=mp|0;var Ip=0,Jp=0,Kp=0;Ip=mp;mp=o[mp>>2]+15&-16;o[Ip>>2]=mp+16;Jp=a,Kp=dk(o[mp>>2],o[mp+4>>2],o[mp+8>>2],o[mp+12>>2]),t[Jp>>3]=Kp}function Rj(a,mp,Lp){a=a|0;mp=mp|0;Lp=Lp|0;var jq=0,kq=0,lq=0,mq=0,nq=0,oq=0;jq=R-32|0;R=jq;kq=o[a+28>>2];o[jq+16>>2]=kq;lq=o[a+20>>2];o[jq+28>>2]=Lp;o[jq+24>>2]=mp;mp=lq-kq|0;o[jq+20>>2]=mp;lq=mp+Lp|0;nq=2;mp=jq+16|0;while(1){a:{b:{if(ak(I(o[a+60>>2],mp|0,nq|0,jq+12|0)|0)){o[jq+12>>2]=-1;kq=-1;break b}kq=o[jq+12>>2]}c:{if((kq|0)==(lq|0)){mp=o[a+44>>2];o[a+28>>2]=mp;o[a+20>>2]=mp;o[a+16>>2]=mp+o[a+48>>2];a=Lp;break c}if((kq|0)>-1){break a}o[a+28>>2]=0;o[a+16>>2]=0;o[a+20>>2]=0;o[a>>2]=o[a>>2]|32;a=0;if((nq|0)==2){break c}a=Lp-o[mp+4>>2]|0}R=jq+32|0;return a|0}mq=o[mp+4>>2];oq=kq>>>0>mq>>>0;mp=oq?mp+8|0:mp;mq=kq-(oq?mq:0)|0;o[mp>>2]=mq+o[mp>>2];o[mp+4>>2]=o[mp+4>>2]-mq;lq=lq-kq|0;nq=nq-oq|0;continue}}function Sj(a,mp,Lp,pq){a=a|0;mp=mp|0;Lp=Lp|0;pq=pq|0;var qq=0;qq=R-16|0;R=qq;a:{if(!ak(Q(o[a+60>>2],mp|0,Lp|0,pq&255,qq+8|0)|0)){mp=o[qq+12>>2];a=o[qq+8>>2];break a}o[qq+8>>2]=-1;o[qq+12>>2]=-1;mp=-1;a=-1}R=qq+16|0;T=mp;return a|0}function Tj(a){a=a|0;return J(o[a+60>>2])|0}function Uj(a){return a+ -48>>>0<10}function Vj(a,o){if(!a){return 0}return Wj(a,o)}function Wj(a,mp){a:{if(a){if(mp>>>0<=127){break a}b:{if(!o[o[3253]>>2]){if((mp&-128)==57216){break a}break b}if(mp>>>0<=2047){m[a+1|0]=mp&63|128;m[a|0]=mp>>>6|192;return 2}if(!((mp&-8192)!=57344?mp>>>0>=55296:0)){m[a+2|0]=mp&63|128;m[a|0]=mp>>>12|224;m[a+1|0]=mp>>>6&63|128;return 3}if(mp+ -65536>>>0<=1048575){m[a+3|0]=mp&63|128;m[a|0]=mp>>>18|240;m[a+2|0]=mp>>>6&63|128;m[a+1|0]=mp>>>12&63|128;return 4}}o[3269]=25;a=-1}else{a=1}return a}m[a|0]=mp;return 1}function Xj(a,mp){var Lp=0,pq=0,rq=0;h(+a);Lp=e(1)|0;pq=e(0)|0;rq=Lp;Lp=Lp>>>20&2047;if((Lp|0)!=2047){if(!Lp){Lp=mp;if(a==0){mp=0}else{a=Xj(a*0x10000000000000000,mp);mp=o[mp>>2]+ -64|0}o[Lp>>2]=mp;return a}o[mp>>2]=Lp+ -1022;f(0,pq|0);f(1,rq&-2146435073|1071644672);a=+g()}return a}function Yj(a){var o=0,mp=0,sq=0,tq=0,uq=0,vq=0;while(1){o=a;a=o+1|0;mp=m[o|0];if((mp|0)==32|mp+ -9>>>0<5){continue}break}mp=m[o|0];tq=mp+ -43|0;a:{if(tq>>>0>2){break a}b:{switch(tq-1|0){case 1:uq=1;break;case 0:break a;default:break b}}mp=m[a|0];o=a;vq=uq}if(Uj(mp)){while(1){sq=(u(sq,10)-m[o|0]|0)+48|0;a=m[o+1|0];o=o+1|0;if(Uj(a)){continue}break}}return vq?sq:0-sq|0}function Zj(a,wq,xq){var yq=0,zq=0,Aq=0;a:{if(!xq){break a}while(1){yq=p[a|0];zq=p[wq|0];if((yq|0)==(zq|0)){wq=wq+1|0;a=a+1|0;xq=xq+ -1|0;if(xq){continue}break a}break}Aq=yq-zq|0}return Aq}function _j(a){var wq=0,xq=0,Bq=0;a:{b:{wq=a;if(!(wq&3)){break b}if(!p[a|0]){break a}while(1){wq=wq+1|0;if(!(wq&3)){break b}if(p[wq|0]){continue}break}break a}while(1){xq=wq;wq=wq+4|0;Bq=o[xq>>2];if(!((Bq^-1)&Bq+ -16843009&-2139062144)){continue}break}if(!(Bq&255)){wq=xq;break a}while(1){Bq=p[xq+1|0];wq=xq+1|0;xq=wq;if(Bq){continue}break}}return wq-a|0}function $j(a,Cq){var Dq=0,Eq=0,Fq=0;Dq=(Cq|0)!=0;a:{b:{c:{d:{if(!Cq|!(a&3)){break d}while(1){if(!p[a|0]){break c}a=a+1|0;Cq=Cq+ -1|0;Dq=(Cq|0)!=0;if(!Cq){break d}if(a&3){continue}break}}if(!Dq){break b}}if(!p[a|0]){break a}e:{if(Cq>>>0>=4){Dq=Cq+ -4|0;Eq=Dq&-4;Dq=Dq-Eq|0;Eq=(a+Eq|0)+4|0;while(1){Fq=o[a>>2];if((Fq^-1)&Fq+ -16843009&-2139062144){break e}a=a+4|0;Cq=Cq+ -4|0;if(Cq>>>0>3){continue}break}Cq=Dq;a=Eq}if(!Cq){break b}}while(1){if(!p[a|0]){break a}a=a+1|0;Cq=Cq+ -1|0;if(Cq){continue}break}}return 0}return a}function ak(a){if(!a){return 0}o[3269]=a;return-1}function bk(a,Cq,Gq,Hq,Iq,Jq){var Kq=0,Lq=0,Mq=0,Nq=0;a:{if(Jq&64){Hq=Cq;Iq=Jq+ -64|0;Cq=Iq&31;if(32<=(Iq&63)>>>0){Iq=Hq<>>32-Cq|Gq<>>0){Lq=Kq<>>32-Hq|Iq<>>0){Jq=0;Hq=Hq>>>Iq}else{Jq=Hq>>>Iq;Hq=((1<>>Iq}Hq=Nq|Hq;Iq=Jq|Lq;Jq=Cq;Cq=Mq&31;if(32<=(Mq&63)>>>0){Lq=Jq<>>32-Cq|Gq<>2]=Cq;o[a+4>>2]=Gq;o[a+8>>2]=Hq;o[a+12>>2]=Iq}function ck(a,Cq,Gq,Hq,Iq,Jq){var Oq=0,Pq=0,Qq=0,Rq=0;a:{b:{if(Jq&64){Gq=Jq+ -64|0;Cq=Gq&31;if(32<=(Gq&63)>>>0){Gq=0;Cq=Iq>>>Cq}else{Gq=Iq>>>Cq;Cq=((1<>>Cq}Hq=0;Iq=0;break b}if(!Jq){break a}Pq=Iq;Qq=Hq;Rq=64-Jq|0;Oq=Rq&31;if(32<=(Rq&63)>>>0){Pq=Qq<>>32-Oq|Pq<>>0){Oq=0;Cq=Gq>>>Cq}else{Oq=Gq>>>Cq;Cq=((1<>>Cq}Cq=Rq|Cq;Gq=Oq|Pq;Oq=Hq;Hq=Jq&31;if(32<=(Jq&63)>>>0){Pq=0;Hq=Iq>>>Hq}else{Pq=Iq>>>Hq;Hq=((1<>>Hq}Iq=Pq}}o[a>>2]=Cq;o[a+4>>2]=Gq;o[a+8>>2]=Hq;o[a+12>>2]=Iq}function dk(a,Cq,Gq,Hq){var Iq=0,Jq=0,Sq=0,Tq=0,Uq=0,Vq=0,Wq=0;Sq=R-32|0;R=Sq;Iq=Hq&2147483647;Uq=Iq;Iq=Iq+ -1006698496|0;Tq=Gq;Jq=Gq;if(Gq>>>0<0){Iq=Iq+1|0}Vq=Jq;Jq=Iq;Iq=Uq+ -1140785152|0;Wq=Tq;if(Tq>>>0<0){Iq=Iq+1|0}a:{if((Iq|0)==(Jq|0)&Vq>>>0>>0|Jq>>>0>>0){Iq=Hq<<4|Gq>>>28;Gq=Gq<<4|Cq>>>28;Cq=Cq&268435455;Tq=Cq;if((Cq|0)==134217728&a>>>0>=1|Cq>>>0>134217728){Iq=Iq+1073741824|0;a=Gq+1|0;if(a>>>0<1){Iq=Iq+1|0}Jq=a;break a}Jq=Gq;Iq=Iq-((Gq>>>0<0)+ -1073741824|0)|0;if(a|Tq^134217728){break a}a=Jq+(Jq&1)|0;if(a>>>0>>0){Iq=Iq+1|0}Jq=a;break a}if(!(!Tq&(Uq|0)==2147418112?!(a|Cq):(Uq|0)==2147418112&Tq>>>0<0|Uq>>>0<2147418112)){Iq=Hq<<4|Gq>>>28;Jq=Gq<<4|Cq>>>28;Iq=Iq&524287|2146959360;break a}Jq=0;Iq=2146435072;if((Uq|0)==1140785151&Tq>>>0>4294967295|Uq>>>0>1140785151){break a}Iq=0;Tq=Uq>>>16;if(Tq>>>0<15249){break a}Iq=Hq&65535|65536;ck(Sq,a,Cq,Gq,Iq,15361-Tq|0);bk(Sq+16|0,a,Cq,Gq,Iq,Tq+ -15233|0);Gq=o[Sq+4>>2];a=o[Sq+8>>2];Iq=o[Sq+12>>2]<<4|a>>>28;Jq=a<<4|Gq>>>28;a=Gq&268435455;Gq=a;Cq=o[Sq>>2]|((o[Sq+16>>2]|o[Sq+24>>2])!=0|(o[Sq+20>>2]|o[Sq+28>>2])!=0);if((a|0)==134217728&Cq>>>0>=1|a>>>0>134217728){a=Jq+1|0;if(a>>>0<1){Iq=Iq+1|0}Jq=a;break a}if(Cq|Gq^134217728){break a}a=Jq+(Jq&1)|0;if(a>>>0>>0){Iq=Iq+1|0}Jq=a}R=Sq+32|0;f(0,Jq|0);f(1,Hq&-2147483648|Iq);return+g()}function ek(a){var Cq=0,Gq=0,Hq=0,Xq=0,Yq=0,Zq=0,_q=0,$q=0;Xq=R-16|0;R=Xq;o[Xq+12>>2]=a;a:{if(a>>>0<=211){a=o[fk(11616,11808,Xq+12|0)>>2];break a}Yq=(a>>>0)/210|0;Hq=u(Yq,210);o[Xq+8>>2]=a-Hq;Zq=fk(11808,12e3,Xq+8|0)-11808>>2;b:{while(1){a=o[(Zq<<2)+11808>>2]+Hq|0;Hq=5;c:{d:{e:{while(1){if((Hq|0)==47){break e}Cq=o[(Hq<<2)+11616>>2];Gq=(a>>>0)/(Cq>>>0)|0;_q=Gq>>>0>>0;$q=_q?a:$q;Hq=Hq+1|0;Cq=_q?1:(u(Cq,Gq)|0)==(a|0)?7:0;if(!Cq){continue}break}Hq=Cq+ -4|0;if(Hq>>>0>3){break b}switch(Hq-1|0){case 0:case 1:break b;case 2:break d;default:break e}}Hq=211;while(1){Cq=(a>>>0)/(Hq>>>0)|0;if(Cq>>>0>>0){break c}if((u(Cq,Hq)|0)==(a|0)){break d}Cq=Hq+10|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+12|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+16|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+18|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+22|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+28|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+30|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+36|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+40|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+42|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+46|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+52|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+58|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+60|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+66|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+70|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+72|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+78|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+82|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+88|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+96|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+100|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+102|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+106|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+108|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+112|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+120|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+126|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+130|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+136|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+138|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+142|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+148|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+150|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+156|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+162|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+166|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+168|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+172|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+178|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+180|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+186|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+190|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+192|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+196|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+198|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}if((u(Cq,Gq)|0)==(a|0)){break d}Cq=Hq+208|0;Gq=(a>>>0)/(Cq>>>0)|0;if(Gq>>>0>>0){break c}Hq=Hq+210|0;if((u(Cq,Gq)|0)!=(a|0)){continue}break}}Hq=Zq+1|0;a=(Hq|0)==48;Zq=a?0:Hq;Yq=a+Yq|0;Hq=u(Yq,210);continue}break}o[Xq+12>>2]=a;break a}o[Xq+12>>2]=a;a=$q}R=Xq+16|0;return a}function fk(a,ar,br){return gk(a,ar,br)}function gk(a,ar,br){var cr=0;cr=R-16|0;R=cr;a=hk(a,ar,br);R=cr+16|0;return a}function hk(a,ar,br){var dr=0,er=0,fr=0,gr=0;dr=R-16|0;R=dr;ar=ar-a>>2;while(1){if(ar){o[dr+12>>2]=a;er=dr+12|0;fr=er;gr=o[er>>2];er=ar>>>1;o[fr>>2]=gr+(er<<2);if(ik(o[dr+12>>2],br)){a=o[dr+12>>2]+4|0;o[dr+12>>2]=a;ar=(er^-1)+ar|0}else{ar=er}continue}break}R=dr+16|0;return a}function ik(a,ar){return r[a>>2]>2]}function jk(a,ar,br){if(br){wl(a,ar,br)}}function kk(a,ar){return lk(a,ar)}function lk(a,ar){var br=0,hr=0;br=R-16|0;R=br;hr=ik(a,ar);R=br+16|0;return hr?ar:a}function mk(a){o[a>>2]=0;o[a+4>>2]=0;o[a+8>>2]=0}function nk(a,ar){var ir=0,jr=0;ir=p[a|0];jr=p[ar|0];a:{if(!ir|(ir|0)!=(jr|0)){break a}while(1){jr=p[ar+1|0];ir=p[a+1|0];if(!ir){break a}ar=ar+1|0;a=a+1|0;if((ir|0)==(jr|0)){continue}break}}return ir-jr|0}function ok(){var a=0,ar=0,kr=0;a=R-16|0;R=a;a:{if(K(a+12|0,a+8|0)){break a}ar=tl((o[a+12>>2]<<2)+4|0);o[3286]=ar;if(!ar){break a}b:{ar=tl(o[a+8>>2]);if(ar){kr=o[3286];if(kr){break b}}o[3286]=0;break a}o[(o[a+12>>2]<<2)+kr>>2]=0;if(!L(o[3286],ar|0)){break a}o[3286]=0}R=a+16|0}function pk(lr,mr,nr){var or=0,pr=0;or=R-160|0;R=or;wl(or+8|0,12e3,144);a:{b:{if(mr+ -1>>>0>=2147483647){if(mr){break b}mr=1;lr=or+159|0}o[or+52>>2]=lr;o[or+28>>2]=lr;pr=-2-lr|0;mr=mr>>>0>pr>>>0?pr:mr;o[or+56>>2]=mr;lr=lr+mr|0;o[or+36>>2]=lr;o[or+24>>2]=lr;lr=Oj(or+8|0,12225,nr);if(!mr){break a}mr=o[or+28>>2];m[mr-((mr|0)==o[or+24>>2])|0]=0;break a}o[3269]=61;lr=-1}R=or+160|0;return lr}function qk(lr,mr,nr){lr=lr|0;mr=mr|0;nr=nr|0;var qr=0,rr=0;rr=o[lr+20>>2];qr=o[lr+16>>2]-rr|0;qr=qr>>>0>nr>>>0?nr:qr;wl(rr,mr,qr);o[lr+20>>2]=qr+o[lr+20>>2];return nr|0}function rk(lr,mr,nr){var sr=0;sr=R-16|0;R=sr;o[sr+12>>2]=nr;lr=pk(lr,mr,nr);R=sr+16|0;return lr}function sk(lr){if(wk(lr)){return o[lr+4>>2]}return p[lr+11|0]}function tk(lr){if(wk(lr)){lr=xk(lr)+ -1|0}else{lr=10}return lr}function uk(lr,mr){Rk(lr,mr)}function vk(lr){var mr=0;mr=lr;lr=0;while(1){if((lr|0)!=3){o[(lr<<2)+mr>>2]=0;lr=lr+1|0;continue}break}}function wk(lr){return m[lr+11|0]<0}function xk(lr){return o[lr+8>>2]&2147483647}function yk(lr){if(wk(lr)){return o[lr>>2]}return lr}function zk(lr,nr){m[lr|0]=p[nr|0]}function Ak(lr,nr){o[lr+4>>2]=nr}function Bk(lr,nr){m[lr+11|0]=nr}function Ck(lr){var nr=0;if(lr>>>0>=11){nr=lr+16&-16;lr=nr+ -1|0;lr=(lr|0)==11?nr:lr}else{lr=10}return lr}function Dk(lr){if(4294967295>>0){_a(12144);D()}return Hk(lr)}function Ek(lr,tr){o[lr>>2]=tr}function Fk(lr,tr){o[lr+8>>2]=tr|-2147483648}function Gk(lr,tr){if(wk(lr)){Ak(lr,tr);return}Bk(lr,tr)}function Hk(lr){var tr=0,ur=0;lr=lr?lr:1;while(1){a:{tr=tl(lr);if(tr){break a}ur=o[3287];if(!ur){break a}l[ur]();continue}break}return tr}function Ik(lr,vr){var wr=0,xr=0,yr=0,zr=0;wr=_j(vr);xr=Hk(wr+13|0);o[xr+8>>2]=0;o[xr+4>>2]=wr;o[xr>>2]=wr;yr=lr,zr=wl(xr+12|0,vr,wr+1|0),o[yr>>2]=zr}function Jk(lr){var vr=0,Ar=0,Br=0;vr=R-16|0;R=vr;m[vr+15|0]=10;Ar=o[lr+16>>2];a:{if(!Ar){if(Dj(lr)){break a}Ar=o[lr+16>>2]}Br=o[lr+20>>2];if(!(m[lr+75|0]==10|Br>>>0>=Ar>>>0)){o[lr+20>>2]=Br+1;m[Br|0]=10;break a}if((l[o[lr+36>>2]](lr,vr+15|0,1)|0)!=1){break a}}R=vr+16|0}function Kk(){_a(12212);D()}function Lk(){M();D()}function Mk(lr,Cr){var Dr=0,Er=0,Fr=0;Er=R-16|0;R=Er;mk(lr);Dr=lr;a:{if(!wk(Cr)){o[Dr+8>>2]=o[Cr+8>>2];Fr=o[Cr+4>>2];o[Dr>>2]=o[Cr>>2];o[Dr+4>>2]=Fr;break a}Nk(lr,o[Cr>>2],o[Cr+4>>2])}R=Er+16|0;return lr}function Nk(lr,Cr,Gr){var Hr=0,Ir=0,Jr=0;Hr=R-16|0;R=Hr;if(4294967279>=Gr>>>0){a:{if(Gr>>>0<=10){Bk(lr,Gr);Ir=lr;break a}Jr=Ck(Gr)+1|0;Ir=Dk(Jr);Ek(lr,Ir);Fk(lr,Jr);Ak(lr,Gr)}jk(Ir,Cr,Gr);m[Hr+15|0]=0;zk(Gr+Ir|0,Hr+15|0);R=Hr+16|0;return}Kk();D()}function Ok(lr,Cr){if((lr|0)!=(Cr|0)){Pk(lr,yk(Cr),sk(Cr))}}function Pk(lr,Cr,Gr){var Kr=0,Lr=0,Mr=0,Nr=0;Lr=R-16|0;R=Lr;Kr=tk(lr);a:{if(Kr>>>0>=Gr>>>0){Mr=yk(lr);Nr=Mr;Kr=Gr;if(Gr){yl(Nr,Cr,Kr)}m[Lr+15|0]=0;zk(Gr+Mr|0,Lr+15|0);Gk(lr,Gr);break a}Mr=lr;lr=sk(lr);Qk(Mr,Kr,Gr-Kr|0,lr,lr,Gr,Cr)}R=Lr+16|0}function Qk(lr,Cr,Gr,Or,Pr,Qr,Rr){var Sr=0,Tr=0,Ur=0;Sr=R-16|0;R=Sr;if((Cr^-1)+ -17>>>0>=Gr>>>0){Tr=yk(lr);a:{if(2147483623>Cr>>>0){o[Sr+8>>2]=Cr<<1;o[Sr+12>>2]=Cr+Gr;Gr=Ck(o[kk(Sr+12|0,Sr+8|0)>>2]);break a}Gr=-18}Ur=Gr+1|0;Gr=Dk(Ur);if(Qr){jk(Gr,Rr,Qr)}Or=Or-Pr|0;Rr=Or;if(Or){jk(Gr+Qr|0,Pr+Tr|0,Rr)}if((Cr|0)!=10){ul(Tr)}Ek(lr,Gr);Fk(lr,Ur);Cr=lr;lr=Or+Qr|0;Ak(Cr,lr);m[Sr+7|0]=0;zk(lr+Gr|0,Sr+7|0);R=Sr+16|0;return}Kk();D()}function Rk(lr,Cr){var Gr=0;Gr=sk(lr);if(Gr>>>0>>0){Sk(lr,Cr-Gr|0);return}Tk(lr,Cr)}function Sk(lr,Cr){var Or=0,Pr=0,Qr=0,Rr=0;Qr=R-16|0;R=Qr;if(Cr){Pr=tk(lr);Or=sk(lr);Rr=Or+Cr|0;if(Pr-Or>>>0>>0){Uk(lr,Pr,Rr-Pr|0,Or,Or)}Pr=Or;Or=yk(lr);Pr=Pr+Or|0;if(Cr){xl(Pr,0,Cr)}Gk(lr,Rr);m[Qr+15|0]=0;zk(Or+Rr|0,Qr+15|0)}R=Qr+16|0}function Tk(lr,Cr){var Vr=0,Wr=0;Vr=R-16|0;R=Vr;a:{if(wk(lr)){Wr=o[lr>>2];m[Vr+15|0]=0;zk(Cr+Wr|0,Vr+15|0);Ak(lr,Cr);break a}m[Vr+14|0]=0;zk(lr+Cr|0,Vr+14|0);Bk(lr,Cr)}R=Vr+16|0}function Uk(lr,Cr,Xr,Yr,Zr){var _r=0,$r=0,as=0;_r=R-16|0;R=_r;if(-17-Cr>>>0>=Xr>>>0){$r=yk(lr);a:{if(2147483623>Cr>>>0){o[_r+8>>2]=Cr<<1;o[_r+12>>2]=Cr+Xr;Xr=Ck(o[kk(_r+12|0,_r+8|0)>>2]);break a}Xr=-18}as=Xr+1|0;Xr=Dk(as);if(Zr){jk(Xr,$r,Zr)}Yr=Yr-Zr|0;if(Yr){jk(Xr+Zr|0,Zr+$r|0,Yr)}if((Cr|0)!=10){ul($r)}Ek(lr,Xr);Fk(lr,as);R=_r+16|0;return}Kk();D()}function Vk(lr){if(sk(lr)>>>0<=0){Lk();D()}return yk(lr)}function Wk(lr){var Cr=0,Xr=0;Cr=R-16|0;R=Cr;mk(Cr);vk(Cr);uk(Cr,tk(Cr));Xk(lr,Cr);lr=Cr;if(wk(Cr)){Xr=o[lr>>2];xk(lr);ul(Xr)}R=Cr+16|0}function Xk(lr,Yr){var Zr=0,bs=0,cs=0,ds=0;cs=R-16|0;R=cs;Zr=sk(Yr);while(1){a:{bs=yk(Yr);o[cs>>2]=1;ds=Yr;bs=rk(bs,Zr+1|0,cs);b:{if((bs|0)>=0){if(bs>>>0<=Zr>>>0){break a}Zr=bs;break b}Zr=Zr<<1|1}uk(ds,Zr);continue}break}uk(Yr,bs);Zr=o[Yr+4>>2];o[lr>>2]=o[Yr>>2];o[lr+4>>2]=Zr;o[lr+8>>2]=o[Yr+8>>2];vk(Yr);R=cs+16|0}function Yk(){_a(12228);D()}function Zk(){Lk();D()}function _k(lr){var Yr=0;if(o[lr+76>>2]<0){a:{if(m[lr+75|0]==10){break a}Yr=o[lr+20>>2];if(Yr>>>0>=r[lr+16>>2]){break a}o[lr+20>>2]=Yr+1;m[Yr|0]=10;return}Jk(lr);return}b:{c:{if(m[lr+75|0]==10){break c}Yr=o[lr+20>>2];if(Yr>>>0>=r[lr+16>>2]){break c}o[lr+20>>2]=Yr+1;m[Yr|0]=10;break b}Jk(lr)}}function $k(){var lr=0;lr=R-16|0;R=lr;o[lr+12>>2]=0;lr=o[2902];Oj(lr,12235,0);_k(lr);M();D()}function al(){$k();D()}function bl(es){es=es|0;return 12265}function cl(es){es=es|0;o[es>>2]=12332;dl(es+4|0);return es|0}function dl(es){var fs=0,gs=0;fs=o[es>>2]+ -12|0;gs=fs+8|0;es=o[gs>>2]+ -1|0;o[gs>>2]=es;a:{if((es|0)>-1){break a}ul(fs)}}function el(es){es=es|0;ul(cl(es))}function fl(es){es=es|0;return o[es+4>>2]}function gl(es){es=es|0;cl(es);ul(es)}function hl(es,hs,is){if(!is){return(es|0)==(hs|0)}return!nk(o[es+4>>2],o[hs+4>>2])}function il(es,hs,is){es=es|0;hs=hs|0;is=is|0;var js=0,ks=0;js=R+ -64|0;R=js;ks=1;a:{if(hl(es,hs,0)){break a}ks=0;if(!hs){break a}hs=jl(hs);ks=0;if(!hs){break a}o[js+20>>2]=-1;o[js+16>>2]=es;o[js+12>>2]=0;o[js+8>>2]=hs;xl(js+24|0,0,39);o[js+56>>2]=1;l[o[o[hs>>2]+28>>2]](hs,js+8|0,o[is>>2],1);ks=0;if(o[js+32>>2]!=1){break a}o[is>>2]=o[js+24>>2];ks=1}R=js- -64|0;return ks|0}function jl(es){var hs=0,is=0,ls=0,ms=0;hs=R+ -64|0;R=hs;is=o[es>>2];ms=o[is+ -8>>2];is=o[is+ -4>>2];o[hs+20>>2]=0;o[hs+16>>2]=12484;o[hs+12>>2]=es;o[hs+8>>2]=12532;xl(hs+24|0,0,39);es=es+ms|0;a:{if(hl(is,12532,0)){o[hs+56>>2]=1;l[o[o[is>>2]+20>>2]](is,hs+8|0,es,es,1,0);ls=o[hs+32>>2]==1?es:0;break a}l[o[o[is>>2]+24>>2]](is,hs+8|0,es,1,0);es=o[hs+44>>2];if(es>>>0>1){break a}if(es-1){ls=o[hs+48>>2]==1?o[hs+36>>2]==1?o[hs+40>>2]==1?o[hs+28>>2]:0:0:0;break a}if(o[hs+32>>2]!=1){if(o[hs+48>>2]|o[hs+36>>2]!=1|o[hs+40>>2]!=1){break a}}ls=o[hs+24>>2]}R=hs- -64|0;return ls}function kl(es,ns,os){var ps=0;ps=o[es+16>>2];if(!ps){o[es+36>>2]=1;o[es+24>>2]=os;o[es+16>>2]=ns;return}a:{if((ns|0)==(ps|0)){if(o[es+24>>2]!=2){break a}o[es+24>>2]=os;return}m[es+54|0]=1;o[es+24>>2]=2;o[es+36>>2]=o[es+36>>2]+1}}function ll(es,ns,os,qs){es=es|0;ns=ns|0;os=os|0;qs=qs|0;if(hl(es,o[ns+8>>2],0)){kl(ns,os,qs)}}function ml(es,ns,os,qs){es=es|0;ns=ns|0;os=os|0;qs=qs|0;if(hl(es,o[ns+8>>2],0)){kl(ns,os,qs);return}es=o[es+8>>2];l[o[o[es>>2]+28>>2]](es,ns,os,qs)}function nl(es,ns,os,qs){m[es+53|0]=1;a:{if(o[es+4>>2]!=(os|0)){break a}m[es+52|0]=1;os=o[es+16>>2];if(!os){o[es+36>>2]=1;o[es+24>>2]=qs;o[es+16>>2]=ns;if((qs|0)!=1|o[es+48>>2]!=1){break a}m[es+54|0]=1;return}if((ns|0)==(os|0)){os=o[es+24>>2];if((os|0)==2){o[es+24>>2]=qs;os=qs}if(o[es+48>>2]!=1|(os|0)!=1){break a}m[es+54|0]=1;return}m[es+54|0]=1;o[es+36>>2]=o[es+36>>2]+1}}function ol(es,ns,os){if(!(o[es+28>>2]==1|o[es+4>>2]!=(ns|0))){o[es+28>>2]=os}}function pl(es,ns,os,qs,rs){es=es|0;ns=ns|0;os=os|0;qs=qs|0;rs=rs|0;if(hl(es,o[ns+8>>2],rs)){ol(ns,os,qs);return}a:{if(hl(es,o[ns>>2],rs)){if(!(o[ns+20>>2]!=(os|0)?o[ns+16>>2]!=(os|0):0)){if((qs|0)!=1){break a}o[ns+32>>2]=1;return}o[ns+32>>2]=qs;b:{if(o[ns+44>>2]==4){break b}n[ns+52>>1]=0;es=o[es+8>>2];l[o[o[es>>2]+20>>2]](es,ns,os,os,1,rs);if(p[ns+53|0]){o[ns+44>>2]=3;if(!p[ns+52|0]){break b}break a}o[ns+44>>2]=4}o[ns+20>>2]=os;o[ns+40>>2]=o[ns+40>>2]+1;if(o[ns+36>>2]!=1|o[ns+24>>2]!=2){break a}m[ns+54|0]=1;return}es=o[es+8>>2];l[o[o[es>>2]+24>>2]](es,ns,os,qs,rs)}}function ql(es,ns,os,qs,rs){es=es|0;ns=ns|0;os=os|0;qs=qs|0;rs=rs|0;if(hl(es,o[ns+8>>2],rs)){ol(ns,os,qs);return}a:{if(!hl(es,o[ns>>2],rs)){break a}if(!(o[ns+20>>2]!=(os|0)?o[ns+16>>2]!=(os|0):0)){if((qs|0)!=1){break a}o[ns+32>>2]=1;return}o[ns+20>>2]=os;o[ns+32>>2]=qs;o[ns+40>>2]=o[ns+40>>2]+1;if(!(o[ns+36>>2]!=1|o[ns+24>>2]!=2)){m[ns+54|0]=1}o[ns+44>>2]=4}}function rl(es,ns,os,qs,rs,ss){es=es|0;ns=ns|0;os=os|0;qs=qs|0;rs=rs|0;ss=ss|0;if(hl(es,o[ns+8>>2],ss)){nl(ns,os,qs,rs);return}es=o[es+8>>2];l[o[o[es>>2]+20>>2]](es,ns,os,qs,rs,ss)}function sl(es,ns,os,qs,rs,ss){es=es|0;ns=ns|0;os=os|0;qs=qs|0;rs=rs|0;ss=ss|0;if(hl(es,o[ns+8>>2],ss)){nl(ns,os,qs,rs)}} + + + +function tl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=R-16|0;R=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(a>>>0<=244){f=o[3288];h=a>>>0<11?16:a+11&-8;b=h>>>3;a=f>>>b;if(a&3){d=b+((a^-1)&1)|0;b=d<<3;e=o[b+13200>>2];a=e+8|0;c=o[e+8>>2];b=b+13192|0;l:{if((c|0)==(b|0)){m=13152,n=Zl(d)&f,o[m>>2]=n;break l}o[c+12>>2]=b;o[b+8>>2]=c}b=d<<3;o[e+4>>2]=b|3;b=b+e|0;o[b+4>>2]=o[b+4>>2]|1;break a}k=o[3290];if(h>>>0<=k>>>0){break k}if(a){c=a<>>12&16;c=a;b=b>>>a;a=b>>>5&8;c=c|a;b=b>>>a;a=b>>>2&4;c=c|a;b=b>>>a;a=b>>>1&2;c=c|a;b=b>>>a;a=b>>>1&1;c=(c|a)+(b>>>a)|0;a=c<<3;g=o[a+13200>>2];b=o[g+8>>2];a=a+13192|0;m:{if((b|0)==(a|0)){f=Zl(c)&f;o[3288]=f;break m}o[b+12>>2]=a;o[a+8>>2]=b}a=g+8|0;o[g+4>>2]=h|3;d=g+h|0;b=c<<3;e=b-h|0;o[d+4>>2]=e|1;o[b+g>>2]=e;if(k){b=k>>>3;c=(b<<3)+13192|0;h=o[3293];b=1<>2]}o[c+8>>2]=h;o[b+12>>2]=h;o[h+12>>2]=c;o[h+8>>2]=b}o[3293]=d;o[3290]=e;break a}i=o[3289];if(!i){break k}b=(i&0-i)+ -1|0;a=b>>>12&16;c=a;b=b>>>a;a=b>>>5&8;c=c|a;b=b>>>a;a=b>>>2&4;c=c|a;b=b>>>a;a=b>>>1&2;c=c|a;b=b>>>a;a=b>>>1&1;b=o[((c|a)+(b>>>a)<<2)+13456>>2];d=(o[b+4>>2]&-8)-h|0;c=b;while(1){o:{a=o[c+16>>2];if(!a){a=o[c+20>>2];if(!a){break o}}c=(o[a+4>>2]&-8)-h|0;e=c>>>0>>0;d=e?c:d;b=e?a:b;c=a;continue}break}j=o[b+24>>2];e=o[b+12>>2];if((e|0)!=(b|0)){a=o[b+8>>2];o[a+12>>2]=e;o[e+8>>2]=a;break b}c=b+20|0;a=o[c>>2];if(!a){a=o[b+16>>2];if(!a){break j}c=b+16|0}while(1){g=c;e=a;c=a+20|0;a=o[c>>2];if(a){continue}c=e+16|0;a=o[e+16>>2];if(a){continue}break}o[g>>2]=0;break b}h=-1;if(a>>>0>4294967231){break k}a=a+11|0;h=a&-8;i=o[3289];if(!i){break k}a=a>>>8;g=0;p:{if(!a){break p}g=31;if(h>>>0>16777215){break p}b=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15)-(c|(b|d))|0;g=(a<<1|h>>>a+21&1)+28|0}c=0-h|0;d=o[(g<<2)+13456>>2];q:{r:{s:{if(!d){a=0;break s}b=h<<((g|0)==31?0:25-(g>>>1)|0);a=0;while(1){t:{f=(o[d+4>>2]&-8)-h|0;if(f>>>0>=c>>>0){break t}e=d;c=f;if(c){break t}c=0;a=d;break r}f=o[d+20>>2];d=o[((b>>>29&4)+d|0)+16>>2];a=f?(f|0)==(d|0)?a:f:a;b=b<<((d|0)!=0);if(d){continue}break}}if(!(a|e)){a=2<>>12&16;d=a;b=b>>>a;a=b>>>5&8;d=d|a;b=b>>>a;a=b>>>2&4;d=d|a;b=b>>>a;a=b>>>1&2;d=d|a;b=b>>>a;a=b>>>1&1;a=o[((d|a)+(b>>>a)<<2)+13456>>2]}if(!a){break q}}while(1){b=(o[a+4>>2]&-8)-h|0;d=b>>>0>>0;c=d?b:c;e=d?a:e;b=o[a+16>>2];if(b){a=b}else{a=o[a+20>>2]}if(a){continue}break}}if(!e|c>>>0>=o[3290]-h>>>0){break k}g=o[e+24>>2];b=o[e+12>>2];if((e|0)!=(b|0)){a=o[e+8>>2];o[a+12>>2]=b;o[b+8>>2]=a;break c}d=e+20|0;a=o[d>>2];if(!a){a=o[e+16>>2];if(!a){break i}d=e+16|0}while(1){f=d;b=a;d=a+20|0;a=o[d>>2];if(a){continue}d=b+16|0;a=o[b+16>>2];if(a){continue}break}o[f>>2]=0;break c}c=o[3290];if(c>>>0>=h>>>0){d=o[3293];b=c-h|0;u:{if(b>>>0>=16){o[3290]=b;a=d+h|0;o[3293]=a;o[a+4>>2]=b|1;o[c+d>>2]=b;o[d+4>>2]=h|3;break u}o[3293]=0;o[3290]=0;o[d+4>>2]=c|3;a=c+d|0;o[a+4>>2]=o[a+4>>2]|1}a=d+8|0;break a}j=o[3291];if(j>>>0>h>>>0){b=j-h|0;o[3291]=b;c=o[3294];a=c+h|0;o[3294]=a;o[a+4>>2]=b|1;o[c+4>>2]=h|3;a=c+8|0;break a}a=0;i=h+47|0;b=i;if(o[3406]){c=o[3408]}else{o[3409]=-1;o[3410]=-1;o[3407]=4096;o[3408]=4096;o[3406]=l+12&-16^1431655768;o[3411]=0;o[3399]=0;c=4096}g=b+c|0;f=0-c|0;c=g&f;if(c>>>0<=h>>>0){break a}e=o[3398];if(e){d=o[3396];b=d+c|0;if(b>>>0<=d>>>0|b>>>0>e>>>0){break a}}if(p[13596]&4){break f}v:{w:{d=o[3294];if(d){a=13600;while(1){b=o[a>>2];if(b+o[a+4>>2]>>>0>d>>>0?b>>>0<=d>>>0:0){break w}a=o[a+8>>2];if(a){continue}break}}b=vl(0);if((b|0)==-1){break g}f=c;d=o[3407];a=d+ -1|0;if(a&b){f=(c-b|0)+(a+b&0-d)|0}if(f>>>0<=h>>>0|f>>>0>2147483646){break g}e=o[3398];if(e){d=o[3396];a=d+f|0;if(a>>>0<=d>>>0|a>>>0>e>>>0){break g}}a=vl(f);if((b|0)!=(a|0)){break v}break e}f=f&g-j;if(f>>>0>2147483646){break g}b=vl(f);if((b|0)==(o[a>>2]+o[a+4>>2]|0)){break h}a=b}b=a;if(!(h+48>>>0<=f>>>0|f>>>0>2147483646|(a|0)==-1)){a=o[3408];a=a+(i-f|0)&0-a;if(a>>>0>2147483646){break e}if((vl(a)|0)!=-1){f=a+f|0;break e}vl(0-f|0);break g}if((b|0)!=-1){break e}break g}e=0;break b}b=0;break c}if((b|0)!=-1){break e}}o[3399]=o[3399]|4}if(c>>>0>2147483646){break d}b=vl(c);a=vl(0);if(b>>>0>=a>>>0|(b|0)==-1|(a|0)==-1){break d}f=a-b|0;if(f>>>0<=h+40>>>0){break d}}a=o[3396]+f|0;o[3396]=a;if(a>>>0>r[3397]){o[3397]=a}x:{y:{z:{d=o[3294];if(d){a=13600;while(1){e=o[a>>2];c=o[a+4>>2];if((e+c|0)==(b|0)){break z}a=o[a+8>>2];if(a){continue}break}break y}a=o[3292];if(!(b>>>0>=a>>>0?a:0)){o[3292]=b}a=0;o[3401]=f;o[3400]=b;o[3296]=-1;o[3297]=o[3406];o[3403]=0;while(1){d=a<<3;c=d+13192|0;o[d+13200>>2]=c;o[d+13204>>2]=c;a=a+1|0;if((a|0)!=32){continue}break}d=f+ -40|0;a=b+8&7?-8-b&7:0;c=d-a|0;o[3291]=c;a=a+b|0;o[3294]=a;o[a+4>>2]=c|1;o[(b+d|0)+4>>2]=40;o[3295]=o[3410];break x}if(p[a+12|0]&8|b>>>0<=d>>>0|e>>>0>d>>>0){break y}o[a+4>>2]=c+f;a=d+8&7?-8-d&7:0;c=a+d|0;o[3294]=c;b=o[3291]+f|0;a=b-a|0;o[3291]=a;o[c+4>>2]=a|1;o[(b+d|0)+4>>2]=40;o[3295]=o[3410];break x}e=o[3292];if(b>>>0>>0){o[3292]=b;e=0}c=b+f|0;a=13600;A:{B:{C:{D:{E:{F:{while(1){if((c|0)!=o[a>>2]){a=o[a+8>>2];if(a){continue}break F}break}if(!(p[a+12|0]&8)){break E}}a=13600;while(1){c=o[a>>2];if(c>>>0<=d>>>0){g=c+o[a+4>>2]|0;if(g>>>0>d>>>0){break D}}a=o[a+8>>2];continue}}o[a>>2]=b;o[a+4>>2]=o[a+4>>2]+f;j=(b+8&7?-8-b&7:0)+b|0;o[j+4>>2]=h|3;b=c+(c+8&7?-8-c&7:0)|0;a=(b-j|0)-h|0;g=h+j|0;if((b|0)==(d|0)){o[3294]=g;a=o[3291]+a|0;o[3291]=a;o[g+4>>2]=a|1;break B}if(o[3293]==(b|0)){o[3293]=g;a=o[3290]+a|0;o[3290]=a;o[g+4>>2]=a|1;o[a+g>>2]=a;break B}c=o[b+4>>2];if((c&3)==1){i=c&-8;G:{if(c>>>0<=255){e=o[b+8>>2];c=c>>>3;d=o[b+12>>2];if((d|0)==(e|0)){m=13152,n=o[3288]&Zl(c),o[m>>2]=n;break G}o[e+12>>2]=d;o[d+8>>2]=e;break G}k=o[b+24>>2];f=o[b+12>>2];H:{if((f|0)!=(b|0)){c=o[b+8>>2];o[c+12>>2]=f;o[f+8>>2]=c;break H}I:{d=b+20|0;h=o[d>>2];if(h){break I}d=b+16|0;h=o[d>>2];if(h){break I}f=0;break H}while(1){c=d;f=h;d=f+20|0;h=o[d>>2];if(h){continue}d=f+16|0;h=o[f+16>>2];if(h){continue}break}o[c>>2]=0}if(!k){break G}d=o[b+28>>2];c=(d<<2)+13456|0;J:{if(o[c>>2]==(b|0)){o[c>>2]=f;if(f){break J}m=13156,n=o[3289]&Zl(d),o[m>>2]=n;break G}o[k+(o[k+16>>2]==(b|0)?16:20)>>2]=f;if(!f){break G}}o[f+24>>2]=k;c=o[b+16>>2];if(c){o[f+16>>2]=c;o[c+24>>2]=f}c=o[b+20>>2];if(!c){break G}o[f+20>>2]=c;o[c+24>>2]=f}b=b+i|0;a=a+i|0}o[b+4>>2]=o[b+4>>2]&-2;o[g+4>>2]=a|1;o[a+g>>2]=a;if(a>>>0<=255){a=a>>>3;b=(a<<3)+13192|0;c=o[3288];a=1<>2]}o[b+8>>2]=g;o[a+12>>2]=g;o[g+12>>2]=b;o[g+8>>2]=a;break B}b=g;d=a>>>8;c=0;L:{if(!d){break L}c=31;if(a>>>0>16777215){break L}c=d;d=d+1048320>>>16&8;c=c<>>16&4;c=c<>>16&2;c=(c<>>15)-(e|(d|f))|0;c=(c<<1|a>>>c+21&1)+28|0}o[b+28>>2]=c;o[g+16>>2]=0;o[g+20>>2]=0;e=(c<<2)+13456|0;d=o[3289];b=1<>2]=g;o[g+24>>2]=e;break M}d=a<<((c|0)==31?0:25-(c>>>1)|0);b=o[e>>2];while(1){c=b;if((o[b+4>>2]&-8)==(a|0)){break C}b=d>>>29;d=d<<1;e=(c+(b&4)|0)+16|0;b=o[e>>2];if(b){continue}break}o[e>>2]=g;o[g+24>>2]=c}o[g+12>>2]=g;o[g+8>>2]=g;break B}e=f+ -40|0;a=b+8&7?-8-b&7:0;c=e-a|0;o[3291]=c;a=a+b|0;o[3294]=a;o[a+4>>2]=c|1;o[(b+e|0)+4>>2]=40;o[3295]=o[3410];a=(g+(g+ -39&7?39-g&7:0)|0)+ -47|0;c=a>>>0>>0?d:a;o[c+4>>2]=27;a=o[3403];o[c+16>>2]=o[3402];o[c+20>>2]=a;a=o[3401];o[c+8>>2]=o[3400];o[c+12>>2]=a;o[3402]=c+8;o[3401]=f;o[3400]=b;o[3403]=0;a=c+24|0;while(1){o[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((c|0)==(d|0)){break x}o[c+4>>2]=o[c+4>>2]&-2;g=c-d|0;o[d+4>>2]=g|1;o[c>>2]=g;if(g>>>0<=255){a=g>>>3;b=(a<<3)+13192|0;c=o[3288];a=1<>2]}o[b+8>>2]=d;o[a+12>>2]=d;o[d+12>>2]=b;o[d+8>>2]=a;break x}o[d+16>>2]=0;o[d+20>>2]=0;a=d;c=g>>>8;b=0;O:{if(!c){break O}b=31;if(g>>>0>16777215){break O}b=c;c=c+1048320>>>16&8;b=b<>>16&4;b=b<>>16&2;b=(b<>>15)-(e|(c|f))|0;b=(b<<1|g>>>b+21&1)+28|0}o[a+28>>2]=b;e=(b<<2)+13456|0;c=o[3289];a=1<>2]=d;o[d+24>>2]=e;break P}a=g<<((b|0)==31?0:25-(b>>>1)|0);b=o[e>>2];while(1){c=b;if((g|0)==(o[b+4>>2]&-8)){break A}b=a>>>29;a=a<<1;e=(c+(b&4)|0)+16|0;b=o[e>>2];if(b){continue}break}o[e>>2]=d;o[d+24>>2]=c}o[d+12>>2]=d;o[d+8>>2]=d;break x}a=o[c+8>>2];o[a+12>>2]=g;o[c+8>>2]=g;o[g+24>>2]=0;o[g+12>>2]=c;o[g+8>>2]=a}a=j+8|0;break a}a=o[c+8>>2];o[a+12>>2]=d;o[c+8>>2]=d;o[d+24>>2]=0;o[d+12>>2]=c;o[d+8>>2]=a}a=o[3291];if(a>>>0<=h>>>0){break d}b=a-h|0;o[3291]=b;c=o[3294];a=c+h|0;o[3294]=a;o[a+4>>2]=b|1;o[c+4>>2]=h|3;a=c+8|0;break a}o[3269]=48;a=0;break a}Q:{if(!g){break Q}d=o[e+28>>2];a=(d<<2)+13456|0;R:{if(o[a>>2]==(e|0)){o[a>>2]=b;if(b){break R}i=Zl(d)&i;o[3289]=i;break Q}o[g+(o[g+16>>2]==(e|0)?16:20)>>2]=b;if(!b){break Q}}o[b+24>>2]=g;a=o[e+16>>2];if(a){o[b+16>>2]=a;o[a+24>>2]=b}a=o[e+20>>2];if(!a){break Q}o[b+20>>2]=a;o[a+24>>2]=b}S:{if(c>>>0<=15){a=c+h|0;o[e+4>>2]=a|3;a=a+e|0;o[a+4>>2]=o[a+4>>2]|1;break S}o[e+4>>2]=h|3;d=e+h|0;o[d+4>>2]=c|1;o[c+d>>2]=c;if(c>>>0<=255){a=c>>>3;b=(a<<3)+13192|0;c=o[3288];a=1<>2]}o[b+8>>2]=d;o[a+12>>2]=d;o[d+12>>2]=b;o[d+8>>2]=a;break S}a=d;f=c>>>8;b=0;U:{if(!f){break U}b=31;if(c>>>0>16777215){break U}b=f;f=f+1048320>>>16&8;b=b<>>16&4;b=b<>>16&2;b=(b<>>15)-(h|(f|g))|0;b=(b<<1|c>>>b+21&1)+28|0}o[a+28>>2]=b;o[d+16>>2]=0;o[d+20>>2]=0;f=(b<<2)+13456|0;V:{a=1<>2]=d;o[d+24>>2]=f;break W}a=c<<((b|0)==31?0:25-(b>>>1)|0);h=o[f>>2];while(1){b=h;if((o[b+4>>2]&-8)==(c|0)){break V}f=a>>>29;a=a<<1;f=(b+(f&4)|0)+16|0;h=o[f>>2];if(h){continue}break}o[f>>2]=d;o[d+24>>2]=b}o[d+12>>2]=d;o[d+8>>2]=d;break S}a=o[b+8>>2];o[a+12>>2]=d;o[b+8>>2]=d;o[d+24>>2]=0;o[d+12>>2]=b;o[d+8>>2]=a}a=e+8|0;break a}X:{if(!j){break X}c=o[b+28>>2];a=(c<<2)+13456|0;Y:{if(o[a>>2]==(b|0)){o[a>>2]=e;if(e){break Y}m=13156,n=Zl(c)&i,o[m>>2]=n;break X}o[(o[j+16>>2]==(b|0)?16:20)+j>>2]=e;if(!e){break X}}o[e+24>>2]=j;a=o[b+16>>2];if(a){o[e+16>>2]=a;o[a+24>>2]=e}a=o[b+20>>2];if(!a){break X}o[e+20>>2]=a;o[a+24>>2]=e}Z:{if(d>>>0<=15){a=d+h|0;o[b+4>>2]=a|3;a=a+b|0;o[a+4>>2]=o[a+4>>2]|1;break Z}o[b+4>>2]=h|3;e=b+h|0;o[e+4>>2]=d|1;o[d+e>>2]=d;if(k){a=k>>>3;c=(a<<3)+13192|0;h=o[3293];a=1<>2]}o[c+8>>2]=h;o[a+12>>2]=h;o[h+12>>2]=c;o[h+8>>2]=a}o[3293]=e;o[3290]=d}a=b+8|0}R=l+16|0;return a|0}function ul(a){a=a|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;a:{if(!a){break a}s=a+ -8|0;q=o[a+ -4>>2];a=q&-8;u=s+a|0;b:{if(q&1){break b}if(!(q&3)){break a}q=o[s>>2];s=s-q|0;if(s>>>0>>0<=255){t=o[s+8>>2];q=q>>>3;p=o[s+12>>2];if((p|0)==(t|0)){x=13152,y=o[3288]&Zl(q),o[x>>2]=y;break b}o[t+12>>2]=p;o[p+8>>2]=t;break b}w=o[s+24>>2];q=o[s+12>>2];c:{if((q|0)!=(s|0)){p=o[s+8>>2];o[p+12>>2]=q;o[q+8>>2]=p;break c}d:{t=s+20|0;p=o[t>>2];if(p){break d}t=s+16|0;p=o[t>>2];if(p){break d}q=0;break c}while(1){v=t;q=p;t=q+20|0;p=o[t>>2];if(p){continue}t=q+16|0;p=o[q+16>>2];if(p){continue}break}o[v>>2]=0}if(!w){break b}t=o[s+28>>2];p=(t<<2)+13456|0;e:{if(o[p>>2]==(s|0)){o[p>>2]=q;if(q){break e}x=13156,y=o[3289]&Zl(t),o[x>>2]=y;break b}o[w+(o[w+16>>2]==(s|0)?16:20)>>2]=q;if(!q){break b}}o[q+24>>2]=w;p=o[s+16>>2];if(p){o[q+16>>2]=p;o[p+24>>2]=q}p=o[s+20>>2];if(!p){break b}o[q+20>>2]=p;o[p+24>>2]=q;break b}q=o[u+4>>2];if((q&3)!=3){break b}o[3290]=a;o[u+4>>2]=q&-2;o[s+4>>2]=a|1;o[a+s>>2]=a;return}if(u>>>0<=s>>>0){break a}q=o[u+4>>2];if(!(q&1)){break a}f:{if(!(q&2)){if((u|0)==o[3294]){o[3294]=s;a=o[3291]+a|0;o[3291]=a;o[s+4>>2]=a|1;if(o[3293]!=(s|0)){break a}o[3290]=0;o[3293]=0;return}if((u|0)==o[3293]){o[3293]=s;a=o[3290]+a|0;o[3290]=a;o[s+4>>2]=a|1;o[a+s>>2]=a;return}a=(q&-8)+a|0;g:{if(q>>>0<=255){p=o[u+8>>2];q=q>>>3;t=o[u+12>>2];if((p|0)==(t|0)){x=13152,y=o[3288]&Zl(q),o[x>>2]=y;break g}o[p+12>>2]=t;o[t+8>>2]=p;break g}w=o[u+24>>2];q=o[u+12>>2];h:{if((u|0)!=(q|0)){p=o[u+8>>2];o[p+12>>2]=q;o[q+8>>2]=p;break h}i:{t=u+20|0;p=o[t>>2];if(p){break i}t=u+16|0;p=o[t>>2];if(p){break i}q=0;break h}while(1){v=t;q=p;t=q+20|0;p=o[t>>2];if(p){continue}t=q+16|0;p=o[q+16>>2];if(p){continue}break}o[v>>2]=0}if(!w){break g}t=o[u+28>>2];p=(t<<2)+13456|0;j:{if((u|0)==o[p>>2]){o[p>>2]=q;if(q){break j}x=13156,y=o[3289]&Zl(t),o[x>>2]=y;break g}o[w+((u|0)==o[w+16>>2]?16:20)>>2]=q;if(!q){break g}}o[q+24>>2]=w;p=o[u+16>>2];if(p){o[q+16>>2]=p;o[p+24>>2]=q}p=o[u+20>>2];if(!p){break g}o[q+20>>2]=p;o[p+24>>2]=q}o[s+4>>2]=a|1;o[a+s>>2]=a;if(o[3293]!=(s|0)){break f}o[3290]=a;return}o[u+4>>2]=q&-2;o[s+4>>2]=a|1;o[a+s>>2]=a}if(a>>>0<=255){a=a>>>3;q=(a<<3)+13192|0;p=o[3288];a=1<>2]}o[q+8>>2]=s;o[a+12>>2]=s;o[s+12>>2]=q;o[s+8>>2]=a;return}o[s+16>>2]=0;o[s+20>>2]=0;q=s;t=a>>>8;p=0;l:{if(!t){break l}p=31;if(a>>>0>16777215){break l}p=t;t=t+1048320>>>16&8;p=p<>>16&4;p=p<>>16&2;p=(p<>>15)-(v|(t|w))|0;p=(p<<1|a>>>p+21&1)+28|0}o[q+28>>2]=p;v=(p<<2)+13456|0;t=o[3289];q=1<>2]=s;o[s+12>>2]=s;o[s+24>>2]=v;o[s+8>>2]=s;break m}t=a<<((p|0)==31?0:25-(p>>>1)|0);q=o[v>>2];n:{while(1){p=q;if((o[q+4>>2]&-8)==(a|0)){break n}q=t>>>29;t=t<<1;v=(p+(q&4)|0)+16|0;q=o[v>>2];if(q){continue}break}o[v>>2]=s;o[s+12>>2]=s;o[s+24>>2]=p;o[s+8>>2]=s;break m}a=o[p+8>>2];o[a+12>>2]=s;o[p+8>>2]=s;o[s+24>>2]=0;o[s+12>>2]=p;o[s+8>>2]=a}a=o[3296]+ -1|0;o[3296]=a;if(a){break a}s=13608;while(1){a=o[s>>2];s=a+8|0;if(a){continue}break}o[3296]=-1}}function vl(a){var r=0;r=o[3416];a=r+a|0;if((a|0)<=-1){o[3269]=48;return-1}a:{if(a>>>0<=U()<<16>>>0){break a}if(N(a|0)){break a}o[3269]=48;return-1}o[3416]=a;return r}function wl(a,z,A){var B=0,C=0,D=0;if(A>>>0>=8192){O(a|0,z|0,A|0)|0;return a}C=a+A|0;a:{if(!((a^z)&3)){b:{if((A|0)<1){A=a;break b}if(!(a&3)){A=a;break b}A=a;while(1){m[A|0]=p[z|0];z=z+1|0;A=A+1|0;if(A>>>0>=C>>>0){break b}if(A&3){continue}break}}B=C&-4;c:{if(B>>>0<64){break c}D=B+ -64|0;if(A>>>0>D>>>0){break c}while(1){o[A>>2]=o[z>>2];o[A+4>>2]=o[z+4>>2];o[A+8>>2]=o[z+8>>2];o[A+12>>2]=o[z+12>>2];o[A+16>>2]=o[z+16>>2];o[A+20>>2]=o[z+20>>2];o[A+24>>2]=o[z+24>>2];o[A+28>>2]=o[z+28>>2];o[A+32>>2]=o[z+32>>2];o[A+36>>2]=o[z+36>>2];o[A+40>>2]=o[z+40>>2];o[A+44>>2]=o[z+44>>2];o[A+48>>2]=o[z+48>>2];o[A+52>>2]=o[z+52>>2];o[A+56>>2]=o[z+56>>2];o[A+60>>2]=o[z+60>>2];z=z- -64|0;A=A- -64|0;if(A>>>0<=D>>>0){continue}break}}if(A>>>0>=B>>>0){break a}while(1){o[A>>2]=o[z>>2];z=z+4|0;A=A+4|0;if(A>>>0>>0){continue}break}break a}if(C>>>0<4){A=a;break a}B=C+ -4|0;if(B>>>0>>0){A=a;break a}A=a;while(1){m[A|0]=p[z|0];m[A+1|0]=p[z+1|0];m[A+2|0]=p[z+2|0];m[A+3|0]=p[z+3|0];z=z+4|0;A=A+4|0;if(A>>>0<=B>>>0){continue}break}}if(A>>>0>>0){while(1){m[A|0]=p[z|0];z=z+1|0;A=A+1|0;if((C|0)!=(A|0)){continue}break}}return a}function xl(a,z,A){var E=0,F=0,G=0,H=0;a:{if(!A){break a}E=a+A|0;m[E+ -1|0]=z;m[a|0]=z;if(A>>>0<3){break a}m[E+ -2|0]=z;m[a+1|0]=z;m[E+ -3|0]=z;m[a+2|0]=z;if(A>>>0<7){break a}m[E+ -4|0]=z;m[a+3|0]=z;if(A>>>0<9){break a}E=0-a&3;F=E+a|0;z=u(z&255,16843009);o[F>>2]=z;A=A-E&-4;E=A+F|0;o[E+ -4>>2]=z;if(A>>>0<9){break a}o[F+8>>2]=z;o[F+4>>2]=z;o[E+ -8>>2]=z;o[E+ -12>>2]=z;if(A>>>0<25){break a}o[F+24>>2]=z;o[F+20>>2]=z;o[F+16>>2]=z;o[F+12>>2]=z;o[E+ -16>>2]=z;o[E+ -20>>2]=z;o[E+ -24>>2]=z;o[E+ -28>>2]=z;H=F&4|24;A=A-H|0;if(A>>>0<32){break a}E=z;G=z;z=F+H|0;while(1){o[z+24>>2]=G;o[z+28>>2]=E;o[z+16>>2]=G;o[z+20>>2]=E;o[z+8>>2]=G;o[z+12>>2]=E;o[z>>2]=G;o[z+4>>2]=E;z=z+32|0;A=A+ -32|0;if(A>>>0>31){continue}break}}return a}function yl(a,z,A){var I=0,J=0;a:{if((a|0)==(z|0)){break a}b:{if(z+A>>>0>a>>>0){J=a+A|0;if(J>>>0>z>>>0){break b}}return wl(a,z,A)}I=(a^z)&3;c:{d:{if(a>>>0>>0){if(I){I=a;break c}if(!(a&3)){I=a;break d}I=a;while(1){if(!A){break a}m[I|0]=p[z|0];z=z+1|0;A=A+ -1|0;I=I+1|0;if(I&3){continue}break}break d}e:{if(I){break e}if(J&3){while(1){if(!A){break a}A=A+ -1|0;I=A+a|0;m[I|0]=p[z+A|0];if(I&3){continue}break}}if(A>>>0<=3){break e}while(1){A=A+ -4|0;o[A+a>>2]=o[z+A>>2];if(A>>>0>3){continue}break}}if(!A){break a}while(1){A=A+ -1|0;m[A+a|0]=p[z+A|0];if(A){continue}break}break a}if(A>>>0<=3){break c}J=A;while(1){o[I>>2]=o[z>>2];z=z+4|0;I=I+4|0;J=J+ -4|0;if(J>>>0>3){continue}break}A=A&3}if(!A){break a}while(1){m[I|0]=p[z|0];I=I+1|0;z=z+1|0;A=A+ -1|0;if(A){continue}break}}return a}function zl(a,z){a=a|0;z=z|0;if(!o[3412]){o[3413]=z;o[3412]=a}}function Al(){return R|0}function Bl(a){a=a|0;a=R-a&-16;R=a;return a|0}function Cl(a){a=a|0;R=a}function Dl(a){a=a|0;return V(a|0)|0}function El(a,o){a=a|0;o=o|0;return l[a](o)|0}function Fl(a,o){a=a|0;o=o|0;l[a](o)}function Gl(a,o,z){a=a|0;o=o|0;z=z|0;return l[a](o,z)|0}function Hl(a,o,z){a=a|0;o=o|0;z=z|0;l[a](o,z)}function Il(a,o,z,A){a=a|0;o=o|0;z=z|0;A=A|0;return l[a](o,z,A)|0}function Jl(a){a=a|0;l[a]()}function Kl(a,o,z,A){a=a|0;o=o|0;z=z|0;A=A|0;l[a](o,z,A)}function Ll(a,o,z,A,K){a=a|0;o=o|0;z=z|0;A=A|0;K=K|0;l[a](o,z,A,K)}function Ml(a,o,z,A,K,L,M){a=a|0;o=o|0;z=z|0;A=A|0;K=K|0;L=L|0;M=M|0;return l[a](o,z,A,K,L,M)|0}function Nl(a,o,z,A,K,L,M){a=a|0;o=o|0;z=+z;A=A|0;K=K|0;L=L|0;M=M|0;return l[a](o,z,A,K,L,M)|0}function Ol(a,o,z,A,K,L,M){a=a|0;o=o|0;z=z|0;A=A|0;K=K|0;L=L|0;M=M|0;l[a](o,z,A,K,L,M)}function Pl(a,o,z,A,K,L){a=a|0;o=o|0;z=z|0;A=A|0;K=K|0;L=L|0;l[a](o,z,A,K,L)}function Ql(a,o,z,A,K){a=a|0;o=o|0;z=z|0;A=A|0;K=K|0;a=l[a](o,z,A,K)|0;P(T|0);return a|0}function Rl(a,o){i(a|0,o|0)}function Sl(a,o,z,A){var K=0,L=0,M=0,N=0,O=0,P=0;K=z>>>16;L=a>>>16;P=u(K,L);M=z&65535;N=a&65535;O=u(M,N);L=(O>>>16)+u(L,M)|0;K=(L&65535)+u(K,N)|0;a=(((u(o,z)+P|0)+u(a,A)|0)+(L>>>16)|0)+(K>>>16)|0;o=O&65535|K<<16;T=a;return o}function Tl(a,o,z,A){var Q=0,R=0,S=0,U=0;Q=o;R=Q>>31;Q=Q>>31;a=a^Q;S=a-Q|0;U=(o^R)-((a>>>0>>0)+R|0)|0;Q=A;R=Q>>31;Q=Q>>31;a=z^Q;Q=Xl(S,U,a-Q|0,(A^R)-((a>>>0>>0)+R|0)|0);o=o^A;z=o>>31;a=o>>31;o=Q^a;A=o-a|0;T=(z^T)-((o>>>0>>0)+z|0)|0;return A}function Ul(a,o,z,A){var V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{X=o;if(X){V=z;if(!V){break j}W=A;if(!W){break i}W=x(W)-x(X)|0;if(W>>>0<=31){break h}break b}if((A|0)==1&z>>>0>=0|A>>>0>1){break b}o=(a>>>0)/(z>>>0)|0;Rl(a-u(o,z)|0,0);T=0;return o}V=A;if(!a){break g}if(!V){break f}W=V+ -1|0;if(W&V){break f}Rl(a,W&X);a=X>>>(_l(V)&31);T=0;return a}W=V+ -1|0;if(!(W&V)){break e}_=(x(V)+33|0)-x(X)|0;Y=0-_|0;break c}_=W+1|0;Y=63-W|0;break c}a=(X>>>0)/(V>>>0)|0;Rl(0,X-u(a,V)|0);T=0;return a}W=x(V)-x(X)|0;if(W>>>0<31){break d}break b}Rl(a&W,0);if((V|0)==1){break a}z=a;a=_l(V);A=a&31;if(32<=(a&63)>>>0){W=0;a=o>>>A}else{W=o>>>A;a=((1<>>A}T=W;return a}_=W+1|0;Y=63-W|0}V=o;X=a;W=_&63;Z=W&31;if(32<=(W&63)>>>0){W=0;aa=V>>>Z}else{W=V>>>Z;aa=((1<>>Z}a=Y&63;Y=a&31;if(32<=(a&63)>>>0){V=X<>>32-Y|o<>>0<4294967295){X=X+1|0}Y=V;while(1){V=aa;W=W<<1|V>>>31;V=V<<1;$=W;W=o>>>31|V;ba=$;V=$;$=W;Z=X-((Y>>>0>>0)+V|0)|0;V=Z>>31;Z=Z>>31;W=z&Z;aa=$-W|0;W=ba-((A&V)+($>>>0>>0)|0)|0;V=o<<1|a>>>31;a=ca|a<<1;o=V|da;V=0;ba=V;$=Z&1;ca=$;_=_+ -1|0;if(_){continue}break}}Rl(aa,W);V=o<<1|a>>>31;a=$|a<<1;T=V|ba;return a}Rl(a,o);a=0;o=0}T=o;return a}function Vl(a,o,z,A){a=Sl(a,o,z,A);return a}function Wl(a,o,z,A){a=Tl(a,o,z,A);return a}function Xl(a,o,z,A){a=Ul(a,o,z,A);return a}function Yl(a){var o=0,z=0;while(1){z=o;if(a){a=a-1&a;o=o+1|0;continue}break}return z}function Zl(a){var A=0;A=a&31;a=0-a&31;return(-1>>>A&-2)<>>a}function _l(a){if(a){return 31-x(a+ -1^a)|0}return 32} + + + + +// EMSCRIPTEN_END_FUNCS +l[1]=cl;l[2]=$c;l[3]=ad;l[4]=bd;l[5]=Zc;l[6]=_c;l[7]=gd;l[8]=hd;l[9]=id;l[10]=cd;l[11]=dd;l[12]=zd;l[13]=Ad;l[14]=vd;l[15]=wd;l[16]=Bd;l[17]=Cd;l[18]=Dd;l[19]=zb;l[20]=Ed;l[21]=al;l[22]=Fd;l[23]=id;l[24]=Od;l[25]=Pd;l[26]=Hd;l[27]=Id;l[28]=Jd;l[29]=Kd;l[30]=Fd;l[31]=Md;l[32]=Nd;l[33]=Yd;l[34]=Zd;l[35]=Rd;l[36]=Td;l[37]=_d;l[38]=Ud;l[39]=Vd;l[40]=Wd;l[41]=Xd;l[42]=ie;l[43]=je;l[44]=ae;l[45]=be;l[46]=ce;l[47]=fe;l[48]=de;l[49]=ke;l[50]=he;l[51]=qe;l[52]=re;l[53]=id;l[54]=vb;l[55]=se;l[56]=te;l[57]=ue;l[58]=Ed;l[59]=te;l[60]=id;l[61]=ve;l[62]=we;l[63]=Ad;l[64]=Ad;l[65]=xe;l[66]=ye;l[67]=ze;l[68]=se;l[69]=Ae;l[70]=De;l[71]=Ee;l[72]=Fe;l[73]=Ge;l[74]=He;l[75]=id;l[76]=Ed;l[77]=Ie;l[78]=Je;l[79]=Ke;l[80]=Ne;l[81]=Oe;l[82]=Pe;l[83]=Qe;l[84]=id;l[85]=Ed;l[86]=Re;l[87]=Se;l[88]=Te;l[89]=$c;l[90]=ad;l[91]=Ve;l[92]=zb;l[93]=Ue;l[94]=re;l[95]=id;l[96]=se;l[97]=Ye;l[98]=Ad;l[99]=Ze;l[100]=_e;l[101]=ze;l[102]=se;l[103]=Ae;l[104]=$e;l[105]=af;l[106]=bf;l[107]=Ge;l[108]=He;l[109]=id;l[110]=Ed;l[111]=Ie;l[112]=Je;l[113]=cf;l[114]=ef;l[115]=ff;l[116]=Pe;l[117]=Qe;l[118]=id;l[119]=Ed;l[120]=Re;l[121]=Se;l[122]=gf;l[123]=$c;l[124]=ad;l[125]=Ve;l[126]=zb;l[127]=hf;l[128]=re;l[129]=te;l[130]=id;l[131]=kf;l[132]=je;l[133]=lf;l[134]=nf;l[135]=mf;l[136]=qf;l[137]=bd;l[138]=of;l[139]=sf;l[140]=tf;l[141]=Pe;l[142]=vb;l[143]=uf;l[144]=id;l[145]=Ed;l[146]=vf;l[147]=id;l[148]=wf;l[149]=xf;l[150]=yf;l[151]=$c;l[152]=ad;l[153]=Ve;l[154]=zb;l[155]=Ue;l[156]=Bf;l[157]=Cf;l[158]=Pe;l[159]=uf;l[160]=id;l[161]=Ed;l[162]=vf;l[163]=xf;l[164]=Df;l[165]=$c;l[166]=ad;l[167]=Ve;l[168]=zb;l[169]=hf;l[170]=$c;l[171]=ad;l[172]=te;l[173]=id;l[174]=te;l[175]=ue;l[176]=Ed;l[177]=Af;l[178]=Ef;l[179]=Kf;l[180]=Lf;l[181]=Ff;l[182]=Gf;l[183]=mf;l[184]=Hf;l[185]=If;l[186]=Jf;l[187]=wg;l[188]=Ad;l[189]=id;l[190]=id;l[191]=vg;l[192]=gi;l[193]=hi;l[194]=id;l[195]=te;l[196]=Ed;l[197]=Ed;l[198]=Bg;l[199]=Cg;l[200]=yg;l[201]=xg;l[202]=Ag;l[203]=Dg;l[204]=Eg;l[205]=Fg;l[206]=zg;l[207]=lh;l[208]=mh;l[209]=Ig;l[210]=Jg;l[211]=Kg;l[212]=Lg;l[213]=Sg;l[214]=id;l[215]=vb;l[216]=eh;l[217]=nh;l[218]=ph;l[219]=Ig;l[220]=Jg;l[221]=Kg;l[222]=Lg;l[223]=gh;l[224]=id;l[225]=vb;l[226]=eh;l[227]=Rg;l[228]=qh;l[229]=Qg;l[230]=rh;l[231]=sh;l[232]=wh;l[233]=xh;l[234]=yh;l[235]=zh;l[236]=vh;l[237]=Bh;l[238]=th;l[239]=Ch;l[240]=Dh;l[241]=Fh;l[242]=Gh;l[243]=Hh;l[244]=Ih;l[245]=Eh;l[246]=Kh;l[247]=Lh;l[248]=Mh;l[249]=Nh;l[250]=Oh;l[251]=Zh;l[252]=Yh;l[253]=Uh;l[254]=$c;l[255]=ad;l[256]=_h;l[257]=$h;l[258]=Ad;l[259]=te;l[260]=id;l[261]=Ni;l[262]=Oi;l[263]=Pi;l[264]=Ri;l[265]=Mi;l[266]=Bj;l[267]=wj;l[268]=zj;l[269]=Pj;l[270]=Qj;l[271]=Tj;l[272]=Rj;l[273]=Sj;l[274]=qk;l[275]=$c;l[276]=ad;l[277]=bl;l[278]=el;l[279]=fl;l[280]=gl;l[281]=$c;l[282]=ad;l[283]=Cj;l[284]=Cj;l[285]=il;l[286]=sl;l[287]=ql;l[288]=ll;l[289]=ad;l[290]=rl;l[291]=pl;l[292]=ml;function U(){return buffer.byteLength/65536|0}function V(pagesToAdd){pagesToAdd=pagesToAdd|0;var W=U()|0;var X=W+pagesToAdd|0;if(W>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":293,"maximum":293+0,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var WASM_PAGE_SIZE=65536;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var STACK_BASE=5256704,DYNAMIC_BASE=5256704,DYNAMICTOP_PTR=13664;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw new WebAssembly.RuntimeError(what)}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="draco_decoder.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(wasmBinaryFile);if(binary){return binary}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"env":asmLibraryArg,"wasi_unstable":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;__ATINIT__.push({func:function(){___wasm_call_ctors()}});function demangle(func){return func}function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_last=0;function ___cxa_throw(ptr,type,destructor){___exception_infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};___exception_last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exceptions=1}else{__ZSt18uncaught_exceptionv.uncaught_exceptions++}throw ptr}function _abort(){abort()}function _emscripten_get_heap_size(){return HEAP8.length}function _emscripten_get_sbrk_ptr(){return 13664}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=65536;var LIMIT=2147483648-PAGE_MULTIPLE;if(requestedSize>LIMIT){return false}var MIN_TOTAL_MEMORY=16777216;var newSize=Math.max(oldSize,MIN_TOTAL_MEMORY);while(newSize>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function _fd_close(fd){try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var num=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret},copy:function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var 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

    ^A`WCufLjpr%? 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 false;if(version[0]==1&&version[1]>=0&&version[1]<=3)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=(function(title){document.title=title})}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+19728;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,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bAAAABIAAAACAAAAAgAAAAIAAAAAAAAASAQAAG4AAABvAAAAfAAAAAAAAABYBAAAbgAAAHAAAAB8AAAATjVkcmFjbzI4QXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybUUATjVkcmFjbzE4QXR0cmlidXRlVHJhbnNmb3JtRQBONWRyYWNvMzBBdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1FAE41ZHJhY28xN0F0dHJpYnV0ZXNFbmNvZGVyRQBONWRyYWNvMjNLZFRyZWVBdHRyaWJ1dGVzRW5jb2RlckUATjVkcmFjbzI2U2VxdWVudGlhbEF0dHJpYnV0ZUVuY29kZXJFAE41ZHJhY28zN1NlcXVlbnRpYWxBdHRyaWJ1dGVFbmNvZGVyc0NvbnRyb2xsZXJFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFRUUATjVkcmFjbzM3UHJlZGljdGlvblNjaGVtZVR5cGVkRW5jb2RlckludGVyZmFjZUlpaUVFAE41ZHJhY28zMlByZWRpY3Rpb25TY2hlbWVFbmNvZGVySW50ZXJmYWNlRQBONWRyYWNvMjVQcmVkaWN0aW9uU2NoZW1lSW50ZXJmYWNlRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0VuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAdXNlX2J1aWx0X2luX2F0dHJpYnV0ZV9jb21wcmVzc2lvbgBONWRyYWNvMzNTZXF1ZW50aWFsSW50ZWdlckF0dHJpYnV0ZUVuY29kZXJFAE41ZHJhY28yOFByZWRpY3Rpb25TY2hlbWVEZWx0YUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbEVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zMlNlcXVlbnRpYWxOb3JtYWxBdHRyaWJ1dGVFbmNvZGVyRQBONWRyYWNvMzhTZXF1ZW50aWFsUXVhbnRpemF0aW9uQXR0cmlidXRlRW5jb2RlckUAcHJlZGljdGlvbl9zY2hlbWUAZW5jb2Rpbmdfc3BlZWQAZGVjb2Rpbmdfc3BlZWQAcXVhbnRpemF0aW9uX29yaWdpbgBxdWFudGl6YXRpb25fcmFuZ2UAIABlbmNvZGluZ19tZXRob2QAcXVhbnRpemF0aW9uX2JpdHMASW52YWxpZCBlbmNvZGluZyBtZXRob2QuAHN0YW5kYXJkX2VkZ2VicmVha2VyAHByZWRpY3RpdmVfZWRnZWJyZWFrZXIAZWRnZWJyZWFrZXJfbWV0aG9kAE41ZHJhY28yMk1lc2hFZGdlQnJlYWtlckVuY29kZXJFAE41ZHJhY28yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjBFZGdlQnJlYWtlclRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMTVQb2ludHNTZXF1ZW5jZXJFAE41ZHJhY28yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yMEVkZ2VCcmVha2VyVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRU5TXzM2TWVzaEF0dHJpYnV0ZUluZGljZXNFbmNvZGluZ09ic2VydmVySVMzX0VFTlNfMTlFZGdlQnJlYWtlck9ic2VydmVyRUVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yNVByZWRpY3Rpb25EZWdyZWVUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVFRUVFAHNwbGl0X21lc2hfb25fc2VhbXMATjVkcmFjbzI2TWVzaEVkZ2VCcmVha2VyRW5jb2RlckltcGxJTlNfMzFNZXNoRWRnZUJyZWFrZXJUcmF2ZXJzYWxFbmNvZGVyRUVFAE41ZHJhY28zNU1lc2hFZGdlQnJlYWtlckVuY29kZXJJbXBsSW50ZXJmYWNlRQBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJFbmNvZGVySW1wbElOU18zOE1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbFZhbGVuY2VFbmNvZGVyRUVFAE41ZHJhY28xMU1lc2hFbmNvZGVyRQBjb21wcmVzc19jb25uZWN0aXZpdHkATjVkcmFjbzE1TGluZWFyU2VxdWVuY2VyRQBONWRyYWNvMjFNZXNoU2VxdWVudGlhbEVuY29kZXJFAE41ZHJhY28xN1BvaW50Q2xvdWRFbmNvZGVyRQBJbnZhbGlkIGlucHV0IGdlb21ldHJ5LgBGYWlsZWQgdG8gaW5pdGlhbGl6ZSBlbmNvZGVyLgBGYWlsZWQgdG8gZW5jb2RlIGludGVybmFsIGRhdGEuAEZhaWxlZCB0byBlbmNvZGUgZ2VvbWV0cnkgZGF0YS4ARmFpbGVkIHRvIGVuY29kZSBwb2ludCBhdHRyaWJ1dGVzLgBGYWlsZWQgdG8gZW5jb2RlIG1ldGFkYXRhLgBEUkFDTwBONWRyYWNvMjNQb2ludENsb3VkS2RUcmVlRW5jb2RlckUATjVkcmFjbzI3UG9pbnRDbG91ZFNlcXVlbnRpYWxFbmNvZGVyRQBzeW1ib2xfZW5jb2RpbmdfbWV0aG9kAHN5bWJvbF9lbmNvZGluZ19jb21wcmVzc2lvbl9sZXZlbABONWRyYWNvNE1lc2hFAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUATjVkcmFjbzEwUG9pbnRDbG91ZEUAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAwMTIzNDU2Nzg5QUJDREVGLgBUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAGluZmluaXR5AG5hbgAlZAAlZgB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQ==";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffers){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} +// EMSCRIPTEN_START_FUNCS +function be(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;f[a+72>>2]=e;f[a+64>>2]=g;g=Lq(e>>>0>1073741823?-1:e<<2)|0;k=a+68|0;l=f[k>>2]|0;f[k>>2]=g;if(l|0)Mq(l);l=a+8|0;Mh(l,b,d,e);d=a+56|0;g=f[d>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+16|0;q=a+32|0;r=a+12|0;s=a+28|0;t=a+20|0;v=a+24|0;if(m-n>>2>>>0>p>>>0){w=p;x=n}else{y=g;aq(y)}while(1){f[j>>2]=f[x+(w<<2)>>2];f[i>>2]=f[j>>2];Cc(a,i,b,w);g=X(w,e)|0;n=b+(g<<2)|0;p=c+(g<<2)|0;g=f[l>>2]|0;if((g|0)>0){m=0;z=f[k>>2]|0;A=g;while(1){if((A|0)>0){g=0;do{B=f[z+(g<<2)>>2]|0;C=f[o>>2]|0;if((B|0)>(C|0)){D=f[q>>2]|0;f[D+(g<<2)>>2]=C;E=D}else{D=f[r>>2]|0;C=f[q>>2]|0;f[C+(g<<2)>>2]=(B|0)<(D|0)?D:B;E=C}g=g+1|0}while((g|0)<(f[l>>2]|0));F=E}else F=f[q>>2]|0;g=(f[n+(m<<2)>>2]|0)-(f[F+(m<<2)>>2]|0)|0;C=p+(m<<2)|0;f[C>>2]=g;if((g|0)>=(f[s>>2]|0)){if((g|0)>(f[v>>2]|0)){G=g-(f[t>>2]|0)|0;H=21}}else{G=(f[t>>2]|0)+g|0;H=21}if((H|0)==21){H=0;f[C>>2]=G}m=m+1|0;A=f[l>>2]|0;if((m|0)>=(A|0))break;else z=F}}w=w+-1|0;if((w|0)<=-1){H=5;break}z=f[d>>2]|0;x=f[z>>2]|0;if((f[z+4>>2]|0)-x>>2>>>0<=w>>>0){y=z;H=6;break}}if((H|0)==5){u=h;return 1}else if((H|0)==6)aq(y);return 0}function ce(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;Uc(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Mf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function de(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;Vc(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Mf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function ee(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;Wc(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Mf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function fe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;Xc(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Mf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function ge(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;Yc(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=4194304;if(d){d=c;c=4194304;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<20)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Mf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function he(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;Zc(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=2097152;if(d){d=c;c=2097152;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<19)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Nf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function ie(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;_c(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=1048576;if(d){d=c;c=1048576;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<18)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Of(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function je(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=Oa,t=Oa,u=Oa,v=0,w=0,x=0,y=0,z=0;c=f[b>>2]|0;b=a+4|0;d=f[b>>2]|0;e=(d|0)==0;a:do if(!e){g=d+-1|0;h=(g&d|0)==0;if(!h)if(c>>>0>>0)i=c;else i=(c>>>0)%(d>>>0)|0;else i=g&c;j=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!j)k=i;else{if(h){h=j;while(1){l=f[h>>2]|0;if(!l){k=i;break a}m=f[l+4>>2]|0;if(!((m|0)==(c|0)|(m&g|0)==(i|0))){k=i;break a}if((f[l+8>>2]|0)==(c|0)){o=l;break}else h=l}p=o+12|0;return p|0}else q=j;while(1){h=f[q>>2]|0;if(!h){k=i;break a}g=f[h+4>>2]|0;if((g|0)!=(c|0)){if(g>>>0>>0)r=g;else r=(g>>>0)%(d>>>0)|0;if((r|0)!=(i|0)){k=i;break a}}if((f[h+8>>2]|0)==(c|0)){o=h;break}else q=h}p=o+12|0;return p|0}}else k=0;while(0);q=ln(16)|0;f[q+8>>2]=c;f[q+12>>2]=0;f[q+4>>2]=c;f[q>>2]=0;i=a+12|0;s=$(((f[i>>2]|0)+1|0)>>>0);t=$(d>>>0);u=$(n[a+16>>2]);do if(e|$(u*t)>>0<3|(d+-1&d|0)!=0)&1;j=~~$(W($(s/u)))>>>0;Hi(a,r>>>0>>0?j:r);r=f[b>>2]|0;j=r+-1|0;if(!(j&r)){v=r;w=j&c;break}if(c>>>0>>0){v=r;w=c}else{v=r;w=(c>>>0)%(r>>>0)|0}}else{v=d;w=k}while(0);k=(f[a>>2]|0)+(w<<2)|0;w=f[k>>2]|0;if(!w){d=a+8|0;f[q>>2]=f[d>>2];f[d>>2]=q;f[k>>2]=d;d=f[q>>2]|0;if(d|0){k=f[d+4>>2]|0;d=v+-1|0;if(d&v)if(k>>>0>>0)x=k;else x=(k>>>0)%(v>>>0)|0;else x=k&d;y=(f[a>>2]|0)+(x<<2)|0;z=30}}else{f[q>>2]=f[w>>2];y=w;z=30}if((z|0)==30)f[y>>2]=q;f[i>>2]=(f[i>>2]|0)+1;o=q;p=o+12|0;return p|0}function ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;$c(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=262144;if(d){d=c;c=262144;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<16)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Rf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function le(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;ad(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=131072;if(d){d=c;c=131072;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<15)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Sf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function me(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;bd(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=32768;if(d){d=c;c=32768;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<13)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}Uf(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function ne(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;cd(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}_f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function oe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;dd(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}_f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function pe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;ed(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}_f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function qe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;fd(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}_f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function re(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;gd(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}_f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function se(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;hd(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}_f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function te(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;id(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}_f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function ue(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;g=u;u=u+64|0;h=g+48|0;i=g;j=d+1|0;f[h>>2]=0;k=h+4|0;f[k>>2]=0;f[h+8>>2]=0;do if(j)if(j>>>0>536870911)aq(h);else{l=ln(j<<3)|0;f[h>>2]=l;m=l+(j<<3)|0;f[h+8>>2]=m;sj(l|0,0,(d<<3)+8|0)|0;f[k>>2]=m;n=l;o=m;break}else{n=0;o=0}while(0);d=(c|0)>0;if(d){j=0;do{m=n+(f[a+(j<<2)>>2]<<3)|0;l=m;p=Vn(f[l>>2]|0,f[l+4>>2]|0,1,0)|0;l=m;f[l>>2]=p;f[l+4>>2]=I;j=j+1|0}while((j|0)!=(c|0))}j=i+40|0;l=j;f[l>>2]=0;f[l+4>>2]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;f[i+16>>2]=0;f[i+20>>2]=0;jd(i,n,o-n>>3,e)|0;n=i+16|0;o=Tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;n=(f[e+4>>2]|0)-(f[e>>2]|0)|0;l=j;f[l>>2]=n;f[l+4>>2]=0;l=Vn(o|0,I|0,39,0)|0;o=Yn(l|0,I|0,3)|0;l=Vn(o|0,I|0,8,0)|0;o=Vn(l|0,I|0,n|0,0)|0;Cl(e,o,I);o=i+24|0;f[o>>2]=(f[e>>2]|0)+(f[j>>2]|0);j=i+28|0;f[j>>2]=0;n=i+32|0;f[n>>2]=16384;if(d){d=c;c=16384;do{l=d;d=d+-1|0;p=f[a+(d<<2)>>2]|0;m=f[i>>2]|0;q=f[m+(p<<3)>>2]|0;r=q<<10;if(c>>>0>>0)s=c;else{t=c;while(1){v=f[o>>2]|0;w=f[j>>2]|0;f[j>>2]=w+1;b[v+w>>0]=t;w=(f[n>>2]|0)>>>8;f[n>>2]=w;if(w>>>0>>0){s=w;break}else t=w}}c=(((s>>>0)/(q>>>0)|0)<<12)+((s>>>0)%(q>>>0)|0)+(f[m+(p<<3)+4>>2]|0)|0;f[n>>2]=c}while((l|0)>1)}_f(i,e);e=f[i>>2]|0;if(e|0){c=i+4|0;i=f[c>>2]|0;if((i|0)!=(e|0))f[c>>2]=i+(~((i+-8-e|0)>>>3)<<3);Oq(e)}e=f[h>>2]|0;if(!e){u=g;return 1}h=f[k>>2]|0;if((h|0)!=(e|0))f[k>>2]=h+(~((h+-8-e|0)>>>3)<<3);Oq(e);u=g;return 1}function ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;c=u;u=u+16|0;d=c+4|0;e=c;f[a+64>>2]=b;g=a+128|0;f[g>>2]=2;h=a+132|0;f[h>>2]=7;i=Qa[f[(f[b>>2]|0)+32>>2]&127](b)|0;b=a+88|0;f[b>>2]=i;j=a+104|0;k=(f[i+28>>2]|0)-(f[i+24>>2]|0)>>2;i=a+108|0;l=f[i>>2]|0;m=f[j>>2]|0;n=l-m>>2;o=m;p=l;if(k>>>0<=n>>>0)if(k>>>0>>0?(q=o+(k<<2)|0,(q|0)!=(p|0)):0){o=p+(~((p+-4-q|0)>>>2)<<2)|0;f[i>>2]=o;r=o;s=m}else{r=l;s=m}else{Ci(j,k-n|0);r=f[i>>2]|0;s=f[j>>2]|0}if((r|0)!=(s|0)){s=0;do{r=f[b>>2]|0;f[e>>2]=s;f[d>>2]=f[e>>2];n=hh(r,d)|0;r=f[j>>2]|0;f[r+(s<<2)>>2]=n;s=s+1|0}while(s>>>0<(f[i>>2]|0)-r>>2>>>0)}i=a+92|0;s=f[b>>2]|0;j=f[s>>2]|0;d=(f[s+4>>2]|0)-j>>2;e=a+96|0;r=f[e>>2]|0;n=f[i>>2]|0;k=r-n>>2;m=n;n=r;if(d>>>0<=k>>>0)if(d>>>0>>0?(r=m+(d<<2)|0,(r|0)!=(n|0)):0){f[e>>2]=n+(~((n+-4-r|0)>>>2)<<2);t=s;v=j}else{t=s;v=j}else{Ci(i,d-k|0);k=f[b>>2]|0;t=k;v=f[k>>2]|0}k=f[t+4>>2]|0;if((k|0)!=(v|0)){v=f[i>>2]|0;i=f[t>>2]|0;t=k-i>>2;k=0;do{f[v+(k<<2)>>2]=f[i+(k<<2)>>2];k=k+1|0}while(k>>>0>>0)}t=(f[h>>2]|0)-(f[g>>2]|0)+1|0;g=a+136|0;h=a+140|0;a=f[h>>2]|0;k=f[g>>2]|0;i=(a-k|0)/12|0;v=a;if(t>>>0>i>>>0){Kf(g,t-i|0);u=c;return 1}if(t>>>0>=i>>>0){u=c;return 1}i=k+(t*12|0)|0;if((i|0)==(v|0)){u=c;return 1}else w=v;while(1){v=w+-12|0;f[h>>2]=v;t=f[v>>2]|0;if(!t)x=v;else{v=w+-8|0;k=f[v>>2]|0;if((k|0)!=(t|0))f[v>>2]=k+(~((k+-4-t|0)>>>2)<<2);Oq(t);x=f[h>>2]|0}if((x|0)==(i|0))break;else w=x}u=c;return 1}function we(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=f[b>>2]|0;g=f[b+4>>2]|0;h=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-g|0;c=e;if((h|0)<=0){i=d+4|0;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}if(!g){e=d+4|0;m=h;n=e;o=f[e>>2]|0;p=c}else{e=32-g|0;q=(h|0)<(e|0)?h:e;r=-1>>>(e-q|0)&-1<>2];e=d+4|0;s=f[e>>2]|0;t=32-s|0;u=t>>>0>>0?t:q;v=f[d>>2]|0;w=f[v>>2]&~(-1>>>(t-u|0)&-1<>2]=w;s=f[e>>2]|0;f[v>>2]=(s>>>0>g>>>0?r<>>(g-s|0))|w;w=(f[e>>2]|0)+u|0;s=v+(w>>>5<<2)|0;f[d>>2]=s;v=w&31;f[e>>2]=v;w=q-u|0;if((w|0)>0){f[s>>2]=f[s>>2]&~(-1>>>(32-w|0))|r>>>(g+u|0);f[e>>2]=w;x=w}else x=v;v=c+4|0;f[b>>2]=v;m=h-q|0;n=e;o=x;p=v}v=32-o|0;x=-1<31){o=~x;e=f[d>>2]|0;q=~m;h=m+((q|0)>-64?q:-64)+32|0;q=(h>>>5)+1|0;c=m+-32-(h&-32)|0;h=m;w=p;u=f[e>>2]|0;g=e;while(1){r=f[w>>2]|0;s=u&o;f[g>>2]=s;f[g>>2]=s|r<>2];g=g+4|0;u=f[g>>2]&x|r>>>v;f[g>>2]=u;if((h|0)<=63)break;else{h=h+-32|0;w=w+4|0}}w=p+(q<<2)|0;f[b>>2]=w;f[d>>2]=e+(q<<2);y=c;z=w}else{y=m;z=p}if((y|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}p=f[z>>2]&-1>>>(32-y|0);z=(v|0)<(y|0)?v:y;m=f[d>>2]|0;w=f[m>>2]&~(-1<>2]&-1>>>(v-z|0));f[m>>2]=w;f[m>>2]=w|p<>2];w=(f[n>>2]|0)+z|0;v=m+(w>>>5<<2)|0;f[d>>2]=v;f[n>>2]=w&31;w=y-z|0;if((w|0)<=0){i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}f[v>>2]=f[v>>2]&~(-1>>>(32-w|0))|p>>>z;f[n>>2]=w;i=n;j=f[d>>2]|0;f[a>>2]=j;k=a+4|0;l=f[i>>2]|0;f[k>>2]=l;return}function xe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[b>>2]|0;g=b+4|0;h=f[g>>2]|0;i=((f[c>>2]|0)-e<<3)+(f[c+4>>2]|0)-h|0;c=e;if((i|0)<=0){j=d+4|0;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}if(!h){e=d+4|0;n=i;o=e;p=c;q=f[e>>2]|0}else{e=32-h|0;r=(i|0)<(e|0)?i:e;s=-1>>>(e-r|0)&-1<>2];c=d+4|0;h=f[c>>2]|0;e=32-h|0;t=e>>>0>>0?e:r;u=f[d>>2]|0;v=f[u>>2]&~(-1>>>(e-t|0)&-1<>2]=v;h=f[c>>2]|0;e=f[g>>2]|0;f[u>>2]=(h>>>0>e>>>0?s<>>(e-h|0))|v;v=(f[c>>2]|0)+t|0;h=u+(v>>>5<<2)|0;f[d>>2]=h;u=v&31;f[c>>2]=u;v=r-t|0;if((v|0)>0){e=f[h>>2]&~(-1>>>(32-v|0));f[h>>2]=e;f[h>>2]=e|s>>>((f[g>>2]|0)+t|0);f[c>>2]=v;w=v}else w=u;u=(f[b>>2]|0)+4|0;f[b>>2]=u;n=i-r|0;o=c;p=u;q=w}w=32-q|0;u=-1<31){q=~u;c=~n;r=n+((c|0)>-64?c:-64)+32&-32;c=n;i=p;while(1){v=f[i>>2]|0;t=f[d>>2]|0;g=f[t>>2]&q;f[t>>2]=g;f[t>>2]=g|v<>2];g=t+4|0;f[d>>2]=g;f[g>>2]=f[g>>2]&u|v>>>w;i=(f[b>>2]|0)+4|0;f[b>>2]=i;if((c|0)<=63)break;else c=c+-32|0}x=n+-32-r|0;y=i}else{x=n;y=p}if((x|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}p=f[y>>2]&-1>>>(32-x|0);y=(w|0)<(x|0)?w:x;n=f[d>>2]|0;i=f[n>>2]&~(-1<>2]&-1>>>(w-y|0));f[n>>2]=i;f[n>>2]=i|p<>2];i=(f[o>>2]|0)+y|0;w=n+(i>>>5<<2)|0;f[d>>2]=w;f[o>>2]=i&31;i=x-y|0;if((i|0)<=0){j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}f[w>>2]=f[w>>2]&~(-1>>>(32-i|0))|p>>>y;f[o>>2]=i;j=o;k=f[d>>2]|0;f[a>>2]=k;l=a+4|0;m=f[j>>2]|0;f[l>>2]=m;return}function ye(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+9|0;i=d+8|0;j=f[(f[a+184>>2]|0)+(c<<2)>>2]&255;b[h>>0]=j;c=a+4|0;k=f[(f[c>>2]|0)+44>>2]|0;l=k+16|0;m=f[l+4>>2]|0;if((m|0)>0|(m|0)==0&(f[l>>2]|0)>>>0>0)n=j;else{f[g>>2]=f[k+4>>2];f[e>>2]=f[g>>2];Me(k,e,h,h+1|0)|0;n=b[h>>0]|0}a:do if(n<<24>>24>-1){k=a+172|0;j=f[(f[k>>2]|0)+((n<<24>>24)*136|0)>>2]|0;l=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;m=b[h>>0]|0;o=f[k>>2]|0;k=f[o+(m*136|0)+132>>2]|0;switch(f[(f[(f[l>>2]|0)+84>>2]|0)+(j<<2)>>2]|0){case 0:{p=k;q=7;break a;break}case 1:{if(b[o+(m*136|0)+28>>0]|0){p=k;q=7;break a}break}default:{}}m=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=1;o=m+16|0;j=f[o+4>>2]|0;if(!((j|0)>0|(j|0)==0&(f[o>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Me(m,e,i,i+1|0)|0}r=k}else{p=f[a+68>>2]|0;q=7}while(0);if((q|0)==7){q=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=0;a=q+16|0;h=f[a+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[q+4>>2];f[e>>2]=f[g>>2];Me(q,e,i,i+1|0)|0}r=p}p=f[(f[c>>2]|0)+44>>2]|0;b[i>>0]=r;r=p+16|0;c=f[r+4>>2]|0;if((c|0)>0|(c|0)==0&(f[r>>2]|0)>>>0>0){u=d;return 1}f[g>>2]=f[p+4>>2];f[e>>2]=f[g>>2];Me(p,e,i,i+1|0)|0;u=d;return 1}function ze(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;k=a+60|0;f[a+64>>2]=g;g=a+8|0;Mh(g,b,d,e);d=a+56|0;l=f[d>>2]|0;m=f[l+4>>2]|0;n=f[l>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+68|0;q=a+16|0;r=a+32|0;s=a+12|0;t=a+28|0;v=a+20|0;w=a+24|0;if(m-n>>2>>>0>p>>>0){x=p;y=n}else{z=l;aq(z)}while(1){f[j>>2]=f[y+(x<<2)>>2];f[i>>2]=f[j>>2];ub(k,i,b,x);l=X(x,e)|0;n=b+(l<<2)|0;p=c+(l<<2)|0;l=f[g>>2]|0;if((l|0)>0){m=0;a=o;A=l;while(1){if((A|0)>0){l=0;do{B=f[a+(l<<2)>>2]|0;C=f[q>>2]|0;if((B|0)>(C|0)){D=f[r>>2]|0;f[D+(l<<2)>>2]=C;E=D}else{D=f[s>>2]|0;C=f[r>>2]|0;f[C+(l<<2)>>2]=(B|0)<(D|0)?D:B;E=C}l=l+1|0}while((l|0)<(f[g>>2]|0));F=E}else F=f[r>>2]|0;l=(f[n+(m<<2)>>2]|0)-(f[F+(m<<2)>>2]|0)|0;C=p+(m<<2)|0;f[C>>2]=l;if((l|0)>=(f[t>>2]|0)){if((l|0)>(f[w>>2]|0)){G=l-(f[v>>2]|0)|0;H=18}}else{G=(f[v>>2]|0)+l|0;H=18}if((H|0)==18){H=0;f[C>>2]=G}m=m+1|0;A=f[g>>2]|0;if((m|0)>=(A|0))break;else a=F}}x=x+-1|0;if((x|0)<=-1){H=3;break}a=f[d>>2]|0;y=f[a>>2]|0;if((f[a+4>>2]|0)-y>>2>>>0<=x>>>0){z=a;H=4;break}}if((H|0)==3){u=h;return 1}else if((H|0)==4)aq(z);return 0}function Ae(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;k=a+60|0;f[a+64>>2]=g;g=a+8|0;Mh(g,b,d,e);d=a+56|0;l=f[d>>2]|0;m=f[l+4>>2]|0;n=f[l>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+68|0;q=a+16|0;r=a+32|0;s=a+12|0;t=a+28|0;v=a+20|0;w=a+24|0;if(m-n>>2>>>0>p>>>0){x=p;y=n}else{z=l;aq(z)}while(1){f[j>>2]=f[y+(x<<2)>>2];f[i>>2]=f[j>>2];tb(k,i,b,x);l=X(x,e)|0;n=b+(l<<2)|0;p=c+(l<<2)|0;l=f[g>>2]|0;if((l|0)>0){m=0;a=o;A=l;while(1){if((A|0)>0){l=0;do{B=f[a+(l<<2)>>2]|0;C=f[q>>2]|0;if((B|0)>(C|0)){D=f[r>>2]|0;f[D+(l<<2)>>2]=C;E=D}else{D=f[s>>2]|0;C=f[r>>2]|0;f[C+(l<<2)>>2]=(B|0)<(D|0)?D:B;E=C}l=l+1|0}while((l|0)<(f[g>>2]|0));F=E}else F=f[r>>2]|0;l=(f[n+(m<<2)>>2]|0)-(f[F+(m<<2)>>2]|0)|0;C=p+(m<<2)|0;f[C>>2]=l;if((l|0)>=(f[t>>2]|0)){if((l|0)>(f[w>>2]|0)){G=l-(f[v>>2]|0)|0;H=18}}else{G=(f[v>>2]|0)+l|0;H=18}if((H|0)==18){H=0;f[C>>2]=G}m=m+1|0;A=f[g>>2]|0;if((m|0)>=(A|0))break;else a=F}}x=x+-1|0;if((x|0)<=-1){H=3;break}a=f[d>>2]|0;y=f[a>>2]|0;if((f[a+4>>2]|0)-y>>2>>>0<=x>>>0){z=a;H=4;break}}if((H|0)==3){u=h;return 1}else if((H|0)==4)aq(z);return 0}function Be(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+12|0;g=f[e>>2]|0;h=(f[g+4>>2]|0)-(f[g>>2]|0)>>2;if(!h){u=b;return 1}i=a+152|0;j=a+140|0;k=a+144|0;l=a+148|0;a=0;m=g;while(1){f[d>>2]=(a>>>0)/3|0;f[c>>2]=f[d>>2];if(!(_j(m,c)|0)?(g=f[e>>2]|0,(f[(f[g+12>>2]|0)+(a<<2)>>2]|0)==-1):0){n=a+1|0;o=((n>>>0)%3|0|0)==0?a+-2|0:n;if((o|0)==-1)p=-1;else p=f[(f[g>>2]|0)+(o<<2)>>2]|0;o=f[i>>2]|0;if((f[o+(p<<2)>>2]|0)==-1){g=f[k>>2]|0;n=f[l>>2]|0;if((g|0)==(n<<5|0)){if((g+1|0)<0){q=11;break}r=n<<6;n=g+32&-32;vi(j,g>>>0<1073741823?(r>>>0>>0?n:r):2147483647);s=f[k>>2]|0;t=f[i>>2]|0}else{s=g;t=o}f[k>>2]=s+1;o=(f[j>>2]|0)+(s>>>5<<2)|0;f[o>>2]=f[o>>2]&~(1<<(s&31));o=t+(p<<2)|0;if((f[o>>2]|0)==-1){r=a;n=o;while(1){f[n>>2]=g;o=r+1|0;a:do if((r|0)!=-1?(v=((o>>>0)%3|0|0)==0?r+-2|0:o,(v|0)!=-1):0){w=f[e>>2]|0;x=f[w+12>>2]|0;y=v;while(1){v=f[x+(y<<2)>>2]|0;if((v|0)==-1)break;z=v+1|0;A=((z>>>0)%3|0|0)==0?v+-2|0:z;if((A|0)==-1){B=-1;C=-1;break a}else y=A}x=y+1|0;A=((x>>>0)%3|0|0)==0?y+-2|0:x;if((A|0)==-1){B=y;C=-1}else{B=y;C=f[(f[w>>2]|0)+(A<<2)>>2]|0}}else{B=-1;C=-1}while(0);n=t+(C<<2)|0;if((f[n>>2]|0)!=-1)break;else r=B}}}}r=a+1|0;if(r>>>0>=h>>>0){q=3;break}a=r;m=f[e>>2]|0}if((q|0)==3){u=b;return 1}else if((q|0)==11)aq(j);return 0}function Ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=u;u=u+32|0;e=d+8|0;g=d;h=a+4|0;i=f[h>>2]|0;if(i>>>0>=b>>>0){f[h>>2]=b;u=d;return}j=a+8|0;k=f[j>>2]|0;l=k<<5;m=b-i|0;if(l>>>0>>0|i>>>0>(l-m|0)>>>0){f[e>>2]=0;n=e+4|0;f[n>>2]=0;o=e+8|0;f[o>>2]=0;if((b|0)<0)aq(a);p=k<<6;k=b+31&-32;vi(e,l>>>0<1073741823?(p>>>0>>0?k:p):2147483647);p=f[h>>2]|0;f[n>>2]=p+m;k=f[a>>2]|0;l=k;q=f[e>>2]|0;r=(l+(p>>>5<<2)-k<<3)+(p&31)|0;if((r|0)>0){p=r>>>5;im(q|0,k|0,p<<2|0)|0;k=r&31;r=q+(p<<2)|0;s=r;if(!k){t=0;v=s}else{w=-1>>>(32-k|0);f[r>>2]=f[r>>2]&~w|f[l+(p<<2)>>2]&w;t=k;v=s}}else{t=0;v=q}f[g>>2]=v;f[g+4>>2]=t;t=g;g=f[t>>2]|0;v=f[t+4>>2]|0;t=f[a>>2]|0;f[a>>2]=f[e>>2];f[e>>2]=t;e=f[h>>2]|0;f[h>>2]=f[n>>2];f[n>>2]=e;e=f[j>>2]|0;f[j>>2]=f[o>>2];f[o>>2]=e;if(t|0)Oq(t);x=g;y=v}else{v=(f[a>>2]|0)+(i>>>5<<2)|0;f[h>>2]=b;x=v;y=i&31}if(!m){u=d;return}i=(y|0)==0;v=x;if(c){if(i){z=m;A=x;B=v}else{c=32-y|0;b=c>>>0>m>>>0?m:c;f[v>>2]=f[v>>2]|-1>>>(c-b|0)&-1<>>5;sj(A|0,-1,c<<2|0)|0;A=z&31;z=B+(c<<2)|0;if(!A){u=d;return}f[z>>2]=f[z>>2]|-1>>>(32-A|0);u=d;return}else{if(i){C=m;D=x;E=v}else{x=32-y|0;i=x>>>0>m>>>0?m:x;f[v>>2]=f[v>>2]&~(-1>>>(x-i|0)&-1<>>5;sj(D|0,0,y<<2|0)|0;D=C&31;C=E+(y<<2)|0;if(!D){u=d;return}f[C>>2]=f[C>>2]&~(-1>>>(32-D|0));u=d;return}}function De(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;a=u;u=u+48|0;g=a+36|0;h=a+24|0;i=a+12|0;j=a;if(!c){k=0;u=a;return k|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;l=Gj(d)|0;if(l>>>0>4294967279)aq(g);if(l>>>0<11){b[g+11>>0]=l;if(!l)m=g;else{n=g;o=7}}else{p=l+16&-16;q=ln(p)|0;f[g>>2]=q;f[g+8>>2]=p|-2147483648;f[g+4>>2]=l;n=q;o=7}if((o|0)==7){kh(n|0,d|0,l|0)|0;m=n}b[m+l>>0]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;l=Gj(e)|0;if(l>>>0>4294967279)aq(h);if(l>>>0<11){b[h+11>>0]=l;if(!l)r=h;else{s=h;o=13}}else{m=l+16&-16;n=ln(m)|0;f[h>>2]=n;f[h+8>>2]=m|-2147483648;f[h+4>>2]=l;s=n;o=13}if((o|0)==13){kh(s|0,e|0,l|0)|0;r=s}b[r+l>>0]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;l=Gj(d)|0;if(l>>>0>4294967279)aq(i);if(l>>>0<11){b[i+11>>0]=l;if(!l)t=i;else{v=i;o=19}}else{r=l+16&-16;s=ln(r)|0;f[i>>2]=s;f[i+8>>2]=r|-2147483648;f[i+4>>2]=l;v=s;o=19}if((o|0)==19){kh(v|0,d|0,l|0)|0;t=v}b[t+l>>0]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;l=Gj(e)|0;if(l>>>0>4294967279)aq(j);if(l>>>0<11){b[j+11>>0]=l;if(!l)w=j;else{x=j;o=25}}else{t=l+16&-16;v=ln(t)|0;f[j>>2]=v;f[j+8>>2]=t|-2147483648;f[j+4>>2]=l;x=v;o=25}if((o|0)==25){kh(x|0,e|0,l|0)|0;w=x}b[w+l>>0]=0;mn(c,i,j);if((b[j+11>>0]|0)<0)Oq(f[j>>2]|0);if((b[i+11>>0]|0)<0)Oq(f[i>>2]|0);if((b[h+11>>0]|0)<0)Oq(f[h>>2]|0);if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);k=1;u=a;return k|0}function Ee(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=f[c>>2];d=c+4|0;f[a+4>>2]=f[d>>2];e=c+8|0;f[a+8>>2]=f[e>>2];g=c+12|0;f[a+12>>2]=f[g>>2];f[d>>2]=0;f[e>>2]=0;f[g>>2]=0;g=c+16|0;f[a+16>>2]=f[g>>2];e=c+20|0;f[a+20>>2]=f[e>>2];d=c+24|0;f[a+24>>2]=f[d>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;b[a+28>>0]=b[c+28>>0]|0;d=a+32|0;e=c+32|0;f[d>>2]=0;g=a+36|0;f[g>>2]=0;f[a+40>>2]=0;f[d>>2]=f[e>>2];d=c+36|0;f[g>>2]=f[d>>2];g=c+40|0;f[a+40>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;e=a+44|0;d=c+44|0;f[e>>2]=0;g=a+48|0;f[g>>2]=0;f[a+52>>2]=0;f[e>>2]=f[d>>2];e=c+48|0;f[g>>2]=f[e>>2];g=c+52|0;f[a+52>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+56|0;e=c+56|0;f[d>>2]=0;g=a+60|0;f[g>>2]=0;f[a+64>>2]=0;f[d>>2]=f[e>>2];d=c+60|0;f[g>>2]=f[d>>2];g=c+64|0;f[a+64>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+68>>2]=f[c+68>>2];f[a+72>>2]=f[c+72>>2];e=a+76|0;d=c+76|0;f[e>>2]=0;g=a+80|0;f[g>>2]=0;f[a+84>>2]=0;f[e>>2]=f[d>>2];e=c+80|0;f[g>>2]=f[e>>2];g=c+84|0;f[a+84>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+88|0;e=c+88|0;f[d>>2]=0;g=a+92|0;f[g>>2]=0;f[a+96>>2]=0;f[d>>2]=f[e>>2];d=c+92|0;f[g>>2]=f[d>>2];g=c+96|0;f[a+96>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;b[a+100>>0]=b[c+100>>0]|0;e=a+104|0;d=c+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;f[e>>2]=f[d>>2];e=c+108|0;f[g>>2]=f[e>>2];g=c+112|0;f[a+112>>2]=f[g>>2];f[g>>2]=0;f[e>>2]=0;f[d>>2]=0;d=a+116|0;e=c+116|0;f[d>>2]=0;g=a+120|0;f[g>>2]=0;f[a+124>>2]=0;f[d>>2]=f[e>>2];d=c+120|0;f[g>>2]=f[d>>2];g=c+124|0;f[a+124>>2]=f[g>>2];f[g>>2]=0;f[d>>2]=0;f[e>>2]=0;f[a+128>>2]=f[c+128>>2];f[a+132>>2]=f[c+132>>2];return}function Fe(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=u;u=u+48|0;i=h+36|0;j=h+24|0;k=h+8|0;l=h+4|0;m=h;n=e+4|0;Rh(i,c,(f[n>>2]|0)-(f[e>>2]|0)>>2,2,g,d,1);g=f[i>>2]|0;o=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;f[k>>2]=-1;f[k+4>>2]=-1;f[k+8>>2]=-1;f[k+12>>2]=-1;p=f[c+4>>2]|0;if((p+-2|0)>>>0<=28){f[k>>2]=p;c=1<>2]=c+-1;p=c+-2|0;f[k+8>>2]=p;f[k+12>>2]=(p|0)/2|0;p=f[e>>2]|0;if((f[n>>2]|0)==(p|0))q=g;else{c=d+84|0;r=d+68|0;s=d+48|0;t=d+40|0;v=0;w=0;x=p;while(1){p=f[x+(v<<2)>>2]|0;if(!(b[c>>0]|0))y=f[(f[r>>2]|0)+(p<<2)>>2]|0;else y=p;p=s;z=f[p>>2]|0;A=f[p+4>>2]|0;p=t;B=f[p>>2]|0;C=un(B|0,f[p+4>>2]|0,y|0,0)|0;p=Vn(C|0,I|0,z|0,A|0)|0;kh(j|0,(f[f[d>>2]>>2]|0)+p|0,B|0)|0;rf(k,j,l,m);f[o+(w<<2)>>2]=f[l>>2];f[o+((w|1)<<2)>>2]=f[m>>2];v=v+1|0;x=f[e>>2]|0;if(v>>>0>=(f[n>>2]|0)-x>>2>>>0)break;else w=w+2|0}q=f[i>>2]|0}f[a>>2]=q;f[i>>2]=0;u=h;return}f[a>>2]=0;f[i>>2]=0;if(!g){u=h;return}i=g+88|0;a=f[i>>2]|0;f[i>>2]=0;if(a|0){i=f[a+8>>2]|0;if(i|0){q=a+12|0;if((f[q>>2]|0)!=(i|0))f[q>>2]=i;Oq(i)}Oq(a)}a=f[g+68>>2]|0;if(a|0){i=g+72|0;q=f[i>>2]|0;if((q|0)!=(a|0))f[i>>2]=q+(~((q+-4-a|0)>>>2)<<2);Oq(a)}a=g+64|0;q=f[a>>2]|0;f[a>>2]=0;if(q|0){a=f[q>>2]|0;if(a|0){i=q+4|0;if((f[i>>2]|0)!=(a|0))f[i>>2]=a;Oq(a)}Oq(q)}Oq(g);u=h;return}function Ge(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/136|0)>>>0>=c>>>0){i=c;j=h;do{f[j>>2]=-1;Ok(j+4|0);b[j+100>>0]=1;k=j+104|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;j=(f[g>>2]|0)+136|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=(h-i|0)/136|0;h=j+c|0;if(h>>>0>31580641)aq(a);k=(e-i|0)/136|0;i=k<<1;e=k>>>0<15790320?(i>>>0>>0?h:i):31580641;do if(e)if(e>>>0>31580641){i=ra(8)|0;Oo(i,16035);f[i>>2]=7256;va(i|0,1112,110)}else{l=ln(e*136|0)|0;break}else l=0;while(0);i=l+(j*136|0)|0;j=i;h=l+(e*136|0)|0;e=c;c=j;l=i;do{f[l>>2]=-1;Ok(l+4|0);b[l+100>>0]=1;k=l+104|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;l=c+136|0;c=l;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;l=f[g>>2]|0;if((l|0)==(e|0)){m=j;n=e;o=e}else{k=l;l=j;j=i;do{k=k+-136|0;Ee(j+-136|0,k);j=l+-136|0;l=j}while((k|0)!=(e|0));m=l;n=f[a>>2]|0;o=f[g>>2]|0}f[a>>2]=m;f[g>>2]=c;f[d>>2]=h;h=n;if((o|0)!=(h|0)){d=o;do{o=f[d+-20>>2]|0;if(o|0){c=d+-16|0;g=f[c>>2]|0;if((g|0)!=(o|0))f[c>>2]=g+(~((g+-4-o|0)>>>2)<<2);Oq(o)}o=f[d+-32>>2]|0;if(o|0){g=d+-28|0;c=f[g>>2]|0;if((c|0)!=(o|0))f[g>>2]=c+(~((c+-4-o|0)>>>2)<<2);Oq(o)}Mi(d+-132|0);d=d+-136|0}while((d|0)!=(h|0))}if(!n)return;Oq(n);return}function He(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=f[b>>2]|0;b=a+12|0;d=(c|0)==-1;e=c+1|0;do if(!d){g=((e>>>0)%3|0|0)==0?c+-2|0:e;if(!((c>>>0)%3|0)){h=g;i=c+2|0;break}else{h=g;i=c+-1|0;break}}else{h=-1;i=-1}while(0);e=d?-1:(c>>>0)/3|0;g=a+28|0;j=(f[g>>2]|0)+(e>>>5<<2)|0;f[j>>2]=1<<(e&31)|f[j>>2];j=a+172|0;e=a+176|0;k=a+280|0;if(((!d?(d=f[(f[(f[b>>2]|0)+12>>2]|0)+(c<<2)>>2]|0,(d|0)!=-1):0)?(a=(d>>>0)/3|0,(f[(f[g>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0):0)?(a=f[j>>2]|0,(f[e>>2]|0)!=(a|0)):0){d=c>>>5;l=1<<(c&31);c=0;m=a;do{a=(f[k>>2]|0)+(c<<5)|0;if(!(l&f[(f[m+(c*136|0)+4>>2]|0)+(d<<2)>>2]))fj(a,0);else fj(a,1);c=c+1|0;m=f[j>>2]|0}while(c>>>0<(((f[e>>2]|0)-m|0)/136|0)>>>0)}if((((h|0)!=-1?(m=f[(f[(f[b>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,(m|0)!=-1):0)?(c=(m>>>0)/3|0,(f[(f[g>>2]|0)+(c>>>5<<2)>>2]&1<<(c&31)|0)==0):0)?(c=f[j>>2]|0,(f[e>>2]|0)!=(c|0)):0){m=h>>>5;d=1<<(h&31);h=0;l=c;do{c=(f[k>>2]|0)+(h<<5)|0;if(!(d&f[(f[l+(h*136|0)+4>>2]|0)+(m<<2)>>2]))fj(c,0);else fj(c,1);h=h+1|0;l=f[j>>2]|0}while(h>>>0<(((f[e>>2]|0)-l|0)/136|0)>>>0)}if((i|0)==-1)return 1;l=f[(f[(f[b>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;if((l|0)==-1)return 1;b=(l>>>0)/3|0;if(f[(f[g>>2]|0)+(b>>>5<<2)>>2]&1<<(b&31)|0)return 1;b=f[j>>2]|0;if((f[e>>2]|0)==(b|0))return 1;g=i>>>5;l=1<<(i&31);i=0;h=b;do{b=(f[k>>2]|0)+(i<<5)|0;if(!(l&f[(f[h+(i*136|0)+4>>2]|0)+(g<<2)>>2]))fj(b,0);else fj(b,1);i=i+1|0;h=f[j>>2]|0}while(i>>>0<(((f[e>>2]|0)-h|0)/136|0)>>>0);return 1}function Ie(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+4|0;j=a+8|0;ci((f[j>>2]|0)-(f[i>>2]|0)>>2,c)|0;k=f[i>>2]|0;if((f[j>>2]|0)==(k|0)){u=d;return 1}l=a+32|0;a=c+16|0;m=c+4|0;n=h+1|0;o=h+1|0;p=h+1|0;q=h+1|0;r=0;s=k;do{k=f[(f[(f[l>>2]|0)+8>>2]|0)+(f[s+(r<<2)>>2]<<2)>>2]|0;b[h>>0]=f[k+56>>2];t=a;v=f[t>>2]|0;w=f[t+4>>2]|0;if((w|0)>0|(w|0)==0&v>>>0>0){x=w;y=v}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,q)|0;v=a;x=f[v+4>>2]|0;y=f[v>>2]|0}b[h>>0]=f[k+28>>2];if((x|0)>0|(x|0)==0&y>>>0>0){z=x;A=y}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,p)|0;v=a;z=f[v+4>>2]|0;A=f[v>>2]|0}b[h>>0]=b[k+24>>0]|0;if((z|0)>0|(z|0)==0&A>>>0>0){B=z;C=A}else{f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,o)|0;v=a;B=f[v+4>>2]|0;C=f[v>>2]|0}b[h>>0]=b[k+32>>0]|0;if(!((B|0)>0|(B|0)==0&C>>>0>0)){f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,n)|0}ci(f[k+60>>2]|0,c)|0;r=r+1|0;s=f[i>>2]|0}while(r>>>0<(f[j>>2]|0)-s>>2>>>0);u=d;return 1}function Je(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Oa,D=Oa,E=Oa,F=Oa;h=u;u=u+16|0;i=h;j=e+4|0;k=b[d+24>>0]|0;l=k<<24>>24;Rh(a,c,(f[j>>2]|0)-(f[e>>2]|0)>>2,l,g,d,1);g=f[a>>2]|0;a=(f[f[g>>2]>>2]|0)+(f[g+48>>2]|0)|0;g=f[c+4>>2]|0;Ap(i);Ko(i,$(n[c+20>>2]),(1<>>0>1073741823?-1:l<<2)|0;m=f[j>>2]|0;j=f[e>>2]|0;e=j;if((m|0)==(j|0)){Mq(g);u=h;return}o=d+68|0;p=d+48|0;q=d+40|0;r=c+8|0;c=i+4|0;s=(b[d+84>>0]|0)==0;t=m-j>>2;if(k<<24>>24>0){v=0;w=0}else{k=0;do{j=f[e+(k<<2)>>2]|0;if(s)x=f[(f[o>>2]|0)+(j<<2)>>2]|0;else x=j;j=p;m=f[j>>2]|0;y=f[j+4>>2]|0;j=q;z=f[j>>2]|0;A=un(z|0,f[j+4>>2]|0,x|0,0)|0;j=Vn(A|0,I|0,m|0,y|0)|0;kh(g|0,(f[f[d>>2]>>2]|0)+j|0,z|0)|0;k=k+1|0}while(k>>>0>>0);Mq(g);u=h;return}while(1){k=f[e+(v<<2)>>2]|0;if(s)B=f[(f[o>>2]|0)+(k<<2)>>2]|0;else B=k;k=p;x=f[k>>2]|0;z=f[k+4>>2]|0;k=q;j=f[k>>2]|0;y=un(j|0,f[k+4>>2]|0,B|0,0)|0;k=Vn(y|0,I|0,x|0,z|0)|0;kh(g|0,(f[f[d>>2]>>2]|0)+k|0,j|0)|0;j=f[r>>2]|0;C=$(n[i>>2]);k=0;z=w;while(1){D=$(n[g+(k<<2)>>2]);E=$(D-$(n[j+(k<<2)>>2]));x=E<$(0.0);D=$(-E);F=$((x?D:E)/C);y=~~$(J($($(F*$(f[c>>2]|0))+$(.5))));f[a+(z<<2)>>2]=x?0-y|0:y;k=k+1|0;if((k|0)==(l|0))break;else z=z+1|0}v=v+1|0;if(v>>>0>=t>>>0)break;else w=w+l|0}Mq(g);u=h;return}function Ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;d=u;u=u+32|0;e=d+16|0;g=d+12|0;h=d+8|0;i=d+4|0;j=d;lp(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;k=a+24|0;lp(k);if((a|0)!=(b|0)){f[h>>2]=f[b>>2];f[i>>2]=b+4;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Oc(a,g,e)}l=b+24|0;if((k|0)!=(l|0)){f[h>>2]=f[l>>2];f[i>>2]=b+28;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Oc(k,g,e)}f[j>>2]=0;k=c+8|0;l=c+12|0;c=f[l>>2]|0;m=f[k>>2]|0;if((c-m|0)<=0){u=d;return}n=b+16|0;b=m;m=c;c=0;while(1){o=f[(f[b+(c<<2)>>2]|0)+56>>2]|0;p=f[n>>2]|0;if(p){q=n;r=p;a:while(1){p=r;while(1){if((f[p+16>>2]|0)>=(o|0))break;s=f[p+4>>2]|0;if(!s){t=q;break a}else p=s}r=f[p>>2]|0;if(!r){t=p;break}else q=p}if((t|0)!=(n|0)?(o|0)>=(f[t+16>>2]|0):0){q=t+20|0;r=Hd(a,j)|0;if((r|0)!=(q|0)){f[h>>2]=f[q>>2];f[i>>2]=t+24;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Oc(r,g,e)}v=f[j>>2]|0;w=f[k>>2]|0;x=f[l>>2]|0}else{v=c;w=b;x=m}}else{v=c;w=b;x=m}c=v+1|0;f[j>>2]=c;if((c|0)>=(x-w>>2|0))break;else{b=w;m=x}}u=d;return}function Le(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+12|0;ci(f[i>>2]|0,c)|0;if(!(f[i>>2]|0)){j=1;u=d;return j|0}k=c+16|0;l=c+4|0;m=h+1|0;n=h+1|0;o=h+1|0;p=0;while(1){q=f[a>>2]|0;r=f[q+(p<<3)>>2]|0;if(r>>>0>63)if(r>>>0>16383)if(r>>>0>4194303){j=0;s=20;break}else{t=2;s=13}else{t=1;s=13}else if(!r){v=p+1|0;w=0;while(1){if(f[q+(v+w<<3)>>2]|0){x=w;break}y=w+1|0;if(y>>>0<63)w=y;else{x=y;break}}b[h>>0]=x<<2|3;w=k;v=f[w+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[w>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Me(c,e,h,o)|0}z=x+p|0}else{t=0;s=13}if((s|0)==13){s=0;b[h>>0]=t|r<<2;w=k;v=f[w+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[w>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Me(c,e,h,n)|0}if(!t)z=p;else{w=0;do{w=w+1|0;b[h>>0]=r>>>((w<<3)+-2|0);v=k;q=f[v+4>>2]|0;if(!((q|0)>0|(q|0)==0&(f[v>>2]|0)>>>0>0)){f[g>>2]=f[l>>2];f[e>>2]=f[g>>2];Me(c,e,h,m)|0}}while((w|0)<(t|0));z=p}}p=z+1|0;if(p>>>0>=(f[i>>2]|0)>>>0){j=1;s=20;break}}if((s|0)==20){u=d;return j|0}return 0}function Me(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=f[a>>2]|0;h=g;i=(f[c>>2]|0)-h|0;c=g+i|0;j=e-d|0;if((j|0)<=0){k=c;return k|0}l=a+8|0;m=f[l>>2]|0;n=a+4|0;o=f[n>>2]|0;p=o;if((j|0)<=(m-p|0)){q=p-c|0;if((j|0)>(q|0)){r=d+q|0;if((r|0)==(e|0))s=o;else{t=r;u=o;while(1){b[u>>0]=b[t>>0]|0;t=t+1|0;v=(f[n>>2]|0)+1|0;f[n>>2]=v;if((t|0)==(e|0)){s=v;break}else u=v}}if((q|0)>0){w=r;x=s}else{k=c;return k|0}}else{w=e;x=o}s=x-(c+j)|0;r=c+s|0;if(r>>>0>>0){q=r;r=x;do{b[r>>0]=b[q>>0]|0;q=q+1|0;r=(f[n>>2]|0)+1|0;f[n>>2]=r}while((q|0)!=(o|0))}if(s|0)im(x+(0-s)|0,c|0,s|0)|0;if((w|0)==(d|0)){k=c;return k|0}else{y=d;z=c}while(1){b[z>>0]=b[y>>0]|0;y=y+1|0;if((y|0)==(w|0)){k=c;break}else z=z+1|0}return k|0}z=p-h+j|0;if((z|0)<0)aq(a);j=m-h|0;h=j<<1;m=j>>>0<1073741823?(h>>>0>>0?z:h):2147483647;h=c;if(!m)A=0;else A=ln(m)|0;z=A+i|0;i=z;j=A+m|0;if((d|0)==(e|0)){B=i;C=g}else{g=d;d=i;i=z;do{b[i>>0]=b[g>>0]|0;i=d+1|0;d=i;g=g+1|0}while((g|0)!=(e|0));B=d;C=f[a>>2]|0}d=h-C|0;e=z+(0-d)|0;if((d|0)>0)kh(e|0,C|0,d|0)|0;d=(f[n>>2]|0)-h|0;if((d|0)>0){h=B;kh(h|0,c|0,d|0)|0;D=h+d|0;E=f[a>>2]|0}else{D=B;E=C}f[a>>2]=e;f[n>>2]=D;f[l>>2]=j;if(!E){k=z;return k|0}Oq(E);k=z;return k|0}function Ne(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+16|0;g=e;h=f[(f[c+4>>2]|0)+(d<<2)>>2]|0;d=f[c+28>>2]|0;c=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(h<<2)>>2]|0;switch(f[c+28>>2]|0){case 5:case 6:case 3:case 4:case 1:case 2:{i=ln(40)|0;zo(i);j=i;k=j;f[a>>2]=k;u=e;return}case 9:{l=3;break}default:{}}if((l|0)==3){i=f[d+48>>2]|0;d=ln(32)|0;f[g>>2]=d;f[g+8>>2]=-2147483616;f[g+4>>2]=17;m=d;n=14495;o=m+17|0;do{b[m>>0]=b[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));b[d+17>>0]=0;d=i+16|0;n=f[d>>2]|0;if(n){p=d;q=n;a:while(1){n=q;while(1){if((f[n+16>>2]|0)>=(h|0))break;r=f[n+4>>2]|0;if(!r){s=p;break a}else n=r}q=f[n>>2]|0;if(!q){s=n;break}else p=n}if(((s|0)!=(d|0)?(h|0)>=(f[s+16>>2]|0):0)?(h=s+20|0,(Jh(h,g)|0)!=0):0)t=Hk(h,g,-1)|0;else l=12}else l=12;if((l|0)==12)t=Hk(i,g,-1)|0;if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);if((t|0)>0)if((f[c+56>>2]|0)==1){c=ln(48)|0;m=c;o=m+48|0;do{f[m>>2]=0;m=m+4|0}while((m|0)<(o|0));zo(c);f[c>>2]=2496;f[c+40>>2]=1168;f[c+44>>2]=-1;j=c;k=j;f[a>>2]=k;u=e;return}else{c=ln(64)|0;ym(c);j=c;k=j;f[a>>2]=k;u=e;return}}c=ln(36)|0;Hm(c);j=c;k=j;f[a>>2]=k;u=e;return}function Oe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=(c|0)==(a|0);b[c+12>>0]=d&1;if(d)return;else e=c;while(1){g=e+8|0;h=f[g>>2]|0;c=h+12|0;if(b[c>>0]|0){i=23;break}j=h+8|0;k=f[j>>2]|0;d=f[k>>2]|0;if((d|0)==(h|0)){l=f[k+4>>2]|0;if(!l){i=7;break}m=l+12|0;if(!(b[m>>0]|0))n=m;else{i=7;break}}else{if(!d){i=16;break}m=d+12|0;if(!(b[m>>0]|0))n=m;else{i=16;break}}b[c>>0]=1;c=(k|0)==(a|0);b[k+12>>0]=c&1;b[n>>0]=1;if(c){i=23;break}else e=k}if((i|0)==7){if((f[h>>2]|0)==(e|0)){o=h;p=k}else{n=h+4|0;a=f[n>>2]|0;c=f[a>>2]|0;f[n>>2]=c;if(!c)q=k;else{f[c+8>>2]=h;q=f[j>>2]|0}f[a+8>>2]=q;q=f[j>>2]|0;f[((f[q>>2]|0)==(h|0)?q:q+4|0)>>2]=a;f[a>>2]=h;f[j>>2]=a;o=a;p=f[a+8>>2]|0}b[o+12>>0]=1;b[p+12>>0]=0;o=f[p>>2]|0;a=o+4|0;q=f[a>>2]|0;f[p>>2]=q;if(q|0)f[q+8>>2]=p;q=p+8|0;f[o+8>>2]=f[q>>2];c=f[q>>2]|0;f[((f[c>>2]|0)==(p|0)?c:c+4|0)>>2]=o;f[a>>2]=p;f[q>>2]=o;return}else if((i|0)==16){if((f[h>>2]|0)==(e|0)){o=e+4|0;q=f[o>>2]|0;f[h>>2]=q;if(!q)r=k;else{f[q+8>>2]=h;r=f[j>>2]|0}f[g>>2]=r;r=f[j>>2]|0;f[((f[r>>2]|0)==(h|0)?r:r+4|0)>>2]=e;f[o>>2]=h;f[j>>2]=e;s=e;t=f[e+8>>2]|0}else{s=h;t=k}b[s+12>>0]=1;b[t+12>>0]=0;s=t+4|0;k=f[s>>2]|0;h=f[k>>2]|0;f[s>>2]=h;if(h|0)f[h+8>>2]=t;h=t+8|0;f[k+8>>2]=f[h>>2];s=f[h>>2]|0;f[((f[s>>2]|0)==(t|0)?s:s+4|0)>>2]=k;f[k>>2]=t;f[h>>2]=k;return}else if((i|0)==23)return}function Pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=f[b>>2]|0;b=a+12|0;e=(d|0)==-1;do if(e){g=1;h=-1;i=-1}else{j=d+(((d>>>0)%3|0|0)==0?2:-1)|0;if((j|0)!=-1){k=f[(f[b>>2]|0)+12>>2]|0;l=j;while(1){j=f[k+(l<<2)>>2]|0;if((j|0)==-1){m=0;n=l;break}o=j+1|0;l=((o>>>0)%3|0|0)==0?j+-2|0:o;if((l|0)==-1){m=1;n=-1;break}}if(e){g=m;h=-1;i=n;break}else{p=m;q=n}}else{p=1;q=-1}g=p;h=f[(f[f[b>>2]>>2]|0)+(d<<2)>>2]|0;i=q}while(0);if(c){c=(f[a+84>>2]|0)+(h>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(h&31);r=1}else r=0;c=f[(f[a+152>>2]|0)+(h<<2)>>2]|0;q=(f[a+140>>2]|0)+(c>>>5<<2)|0;f[q>>2]=f[q>>2]|1<<(c&31);if(!g){g=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((g|0)==-1){s=-1;t=i}else{s=f[(f[f[b>>2]>>2]|0)+(g<<2)>>2]|0;t=i}}else{s=-1;t=-1}if((s|0)==(h|0)){u=r;return u|0}i=f[a+84>>2]|0;a=r;r=s;s=t;while(1){t=i+(r>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(r&31);t=a+1|0;g=s+1|0;a:do if((s|0)!=-1?(c=((g>>>0)%3|0|0)==0?s+-2|0:g,(c|0)!=-1):0){q=f[b>>2]|0;d=f[q+12>>2]|0;p=c;while(1){c=f[d+(p<<2)>>2]|0;if((c|0)==-1)break;n=c+1|0;m=((n>>>0)%3|0|0)==0?c+-2|0:n;if((m|0)==-1){v=-1;w=-1;break a}else p=m}d=(((p>>>0)%3|0|0)==0?2:-1)+p|0;if((d|0)==-1){v=-1;w=p}else{v=f[(f[q>>2]|0)+(d<<2)>>2]|0;w=p}}else{v=-1;w=-1}while(0);if((v|0)==(h|0)){u=t;break}else{a=t;r=v;s=w}}return u|0}function Qe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=Oa,C=Oa,D=Oa,E=Oa;g=u;u=u+16|0;h=g;i=b[d+24>>0]|0;j=i<<24>>24;Rh(a,c,e,j,0,d,1);k=f[a>>2]|0;a=(f[f[k>>2]>>2]|0)+(f[k+48>>2]|0)|0;k=f[c+4>>2]|0;Ap(h);Ko(h,$(n[c+20>>2]),(1<>>0>1073741823?-1:j<<2)|0;if(!e){Mq(k);u=g;return}l=d+68|0;m=d+48|0;o=d+40|0;p=c+8|0;c=h+4|0;q=(b[d+84>>0]|0)==0;if(i<<24>>24>0){r=0;s=0}else{i=0;do{if(q)t=f[(f[l>>2]|0)+(i<<2)>>2]|0;else t=i;v=m;w=f[v>>2]|0;x=f[v+4>>2]|0;v=o;y=f[v>>2]|0;z=un(y|0,f[v+4>>2]|0,t|0,0)|0;v=Vn(z|0,I|0,w|0,x|0)|0;kh(k|0,(f[f[d>>2]>>2]|0)+v|0,y|0)|0;i=i+1|0}while((i|0)!=(e|0));Mq(k);u=g;return}while(1){if(q)A=f[(f[l>>2]|0)+(s<<2)>>2]|0;else A=s;i=m;t=f[i>>2]|0;y=f[i+4>>2]|0;i=o;v=f[i>>2]|0;x=un(v|0,f[i+4>>2]|0,A|0,0)|0;i=Vn(x|0,I|0,t|0,y|0)|0;kh(k|0,(f[f[d>>2]>>2]|0)+i|0,v|0)|0;v=f[p>>2]|0;B=$(n[h>>2]);i=0;y=r;while(1){C=$(n[k+(i<<2)>>2]);D=$(C-$(n[v+(i<<2)>>2]));t=D<$(0.0);C=$(-D);E=$((t?C:D)/B);x=~~$(J($($(E*$(f[c>>2]|0))+$(.5))));f[a+(y<<2)>>2]=t?0-x|0:x;i=i+1|0;if((i|0)==(j|0))break;else y=y+1|0}s=s+1|0;if((s|0)==(e|0))break;else r=r+j|0}Mq(k);u=g;return}function Re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;c=a+4|0;d=f[c>>2]|0;e=a+100|0;if(d>>>0<(f[e>>2]|0)>>>0){f[c>>2]=d+1;g=h[d>>0]|0}else g=Si(a)|0;switch(g|0){case 43:case 45:{d=(g|0)==45&1;i=f[c>>2]|0;if(i>>>0<(f[e>>2]|0)>>>0){f[c>>2]=i+1;j=h[i>>0]|0}else j=Si(a)|0;if((b|0)!=0&(j+-48|0)>>>0>9?(f[e>>2]|0)!=0:0){f[c>>2]=(f[c>>2]|0)+-1;k=d;l=j}else{k=d;l=j}break}default:{k=0;l=g}}if((l+-48|0)>>>0>9)if(!(f[e>>2]|0)){m=-2147483648;n=0}else{f[c>>2]=(f[c>>2]|0)+-1;m=-2147483648;n=0}else{g=0;j=l;while(1){g=j+-48+(g*10|0)|0;l=f[c>>2]|0;if(l>>>0<(f[e>>2]|0)>>>0){f[c>>2]=l+1;o=h[l>>0]|0}else o=Si(a)|0;if(!((o+-48|0)>>>0<10&(g|0)<214748364))break;else j=o}j=((g|0)<0)<<31>>31;if((o+-48|0)>>>0<10){l=o;d=g;b=j;while(1){i=un(d|0,b|0,10,0)|0;p=I;q=Vn(l|0,((l|0)<0)<<31>>31|0,-48,-1)|0;r=Vn(q|0,I|0,i|0,p|0)|0;p=I;i=f[c>>2]|0;if(i>>>0<(f[e>>2]|0)>>>0){f[c>>2]=i+1;s=h[i>>0]|0}else s=Si(a)|0;if((s+-48|0)>>>0<10&((p|0)<21474836|(p|0)==21474836&r>>>0<2061584302)){l=s;d=r;b=p}else{t=s;u=r;v=p;break}}}else{t=o;u=g;v=j}if((t+-48|0)>>>0<10)do{t=f[c>>2]|0;if(t>>>0<(f[e>>2]|0)>>>0){f[c>>2]=t+1;w=h[t>>0]|0}else w=Si(a)|0}while((w+-48|0)>>>0<10);if(f[e>>2]|0)f[c>>2]=(f[c>>2]|0)+-1;c=(k|0)!=0;k=Xn(0,0,u|0,v|0)|0;m=c?I:v;n=c?k:u}I=m;return n|0}function Se(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=a+1176|0;c=f[b>>2]|0;if(c|0){d=a+1180|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);Oq(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}Oq(g)}g=a+1164|0;b=f[g>>2]|0;if(b|0){j=a+1168|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);Oq(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}Oq(l)}l=f[a+1152>>2]|0;if(l|0){g=a+1156|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);Oq(l)}l=f[a+1140>>2]|0;if(l|0){m=a+1144|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);Oq(l)}l=f[a+1128>>2]|0;if(!l){n=a+1108|0;jl(n);o=a+1088|0;jl(o);p=a+1068|0;jl(p);q=a+1036|0;Fj(q);r=a+12|0;Nh(r);return}g=a+1132|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);Oq(l);n=a+1108|0;jl(n);o=a+1088|0;jl(o);p=a+1068|0;jl(p);q=a+1036|0;Fj(q);r=a+12|0;Nh(r);return}function Te(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=u;u=u+16|0;e=d;g=a+4|0;h=f[g>>2]|0;i=f[(f[a>>2]|0)+52>>2]|0;if(!h){if(!(Sa[i&31](a,c,0)|0)){j=0;u=d;return j|0}}else if(!(Sa[i&31](a,c,f[(f[h+4>>2]|0)+80>>2]|0)|0)){j=0;u=d;return j|0}if(!(b[a+28>>0]|0)){j=1;u=d;return j|0}h=f[a+8>>2]|0;i=f[a+32>>2]|0;a=f[h+80>>2]|0;f[e>>2]=0;k=e+4|0;f[k>>2]=0;f[e+8>>2]=0;do if(a)if(a>>>0>1073741823)aq(e);else{l=a<<2;m=ln(l)|0;f[e>>2]=m;n=m+(a<<2)|0;f[e+8>>2]=n;sj(m|0,0,l|0)|0;f[k>>2]=n;o=m;p=n;q=m;break}else{o=0;p=0;q=0}while(0);e=f[c+4>>2]|0;a=f[c>>2]|0;c=a;a:do if((e|0)!=(a|0)){m=e-a>>2;if(b[h+84>>0]|0){n=0;while(1){f[o+(f[c+(n<<2)>>2]<<2)>>2]=n;n=n+1|0;if(n>>>0>=m>>>0)break a}}n=f[h+68>>2]|0;l=0;do{f[o+(f[n+(f[c+(l<<2)>>2]<<2)>>2]<<2)>>2]=l;l=l+1|0}while(l>>>0>>0)}while(0);c=f[(f[(f[g>>2]|0)+4>>2]|0)+80>>2]|0;b:do if(c|0){g=f[i+68>>2]|0;if(b[h+84>>0]|0){a=0;while(1){f[g+(a<<2)>>2]=f[o+(a<<2)>>2];a=a+1|0;if(a>>>0>=c>>>0)break b}}a=f[h+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[o+(f[a+(e<<2)>>2]<<2)>>2];e=e+1|0}while(e>>>0>>0)}while(0);if(o|0){if((p|0)!=(o|0))f[k>>2]=p+(~((p+-4-o|0)>>>2)<<2);Oq(q)}j=1;u=d;return j|0}function Ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;Oh(a+12|0);wn(a+1036|0);vo(a+1068|0);vo(a+1088|0);vo(a+1108|0);e=a+1128|0;f[e>>2]=0;g=a+1132|0;f[g>>2]=0;f[a+1136>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)aq(e);else{i=b<<2;j=ln(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+1136>>2]=k;sj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+1140|0;f[g>>2]=0;e=a+1144|0;f[e>>2]=0;f[a+1148>>2]=0;if(!h){k=b<<2;i=ln(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+1148>>2]=g;sj(i|0,0,k|0)|0;f[e>>2]=g}g=a+1152|0;f[g>>2]=0;e=a+1156|0;f[e>>2]=0;f[a+1160>>2]=0;if(!h){k=b<<2;i=ln(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+1160>>2]=g;sj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=ln(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;sj(i|0,0,k|0)|0;f[e>>2]=j}lk(a+1164|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);Oq(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=ln(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;sj(k|0,0,h|0)|0;f[j>>2]=e}lk(a+1176|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);Oq(g);u=c;return}function Ve(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0;g=u;u=u+16|0;h=g;i=b+16|0;f[a>>2]=f[i>>2];f[a+4>>2]=f[i+4>>2];f[a+8>>2]=f[i+8>>2];f[a+12>>2]=f[i+12>>2];f[a+16>>2]=f[i+16>>2];f[a+20>>2]=f[i+20>>2];j=a+8|0;f[j>>2]=(f[j>>2]|0)+d;j=(d|0)>0;if(j){k=b+4|0;l=a+16|0;m=a+12|0;n=f[b>>2]|0;o=n;q=0;r=o;s=n;n=o;while(1){o=f[c+(q<<2)>>2]|0;t=f[k>>2]|0;if(t-s>>2>>>0>o>>>0){v=r;w=n}else{x=o+1|0;f[h>>2]=0;y=t-s>>2;z=s;A=t;if(x>>>0<=y>>>0)if(x>>>0>>0?(t=z+(x<<2)|0,(t|0)!=(A|0)):0){f[k>>2]=A+(~((A+-4-t|0)>>>2)<<2);B=r}else B=r;else{Ch(b,x-y|0,h);B=f[b>>2]|0}v=B;w=B}y=w+(o<<2)|0;x=f[y>>2]|0;s=w;if((x|0)<=1)if((x|0)==0?(f[l>>2]=(f[l>>2]|0)+1,o>>>0>(f[m>>2]|0)>>>0):0){f[m>>2]=o;C=0.0}else C=0.0;else{D=+(x|0);C=+Zg(D)*D}x=(f[y>>2]|0)+1|0;f[y>>2]=x;D=+(x|0);E=+Zg(D)*D-C;p[a>>3]=+p[a>>3]+E;q=q+1|0;if((q|0)==(d|0))break;else{r=v;n=w}}}if(e){f[i>>2]=f[a>>2];f[i+4>>2]=f[a+4>>2];f[i+8>>2]=f[a+8>>2];f[i+12>>2]=f[a+12>>2];f[i+16>>2]=f[a+16>>2];u=g;return}if(!j){u=g;return}j=f[b>>2]|0;b=0;do{a=j+(f[c+(b<<2)>>2]<<2)|0;f[a>>2]=(f[a>>2]|0)+-1;b=b+1|0}while((b|0)!=(d|0));u=g;return}function We(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=e;break a;break}case 10:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a;break}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=e;f[d+4>>2]=0;break a;break}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=g;f[d+4>>2]=h;break a;break}case 13:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&65535)<<16>>16;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 14:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&65535;f[h+4>>2]=0;break a;break}case 15:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&255)<<24>>24;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 16:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&255;f[h+4>>2]=0;break a;break}case 17:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}case 18:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}default:break a}while(0);while(0);return}function Xe(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=u;u=u+16|0;d=c+4|0;e=c;g=c+8|0;if(!(Qa[f[(f[a>>2]|0)+32>>2]&127](a)|0)){h=0;u=c;return h|0}i=a+44|0;j=f[i>>2]|0;k=a+8|0;l=a+12|0;m=f[l>>2]|0;n=f[k>>2]|0;b[g>>0]=(m-n|0)>>>2;o=j+16|0;p=f[o+4>>2]|0;if((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0){q=k;r=n;s=m}else{f[e>>2]=f[j+4>>2];f[d>>2]=f[e>>2];Me(j,d,g,g+1|0)|0;q=k;r=f[k>>2]|0;s=f[l>>2]|0}a:do if((r|0)!=(s|0)){l=a+4|0;k=r;while(1){g=f[k>>2]|0;k=k+4|0;if(!(Sa[f[(f[g>>2]|0)+8>>2]&31](g,a,f[l>>2]|0)|0)){h=0;break}if((k|0)==(s|0))break a}u=c;return h|0}while(0);if(!(xc(a)|0)){h=0;u=c;return h|0}s=a+32|0;r=f[s>>2]|0;k=a+36|0;l=f[k>>2]|0;b:do if((r|0)!=(l|0)){g=r;do{if(!(Ra[f[(f[a>>2]|0)+40>>2]&127](a,f[g>>2]|0)|0)){h=0;t=18;break}g=g+4|0}while((g|0)!=(l|0));if((t|0)==18){u=c;return h|0}g=f[s>>2]|0;d=f[k>>2]|0;if((g|0)!=(d|0)){j=g;while(1){g=f[(f[q>>2]|0)+(f[j>>2]<<2)>>2]|0;j=j+4|0;if(!(Ra[f[(f[g>>2]|0)+12>>2]&127](g,f[i>>2]|0)|0)){h=0;break}if((j|0)==(d|0))break b}u=c;return h|0}}while(0);h=Qa[f[(f[a>>2]|0)+44>>2]&127](a)|0;u=c;return h|0}function Ye(a,b){a=a|0;b=b|0;ld(a,b);ld(a+32|0,b);ld(a+64|0,b);ld(a+96|0,b);ld(a+128|0,b);ld(a+160|0,b);ld(a+192|0,b);ld(a+224|0,b);ld(a+256|0,b);ld(a+288|0,b);ld(a+320|0,b);ld(a+352|0,b);ld(a+384|0,b);ld(a+416|0,b);ld(a+448|0,b);ld(a+480|0,b);ld(a+512|0,b);ld(a+544|0,b);ld(a+576|0,b);ld(a+608|0,b);ld(a+640|0,b);ld(a+672|0,b);ld(a+704|0,b);ld(a+736|0,b);ld(a+768|0,b);ld(a+800|0,b);ld(a+832|0,b);ld(a+864|0,b);ld(a+896|0,b);ld(a+928|0,b);ld(a+960|0,b);ld(a+992|0,b);ld(a+1024|0,b);return}function Ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;c=u;u=u+32|0;d=c;e=a+4|0;g=f[a>>2]|0;h=(f[e>>2]|0)-g>>2;i=h+1|0;if(i>>>0>1073741823)aq(a);j=a+8|0;k=(f[j>>2]|0)-g|0;g=k>>1;l=k>>2>>>0<536870911?(g>>>0>>0?i:g):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(l)if(l>>>0>1073741823){g=ra(8)|0;Oo(g,16035);f[g>>2]=7256;va(g|0,1112,110)}else{m=ln(l<<2)|0;break}else m=0;while(0);f[d>>2]=m;g=m+(h<<2)|0;h=d+8|0;i=d+4|0;f[i>>2]=g;k=m+(l<<2)|0;l=d+12|0;f[l>>2]=k;m=f[b>>2]|0;f[b>>2]=0;f[g>>2]=m;m=g+4|0;f[h>>2]=m;b=f[a>>2]|0;n=f[e>>2]|0;if((n|0)==(b|0)){o=g;p=l;q=h;r=b;s=m;t=n;v=k;w=o;f[a>>2]=w;f[i>>2]=r;f[e>>2]=s;f[q>>2]=t;x=f[j>>2]|0;f[j>>2]=v;f[p>>2]=x;f[d>>2]=r;ki(d);u=c;return}else{y=n;z=g}do{y=y+-4|0;g=f[y>>2]|0;f[y>>2]=0;f[z+-4>>2]=g;z=(f[i>>2]|0)+-4|0;f[i>>2]=z}while((y|0)!=(b|0));o=z;p=l;q=h;r=f[a>>2]|0;s=f[h>>2]|0;t=f[e>>2]|0;v=f[l>>2]|0;w=o;f[a>>2]=w;f[i>>2]=r;f[e>>2]=s;f[q>>2]=t;x=f[j>>2]|0;f[j>>2]=v;f[p>>2]=x;f[d>>2]=r;ki(d);u=c;return}function _e(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+32|0;e=d+12|0;g=d;h=nl(c,0)|0;if(!h){f[a>>2]=0;u=d;return}i=f[c+100>>2]|0;j=f[c+96>>2]|0;c=i-j|0;k=(c|0)/12|0;f[e>>2]=0;l=e+4|0;f[l>>2]=0;f[e+8>>2]=0;m=j;do if(c)if(k>>>0>357913941)aq(e);else{n=ln(c)|0;f[e>>2]=n;f[e+8>>2]=n+(k*12|0);sj(n|0,0,c|0)|0;f[l>>2]=n+c;o=n;break}else o=0;while(0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;a:do if((i|0)!=(j|0)){c=g+4|0;n=g+8|0;if(b[h+84>>0]|0){p=0;while(1){q=m+(p*12|0)|0;f[g>>2]=f[q>>2];f[g+4>>2]=f[q+4>>2];f[g+8>>2]=f[q+8>>2];f[o+(p*12|0)>>2]=f[g>>2];f[o+(p*12|0)+4>>2]=f[c>>2];f[o+(p*12|0)+8>>2]=f[n>>2];p=p+1|0;if(p>>>0>=k>>>0)break a}}p=f[h+68>>2]|0;q=0;do{r=f[p+(f[m+(q*12|0)>>2]<<2)>>2]|0;f[g>>2]=r;s=f[p+(f[m+(q*12|0)+4>>2]<<2)>>2]|0;f[c>>2]=s;t=f[p+(f[m+(q*12|0)+8>>2]<<2)>>2]|0;f[n>>2]=t;f[o+(q*12|0)>>2]=r;f[o+(q*12|0)+4>>2]=s;f[o+(q*12|0)+8>>2]=t;q=q+1|0}while(q>>>0>>0)}while(0);Kj(a,e);a=f[e>>2]|0;if(a|0){e=f[l>>2]|0;if((e|0)!=(a|0))f[l>>2]=e+(~(((e+-12-a|0)>>>0)/12|0)*12|0);Oq(a)}u=d;return}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;wn(a+12|0);vo(a+44|0);vo(a+64|0);vo(a+84|0);e=a+104|0;f[e>>2]=0;g=a+108|0;f[g>>2]=0;f[a+112>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)aq(e);else{i=b<<2;j=ln(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+112>>2]=k;sj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+116|0;f[g>>2]=0;e=a+120|0;f[e>>2]=0;f[a+124>>2]=0;if(!h){k=b<<2;i=ln(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+124>>2]=g;sj(i|0,0,k|0)|0;f[e>>2]=g}g=a+128|0;f[g>>2]=0;e=a+132|0;f[e>>2]=0;f[a+136>>2]=0;if(!h){k=b<<2;i=ln(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+136>>2]=g;sj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=ln(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;sj(i|0,0,k|0)|0;f[e>>2]=j}lk(a+140|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);Oq(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=ln(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;sj(k|0,0,h|0)|0;f[j>>2]=e}lk(a+152|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);Oq(g);u=c;return}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=u;u=u+16|0;d=c;f[a>>2]=0;f[a+8>>2]=b;vo(a+12|0);vo(a+32|0);vo(a+52|0);vo(a+72|0);e=a+92|0;f[e>>2]=0;g=a+96|0;f[g>>2]=0;f[a+100>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)aq(e);else{i=b<<2;j=ln(i)|0;f[e>>2]=j;k=j+(b<<2)|0;f[a+100>>2]=k;sj(j|0,0,i|0)|0;f[g>>2]=k;break}while(0);g=a+104|0;f[g>>2]=0;e=a+108|0;f[e>>2]=0;f[a+112>>2]=0;if(!h){k=b<<2;i=ln(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+112>>2]=g;sj(i|0,0,k|0)|0;f[e>>2]=g}g=a+116|0;f[g>>2]=0;e=a+120|0;f[e>>2]=0;f[a+124>>2]=0;if(!h){k=b<<2;i=ln(k)|0;f[g>>2]=i;g=i+(b<<2)|0;f[a+124>>2]=g;sj(i|0,0,k|0)|0;f[e>>2]=g}g=b<<5|1;f[d>>2]=0;e=d+4|0;f[e>>2]=0;f[d+8>>2]=0;if(!h){k=b<<2;i=ln(k)|0;f[d>>2]=i;j=i+(b<<2)|0;f[d+8>>2]=j;sj(i|0,0,k|0)|0;f[e>>2]=j}lk(a+128|0,g,d);j=f[d>>2]|0;if(j|0){k=f[e>>2]|0;if((k|0)!=(j|0))f[e>>2]=k+(~((k+-4-j|0)>>>2)<<2);Oq(j)}f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;if(!h){h=b<<2;k=ln(h)|0;f[d>>2]=k;e=k+(b<<2)|0;f[d+8>>2]=e;sj(k|0,0,h|0)|0;f[j>>2]=e}lk(a+140|0,g,d);g=f[d>>2]|0;if(!g){u=c;return}d=f[j>>2]|0;if((d|0)!=(g|0))f[j>>2]=d+(~((d+-4-g|0)>>>2)<<2);Oq(g);u=c;return}function bf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=ln(40)|0;e=d+16|0;pj(e,c);pj(d+28|0,c+12|0);c=a+4|0;g=f[c>>2]|0;do if(g){h=b[d+27>>0]|0;i=h<<24>>24<0;j=i?f[d+20>>2]|0:h&255;h=i?f[e>>2]|0:e;i=g;while(1){k=i+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[i+20>>2]|0:l&255;l=n>>>0>>0?n:j;if((l|0)!=0?(o=Vk(h,m?f[k>>2]|0:k,l)|0,(o|0)!=0):0)if((o|0)<0)p=7;else p=9;else if(j>>>0>>0)p=7;else p=9;if((p|0)==7){p=0;n=f[i>>2]|0;if(!n){p=8;break}else q=n}else if((p|0)==9){p=0;r=i+4|0;n=f[r>>2]|0;if(!n){p=11;break}else q=n}i=q}if((p|0)==8){s=i;t=i;break}else if((p|0)==11){s=i;t=r;break}}else{s=c;t=c}while(0);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=s;f[t>>2]=d;s=f[f[a>>2]>>2]|0;if(!s){u=d;v=a+4|0;w=f[v>>2]|0;Oe(w,u);x=a+8|0;y=f[x>>2]|0;z=y+1|0;f[x>>2]=z;return d|0}f[a>>2]=s;u=f[t>>2]|0;v=a+4|0;w=f[v>>2]|0;Oe(w,u);x=a+8|0;y=f[x>>2]|0;z=y+1|0;f[x>>2]=z;return d|0}function cf(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3680;wi(a+200|0);b=f[a+184>>2]|0;if(b|0){c=a+188|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}kj(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+140>>2]|0;if(b|0)Oq(b);b=f[a+128>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;Oq(b)}while((c|0)!=0)}c=a+120|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Oq(b);b=f[a+108>>2]|0;if(b|0){c=a+112|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);Oq(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+84>>2]|0;if(b|0)Oq(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+28>>2]|0;if(b|0)Oq(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=a+12|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Ii(a);Oq(a);return}function df(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+140|0;c=f[b>>2]|0;if(c|0){d=a+144|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);Oq(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}Oq(g)}g=a+128|0;b=f[g>>2]|0;if(b|0){j=a+132|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);Oq(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}Oq(l)}l=f[a+116>>2]|0;if(l|0){g=a+120|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);Oq(l)}l=f[a+104>>2]|0;if(l|0){m=a+108|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);Oq(l)}l=f[a+92>>2]|0;if(!l){n=a+72|0;jl(n);o=a+52|0;jl(o);p=a+32|0;jl(p);q=a+12|0;jl(q);return}g=a+96|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);Oq(l);n=a+72|0;jl(n);o=a+52|0;jl(o);p=a+32|0;jl(p);q=a+12|0;jl(q);return}function ef(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=a+152|0;c=f[b>>2]|0;if(c|0){d=a+156|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);Oq(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}Oq(g)}g=a+140|0;b=f[g>>2]|0;if(b|0){j=a+144|0;h=f[j>>2]|0;if((h|0)==(b|0))l=b;else{c=h;while(1){h=c+-12|0;f[j>>2]=h;d=f[h>>2]|0;if(!d)m=h;else{h=c+-8|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);Oq(d);m=f[j>>2]|0}if((m|0)==(b|0))break;else c=m}l=f[g>>2]|0}Oq(l)}l=f[a+128>>2]|0;if(l|0){g=a+132|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);Oq(l)}l=f[a+116>>2]|0;if(l|0){m=a+120|0;g=f[m>>2]|0;if((g|0)!=(l|0))f[m>>2]=g+(~((g+-4-l|0)>>>2)<<2);Oq(l)}l=f[a+104>>2]|0;if(!l){n=a+84|0;jl(n);o=a+64|0;jl(o);p=a+44|0;jl(p);q=a+12|0;Fj(q);return}g=a+108|0;m=f[g>>2]|0;if((m|0)!=(l|0))f[g>>2]=m+(~((m+-4-l|0)>>>2)<<2);Oq(l);n=a+84|0;jl(n);o=a+64|0;jl(o);p=a+44|0;jl(p);q=a+12|0;Fj(q);return}function ff(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3480;uj(a+200|0);b=f[a+184>>2]|0;if(b|0){c=a+188|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}kj(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+140>>2]|0;if(b|0)Oq(b);b=f[a+128>>2]|0;if(b|0){c=b;do{b=c;c=f[c>>2]|0;Oq(b)}while((c|0)!=0)}c=a+120|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Oq(b);b=f[a+108>>2]|0;if(b|0){c=a+112|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);Oq(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+84>>2]|0;if(b|0)Oq(b);b=f[a+72>>2]|0;if(b|0){c=a+76|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+28>>2]|0;if(b|0)Oq(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=a+12|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Ii(a);Oq(a);return}function gf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=u;u=u+144|0;g=e+136|0;h=e+104|0;i=e;j=ln(124)|0;k=f[c+8>>2]|0;f[j+4>>2]=0;f[j>>2]=3656;f[j+12>>2]=3636;f[j+100>>2]=0;f[j+104>>2]=0;f[j+108>>2]=0;l=j+16|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));f[j+112>>2]=k;f[j+116>>2]=d;n=j+120|0;f[n>>2]=0;o=j;f[h>>2]=3636;p=h+4|0;q=p+4|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;f[q+16>>2]=0;f[q+20>>2]=0;q=f[c+12>>2]|0;f[i+4>>2]=3636;f[i+92>>2]=0;f[i+96>>2]=0;f[i+100>>2]=0;l=i+8|0;m=l+80|0;do{f[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=q;f[p>>2]=l;m=((f[l+4>>2]|0)-(f[q>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;qh(h+8|0,m,g);Va[f[(f[h>>2]|0)+8>>2]&127](h);f[i>>2]=f[p>>2];fg(i+4|0,h)|0;f[i+36>>2]=q;f[i+40>>2]=d;f[i+44>>2]=k;f[i+48>>2]=j;f[n>>2]=c+72;Sg(j,i);f[a>>2]=o;Qi(i);f[h>>2]=3636;i=f[h+20>>2]|0;if(i|0)Oq(i);i=f[h+8>>2]|0;if(!i){u=e;return}Oq(i);u=e;return}function hf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+48|0;d=c+44|0;e=c+40|0;g=c+36|0;h=c+32|0;i=c;f[h>>2]=f[a+60>>2];j=b+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,h,h+4|0)|0}wn(i);tk(i);if((f[h>>2]|0)>0){k=a+56|0;l=1;m=0;do{n=l;l=(f[(f[k>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0;fj(i,n^l^1);m=m+1|0}while((m|0)<(f[h>>2]|0))}ld(i,b);f[g>>2]=f[a+12>>2];h=j;m=f[h>>2]|0;l=f[h+4>>2]|0;if((l|0)>0|(l|0)==0&m>>>0>0){o=l;p=m}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;m=j;o=f[m+4>>2]|0;p=f[m>>2]|0}f[g>>2]=f[a+20>>2];if((o|0)>0|(o|0)==0&p>>>0>0){Fj(i);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;Fj(i);u=c;return 1}function jf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=u;u=u+16|0;h=g;if((f[c+56>>2]|0)==-1){i=-1;u=g;return i|0}j=ln(96)|0;tl(j,c);f[h>>2]=j;j=vh(a,h)|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0){h=c+88|0;k=f[h>>2]|0;f[h>>2]=0;if(k|0){h=f[k+8>>2]|0;if(h|0){l=k+12|0;if((f[l>>2]|0)!=(h|0))f[l>>2]=h;Oq(h)}Oq(k)}k=f[c+68>>2]|0;if(k|0){h=c+72|0;l=f[h>>2]|0;if((l|0)!=(k|0))f[h>>2]=l+(~((l+-4-k|0)>>>2)<<2);Oq(k)}k=c+64|0;l=f[k>>2]|0;f[k>>2]=0;if(l|0){k=f[l>>2]|0;if(k|0){h=l+4|0;if((f[h>>2]|0)!=(k|0))f[h>>2]=k;Oq(k)}Oq(l)}Oq(c)}c=a+8|0;l=(f[c>>2]|0)+(j<<2)|0;k=f[l>>2]|0;do if(!d){h=f[a+80>>2]|0;b[k+84>>0]=0;m=k+68|0;n=k+72|0;o=f[n>>2]|0;p=f[m>>2]|0;q=o-p>>2;r=o;if(h>>>0>q>>>0){Ch(m,h-q|0,6220);break}if(h>>>0>>0?(q=p+(h<<2)|0,(q|0)!=(r|0)):0)f[n>>2]=r+(~((r+-4-q|0)>>>2)<<2)}else{b[k+84>>0]=1;q=f[k+68>>2]|0;r=k+72|0;n=f[r>>2]|0;if((n|0)==(q|0))s=k;else{f[r>>2]=n+(~((n+-4-q|0)>>>2)<<2);s=f[l>>2]|0}f[s+80>>2]=f[a+80>>2]}while(0);if(!e){i=j;u=g;return i|0}Bj(f[(f[c>>2]|0)+(j<<2)>>2]|0,e)|0;i=j;u=g;return i|0}function kf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;f[a+52>>2]=e;f[a+44>>2]=g;g=Lq(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;m=f[l>>2]|0;f[l>>2]=g;if(m|0)Mq(m);m=a+36|0;g=f[m>>2]|0;n=f[g+4>>2]|0;o=f[g>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=i+4|0;s=j+4|0;t=h+4|0;if(n-o>>2>>>0>q>>>0){v=q;w=o}else{x=g;aq(x)}while(1){f[k>>2]=f[w+(v<<2)>>2];f[h>>2]=f[k>>2];Bc(a,h,b,v);g=X(v,e)|0;o=b+(g<<2)|0;q=f[l>>2]|0;n=c+(g<<2)|0;g=f[o+4>>2]|0;y=f[q>>2]|0;z=f[q+4>>2]|0;f[i>>2]=f[o>>2];f[r>>2]=g;f[j>>2]=y;f[s>>2]=z;Od(h,p,i,j);f[n>>2]=f[h>>2];f[n+4>>2]=f[t>>2];v=v+-1|0;if((v|0)<=-1){A=5;break}n=f[m>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=v>>>0){x=n;A=6;break}}if((A|0)==5){u=d;return 1}else if((A|0)==6)aq(x);return 0}function lf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=f[c>>2]|0;c=f[d>>2]|0;e=f[a+4>>2]|0;g=f[d+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(!i)if(g>>>0>>0)j=g;else j=(g>>>0)%(e>>>0)|0;else j=h&g;g=(f[a>>2]|0)+(j<<2)|0;k=f[g>>2]|0;while(1){l=f[k>>2]|0;if((l|0)==(d|0))break;else k=l}if((k|0)!=(a+8|0)){l=f[k+4>>2]|0;if(!i)if(l>>>0>>0)m=l;else m=(l>>>0)%(e>>>0)|0;else m=l&h;if((m|0)==(j|0)){n=c;o=21}else o=13}else o=13;do if((o|0)==13){if(c|0){m=f[c+4>>2]|0;if(!i)if(m>>>0>>0)p=m;else p=(m>>>0)%(e>>>0)|0;else p=m&h;if((p|0)==(j|0)){q=c;r=c;o=22;break}}f[g>>2]=0;n=f[d>>2]|0;o=21}while(0);if((o|0)==21){g=n;if(!n)s=g;else{q=n;r=g;o=22}}if((o|0)==22){o=f[q+4>>2]|0;if(!i)if(o>>>0>>0)t=o;else t=(o>>>0)%(e>>>0)|0;else t=o&h;if((t|0)==(j|0))s=r;else{f[(f[a>>2]|0)+(t<<2)>>2]=k;s=f[d>>2]|0}}f[k>>2]=s;f[d>>2]=0;s=a+12|0;f[s>>2]=(f[s>>2]|0)+-1;if(!d)return c|0;s=d+8|0;a=f[d+20>>2]|0;if(a|0){k=d+24|0;if((f[k>>2]|0)!=(a|0))f[k>>2]=a;Oq(a)}if((b[s+11>>0]|0)<0)Oq(f[s>>2]|0);Oq(d);return c|0}function mf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;b=u;u=u+16|0;c=b+4|0;d=b;f[c>>2]=0;e=c+4|0;f[e>>2]=0;f[c+8>>2]=0;g=a+52|0;h=f[g>>2]|0;i=(f[h+100>>2]|0)-(f[h+96>>2]|0)|0;j=(i|0)/12|0;if(!i){k=0;l=0}else{i=c+8|0;m=0;n=0;o=h;h=0;p=0;while(1){q=f[o+96>>2]|0;r=f[q+(n*12|0)>>2]|0;s=r-m|0;t=((s|0)>-1?s:0-s|0)<<1|s>>>31;f[d>>2]=t;if((h|0)==(p|0)){Ri(c,d);v=f[e>>2]|0;w=f[i>>2]|0}else{f[h>>2]=t;t=h+4|0;f[e>>2]=t;v=t;w=p}t=f[q+(n*12|0)+4>>2]|0;s=t-r|0;r=((s|0)>-1?s:0-s|0)<<1|s>>>31;f[d>>2]=r;if((v|0)==(w|0)){Ri(c,d);x=f[e>>2]|0;y=f[i>>2]|0}else{f[v>>2]=r;r=v+4|0;f[e>>2]=r;x=r;y=w}r=f[q+(n*12|0)+8>>2]|0;q=r-t|0;t=((q|0)>-1?q:0-q|0)<<1|q>>>31;f[d>>2]=t;if((x|0)==(y|0))Ri(c,d);else{f[x>>2]=t;f[e>>2]=x+4}t=n+1|0;if(t>>>0>=j>>>0)break;m=r;n=t;o=f[g>>2]|0;h=f[e>>2]|0;p=f[i>>2]|0}k=f[c>>2]|0;l=f[e>>2]|0}Mc(k,l-k>>2,1,0,f[a+44>>2]|0)|0;a=f[c>>2]|0;if(!a){u=b;return 1}c=f[e>>2]|0;if((c|0)!=(a|0))f[e>>2]=c+(~((c+-4-a|0)>>>2)<<2);Oq(a);u=b;return 1}function nf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+48|0;d=c+44|0;e=c+40|0;g=c+36|0;h=c+32|0;i=c;f[h>>2]=f[a+80>>2];j=b+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,h,h+4|0)|0}wn(i);tk(i);if((f[h>>2]|0)>0){k=a+76|0;l=1;m=0;do{n=l;l=(f[(f[k>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0;fj(i,n^l^1);m=m+1|0}while((m|0)<(f[h>>2]|0))}ld(i,b);f[g>>2]=f[a+12>>2];h=j;m=f[h>>2]|0;l=f[h+4>>2]|0;if((l|0)>0|(l|0)==0&m>>>0>0){o=l;p=m}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;m=j;o=f[m+4>>2]|0;p=f[m>>2]|0}f[g>>2]=f[a+16>>2];if((o|0)>0|(o|0)==0&p>>>0>0){Fj(i);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;Fj(i);u=c;return 1}function of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c+12|0;e=c+8|0;g=c+4|0;h=c;if(!b){i=ln(76)|0;j=ln(12)|0;k=f[(f[a+4>>2]|0)+80>>2]|0;f[j+4>>2]=0;f[j>>2]=3908;f[j+8>>2]=k;f[h>>2]=j;rl(i,h,0);j=i;f[g>>2]=j;i=a+12|0;k=f[i>>2]|0;if(k>>>0<(f[a+16>>2]|0)>>>0){f[g>>2]=0;f[k>>2]=j;f[i>>2]=k+4;l=g}else{Qg(a+8|0,g);l=g}g=f[l>>2]|0;f[l>>2]=0;if(g|0)Va[f[(f[g>>2]|0)+4>>2]&127](g);g=f[h>>2]|0;f[h>>2]=0;if(!g){u=c;return 1}Va[f[(f[g>>2]|0)+4>>2]&127](g);u=c;return 1}g=f[f[a+8>>2]>>2]|0;f[d>>2]=b;a=g+4|0;h=g+8|0;l=f[h>>2]|0;if((l|0)==(f[g+12>>2]|0))Ri(a,d);else{f[l>>2]=b;f[h>>2]=l+4}l=f[d>>2]|0;b=g+16|0;k=g+20|0;g=f[k>>2]|0;i=f[b>>2]|0;j=g-i>>2;m=i;if((l|0)<(j|0)){n=m;o=l}else{i=l+1|0;f[e>>2]=-1;p=g;if(i>>>0<=j>>>0)if(i>>>0>>0?(g=m+(i<<2)|0,(g|0)!=(p|0)):0){f[k>>2]=p+(~((p+-4-g|0)>>>2)<<2);q=l;r=m}else{q=l;r=m}else{Ch(b,i-j|0,e);q=f[d>>2]|0;r=f[b>>2]|0}n=r;o=q}f[n+(o<<2)>>2]=((f[h>>2]|0)-(f[a>>2]|0)>>2)+-1;u=c;return 1}function pf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;f[a+52>>2]=e;f[a+44>>2]=g;g=Lq(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;m=f[l>>2]|0;f[l>>2]=g;if(m|0)Mq(m);m=a+36|0;g=f[m>>2]|0;n=f[g+4>>2]|0;o=f[g>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=i+4|0;s=j+4|0;t=h+4|0;if(n-o>>2>>>0>q>>>0){v=q;w=o}else{x=g;aq(x)}while(1){f[k>>2]=f[w+(v<<2)>>2];f[h>>2]=f[k>>2];Ac(a,h,b,v);g=X(v,e)|0;o=b+(g<<2)|0;q=f[l>>2]|0;n=c+(g<<2)|0;g=f[o+4>>2]|0;y=f[q>>2]|0;z=f[q+4>>2]|0;f[i>>2]=f[o>>2];f[r>>2]=g;f[j>>2]=y;f[s>>2]=z;Od(h,p,i,j);f[n>>2]=f[h>>2];f[n+4>>2]=f[t>>2];v=v+-1|0;if((v|0)<=-1){A=5;break}n=f[m>>2]|0;w=f[n>>2]|0;if((f[n+4>>2]|0)-w>>2>>>0<=v>>>0){x=n;A=6;break}}if((A|0)==5){u=d;return 1}else if((A|0)==6)aq(x);return 0}function qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>3>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>3;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=m;m=h;while(1){o=c;p=f[o+4>>2]|0;q=m;f[q>>2]=f[o>>2];f[q+4>>2]=p;j=j+-1|0;if(!j)break;else m=m+8|0}}if(!l){m=h+(b<<3)|0;if((m|0)==(n|0))return;else{r=i;s=n+(~((n+-8-m|0)>>>3)<<3)|0;break}}else{m=b-k|0;j=m;p=n;while(1){q=c;o=f[q+4>>2]|0;t=p;f[t>>2]=f[q>>2];f[t+4>>2]=o;j=j+-1|0;if(!j)break;else p=p+8|0}r=i;s=n+(m<<3)|0;break}}else{p=g;if(!g)u=e;else{j=a+4|0;k=f[j>>2]|0;if((k|0)!=(h|0))f[j>>2]=k+(~((k+-8-g|0)>>>3)<<3);Oq(p);f[d>>2]=0;f[j>>2]=0;f[a>>2]=0;u=0}if(b>>>0>536870911)aq(a);j=u>>2;p=u>>3>>>0<268435455?(j>>>0>>0?b:j):536870911;if(p>>>0>536870911)aq(a);j=ln(p<<3)|0;k=a+4|0;f[k>>2]=j;f[a>>2]=j;f[d>>2]=j+(p<<3);p=b;l=j;while(1){o=c;t=f[o+4>>2]|0;q=l;f[q>>2]=f[o>>2];f[q+4>>2]=t;p=p+-1|0;if(!p)break;else l=l+8|0}r=k;s=j+(b<<3)|0}while(0);f[r>>2]=s;return}function rf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=+$(n[b>>2]);g=+K(+e);h=+$(n[b+4>>2]);i=g+ +K(+h);g=+$(n[b+8>>2]);j=i+ +K(+g);b=j>1.0e-06;i=1.0/j;k=f[a+12>>2]|0;j=+(k|0);l=~~+J(+((b?i*e:1.0)*j+.5));m=~~+J(+((b?i*h:0.0)*j+.5));o=(l|0)>-1;p=k-(o?l:0-l|0)-((m|0)>-1?m:0-m|0)|0;l=(p|0)<0;q=(l?((m|0)>0?p:0-p|0):0)+m|0;m=l?0:p;p=(b?i*g:0.0)<0.0?0-m|0:m;do if(!o){if((q|0)<0)r=(p|0)>-1?p:0-p|0;else r=(f[a+8>>2]|0)-((p|0)>-1?p:0-p|0)|0;if((p|0)<0){s=(q|0)>-1?q:0-q|0;t=r;break}else{s=(f[a+8>>2]|0)-((q|0)>-1?q:0-q|0)|0;t=r;break}}else{s=k+p|0;t=k+q|0}while(0);q=(t|0)==0;p=(s|0)==0;r=f[a+8>>2]|0;if(!(s|t)){u=r;v=r;f[c>>2]=u;f[d>>2]=v;return}a=(r|0)==(s|0);if(q&a){u=s;v=s;f[c>>2]=u;f[d>>2]=v;return}o=(r|0)==(t|0);if(p&o){u=t;v=t;f[c>>2]=u;f[d>>2]=v;return}if(q&(k|0)<(s|0)){u=0;v=(k<<1)-s|0;f[c>>2]=u;f[d>>2]=v;return}if(o&(k|0)>(s|0)){u=t;v=(k<<1)-s|0;f[c>>2]=u;f[d>>2]=v;return}if(a&(k|0)>(t|0)){u=(k<<1)-t|0;v=s;f[c>>2]=u;f[d>>2]=v;return}if(!p){u=t;v=s;f[c>>2]=u;f[d>>2]=v;return}u=(k|0)<(t|0)?(k<<1)-t|0:t;v=0;f[c>>2]=u;f[d>>2]=v;return}function sf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(k=e+4|0,f[i>>2]=f[k>>2],f[h>>2]=f[i>>2],Me(e,h,a,a+4|0)|0,l=j,j=f[l+4>>2]|0,!((j|0)>0|(j|0)==0&(f[l>>2]|0)>>>0>0)):0){f[i>>2]=f[k>>2];f[h>>2]=f[i>>2];Me(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;Gg(d);m=a+1068|0;Mm(m);k=a+1088|0;Mm(k);l=a+1108|0;Mm(l);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];ib(a,i,h);Ye(d,e);Bg(m,e);Bg(k,e);Bg(l,e);u=g;return 1}function tf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(k=e+4|0,f[i>>2]=f[k>>2],f[h>>2]=f[i>>2],Me(e,h,a,a+4|0)|0,l=j,j=f[l+4>>2]|0,!((j|0)>0|(j|0)==0&(f[l>>2]|0)>>>0>0)):0){f[i>>2]=f[k>>2];f[h>>2]=f[i>>2];Me(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;Gg(d);m=a+1068|0;Mm(m);k=a+1088|0;Mm(k);l=a+1108|0;Mm(l);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];kb(a,i,h);Ye(d,e);Bg(m,e);Bg(k,e);Bg(l,e);u=g;return 1}function uf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;c=u;u=u+32|0;d=c;e=a+8|0;g=f[e>>2]|0;h=a+4|0;i=f[h>>2]|0;j=i;if(g-i>>2>>>0>=b>>>0){sj(i|0,0,b<<2|0)|0;f[h>>2]=i+(b<<2);u=c;return}k=f[a>>2]|0;l=i-k>>2;m=l+b|0;n=k;if(m>>>0>1073741823)aq(a);o=g-k|0;p=o>>1;q=o>>2>>>0<536870911?(p>>>0>>0?m:p):1073741823;f[d+12>>2]=0;f[d+16>>2]=a+8;do if(q)if(q>>>0>1073741823){p=ra(8)|0;Oo(p,16035);f[p>>2]=7256;va(p|0,1112,110)}else{r=ln(q<<2)|0;break}else r=0;while(0);f[d>>2]=r;p=r+(l<<2)|0;l=d+8|0;m=d+4|0;f[m>>2]=p;o=r+(q<<2)|0;q=d+12|0;f[q>>2]=o;r=p+(b<<2)|0;sj(p|0,0,b<<2|0)|0;f[l>>2]=r;if((j|0)==(n|0)){s=p;t=q;v=l;w=k;x=r;y=i;z=o;A=g}else{g=j;j=p;do{g=g+-4|0;p=f[g>>2]|0;f[g>>2]=0;f[j+-4>>2]=p;j=(f[m>>2]|0)+-4|0;f[m>>2]=j}while((g|0)!=(n|0));s=j;t=q;v=l;w=f[a>>2]|0;x=f[l>>2]|0;y=f[h>>2]|0;z=f[q>>2]|0;A=f[e>>2]|0}f[a>>2]=s;f[m>>2]=w;f[h>>2]=x;f[v>>2]=y;f[e>>2]=z;f[t>>2]=A;f[d>>2]=w;ki(d);u=c;return}function vf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Ch(i,h-m|0,3600);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+80|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1)r=-1;else r=f[(f[d>>2]|0)+(h<<2)>>2]|0;i=f[(f[m>>2]|0)+12>>2]|0;g=f[i+(r<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}k=f[a>>2]|0;f[k+(f[c+(o*12|0)>>2]<<2)>>2]=g;g=h+1|0;if((g|0)==-1)t=-1;else t=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(t<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+4>>2]<<2)>>2]=g;g=h+2|0;if((g|0)==-1)u=-1;else u=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(u<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+8>>2]<<2)>>2]=g;o=o+1|0;if(o>>>0>=e>>>0){q=1;s=12;break}}if((s|0)==12)return q|0;return 0}function wf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=f[a+8>>2]|0;e=a+112|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Ch(i,h-m|0,3600);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=a+116|0;a=c+68|0;c=f[o+96>>2]|0;o=0;while(1){h=o*3|0;if((h|0)==-1)r=-1;else r=f[(f[d>>2]|0)+(h<<2)>>2]|0;i=f[(f[m>>2]|0)+12>>2]|0;g=f[i+(r<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}k=f[a>>2]|0;f[k+(f[c+(o*12|0)>>2]<<2)>>2]=g;g=h+1|0;if((g|0)==-1)t=-1;else t=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(t<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+4>>2]<<2)>>2]=g;g=h+2|0;if((g|0)==-1)u=-1;else u=f[(f[d>>2]|0)+(g<<2)>>2]|0;g=f[i+(u<<2)>>2]|0;if(g>>>0>=p>>>0){q=0;s=12;break}f[k+(f[c+(o*12|0)+8>>2]<<2)>>2]=g;o=o+1|0;if(o>>>0>=e>>>0){q=1;s=12;break}}if((s|0)==12)return q|0;return 0}function xf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=u;u=u+16|0;h=d;i=f[a+124>>2]|0;if(!i){u=d;return}j=i+-1|0;k=(j&i|0)==0;if(!k)if(i>>>0>g>>>0)l=g;else l=(g>>>0)%(i>>>0)|0;else l=j&g;m=f[(f[a+120>>2]|0)+(l<<2)>>2]|0;if(!m){u=d;return}n=f[m>>2]|0;if(!n){u=d;return}a:do if(k){m=n;while(1){o=f[m+4>>2]|0;p=(o|0)==(g|0);if(!(p|(o&j|0)==(l|0))){q=24;break}if(p?(f[m+8>>2]|0)==(g|0):0){r=m;break a}m=f[m>>2]|0;if(!m){q=24;break}}if((q|0)==24){u=d;return}}else{m=n;while(1){p=f[m+4>>2]|0;if((p|0)==(g|0)){if((f[m+8>>2]|0)==(g|0)){r=m;break a}}else{if(p>>>0>>0)s=p;else s=(p>>>0)%(i>>>0)|0;if((s|0)!=(l|0)){q=24;break}}m=f[m>>2]|0;if(!m){q=24;break}}if((q|0)==24){u=d;return}}while(0);q=f[r+12>>2]|0;if((q|0)==-1){u=d;return}f[h>>2]=q;f[h+4>>2]=c;b[h+8>>0]=e&1;e=a+112|0;c=f[e>>2]|0;if((c|0)==(f[a+116>>2]|0))yi(a+108|0,h);else{f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];f[c+8>>2]=f[h+8>>2];f[e>>2]=(f[e>>2]|0)+12}u=d;return}function yf(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=d[b>>1]|0;e=d[b+2>>1]|0;g=d[b+4>>1]|0;h=d[b+6>>1]|0;b=((((c^318)&65535)+239^e&65535)+239^g&65535)+239^h&65535;i=f[a+4>>2]|0;if(!i){j=0;return j|0}k=i+-1|0;l=(k&i|0)==0;if(!l)if(b>>>0>>0)m=b;else m=(b>>>0)%(i>>>0)|0;else m=b&k;n=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!n){j=0;return j|0}a=f[n>>2]|0;if(!a){j=0;return j|0}if(l){l=a;while(1){n=f[l+4>>2]|0;o=(n|0)==(b|0);if(!(o|(n&k|0)==(m|0))){j=0;p=25;break}if((((o?(o=l+8|0,(d[o>>1]|0)==c<<16>>16):0)?(d[o+2>>1]|0)==e<<16>>16:0)?(d[l+12>>1]|0)==g<<16>>16:0)?(d[o+6>>1]|0)==h<<16>>16:0){j=l;p=25;break}l=f[l>>2]|0;if(!l){j=0;p=25;break}}if((p|0)==25)return j|0}else q=a;while(1){a=f[q+4>>2]|0;if((a|0)==(b|0)){l=q+8|0;if((((d[l>>1]|0)==c<<16>>16?(d[l+2>>1]|0)==e<<16>>16:0)?(d[q+12>>1]|0)==g<<16>>16:0)?(d[l+6>>1]|0)==h<<16>>16:0){j=q;p=25;break}}else{if(a>>>0>>0)r=a;else r=(a>>>0)%(i>>>0)|0;if((r|0)!=(m|0)){j=0;p=25;break}}q=f[q>>2]|0;if(!q){j=0;p=25;break}}if((p|0)==25)return j|0;return 0}function zf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(k=e+4|0,f[i>>2]=f[k>>2],f[h>>2]=f[i>>2],Me(e,h,a,a+4|0)|0,l=j,j=f[l+4>>2]|0,!((j|0)>0|(j|0)==0&(f[l>>2]|0)>>>0>0)):0){f[i>>2]=f[k>>2];f[h>>2]=f[i>>2];Me(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;Mm(d);m=a+32|0;Mm(m);k=a+52|0;Mm(k);l=a+72|0;Mm(l);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];hb(a,i,h);Bg(d,e);Bg(m,e);Bg(k,e);Bg(l,e);u=g;return 1}function Af(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+32|0;h=g+12|0;i=g;f[a>>2]=f[d>>2];d=a+4|0;f[d>>2]=(f[c>>2]|0)-(f[b>>2]|0);j=e+16|0;k=j;l=f[k+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0)?(k=e+4|0,f[i>>2]=f[k>>2],f[h>>2]=f[i>>2],Me(e,h,a,a+4|0)|0,l=j,j=f[l+4>>2]|0,!((j|0)>0|(j|0)==0&(f[l>>2]|0)>>>0>0)):0){f[i>>2]=f[k>>2];f[h>>2]=f[i>>2];Me(e,h,d,d+4|0)|0;m=i}else m=i;if(!(f[d>>2]|0)){u=g;return 1}d=a+12|0;tk(d);m=a+44|0;Mm(m);k=a+64|0;Mm(k);l=a+84|0;Mm(l);f[i>>2]=f[b>>2];f[i+4>>2]=f[b+4>>2];f[i+8>>2]=f[b+8>>2];f[h>>2]=f[c>>2];f[h+4>>2]=f[c+4>>2];f[h+8>>2]=f[c+8>>2];lb(a,i,h);ld(d,e);Bg(m,e);Bg(k,e);Bg(l,e);u=g;return 1}function Bf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;a=u;u=u+16|0;e=a+4|0;g=a;h=a+8|0;i=d+11|0;j=b[i>>0]|0;k=j<<24>>24<0;if(k){l=f[d+4>>2]|0;if(l>>>0>255){m=0;u=a;return m|0}else n=l}else n=j&255;if(!n){b[h>>0]=0;n=c+16|0;l=f[n+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}m=1;u=a;return m|0}n=d+4|0;l=f[n>>2]|0;b[h>>0]=k?l:j&255;k=c+16|0;o=k;p=f[o>>2]|0;q=f[o+4>>2]|0;if((q|0)>0|(q|0)==0&p>>>0>0){r=j;s=q;t=p;v=l}else{f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0;h=k;r=b[i>>0]|0;s=f[h+4>>2]|0;t=f[h>>2]|0;v=f[n>>2]|0}n=r<<24>>24<0;h=n?f[d>>2]|0:d;if(!((s|0)>0|(s|0)==0&t>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+(n?v:r&255)|0)|0}m=1;u=a;return m|0}function Cf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=a+4|0;d=f[a>>2]|0;e=((f[c>>2]|0)-d|0)/24|0;g=e+1|0;if(g>>>0>178956970)aq(a);h=a+8|0;i=((f[h>>2]|0)-d|0)/24|0;d=i<<1;j=i>>>0<89478485?(d>>>0>>0?g:d):178956970;do if(j)if(j>>>0>178956970){d=ra(8)|0;Oo(d,16035);f[d>>2]=7256;va(d|0,1112,110)}else{k=ln(j*24|0)|0;break}else k=0;while(0);d=k+(e*24|0)|0;g=d;i=k+(j*24|0)|0;f[d>>2]=1196;f[k+(e*24|0)+4>>2]=f[b+4>>2];fk(k+(e*24|0)+8|0,b+8|0);f[k+(e*24|0)+20>>2]=f[b+20>>2];b=d+24|0;e=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(e|0)){l=g;m=e;n=e}else{j=k;k=g;g=d;do{f[g+-24>>2]=1196;f[g+-20>>2]=f[j+-20>>2];d=g+-16|0;o=j+-16|0;f[d>>2]=0;p=g+-12|0;f[p>>2]=0;f[g+-8>>2]=0;f[d>>2]=f[o>>2];d=j+-12|0;f[p>>2]=f[d>>2];p=j+-8|0;f[g+-8>>2]=f[p>>2];f[p>>2]=0;f[d>>2]=0;f[o>>2]=0;f[g+-4>>2]=f[j+-4>>2];j=j+-24|0;g=k+-24|0;k=g}while((j|0)!=(e|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=b;f[h>>2]=i;i=m;if((n|0)!=(i|0)){h=n;do{h=h+-24|0;Va[f[f[h>>2]>>2]&127](h)}while((h|0)!=(i|0))}if(!m)return;Oq(m);return}function Df(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3588;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)aq(i);else{o=((n+-1|0)>>>5)+1|0;p=ln(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Tf(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)aq(i);k=((l+-1|0)>>>5)+1|0;l=ln(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Tf(i,e,d);u=c;return}function Ef(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b[c>>0]|0;e=b[c+1>>0]|0;g=b[c+2>>0]|0;h=b[c+3>>0]|0;c=(((d&255^318)+239^e&255)+239^g&255)+239^h&255;i=f[a+4>>2]|0;if(!i){j=0;return j|0}k=i+-1|0;l=(k&i|0)==0;if(!l)if(c>>>0>>0)m=c;else m=(c>>>0)%(i>>>0)|0;else m=c&k;n=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!n){j=0;return j|0}a=f[n>>2]|0;if(!a){j=0;return j|0}if(l){l=a;while(1){n=f[l+4>>2]|0;o=(n|0)==(c|0);if(!(o|(n&k|0)==(m|0))){j=0;p=25;break}if((((o?(o=l+8|0,(b[o>>0]|0)==d<<24>>24):0)?(b[o+1>>0]|0)==e<<24>>24:0)?(b[o+2>>0]|0)==g<<24>>24:0)?(b[o+3>>0]|0)==h<<24>>24:0){j=l;p=25;break}l=f[l>>2]|0;if(!l){j=0;p=25;break}}if((p|0)==25)return j|0}else q=a;while(1){a=f[q+4>>2]|0;if((a|0)==(c|0)){l=q+8|0;if((((b[l>>0]|0)==d<<24>>24?(b[l+1>>0]|0)==e<<24>>24:0)?(b[l+2>>0]|0)==g<<24>>24:0)?(b[l+3>>0]|0)==h<<24>>24:0){j=q;p=25;break}}else{if(a>>>0>>0)r=a;else r=(a>>>0)%(i>>>0)|0;if((r|0)!=(m|0)){j=0;p=25;break}}q=f[q>>2]|0;if(!q){j=0;p=25;break}}if((p|0)==25)return j|0;return 0}function Ff(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+32|0;d=c+24|0;e=c+16|0;g=c+8|0;h=c;f[a>>2]=3636;f[a+4>>2]=f[b+4>>2];i=a+8|0;j=b+8|0;f[i>>2]=0;k=a+12|0;f[k>>2]=0;l=a+16|0;f[l>>2]=0;m=b+12|0;n=f[m>>2]|0;do if(n|0)if((n|0)<0)aq(i);else{o=((n+-1|0)>>>5)+1|0;p=ln(o<<2)|0;f[i>>2]=p;f[k>>2]=0;f[l>>2]=o;o=f[j>>2]|0;f[g>>2]=o;f[g+4>>2]=0;p=f[m>>2]|0;f[h>>2]=o+(p>>>5<<2);f[h+4>>2]=p&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Tf(i,e,d);break}while(0);i=a+20|0;f[i>>2]=0;m=a+24|0;f[m>>2]=0;j=a+28|0;f[j>>2]=0;a=b+24|0;l=f[a>>2]|0;if(!l){u=c;return}if((l|0)<0)aq(i);k=((l+-1|0)>>>5)+1|0;l=ln(k<<2)|0;f[i>>2]=l;f[m>>2]=0;f[j>>2]=k;k=f[b+20>>2]|0;f[g>>2]=k;f[g+4>>2]=0;b=f[a>>2]|0;f[h>>2]=k+(b>>>5<<2);f[h+4>>2]=b&31;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[d>>2]=f[h>>2];f[d+4>>2]=f[h+4>>2];Tf(i,e,d);u=c;return}function Gf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;l=a+40|0;f[a+44>>2]=g;g=a+36|0;m=f[g>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=a+48|0;s=a+52|0;a=i+4|0;t=j+4|0;v=h+4|0;if(n-o>>2>>>0>q>>>0){w=q;x=o}else{y=m;aq(y)}while(1){f[k>>2]=f[x+(w<<2)>>2];f[h>>2]=f[k>>2];ub(l,h,b,w);m=X(w,e)|0;o=b+(m<<2)|0;q=c+(m<<2)|0;m=f[o+4>>2]|0;n=f[r>>2]|0;z=f[s>>2]|0;f[i>>2]=f[o>>2];f[a>>2]=m;f[j>>2]=n;f[t>>2]=z;Od(h,p,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[v>>2];w=w+-1|0;if((w|0)<=-1){A=3;break}q=f[g>>2]|0;x=f[q>>2]|0;if((f[q+4>>2]|0)-x>>2>>>0<=w>>>0){y=q;A=4;break}}if((A|0)==3){u=d;return 1}else if((A|0)==4)aq(y);return 0}function Hf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h;j=h+16|0;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Qa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=Qa[f[(f[b>>2]|0)+48>>2]&127](b)|0;m=Ra[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Ra[f[(f[b>>2]|0)+52>>2]&127](b,d)|0;if(!n){f[i>>2]=f[b+52>>2];f[i+4>>2]=l;f[i+12>>2]=m;f[i+8>>2]=m+12;Cd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[i>>2]=f[b+52>>2];f[i+4>>2]=n;f[i+12>>2]=m;f[i+8>>2]=m+12;Ad(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function If(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;d=u;u=u+32|0;h=d+24|0;i=d+16|0;j=d;k=d+8|0;l=a+40|0;f[a+44>>2]=g;g=a+36|0;m=f[g>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;if((p|0)<=0){u=d;return 1}q=(p>>>2)+-1|0;p=a+8|0;r=a+48|0;s=a+52|0;a=i+4|0;t=j+4|0;v=h+4|0;if(n-o>>2>>>0>q>>>0){w=q;x=o}else{y=m;aq(y)}while(1){f[k>>2]=f[x+(w<<2)>>2];f[h>>2]=f[k>>2];tb(l,h,b,w);m=X(w,e)|0;o=b+(m<<2)|0;q=c+(m<<2)|0;m=f[o+4>>2]|0;n=f[r>>2]|0;z=f[s>>2]|0;f[i>>2]=f[o>>2];f[a>>2]=m;f[j>>2]=n;f[t>>2]=z;Od(h,p,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[v>>2];w=w+-1|0;if((w|0)<=-1){A=3;break}q=f[g>>2]|0;x=f[q>>2]|0;if((f[q+4>>2]|0)-x>>2>>>0<=w>>>0){y=q;A=4;break}}if((A|0)==3){u=d;return 1}else if((A|0)==4)aq(y);return 0}function Jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=f[b>>2]|0;b=f[c>>2]|0;e=b-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;k=b;if(e>>>0<=h-i>>2>>>0){l=a+4|0;m=(f[l>>2]|0)-i>>2;n=e>>>0>m>>>0;o=n?d+(m<<2)|0:b;b=o-d|0;m=b>>2;if(m|0)im(i|0,d|0,b|0)|0;b=j+(m<<2)|0;if(!n){n=f[l>>2]|0;if((n|0)==(b|0))return;f[l>>2]=n+(~((n+-4-b|0)>>>2)<<2);return}b=f[c>>2]|0;c=o;if((b|0)==(c|0))return;n=f[l>>2]|0;m=b+-4-o|0;o=c;c=n;while(1){f[c>>2]=f[o>>2];o=o+4|0;if((o|0)==(b|0))break;else c=c+4|0}f[l>>2]=n+((m>>>2)+1<<2);return}m=i;if(!i)p=h;else{h=a+4|0;n=f[h>>2]|0;if((n|0)!=(j|0))f[h>>2]=n+(~((n+-4-i|0)>>>2)<<2);Oq(m);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;p=0}if(e>>>0>1073741823)aq(a);h=p>>1;m=p>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(m>>>0>1073741823)aq(a);h=ln(m<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(m<<2);m=d;if((k|0)==(m|0))return;g=k+-4-d|0;d=m;m=h;while(1){f[m>>2]=f[d>>2];d=d+4|0;if((d|0)==(k|0))break;else m=m+4|0}f[e>>2]=h+((g>>>2)+1<<2);return}function Kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(((d-g|0)/12|0)>>>0>=b>>>0){sj(g|0,0,b*12|0)|0;f[e>>2]=h+(b*12|0);return}i=f[a>>2]|0;j=(g-i|0)/12|0;g=j+b|0;k=i;if(g>>>0>357913941)aq(a);l=(d-i|0)/12|0;d=l<<1;m=l>>>0<178956970?(d>>>0>>0?g:d):357913941;do if(m)if(m>>>0>357913941){d=ra(8)|0;Oo(d,16035);f[d>>2]=7256;va(d|0,1112,110)}else{n=ln(m*12|0)|0;break}else n=0;while(0);d=n+(j*12|0)|0;j=d;g=n+(m*12|0)|0;sj(d|0,0,b*12|0)|0;m=d+(b*12|0)|0;if((h|0)==(k|0)){o=j;p=i;q=h}else{i=h;h=j;j=d;do{d=j+-12|0;b=i;i=i+-12|0;f[d>>2]=0;n=j+-8|0;f[n>>2]=0;f[j+-4>>2]=0;f[d>>2]=f[i>>2];d=b+-8|0;f[n>>2]=f[d>>2];n=b+-4|0;f[j+-4>>2]=f[n>>2];f[n>>2]=0;f[d>>2]=0;f[i>>2]=0;j=h+-12|0;h=j}while((i|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=g;g=p;if((q|0)!=(g|0)){c=q;do{q=c;c=c+-12|0;m=f[c>>2]|0;if(m|0){e=q+-8|0;q=f[e>>2]|0;if((q|0)!=(m|0))f[e>>2]=q+(~((q+-4-m|0)>>>2)<<2);Oq(m)}}while((c|0)!=(g|0))}if(!p)return;Oq(p);return}function Lf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;gk(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[e>>2]|0;i=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[c>>2]=0;h=a+104|0;j=f[h>>2]|0;k=f[g>>2]|0;l=j-k>>2;m=k;k=j;if(i>>>0<=l>>>0){if(i>>>0>>0?(j=m+(i<<2)|0,(j|0)!=(k|0)):0)f[h>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else Ch(g,i-l|0,c);l=a+120|0;a=f[l>>2]|0;if(!a){i=f[e>>2]|0;g=(f[i+4>>2]|0)-(f[i>>2]|0)>>2;i=(g>>>0)/3|0;if(g>>>0<=2){u=b;return 1}g=0;do{f[d>>2]=g*3;f[c>>2]=f[d>>2];wb(e,c);g=g+1|0}while((g|0)<(i|0));u=b;return 1}else{i=f[a>>2]|0;if((f[a+4>>2]|0)==(i|0)){u=b;return 1}a=0;g=i;do{f[d>>2]=f[g+(a<<2)>>2];f[c>>2]=f[d>>2];wb(e,c);a=a+1|0;i=f[l>>2]|0;g=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-g>>2>>>0);u=b;return 1}return 0}function Mf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-4194304|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-4177920|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+4194304|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1077936128|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Gn(e);yh(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;im(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=Vn(a|0,0,o|0,k|0)|0;k=Vn(h|0,I|0,g|0,j|0)|0;Cl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)Oq(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;Oq(c);u=d;return}function Nf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-2097152|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-2080768|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+6291456|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1075838976|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Gn(e);yh(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;im(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=Vn(a|0,0,o|0,k|0)|0;k=Vn(h|0,I|0,g|0,j|0)|0;Cl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)Oq(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;Oq(c);u=d;return}function Of(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-1048576|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1032192|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+7340032|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1074790400|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Gn(e);yh(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;im(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=Vn(a|0,0,o|0,k|0)|0;k=Vn(h|0,I|0,g|0,j|0)|0;Cl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)Oq(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;Oq(c);u=d;return}function Pf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}Tm(j);Jj(j,d,0,g&255,i,0,g<<1,0,0,0);i=jf(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+((X(d,g)|0)<<1)|0;r=n;s=f[r>>2]|0;t=un(s|0,f[r+4>>2]|0,p|0,0)|0;kh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;Oq(i)}Oq(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);Oq(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;Oq(v)}Oq(j)}k=w;u=a;return k|0}function Qf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}Tm(j);Jj(j,d,0,g&255,i,0,g<<2,0,0,0);i=jf(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+((X(d,g)|0)<<2)|0;r=n;s=f[r>>2]|0;t=un(s|0,f[r+4>>2]|0,p|0,0)|0;kh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;Oq(i)}Oq(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);Oq(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;Oq(v)}Oq(j)}k=w;u=a;return k|0}function Rf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-262144|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-245760|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+8126464|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1074003968|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Gn(e);yh(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;im(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=Vn(a|0,0,o|0,k|0)|0;k=Vn(h|0,I|0,g|0,j|0)|0;Cl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)Oq(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;Oq(c);u=d;return}function Sf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-131072|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-114688|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+8257536|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1073872896|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Gn(e);yh(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;im(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=Vn(a|0,0,o|0,k|0)|0;k=Vn(h|0,I|0,g|0,j|0)|0;Cl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)Oq(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;Oq(c);u=d;return}function Tf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+48|0;e=d+40|0;g=d+32|0;h=d+8|0;i=d;j=d+24|0;k=d+16|0;l=a+4|0;m=f[l>>2]|0;n=b;b=f[n>>2]|0;o=f[n+4>>2]|0;n=c;c=f[n>>2]|0;p=f[n+4>>2]|0;n=c-b<<3;f[l>>2]=m-o+p+n;l=(f[a>>2]|0)+(m>>>5<<2)|0;a=m&31;m=l;if((a|0)!=(o|0)){q=h;f[q>>2]=b;f[q+4>>2]=o;q=i;f[q>>2]=c;f[q+4>>2]=p;f[j>>2]=m;f[j+4>>2]=a;f[g>>2]=f[h>>2];f[g+4>>2]=f[h+4>>2];f[e>>2]=f[i>>2];f[e+4>>2]=f[i+4>>2];we(k,g,e,j);u=d;return}j=p-o+n|0;n=b;if((j|0)>0){if(!o){r=j;s=0;t=l;v=b;w=n}else{b=32-o|0;p=(j|0)<(b|0)?j:b;e=-1>>>(b-p|0)&-1<>2]=f[l>>2]&~e|f[n>>2]&e;e=p+o|0;b=n+4|0;r=j-p|0;s=e&31;t=l+(e>>>5<<2)|0;v=b;w=b}b=(r|0)/32|0;im(t|0,v|0,b<<2|0)|0;v=r-(b<<5)|0;r=t+(b<<2)|0;t=r;if((v|0)>0){e=-1>>>(32-v|0);f[r>>2]=f[r>>2]&~e|f[w+(b<<2)>>2]&e;x=v;y=t}else{x=s;y=t}}else{x=o;y=m}f[k>>2]=y;f[k+4>>2]=x;u=d;return}function Uf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-32768|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-16384|0;b[m>>0]=n;b[m+1>>0]=n>>>8;o=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;n=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+8355840|0;b[n>>0]=m;b[n+1>>0]=m>>>8;b[n+2>>0]=m>>>16;o=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;n=j+-1073774592|0;b[m>>0]=n;b[m+1>>0]=n>>>8;b[m+2>>0]=n>>>16;b[m+3>>0]=n>>>24;o=(f[l>>2]|0)+4|0;break}else{o=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;o=(f[l>>2]|0)+1|0}while(0);k=((o|0)<0)<<31>>31;Gn(e);yh(o,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;im(h+a|0,h|0,o|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=Vn(a|0,0,o|0,k|0)|0;k=Vn(h|0,I|0,g|0,j|0)|0;Cl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)Oq(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;Oq(c);u=d;return}function Vf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=f[b>>2]|0;d=f[b+4>>2]|0;e=f[b+8>>2]|0;g=f[b+12>>2]|0;b=(((c^318)+239^d)+239^e)+239^g;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(b>>>0>>0)l=b;else l=(b>>>0)%(h>>>0)|0;else l=b&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(b|0);if(!(n|(m&j|0)==(l|0))){i=0;o=25;break}if((((n?(f[k+8>>2]|0)==(c|0):0)?(f[k+12>>2]|0)==(d|0):0)?(f[k+16>>2]|0)==(e|0):0)?(f[k+20>>2]|0)==(g|0):0){i=k;o=25;break}k=f[k>>2]|0;if(!k){i=0;o=25;break}}if((o|0)==25)return i|0}else p=a;while(1){a=f[p+4>>2]|0;if((a|0)==(b|0)){if((((f[p+8>>2]|0)==(c|0)?(f[p+12>>2]|0)==(d|0):0)?(f[p+16>>2]|0)==(e|0):0)?(f[p+20>>2]|0)==(g|0):0){i=p;o=25;break}}else{if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=25;break}}p=f[p>>2]|0;if(!p){i=0;o=25;break}}if((o|0)==25)return i|0;return 0}function Wf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;a=u;u=u+96|0;j=a;if(!c){k=-1;u=a;return k|0}Tm(j);Jj(j,d,0,g&255,i,0,g,0,0,0);i=jf(c,j,1,e)|0;d=f[(f[c+8>>2]|0)+(i<<2)>>2]|0;if(e|0){l=d+84|0;m=d+68|0;n=d+40|0;o=d+64|0;d=0;do{if(!(b[l>>0]|0))p=f[(f[m>>2]|0)+(d<<2)>>2]|0;else p=d;q=h+(X(d,g)|0)|0;r=n;s=f[r>>2]|0;t=un(s|0,f[r+4>>2]|0,p|0,0)|0;kh((f[f[o>>2]>>2]|0)+t|0,q|0,s|0)|0;d=d+1|0}while((d|0)!=(e|0))}d=c+80|0;c=f[d>>2]|0;if(c)if((c|0)==(e|0))v=10;else w=-1;else{f[d>>2]=e;v=10}if((v|0)==10)w=i;i=j+88|0;v=f[i>>2]|0;f[i>>2]=0;if(v|0){i=f[v+8>>2]|0;if(i|0){e=v+12|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;Oq(i)}Oq(v)}v=f[j+68>>2]|0;if(v|0){i=j+72|0;e=f[i>>2]|0;if((e|0)!=(v|0))f[i>>2]=e+(~((e+-4-v|0)>>>2)<<2);Oq(v)}v=j+64|0;j=f[v>>2]|0;f[v>>2]=0;if(j|0){v=f[j>>2]|0;if(v|0){e=j+4|0;if((f[e>>2]|0)!=(v|0))f[e>>2]=v;Oq(v)}Oq(j)}k=w;u=a;return k|0}function Xf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=u;u=u+32|0;i=h;j=h+16|0;k=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Qa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){l=Qa[f[(f[b>>2]|0)+48>>2]&127](b)|0;m=Ra[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if((l|0)==0|(m|0)==0){f[a>>2]=0;u=h;return}n=Ra[f[(f[b>>2]|0)+52>>2]&127](b,d)|0;if(!n){f[i>>2]=f[b+52>>2];f[i+4>>2]=l;f[i+12>>2]=m;f[i+8>>2]=m+12;qd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}else{f[i>>2]=f[b+52>>2];f[i+4>>2]=n;f[i+12>>2]=m;f[i+8>>2]=m+12;pd(a,j,c,k,e,i,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=h;return}}while(0);f[a>>2]=0;u=h;return}function Yf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=f[d>>2]|0;g=f[d+4>>2]|0;if((e|0)==(g|0)){h=0;i=a+12|0;j=a+8|0}else{d=f[c>>2]|0;c=a+8|0;k=a+12|0;a=0;l=e;while(1){e=f[l>>2]|0;m=f[d+(e<<2)>>2]|0;if(m>>>0>>0)n=a;else{o=f[c>>2]|0;p=(f[k>>2]|0)-o|0;q=o;if((p|0)>0){o=p>>>2;p=0;do{r=f[q+(p<<2)>>2]|0;s=f[r+68>>2]|0;if(!(b[r+84>>0]|0))t=f[s+(e<<2)>>2]|0;else t=e;f[s+(m<<2)>>2]=t;p=p+1|0}while((p|0)<(o|0))}n=m+1|0}l=l+4|0;if((l|0)==(g|0)){h=n;i=k;j=c;break}else a=n}}n=f[i>>2]|0;a=f[j>>2]|0;if((n-a|0)>0){u=0;v=a;w=n}else return;while(1){n=f[v+(u<<2)>>2]|0;b[n+84>>0]=0;a=n+68|0;c=n+72|0;n=f[c>>2]|0;k=f[a>>2]|0;g=n-k>>2;l=k;k=n;if(h>>>0<=g>>>0)if(h>>>0>>0?(n=l+(h<<2)|0,(n|0)!=(k|0)):0){f[c>>2]=k+(~((k+-4-n|0)>>>2)<<2);x=v;y=w}else{x=v;y=w}else{Ch(a,h-g|0,6220);x=f[j>>2]|0;y=f[i>>2]|0}u=u+1|0;if((u|0)>=(y-x>>2|0))break;else{v=x;w=y}}return}function Zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)im(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=((c+-4-o|0)>>>2)+1|0;o=n;n=l;while(1){f[n>>2]=f[o>>2];o=o+4|0;if((o|0)==(c|0))break;else n=n+4|0}f[k>>2]=l+(p<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);Oq(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)aq(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)aq(a);h=ln(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=((c+-4-d|0)>>>2)+1|0;d=b;b=h;while(1){f[b>>2]=f[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}f[e>>2]=h+(p<<2);return}function _f(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=u;u=u+32|0;e=d;g=a+40|0;h=(f[c>>2]|0)+(f[g>>2]|0)|0;i=a+24|0;j=f[a+32>>2]|0;k=j+-16384|0;do if(k>>>0>=64){if(k>>>0<16384){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;b[m>>0]=j;b[m+1>>0]=j>>>8;n=(f[l>>2]|0)+2|0;break}if(k>>>0<4194304){l=a+28|0;m=(f[i>>2]|0)+(f[l>>2]|0)|0;o=j+8372224|0;b[m>>0]=o;b[m+1>>0]=o>>>8;b[m+2>>0]=o>>>16;n=(f[l>>2]|0)+3|0;break}if(k>>>0<1073741824){l=a+28|0;o=(f[i>>2]|0)+(f[l>>2]|0)|0;m=j+-1073758208|0;b[o>>0]=m;b[o+1>>0]=m>>>8;b[o+2>>0]=m>>>16;b[o+3>>0]=m>>>24;n=(f[l>>2]|0)+4|0;break}else{n=f[a+28>>2]|0;break}}else{l=a+28|0;b[(f[i>>2]|0)+(f[l>>2]|0)>>0]=k;n=(f[l>>2]|0)+1|0}while(0);k=((n|0)<0)<<31>>31;Gn(e);yh(n,k,e)|0;i=e+4|0;a=(f[i>>2]|0)-(f[e>>2]|0)|0;im(h+a|0,h|0,n|0)|0;kh(h|0,f[e>>2]|0,a|0)|0;h=g;g=f[h>>2]|0;j=f[h+4>>2]|0;h=Vn(a|0,0,n|0,k|0)|0;k=Vn(h|0,I|0,g|0,j|0)|0;Cl(c,k,I);k=e+12|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)Oq(c);c=f[e>>2]|0;if(!c){u=d;return}if((f[i>>2]|0)!=(c|0))f[i>>2]=c;Oq(c);u=d;return}function $f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=b;e=c-d>>2;g=a+8|0;h=f[g>>2]|0;i=f[a>>2]|0;j=i;if(e>>>0<=h-i>>2>>>0){k=a+4|0;l=(f[k>>2]|0)-i>>2;m=e>>>0>l>>>0;n=b+(l<<2)|0;l=m?n:c;o=l;p=o-d|0;q=p>>2;if(q|0)im(i|0,b|0,p|0)|0;p=j+(q<<2)|0;if(!m){m=f[k>>2]|0;if((m|0)==(p|0))return;f[k>>2]=m+(~((m+-4-p|0)>>>2)<<2);return}if((l|0)==(c|0))return;l=f[k>>2]|0;p=c+-4-o|0;o=n;n=l;while(1){f[n>>2]=f[o>>2];o=o+4|0;if((o|0)==(c|0))break;else n=n+4|0}f[k>>2]=l+((p>>>2)+1<<2);return}p=i;if(!i)r=h;else{h=a+4|0;l=f[h>>2]|0;if((l|0)!=(j|0))f[h>>2]=l+(~((l+-4-i|0)>>>2)<<2);Oq(p);f[g>>2]=0;f[h>>2]=0;f[a>>2]=0;r=0}if(e>>>0>1073741823)aq(a);h=r>>1;p=r>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;if(p>>>0>1073741823)aq(a);h=ln(p<<2)|0;e=a+4|0;f[e>>2]=h;f[a>>2]=h;f[g>>2]=h+(p<<2);if((b|0)==(c|0))return;p=c+-4-d|0;d=b;b=h;while(1){f[b>>2]=f[d>>2];d=d+4|0;if((d|0)==(c|0))break;else b=b+4|0}f[e>>2]=h+((p>>>2)+1<<2);return}function ag(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=u;u=u+80|0;h=g;i=g+64|0;Il(h);j=f[(f[a+8>>2]|0)+56>>2]|0;k=X(Vl(5)|0,d)|0;Jj(h,j,0,d&255,5,0,k,((k|0)<0)<<31>>31,0,0);k=ln(96)|0;tl(k,h);Bj(k,c)|0;f[i>>2]=k;gj(a,i);k=f[i>>2]|0;f[i>>2]=0;if(k|0){i=k+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){i=f[c+8>>2]|0;if(i|0){h=c+12|0;if((f[h>>2]|0)!=(i|0))f[h>>2]=i;Oq(i)}Oq(c)}c=f[k+68>>2]|0;if(c|0){i=k+72|0;h=f[i>>2]|0;if((h|0)!=(c|0))f[i>>2]=h+(~((h+-4-c|0)>>>2)<<2);Oq(c)}c=k+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){i=h+4|0;if((f[i>>2]|0)!=(c|0))f[i>>2]=c;Oq(c)}Oq(h)}Oq(k)}if(!e){u=g;return}k=f[a+32>>2]|0;b[k+84>>0]=0;a=k+68|0;h=k+72|0;k=f[h>>2]|0;c=f[a>>2]|0;i=k-c>>2;d=k;if(i>>>0>>0){Ch(a,e-i|0,1532);u=g;return}if(i>>>0<=e>>>0){u=g;return}i=c+(e<<2)|0;if((i|0)==(d|0)){u=g;return}f[h>>2]=d+(~((d+-4-i|0)>>>2)<<2);u=g;return}function bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;c=u;u=u+16|0;d=c+4|0;e=c;g=a+4|0;h=f[g>>2]|0;i=a+8|0;j=f[i>>2]|0;if((j|0)==(h|0))k=h;else{l=j+(~((j+-4-h|0)>>>2)<<2)|0;f[i>>2]=l;k=l}l=a+16|0;h=f[l>>2]|0;j=a+20|0;m=f[j>>2]|0;n=h;if((m|0)!=(h|0))f[j>>2]=m+(~((m+-4-n|0)>>>2)<<2);m=f[b>>2]|0;h=f[b+4>>2]|0;if((m|0)==(h|0)){u=c;return}b=a+12|0;a=m;m=k;k=n;while(1){n=f[a>>2]|0;f[d>>2]=n;if((m|0)==(f[b>>2]|0)){Ri(g,d);o=f[l>>2]|0}else{f[m>>2]=n;f[i>>2]=m+4;o=k}n=f[d>>2]|0;p=f[j>>2]|0;q=p-o>>2;r=o;if((n|0)<(q|0)){s=r;t=n;v=o}else{w=n+1|0;f[e>>2]=-1;x=p;if(w>>>0<=q>>>0)if(w>>>0>>0?(p=r+(w<<2)|0,(p|0)!=(x|0)):0){f[j>>2]=x+(~((x+-4-p|0)>>>2)<<2);y=n;z=r;A=o}else{y=n;z=r;A=o}else{Ch(l,w-q|0,e);q=f[l>>2]|0;y=f[d>>2]|0;z=q;A=q}s=z;t=y;v=A}m=f[i>>2]|0;f[s+(t<<2)>>2]=(m-(f[g>>2]|0)>>2)+-1;a=a+4|0;if((a|0)==(h|0))break;else k=v}u=c;return}function cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=u;u=u+16|0;d=c;e=a+76|0;g=f[e>>2]|0;h=a+80|0;i=f[h>>2]|0;if((i|0)!=(g|0))f[h>>2]=i+(~((i+-4-g|0)>>>2)<<2);f[e>>2]=0;f[h>>2]=0;f[a+84>>2]=0;if(g|0)Oq(g);g=a+64|0;h=f[g>>2]|0;e=a+68|0;if((f[e>>2]|0)!=(h|0))f[e>>2]=h;f[g>>2]=0;f[e>>2]=0;f[a+72>>2]=0;if(h|0)Oq(h);h=b+4|0;e=f[h>>2]|0;g=f[b>>2]|0;i=((e-g|0)/12|0)*3|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=l;l=k;k=g;if(i>>>0<=m>>>0)if(i>>>0>>0?(o=n+(i<<2)|0,(o|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-o|0)>>>2)<<2);p=e;q=g;r=k}else{p=e;q=g;r=k}else{Ci(a,i-m|0);m=f[b>>2]|0;p=f[h>>2]|0;q=m;r=m}if((p|0)!=(q|0)){q=f[a>>2]|0;m=(p-r|0)/12|0;p=0;do{h=p*3|0;f[q+(h<<2)>>2]=f[r+(p*12|0)>>2];f[q+(h+1<<2)>>2]=f[r+(p*12|0)+4>>2];f[q+(h+2<<2)>>2]=f[r+(p*12|0)+8>>2];p=p+1|0}while(p>>>0>>0)}f[d>>2]=-1;if(!(rc(a,d)|0)){s=0;u=c;return s|0}eb(a,f[d>>2]|0)|0;s=1;u=c;return s|0}function dg(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=d[b>>1]|0;e=d[b+2>>1]|0;g=d[b+4>>1]|0;b=(((c^318)&65535)+239^e&65535)+239^g&65535;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(b>>>0>>0)l=b;else l=(b>>>0)%(h>>>0)|0;else l=b&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(b|0);if(!(n|(m&j|0)==(l|0))){i=0;o=23;break}if(((n?(n=k+8|0,(d[n>>1]|0)==c<<16>>16):0)?(d[n+2>>1]|0)==e<<16>>16:0)?(d[k+12>>1]|0)==g<<16>>16:0){i=k;o=23;break}k=f[k>>2]|0;if(!k){i=0;o=23;break}}if((o|0)==23)return i|0}else p=a;while(1){a=f[p+4>>2]|0;if((a|0)==(b|0)){k=p+8|0;if(((d[k>>1]|0)==c<<16>>16?(d[k+2>>1]|0)==e<<16>>16:0)?(d[p+12>>1]|0)==g<<16>>16:0){i=p;o=23;break}}else{if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=23;break}}p=f[p>>2]|0;if(!p){i=0;o=23;break}}if((o|0)==23)return i|0;return 0}function eg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=u;u=u+32|0;d=c;e=a+16|0;g=e;h=f[g>>2]|0;i=f[g+4>>2]|0;if(!((i|0)>0|(i|0)==0&h>>>0>0)){u=c;return}g=Vn(f[(f[a+12>>2]|0)+4>>2]|0,0,7,0)|0;j=Yn(g|0,I|0,3)|0;g=I;if(!(b[a+24>>0]|0)){k=a+4|0;l=k;m=k;n=h;o=i}else{k=f[a>>2]|0;p=a+4|0;q=k+((f[p>>2]|0)-k)|0;k=Vn(h|0,i|0,8,0)|0;i=q+(0-k)|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;b[d+24>>0]=0;yh(j,g,d)|0;k=d+4|0;q=(f[k>>2]|0)-(f[d>>2]|0)|0;im(i+q|0,i+8|0,j|0)|0;kh(i|0,f[d>>2]|0,q|0)|0;i=e;h=Vn(f[i>>2]|0,f[i+4>>2]|0,8-q|0,0)|0;q=e;f[q>>2]=h;f[q+4>>2]=I;q=d+12|0;h=f[q>>2]|0;f[q>>2]=0;if(h|0)Oq(h);h=f[d>>2]|0;if(h|0){if((f[k>>2]|0)!=(h|0))f[k>>2]=h;Oq(h)}h=e;l=p;m=p;n=f[h>>2]|0;o=f[h+4>>2]|0}h=f[l>>2]|0;l=f[a>>2]|0;p=h-l|0;k=Xn(j|0,g|0,n|0,o|0)|0;o=Vn(k|0,I|0,p|0,0)|0;k=l;l=h;if(p>>>0>=o>>>0){if(p>>>0>o>>>0?(h=k+o|0,(h|0)!=(l|0)):0)f[m>>2]=h}else Fi(a,o-p|0);p=e;f[p>>2]=0;f[p+4>>2]=0;u=c;return}function fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f[a+4>>2]=f[b+4>>2];c=a+8|0;d=b+8|0;if((a|0)==(b|0))return a|0;e=b+12|0;g=f[e>>2]|0;if(!g)h=0;else{i=a+16|0;do if(g>>>0>f[i>>2]<<5>>>0){j=f[c>>2]|0;if(!j)k=g;else{Oq(j);f[c>>2]=0;f[i>>2]=0;f[a+12>>2]=0;k=f[e>>2]|0}if((k|0)<0)aq(c);else{j=((k+-1|0)>>>5)+1|0;l=ln(j<<2)|0;f[c>>2]=l;f[a+12>>2]=0;f[i>>2]=j;m=f[e>>2]|0;n=l;break}}else{m=g;n=f[c>>2]|0}while(0);im(n|0,f[d>>2]|0,((m+-1|0)>>>5<<2)+4|0)|0;h=f[e>>2]|0}f[a+12>>2]=h;h=a+20|0;e=b+20|0;m=b+24|0;b=f[m>>2]|0;if(!b)o=0;else{d=a+28|0;do if(b>>>0>f[d>>2]<<5>>>0){n=f[h>>2]|0;if(!n)p=b;else{Oq(n);f[h>>2]=0;f[d>>2]=0;f[a+24>>2]=0;p=f[m>>2]|0}if((p|0)<0)aq(h);else{n=((p+-1|0)>>>5)+1|0;c=ln(n<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[d>>2]=n;q=f[m>>2]|0;r=c;break}}else{q=b;r=f[h>>2]|0}while(0);im(r|0,f[e>>2]|0,((q+-1|0)>>>5<<2)+4|0)|0;o=f[m>>2]|0}f[a+24>>2]=o;return a|0}function gg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f[c>>2]=1;d=a+4|0;e=c+8|0;g=c+12|0;c=f[e>>2]|0;i=(f[g>>2]|0)-c|0;if(i>>>0<4294967292){Lk(e,i+4|0,0);j=f[e>>2]|0}else j=c;c=j+i|0;i=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=i;b[c+1>>0]=i>>8;b[c+2>>0]=i>>16;b[c+3>>0]=i>>24;i=a+8|0;c=a+12|0;d=f[i>>2]|0;if((f[c>>2]|0)!=(d|0)){j=0;k=d;do{d=k+(j<<2)|0;l=f[e>>2]|0;m=(f[g>>2]|0)-l|0;if(m>>>0<4294967292){Lk(e,m+4|0,0);n=f[e>>2]|0}else n=l;l=n+m|0;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;j=j+1|0;k=f[i>>2]|0}while(j>>>0<(f[c>>2]|0)-k>>2>>>0)}k=a+20|0;a=f[e>>2]|0;c=(f[g>>2]|0)-a|0;if(c>>>0<4294967292){Lk(e,c+4|0,0);o=f[e>>2]|0;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}else{o=a;p=o+c|0;q=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;b[p>>0]=q;b[p+1>>0]=q>>8;b[p+2>>0]=q>>16;b[p+3>>0]=q>>24;return}}function hg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+8|0;e=f[d>>2]|0;g=f[a>>2]|0;h=g;do if(e-g>>2>>>0>=b>>>0){i=a+4|0;j=f[i>>2]|0;k=j-g>>2;l=k>>>0>>0;m=l?k:b;n=j;if(m|0){j=m;m=h;while(1){f[m>>2]=f[c>>2];j=j+-1|0;if(!j)break;else m=m+4|0}}if(!l){m=h+(b<<2)|0;if((m|0)==(n|0))return;else{o=i;p=n+(~((n+-4-m|0)>>>2)<<2)|0;break}}else{m=b-k|0;j=m;q=n;while(1){f[q>>2]=f[c>>2];j=j+-1|0;if(!j)break;else q=q+4|0}o=i;p=n+(m<<2)|0;break}}else{q=g;if(!g)r=e;else{j=a+4|0;k=f[j>>2]|0;if((k|0)!=(h|0))f[j>>2]=k+(~((k+-4-g|0)>>>2)<<2);Oq(q);f[d>>2]=0;f[j>>2]=0;f[a>>2]=0;r=0}if(b>>>0>1073741823)aq(a);j=r>>1;q=r>>2>>>0<536870911?(j>>>0>>0?b:j):1073741823;if(q>>>0>1073741823)aq(a);j=ln(q<<2)|0;k=a+4|0;f[k>>2]=j;f[a>>2]=j;f[d>>2]=j+(q<<2);q=b;l=j;while(1){f[l>>2]=f[c>>2];q=q+-1|0;if(!q)break;else l=l+4|0}o=k;p=j+(b<<2)|0}while(0);f[o>>2]=p;return}function ig(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=jh(a,b,c,d,g)|0;i=f[e>>2]|0;j=f[d>>2]|0;k=f[g>>2]|0;g=f[k>>2]|0;l=(f[k+4>>2]|0)-g>>3;if(l>>>0<=i>>>0)aq(k);m=g;if(l>>>0<=j>>>0)aq(k);if((f[m+(i<<3)>>2]|0)>>>0>=(f[m+(j<<3)>>2]|0)>>>0){n=h;return n|0}f[d>>2]=i;f[e>>2]=j;j=f[d>>2]|0;e=f[c>>2]|0;if(l>>>0<=j>>>0)aq(k);if(l>>>0<=e>>>0)aq(k);if((f[m+(j<<3)>>2]|0)>>>0>=(f[m+(e<<3)>>2]|0)>>>0){n=h+1|0;return n|0}f[c>>2]=j;f[d>>2]=e;e=f[c>>2]|0;d=f[b>>2]|0;if(l>>>0<=e>>>0)aq(k);if(l>>>0<=d>>>0)aq(k);if((f[m+(e<<3)>>2]|0)>>>0>=(f[m+(d<<3)>>2]|0)>>>0){n=h+2|0;return n|0}f[b>>2]=e;f[c>>2]=d;d=f[b>>2]|0;c=f[a>>2]|0;if(l>>>0<=d>>>0)aq(k);if(l>>>0<=c>>>0)aq(k);if((f[m+(d<<3)>>2]|0)>>>0>=(f[m+(c<<3)>>2]|0)>>>0){n=h+3|0;return n|0}f[a>>2]=d;f[b>>2]=c;n=h+4|0;return n|0}function jg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=b[c>>0]|0;e=b[c+1>>0]|0;g=b[c+2>>0]|0;c=((d&255^318)+239^e&255)+239^g&255;h=f[a+4>>2]|0;if(!h){i=0;return i|0}j=h+-1|0;k=(j&h|0)==0;if(!k)if(c>>>0>>0)l=c;else l=(c>>>0)%(h>>>0)|0;else l=c&j;m=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!m){i=0;return i|0}a=f[m>>2]|0;if(!a){i=0;return i|0}if(k){k=a;while(1){m=f[k+4>>2]|0;n=(m|0)==(c|0);if(!(n|(m&j|0)==(l|0))){i=0;o=23;break}if(((n?(n=k+8|0,(b[n>>0]|0)==d<<24>>24):0)?(b[n+1>>0]|0)==e<<24>>24:0)?(b[n+2>>0]|0)==g<<24>>24:0){i=k;o=23;break}k=f[k>>2]|0;if(!k){i=0;o=23;break}}if((o|0)==23)return i|0}else p=a;while(1){a=f[p+4>>2]|0;if((a|0)==(c|0)){k=p+8|0;if(((b[k>>0]|0)==d<<24>>24?(b[k+1>>0]|0)==e<<24>>24:0)?(b[k+2>>0]|0)==g<<24>>24:0){i=p;o=23;break}}else{if(a>>>0>>0)q=a;else q=(a>>>0)%(h>>>0)|0;if((q|0)!=(l|0)){i=0;o=23;break}}p=f[p>>2]|0;if(!p){i=0;o=23;break}}if((o|0)==23)return i|0;return 0}function kg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=u;u=u+16|0;c=b;d=a+36|0;e=a+4|0;g=a+8|0;h=(f[g>>2]|0)-(f[e>>2]|0)>>2;i=a+40|0;j=f[i>>2]|0;k=f[d>>2]|0;l=j-k>>2;m=k;k=j;if(h>>>0<=l>>>0){if(h>>>0>>0?(j=m+(h<<2)|0,(j|0)!=(k|0)):0){m=k;do{k=m+-4|0;f[i>>2]=k;n=f[k>>2]|0;f[k>>2]=0;if(n|0)Va[f[(f[n>>2]|0)+4>>2]&127](n);m=f[i>>2]|0}while((m|0)!=(j|0))}}else Eg(d,h-l|0);if((f[g>>2]|0)==(f[e>>2]|0)){o=1;u=b;return o|0}l=a+52|0;h=a+48|0;j=0;while(1){Xa[f[(f[a>>2]|0)+56>>2]&15](c,a,j);m=(f[d>>2]|0)+(j<<2)|0;i=f[c>>2]|0;f[c>>2]=0;n=f[m>>2]|0;f[m>>2]=i;if(n|0)Va[f[(f[n>>2]|0)+4>>2]&127](n);n=f[c>>2]|0;f[c>>2]=0;if(n|0)Va[f[(f[n>>2]|0)+4>>2]&127](n);n=f[(f[d>>2]|0)+(j<<2)>>2]|0;if(!n){o=0;p=19;break}if(j>>>0<(f[l>>2]|0)>>>0?f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0:0)Bp(n);j=j+1|0;if(j>>>0>=(f[g>>2]|0)-(f[e>>2]|0)>>2>>>0){o=1;p=19;break}}if((p|0)==19){u=b;return o|0}return 0}function lg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d+4|0;g=d;ci(f[c+12>>2]|0,b)|0;h=f[c+8>>2]|0;a:do if(h|0){i=b+16|0;j=b+4|0;k=h;while(1){l=k;if(!(Bf(0,b,l+8|0)|0)){m=0;break}n=l+20|0;o=(f[l+24>>2]|0)-(f[n>>2]|0)|0;ci(o,b)|0;l=f[n>>2]|0;n=i;p=f[n+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[j>>2];f[e>>2]=f[g>>2];Me(b,e,l,l+o|0)|0}k=f[k>>2]|0;if(!k)break a}u=d;return m|0}while(0);ci(f[c+32>>2]|0,b)|0;e=f[c+28>>2]|0;if(!e){m=1;u=d;return m|0}else q=e;while(1){e=q;if(!(Bf(0,b,e+8|0)|0)){m=0;r=10;break}lg(a,b,f[e+20>>2]|0)|0;q=f[q>>2]|0;if(!q){m=1;r=10;break}}if((r|0)==10){u=d;return m|0}return 0}function mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+8|0;i=a+12|0;j=f[h>>2]|0;if((f[i>>2]|0)==(j|0)){k=ln(76)|0;vn(k,b);l=k;f[g>>2]=l;k=f[i>>2]|0;if(k>>>0<(f[a+16>>2]|0)>>>0){f[g>>2]=0;f[k>>2]=l;f[i>>2]=k+4;m=g}else{Qg(h,g);m=g}g=f[m>>2]|0;f[m>>2]=0;if(!g){u=c;return 1}Va[f[(f[g>>2]|0)+4>>2]&127](g);u=c;return 1}g=f[j>>2]|0;f[d>>2]=b;j=g+4|0;m=g+8|0;h=f[m>>2]|0;if((h|0)==(f[g+12>>2]|0))Ri(j,d);else{f[h>>2]=b;f[m>>2]=h+4}h=f[d>>2]|0;b=g+16|0;k=g+20|0;g=f[k>>2]|0;i=f[b>>2]|0;l=g-i>>2;a=i;if((h|0)<(l|0)){n=a;o=h}else{i=h+1|0;f[e>>2]=-1;p=g;if(i>>>0<=l>>>0)if(i>>>0>>0?(g=a+(i<<2)|0,(g|0)!=(p|0)):0){f[k>>2]=p+(~((p+-4-g|0)>>>2)<<2);q=h;r=a}else{q=h;r=a}else{Ch(b,i-l|0,e);q=f[d>>2]|0;r=f[b>>2]|0}n=r;o=q}f[n+(o<<2)>>2]=((f[m>>2]|0)-(f[j>>2]|0)>>2)+-1;u=c;return 1}function ng(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0>j-k>>2>>>0){m=k;if(!k)n=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);Oq(m);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;n=0}if(h>>>0>1073741823)aq(a);j=n>>1;m=n>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(m>>>0>1073741823)aq(a);j=ln(m<<2)|0;n=a+4|0;f[n>>2]=j;f[a>>2]=j;f[i>>2]=j+(m<<2);if((g|0)<=0)return;kh(j|0,b|0,g|0)|0;f[n>>2]=j+(g>>>2<<2);return}g=a+4|0;a=f[g>>2]|0;j=a-k>>2;k=h>>>0>j>>>0;h=k?b+(j<<2)|0:c;c=a;j=a;if((h|0)==(b|0))p=l;else{a=h+-4-e|0;e=b;b=l;while(1){f[b>>2]=f[e>>2];e=e+4|0;if((e|0)==(h|0))break;else b=b+4|0}p=l+((a>>>2)+1<<2)|0}if(k){k=d-h|0;if((k|0)<=0)return;kh(j|0,h|0,k|0)|0;f[g>>2]=(f[g>>2]|0)+(k>>>2<<2);return}else{if((p|0)==(c|0))return;f[g>>2]=c+(~((c+-4-p|0)>>>2)<<2);return}}function og(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=f[a+8>>2]|0;e=a+76|0;g=f[e>>2]|0;h=f[g+80>>2]|0;b[c+84>>0]=0;i=c+68|0;j=c+72|0;k=f[j>>2]|0;l=f[i>>2]|0;m=k-l>>2;n=l;l=k;if(h>>>0<=m>>>0)if(h>>>0>>0?(k=n+(h<<2)|0,(k|0)!=(l|0)):0){f[j>>2]=l+(~((l+-4-k|0)>>>2)<<2);o=g;p=h}else{o=g;p=h}else{Ch(i,h-m|0,3600);m=f[e>>2]|0;o=m;p=f[m+80>>2]|0}m=(f[o+100>>2]|0)-(f[o+96>>2]|0)|0;e=(m|0)/12|0;if(!m){q=1;return q|0}m=c+68|0;c=f[o+96>>2]|0;o=f[d+28>>2]|0;d=f[(f[a+80>>2]|0)+12>>2]|0;a=0;while(1){h=a*3|0;i=f[d+(f[o+(h<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}g=f[m>>2]|0;f[g+(f[c+(a*12|0)>>2]<<2)>>2]=i;i=f[d+(f[o+(h+1<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}f[g+(f[c+(a*12|0)+4>>2]<<2)>>2]=i;i=f[d+(f[o+(h+2<<2)>>2]<<2)>>2]|0;if(i>>>0>=p>>>0){q=0;r=10;break}f[g+(f[c+(a*12|0)+8>>2]<<2)>>2]=i;a=a+1|0;if(a>>>0>=e>>>0){q=1;r=10;break}}if((r|0)==10)return q|0;return 0}function pg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=u;u=u+16|0;g=e;if(!(xh(a,c,d)|0)){h=0;u=e;return h|0}if((b[(f[a+8>>2]|0)+24>>0]|0)!=3){h=0;u=e;return h|0}i=f[c+48>>2]|0;c=ln(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=17;j=c;k=14495;l=j+17|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[c+17>>0]=0;c=i+16|0;k=f[c>>2]|0;if(k){j=c;l=k;a:while(1){k=l;while(1){if((f[k+16>>2]|0)>=(d|0))break;m=f[k+4>>2]|0;if(!m){n=j;break a}else k=m}l=f[k>>2]|0;if(!l){n=k;break}else j=k}if(((n|0)!=(c|0)?(f[n+16>>2]|0)<=(d|0):0)?(d=n+20|0,(Jh(d,g)|0)!=0):0)o=Hk(d,g,-1)|0;else p=12}else p=12;if((p|0)==12)o=Hk(i,g,-1)|0;if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);if((o|0)<1){h=0;u=e;return h|0}ip(a+40|0,o);h=1;u=e;return h|0}function qg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=f[b>>2]|0;d=f[b+4>>2]|0;e=f[b+8>>2]|0;b=((c^318)+239^d)+239^e;g=f[a+4>>2]|0;if(!g){h=0;return h|0}i=g+-1|0;j=(i&g|0)==0;if(!j)if(b>>>0>>0)k=b;else k=(b>>>0)%(g>>>0)|0;else k=b&i;l=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!l){h=0;return h|0}a=f[l>>2]|0;if(!a){h=0;return h|0}if(j){j=a;while(1){l=f[j+4>>2]|0;m=(l|0)==(b|0);if(!(m|(l&i|0)==(k|0))){h=0;n=23;break}if(((m?(f[j+8>>2]|0)==(c|0):0)?(f[j+12>>2]|0)==(d|0):0)?(f[j+16>>2]|0)==(e|0):0){h=j;n=23;break}j=f[j>>2]|0;if(!j){h=0;n=23;break}}if((n|0)==23)return h|0}else o=a;while(1){a=f[o+4>>2]|0;if((a|0)==(b|0)){if(((f[o+8>>2]|0)==(c|0)?(f[o+12>>2]|0)==(d|0):0)?(f[o+16>>2]|0)==(e|0):0){h=o;n=23;break}}else{if(a>>>0>>0)p=a;else p=(a>>>0)%(g>>>0)|0;if((p|0)!=(k|0)){h=0;n=23;break}}o=f[o>>2]|0;if(!o){h=0;n=23;break}}if((n|0)==23)return h|0;return 0}function rg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;Oq(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)aq(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)aq(a);i=ln(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=c;o=i}do{b[o>>0]=b[n>>0]|0;n=n+1|0;o=(f[l>>2]|0)+1|0;f[l>>2]=o}while((n|0)!=(d|0));return}n=a+4|0;a=(f[n>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;if((a|0)==(c|0))p=k;else{o=c;c=k;while(1){b[c>>0]=b[o>>0]|0;o=o+1|0;if((o|0)==(a|0))break;else c=c+1|0}p=k+(a-e)|0}if(!j){if((f[n>>2]|0)==(p|0))return;f[n>>2]=p;return}if((a|0)==(d|0))return;a=g;g=f[n>>2]|0;do{b[g>>0]=b[a>>0]|0;a=a+1|0;g=(f[n>>2]|0)+1|0;f[n>>2]=g}while((a|0)!=(d|0));return}function sg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=c>>>1&1431655765|c<<1&-1431655766;c=d>>>2&858993459|d<<2&-858993460;d=c>>>4&252645135|c<<4&-252645136;c=d>>>8&16711935|d<<8&-16711936;d=32-b|0;e=(c>>>16|c<<16)>>>d;c=e-(e>>>1&1431655765)|0;g=(c>>>2&858993459)+(c&858993459)|0;c=(X((g>>>4)+g&252645135,16843009)|0)>>>24;g=b-c|0;h=f[a>>2]|0;i=h;j=Vn(f[i>>2]|0,f[i+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;g=h;f[g>>2]=j;f[g+4>>2]=I;g=h+8|0;h=g;j=Vn(f[h>>2]|0,f[h+4>>2]|0,c|0,0)|0;c=g;f[c>>2]=j;f[c+4>>2]=I;c=a+28|0;j=f[c>>2]|0;g=32-j|0;h=a+24|0;do if((g|0)>=(b|0)){i=-1>>>d<>2]&~i|i&e<>2]=k;i=j+b|0;f[c>>2]=i;if((i|0)!=32)return;i=a+16|0;l=f[i>>2]|0;if((l|0)==(f[a+20>>2]|0)){Ri(a+12|0,h);m=0;n=0;break}else{f[l>>2]=k;f[i>>2]=l+4;m=0;n=0;break}}else{l=-1>>>j<>2]&~l|l&e<>2]=i;l=a+16|0;k=f[l>>2]|0;if((k|0)==(f[a+20>>2]|0))Ri(a+12|0,h);else{f[k>>2]=i;f[l>>2]=k+4}k=b-g|0;m=k;n=-1>>>(32-k|0)&e>>>g}while(0);f[h>>2]=n;f[c>>2]=m;return}function tg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=c&255;g=(d|0)!=0;a:do if(g&(a&3|0)!=0){h=c&255;i=a;j=d;while(1){if((b[i>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=i+1|0;o=j+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=n;j=o}else{q=n;r=o;s=p;m=5;break}}}else{q=a;r=d;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=q;u=0}b:do if((m|0)==6){q=c&255;if((b[k>>0]|0)==q<<24>>24){t=k;u=l}else{r=X(e,16843009)|0;c:do if(l>>>0>3){s=k;g=l;while(1){d=f[s>>2]^r;if((d&-2139062144^-2139062144)&d+-16843009|0)break;d=s+4|0;a=g+-4|0;if(a>>>0>3){s=d;g=a}else{v=d;w=a;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!w){t=v;u=0;break}else{x=v;y=w}while(1){if((b[x>>0]|0)==q<<24>>24){t=x;u=y;break b}r=x+1|0;y=y+-1|0;if(!y){t=r;u=0;break}else x=r}}}while(0);return (u|0?t:0)|0}function ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=e;do if((d|0)==(e|0)){h=a+8|0;i=f[h>>2]|0;j=a+12|0;k=f[j>>2]|0;l=k;if(i>>>0>>0){k=i;m=((l-k>>2)+1|0)/2|0;n=i+(m<<2)|0;o=k-d|0;k=o>>2;p=n+(0-k<<2)|0;if(!k){q=n;r=i}else{im(p|0,d|0,o|0)|0;q=p;r=f[h>>2]|0}f[c>>2]=q;f[h>>2]=r+(m<<2);s=q;break}m=l-g>>1;l=(m|0)==0?1:m;if(l>>>0>1073741823){m=ra(8)|0;Oo(m,16035);f[m>>2]=7256;va(m|0,1112,110)}m=ln(l<<2)|0;p=m;o=m+((l+3|0)>>>2<<2)|0;n=o;k=m+(l<<2)|0;if((d|0)==(i|0)){t=n;u=d}else{l=o;m=n;v=d;do{f[l>>2]=f[v>>2];l=m+4|0;m=l;v=v+4|0}while((v|0)!=(i|0));t=m;u=f[a>>2]|0}f[a>>2]=p;f[c>>2]=n;f[h>>2]=t;f[j>>2]=k;if(!u)s=o;else{Oq(u);s=f[c>>2]|0}}else s=d;while(0);f[s+-4>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+-4;return}function vg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=a+4|0;if((f[i>>2]|0)==-1){j=0;u=d;return j|0}k=f[a+8>>2]|0;l=c+16|0;m=l;n=f[m>>2]|0;o=f[m+4>>2]|0;if(!((o|0)>0|(o|0)==0&n>>>0>0)){m=(f[a+12>>2]|0)-k|0;p=c+4|0;f[g>>2]=f[p>>2];f[e>>2]=f[g>>2];Me(c,e,k,k+m|0)|0;m=l;k=f[m>>2]|0;q=f[m+4>>2]|0;m=a+20|0;if((q|0)>0|(q|0)==0&k>>>0>0){r=q;s=k;t=g}else{f[g>>2]=f[p>>2];f[e>>2]=f[g>>2];Me(c,e,m,m+4|0)|0;m=l;r=f[m+4>>2]|0;s=f[m>>2]|0;t=g}}else{r=o;s=n;t=g}b[h>>0]=f[i>>2];if(!((r|0)>0|(r|0)==0&s>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}j=1;u=d;return j|0}function wg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;e=u;u=u+16|0;g=e+4|0;h=e;i=a+8|0;a=f[i>>2]|0;j=f[a+40>>2]|0;k=Lq((j|0)>-1?j:-1)|0;l=c+4|0;m=f[l>>2]|0;n=f[c>>2]|0;if((m|0)==(n|0)){Mq(k);u=e;return 1}o=d+16|0;p=d+4|0;q=k+j|0;j=0;r=n;n=a;s=a;a=m;while(1){m=f[r+(j<<2)>>2]|0;if(!(b[n+84>>0]|0))t=f[(f[n+68>>2]|0)+(m<<2)>>2]|0;else t=m;m=s+48|0;v=f[m>>2]|0;w=f[m+4>>2]|0;m=s+40|0;x=f[m>>2]|0;y=un(x|0,f[m+4>>2]|0,t|0,0)|0;m=Vn(y|0,I|0,v|0,w|0)|0;kh(k|0,(f[f[s>>2]>>2]|0)+m|0,x|0)|0;x=o;m=f[x+4>>2]|0;if((m|0)>0|(m|0)==0&(f[x>>2]|0)>>>0>0){z=r;A=a}else{f[h>>2]=f[p>>2];f[g>>2]=f[h>>2];Me(d,g,k,q)|0;z=f[c>>2]|0;A=f[l>>2]|0}x=j+1|0;if(x>>>0>=A-z>>2>>>0)break;m=f[i>>2]|0;j=x;r=z;n=m;s=m;a=A}Mq(k);u=e;return 1}function xg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=(f[b>>2]|0)*3|0;if((d|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}b=f[a+12>>2]|0;h=f[b+12>>2]|0;if((f[h+(d<<2)>>2]|0)==-1){e=0;g=d;f[c>>2]=g;return e|0}i=f[b>>2]|0;b=f[a+152>>2]|0;if((f[b+(f[i+(d<<2)>>2]<<2)>>2]|0)==-1){a=d+1|0;j=((a>>>0)%3|0|0)==0?d+-2|0:a;if((j|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}if((f[h+(j<<2)>>2]|0)==-1){e=0;g=j;f[c>>2]=g;return e|0}if((f[b+(f[i+(j<<2)>>2]<<2)>>2]|0)==-1){a=j+1|0;k=((a>>>0)%3|0|0)==0?j+-2|0:a;if((k|0)==-1){e=0;g=-1;f[c>>2]=g;return e|0}if((f[h+(k<<2)>>2]|0)==-1){e=0;g=k;f[c>>2]=g;return e|0}if((f[b+(f[i+(k<<2)>>2]<<2)>>2]|0)==-1){i=k+1|0;e=1;g=((i>>>0)%3|0|0)==0?k+-2|0:i;f[c>>2]=g;return e|0}else l=k}else l=j}else l=d;while(1){d=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((d|0)==-1)break;j=f[h+(d<<2)>>2]|0;if((j|0)==-1)break;d=j+(((j>>>0)%3|0|0)==0?2:-1)|0;if((d|0)==-1)break;else l=d}e=0;g=(((l>>>0)%3|0|0)==0?2:-1)+l|0;f[c>>2]=g;return e|0}function yg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;h=e;return h|0}e=b[d+11>>0]|0;i=e<<24>>24<0;j=i?f[d+4>>2]|0:e&255;e=i?f[d>>2]|0:d;d=a+4|0;a=g;while(1){g=a+16|0;i=b[g+11>>0]|0;k=i<<24>>24<0;l=k?f[a+20>>2]|0:i&255;i=l>>>0>>0;m=i?l:j;if((m|0)!=0?(n=Vk(e,k?f[g>>2]|0:g,m)|0,(n|0)!=0):0)if((n|0)<0)o=8;else o=10;else if(j>>>0>>0)o=8;else o=10;if((o|0)==8){o=0;n=f[a>>2]|0;if(!n){o=9;break}else{p=a;q=n}}else if((o|0)==10){o=0;n=j>>>0>>0?j:l;if((n|0)!=0?(l=Vk(k?f[g>>2]|0:g,e,n)|0,(l|0)!=0):0){if((l|0)>=0){o=16;break}}else o=12;if((o|0)==12?(o=0,!i):0){o=16;break}r=a+4|0;i=f[r>>2]|0;if(!i){o=15;break}else{p=r;q=i}}d=p;a=q}if((o|0)==9){f[c>>2]=a;h=a;return h|0}else if((o|0)==15){f[c>>2]=a;h=r;return h|0}else if((o|0)==16){f[c>>2]=a;h=d;return h|0}return 0}function zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;d=u;u=u+32|0;e=d+24|0;g=d+16|0;h=d+8|0;i=d;j=a+4|0;k=f[j>>2]|0;l=f[b>>2]|0;m=f[b+4>>2]|0;b=f[c>>2]|0;n=f[c+4>>2]|0;c=b-l<<3;f[j>>2]=k-m+n+c;j=(f[a>>2]|0)+(k>>>5<<2)|0;a=k&31;k=j;if((m|0)!=(a|0)){f[e>>2]=l;f[e+4>>2]=m;f[g>>2]=b;f[g+4>>2]=n;f[h>>2]=k;f[h+4>>2]=a;xe(i,e,g,h);u=d;return}h=n-m+c|0;c=l;if((h|0)>0){if(!m){o=h;p=j;q=0;r=l;s=c}else{l=32-m|0;n=(h|0)<(l|0)?h:l;g=-1>>>(l-n|0)&-1<>2]=f[j>>2]&~g|f[c>>2]&g;g=n+m|0;l=c+4|0;o=h-n|0;p=j+(g>>>5<<2)|0;q=g&31;r=l;s=l}l=(o|0)/32|0;im(p|0,r|0,l<<2|0)|0;r=o-(l<<5)|0;o=p+(l<<2)|0;p=o;if((r|0)>0){g=-1>>>(32-r|0);f[o>>2]=f[o>>2]&~g|f[s+(l<<2)>>2]&g;t=r;v=p}else{t=q;v=p}}else{t=m;v=k}f[i>>2]=v;f[i+4>>2]=t;u=d;return}function Ag(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c=a+8|0;d=f[c>>2]|0;e=a+12|0;g=f[e>>2]|0;h=g;do if((d|0)==(g|0)){i=a+4|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(j>>>0>k>>>0){m=j;n=((m-l>>2)+1|0)/-2|0;o=j+(n<<2)|0;p=d-m|0;m=p>>2;if(!m)q=j;else{im(o|0,j|0,p|0)|0;q=f[i>>2]|0}p=o+(m<<2)|0;f[c>>2]=p;f[i>>2]=q+(n<<2);r=p;break}p=h-l>>1;l=(p|0)==0?1:p;if(l>>>0>1073741823){p=ra(8)|0;Oo(p,16035);f[p>>2]=7256;va(p|0,1112,110)}p=ln(l<<2)|0;n=p;m=p+(l>>>2<<2)|0;o=m;s=p+(l<<2)|0;if((j|0)==(d|0)){t=o;u=k}else{k=m;m=o;l=j;do{f[k>>2]=f[l>>2];k=m+4|0;m=k;l=l+4|0}while((l|0)!=(d|0));t=m;u=f[a>>2]|0}f[a>>2]=n;f[i>>2]=o;f[c>>2]=t;f[e>>2]=s;if(!u)r=t;else{Oq(u);r=f[c>>2]|0}}else r=d;while(0);f[r>>2]=f[b>>2];f[c>>2]=(f[c>>2]|0)+4;return}function Bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+12|0;i=a+4|0;j=f[i>>2]|0;if((j|0)==(f[a+8>>2]|0)){Ri(a,h);k=f[i>>2]|0}else{f[j>>2]=f[h>>2];l=j+4|0;f[i>>2]=l;k=l}l=f[a>>2]|0;f[g>>2]=k-l;k=b+16|0;j=k;m=f[j+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[j>>2]|0)>>>0>0)){f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=f[a>>2]|0;m=f[g>>2]|0;g=k;k=f[g+4>>2]|0;if((k|0)>0|(k|0)==0&(f[g>>2]|0)>>>0>0){n=j;o=e}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,j,j+m|0)|0;n=f[a>>2]|0;o=e}}else{n=l;o=e}e=f[i>>2]|0;if((e|0)==(n|0)){f[h>>2]=0;p=a+16|0;f[p>>2]=0;u=c;return}f[i>>2]=e+(~((e+-4-n|0)>>>2)<<2);f[h>>2]=0;p=a+16|0;f[p>>2]=0;u=c;return}function Cg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c;g=d-e|0;h=a+8|0;i=f[h>>2]|0;j=f[a>>2]|0;k=j;if(g>>>0>(i-j|0)>>>0){if(!j)l=i;else{i=a+4|0;if((f[i>>2]|0)!=(k|0))f[i>>2]=k;Oq(k);f[h>>2]=0;f[i>>2]=0;f[a>>2]=0;l=0}if((g|0)<0)aq(a);i=l<<1;m=l>>>0<1073741823?(i>>>0>>0?g:i):2147483647;if((m|0)<0)aq(a);i=ln(m)|0;l=a+4|0;f[l>>2]=i;f[a>>2]=i;f[h>>2]=i+m;if((c|0)==(d|0))return;else{n=c;o=i}do{b[o>>0]=b[n>>0]|0;n=n+1|0;o=(f[l>>2]|0)+1|0;f[l>>2]=o}while((n|0)!=(d|0));return}else{n=a+4|0;a=(f[n>>2]|0)-j|0;j=g>>>0>a>>>0;g=c+a|0;a=j?g:d;o=a-e|0;if(o|0)im(k|0,c|0,o|0)|0;c=k+o|0;if(!j){if((f[n>>2]|0)==(c|0))return;f[n>>2]=c;return}if((a|0)==(d|0))return;a=g;g=f[n>>2]|0;do{b[g>>0]=b[a>>0]|0;a=a+1|0;g=(f[n>>2]|0)+1|0;f[n>>2]=g}while((a|0)!=(d|0));return}}function Dg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c;if(b[a+352>>0]|0){u=c;return 1}e=a+8|0;g=f[e>>2]|0;h=(f[g+12>>2]|0)-(f[g+8>>2]|0)|0;g=h>>2;i=a+172|0;Gi(i,g+-1|0);if(!((g|0)!=1&(h|0)>0)){u=c;return 1}h=a+12|0;a=0;j=0;while(1){k=f[(f[(f[e>>2]|0)+8>>2]|0)+(a<<2)>>2]|0;if(!(f[k+56>>2]|0))l=j;else{m=f[i>>2]|0;f[m+(j*136|0)>>2]=a;n=f[m+(j*136|0)+104>>2]|0;o=m+(j*136|0)+108|0;p=f[o>>2]|0;if((p|0)!=(n|0))f[o>>2]=p+(~((p+-4-n|0)>>>2)<<2);n=f[h>>2]|0;gk(m+(j*136|0)+104|0,(f[n+4>>2]|0)-(f[n>>2]|0)>>2);n=(f[i>>2]|0)+(j*136|0)+116|0;m=f[h>>2]|0;p=(f[m+4>>2]|0)-(f[m>>2]|0)>>2;f[d>>2]=-1;hg(n,p,d);p=f[i>>2]|0;f[p+(j*136|0)+128>>2]=0;Gc(p+(j*136|0)+4|0,f[e>>2]|0,f[h>>2]|0,k)|0;l=j+1|0}a=a+1|0;if((a|0)>=(g|0))break;else j=l}u=c;return 1}function Eg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){sj(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}i=f[a>>2]|0;j=g-i>>2;g=j+b|0;k=i;if(g>>>0>1073741823)aq(a);l=d-i|0;d=l>>1;m=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(m)if(m>>>0>1073741823){d=ra(8)|0;Oo(d,16035);f[d>>2]=7256;va(d|0,1112,110)}else{n=ln(m<<2)|0;break}else n=0;while(0);d=n+(j<<2)|0;sj(d|0,0,b<<2|0)|0;b=d;j=n+(m<<2)|0;m=n+(g<<2)|0;if((h|0)==(k|0)){o=b;p=i;q=h}else{i=h;h=b;b=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[b+-4>>2]=d;b=h+-4|0;h=b}while((i|0)!=(k|0));o=h;p=f[a>>2]|0;q=f[e>>2]|0}f[a>>2]=o;f[e>>2]=m;f[c>>2]=j;j=p;if((q|0)!=(j|0)){c=q;do{c=c+-4|0;q=f[c>>2]|0;f[c>>2]=0;if(q|0)Va[f[(f[q>>2]|0)+4>>2]&127](q)}while((c|0)!=(j|0))}if(!p)return;Oq(p);return}function Fg(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=$(h);var i=0,j=0,k=0,l=0,m=0,n=0;i=u;u=u+16|0;j=i;k=i+4|0;f[j>>2]=c;c=ln(32)|0;f[k>>2]=c;f[k+8>>2]=-2147483616;f[k+4>>2]=17;l=c;m=14495;n=l+17|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[c+17>>0]=0;Xj(Hd(a,j)|0,k,d);if((b[k+11>>0]|0)<0)Oq(f[k>>2]|0);d=ln(32)|0;f[k>>2]=d;f[k+8>>2]=-2147483616;f[k+4>>2]=19;l=d;m=14438;n=l+19|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[d+19>>0]=0;si(Hd(a,j)|0,k,g,e);if((b[k+11>>0]|0)<0)Oq(f[k>>2]|0);e=ln(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=18;l=e;m=14458;n=l+18|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[e+18>>0]=0;Tj(Hd(a,j)|0,k,h);if((b[k+11>>0]|0)>=0){u=i;return}Oq(f[k>>2]|0);u=i;return}function Gg(a){a=a|0;tk(a);tk(a+32|0);tk(a+64|0);tk(a+96|0);tk(a+128|0);tk(a+160|0);tk(a+192|0);tk(a+224|0);tk(a+256|0);tk(a+288|0);tk(a+320|0);tk(a+352|0);tk(a+384|0);tk(a+416|0);tk(a+448|0);tk(a+480|0);tk(a+512|0);tk(a+544|0);tk(a+576|0);tk(a+608|0);tk(a+640|0);tk(a+672|0);tk(a+704|0);tk(a+736|0);tk(a+768|0);tk(a+800|0);tk(a+832|0);tk(a+864|0);tk(a+896|0);tk(a+928|0);tk(a+960|0);tk(a+992|0);tk(a+1024|0);return}function Hg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c=u;u=u+16|0;d=c;if(b[a+288>>0]|0){u=c;return 1}e=a+8|0;g=f[e>>2]|0;h=(f[g+12>>2]|0)-(f[g+8>>2]|0)|0;g=h>>2;i=a+172|0;Gi(i,g+-1|0);if(!((g|0)!=1&(h|0)>0)){u=c;return 1}h=a+12|0;a=0;j=0;while(1){k=f[(f[(f[e>>2]|0)+8>>2]|0)+(a<<2)>>2]|0;if(!(f[k+56>>2]|0))l=j;else{m=f[i>>2]|0;f[m+(j*136|0)>>2]=a;n=f[m+(j*136|0)+104>>2]|0;o=m+(j*136|0)+108|0;p=f[o>>2]|0;if((p|0)!=(n|0))f[o>>2]=p+(~((p+-4-n|0)>>>2)<<2);n=f[h>>2]|0;gk(m+(j*136|0)+104|0,(f[n+4>>2]|0)-(f[n>>2]|0)>>2);n=(f[i>>2]|0)+(j*136|0)+116|0;m=f[h>>2]|0;p=(f[m+4>>2]|0)-(f[m>>2]|0)>>2;f[d>>2]=-1;hg(n,p,d);p=f[i>>2]|0;f[p+(j*136|0)+128>>2]=0;Gc(p+(j*136|0)+4|0,f[e>>2]|0,f[h>>2]|0,k)|0;l=j+1|0}a=a+1|0;if((a|0)>=(g|0))break;else j=l}u=c;return 1}function Ig(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c;e=b;g=d-e|0;h=g>>2;i=a+8|0;j=f[i>>2]|0;k=f[a>>2]|0;l=k;if(h>>>0<=j-k>>2>>>0){m=a+4|0;n=(f[m>>2]|0)-k>>2;o=h>>>0>n>>>0;p=o?b+(n<<2)|0:c;c=p;n=c-e|0;e=n>>2;if(e|0)im(k|0,b|0,n|0)|0;n=l+(e<<2)|0;if(o){o=d-c|0;if((o|0)<=0)return;kh(f[m>>2]|0,p|0,o|0)|0;f[m>>2]=(f[m>>2]|0)+(o>>>2<<2);return}else{o=f[m>>2]|0;if((o|0)==(n|0))return;f[m>>2]=o+(~((o+-4-n|0)>>>2)<<2);return}}n=k;if(!k)q=j;else{j=a+4|0;o=f[j>>2]|0;if((o|0)!=(l|0))f[j>>2]=o+(~((o+-4-k|0)>>>2)<<2);Oq(n);f[i>>2]=0;f[j>>2]=0;f[a>>2]=0;q=0}if(h>>>0>1073741823)aq(a);j=q>>1;n=q>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;if(n>>>0>1073741823)aq(a);j=ln(n<<2)|0;h=a+4|0;f[h>>2]=j;f[a>>2]=j;f[i>>2]=j+(n<<2);if((g|0)<=0)return;kh(j|0,b|0,g|0)|0;f[h>>2]=j+(g>>>2<<2);return}function Jg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,v=0.0;e=u;u=u+16|0;g=e;h=c+1|0;f[g>>2]=0;i=g+4|0;f[i>>2]=0;f[g+8>>2]=0;do if(h)if(h>>>0>1073741823)aq(g);else{j=ln(h<<2)|0;f[g>>2]=j;k=j+(h<<2)|0;f[g+8>>2]=k;sj(j|0,0,(c<<2)+4|0)|0;f[i>>2]=k;l=j;m=k;n=j;break}else{l=0;m=0;n=0}while(0);if((b|0)>0){g=0;do{j=l+(f[a+(g<<2)>>2]<<2)|0;f[j>>2]=(f[j>>2]|0)+1;g=g+1|0}while((g|0)!=(b|0))}o=+(b|0);if((c|0)<0){p=0;q=0.0}else{c=0;r=0.0;b=0;while(1){g=f[l+(b<<2)>>2]|0;s=+(g|0);if((g|0)>0){t=c+1|0;v=r+ +Zg(s/o)*s}else{t=c;v=r}b=b+1|0;if((b|0)==(h|0)){p=t;q=v;break}else{c=t;r=v}}}if(d|0)f[d>>2]=p;v=-q;p=~~v>>>0;d=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;if(!l){I=d;u=e;return p|0}if((m|0)!=(l|0))f[i>>2]=m+(~((m+-4-l|0)>>>2)<<2);Oq(n);I=d;u=e;return p|0}function Kg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e+4|0;h=e;i=ln(32)|0;f[a>>2]=i;f[a+4>>2]=c+4;c=a+8|0;b[c>>0]=0;f[i+16>>2]=f[d>>2];a=i+20|0;f[i+24>>2]=0;f[i+28>>2]=0;j=i+24|0;f[a>>2]=j;i=f[d+4>>2]|0;k=d+8|0;if((i|0)==(k|0)){b[c>>0]=1;u=e;return}d=j;j=i;while(1){i=j+16|0;f[h>>2]=d;f[g>>2]=f[h>>2];ph(a,g,i,i)|0;i=f[j+4>>2]|0;if(!i){l=j+8|0;m=f[l>>2]|0;if((f[m>>2]|0)==(j|0))n=m;else{m=l;do{l=f[m>>2]|0;m=l+8|0;o=f[m>>2]|0}while((f[o>>2]|0)!=(l|0));n=o}}else{m=i;while(1){o=f[m>>2]|0;if(!o)break;else m=o}n=m}if((n|0)==(k|0))break;else j=n}b[c>>0]=1;u=e;return}function Lg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;f[e>>2]=b;g=a+8|0;if(((f[a+12>>2]|0)-(f[g>>2]|0)>>2|0)<=(b|0))Bh(g,b+1|0);h=f[(f[c>>2]|0)+56>>2]|0;do if((h|0)<5){i=a+20+(h*12|0)+4|0;j=f[i>>2]|0;if((j|0)==(f[a+20+(h*12|0)+8>>2]|0)){Ri(a+20+(h*12|0)|0,e);break}else{f[j>>2]=b;f[i>>2]=j+4;break}}while(0);b=f[c>>2]|0;h=f[e>>2]|0;f[b+60>>2]=h;e=(f[g>>2]|0)+(h<<2)|0;f[c>>2]=0;c=f[e>>2]|0;f[e>>2]=b;if(!c){u=d;return}b=c+88|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=f[e+8>>2]|0;if(b|0){h=e+12|0;if((f[h>>2]|0)!=(b|0))f[h>>2]=b;Oq(b)}Oq(e)}e=f[c+68>>2]|0;if(e|0){b=c+72|0;h=f[b>>2]|0;if((h|0)!=(e|0))f[b>>2]=h+(~((h+-4-e|0)>>>2)<<2);Oq(e)}e=c+64|0;h=f[e>>2]|0;f[e>>2]=0;if(h|0){e=f[h>>2]|0;if(e|0){b=h+4|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;Oq(e)}Oq(h)}Oq(c);u=d;return}function Mg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;gk(f[a+4>>2]|0,(f[g+56>>2]|0)-(f[g+52>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[(f[e>>2]|0)+64>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){u=b;return 1}i=0;do{f[d>>2]=i*3;f[c>>2]=f[d>>2];Zb(e,c);i=i+1|0}while((i|0)<(h|0));u=b;return 1}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){u=b;return 1}a=0;i=h;do{f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];Zb(e,c);a=a+1|0;h=f[g>>2]|0;i=f[h>>2]|0}while(a>>>0<(f[h+4>>2]|0)-i>>2>>>0);u=b;return 1}return 0}function Ng(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;i=a+28|0;j=f[i>>2]|0;f[h>>2]=j;k=a+20|0;l=(f[k>>2]|0)-j|0;f[h+4>>2]=l;f[h+8>>2]=b;f[h+12>>2]=c;b=l+c|0;l=a+60|0;f[g>>2]=f[l>>2];f[g+4>>2]=h;f[g+8>>2]=2;j=to(Aa(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=2;m=b;n=h;o=j;while(1){if((o|0)<0)break;m=m-o|0;p=f[n+4>>2]|0;q=o>>>0>p>>>0;r=q?n+8|0:n;s=g+(q<<31>>31)|0;t=o-(q?p:0)|0;f[r>>2]=(f[r>>2]|0)+t;p=r+4|0;f[p>>2]=(f[p>>2]|0)-t;f[e>>2]=f[l>>2];f[e+4>>2]=r;f[e+8>>2]=s;o=to(Aa(146,e|0)|0)|0;if((m|0)==(o|0)){v=3;break a}else{g=s;n=r}}f[a+16>>2]=0;f[i>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((g|0)==2)w=0;else w=c-(f[n+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=f[a+44>>2]|0;f[a+16>>2]=v+(f[a+48>>2]|0);a=v;f[i>>2]=a;f[k>>2]=a;w=c}u=d;return w|0}function Og(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=6192;b=f[a+68>>2]|0;if(b|0){c=a+72|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+56>>2]|0;if(b|0){d=a+60|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+44>>2]|0;if(b|0){c=a+48|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+20>>2]|0;if(b|0){c=a+24|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}hi(a+8|0);b=a+4|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;b=a+40|0;d=f[b>>2]|0;if(d|0){c=a+44|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[c>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0){bj(i);Oq(i)}h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}Oq(g)}bj(a);Oq(a);return}function Pg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if(((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(f[(f[d>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0:0)?(j=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if(((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(f[(f[d>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)==0:0)?(k=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if((((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(f[(f[d>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)==0:0)?(h=f[(f[(f[d+64>>2]|0)+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Qg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)aq(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;Oo(d,16035);f[d>>2]=7256;va(d|0,1112,110)}else{k=ln(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=k;k=e;e=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[e+-4>>2]=d;e=k+-4|0;k=e}while((i|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0)Va[f[(f[n>>2]|0)+4>>2]&127](n)}while((h|0)!=(g|0))}if(!m)return;Oq(m);return}function Rg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;a=f[d>>2]|0;do if(a|0){e=b[c+11>>0]|0;g=e<<24>>24<0;h=g?f[c+4>>2]|0:e&255;e=g?f[c>>2]|0:c;g=d;i=a;a:while(1){j=i;while(1){k=j+16|0;l=b[k+11>>0]|0;m=l<<24>>24<0;n=m?f[j+20>>2]|0:l&255;l=h>>>0>>0?h:n;if((l|0)!=0?(o=Vk(m?f[k>>2]|0:k,e,l)|0,(o|0)!=0):0){if((o|0)>=0)break}else p=6;if((p|0)==6?(p=0,n>>>0>=h>>>0):0)break;n=f[j+4>>2]|0;if(!n){q=g;break a}else j=n}i=f[j>>2]|0;if(!i){q=j;break}else g=j}if((q|0)!=(d|0)){g=q+16|0;i=b[g+11>>0]|0;n=i<<24>>24<0;o=n?f[q+20>>2]|0:i&255;i=o>>>0>>0?o:h;if(i|0?(l=Vk(e,n?f[g>>2]|0:g,i)|0,l|0):0){if((l|0)<0)break;else r=q;return r|0}if(h>>>0>=o>>>0){r=q;return r|0}}}while(0);r=d;return r|0}function Sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];fg(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{ng(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);ng(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);ng(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];Ig(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function Tg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if(((e-h|0)/12|0)>>>0>=b>>>0){i=b;j=h;do{f[j>>2]=f[c>>2];f[j+4>>2]=f[c+4>>2];f[j+8>>2]=f[c+8>>2];j=(f[g>>2]|0)+12|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=(h-i|0)/12|0;h=j+b|0;if(h>>>0>357913941)aq(a);k=(e-i|0)/12|0;i=k<<1;e=k>>>0<178956970?(i>>>0>>0?h:i):357913941;do if(e)if(e>>>0>357913941){i=ra(8)|0;Oo(i,16035);f[i>>2]=7256;va(i|0,1112,110)}else{l=ln(e*12|0)|0;break}else l=0;while(0);i=l+(j*12|0)|0;j=l+(e*12|0)|0;e=b;b=i;l=i;do{f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];b=l+12|0;l=b;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;b=(f[g>>2]|0)-e|0;c=i+(((b|0)/-12|0)*12|0)|0;if((b|0)>0)kh(c|0,e|0,b|0)|0;f[a>>2]=c;f[g>>2]=l;f[d>>2]=j;if(!e)return;Oq(e);return}function Ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d>>2;g=e+1|0;if(g>>>0>1073741823)aq(a);h=a+8|0;i=(f[h>>2]|0)-d|0;d=i>>1;j=i>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;do if(j)if(j>>>0>1073741823){d=ra(8)|0;Oo(d,16035);f[d>>2]=7256;va(d|0,1112,110)}else{k=ln(j<<2)|0;break}else k=0;while(0);d=k+(e<<2)|0;e=d;g=k+(j<<2)|0;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;j=d+4|0;b=f[a>>2]|0;k=f[c>>2]|0;if((k|0)==(b|0)){l=e;m=b;n=b}else{i=k;k=e;e=d;do{i=i+-4|0;d=f[i>>2]|0;f[i>>2]=0;f[e+-4>>2]=d;e=k+-4|0;k=e}while((i|0)!=(b|0));l=k;m=f[a>>2]|0;n=f[c>>2]|0}f[a>>2]=l;f[c>>2]=j;f[h>>2]=g;g=m;if((n|0)!=(g|0)){h=n;do{h=h+-4|0;n=f[h>>2]|0;f[h>>2]=0;if(n|0){bj(n);Oq(n)}}while((h|0)!=(g|0))}if(!m)return;Oq(m);return}function Vg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=f[b>>2]|0;g=f[a>>2]|0;h=f[d>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0)aq(h);j=d;if(i>>>0<=g>>>0)aq(h);d=f[j+(e<<3)>>2]|0;k=f[c>>2]|0;if(i>>>0<=k>>>0)aq(h);l=j+(g<<3)|0;m=(f[j+(k<<3)>>2]|0)>>>0>>0;if(d>>>0<(f[l>>2]|0)>>>0){if(m){f[a>>2]=k;f[c>>2]=g;n=1;return n|0}f[a>>2]=e;f[b>>2]=g;d=f[c>>2]|0;if(i>>>0<=d>>>0)aq(h);if((f[j+(d<<3)>>2]|0)>>>0>=(f[l>>2]|0)>>>0){n=1;return n|0}f[b>>2]=d;f[c>>2]=g;n=2;return n|0}if(!m){n=0;return n|0}f[b>>2]=k;f[c>>2]=e;e=f[b>>2]|0;c=f[a>>2]|0;if(i>>>0<=e>>>0)aq(h);if(i>>>0<=c>>>0)aq(h);if((f[j+(e<<3)>>2]|0)>>>0>=(f[j+(c<<3)>>2]|0)>>>0){n=1;return n|0}f[a>>2]=e;f[b>>2]=c;n=2;return n|0}function Wg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=u;u=u+16|0;c=b+4|0;d=b;e=a+8|0;g=f[e>>2]|0;gk(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+84|0;a=f[g>>2]|0;if(!a){h=f[e>>2]|0;i=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;h=(i>>>0)/3|0;if(i>>>0<=2){u=b;return 1}i=0;do{f[d>>2]=i*3;f[c>>2]=f[d>>2];dc(e,c);i=i+1|0}while((i|0)<(h|0));u=b;return 1}else{h=f[a>>2]|0;if((f[a+4>>2]|0)==(h|0)){u=b;return 1}a=0;i=h;do{f[d>>2]=f[i+(a<<2)>>2];f[c>>2]=f[d>>2];dc(e,c);a=a+1|0;h=f[g>>2]|0;i=f[h>>2]|0}while(a>>>0<(f[h+4>>2]|0)-i>>2>>>0);u=b;return 1}return 0}function Xg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a=u;u=u+16|0;e=a;if(!b){g=0;u=a;return g|0}h=b+96|0;i=b+100|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;b=f[i>>2]|0;j=f[h>>2]|0;k=(b-j|0)/12|0;l=j;j=b;if(k>>>0>=c>>>0){if(k>>>0>c>>>0?(b=l+(c*12|0)|0,(b|0)!=(j|0)):0)f[i>>2]=j+(~(((j+-12-b|0)>>>0)/12|0)*12|0);if(!c){g=1;u=a;return g|0}}else Tg(h,c-k|0,e);k=0;b=f[h>>2]|0;while(1){j=k*3|0;l=f[d+(j<<2)>>2]|0;m=f[d+(j+1<<2)>>2]|0;n=f[d+(j+2<<2)>>2]|0;j=((f[i>>2]|0)-b|0)/12|0;o=k;k=k+1|0;if(o>>>0>>0){p=b;q=b}else{f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Tg(h,k-j|0,e);j=f[h>>2]|0;p=j;q=j}f[p+(o*12|0)>>2]=l;f[p+(o*12|0)+4>>2]=m;f[p+(o*12|0)+8>>2]=n;if((k|0)==(c|0)){g=1;break}else b=q}u=a;return g|0}function Yg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+80|0;g=e+36|0;h=e;ao(g,c);Ke(h,b,c);Ph(g,h);Ej(h+24|0,f[h+28>>2]|0);Oj(h+12|0,f[h+16>>2]|0);Ej(h,f[h+4>>2]|0);cj(a,g,d);Ej(g+24|0,f[g+28>>2]|0);Oj(g+12|0,f[g+16>>2]|0);Ej(g,f[g+4>>2]|0);u=e;return}function Zg(a){a=+a;var b=0,c=0,d=0,e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,q=0.0,r=0.0,t=0.0;p[s>>3]=a;b=f[s>>2]|0;c=f[s+4>>2]|0;d=(c|0)<0;do if(d|c>>>0<1048576){if((b|0)==0&(c&2147483647|0)==0){e=-1.0/(a*a);break}if(d){e=(a-a)/0.0;break}else{p[s>>3]=a*18014398509481984.0;g=f[s+4>>2]|0;h=-1077;i=g;j=f[s>>2]|0;k=g;l=9;break}}else if(c>>>0<=2146435071)if((b|0)==0&0==0&(c|0)==1072693248)e=0.0;else{h=-1023;i=c;j=b;k=c;l=9}else e=a;while(0);if((l|0)==9){l=i+614242|0;f[s>>2]=j;f[s+4>>2]=(l&1048575)+1072079006;a=+p[s>>3]+-1.0;m=a*a*.5;n=a/(a+2.0);o=n*n;q=o*o;p[s>>3]=a-m;j=f[s+4>>2]|0;f[s>>2]=0;f[s+4>>2]=j;r=+p[s>>3];t=a-r-m+n*(m+(q*(q*(q*.15313837699209373+.22222198432149784)+.3999999999940942)+o*(q*(q*(q*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));q=r*1.4426950407214463;o=+(h+(l>>>20)|0);m=q+o;e=m+(q+(o-m)+(t*1.4426950407214463+(t+r)*1.6751713164886512e-10))}return +e}function _g(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=u;u=u+16|0;e=d;g=ln(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=17;h=g;i=14390;j=h+17|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+17>>0]=0;g=c+16|0;i=f[g>>2]|0;if(i){h=g;j=i;a:while(1){i=j;while(1){if((f[i+16>>2]|0)>=(a|0))break;k=f[i+4>>2]|0;if(!k){l=h;break a}else i=k}j=f[i>>2]|0;if(!j){l=i;break}else h=i}if(((l|0)!=(g|0)?(f[l+16>>2]|0)<=(a|0):0)?(a=l+20|0,(Jh(a,e)|0)!=0):0)m=a;else n=10}else n=10;if((n|0)==10)m=c;c=Hk(m,e,-1)|0;if((b[e+11>>0]|0)>=0){o=(c|0)==-1;p=c>>>0>6;q=p?-2:c;r=o?-1:q;u=d;return r|0}Oq(f[e>>2]|0);o=(c|0)==-1;p=c>>>0>6;q=p?-2:c;r=o?-1:q;u=d;return r|0}function $g(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[c>>2]|0;f[c>>2]=0;f[e>>2]=g;Lg(a,b,e);g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){h=c+12|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;Oq(e)}Oq(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;h=f[e>>2]|0;if((h|0)!=(c|0))f[e>>2]=h+(~((h+-4-c|0)>>>2)<<2);Oq(c)}c=g+64|0;h=f[c>>2]|0;f[c>>2]=0;if(h|0){c=f[h>>2]|0;if(c|0){e=h+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;Oq(c)}Oq(h)}Oq(g)}g=a+84|0;h=a+88|0;a=f[h>>2]|0;c=f[g>>2]|0;e=a-c>>2;if((e|0)>(b|0)){u=d;return}i=b+1|0;b=a;if(i>>>0>e>>>0){Fh(g,i-e|0);u=d;return}if(i>>>0>=e>>>0){u=d;return}e=c+(i<<2)|0;if((e|0)==(b|0)){u=d;return}f[h>>2]=b+(~((b+-4-e|0)>>>2)<<2);u=d;return}function ah(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;g=a+4|0;f[g>>2]=c;f[a+8>>2]=f[c+52>>2];h=f[a+184>>2]|0;i=a+188|0;j=f[i>>2]|0;if((j|0)!=(h|0))f[i>>2]=j+(~((j+-4-h|0)>>>2)<<2);h=f[c+48>>2]|0;c=ln(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15351;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Jh(h,e)|0)==0;if((b[e+11>>0]|0)<0)Oq(f[e>>2]|0);h=f[(f[g>>2]|0)+48>>2]|0;if(c){c=(mi(h)|0)>5&1;b[a+352>>0]=c;u=d;return 1}c=ln(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15351;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Yj(h,e,0)|0)&1;b[a+352>>0]=c;if((b[e+11>>0]|0)<0)Oq(f[e>>2]|0);u=d;return 1}function bh(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;c=a+108|0;d=(f[a+112>>2]|0)-(f[c>>2]|0)|0;e=(d|0)/12|0;g=a+4|0;ci(e,f[(f[g>>2]|0)+44>>2]|0)|0;if(!d)return 1;d=0;a=0;while(1){i=f[c>>2]|0;j=i+(d*12|0)+4|0;ci((f[j>>2]|0)-a|0,f[(f[g>>2]|0)+44>>2]|0)|0;ci((f[j>>2]|0)-(f[i+(d*12|0)>>2]|0)|0,f[(f[g>>2]|0)+44>>2]|0)|0;d=d+1|0;if(d>>>0>=e>>>0)break;else a=f[j>>2]|0}zi(f[(f[g>>2]|0)+44>>2]|0,e,0,0)|0;a=0;do{d=f[(f[g>>2]|0)+44>>2]|0;j=d+16|0;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0){j=f[d+12>>2]|0;d=j+4|0;i=f[d>>2]|0;k=b[(f[c>>2]|0)+(a*12|0)+8>>0]&1;l=i>>>3;m=i&7;i=(f[j>>2]|0)+l|0;b[i>>0]=(1<>0]|0);i=(f[j>>2]|0)+l|0;b[i>>0]=k<>0]|0);f[d>>2]=(f[d>>2]|0)+1}a=a+1|0}while(a>>>0>>0);eg(f[(f[g>>2]|0)+44>>2]|0);return 1}function ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+80|0;g=e+36|0;h=e;io(g,c);Ke(h,b,c);Ph(g,h);Ej(h+24|0,f[h+28>>2]|0);Oj(h+12|0,f[h+16>>2]|0);Ej(h,f[h+4>>2]|0);cj(a,g,d);Ej(g+24|0,f[g+28>>2]|0);Oj(g+12|0,f[g+16>>2]|0);Ej(g,f[g+4>>2]|0);u=e;return}function dh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;g=a+4|0;f[g>>2]=c;f[a+8>>2]=f[c+52>>2];h=f[a+184>>2]|0;i=a+188|0;j=f[i>>2]|0;if((j|0)!=(h|0))f[i>>2]=j+(~((j+-4-h|0)>>>2)<<2);h=f[c+48>>2]|0;c=ln(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15351;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Jh(h,e)|0)==0;if((b[e+11>>0]|0)<0)Oq(f[e>>2]|0);h=f[(f[g>>2]|0)+48>>2]|0;if(c){c=(mi(h)|0)>5&1;b[a+288>>0]=c;u=d;return 1}c=ln(32)|0;f[e>>2]=c;f[e+8>>2]=-2147483616;f[e+4>>2]=19;j=c;i=15351;k=j+19|0;do{b[j>>0]=b[i>>0]|0;j=j+1|0;i=i+1|0}while((j|0)<(k|0));b[c+19>>0]=0;c=(Yj(h,e,0)|0)&1;b[a+288>>0]=c;if((b[e+11>>0]|0)<0)Oq(f[e>>2]|0);u=d;return 1}function eh(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=u;u=u+32|0;h=g+16|0;i=g+8|0;j=g;k=d-e|0;d=a+8|0;if((k|0)>0){a=0-e|0;l=i+4|0;m=j+4|0;n=h+4|0;o=k;do{k=b+(o<<2)|0;p=k+(a<<2)|0;q=c+(o<<2)|0;r=f[k+4>>2]|0;s=f[p>>2]|0;t=f[p+4>>2]|0;f[i>>2]=f[k>>2];f[l>>2]=r;f[j>>2]=s;f[m>>2]=t;Od(h,d,i,j);f[q>>2]=f[h>>2];f[q+4>>2]=f[n>>2];o=o-e|0}while((o|0)>0)}o=e>>>0>1073741823?-1:e<<2;e=Lq(o)|0;sj(e|0,0,o|0)|0;o=f[b+4>>2]|0;n=f[e>>2]|0;m=f[e+4>>2]|0;f[i>>2]=f[b>>2];f[i+4>>2]=o;f[j>>2]=n;f[j+4>>2]=m;Od(h,d,i,j);f[c>>2]=f[h>>2];f[c+4>>2]=f[h+4>>2];Mq(e);u=g;return 1}function fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+32|0;d=c+12|0;e=c;g=f[b+100>>2]|0;h=f[b+96>>2]|0;b=g-h|0;i=(b|0)/12|0;f[d>>2]=0;j=d+4|0;f[j>>2]=0;f[d+8>>2]=0;k=h;do if(b)if(i>>>0>357913941)aq(d);else{l=ln(b)|0;f[d>>2]=l;f[d+8>>2]=l+(i*12|0);sj(l|0,0,b|0)|0;f[j>>2]=l+b;m=l;break}else m=0;while(0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;if((g|0)!=(h|0)){h=e+4|0;g=e+8|0;b=0;do{l=k+(b*12|0)|0;f[e>>2]=f[l>>2];f[e+4>>2]=f[l+4>>2];f[e+8>>2]=f[l+8>>2];f[m+(b*12|0)>>2]=f[e>>2];f[m+(b*12|0)+4>>2]=f[h>>2];f[m+(b*12|0)+8>>2]=f[g>>2];b=b+1|0}while(b>>>0>>0)}Kj(a,d);a=f[d>>2]|0;if(!a){u=c;return}d=f[j>>2]|0;if((d|0)!=(a|0))f[j>>2]=d+(~(((d+-12-a|0)>>>0)/12|0)*12|0);Oq(a);u=c;return}function gh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(c>>>0>4294967279)aq(a);d=a+11|0;e=b[d>>0]|0;g=e<<24>>24<0;if(g){h=f[a+4>>2]|0;i=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;i=10}j=h>>>0>c>>>0?h:c;c=j>>>0<11;k=c?10:(j+16&-16)+-1|0;do if((k|0)!=(i|0)){do if(c){j=f[a>>2]|0;if(g){l=0;m=j;n=a;o=13}else{Fo(a,j,(e&255)+1|0)|0;Oq(j);o=16}}else{j=k+1|0;p=ln(j)|0;if(g){l=1;m=f[a>>2]|0;n=p;o=13;break}else{Fo(p,a,(e&255)+1|0)|0;q=p;r=j;s=a+4|0;o=15;break}}while(0);if((o|0)==13){j=a+4|0;Fo(n,m,(f[j>>2]|0)+1|0)|0;Oq(m);if(l){q=n;r=k+1|0;s=j;o=15}else o=16}if((o|0)==15){f[a+8>>2]=r|-2147483648;f[s>>2]=h;f[a>>2]=q;break}else if((o|0)==16){b[d>>0]=h;break}}while(0);return}function hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=f[b>>2]|0;if((c|0)==-1){d=-1;return d|0}b=f[(f[a+24>>2]|0)+(c<<2)>>2]|0;if((b|0)==-1){d=0;return d|0}c=a+12|0;a=0;e=0;g=b;a:while(1){b:do if(e){h=a+1|0;i=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((i|0)==-1){d=h;j=15;break a}k=f[(f[c>>2]|0)+(i<<2)>>2]|0;if((k|0)==-1){d=h;j=15;break a}if(!((k>>>0)%3|0)){l=k+2|0;m=h;break}else{l=k+-1|0;m=h;break}}else{h=a;k=g;while(1){i=h+1|0;n=k+1|0;o=((n>>>0)%3|0|0)==0?k+-2|0:n;if((o|0)==-1){l=b;m=i;break b}n=f[(f[c>>2]|0)+(o<<2)>>2]|0;o=n+1|0;if((n|0)==-1){l=b;m=i;break b}k=((o>>>0)%3|0|0)==0?n+-2|0:o;if((k|0)==-1){l=b;m=i;break b}if((k|0)==(b|0)){d=i;j=15;break a}else h=i}}while(0);if((l|0)==-1){d=m;j=15;break}else{a=m;e=1;g=l}}if((j|0)==15)return d|0;return 0}function ih(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+8|0;Vg(a,a+4|0,d,c)|0;e=a+12|0;if((e|0)==(b|0))return;g=f[c>>2]|0;c=f[g>>2]|0;h=(f[g+4>>2]|0)-c>>3;i=c;c=e;e=d;a:while(1){d=f[c>>2]|0;j=f[e>>2]|0;if(h>>>0<=d>>>0){k=5;break}if(h>>>0<=j>>>0){k=7;break}l=i+(d<<3)|0;if((f[l>>2]|0)>>>0<(f[i+(j<<3)>>2]|0)>>>0){m=e;n=c;o=j;while(1){f[n>>2]=o;if((m|0)==(a|0)){p=a;break}j=m+-4|0;o=f[j>>2]|0;if(h>>>0<=o>>>0){k=11;break a}if((f[l>>2]|0)>>>0>=(f[i+(o<<3)>>2]|0)>>>0){p=m;break}else{q=m;m=j;n=q}}f[p>>2]=d}n=c+4|0;if((n|0)==(b|0)){k=3;break}else{m=c;c=n;e=m}}if((k|0)==3)return;else if((k|0)==5)aq(g);else if((k|0)==7)aq(g);else if((k|0)==11)aq(g)}function jh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Vg(a,b,c,e)|0;h=f[d>>2]|0;i=f[c>>2]|0;j=f[e>>2]|0;e=f[j>>2]|0;k=(f[j+4>>2]|0)-e>>3;if(k>>>0<=h>>>0)aq(j);l=e;if(k>>>0<=i>>>0)aq(j);if((f[l+(h<<3)>>2]|0)>>>0>=(f[l+(i<<3)>>2]|0)>>>0){m=g;return m|0}f[c>>2]=h;f[d>>2]=i;i=f[c>>2]|0;d=f[b>>2]|0;if(k>>>0<=i>>>0)aq(j);if(k>>>0<=d>>>0)aq(j);if((f[l+(i<<3)>>2]|0)>>>0>=(f[l+(d<<3)>>2]|0)>>>0){m=g+1|0;return m|0}f[b>>2]=i;f[c>>2]=d;d=f[b>>2]|0;c=f[a>>2]|0;if(k>>>0<=d>>>0)aq(j);if(k>>>0<=c>>>0)aq(j);if((f[l+(d<<3)>>2]|0)>>>0>=(f[l+(c<<3)>>2]|0)>>>0){m=g+2|0;return m|0}f[a>>2]=d;f[b>>2]=c;m=g+3|0;return m|0}function kh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Da(a|0,c|0,d|0)|0;e=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return e|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}h=g&-4|0;d=h-64|0;while((a|0)<=(d|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(h|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{h=g-4|0;while((a|0)<(h|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return e|0}function lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+16|0;d=c+4|0;e=c;f[a>>2]=1232;g=a+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;f[d>>2]=b;b=a+4|0;g=a+8|0;Ri(b,d);h=f[d>>2]|0;i=a+20|0;j=f[i>>2]|0;k=a+16|0;a=f[k>>2]|0;l=j-a>>2;m=a;if((h|0)<(l|0)){n=m;o=h;p=f[g>>2]|0;q=f[b>>2]|0;r=p-q|0;s=r>>2;t=s+-1|0;v=n+(o<<2)|0;f[v>>2]=t;u=c;return}a=h+1|0;f[e>>2]=-1;w=j;if(a>>>0<=l>>>0)if(a>>>0>>0?(j=m+(a<<2)|0,(j|0)!=(w|0)):0){f[i>>2]=w+(~((w+-4-j|0)>>>2)<<2);x=h;y=m}else{x=h;y=m}else{Ch(k,a-l|0,e);x=f[d>>2]|0;y=f[k>>2]|0}n=y;o=x;p=f[g>>2]|0;q=f[b>>2]|0;r=p-q|0;s=r>>2;t=s+-1|0;v=n+(o<<2)|0;f[v>>2]=t;u=c;return}function mh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=a+4|0;c=f[b>>2]|0;d=(f[c+12>>2]|0)-(f[c+8>>2]|0)|0;c=d>>2;a:do if((d|0)>0){e=0;while(1){if(!(Ra[f[(f[a>>2]|0)+36>>2]&127](a,e)|0)){g=0;break}e=e+1|0;h=f[b>>2]|0;i=(f[h+12>>2]|0)-(f[h+8>>2]|0)>>2;if((e|0)>=(i|0)){j=i;break a}}return g|0}else j=c;while(0);c=a+20|0;b=a+24|0;d=f[b>>2]|0;e=f[c>>2]|0;i=d-e>>2;h=e;e=d;if(j>>>0<=i>>>0){if(j>>>0>>0?(d=h+(j<<2)|0,(d|0)!=(e|0)):0)f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2)}else Ci(c,j-i|0);i=f[a+12>>2]|0;j=f[a+8>>2]|0;a=j;if((i|0)==(j|0)){g=1;return g|0}d=i-j>>2;j=0;do{i=f[a+(j<<2)>>2]|0;e=f[i+8>>2]|0;b=f[i+4>>2]|0;i=b;if((e|0)!=(b|0)?(h=f[c>>2]|0,k=e-b>>2,f[h+(f[i>>2]<<2)>>2]=j,k>>>0>1):0){b=1;do{f[h+(f[i+(b<<2)>>2]<<2)>>2]=j;b=b+1|0}while(b>>>0>>0)}j=j+1|0}while(j>>>0>>0);g=1;return g|0}function nh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=f[c+88>>2]|0;if(!d){e=0;return e|0}if((f[d>>2]|0)!=1){e=0;return e|0}g=d+8|0;d=f[g>>2]|0;f[a+4>>2]=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;i=a+8|0;j=c+24|0;c=b[j>>0]|0;k=c<<24>>24;l=a+12|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n>>2;p=n;n=m;if(o>>>0>=k>>>0)if(o>>>0>k>>>0?(m=p+(k<<2)|0,(m|0)!=(n|0)):0){f[l>>2]=n+(~((n+-4-m|0)>>>2)<<2);q=c;r=d}else{q=c;r=d}else{Ci(i,k-o|0);q=b[j>>0]|0;r=f[g>>2]|0}g=r+4|0;j=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;if(q<<24>>24>0){g=f[i>>2]|0;i=q<<24>>24;q=j;o=4;k=0;while(1){f[g+(k<<2)>>2]=q;o=o+4|0;k=k+1|0;d=r+o|0;c=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if((k|0)>=(i|0)){s=c;break}else q=c}}else s=j;f[a+20>>2]=s;e=1;return e|0}function oh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;do if(!(fp(a,f[c+8>>2]|0,g)|0)){if(!(fp(a,f[c>>2]|0,g)|0)){h=f[a+8>>2]|0;Za[f[(f[h>>2]|0)+24>>2]&3](h,c,d,e,g);break}if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;i=c+44|0;if((f[i>>2]|0)==4)break;j=c+52|0;b[j>>0]=0;k=c+53|0;b[k>>0]=0;l=f[a+8>>2]|0;_a[f[(f[l>>2]|0)+20>>2]&3](l,c,d,d,1,g);if(b[k>>0]|0)if(!(b[j>>0]|0)){m=3;n=11}else o=3;else{m=4;n=11}if((n|0)==11){f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0){b[c+54>>0]=1;o=m}else o=m}f[i>>2]=o;break}if((e|0)==1)f[c+32>>2]=1}else Vm(0,c,d,e);while(0);return}function ph(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e+12|0;h=e+8|0;i=e;f[i>>2]=f[b>>2];f[g>>2]=f[i>>2];i=Kd(a,g,h,e+4|0,c)|0;c=f[i>>2]|0;if(c|0){j=c;u=e;return j|0}c=ln(40)|0;pj(c+16|0,d);pj(c+28|0,d+12|0);d=f[h>>2]|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=d;f[i>>2]=c;d=f[f[a>>2]>>2]|0;if(!d)k=c;else{f[a>>2]=d;k=f[i>>2]|0}Oe(f[a+4>>2]|0,k);k=a+8|0;f[k>>2]=(f[k>>2]|0)+1;j=c;u=e;return j|0}function qh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=a+4|0;f[h>>2]=0;if(!c){u=e;return}i=a+8|0;j=f[i>>2]|0;k=j<<5;if(k>>>0>>0){f[g>>2]=0;l=g+4|0;f[l>>2]=0;m=g+8|0;f[m>>2]=0;if((c|0)<0)aq(a);n=j<<6;j=c+31&-32;vi(g,k>>>0<1073741823?(n>>>0>>0?j:n):2147483647);n=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=n;g=f[h>>2]|0;f[h>>2]=c;f[l>>2]=g;g=f[i>>2]|0;f[i>>2]=f[m>>2];f[m>>2]=g;if(n|0)Oq(n);o=a}else{f[h>>2]=c;o=a}a=f[o>>2]|0;o=a;h=a;a=c>>>5;n=a<<2;if(!(b[d>>0]|0)){sj(h|0,0,n|0)|0;d=c&31;g=o+(a<<2)|0;if(!d){u=e;return}f[g>>2]=f[g>>2]&~(-1>>>(32-d|0));u=e;return}else{sj(h|0,-1,n|0)|0;n=c&31;c=o+(a<<2)|0;if(!n){u=e;return}f[c>>2]=f[c>>2]|-1>>>(32-n|0);u=e;return}}function rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+20>>2];if((l|0)>0|(l|0)==0&m>>>0>0){n=a+88|0;ld(n,b);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;n=a+88|0;ld(n,b);u=c;return 1}function sh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+16>>2];if((l|0)>0|(l|0)==0&m>>>0>0){n=a+108|0;ld(n,b);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;n=a+108|0;ld(n,b);u=c;return 1}function th(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=a+32|0;d=f[a+64>>2]|0;e=(Qa[f[(f[d>>2]|0)+40>>2]&127](d)|0)+52|0;d=f[e>>2]|0;zi(c,(((f[d+100>>2]|0)-(f[d+96>>2]|0)|0)/12|0)*3|0,0,1)|0;d=a+68|0;e=f[d>>2]|0;g=(f[a+72>>2]|0)-e|0;if((g|0)<=0){eg(c);return}i=a+48|0;j=a+44|0;a=(g>>>2)+-1|0;g=e;while(1){e=f[g+(a<<2)>>2]|0;k=f[3524+(e<<2)>>2]|0;l=i;m=f[l+4>>2]|0;if((m|0)>0|(m|0)==0&(f[l>>2]|0)>>>0>0?(l=f[j>>2]|0,171>>>e&1|0):0){m=l+4|0;n=0;o=f[m>>2]|0;do{p=o>>>3;q=o&7;r=(f[l>>2]|0)+p|0;b[r>>0]=(1<>0]|0);r=(f[l>>2]|0)+p|0;b[r>>0]=(e>>>n&1)<>0]|0);o=(f[m>>2]|0)+1|0;f[m>>2]=o;n=n+1|0}while((n|0)!=(k|0))}k=a+-1|0;if((k|0)<=-1)break;a=k;g=f[d>>2]|0}eg(c);return}function uh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=u;u=u+48|0;h=g;i=g+32|0;if(!c){j=0;u=g;return j|0}Gn(h);do if((dm(c,0)|0)!=-1){if(d){if(!(Qa[f[(f[c>>2]|0)+16>>2]&127](c)|0)){k=0;break}Va[f[(f[c>>2]|0)+20>>2]&127](c)}Yg(i,a,c,h);l=(f[i>>2]|0)==0;m=i+4|0;if((b[m+11>>0]|0)<0)Oq(f[m>>2]|0);if(l){l=f[h>>2]|0;m=h+4|0;rg(e,l,l+((f[m>>2]|0)-l)|0);k=(f[m>>2]|0)-(f[h>>2]|0)|0}else k=0}else k=0;while(0);e=h+12|0;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Oq(i);i=f[h>>2]|0;if(i|0){e=h+4|0;if((f[e>>2]|0)!=(i|0))f[e>>2]=i;Oq(i)}j=k;u=g;return j|0}function vh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=u;u=u+16|0;d=c;e=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;h=a+12|0;i=(f[h>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[d>>2]=j;Xa[e&15](a,i,d);i=f[d>>2]|0;f[d>>2]=0;if(!i){k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}d=i+88|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0){d=f[a+8>>2]|0;if(d|0){e=a+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Oq(d)}Oq(a)}a=f[i+68>>2]|0;if(a|0){d=i+72|0;e=f[d>>2]|0;if((e|0)!=(a|0))f[d>>2]=e+(~((e+-4-a|0)>>>2)<<2);Oq(a)}a=i+64|0;e=f[a>>2]|0;f[a>>2]=0;if(e|0){a=f[e>>2]|0;if(a|0){d=e+4|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;Oq(a)}Oq(e)}Oq(i);k=f[h>>2]|0;l=f[g>>2]|0;m=k-l|0;n=m>>2;o=n+-1|0;u=c;return o|0}function wh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>3>>>0>=b>>>0){h=b;i=g;do{j=i;f[j>>2]=0;f[j+4>>2]=0;i=(f[e>>2]|0)+8|0;f[e>>2]=i;h=h+-1|0}while((h|0)!=0);return}h=f[a>>2]|0;i=g-h>>3;g=i+b|0;if(g>>>0>536870911)aq(a);j=d-h|0;h=j>>2;d=j>>3>>>0<268435455?(h>>>0>>0?g:h):536870911;do if(d)if(d>>>0>536870911){h=ra(8)|0;Oo(h,16035);f[h>>2]=7256;va(h|0,1112,110)}else{k=ln(d<<3)|0;break}else k=0;while(0);h=k+(i<<3)|0;i=k+(d<<3)|0;d=b;b=h;k=h;do{g=b;f[g>>2]=0;f[g+4>>2]=0;b=k+8|0;k=b;d=d+-1|0}while((d|0)!=0);d=f[a>>2]|0;b=(f[e>>2]|0)-d|0;g=h+(0-(b>>3)<<3)|0;if((b|0)>0)kh(g|0,d|0,b|0)|0;f[a>>2]=g;f[e>>2]=k;f[c>>2]=i;if(!d)return;Oq(d);return}function xh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;if(!(bn(a,b,c)|0)){g=0;u=d;return g|0}if((Qa[f[(f[a>>2]|0)+32>>2]&127](a)|0)<<24>>24==1?((f[(f[a+8>>2]|0)+28>>2]|0)+-1|0)>>>0>=6:0){g=0;u=d;return g|0}h=_g(c,f[b+48>>2]|0)|0;Xa[f[(f[a>>2]|0)+48>>2]&15](e,a,h);h=a+36|0;b=f[e>>2]|0;f[e>>2]=0;c=f[h>>2]|0;f[h>>2]=b;if(!c){f[e>>2]=0;i=b}else{Va[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0;f[e>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);i=f[h>>2]|0}if(!i){g=1;u=d;return g|0}if(Ra[f[(f[a>>2]|0)+36>>2]&127](a,i)|0){g=1;u=d;return g|0}i=f[h>>2]|0;f[h>>2]=0;if(!i){g=1;u=d;return g|0}Va[f[(f[i>>2]|0)+4>>2]&127](i);g=1;u=d;return g|0}function yh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e+4|0;h=e;i=e+8|0;j=a&255;b[i>>0]=j&127;do if(c>>>0>0|(c|0)==0&a>>>0>127){b[i>>0]=j|-128;k=d+16|0;l=f[k+4>>2]|0;if((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0){m=0;break}else{f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,i,i+1|0)|0;k=Yn(a|0,c|0,7)|0;m=yh(k,I,d)|0;break}}else{k=d+16|0;l=f[k+4>>2]|0;if((l|0)>0|(l|0)==0&(f[k>>2]|0)>>>0>0){m=0;break}f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,i,i+1|0)|0;n=1;u=e;return n|0}while(0);n=m;u=e;return n|0}function zh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=f[(f[(f[d+4>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;if((b|0)==-1)h=Xi(c,d)|0;else h=b;if((h|0)==-2)i=0;else{do if((Qa[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Xf(a,d,h,c,e,514);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);c=ln(44)|0;f[c>>2]=1544;f[c+4>>2]=g;g=c+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[g+16>>2]=f[e+16>>2];f[g+20>>2]=f[e+20>>2];fk(c+32|0,e+24|0);f[c>>2]=1600;i=c}f[a>>2]=i;return}function Ah(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+224|0;g=e+120|0;h=e+80|0;i=e;j=e+136|0;k=h;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[g>>2]=f[d>>2];if((qb(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=Tq(a)|0;else n=0;d=f[a>>2]|0;k=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;d=a+48|0;if(!(f[d>>2]|0)){l=a+44|0;o=f[l>>2]|0;f[l>>2]=j;p=a+28|0;f[p>>2]=j;q=a+20|0;f[q>>2]=j;f[d>>2]=80;r=a+16|0;f[r>>2]=j+80;j=qb(a,c,g,i,h)|0;if(!o)s=j;else{Sa[f[a+36>>2]&31](a,0,0)|0;t=(f[q>>2]|0)==0?-1:j;f[l>>2]=o;f[d>>2]=0;f[r>>2]=0;f[p>>2]=0;f[q>>2]=0;s=t}}else s=qb(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)Sq(a);m=(h&32|0)==0?s:-1}u=e;return m|0}function Bh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e>>2;h=d;if(g>>>0>>0){uf(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b<<2)|0;if((g|0)==(h|0))return;else i=h;do{h=i+-4|0;f[c>>2]=h;b=f[h>>2]|0;f[h>>2]=0;if(b|0){h=b+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){h=f[e+8>>2]|0;if(h|0){a=e+12|0;if((f[a>>2]|0)!=(h|0))f[a>>2]=h;Oq(h)}Oq(e)}e=f[b+68>>2]|0;if(e|0){h=b+72|0;a=f[h>>2]|0;if((a|0)!=(e|0))f[h>>2]=a+(~((a+-4-e|0)>>>2)<<2);Oq(e)}e=b+64|0;a=f[e>>2]|0;f[e>>2]=0;if(a|0){e=f[a>>2]|0;if(e|0){h=a+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;Oq(e)}Oq(a)}Oq(b)}i=f[c>>2]|0}while((i|0)!=(g|0));return}function Ch(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;i=h;if(e-h>>2>>>0>=b>>>0){j=b;k=i;while(1){f[k>>2]=f[c>>2];j=j+-1|0;if(!j)break;else k=k+4|0}f[g>>2]=i+(b<<2);return}i=f[a>>2]|0;k=h-i|0;h=k>>2;j=h+b|0;if(j>>>0>1073741823)aq(a);l=e-i|0;e=l>>1;m=l>>2>>>0<536870911?(e>>>0>>0?j:e):1073741823;do if(m)if(m>>>0>1073741823){e=ra(8)|0;Oo(e,16035);f[e>>2]=7256;va(e|0,1112,110)}else{e=ln(m<<2)|0;n=e;o=e;break}else{n=0;o=0}while(0);e=n+(h<<2)|0;h=n+(m<<2)|0;m=b;j=e;while(1){f[j>>2]=f[c>>2];m=m+-1|0;if(!m)break;else j=j+4|0}if((k|0)>0)kh(o|0,i|0,k|0)|0;f[a>>2]=n;f[g>>2]=e+(b<<2);f[d>>2]=h;if(!i)return;Oq(i);return}function Dh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=(f[a>>2]|0)+1794895138|0;g=gp(f[a+8>>2]|0,e)|0;h=gp(f[a+12>>2]|0,e)|0;i=gp(f[a+16>>2]|0,e)|0;a:do if((g>>>0>>2>>>0?(j=c-(g<<2)|0,h>>>0>>0&i>>>0>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=gp(f[a+(q<<2)>>2]|0,e)|0;s=gp(f[a+(q+1<<2)>>2]|0,e)|0;if(!(s>>>0>>0&r>>>0<(c-s|0)>>>0)){t=0;break a}if(b[a+(s+r)>>0]|0){t=0;break a}r=hl(d,a+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}else{l=s?l:o;m=s?n:m-n|0}}m=p+k|0;l=gp(f[a+(m<<2)>>2]|0,e)|0;j=gp(f[a+(m+1<<2)>>2]|0,e)|0;if(j>>>0>>0&l>>>0<(c-j|0)>>>0)t=(b[a+(j+l)>>0]|0)==0?a+j|0:0;else t=0}else t=0;while(0);return t|0}function Eh(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=u;u=u+64|0;i=h;j=f[a>>2]|0;k=a+(f[j+-8>>2]|0)|0;l=f[j+-4>>2]|0;f[i>>2]=e;f[i+4>>2]=a;f[i+8>>2]=c;f[i+12>>2]=g;g=i+16|0;c=i+20|0;a=i+24|0;j=i+28|0;m=i+32|0;n=i+40|0;o=g;p=o+36|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(fp(l,e,0)|0){f[i+48>>2]=1;_a[f[(f[l>>2]|0)+20>>2]&3](l,i,k,k,1,0);q=(f[a>>2]|0)==1?k:0}else{Za[f[(f[l>>2]|0)+24>>2]&3](l,i,k,1,0);switch(f[i+36>>2]|0){case 0:{q=(f[n>>2]|0)==1&(f[j>>2]|0)==1&(f[m>>2]|0)==1?f[c>>2]|0:0;break a;break}case 1:break;default:{q=0;break a}}if((f[a>>2]|0)!=1?!((f[n>>2]|0)==0&(f[j>>2]|0)==1&(f[m>>2]|0)==1):0){q=0;break}q=f[g>>2]|0}while(0);u=h;return q|0}function Fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;h=g;if(d-g>>2>>>0>=b>>>0){i=b;j=h;while(1){f[j>>2]=1;i=i+-1|0;if(!i)break;else j=j+4|0}f[e>>2]=h+(b<<2);return}h=f[a>>2]|0;j=g-h|0;g=j>>2;i=g+b|0;if(i>>>0>1073741823)aq(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?i:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;Oo(d,16035);f[d>>2]=7256;va(d|0,1112,110)}else{d=ln(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;g=m+(l<<2)|0;l=b;i=d;while(1){f[i>>2]=1;l=l+-1|0;if(!l)break;else i=i+4|0}if((j|0)>0)kh(n|0,h|0,j|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=g;if(!h)return;Oq(h);return}function Gh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(!c){g=0;u=d;return g|0}h=a+84|0;i=f[h>>2]|0;j=a+88|0;k=f[j>>2]|0;if((k|0)!=(i|0))f[j>>2]=k+(~((k+-4-i|0)>>>2)<<2);f[h>>2]=0;f[j>>2]=0;f[a+92>>2]=0;if(i|0)Oq(i);i=a+72|0;j=f[i>>2]|0;h=a+76|0;if((f[h>>2]|0)!=(j|0))f[h>>2]=j;f[i>>2]=0;f[h>>2]=0;f[a+80>>2]=0;if(j|0)Oq(j);j=c+4|0;h=(f[j>>2]|0)-(f[c>>2]|0)>>2;b[e>>0]=0;qh(a,h,e);h=c+24|0;i=c+28|0;k=(f[i>>2]|0)-(f[h>>2]|0)>>2;b[e>>0]=0;qh(a+12|0,k,e);hg(a+28|0,(f[j>>2]|0)-(f[c>>2]|0)>>2,6180);gk(a+52|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);gk(a+40|0,(f[i>>2]|0)-(f[h>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;g=1;u=d;return g|0}function Hh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a+12|0;d=f[a>>2]|0;e=a+8|0;g=f[e>>2]|0;h=(g|0)==-1;if(!(b[c>>0]|0)){do if((!h?(i=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(i|0)!=-1):0)?(j=f[(f[d+12>>2]|0)+(i<<2)>>2]|0,(j|0)!=-1):0)if(!((j>>>0)%3|0)){k=j+2|0;break}else{k=j+-1|0;break}else k=-1;while(0);f[e>>2]=k;return}k=g+1|0;if((!h?(h=((k>>>0)%3|0|0)==0?g+-2|0:k,(h|0)!=-1):0)?(k=f[(f[d+12>>2]|0)+(h<<2)>>2]|0,h=k+1|0,(k|0)!=-1):0){g=((h>>>0)%3|0|0)==0?k+-2|0:h;f[e>>2]=g;if((g|0)!=-1){if((g|0)!=(f[a+4>>2]|0))return;f[e>>2]=-1;return}}else f[e>>2]=-1;g=f[a+4>>2]|0;do if(((g|0)!=-1?(a=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(a|0)!=-1):0)?(h=f[(f[d+12>>2]|0)+(a<<2)>>2]|0,(h|0)!=-1):0)if(!((h>>>0)%3|0)){l=h+2|0;break}else{l=h+-1|0;break}else l=-1;while(0);f[e>>2]=l;b[c>>0]=0;return}function Ih(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Td(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+20>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Td(a,e);return}function Jh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=f[a+4>>2]|0;if(!d){e=0;return e|0}a=b[c+11>>0]|0;g=a<<24>>24<0;h=g?f[c+4>>2]|0:a&255;a=g?f[c>>2]|0:c;c=d;while(1){d=c+16|0;g=b[d+11>>0]|0;i=g<<24>>24<0;j=i?f[c+20>>2]|0:g&255;g=j>>>0>>0;k=g?j:h;if((k|0)!=0?(l=Vk(a,i?f[d>>2]|0:d,k)|0,(l|0)!=0):0)if((l|0)<0)m=7;else m=8;else if(h>>>0>>0)m=7;else m=8;if((m|0)==7){m=0;n=c}else if((m|0)==8){m=0;l=h>>>0>>0?h:j;if((l|0)!=0?(j=Vk(i?f[d>>2]|0:d,a,l)|0,(j|0)!=0):0){if((j|0)>=0){e=1;m=14;break}}else m=10;if((m|0)==10?(m=0,!g):0){e=1;m=14;break}n=c+4|0}c=f[n>>2]|0;if(!c){e=0;m=14;break}}if((m|0)==14)return e|0;return 0}function Kh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=u;u=u+16|0;g=e+4|0;h=e;i=f[a+8>>2]|0;j=i+24|0;k=b[j>>0]|0;l=c+4|0;ag(a,(f[l>>2]|0)-(f[c>>2]|0)>>2,k,d);d=f[a+32>>2]|0;a=(f[f[d>>2]>>2]|0)+(f[d+48>>2]|0)|0;d=f[c>>2]|0;c=f[l>>2]|0;if((d|0)==(c|0)){m=1;u=e;return m|0}l=i+84|0;n=i+68|0;o=0;p=d;while(1){d=f[p>>2]|0;if(!(b[l>>0]|0))q=f[(f[n>>2]|0)+(d<<2)>>2]|0;else q=d;f[h>>2]=q;d=b[j>>0]|0;f[g>>2]=f[h>>2];if(!(Qb(i,g,d,a+(o<<2)|0)|0)){m=0;r=7;break}p=p+4|0;if((p|0)==(c|0)){m=1;r=7;break}else o=o+k|0}if((r|0)==7){u=e;return m|0}return 0}function Lh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;f[a>>2]=1408;b=a+72|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+60>>2]|0;if(c|0){b=a+64|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);Oq(c)}c=f[a+48>>2]|0;if(c|0)Oq(c);c=a+36|0;d=f[c>>2]|0;if(d|0){b=a+40|0;e=f[b>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-4|0;f[b>>2]=e;i=f[e>>2]|0;f[e>>2]=0;if(i|0)Va[f[(f[i>>2]|0)+4>>2]&127](i);h=f[b>>2]|0}while((h|0)!=(d|0));g=f[c>>2]|0}Oq(g)}f[a>>2]=1232;g=f[a+16>>2]|0;if(g|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(g|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);Oq(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);Oq(g);return}function Mh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f[a>>2]=d;e=a+24|0;g=a+28|0;h=f[g>>2]|0;i=f[e>>2]|0;j=h-i>>2;k=i;i=h;if(j>>>0>=d>>>0){if(j>>>0>d>>>0?(h=k+(d<<2)|0,(h|0)!=(i|0)):0)f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2)}else Ci(e,d-j|0);if(!c)return;j=f[b>>2]|0;if((c|0)>1){d=j;e=j;h=1;while(1){i=f[b+(h<<2)>>2]|0;g=(i|0)<(e|0);k=g?i:e;l=g?d:(i|0)>(d|0)?i:d;h=h+1|0;if((h|0)==(c|0)){m=l;n=k;break}else{d=l;e=k}}}else{m=j;n=j}f[a+4>>2]=n;f[a+8>>2]=m;j=Xn(m|0,((m|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=I;if(!(n>>>0<0|(n|0)==0&j>>>0<2147483647))return;n=j+1|0;f[a+12>>2]=n;j=(n|0)/2|0;m=a+16|0;f[m>>2]=j;f[a+20>>2]=0-j;if(n&1|0)return;f[m>>2]=j+-1;return}function Nh(a){a=a|0;Fj(a+992|0);Fj(a+960|0);Fj(a+928|0);Fj(a+896|0);Fj(a+864|0);Fj(a+832|0);Fj(a+800|0);Fj(a+768|0);Fj(a+736|0);Fj(a+704|0);Fj(a+672|0);Fj(a+640|0);Fj(a+608|0);Fj(a+576|0);Fj(a+544|0);Fj(a+512|0);Fj(a+480|0);Fj(a+448|0);Fj(a+416|0);Fj(a+384|0);Fj(a+352|0);Fj(a+320|0);Fj(a+288|0);Fj(a+256|0);Fj(a+224|0);Fj(a+192|0);Fj(a+160|0);Fj(a+128|0);Fj(a+96|0);Fj(a+64|0);Fj(a+32|0);Fj(a);return}function Oh(a){a=a|0;wn(a);wn(a+32|0);wn(a+64|0);wn(a+96|0);wn(a+128|0);wn(a+160|0);wn(a+192|0);wn(a+224|0);wn(a+256|0);wn(a+288|0);wn(a+320|0);wn(a+352|0);wn(a+384|0);wn(a+416|0);wn(a+448|0);wn(a+480|0);wn(a+512|0);wn(a+544|0);wn(a+576|0);wn(a+608|0);wn(a+640|0);wn(a+672|0);wn(a+704|0);wn(a+736|0);wn(a+768|0);wn(a+800|0);wn(a+832|0);wn(a+864|0);wn(a+896|0);wn(a+928|0);wn(a+960|0);wn(a+992|0);return}function Ph(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=u;u=u+16|0;d=c+12|0;e=c+8|0;g=c+4|0;h=c;i=(a|0)==(b|0);if(!i){f[g>>2]=f[b>>2];f[h>>2]=b+4;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Oc(a,e,d)}if(!i){f[g>>2]=f[b+12>>2];f[h>>2]=b+16;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Hc(a+12|0,e,d)}if(i){u=c;return}f[g>>2]=f[b+24>>2];f[h>>2]=b+28;f[e>>2]=f[g>>2];f[d>>2]=f[h>>2];Oc(a+24|0,e,d);u=c;return}function Qh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+16|0;e=a;if((c|0)<0|((b|0)==0|(d|0)==0)){g=0;u=a;return g|0}h=f[b+8>>2]|0;if(((f[b+12>>2]|0)-h>>2|0)<=(c|0)){g=0;u=a;return g|0}i=b+4|0;if(!(f[i>>2]|0)){j=ln(52)|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;n[j+16>>2]=$(1.0);k=j+20|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[j+36>>2]=$(1.0);f[j+40>>2]=0;f[j+44>>2]=0;f[j+48>>2]=0;f[b+4>>2]=j}j=f[(f[h+(c<<2)>>2]|0)+60>>2]|0;c=ln(44)|0;Ub(c,d);f[c+40>>2]=j;j=f[i>>2]|0;f[e>>2]=c;mk(j,e)|0;j=f[e>>2]|0;f[e>>2]=0;if(!j){g=1;u=a;return g|0}bj(j);Oq(j);g=1;u=a;return g|0}function Rh(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;c=u;u=u+64|0;j=c;k=i?6:5;Il(j);i=f[h+56>>2]|0;h=X(Vl(k)|0,e)|0;Jj(j,i,0,e&255,k,0,h,((h|0)<0)<<31>>31,0,0);h=ln(96)|0;tl(h,j);f[a>>2]=h;Bj(h,d)|0;d=h+84|0;if(!g){b[d>>0]=1;a=f[h+68>>2]|0;j=h+72|0;k=f[j>>2]|0;if((k|0)==(a|0)){u=c;return}f[j>>2]=k+(~((k+-4-a|0)>>>2)<<2);u=c;return}b[d>>0]=0;d=h+68|0;a=h+72|0;h=f[a>>2]|0;k=f[d>>2]|0;j=h-k>>2;e=h;if(j>>>0>>0){Ch(d,g-j|0,1216);u=c;return}if(j>>>0<=g>>>0){u=c;return}j=k+(g<<2)|0;if((j|0)==(e|0)){u=c;return}f[a>>2]=e+(~((e+-4-j|0)>>>2)<<2);u=c;return}function Sh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){rd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;rd(a,e);return}function Th(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){vd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;vd(a,e);return}function Uh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Fd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Fd(a,e);return}function Vh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Pd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Pd(a,e);return}function Wh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){ud(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;ud(a,e);return}function Xh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){zd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;zd(a,e);return}function Yh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Jd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Jd(a,e);return}function Zh(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){sd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;sd(a,e);return}function _h(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){wd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;wd(a,e);return}function $h(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Gd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Gd(a,e);return}function ai(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Qd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Qd(a,e);return}function bi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=u;u=u+16|0;h=g;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=ln(16)|0;f[h>>2]=i;f[h+8>>2]=-2147483632;f[h+4>>2]=15;j=i;k=14479;l=j+15|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[i+15>>0]=0;i=Hk(c,h,-1)|0;if((b[h+11>>0]|0)<0)Oq(f[h>>2]|0);switch(i|0){case -1:{if((mi(c)|0)==10)m=6;else m=5;break}case 1:{m=5;break}default:m=6}if((m|0)==5){i=ln(60)|0;Lo(i);n=i}else if((m|0)==6){m=ln(56)|0;tp(m);n=m}xo(n,d);Md(a,n,c,e);Va[f[(f[n>>2]|0)+4>>2]&127](n);u=g;return}function ci(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;b[h>>0]=a&127;do if(a>>>0>127){b[h>>0]=a|128;i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){k=0;break}else{f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0;k=ci(a>>>7,c)|0;break}}else{i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){k=0;break}f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0;l=1;u=d;return l|0}while(0);l=k;u=d;return l|0} +function vc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;e=u;u=u+32|0;g=e+16|0;h=e+12|0;i=e+8|0;j=e+4|0;k=e;switch(f[c+28>>2]|0){case 9:{l=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=l;f[g>>2]=f[h>>2];m=hc(a,c,g)|0;break}case 2:{f[i>>2]=l;f[g>>2]=f[i>>2];m=Wb(a,c,g)|0;break}case 3:{f[j>>2]=l;f[g>>2]=f[j>>2];m=uc(a,c,g)|0;break}case 4:{f[k>>2]=l;f[g>>2]=f[k>>2];m=mc(a,c,g)|0;break}default:m=0}n=m;break}case 1:{m=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=m;f[g>>2]=f[h>>2];o=gc(a,c,g)|0;break}case 2:{f[i>>2]=m;f[g>>2]=f[i>>2];o=Xb(a,c,g)|0;break}case 3:{f[j>>2]=m;f[g>>2]=f[j>>2];o=sc(a,c,g)|0;break}case 4:{f[k>>2]=m;f[g>>2]=f[k>>2];o=lc(a,c,g)|0;break}default:o=0}n=o;break}case 11:case 2:{o=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=o;f[g>>2]=f[h>>2];p=gc(a,c,g)|0;break}case 2:{f[i>>2]=o;f[g>>2]=f[i>>2];p=Xb(a,c,g)|0;break}case 3:{f[j>>2]=o;f[g>>2]=f[j>>2];p=sc(a,c,g)|0;break}case 4:{f[k>>2]=o;f[g>>2]=f[k>>2];p=lc(a,c,g)|0;break}default:p=0}n=p;break}case 4:{p=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=p;f[g>>2]=f[h>>2];q=ec(a,c,g)|0;break}case 2:{f[i>>2]=p;f[g>>2]=f[i>>2];q=Vb(a,c,g)|0;break}case 3:{f[j>>2]=p;f[g>>2]=f[j>>2];q=nc(a,c,g)|0;break}case 4:{f[k>>2]=p;f[g>>2]=f[k>>2];q=jc(a,c,g)|0;break}default:q=0}n=q;break}case 3:{q=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=q;f[g>>2]=f[h>>2];r=ec(a,c,g)|0;break}case 2:{f[i>>2]=q;f[g>>2]=f[i>>2];r=Vb(a,c,g)|0;break}case 3:{f[j>>2]=q;f[g>>2]=f[j>>2];r=nc(a,c,g)|0;break}case 4:{f[k>>2]=q;f[g>>2]=f[k>>2];r=jc(a,c,g)|0;break}default:r=0}n=r;break}case 6:{r=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=r;f[g>>2]=f[h>>2];s=hc(a,c,g)|0;break}case 2:{f[i>>2]=r;f[g>>2]=f[i>>2];s=Wb(a,c,g)|0;break}case 3:{f[j>>2]=r;f[g>>2]=f[j>>2];s=uc(a,c,g)|0;break}case 4:{f[k>>2]=r;f[g>>2]=f[k>>2];s=mc(a,c,g)|0;break}default:s=0}n=s;break}case 5:{s=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[h>>2]=s;f[g>>2]=f[h>>2];t=hc(a,c,g)|0;break}case 2:{f[i>>2]=s;f[g>>2]=f[i>>2];t=Wb(a,c,g)|0;break}case 3:{f[j>>2]=s;f[g>>2]=f[j>>2];t=uc(a,c,g)|0;break}case 4:{f[k>>2]=s;f[g>>2]=f[k>>2];t=mc(a,c,g)|0;break}default:t=0}n=t;break}default:{v=-1;u=e;return v|0}}v=(n|0)==0?-1:n;u=e;return v|0}function wc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=u;u=u+32|0;g=e+16|0;h=e+12|0;i=e+29|0;j=e;k=e+28|0;if(!(f[(f[a+8>>2]|0)+80>>2]|0)){l=1;u=e;return l|0}b[i>>0]=-2;m=a+36|0;n=f[m>>2]|0;if(n)if(Ra[f[(f[a>>2]|0)+40>>2]&127](a,n)|0){n=f[m>>2]|0;o=(Qa[f[(f[n>>2]|0)+8>>2]&127](n)|0)&255;b[i>>0]=o;p=5}else q=0;else p=5;if((p|0)==5){o=d+16|0;n=o;r=f[n+4>>2]|0;if(!((r|0)>0|(r|0)==0&(f[n>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,i,i+1|0)|0}i=f[m>>2]|0;if(i|0?(n=(Qa[f[(f[i>>2]|0)+36>>2]&127](i)|0)&255,b[j>>0]=n,n=o,i=f[n+4>>2]|0,!((i|0)>0|(i|0)==0&(f[n>>2]|0)>>>0>0)):0){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,j,j+1|0)|0}n=f[a+32>>2]|0;i=b[n+24>>0]|0;r=X(f[n+80>>2]|0,i)|0;s=(f[f[n>>2]>>2]|0)+(f[n+48>>2]|0)|0;f[j>>2]=0;n=j+4|0;f[n>>2]=0;f[j+8>>2]=0;t=(r|0)==0;do if(!t)if(r>>>0>1073741823)aq(j);else{v=r<<2;w=ln(v)|0;f[j>>2]=w;x=w+(r<<2)|0;f[j+8>>2]=x;sj(w|0,0,v|0)|0;f[n>>2]=x;y=w;break}else y=0;while(0);w=f[m>>2]|0;do if(w){Ta[f[(f[w>>2]|0)+44>>2]&31](w,s,y,r,i,f[c>>2]|0)|0;x=f[m>>2]|0;if(!x){z=s;A=f[j>>2]|0;p=20;break}if(!(Qa[f[(f[x>>2]|0)+32>>2]&127](x)|0)){x=f[j>>2]|0;z=f[m>>2]|0?x:s;A=x;p=20}}else{z=s;A=y;p=20}while(0);if((p|0)==20)xm(z,r,A);A=a+4|0;a=f[A>>2]|0;do if(a){z=f[a+48>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;y=ln(48)|0;f[g>>2]=y;f[g+8>>2]=-2147483600;f[g+4>>2]=34;s=y;w=10697;x=s+34|0;do{b[s>>0]=b[w>>0]|0;s=s+1|0;w=w+1|0}while((s|0)<(x|0));b[y+34>>0]=0;w=Yj(z,g,1)|0;if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);if(!w){if(!t){w=f[j>>2]|0;s=0;x=0;do{x=f[w+(s<<2)>>2]|x;s=s+1|0}while((s|0)!=(r|0));if(x)B=((_(x|0)|0)>>>3^3)+1|0;else B=1}else B=1;b[k>>0]=0;s=o;w=f[s>>2]|0;z=f[s+4>>2]|0;if((z|0)>0|(z|0)==0&w>>>0>0){C=z;D=w}else{f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,k,k+1|0)|0;w=o;C=f[w+4>>2]|0;D=f[w>>2]|0}b[k>>0]=B;if(!((C|0)>0|(C|0)==0&D>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,k,k+1|0)|0}if((B|0)==(Vl(5)|0)){w=f[j>>2]|0;z=o;s=f[z+4>>2]|0;if(!((s|0)>0|(s|0)==0&(f[z>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,w,w+(r<<2)|0)|0}p=48;break}if(t)p=48;else{w=d+4|0;z=0;do{s=(f[j>>2]|0)+(z<<2)|0;y=o;v=f[y+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[y>>2]|0)>>>0>0)){f[h>>2]=f[w>>2];f[g>>2]=f[h>>2];Me(d,g,s,s+B|0)|0}z=z+1|0}while(z>>>0>>0);p=48}}else p=27}else p=27;while(0);if((p|0)==27){b[k>>0]=1;r=o;o=f[r+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[r>>2]|0)>>>0>0)){f[h>>2]=f[d+4>>2];f[g>>2]=f[h>>2];Me(d,g,k,k+1|0)|0}lp(g);k=f[A>>2]|0;if(k|0)Zj(g,10-(mi(f[k+48>>2]|0)|0)|0)|0;k=Mc(f[j>>2]|0,X((f[c+4>>2]|0)-(f[c>>2]|0)>>2,i)|0,i,g,d)|0;Ej(g,f[g+4>>2]|0);if(k)p=48;else E=0}if((p|0)==48){p=f[m>>2]|0;if(!p)E=1;else{Ra[f[(f[p>>2]|0)+40>>2]&127](p,d)|0;E=1}}d=f[j>>2]|0;if(d|0){j=f[n>>2]|0;if((j|0)!=(d|0))f[n>>2]=j+(~((j+-4-d|0)>>>2)<<2);Oq(d)}q=E}l=q;u=e;return l|0}function xc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;b=u;u=u+48|0;c=b+24|0;d=b+12|0;e=b;g=a+32|0;h=a+8|0;i=a+12|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=a+36|0;n=f[m>>2]|0;o=f[g>>2]|0;p=n-o>>2;q=o;o=n;n=k;if(l>>>0<=p>>>0)if(l>>>0

    >>0?(r=q+(l<<2)|0,(r|0)!=(o|0)):0){f[m>>2]=o+(~((o+-4-r|0)>>>2)<<2);s=n;t=k;v=j}else{s=n;t=k;v=j}else{Ci(g,l-p|0);p=f[h>>2]|0;s=p;t=p;v=f[i>>2]|0}p=v-t|0;l=p>>2;f[c>>2]=0;j=c+4|0;f[j>>2]=0;k=c+8|0;f[k>>2]=0;if(l|0){if((p|0)<0)aq(c);p=((l+-1|0)>>>5)+1|0;n=ln(p<<2)|0;f[c>>2]=n;f[k>>2]=p;f[j>>2]=l;j=l>>>5;sj(n|0,0,j<<2|0)|0;p=l&31;l=n+(j<<2)|0;if(p|0)f[l>>2]=f[l>>2]&~(-1>>>(32-p|0))}p=a+20|0;l=0;j=s;s=t;t=v;while(1){if(l>>>0>2>>>0){w=0;x=0;y=l;z=s;A=j}else{B=25;break}while(1){v=x>>>5;n=1<<(x&31);do if(!(f[(f[c>>2]|0)+(v<<2)>>2]&n)){k=f[A+(x<<2)>>2]|0;if((f[k+8>>2]|0)!=(f[k+4>>2]|0)){r=0;o=1;m=A;q=k;while(1){k=f[(f[q+4>>2]|0)+(r<<2)>>2]|0;C=0;D=m;while(1){E=f[D+(x<<2)>>2]|0;if((C|0)>=(Ra[f[(f[E>>2]|0)+24>>2]&127](E,k)|0)){F=o;break}E=f[(f[h>>2]|0)+(x<<2)>>2]|0;G=Sa[f[(f[E>>2]|0)+28>>2]&31](E,k,C)|0;if((G|0)!=(x|0)?(E=f[(f[p>>2]|0)+(G<<2)>>2]|0,(1<<(E&31)&f[(f[c>>2]|0)+(E>>>5<<2)>>2]|0)==0):0){F=0;break}C=C+1|0;D=f[h>>2]|0}r=r+1|0;m=f[h>>2]|0;q=f[m+(x<<2)>>2]|0;if(r>>>0>=(f[q+8>>2]|0)-(f[q+4>>2]|0)>>2>>>0)break;else o=F}o=m;if(F)H=o;else{I=w;J=y;K=o;break}}else H=z;f[(f[g>>2]|0)+(y<<2)>>2]=x;o=(f[c>>2]|0)+(v<<2)|0;f[o>>2]=f[o>>2]|n;I=1;J=y+1|0;K=H}else{I=w;J=y;K=z}while(0);x=x+1|0;L=f[i>>2]|0;M=L-K>>2;A=K;if(x>>>0>=M>>>0)break;else{w=I;y=J;z=K}}if(J>>>0>>0&(I^1)){N=0;break}else{l=J;j=A;s=K;t=L}}if((B|0)==25){f[d>>2]=0;B=d+4|0;f[B>>2]=0;f[d+8>>2]=0;L=f[a+4>>2]|0;a=(f[L+12>>2]|0)-(f[L+8>>2]|0)|0;L=a>>2;f[e>>2]=0;K=e+4|0;f[K>>2]=0;A=e+8|0;f[A>>2]=0;if(L|0){if((a|0)<0)aq(e);a=((L+-1|0)>>>5)+1|0;J=ln(a<<2)|0;f[e>>2]=J;f[A>>2]=a;f[K>>2]=L;K=L>>>5;sj(J|0,0,K<<2|0)|0;a=L&31;L=J+(K<<2)|0;if(a|0)f[L>>2]=f[L>>2]&~(-1>>>(32-a|0))}a:do if((t|0)==(s|0))O=1;else{a=0;L=j;K=s;J=t;while(1){A=f[(f[g>>2]|0)+(a<<2)>>2]|0;l=f[L+(A<<2)>>2]|0;I=(f[l+8>>2]|0)-(f[l+4>>2]|0)|0;l=I>>2;if((I|0)<8){P=K;Q=J}else{I=f[B>>2]|0;M=f[d>>2]|0;z=I-M>>2;y=M;M=I;if(l>>>0<=z>>>0)if(l>>>0>>0?(I=y+(l<<2)|0,(I|0)!=(M|0)):0){f[B>>2]=M+(~((M+-4-I|0)>>>2)<<2);R=0}else R=0;else{Ci(d,l-z|0);R=0}while(1){if((R|0)<(l|0)){S=0;T=0;U=R}else break;while(1){z=f[(f[h>>2]|0)+(A<<2)>>2]|0;I=f[(f[z+4>>2]|0)+(S<<2)>>2]|0;M=S>>>5;y=1<<(S&31);if(!(f[(f[e>>2]|0)+(M<<2)>>2]&y)){w=0;x=1;H=z;while(1){if((w|0)>=(Ra[f[(f[H>>2]|0)+24>>2]&127](H,I)|0)){V=x;break}z=f[(f[h>>2]|0)+(A<<2)>>2]|0;F=Sa[f[(f[z>>2]|0)+28>>2]&31](z,I,w)|0;z=(f[(f[e>>2]|0)+(F>>>5<<2)>>2]&1<<(F&31)|0)!=0;F=x&z;if(!z){V=F;break}w=w+1|0;x=F;H=f[(f[h>>2]|0)+(A<<2)>>2]|0}if(V){f[(f[d>>2]|0)+(U<<2)>>2]=S;H=(f[e>>2]|0)+(M<<2)|0;f[H>>2]=f[H>>2]|y;W=1;X=U+1|0}else{W=T;X=U}}else{W=T;X=U}S=S+1|0;if((S|0)>=(l|0))break;else{T=W;U=X}}if(W|(X|0)>=(l|0))R=X;else{O=0;break a}}bg(f[(f[h>>2]|0)+(A<<2)>>2]|0,d);P=f[h>>2]|0;Q=f[i>>2]|0}a=a+1|0;if(a>>>0>=Q-P>>2>>>0){O=1;break}else{L=P;K=P;J=Q}}}while(0);Q=f[e>>2]|0;if(Q|0)Oq(Q);Q=f[d>>2]|0;if(Q|0){d=f[B>>2]|0;if((d|0)!=(Q|0))f[B>>2]=d+(~((d+-4-Q|0)>>>2)<<2);Oq(Q)}N=O}O=f[c>>2]|0;if(!O){u=b;return N|0}Oq(O);u=b;return N|0}function yc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!a)return;b=a+-8|0;c=f[4788]|0;d=f[a+-4>>2]|0;a=d&-8;e=b+a|0;do if(!(d&1)){g=f[b>>2]|0;if(!(d&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0>>0)return;if((f[4789]|0)==(h|0)){j=e+4|0;k=f[j>>2]|0;if((k&3|0)!=3){l=h;m=i;n=h;break}f[4786]=i;f[j>>2]=k&-2;f[h+4>>2]=i|1;f[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=f[h+8>>2]|0;j=f[h+12>>2]|0;if((j|0)==(g|0)){f[4784]=f[4784]&~(1<>2]=j;f[j+8>>2]=g;l=h;m=i;n=h;break}}g=f[h+24>>2]|0;j=f[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=f[o>>2]|0;if(!p){q=f[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}while(1){o=s+20|0;p=f[o>>2]|0;if(p|0){s=p;t=o;continue}o=s+16|0;p=f[o>>2]|0;if(!p)break;else{s=p;t=o}}f[t>>2]=0;r=s}else{o=f[h+8>>2]|0;f[o+12>>2]=j;f[j+8>>2]=o;r=j}while(0);if(g){j=f[h+28>>2]|0;o=19440+(j<<2)|0;if((f[o>>2]|0)==(h|0)){f[o>>2]=r;if(!r){f[4785]=f[4785]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=r;if(!r){l=h;m=i;n=h;break}}f[r+24>>2]=g;j=h+16|0;o=f[j>>2]|0;if(o|0){f[r+16>>2]=o;f[o+24>>2]=r}o=f[j+4>>2]|0;if(o){f[r+20>>2]=o;f[o+24>>2]=r;l=h;m=i;n=h}else{l=h;m=i;n=h}}else{l=h;m=i;n=h}}else{l=b;m=a;n=b}while(0);if(n>>>0>=e>>>0)return;b=e+4|0;a=f[b>>2]|0;if(!(a&1))return;if(!(a&2)){if((f[4790]|0)==(e|0)){r=(f[4787]|0)+m|0;f[4787]=r;f[4790]=l;f[l+4>>2]=r|1;if((l|0)!=(f[4789]|0))return;f[4789]=0;f[4786]=0;return}if((f[4789]|0)==(e|0)){r=(f[4786]|0)+m|0;f[4786]=r;f[4789]=n;f[l+4>>2]=r|1;f[n+r>>2]=r;return}r=(a&-8)+m|0;s=a>>>3;do if(a>>>0<256){t=f[e+8>>2]|0;c=f[e+12>>2]|0;if((c|0)==(t|0)){f[4784]=f[4784]&~(1<>2]=c;f[c+8>>2]=t;break}}else{t=f[e+24>>2]|0;c=f[e+12>>2]|0;do if((c|0)==(e|0)){d=e+16|0;o=d+4|0;j=f[o>>2]|0;if(!j){p=f[d>>2]|0;if(!p){u=0;break}else{v=p;w=d}}else{v=j;w=o}while(1){o=v+20|0;j=f[o>>2]|0;if(j|0){v=j;w=o;continue}o=v+16|0;j=f[o>>2]|0;if(!j)break;else{v=j;w=o}}f[w>>2]=0;u=v}else{o=f[e+8>>2]|0;f[o+12>>2]=c;f[c+8>>2]=o;u=c}while(0);if(t|0){c=f[e+28>>2]|0;h=19440+(c<<2)|0;if((f[h>>2]|0)==(e|0)){f[h>>2]=u;if(!u){f[4785]=f[4785]&~(1<>2]|0)!=(e|0)&1)<<2)>>2]=u;if(!u)break}f[u+24>>2]=t;c=e+16|0;h=f[c>>2]|0;if(h|0){f[u+16>>2]=h;f[h+24>>2]=u}h=f[c+4>>2]|0;if(h|0){f[u+20>>2]=h;f[h+24>>2]=u}}}while(0);f[l+4>>2]=r|1;f[n+r>>2]=r;if((l|0)==(f[4789]|0)){f[4786]=r;return}else x=r}else{f[b>>2]=a&-2;f[l+4>>2]=m|1;f[n+m>>2]=m;x=m}m=x>>>3;if(x>>>0<256){n=19176+(m<<1<<2)|0;a=f[4784]|0;b=1<>2]|0;z=b}f[z>>2]=l;f[y+12>>2]=l;f[l+8>>2]=y;f[l+12>>2]=n;return}n=x>>>8;if(n)if(x>>>0>16777215)A=31;else{y=(n+1048320|0)>>>16&8;z=n<>>16&4;b=z<>>16&2;a=14-(n|y|z)+(b<>>15)|0;A=x>>>(a+7|0)&1|a<<1}else A=0;a=19440+(A<<2)|0;f[l+28>>2]=A;f[l+20>>2]=0;f[l+16>>2]=0;z=f[4785]|0;b=1<>>1)|0);n=f[a>>2]|0;while(1){if((f[n+4>>2]&-8|0)==(x|0)){B=73;break}C=n+16+(y>>>31<<2)|0;m=f[C>>2]|0;if(!m){B=72;break}else{y=y<<1;n=m}}if((B|0)==72){f[C>>2]=l;f[l+24>>2]=n;f[l+12>>2]=l;f[l+8>>2]=l;break}else if((B|0)==73){y=n+8|0;t=f[y>>2]|0;f[t+12>>2]=l;f[y>>2]=l;f[l+8>>2]=t;f[l+12>>2]=n;f[l+24>>2]=0;break}}else{f[4785]=z|b;f[a>>2]=l;f[l+24>>2]=a;f[l+12>>2]=l;f[l+8>>2]=l}while(0);l=(f[4792]|0)+-1|0;f[4792]=l;if(!l)D=19592;else return;while(1){l=f[D>>2]|0;if(!l)break;else D=l+8|0}f[4792]=-1;return}function zc(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;c=u;u=u+32|0;e=c+4|0;g=c;h=c+16|0;i=a+52|0;j=f[i>>2]|0;k=(f[j+100>>2]|0)-(f[j+96>>2]|0)|0;j=(k|0)/12|0;l=a+44|0;ci(j,f[l>>2]|0)|0;ci(f[(f[i>>2]|0)+80>>2]|0,f[l>>2]|0)|0;m=f[a+48>>2]|0;n=ln(32)|0;f[e>>2]=n;f[e+8>>2]=-2147483616;f[e+4>>2]=21;o=n;p=15598;q=o+21|0;do{b[o>>0]=b[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(q|0));b[n+21>>0]=0;n=Yj(m,e,0)|0;if((b[e+11>>0]|0)<0)Oq(f[e>>2]|0);m=f[l>>2]|0;if(n){b[h>>0]=0;n=m+16|0;p=f[n+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[n>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Me(m,e,h,h+1|0)|0}mf(a)|0;u=c;return 1}b[h>>0]=1;a=m+16|0;n=f[a+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[m+4>>2];f[e>>2]=f[g>>2];Me(m,e,h,h+1|0)|0}m=f[i>>2]|0;a=f[m+80>>2]|0;if(a>>>0<256){if(!k){u=c;return 1}n=h+1|0;p=h+1|0;o=h+1|0;q=0;r=m;while(1){s=f[r+96>>2]|0;t=f[l>>2]|0;b[h>>0]=f[s+(q*12|0)>>2];v=t+16|0;w=f[v>>2]|0;x=f[v+4>>2]|0;if((x|0)>0|(x|0)==0&w>>>0>0){y=w;z=t;A=x}else{f[g>>2]=f[t+4>>2];f[e>>2]=f[g>>2];Me(t,e,h,o)|0;t=f[l>>2]|0;x=t+16|0;y=f[x>>2]|0;z=t;A=f[x+4>>2]|0}b[h>>0]=f[s+(q*12|0)+4>>2];if((A|0)>0|(A|0)==0&y>>>0>0){B=A;C=y;D=z}else{f[g>>2]=f[z+4>>2];f[e>>2]=f[g>>2];Me(z,e,h,p)|0;x=f[l>>2]|0;t=x+16|0;B=f[t+4>>2]|0;C=f[t>>2]|0;D=x}b[h>>0]=f[s+(q*12|0)+8>>2];if(!((B|0)>0|(B|0)==0&C>>>0>0)){f[g>>2]=f[D+4>>2];f[e>>2]=f[g>>2];Me(D,e,h,n)|0}s=q+1|0;if(s>>>0>=j>>>0)break;q=s;r=f[i>>2]|0}u=c;return 1}if(a>>>0<65536){if(!k){u=c;return 1}r=h+2|0;q=h+2|0;n=h+2|0;D=0;C=m;while(1){B=f[C+96>>2]|0;p=f[l>>2]|0;d[h>>1]=f[B+(D*12|0)>>2];z=p+16|0;y=f[z>>2]|0;A=f[z+4>>2]|0;if((A|0)>0|(A|0)==0&y>>>0>0){E=A;F=y;G=p}else{f[g>>2]=f[p+4>>2];f[e>>2]=f[g>>2];Me(p,e,h,n)|0;p=f[l>>2]|0;y=p+16|0;E=f[y+4>>2]|0;F=f[y>>2]|0;G=p}d[h>>1]=f[B+(D*12|0)+4>>2];if((E|0)>0|(E|0)==0&F>>>0>0){H=E;I=F;J=G}else{f[g>>2]=f[G+4>>2];f[e>>2]=f[g>>2];Me(G,e,h,q)|0;p=f[l>>2]|0;y=p+16|0;H=f[y+4>>2]|0;I=f[y>>2]|0;J=p}d[h>>1]=f[B+(D*12|0)+8>>2];if(!((H|0)>0|(H|0)==0&I>>>0>0)){f[g>>2]=f[J+4>>2];f[e>>2]=f[g>>2];Me(J,e,h,r)|0}B=D+1|0;if(B>>>0>=j>>>0)break;D=B;C=f[i>>2]|0}u=c;return 1}C=(k|0)!=0;if(a>>>0<2097152){if(C){K=0;L=m}else{u=c;return 1}while(1){a=f[L+96>>2]|0;ci(f[a+(K*12|0)>>2]|0,f[l>>2]|0)|0;ci(f[a+(K*12|0)+4>>2]|0,f[l>>2]|0)|0;ci(f[a+(K*12|0)+8>>2]|0,f[l>>2]|0)|0;a=K+1|0;if(a>>>0>=j>>>0)break;K=a;L=f[i>>2]|0}u=c;return 1}if(!C){u=c;return 1}C=0;L=m;while(1){m=(f[L+96>>2]|0)+(C*12|0)|0;K=f[l>>2]|0;a=K+16|0;k=f[a+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[a>>2]|0)>>>0>0)){f[g>>2]=f[K+4>>2];f[e>>2]=f[g>>2];Me(K,e,m,m+12|0)|0}m=C+1|0;if(m>>>0>=j>>>0)break;C=m;L=f[i>>2]|0}u=c;return 1}function Ac(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=Oa,w=Oa,x=Oa,y=Oa,z=0,A=0,B=0,C=Oa,D=Oa,E=Oa,F=Oa,G=Oa,H=Oa,I=Oa,K=Oa,M=Oa,N=Oa,O=Oa,P=0,Q=Oa,R=Oa,S=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+28|0;o=f[c>>2]|0;c=o+1|0;if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;c=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((p|0)==-1)q=-1;else q=f[(f[f[m>>2]>>2]|0)+(p<<2)>>2]|0;if((c|0)==-1){r=-1;s=q}else{r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0;s=q}}else{r=-1;s=-1}q=f[a+32>>2]|0;c=f[q>>2]|0;m=(f[q+4>>2]|0)-c>>2;if(m>>>0<=s>>>0)aq(q);p=c;c=f[p+(s<<2)>>2]|0;if(m>>>0<=r>>>0)aq(q);q=f[p+(r<<2)>>2]|0;r=(c|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r)t=c;else{if((e|0)>0){t=e+-1|0;break}p=a+52|0;if((f[p>>2]|0)<=0){u=g;return}m=f[a+48>>2]|0;s=0;do{f[m+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[p>>2]|0));u=g;return}while(0);r=a+52|0;p=f[r>>2]|0;s=X(p,t)|0;if((p|0)<=0){u=g;return}p=f[a+48>>2]|0;t=0;do{f[p+(t<<2)>>2]=f[d+(t+s<<2)>>2];t=t+1|0}while((t|0)<(f[r>>2]|0));u=g;return}r=a+52|0;t=f[r>>2]|0;s=X(t,c)|0;v=$(f[d+(s<<2)>>2]|0);w=$(f[d+(s+1<<2)>>2]|0);s=X(t,q)|0;x=$(f[d+(s<<2)>>2]|0);y=$(f[d+(s+1<<2)>>2]|0);if(!(x!=v|y!=w)){s=f[a+48>>2]|0;f[s>>2]=~~x;f[s+4>>2]=~~y;u=g;return}s=a+44|0;t=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+40|0;m=f[p>>2]|0;if(!(b[m+84>>0]|0))z=f[(f[m+68>>2]|0)+(t<<2)>>2]|0;else z=t;f[i>>2]=z;z=b[m+24>>0]|0;f[h>>2]=f[i>>2];mb(m,h,z,j)|0;z=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))A=f[(f[c+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[c+24>>0]|0;f[h>>2]=f[i>>2];mb(c,h,A,k)|0;A=f[(f[s>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))B=f[(f[q+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[q+24>>0]|0;f[h>>2]=f[i>>2];mb(q,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(x-v);x=$(y-w);y=$($(H*N)+v);v=$(H*O);H=$($(x*N)+w);w=$(x*O);O=$(y-w);x=$(H+v);N=$(y+w);w=$(H-v);j=X(f[r>>2]|0,e)|0;v=$(f[d+(j<<2)>>2]|0);H=$(f[d+(j+1<<2)>>2]|0);y=$(v-O);M=$(H-x);E=$(v-N);v=$(H-w);j=$($($(y*y)+$(0.0))+$(M*M))<$($($(E*E)+$(0.0))+$(v*v));d=a+56|0;e=a+60|0;r=f[e>>2]|0;k=f[a+64>>2]|0;l=(r|0)==(k<<5|0);if(j){do if(l)if((r+1|0)<0)aq(d);else{j=k<<6;B=r+32&-32;vi(d,r>>>0<1073741823?(j>>>0>>0?B:j):2147483647);P=f[e>>2]|0;break}else P=r;while(0);f[e>>2]=P+1;j=(f[d>>2]|0)+(P>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(P&31);Q=O;R=x}else{do if(l)if((r+1|0)<0)aq(d);else{P=k<<6;j=r+32&-32;vi(d,r>>>0<1073741823?(P>>>0>>0?j:P):2147483647);S=f[e>>2]|0;break}else S=r;while(0);f[e>>2]=S+1;e=(f[d>>2]|0)+(S>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(S&31));Q=N;R=w}S=~~+J(+(+Q+.5));e=f[a+48>>2]|0;f[e>>2]=S;S=~~+J(+(+R+.5));f[e+4>>2]=S;u=g;return}function Bc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=Oa,v=Oa,w=Oa,x=Oa,y=0,z=0,A=0,B=Oa,C=Oa,D=Oa,E=Oa,F=Oa,G=Oa,H=Oa,I=Oa,K=Oa,M=Oa,N=Oa,O=0,P=Oa,Q=Oa,R=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+28|0;o=f[c>>2]|0;c=o+1|0;do if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;if(!((o>>>0)%3|0)){q=o+2|0;r=p;break}else{q=o+-1|0;r=p;break}}else{q=-1;r=-1}while(0);o=f[(f[m>>2]|0)+28>>2]|0;m=f[o+(r<<2)>>2]|0;r=f[o+(q<<2)>>2]|0;q=f[a+32>>2]|0;o=f[q>>2]|0;c=(f[q+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)aq(q);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=r>>>0)aq(q);q=f[p+(r<<2)>>2]|0;r=(o|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r)s=o;else{if((e|0)>0){s=e+-1|0;break}p=a+52|0;if((f[p>>2]|0)<=0){u=g;return}c=f[a+48>>2]|0;m=0;do{f[c+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[p>>2]|0));u=g;return}while(0);r=a+52|0;p=f[r>>2]|0;m=X(p,s)|0;if((p|0)<=0){u=g;return}p=f[a+48>>2]|0;s=0;do{f[p+(s<<2)>>2]=f[d+(s+m<<2)>>2];s=s+1|0}while((s|0)<(f[r>>2]|0));u=g;return}r=a+52|0;s=f[r>>2]|0;m=X(s,o)|0;t=$(f[d+(m<<2)>>2]|0);v=$(f[d+(m+1<<2)>>2]|0);m=X(s,q)|0;w=$(f[d+(m<<2)>>2]|0);x=$(f[d+(m+1<<2)>>2]|0);if(!(w!=t|x!=v)){m=f[a+48>>2]|0;f[m>>2]=~~w;f[m+4>>2]=~~x;u=g;return}m=a+44|0;s=f[(f[m>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+40|0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))y=f[(f[c+68>>2]|0)+(s<<2)>>2]|0;else y=s;f[i>>2]=y;y=b[c+24>>0]|0;f[h>>2]=f[i>>2];mb(c,h,y,j)|0;y=f[(f[m>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[p>>2]|0;if(!(b[o+84>>0]|0))z=f[(f[o+68>>2]|0)+(y<<2)>>2]|0;else z=y;f[i>>2]=z;z=b[o+24>>0]|0;f[h>>2]=f[i>>2];mb(o,h,z,k)|0;z=f[(f[m>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))A=f[(f[q+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[q+24>>0]|0;f[h>>2]=f[i>>2];mb(q,h,A,l)|0;B=$(n[l>>2]);C=$(n[k>>2]);D=$(B-C);B=$(n[l+4>>2]);E=$(n[k+4>>2]);F=$(B-E);B=$(n[l+8>>2]);G=$(n[k+8>>2]);H=$(B-G);B=$($(n[j>>2])-C);C=$($(n[j+4>>2])-E);E=$($(n[j+8>>2])-G);G=$($($($(D*D)+$(0.0))+$(F*F))+$(H*H));if(G>$(0.0)){I=$($($($($(D*B)+$(0.0))+$(F*C))+$(H*E))/G);K=$(B-$(D*I));D=$(C-$(F*I));F=$(E-$(H*I));M=I;N=$(L($($($(F*F)+$($(D*D)+$($(K*K)+$(0.0))))/G)))}else{M=$(0.0);N=$(0.0)}G=$(w-t);w=$(x-v);x=$($(G*M)+t);t=$(G*N);G=$($(w*M)+v);v=$(w*N);N=$(x-v);w=$(G+t);M=$(x+v);v=$(G-t);j=X(f[r>>2]|0,e)|0;t=$(f[d+(j<<2)>>2]|0);G=$(f[d+(j+1<<2)>>2]|0);x=$(t-N);K=$(G-w);D=$(t-M);t=$(G-v);j=$($($(x*x)+$(0.0))+$(K*K))<$($($(D*D)+$(0.0))+$(t*t));d=a+56|0;e=a+60|0;r=f[e>>2]|0;k=f[a+64>>2]|0;l=(r|0)==(k<<5|0);if(j){do if(l)if((r+1|0)<0)aq(d);else{j=k<<6;A=r+32&-32;vi(d,r>>>0<1073741823?(j>>>0>>0?A:j):2147483647);O=f[e>>2]|0;break}else O=r;while(0);f[e>>2]=O+1;j=(f[d>>2]|0)+(O>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(O&31);P=N;Q=w}else{do if(l)if((r+1|0)<0)aq(d);else{O=k<<6;j=r+32&-32;vi(d,r>>>0<1073741823?(O>>>0>>0?j:O):2147483647);R=f[e>>2]|0;break}else R=r;while(0);f[e>>2]=R+1;e=(f[d>>2]|0)+(R>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(R&31));P=M;Q=v}R=~~+J(+(+P+.5));e=f[a+48>>2]|0;f[e>>2]=R;R=~~+J(+(+Q+.5));f[e+4>>2]=R;u=g;return}function Cc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=Oa,w=Oa,x=Oa,y=Oa,z=0,A=0,B=0,C=Oa,D=Oa,E=Oa,F=Oa,G=Oa,H=Oa,I=Oa,K=Oa,M=Oa,N=Oa,O=Oa,P=0,Q=Oa,R=Oa,S=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;c=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((p|0)==-1)q=-1;else q=f[(f[f[m>>2]>>2]|0)+(p<<2)>>2]|0;if((c|0)==-1){r=-1;s=q}else{r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0;s=q}}else{r=-1;s=-1}q=f[a+52>>2]|0;c=f[q>>2]|0;m=(f[q+4>>2]|0)-c>>2;if(m>>>0<=s>>>0)aq(q);p=c;c=f[p+(s<<2)>>2]|0;if(m>>>0<=r>>>0)aq(q);q=f[p+(r<<2)>>2]|0;r=(c|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r)t=c;else{if((e|0)>0){t=e+-1|0;break}p=a+72|0;if((f[p>>2]|0)<=0){u=g;return}m=f[a+68>>2]|0;s=0;do{f[m+(s<<2)>>2]=0;s=s+1|0}while((s|0)<(f[p>>2]|0));u=g;return}while(0);r=a+72|0;p=f[r>>2]|0;s=X(p,t)|0;if((p|0)<=0){u=g;return}p=f[a+68>>2]|0;t=0;do{f[p+(t<<2)>>2]=f[d+(t+s<<2)>>2];t=t+1|0}while((t|0)<(f[r>>2]|0));u=g;return}r=a+72|0;t=f[r>>2]|0;s=X(t,c)|0;v=$(f[d+(s<<2)>>2]|0);w=$(f[d+(s+1<<2)>>2]|0);s=X(t,q)|0;x=$(f[d+(s<<2)>>2]|0);y=$(f[d+(s+1<<2)>>2]|0);if(!(x!=v|y!=w)){s=f[a+68>>2]|0;f[s>>2]=~~x;f[s+4>>2]=~~y;u=g;return}s=a+64|0;t=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+60|0;m=f[p>>2]|0;if(!(b[m+84>>0]|0))z=f[(f[m+68>>2]|0)+(t<<2)>>2]|0;else z=t;f[i>>2]=z;z=b[m+24>>0]|0;f[h>>2]=f[i>>2];mb(m,h,z,j)|0;z=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))A=f[(f[c+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[c+24>>0]|0;f[h>>2]=f[i>>2];mb(c,h,A,k)|0;A=f[(f[s>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))B=f[(f[q+68>>2]|0)+(A<<2)>>2]|0;else B=A;f[i>>2]=B;B=b[q+24>>0]|0;f[h>>2]=f[i>>2];mb(q,h,B,l)|0;C=$(n[l>>2]);D=$(n[k>>2]);E=$(C-D);C=$(n[l+4>>2]);F=$(n[k+4>>2]);G=$(C-F);C=$(n[l+8>>2]);H=$(n[k+8>>2]);I=$(C-H);C=$($(n[j>>2])-D);D=$($(n[j+4>>2])-F);F=$($(n[j+8>>2])-H);H=$($($($(E*E)+$(0.0))+$(G*G))+$(I*I));if(H>$(0.0)){K=$($($($($(E*C)+$(0.0))+$(G*D))+$(I*F))/H);M=$(C-$(E*K));E=$(D-$(G*K));G=$(F-$(I*K));N=K;O=$(L($($($(G*G)+$($(E*E)+$($(M*M)+$(0.0))))/H)))}else{N=$(0.0);O=$(0.0)}H=$(x-v);x=$(y-w);y=$($(H*N)+v);v=$(H*O);H=$($(x*N)+w);w=$(x*O);O=$(y-w);x=$(H+v);N=$(y+w);w=$(H-v);j=X(f[r>>2]|0,e)|0;v=$(f[d+(j<<2)>>2]|0);H=$(f[d+(j+1<<2)>>2]|0);y=$(v-O);M=$(H-x);E=$(v-N);v=$(H-w);j=$($($(y*y)+$(0.0))+$(M*M))<$($($(E*E)+$(0.0))+$(v*v));d=a+76|0;e=a+80|0;r=f[e>>2]|0;k=f[a+84>>2]|0;l=(r|0)==(k<<5|0);if(j){do if(l)if((r+1|0)<0)aq(d);else{j=k<<6;B=r+32&-32;vi(d,r>>>0<1073741823?(j>>>0>>0?B:j):2147483647);P=f[e>>2]|0;break}else P=r;while(0);f[e>>2]=P+1;j=(f[d>>2]|0)+(P>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(P&31);Q=O;R=x}else{do if(l)if((r+1|0)<0)aq(d);else{P=k<<6;j=r+32&-32;vi(d,r>>>0<1073741823?(P>>>0>>0?j:P):2147483647);S=f[e>>2]|0;break}else S=r;while(0);f[e>>2]=S+1;e=(f[d>>2]|0)+(S>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(S&31));Q=N;R=w}S=~~+J(+(+Q+.5));e=f[a+68>>2]|0;f[e>>2]=S;S=~~+J(+(+R+.5));f[e+4>>2]=S;u=g;return}function Dc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=Oa,v=Oa,w=Oa,x=Oa,y=0,z=0,A=0,B=Oa,C=Oa,D=Oa,E=Oa,F=Oa,G=Oa,H=Oa,I=Oa,K=Oa,M=Oa,N=Oa,O=0,P=Oa,Q=Oa,R=0;g=u;u=u+48|0;h=g+40|0;i=g+36|0;j=g+24|0;k=g+12|0;l=g;m=a+48|0;o=f[c>>2]|0;c=o+1|0;do if((o|0)!=-1){p=((c>>>0)%3|0|0)==0?o+-2|0:c;if(!((o>>>0)%3|0)){q=o+2|0;r=p;break}else{q=o+-1|0;r=p;break}}else{q=-1;r=-1}while(0);o=f[(f[m>>2]|0)+28>>2]|0;m=f[o+(r<<2)>>2]|0;r=f[o+(q<<2)>>2]|0;q=f[a+52>>2]|0;o=f[q>>2]|0;c=(f[q+4>>2]|0)-o>>2;if(c>>>0<=m>>>0)aq(q);p=o;o=f[p+(m<<2)>>2]|0;if(c>>>0<=r>>>0)aq(q);q=f[p+(r<<2)>>2]|0;r=(o|0)<(e|0);if(!(r&(q|0)<(e|0))){do if(r)s=o;else{if((e|0)>0){s=e+-1|0;break}p=a+72|0;if((f[p>>2]|0)<=0){u=g;return}c=f[a+68>>2]|0;m=0;do{f[c+(m<<2)>>2]=0;m=m+1|0}while((m|0)<(f[p>>2]|0));u=g;return}while(0);r=a+72|0;p=f[r>>2]|0;m=X(p,s)|0;if((p|0)<=0){u=g;return}p=f[a+68>>2]|0;s=0;do{f[p+(s<<2)>>2]=f[d+(s+m<<2)>>2];s=s+1|0}while((s|0)<(f[r>>2]|0));u=g;return}r=a+72|0;s=f[r>>2]|0;m=X(s,o)|0;t=$(f[d+(m<<2)>>2]|0);v=$(f[d+(m+1<<2)>>2]|0);m=X(s,q)|0;w=$(f[d+(m<<2)>>2]|0);x=$(f[d+(m+1<<2)>>2]|0);if(!(w!=t|x!=v)){m=f[a+68>>2]|0;f[m>>2]=~~w;f[m+4>>2]=~~x;u=g;return}m=a+64|0;s=f[(f[m>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;p=a+60|0;c=f[p>>2]|0;if(!(b[c+84>>0]|0))y=f[(f[c+68>>2]|0)+(s<<2)>>2]|0;else y=s;f[i>>2]=y;y=b[c+24>>0]|0;f[h>>2]=f[i>>2];mb(c,h,y,j)|0;y=f[(f[m>>2]|0)+(o<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;o=f[p>>2]|0;if(!(b[o+84>>0]|0))z=f[(f[o+68>>2]|0)+(y<<2)>>2]|0;else z=y;f[i>>2]=z;z=b[o+24>>0]|0;f[h>>2]=f[i>>2];mb(o,h,z,k)|0;z=f[(f[m>>2]|0)+(q<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;q=f[p>>2]|0;if(!(b[q+84>>0]|0))A=f[(f[q+68>>2]|0)+(z<<2)>>2]|0;else A=z;f[i>>2]=A;A=b[q+24>>0]|0;f[h>>2]=f[i>>2];mb(q,h,A,l)|0;B=$(n[l>>2]);C=$(n[k>>2]);D=$(B-C);B=$(n[l+4>>2]);E=$(n[k+4>>2]);F=$(B-E);B=$(n[l+8>>2]);G=$(n[k+8>>2]);H=$(B-G);B=$($(n[j>>2])-C);C=$($(n[j+4>>2])-E);E=$($(n[j+8>>2])-G);G=$($($($(D*D)+$(0.0))+$(F*F))+$(H*H));if(G>$(0.0)){I=$($($($($(D*B)+$(0.0))+$(F*C))+$(H*E))/G);K=$(B-$(D*I));D=$(C-$(F*I));F=$(E-$(H*I));M=I;N=$(L($($($(F*F)+$($(D*D)+$($(K*K)+$(0.0))))/G)))}else{M=$(0.0);N=$(0.0)}G=$(w-t);w=$(x-v);x=$($(G*M)+t);t=$(G*N);G=$($(w*M)+v);v=$(w*N);N=$(x-v);w=$(G+t);M=$(x+v);v=$(G-t);j=X(f[r>>2]|0,e)|0;t=$(f[d+(j<<2)>>2]|0);G=$(f[d+(j+1<<2)>>2]|0);x=$(t-N);K=$(G-w);D=$(t-M);t=$(G-v);j=$($($(x*x)+$(0.0))+$(K*K))<$($($(D*D)+$(0.0))+$(t*t));d=a+76|0;e=a+80|0;r=f[e>>2]|0;k=f[a+84>>2]|0;l=(r|0)==(k<<5|0);if(j){do if(l)if((r+1|0)<0)aq(d);else{j=k<<6;A=r+32&-32;vi(d,r>>>0<1073741823?(j>>>0>>0?A:j):2147483647);O=f[e>>2]|0;break}else O=r;while(0);f[e>>2]=O+1;j=(f[d>>2]|0)+(O>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(O&31);P=N;Q=w}else{do if(l)if((r+1|0)<0)aq(d);else{O=k<<6;j=r+32&-32;vi(d,r>>>0<1073741823?(O>>>0>>0?j:O):2147483647);R=f[e>>2]|0;break}else R=r;while(0);f[e>>2]=R+1;e=(f[d>>2]|0)+(R>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(R&31));P=M;Q=v}R=~~+J(+(+P+.5));e=f[a+68>>2]|0;f[e>>2]=R;R=~~+J(+(+Q+.5));f[e+4>>2]=R;u=g;return}function Ec(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=Oa,F=Oa,G=Oa,H=0,I=0,J=0,K=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;e=i;j=i;while(1){k=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;e=(X(k>>>24^k,1540483477)|0)^(X(e,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else d=d+4|0}d=i+-4|0;j=d&-4;l=d-j|0;m=g+(j+4)|0;o=e}else{l=i;m=g;o=i}switch(l|0){case 3:{p=h[m+2>>0]<<16^o;q=6;break}case 2:{p=o;q=6;break}case 1:{r=o;q=7;break}default:s=o}if((q|0)==6){r=h[m+1>>0]<<8^p;q=7}if((q|0)==7)s=X(r^h[m>>0],1540483477)|0;m=X(s>>>13^s,1540483477)|0;s=m>>>15^m;m=a+4|0;r=f[m>>2]|0;p=(r|0)==0;a:do if(!p){o=r+-1|0;l=(o&r|0)==0;if(!l)if(s>>>0>>0)t=s;else t=(s>>>0)%(r>>>0)|0;else t=s&o;e=f[(f[a>>2]|0)+(t<<2)>>2]|0;if((e|0)!=0?(j=f[e>>2]|0,(j|0)!=0):0){e=(i|0)==0;if(l){if(e){l=j;while(1){d=f[l+4>>2]|0;if(!((d|0)==(s|0)|(d&o|0)==(t|0))){u=t;break a}d=b[l+8+11>>0]|0;if(!((d<<24>>24<0?f[l+12>>2]|0:d&255)|0)){v=l;break}l=f[l>>2]|0;if(!l){u=t;break a}}w=v+20|0;return w|0}else x=j;b:while(1){l=f[x+4>>2]|0;if(!((l|0)==(s|0)|(l&o|0)==(t|0))){u=t;break a}l=x+8|0;d=b[l+11>>0]|0;k=d<<24>>24<0;y=d&255;do if(((k?f[x+12>>2]|0:y)|0)==(i|0)){d=f[l>>2]|0;if(k)if(!(Vk(d,g,i)|0)){v=x;q=63;break b}else break;if((b[g>>0]|0)==(d&255)<<24>>24){d=l;z=y;A=g;do{z=z+-1|0;d=d+1|0;if(!z){v=x;q=63;break b}A=A+1|0}while((b[d>>0]|0)==(b[A>>0]|0))}}while(0);x=f[x>>2]|0;if(!x){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}if(e){o=j;while(1){y=f[o+4>>2]|0;if((y|0)!=(s|0)){if(y>>>0>>0)B=y;else B=(y>>>0)%(r>>>0)|0;if((B|0)!=(t|0)){u=t;break a}}y=b[o+8+11>>0]|0;if(!((y<<24>>24<0?f[o+12>>2]|0:y&255)|0)){v=o;break}o=f[o>>2]|0;if(!o){u=t;break a}}w=v+20|0;return w|0}else C=j;c:while(1){o=f[C+4>>2]|0;if((o|0)!=(s|0)){if(o>>>0>>0)D=o;else D=(o>>>0)%(r>>>0)|0;if((D|0)!=(t|0)){u=t;break a}}o=C+8|0;e=b[o+11>>0]|0;y=e<<24>>24<0;l=e&255;do if(((y?f[C+12>>2]|0:l)|0)==(i|0)){e=f[o>>2]|0;if(y)if(!(Vk(e,g,i)|0)){v=C;q=63;break c}else break;if((b[g>>0]|0)==(e&255)<<24>>24){e=o;k=l;A=g;do{k=k+-1|0;e=e+1|0;if(!k){v=C;q=63;break c}A=A+1|0}while((b[e>>0]|0)==(b[A>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){u=t;break a}}if((q|0)==63){w=v+20|0;return w|0}}else u=t}else u=0;while(0);t=ln(24)|0;pj(t+8|0,c);f[t+20>>2]=0;f[t+4>>2]=s;f[t>>2]=0;c=a+12|0;E=$(((f[c>>2]|0)+1|0)>>>0);F=$(r>>>0);G=$(n[a+16>>2]);do if(p|$(G*F)>>0<3|(r+-1&r|0)!=0)&1;g=~~$(W($(E/G)))>>>0;ei(a,C>>>0>>0?g:C);C=f[m>>2]|0;g=C+-1|0;if(!(g&C)){H=C;I=g&s;break}if(s>>>0>>0){H=C;I=s}else{H=C;I=(s>>>0)%(C>>>0)|0}}else{H=r;I=u}while(0);u=(f[a>>2]|0)+(I<<2)|0;I=f[u>>2]|0;if(!I){r=a+8|0;f[t>>2]=f[r>>2];f[r>>2]=t;f[u>>2]=r;r=f[t>>2]|0;if(r|0){u=f[r+4>>2]|0;r=H+-1|0;if(r&H)if(u>>>0>>0)J=u;else J=(u>>>0)%(H>>>0)|0;else J=u&r;K=(f[a>>2]|0)+(J<<2)|0;q=61}}else{f[t>>2]=f[I>>2];K=I;q=61}if((q|0)==61)f[K>>2]=t;f[c>>2]=(f[c>>2]|0)+1;v=t;w=v+20|0;return w|0}function Fc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0,Q=0.0,R=0.0,S=0,T=0.0,U=0,V=0,W=0,X=0.0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0.0,da=0,ea=0.0;g=a+4|0;i=f[g>>2]|0;j=a+100|0;if(i>>>0<(f[j>>2]|0)>>>0){f[g>>2]=i+1;k=h[i>>0]|0;l=0}else{k=Si(a)|0;l=0}a:while(1){switch(k|0){case 46:{m=8;break a;break}case 48:break;default:{n=0;o=0;p=1.0;q=0.0;r=0;s=k;t=l;u=0;v=0;w=0;x=0;break a}}i=f[g>>2]|0;if(i>>>0<(f[j>>2]|0)>>>0){f[g>>2]=i+1;k=h[i>>0]|0;l=1;continue}else{k=Si(a)|0;l=1;continue}}if((m|0)==8){k=f[g>>2]|0;if(k>>>0<(f[j>>2]|0)>>>0){f[g>>2]=k+1;y=h[k>>0]|0}else y=Si(a)|0;if((y|0)==48){k=0;i=0;while(1){z=f[g>>2]|0;if(z>>>0<(f[j>>2]|0)>>>0){f[g>>2]=z+1;A=h[z>>0]|0}else A=Si(a)|0;z=Vn(k|0,i|0,-1,-1)|0;B=I;if((A|0)==48){k=z;i=B}else{n=1;o=0;p=1.0;q=0.0;r=0;s=A;t=1;u=0;v=0;w=z;x=B;break}}}else{n=1;o=0;p=1.0;q=0.0;r=0;s=y;t=l;u=0;v=0;w=0;x=0}}while(1){l=s+-48|0;y=s|32;if(l>>>0>=10){A=(s|0)==46;if(!(A|(y+-97|0)>>>0<6)){C=s;break}if(A)if(!n){D=1;E=o;F=p;G=q;H=r;J=t;K=v;L=u;M=v;N=u}else{C=46;break}else m=20}else m=20;if((m|0)==20){m=0;A=(s|0)>57?y+-87|0:l;do if(!((u|0)<0|(u|0)==0&v>>>0<8))if((u|0)<0|(u|0)==0&v>>>0<14){O=p*.0625;P=o;Q=O;R=q+O*+(A|0);S=r;break}else{l=(o|0)!=0|(A|0)==0;P=l?o:1;Q=p;R=l?q:q+p*.5;S=r;break}else{P=o;Q=p;R=q;S=A+(r<<4)|0}while(0);A=Vn(v|0,u|0,1,0)|0;D=n;E=P;F=Q;G=R;H=S;J=1;K=w;L=x;M=A;N=I}A=f[g>>2]|0;if(A>>>0<(f[j>>2]|0)>>>0){f[g>>2]=A+1;n=D;o=E;p=F;q=G;r=H;s=h[A>>0]|0;t=J;u=N;v=M;w=K;x=L;continue}else{n=D;o=E;p=F;q=G;r=H;s=Si(a)|0;t=J;u=N;v=M;w=K;x=L;continue}}do if(!t){L=(f[j>>2]|0)==0;if(!L)f[g>>2]=(f[g>>2]|0)+-1;if(e){if(!L)f[g>>2]=(f[g>>2]|0)+-1;if(!((n|0)==0|L))f[g>>2]=(f[g>>2]|0)+-1}else Ym(a,0);T=+(d|0)*0.0}else{L=(n|0)==0;K=L?v:w;M=L?u:x;if((u|0)<0|(u|0)==0&v>>>0<8){L=r;N=v;J=u;while(1){s=L<<4;H=N;N=Vn(N|0,J|0,1,0)|0;if(!((J|0)<0|(J|0)==0&H>>>0<7)){U=s;break}else{L=s;J=I}}}else U=r;if((C|32|0)==112){J=Re(a,e)|0;L=I;if((J|0)==0&(L|0)==-2147483648){if(!e){Ym(a,0);T=0.0;break}if(!(f[j>>2]|0)){V=0;W=0}else{f[g>>2]=(f[g>>2]|0)+-1;V=0;W=0}}else{V=J;W=L}}else if(!(f[j>>2]|0)){V=0;W=0}else{f[g>>2]=(f[g>>2]|0)+-1;V=0;W=0}L=Tn(K|0,M|0,2)|0;J=Vn(L|0,I|0,-32,-1)|0;L=Vn(J|0,I|0,V|0,W|0)|0;J=I;if(!U){T=+(d|0)*0.0;break}N=0-c|0;s=((N|0)<0)<<31>>31;if((J|0)>(s|0)|(J|0)==(s|0)&L>>>0>N>>>0){N=Vq()|0;f[N>>2]=34;T=+(d|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}N=c+-106|0;s=((N|0)<0)<<31>>31;if((J|0)<(s|0)|(J|0)==(s|0)&L>>>0>>0){N=Vq()|0;f[N>>2]=34;T=+(d|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((U|0)>-1){G=q;N=U;s=L;H=J;while(1){E=!(G>=.5);o=N<<1|(E^1)&1;F=G+(E?G:G+-1.0);E=Vn(s|0,H|0,-1,-1)|0;D=I;if((o|0)>-1){G=F;N=o;s=E;H=D}else{X=F;Y=o;Z=E;_=D;break}}}else{X=q;Y=U;Z=L;_=J}H=((b|0)<0)<<31>>31;s=Xn(32,0,c|0,((c|0)<0)<<31>>31|0)|0;N=Vn(s|0,I|0,Z|0,_|0)|0;s=I;if((s|0)<(H|0)|(s|0)==(H|0)&N>>>0>>0)if((N|0)>0){$=N;m=59}else{aa=0;ba=84;m=61}else{$=b;m=59}if((m|0)==59)if(($|0)<53){aa=$;ba=84-$|0;m=61}else{ca=0.0;da=$;ea=+(d|0)}if((m|0)==61){G=+(d|0);ca=+rq(+bk(1.0,ba),G);da=aa;ea=G}N=(Y&1|0)==0&(X!=0.0&(da|0)<32);G=(N?0.0:X)*ea+(ca+ea*+((Y+(N&1)|0)>>>0))-ca;if(!(G!=0.0)){N=Vq()|0;f[N>>2]=34}T=+sq(G,Z)}while(0);return +T}function Gc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;g=u;u=u+16|0;h=g+4|0;i=g;if(!(Gh(a,d)|0)){j=0;u=g;return j|0}d=a+84|0;k=f[d>>2]|0;l=a+88|0;m=f[l>>2]|0;if((m|0)!=(k|0))f[l>>2]=m+(~((m+-4-k|0)>>>2)<<2);f[d>>2]=0;f[l>>2]=0;f[a+92>>2]=0;if(k|0)Oq(k);k=a+72|0;l=f[k>>2]|0;d=a+76|0;if((f[d>>2]|0)!=(l|0))f[d>>2]=l;f[k>>2]=0;f[d>>2]=0;f[a+80>>2]=0;if(l|0)Oq(l);l=a+64|0;d=f[l>>2]|0;if((f[d+4>>2]|0)!=(f[d>>2]|0)){k=a+12|0;m=e+84|0;n=e+68|0;o=c+96|0;p=a+24|0;q=0;r=d;do{f[i>>2]=(q>>>0)/3|0;f[h>>2]=f[i>>2];d=_j(r,h)|0;r=f[l>>2]|0;do if(!d){s=f[(f[r+12>>2]|0)+(q<<2)>>2]|0;if((s|0)==-1){t=(f[a>>2]|0)+(q>>>5<<2)|0;f[t>>2]=f[t>>2]|1<<(q&31);t=q+1|0;v=((t>>>0)%3|0|0)==0?q+-2|0:t;if((v|0)==-1)w=-1;else w=f[(f[r>>2]|0)+(v<<2)>>2]|0;v=(f[k>>2]|0)+(w>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(w&31);v=(((q>>>0)%3|0|0)==0?2:-1)+q|0;if((v|0)==-1)x=-1;else x=f[(f[r>>2]|0)+(v<<2)>>2]|0;v=(f[k>>2]|0)+(x>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(x&31);break}if(s>>>0>=q>>>0){v=q+1|0;t=((v>>>0)%3|0|0)==0?q+-2|0:v;y=s+(((s>>>0)%3|0|0)==0?2:-1)|0;z=(t|0)==-1;if(!(b[m>>0]|0)){if(z)A=-1;else A=f[(f[o>>2]|0)+(((t|0)/3|0)*12|0)+(((t|0)%3|0)<<2)>>2]|0;B=(y|0)==-1;if(B)C=-1;else C=f[(f[o>>2]|0)+(((y|0)/3|0)*12|0)+(((y|0)%3|0)<<2)>>2]|0;D=f[n>>2]|0;if((f[D+(A<<2)>>2]|0)==(f[D+(C<<2)>>2]|0)){E=t+1|0;if(z)F=-1;else F=((E>>>0)%3|0|0)==0?t+-2|0:E;do if(!B)if(!((y>>>0)%3|0)){G=y+2|0;break}else{G=y+-1|0;break}else G=-1;while(0);if((F|0)==-1)H=-1;else H=f[(f[o>>2]|0)+(((F|0)/3|0)*12|0)+(((F|0)%3|0)<<2)>>2]|0;if((G|0)==-1)I=-1;else I=f[(f[o>>2]|0)+(((G|0)/3|0)*12|0)+(((G|0)%3|0)<<2)>>2]|0;if((f[D+(H<<2)>>2]|0)==(f[D+(I<<2)>>2]|0))break}}else{if(z)J=-1;else J=f[(f[o>>2]|0)+(((t|0)/3|0)*12|0)+(((t|0)%3|0)<<2)>>2]|0;B=(y|0)==-1;if(B)K=-1;else K=f[(f[o>>2]|0)+(((y|0)/3|0)*12|0)+(((y|0)%3|0)<<2)>>2]|0;if((J|0)==(K|0)){E=t+1|0;if(z)L=-1;else L=((E>>>0)%3|0|0)==0?t+-2|0:E;do if(!B)if(!((y>>>0)%3|0)){M=y+2|0;break}else{M=y+-1|0;break}else M=-1;while(0);if((L|0)==-1)N=-1;else N=f[(f[o>>2]|0)+(((L|0)/3|0)*12|0)+(((L|0)%3|0)<<2)>>2]|0;if((M|0)==-1)O=-1;else O=f[(f[o>>2]|0)+(((M|0)/3|0)*12|0)+(((M|0)%3|0)<<2)>>2]|0;if((N|0)==(O|0))break}}b[p>>0]=0;y=f[a>>2]|0;B=y+(q>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(q&31);B=y+(s>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(s&31);B=((v>>>0)%3|0|0)==0?q+-2|0:v;if((B|0)==-1)P=-1;else P=f[(f[r>>2]|0)+(B<<2)>>2]|0;B=(f[k>>2]|0)+(P>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(P&31);B=(((q>>>0)%3|0|0)==0?2:-1)+q|0;if((B|0)==-1)Q=-1;else Q=f[(f[r>>2]|0)+(B<<2)>>2]|0;B=(f[k>>2]|0)+(Q>>>5<<2)|0;f[B>>2]=f[B>>2]|1<<(Q&31);B=s+1|0;y=((B>>>0)%3|0|0)==0?s+-2|0:B;if((y|0)==-1)R=-1;else R=f[(f[r>>2]|0)+(y<<2)>>2]|0;y=(f[k>>2]|0)+(R>>>5<<2)|0;f[y>>2]=f[y>>2]|1<<(R&31);y=(((s>>>0)%3|0|0)==0?2:-1)+s|0;if((y|0)==-1)S=-1;else S=f[(f[r>>2]|0)+(y<<2)>>2]|0;y=(f[k>>2]|0)+(S>>>5<<2)|0;f[y>>2]=f[y>>2]|1<<(S&31)}}while(0);q=q+1|0}while(q>>>0<(f[r+4>>2]|0)-(f[r>>2]|0)>>2>>>0)}if((c|0)!=0&(e|0)!=0){Qc(a,c,e);j=1;u=g;return j|0}else{md(a,0,0);j=1;u=g;return j|0}return 0}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;d=u;u=u+32|0;e=d+12|0;g=d+8|0;h=d+4|0;i=d;j=a+8|0;a:do if(f[j>>2]|0?(k=f[a>>2]|0,l=a+4|0,f[a>>2]=l,f[(f[l>>2]|0)+8>>2]=0,f[l>>2]=0,f[j>>2]=0,m=f[k+4>>2]|0,n=(m|0)==0?k:m,n|0):0){m=a+4|0;k=n;n=f[b>>2]|0;while(1){if((n|0)==(f[c>>2]|0))break;o=k+16|0;f[o>>2]=f[n+16>>2];if((k|0)!=(n|0)){f[h>>2]=f[n+20>>2];f[i>>2]=n+24;f[g>>2]=f[h>>2];f[e>>2]=f[i>>2];Oc(k+20|0,g,e)}p=k+8|0;q=f[p>>2]|0;do if(q){r=f[q>>2]|0;if((r|0)==(k|0)){f[q>>2]=0;s=f[q+4>>2]|0;if(!s){t=q;break}else v=s;while(1){s=f[v>>2]|0;if(s|0){v=s;continue}s=f[v+4>>2]|0;if(!s)break;else v=s}t=v;break}else{f[q+4>>2]=0;if(!r){t=q;break}else w=r;while(1){s=f[w>>2]|0;if(s|0){w=s;continue}s=f[w+4>>2]|0;if(!s)break;else w=s}t=w;break}}else t=0;while(0);q=f[l>>2]|0;do if(q){r=f[o>>2]|0;s=q;while(1){if((r|0)<(f[s+16>>2]|0)){x=f[s>>2]|0;if(!x){y=22;break}else z=x}else{A=s+4|0;x=f[A>>2]|0;if(!x){y=25;break}else z=x}s=z}if((y|0)==22){y=0;B=s;C=s;break}else if((y|0)==25){y=0;B=s;C=A;break}}else{B=l;C=l}while(0);f[k>>2]=0;f[k+4>>2]=0;f[p>>2]=B;f[C>>2]=k;q=f[f[a>>2]>>2]|0;if(!q)D=k;else{f[a>>2]=q;D=f[C>>2]|0}Oe(f[m>>2]|0,D);f[j>>2]=(f[j>>2]|0)+1;q=f[n+4>>2]|0;if(!q){o=n+8|0;r=f[o>>2]|0;if((f[r>>2]|0)==(n|0))E=r;else{r=o;do{o=f[r>>2]|0;r=o+8|0;x=f[r>>2]|0}while((f[x>>2]|0)!=(o|0));E=x}}else{r=q;while(1){p=f[r>>2]|0;if(!p)break;else r=p}E=r}f[b>>2]=E;if(!t)break a;else{k=t;n=E}}n=f[k+8>>2]|0;if(!n)F=k;else{m=n;while(1){n=f[m+8>>2]|0;if(!n)break;else m=n}F=m}Oj(a,F)}while(0);F=f[b>>2]|0;E=f[c>>2]|0;if((F|0)==(E|0)){u=d;return}c=a+4|0;t=a+4|0;D=F;while(1){Kg(e,a,D+16|0);F=f[c>>2]|0;do if(F){C=f[e>>2]|0;B=f[C+16>>2]|0;A=F;while(1){if((B|0)<(f[A+16>>2]|0)){z=f[A>>2]|0;if(!z){y=43;break}else G=z}else{H=A+4|0;z=f[H>>2]|0;if(!z){y=46;break}else G=z}A=G}if((y|0)==43){y=0;I=A;J=A;K=C;break}else if((y|0)==46){y=0;I=A;J=H;K=C;break}}else{I=c;J=c;K=f[e>>2]|0}while(0);f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=I;f[J>>2]=K;F=f[f[a>>2]>>2]|0;if(!F)L=K;else{f[a>>2]=F;L=f[J>>2]|0}Oe(f[t>>2]|0,L);f[j>>2]=(f[j>>2]|0)+1;F=f[D+4>>2]|0;if(!F){m=D+8|0;B=f[m>>2]|0;if((f[B>>2]|0)==(D|0))M=B;else{B=m;do{m=f[B>>2]|0;B=m+8|0;r=f[B>>2]|0}while((f[r>>2]|0)!=(m|0));M=r}}else{B=F;while(1){r=f[B>>2]|0;if(!r)break;else B=r}M=B}f[b>>2]=M;if((M|0)==(E|0))break;else D=M}u=d;return}function Ic(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=f[a+28>>2]|0;k=f[a+32>>2]|0;l=e>>>0>1073741823?-1:e<<2;m=Lq(l)|0;sj(m|0,0,l|0)|0;n=Lq(l)|0;sj(n|0,0,l|0)|0;l=a+36|0;o=f[l>>2]|0;p=f[o+4>>2]|0;q=f[o>>2]|0;r=p-q|0;a:do if((r|0)>4){s=r>>2;t=(e|0)>0;v=a+8|0;w=h+4|0;x=i+4|0;y=d+4|0;z=m+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=j+12|0;E=e<<2;F=s+-1|0;if(p-q>>2>>>0>F>>>0){G=s;H=F;I=q}else{J=o;aq(J)}while(1){F=f[I+(H<<2)>>2]|0;if(t)sj(m|0,0,E|0)|0;if((F|0)!=-1){s=f[D>>2]|0;K=0;L=F;while(1){M=f[s+(L<<2)>>2]|0;if((M|0)!=-1){N=f[j>>2]|0;O=f[k>>2]|0;P=f[O+(f[N+(M<<2)>>2]<<2)>>2]|0;Q=M+1|0;R=((Q>>>0)%3|0|0)==0?M+-2|0:Q;if((R|0)==-1)S=-1;else S=f[N+(R<<2)>>2]|0;R=f[O+(S<<2)>>2]|0;Q=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((Q|0)==-1)T=-1;else T=f[N+(Q<<2)>>2]|0;Q=f[O+(T<<2)>>2]|0;if((P|0)<(H|0)&(R|0)<(H|0)&(Q|0)<(H|0)){O=X(P,e)|0;P=X(R,e)|0;R=X(Q,e)|0;if(t){Q=0;do{f[n+(Q<<2)>>2]=(f[b+(Q+R<<2)>>2]|0)+(f[b+(Q+P<<2)>>2]|0)-(f[b+(Q+O<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0));if(t){Q=0;do{O=m+(Q<<2)|0;f[O>>2]=(f[O>>2]|0)+(f[n+(Q<<2)>>2]|0);Q=Q+1|0}while((Q|0)!=(e|0))}}U=K+1|0}else U=K}else U=K;Q=(((L>>>0)%3|0|0)==0?2:-1)+L|0;do if((Q|0)!=-1?(O=f[s+(Q<<2)>>2]|0,(O|0)!=-1):0)if(!((O>>>0)%3|0)){V=O+2|0;break}else{V=O+-1|0;break}else V=-1;while(0);L=(V|0)==(F|0)?-1:V;if((L|0)==-1)break;else K=U}K=X(H,e)|0;if(!U){W=K;Y=30}else{if(t){L=0;do{F=m+(L<<2)|0;f[F>>2]=(f[F>>2]|0)/(U|0)|0;L=L+1|0}while((L|0)!=(e|0))}L=b+(K<<2)|0;F=c+(K<<2)|0;s=f[L+4>>2]|0;Q=f[m>>2]|0;O=f[z>>2]|0;f[h>>2]=f[L>>2];f[A>>2]=s;f[i>>2]=Q;f[B>>2]=O;Od(d,v,h,i);f[F>>2]=f[d>>2];f[F+4>>2]=f[C>>2]}}else{W=X(H,e)|0;Y=30}if((Y|0)==30){Y=0;F=b+(W<<2)|0;O=b+((X(G+-2|0,e)|0)<<2)|0;Q=c+(W<<2)|0;s=f[F+4>>2]|0;L=f[O>>2]|0;P=f[O+4>>2]|0;f[h>>2]=f[F>>2];f[w>>2]=s;f[i>>2]=L;f[x>>2]=P;Od(d,v,h,i);f[Q>>2]=f[d>>2];f[Q+4>>2]=f[y>>2]}if((G|0)<=2)break a;Q=f[l>>2]|0;I=f[Q>>2]|0;P=H+-1|0;if((f[Q+4>>2]|0)-I>>2>>>0<=P>>>0){J=Q;break}else{Q=H;H=P;G=Q}}aq(J)}while(0);if((e|0)<=0){Z=a+8|0;_=b+4|0;$=f[b>>2]|0;aa=f[_>>2]|0;ba=m+4|0;ca=f[m>>2]|0;da=f[ba>>2]|0;f[h>>2]=$;ea=h+4|0;f[ea>>2]=aa;f[i>>2]=ca;fa=i+4|0;f[fa>>2]=da;Od(d,Z,h,i);ga=f[d>>2]|0;f[c>>2]=ga;ha=d+4|0;ia=f[ha>>2]|0;ja=c+4|0;f[ja>>2]=ia;Mq(n);Mq(m);u=g;return 1}sj(m|0,0,e<<2|0)|0;Z=a+8|0;_=b+4|0;$=f[b>>2]|0;aa=f[_>>2]|0;ba=m+4|0;ca=f[m>>2]|0;da=f[ba>>2]|0;f[h>>2]=$;ea=h+4|0;f[ea>>2]=aa;f[i>>2]=ca;fa=i+4|0;f[fa>>2]=da;Od(d,Z,h,i);ga=f[d>>2]|0;f[c>>2]=ga;ha=d+4|0;ia=f[ha>>2]|0;ja=c+4|0;f[ja>>2]=ia;Mq(n);Mq(m);u=g;return 1}function Jc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;g=a+8|0;Mh(g,b,d,e);d=e>>>0>1073741823?-1:e<<2;h=Lq(d)|0;sj(h|0,0,d|0)|0;d=f[a+48>>2]|0;i=f[a+56>>2]|0;j=f[i>>2]|0;k=(f[i+4>>2]|0)-j|0;l=k>>2;a:do if((k|0)>4){m=f[a+52>>2]|0;n=a+16|0;o=a+32|0;p=a+12|0;q=a+28|0;r=a+20|0;s=a+24|0;t=d+12|0;u=(e|0)>0;v=j;w=l;while(1){x=w;w=w+-1|0;if(l>>>0<=w>>>0)break;y=f[v+(w<<2)>>2]|0;z=X(w,e)|0;if((y|0)!=-1?(A=f[(f[t>>2]|0)+(y<<2)>>2]|0,(A|0)!=-1):0){y=f[d>>2]|0;B=f[m>>2]|0;C=f[B+(f[y+(A<<2)>>2]<<2)>>2]|0;D=A+1|0;E=((D>>>0)%3|0|0)==0?A+-2|0:D;if((E|0)==-1)F=-1;else F=f[y+(E<<2)>>2]|0;E=f[B+(F<<2)>>2]|0;D=(((A>>>0)%3|0|0)==0?2:-1)+A|0;if((D|0)==-1)G=-1;else G=f[y+(D<<2)>>2]|0;D=f[B+(G<<2)>>2]|0;if((C|0)<(w|0)&(E|0)<(w|0)&(D|0)<(w|0)){B=X(C,e)|0;C=X(E,e)|0;E=X(D,e)|0;if(u){D=0;do{f[h+(D<<2)>>2]=(f[b+(D+E<<2)>>2]|0)+(f[b+(D+C<<2)>>2]|0)-(f[b+(D+B<<2)>>2]|0);D=D+1|0}while((D|0)!=(e|0))}D=b+(z<<2)|0;B=c+(z<<2)|0;C=f[g>>2]|0;if((C|0)>0){E=0;y=h;A=C;while(1){if((A|0)>0){C=0;do{H=f[y+(C<<2)>>2]|0;I=f[n>>2]|0;if((H|0)>(I|0)){J=f[o>>2]|0;f[J+(C<<2)>>2]=I;K=J}else{J=f[p>>2]|0;I=f[o>>2]|0;f[I+(C<<2)>>2]=(H|0)<(J|0)?J:H;K=I}C=C+1|0}while((C|0)<(f[g>>2]|0));L=K}else L=f[o>>2]|0;C=(f[D+(E<<2)>>2]|0)-(f[L+(E<<2)>>2]|0)|0;I=B+(E<<2)|0;f[I>>2]=C;if((C|0)>=(f[q>>2]|0)){if((C|0)>(f[s>>2]|0)){M=C-(f[r>>2]|0)|0;N=42}}else{M=(f[r>>2]|0)+C|0;N=42}if((N|0)==42){N=0;f[I>>2]=M}E=E+1|0;A=f[g>>2]|0;if((E|0)>=(A|0))break;else y=L}}}else N=16}else N=16;if((N|0)==16?(N=0,y=b+(z<<2)|0,A=c+(z<<2)|0,E=f[g>>2]|0,(E|0)>0):0){B=0;D=b+((X(x+-2|0,e)|0)<<2)|0;I=E;while(1){if((I|0)>0){E=0;do{C=f[D+(E<<2)>>2]|0;H=f[n>>2]|0;if((C|0)>(H|0)){J=f[o>>2]|0;f[J+(E<<2)>>2]=H;O=J}else{J=f[p>>2]|0;H=f[o>>2]|0;f[H+(E<<2)>>2]=(C|0)<(J|0)?J:C;O=H}E=E+1|0}while((E|0)<(f[g>>2]|0));P=O}else P=f[o>>2]|0;E=(f[y+(B<<2)>>2]|0)-(f[P+(B<<2)>>2]|0)|0;H=A+(B<<2)|0;f[H>>2]=E;if((E|0)>=(f[q>>2]|0)){if((E|0)>(f[s>>2]|0)){Q=E-(f[r>>2]|0)|0;N=29}}else{Q=(f[r>>2]|0)+E|0;N=29}if((N|0)==29){N=0;f[H>>2]=Q}B=B+1|0;I=f[g>>2]|0;if((B|0)>=(I|0))break;else D=P}}if((x|0)<=2)break a}aq(i)}while(0);if((e|0)>0)sj(h|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){Mq(h);return 1}i=a+16|0;P=a+32|0;Q=a+12|0;O=a+28|0;L=a+20|0;M=a+24|0;a=0;K=h;G=e;while(1){if((G|0)>0){e=0;do{F=f[K+(e<<2)>>2]|0;d=f[i>>2]|0;if((F|0)>(d|0)){l=f[P>>2]|0;f[l+(e<<2)>>2]=d;R=l}else{l=f[Q>>2]|0;d=f[P>>2]|0;f[d+(e<<2)>>2]=(F|0)<(l|0)?l:F;R=d}e=e+1|0}while((e|0)<(f[g>>2]|0));S=R}else S=f[P>>2]|0;e=(f[b+(a<<2)>>2]|0)-(f[S+(a<<2)>>2]|0)|0;d=c+(a<<2)|0;f[d>>2]=e;if((e|0)>=(f[O>>2]|0)){if((e|0)>(f[M>>2]|0)){T=e-(f[L>>2]|0)|0;N=56}}else{T=(f[L>>2]|0)+e|0;N=56}if((N|0)==56){N=0;f[d>>2]=T}a=a+1|0;G=f[g>>2]|0;if((a|0)>=(G|0))break;else K=S}Mq(h);return 1}function Kc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=f[a+28>>2]|0;k=f[a+32>>2]|0;l=e>>>0>1073741823?-1:e<<2;m=Lq(l)|0;sj(m|0,0,l|0)|0;n=Lq(l)|0;sj(n|0,0,l|0)|0;l=a+36|0;o=f[l>>2]|0;p=f[o+4>>2]|0;q=f[o>>2]|0;r=p-q|0;a:do if((r|0)>4){s=r>>2;t=(e|0)>0;v=a+8|0;w=h+4|0;x=i+4|0;y=d+4|0;z=m+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=j+64|0;E=j+28|0;F=e<<2;G=s+-1|0;if(p-q>>2>>>0>G>>>0){H=s;I=G;J=q}else{K=o;aq(K)}while(1){G=f[J+(I<<2)>>2]|0;if(t)sj(m|0,0,F|0)|0;if((G|0)!=-1){s=f[j>>2]|0;L=0;M=G;while(1){if(((f[s+(M>>>5<<2)>>2]&1<<(M&31)|0)==0?(N=f[(f[(f[D>>2]|0)+12>>2]|0)+(M<<2)>>2]|0,(N|0)!=-1):0)?(O=f[E>>2]|0,P=f[k>>2]|0,Q=f[P+(f[O+(N<<2)>>2]<<2)>>2]|0,R=N+1|0,S=f[P+(f[O+((((R>>>0)%3|0|0)==0?N+-2|0:R)<<2)>>2]<<2)>>2]|0,R=f[P+(f[O+((((N>>>0)%3|0|0)==0?2:-1)+N<<2)>>2]<<2)>>2]|0,(Q|0)<(I|0)&(S|0)<(I|0)&(R|0)<(I|0)):0){N=X(Q,e)|0;Q=X(S,e)|0;S=X(R,e)|0;if(t){R=0;do{f[n+(R<<2)>>2]=(f[b+(R+S<<2)>>2]|0)+(f[b+(R+Q<<2)>>2]|0)-(f[b+(R+N<<2)>>2]|0);R=R+1|0}while((R|0)!=(e|0));if(t){R=0;do{N=m+(R<<2)|0;f[N>>2]=(f[N>>2]|0)+(f[n+(R<<2)>>2]|0);R=R+1|0}while((R|0)!=(e|0))}}T=L+1|0}else T=L;R=(((M>>>0)%3|0|0)==0?2:-1)+M|0;do if(((R|0)!=-1?(f[s+(R>>>5<<2)>>2]&1<<(R&31)|0)==0:0)?(N=f[(f[(f[D>>2]|0)+12>>2]|0)+(R<<2)>>2]|0,(N|0)!=-1):0)if(!((N>>>0)%3|0)){U=N+2|0;break}else{U=N+-1|0;break}else U=-1;while(0);M=(U|0)==(G|0)?-1:U;if((M|0)==-1)break;else L=T}L=X(I,e)|0;if(!T){V=L;W=28}else{if(t){M=0;do{G=m+(M<<2)|0;f[G>>2]=(f[G>>2]|0)/(T|0)|0;M=M+1|0}while((M|0)!=(e|0))}M=b+(L<<2)|0;G=c+(L<<2)|0;s=f[M+4>>2]|0;R=f[m>>2]|0;N=f[z>>2]|0;f[h>>2]=f[M>>2];f[A>>2]=s;f[i>>2]=R;f[B>>2]=N;Od(d,v,h,i);f[G>>2]=f[d>>2];f[G+4>>2]=f[C>>2]}}else{V=X(I,e)|0;W=28}if((W|0)==28){W=0;G=b+(V<<2)|0;N=b+((X(H+-2|0,e)|0)<<2)|0;R=c+(V<<2)|0;s=f[G+4>>2]|0;M=f[N>>2]|0;Q=f[N+4>>2]|0;f[h>>2]=f[G>>2];f[w>>2]=s;f[i>>2]=M;f[x>>2]=Q;Od(d,v,h,i);f[R>>2]=f[d>>2];f[R+4>>2]=f[y>>2]}if((H|0)<=2)break a;R=f[l>>2]|0;J=f[R>>2]|0;Q=I+-1|0;if((f[R+4>>2]|0)-J>>2>>>0<=Q>>>0){K=R;break}else{R=I;I=Q;H=R}}aq(K)}while(0);if((e|0)<=0){Y=a+8|0;Z=b+4|0;_=f[b>>2]|0;$=f[Z>>2]|0;aa=m+4|0;ba=f[m>>2]|0;ca=f[aa>>2]|0;f[h>>2]=_;da=h+4|0;f[da>>2]=$;f[i>>2]=ba;ea=i+4|0;f[ea>>2]=ca;Od(d,Y,h,i);fa=f[d>>2]|0;f[c>>2]=fa;ga=d+4|0;ha=f[ga>>2]|0;ia=c+4|0;f[ia>>2]=ha;Mq(n);Mq(m);u=g;return 1}sj(m|0,0,e<<2|0)|0;Y=a+8|0;Z=b+4|0;_=f[b>>2]|0;$=f[Z>>2]|0;aa=m+4|0;ba=f[m>>2]|0;ca=f[aa>>2]|0;f[h>>2]=_;da=h+4|0;f[da>>2]=$;f[i>>2]=ba;ea=i+4|0;f[ea>>2]=ca;Od(d,Y,h,i);fa=f[d>>2]|0;f[c>>2]=fa;ga=d+4|0;ha=f[ga>>2]|0;ia=c+4|0;f[ia>>2]=ha;Mq(n);Mq(m);u=g;return 1}function Lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;g=a+8|0;Mh(g,b,d,e);d=e>>>0>1073741823?-1:e<<2;h=Lq(d)|0;sj(h|0,0,d|0)|0;d=f[a+48>>2]|0;i=f[a+56>>2]|0;j=f[i>>2]|0;k=(f[i+4>>2]|0)-j|0;l=k>>2;a:do if((k|0)>4){m=f[a+52>>2]|0;n=a+16|0;o=a+32|0;p=a+12|0;q=a+28|0;r=a+20|0;s=a+24|0;t=d+64|0;u=d+28|0;v=(e|0)>0;w=j;x=l;while(1){y=x;x=x+-1|0;if(l>>>0<=x>>>0)break;z=f[w+(x<<2)>>2]|0;A=X(x,e)|0;if((((z|0)!=-1?(f[(f[d>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(B=f[(f[(f[t>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,(B|0)!=-1):0)?(z=f[u>>2]|0,C=f[m>>2]|0,D=f[C+(f[z+(B<<2)>>2]<<2)>>2]|0,E=B+1|0,F=f[C+(f[z+((((E>>>0)%3|0|0)==0?B+-2|0:E)<<2)>>2]<<2)>>2]|0,E=f[C+(f[z+((((B>>>0)%3|0|0)==0?2:-1)+B<<2)>>2]<<2)>>2]|0,(D|0)<(x|0)&(F|0)<(x|0)&(E|0)<(x|0)):0){B=X(D,e)|0;D=X(F,e)|0;F=X(E,e)|0;if(v){E=0;do{f[h+(E<<2)>>2]=(f[b+(E+F<<2)>>2]|0)+(f[b+(E+D<<2)>>2]|0)-(f[b+(E+B<<2)>>2]|0);E=E+1|0}while((E|0)!=(e|0))}E=b+(A<<2)|0;B=c+(A<<2)|0;D=f[g>>2]|0;if((D|0)>0){F=0;z=h;C=D;while(1){if((C|0)>0){D=0;do{G=f[z+(D<<2)>>2]|0;H=f[n>>2]|0;if((G|0)>(H|0)){I=f[o>>2]|0;f[I+(D<<2)>>2]=H;J=I}else{I=f[p>>2]|0;H=f[o>>2]|0;f[H+(D<<2)>>2]=(G|0)<(I|0)?I:G;J=H}D=D+1|0}while((D|0)<(f[g>>2]|0));K=J}else K=f[o>>2]|0;D=(f[E+(F<<2)>>2]|0)-(f[K+(F<<2)>>2]|0)|0;H=B+(F<<2)|0;f[H>>2]=D;if((D|0)>=(f[q>>2]|0)){if((D|0)>(f[s>>2]|0)){L=D-(f[r>>2]|0)|0;M=39}}else{L=(f[r>>2]|0)+D|0;M=39}if((M|0)==39){M=0;f[H>>2]=L}F=F+1|0;C=f[g>>2]|0;if((F|0)>=(C|0))break;else z=K}}}else M=13;if((M|0)==13?(M=0,z=b+(A<<2)|0,C=c+(A<<2)|0,F=f[g>>2]|0,(F|0)>0):0){B=0;E=b+((X(y+-2|0,e)|0)<<2)|0;H=F;while(1){if((H|0)>0){F=0;do{D=f[E+(F<<2)>>2]|0;G=f[n>>2]|0;if((D|0)>(G|0)){I=f[o>>2]|0;f[I+(F<<2)>>2]=G;N=I}else{I=f[p>>2]|0;G=f[o>>2]|0;f[G+(F<<2)>>2]=(D|0)<(I|0)?I:D;N=G}F=F+1|0}while((F|0)<(f[g>>2]|0));O=N}else O=f[o>>2]|0;F=(f[z+(B<<2)>>2]|0)-(f[O+(B<<2)>>2]|0)|0;G=C+(B<<2)|0;f[G>>2]=F;if((F|0)>=(f[q>>2]|0)){if((F|0)>(f[s>>2]|0)){P=F-(f[r>>2]|0)|0;M=26}}else{P=(f[r>>2]|0)+F|0;M=26}if((M|0)==26){M=0;f[G>>2]=P}B=B+1|0;H=f[g>>2]|0;if((B|0)>=(H|0))break;else E=O}}if((y|0)<=2)break a}aq(i)}while(0);if((e|0)>0)sj(h|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){Mq(h);return 1}i=a+16|0;O=a+32|0;P=a+12|0;N=a+28|0;K=a+20|0;L=a+24|0;a=0;J=h;d=e;while(1){if((d|0)>0){e=0;do{l=f[J+(e<<2)>>2]|0;j=f[i>>2]|0;if((l|0)>(j|0)){k=f[O>>2]|0;f[k+(e<<2)>>2]=j;Q=k}else{k=f[P>>2]|0;j=f[O>>2]|0;f[j+(e<<2)>>2]=(l|0)<(k|0)?k:l;Q=j}e=e+1|0}while((e|0)<(f[g>>2]|0));R=Q}else R=f[O>>2]|0;e=(f[b+(a<<2)>>2]|0)-(f[R+(a<<2)>>2]|0)|0;j=c+(a<<2)|0;f[j>>2]=e;if((e|0)>=(f[N>>2]|0)){if((e|0)>(f[L>>2]|0)){S=e-(f[K>>2]|0)|0;M=53}}else{S=(f[K>>2]|0)+e|0;M=53}if((M|0)==53){M=0;f[j>>2]=S}a=a+1|0;d=f[g>>2]|0;if((a|0)>=(d|0))break;else J=R}Mq(h);return 1}function Mc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;h=u;u=u+48|0;i=h+28|0;j=h+24|0;k=h;l=h+12|0;m=h+40|0;if((c|0)<0){n=0;u=h;return n|0}if(!c){n=1;u=h;return n|0}o=(d|0)>1;p=o?d:1;f[k>>2]=0;d=k+4|0;f[d>>2]=0;f[k+8>>2]=0;gk(k,c);q=k+8|0;if(o){o=0;r=0;while(1){s=1;t=f[a+(r<<2)>>2]|0;do{v=f[a+(s+r<<2)>>2]|0;t=t>>>0>>0?v:t;s=s+1|0}while((s|0)!=(p|0));s=(_(t|0)|0)^31;v=t>>>0>o>>>0?t:o;w=(t|0)==0?1:s+1|0;f[i>>2]=w;s=f[d>>2]|0;if(s>>>0<(f[q>>2]|0)>>>0){f[s>>2]=w;f[d>>2]=s+4}else Ri(k,i);r=r+p|0;if((r|0)>=(c|0)){x=v;break}else o=v}}else{o=0;r=0;while(1){v=f[a+(o<<2)>>2]|0;s=(_(v|0)|0)^31;w=v>>>0>r>>>0?v:r;y=(v|0)==0?1:s+1|0;f[i>>2]=y;s=f[d>>2]|0;if(s>>>0<(f[q>>2]|0)>>>0){f[s>>2]=y;f[d>>2]=s+4}else Ri(k,i);o=o+p|0;if((o|0)>=(c|0)){x=w;break}else r=w}}f[l>>2]=0;r=l+4|0;f[r>>2]=0;f[l+8>>2]=0;o=f[k>>2]|0;q=(f[d>>2]|0)-o|0;w=q>>2;if(w){if(w>>>0>1073741823)aq(l);s=ln(q)|0;f[r>>2]=s;f[l>>2]=s;f[l+8>>2]=s+(w<<2);w=s;if((q|0)>0){y=s+(q>>>2<<2)|0;kh(s|0,o|0,q|0)|0;f[r>>2]=y;q=y-w>>2;if((y|0)==(s|0)){z=q;A=s;B=0;C=0}else{y=0;o=0;v=0;while(1){D=Vn(o|0,v|0,f[s+(y<<2)>>2]|0,0)|0;E=I;y=y+1|0;if(y>>>0>=q>>>0){z=q;A=s;B=D;C=E;break}else{o=D;v=E}}}}else{F=w;G=18}}else{F=0;G=18}if((G|0)==18){z=0;A=F;B=0;C=0}F=Jg(A,z,32,i)|0;z=I;A=f[i>>2]<<3;w=Tn(A|0,((A|0)<0)<<31>>31|0,1)|0;A=I;v=un(B|0,C|0,p|0,0)|0;C=Vn(F|0,z|0,v|0,I|0)|0;v=Vn(C|0,I|0,w|0,A|0)|0;A=I;w=f[l>>2]|0;if(w|0){l=f[r>>2]|0;if((l|0)!=(w|0))f[r>>2]=l+(~((l+-4-w|0)>>>2)<<2);Oq(w)}w=Jg(a,c,x,i)|0;l=f[i>>2]|0;r=((x-l|0)/64|0)+l<<3;C=l<<3;z=Vn(w|0,I|0,C|0,((C|0)<0)<<31>>31|0)|0;C=Vn(z|0,I|0,r|0,((r|0)<0)<<31>>31|0)|0;r=I;z=(_((x>>>0>1?x:1)|0)|0)^30;if(e){f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;w=ln(32)|0;f[i>>2]=w;f[i+8>>2]=-2147483616;f[i+4>>2]=22;F=w;B=15964;o=F+22|0;do{b[F>>0]=b[B>>0]|0;F=F+1|0;B=B+1|0}while((F|0)<(o|0));b[w+22>>0]=0;w=(Jh(e,i)|0)==0;if((b[i+11>>0]|0)<0)Oq(f[i>>2]|0);if(!w){f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;w=ln(32)|0;f[i>>2]=w;f[i+8>>2]=-2147483616;f[i+4>>2]=22;F=w;B=15964;o=F+22|0;do{b[F>>0]=b[B>>0]|0;F=F+1|0;B=B+1|0}while((F|0)<(o|0));b[w+22>>0]=0;w=Mk(e,i)|0;if((b[i+11>>0]|0)<0)Oq(f[i>>2]|0);H=w}else G=32}else G=32;if((G|0)==32)H=z>>>0<18&((A|0)>(r|0)|(A|0)==(r|0)&v>>>0>=C>>>0)&1;b[m>>0]=H;C=g+16|0;v=f[C+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[C>>2]|0)>>>0>0)){f[j>>2]=f[g+4>>2];f[i>>2]=f[j>>2];Me(g,i,m,m+1|0)|0}switch(H|0){case 0:{J=td(a,c,p,k,g)|0;break}case 1:{J=Tc(a,c,x,l,e,g)|0;break}default:J=0}g=f[k>>2]|0;if(g|0){k=f[d>>2]|0;if((k|0)!=(g|0))f[d>>2]=k+(~((k+-4-g|0)>>>2)<<2);Oq(g)}n=J;u=h;return n|0}function Nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if((b|0)<0)return;c=a+12|0;d=f[c>>2]|0;e=f[a+8>>2]|0;g=e;h=d;if(d-e>>2>>>0<=b>>>0)return;e=g+(b<<2)|0;d=f[(f[e>>2]|0)+56>>2]|0;i=f[(f[g+(b<<2)>>2]|0)+60>>2]|0;g=e+4|0;if((g|0)!=(h|0)){j=g;g=e;do{k=f[j>>2]|0;f[j>>2]=0;l=f[g>>2]|0;f[g>>2]=k;if(l|0){k=l+88|0;m=f[k>>2]|0;f[k>>2]=0;if(m|0){k=f[m+8>>2]|0;if(k|0){n=m+12|0;if((f[n>>2]|0)!=(k|0))f[n>>2]=k;Oq(k)}Oq(m)}m=f[l+68>>2]|0;if(m|0){k=l+72|0;n=f[k>>2]|0;if((n|0)!=(m|0))f[k>>2]=n+(~((n+-4-m|0)>>>2)<<2);Oq(m)}m=l+64|0;n=f[m>>2]|0;f[m>>2]=0;if(n|0){m=f[n>>2]|0;if(m|0){k=n+4|0;if((f[k>>2]|0)!=(m|0))f[k>>2]=m;Oq(m)}Oq(n)}Oq(l)}j=j+4|0;g=g+4|0}while((j|0)!=(h|0));j=f[c>>2]|0;if((j|0)!=(g|0)){o=g;p=j;q=24}}else{o=e;p=h;q=24}if((q|0)==24){q=p;do{p=q+-4|0;f[c>>2]=p;h=f[p>>2]|0;f[p>>2]=0;if(h|0){p=h+88|0;e=f[p>>2]|0;f[p>>2]=0;if(e|0){p=f[e+8>>2]|0;if(p|0){j=e+12|0;if((f[j>>2]|0)!=(p|0))f[j>>2]=p;Oq(p)}Oq(e)}e=f[h+68>>2]|0;if(e|0){p=h+72|0;j=f[p>>2]|0;if((j|0)!=(e|0))f[p>>2]=j+(~((j+-4-e|0)>>>2)<<2);Oq(e)}e=h+64|0;j=f[e>>2]|0;f[e>>2]=0;if(j|0){e=f[j>>2]|0;if(e|0){p=j+4|0;if((f[p>>2]|0)!=(e|0))f[p>>2]=e;Oq(e)}Oq(j)}Oq(h)}q=f[c>>2]|0}while((q|0)!=(o|0))}o=f[a+4>>2]|0;a:do if(o|0){q=o+44|0;c=f[q>>2]|0;h=f[o+40>>2]|0;while(1){if((h|0)==(c|0))break a;r=h+4|0;if((f[(f[h>>2]|0)+40>>2]|0)==(i|0))break;else h=r}if((r|0)!=(c|0)){j=r;e=h;do{p=f[j>>2]|0;f[j>>2]=0;g=f[e>>2]|0;f[e>>2]=p;if(g|0){bj(g);Oq(g)}j=j+4|0;e=e+4|0}while((j|0)!=(c|0));j=f[q>>2]|0;if((j|0)==(e|0))break;else{s=e;t=j}}else{s=h;t=c}j=t;do{g=j+-4|0;f[q>>2]=g;p=f[g>>2]|0;f[g>>2]=0;if(p|0){bj(p);Oq(p)}j=f[q>>2]|0}while((j|0)!=(s|0))}while(0);b:do if((d|0)<5){s=f[a+20+(d*12|0)>>2]|0;t=a+20+(d*12|0)+4|0;r=f[t>>2]|0;i=r;c:do if((s|0)==(r|0))u=s;else{o=s;while(1){if((f[o>>2]|0)==(b|0)){u=o;break c}o=o+4|0;if((o|0)==(r|0))break b}}while(0);if((u|0)!=(r|0)){s=u+4|0;o=i-s|0;j=o>>2;if(!j)v=r;else{im(u|0,s|0,o|0)|0;v=f[t>>2]|0}o=u+(j<<2)|0;if((v|0)!=(o|0))f[t>>2]=v+(~((v+-4-o|0)>>>2)<<2)}}while(0);v=f[a+24>>2]|0;u=f[a+20>>2]|0;d=u;if((v|0)!=(u|0)){o=v-u>>2;u=0;do{v=d+(u<<2)|0;j=f[v>>2]|0;if((j|0)>(b|0))f[v>>2]=j+-1;u=u+1|0}while(u>>>0>>0)}o=f[a+36>>2]|0;u=f[a+32>>2]|0;d=u;if((o|0)!=(u|0)){j=o-u>>2;u=0;do{o=d+(u<<2)|0;v=f[o>>2]|0;if((v|0)>(b|0))f[o>>2]=v+-1;u=u+1|0}while(u>>>0>>0)}j=f[a+48>>2]|0;u=f[a+44>>2]|0;d=u;if((j|0)!=(u|0)){v=j-u>>2;u=0;do{j=d+(u<<2)|0;o=f[j>>2]|0;if((o|0)>(b|0))f[j>>2]=o+-1;u=u+1|0}while(u>>>0>>0)}v=f[a+60>>2]|0;u=f[a+56>>2]|0;d=u;if((v|0)!=(u|0)){o=v-u>>2;u=0;do{v=d+(u<<2)|0;j=f[v>>2]|0;if((j|0)>(b|0))f[v>>2]=j+-1;u=u+1|0}while(u>>>0>>0)}o=f[a+72>>2]|0;u=f[a+68>>2]|0;a=u;if((o|0)==(u|0))return;d=o-u>>2;u=0;do{o=a+(u<<2)|0;j=f[o>>2]|0;if((j|0)>(b|0))f[o>>2]=j+-1;u=u+1|0}while(u>>>0>>0);return}function Oc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;e=a+8|0;a:do if(f[e>>2]|0?(g=f[a>>2]|0,h=a+4|0,f[a>>2]=h,f[(f[h>>2]|0)+8>>2]=0,f[h>>2]=0,f[e>>2]=0,i=f[g+4>>2]|0,j=(i|0)==0?g:i,j|0):0){i=a+4|0;g=j;j=f[c>>2]|0;while(1){if((j|0)==(f[d>>2]|0))break;k=g+16|0;am(k,j+16|0)|0;am(g+28|0,j+28|0)|0;l=g+8|0;m=f[l>>2]|0;do if(m){n=f[m>>2]|0;if((n|0)==(g|0)){f[m>>2]=0;o=f[m+4>>2]|0;if(!o){p=m;break}else q=o;while(1){o=f[q>>2]|0;if(o|0){q=o;continue}o=f[q+4>>2]|0;if(!o)break;else q=o}p=q;break}else{f[m+4>>2]=0;if(!n){p=m;break}else r=n;while(1){o=f[r>>2]|0;if(o|0){r=o;continue}o=f[r+4>>2]|0;if(!o)break;else r=o}p=r;break}}else p=0;while(0);m=f[h>>2]|0;do if(m){n=b[k+11>>0]|0;o=n<<24>>24<0;s=o?f[g+20>>2]|0:n&255;n=o?f[k>>2]|0:k;o=m;while(1){t=o+16|0;u=b[t+11>>0]|0;v=u<<24>>24<0;w=v?f[o+20>>2]|0:u&255;u=w>>>0>>0?w:s;if((u|0)!=0?(x=Vk(n,v?f[t>>2]|0:t,u)|0,(x|0)!=0):0)if((x|0)<0)y=22;else y=24;else if(s>>>0>>0)y=22;else y=24;if((y|0)==22){y=0;w=f[o>>2]|0;if(!w){y=23;break}else z=w}else if((y|0)==24){y=0;A=o+4|0;w=f[A>>2]|0;if(!w){y=26;break}else z=w}o=z}if((y|0)==23){y=0;B=o;C=o;break}else if((y|0)==26){y=0;B=A;C=o;break}}else{B=h;C=h}while(0);f[g>>2]=0;f[g+4>>2]=0;f[l>>2]=C;f[B>>2]=g;m=f[f[a>>2]>>2]|0;if(!m)D=g;else{f[a>>2]=m;D=f[B>>2]|0}Oe(f[i>>2]|0,D);f[e>>2]=(f[e>>2]|0)+1;m=f[j+4>>2]|0;if(!m){k=j+8|0;s=f[k>>2]|0;if((f[s>>2]|0)==(j|0))E=s;else{s=k;do{k=f[s>>2]|0;s=k+8|0;n=f[s>>2]|0}while((f[n>>2]|0)!=(k|0));E=n}}else{s=m;while(1){l=f[s>>2]|0;if(!l)break;else s=l}E=s}f[c>>2]=E;if(!p)break a;else{g=p;j=E}}j=f[g+8>>2]|0;if(!j)F=g;else{i=j;while(1){j=f[i+8>>2]|0;if(!j)break;else i=j}F=i}Ej(a,F)}while(0);F=f[c>>2]|0;E=f[d>>2]|0;if((F|0)==(E|0))return;else G=F;while(1){bf(a,G+16|0)|0;F=f[G+4>>2]|0;if(!F){d=G+8|0;p=f[d>>2]|0;if((f[p>>2]|0)==(G|0))H=p;else{p=d;do{d=f[p>>2]|0;p=d+8|0;e=f[p>>2]|0}while((f[e>>2]|0)!=(d|0));H=e}}else{p=F;while(1){i=f[p>>2]|0;if(!i)break;else p=i}H=p}f[c>>2]=H;if((H|0)==(E|0))break;else G=H}return}function Pc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=u;u=u+32|0;c=b+4|0;d=b;e=a+16|0;g=f[e>>2]|0;if(g>>>0>112){f[e>>2]=g+-113;g=a+4|0;e=f[g>>2]|0;h=f[e>>2]|0;i=e+4|0;f[g>>2]=i;e=a+8|0;j=f[e>>2]|0;k=a+12|0;l=f[k>>2]|0;m=l;do if((j|0)==(l|0)){n=f[a>>2]|0;o=n;if(i>>>0>n>>>0){p=i;q=((p-o>>2)+1|0)/-2|0;r=i+(q<<2)|0;s=j-p|0;p=s>>2;if(!p)t=i;else{im(r|0,i|0,s|0)|0;t=f[g>>2]|0}s=r+(p<<2)|0;f[e>>2]=s;f[g>>2]=t+(q<<2);v=s;break}s=m-o>>1;o=(s|0)==0?1:s;if(o>>>0>1073741823){s=ra(8)|0;Oo(s,16035);f[s>>2]=7256;va(s|0,1112,110)}s=ln(o<<2)|0;q=s;p=s+(o>>>2<<2)|0;r=p;w=s+(o<<2)|0;if((i|0)==(j|0)){x=r;y=n}else{n=p;p=r;o=i;do{f[n>>2]=f[o>>2];n=p+4|0;p=n;o=o+4|0}while((o|0)!=(j|0));x=p;y=f[a>>2]|0}f[a>>2]=q;f[g>>2]=r;f[e>>2]=x;f[k>>2]=w;if(!y)v=x;else{Oq(y);v=f[e>>2]|0}}else v=j;while(0);f[v>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}e=a+8|0;h=f[e>>2]|0;v=a+4|0;j=h-(f[v>>2]|0)|0;y=a+12|0;x=f[y>>2]|0;k=x-(f[a>>2]|0)|0;if(j>>>0>=k>>>0){g=k>>1;k=(g|0)==0?1:g;f[c+12>>2]=0;f[c+16>>2]=a+12;if(k>>>0>1073741823){g=ra(8)|0;Oo(g,16035);f[g>>2]=7256;va(g|0,1112,110)}g=ln(k<<2)|0;f[c>>2]=g;i=g+(j>>2<<2)|0;j=c+8|0;f[j>>2]=i;m=c+4|0;f[m>>2]=i;i=c+12|0;f[i>>2]=g+(k<<2);k=ln(4068)|0;f[d>>2]=k;Ag(c,d);d=f[e>>2]|0;while(1){z=f[v>>2]|0;if((d|0)==(z|0))break;k=d+-4|0;ug(c,k);d=k}k=z;z=f[a>>2]|0;f[a>>2]=f[c>>2];f[c>>2]=z;f[v>>2]=f[m>>2];f[m>>2]=k;m=f[e>>2]|0;f[e>>2]=f[j>>2];f[j>>2]=m;g=f[y>>2]|0;f[y>>2]=f[i>>2];f[i>>2]=g;g=m;if((d|0)!=(g|0))f[j>>2]=g+(~((g+-4-k|0)>>>2)<<2);if(z|0)Oq(z);u=b;return}if((x|0)!=(h|0)){h=ln(4068)|0;f[c>>2]=h;Ag(a,c);u=b;return}h=ln(4068)|0;f[c>>2]=h;ug(a,c);c=f[v>>2]|0;h=f[c>>2]|0;x=c+4|0;f[v>>2]=x;c=f[e>>2]|0;z=f[y>>2]|0;k=z;do if((c|0)==(z|0)){g=f[a>>2]|0;j=g;if(x>>>0>g>>>0){d=x;m=((d-j>>2)+1|0)/-2|0;i=x+(m<<2)|0;t=c-d|0;d=t>>2;if(!d)A=x;else{im(i|0,x|0,t|0)|0;A=f[v>>2]|0}t=i+(d<<2)|0;f[e>>2]=t;f[v>>2]=A+(m<<2);B=t;break}t=k-j>>1;j=(t|0)==0?1:t;if(j>>>0>1073741823){t=ra(8)|0;Oo(t,16035);f[t>>2]=7256;va(t|0,1112,110)}t=ln(j<<2)|0;m=t;d=t+(j>>>2<<2)|0;i=d;l=t+(j<<2)|0;if((x|0)==(c|0)){C=i;D=g}else{g=d;d=i;j=x;do{f[g>>2]=f[j>>2];g=d+4|0;d=g;j=j+4|0}while((j|0)!=(c|0));C=d;D=f[a>>2]|0}f[a>>2]=m;f[v>>2]=i;f[e>>2]=C;f[y>>2]=l;if(!D)B=C;else{Oq(D);B=f[e>>2]|0}}else B=c;while(0);f[B>>2]=h;f[e>>2]=(f[e>>2]|0)+4;u=b;return}function Qc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;e=u;u=u+16|0;g=e+8|0;h=e+4|0;i=e;j=a+64|0;k=f[j>>2]|0;if((f[k+28>>2]|0)==(f[k+24>>2]|0)){u=e;return}l=c+96|0;c=a+52|0;m=d+84|0;n=d+68|0;d=a+56|0;o=a+60|0;p=a+12|0;q=a+28|0;r=a+40|0;s=a+44|0;t=a+48|0;v=0;w=0;x=k;while(1){k=f[(f[x+24>>2]|0)+(w<<2)>>2]|0;if((k|0)==-1){y=v;z=x}else{A=v+1|0;B=f[(f[l>>2]|0)+(((k|0)/3|0)*12|0)+(((k|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))C=f[(f[n>>2]|0)+(B<<2)>>2]|0;else C=B;f[g>>2]=C;B=f[d>>2]|0;if(B>>>0<(f[o>>2]|0)>>>0){f[B>>2]=C;f[d>>2]=B+4}else Ri(c,g);f[g>>2]=k;f[h>>2]=0;a:do if(!(f[(f[p>>2]|0)+(w>>>5<<2)>>2]&1<<(w&31)))D=k;else{B=k+1|0;E=((B>>>0)%3|0|0)==0?k+-2|0:B;if(((E|0)!=-1?(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(B=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,E=B+1|0,(B|0)!=-1):0){F=((E>>>0)%3|0|0)==0?B+-2|0:E;f[h>>2]=F;if((F|0)==-1){D=k;break}else G=F;while(1){f[g>>2]=G;F=G+1|0;E=((F>>>0)%3|0|0)==0?G+-2|0:F;if((E|0)==-1)break;if(f[(f[a>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)break;F=f[(f[(f[j>>2]|0)+12>>2]|0)+(E<<2)>>2]|0;E=F+1|0;if((F|0)==-1)break;B=((E>>>0)%3|0|0)==0?F+-2|0:E;f[h>>2]=B;if((B|0)==-1){D=G;break a}else G=B}f[h>>2]=-1;D=G;break}f[h>>2]=-1;D=k}while(0);f[(f[q>>2]|0)+(D<<2)>>2]=v;k=f[s>>2]|0;if((k|0)==(f[t>>2]|0))Ri(r,g);else{f[k>>2]=f[g>>2];f[s>>2]=k+4}k=f[j>>2]|0;B=f[g>>2]|0;b:do if(((B|0)!=-1?(E=(((B>>>0)%3|0|0)==0?2:-1)+B|0,(E|0)!=-1):0)?(F=f[(f[k+12>>2]|0)+(E<<2)>>2]|0,(F|0)!=-1):0){E=F+(((F>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=E;if((E|0)!=-1&(E|0)!=(B|0)){F=A;H=v;I=E;while(1){E=I+1|0;J=((E>>>0)%3|0|0)==0?I+-2|0:E;do if(f[(f[a>>2]|0)+(J>>>5<<2)>>2]&1<<(J&31)){E=F+1|0;K=f[(f[l>>2]|0)+(((I|0)/3|0)*12|0)+(((I|0)%3|0)<<2)>>2]|0;if(!(b[m>>0]|0))L=f[(f[n>>2]|0)+(K<<2)>>2]|0;else L=K;f[i>>2]=L;K=f[d>>2]|0;if(K>>>0<(f[o>>2]|0)>>>0){f[K>>2]=L;f[d>>2]=K+4}else Ri(c,i);K=f[s>>2]|0;if((K|0)==(f[t>>2]|0)){Ri(r,h);M=E;N=F;break}else{f[K>>2]=f[h>>2];f[s>>2]=K+4;M=E;N=F;break}}else{M=F;N=H}while(0);f[(f[q>>2]|0)+(f[h>>2]<<2)>>2]=N;O=f[j>>2]|0;J=f[h>>2]|0;if((J|0)==-1)break;E=(((J>>>0)%3|0|0)==0?2:-1)+J|0;if((E|0)==-1)break;J=f[(f[O+12>>2]|0)+(E<<2)>>2]|0;if((J|0)==-1)break;I=J+(((J>>>0)%3|0|0)==0?2:-1)|0;f[h>>2]=I;if(!((I|0)!=-1?(I|0)!=(f[g>>2]|0):0)){P=M;Q=O;break b}else{F=M;H=N}}f[h>>2]=-1;P=M;Q=O}else{P=A;Q=k}}else R=28;while(0);if((R|0)==28){R=0;f[h>>2]=-1;P=A;Q=k}y=P;z=Q}w=w+1|0;if(w>>>0>=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2>>>0)break;else{v=y;x=z}}u=e;return}function Rc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,D=0,E=0,F=0;switch(c|0){case 0:{e=-149;g=24;i=4;break}case 1:{e=-1074;g=53;i=4;break}case 2:{e=-1074;g=53;i=4;break}default:j=0.0}a:do if((i|0)==4){c=a+4|0;k=a+100|0;do{l=f[c>>2]|0;if(l>>>0<(f[k>>2]|0)>>>0){f[c>>2]=l+1;m=h[l>>0]|0}else m=Si(a)|0}while((eq(m)|0)!=0);b:do switch(m|0){case 43:case 45:{l=1-(((m|0)==45&1)<<1)|0;n=f[c>>2]|0;if(n>>>0<(f[k>>2]|0)>>>0){f[c>>2]=n+1;o=h[n>>0]|0;p=l;break b}else{o=Si(a)|0;p=l;break b}break}default:{o=m;p=1}}while(0);l=0;n=o;while(1){if((n|32|0)!=(b[18546+l>>0]|0)){q=l;r=n;break}do if(l>>>0<7){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;t=h[s>>0]|0;break}else{t=Si(a)|0;break}}else t=n;while(0);s=l+1|0;if(s>>>0<8){l=s;n=t}else{q=s;r=t;break}}c:do switch(q|0){case 8:break;case 3:{i=23;break}default:{n=(d|0)!=0;if(n&q>>>0>3)if((q|0)==8)break c;else{i=23;break c}d:do if(!q){l=0;s=r;while(1){if((s|32|0)!=(b[18555+l>>0]|0)){u=l;v=s;break d}do if(l>>>0<2){w=f[c>>2]|0;if(w>>>0<(f[k>>2]|0)>>>0){f[c>>2]=w+1;x=h[w>>0]|0;break}else{x=Si(a)|0;break}}else x=s;while(0);w=l+1|0;if(w>>>0<3){l=w;s=x}else{u=w;v=x;break}}}else{u=q;v=r}while(0);switch(u|0){case 3:{s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;y=h[s>>0]|0}else y=Si(a)|0;if((y|0)==40)z=1;else{if(!(f[k>>2]|0)){j=B;break a}f[c>>2]=(f[c>>2]|0)+-1;j=B;break a}while(1){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;A=h[s>>0]|0}else A=Si(a)|0;if(!((A+-48|0)>>>0<10|(A+-65|0)>>>0<26)?!((A|0)==95|(A+-97|0)>>>0<26):0)break;z=z+1|0}if((A|0)==41){j=B;break a}s=(f[k>>2]|0)==0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if(!n){l=Vq()|0;f[l>>2]=22;Ym(a,0);j=0.0;break a}if(!z){j=B;break a}else D=z;while(1){D=D+-1|0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if(!D){j=B;break a}}break}case 0:{if((v|0)==48){s=f[c>>2]|0;if(s>>>0<(f[k>>2]|0)>>>0){f[c>>2]=s+1;E=h[s>>0]|0}else E=Si(a)|0;if((E|32|0)==120){j=+Fc(a,g,e,p,d);break a}if(!(f[k>>2]|0))F=48;else{f[c>>2]=(f[c>>2]|0)+-1;F=48}}else F=v;j=+nb(a,F,g,e,p,d);break a;break}default:{if(f[k>>2]|0)f[c>>2]=(f[c>>2]|0)+-1;s=Vq()|0;f[s>>2]=22;Ym(a,0);j=0.0;break a}}}}while(0);if((i|0)==23){s=(f[k>>2]|0)==0;if(!s)f[c>>2]=(f[c>>2]|0)+-1;if((d|0)!=0&q>>>0>3){n=q;do{if(!s)f[c>>2]=(f[c>>2]|0)+-1;n=n+-1|0}while(n>>>0>3)}}j=+$($(p|0)*$(C))}while(0);return +j}function Sc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;g=u;u=u+16|0;h=g;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;i=ln(16)|0;f[h>>2]=i;f[h+8>>2]=-2147483632;f[h+4>>2]=15;j=i;k=14479;l=j+15|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[i+15>>0]=0;i=Hk(c,h,-1)|0;if((b[h+11>>0]|0)<0)Oq(f[h>>2]|0);switch(i|0){case 0:{m=ln(52)|0;j=m;l=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(l|0));Zn(m);n=4044;o=m;break}case -1:{if((mi(c)|0)==10){m=ln(52)|0;j=m;l=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(l|0));Zn(m);n=4044;o=m}else p=6;break}default:p=6}a:do if((p|0)==6){m=d+8|0;q=d+12|0;r=f[q>>2]|0;s=f[m>>2]|0;b:do if((r-s|0)>0){t=h+8|0;v=h+4|0;w=c+16|0;x=h+11|0;y=0;z=s;A=r;c:while(1){B=f[(f[z+(y<<2)>>2]|0)+28>>2]|0;switch(B|0){case 9:{p=12;break}case 6:case 5:case 4:case 2:{C=z;D=A;break}default:{if((B|2|0)!=3)break c;if((B|0)==9)p=12;else{C=z;D=A}}}if((p|0)==12){p=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;B=ln(32)|0;f[h>>2]=B;f[t>>2]=-2147483616;f[v>>2]=17;j=B;k=14495;l=j+17|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[B+17>>0]=0;E=f[w>>2]|0;if(E){F=w;G=E;d:while(1){E=G;while(1){if((f[E+16>>2]|0)>=0)break;H=f[E+4>>2]|0;if(!H){I=F;break d}else E=H}G=f[E>>2]|0;if(!G){I=E;break}else F=E}if(((I|0)!=(w|0)?(f[I+16>>2]|0)<=0:0)?(F=I+20|0,(Jh(F,h)|0)!=0):0)J=Hk(F,h,-1)|0;else p=21}else p=21;if((p|0)==21){p=0;J=Hk(c,h,-1)|0}if((b[x>>0]|0)<0)Oq(f[h>>2]|0);if((J|0)<1)break;C=f[m>>2]|0;D=f[q>>2]|0}y=y+1|0;if((y|0)>=(D-C>>2|0))break b;else{z=C;A=D}}if((i|0)!=1){A=ln(52)|0;j=A;l=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(l|0));Zn(A);n=4044;o=A;break a}f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;z=ln(32)|0;f[h>>2]=z;f[h+8>>2]=-2147483616;f[h+4>>2]=24;j=z;k=14513;l=j+24|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[z+24>>0]=0;f[a>>2]=-1;pj(a+4|0,h);if((b[h+11>>0]|0)<0)Oq(f[h>>2]|0);u=g;return}while(0);q=ln(52)|0;j=q;l=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(l|0));Zn(q);n=3988;o=q}while(0);f[o>>2]=n;ip(o,d);Md(a,o,c,e);Va[f[(f[o>>2]|0)+4>>2]&127](o);u=g;return}function Tc(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=u;u=u+32|0;j=i+4|0;k=i;l=i+16|0;m=(_(e|0)|0)^31;if((e|0)>0)if(m>>>0>17){n=0;u=i;return n|0}else o=m+1|0;else o=1;do if(g){m=ln(48)|0;f[j>>2]=m;f[j+8>>2]=-2147483600;f[j+4>>2]=33;e=m;p=15987;q=e+33|0;do{b[e>>0]=b[p>>0]|0;e=e+1|0;p=p+1|0}while((e|0)<(q|0));b[m+33>>0]=0;r=(Jh(g,j)|0)==0;if((b[j+11>>0]|0)<0)Oq(f[j>>2]|0);if(!r){r=ln(48)|0;f[j>>2]=r;f[j+8>>2]=-2147483600;f[j+4>>2]=33;e=r;p=15987;q=e+33|0;do{b[e>>0]=b[p>>0]|0;e=e+1|0;p=p+1|0}while((e|0)<(q|0));b[r+33>>0]=0;p=Mk(g,j)|0;if((b[j+11>>0]|0)<0)Oq(f[j>>2]|0);if((p|0)<4){s=o+-2|0;break}if((p|0)<6){s=o+-1|0;break}if((p|0)>9){s=o+2|0;break}else{s=o+((p|0)>7&1)|0;break}}else s=o}else s=o;while(0);o=(s|0)>1?s:1;s=(o|0)<18?o:18;b[l>>0]=s;o=h+16|0;g=f[o+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[o>>2]|0)>>>0>0)){f[k>>2]=f[h+4>>2];f[j>>2]=f[k>>2];Me(h,j,l,l+1|0)|0}do switch(s&31){case 1:case 0:{n=ue(a,c,d,h)|0;u=i;return n|0}case 2:{n=te(a,c,d,h)|0;u=i;return n|0}case 3:{n=se(a,c,d,h)|0;u=i;return n|0}case 4:{n=re(a,c,d,h)|0;u=i;return n|0}case 5:{n=qe(a,c,d,h)|0;u=i;return n|0}case 6:{n=pe(a,c,d,h)|0;u=i;return n|0}case 7:{n=oe(a,c,d,h)|0;u=i;return n|0}case 8:{n=ne(a,c,d,h)|0;u=i;return n|0}case 9:{n=me(a,c,d,h)|0;u=i;return n|0}case 10:{n=le(a,c,d,h)|0;u=i;return n|0}case 11:{n=ke(a,c,d,h)|0;u=i;return n|0}case 12:{n=ie(a,c,d,h)|0;u=i;return n|0}case 13:{n=he(a,c,d,h)|0;u=i;return n|0}case 14:{n=ge(a,c,d,h)|0;u=i;return n|0}case 15:{n=fe(a,c,d,h)|0;u=i;return n|0}case 16:{n=ee(a,c,d,h)|0;u=i;return n|0}case 17:{n=de(a,c,d,h)|0;u=i;return n|0}case 18:{n=ce(a,c,d,h)|0;u=i;return n|0}default:{n=0;u=i;return n|0}}while(0);return 0}function Uc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;xb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Vc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;yb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Wc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;zb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Xc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Ab(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Yc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*1048576.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==1048576){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Fb(z,A,g);a:do if((x|0)<1048576){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=1048576-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>1048576;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-1048576|0;m=x;while(1){v=1048576.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==1048576){C=p;D=1048576;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=1048576){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*9.5367431640625e-07)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function Zc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*524288.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==524288){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Bb(z,A,g);a:do if((x|0)<524288){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=524288-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>524288;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-524288|0;m=x;while(1){v=524288.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==524288){C=p;D=524288;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=524288){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*1.9073486328125e-06)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function _c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*262144.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==262144){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Cb(z,A,g);a:do if((x|0)<262144){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=262144-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>262144;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-262144|0;m=x;while(1){v=262144.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==262144){C=p;D=262144;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=262144){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*3.814697265625e-06)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function $c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*65536.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==65536){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Db(z,A,g);a:do if((x|0)<65536){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=65536-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>65536;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-65536|0;m=x;while(1){v=65536.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==65536){C=p;D=65536;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=65536){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*.0000152587890625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function ad(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*32768.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==32768){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Eb(z,A,g);a:do if((x|0)<32768){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=32768-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>32768;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-32768|0;m=x;while(1){v=32768.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==32768){C=p;D=32768;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=32768){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*.000030517578125)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function bd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*8192.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==8192){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Gb(z,A,g);a:do if((x|0)<8192){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=8192-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>8192;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-8192|0;m=x;while(1){v=8192.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==8192){C=p;D=8192;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=8192){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*.0001220703125)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function cd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Hb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function dd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Ib(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function ed(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Jb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function fd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Kb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function gd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Lb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function hd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Mb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function id(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Nb(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function jd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0;e=u;u=u+16|0;g=e;h=e+4|0;if((c|0)>0){i=0;j=0;k=0;l=0;while(1){m=b+(j<<3)|0;n=f[m>>2]|0;o=f[m+4>>2]|0;m=Vn(n|0,o|0,k|0,l|0)|0;p=I;q=(n|0)==0&(o|0)==0?i:j;j=j+1|0;if((j|0)==(c|0)){r=q;s=p;t=m;break}else{i=q;k=m;l=p}}}else{r=0;s=0;t=0}l=r+1|0;f[a+12>>2]=l;k=a+4|0;i=f[k>>2]|0;c=f[a>>2]|0;j=i-c>>3;p=c;c=i;if(l>>>0<=j>>>0){if(l>>>0>>0?(i=p+(l<<3)|0,(i|0)!=(c|0)):0)f[k>>2]=c+(~((c+-8-i|0)>>>3)<<3)}else wh(a,l-j|0);v=+(t>>>0)+4294967296.0*+(s>>>0);s=(r|0)<0;if(!s){t=f[a>>2]|0;j=0;i=0;do{c=b+(i<<3)|0;k=f[c>>2]|0;p=f[c+4>>2]|0;c=~~((+(k>>>0)+4294967296.0*+(p>>>0))/v*4096.0+.5)>>>0;m=((k|0)!=0|(p|0)!=0)&(c|0)==0?1:c;f[t+(i<<3)>>2]=m;j=m+j|0;i=i+1|0}while((i|0)!=(l|0));if((j|0)==4096){if(s){w=0;u=e;return w|0}}else{x=j;y=12}}else{x=0;y=12}if((y|0)==12){f[h>>2]=0;j=h+4|0;f[j>>2]=0;f[h+8>>2]=0;do if(l)if(l>>>0>1073741823)aq(h);else{i=l<<2;t=ln(i)|0;f[h>>2]=t;m=t+(l<<2)|0;f[h+8>>2]=m;sj(t|0,0,i|0)|0;f[j>>2]=m;z=t;A=m;break}else{z=0;A=0}while(0);if(!s?(f[z>>2]=0,r|0):0){m=1;do{f[z+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(l|0))}f[g>>2]=a;Ob(z,A,g);a:do if((x|0)<4096){g=(f[a>>2]|0)+(f[(f[j>>2]|0)+-4>>2]<<3)|0;f[g>>2]=4096-x+(f[g>>2]|0);B=0}else{g=f[h>>2]|0;if((r|0)<=0){A=(x|0)>4096;while(1)if(!A){B=0;break a}}A=f[a>>2]|0;z=x+-4096|0;m=x;while(1){v=4096.0/+(m|0);t=r;i=z;c=m;while(1){p=A+(f[g+(t<<2)>>2]<<3)|0;k=f[p>>2]|0;if(k>>>0<2){y=28;break}q=k-~~+J(+(v*+(k>>>0)))|0;o=(q|0)==0?1:q;q=(o|0)<(k|0)?o:k+-1|0;o=(q|0)>(i|0)?i:q;f[p>>2]=k-o;k=c-o|0;p=i-o|0;if((k|0)==4096){C=p;D=4096;break}if((t|0)>1){t=t+-1|0;i=p;c=k}else{C=p;D=k;break}}if((y|0)==28){y=0;if((t|0)==(r|0)){B=1;break a}else{C=i;D=c}}if((C|0)>0){z=C;m=D}else{B=0;break}}}while(0);D=f[h>>2]|0;if(D|0){h=f[j>>2]|0;if((h|0)!=(D|0))f[j>>2]=h+(~((h+-4-D|0)>>>2)<<2);Oq(D)}if((B|0)!=0|s){w=0;u=e;return w|0}}B=f[a>>2]|0;D=0;h=0;do{f[B+(D<<3)+4>>2]=h;h=(f[B+(D<<3)>>2]|0)+h|0;D=D+1|0}while((D|0)!=(l|0));if((h|0)!=4096){w=0;u=e;return w|0}if(s)E=0.0;else{s=f[a>>2]|0;h=0;v=0.0;while(1){D=f[s+(h<<3)>>2]|0;if(!D)F=v;else{B=b+(h<<3)|0;G=+((f[B>>2]|0)>>>0)+4294967296.0*+((f[B+4>>2]|0)>>>0);F=v+ +Zg(+(D>>>0)*.000244140625)*G}h=h+1|0;if((h|0)==(l|0)){E=F;break}else v=F}}F=+W(+-E);l=+K(F)>=1.0?(F>0.0?~~+Y(+J(F/4294967296.0),4294967295.0)>>>0:~~+W((F-+(~~F>>>0))/4294967296.0)>>>0):0;h=a+16|0;f[h>>2]=~~F>>>0;f[h+4>>2]=l;w=Le(a,d)|0;u=e;return w|0}function kd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=e>>>0>1073741823?-1:e<<2;k=Lq(j)|0;sj(k|0,0,j|0)|0;j=f[a+28>>2]|0;l=a+36|0;m=f[l>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;a:do if((p|0)>4){q=p>>2;r=f[a+32>>2]|0;s=a+8|0;t=h+4|0;v=i+4|0;w=d+4|0;x=j+12|0;y=(e|0)>0;z=k+4|0;A=h+4|0;B=i+4|0;C=d+4|0;D=q+-1|0;if(n-o>>2>>>0>D>>>0){E=q;F=D;G=o}else{H=m;aq(H)}while(1){D=f[G+(F<<2)>>2]|0;q=X(F,e)|0;if((D|0)!=-1?(I=f[(f[x>>2]|0)+(D<<2)>>2]|0,(I|0)!=-1):0){D=f[j>>2]|0;J=f[r>>2]|0;K=f[J+(f[D+(I<<2)>>2]<<2)>>2]|0;L=I+1|0;M=((L>>>0)%3|0|0)==0?I+-2|0:L;if((M|0)==-1)N=-1;else N=f[D+(M<<2)>>2]|0;M=f[J+(N<<2)>>2]|0;L=(((I>>>0)%3|0|0)==0?2:-1)+I|0;if((L|0)==-1)O=-1;else O=f[D+(L<<2)>>2]|0;L=f[J+(O<<2)>>2]|0;if((K|0)<(F|0)&(M|0)<(F|0)&(L|0)<(F|0)){J=X(K,e)|0;K=X(M,e)|0;M=X(L,e)|0;if(y){L=0;do{f[k+(L<<2)>>2]=(f[b+(L+M<<2)>>2]|0)+(f[b+(L+K<<2)>>2]|0)-(f[b+(L+J<<2)>>2]|0);L=L+1|0}while((L|0)!=(e|0))}L=b+(q<<2)|0;J=c+(q<<2)|0;K=f[L+4>>2]|0;M=f[k>>2]|0;D=f[z>>2]|0;f[h>>2]=f[L>>2];f[A>>2]=K;f[i>>2]=M;f[B>>2]=D;Od(d,s,h,i);f[J>>2]=f[d>>2];f[J+4>>2]=f[C>>2]}else P=15}else P=15;if((P|0)==15){P=0;J=b+(q<<2)|0;D=b+((X(E+-2|0,e)|0)<<2)|0;M=c+(q<<2)|0;K=f[J+4>>2]|0;L=f[D>>2]|0;I=f[D+4>>2]|0;f[h>>2]=f[J>>2];f[t>>2]=K;f[i>>2]=L;f[v>>2]=I;Od(d,s,h,i);f[M>>2]=f[d>>2];f[M+4>>2]=f[w>>2]}if((E|0)<=2)break a;M=f[l>>2]|0;G=f[M>>2]|0;I=F+-1|0;if((f[M+4>>2]|0)-G>>2>>>0<=I>>>0){H=M;break}else{M=F;F=I;E=M}}aq(H)}while(0);if((e|0)<=0){Q=a+8|0;R=b+4|0;S=f[b>>2]|0;T=f[R>>2]|0;U=k+4|0;V=f[k>>2]|0;W=f[U>>2]|0;f[h>>2]=S;Y=h+4|0;f[Y>>2]=T;f[i>>2]=V;Z=i+4|0;f[Z>>2]=W;Od(d,Q,h,i);_=f[d>>2]|0;f[c>>2]=_;$=d+4|0;aa=f[$>>2]|0;ba=c+4|0;f[ba>>2]=aa;Mq(k);u=g;return 1}sj(k|0,0,e<<2|0)|0;Q=a+8|0;R=b+4|0;S=f[b>>2]|0;T=f[R>>2]|0;U=k+4|0;V=f[k>>2]|0;W=f[U>>2]|0;f[h>>2]=S;Y=h+4|0;f[Y>>2]=T;f[i>>2]=V;Z=i+4|0;f[Z>>2]=W;Od(d,Q,h,i);_=f[d>>2]|0;f[c>>2]=_;$=d+4|0;aa=f[$>>2]|0;ba=c+4|0;f[ba>>2]=aa;Mq(k);u=g;return 1}function ld(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0;d=u;u=u+32|0;e=d;g=d+20|0;h=d+24|0;i=d+8|0;j=f[a>>2]|0;k=j+8|0;l=j;j=f[l>>2]|0;m=f[l+4>>2]|0;l=Vn(j|0,m|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=I;n=Vn(l|0,k|0,(l|0)==0&(k|0)==0&1|0,0)|0;k=~~((+(j>>>0)+4294967296.0*+(m>>>0))/(+(n>>>0)+4294967296.0*+(I>>>0))*256.0+.5)>>>0;n=k>>>0<255?k:255;k=n+((n|0)==0&1)&255;b[h>>0]=k;n=a+12|0;m=a+16|0;j=((f[m>>2]|0)-(f[n>>2]|0)<<1)+64|0;f[i>>2]=0;l=i+4|0;f[l>>2]=0;f[i+8>>2]=0;if(!j)o=0;else{if((j|0)<0)aq(i);p=ln(j)|0;f[l>>2]=p;f[i>>2]=p;f[i+8>>2]=p+j;q=j;j=p;do{b[j>>0]=0;j=(f[l>>2]|0)+1|0;f[l>>2]=j;q=q+-1|0}while((q|0)!=0);o=f[i>>2]|0}q=a+28|0;j=(f[q>>2]|0)+-1|0;a:do if((j|0)>-1){p=a+24|0;r=j;s=4096;t=0;v=k;while(1){w=(f[p>>2]&1<>>0>>0){y=t;z=s}else{b[o+t>>0]=s;y=t+1|0;z=s>>>8}un(f[4092+(x<<3)>>2]|0,0,z|0,0)|0;A=z+(w?0:0-v&255)+(X((z+I|0)>>>(f[4092+(x<<3)+4>>2]|0),256-x|0)|0)|0;x=r+-1|0;if((x|0)<=-1){B=A;C=y;break a}r=x;s=A;t=y;v=b[h>>0]|0}}else{B=4096;C=0}while(0);y=f[m>>2]|0;if((f[n>>2]|0)==(y|0)){D=B;E=C}else{z=B;B=C;C=y;while(1){C=C+-4|0;y=f[C>>2]|0;k=31;j=z;v=B;while(1){t=b[h>>0]|0;s=(1<>>0>>0){F=v;G=j}else{b[o+v>>0]=j;F=v+1|0;G=j>>>8}un(f[4092+(r<<3)>>2]|0,0,G|0,0)|0;j=G+(s?0:0-t&255)+(X((G+I|0)>>>(f[4092+(r<<3)+4>>2]|0),256-r|0)|0)|0;if((k|0)<=0)break;else{k=k+-1|0;v=F}}if((f[n>>2]|0)==(C|0)){D=j;E=F;break}else{z=j;B=F}}}F=D+-4096|0;do if(F>>>0>=64){if(F>>>0<16384){B=o+E|0;z=D+12288|0;b[B>>0]=z;H=2;J=z>>>8;K=B+1|0;L=25;break}if(F>>>0<4194304){B=o+E|0;z=D+8384512|0;b[B>>0]=z;b[B+1>>0]=z>>>8;H=3;J=z>>>16;K=B+2|0;L=25}else M=E}else{H=1;J=F;K=o+E|0;L=25}while(0);if((L|0)==25){b[K>>0]=J;M=H+E|0}E=c+16|0;H=E;J=f[H+4>>2]|0;if(!((J|0)>0|(J|0)==0&(f[H>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}ci(M,c)|0;h=f[i>>2]|0;H=E;E=f[H+4>>2]|0;if(!((E|0)>0|(E|0)==0&(f[H>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+M|0)|0}M=e;f[M>>2]=0;f[M+4>>2]=0;qf(a,2,e);e=f[a+12>>2]|0;M=f[m>>2]|0;if((M|0)!=(e|0))f[m>>2]=M+(~((M+-4-e|0)>>>2)<<2);f[a+24>>2]=0;f[q>>2]=0;q=f[i>>2]|0;if(!q){u=d;return}if((f[l>>2]|0)!=(q|0))f[l>>2]=q;Oq(q);u=d;return}function md(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c=u;u=u+16|0;b=c+8|0;d=c+4|0;e=c;g=a+64|0;h=f[g>>2]|0;if((f[h+28>>2]|0)==(f[h+24>>2]|0)){u=c;return}i=a+52|0;j=a+56|0;k=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;q=0;r=0;s=h;while(1){h=f[(f[s+24>>2]|0)+(r<<2)>>2]|0;if((h|0)==-1){t=q;v=s}else{w=q+1|0;f[b>>2]=q;x=f[j>>2]|0;if((x|0)==(f[k>>2]|0))Ri(i,b);else{f[x>>2]=q;f[j>>2]=x+4}f[d>>2]=h;f[e>>2]=0;a:do if(!(f[(f[l>>2]|0)+(r>>>5<<2)>>2]&1<<(r&31)))y=h;else{x=h+1|0;z=((x>>>0)%3|0|0)==0?h+-2|0:x;if(((z|0)!=-1?(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)==0:0)?(x=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0,z=x+1|0,(x|0)!=-1):0){A=((z>>>0)%3|0|0)==0?x+-2|0:z;f[e>>2]=A;if((A|0)==-1){y=h;break}else B=A;while(1){f[d>>2]=B;A=B+1|0;z=((A>>>0)%3|0|0)==0?B+-2|0:A;if((z|0)==-1)break;if(f[(f[a>>2]|0)+(z>>>5<<2)>>2]&1<<(z&31)|0)break;A=f[(f[(f[g>>2]|0)+12>>2]|0)+(z<<2)>>2]|0;z=A+1|0;if((A|0)==-1)break;x=((z>>>0)%3|0|0)==0?A+-2|0:z;f[e>>2]=x;if((x|0)==-1){y=B;break a}else B=x}f[e>>2]=-1;y=B;break}f[e>>2]=-1;y=h}while(0);f[(f[m>>2]|0)+(y<<2)>>2]=f[b>>2];h=f[o>>2]|0;if((h|0)==(f[p>>2]|0))Ri(n,d);else{f[h>>2]=f[d>>2];f[o>>2]=h+4}h=f[g>>2]|0;x=f[d>>2]|0;b:do if(((x|0)!=-1?(z=(((x>>>0)%3|0|0)==0?2:-1)+x|0,(z|0)!=-1):0)?(A=f[(f[h+12>>2]|0)+(z<<2)>>2]|0,(A|0)!=-1):0){z=A+(((A>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=z;if((z|0)!=-1&(z|0)!=(x|0)){A=w;C=z;while(1){z=C+1|0;D=((z>>>0)%3|0|0)==0?C+-2|0:z;do if(f[(f[a>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)){z=A+1|0;f[b>>2]=A;E=f[j>>2]|0;if((E|0)==(f[k>>2]|0))Ri(i,b);else{f[E>>2]=A;f[j>>2]=E+4}E=f[o>>2]|0;if((E|0)==(f[p>>2]|0)){Ri(n,e);F=z;break}else{f[E>>2]=f[e>>2];f[o>>2]=E+4;F=z;break}}else F=A;while(0);f[(f[m>>2]|0)+(f[e>>2]<<2)>>2]=f[b>>2];G=f[g>>2]|0;D=f[e>>2]|0;if((D|0)==-1)break;z=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((z|0)==-1)break;D=f[(f[G+12>>2]|0)+(z<<2)>>2]|0;if((D|0)==-1)break;C=D+(((D>>>0)%3|0|0)==0?2:-1)|0;f[e>>2]=C;if(!((C|0)!=-1?(C|0)!=(f[d>>2]|0):0)){H=F;I=G;break b}else A=F}f[e>>2]=-1;H=F;I=G}else{H=w;I=h}}else J=26;while(0);if((J|0)==26){J=0;f[e>>2]=-1;H=w;I=h}t=H;v=I}r=r+1|0;if(r>>>0>=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2>>>0)break;else{q=t;s=v}}u=c;return}function nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;h=a+124|0;f[h>>2]=(f[h>>2]|0)+1;h=a+88|0;i=a+120|0;j=f[i>>2]|0;k=j+1|0;do if((j|0)!=-1){l=((k>>>0)%3|0|0)==0?j+-2|0:k;if(!((j>>>0)%3|0)){m=j+2|0;n=l;break}else{m=j+-1|0;n=l;break}}else{m=-1;n=-1}while(0);k=a+104|0;l=a+92|0;o=f[l>>2]|0;p=o+(n<<2)|0;q=f[k>>2]|0;r=q+(f[p>>2]<<2)|0;s=f[r>>2]|0;switch(b|0){case 1:case 0:{f[r>>2]=s+-1;r=q+(f[o+(m<<2)>>2]<<2)|0;f[r>>2]=(f[r>>2]|0)+-1;if((b|0)==1){if((m|0)!=-1?(r=f[(f[(f[h>>2]|0)+12>>2]|0)+(m<<2)>>2]|0,(r|0)!=-1):0){t=a+64|0;v=1;w=r;while(1){r=f[t>>2]|0;x=f[(f[r>>2]|0)+36>>2]|0;f[e>>2]=(w>>>0)/3|0;f[d>>2]=f[e>>2];if(Ra[x&127](r,d)|0){y=v;break}r=w+1|0;x=((r>>>0)%3|0|0)==0?w+-2|0:r;if((x|0)==-1){z=12;break}w=f[(f[(f[h>>2]|0)+12>>2]|0)+(x<<2)>>2]|0;x=v+1|0;if((w|0)==-1){y=x;break}else v=x}if((z|0)==12)y=v+1|0;A=y;B=f[k>>2]|0;C=f[l>>2]|0}else{A=1;B=q;C=o}f[B+(f[C+(f[i>>2]<<2)>>2]<<2)>>2]=A;A=a+108|0;i=f[A>>2]|0;C=i-B>>2;B=i;if((n|0)!=-1?(i=f[(f[(f[h>>2]|0)+12>>2]|0)+(n<<2)>>2]|0,(i|0)!=-1):0){n=a+64|0;y=1;v=i;while(1){i=f[n>>2]|0;w=f[(f[i>>2]|0)+36>>2]|0;f[g>>2]=(v>>>0)/3|0;f[d>>2]=f[g>>2];if(Ra[w&127](i,d)|0){D=y;break}i=v+1|0;f[(f[l>>2]|0)+((((i>>>0)%3|0|0)==0?v+-2|0:i)<<2)>>2]=C;i=(((v>>>0)%3|0|0)==0?2:-1)+v|0;if((i|0)==-1){z=20;break}v=f[(f[(f[h>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;i=y+1|0;if((v|0)==-1){D=i;break}else y=i}if((z|0)==20)D=y+1|0;E=D;F=f[A>>2]|0}else{E=1;F=B}f[d>>2]=E;if(F>>>0<(f[a+112>>2]|0)>>>0){f[F>>2]=E;f[A>>2]=F+4}else Ri(k,d)}break}case 5:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[o+(m<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;break}case 3:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[o+(m<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-1;break}case 7:{k=q+(f[o+(j<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[p>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;k=q+(f[o+(m<<2)>>2]<<2)|0;f[k>>2]=(f[k>>2]|0)+-2;break}default:{}}k=a+116|0;m=f[k>>2]|0;if((m|0)==-1){f[k>>2]=b;u=c;return}o=f[a+128>>2]|0;if((s|0)<(o|0))G=o;else{q=f[a+132>>2]|0;G=(s|0)>(q|0)?q:s}s=G-o|0;o=f[a+136>>2]|0;a=f[3724+(m<<2)>>2]|0;f[d>>2]=a;m=o+(s*12|0)+4|0;G=f[m>>2]|0;if(G>>>0<(f[o+(s*12|0)+8>>2]|0)>>>0){f[G>>2]=a;f[m>>2]=G+4}else Ri(o+(s*12|0)|0,d);f[k>>2]=b;u=c;return}function od(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0;g=u;u=u+32|0;d=g+16|0;h=g+8|0;i=g;j=e>>>0>1073741823?-1:e<<2;k=Lq(j)|0;sj(k|0,0,j|0)|0;j=f[a+28>>2]|0;l=a+36|0;m=f[l>>2]|0;n=f[m+4>>2]|0;o=f[m>>2]|0;p=n-o|0;a:do if((p|0)>4){q=p>>2;r=f[a+32>>2]|0;s=a+8|0;t=h+4|0;v=i+4|0;w=d+4|0;x=j+64|0;y=j+28|0;z=(e|0)>0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=q+-1|0;if(n-o>>2>>>0>E>>>0){F=q;G=E;H=o}else{I=m;aq(I)}while(1){E=f[H+(G<<2)>>2]|0;q=X(G,e)|0;if((((E|0)!=-1?(f[(f[j>>2]|0)+(E>>>5<<2)>>2]&1<<(E&31)|0)==0:0)?(J=f[(f[(f[x>>2]|0)+12>>2]|0)+(E<<2)>>2]|0,(J|0)!=-1):0)?(E=f[y>>2]|0,K=f[r>>2]|0,L=f[K+(f[E+(J<<2)>>2]<<2)>>2]|0,M=J+1|0,N=f[K+(f[E+((((M>>>0)%3|0|0)==0?J+-2|0:M)<<2)>>2]<<2)>>2]|0,M=f[K+(f[E+((((J>>>0)%3|0|0)==0?2:-1)+J<<2)>>2]<<2)>>2]|0,(L|0)<(G|0)&(N|0)<(G|0)&(M|0)<(G|0)):0){J=X(L,e)|0;L=X(N,e)|0;N=X(M,e)|0;if(z){M=0;do{f[k+(M<<2)>>2]=(f[b+(M+N<<2)>>2]|0)+(f[b+(M+L<<2)>>2]|0)-(f[b+(M+J<<2)>>2]|0);M=M+1|0}while((M|0)!=(e|0))}M=b+(q<<2)|0;J=c+(q<<2)|0;L=f[M+4>>2]|0;N=f[k>>2]|0;E=f[A>>2]|0;f[h>>2]=f[M>>2];f[B>>2]=L;f[i>>2]=N;f[C>>2]=E;Od(d,s,h,i);f[J>>2]=f[d>>2];f[J+4>>2]=f[D>>2]}else{J=b+(q<<2)|0;E=b+((X(F+-2|0,e)|0)<<2)|0;N=c+(q<<2)|0;L=f[J+4>>2]|0;M=f[E>>2]|0;K=f[E+4>>2]|0;f[h>>2]=f[J>>2];f[t>>2]=L;f[i>>2]=M;f[v>>2]=K;Od(d,s,h,i);f[N>>2]=f[d>>2];f[N+4>>2]=f[w>>2]}if((F|0)<=2)break a;N=f[l>>2]|0;H=f[N>>2]|0;K=G+-1|0;if((f[N+4>>2]|0)-H>>2>>>0<=K>>>0){I=N;break}else{N=G;G=K;F=N}}aq(I)}while(0);if((e|0)<=0){O=a+8|0;P=b+4|0;Q=f[b>>2]|0;R=f[P>>2]|0;S=k+4|0;T=f[k>>2]|0;U=f[S>>2]|0;f[h>>2]=Q;V=h+4|0;f[V>>2]=R;f[i>>2]=T;W=i+4|0;f[W>>2]=U;Od(d,O,h,i);Y=f[d>>2]|0;f[c>>2]=Y;Z=d+4|0;_=f[Z>>2]|0;$=c+4|0;f[$>>2]=_;Mq(k);u=g;return 1}sj(k|0,0,e<<2|0)|0;O=a+8|0;P=b+4|0;Q=f[b>>2]|0;R=f[P>>2]|0;S=k+4|0;T=f[k>>2]|0;U=f[S>>2]|0;f[h>>2]=Q;V=h+4|0;f[V>>2]=R;f[i>>2]=T;W=i+4|0;f[W>>2]=U;Od(d,O,h,i);Y=f[d>>2]|0;f[c>>2]=Y;Z=d+4|0;_=f[Z>>2]|0;$=c+4|0;f[$>>2]=_;Mq(k);u=g;return 1}function pd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;switch(c|0){case 1:{c=ln(60)|0;f[c>>2]=1544;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];fk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2076;i=c;f[a>>2]=i;return}case 2:{c=ln(60)|0;f[c>>2]=1544;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];fk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2132;i=c;f[a>>2]=i;return}case 4:{c=ln(168)|0;Ti(c,d,e,g);i=c;f[a>>2]=i;return}case 3:{c=ln(88)|0;f[c>>2]=1544;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];fk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2188;h=c+60|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=ln(104)|0;f[c>>2]=1544;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];fk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2244;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=ln(140)|0;f[c>>2]=1544;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];fk(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=2300;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=2356;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;wn(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function qd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;switch(c|0){case 1:{c=ln(60)|0;f[c>>2]=1544;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];fk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1656;i=c;f[a>>2]=i;return}case 2:{c=ln(60)|0;f[c>>2]=1544;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];fk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1712;i=c;f[a>>2]=i;return}case 4:{c=ln(168)|0;Ui(c,d,e,g);i=c;f[a>>2]=i;return}case 3:{c=ln(88)|0;f[c>>2]=1544;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];fk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1768;h=c+60|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=ln(104)|0;f[c>>2]=1544;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];fk(c+32|0,e+24|0);h=c+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=1824;f[c+60>>2]=0;f[c+64>>2]=0;f[c+76>>2]=0;f[c+80>>2]=0;f[c+84>>2]=0;h=c+88|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=ln(140)|0;f[c>>2]=1544;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];fk(c+32|0,e+24|0);e=c+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=1880;f[c+64>>2]=0;f[c+68>>2]=0;e=c+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+60>>2]=1936;f[c+88>>2]=1;g=c+92|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;wn(c+108|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function rd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)Oq(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;Oo(e,16035);f[e>>2]=7256;va(e|0,1112,110)}e=ln(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)Oq(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=j;l=g;m=c;n=g}a:while(1){g=l;c=m;j=n;b:while(1){c:do if(i){e=c;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=q+2|0;v=e+12|0;w=q+6|0;x=f[e>>2]|0;d:do if(!x)y=e;else{z=d[q>>1]|0;A=e;B=x;while(1){C=B+8|0;if(z<<16>>16!=(d[C>>1]|0)){y=A;break d}if((d[u>>1]|0)!=(d[C+2>>1]|0)){y=A;break d}if((d[v>>1]|0)!=(d[B+12>>1]|0)){y=A;break d}if((d[w>>1]|0)!=(d[C+6>>1]|0)){y=A;break d}C=f[B>>2]|0;if(!C){y=B;break}else{D=B;B=C;A=D}}}while(0);f[j>>2]=f[y>>2];f[y>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}else{e=c;while(1){w=f[e+4>>2]|0;if(w>>>0>>0)F=w;else F=(w>>>0)%(b>>>0)|0;if((F|0)==(k|0)){p=e;break c}w=(f[a>>2]|0)+(F<<2)|0;if(!(f[w>>2]|0)){r=e;s=F;t=w;break b}w=e+8|0;v=w+2|0;u=e+12|0;x=w+6|0;q=f[e>>2]|0;e:do if(!q)G=e;else{A=d[w>>1]|0;B=e;z=q;while(1){D=z+8|0;if(A<<16>>16!=(d[D>>1]|0)){G=B;break e}if((d[v>>1]|0)!=(d[D+2>>1]|0)){G=B;break e}if((d[u>>1]|0)!=(d[z+12>>1]|0)){G=B;break e}if((d[x>>1]|0)!=(d[D+6>>1]|0)){G=B;break e}D=f[z>>2]|0;if(!D){G=z;break}else{C=z;z=D;B=C}}}while(0);f[j>>2]=f[G>>2];f[G>>2]=f[f[(f[a>>2]|0)+(F<<2)>>2]>>2];f[f[(f[a>>2]|0)+(F<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}while(0);c=f[p>>2]|0;if(!c){E=43;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){E=43;break}else{k=s;l=r;n=r}}if((E|0)==43)return}function sd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)Oq(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;Oo(e,16035);f[e>>2]=7256;va(e|0,1112,110)}e=ln(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)Oq(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){g=l;d=m;j=n;b:while(1){c:do if(i){e=d;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=q+1|0;v=q+2|0;w=q+3|0;x=f[e>>2]|0;d:do if(!x)y=e;else{z=b[q>>0]|0;A=e;B=x;while(1){C=B+8|0;if(z<<24>>24!=(b[C>>0]|0)){y=A;break d}if((b[u>>0]|0)!=(b[C+1>>0]|0)){y=A;break d}if((b[v>>0]|0)!=(b[C+2>>0]|0)){y=A;break d}if((b[w>>0]|0)!=(b[C+3>>0]|0)){y=A;break d}C=f[B>>2]|0;if(!C){y=B;break}else{D=B;B=C;A=D}}}while(0);f[j>>2]=f[y>>2];f[y>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}else{e=d;while(1){w=f[e+4>>2]|0;if(w>>>0>>0)F=w;else F=(w>>>0)%(c>>>0)|0;if((F|0)==(k|0)){p=e;break c}w=(f[a>>2]|0)+(F<<2)|0;if(!(f[w>>2]|0)){r=e;s=F;t=w;break b}w=e+8|0;v=w+1|0;u=w+2|0;x=w+3|0;q=f[e>>2]|0;e:do if(!q)G=e;else{A=b[w>>0]|0;B=e;z=q;while(1){D=z+8|0;if(A<<24>>24!=(b[D>>0]|0)){G=B;break e}if((b[v>>0]|0)!=(b[D+1>>0]|0)){G=B;break e}if((b[u>>0]|0)!=(b[D+2>>0]|0)){G=B;break e}if((b[x>>0]|0)!=(b[D+3>>0]|0)){G=B;break e}D=f[z>>2]|0;if(!D){G=z;break}else{C=z;z=D;B=C}}}while(0);f[j>>2]=f[G>>2];f[G>>2]=f[f[(f[a>>2]|0)+(F<<2)>>2]>>2];f[f[(f[a>>2]|0)+(F<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){E=43;break a}}}while(0);d=f[p>>2]|0;if(!d){E=43;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){E=43;break}else{k=s;l=r;n=r}}if((E|0)==43)return}function td(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0;i=u;u=u+352|0;j=i+340|0;k=i+336|0;l=i+80|0;m=i+48|0;n=i;sj(l|0,0,256)|0;o=f[e+4>>2]|0;p=f[e>>2]|0;q=p;if((o|0)!=(p|0)){r=o-p>>2;p=0;do{o=l+(f[q+(p<<2)>>2]<<3)|0;s=o;t=Vn(f[s>>2]|0,f[s+4>>2]|0,1,0)|0;s=o;f[s>>2]=t;f[s+4>>2]=I;p=p+1|0}while(p>>>0>>0)}Gn(m);r=Tn(c|0,((c|0)<0)<<31>>31|0,5)|0;p=I;q=n+40|0;s=q;f[s>>2]=0;f[s+4>>2]=0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[n+16>>2]=0;f[n+20>>2]=0;fd(n,l,32,g)|0;l=n+16|0;s=Tn(f[l>>2]|0,f[l+4>>2]|0,1)|0;l=g+4|0;t=(f[l>>2]|0)-(f[g>>2]|0)|0;o=q;f[o>>2]=t;f[o+4>>2]=0;o=Vn(s|0,I|0,39,0)|0;s=Yn(o|0,I|0,3)|0;o=Vn(s|0,I|0,8,0)|0;s=Vn(o|0,I|0,t|0,0)|0;Cl(g,s,I);s=n+24|0;f[s>>2]=(f[g>>2]|0)+(f[q>>2]|0);q=n+28|0;f[q>>2]=0;t=n+32|0;f[t>>2]=16384;zi(m,r,p,0)|0;p=c-d|0;if((p|0)>-1){c=(d|0)>0;r=m+16|0;o=m+12|0;v=p;do{w=f[e>>2]|0;x=f[w+(((v|0)/(d|0)|0)<<2)>>2]|0;y=f[n>>2]|0;z=f[y+(x<<3)>>2]|0;A=f[t>>2]|0;B=z<<10;if(A>>>0>>0){C=A;D=w}else{w=A;do{A=f[s>>2]|0;E=f[q>>2]|0;f[q>>2]=E+1;b[A+E>>0]=w;w=(f[t>>2]|0)>>>8;f[t>>2]=w}while(w>>>0>=B>>>0);C=w;D=f[e>>2]|0}f[t>>2]=(((C>>>0)/(z>>>0)|0)<<12)+((C>>>0)%(z>>>0)|0)+(f[y+(x<<3)+4>>2]|0);B=p-v|0;E=f[D+(((B|0)/(d|0)|0)<<2)>>2]|0;if(c&(E|0)>0){A=0;do{F=f[a+(A+B<<2)>>2]|0;G=r;H=f[G+4>>2]|0;if((H|0)>0|(H|0)==0&(f[G>>2]|0)>>>0>0){G=f[o>>2]|0;H=G+4|0;J=0;K=f[H>>2]|0;do{L=K>>>3;M=K&7;N=(f[G>>2]|0)+L|0;b[N>>0]=(1<>0]|0);N=(f[G>>2]|0)+L|0;b[N>>0]=(F>>>J&1)<>0]|0);K=(f[H>>2]|0)+1|0;f[H>>2]=K;J=J+1|0}while((J|0)!=(E|0))}A=A+1|0}while((A|0)!=(d|0))}v=v-d|0}while((v|0)>-1)}_f(n,g);eg(m);v=f[m>>2]|0;d=m+4|0;o=g+16|0;r=f[o+4>>2]|0;if(!((r|0)>0|(r|0)==0&(f[o>>2]|0)>>>0>0)){o=(f[d>>2]|0)-v|0;f[k>>2]=f[l>>2];f[j>>2]=f[k>>2];Me(g,j,v,v+o|0)|0}o=f[n>>2]|0;if(o|0){v=n+4|0;n=f[v>>2]|0;if((n|0)!=(o|0))f[v>>2]=n+(~((n+-8-o|0)>>>3)<<3);Oq(o)}o=m+12|0;n=f[o>>2]|0;f[o>>2]=0;if(n|0)Oq(n);n=f[m>>2]|0;if(!n){u=i;return 1}if((f[d>>2]|0)!=(n|0))f[d>>2]=n;Oq(n);u=i;return 1}function ud(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)Oq(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;Oo(d,16035);f[d>>2]=7256;va(d|0,1112,110)}d=ln(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)Oq(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=i;k=e;l=c;m=e}a:while(1){e=k;c=l;i=m;b:while(1){c:do if(h){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=n;s=p;break b}p=d+12|0;t=d+16|0;u=d+20|0;v=f[d>>2]|0;d:do if(!v)w=d;else{x=f[d+8>>2]|0;y=d;z=v;while(1){if((x|0)!=(f[z+8>>2]|0)){w=y;break d}if((f[p>>2]|0)!=(f[z+12>>2]|0)){w=y;break d}if((f[t>>2]|0)!=(f[z+16>>2]|0)){w=y;break d}if((f[u>>2]|0)!=(f[z+20>>2]|0)){w=y;break d}A=f[z>>2]|0;if(!A){w=z;break}else{B=z;z=A;y=B}}}while(0);f[i>>2]=f[w>>2];f[w>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){C=43;break a}}}else{d=c;while(1){u=f[d+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(b>>>0)|0;if((D|0)==(j|0)){o=d;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){q=d;r=D;s=u;break b}u=d+12|0;t=d+16|0;p=d+20|0;v=f[d>>2]|0;e:do if(!v)E=d;else{y=f[d+8>>2]|0;z=d;x=v;while(1){if((y|0)!=(f[x+8>>2]|0)){E=z;break e}if((f[u>>2]|0)!=(f[x+12>>2]|0)){E=z;break e}if((f[t>>2]|0)!=(f[x+16>>2]|0)){E=z;break e}if((f[p>>2]|0)!=(f[x+20>>2]|0)){E=z;break e}B=f[x>>2]|0;if(!B){E=x;break}else{A=x;x=B;z=A}}}while(0);f[i>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){C=43;break a}}}while(0);c=f[o>>2]|0;if(!c){C=43;break a}else{e=o;i=o}}f[s>>2]=i;l=f[q>>2]|0;if(!l){C=43;break}else{j=r;k=q;m=q}}if((C|0)==43)return}function vd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)Oq(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;Oo(e,16035);f[e>>2]=7256;va(e|0,1112,110)}e=ln(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)Oq(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=j;l=g;m=c;n=g}a:while(1){g=l;c=m;j=n;b:while(1){c:do if(i){e=c;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=e+12|0;v=f[e>>2]|0;d:do if(!v)w=e;else{x=d[q>>1]|0;y=q+2|0;z=e;A=v;while(1){B=A+8|0;if(x<<16>>16!=(d[B>>1]|0)){w=z;break d}if((d[y>>1]|0)!=(d[B+2>>1]|0)){w=z;break d}if((d[u>>1]|0)!=(d[A+12>>1]|0)){w=z;break d}B=f[A>>2]|0;if(!B){w=A;break}else{C=A;A=B;z=C}}}while(0);f[j>>2]=f[w>>2];f[w>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}else{e=c;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)E=u;else E=(u>>>0)%(b>>>0)|0;if((E|0)==(k|0)){p=e;break c}u=(f[a>>2]|0)+(E<<2)|0;if(!(f[u>>2]|0)){r=e;s=E;t=u;break b}u=e+8|0;v=e+12|0;q=f[e>>2]|0;e:do if(!q)F=e;else{z=d[u>>1]|0;A=u+2|0;y=e;x=q;while(1){C=x+8|0;if(z<<16>>16!=(d[C>>1]|0)){F=y;break e}if((d[A>>1]|0)!=(d[C+2>>1]|0)){F=y;break e}if((d[v>>1]|0)!=(d[x+12>>1]|0)){F=y;break e}C=f[x>>2]|0;if(!C){F=x;break}else{B=x;x=C;y=B}}}while(0);f[j>>2]=f[F>>2];f[F>>2]=f[f[(f[a>>2]|0)+(E<<2)>>2]>>2];f[f[(f[a>>2]|0)+(E<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}while(0);c=f[p>>2]|0;if(!c){D=41;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){D=41;break}else{k=s;l=r;n=r}}if((D|0)==41)return}function wd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)Oq(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;Oo(e,16035);f[e>>2]=7256;va(e|0,1112,110)}e=ln(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)Oq(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){g=l;d=m;j=n;b:while(1){c:do if(i){e=d;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=q+1|0;v=q+2|0;w=f[e>>2]|0;d:do if(!w)x=e;else{y=b[q>>0]|0;z=e;A=w;while(1){B=A+8|0;if(y<<24>>24!=(b[B>>0]|0)){x=z;break d}if((b[u>>0]|0)!=(b[B+1>>0]|0)){x=z;break d}if((b[v>>0]|0)!=(b[B+2>>0]|0)){x=z;break d}B=f[A>>2]|0;if(!B){x=A;break}else{C=A;A=B;z=C}}}while(0);f[j>>2]=f[x>>2];f[x>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}else{e=d;while(1){v=f[e+4>>2]|0;if(v>>>0>>0)E=v;else E=(v>>>0)%(c>>>0)|0;if((E|0)==(k|0)){p=e;break c}v=(f[a>>2]|0)+(E<<2)|0;if(!(f[v>>2]|0)){r=e;s=E;t=v;break b}v=e+8|0;u=v+1|0;w=v+2|0;q=f[e>>2]|0;e:do if(!q)F=e;else{z=b[v>>0]|0;A=e;y=q;while(1){C=y+8|0;if(z<<24>>24!=(b[C>>0]|0)){F=A;break e}if((b[u>>0]|0)!=(b[C+1>>0]|0)){F=A;break e}if((b[w>>0]|0)!=(b[C+2>>0]|0)){F=A;break e}C=f[y>>2]|0;if(!C){F=y;break}else{B=y;y=C;A=B}}}while(0);f[j>>2]=f[F>>2];f[F>>2]=f[f[(f[a>>2]|0)+(E<<2)>>2]>>2];f[f[(f[a>>2]|0)+(E<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){D=41;break a}}}while(0);d=f[p>>2]|0;if(!d){D=41;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){D=41;break}else{k=s;l=r;n=r}}if((D|0)==41)return}function xd(a,b){a=+a;b=+b;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;p[s>>3]=b;e=f[s>>2]|0;g=f[s+4>>2]|0;h=Yn(c|0,d|0,52)|0;i=h&2047;h=Yn(e|0,g|0,52)|0;j=h&2047;h=d&-2147483648;k=Tn(e|0,g|0,1)|0;l=I;a:do if(!((k|0)==0&(l|0)==0)?(m=yo(b)|0,n=I&2147483647,!((i|0)==2047|(n>>>0>2146435072|(n|0)==2146435072&m>>>0>0))):0){m=Tn(c|0,d|0,1)|0;n=I;if(!(n>>>0>l>>>0|(n|0)==(l|0)&m>>>0>k>>>0))return +((m|0)==(k|0)&(n|0)==(l|0)?a*0.0:a);if(!i){n=Tn(c|0,d|0,12)|0;m=I;if((m|0)>-1|(m|0)==-1&n>>>0>4294967295){o=0;q=n;n=m;while(1){m=o+-1|0;q=Tn(q|0,n|0,1)|0;n=I;if(!((n|0)>-1|(n|0)==-1&q>>>0>4294967295)){r=m;break}else o=m}}else r=0;o=Tn(c|0,d|0,1-r|0)|0;t=r;u=o;v=I}else{t=i;u=c;v=d&1048575|1048576}if(!j){o=Tn(e|0,g|0,12)|0;q=I;if((q|0)>-1|(q|0)==-1&o>>>0>4294967295){n=0;m=o;o=q;while(1){q=n+-1|0;m=Tn(m|0,o|0,1)|0;o=I;if(!((o|0)>-1|(o|0)==-1&m>>>0>4294967295)){w=q;break}else n=q}}else w=0;n=Tn(e|0,g|0,1-w|0)|0;x=w;y=n;z=I}else{x=j;y=e;z=g&1048575|1048576}n=Xn(u|0,v|0,y|0,z|0)|0;m=I;o=(m|0)>-1|(m|0)==-1&n>>>0>4294967295;b:do if((t|0)>(x|0)){q=t;A=m;B=o;C=u;D=v;E=n;while(1){if(B)if((E|0)==0&(A|0)==0)break;else{F=E;G=A}else{F=C;G=D}H=Tn(F|0,G|0,1)|0;J=I;K=q+-1|0;L=Xn(H|0,J|0,y|0,z|0)|0;M=I;N=(M|0)>-1|(M|0)==-1&L>>>0>4294967295;if((K|0)>(x|0)){q=K;A=M;B=N;C=H;D=J;E=L}else{O=K;P=N;Q=L;R=M;S=H;T=J;break b}}U=a*0.0;break a}else{O=t;P=o;Q=n;R=m;S=u;T=v}while(0);if(P)if((Q|0)==0&(R|0)==0){U=a*0.0;break}else{V=R;W=Q}else{V=T;W=S}if(V>>>0<1048576|(V|0)==1048576&W>>>0<0){m=O;n=W;o=V;while(1){E=Tn(n|0,o|0,1)|0;D=I;C=m+-1|0;if(D>>>0<1048576|(D|0)==1048576&E>>>0<0){m=C;n=E;o=D}else{X=C;Y=E;Z=D;break}}}else{X=O;Y=W;Z=V}if((X|0)>0){o=Vn(Y|0,Z|0,0,-1048576)|0;n=I;m=Tn(X|0,0,52)|0;_=n|I;$=o|m}else{m=Yn(Y|0,Z|0,1-X|0)|0;_=I;$=m}f[s>>2]=$;f[s+4>>2]=_|h;U=+p[s>>3]}else aa=3;while(0);if((aa|0)==3){ba=a*b;U=ba/ba}return +U}function yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+32|0;e=d+8|0;g=d;h=c+4|0;i=f[(f[h>>2]|0)+48>>2]|0;j=c+12|0;c=f[j>>2]|0;k=ln(32)|0;f[e>>2]=k;f[e+8>>2]=-2147483616;f[e+4>>2]=17;l=k;m=14495;n=l+17|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[k+17>>0]=0;k=i+16|0;m=f[k>>2]|0;if(m){l=k;n=m;a:while(1){m=n;while(1){if((f[m+16>>2]|0)>=(c|0))break;o=f[m+4>>2]|0;if(!o){p=l;break a}else m=o}n=f[m>>2]|0;if(!n){p=m;break}else l=m}if(((p|0)!=(k|0)?(c|0)>=(f[p+16>>2]|0):0)?(c=p+20|0,(Jh(c,e)|0)!=0):0)q=Hk(c,e,-1)|0;else r=10}else r=10;if((r|0)==10)q=Hk(i,e,-1)|0;if((b[e+11>>0]|0)<0)Oq(f[e>>2]|0);f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;i=(_((1<>>0<=28){f[e>>2]=i+1;q=2<>2]=q+-1;i=q+-2|0;f[e+8>>2]=i;f[e+12>>2]=(i|0)/2|0}switch(Xi(f[j>>2]|0,f[h>>2]|0)|0){case 6:{i=f[j>>2]|0;q=f[h>>2]|0;c=f[(f[(f[q+4>>2]|0)+8>>2]|0)+(i<<2)>>2]|0;do if((Qa[f[(f[q>>2]|0)+8>>2]&127](q)|0)==1){Hf(g,q,6,i,e,514);p=f[g>>2]|0;if(!p){f[g>>2]=0;s=g;r=21;break}else{t=g;v=p;break}}else{s=g;r=21}while(0);if((r|0)==21){i=ln(24)|0;f[i+4>>2]=c;c=i+8|0;f[c>>2]=f[e>>2];f[c+4>>2]=f[e+4>>2];f[c+8>>2]=f[e+8>>2];f[c+12>>2]=f[e+12>>2];f[i>>2]=2560;c=i;f[g>>2]=c;t=s;v=c}f[a>>2]=v;f[t>>2]=0;u=d;return}case 0:{t=f[j>>2]|0;j=f[h>>2]|0;h=f[(f[(f[j+4>>2]|0)+8>>2]|0)+(t<<2)>>2]|0;do if((Qa[f[(f[j>>2]|0)+8>>2]&127](j)|0)==1){Hf(g,j,0,t,e,514);v=f[g>>2]|0;if(!v){f[g>>2]=0;w=g;r=28;break}else{x=g;y=v;break}}else{w=g;r=28}while(0);if((r|0)==28){r=ln(24)|0;f[r+4>>2]=h;h=r+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[r>>2]=2560;e=r;f[g>>2]=e;x=w;y=e}f[a>>2]=y;f[x>>2]=0;u=d;return}default:{f[a>>2]=0;u=d;return}}}function zd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)Oq(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;Oo(d,16035);f[d>>2]=7256;va(d|0,1112,110)}d=ln(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)Oq(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=i;k=e;l=c;m=e}a:while(1){e=k;c=l;i=m;b:while(1){c:do if(h){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=n;s=p;break b}p=d+12|0;t=d+16|0;u=f[d>>2]|0;d:do if(!u)v=d;else{w=f[d+8>>2]|0;x=d;y=u;while(1){if((w|0)!=(f[y+8>>2]|0)){v=x;break d}if((f[p>>2]|0)!=(f[y+12>>2]|0)){v=x;break d}if((f[t>>2]|0)!=(f[y+16>>2]|0)){v=x;break d}z=f[y>>2]|0;if(!z){v=y;break}else{A=y;y=z;x=A}}}while(0);f[i>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){B=41;break a}}}else{d=c;while(1){t=f[d+4>>2]|0;if(t>>>0>>0)C=t;else C=(t>>>0)%(b>>>0)|0;if((C|0)==(j|0)){o=d;break c}t=(f[a>>2]|0)+(C<<2)|0;if(!(f[t>>2]|0)){q=d;r=C;s=t;break b}t=d+12|0;p=d+16|0;u=f[d>>2]|0;e:do if(!u)D=d;else{x=f[d+8>>2]|0;y=d;w=u;while(1){if((x|0)!=(f[w+8>>2]|0)){D=y;break e}if((f[t>>2]|0)!=(f[w+12>>2]|0)){D=y;break e}if((f[p>>2]|0)!=(f[w+16>>2]|0)){D=y;break e}A=f[w>>2]|0;if(!A){D=w;break}else{z=w;w=A;y=z}}}while(0);f[i>>2]=f[D>>2];f[D>>2]=f[f[(f[a>>2]|0)+(C<<2)>>2]>>2];f[f[(f[a>>2]|0)+(C<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){B=41;break a}}}while(0);c=f[o>>2]|0;if(!c){B=41;break a}else{e=o;i=o}}f[s>>2]=i;l=f[q>>2]|0;if(!l){B=41;break}else{j=r;k=q;m=q}}if((B|0)==41)return}function Ad(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=ln(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2980;i=c;f[a>>2]=i;return}case 2:{c=ln(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3036;i=c;f[a>>2]=i;return}case 4:{c=ln(152)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3092;h=c+96|0;b=c+40|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));Zm(h);f[c+136>>2]=0;f[c+140>>2]=0;f[c+144>>2]=0;i=c;f[a>>2]=i;return}case 3:{c=ln(68)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3148;h=c+40|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=ln(84)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=3204;f[c+40>>2]=0;f[c+44>>2]=0;f[c+56>>2]=0;f[c+60>>2]=0;f[c+64>>2]=0;h=c+68|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=ln(120)|0;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=c+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=3260;f[c+44>>2]=0;f[c+48>>2]=0;e=c+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+40>>2]=3316;f[c+68>>2]=1;g=c+72|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;wn(c+88|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function Bd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)Oq(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;Oo(e,16035);f[e>>2]=7256;va(e|0,1112,110)}e=ln(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)Oq(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){g=l;d=m;j=n;b:while(1){o=d;while(1){e=f[o+4>>2]|0;if(!i)if(e>>>0>>0)p=e;else p=(e>>>0)%(c>>>0)|0;else p=e&h;if((p|0)==(k|0))break;q=(f[a>>2]|0)+(p<<2)|0;if(!(f[q>>2]|0))break b;e=f[o>>2]|0;c:do if(!e)r=o;else{s=o+8|0;t=b[s+11>>0]|0;u=t<<24>>24<0;v=t&255;t=u?f[o+12>>2]|0:v;w=(t|0)==0;if(u){u=o;x=e;while(1){y=x+8|0;z=b[y+11>>0]|0;A=z<<24>>24<0;if((t|0)!=((A?f[x+12>>2]|0:z&255)|0)){r=u;break c}if(!w?Vk(f[s>>2]|0,A?f[y>>2]|0:y,t)|0:0){r=u;break c}y=f[x>>2]|0;if(!y){r=x;break c}else{A=x;x=y;u=A}}}if(w){u=o;x=e;while(1){A=b[x+8+11>>0]|0;if((A<<24>>24<0?f[x+12>>2]|0:A&255)|0){r=u;break c}A=f[x>>2]|0;if(!A){r=x;break c}else{y=x;x=A;u=y}}}u=o;x=e;while(1){w=x+8|0;y=b[w+11>>0]|0;A=y<<24>>24<0;if((t|0)!=((A?f[x+12>>2]|0:y&255)|0)){r=u;break c}y=A?f[w>>2]|0:w;if((b[y>>0]|0)==(f[s>>2]&255)<<24>>24){B=s;C=v;D=y}else{r=u;break c}while(1){C=C+-1|0;B=B+1|0;if(!C)break;D=D+1|0;if((b[B>>0]|0)!=(b[D>>0]|0)){r=u;break c}}y=f[x>>2]|0;if(!y){r=x;break}else{w=x;x=y;u=w}}}while(0);f[j>>2]=f[r>>2];f[r>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=o;e=f[g>>2]|0;if(!e){E=43;break a}else o=e}d=f[o>>2]|0;if(!d){E=43;break a}else{g=o;j=o}}f[q>>2]=j;m=f[o>>2]|0;if(!m){E=43;break}else{k=p;l=o;n=o}}if((E|0)==43)return}function Cd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;switch(c|0){case 1:{c=ln(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2616;i=c;f[a>>2]=i;return}case 2:{c=ln(40)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2672;i=c;f[a>>2]=i;return}case 4:{c=ln(152)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2728;h=c+96|0;b=c+40|0;j=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));Zm(h);f[c+136>>2]=0;f[c+140>>2]=0;f[c+144>>2]=0;i=c;f[a>>2]=i;return}case 3:{c=ln(68)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2784;h=c+40|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;i=c;f[a>>2]=i;return}case 5:{c=ln(84)|0;f[c+4>>2]=d;h=c+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=c+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[c>>2]=2840;f[c+40>>2]=0;f[c+44>>2]=0;f[c+56>>2]=0;f[c+60>>2]=0;f[c+64>>2]=0;h=c+68|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];i=c;f[a>>2]=i;return}case 6:{c=ln(120)|0;f[c+4>>2]=d;d=c+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=c+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c>>2]=2896;f[c+44>>2]=0;f[c+48>>2]=0;e=c+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[c+40>>2]=2952;f[c+68>>2]=1;g=c+72|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;wn(c+88|0);i=c;f[a>>2]=i;return}default:{i=0;f[a>>2]=i;return}}}function Dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+48|0;d=c+8|0;e=c+4|0;g=c;h=a+44|0;ci(f[h>>2]|0,b)|0;if(f[h>>2]|0){wn(d);tk(d);i=(f[h>>2]|0)+-1|0;if((i|0)>-1){h=a+40|0;j=i;do{fj(d,(f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);j=j+-1|0}while((j|0)>-1)}ld(d,b);Fj(d)}j=a+56|0;ci(f[j>>2]|0,b)|0;if(f[j>>2]|0){wn(d);tk(d);h=(f[j>>2]|0)+-2|0;if((h|0)>-1){j=a+52|0;i=h;do{fj(d,(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);h=i+1|0;fj(d,(f[(f[j>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)!=0);i=i+-2|0}while((i|0)>-1)}ld(d,b);Fj(d)}i=a+68|0;ci(f[i>>2]|0,b)|0;if(f[i>>2]|0){wn(d);tk(d);j=(f[i>>2]|0)+-3|0;if((j|0)>-1){i=a+64|0;h=j;do{fj(d,(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)!=0);j=h+1|0;fj(d,(f[(f[i>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);j=h+2|0;fj(d,(f[(f[i>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);h=h+-3|0}while((h|0)>-1)}ld(d,b);Fj(d)}h=a+80|0;ci(f[h>>2]|0,b)|0;if(f[h>>2]|0){wn(d);tk(d);i=(f[h>>2]|0)+-4|0;if((i|0)>-1){h=a+76|0;j=i;do{fj(d,(f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);i=j+1|0;fj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);i=j+2|0;fj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);i=j+3|0;fj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);j=j+-4|0}while((j|0)>-1)}ld(d,b);Fj(d)}f[g>>2]=f[a+12>>2];j=b+16|0;h=j;i=f[h>>2]|0;k=f[h+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){l=k;m=i}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;i=j;l=f[i+4>>2]|0;m=f[i>>2]|0}f[g>>2]=f[a+20>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;u=c;return 1}function Ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+48|0;d=c+8|0;e=c+4|0;g=c;h=a+64|0;ci(f[h>>2]|0,b)|0;if(f[h>>2]|0){wn(d);tk(d);i=(f[h>>2]|0)+-1|0;if((i|0)>-1){h=a+60|0;j=i;do{fj(d,(f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);j=j+-1|0}while((j|0)>-1)}ld(d,b);Fj(d)}j=a+76|0;ci(f[j>>2]|0,b)|0;if(f[j>>2]|0){wn(d);tk(d);h=(f[j>>2]|0)+-2|0;if((h|0)>-1){j=a+72|0;i=h;do{fj(d,(f[(f[j>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);h=i+1|0;fj(d,(f[(f[j>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)!=0);i=i+-2|0}while((i|0)>-1)}ld(d,b);Fj(d)}i=a+88|0;ci(f[i>>2]|0,b)|0;if(f[i>>2]|0){wn(d);tk(d);j=(f[i>>2]|0)+-3|0;if((j|0)>-1){i=a+84|0;h=j;do{fj(d,(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0)!=0);j=h+1|0;fj(d,(f[(f[i>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);j=h+2|0;fj(d,(f[(f[i>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);h=h+-3|0}while((h|0)>-1)}ld(d,b);Fj(d)}h=a+100|0;ci(f[h>>2]|0,b)|0;if(f[h>>2]|0){wn(d);tk(d);i=(f[h>>2]|0)+-4|0;if((i|0)>-1){h=a+96|0;j=i;do{fj(d,(f[(f[h>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)|0)!=0);i=j+1|0;fj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);i=j+2|0;fj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);i=j+3|0;fj(d,(f[(f[h>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)!=0);j=j+-4|0}while((j|0)>-1)}ld(d,b);Fj(d)}f[g>>2]=f[a+12>>2];j=b+16|0;h=j;i=f[h>>2]|0;k=f[h+4>>2]|0;if((k|0)>0|(k|0)==0&i>>>0>0){l=k;m=i}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;i=j;l=f[i+4>>2]|0;m=f[i>>2]|0}f[g>>2]=f[a+16>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;u=c;return 1}function Fd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)Oq(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;Oo(e,16035);f[e>>2]=7256;va(e|0,1112,110)}e=ln(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)Oq(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=j;l=g;m=c;n=g}a:while(1){g=l;c=m;j=n;b:while(1){c:do if(i){e=c;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=f[e>>2]|0;d:do if(!u)v=e;else{w=d[q>>1]|0;x=q+2|0;y=e;z=u;while(1){A=z+8|0;if(w<<16>>16!=(d[A>>1]|0)){v=y;break d}if((d[x>>1]|0)!=(d[A+2>>1]|0)){v=y;break d}A=f[z>>2]|0;if(!A){v=z;break}else{B=z;z=A;y=B}}}while(0);f[j>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}else{e=c;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(b>>>0)|0;if((D|0)==(k|0)){p=e;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){r=e;s=D;t=u;break b}u=e+8|0;q=f[e>>2]|0;e:do if(!q)E=e;else{y=d[u>>1]|0;z=u+2|0;x=e;w=q;while(1){B=w+8|0;if(y<<16>>16!=(d[B>>1]|0)){E=x;break e}if((d[z>>1]|0)!=(d[B+2>>1]|0)){E=x;break e}B=f[w>>2]|0;if(!B){E=w;break}else{A=w;w=B;x=A}}}while(0);f[j>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}while(0);c=f[p>>2]|0;if(!c){C=39;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){C=39;break}else{k=s;l=r;n=r}}if((C|0)==39)return}function Gd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)Oq(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;Oo(e,16035);f[e>>2]=7256;va(e|0,1112,110)}e=ln(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)Oq(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){g=l;d=m;j=n;b:while(1){c:do if(i){e=d;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0)){p=e;break c}q=(f[a>>2]|0)+(o<<2)|0;if(!(f[q>>2]|0)){r=e;s=o;t=q;break b}q=e+8|0;u=f[e>>2]|0;d:do if(!u)v=e;else{w=b[q>>0]|0;x=q+1|0;y=e;z=u;while(1){A=z+8|0;if(w<<24>>24!=(b[A>>0]|0)){v=y;break d}if((b[x>>0]|0)!=(b[A+1>>0]|0)){v=y;break d}A=f[z>>2]|0;if(!A){v=z;break}else{B=z;z=A;y=B}}}while(0);f[j>>2]=f[v>>2];f[v>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}else{e=d;while(1){u=f[e+4>>2]|0;if(u>>>0>>0)D=u;else D=(u>>>0)%(c>>>0)|0;if((D|0)==(k|0)){p=e;break c}u=(f[a>>2]|0)+(D<<2)|0;if(!(f[u>>2]|0)){r=e;s=D;t=u;break b}u=e+8|0;q=f[e>>2]|0;e:do if(!q)E=e;else{y=b[u>>0]|0;z=u+1|0;x=e;w=q;while(1){B=w+8|0;if(y<<24>>24!=(b[B>>0]|0)){E=x;break e}if((b[z>>0]|0)!=(b[B+1>>0]|0)){E=x;break e}B=f[w>>2]|0;if(!B){E=w;break}else{A=w;w=B;x=A}}}while(0);f[j>>2]=f[E>>2];f[E>>2]=f[f[(f[a>>2]|0)+(D<<2)>>2]>>2];f[f[(f[a>>2]|0)+(D<<2)>>2]>>2]=e;e=f[g>>2]|0;if(!e){C=39;break a}}}while(0);d=f[p>>2]|0;if(!d){C=39;break a}else{g=p;j=p}}f[t>>2]=j;m=f[r>>2]|0;if(!m){C=39;break}else{k=s;l=r;n=r}}if((C|0)==39)return}function Hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c=u;u=u+48|0;d=c+32|0;e=c+28|0;g=c+16|0;h=c;i=a+16|0;j=f[i>>2]|0;if(j|0){k=f[b>>2]|0;l=i;m=j;a:while(1){j=m;while(1){if((f[j+16>>2]|0)>=(k|0))break;n=f[j+4>>2]|0;if(!n){o=l;break a}else j=n}m=f[j>>2]|0;if(!m){o=j;break}else l=j}if((o|0)!=(i|0)?(k|0)>=(f[o+16>>2]|0):0){p=o;q=p+20|0;u=c;return q|0}}lp(g);f[h>>2]=f[b>>2];b=h+4|0;f[h+8>>2]=0;o=h+12|0;f[o>>2]=0;k=h+8|0;f[b>>2]=k;l=f[g>>2]|0;m=g+4|0;if((l|0)!=(m|0)){n=k;r=l;while(1){l=r+16|0;f[e>>2]=n;f[d>>2]=f[e>>2];ph(b,d,l,l)|0;l=f[r+4>>2]|0;if(!l){s=r+8|0;t=f[s>>2]|0;if((f[t>>2]|0)==(r|0))v=t;else{t=s;do{s=f[t>>2]|0;t=s+8|0;w=f[t>>2]|0}while((f[w>>2]|0)!=(s|0));v=w}}else{t=l;while(1){j=f[t>>2]|0;if(!j)break;else t=j}v=t}if((v|0)==(m|0))break;else r=v}}v=a+12|0;r=f[i>>2]|0;do if(r){d=f[h>>2]|0;e=a+16|0;n=r;while(1){l=f[n+16>>2]|0;if((d|0)<(l|0)){j=f[n>>2]|0;if(!j){x=23;break}else{y=n;z=j}}else{if((l|0)>=(d|0)){x=27;break}A=n+4|0;l=f[A>>2]|0;if(!l){x=26;break}else{y=A;z=l}}e=y;n=z}if((x|0)==23){B=n;C=n;break}else if((x|0)==26){B=n;C=A;break}else if((x|0)==27){B=n;C=e;break}}else{B=i;C=i}while(0);i=f[C>>2]|0;if(!i){x=ln(32)|0;f[x+16>>2]=f[h>>2];A=x+20|0;f[A>>2]=f[b>>2];z=x+24|0;y=f[h+8>>2]|0;f[z>>2]=y;r=f[o>>2]|0;f[x+28>>2]=r;if(!r)f[A>>2]=z;else{f[y+8>>2]=z;f[b>>2]=k;f[k>>2]=0;f[o>>2]=0}f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=B;f[C>>2]=x;B=f[f[v>>2]>>2]|0;if(!B)D=x;else{f[v>>2]=B;D=f[C>>2]|0}Oe(f[a+16>>2]|0,D);D=a+20|0;f[D>>2]=(f[D>>2]|0)+1;E=x}else E=i;Ej(h+4|0,f[k>>2]|0);Ej(g,f[m>>2]|0);p=E;q=p+20|0;u=c;return q|0}function Id(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=b[c+11>>0]|0;e=d<<24>>24<0;g=e?f[c>>2]|0:c;i=e?f[c+4>>2]|0:d&255;if(i>>>0>3){d=g;c=i;e=i;while(1){j=X(h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24,1540483477)|0;c=(X(j>>>24^j,1540483477)|0)^(X(c,1540483477)|0);e=e+-4|0;if(e>>>0<=3)break;else d=d+4|0}d=i+-4|0;e=d&-4;k=d-e|0;l=g+(e+4)|0;m=c}else{k=i;l=g;m=i}switch(k|0){case 3:{n=h[l+2>>0]<<16^m;o=6;break}case 2:{n=m;o=6;break}case 1:{p=m;o=7;break}default:q=m}if((o|0)==6){p=h[l+1>>0]<<8^n;o=7}if((o|0)==7)q=X(p^h[l>>0],1540483477)|0;l=X(q>>>13^q,1540483477)|0;q=l>>>15^l;l=f[a+4>>2]|0;if(!l){r=0;return r|0}p=l+-1|0;n=(p&l|0)==0;if(!n)if(q>>>0>>0)s=q;else s=(q>>>0)%(l>>>0)|0;else s=q&p;m=f[(f[a>>2]|0)+(s<<2)>>2]|0;if(!m){r=0;return r|0}a=f[m>>2]|0;if(!a){r=0;return r|0}m=(i|0)==0;if(n){n=a;a:while(1){k=f[n+4>>2]|0;c=(k|0)==(q|0);if(!(c|(k&p|0)==(s|0))){r=0;o=40;break}do if(c?(k=n+8|0,e=b[k+11>>0]|0,d=e<<24>>24<0,j=e&255,((d?f[n+12>>2]|0:j)|0)==(i|0)):0){e=f[k>>2]|0;t=d?e:k;if(d){if(m){r=n;o=40;break a}if(!(Vk(t,g,i)|0)){r=n;o=40;break a}else break}if(m){r=n;o=40;break a}if((b[g>>0]|0)==(e&255)<<24>>24){e=k;k=j;j=g;do{k=k+-1|0;e=e+1|0;if(!k){r=n;o=40;break a}j=j+1|0}while((b[e>>0]|0)==(b[j>>0]|0))}}while(0);n=f[n>>2]|0;if(!n){r=0;o=40;break}}if((o|0)==40)return r|0}else u=a;b:while(1){a=f[u+4>>2]|0;do if((a|0)==(q|0)){n=u+8|0;p=b[n+11>>0]|0;c=p<<24>>24<0;j=p&255;if(((c?f[u+12>>2]|0:j)|0)==(i|0)){p=f[n>>2]|0;e=c?p:n;if(c){if(m){r=u;o=40;break b}if(!(Vk(e,g,i)|0)){r=u;o=40;break b}else break}if(m){r=u;o=40;break b}if((b[g>>0]|0)==(p&255)<<24>>24){p=n;n=j;j=g;do{n=n+-1|0;p=p+1|0;if(!n){r=u;o=40;break b}j=j+1|0}while((b[p>>0]|0)==(b[j>>0]|0))}}}else{if(a>>>0>>0)v=a;else v=(a>>>0)%(l>>>0)|0;if((v|0)!=(s|0)){r=0;o=40;break b}}while(0);u=f[u>>2]|0;if(!u){r=0;o=40;break}}if((o|0)==40)return r|0;return 0}function Jd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)Oq(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;Oo(d,16035);f[d>>2]=7256;va(d|0,1112,110)}d=ln(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)Oq(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=i;k=e;l=c;m=e}a:while(1){e=k;c=l;i=m;b:while(1){c:do if(h){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0)){o=d;break c}p=(f[a>>2]|0)+(n<<2)|0;if(!(f[p>>2]|0)){q=d;r=n;s=p;break b}p=d+12|0;t=f[d>>2]|0;d:do if(!t)u=d;else{v=f[d+8>>2]|0;w=d;x=t;while(1){if((v|0)!=(f[x+8>>2]|0)){u=w;break d}if((f[p>>2]|0)!=(f[x+12>>2]|0)){u=w;break d}y=f[x>>2]|0;if(!y){u=x;break}else{z=x;x=y;w=z}}}while(0);f[i>>2]=f[u>>2];f[u>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){A=39;break a}}}else{d=c;while(1){p=f[d+4>>2]|0;if(p>>>0>>0)B=p;else B=(p>>>0)%(b>>>0)|0;if((B|0)==(j|0)){o=d;break c}p=(f[a>>2]|0)+(B<<2)|0;if(!(f[p>>2]|0)){q=d;r=B;s=p;break b}p=d+12|0;t=f[d>>2]|0;e:do if(!t)C=d;else{w=f[d+8>>2]|0;x=d;v=t;while(1){if((w|0)!=(f[v+8>>2]|0)){C=x;break e}if((f[p>>2]|0)!=(f[v+12>>2]|0)){C=x;break e}z=f[v>>2]|0;if(!z){C=v;break}else{y=v;v=z;x=y}}}while(0);f[i>>2]=f[C>>2];f[C>>2]=f[f[(f[a>>2]|0)+(B<<2)>>2]>>2];f[f[(f[a>>2]|0)+(B<<2)>>2]>>2]=d;d=f[e>>2]|0;if(!d){A=39;break a}}}while(0);c=f[o>>2]|0;if(!c){A=39;break a}else{e=o;i=o}}f[s>>2]=i;l=f[q>>2]|0;if(!l){A=39;break}else{j=r;k=q;m=q}}if((A|0)==39)return}function Kd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=a+4|0;i=f[c>>2]|0;c=i;do if((i|0)!=(h|0)){j=i+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;m=l?f[i+20>>2]|0:k&255;k=b[g+11>>0]|0;n=k<<24>>24<0;o=n?f[g+4>>2]|0:k&255;k=m>>>0>>0;p=k?m:o;if((p|0)!=0?(q=Vk(n?f[g>>2]|0:g,l?f[j>>2]|0:j,p)|0,(q|0)!=0):0){if((q|0)<0)break}else r=4;if((r|0)==4?o>>>0>>0:0)break;q=o>>>0>>0?o:m;if((q|0)!=0?(m=Vk(l?f[j>>2]|0:j,n?f[g>>2]|0:g,q)|0,(m|0)!=0):0){if((m|0)>=0)r=37}else r=21;if((r|0)==21?!k:0)r=37;if((r|0)==37){f[d>>2]=c;f[e>>2]=c;s=e;return s|0}k=f[i+4>>2]|0;m=(k|0)==0;if(m){q=i+8|0;j=f[q>>2]|0;if((f[j>>2]|0)==(i|0))t=j;else{j=q;do{q=f[j>>2]|0;j=q+8|0;l=f[j>>2]|0}while((f[l>>2]|0)!=(q|0));t=l}}else{j=k;while(1){l=f[j>>2]|0;if(!l)break;else j=l}t=j}do if((t|0)!=(h|0)){k=t+16|0;l=b[k+11>>0]|0;q=l<<24>>24<0;p=q?f[t+20>>2]|0:l&255;l=p>>>0>>0?p:o;if((l|0)!=0?(u=Vk(n?f[g>>2]|0:g,q?f[k>>2]|0:k,l)|0,(u|0)!=0):0){if((u|0)<0)break}else r=31;if((r|0)==31?o>>>0

    >>0:0)break;s=yg(a,d,g)|0;return s|0}while(0);if(m){f[d>>2]=c;s=i+4|0;return s|0}else{f[d>>2]=t;s=t;return s|0}}while(0);t=f[i>>2]|0;do if((f[a>>2]|0)==(i|0))v=c;else{if(!t){h=i;while(1){e=f[h+8>>2]|0;if((f[e>>2]|0)==(h|0))h=e;else{w=e;break}}}else{h=t;while(1){m=f[h+4>>2]|0;if(!m){w=h;break}else h=m}}h=w;m=w+16|0;e=b[g+11>>0]|0;o=e<<24>>24<0;n=o?f[g+4>>2]|0:e&255;e=b[m+11>>0]|0;j=e<<24>>24<0;p=j?f[w+20>>2]|0:e&255;e=n>>>0

    >>0?n:p;if((e|0)!=0?(u=Vk(j?f[m>>2]|0:m,o?f[g>>2]|0:g,e)|0,(u|0)!=0):0){if((u|0)<0){v=h;break}}else r=13;if((r|0)==13?p>>>0>>0:0){v=h;break}s=yg(a,d,g)|0;return s|0}while(0);if(!t){f[d>>2]=i;s=i;return s|0}else{f[d>>2]=v;s=v+4|0;return s|0}return 0}function Ld(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a;h=b;i=h;j=c;k=d;l=k;if(!i){m=(e|0)!=0;if(!l){if(m){f[e>>2]=(g>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (I=n,o)|0}else{if(!m){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;o=0;return (I=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(_(l|0)|0)-(_(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<>>(q>>>0)&s;w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}r=j-1|0;if(r&j|0){s=(_(j|0)|0)+33-(_(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<>>(z>>>0))&y|g<>31;break}if(e|0){f[e>>2]=r&g;f[e+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (I=n,o)|0}else{r=vm(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (I=n,o)|0}}else{if(m){if(e|0){f[e>>2]=(i>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (I=n,o)|0}if(!g){if(e|0){f[e>>2]=0;f[e+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (I=n,o)|0}r=l-1|0;if(!(r&l)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=r&i|b&0}n=0;o=i>>>((vm(l|0)|0)>>>0);return (I=n,o)|0}r=(_(l|0)|0)-(_(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}while(0);if(!t){B=x;C=w;D=v;E=u;F=0;G=0}else{b=c|0|0;c=k|d&0;d=Vn(b|0,c|0,-1,-1)|0;k=I;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;Xn(d|0,k|0,g|0,a|0)|0;i=I;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=Xn(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&c|0)|0;w=I;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;E=v;F=0;G=t}t=C;C=0;if(e|0){f[e>>2]=E;f[e+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|F;o=(t<<1|0>>>31)&-2|G;return (I=n,o)|0}function Md(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=u;u=u+16|0;h=g;f[c+48>>2]=d;f[c+44>>2]=e;e=f[c+8>>2]|0;d=c+12|0;i=f[d>>2]|0;if((i|0)!=(e|0)){j=i;do{i=j+-4|0;f[d>>2]=i;k=f[i>>2]|0;f[i>>2]=0;if(k|0)Va[f[(f[k>>2]|0)+4>>2]&127](k);j=f[d>>2]|0}while((j|0)!=(e|0))}e=f[c+20>>2]|0;j=c+24|0;d=f[j>>2]|0;if((d|0)!=(e|0))f[j>>2]=d+(~((d+-4-e|0)>>>2)<<2);e=f[c+32>>2]|0;d=c+36|0;j=f[d>>2]|0;if((j|0)!=(e|0))f[d>>2]=j+(~((j+-4-e|0)>>>2)<<2);if(!(f[c+4>>2]|0)){e=ln(32)|0;f[h>>2]=e;f[h+8>>2]=-2147483616;f[h+4>>2]=23;l=e;m=15706;n=l+23|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[e+23>>0]=0;f[a>>2]=-1;pj(a+4|0,h);if((b[h+11>>0]|0)<0)Oq(f[h>>2]|0);u=g;return}Ud(a,c);if(f[a>>2]|0){u=g;return}e=a+4|0;j=e+11|0;if((b[j>>0]|0)<0)Oq(f[e>>2]|0);Wi(a,c);if(f[a>>2]|0){u=g;return}if((b[j>>0]|0)<0)Oq(f[e>>2]|0);if(!(Qa[f[(f[c>>2]|0)+16>>2]&127](c)|0)){j=ln(32)|0;f[h>>2]=j;f[h+8>>2]=-2147483616;f[h+4>>2]=29;l=j;m=15730;n=l+29|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[j+29>>0]=0;f[a>>2]=-1;pj(e,h);if((b[h+11>>0]|0)<0)Oq(f[h>>2]|0);u=g;return}if(!(Qa[f[(f[c>>2]|0)+20>>2]&127](c)|0)){j=ln(32)|0;f[h>>2]=j;f[h+8>>2]=-2147483616;f[h+4>>2]=31;l=j;m=15760;n=l+31|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[j+31>>0]=0;f[a>>2]=-1;pj(e,h);if((b[h+11>>0]|0)<0)Oq(f[h>>2]|0);u=g;return}if(!(Qa[f[(f[c>>2]|0)+24>>2]&127](c)|0)){j=ln(32)|0;f[h>>2]=j;f[h+8>>2]=-2147483616;f[h+4>>2]=31;l=j;m=15792;n=l+31|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[j+31>>0]=0;f[a>>2]=-1;pj(e,h);if((b[h+11>>0]|0)<0)Oq(f[h>>2]|0);u=g;return}if(Qa[f[(f[c>>2]|0)+28>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=g;return}c=ln(48)|0;f[h>>2]=c;f[h+8>>2]=-2147483600;f[h+4>>2]=34;l=c;m=15824;n=l+34|0;do{b[l>>0]=b[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));b[c+34>>0]=0;f[a>>2]=-1;pj(e,h);if((b[h+11>>0]|0)<0)Oq(f[h>>2]|0);u=g;return}function Nd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;c=u;u=u+32|0;d=c+4|0;e=c;g=c+16|0;h=a+48|0;i=f[h>>2]|0;j=ln(32)|0;f[d>>2]=j;f[d+8>>2]=-2147483616;f[d+4>>2]=20;k=j;l=14538;m=k+20|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[j+20>>0]=0;j=Fk(i+24|0,d)|0;if((b[d+11>>0]|0)<0)Oq(f[d>>2]|0);i=f[h>>2]|0;n=ln(32)|0;f[d>>2]=n;f[d+8>>2]=-2147483616;f[d+4>>2]=22;k=n;l=14559;m=k+22|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[n+22>>0]=0;n=Fk(i+24|0,d)|0;if((b[d+11>>0]|0)<0)Oq(f[d>>2]|0);i=a+56|0;o=f[i>>2]|0;f[i>>2]=0;if(o|0)Va[f[(f[o>>2]|0)+4>>2]&127](o);o=f[a+52>>2]|0;p=(((f[o+100>>2]|0)-(f[o+96>>2]|0)|0)/12|0)>>>0<1e3;o=f[h>>2]|0;q=ln(32)|0;f[d>>2]=q;f[d+8>>2]=-2147483616;f[d+4>>2]=18;k=q;l=14582;m=k+18|0;do{b[k>>0]=b[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));b[q+18>>0]=0;q=Hk(o,d,-1)|0;if((b[d+11>>0]|0)<0)Oq(f[d>>2]|0);switch(q|0){case -1:{if(j?p|((mi(f[h>>2]|0)|0)>4|n^1):0)r=13;else r=17;break}case 0:{if(j)r=13;else r=21;break}case 2:{r=17;break}default:r=21}if((r|0)==13){j=f[a+44>>2]|0;b[g>>0]=0;n=j+16|0;h=f[n+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[n>>2]|0)>>>0>0)){f[e>>2]=f[j+4>>2];f[d>>2]=f[e>>2];Me(j,d,g,g+1|0)|0}j=ln(296)|0;_i(j);n=f[i>>2]|0;f[i>>2]=j;if(!n)s=j;else{Va[f[(f[n>>2]|0)+4>>2]&127](n);r=21}}else if((r|0)==17){n=f[a+44>>2]|0;b[g>>0]=2;j=n+16|0;h=f[j+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[j>>2]|0)>>>0>0)){f[e>>2]=f[n+4>>2];f[d>>2]=f[e>>2];Me(n,d,g,g+1|0)|0}g=ln(360)|0;xi(g);d=f[i>>2]|0;f[i>>2]=g;if(!d)s=g;else{Va[f[(f[d>>2]|0)+4>>2]&127](d);r=21}}if((r|0)==21){r=f[i>>2]|0;if(!r){t=0;u=c;return t|0}else s=r}t=Ra[f[(f[s>>2]|0)+8>>2]&127](s,a)|0;u=c;return t|0}function Od(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;e=b+12|0;g=f[e>>2]|0;h=c+4|0;i=(f[h>>2]|0)-g|0;j=c;f[j>>2]=(f[c>>2]|0)-g;f[j+4>>2]=i;i=(f[d>>2]|0)-g|0;j=d+4|0;k=(f[j>>2]|0)-g|0;g=d;f[g>>2]=i;f[g+4>>2]=k;g=f[e>>2]|0;if((((k|0)>-1?k:0-k|0)+((i|0)>-1?i:0-i|0)|0)>(g|0)){l=f[c>>2]|0;m=f[h>>2]|0;if((l|0)>-1)if((m|0)<=-1)if((l|0)<1){n=-1;o=-1}else p=6;else{n=1;o=1}else if((m|0)<1){n=-1;o=-1}else p=6;if((p|0)==6){n=(l|0)>0?1:-1;o=(m|0)>0?1:-1}q=X(g,n)|0;r=X(g,o)|0;g=(l<<1)-q|0;f[c>>2]=g;l=(m<<1)-r|0;f[h>>2]=l;if((X(n,o)|0)>-1){o=0-l|0;f[c>>2]=o;s=0-g|0;t=o}else{f[c>>2]=l;s=g;t=l}f[c>>2]=(t+q|0)/2|0;f[h>>2]=(s+r|0)/2|0;r=f[d>>2]|0;s=f[j>>2]|0;if((r|0)>-1)if((s|0)<=-1)if((r|0)<1){u=-1;v=-1}else p=14;else{u=1;v=1}else if((s|0)<1){u=-1;v=-1}else p=14;if((p|0)==14){u=(r|0)>0?1:-1;v=(s|0)>0?1:-1}q=f[e>>2]|0;e=X(q,u)|0;t=X(q,v)|0;q=(r<<1)-e|0;f[d>>2]=q;r=(s<<1)-t|0;f[j>>2]=r;if((X(u,v)|0)>-1){v=0-r|0;f[d>>2]=v;w=0-q|0;x=v}else{f[d>>2]=r;w=q;x=r}r=(x+e|0)/2|0;f[d>>2]=r;e=(w+t|0)/2|0;f[j>>2]=e;y=r;z=e}else{y=i;z=k}if(!y)if(!z){A=y;B=z}else p=22;else if((y|0)<0&(z|0)<1){A=y;B=z}else p=22;if((p|0)==22){if(!y)C=(z|0)==0?0:(z|0)>0?3:1;else C=(y|0)>0?(z>>31)+2|0:(z|0)<1?0:3;z=f[c>>2]|0;y=f[h>>2]|0;switch(C|0){case 1:{C=c;f[C>>2]=y;f[C+4>>2]=0-z;D=f[j>>2]|0;E=0-(f[d>>2]|0)|0;break}case 2:{C=c;f[C>>2]=0-z;f[C+4>>2]=0-y;D=0-(f[d>>2]|0)|0;E=0-(f[j>>2]|0)|0;break}case 3:{C=c;f[C>>2]=0-y;f[C+4>>2]=z;D=0-(f[j>>2]|0)|0;E=f[d>>2]|0;break}default:{C=c;f[C>>2]=z;f[C+4>>2]=y;D=f[d>>2]|0;E=f[j>>2]|0}}j=d;f[j>>2]=D;f[j+4>>2]=E;A=D;B=E}E=(f[c>>2]|0)-A|0;f[a>>2]=E;A=(f[h>>2]|0)-B|0;B=a+4|0;f[B>>2]=A;if((E|0)<0)F=(f[b+4>>2]|0)+E|0;else F=E;f[a>>2]=F;if((A|0)>=0){G=A;f[B>>2]=G;return}G=(f[b+4>>2]|0)+A|0;f[B>>2]=G;return}function Pd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;c=a+4|0;if(!b){e=f[a>>2]|0;f[a>>2]=0;if(e|0)Oq(e);f[c>>2]=0;return}if(b>>>0>1073741823){e=ra(8)|0;Oo(e,16035);f[e>>2]=7256;va(e|0,1112,110)}e=ln(b<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)Oq(g);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;g=f[c>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=b+-1|0;i=(h&b|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(b>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=c;c=f[g>>2]|0;if(!c)return;else{k=j;l=g;m=c;n=g}a:while(1){b:do if(i){g=l;c=m;j=n;while(1){e=c;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0))break;p=(f[a>>2]|0)+(o<<2)|0;if(!(f[p>>2]|0)){q=e;r=j;s=o;t=p;break b}p=e+8|0;u=e;while(1){v=f[u>>2]|0;if(!v)break;if((d[p>>1]|0)==(d[v+8>>1]|0))u=v;else break}f[j>>2]=v;f[u>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;p=f[g>>2]|0;if(!p){w=37;break a}else e=p}c=f[e>>2]|0;if(!c){w=37;break a}else{g=e;j=e}}}else{j=l;g=m;c=n;while(1){p=g;while(1){x=f[p+4>>2]|0;if(x>>>0>>0)y=x;else y=(x>>>0)%(b>>>0)|0;if((y|0)==(k|0))break;x=(f[a>>2]|0)+(y<<2)|0;if(!(f[x>>2]|0)){q=p;r=c;s=y;t=x;break b}x=p+8|0;z=p;while(1){A=f[z>>2]|0;if(!A)break;if((d[x>>1]|0)==(d[A+8>>1]|0))z=A;else break}f[c>>2]=A;f[z>>2]=f[f[(f[a>>2]|0)+(y<<2)>>2]>>2];f[f[(f[a>>2]|0)+(y<<2)>>2]>>2]=p;x=f[j>>2]|0;if(!x){w=37;break a}else p=x}g=f[p>>2]|0;if(!g){w=37;break a}else{j=p;c=p}}}while(0);f[t>>2]=r;m=f[q>>2]|0;if(!m){w=37;break}else{k=s;l=q;n=q}}if((w|0)==37)return}function Qd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)Oq(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;Oo(e,16035);f[e>>2]=7256;va(e|0,1112,110)}e=ln(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)Oq(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{k=j;l=g;m=d;n=g}a:while(1){b:do if(i){g=l;d=m;j=n;while(1){e=d;while(1){o=f[e+4>>2]&h;if((o|0)==(k|0))break;p=(f[a>>2]|0)+(o<<2)|0;if(!(f[p>>2]|0)){q=e;r=j;s=o;t=p;break b}p=e+8|0;u=e;while(1){v=f[u>>2]|0;if(!v)break;if((b[p>>0]|0)==(b[v+8>>0]|0))u=v;else break}f[j>>2]=v;f[u>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;p=f[g>>2]|0;if(!p){w=37;break a}else e=p}d=f[e>>2]|0;if(!d){w=37;break a}else{g=e;j=e}}}else{j=l;g=m;d=n;while(1){p=g;while(1){x=f[p+4>>2]|0;if(x>>>0>>0)y=x;else y=(x>>>0)%(c>>>0)|0;if((y|0)==(k|0))break;x=(f[a>>2]|0)+(y<<2)|0;if(!(f[x>>2]|0)){q=p;r=d;s=y;t=x;break b}x=p+8|0;z=p;while(1){A=f[z>>2]|0;if(!A)break;if((b[x>>0]|0)==(b[A+8>>0]|0))z=A;else break}f[d>>2]=A;f[z>>2]=f[f[(f[a>>2]|0)+(y<<2)>>2]>>2];f[f[(f[a>>2]|0)+(y<<2)>>2]>>2]=p;x=f[j>>2]|0;if(!x){w=37;break a}else p=x}g=f[p>>2]|0;if(!g){w=37;break a}else{j=p;d=p}}}while(0);f[t>>2]=r;m=f[q>>2]|0;if(!m){w=37;break}else{k=s;l=q;n=q}}if((w|0)==37)return}function Rd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=f[c>>2]|0;c=f[b>>2]|0;h=g-c|0;i=a+8|0;j=f[i>>2]|0;if(h>>>0<64){if(j>>>0<=1){k=0;return k|0}l=f[e>>2]|0;m=0;n=1;while(1){o=(f[l+(m<<2)>>2]|0)>>>0>(f[l+(n<<2)>>2]|0)>>>0?n:m;n=n+1|0;if(n>>>0>=j>>>0){k=o;break}else m=o}return k|0}if(j){j=f[a+1128>>2]|0;m=f[e>>2]|0;e=f[a+1140>>2]|0;n=f[d>>2]|0;d=b+4|0;l=b+8|0;if((g|0)==(c|0)){b=0;do{o=j+(b<<2)|0;f[o>>2]=0;p=(f[a>>2]|0)-(f[m+(b<<2)>>2]|0)|0;f[e+(b<<2)>>2]=p;if(p|0){p=f[o>>2]|0;q=h-p|0;f[o>>2]=q>>>0

    >>0?p:q}b=b+1|0;q=f[i>>2]|0}while(b>>>0>>0);r=q}else{b=0;do{q=j+(b<<2)|0;f[q>>2]=0;p=(f[a>>2]|0)-(f[m+(b<<2)>>2]|0)|0;f[e+(b<<2)>>2]=p;if(p|0){o=(f[n+(b<<2)>>2]|0)+(1<>2]|0;s=f[(f[d>>2]|0)+24>>2]|0;t=c;u=f[q>>2]|0;do{v=s+((X(t,p)|0)<<2)+(b<<2)|0;u=u+((f[v>>2]|0)>>>0>>0&1)|0;f[q>>2]=u;t=t+1|0}while((t|0)!=(g|0));t=h-u|0;f[q>>2]=t>>>0>>0?u:t}b=b+1|0;t=f[i>>2]|0}while(b>>>0>>0);r=t}if(r){b=f[a+1140>>2]|0;i=a+1128|0;h=0;g=0;c=0;while(1){if(!(f[b+(g<<2)>>2]|0)){w=h;x=c}else{d=f[(f[i>>2]|0)+(g<<2)>>2]|0;l=h>>>0>>0;w=l?d:h;x=l?g:c}g=g+1|0;if(g>>>0>=r>>>0){y=x;break}else{h=w;c=x}}}else y=0}else y=0;x=a+1088|0;c=a+1104|0;w=f[c>>2]|0;h=32-w|0;if((h|0)<4){r=y&15;g=4-h|0;f[c>>2]=g;h=a+1100|0;i=f[h>>2]|r>>>g;f[h>>2]=i;g=a+1092|0;b=f[g>>2]|0;if((b|0)==(f[a+1096>>2]|0))Ri(x,h);else{f[b>>2]=i;f[g>>2]=b+4}f[h>>2]=r<<32-(f[c>>2]|0);k=y;return k|0}r=a+1100|0;h=f[r>>2]|y<<28>>>w;f[r>>2]=h;b=w+4|0;f[c>>2]=b;if((b|0)!=32){k=y;return k|0}b=a+1092|0;w=f[b>>2]|0;if((w|0)==(f[a+1096>>2]|0))Ri(x,r);else{f[w>>2]=h;f[b>>2]=w+4}f[r>>2]=0;f[c>>2]=0;k=y;return k|0}function Sd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;c=a+4|0;if(!b){d=f[a>>2]|0;f[a>>2]=0;if(d|0)Oq(d);f[c>>2]=0;return}if(b>>>0>1073741823){d=ra(8)|0;Oo(d,16035);f[d>>2]=7256;va(d|0,1112,110)}d=ln(b<<2)|0;e=f[a>>2]|0;f[a>>2]=d;if(e|0)Oq(e);f[c>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));c=a+8|0;e=f[c>>2]|0;if(!e)return;d=f[e+4>>2]|0;g=b+-1|0;h=(g&b|0)==0;if(!h)if(d>>>0>>0)i=d;else i=(d>>>0)%(b>>>0)|0;else i=d&g;f[(f[a>>2]|0)+(i<<2)>>2]=c;c=f[e>>2]|0;if(!c)return;else{j=i;k=e;l=c;m=e}a:while(1){b:do if(h){e=k;c=l;i=m;while(1){d=c;while(1){n=f[d+4>>2]&g;if((n|0)==(j|0))break;o=(f[a>>2]|0)+(n<<2)|0;if(!(f[o>>2]|0)){p=d;q=i;r=n;s=o;break b}o=d+8|0;t=d;while(1){u=f[t>>2]|0;if(!u)break;if((f[o>>2]|0)==(f[u+8>>2]|0))t=u;else break}f[i>>2]=u;f[t>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;o=f[e>>2]|0;if(!o){v=37;break a}else d=o}c=f[d>>2]|0;if(!c){v=37;break a}else{e=d;i=d}}}else{i=k;e=l;c=m;while(1){o=e;while(1){w=f[o+4>>2]|0;if(w>>>0>>0)x=w;else x=(w>>>0)%(b>>>0)|0;if((x|0)==(j|0))break;w=(f[a>>2]|0)+(x<<2)|0;if(!(f[w>>2]|0)){p=o;q=c;r=x;s=w;break b}w=o+8|0;y=o;while(1){z=f[y>>2]|0;if(!z)break;if((f[w>>2]|0)==(f[z+8>>2]|0))y=z;else break}f[c>>2]=z;f[y>>2]=f[f[(f[a>>2]|0)+(x<<2)>>2]>>2];f[f[(f[a>>2]|0)+(x<<2)>>2]>>2]=o;w=f[i>>2]|0;if(!w){v=37;break a}else o=w}e=f[o>>2]|0;if(!e){v=37;break a}else{i=o;c=o}}}while(0);f[s>>2]=q;l=f[p>>2]|0;if(!l){v=37;break}else{j=r;k=p;m=p}}if((v|0)==37)return}function Td(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;d=a+4|0;if(!c){e=f[a>>2]|0;f[a>>2]=0;if(e|0)Oq(e);f[d>>2]=0;return}if(c>>>0>1073741823){e=ra(8)|0;Oo(e,16035);f[e>>2]=7256;va(e|0,1112,110)}e=ln(c<<2)|0;g=f[a>>2]|0;f[a>>2]=e;if(g|0)Oq(g);f[d>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;e=f[g+4>>2]|0;h=c+-1|0;i=(h&c|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(c>>>0)|0;else j=e&h;f[(f[a>>2]|0)+(j<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;e=a+24|0;k=j;j=g;l=d;d=g;a:while(1){g=j;m=l;n=d;b:while(1){o=m;while(1){p=f[o+4>>2]|0;if(!i)if(p>>>0>>0)q=p;else q=(p>>>0)%(c>>>0)|0;else q=p&h;if((q|0)==(k|0))break;r=(f[a>>2]|0)+(q<<2)|0;if(!(f[r>>2]|0))break b;p=f[o>>2]|0;c:do if(!p)s=o;else{t=f[o+8>>2]|0;u=f[e>>2]|0;v=f[u+8>>2]|0;w=(f[u+12>>2]|0)-v|0;u=v;v=w>>>2;if((w|0)>0){x=o;y=p}else{w=p;while(1){z=f[w>>2]|0;if(!z){s=w;break c}else w=z}}while(1){w=f[y+8>>2]|0;z=0;do{A=f[u+(z<<2)>>2]|0;if(!(b[A+84>>0]|0)){B=f[A+68>>2]|0;C=f[B+(w<<2)>>2]|0;D=f[B+(t<<2)>>2]|0}else{C=w;D=t}z=z+1|0;if((D|0)!=(C|0)){s=x;break c}}while((z|0)<(v|0));z=f[y>>2]|0;if(!z){s=y;break}else{w=y;y=z;x=w}}}while(0);f[n>>2]=f[s>>2];f[s>>2]=f[f[(f[a>>2]|0)+(q<<2)>>2]>>2];f[f[(f[a>>2]|0)+(q<<2)>>2]>>2]=o;p=f[g>>2]|0;if(!p){E=38;break a}else o=p}m=f[o>>2]|0;if(!m){E=38;break a}else{g=o;n=o}}f[r>>2]=n;l=f[o>>2]|0;if(!l){E=38;break}else{k=q;j=o;d=o}}if((E|0)==38)return}function Ud(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;e=u;u=u+16|0;g=e+4|0;h=e;i=e+12|0;j=e+11|0;k=e+10|0;l=e+8|0;m=c+44|0;n=f[m>>2]|0;o=n+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[n+4>>2];f[g>>2]=f[h>>2];Me(n,g,15886,15891)|0}n=Qa[f[(f[c>>2]|0)+8>>2]&127](c)|0;b[i>>0]=n;b[j>>0]=2;b[k>>0]=(n&255|0)==0?3:2;n=f[m>>2]|0;o=n+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[n+4>>2];f[g>>2]=f[h>>2];Me(n,g,j,j+1|0)|0;j=f[m>>2]|0;o=j+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[h>>2]=f[j+4>>2];f[g>>2]=f[h>>2];Me(j,g,k,k+1|0)|0;k=f[m>>2]|0;o=k+16|0;p=f[o+4>>2]|0;if((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0){q=h;r=k}else{f[h>>2]=f[k+4>>2];f[g>>2]=f[h>>2];Me(k,g,i,i+1|0)|0;q=h;r=f[m>>2]|0}}else{s=h;t=j;v=6}}else{s=h;t=n;v=6}if((v|0)==6){q=h;r=t}t=Qa[f[(f[c>>2]|0)+12>>2]&127](c)|0;b[l>>0]=t;t=r+16|0;q=f[t+4>>2]|0;if(!((q|0)>0|(q|0)==0&(f[t>>2]|0)>>>0>0)){f[h>>2]=f[r+4>>2];f[g>>2]=f[h>>2];Me(r,g,l,l+1|0)|0}d[l>>1]=(f[(f[c+4>>2]|0)+4>>2]|0)==0?0:-32768;c=f[m>>2]|0;m=c+16|0;r=f[m+4>>2]|0;if((r|0)>0|(r|0)==0&(f[m>>2]|0)>>>0>0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}f[h>>2]=f[c+4>>2];f[g>>2]=f[h>>2];Me(c,g,l,l+2|0)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=e;return}function Vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;e=u;u=u+176|0;g=e+136|0;h=e+104|0;i=e;j=e+72|0;k=ln(88)|0;l=f[c+8>>2]|0;f[k+4>>2]=0;f[k>>2]=3612;m=k+12|0;f[m>>2]=3636;n=k+64|0;f[n>>2]=0;f[k+68>>2]=0;f[k+72>>2]=0;o=k+16|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));f[k+76>>2]=l;f[k+80>>2]=d;q=k+84|0;f[q>>2]=0;r=k;f[h>>2]=3636;s=h+4|0;t=s+4|0;f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;f[t+12>>2]=0;f[t+16>>2]=0;f[t+20>>2]=0;t=f[c+12>>2]|0;v=i+4|0;f[v>>2]=3636;w=i+56|0;f[w>>2]=0;x=i+60|0;f[x>>2]=0;f[i+64>>2]=0;o=i+8|0;p=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=t;f[s>>2]=o;s=((f[o+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0;b[g>>0]=0;qh(h+8|0,s,g);Va[f[(f[h>>2]|0)+8>>2]&127](h);Ff(j,h);Ff(g,j);f[i>>2]=f[g+4>>2];s=i+4|0;fg(s,g)|0;f[g>>2]=3636;o=f[g+20>>2]|0;if(o|0)Oq(o);o=f[g+8>>2]|0;if(o|0)Oq(o);f[i+36>>2]=t;f[i+40>>2]=d;f[i+44>>2]=l;f[i+48>>2]=k;f[j>>2]=3636;l=f[j+20>>2]|0;if(l|0)Oq(l);l=f[j+8>>2]|0;if(l|0)Oq(l);f[q>>2]=c+72;f[k+8>>2]=f[i>>2];fg(m,s)|0;s=k+44|0;k=i+36|0;f[s>>2]=f[k>>2];f[s+4>>2]=f[k+4>>2];f[s+8>>2]=f[k+8>>2];f[s+12>>2]=f[k+12>>2];b[s+16>>0]=b[k+16>>0]|0;ng(n,f[w>>2]|0,f[x>>2]|0);f[a>>2]=r;r=f[w>>2]|0;if(r|0){w=f[x>>2]|0;if((w|0)!=(r|0))f[x>>2]=w+(~((w+-4-r|0)>>>2)<<2);Oq(r)}f[v>>2]=3636;v=f[i+24>>2]|0;if(v|0)Oq(v);v=f[i+12>>2]|0;if(v|0)Oq(v);f[h>>2]=3636;v=f[h+20>>2]|0;if(v|0)Oq(v);v=f[h+8>>2]|0;if(!v){u=e;return}Oq(v);u=e;return}function Wd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=Oa,x=0,y=Oa,z=Oa,A=Oa;e=u;u=u+16|0;g=e;h=a+4|0;if((f[h>>2]|0)!=-1){i=0;u=e;return i|0}f[h>>2]=d;d=b[c+24>>0]|0;h=d<<24>>24;j=a+20|0;n[j>>2]=$(0.0);f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;do if(d<<24>>24)if(d<<24>>24<0)aq(g);else{l=h<<2;m=ln(l)|0;f[g>>2]=m;o=m+(h<<2)|0;f[g+8>>2]=o;sj(m|0,0,l|0)|0;l=m+(h<<2)|0;f[k>>2]=l;p=m;q=l;r=o;break}else{p=0;q=0;r=0}while(0);k=a+8|0;g=f[k>>2]|0;o=a+12|0;if(!g)s=a+16|0;else{l=f[o>>2]|0;if((l|0)!=(g|0))f[o>>2]=l+(~((l+-4-g|0)>>>2)<<2);Oq(g);g=a+16|0;f[g>>2]=0;f[o>>2]=0;f[k>>2]=0;s=g}f[k>>2]=p;f[o>>2]=q;f[s>>2]=r;r=h>>>0>1073741823?-1:h<<2;s=Lq(r)|0;q=Lq(r)|0;r=c+48|0;o=f[r>>2]|0;g=c+40|0;a=f[g>>2]|0;l=f[c>>2]|0;kh(q|0,(f[l>>2]|0)+o|0,a|0)|0;kh(p|0,(f[l>>2]|0)+o|0,a|0)|0;a=r;r=f[a>>2]|0;o=f[a+4>>2]|0;a=g;g=f[a>>2]|0;l=f[a+4>>2]|0;a=f[c>>2]|0;kh(s|0,(f[a>>2]|0)+r|0,g|0)|0;p=f[c+80>>2]|0;a:do if(p>>>0>1){if(d<<24>>24<=0){c=1;while(1){m=un(g|0,l|0,c|0,0)|0;t=Vn(m|0,I|0,r|0,o|0)|0;kh(q|0,(f[a>>2]|0)+t|0,g|0)|0;c=c+1|0;if(c>>>0>=p>>>0)break a}}c=f[k>>2]|0;t=1;do{m=un(g|0,l|0,t|0,0)|0;v=Vn(m|0,I|0,r|0,o|0)|0;kh(q|0,(f[a>>2]|0)+v|0,g|0)|0;v=0;do{m=c+(v<<2)|0;w=$(n[m>>2]);x=q+(v<<2)|0;y=$(n[x>>2]);if(w>y){n[m>>2]=y;z=$(n[x>>2])}else z=y;x=s+(v<<2)|0;if($(n[x>>2])>2]=z;v=v+1|0}while((v|0)!=(h|0));t=t+1|0}while(t>>>0

    >>0)}while(0);if(d<<24>>24>0){d=f[k>>2]|0;k=0;z=$(n[j>>2]);while(1){y=$(n[s+(k<<2)>>2]);w=$(y-$(n[d+(k<<2)>>2]));if(w>z){n[j>>2]=w;A=w}else A=z;k=k+1|0;if((k|0)==(h|0))break;else z=A}}Mq(q);Mq(s);i=1;u=e;return i|0}function Xd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a+8|0;Mh(g,b,d,e);h=d-e|0;if((h|0)>0){d=0-e|0;i=a+16|0;j=a+32|0;k=a+12|0;l=a+28|0;m=a+20|0;n=a+24|0;o=h;h=f[g>>2]|0;while(1){p=b+(o<<2)|0;q=c+(o<<2)|0;if((h|0)>0){r=0;s=p+(d<<2)|0;t=h;while(1){if((t|0)>0){u=0;do{v=f[s+(u<<2)>>2]|0;w=f[i>>2]|0;if((v|0)>(w|0)){x=f[j>>2]|0;f[x+(u<<2)>>2]=w;y=x}else{x=f[k>>2]|0;w=f[j>>2]|0;f[w+(u<<2)>>2]=(v|0)<(x|0)?x:v;y=w}u=u+1|0}while((u|0)<(f[g>>2]|0));z=y}else z=f[j>>2]|0;u=(f[p+(r<<2)>>2]|0)-(f[z+(r<<2)>>2]|0)|0;w=q+(r<<2)|0;f[w>>2]=u;if((u|0)>=(f[l>>2]|0)){if((u|0)>(f[n>>2]|0)){A=u-(f[m>>2]|0)|0;B=31}}else{A=(f[m>>2]|0)+u|0;B=31}if((B|0)==31){B=0;f[w>>2]=A}r=r+1|0;w=f[g>>2]|0;if((r|0)>=(w|0)){C=w;break}else{s=z;t=w}}}else C=h;o=o-e|0;if((o|0)<=0){D=C;break}else h=C}}else D=f[g>>2]|0;C=e>>>0>1073741823?-1:e<<2;e=Lq(C)|0;sj(e|0,0,C|0)|0;if((D|0)<=0){Mq(e);return 1}C=a+16|0;h=a+32|0;o=a+12|0;z=a+28|0;A=a+20|0;m=a+24|0;a=0;n=e;l=D;while(1){if((l|0)>0){D=0;do{j=f[n+(D<<2)>>2]|0;y=f[C>>2]|0;if((j|0)>(y|0)){k=f[h>>2]|0;f[k+(D<<2)>>2]=y;E=k}else{k=f[o>>2]|0;y=f[h>>2]|0;f[y+(D<<2)>>2]=(j|0)<(k|0)?k:j;E=y}D=D+1|0}while((D|0)<(f[g>>2]|0));F=E}else F=f[h>>2]|0;D=(f[b+(a<<2)>>2]|0)-(f[F+(a<<2)>>2]|0)|0;y=c+(a<<2)|0;f[y>>2]=D;if((D|0)>=(f[z>>2]|0)){if((D|0)>(f[m>>2]|0)){G=D-(f[A>>2]|0)|0;B=16}}else{G=(f[A>>2]|0)+D|0;B=16}if((B|0)==16){B=0;f[y>>2]=G}a=a+1|0;l=f[g>>2]|0;if((a|0)>=(l|0))break;else n=F}Mq(e);return 1}function Yd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;e=f[a>>2]|0;g=e;h=(f[b>>2]|0)-g|0;b=e+(h>>2<<2)|0;i=f[c>>2]|0;c=f[d>>2]|0;d=c-i|0;j=d>>2;k=i;l=c;if((d|0)<=0){m=b;return m|0}d=a+8|0;n=f[d>>2]|0;o=a+4|0;p=f[o>>2]|0;q=p;if((j|0)<=(n-q>>2|0)){r=b;s=q-r|0;t=s>>2;if((j|0)>(t|0)){u=k+(t<<2)|0;t=u;if((u|0)==(l|0))v=p;else{w=l+-4-t|0;x=u;u=p;while(1){f[u>>2]=f[x>>2];x=x+4|0;if((x|0)==(l|0))break;else u=u+4|0}u=p+((w>>>2)+1<<2)|0;f[o>>2]=u;v=u}if((s|0)>0){y=t;z=v}else{m=b;return m|0}}else{y=c;z=p}c=z-(b+(j<<2))>>2;v=b+(c<<2)|0;if(v>>>0

    >>0){t=(p+(0-c<<2)+~r|0)>>>2;r=v;s=z;while(1){f[s>>2]=f[r>>2];r=r+4|0;if(r>>>0>=p>>>0)break;else s=s+4|0}f[o>>2]=z+(t+1<<2)}if(c|0){c=v;v=z;do{c=c+-4|0;v=v+-4|0;f[v>>2]=f[c>>2]}while((c|0)!=(b|0))}c=y;if((k|0)==(c|0)){m=b;return m|0}else{A=b;B=k}while(1){f[A>>2]=f[B>>2];B=B+4|0;if((B|0)==(c|0)){m=b;break}else A=A+4|0}return m|0}A=(q-g>>2)+j|0;if(A>>>0>1073741823)aq(a);j=n-g|0;g=j>>1;n=j>>2>>>0<536870911?(g>>>0>>0?A:g):1073741823;g=b;A=h>>2;do if(n)if(n>>>0>1073741823){j=ra(8)|0;Oo(j,16035);f[j>>2]=7256;va(j|0,1112,110)}else{j=ln(n<<2)|0;C=j;D=j;break}else{C=0;D=0}while(0);j=D+(A<<2)|0;A=D+(n<<2)|0;if((l|0)==(k|0))E=j;else{n=((l+-4-i|0)>>>2)+1|0;i=k;k=j;while(1){f[k>>2]=f[i>>2];i=i+4|0;if((i|0)==(l|0))break;else k=k+4|0}E=j+(n<<2)|0}if((h|0)>0)kh(C|0,e|0,h|0)|0;h=q-g|0;if((h|0)>0){kh(E|0,b|0,h|0)|0;F=E+(h>>>2<<2)|0}else F=E;f[a>>2]=D;f[o>>2]=F;f[d>>2]=A;if(!e){m=j;return m|0}Oq(e);m=j;return m|0}function Zd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+48|0;d=c+40|0;e=c+36|0;g=c+32|0;h=c;i=a+60|0;ci(f[i>>2]|0,b)|0;wn(h);tk(h);j=f[a+56>>2]|0;k=f[i>>2]|0;i=k>>>5;l=j+(i<<2)|0;m=k&31;k=(i|0)!=0;a:do if(i|m|0){if(!m){n=1;o=j;p=k;while(1){if(p){q=n;r=0;while(1){s=(f[o>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];m=b+16|0;w=m;v=f[w>>2]|0;j=f[w+4>>2]|0;if((j|0)>0|(j|0)==0&v>>>0>0){x=j;y=v}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;v=m;x=f[v+4>>2]|0;y=f[v>>2]|0}f[g>>2]=f[a+20>>2];if((x|0)>0|(x|0)==0&y>>>0>0){Fj(h);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;Fj(h);u=c;return 1}function _d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;switch(b-a>>2|0){case 2:{d=b+-4|0;e=f[d>>2]|0;g=f[a>>2]|0;h=f[c>>2]|0;i=f[h>>2]|0;j=(f[h+4>>2]|0)-i>>3;if(j>>>0<=e>>>0)aq(h);k=i;if(j>>>0<=g>>>0)aq(h);if((f[k+(e<<3)>>2]|0)>>>0>=(f[k+(g<<3)>>2]|0)>>>0){l=1;return l|0}f[a>>2]=e;f[d>>2]=g;l=1;return l|0}case 3:{Vg(a,a+4|0,b+-4|0,c)|0;l=1;return l|0}case 4:{jh(a,a+4|0,a+8|0,b+-4|0,c)|0;l=1;return l|0}case 5:{ig(a,a+4|0,a+8|0,a+12|0,b+-4|0,c)|0;l=1;return l|0}case 1:case 0:{l=1;return l|0}default:{g=a+8|0;Vg(a,a+4|0,g,c)|0;d=a+12|0;a:do if((d|0)!=(b|0)){e=f[c>>2]|0;k=f[e>>2]|0;h=(f[e+4>>2]|0)-k>>3;j=k;k=d;i=0;m=g;b:while(1){n=f[k>>2]|0;o=f[m>>2]|0;if(h>>>0<=n>>>0){p=14;break}if(h>>>0<=o>>>0){p=16;break}q=j+(n<<3)|0;if((f[q>>2]|0)>>>0<(f[j+(o<<3)>>2]|0)>>>0){r=m;s=k;t=o;while(1){f[s>>2]=t;if((r|0)==(a|0)){u=a;break}o=r+-4|0;t=f[o>>2]|0;if(h>>>0<=t>>>0){p=20;break b}if((f[q>>2]|0)>>>0>=(f[j+(t<<3)>>2]|0)>>>0){u=r;break}else{v=r;r=o;s=v}}f[u>>2]=n;s=i+1|0;if((s|0)==8){w=0;x=(k+4|0)==(b|0);break a}else y=s}else y=i;s=k+4|0;if((s|0)==(b|0)){w=1;x=0;break a}else{r=k;k=s;i=y;m=r}}if((p|0)==14)aq(e);else if((p|0)==16)aq(e);else if((p|0)==20)aq(e)}else{w=1;x=0}while(0);l=x|w;return l|0}}return 0}function $d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+48|0;d=c+40|0;e=c+36|0;g=c+32|0;h=c;i=a+80|0;ci(f[i>>2]|0,b)|0;wn(h);tk(h);j=f[a+76>>2]|0;k=f[i>>2]|0;i=k>>>5;l=j+(i<<2)|0;m=k&31;k=(i|0)!=0;a:do if(i|m|0){if(!m){n=1;o=j;p=k;while(1){if(p){q=n;r=0;while(1){s=(f[o>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];m=b+16|0;w=m;v=f[w>>2]|0;j=f[w+4>>2]|0;if((j|0)>0|(j|0)==0&v>>>0>0){x=j;y=v}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;v=m;x=f[v+4>>2]|0;y=f[v>>2]|0}f[g>>2]=f[a+16>>2];if((x|0)>0|(x|0)==0&y>>>0>0){Fj(h);u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;Fj(h);u=c;return 1}function ae(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=u;u=u+16|0;i=h+4|0;j=h;f[a+72>>2]=e;f[a+64>>2]=g;g=Lq(e>>>0>1073741823?-1:e<<2)|0;k=a+68|0;l=f[k>>2]|0;f[k>>2]=g;if(l|0)Mq(l);l=a+8|0;Mh(l,b,d,e);d=a+56|0;g=f[d>>2]|0;m=f[g+4>>2]|0;n=f[g>>2]|0;o=m-n|0;if((o|0)<=0){u=h;return 1}p=(o>>>2)+-1|0;o=a+16|0;q=a+32|0;r=a+12|0;s=a+28|0;t=a+20|0;v=a+24|0;if(m-n>>2>>>0>p>>>0){w=p;x=n}else{y=g;aq(y)}while(1){f[j>>2]=f[x+(w<<2)>>2];f[i>>2]=f[j>>2];Dc(a,i,b,w);g=X(w,e)|0;n=b+(g<<2)|0;p=c+(g<<2)|0;g=f[l>>2]|0;if((g|0)>0){m=0;z=f[k>>2]|0;A=g;while(1){if((A|0)>0){g=0;do{B=f[z+(g<<2)>>2]|0;C=f[o>>2]|0;if((B|0)>(C|0)){D=f[q>>2]|0;f[D+(g<<2)>>2]=C;E=D}else{D=f[r>>2]|0;C=f[q>>2]|0;f[C+(g<<2)>>2]=(B|0)<(D|0)?D:B;E=C}g=g+1|0}while((g|0)<(f[l>>2]|0));F=E}else F=f[q>>2]|0;g=(f[n+(m<<2)>>2]|0)-(f[F+(m<<2)>>2]|0)|0;C=p+(m<<2)|0;f[C>>2]=g;if((g|0)>=(f[s>>2]|0)){if((g|0)>(f[v>>2]|0)){G=g-(f[t>>2]|0)|0;H=21}}else{G=(f[t>>2]|0)+g|0;H=21}if((H|0)==21){H=0;f[C>>2]=G}m=m+1|0;A=f[l>>2]|0;if((m|0)>=(A|0))break;else z=F}}w=w+-1|0;if((w|0)<=-1){H=5;break}z=f[d>>2]|0;x=f[z>>2]|0;if((f[z+4>>2]|0)-x>>2>>>0<=w>>>0){y=z;H=6;break}}if((H|0)==5){u=h;return 1}else if((H|0)==6)aq(y);return 0} +function $a(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;b=u;u=u+16|0;c=b;do if(a>>>0<245){d=a>>>0<11?16:a+11&-8;e=d>>>3;g=f[4784]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=19176+(i<<1<<2)|0;k=j+8|0;l=f[k>>2]|0;m=l+8|0;n=f[m>>2]|0;if((n|0)==(j|0))f[4784]=g&~(1<>2]=j;f[k>>2]=n}n=i<<3;f[l+4>>2]=n|3;i=l+n+4|0;f[i>>2]=f[i>>2]|1;o=m;u=b;return o|0}m=f[4786]|0;if(d>>>0>m>>>0){if(h|0){i=2<>>12&16;e=i>>>n;i=e>>>5&8;h=e>>>i;e=h>>>2&4;l=h>>>e;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|e|h|l)+(k>>>l)|0;l=19176+(j<<1<<2)|0;k=l+8|0;h=f[k>>2]|0;e=h+8|0;n=f[e>>2]|0;if((n|0)==(l|0)){i=g&~(1<>2]=l;f[k>>2]=n;p=g}n=j<<3;j=n-d|0;f[h+4>>2]=d|3;k=h+d|0;f[k+4>>2]=j|1;f[h+n>>2]=j;if(m|0){n=f[4789]|0;h=m>>>3;l=19176+(h<<1<<2)|0;i=1<>2]|0;r=i}f[r>>2]=n;f[q+12>>2]=n;f[n+8>>2]=q;f[n+12>>2]=l}f[4786]=j;f[4789]=k;o=e;u=b;return o|0}e=f[4785]|0;if(e){k=(e&0-e)+-1|0;j=k>>>12&16;l=k>>>j;k=l>>>5&8;n=l>>>k;l=n>>>2&4;i=n>>>l;n=i>>>1&2;h=i>>>n;i=h>>>1&1;s=f[19440+((k|j|l|n|i)+(h>>>i)<<2)>>2]|0;i=(f[s+4>>2]&-8)-d|0;h=f[s+16+(((f[s+16>>2]|0)==0&1)<<2)>>2]|0;if(!h){t=s;v=i}else{n=s;s=i;i=h;while(1){h=(f[i+4>>2]&-8)-d|0;l=h>>>0>>0;j=l?h:s;h=l?i:n;i=f[i+16+(((f[i+16>>2]|0)==0&1)<<2)>>2]|0;if(!i){t=h;v=j;break}else{n=h;s=j}}}s=t+d|0;if(s>>>0>t>>>0){n=f[t+24>>2]|0;i=f[t+12>>2]|0;do if((i|0)==(t|0)){j=t+20|0;h=f[j>>2]|0;if(!h){l=t+16|0;k=f[l>>2]|0;if(!k){w=0;break}else{x=k;y=l}}else{x=h;y=j}while(1){j=x+20|0;h=f[j>>2]|0;if(h|0){x=h;y=j;continue}j=x+16|0;h=f[j>>2]|0;if(!h)break;else{x=h;y=j}}f[y>>2]=0;w=x}else{j=f[t+8>>2]|0;f[j+12>>2]=i;f[i+8>>2]=j;w=i}while(0);do if(n|0){i=f[t+28>>2]|0;j=19440+(i<<2)|0;if((t|0)==(f[j>>2]|0)){f[j>>2]=w;if(!w){f[4785]=e&~(1<>2]|0)!=(t|0)&1)<<2)>>2]=w;if(!w)break}f[w+24>>2]=n;i=f[t+16>>2]|0;if(i|0){f[w+16>>2]=i;f[i+24>>2]=w}i=f[t+20>>2]|0;if(i|0){f[w+20>>2]=i;f[i+24>>2]=w}}while(0);if(v>>>0<16){n=v+d|0;f[t+4>>2]=n|3;e=t+n+4|0;f[e>>2]=f[e>>2]|1}else{f[t+4>>2]=d|3;f[s+4>>2]=v|1;f[s+v>>2]=v;if(m|0){e=f[4789]|0;n=m>>>3;i=19176+(n<<1<<2)|0;j=1<>2]|0;A=j}f[A>>2]=e;f[z+12>>2]=e;f[e+8>>2]=z;f[e+12>>2]=i}f[4786]=v;f[4789]=s}o=t+8|0;u=b;return o|0}else B=d}else B=d}else B=d}else if(a>>>0<=4294967231){i=a+11|0;e=i&-8;j=f[4785]|0;if(j){n=0-e|0;h=i>>>8;if(h)if(e>>>0>16777215)C=31;else{i=(h+1048320|0)>>>16&8;l=h<>>16&4;k=l<>>16&2;D=14-(h|i|l)+(k<>>15)|0;C=e>>>(D+7|0)&1|D<<1}else C=0;D=f[19440+(C<<2)>>2]|0;a:do if(!D){E=0;F=0;G=n;H=57}else{l=0;k=n;i=D;h=e<<((C|0)==31?0:25-(C>>>1)|0);I=0;while(1){J=(f[i+4>>2]&-8)-e|0;if(J>>>0>>0)if(!J){K=0;L=i;M=i;H=61;break a}else{N=i;O=J}else{N=l;O=k}J=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;P=(J|0)==0|(J|0)==(i|0)?I:J;J=(i|0)==0;if(J){E=P;F=N;G=O;H=57;break}else{l=N;k=O;h=h<<((J^1)&1);I=P}}}while(0);if((H|0)==57){if((E|0)==0&(F|0)==0){D=2<>>12&16;d=D>>>n;D=d>>>5&8;s=d>>>D;d=s>>>2&4;g=s>>>d;s=g>>>1&2;m=g>>>s;g=m>>>1&1;Q=0;R=f[19440+((D|n|d|s|g)+(m>>>g)<<2)>>2]|0}else{Q=F;R=E}if(!R){S=Q;T=G}else{K=G;L=R;M=Q;H=61}}if((H|0)==61)while(1){H=0;g=(f[L+4>>2]&-8)-e|0;m=g>>>0>>0;s=m?g:K;g=m?L:M;L=f[L+16+(((f[L+16>>2]|0)==0&1)<<2)>>2]|0;if(!L){S=g;T=s;break}else{K=s;M=g;H=61}}if((S|0)!=0?T>>>0<((f[4786]|0)-e|0)>>>0:0){g=S+e|0;if(g>>>0<=S>>>0){o=0;u=b;return o|0}s=f[S+24>>2]|0;m=f[S+12>>2]|0;do if((m|0)==(S|0)){d=S+20|0;n=f[d>>2]|0;if(!n){D=S+16|0;I=f[D>>2]|0;if(!I){U=0;break}else{V=I;W=D}}else{V=n;W=d}while(1){d=V+20|0;n=f[d>>2]|0;if(n|0){V=n;W=d;continue}d=V+16|0;n=f[d>>2]|0;if(!n)break;else{V=n;W=d}}f[W>>2]=0;U=V}else{d=f[S+8>>2]|0;f[d+12>>2]=m;f[m+8>>2]=d;U=m}while(0);do if(s){m=f[S+28>>2]|0;d=19440+(m<<2)|0;if((S|0)==(f[d>>2]|0)){f[d>>2]=U;if(!U){d=j&~(1<>2]|0)!=(S|0)&1)<<2)>>2]=U;if(!U){X=j;break}}f[U+24>>2]=s;d=f[S+16>>2]|0;if(d|0){f[U+16>>2]=d;f[d+24>>2]=U}d=f[S+20>>2]|0;if(d){f[U+20>>2]=d;f[d+24>>2]=U;X=j}else X=j}else X=j;while(0);do if(T>>>0>=16){f[S+4>>2]=e|3;f[g+4>>2]=T|1;f[g+T>>2]=T;j=T>>>3;if(T>>>0<256){s=19176+(j<<1<<2)|0;d=f[4784]|0;m=1<>2]|0;Z=m}f[Z>>2]=g;f[Y+12>>2]=g;f[g+8>>2]=Y;f[g+12>>2]=s;break}s=T>>>8;if(s)if(T>>>0>16777215)_=31;else{m=(s+1048320|0)>>>16&8;d=s<>>16&4;j=d<>>16&2;n=14-(s|m|d)+(j<>>15)|0;_=T>>>(n+7|0)&1|n<<1}else _=0;n=19440+(_<<2)|0;f[g+28>>2]=_;d=g+16|0;f[d+4>>2]=0;f[d>>2]=0;d=1<<_;if(!(X&d)){f[4785]=X|d;f[n>>2]=g;f[g+24>>2]=n;f[g+12>>2]=g;f[g+8>>2]=g;break}d=T<<((_|0)==31?0:25-(_>>>1)|0);j=f[n>>2]|0;while(1){if((f[j+4>>2]&-8|0)==(T|0)){H=97;break}$=j+16+(d>>>31<<2)|0;n=f[$>>2]|0;if(!n){H=96;break}else{d=d<<1;j=n}}if((H|0)==96){f[$>>2]=g;f[g+24>>2]=j;f[g+12>>2]=g;f[g+8>>2]=g;break}else if((H|0)==97){d=j+8|0;n=f[d>>2]|0;f[n+12>>2]=g;f[d>>2]=g;f[g+8>>2]=n;f[g+12>>2]=j;f[g+24>>2]=0;break}}else{n=T+e|0;f[S+4>>2]=n|3;d=S+n+4|0;f[d>>2]=f[d>>2]|1}while(0);o=S+8|0;u=b;return o|0}else B=e}else B=e}else B=-1;while(0);S=f[4786]|0;if(S>>>0>=B>>>0){T=S-B|0;$=f[4789]|0;if(T>>>0>15){_=$+B|0;f[4789]=_;f[4786]=T;f[_+4>>2]=T|1;f[$+S>>2]=T;f[$+4>>2]=B|3}else{f[4786]=0;f[4789]=0;f[$+4>>2]=S|3;T=$+S+4|0;f[T>>2]=f[T>>2]|1}o=$+8|0;u=b;return o|0}$=f[4787]|0;if($>>>0>B>>>0){T=$-B|0;f[4787]=T;S=f[4790]|0;_=S+B|0;f[4790]=_;f[_+4>>2]=T|1;f[S+4>>2]=B|3;o=S+8|0;u=b;return o|0}if(!(f[4902]|0)){f[4904]=4096;f[4903]=4096;f[4905]=-1;f[4906]=-1;f[4907]=0;f[4895]=0;f[4902]=c&-16^1431655768;aa=4096}else aa=f[4904]|0;c=B+48|0;S=B+47|0;T=aa+S|0;_=0-aa|0;aa=T&_;if(aa>>>0<=B>>>0){o=0;u=b;return o|0}X=f[4894]|0;if(X|0?(Y=f[4892]|0,Z=Y+aa|0,Z>>>0<=Y>>>0|Z>>>0>X>>>0):0){o=0;u=b;return o|0}b:do if(!(f[4895]&4)){X=f[4790]|0;c:do if(X){Z=19584;while(1){Y=f[Z>>2]|0;if(Y>>>0<=X>>>0?(ba=Z+4|0,(Y+(f[ba>>2]|0)|0)>>>0>X>>>0):0)break;Y=f[Z+8>>2]|0;if(!Y){H=118;break c}else Z=Y}j=T-$&_;if(j>>>0<2147483647){Y=Nl(j|0)|0;if((Y|0)==((f[Z>>2]|0)+(f[ba>>2]|0)|0))if((Y|0)==(-1|0))ca=j;else{da=j;ea=Y;H=135;break b}else{fa=Y;ga=j;H=126}}else ca=0}else H=118;while(0);do if((H|0)==118){X=Nl(0)|0;if((X|0)!=(-1|0)?(e=X,j=f[4903]|0,Y=j+-1|0,U=((Y&e|0)==0?0:(Y+e&0-j)-e|0)+aa|0,e=f[4892]|0,j=U+e|0,U>>>0>B>>>0&U>>>0<2147483647):0){Y=f[4894]|0;if(Y|0?j>>>0<=e>>>0|j>>>0>Y>>>0:0){ca=0;break}Y=Nl(U|0)|0;if((Y|0)==(X|0)){da=U;ea=X;H=135;break b}else{fa=Y;ga=U;H=126}}else ca=0}while(0);do if((H|0)==126){U=0-ga|0;if(!(c>>>0>ga>>>0&(ga>>>0<2147483647&(fa|0)!=(-1|0))))if((fa|0)==(-1|0)){ca=0;break}else{da=ga;ea=fa;H=135;break b}Y=f[4904]|0;X=S-ga+Y&0-Y;if(X>>>0>=2147483647){da=ga;ea=fa;H=135;break b}if((Nl(X|0)|0)==(-1|0)){Nl(U|0)|0;ca=0;break}else{da=X+ga|0;ea=fa;H=135;break b}}while(0);f[4895]=f[4895]|4;ha=ca;H=133}else{ha=0;H=133}while(0);if(((H|0)==133?aa>>>0<2147483647:0)?(ca=Nl(aa|0)|0,aa=Nl(0)|0,fa=aa-ca|0,ga=fa>>>0>(B+40|0)>>>0,!((ca|0)==(-1|0)|ga^1|ca>>>0>>0&((ca|0)!=(-1|0)&(aa|0)!=(-1|0))^1)):0){da=ga?fa:ha;ea=ca;H=135}if((H|0)==135){ca=(f[4892]|0)+da|0;f[4892]=ca;if(ca>>>0>(f[4893]|0)>>>0)f[4893]=ca;ca=f[4790]|0;do if(ca){ha=19584;while(1){ia=f[ha>>2]|0;ja=ha+4|0;ka=f[ja>>2]|0;if((ea|0)==(ia+ka|0)){H=143;break}fa=f[ha+8>>2]|0;if(!fa)break;else ha=fa}if(((H|0)==143?(f[ha+12>>2]&8|0)==0:0)?ea>>>0>ca>>>0&ia>>>0<=ca>>>0:0){f[ja>>2]=ka+da;fa=(f[4787]|0)+da|0;ga=ca+8|0;aa=(ga&7|0)==0?0:0-ga&7;ga=ca+aa|0;S=fa-aa|0;f[4790]=ga;f[4787]=S;f[ga+4>>2]=S|1;f[ca+fa+4>>2]=40;f[4791]=f[4906];break}if(ea>>>0<(f[4788]|0)>>>0)f[4788]=ea;fa=ea+da|0;S=19584;while(1){if((f[S>>2]|0)==(fa|0)){H=151;break}ga=f[S+8>>2]|0;if(!ga){la=19584;break}else S=ga}if((H|0)==151)if(!(f[S+12>>2]&8)){f[S>>2]=ea;ha=S+4|0;f[ha>>2]=(f[ha>>2]|0)+da;ha=ea+8|0;ga=ea+((ha&7|0)==0?0:0-ha&7)|0;ha=fa+8|0;aa=fa+((ha&7|0)==0?0:0-ha&7)|0;ha=ga+B|0;c=aa-ga-B|0;f[ga+4>>2]=B|3;do if((ca|0)!=(aa|0)){if((f[4789]|0)==(aa|0)){ba=(f[4786]|0)+c|0;f[4786]=ba;f[4789]=ha;f[ha+4>>2]=ba|1;f[ha+ba>>2]=ba;break}ba=f[aa+4>>2]|0;if((ba&3|0)==1){_=ba&-8;$=ba>>>3;d:do if(ba>>>0<256){T=f[aa+8>>2]|0;X=f[aa+12>>2]|0;if((X|0)==(T|0)){f[4784]=f[4784]&~(1<<$);break}else{f[T+12>>2]=X;f[X+8>>2]=T;break}}else{T=f[aa+24>>2]|0;X=f[aa+12>>2]|0;do if((X|0)==(aa|0)){U=aa+16|0;Y=U+4|0;j=f[Y>>2]|0;if(!j){e=f[U>>2]|0;if(!e){ma=0;break}else{na=e;oa=U}}else{na=j;oa=Y}while(1){Y=na+20|0;j=f[Y>>2]|0;if(j|0){na=j;oa=Y;continue}Y=na+16|0;j=f[Y>>2]|0;if(!j)break;else{na=j;oa=Y}}f[oa>>2]=0;ma=na}else{Y=f[aa+8>>2]|0;f[Y+12>>2]=X;f[X+8>>2]=Y;ma=X}while(0);if(!T)break;X=f[aa+28>>2]|0;Y=19440+(X<<2)|0;do if((f[Y>>2]|0)!=(aa|0)){f[T+16+(((f[T+16>>2]|0)!=(aa|0)&1)<<2)>>2]=ma;if(!ma)break d}else{f[Y>>2]=ma;if(ma|0)break;f[4785]=f[4785]&~(1<>2]=T;X=aa+16|0;Y=f[X>>2]|0;if(Y|0){f[ma+16>>2]=Y;f[Y+24>>2]=ma}Y=f[X+4>>2]|0;if(!Y)break;f[ma+20>>2]=Y;f[Y+24>>2]=ma}while(0);pa=aa+_|0;qa=_+c|0}else{pa=aa;qa=c}$=pa+4|0;f[$>>2]=f[$>>2]&-2;f[ha+4>>2]=qa|1;f[ha+qa>>2]=qa;$=qa>>>3;if(qa>>>0<256){ba=19176+($<<1<<2)|0;Z=f[4784]|0;Y=1<<$;if(!(Z&Y)){f[4784]=Z|Y;ra=ba;sa=ba+8|0}else{Y=ba+8|0;ra=f[Y>>2]|0;sa=Y}f[sa>>2]=ha;f[ra+12>>2]=ha;f[ha+8>>2]=ra;f[ha+12>>2]=ba;break}ba=qa>>>8;do if(!ba)ta=0;else{if(qa>>>0>16777215){ta=31;break}Y=(ba+1048320|0)>>>16&8;Z=ba<>>16&4;X=Z<<$;Z=(X+245760|0)>>>16&2;j=14-($|Y|Z)+(X<>>15)|0;ta=qa>>>(j+7|0)&1|j<<1}while(0);ba=19440+(ta<<2)|0;f[ha+28>>2]=ta;_=ha+16|0;f[_+4>>2]=0;f[_>>2]=0;_=f[4785]|0;j=1<>2]=ha;f[ha+24>>2]=ba;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}j=qa<<((ta|0)==31?0:25-(ta>>>1)|0);_=f[ba>>2]|0;while(1){if((f[_+4>>2]&-8|0)==(qa|0)){H=192;break}ua=_+16+(j>>>31<<2)|0;ba=f[ua>>2]|0;if(!ba){H=191;break}else{j=j<<1;_=ba}}if((H|0)==191){f[ua>>2]=ha;f[ha+24>>2]=_;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}else if((H|0)==192){j=_+8|0;ba=f[j>>2]|0;f[ba+12>>2]=ha;f[j>>2]=ha;f[ha+8>>2]=ba;f[ha+12>>2]=_;f[ha+24>>2]=0;break}}else{ba=(f[4787]|0)+c|0;f[4787]=ba;f[4790]=ha;f[ha+4>>2]=ba|1}while(0);o=ga+8|0;u=b;return o|0}else la=19584;while(1){ha=f[la>>2]|0;if(ha>>>0<=ca>>>0?(va=ha+(f[la+4>>2]|0)|0,va>>>0>ca>>>0):0)break;la=f[la+8>>2]|0}ga=va+-47|0;ha=ga+8|0;c=ga+((ha&7|0)==0?0:0-ha&7)|0;ha=ca+16|0;ga=c>>>0>>0?ca:c;c=ga+8|0;aa=da+-40|0;fa=ea+8|0;S=(fa&7|0)==0?0:0-fa&7;fa=ea+S|0;ba=aa-S|0;f[4790]=fa;f[4787]=ba;f[fa+4>>2]=ba|1;f[ea+aa+4>>2]=40;f[4791]=f[4906];aa=ga+4|0;f[aa>>2]=27;f[c>>2]=f[4896];f[c+4>>2]=f[4897];f[c+8>>2]=f[4898];f[c+12>>2]=f[4899];f[4896]=ea;f[4897]=da;f[4899]=0;f[4898]=c;c=ga+24|0;do{ba=c;c=c+4|0;f[c>>2]=7}while((ba+8|0)>>>0>>0);if((ga|0)!=(ca|0)){c=ga-ca|0;f[aa>>2]=f[aa>>2]&-2;f[ca+4>>2]=c|1;f[ga>>2]=c;ba=c>>>3;if(c>>>0<256){fa=19176+(ba<<1<<2)|0;S=f[4784]|0;j=1<>2]|0;xa=j}f[xa>>2]=ca;f[wa+12>>2]=ca;f[ca+8>>2]=wa;f[ca+12>>2]=fa;break}fa=c>>>8;if(fa)if(c>>>0>16777215)ya=31;else{j=(fa+1048320|0)>>>16&8;S=fa<>>16&4;ba=S<>>16&2;Z=14-(fa|j|S)+(ba<>>15)|0;ya=c>>>(Z+7|0)&1|Z<<1}else ya=0;Z=19440+(ya<<2)|0;f[ca+28>>2]=ya;f[ca+20>>2]=0;f[ha>>2]=0;S=f[4785]|0;ba=1<>2]=ca;f[ca+24>>2]=Z;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}ba=c<<((ya|0)==31?0:25-(ya>>>1)|0);S=f[Z>>2]|0;while(1){if((f[S+4>>2]&-8|0)==(c|0)){H=213;break}za=S+16+(ba>>>31<<2)|0;Z=f[za>>2]|0;if(!Z){H=212;break}else{ba=ba<<1;S=Z}}if((H|0)==212){f[za>>2]=ca;f[ca+24>>2]=S;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}else if((H|0)==213){ba=S+8|0;c=f[ba>>2]|0;f[c+12>>2]=ca;f[ba>>2]=ca;f[ca+8>>2]=c;f[ca+12>>2]=S;f[ca+24>>2]=0;break}}}else{c=f[4788]|0;if((c|0)==0|ea>>>0>>0)f[4788]=ea;f[4896]=ea;f[4897]=da;f[4899]=0;f[4793]=f[4902];f[4792]=-1;f[4797]=19176;f[4796]=19176;f[4799]=19184;f[4798]=19184;f[4801]=19192;f[4800]=19192;f[4803]=19200;f[4802]=19200;f[4805]=19208;f[4804]=19208;f[4807]=19216;f[4806]=19216;f[4809]=19224;f[4808]=19224;f[4811]=19232;f[4810]=19232;f[4813]=19240;f[4812]=19240;f[4815]=19248;f[4814]=19248;f[4817]=19256;f[4816]=19256;f[4819]=19264;f[4818]=19264;f[4821]=19272;f[4820]=19272;f[4823]=19280;f[4822]=19280;f[4825]=19288;f[4824]=19288;f[4827]=19296;f[4826]=19296;f[4829]=19304;f[4828]=19304;f[4831]=19312;f[4830]=19312;f[4833]=19320;f[4832]=19320;f[4835]=19328;f[4834]=19328;f[4837]=19336;f[4836]=19336;f[4839]=19344;f[4838]=19344;f[4841]=19352;f[4840]=19352;f[4843]=19360;f[4842]=19360;f[4845]=19368;f[4844]=19368;f[4847]=19376;f[4846]=19376;f[4849]=19384;f[4848]=19384;f[4851]=19392;f[4850]=19392;f[4853]=19400;f[4852]=19400;f[4855]=19408;f[4854]=19408;f[4857]=19416;f[4856]=19416;f[4859]=19424;f[4858]=19424;c=da+-40|0;ba=ea+8|0;ha=(ba&7|0)==0?0:0-ba&7;ba=ea+ha|0;ga=c-ha|0;f[4790]=ba;f[4787]=ga;f[ba+4>>2]=ga|1;f[ea+c+4>>2]=40;f[4791]=f[4906]}while(0);ea=f[4787]|0;if(ea>>>0>B>>>0){da=ea-B|0;f[4787]=da;ea=f[4790]|0;ca=ea+B|0;f[4790]=ca;f[ca+4>>2]=da|1;f[ea+4>>2]=B|3;o=ea+8|0;u=b;return o|0}}ea=Vq()|0;f[ea>>2]=12;o=0;u=b;return o|0}function ab(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0.0,Wa=0.0,Xa=0.0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0;i=u;u=u+240|0;j=i+104|0;k=i+224|0;l=i+176|0;m=i+160|0;n=i+228|0;o=i+72|0;p=i+40|0;q=i+132|0;r=i;s=i+172|0;t=i+156|0;v=i+152|0;w=i+148|0;x=i+144|0;y=i+128|0;z=a+8|0;Mh(z,c,e,g);e=f[a+48>>2]|0;A=f[a+52>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{Ci(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(E|0)!=(D|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Ci(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Ci(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Ci(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)aq(m);else{D=g<<2;B=ln(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;sj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+152|0;D=a+156|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(B|0)!=(G|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else Ci(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=ln(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;sj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+56|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=e+64|0;S=e+28|0;T=(g|0)>0;U=r+4|0;V=r+8|0;Z=r+12|0;_=a+152|0;$=a+112|0;aa=r+16|0;ba=r+28|0;ca=a+16|0;da=a+32|0;ea=a+12|0;fa=a+28|0;ga=a+20|0;ha=a+24|0;ia=r+28|0;ja=r+16|0;ka=r+20|0;la=r+32|0;ma=n+1|0;na=g<<2;oa=(g|0)==1;pa=Q+-1|0;if(F-D>>2>>>0>pa>>>0){qa=Q;ra=pa;sa=D;ta=P;ua=O;va=M;wa=M;xa=N;ya=M;za=N}else{Aa=G;aq(Aa)}b:while(1){pa=f[sa+(ra<<2)>>2]|0;Q=(((pa>>>0)%3|0|0)==0?2:-1)+pa|0;Ba=Q>>>5;Ca=1<<(Q&31);Da=(pa|0)==-1|(Q|0)==-1;Ea=1;Fa=0;Ga=pa;c:while(1){Ha=Ea^1;Ia=Fa;Ja=Ga;while(1){if((Ja|0)==-1){Ka=Ia;break c}La=f[l+(Ia*12|0)>>2]|0;if(((f[(f[e>>2]|0)+(Ja>>>5<<2)>>2]&1<<(Ja&31)|0)==0?(Ma=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ja<<2)>>2]|0,(Ma|0)!=-1):0)?(Na=f[S>>2]|0,Oa=f[A>>2]|0,Pa=f[Oa+(f[Na+(Ma<<2)>>2]<<2)>>2]|0,Qa=Ma+1|0,Ra=f[Oa+(f[Na+((((Qa>>>0)%3|0|0)==0?Ma+-2|0:Qa)<<2)>>2]<<2)>>2]|0,Qa=f[Oa+(f[Na+((((Ma>>>0)%3|0|0)==0?2:-1)+Ma<<2)>>2]<<2)>>2]|0,(Pa|0)<(ra|0)&(Ra|0)<(ra|0)&(Qa|0)<(ra|0)):0){Ma=X(Pa,g)|0;Pa=X(Ra,g)|0;Ra=X(Qa,g)|0;if(T){Qa=0;do{f[La+(Qa<<2)>>2]=(f[c+(Qa+Ra<<2)>>2]|0)+(f[c+(Qa+Pa<<2)>>2]|0)-(f[c+(Qa+Ma<<2)>>2]|0);Qa=Qa+1|0}while((Qa|0)!=(g|0))}Qa=Ia+1|0;if((Qa|0)==4){Ka=4;break c}else Sa=Qa}else Sa=Ia;do if(Ea){Qa=Ja+1|0;Ma=((Qa>>>0)%3|0|0)==0?Ja+-2|0:Qa;if(((Ma|0)!=-1?(f[(f[e>>2]|0)+(Ma>>>5<<2)>>2]&1<<(Ma&31)|0)==0:0)?(Qa=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ma<<2)>>2]|0,Ma=Qa+1|0,(Qa|0)!=-1):0)Ta=((Ma>>>0)%3|0|0)==0?Qa+-2|0:Ma;else Ta=-1}else{Ma=(((Ja>>>0)%3|0|0)==0?2:-1)+Ja|0;if(((Ma|0)!=-1?(f[(f[e>>2]|0)+(Ma>>>5<<2)>>2]&1<<(Ma&31)|0)==0:0)?(Qa=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ma<<2)>>2]|0,(Qa|0)!=-1):0)if(!((Qa>>>0)%3|0)){Ta=Qa+2|0;break}else{Ta=Qa+-1|0;break}else Ta=-1}while(0);if((Ta|0)==(pa|0)){Ka=Sa;break c}if((Ta|0)!=-1|Ha){Ia=Sa;Ja=Ta}else break}if(Da){Ea=0;Fa=Sa;Ga=-1;continue}if(f[(f[e>>2]|0)+(Ba<<2)>>2]&Ca|0){Ea=0;Fa=Sa;Ga=-1;continue}Ja=f[(f[(f[R>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0;if((Ja|0)==-1){Ea=0;Fa=Sa;Ga=-1;continue}if(!((Ja>>>0)%3|0)){Ea=0;Fa=Sa;Ga=Ja+2|0;continue}else{Ea=0;Fa=Sa;Ga=Ja+-1|0;continue}}Ga=X(ra,g)|0;f[r>>2]=0;f[U>>2]=0;b[V>>0]=0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;f[Z+16>>2]=0;f[Z+20>>2]=0;f[Z+24>>2]=0;Fa=Ka+-1|0;Ea=p+(Fa<<3)|0;Q=Ea;Ca=Vn(f[Q>>2]|0,f[Q+4>>2]|0,Ka|0,((Ka|0)<0)<<31>>31|0)|0;Q=I;Ba=Ea;f[Ba>>2]=Ca;f[Ba+4>>2]=Q;Ba=c+((X(qa+-2|0,g)|0)<<2)|0;Ea=c+(Ga<<2)|0;Da=f[_>>2]|0;if(T){pa=0;Ja=0;while(1){Ia=(f[Ba+(pa<<2)>>2]|0)-(f[Ea+(pa<<2)>>2]|0)|0;Ha=((Ia|0)>-1?Ia:0-Ia|0)+Ja|0;f[va+(pa<<2)>>2]=Ia;f[Da+(pa<<2)>>2]=Ia<<1^Ia>>31;pa=pa+1|0;if((pa|0)==(g|0)){Ua=Ha;break}else Ja=Ha}}else Ua=0;mo(j,$,Da,g);Ja=Zk(j)|0;pa=I;Ha=Bm(j)|0;Ia=I;Qa=o+(Fa<<3)|0;Ma=Qa;Pa=f[Ma>>2]|0;Ra=f[Ma+4>>2]|0;Va=+wm(Ca,Pa);Ma=Vn(Ha|0,Ia|0,Ja|0,pa|0)|0;Wa=+(Ca>>>0)+4294967296.0*+(Q|0);Xa=+W(+(Va*Wa));pa=Vn(Ma|0,I|0,~~Xa>>>0|0,(+K(Xa)>=1.0?(Xa>0.0?~~+Y(+J(Xa/4294967296.0),4294967295.0)>>>0:~~+W((Xa-+(~~Xa>>>0))/4294967296.0)>>>0):0)|0)|0;Ma=r;f[Ma>>2]=pa;f[Ma+4>>2]=Ua;b[V>>0]=0;f[Z>>2]=0;$f(aa,Ba,Ba+(g<<2)|0);f[s>>2]=ta;f[t>>2]=ua;f[k>>2]=f[s>>2];f[j>>2]=f[t>>2];Jf(ba,k,j);if((Ka|0)<1){Ya=za;Za=ya;_a=xa;$a=wa;ab=ua;bb=ta;cb=ta}else{Ma=n+Ka|0;pa=f[q>>2]|0;Ja=pa;Ia=f[H>>2]|0;Ha=Ma+-1|0;La=(Ha|0)==(n|0);Na=Ma+-2|0;Oa=ma>>>0>>0;db=~Ka;eb=Ka+2+((db|0)>-2?db:-2)|0;db=Ia;fb=Ha>>>0>n>>>0;gb=0;hb=1;while(1){gb=gb+1|0;sj(n|0,1,eb|0)|0;sj(n|0,0,gb|0)|0;ib=Vn(Pa|0,Ra|0,hb|0,0)|0;d:while(1){if(T){sj(f[m>>2]|0,0,na|0)|0;jb=f[m>>2]|0;kb=0;lb=0;while(1){if(!(b[n+kb>>0]|0)){mb=f[l+(kb*12|0)>>2]|0;nb=0;do{ob=jb+(nb<<2)|0;f[ob>>2]=(f[ob>>2]|0)+(f[mb+(nb<<2)>>2]|0);nb=nb+1|0}while((nb|0)!=(g|0));pb=(1<>0]|0))rb=(1<>2]|0;do if(T){f[kb>>2]=(f[kb>>2]|0)/(hb|0)|0;if(!oa){lb=1;do{jb=kb+(lb<<2)|0;f[jb>>2]=(f[jb>>2]|0)/(hb|0)|0;lb=lb+1|0}while((lb|0)!=(g|0));lb=f[_>>2]|0;if(T)sb=lb;else{tb=0;ub=lb;break}}else sb=f[_>>2]|0;lb=0;jb=0;while(1){nb=(f[kb+(lb<<2)>>2]|0)-(f[Ea+(lb<<2)>>2]|0)|0;mb=((nb|0)>-1?nb:0-nb|0)+jb|0;f[pa+(lb<<2)>>2]=nb;f[sb+(lb<<2)>>2]=nb<<1^nb>>31;lb=lb+1|0;if((lb|0)==(g|0)){tb=mb;ub=sb;break}else jb=mb}}else{tb=0;ub=f[_>>2]|0}while(0);mo(j,$,ub,g);kb=Zk(j)|0;jb=I;lb=Bm(j)|0;mb=I;Xa=+wm(Ca,ib);nb=Vn(lb|0,mb|0,kb|0,jb|0)|0;Va=+W(+(Xa*Wa));jb=Vn(nb|0,I|0,~~Va>>>0|0,(+K(Va)>=1.0?(Va>0.0?~~+Y(+J(Va/4294967296.0),4294967295.0)>>>0:~~+W((Va-+(~~Va>>>0))/4294967296.0)>>>0):0)|0)|0;nb=f[r>>2]|0;if(!((nb|0)<=(jb|0)?!((nb|0)>=(jb|0)?(tb|0)<(f[U>>2]|0):0):0)){nb=r;f[nb>>2]=jb;f[nb+4>>2]=tb;b[V>>0]=qb;f[Z>>2]=hb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[k>>2]=f[v>>2];f[j>>2]=f[w>>2];Jf(aa,k,j);f[x>>2]=Ja;f[y>>2]=Ia;f[k>>2]=f[x>>2];f[j>>2]=f[y>>2];Jf(ba,k,j)}if(La)break;vb=b[Ha>>0]|0;nb=-1;jb=vb;while(1){kb=nb+-1|0;wb=Ma+kb|0;mb=jb;jb=b[wb>>0]|0;if((jb&255)<(mb&255))break;if((wb|0)==(n|0)){xb=84;break d}else nb=kb}kb=Ma+nb|0;if((jb&255)<(vb&255)){yb=Ha;zb=vb}else{mb=Ma;lb=Ha;while(1){ob=lb+-1|0;if((jb&255)<(h[mb+-2>>0]|0)){yb=ob;zb=1;break}else{Ab=lb;lb=ob;mb=Ab}}}b[wb>>0]=zb;b[yb>>0]=jb;if((nb|0)<-1){Bb=kb;Cb=Ha}else continue;while(1){mb=b[Bb>>0]|0;b[Bb>>0]=b[Cb>>0]|0;b[Cb>>0]=mb;mb=Bb+1|0;lb=Cb+-1|0;if(mb>>>0>>0){Bb=mb;Cb=lb}else continue d}}if(((xb|0)==84?(xb=0,fb):0)?(ib=b[n>>0]|0,b[n>>0]=vb,b[Ha>>0]=ib,Oa):0){ib=Na;kb=ma;do{nb=b[kb>>0]|0;b[kb>>0]=b[ib>>0]|0;b[ib>>0]=nb;kb=kb+1|0;ib=ib+-1|0}while(kb>>>0>>0)}if((hb|0)>=(Ka|0)){Ya=db;Za=pa;_a=db;$a=pa;ab=Ia;bb=Ja;cb=pa;break}else hb=hb+1|0}}hb=f[Z>>2]|0;pa=Vn(Pa|0,Ra|0,hb|0,((hb|0)<0)<<31>>31|0)|0;hb=Qa;f[hb>>2]=pa;f[hb+4>>2]=I;if(T){hb=f[ba>>2]|0;pa=f[C>>2]|0;Ja=0;do{Ia=f[hb+(Ja<<2)>>2]|0;f[pa+(Ja<<2)>>2]=Ia<<1^Ia>>31;Ja=Ja+1|0}while((Ja|0)!=(g|0));Db=pa}else Db=f[C>>2]|0;lo(j,$,Db,g);if((Ka|0)>0){Eb=a+60+(Fa*12|0)|0;pa=a+60+(Fa*12|0)+4|0;Ja=a+60+(Fa*12|0)+8|0;hb=0;do{Qa=f[pa>>2]|0;Ra=f[Ja>>2]|0;Pa=(Qa|0)==(Ra<<5|0);if(!(1<>0])){if(Pa){if((Qa+1|0)<0){xb=108;break b}Ia=Ra<<6;db=Qa+32&-32;vi(Eb,Qa>>>0<1073741823?(Ia>>>0>>0?db:Ia):2147483647);Fb=f[pa>>2]|0}else Fb=Qa;f[pa>>2]=Fb+1;Ia=(f[Eb>>2]|0)+(Fb>>>5<<2)|0;f[Ia>>2]=f[Ia>>2]|1<<(Fb&31)}else{if(Pa){if((Qa+1|0)<0){xb=113;break b}Pa=Ra<<6;Ra=Qa+32&-32;vi(Eb,Qa>>>0<1073741823?(Pa>>>0>>0?Ra:Pa):2147483647);Gb=f[pa>>2]|0}else Gb=Qa;f[pa>>2]=Gb+1;Qa=(f[Eb>>2]|0)+(Gb>>>5<<2)|0;f[Qa>>2]=f[Qa>>2]&~(1<<(Gb&31))}hb=hb+1|0}while((hb|0)<(Ka|0))}hb=d+(Ga<<2)|0;pa=f[z>>2]|0;if((pa|0)>0){Ja=0;Fa=f[aa>>2]|0;Qa=pa;while(1){if((Qa|0)>0){pa=0;do{Pa=f[Fa+(pa<<2)>>2]|0;Ra=f[ca>>2]|0;if((Pa|0)>(Ra|0)){Ia=f[da>>2]|0;f[Ia+(pa<<2)>>2]=Ra;Hb=Ia}else{Ia=f[ea>>2]|0;Ra=f[da>>2]|0;f[Ra+(pa<<2)>>2]=(Pa|0)<(Ia|0)?Ia:Pa;Hb=Ra}pa=pa+1|0}while((pa|0)<(f[z>>2]|0));Ib=Hb}else Ib=f[da>>2]|0;pa=(f[Ea+(Ja<<2)>>2]|0)-(f[Ib+(Ja<<2)>>2]|0)|0;Ra=hb+(Ja<<2)|0;f[Ra>>2]=pa;do if((pa|0)<(f[fa>>2]|0)){Jb=(f[ga>>2]|0)+pa|0;xb=103}else{if((pa|0)<=(f[ha>>2]|0))break;Jb=pa-(f[ga>>2]|0)|0;xb=103}while(0);if((xb|0)==103){xb=0;f[Ra>>2]=Jb}Ja=Ja+1|0;Qa=f[z>>2]|0;if((Ja|0)>=(Qa|0))break;else Fa=Ib}}Fa=f[ia>>2]|0;if(Fa|0){Qa=f[la>>2]|0;if((Qa|0)!=(Fa|0))f[la>>2]=Qa+(~((Qa+-4-Fa|0)>>>2)<<2);Oq(Fa)}Fa=f[ja>>2]|0;if(Fa|0){Qa=f[ka>>2]|0;if((Qa|0)!=(Fa|0))f[ka>>2]=Qa+(~((Qa+-4-Fa|0)>>>2)<<2);Oq(Fa)}if((qa|0)<=2){Kb=$a;Lb=_a;break a}Fa=f[B>>2]|0;sa=f[Fa>>2]|0;Qa=ra+-1|0;if((f[Fa+4>>2]|0)-sa>>2>>>0<=Qa>>>0){Aa=Fa;xb=18;break}else{Fa=ra;ra=Qa;ta=bb;ua=ab;va=cb;wa=$a;xa=_a;ya=Za;za=Ya;qa=Fa}}if((xb|0)==18)aq(Aa);else if((xb|0)==108)aq(Eb);else if((xb|0)==113)aq(Eb)}else{Kb=M;Lb=N}while(0);N=f[l>>2]|0;if((g|0)>0?(f[N>>2]=0,(g|0)!=1):0){M=1;do{f[N+(M<<2)>>2]=0;M=M+1|0}while((M|0)!=(g|0))}g=f[z>>2]|0;if((g|0)>0){M=a+16|0;Eb=a+32|0;Aa=a+12|0;qa=a+28|0;Ya=a+20|0;za=a+24|0;a=0;Za=N;N=g;while(1){if((N|0)>0){g=0;do{ya=f[Za+(g<<2)>>2]|0;_a=f[M>>2]|0;if((ya|0)>(_a|0)){xa=f[Eb>>2]|0;f[xa+(g<<2)>>2]=_a;Mb=xa}else{xa=f[Aa>>2]|0;_a=f[Eb>>2]|0;f[_a+(g<<2)>>2]=(ya|0)<(xa|0)?xa:ya;Mb=_a}g=g+1|0}while((g|0)<(f[z>>2]|0));Nb=Mb}else Nb=f[Eb>>2]|0;g=(f[c+(a<<2)>>2]|0)-(f[Nb+(a<<2)>>2]|0)|0;_a=d+(a<<2)|0;f[_a>>2]=g;if((g|0)>=(f[qa>>2]|0)){if((g|0)>(f[za>>2]|0)){Ob=g-(f[Ya>>2]|0)|0;xb=139}}else{Ob=(f[Ya>>2]|0)+g|0;xb=139}if((xb|0)==139){xb=0;f[_a>>2]=Ob}a=a+1|0;N=f[z>>2]|0;if((a|0)>=(N|0))break;else Za=Nb}}if(Kb|0){if((Lb|0)!=(Kb|0))f[H>>2]=Lb+(~((Lb+-4-Kb|0)>>>2)<<2);Oq(Kb)}Kb=f[m>>2]|0;if(Kb|0){m=f[E>>2]|0;if((m|0)!=(Kb|0))f[E>>2]=m+(~((m+-4-Kb|0)>>>2)<<2);Oq(Kb)}Kb=f[l+36>>2]|0;if(Kb|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Kb|0))f[m>>2]=E+(~((E+-4-Kb|0)>>>2)<<2);Oq(Kb)}Kb=f[l+24>>2]|0;if(Kb|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Kb|0))f[E>>2]=m+(~((m+-4-Kb|0)>>>2)<<2);Oq(Kb)}Kb=f[l+12>>2]|0;if(Kb|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Kb|0))f[m>>2]=E+(~((E+-4-Kb|0)>>>2)<<2);Oq(Kb)}Kb=f[l>>2]|0;if(!Kb){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Kb|0))f[E>>2]=l+(~((l+-4-Kb|0)>>>2)<<2);Oq(Kb);u=i;return 1}function bb(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0.0,Wa=0.0,Xa=0.0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0;i=u;u=u+240|0;j=i+104|0;k=i+224|0;l=i+176|0;m=i+160|0;n=i+228|0;o=i+72|0;p=i+40|0;q=i+132|0;r=i;s=i+172|0;t=i+156|0;v=i+152|0;w=i+148|0;x=i+144|0;y=i+128|0;z=a+8|0;Mh(z,c,e,g);e=f[a+48>>2]|0;A=f[a+52>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{Ci(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(E|0)!=(D|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Ci(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Ci(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Ci(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)aq(m);else{D=g<<2;B=ln(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;sj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+152|0;D=a+156|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(B|0)!=(G|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else Ci(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=ln(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;sj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+56|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=e+12|0;S=(g|0)>0;T=r+4|0;U=r+8|0;V=r+12|0;Z=a+152|0;_=a+112|0;$=r+16|0;aa=r+28|0;ba=a+16|0;ca=a+32|0;da=a+12|0;ea=a+28|0;fa=a+20|0;ga=a+24|0;ha=r+28|0;ia=r+16|0;ja=r+20|0;ka=r+32|0;la=n+1|0;ma=g<<2;na=(g|0)==1;oa=Q+-1|0;if(F-D>>2>>>0>oa>>>0){pa=Q;qa=oa;ra=D;sa=P;ta=O;ua=M;va=M;wa=N;xa=M;ya=N}else{za=G;aq(za)}b:while(1){oa=f[ra+(qa<<2)>>2]|0;Q=(((oa>>>0)%3|0|0)==0?2:-1)+oa|0;Aa=(oa|0)==-1|(Q|0)==-1;Ba=1;Ca=0;Da=oa;c:while(1){Ea=Ba^1;Fa=Ca;Ga=Da;while(1){if((Ga|0)==-1){Ha=Fa;break c}Ia=f[l+(Fa*12|0)>>2]|0;Ja=f[R>>2]|0;Ka=f[Ja+(Ga<<2)>>2]|0;if((Ka|0)!=-1){La=f[e>>2]|0;Ma=f[A>>2]|0;Na=f[Ma+(f[La+(Ka<<2)>>2]<<2)>>2]|0;Oa=Ka+1|0;Pa=((Oa>>>0)%3|0|0)==0?Ka+-2|0:Oa;if((Pa|0)==-1)Qa=-1;else Qa=f[La+(Pa<<2)>>2]|0;Pa=f[Ma+(Qa<<2)>>2]|0;Oa=(((Ka>>>0)%3|0|0)==0?2:-1)+Ka|0;if((Oa|0)==-1)Ra=-1;else Ra=f[La+(Oa<<2)>>2]|0;Oa=f[Ma+(Ra<<2)>>2]|0;if((Na|0)<(qa|0)&(Pa|0)<(qa|0)&(Oa|0)<(qa|0)){Ma=X(Na,g)|0;Na=X(Pa,g)|0;Pa=X(Oa,g)|0;if(S){Oa=0;do{f[Ia+(Oa<<2)>>2]=(f[c+(Oa+Pa<<2)>>2]|0)+(f[c+(Oa+Na<<2)>>2]|0)-(f[c+(Oa+Ma<<2)>>2]|0);Oa=Oa+1|0}while((Oa|0)!=(g|0))}Oa=Fa+1|0;if((Oa|0)==4){Ha=4;break c}else Sa=Oa}else Sa=Fa}else Sa=Fa;do if(Ba){Oa=Ga+1|0;Ma=((Oa>>>0)%3|0|0)==0?Ga+-2|0:Oa;if((Ma|0)!=-1?(Oa=f[Ja+(Ma<<2)>>2]|0,Ma=Oa+1|0,(Oa|0)!=-1):0)Ta=((Ma>>>0)%3|0|0)==0?Oa+-2|0:Ma;else Ta=-1}else{Ma=(((Ga>>>0)%3|0|0)==0?2:-1)+Ga|0;if((Ma|0)!=-1?(Oa=f[Ja+(Ma<<2)>>2]|0,(Oa|0)!=-1):0)if(!((Oa>>>0)%3|0)){Ta=Oa+2|0;break}else{Ta=Oa+-1|0;break}else Ta=-1}while(0);if((Ta|0)==(oa|0)){Ha=Sa;break c}if((Ta|0)!=-1|Ea){Fa=Sa;Ga=Ta}else break}if(Aa){Ba=0;Ca=Sa;Da=-1;continue}Ga=f[Ja+(Q<<2)>>2]|0;if((Ga|0)==-1){Ba=0;Ca=Sa;Da=-1;continue}if(!((Ga>>>0)%3|0)){Ba=0;Ca=Sa;Da=Ga+2|0;continue}else{Ba=0;Ca=Sa;Da=Ga+-1|0;continue}}Da=X(qa,g)|0;f[r>>2]=0;f[T>>2]=0;b[U>>0]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;f[V+16>>2]=0;f[V+20>>2]=0;f[V+24>>2]=0;Ca=Ha+-1|0;Ba=p+(Ca<<3)|0;Q=Ba;Aa=Vn(f[Q>>2]|0,f[Q+4>>2]|0,Ha|0,((Ha|0)<0)<<31>>31|0)|0;Q=I;oa=Ba;f[oa>>2]=Aa;f[oa+4>>2]=Q;oa=c+((X(pa+-2|0,g)|0)<<2)|0;Ba=c+(Da<<2)|0;Ga=f[Z>>2]|0;if(S){Fa=0;Ea=0;while(1){Oa=(f[oa+(Fa<<2)>>2]|0)-(f[Ba+(Fa<<2)>>2]|0)|0;Ma=((Oa|0)>-1?Oa:0-Oa|0)+Ea|0;f[ua+(Fa<<2)>>2]=Oa;f[Ga+(Fa<<2)>>2]=Oa<<1^Oa>>31;Fa=Fa+1|0;if((Fa|0)==(g|0)){Ua=Ma;break}else Ea=Ma}}else Ua=0;mo(j,_,Ga,g);Ea=Zk(j)|0;Fa=I;Ma=Bm(j)|0;Oa=I;Na=o+(Ca<<3)|0;Pa=Na;Ia=f[Pa>>2]|0;La=f[Pa+4>>2]|0;Va=+wm(Aa,Ia);Pa=Vn(Ma|0,Oa|0,Ea|0,Fa|0)|0;Wa=+(Aa>>>0)+4294967296.0*+(Q|0);Xa=+W(+(Va*Wa));Fa=Vn(Pa|0,I|0,~~Xa>>>0|0,(+K(Xa)>=1.0?(Xa>0.0?~~+Y(+J(Xa/4294967296.0),4294967295.0)>>>0:~~+W((Xa-+(~~Xa>>>0))/4294967296.0)>>>0):0)|0)|0;Pa=r;f[Pa>>2]=Fa;f[Pa+4>>2]=Ua;b[U>>0]=0;f[V>>2]=0;$f($,oa,oa+(g<<2)|0);f[s>>2]=sa;f[t>>2]=ta;f[k>>2]=f[s>>2];f[j>>2]=f[t>>2];Jf(aa,k,j);if((Ha|0)<1){Ya=ya;Za=xa;_a=wa;$a=va;ab=ta;bb=sa;cb=sa}else{Pa=n+Ha|0;Fa=f[q>>2]|0;Ea=Fa;Oa=f[H>>2]|0;Ma=Pa+-1|0;Ka=(Ma|0)==(n|0);db=Pa+-2|0;eb=la>>>0>>0;fb=~Ha;gb=Ha+2+((fb|0)>-2?fb:-2)|0;fb=Oa;hb=Ma>>>0>n>>>0;ib=0;jb=1;while(1){ib=ib+1|0;sj(n|0,1,gb|0)|0;sj(n|0,0,ib|0)|0;kb=Vn(Ia|0,La|0,jb|0,0)|0;d:while(1){if(S){sj(f[m>>2]|0,0,ma|0)|0;lb=f[m>>2]|0;mb=0;nb=0;while(1){if(!(b[n+mb>>0]|0)){ob=f[l+(mb*12|0)>>2]|0;pb=0;do{qb=lb+(pb<<2)|0;f[qb>>2]=(f[qb>>2]|0)+(f[ob+(pb<<2)>>2]|0);pb=pb+1|0}while((pb|0)!=(g|0));rb=(1<>0]|0))tb=(1<>2]|0;do if(S){f[mb>>2]=(f[mb>>2]|0)/(jb|0)|0;if(!na){nb=1;do{lb=mb+(nb<<2)|0;f[lb>>2]=(f[lb>>2]|0)/(jb|0)|0;nb=nb+1|0}while((nb|0)!=(g|0));nb=f[Z>>2]|0;if(S)ub=nb;else{vb=0;wb=nb;break}}else ub=f[Z>>2]|0;nb=0;lb=0;while(1){pb=(f[mb+(nb<<2)>>2]|0)-(f[Ba+(nb<<2)>>2]|0)|0;ob=((pb|0)>-1?pb:0-pb|0)+lb|0;f[Fa+(nb<<2)>>2]=pb;f[ub+(nb<<2)>>2]=pb<<1^pb>>31;nb=nb+1|0;if((nb|0)==(g|0)){vb=ob;wb=ub;break}else lb=ob}}else{vb=0;wb=f[Z>>2]|0}while(0);mo(j,_,wb,g);mb=Zk(j)|0;lb=I;nb=Bm(j)|0;ob=I;Xa=+wm(Aa,kb);pb=Vn(nb|0,ob|0,mb|0,lb|0)|0;Va=+W(+(Xa*Wa));lb=Vn(pb|0,I|0,~~Va>>>0|0,(+K(Va)>=1.0?(Va>0.0?~~+Y(+J(Va/4294967296.0),4294967295.0)>>>0:~~+W((Va-+(~~Va>>>0))/4294967296.0)>>>0):0)|0)|0;pb=f[r>>2]|0;if(!((pb|0)<=(lb|0)?!((pb|0)>=(lb|0)?(vb|0)<(f[T>>2]|0):0):0)){pb=r;f[pb>>2]=lb;f[pb+4>>2]=vb;b[U>>0]=sb;f[V>>2]=jb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[k>>2]=f[v>>2];f[j>>2]=f[w>>2];Jf($,k,j);f[x>>2]=Ea;f[y>>2]=Oa;f[k>>2]=f[x>>2];f[j>>2]=f[y>>2];Jf(aa,k,j)}if(Ka)break;xb=b[Ma>>0]|0;pb=-1;lb=xb;while(1){mb=pb+-1|0;yb=Pa+mb|0;ob=lb;lb=b[yb>>0]|0;if((lb&255)<(ob&255))break;if((yb|0)==(n|0)){zb=84;break d}else pb=mb}mb=Pa+pb|0;if((lb&255)<(xb&255)){Ab=Ma;Bb=xb}else{ob=Pa;nb=Ma;while(1){qb=nb+-1|0;if((lb&255)<(h[ob+-2>>0]|0)){Ab=qb;Bb=1;break}else{Cb=nb;nb=qb;ob=Cb}}}b[yb>>0]=Bb;b[Ab>>0]=lb;if((pb|0)<-1){Db=mb;Eb=Ma}else continue;while(1){ob=b[Db>>0]|0;b[Db>>0]=b[Eb>>0]|0;b[Eb>>0]=ob;ob=Db+1|0;nb=Eb+-1|0;if(ob>>>0>>0){Db=ob;Eb=nb}else continue d}}if(((zb|0)==84?(zb=0,hb):0)?(kb=b[n>>0]|0,b[n>>0]=xb,b[Ma>>0]=kb,eb):0){kb=db;mb=la;do{pb=b[mb>>0]|0;b[mb>>0]=b[kb>>0]|0;b[kb>>0]=pb;mb=mb+1|0;kb=kb+-1|0}while(mb>>>0>>0)}if((jb|0)>=(Ha|0)){Ya=fb;Za=Fa;_a=fb;$a=Fa;ab=Oa;bb=Ea;cb=Fa;break}else jb=jb+1|0}}jb=f[V>>2]|0;Fa=Vn(Ia|0,La|0,jb|0,((jb|0)<0)<<31>>31|0)|0;jb=Na;f[jb>>2]=Fa;f[jb+4>>2]=I;if(S){jb=f[aa>>2]|0;Fa=f[C>>2]|0;Ea=0;do{Oa=f[jb+(Ea<<2)>>2]|0;f[Fa+(Ea<<2)>>2]=Oa<<1^Oa>>31;Ea=Ea+1|0}while((Ea|0)!=(g|0));Fb=Fa}else Fb=f[C>>2]|0;lo(j,_,Fb,g);if((Ha|0)>0){Gb=a+60+(Ca*12|0)|0;Fa=a+60+(Ca*12|0)+4|0;Ea=a+60+(Ca*12|0)+8|0;jb=0;do{Na=f[Fa>>2]|0;La=f[Ea>>2]|0;Ia=(Na|0)==(La<<5|0);if(!(1<>0])){if(Ia){if((Na+1|0)<0){zb=108;break b}Oa=La<<6;fb=Na+32&-32;vi(Gb,Na>>>0<1073741823?(Oa>>>0>>0?fb:Oa):2147483647);Hb=f[Fa>>2]|0}else Hb=Na;f[Fa>>2]=Hb+1;Oa=(f[Gb>>2]|0)+(Hb>>>5<<2)|0;f[Oa>>2]=f[Oa>>2]|1<<(Hb&31)}else{if(Ia){if((Na+1|0)<0){zb=113;break b}Ia=La<<6;La=Na+32&-32;vi(Gb,Na>>>0<1073741823?(Ia>>>0>>0?La:Ia):2147483647);Ib=f[Fa>>2]|0}else Ib=Na;f[Fa>>2]=Ib+1;Na=(f[Gb>>2]|0)+(Ib>>>5<<2)|0;f[Na>>2]=f[Na>>2]&~(1<<(Ib&31))}jb=jb+1|0}while((jb|0)<(Ha|0))}jb=d+(Da<<2)|0;Fa=f[z>>2]|0;if((Fa|0)>0){Ea=0;Ca=f[$>>2]|0;Na=Fa;while(1){if((Na|0)>0){Fa=0;do{Ia=f[Ca+(Fa<<2)>>2]|0;La=f[ba>>2]|0;if((Ia|0)>(La|0)){Oa=f[ca>>2]|0;f[Oa+(Fa<<2)>>2]=La;Jb=Oa}else{Oa=f[da>>2]|0;La=f[ca>>2]|0;f[La+(Fa<<2)>>2]=(Ia|0)<(Oa|0)?Oa:Ia;Jb=La}Fa=Fa+1|0}while((Fa|0)<(f[z>>2]|0));Kb=Jb}else Kb=f[ca>>2]|0;Fa=(f[Ba+(Ea<<2)>>2]|0)-(f[Kb+(Ea<<2)>>2]|0)|0;La=jb+(Ea<<2)|0;f[La>>2]=Fa;do if((Fa|0)<(f[ea>>2]|0)){Lb=(f[fa>>2]|0)+Fa|0;zb=103}else{if((Fa|0)<=(f[ga>>2]|0))break;Lb=Fa-(f[fa>>2]|0)|0;zb=103}while(0);if((zb|0)==103){zb=0;f[La>>2]=Lb}Ea=Ea+1|0;Na=f[z>>2]|0;if((Ea|0)>=(Na|0))break;else Ca=Kb}}Ca=f[ha>>2]|0;if(Ca|0){Na=f[ka>>2]|0;if((Na|0)!=(Ca|0))f[ka>>2]=Na+(~((Na+-4-Ca|0)>>>2)<<2);Oq(Ca)}Ca=f[ia>>2]|0;if(Ca|0){Na=f[ja>>2]|0;if((Na|0)!=(Ca|0))f[ja>>2]=Na+(~((Na+-4-Ca|0)>>>2)<<2);Oq(Ca)}if((pa|0)<=2){Mb=$a;Nb=_a;break a}Ca=f[B>>2]|0;ra=f[Ca>>2]|0;Na=qa+-1|0;if((f[Ca+4>>2]|0)-ra>>2>>>0<=Na>>>0){za=Ca;zb=18;break}else{Ca=qa;qa=Na;sa=bb;ta=ab;ua=cb;va=$a;wa=_a;xa=Za;ya=Ya;pa=Ca}}if((zb|0)==18)aq(za);else if((zb|0)==108)aq(Gb);else if((zb|0)==113)aq(Gb)}else{Mb=M;Nb=N}while(0);N=f[l>>2]|0;if((g|0)>0?(f[N>>2]=0,(g|0)!=1):0){M=1;do{f[N+(M<<2)>>2]=0;M=M+1|0}while((M|0)!=(g|0))}g=f[z>>2]|0;if((g|0)>0){M=a+16|0;Gb=a+32|0;za=a+12|0;pa=a+28|0;Ya=a+20|0;ya=a+24|0;a=0;Za=N;N=g;while(1){if((N|0)>0){g=0;do{xa=f[Za+(g<<2)>>2]|0;_a=f[M>>2]|0;if((xa|0)>(_a|0)){wa=f[Gb>>2]|0;f[wa+(g<<2)>>2]=_a;Ob=wa}else{wa=f[za>>2]|0;_a=f[Gb>>2]|0;f[_a+(g<<2)>>2]=(xa|0)<(wa|0)?wa:xa;Ob=_a}g=g+1|0}while((g|0)<(f[z>>2]|0));Pb=Ob}else Pb=f[Gb>>2]|0;g=(f[c+(a<<2)>>2]|0)-(f[Pb+(a<<2)>>2]|0)|0;_a=d+(a<<2)|0;f[_a>>2]=g;if((g|0)>=(f[pa>>2]|0)){if((g|0)>(f[ya>>2]|0)){Qb=g-(f[Ya>>2]|0)|0;zb=139}}else{Qb=(f[Ya>>2]|0)+g|0;zb=139}if((zb|0)==139){zb=0;f[_a>>2]=Qb}a=a+1|0;N=f[z>>2]|0;if((a|0)>=(N|0))break;else Za=Pb}}if(Mb|0){if((Nb|0)!=(Mb|0))f[H>>2]=Nb+(~((Nb+-4-Mb|0)>>>2)<<2);Oq(Mb)}Mb=f[m>>2]|0;if(Mb|0){m=f[E>>2]|0;if((m|0)!=(Mb|0))f[E>>2]=m+(~((m+-4-Mb|0)>>>2)<<2);Oq(Mb)}Mb=f[l+36>>2]|0;if(Mb|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Mb|0))f[m>>2]=E+(~((E+-4-Mb|0)>>>2)<<2);Oq(Mb)}Mb=f[l+24>>2]|0;if(Mb|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Mb|0))f[E>>2]=m+(~((m+-4-Mb|0)>>>2)<<2);Oq(Mb)}Mb=f[l+12>>2]|0;if(Mb|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Mb|0))f[m>>2]=E+(~((E+-4-Mb|0)>>>2)<<2);Oq(Mb)}Mb=f[l>>2]|0;if(!Mb){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Mb|0))f[E>>2]=l+(~((l+-4-Mb|0)>>>2)<<2);Oq(Mb);u=i;return 1}function cb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=u;u=u+16|0;c=b;d=b+8|0;e=b+4|0;f[d>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;h=g*210|0;f[e>>2]=a-h;i=0;j=g;g=(Hl(6952,7144,e,c)|0)-6952>>2;k=h;a:while(1){l=(f[6952+(g<<2)>>2]|0)+k|0;h=5;while(1){if(h>>>0>=47){m=211;n=i;o=8;break}p=f[6760+(h<<2)>>2]|0;q=(l>>>0)/(p>>>0)|0;if(q>>>0

    >>0){o=106;break a}if((l|0)==(X(q,p)|0)){r=i;break}else h=h+1|0}b:do if((o|0)==8){c:while(1){o=0;h=(l>>>0)/(m>>>0)|0;do if(h>>>0>=m>>>0)if((l|0)!=(X(h,m)|0)){p=m+10|0;q=(l>>>0)/(p>>>0)|0;if(q>>>0>=p>>>0)if((l|0)!=(X(q,p)|0)){q=m+12|0;s=(l>>>0)/(q>>>0)|0;if(s>>>0>=q>>>0)if((l|0)!=(X(s,q)|0)){s=m+16|0;t=(l>>>0)/(s>>>0)|0;if(t>>>0>=s>>>0)if((l|0)!=(X(t,s)|0)){t=m+18|0;v=(l>>>0)/(t>>>0)|0;if(v>>>0>=t>>>0)if((l|0)!=(X(v,t)|0)){v=m+22|0;w=(l>>>0)/(v>>>0)|0;if(w>>>0>=v>>>0)if((l|0)!=(X(w,v)|0)){w=m+28|0;x=(l>>>0)/(w>>>0)|0;if(x>>>0>=w>>>0)if((l|0)==(X(x,w)|0)){y=w;z=9;A=n}else{x=m+30|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+36|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+40|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+42|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+46|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+52|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+58|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+60|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+66|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+70|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+72|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+78|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+82|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+88|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+96|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+100|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+102|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+106|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+108|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+112|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+120|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+126|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+130|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+136|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+138|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+142|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+148|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+150|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+156|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+162|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+166|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+168|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+172|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+178|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+180|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+186|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+190|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+192|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+196|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+198|0;B=(l>>>0)/(x>>>0)|0;if(B>>>0>>0){y=x;z=1;A=l;break}if((l|0)==(X(B,x)|0)){y=x;z=9;A=n;break}x=m+208|0;B=(l>>>0)/(x>>>0)|0;C=B>>>0>>0;D=(l|0)==(X(B,x)|0);y=C|D?x:m+210|0;z=C?1:D?9:0;A=C?l:n}else{y=w;z=1;A=l}}else{y=v;z=9;A=n}else{y=v;z=1;A=l}}else{y=t;z=9;A=n}else{y=t;z=1;A=l}}else{y=s;z=9;A=n}else{y=s;z=1;A=l}}else{y=q;z=9;A=n}else{y=q;z=1;A=l}}else{y=p;z=9;A=n}else{y=p;z=1;A=l}}else{y=m;z=9;A=n}else{y=m;z=1;A=l}while(0);switch(z&15){case 9:{r=A;break b;break}case 0:{m=y;n=A;o=8;break}default:break c}}if(!z)r=A;else{o=107;break a}}while(0);h=g+1|0;p=(h|0)==48;q=j+(p&1)|0;i=r;j=q;g=p?0:h;k=q*210|0}if((o|0)==106){f[d>>2]=l;E=l;break}else if((o|0)==107){f[d>>2]=l;E=A;break}}else{k=Hl(6760,6952,d,c)|0;E=f[k>>2]|0}while(0);u=b;return E|0}function db(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0.0,Ua=0.0,Va=0.0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0;i=u;u=u+256|0;e=i+104|0;j=i+240|0;k=i+224|0;l=i+160|0;m=i+140|0;n=i+248|0;o=i+72|0;p=i+40|0;q=i+128|0;r=i;s=i+232|0;t=i+220|0;v=i+216|0;w=i+212|0;x=i+208|0;y=i+152|0;z=f[a+28>>2]|0;A=f[a+32>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{Ci(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(E|0)!=(D|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Ci(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Ci(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Ci(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)aq(m);else{D=g<<2;B=ln(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;sj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+136|0;D=a+140|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(B|0)!=(G|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else Ci(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=ln(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;sj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+36|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=z+64|0;S=z+28|0;T=(g|0)>0;U=r+4|0;V=r+8|0;Z=r+12|0;_=a+136|0;$=a+96|0;aa=r+16|0;ba=r+28|0;ca=a+8|0;da=j+4|0;ea=k+4|0;fa=e+4|0;ga=r+28|0;ha=r+16|0;ia=r+20|0;ja=r+32|0;ka=n+1|0;la=g<<2;ma=(g|0)==1;na=Q+-1|0;if(F-D>>2>>>0>na>>>0){oa=Q;pa=na;qa=D;ra=P;sa=O;ta=M;ua=M;va=N;wa=M;xa=N}else{ya=G;aq(ya)}b:while(1){na=f[qa+(pa<<2)>>2]|0;Q=(((na>>>0)%3|0|0)==0?2:-1)+na|0;za=Q>>>5;Aa=1<<(Q&31);Ba=(na|0)==-1|(Q|0)==-1;Ca=1;Da=0;Ea=na;c:while(1){Fa=Ca^1;Ga=Da;Ha=Ea;while(1){if((Ha|0)==-1){Ia=Ga;break c}Ja=f[l+(Ga*12|0)>>2]|0;if(((f[(f[z>>2]|0)+(Ha>>>5<<2)>>2]&1<<(Ha&31)|0)==0?(Ka=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ha<<2)>>2]|0,(Ka|0)!=-1):0)?(La=f[S>>2]|0,Ma=f[A>>2]|0,Na=f[Ma+(f[La+(Ka<<2)>>2]<<2)>>2]|0,Oa=Ka+1|0,Pa=f[Ma+(f[La+((((Oa>>>0)%3|0|0)==0?Ka+-2|0:Oa)<<2)>>2]<<2)>>2]|0,Oa=f[Ma+(f[La+((((Ka>>>0)%3|0|0)==0?2:-1)+Ka<<2)>>2]<<2)>>2]|0,(Na|0)<(pa|0)&(Pa|0)<(pa|0)&(Oa|0)<(pa|0)):0){Ka=X(Na,g)|0;Na=X(Pa,g)|0;Pa=X(Oa,g)|0;if(T){Oa=0;do{f[Ja+(Oa<<2)>>2]=(f[c+(Oa+Pa<<2)>>2]|0)+(f[c+(Oa+Na<<2)>>2]|0)-(f[c+(Oa+Ka<<2)>>2]|0);Oa=Oa+1|0}while((Oa|0)!=(g|0))}Oa=Ga+1|0;if((Oa|0)==4){Ia=4;break c}else Qa=Oa}else Qa=Ga;do if(Ca){Oa=Ha+1|0;Ka=((Oa>>>0)%3|0|0)==0?Ha+-2|0:Oa;if(((Ka|0)!=-1?(f[(f[z>>2]|0)+(Ka>>>5<<2)>>2]&1<<(Ka&31)|0)==0:0)?(Oa=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ka<<2)>>2]|0,Ka=Oa+1|0,(Oa|0)!=-1):0)Ra=((Ka>>>0)%3|0|0)==0?Oa+-2|0:Ka;else Ra=-1}else{Ka=(((Ha>>>0)%3|0|0)==0?2:-1)+Ha|0;if(((Ka|0)!=-1?(f[(f[z>>2]|0)+(Ka>>>5<<2)>>2]&1<<(Ka&31)|0)==0:0)?(Oa=f[(f[(f[R>>2]|0)+12>>2]|0)+(Ka<<2)>>2]|0,(Oa|0)!=-1):0)if(!((Oa>>>0)%3|0)){Ra=Oa+2|0;break}else{Ra=Oa+-1|0;break}else Ra=-1}while(0);if((Ra|0)==(na|0)){Ia=Qa;break c}if((Ra|0)!=-1|Fa){Ga=Qa;Ha=Ra}else break}if(Ba){Ca=0;Da=Qa;Ea=-1;continue}if(f[(f[z>>2]|0)+(za<<2)>>2]&Aa|0){Ca=0;Da=Qa;Ea=-1;continue}Ha=f[(f[(f[R>>2]|0)+12>>2]|0)+(Q<<2)>>2]|0;if((Ha|0)==-1){Ca=0;Da=Qa;Ea=-1;continue}if(!((Ha>>>0)%3|0)){Ca=0;Da=Qa;Ea=Ha+2|0;continue}else{Ca=0;Da=Qa;Ea=Ha+-1|0;continue}}Ea=X(pa,g)|0;f[r>>2]=0;f[U>>2]=0;b[V>>0]=0;f[Z>>2]=0;f[Z+4>>2]=0;f[Z+8>>2]=0;f[Z+12>>2]=0;f[Z+16>>2]=0;f[Z+20>>2]=0;f[Z+24>>2]=0;Da=Ia+-1|0;Ca=p+(Da<<3)|0;Q=Ca;Aa=Vn(f[Q>>2]|0,f[Q+4>>2]|0,Ia|0,((Ia|0)<0)<<31>>31|0)|0;Q=I;za=Ca;f[za>>2]=Aa;f[za+4>>2]=Q;za=c+((X(oa+-2|0,g)|0)<<2)|0;Ca=c+(Ea<<2)|0;Ba=f[_>>2]|0;if(T){na=0;Ha=0;while(1){Ga=(f[za+(na<<2)>>2]|0)-(f[Ca+(na<<2)>>2]|0)|0;Fa=((Ga|0)>-1?Ga:0-Ga|0)+Ha|0;f[ta+(na<<2)>>2]=Ga;f[Ba+(na<<2)>>2]=Ga<<1^Ga>>31;na=na+1|0;if((na|0)==(g|0)){Sa=Fa;break}else Ha=Fa}}else Sa=0;mo(e,$,Ba,g);Ha=Zk(e)|0;na=I;Fa=Bm(e)|0;Ga=I;Oa=o+(Da<<3)|0;Ka=Oa;Na=f[Ka>>2]|0;Pa=f[Ka+4>>2]|0;Ta=+wm(Aa,Na);Ka=Vn(Fa|0,Ga|0,Ha|0,na|0)|0;Ua=+(Aa>>>0)+4294967296.0*+(Q|0);Va=+W(+(Ta*Ua));na=Vn(Ka|0,I|0,~~Va>>>0|0,(+K(Va)>=1.0?(Va>0.0?~~+Y(+J(Va/4294967296.0),4294967295.0)>>>0:~~+W((Va-+(~~Va>>>0))/4294967296.0)>>>0):0)|0)|0;Ka=r;f[Ka>>2]=na;f[Ka+4>>2]=Sa;b[V>>0]=0;f[Z>>2]=0;$f(aa,za,za+(g<<2)|0);f[s>>2]=ra;f[t>>2]=sa;f[j>>2]=f[s>>2];f[e>>2]=f[t>>2];Jf(ba,j,e);if((Ia|0)<1){Wa=xa;Xa=wa;Ya=va;Za=ua;_a=sa;$a=ra;ab=ra}else{Ka=n+Ia|0;na=f[q>>2]|0;Ha=na;Ga=f[H>>2]|0;Fa=Ka+-1|0;Ja=(Fa|0)==(n|0);La=Ka+-2|0;Ma=ka>>>0>>0;bb=~Ia;cb=Ia+2+((bb|0)>-2?bb:-2)|0;bb=Ga;db=Fa>>>0>n>>>0;eb=0;fb=1;while(1){eb=eb+1|0;sj(n|0,1,cb|0)|0;sj(n|0,0,eb|0)|0;gb=Vn(Na|0,Pa|0,fb|0,0)|0;d:while(1){if(T){sj(f[m>>2]|0,0,la|0)|0;hb=f[m>>2]|0;ib=0;jb=0;while(1){if(!(b[n+ib>>0]|0)){kb=f[l+(ib*12|0)>>2]|0;lb=0;do{mb=hb+(lb<<2)|0;f[mb>>2]=(f[mb>>2]|0)+(f[kb+(lb<<2)>>2]|0);lb=lb+1|0}while((lb|0)!=(g|0));nb=(1<>0]|0))pb=(1<>2]|0;do if(T){f[ib>>2]=(f[ib>>2]|0)/(fb|0)|0;if(!ma){jb=1;do{hb=ib+(jb<<2)|0;f[hb>>2]=(f[hb>>2]|0)/(fb|0)|0;jb=jb+1|0}while((jb|0)!=(g|0));jb=f[_>>2]|0;if(T)qb=jb;else{rb=0;sb=jb;break}}else qb=f[_>>2]|0;jb=0;hb=0;while(1){lb=(f[ib+(jb<<2)>>2]|0)-(f[Ca+(jb<<2)>>2]|0)|0;kb=((lb|0)>-1?lb:0-lb|0)+hb|0;f[na+(jb<<2)>>2]=lb;f[qb+(jb<<2)>>2]=lb<<1^lb>>31;jb=jb+1|0;if((jb|0)==(g|0)){rb=kb;sb=qb;break}else hb=kb}}else{rb=0;sb=f[_>>2]|0}while(0);mo(e,$,sb,g);ib=Zk(e)|0;hb=I;jb=Bm(e)|0;kb=I;Va=+wm(Aa,gb);lb=Vn(jb|0,kb|0,ib|0,hb|0)|0;Ta=+W(+(Va*Ua));hb=Vn(lb|0,I|0,~~Ta>>>0|0,(+K(Ta)>=1.0?(Ta>0.0?~~+Y(+J(Ta/4294967296.0),4294967295.0)>>>0:~~+W((Ta-+(~~Ta>>>0))/4294967296.0)>>>0):0)|0)|0;lb=f[r>>2]|0;if(!((lb|0)<=(hb|0)?!((lb|0)>=(hb|0)?(rb|0)<(f[U>>2]|0):0):0)){lb=r;f[lb>>2]=hb;f[lb+4>>2]=rb;b[V>>0]=ob;f[Z>>2]=fb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[j>>2]=f[v>>2];f[e>>2]=f[w>>2];Jf(aa,j,e);f[x>>2]=Ha;f[y>>2]=Ga;f[j>>2]=f[x>>2];f[e>>2]=f[y>>2];Jf(ba,j,e)}if(Ja)break;tb=b[Fa>>0]|0;lb=-1;hb=tb;while(1){ib=lb+-1|0;ub=Ka+ib|0;kb=hb;hb=b[ub>>0]|0;if((hb&255)<(kb&255))break;if((ub|0)==(n|0)){vb=84;break d}else lb=ib}ib=Ka+lb|0;if((hb&255)<(tb&255)){wb=Fa;xb=tb}else{kb=Ka;jb=Fa;while(1){mb=jb+-1|0;if((hb&255)<(h[kb+-2>>0]|0)){wb=mb;xb=1;break}else{yb=jb;jb=mb;kb=yb}}}b[ub>>0]=xb;b[wb>>0]=hb;if((lb|0)<-1){zb=ib;Ab=Fa}else continue;while(1){kb=b[zb>>0]|0;b[zb>>0]=b[Ab>>0]|0;b[Ab>>0]=kb;kb=zb+1|0;jb=Ab+-1|0;if(kb>>>0>>0){zb=kb;Ab=jb}else continue d}}if(((vb|0)==84?(vb=0,db):0)?(gb=b[n>>0]|0,b[n>>0]=tb,b[Fa>>0]=gb,Ma):0){gb=La;ib=ka;do{lb=b[ib>>0]|0;b[ib>>0]=b[gb>>0]|0;b[gb>>0]=lb;ib=ib+1|0;gb=gb+-1|0}while(ib>>>0>>0)}if((fb|0)>=(Ia|0)){Wa=bb;Xa=na;Ya=bb;Za=na;_a=Ga;$a=Ha;ab=na;break}else fb=fb+1|0}}fb=f[Z>>2]|0;na=Vn(Na|0,Pa|0,fb|0,((fb|0)<0)<<31>>31|0)|0;fb=Oa;f[fb>>2]=na;f[fb+4>>2]=I;if(T){fb=f[ba>>2]|0;na=f[C>>2]|0;Ha=0;do{Ga=f[fb+(Ha<<2)>>2]|0;f[na+(Ha<<2)>>2]=Ga<<1^Ga>>31;Ha=Ha+1|0}while((Ha|0)!=(g|0));Bb=na}else Bb=f[C>>2]|0;lo(e,$,Bb,g);if((Ia|0)>0){Cb=a+40+(Da*12|0)|0;na=a+40+(Da*12|0)+4|0;Ha=a+40+(Da*12|0)+8|0;fb=0;do{Oa=f[na>>2]|0;Pa=f[Ha>>2]|0;Na=(Oa|0)==(Pa<<5|0);if(!(1<>0])){if(Na){if((Oa+1|0)<0){vb=95;break b}Ga=Pa<<6;bb=Oa+32&-32;vi(Cb,Oa>>>0<1073741823?(Ga>>>0>>0?bb:Ga):2147483647);Db=f[na>>2]|0}else Db=Oa;f[na>>2]=Db+1;Ga=(f[Cb>>2]|0)+(Db>>>5<<2)|0;f[Ga>>2]=f[Ga>>2]|1<<(Db&31)}else{if(Na){if((Oa+1|0)<0){vb=100;break b}Na=Pa<<6;Pa=Oa+32&-32;vi(Cb,Oa>>>0<1073741823?(Na>>>0>>0?Pa:Na):2147483647);Eb=f[na>>2]|0}else Eb=Oa;f[na>>2]=Eb+1;Oa=(f[Cb>>2]|0)+(Eb>>>5<<2)|0;f[Oa>>2]=f[Oa>>2]&~(1<<(Eb&31))}fb=fb+1|0}while((fb|0)<(Ia|0))}fb=f[aa>>2]|0;na=d+(Ea<<2)|0;Ha=f[Ca+4>>2]|0;Da=f[fb>>2]|0;Oa=f[fb+4>>2]|0;f[j>>2]=f[Ca>>2];f[da>>2]=Ha;f[k>>2]=Da;f[ea>>2]=Oa;Od(e,ca,j,k);f[na>>2]=f[e>>2];f[na+4>>2]=f[fa>>2];na=f[ga>>2]|0;if(na|0){Oa=f[ja>>2]|0;if((Oa|0)!=(na|0))f[ja>>2]=Oa+(~((Oa+-4-na|0)>>>2)<<2);Oq(na)}na=f[ha>>2]|0;if(na|0){Oa=f[ia>>2]|0;if((Oa|0)!=(na|0))f[ia>>2]=Oa+(~((Oa+-4-na|0)>>>2)<<2);Oq(na)}if((oa|0)<=2){Fb=Za;Gb=Ya;break a}na=f[B>>2]|0;qa=f[na>>2]|0;Oa=pa+-1|0;if((f[na+4>>2]|0)-qa>>2>>>0<=Oa>>>0){ya=na;vb=18;break}else{na=pa;pa=Oa;ra=$a;sa=_a;ta=ab;ua=Za;va=Ya;wa=Xa;xa=Wa;oa=na}}if((vb|0)==18)aq(ya);else if((vb|0)==95)aq(Cb);else if((vb|0)==100)aq(Cb)}else{Fb=M;Gb=N}while(0);if((g|0)>0)sj(f[l>>2]|0,0,g<<2|0)|0;g=f[l>>2]|0;N=f[c+4>>2]|0;M=f[g>>2]|0;Cb=f[g+4>>2]|0;f[j>>2]=f[c>>2];f[j+4>>2]=N;f[k>>2]=M;f[k+4>>2]=Cb;Od(e,a+8|0,j,k);f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];if(Fb|0){if((Gb|0)!=(Fb|0))f[H>>2]=Gb+(~((Gb+-4-Fb|0)>>>2)<<2);Oq(Fb)}Fb=f[m>>2]|0;if(Fb|0){m=f[E>>2]|0;if((m|0)!=(Fb|0))f[E>>2]=m+(~((m+-4-Fb|0)>>>2)<<2);Oq(Fb)}Fb=f[l+36>>2]|0;if(Fb|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Fb|0))f[m>>2]=E+(~((E+-4-Fb|0)>>>2)<<2);Oq(Fb)}Fb=f[l+24>>2]|0;if(Fb|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Fb|0))f[E>>2]=m+(~((m+-4-Fb|0)>>>2)<<2);Oq(Fb)}Fb=f[l+12>>2]|0;if(Fb|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Fb|0))f[m>>2]=E+(~((E+-4-Fb|0)>>>2)<<2);Oq(Fb)}Fb=f[l>>2]|0;if(!Fb){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Fb|0))f[E>>2]=l+(~((l+-4-Fb|0)>>>2)<<2);Oq(Fb);u=i;return 1}function eb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0;c=u;u=u+32|0;d=c+16|0;e=c+4|0;g=c;f[a+36>>2]=b;h=a+24|0;i=a+28|0;j=f[i>>2]|0;k=f[h>>2]|0;l=j-k>>2;m=k;k=j;if(l>>>0>=b>>>0){if(l>>>0>b>>>0?(j=m+(b<<2)|0,(j|0)!=(k|0)):0)f[i>>2]=k+(~((k+-4-j|0)>>>2)<<2)}else Ch(h,b-l|0,6140);f[d>>2]=0;l=d+4|0;f[l>>2]=0;j=d+8|0;f[j>>2]=0;if(b){if((b|0)<0)aq(d);k=((b+-1|0)>>>5)+1|0;m=ln(k<<2)|0;f[d>>2]=m;f[j>>2]=k;f[l>>2]=b;k=b>>>5;sj(m|0,0,k<<2|0)|0;n=b&31;o=m+(k<<2)|0;k=m;if(!n){p=b;q=k;r=m}else{f[o>>2]=f[o>>2]&~(-1>>>(32-n|0));p=b;q=k;r=m}}else{p=0;q=0;r=0}m=a+4|0;k=f[a>>2]|0;n=(f[m>>2]|0)-k|0;o=n>>2;f[e>>2]=0;s=e+4|0;f[s>>2]=0;t=e+8|0;f[t>>2]=0;do if(o){if((n|0)<0)aq(e);v=((o+-1|0)>>>5)+1|0;w=ln(v<<2)|0;f[e>>2]=w;f[t>>2]=v;f[s>>2]=o;v=o>>>5;sj(w|0,0,v<<2|0)|0;x=o&31;y=w+(v<<2)|0;if(x|0)f[y>>2]=f[y>>2]&~(-1>>>(32-x|0));if(o>>>0>2){x=a+12|0;y=a+32|0;v=a+52|0;w=a+56|0;z=a+48|0;A=b;B=k;C=0;D=q;E=r;a:while(1){F=B;G=C*3|0;if((G|0)!=-1){H=f[F+(G<<2)>>2]|0;I=G+1|0;J=((I>>>0)%3|0|0)==0?G+-2|0:I;if((J|0)==-1)K=-1;else K=f[F+(J<<2)>>2]|0;J=(((G>>>0)%3|0|0)==0?2:-1)+G|0;if((J|0)==-1)L=-1;else L=f[F+(J<<2)>>2]|0;if((H|0)!=(K|0)?!((H|0)==(L|0)|(K|0)==(L|0)):0){H=0;J=A;F=E;I=D;while(1){M=H+G|0;if(!(f[(f[e>>2]|0)+(M>>>5<<2)>>2]&1<<(M&31))){N=f[(f[a>>2]|0)+(M<<2)>>2]|0;f[g>>2]=N;if(!(f[F+(N>>>5<<2)>>2]&1<<(N&31))){O=0;P=J;Q=N}else{N=f[i>>2]|0;if((N|0)==(f[y>>2]|0))Ri(h,6140);else{f[N>>2]=-1;f[i>>2]=N+4}N=f[v>>2]|0;if((N|0)==(f[w>>2]|0))Ri(z,g);else{f[N>>2]=f[g>>2];f[v>>2]=N+4}N=f[l>>2]|0;R=f[j>>2]|0;if((N|0)==(R<<5|0)){if((N+1|0)<0){S=50;break a}T=R<<6;R=N+32&-32;vi(d,N>>>0<1073741823?(T>>>0>>0?R:T):2147483647);U=f[l>>2]|0}else U=N;f[l>>2]=U+1;N=(f[d>>2]|0)+(U>>>5<<2)|0;f[N>>2]=f[N>>2]&~(1<<(U&31));f[g>>2]=J;O=1;P=J+1|0;Q=J}N=f[d>>2]|0;T=N+(Q>>>5<<2)|0;f[T>>2]=f[T>>2]|1<<(Q&31);T=N;b:do if(O){R=M;while(1){if((R|0)==-1){S=64;break b}V=(f[e>>2]|0)+(R>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(R&31);V=f[g>>2]|0;f[(f[h>>2]|0)+(V<<2)>>2]=R;f[(f[a>>2]|0)+(R<<2)>>2]=V;V=R+1|0;W=((V>>>0)%3|0|0)==0?R+-2|0:V;do if((W|0)==-1)X=-1;else{V=f[(f[x>>2]|0)+(W<<2)>>2]|0;Y=V+1|0;if((V|0)==-1){X=-1;break}X=((Y>>>0)%3|0|0)==0?V+-2|0:Y}while(0);if((X|0)==(M|0))break;else R=X}}else{R=M;while(1){if((R|0)==-1){S=64;break b}W=(f[e>>2]|0)+(R>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(R&31);f[(f[h>>2]|0)+(f[g>>2]<<2)>>2]=R;W=R+1|0;Y=((W>>>0)%3|0|0)==0?R+-2|0:W;do if((Y|0)==-1)Z=-1;else{W=f[(f[x>>2]|0)+(Y<<2)>>2]|0;V=W+1|0;if((W|0)==-1){Z=-1;break}Z=((V>>>0)%3|0|0)==0?W+-2|0:V}while(0);if((Z|0)==(M|0))break;else R=Z}}while(0);c:do if((S|0)==64){S=0;if((M|0)==-1)break;R=(((M>>>0)%3|0|0)==0?2:-1)+M|0;if((R|0)==-1)break;Y=f[(f[x>>2]|0)+(R<<2)>>2]|0;if((Y|0)==-1)break;R=Y+(((Y>>>0)%3|0|0)==0?2:-1)|0;if((R|0)==-1)break;if(!O){Y=R;while(1){V=(f[e>>2]|0)+(Y>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(Y&31);V=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((V|0)==-1)break c;W=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((W|0)==-1)break c;Y=W+(((W>>>0)%3|0|0)==0?2:-1)|0;if((Y|0)==-1)break c}}Y=f[a>>2]|0;W=R;do{V=(f[e>>2]|0)+(W>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(W&31);f[Y+(W<<2)>>2]=f[g>>2];V=(((W>>>0)%3|0|0)==0?2:-1)+W|0;if((V|0)==-1)break c;_=f[(f[x>>2]|0)+(V<<2)>>2]|0;if((_|0)==-1)break c;W=_+(((_>>>0)%3|0|0)==0?2:-1)|0}while((W|0)!=-1)}while(0);$=P;aa=T;ba=N}else{$=J;aa=I;ba=F}if((H|0)<2){H=H+1|0;J=$;F=ba;I=aa}else{ca=$;da=aa;ea=ba;break}}}else{ca=A;da=D;ea=E}}else{ca=A;da=D;ea=E}C=C+1|0;B=f[a>>2]|0;if(C>>>0>=(((f[m>>2]|0)-B>>2>>>0)/3|0)>>>0){S=18;break}else{A=ca;D=da;E=ea}}if((S|0)==18){fa=da;ga=f[l>>2]|0;break}else if((S|0)==50)aq(d)}else{fa=q;ga=p}}else{fa=q;ga=p}while(0);p=a+44|0;f[p>>2]=0;a=fa;fa=ga>>>5;q=a+(fa<<2)|0;S=ga&31;ga=(fa|0)!=0;d:do if(fa|S|0)if(!S){l=a;da=0;ea=ga;while(1){e:do if(ea){if(!(f[l>>2]&1)){ca=da+1|0;f[p>>2]=ca;ha=ca}else ha=da;if(!(f[l>>2]&2)){ca=ha+1|0;f[p>>2]=ca;ia=ca}else ia=ha;if(!(f[l>>2]&4)){ca=ia+1|0;f[p>>2]=ca;ja=ca}else ja=ia;if(!(f[l>>2]&8)){ca=ja+1|0;f[p>>2]=ca;ka=ca}else ka=ja;if(!(f[l>>2]&16)){ca=ka+1|0;f[p>>2]=ca;la=ca}else la=ka;if(!(f[l>>2]&32)){ca=la+1|0;f[p>>2]=ca;ma=ca}else ma=la;if(!(f[l>>2]&64)){ca=ma+1|0;f[p>>2]=ca;na=ca}else na=ma;if(!(f[l>>2]&128)){ca=na+1|0;f[p>>2]=ca;oa=ca}else oa=na;if(!(f[l>>2]&256)){ca=oa+1|0;f[p>>2]=ca;pa=ca}else pa=oa;if(!(f[l>>2]&512)){ca=pa+1|0;f[p>>2]=ca;qa=ca}else qa=pa;if(!(f[l>>2]&1024)){ca=qa+1|0;f[p>>2]=ca;ra=ca}else ra=qa;if(!(f[l>>2]&2048)){ca=ra+1|0;f[p>>2]=ca;sa=ca}else sa=ra;if(!(f[l>>2]&4096)){ca=sa+1|0;f[p>>2]=ca;ta=ca}else ta=sa;if(!(f[l>>2]&8192)){ca=ta+1|0;f[p>>2]=ca;ua=ca}else ua=ta;if(!(f[l>>2]&16384)){ca=ua+1|0;f[p>>2]=ca;va=ca}else va=ua;if(!(f[l>>2]&32768)){ca=va+1|0;f[p>>2]=ca;wa=ca}else wa=va;if(!(f[l>>2]&65536)){ca=wa+1|0;f[p>>2]=ca;xa=ca}else xa=wa;if(!(f[l>>2]&131072)){ca=xa+1|0;f[p>>2]=ca;ya=ca}else ya=xa;if(!(f[l>>2]&262144)){ca=ya+1|0;f[p>>2]=ca;za=ca}else za=ya;if(!(f[l>>2]&524288)){ca=za+1|0;f[p>>2]=ca;Aa=ca}else Aa=za;if(!(f[l>>2]&1048576)){ca=Aa+1|0;f[p>>2]=ca;Ba=ca}else Ba=Aa;if(!(f[l>>2]&2097152)){ca=Ba+1|0;f[p>>2]=ca;Ca=ca}else Ca=Ba;if(!(f[l>>2]&4194304)){ca=Ca+1|0;f[p>>2]=ca;Da=ca}else Da=Ca;if(!(f[l>>2]&8388608)){ca=Da+1|0;f[p>>2]=ca;Ea=ca}else Ea=Da;if(!(f[l>>2]&16777216)){ca=Ea+1|0;f[p>>2]=ca;Fa=ca}else Fa=Ea;if(!(f[l>>2]&33554432)){ca=Fa+1|0;f[p>>2]=ca;Ga=ca}else Ga=Fa;if(!(f[l>>2]&67108864)){ca=Ga+1|0;f[p>>2]=ca;Ha=ca}else Ha=Ga;if(!(f[l>>2]&134217728)){ca=Ha+1|0;f[p>>2]=ca;Ia=ca}else Ia=Ha;if(!(f[l>>2]&268435456)){ca=Ia+1|0;f[p>>2]=ca;Ja=ca}else Ja=Ia;if(!(f[l>>2]&536870912)){ca=Ja+1|0;f[p>>2]=ca;Ka=ca}else Ka=Ja;if(!(f[l>>2]&1073741824)){ca=Ka+1|0;f[p>>2]=ca;La=ca}else La=Ka;if((f[l>>2]|0)<=-1){Ma=La;break}ca=La+1|0;f[p>>2]=ca;Ma=ca}else{ca=0;m=da;while(1){if(!(f[l>>2]&1<>2]=ba;Na=ba}else Na=m;if((ca|0)==31){Ma=Na;break e}ca=ca+1|0;if(!ca)break d;else m=Na}}while(0);l=l+4|0;if((q|0)==(l|0))break;else{da=Ma;ea=1}}}else{if(ga){ea=0;da=a;l=0;while(1){if(!(f[da>>2]&1)){m=l+1|0;f[p>>2]=m;Oa=m;Pa=m}else{Oa=l;Pa=ea}if(!(f[da>>2]&2)){m=Oa+1|0;f[p>>2]=m;Qa=m;Ra=m}else{Qa=Oa;Ra=Pa}if(!(f[da>>2]&4)){m=Qa+1|0;f[p>>2]=m;Sa=m;Ta=m}else{Sa=Qa;Ta=Ra}if(!(f[da>>2]&8)){m=Sa+1|0;f[p>>2]=m;Ua=m;Va=m}else{Ua=Sa;Va=Ta}if(!(f[da>>2]&16)){m=Ua+1|0;f[p>>2]=m;Wa=m;Xa=m}else{Wa=Ua;Xa=Va}if(!(f[da>>2]&32)){m=Wa+1|0;f[p>>2]=m;Ya=m;Za=m}else{Ya=Wa;Za=Xa}if(!(f[da>>2]&64)){m=Ya+1|0;f[p>>2]=m;_a=m;$a=m}else{_a=Ya;$a=Za}if(!(f[da>>2]&128)){m=_a+1|0;f[p>>2]=m;ab=m;bb=m}else{ab=_a;bb=$a}if(!(f[da>>2]&256)){m=ab+1|0;f[p>>2]=m;cb=m;db=m}else{cb=ab;db=bb}if(!(f[da>>2]&512)){m=cb+1|0;f[p>>2]=m;eb=m;fb=m}else{eb=cb;fb=db}if(!(f[da>>2]&1024)){m=eb+1|0;f[p>>2]=m;gb=m;hb=m}else{gb=eb;hb=fb}if(!(f[da>>2]&2048)){m=gb+1|0;f[p>>2]=m;ib=m;jb=m}else{ib=gb;jb=hb}if(!(f[da>>2]&4096)){m=ib+1|0;f[p>>2]=m;kb=m;lb=m}else{kb=ib;lb=jb}if(!(f[da>>2]&8192)){m=kb+1|0;f[p>>2]=m;mb=m;nb=m}else{mb=kb;nb=lb}if(!(f[da>>2]&16384)){m=mb+1|0;f[p>>2]=m;ob=m;pb=m}else{ob=mb;pb=nb}if(!(f[da>>2]&32768)){m=ob+1|0;f[p>>2]=m;qb=m;rb=m}else{qb=ob;rb=pb}if(!(f[da>>2]&65536)){m=qb+1|0;f[p>>2]=m;sb=m;tb=m}else{sb=qb;tb=rb}if(!(f[da>>2]&131072)){m=sb+1|0;f[p>>2]=m;ub=m;vb=m}else{ub=sb;vb=tb}if(!(f[da>>2]&262144)){m=ub+1|0;f[p>>2]=m;wb=m;xb=m}else{wb=ub;xb=vb}if(!(f[da>>2]&524288)){m=wb+1|0;f[p>>2]=m;yb=m;zb=m}else{yb=wb;zb=xb}if(!(f[da>>2]&1048576)){m=yb+1|0;f[p>>2]=m;Ab=m;Bb=m}else{Ab=yb;Bb=zb}if(!(f[da>>2]&2097152)){m=Ab+1|0;f[p>>2]=m;Cb=m;Db=m}else{Cb=Ab;Db=Bb}if(!(f[da>>2]&4194304)){m=Cb+1|0;f[p>>2]=m;Eb=m;Fb=m}else{Eb=Cb;Fb=Db}if(!(f[da>>2]&8388608)){m=Eb+1|0;f[p>>2]=m;Gb=m;Hb=m}else{Gb=Eb;Hb=Fb}if(!(f[da>>2]&16777216)){m=Gb+1|0;f[p>>2]=m;Ib=m;Jb=m}else{Ib=Gb;Jb=Hb}if(!(f[da>>2]&33554432)){m=Ib+1|0;f[p>>2]=m;Kb=m;Lb=m}else{Kb=Ib;Lb=Jb}if(!(f[da>>2]&67108864)){m=Kb+1|0;f[p>>2]=m;Mb=m;Nb=m}else{Mb=Kb;Nb=Lb}if(!(f[da>>2]&134217728)){m=Mb+1|0;f[p>>2]=m;Ob=m;Pb=m}else{Ob=Mb;Pb=Nb}if(!(f[da>>2]&268435456)){m=Ob+1|0;f[p>>2]=m;Qb=m;Rb=m}else{Qb=Ob;Rb=Pb}if(!(f[da>>2]&536870912)){m=Qb+1|0;f[p>>2]=m;Sb=m;Tb=m}else{Sb=Qb;Tb=Rb}if(!(f[da>>2]&1073741824)){m=Sb+1|0;f[p>>2]=m;Ub=m;Vb=m}else{Ub=Sb;Vb=Tb}if((f[da>>2]|0)>-1){m=Ub+1|0;f[p>>2]=m;Wb=m;Xb=m}else{Wb=Ub;Xb=Vb}m=da+4|0;if((q|0)==(m|0)){Yb=m;Zb=Xb;break}else{ea=Xb;da=m;l=Wb}}}else{Yb=a;Zb=0}l=0;da=Zb;while(1){if(!(f[Yb>>2]&1<>2]=ea;_b=ea}else _b=da;l=l+1|0;if((l|0)==(S|0))break;else da=_b}}while(0);_b=f[e>>2]|0;if(_b|0)Oq(_b);_b=f[d>>2]|0;if(!_b){u=c;return 1}Oq(_b);u=c;return 1}function fb(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0.0,Ua=0.0,Va=0.0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0;i=u;u=u+256|0;e=i+104|0;j=i+240|0;k=i+224|0;l=i+160|0;m=i+140|0;n=i+248|0;o=i+72|0;p=i+40|0;q=i+128|0;r=i;s=i+232|0;t=i+220|0;v=i+216|0;w=i+212|0;x=i+208|0;y=i+152|0;z=f[a+28>>2]|0;A=f[a+32>>2]|0;B=l;C=B+48|0;do{f[B>>2]=0;B=B+4|0}while((B|0)<(C|0));if(!g){D=0;E=0}else{Ci(l,g);D=f[l+12>>2]|0;E=f[l+16>>2]|0}B=l+16|0;C=E-D>>2;F=D;D=E;if(C>>>0>=g>>>0){if(C>>>0>g>>>0?(E=F+(g<<2)|0,(E|0)!=(D|0)):0)f[B>>2]=D+(~((D+-4-E|0)>>>2)<<2)}else Ci(l+12|0,g-C|0);C=l+24|0;E=l+28|0;D=f[E>>2]|0;B=f[C>>2]|0;F=D-B>>2;G=B;B=D;if(F>>>0>=g>>>0){if(F>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[E>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Ci(C,g-F|0);F=l+36|0;C=l+40|0;D=f[C>>2]|0;B=f[F>>2]|0;E=D-B>>2;G=B;B=D;if(E>>>0>=g>>>0){if(E>>>0>g>>>0?(D=G+(g<<2)|0,(D|0)!=(B|0)):0)f[C>>2]=B+(~((B+-4-D|0)>>>2)<<2)}else Ci(F,g-E|0);f[m>>2]=0;E=m+4|0;f[E>>2]=0;f[m+8>>2]=0;F=(g|0)==0;do if(!F)if(g>>>0>1073741823)aq(m);else{D=g<<2;B=ln(D)|0;f[m>>2]=B;C=B+(g<<2)|0;f[m+8>>2]=C;sj(B|0,0,D|0)|0;f[E>>2]=C;break}while(0);C=a+136|0;D=a+140|0;B=f[D>>2]|0;G=f[C>>2]|0;H=B-G>>2;L=G;G=B;if(H>>>0>=g>>>0){if(H>>>0>g>>>0?(B=L+(g<<2)|0,(B|0)!=(G|0)):0)f[D>>2]=G+(~((G+-4-B|0)>>>2)<<2)}else Ci(C,g-H|0);f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;f[o+24>>2]=0;f[o+28>>2]=0;f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;f[p+12>>2]=0;f[p+16>>2]=0;f[p+20>>2]=0;f[p+24>>2]=0;f[p+28>>2]=0;f[q>>2]=0;H=q+4|0;f[H>>2]=0;f[q+8>>2]=0;if(F){M=0;N=0;O=0;P=0}else{F=g<<2;B=ln(F)|0;f[q>>2]=B;G=B+(g<<2)|0;f[q+8>>2]=G;sj(B|0,0,F|0)|0;f[H>>2]=G;M=B;N=G;O=G;P=B}B=a+36|0;G=f[B>>2]|0;F=f[G+4>>2]|0;D=f[G>>2]|0;L=F-D|0;a:do if((L|0)>4){Q=L>>2;R=z+12|0;S=(g|0)>0;T=r+4|0;U=r+8|0;V=r+12|0;Z=a+136|0;_=a+96|0;$=r+16|0;aa=r+28|0;ba=a+8|0;ca=j+4|0;da=k+4|0;ea=e+4|0;fa=r+28|0;ga=r+16|0;ha=r+20|0;ia=r+32|0;ja=n+1|0;ka=g<<2;la=(g|0)==1;ma=Q+-1|0;if(F-D>>2>>>0>ma>>>0){na=Q;oa=ma;pa=P;qa=O;ra=M;sa=M;ta=N;ua=M;va=N;wa=D}else{xa=G;aq(xa)}b:while(1){ma=f[wa+(oa<<2)>>2]|0;Q=(((ma>>>0)%3|0|0)==0?2:-1)+ma|0;ya=(ma|0)==-1|(Q|0)==-1;za=1;Aa=0;Ba=ma;c:while(1){Ca=za^1;Da=Aa;Ea=Ba;while(1){if((Ea|0)==-1){Fa=Da;break c}Ga=f[l+(Da*12|0)>>2]|0;Ha=f[R>>2]|0;Ia=f[Ha+(Ea<<2)>>2]|0;if((Ia|0)!=-1){Ja=f[z>>2]|0;Ka=f[A>>2]|0;La=f[Ka+(f[Ja+(Ia<<2)>>2]<<2)>>2]|0;Ma=Ia+1|0;Na=((Ma>>>0)%3|0|0)==0?Ia+-2|0:Ma;if((Na|0)==-1)Oa=-1;else Oa=f[Ja+(Na<<2)>>2]|0;Na=f[Ka+(Oa<<2)>>2]|0;Ma=(((Ia>>>0)%3|0|0)==0?2:-1)+Ia|0;if((Ma|0)==-1)Pa=-1;else Pa=f[Ja+(Ma<<2)>>2]|0;Ma=f[Ka+(Pa<<2)>>2]|0;if((La|0)<(oa|0)&(Na|0)<(oa|0)&(Ma|0)<(oa|0)){Ka=X(La,g)|0;La=X(Na,g)|0;Na=X(Ma,g)|0;if(S){Ma=0;do{f[Ga+(Ma<<2)>>2]=(f[c+(Ma+Na<<2)>>2]|0)+(f[c+(Ma+La<<2)>>2]|0)-(f[c+(Ma+Ka<<2)>>2]|0);Ma=Ma+1|0}while((Ma|0)!=(g|0))}Ma=Da+1|0;if((Ma|0)==4){Fa=4;break c}else Qa=Ma}else Qa=Da}else Qa=Da;do if(za){Ma=Ea+1|0;Ka=((Ma>>>0)%3|0|0)==0?Ea+-2|0:Ma;if((Ka|0)!=-1?(Ma=f[Ha+(Ka<<2)>>2]|0,Ka=Ma+1|0,(Ma|0)!=-1):0)Ra=((Ka>>>0)%3|0|0)==0?Ma+-2|0:Ka;else Ra=-1}else{Ka=(((Ea>>>0)%3|0|0)==0?2:-1)+Ea|0;if((Ka|0)!=-1?(Ma=f[Ha+(Ka<<2)>>2]|0,(Ma|0)!=-1):0)if(!((Ma>>>0)%3|0)){Ra=Ma+2|0;break}else{Ra=Ma+-1|0;break}else Ra=-1}while(0);if((Ra|0)==(ma|0)){Fa=Qa;break c}if((Ra|0)!=-1|Ca){Da=Qa;Ea=Ra}else break}if(ya){za=0;Aa=Qa;Ba=-1;continue}Ea=f[Ha+(Q<<2)>>2]|0;if((Ea|0)==-1){za=0;Aa=Qa;Ba=-1;continue}if(!((Ea>>>0)%3|0)){za=0;Aa=Qa;Ba=Ea+2|0;continue}else{za=0;Aa=Qa;Ba=Ea+-1|0;continue}}Ba=X(oa,g)|0;f[r>>2]=0;f[T>>2]=0;b[U>>0]=0;f[V>>2]=0;f[V+4>>2]=0;f[V+8>>2]=0;f[V+12>>2]=0;f[V+16>>2]=0;f[V+20>>2]=0;f[V+24>>2]=0;Aa=Fa+-1|0;za=p+(Aa<<3)|0;Q=za;ya=Vn(f[Q>>2]|0,f[Q+4>>2]|0,Fa|0,((Fa|0)<0)<<31>>31|0)|0;Q=I;ma=za;f[ma>>2]=ya;f[ma+4>>2]=Q;ma=c+((X(na+-2|0,g)|0)<<2)|0;za=c+(Ba<<2)|0;Ea=f[Z>>2]|0;if(S){Da=0;Ca=0;while(1){Ma=(f[ma+(Da<<2)>>2]|0)-(f[za+(Da<<2)>>2]|0)|0;Ka=((Ma|0)>-1?Ma:0-Ma|0)+Ca|0;f[ra+(Da<<2)>>2]=Ma;f[Ea+(Da<<2)>>2]=Ma<<1^Ma>>31;Da=Da+1|0;if((Da|0)==(g|0)){Sa=Ka;break}else Ca=Ka}}else Sa=0;mo(e,_,Ea,g);Ca=Zk(e)|0;Da=I;Ka=Bm(e)|0;Ma=I;La=o+(Aa<<3)|0;Na=La;Ga=f[Na>>2]|0;Ja=f[Na+4>>2]|0;Ta=+wm(ya,Ga);Na=Vn(Ka|0,Ma|0,Ca|0,Da|0)|0;Ua=+(ya>>>0)+4294967296.0*+(Q|0);Va=+W(+(Ta*Ua));Da=Vn(Na|0,I|0,~~Va>>>0|0,(+K(Va)>=1.0?(Va>0.0?~~+Y(+J(Va/4294967296.0),4294967295.0)>>>0:~~+W((Va-+(~~Va>>>0))/4294967296.0)>>>0):0)|0)|0;Na=r;f[Na>>2]=Da;f[Na+4>>2]=Sa;b[U>>0]=0;f[V>>2]=0;$f($,ma,ma+(g<<2)|0);f[s>>2]=pa;f[t>>2]=qa;f[j>>2]=f[s>>2];f[e>>2]=f[t>>2];Jf(aa,j,e);if((Fa|0)<1){Wa=va;Xa=ua;Ya=ta;Za=sa;_a=qa;$a=pa;ab=pa}else{Na=n+Fa|0;Da=f[q>>2]|0;Ca=Da;Ma=f[H>>2]|0;Ka=Na+-1|0;Ia=(Ka|0)==(n|0);bb=Na+-2|0;cb=ja>>>0>>0;db=~Fa;eb=Fa+2+((db|0)>-2?db:-2)|0;db=Ma;fb=Ka>>>0>n>>>0;gb=0;hb=1;while(1){gb=gb+1|0;sj(n|0,1,eb|0)|0;sj(n|0,0,gb|0)|0;ib=Vn(Ga|0,Ja|0,hb|0,0)|0;d:while(1){if(S){sj(f[m>>2]|0,0,ka|0)|0;jb=f[m>>2]|0;kb=0;lb=0;while(1){if(!(b[n+kb>>0]|0)){mb=f[l+(kb*12|0)>>2]|0;nb=0;do{ob=jb+(nb<<2)|0;f[ob>>2]=(f[ob>>2]|0)+(f[mb+(nb<<2)>>2]|0);nb=nb+1|0}while((nb|0)!=(g|0));pb=(1<>0]|0))rb=(1<>2]|0;do if(S){f[kb>>2]=(f[kb>>2]|0)/(hb|0)|0;if(!la){lb=1;do{jb=kb+(lb<<2)|0;f[jb>>2]=(f[jb>>2]|0)/(hb|0)|0;lb=lb+1|0}while((lb|0)!=(g|0));lb=f[Z>>2]|0;if(S)sb=lb;else{tb=0;ub=lb;break}}else sb=f[Z>>2]|0;lb=0;jb=0;while(1){nb=(f[kb+(lb<<2)>>2]|0)-(f[za+(lb<<2)>>2]|0)|0;mb=((nb|0)>-1?nb:0-nb|0)+jb|0;f[Da+(lb<<2)>>2]=nb;f[sb+(lb<<2)>>2]=nb<<1^nb>>31;lb=lb+1|0;if((lb|0)==(g|0)){tb=mb;ub=sb;break}else jb=mb}}else{tb=0;ub=f[Z>>2]|0}while(0);mo(e,_,ub,g);kb=Zk(e)|0;jb=I;lb=Bm(e)|0;mb=I;Va=+wm(ya,ib);nb=Vn(lb|0,mb|0,kb|0,jb|0)|0;Ta=+W(+(Va*Ua));jb=Vn(nb|0,I|0,~~Ta>>>0|0,(+K(Ta)>=1.0?(Ta>0.0?~~+Y(+J(Ta/4294967296.0),4294967295.0)>>>0:~~+W((Ta-+(~~Ta>>>0))/4294967296.0)>>>0):0)|0)|0;nb=f[r>>2]|0;if(!((nb|0)<=(jb|0)?!((nb|0)>=(jb|0)?(tb|0)<(f[T>>2]|0):0):0)){nb=r;f[nb>>2]=jb;f[nb+4>>2]=tb;b[U>>0]=qb;f[V>>2]=hb;f[v>>2]=f[m>>2];f[w>>2]=f[E>>2];f[j>>2]=f[v>>2];f[e>>2]=f[w>>2];Jf($,j,e);f[x>>2]=Ca;f[y>>2]=Ma;f[j>>2]=f[x>>2];f[e>>2]=f[y>>2];Jf(aa,j,e)}if(Ia)break;vb=b[Ka>>0]|0;nb=-1;jb=vb;while(1){kb=nb+-1|0;wb=Na+kb|0;mb=jb;jb=b[wb>>0]|0;if((jb&255)<(mb&255))break;if((wb|0)==(n|0)){xb=84;break d}else nb=kb}kb=Na+nb|0;if((jb&255)<(vb&255)){yb=Ka;zb=vb}else{mb=Na;lb=Ka;while(1){ob=lb+-1|0;if((jb&255)<(h[mb+-2>>0]|0)){yb=ob;zb=1;break}else{Ab=lb;lb=ob;mb=Ab}}}b[wb>>0]=zb;b[yb>>0]=jb;if((nb|0)<-1){Bb=kb;Cb=Ka}else continue;while(1){mb=b[Bb>>0]|0;b[Bb>>0]=b[Cb>>0]|0;b[Cb>>0]=mb;mb=Bb+1|0;lb=Cb+-1|0;if(mb>>>0>>0){Bb=mb;Cb=lb}else continue d}}if(((xb|0)==84?(xb=0,fb):0)?(ib=b[n>>0]|0,b[n>>0]=vb,b[Ka>>0]=ib,cb):0){ib=bb;kb=ja;do{nb=b[kb>>0]|0;b[kb>>0]=b[ib>>0]|0;b[ib>>0]=nb;kb=kb+1|0;ib=ib+-1|0}while(kb>>>0>>0)}if((hb|0)>=(Fa|0)){Wa=db;Xa=Da;Ya=db;Za=Da;_a=Ma;$a=Ca;ab=Da;break}else hb=hb+1|0}}hb=f[V>>2]|0;Da=Vn(Ga|0,Ja|0,hb|0,((hb|0)<0)<<31>>31|0)|0;hb=La;f[hb>>2]=Da;f[hb+4>>2]=I;if(S){hb=f[aa>>2]|0;Da=f[C>>2]|0;Ca=0;do{Ma=f[hb+(Ca<<2)>>2]|0;f[Da+(Ca<<2)>>2]=Ma<<1^Ma>>31;Ca=Ca+1|0}while((Ca|0)!=(g|0));Db=Da}else Db=f[C>>2]|0;lo(e,_,Db,g);if((Fa|0)>0){Eb=a+40+(Aa*12|0)|0;Da=a+40+(Aa*12|0)+4|0;Ca=a+40+(Aa*12|0)+8|0;hb=0;do{La=f[Da>>2]|0;Ja=f[Ca>>2]|0;Ga=(La|0)==(Ja<<5|0);if(!(1<>0])){if(Ga){if((La+1|0)<0){xb=95;break b}Ma=Ja<<6;db=La+32&-32;vi(Eb,La>>>0<1073741823?(Ma>>>0>>0?db:Ma):2147483647);Fb=f[Da>>2]|0}else Fb=La;f[Da>>2]=Fb+1;Ma=(f[Eb>>2]|0)+(Fb>>>5<<2)|0;f[Ma>>2]=f[Ma>>2]|1<<(Fb&31)}else{if(Ga){if((La+1|0)<0){xb=100;break b}Ga=Ja<<6;Ja=La+32&-32;vi(Eb,La>>>0<1073741823?(Ga>>>0>>0?Ja:Ga):2147483647);Gb=f[Da>>2]|0}else Gb=La;f[Da>>2]=Gb+1;La=(f[Eb>>2]|0)+(Gb>>>5<<2)|0;f[La>>2]=f[La>>2]&~(1<<(Gb&31))}hb=hb+1|0}while((hb|0)<(Fa|0))}hb=f[$>>2]|0;Da=d+(Ba<<2)|0;Ca=f[za+4>>2]|0;Aa=f[hb>>2]|0;La=f[hb+4>>2]|0;f[j>>2]=f[za>>2];f[ca>>2]=Ca;f[k>>2]=Aa;f[da>>2]=La;Od(e,ba,j,k);f[Da>>2]=f[e>>2];f[Da+4>>2]=f[ea>>2];Da=f[fa>>2]|0;if(Da|0){La=f[ia>>2]|0;if((La|0)!=(Da|0))f[ia>>2]=La+(~((La+-4-Da|0)>>>2)<<2);Oq(Da)}Da=f[ga>>2]|0;if(Da|0){La=f[ha>>2]|0;if((La|0)!=(Da|0))f[ha>>2]=La+(~((La+-4-Da|0)>>>2)<<2);Oq(Da)}if((na|0)<=2){Hb=Za;Ib=Ya;break a}Da=f[B>>2]|0;wa=f[Da>>2]|0;La=oa+-1|0;if((f[Da+4>>2]|0)-wa>>2>>>0<=La>>>0){xa=Da;xb=18;break}else{Da=oa;oa=La;pa=$a;qa=_a;ra=ab;sa=Za;ta=Ya;ua=Xa;va=Wa;na=Da}}if((xb|0)==18)aq(xa);else if((xb|0)==95)aq(Eb);else if((xb|0)==100)aq(Eb)}else{Hb=M;Ib=N}while(0);if((g|0)>0)sj(f[l>>2]|0,0,g<<2|0)|0;g=f[l>>2]|0;N=f[c+4>>2]|0;M=f[g>>2]|0;Eb=f[g+4>>2]|0;f[j>>2]=f[c>>2];f[j+4>>2]=N;f[k>>2]=M;f[k+4>>2]=Eb;Od(e,a+8|0,j,k);f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];if(Hb|0){if((Ib|0)!=(Hb|0))f[H>>2]=Ib+(~((Ib+-4-Hb|0)>>>2)<<2);Oq(Hb)}Hb=f[m>>2]|0;if(Hb|0){m=f[E>>2]|0;if((m|0)!=(Hb|0))f[E>>2]=m+(~((m+-4-Hb|0)>>>2)<<2);Oq(Hb)}Hb=f[l+36>>2]|0;if(Hb|0){m=l+40|0;E=f[m>>2]|0;if((E|0)!=(Hb|0))f[m>>2]=E+(~((E+-4-Hb|0)>>>2)<<2);Oq(Hb)}Hb=f[l+24>>2]|0;if(Hb|0){E=l+28|0;m=f[E>>2]|0;if((m|0)!=(Hb|0))f[E>>2]=m+(~((m+-4-Hb|0)>>>2)<<2);Oq(Hb)}Hb=f[l+12>>2]|0;if(Hb|0){m=l+16|0;E=f[m>>2]|0;if((E|0)!=(Hb|0))f[m>>2]=E+(~((E+-4-Hb|0)>>>2)<<2);Oq(Hb)}Hb=f[l>>2]|0;if(!Hb){u=i;return 1}E=l+4|0;l=f[E>>2]|0;if((l|0)!=(Hb|0))f[E>>2]=l+(~((l+-4-Hb|0)>>>2)<<2);Oq(Hb);u=i;return 1}function gb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=Oa,La=0,Ma=0,Na=0,Pa=0,Qa=Oa,Ra=0,Sa=0,Ta=0,Ua=0,Va=0;c=u;u=u+80|0;d=c+60|0;e=c+48|0;g=c+24|0;h=c+12|0;i=c;j=a+28|0;k=f[j>>2]|0;l=f[k+4>>2]|0;m=f[l+80>>2]|0;o=a+4|0;p=a+8|0;q=f[p>>2]|0;r=f[o>>2]|0;s=(q|0)==(r|0);t=r;if(s){f[a+72>>2]=0;v=1;u=c;return v|0}w=f[l+8>>2]|0;x=q-r>>2;r=0;q=0;do{r=r+(b[(f[w+(f[t+(q<<2)>>2]<<2)>>2]|0)+24>>0]|0)|0;q=q+1|0}while(q>>>0>>0);f[a+72>>2]=r;if(s){v=1;u=c;return v|0}s=g+4|0;r=g+8|0;x=d+8|0;q=d+4|0;w=d+11|0;y=g+12|0;z=d+8|0;A=d+4|0;B=d+11|0;C=h+4|0;D=h+8|0;E=i+8|0;F=i+4|0;G=d+11|0;H=d+4|0;I=i+11|0;J=d+8|0;K=d+4|0;L=d+11|0;M=d+11|0;N=d+4|0;O=h+8|0;P=a+40|0;Q=a+44|0;R=a+36|0;S=a+64|0;T=a+68|0;U=a+60|0;V=g+8|0;W=g+20|0;X=e+8|0;Y=e+4|0;Z=e+11|0;_=g+4|0;aa=g+8|0;ba=h+4|0;ca=h+8|0;da=h+8|0;ea=a+52|0;fa=a+56|0;ga=a+48|0;a=g+8|0;ha=0;ia=t;t=l;l=k;a:while(1){k=f[ia+(ha<<2)>>2]|0;ja=f[(f[t+8>>2]|0)+(k<<2)>>2]|0;switch(f[ja+28>>2]|0){case 9:{f[g>>2]=1196;f[s>>2]=-1;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;f[r+12>>2]=0;ka=f[l+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;la=ln(32)|0;f[d>>2]=la;f[x>>2]=-2147483616;f[q>>2]=17;ma=la;na=14495;oa=ma+17|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[la+17>>0]=0;pa=ka+16|0;qa=f[pa>>2]|0;if(qa){ra=pa;sa=qa;b:while(1){qa=sa;while(1){if((f[qa+16>>2]|0)>=(k|0))break;ta=f[qa+4>>2]|0;if(!ta){ua=ra;break b}else qa=ta}sa=f[qa>>2]|0;if(!sa){ua=qa;break}else ra=qa}if(((ua|0)!=(pa|0)?(k|0)>=(f[ua+16>>2]|0):0)?(ra=ua+20|0,(Jh(ra,d)|0)!=0):0)va=Hk(ra,d,-1)|0;else wa=17}else wa=17;if((wa|0)==17){wa=0;va=Hk(ka,d,-1)|0}if((b[w>>0]|0)<0)Oq(f[d>>2]|0);if((va|0)<1)xa=1;else{ra=f[(f[j>>2]|0)+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;sa=ln(32)|0;f[d>>2]=sa;f[z>>2]=-2147483616;f[A>>2]=19;ma=sa;na=14438;oa=ma+19|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[sa+19>>0]=0;ka=ra+16|0;pa=f[ka>>2]|0;if(pa){la=ka;ta=pa;c:while(1){pa=ta;while(1){if((f[pa+16>>2]|0)>=(k|0))break;ya=f[pa+4>>2]|0;if(!ya){za=la;break c}else pa=ya}ta=f[pa>>2]|0;if(!ta){za=pa;break}else la=pa}if((za|0)!=(ka|0)?(k|0)>=(f[za+16>>2]|0):0)Aa=za+20|0;else wa=29}else wa=29;if((wa|0)==29){wa=0;Aa=ra}if(!(Jh(Aa,d)|0))Ba=0;else{la=f[(f[j>>2]|0)+48>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;ta=ln(32)|0;f[e>>2]=ta;f[X>>2]=-2147483616;f[Y>>2]=18;ma=ta;na=14458;oa=ma+18|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ta+18>>0]=0;ra=la+16|0;ka=f[ra>>2]|0;if(ka){sa=ra;qa=ka;d:while(1){ka=qa;while(1){if((f[ka+16>>2]|0)>=(k|0))break;ya=f[ka+4>>2]|0;if(!ya){Ca=sa;break d}else ka=ya}qa=f[ka>>2]|0;if(!qa){Ca=ka;break}else sa=ka}if((Ca|0)!=(ra|0)?(k|0)>=(f[Ca+16>>2]|0):0)Da=Ca+20|0;else wa=39}else wa=39;if((wa|0)==39){wa=0;Da=la}sa=(Jh(Da,e)|0)!=0;if((b[Z>>0]|0)<0)Oq(f[e>>2]|0);Ba=sa}if((b[B>>0]|0)<0)Oq(f[d>>2]|0);if(Ba){sa=ja+24|0;qa=b[sa>>0]|0;ta=qa<<24>>24;f[h>>2]=0;f[C>>2]=0;f[D>>2]=0;if(!(qa<<24>>24))Ea=0;else{if(qa<<24>>24<0){wa=48;break a}qa=ta<<2;pa=ln(qa)|0;f[h>>2]=pa;ya=pa+(ta<<2)|0;f[O>>2]=ya;sj(pa|0,0,qa|0)|0;f[C>>2]=ya;Ea=pa}pa=f[(f[j>>2]|0)+48>>2]|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;ya=ln(32)|0;f[i>>2]=ya;f[E>>2]=-2147483616;f[F>>2]=19;ma=ya;na=14438;oa=ma+19|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ya+19>>0]=0;la=b[sa>>0]|0;ra=la<<24>>24;qa=pa+16|0;ta=f[qa>>2]|0;if(ta){Fa=qa;Ga=ta;e:while(1){ta=Ga;while(1){if((f[ta+16>>2]|0)>=(k|0))break;Ha=f[ta+4>>2]|0;if(!Ha){Ia=Fa;break e}else ta=Ha}Ga=f[ta>>2]|0;if(!Ga){Ia=ta;break}else Fa=ta}if(((Ia|0)!=(qa|0)?(k|0)>=(f[Ia+16>>2]|0):0)?(Fa=Ia+20|0,(Jh(Fa,i)|0)!=0):0){Ga=Rg(Fa,i)|0;if((Ga|0)!=(Ia+24|0)){pj(d,Ga+28|0);Ga=b[M>>0]|0;Fa=Ga<<24>>24<0;if(!((Fa?f[N>>2]|0:Ga&255)|0))Ja=Ga;else{if(la<<24>>24>0){ya=Fa?f[d>>2]|0:d;Fa=0;do{Ka=$(bq(ya,e));ka=ya;ya=f[e>>2]|0;if((ka|0)==(ya|0))break;n[Ea+(Fa<<2)>>2]=Ka;Fa=Fa+1|0}while((Fa|0)<(ra|0));La=b[M>>0]|0}else La=Ga;Ja=La}if(Ja<<24>>24<0)Oq(f[d>>2]|0)}}else wa=69}else wa=69;if((wa|0)==69?(wa=0,Fa=Rg(pa,i)|0,(Fa|0)!=(pa+4|0)):0){pj(d,Fa+28|0);Fa=b[G>>0]|0;ya=Fa<<24>>24<0;if(!((ya?f[H>>2]|0:Fa&255)|0))Ma=Fa;else{if(la<<24>>24>0){qa=ya?f[d>>2]|0:d;ya=0;do{Ka=$(bq(qa,e));ka=qa;qa=f[e>>2]|0;if((ka|0)==(qa|0))break;n[Ea+(ya<<2)>>2]=Ka;ya=ya+1|0}while((ya|0)<(ra|0));Na=b[G>>0]|0}else Na=Fa;Ma=Na}if(Ma<<24>>24<0)Oq(f[d>>2]|0)}if((b[I>>0]|0)<0)Oq(f[i>>2]|0);ra=f[(f[j>>2]|0)+48>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;ya=ln(32)|0;f[d>>2]=ya;f[J>>2]=-2147483616;f[K>>2]=18;ma=ya;na=14458;oa=ma+18|0;do{b[ma>>0]=b[na>>0]|0;ma=ma+1|0;na=na+1|0}while((ma|0)<(oa|0));b[ya+18>>0]=0;na=ra+16|0;ma=f[na>>2]|0;do if(ma){oa=na;Fa=ma;f:while(1){qa=Fa;while(1){if((f[qa+16>>2]|0)>=(k|0))break;la=f[qa+4>>2]|0;if(!la){Pa=oa;break f}else qa=la}Fa=f[qa>>2]|0;if(!Fa){Pa=qa;break}else oa=qa}if((Pa|0)!=(na|0)?(k|0)>=(f[Pa+16>>2]|0):0){oa=Pa+20|0;if(!(Jh(oa,d)|0)){wa=91;break}Qa=$(sk(oa,d,$(1.0)))}else wa=91}else wa=91;while(0);if((wa|0)==91){wa=0;Qa=$(sk(ra,d,$(1.0)))}if((b[L>>0]|0)<0)Oq(f[d>>2]|0);Dl(g,va,f[h>>2]|0,b[sa>>0]|0,Qa);k=f[h>>2]|0;if(k|0){na=f[C>>2]|0;if((na|0)!=(k|0))f[C>>2]=na+(~((na+-4-k|0)>>>2)<<2);Oq(k)}}else Wd(g,ja,va)|0;k=f[P>>2]|0;if((k|0)==(f[Q>>2]|0))Cf(R,g);else{f[k>>2]=1196;f[k+4>>2]=f[s>>2];Ra=k+8|0;f[Ra>>2]=0;na=k+12|0;f[na>>2]=0;f[k+16>>2]=0;ma=(f[y>>2]|0)-(f[V>>2]|0)|0;ya=ma>>2;if(ya|0){if(ya>>>0>1073741823){wa=103;break a}oa=ln(ma)|0;f[na>>2]=oa;f[Ra>>2]=oa;f[k+16>>2]=oa+(ya<<2);ya=f[V>>2]|0;ma=(f[y>>2]|0)-ya|0;if((ma|0)>0){kh(oa|0,ya|0,ma|0)|0;f[na>>2]=oa+(ma>>>2<<2)}}f[k+20>>2]=f[W>>2];f[P>>2]=(f[P>>2]|0)+24}Qe(d,g,ja,m);k=f[S>>2]|0;if(k>>>0<(f[T>>2]|0)>>>0){ma=f[d>>2]|0;f[d>>2]=0;f[k>>2]=ma;f[S>>2]=k+4}else Ze(U,d);k=f[d>>2]|0;f[d>>2]=0;if(k|0){ma=k+88|0;oa=f[ma>>2]|0;f[ma>>2]=0;if(oa|0){ma=f[oa+8>>2]|0;if(ma|0){na=oa+12|0;if((f[na>>2]|0)!=(ma|0))f[na>>2]=ma;Oq(ma)}Oq(oa)}oa=f[k+68>>2]|0;if(oa|0){ma=k+72|0;na=f[ma>>2]|0;if((na|0)!=(oa|0))f[ma>>2]=na+(~((na+-4-oa|0)>>>2)<<2);Oq(oa)}oa=k+64|0;na=f[oa>>2]|0;f[oa>>2]=0;if(na|0){oa=f[na>>2]|0;if(oa|0){ma=na+4|0;if((f[ma>>2]|0)!=(oa|0))f[ma>>2]=oa;Oq(oa)}Oq(na)}Oq(k)}xa=0}f[g>>2]=1196;k=f[r>>2]|0;if(k|0){na=f[y>>2]|0;if((na|0)!=(k|0))f[y>>2]=na+(~((na+-4-k|0)>>>2)<<2);Oq(k)}if(xa|0){v=0;wa=169;break a}break}case 1:case 3:case 5:{k=ja+24|0;na=b[k>>0]|0;oa=na<<24>>24;f[g>>2]=0;f[_>>2]=0;f[aa>>2]=0;if(!(na<<24>>24))Sa=0;else{if(na<<24>>24<0){wa=137;break a}na=ln(oa<<2)|0;f[_>>2]=na;f[g>>2]=na;ma=na+(oa<<2)|0;f[a>>2]=ma;ya=oa;oa=na;while(1){f[oa>>2]=2147483647;ya=ya+-1|0;if(!ya)break;else oa=oa+4|0}f[_>>2]=ma;Sa=b[k>>0]|0}oa=Sa<<24>>24;f[h>>2]=0;f[ba>>2]=0;f[ca>>2]=0;if(!(Sa<<24>>24))Ta=0;else{if(Sa<<24>>24<0){wa=144;break a}ya=oa<<2;sa=ln(ya)|0;f[h>>2]=sa;ra=sa+(oa<<2)|0;f[da>>2]=ra;sj(sa|0,0,ya|0)|0;f[ba>>2]=ra;Ta=sa}sa=ja+80|0;ra=b[k>>0]|0;g:do if(!(f[sa>>2]|0))Ua=ra;else{ya=0;oa=ra;na=Ta;while(1){f[e>>2]=ya;f[d>>2]=f[e>>2];Qb(ja,d,oa,na)|0;Fa=b[k>>0]|0;if(Fa<<24>>24>0){ta=f[g>>2]|0;la=f[h>>2]|0;pa=Fa<<24>>24;Ga=0;do{ka=ta+(Ga<<2)|0;Ha=f[la+(Ga<<2)>>2]|0;if((f[ka>>2]|0)>(Ha|0))f[ka>>2]=Ha;Ga=Ga+1|0}while((Ga|0)<(pa|0))}pa=ya+1|0;if(pa>>>0>=(f[sa>>2]|0)>>>0){Ua=Fa;break g}ya=pa;oa=Fa;na=f[h>>2]|0}}while(0);if(Ua<<24>>24>0){sa=0;ja=Ua;while(1){ra=(f[g>>2]|0)+(sa<<2)|0;ma=f[ea>>2]|0;if((ma|0)==(f[fa>>2]|0)){Ri(ga,ra);Va=b[k>>0]|0}else{f[ma>>2]=f[ra>>2];f[ea>>2]=ma+4;Va=ja}sa=sa+1|0;if((sa|0)>=(Va<<24>>24|0))break;else ja=Va}}ja=f[h>>2]|0;if(ja|0){sa=f[ba>>2]|0;if((sa|0)!=(ja|0))f[ba>>2]=sa+(~((sa+-4-ja|0)>>>2)<<2);Oq(ja)}ja=f[g>>2]|0;if(ja|0){sa=f[_>>2]|0;if((sa|0)!=(ja|0))f[_>>2]=sa+(~((sa+-4-ja|0)>>>2)<<2);Oq(ja)}break}default:{}}ja=ha+1|0;sa=f[o>>2]|0;if(ja>>>0>=(f[p>>2]|0)-sa>>2>>>0){v=1;wa=169;break}k=f[j>>2]|0;ha=ja;ia=sa;t=f[k+4>>2]|0;l=k}if((wa|0)==48)aq(h);else if((wa|0)==103)aq(Ra);else if((wa|0)==137)aq(g);else if((wa|0)==144)aq(h);else if((wa|0)==169){u=c;return v|0}return 0}function hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)aq(e);else{j=h<<2;k=ln(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;sj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+128|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=l+8|0;q=n;r=m;s=h}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);Oq(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=j;q=f[e>>2]|0;r=f[i>>2]|0;s=f[g>>2]|0}f[l>>2]=q;f[o>>2]=r;f[p>>2]=f[e+8>>2];f[e>>2]=0;p=e+4|0;f[p>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)aq(e);else{r=s<<2;o=ln(r)|0;f[e>>2]=o;q=o+(s<<2)|0;f[e+8>>2]=q;sj(o|0,0,r|0)|0;f[p>>2]=q;t=q;v=o;break}else{t=0;v=0}while(0);s=a+140|0;o=f[s>>2]|0;q=f[o>>2]|0;r=o+4|0;if(!q){w=o+8|0;x=v;y=t}else{t=f[r>>2]|0;if((t|0)!=(q|0))f[r>>2]=t+(~((t+-4-q|0)>>>2)<<2);Oq(q);q=o+8|0;f[q>>2]=0;f[r>>2]=0;f[o>>2]=0;w=q;x=f[e>>2]|0;y=f[p>>2]|0}f[o>>2]=x;f[r>>2]=y;f[w>>2]=f[e+8>>2];w=f[b>>2]|0;y=b+4|0;r=f[y>>2]|0;x=f[y+4>>2]|0;y=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;q=f[o+4>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;i=r;Pc(e);j=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(j|0))z=0;else z=(f[j+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=w;h=z+4|0;f[h>>2]=r;f[h+4>>2]=x;f[z+12>>2]=y;h=z+16|0;f[h>>2]=p;f[h+4>>2]=q;f[z+24>>2]=0;f[z+28>>2]=y-w;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){w=a+116|0;y=a+48|0;h=a+44|0;j=a+36|0;m=a+40|0;n=a+32|0;A=b+8|0;B=c+8|0;C=a+28|0;D=a+24|0;E=a+16|0;F=a+20|0;G=a+12|0;H=a+88|0;I=a+84|0;J=a+76|0;K=a+80|0;L=a+72|0;M=i+4|0;N=i+24|0;O=i+24|0;P=p+24|0;Q=z;while(1){z=f[v>>2]|0;R=Q+-1|0;S=R+z|0;T=f[t>>2]|0;U=f[T+(((S>>>0)/113|0)<<2)>>2]|0;V=(S>>>0)%113|0;S=f[U+(V*36|0)>>2]|0;W=f[U+(V*36|0)+12>>2]|0;Y=f[U+(V*36|0)+24>>2]|0;Z=f[U+(V*36|0)+32>>2]|0;f[l>>2]=R;R=f[o>>2]|0;V=R-T>>2;if((1-Q-z+((V|0)==0?0:(V*113|0)+-1|0)|0)>>>0>225){Oq(f[R+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=S;f[c>>2]=W;R=f[k>>2]|0;V=((f[g>>2]|0)+-1|0)==(Y|0)?0:Y+1|0;Y=(f[s>>2]|0)+(Z*12|0)|0;z=W-S|0;T=(f[a>>2]|0)-(f[(f[Y>>2]|0)+(V<<2)>>2]|0)|0;a:do if(T){if(z>>>0<3){U=f[w>>2]|0;f[U>>2]=V;$=f[g>>2]|0;if($>>>0>1){aa=1;ba=$;ca=V;while(1){ca=(ca|0)==(ba+-1|0)?0:ca+1|0;f[U+(aa<<2)>>2]=ca;aa=aa+1|0;da=f[g>>2]|0;if(aa>>>0>=da>>>0){ea=da;break}else ba=da}}else ea=$;if(!z){fa=99;break}else{ga=0;ha=ea}while(1){ba=(f[N>>2]|0)+((X(f[M>>2]|0,S+ga|0)|0)<<2)|0;if(!ha)ia=0;else{aa=0;do{ca=f[(f[w>>2]|0)+(aa<<2)>>2]|0;U=(f[a>>2]|0)-(f[(f[Y>>2]|0)+(ca<<2)>>2]|0)|0;do if(U|0){da=f[y>>2]|0;ja=32-da|0;ka=32-U|0;la=f[ba+(ca<<2)>>2]<(ja|0)){ma=la>>>ka;ka=U-ja|0;f[y>>2]=ka;ja=f[h>>2]|ma>>>ka;f[h>>2]=ja;ka=f[j>>2]|0;if((ka|0)==(f[m>>2]|0))Ri(n,h);else{f[ka>>2]=ja;f[j>>2]=ka+4}f[h>>2]=ma<<32-(f[y>>2]|0);break}ma=f[h>>2]|la>>>da;f[h>>2]=ma;la=da+U|0;f[y>>2]=la;if((la|0)!=32)break;la=f[j>>2]|0;if((la|0)==(f[m>>2]|0))Ri(n,h);else{f[la>>2]=ma;f[j>>2]=la+4}f[h>>2]=0;f[y>>2]=0}while(0);aa=aa+1|0;U=f[g>>2]|0}while(aa>>>0>>0);ia=U}ga=ga+1|0;if(ga>>>0>=z>>>0){fa=99;break a}else ha=ia}}$=Z+1|0;Ig(R+($*12|0)|0,f[R+(Z*12|0)>>2]|0,f[R+(Z*12|0)+4>>2]|0);aa=(f[(f[k>>2]|0)+($*12|0)>>2]|0)+(V<<2)|0;ba=(f[aa>>2]|0)+(1<>2]=ba;aa=f[A>>2]|0;U=f[B>>2]|0;b:do if((W|0)==(S|0))na=S;else{ca=f[O>>2]|0;if(!aa){if((f[ca+(V<<2)>>2]|0)>>>0>>0){na=W;break}else{oa=W;pa=S}while(1){la=oa;do{la=la+-1|0;if((pa|0)==(la|0)){na=pa;break b}ma=(f[P>>2]|0)+((X(la,U)|0)<<2)+(V<<2)|0}while((f[ma>>2]|0)>>>0>=ba>>>0);pa=pa+1|0;if((pa|0)==(la|0)){na=la;break b}else oa=la}}else{qa=W;ra=S}while(1){ma=ra;while(1){sa=ca+((X(ma,aa)|0)<<2)|0;if((f[sa+(V<<2)>>2]|0)>>>0>=ba>>>0){ta=qa;break}da=ma+1|0;if((da|0)==(qa|0)){na=qa;break b}else ma=da}while(1){ta=ta+-1|0;if((ma|0)==(ta|0)){na=ma;break b}ua=(f[P>>2]|0)+((X(ta,U)|0)<<2)|0;if((f[ua+(V<<2)>>2]|0)>>>0>>0){va=0;break}}do{la=sa+(va<<2)|0;da=ua+(va<<2)|0;ka=f[la>>2]|0;f[la>>2]=f[da>>2];f[da>>2]=ka;va=va+1|0}while((va|0)!=(aa|0));ra=ma+1|0;if((ra|0)==(ta|0)){na=ta;break}else qa=ta}}while(0);ba=(_(z|0)|0)^31;U=na-S|0;ca=W-na|0;ka=U>>>0>>0;if((U|0)!=(ca|0)){da=f[H>>2]|0;if(ka)f[I>>2]=f[I>>2]|1<<31-da;la=da+1|0;f[H>>2]=la;if((la|0)==32){la=f[J>>2]|0;if((la|0)==(f[K>>2]|0))Ri(L,I);else{f[la>>2]=f[I>>2];f[J>>2]=la+4}f[H>>2]=0;f[I>>2]=0}}la=z>>>1;do if(ka){da=f[C>>2]|0;ja=32-da|0;wa=32-ba|0;xa=la-U<(ja|0)){ya=xa>>>wa;wa=ba-ja|0;f[C>>2]=wa;ja=f[D>>2]|ya>>>wa;f[D>>2]=ja;wa=f[E>>2]|0;if((wa|0)==(f[F>>2]|0))Ri(G,D);else{f[wa>>2]=ja;f[E>>2]=wa+4}f[D>>2]=ya<<32-(f[C>>2]|0);break}ya=f[D>>2]|xa>>>da;f[D>>2]=ya;xa=da+ba|0;f[C>>2]=xa;if((xa|0)==32){xa=f[E>>2]|0;if((xa|0)==(f[F>>2]|0))Ri(G,D);else{f[xa>>2]=ya;f[E>>2]=xa+4}f[D>>2]=0;f[C>>2]=0}}else{xa=f[C>>2]|0;ya=32-xa|0;da=32-ba|0;wa=la-ca<(ya|0)){ja=wa>>>da;da=ba-ya|0;f[C>>2]=da;ya=f[D>>2]|ja>>>da;f[D>>2]=ya;da=f[E>>2]|0;if((da|0)==(f[F>>2]|0))Ri(G,D);else{f[da>>2]=ya;f[E>>2]=da+4}f[D>>2]=ja<<32-(f[C>>2]|0);break}ja=f[D>>2]|wa>>>xa;f[D>>2]=ja;wa=xa+ba|0;f[C>>2]=wa;if((wa|0)==32){wa=f[E>>2]|0;if((wa|0)==(f[F>>2]|0))Ri(G,D);else{f[wa>>2]=ja;f[E>>2]=wa+4}f[D>>2]=0;f[C>>2]=0}}while(0);ba=f[s>>2]|0;la=f[ba+(Z*12|0)>>2]|0;ka=la+(V<<2)|0;f[ka>>2]=(f[ka>>2]|0)+1;Ig(ba+($*12|0)|0,la,f[ba+(Z*12|0)+4>>2]|0);if((na|0)!=(S|0)){ba=f[o>>2]|0;la=f[t>>2]|0;ka=ba-la>>2;wa=f[v>>2]|0;ja=f[l>>2]|0;if((((ka|0)==0?0:(ka*113|0)+-1|0)|0)==(ja+wa|0)){Pc(e);za=f[v>>2]|0;Aa=f[l>>2]|0;Ba=f[o>>2]|0;Ca=f[t>>2]|0}else{za=wa;Aa=ja;Ba=ba;Ca=la}la=Aa+za|0;if((Ba|0)==(Ca|0))Da=0;else Da=(f[Ca+(((la>>>0)/113|0)<<2)>>2]|0)+(((la>>>0)%113|0)*36|0)|0;f[Da>>2]=S;la=Da+4|0;f[la>>2]=r;f[la+4>>2]=x;f[Da+12>>2]=na;f[Da+16>>2]=i;f[Da+20>>2]=aa;f[Da+24>>2]=V;f[Da+28>>2]=U;f[Da+32>>2]=Z;f[l>>2]=(f[l>>2]|0)+1}if((W|0)!=(na|0)){la=f[o>>2]|0;ba=f[t>>2]|0;ja=la-ba>>2;wa=f[v>>2]|0;ka=f[l>>2]|0;if((((ja|0)==0?0:(ja*113|0)+-1|0)|0)==(ka+wa|0)){Pc(e);Ea=f[v>>2]|0;Fa=f[l>>2]|0;Ga=f[o>>2]|0;Ha=f[t>>2]|0}else{Ea=wa;Fa=ka;Ga=la;Ha=ba}ba=Fa+Ea|0;if((Ga|0)==(Ha|0))Ia=0;else Ia=(f[Ha+(((ba>>>0)/113|0)<<2)>>2]|0)+(((ba>>>0)%113|0)*36|0)|0;f[Ia>>2]=na;f[Ia+4>>2]=i;f[Ia+8>>2]=aa;f[Ia+12>>2]=W;ba=Ia+16|0;f[ba>>2]=p;f[ba+4>>2]=q;f[Ia+24>>2]=V;f[Ia+28>>2]=ca;f[Ia+32>>2]=$;ba=(f[l>>2]|0)+1|0;f[l>>2]=ba;Ja=ba}else fa=99}else fa=99;while(0);if((fa|0)==99){fa=0;Ja=f[l>>2]|0}if(!Ja)break;else Q=Ja}}Ja=f[t>>2]|0;Q=f[v>>2]|0;Ia=Ja+(((Q>>>0)/113|0)<<2)|0;q=f[o>>2]|0;p=q;i=Ja;if((q|0)==(Ja|0)){Ka=0;La=0}else{na=(f[Ia>>2]|0)+(((Q>>>0)%113|0)*36|0)|0;Ka=na;La=na}na=Ia;Ia=La;c:while(1){La=Ia;do{Q=La;if((Ka|0)==(Q|0))break c;La=Q+36|0}while((La-(f[na>>2]|0)|0)!=4068);La=na+4|0;na=La;Ia=f[La>>2]|0}f[l>>2]=0;l=p-i>>2;if(l>>>0>2){i=Ja;do{Oq(f[i>>2]|0);i=(f[t>>2]|0)+4|0;f[t>>2]=i;Ma=f[o>>2]|0;Na=Ma-i>>2}while(Na>>>0>2);Oa=Na;Pa=i;Qa=Ma}else{Oa=l;Pa=Ja;Qa=q}switch(Oa|0){case 1:{Ra=56;fa=113;break}case 2:{Ra=113;fa=113;break}default:{}}if((fa|0)==113)f[v>>2]=Ra;if((Pa|0)!=(Qa|0)){Ra=Pa;do{Oq(f[Ra>>2]|0);Ra=Ra+4|0}while((Ra|0)!=(Qa|0));Qa=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Qa|0))f[o>>2]=t+(~((t+-4-Qa|0)>>>2)<<2)}Qa=f[e>>2]|0;if(!Qa){u=d;return}Oq(Qa);u=d;return}function ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0;d=u;u=u+48|0;e=d+36|0;g=d+24|0;h=d;i=a+8|0;j=f[i>>2]|0;f[e>>2]=0;k=e+4|0;f[k>>2]=0;f[e+8>>2]=0;do if(j)if(j>>>0>1073741823)aq(e);else{l=j<<2;m=ln(l)|0;f[e>>2]=m;n=m+(j<<2)|0;f[e+8>>2]=n;sj(m|0,0,l|0)|0;f[k>>2]=n;o=n;p=m;break}else{o=0;p=0}while(0);m=a+1164|0;n=f[m>>2]|0;l=f[n>>2]|0;q=n+4|0;if(!l){r=n+8|0;s=p;t=o;v=j}else{j=f[q>>2]|0;if((j|0)!=(l|0))f[q>>2]=j+(~((j+-4-l|0)>>>2)<<2);Oq(l);l=n+8|0;f[l>>2]=0;f[q>>2]=0;f[n>>2]=0;r=l;s=f[e>>2]|0;t=f[k>>2]|0;v=f[i>>2]|0}f[n>>2]=s;f[q>>2]=t;f[r>>2]=f[e+8>>2];f[e>>2]=0;r=e+4|0;f[r>>2]=0;f[e+8>>2]=0;do if(v)if(v>>>0>1073741823)aq(e);else{t=v<<2;q=ln(t)|0;f[e>>2]=q;s=q+(v<<2)|0;f[e+8>>2]=s;sj(q|0,0,t|0)|0;f[r>>2]=s;w=s;x=q;break}else{w=0;x=0}while(0);v=a+1176|0;q=f[v>>2]|0;s=f[q>>2]|0;t=q+4|0;if(!s){y=q+8|0;z=x;A=w}else{w=f[t>>2]|0;if((w|0)!=(s|0))f[t>>2]=w+(~((w+-4-s|0)>>>2)<<2);Oq(s);s=q+8|0;f[s>>2]=0;f[t>>2]=0;f[q>>2]=0;y=s;z=f[e>>2]|0;A=f[r>>2]|0}f[q>>2]=z;f[t>>2]=A;f[y>>2]=f[e+8>>2];y=f[b>>2]|0;A=b+4|0;t=f[A>>2]|0;z=f[A+4>>2]|0;A=f[c>>2]|0;q=c+4|0;r=f[q>>2]|0;s=f[q+4>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;q=h+8|0;w=h+4|0;x=h+16|0;n=h+20|0;k=t;Pc(h);l=f[w>>2]|0;j=(f[n>>2]|0)+(f[x>>2]|0)|0;if((f[q>>2]|0)==(l|0))B=0;else B=(f[l+(((j>>>0)/113|0)<<2)>>2]|0)+(((j>>>0)%113|0)*36|0)|0;f[B>>2]=y;j=B+4|0;f[j>>2]=t;f[j+4>>2]=z;f[B+12>>2]=A;j=B+16|0;f[j>>2]=r;f[j+4>>2]=s;f[B+24>>2]=0;f[B+28>>2]=A-y;f[B+32>>2]=0;B=(f[n>>2]|0)+1|0;f[n>>2]=B;if(B|0){y=a+1152|0;A=a+1084|0;j=a+1080|0;l=a+1072|0;o=a+1076|0;p=a+1068|0;C=b+8|0;D=c+8|0;E=a+1124|0;F=a+1120|0;G=a+1112|0;H=a+1116|0;I=a+1108|0;J=k+4|0;K=k+24|0;L=k+24|0;M=r+24|0;N=B;while(1){B=f[x>>2]|0;O=N+-1|0;P=O+B|0;Q=f[w>>2]|0;R=f[Q+(((P>>>0)/113|0)<<2)>>2]|0;S=(P>>>0)%113|0;P=f[R+(S*36|0)>>2]|0;T=f[R+(S*36|0)+12>>2]|0;U=f[R+(S*36|0)+24>>2]|0;V=f[R+(S*36|0)+32>>2]|0;f[n>>2]=O;O=f[q>>2]|0;S=O-Q>>2;if((1-N-B+((S|0)==0?0:(S*113|0)+-1|0)|0)>>>0>225){Oq(f[O+-4>>2]|0);f[q>>2]=(f[q>>2]|0)+-4}f[b>>2]=P;f[c>>2]=T;O=f[m>>2]|0;S=O+(V*12|0)|0;B=(f[v>>2]|0)+(V*12|0)|0;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];f[g+8>>2]=f[b+8>>2];f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];Q=Rd(a,g,e,S,B,U)|0;U=T-P|0;R=(f[a>>2]|0)-(f[(f[B>>2]|0)+(Q<<2)>>2]|0)|0;a:do if(R){if(U>>>0<3){W=f[y>>2]|0;f[W>>2]=Q;Y=f[i>>2]|0;if(Y>>>0>1){Z=1;$=Y;aa=Q;while(1){aa=(aa|0)==($+-1|0)?0:aa+1|0;f[W+(Z<<2)>>2]=aa;Z=Z+1|0;ba=f[i>>2]|0;if(Z>>>0>=ba>>>0){ca=ba;break}else $=ba}}else ca=Y;if(!U){da=87;break}else{ea=0;fa=ca}while(1){$=(f[K>>2]|0)+((X(f[J>>2]|0,P+ea|0)|0)<<2)|0;if(!fa)ga=0;else{Z=0;do{aa=f[(f[y>>2]|0)+(Z<<2)>>2]|0;W=(f[a>>2]|0)-(f[(f[B>>2]|0)+(aa<<2)>>2]|0)|0;do if(W|0){ba=f[A>>2]|0;ha=32-ba|0;ia=32-W|0;ja=f[$+(aa<<2)>>2]<(ha|0)){ka=ja>>>ia;ia=W-ha|0;f[A>>2]=ia;ha=f[j>>2]|ka>>>ia;f[j>>2]=ha;ia=f[l>>2]|0;if((ia|0)==(f[o>>2]|0))Ri(p,j);else{f[ia>>2]=ha;f[l>>2]=ia+4}f[j>>2]=ka<<32-(f[A>>2]|0);break}ka=f[j>>2]|ja>>>ba;f[j>>2]=ka;ja=ba+W|0;f[A>>2]=ja;if((ja|0)!=32)break;ja=f[l>>2]|0;if((ja|0)==(f[o>>2]|0))Ri(p,j);else{f[ja>>2]=ka;f[l>>2]=ja+4}f[j>>2]=0;f[A>>2]=0}while(0);Z=Z+1|0;W=f[i>>2]|0}while(Z>>>0>>0);ga=W}ea=ea+1|0;if(ea>>>0>=U>>>0){da=87;break a}else fa=ga}}Y=V+1|0;Z=f[m>>2]|0;$=Z+(Y*12|0)|0;if(($|0)==(S|0))la=Z;else{Ig($,f[S>>2]|0,f[O+(V*12|0)+4>>2]|0);la=f[m>>2]|0}$=(f[la+(Y*12|0)>>2]|0)+(Q<<2)|0;Z=(f[$>>2]|0)+(1<>2]=Z;$=f[C>>2]|0;W=f[D>>2]|0;b:do if((T|0)==(P|0))ma=P;else{aa=f[L>>2]|0;if(!$){if((f[aa+(Q<<2)>>2]|0)>>>0>>0){ma=T;break}else{na=T;oa=P}while(1){ja=na;do{ja=ja+-1|0;if((oa|0)==(ja|0)){ma=oa;break b}ka=(f[M>>2]|0)+((X(ja,W)|0)<<2)+(Q<<2)|0}while((f[ka>>2]|0)>>>0>=Z>>>0);oa=oa+1|0;if((oa|0)==(ja|0)){ma=ja;break b}else na=ja}}else{pa=T;qa=P}while(1){ka=qa;while(1){ra=aa+((X(ka,$)|0)<<2)|0;if((f[ra+(Q<<2)>>2]|0)>>>0>=Z>>>0){sa=pa;break}ba=ka+1|0;if((ba|0)==(pa|0)){ma=pa;break b}else ka=ba}while(1){sa=sa+-1|0;if((ka|0)==(sa|0)){ma=ka;break b}ta=(f[M>>2]|0)+((X(sa,W)|0)<<2)|0;if((f[ta+(Q<<2)>>2]|0)>>>0>>0){ua=0;break}}do{ja=ra+(ua<<2)|0;ba=ta+(ua<<2)|0;ia=f[ja>>2]|0;f[ja>>2]=f[ba>>2];f[ba>>2]=ia;ua=ua+1|0}while((ua|0)!=($|0));qa=ka+1|0;if((qa|0)==(sa|0)){ma=sa;break}else pa=sa}}while(0);Z=(_(U|0)|0)^31;W=ma-P|0;aa=T-ma|0;ia=W>>>0>>0;if((W|0)!=(aa|0)){ba=f[E>>2]|0;if(ia)f[F>>2]=f[F>>2]|1<<31-ba;ja=ba+1|0;f[E>>2]=ja;if((ja|0)==32){ja=f[G>>2]|0;if((ja|0)==(f[H>>2]|0))Ri(I,F);else{f[ja>>2]=f[F>>2];f[G>>2]=ja+4}f[E>>2]=0;f[F>>2]=0}}ja=U>>>1;if(ia){ia=ja-W|0;if(Z|0){ba=0;ha=1<>>1}}}else{ha=ja-aa|0;if(Z|0){ba=0;ia=1<>>1}}}ia=f[v>>2]|0;Z=f[ia+(V*12|0)>>2]|0;ba=Z+(Q<<2)|0;f[ba>>2]=(f[ba>>2]|0)+1;Ig(ia+(Y*12|0)|0,Z,f[ia+(V*12|0)+4>>2]|0);if((ma|0)!=(P|0)){ia=f[q>>2]|0;Z=f[w>>2]|0;ba=ia-Z>>2;ha=f[x>>2]|0;ja=f[n>>2]|0;if((((ba|0)==0?0:(ba*113|0)+-1|0)|0)==(ja+ha|0)){Pc(h);va=f[x>>2]|0;wa=f[n>>2]|0;xa=f[q>>2]|0;ya=f[w>>2]|0}else{va=ha;wa=ja;xa=ia;ya=Z}Z=wa+va|0;if((xa|0)==(ya|0))za=0;else za=(f[ya+(((Z>>>0)/113|0)<<2)>>2]|0)+(((Z>>>0)%113|0)*36|0)|0;f[za>>2]=P;Z=za+4|0;f[Z>>2]=t;f[Z+4>>2]=z;f[za+12>>2]=ma;f[za+16>>2]=k;f[za+20>>2]=$;f[za+24>>2]=Q;f[za+28>>2]=W;f[za+32>>2]=V;f[n>>2]=(f[n>>2]|0)+1}if((T|0)!=(ma|0)){Z=f[q>>2]|0;ia=f[w>>2]|0;ja=Z-ia>>2;ha=f[x>>2]|0;ba=f[n>>2]|0;if((((ja|0)==0?0:(ja*113|0)+-1|0)|0)==(ba+ha|0)){Pc(h);Aa=f[x>>2]|0;Ba=f[n>>2]|0;Ca=f[q>>2]|0;Da=f[w>>2]|0}else{Aa=ha;Ba=ba;Ca=Z;Da=ia}ia=Ba+Aa|0;if((Ca|0)==(Da|0))Ea=0;else Ea=(f[Da+(((ia>>>0)/113|0)<<2)>>2]|0)+(((ia>>>0)%113|0)*36|0)|0;f[Ea>>2]=ma;f[Ea+4>>2]=k;f[Ea+8>>2]=$;f[Ea+12>>2]=T;ia=Ea+16|0;f[ia>>2]=r;f[ia+4>>2]=s;f[Ea+24>>2]=Q;f[Ea+28>>2]=aa;f[Ea+32>>2]=Y;ia=(f[n>>2]|0)+1|0;f[n>>2]=ia;Fa=ia}else da=87}else da=87;while(0);if((da|0)==87){da=0;Fa=f[n>>2]|0}if(!Fa)break;else N=Fa}}Fa=f[w>>2]|0;N=f[x>>2]|0;Ea=Fa+(((N>>>0)/113|0)<<2)|0;s=f[q>>2]|0;r=s;k=Fa;if((s|0)==(Fa|0)){Ga=0;Ha=0}else{ma=(f[Ea>>2]|0)+(((N>>>0)%113|0)*36|0)|0;Ga=ma;Ha=ma}ma=Ea;Ea=Ha;c:while(1){Ha=Ea;do{N=Ha;if((Ga|0)==(N|0))break c;Ha=N+36|0}while((Ha-(f[ma>>2]|0)|0)!=4068);Ha=ma+4|0;ma=Ha;Ea=f[Ha>>2]|0}f[n>>2]=0;n=r-k>>2;if(n>>>0>2){k=Fa;do{Oq(f[k>>2]|0);k=(f[w>>2]|0)+4|0;f[w>>2]=k;Ia=f[q>>2]|0;Ja=Ia-k>>2}while(Ja>>>0>2);Ka=Ja;La=k;Ma=Ia}else{Ka=n;La=Fa;Ma=s}switch(Ka|0){case 1:{Na=56;da=101;break}case 2:{Na=113;da=101;break}default:{}}if((da|0)==101)f[x>>2]=Na;if((La|0)!=(Ma|0)){Na=La;do{Oq(f[Na>>2]|0);Na=Na+4|0}while((Na|0)!=(Ma|0));Ma=f[w>>2]|0;w=f[q>>2]|0;if((w|0)!=(Ma|0))f[q>>2]=w+(~((w+-4-Ma|0)>>>2)<<2)}Ma=f[h>>2]|0;if(!Ma){u=d;return}Oq(Ma);u=d;return}function jb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0;d=u;u=u+1424|0;e=d+1408|0;g=d+1396|0;h=d+1420|0;i=d+1200|0;j=d+12|0;k=d;l=d+1384|0;m=d+1372|0;n=d+1360|0;o=d+1348|0;p=d+1336|0;q=d+1324|0;r=d+1312|0;s=d+1300|0;t=d+1288|0;v=d+1276|0;w=d+1264|0;x=d+1252|0;y=d+1240|0;z=d+1228|0;A=a+28|0;B=10-(mi(f[(f[A>>2]|0)+48>>2]|0)|0)|0;C=(B|0)<6?B:6;b[h>>0]=C;if((C&255|0)==6?(f[a+72>>2]|0)>15:0)b[h>>0]=5;C=c+16|0;B=f[C+4>>2]|0;if(!((B|0)>0|(B|0)==0&(f[C>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}C=f[A>>2]|0;B=f[(f[C+4>>2]|0)+80>>2]|0;D=a+72|0;E=f[D>>2]|0;f[i>>2]=B;F=i+4|0;f[F>>2]=E;f[i+8>>2]=E<<2;G=i+12|0;H=X(E,B)|0;f[G>>2]=0;J=i+16|0;f[J>>2]=0;f[i+20>>2]=0;do if(H)if(H>>>0>1073741823)aq(G);else{K=H<<2;L=ln(K)|0;f[G>>2]=L;M=L+(H<<2)|0;f[i+20>>2]=M;sj(L|0,0,K|0)|0;f[J>>2]=M;N=L;break}else N=0;while(0);H=i+24|0;f[H>>2]=N;G=a+4|0;L=a+8|0;M=f[G>>2]|0;a:do if((f[L>>2]|0)!=(M|0)){K=j+4|0;O=j+8|0;P=j+8|0;Q=(B|0)==0;R=j+4|0;S=j+8|0;T=k+4|0;U=k+8|0;V=k+8|0;W=a+48|0;Y=j+8|0;Z=a+60|0;$=0;aa=0;ba=0;ca=0;da=M;ea=C;b:while(1){fa=f[(f[(f[ea+4>>2]|0)+8>>2]|0)+(f[da+(ca<<2)>>2]<<2)>>2]|0;switch(f[fa+28>>2]|0){case 1:case 3:case 5:case 2:case 4:case 6:{ga=fa;ha=aa;break}case 9:{ga=f[(f[Z>>2]|0)+(aa<<2)>>2]|0;ha=aa+1|0;break}default:{ia=0;break a}}if(!ga){ia=0;break a}c:do switch(f[ga+28>>2]|0){case 6:{if(Q){ja=ba;ka=ga+24|0;break c}fa=ga+84|0;la=ga+68|0;ma=ga+48|0;na=ga+40|0;oa=ga+24|0;pa=0;do{if(!(b[fa>>0]|0))qa=f[(f[la>>2]|0)+(pa<<2)>>2]|0;else qa=pa;ra=ma;sa=f[ra>>2]|0;ta=f[ra+4>>2]|0;ra=na;ua=un(f[ra>>2]|0,f[ra+4>>2]|0,qa|0,0)|0;ra=Vn(ua|0,I|0,sa|0,ta|0)|0;kh((f[H>>2]|0)+((X(f[F>>2]|0,pa)|0)<<2)+($<<2)|0,(f[f[ga>>2]>>2]|0)+ra|0,b[oa>>0]<<2|0)|0;pa=pa+1|0}while((pa|0)!=(B|0));ja=ba;ka=oa;break}case 1:case 3:case 5:{oa=ga+24|0;pa=b[oa>>0]|0;na=pa<<24>>24;f[j>>2]=0;f[R>>2]=0;f[S>>2]=0;if(!(pa<<24>>24))va=0;else{if(pa<<24>>24<0){wa=24;break b}pa=na<<2;ma=ln(pa)|0;f[j>>2]=ma;la=ma+(na<<2)|0;f[Y>>2]=la;sj(ma|0,0,pa|0)|0;f[R>>2]=la;va=b[oa>>0]|0}la=va<<24>>24;f[k>>2]=0;f[T>>2]=0;f[U>>2]=0;if(!(va<<24>>24)){xa=0;ya=0}else{if(va<<24>>24<0){wa=30;break b}pa=la<<2;ma=ln(pa)|0;f[k>>2]=ma;na=ma+(la<<2)|0;f[V>>2]=na;sj(ma|0,0,pa|0)|0;f[T>>2]=na;xa=ma;ya=ma}if(Q){za=ya;Aa=xa}else{ma=ga+84|0;na=ga+68|0;pa=0;do{if(!(b[ma>>0]|0))Ba=f[(f[na>>2]|0)+(pa<<2)>>2]|0;else Ba=pa;la=f[j>>2]|0;f[g>>2]=Ba;fa=b[oa>>0]|0;f[e>>2]=f[g>>2];Qb(ga,e,fa,la)|0;la=b[oa>>0]|0;fa=la<<24>>24;if(la<<24>>24>0){la=f[j>>2]|0;ra=f[W>>2]|0;ta=f[k>>2]|0;sa=0;do{f[ta+(sa<<2)>>2]=(f[la+(sa<<2)>>2]|0)-(f[ra+(sa+ba<<2)>>2]|0);sa=sa+1|0}while((sa|0)<(fa|0));Ca=ta}else Ca=f[k>>2]|0;kh((f[H>>2]|0)+((X(f[F>>2]|0,pa)|0)<<2)+($<<2)|0,Ca|0,fa<<2|0)|0;pa=pa+1|0}while(pa>>>0>>0);pa=f[k>>2]|0;za=pa;Aa=pa}pa=ba+(b[oa>>0]|0)|0;if(za|0){na=f[T>>2]|0;if((na|0)!=(za|0))f[T>>2]=na+(~((na+-4-za|0)>>>2)<<2);Oq(Aa)}na=f[j>>2]|0;if(na|0){ma=f[R>>2]|0;if((ma|0)!=(na|0))f[R>>2]=ma+(~((ma+-4-na|0)>>>2)<<2);Oq(na)}ja=pa;ka=oa;break}default:{pa=ga+24|0;na=b[pa>>0]|0;ma=na<<24>>24;f[j>>2]=0;f[K>>2]=0;f[O>>2]=0;if(!(na<<24>>24)){Da=0;Ea=0}else{if(na<<24>>24<0){wa=53;break b}na=ma<<2;ta=ln(na)|0;f[j>>2]=ta;sa=ta+(ma<<2)|0;f[P>>2]=sa;sj(ta|0,0,na|0)|0;f[K>>2]=sa;Da=ta;Ea=ta}if(Q){Fa=Ea;Ga=Da}else{ta=ga+84|0;sa=ga+68|0;na=0;do{if(!(b[ta>>0]|0))Ha=f[(f[sa>>2]|0)+(na<<2)>>2]|0;else Ha=na;ma=f[j>>2]|0;f[g>>2]=Ha;ra=b[pa>>0]|0;f[e>>2]=f[g>>2];Pb(ga,e,ra,ma)|0;kh((f[H>>2]|0)+((X(f[F>>2]|0,na)|0)<<2)+($<<2)|0,f[j>>2]|0,b[pa>>0]<<2|0)|0;na=na+1|0}while(na>>>0>>0);na=f[j>>2]|0;Fa=na;Ga=na}if(Fa|0){na=f[K>>2]|0;if((na|0)!=(Fa|0))f[K>>2]=na+(~((na+-4-Fa|0)>>>2)<<2);Oq(Ga)}ja=ba;ka=pa}}while(0);na=ca+1|0;sa=f[G>>2]|0;if(na>>>0>=(f[L>>2]|0)-sa>>2>>>0){wa=66;break}$=$+(b[ka>>0]|0)|0;aa=ha;ba=ja;ca=na;da=sa;ea=f[A>>2]|0}if((wa|0)==24)aq(j);else if((wa|0)==30)aq(k);else if((wa|0)==53)aq(j);else if((wa|0)==66){Ia=f[D>>2]|0;Ja=f[H>>2]|0;wa=67;break}}else{Ia=E;Ja=N;wa=67}while(0);d:do if((wa|0)==67){N=X(Ia,B)|0;if((N|0)>0){E=0;H=0;while(1){D=f[Ja+(E<<2)>>2]|0;if(!D)Ka=H;else{A=(_(D|0)|0)^31;Ka=(A|0)<(H|0)?H:A+1|0}E=E+1|0;if((E|0)>=(N|0)){La=Ka;break}else H=Ka}}else La=0;switch(b[h>>0]|0){case 6:{Ue(j,Ia);f[l>>2]=0;f[l+4>>2]=i;H=f[F>>2]|0;f[l+8>>2]=H;f[m>>2]=f[i>>2];f[m+4>>2]=i;f[m+8>>2]=H;f[k>>2]=La;f[g>>2]=f[l>>2];f[g+4>>2]=f[l+4>>2];f[g+8>>2]=f[l+8>>2];f[e>>2]=f[m>>2];f[e+4>>2]=f[m+4>>2];f[e+8>>2]=f[m+8>>2];H=sf(j,g,e,k,c)|0;Se(j);if(!H){ia=0;break d}break}case 5:{Ue(j,Ia);f[n>>2]=0;f[n+4>>2]=i;H=f[F>>2]|0;f[n+8>>2]=H;f[o>>2]=f[i>>2];f[o+4>>2]=i;f[o+8>>2]=H;f[k>>2]=La;f[g>>2]=f[n>>2];f[g+4>>2]=f[n+4>>2];f[g+8>>2]=f[n+8>>2];f[e>>2]=f[o>>2];f[e+4>>2]=f[o+4>>2];f[e+8>>2]=f[o+8>>2];H=tf(j,g,e,k,c)|0;Se(j);if(!H){ia=0;break d}break}case 4:{Ue(j,Ia);f[p>>2]=0;f[p+4>>2]=i;H=f[F>>2]|0;f[p+8>>2]=H;f[q>>2]=f[i>>2];f[q+4>>2]=i;f[q+8>>2]=H;f[k>>2]=La;f[g>>2]=f[p>>2];f[g+4>>2]=f[p+4>>2];f[g+8>>2]=f[p+8>>2];f[e>>2]=f[q>>2];f[e+4>>2]=f[q+4>>2];f[e+8>>2]=f[q+8>>2];H=tf(j,g,e,k,c)|0;Se(j);if(!H){ia=0;break d}break}case 3:{$e(j,Ia);f[r>>2]=0;f[r+4>>2]=i;H=f[F>>2]|0;f[r+8>>2]=H;f[s>>2]=f[i>>2];f[s+4>>2]=i;f[s+8>>2]=H;f[k>>2]=La;f[g>>2]=f[r>>2];f[g+4>>2]=f[r+4>>2];f[g+8>>2]=f[r+8>>2];f[e>>2]=f[s>>2];f[e+4>>2]=f[s+4>>2];f[e+8>>2]=f[s+8>>2];H=Af(j,g,e,k,c)|0;ef(j);if(!H){ia=0;break d}break}case 2:{$e(j,Ia);f[t>>2]=0;f[t+4>>2]=i;H=f[F>>2]|0;f[t+8>>2]=H;f[v>>2]=f[i>>2];f[v+4>>2]=i;f[v+8>>2]=H;f[k>>2]=La;f[g>>2]=f[t>>2];f[g+4>>2]=f[t+4>>2];f[g+8>>2]=f[t+8>>2];f[e>>2]=f[v>>2];f[e+4>>2]=f[v+4>>2];f[e+8>>2]=f[v+8>>2];H=Af(j,g,e,k,c)|0;ef(j);if(!H){ia=0;break d}break}case 1:{af(j,Ia);f[w>>2]=0;f[w+4>>2]=i;H=f[F>>2]|0;f[w+8>>2]=H;f[x>>2]=f[i>>2];f[x+4>>2]=i;f[x+8>>2]=H;f[k>>2]=La;f[g>>2]=f[w>>2];f[g+4>>2]=f[w+4>>2];f[g+8>>2]=f[w+8>>2];f[e>>2]=f[x>>2];f[e+4>>2]=f[x+4>>2];f[e+8>>2]=f[x+8>>2];H=zf(j,g,e,k,c)|0;df(j);if(!H){ia=0;break d}break}case 0:{af(j,Ia);f[y>>2]=0;f[y+4>>2]=i;H=f[F>>2]|0;f[y+8>>2]=H;f[z>>2]=f[i>>2];f[z+4>>2]=i;f[z+8>>2]=H;f[k>>2]=La;f[g>>2]=f[y>>2];f[g+4>>2]=f[y+4>>2];f[g+8>>2]=f[y+8>>2];f[e>>2]=f[z>>2];f[e+4>>2]=f[z+4>>2];f[e+8>>2]=f[z+8>>2];H=zf(j,g,e,k,c)|0;df(j);if(!H){ia=0;break d}break}default:{ia=0;break d}}ia=1}while(0);j=f[i+12>>2]|0;if(!j){u=d;return ia|0}i=f[J>>2]|0;if((i|0)!=(j|0))f[J>>2]=i+(~((i+-4-j|0)>>>2)<<2);Oq(j);u=d;return ia|0}function kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)aq(e);else{j=h<<2;k=ln(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;sj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+1164|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=l+8|0;q=n;r=m;s=h}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);Oq(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=j;q=f[e>>2]|0;r=f[i>>2]|0;s=f[g>>2]|0}f[l>>2]=q;f[o>>2]=r;f[p>>2]=f[e+8>>2];f[e>>2]=0;p=e+4|0;f[p>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)aq(e);else{r=s<<2;o=ln(r)|0;f[e>>2]=o;q=o+(s<<2)|0;f[e+8>>2]=q;sj(o|0,0,r|0)|0;f[p>>2]=q;t=q;v=o;break}else{t=0;v=0}while(0);s=a+1176|0;o=f[s>>2]|0;q=f[o>>2]|0;r=o+4|0;if(!q){w=o+8|0;x=v;y=t}else{t=f[r>>2]|0;if((t|0)!=(q|0))f[r>>2]=t+(~((t+-4-q|0)>>>2)<<2);Oq(q);q=o+8|0;f[q>>2]=0;f[r>>2]=0;f[o>>2]=0;w=q;x=f[e>>2]|0;y=f[p>>2]|0}f[o>>2]=x;f[r>>2]=y;f[w>>2]=f[e+8>>2];w=f[b>>2]|0;y=b+4|0;r=f[y>>2]|0;x=f[y+4>>2]|0;y=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;q=f[o+4>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;i=r;Pc(e);j=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(j|0))z=0;else z=(f[j+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=w;h=z+4|0;f[h>>2]=r;f[h+4>>2]=x;f[z+12>>2]=y;h=z+16|0;f[h>>2]=p;f[h+4>>2]=q;f[z+24>>2]=0;f[z+28>>2]=y-w;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){w=a+1152|0;y=a+1084|0;h=a+1080|0;j=a+1072|0;m=a+1076|0;n=a+1068|0;A=b+8|0;B=c+8|0;C=a+1124|0;D=a+1120|0;E=a+1112|0;F=a+1116|0;G=a+1108|0;H=i+4|0;I=i+24|0;J=i+24|0;K=p+24|0;L=z;while(1){z=f[v>>2]|0;M=L+-1|0;N=M+z|0;O=f[t>>2]|0;P=f[O+(((N>>>0)/113|0)<<2)>>2]|0;Q=(N>>>0)%113|0;N=f[P+(Q*36|0)>>2]|0;R=f[P+(Q*36|0)+12>>2]|0;S=f[P+(Q*36|0)+24>>2]|0;T=f[P+(Q*36|0)+32>>2]|0;f[l>>2]=M;M=f[o>>2]|0;Q=M-O>>2;if((1-L-z+((Q|0)==0?0:(Q*113|0)+-1|0)|0)>>>0>225){Oq(f[M+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=N;f[c>>2]=R;M=f[k>>2]|0;Q=((f[g>>2]|0)+-1|0)==(S|0)?0:S+1|0;S=(f[s>>2]|0)+(T*12|0)|0;z=R-N|0;O=(f[a>>2]|0)-(f[(f[S>>2]|0)+(Q<<2)>>2]|0)|0;a:do if(O){if(z>>>0<3){P=f[w>>2]|0;f[P>>2]=Q;U=f[g>>2]|0;if(U>>>0>1){V=1;W=U;Y=Q;while(1){Y=(Y|0)==(W+-1|0)?0:Y+1|0;f[P+(V<<2)>>2]=Y;V=V+1|0;Z=f[g>>2]|0;if(V>>>0>=Z>>>0){$=Z;break}else W=Z}}else $=U;if(!z){aa=85;break}else{ba=0;ca=$}while(1){W=(f[I>>2]|0)+((X(f[H>>2]|0,N+ba|0)|0)<<2)|0;if(!ca)da=0;else{V=0;do{Y=f[(f[w>>2]|0)+(V<<2)>>2]|0;P=(f[a>>2]|0)-(f[(f[S>>2]|0)+(Y<<2)>>2]|0)|0;do if(P|0){Z=f[y>>2]|0;ea=32-Z|0;fa=32-P|0;ga=f[W+(Y<<2)>>2]<(ea|0)){ha=ga>>>fa;fa=P-ea|0;f[y>>2]=fa;ea=f[h>>2]|ha>>>fa;f[h>>2]=ea;fa=f[j>>2]|0;if((fa|0)==(f[m>>2]|0))Ri(n,h);else{f[fa>>2]=ea;f[j>>2]=fa+4}f[h>>2]=ha<<32-(f[y>>2]|0);break}ha=f[h>>2]|ga>>>Z;f[h>>2]=ha;ga=Z+P|0;f[y>>2]=ga;if((ga|0)!=32)break;ga=f[j>>2]|0;if((ga|0)==(f[m>>2]|0))Ri(n,h);else{f[ga>>2]=ha;f[j>>2]=ga+4}f[h>>2]=0;f[y>>2]=0}while(0);V=V+1|0;P=f[g>>2]|0}while(V>>>0

    >>0);da=P}ba=ba+1|0;if(ba>>>0>=z>>>0){aa=85;break a}else ca=da}}U=T+1|0;Ig(M+(U*12|0)|0,f[M+(T*12|0)>>2]|0,f[M+(T*12|0)+4>>2]|0);V=(f[(f[k>>2]|0)+(U*12|0)>>2]|0)+(Q<<2)|0;W=(f[V>>2]|0)+(1<>2]=W;V=f[A>>2]|0;P=f[B>>2]|0;b:do if((R|0)==(N|0))ia=N;else{Y=f[J>>2]|0;if(!V){if((f[Y+(Q<<2)>>2]|0)>>>0>>0){ia=R;break}else{ja=R;ka=N}while(1){ga=ja;do{ga=ga+-1|0;if((ka|0)==(ga|0)){ia=ka;break b}ha=(f[K>>2]|0)+((X(ga,P)|0)<<2)+(Q<<2)|0}while((f[ha>>2]|0)>>>0>=W>>>0);ka=ka+1|0;if((ka|0)==(ga|0)){ia=ga;break b}else ja=ga}}else{la=R;ma=N}while(1){ha=ma;while(1){na=Y+((X(ha,V)|0)<<2)|0;if((f[na+(Q<<2)>>2]|0)>>>0>=W>>>0){oa=la;break}Z=ha+1|0;if((Z|0)==(la|0)){ia=la;break b}else ha=Z}while(1){oa=oa+-1|0;if((ha|0)==(oa|0)){ia=ha;break b}pa=(f[K>>2]|0)+((X(oa,P)|0)<<2)|0;if((f[pa+(Q<<2)>>2]|0)>>>0>>0){qa=0;break}}do{ga=na+(qa<<2)|0;Z=pa+(qa<<2)|0;fa=f[ga>>2]|0;f[ga>>2]=f[Z>>2];f[Z>>2]=fa;qa=qa+1|0}while((qa|0)!=(V|0));ma=ha+1|0;if((ma|0)==(oa|0)){ia=oa;break}else la=oa}}while(0);W=(_(z|0)|0)^31;P=ia-N|0;Y=R-ia|0;fa=P>>>0>>0;if((P|0)!=(Y|0)){Z=f[C>>2]|0;if(fa)f[D>>2]=f[D>>2]|1<<31-Z;ga=Z+1|0;f[C>>2]=ga;if((ga|0)==32){ga=f[E>>2]|0;if((ga|0)==(f[F>>2]|0))Ri(G,D);else{f[ga>>2]=f[D>>2];f[E>>2]=ga+4}f[C>>2]=0;f[D>>2]=0}}ga=z>>>1;if(fa){fa=ga-P|0;if(W|0){Z=0;ea=1<>>1}}}else{ea=ga-Y|0;if(W|0){Z=0;fa=1<>>1}}}fa=f[s>>2]|0;W=f[fa+(T*12|0)>>2]|0;Z=W+(Q<<2)|0;f[Z>>2]=(f[Z>>2]|0)+1;Ig(fa+(U*12|0)|0,W,f[fa+(T*12|0)+4>>2]|0);if((ia|0)!=(N|0)){fa=f[o>>2]|0;W=f[t>>2]|0;Z=fa-W>>2;ea=f[v>>2]|0;ga=f[l>>2]|0;if((((Z|0)==0?0:(Z*113|0)+-1|0)|0)==(ga+ea|0)){Pc(e);ra=f[v>>2]|0;sa=f[l>>2]|0;ta=f[o>>2]|0;ua=f[t>>2]|0}else{ra=ea;sa=ga;ta=fa;ua=W}W=sa+ra|0;if((ta|0)==(ua|0))va=0;else va=(f[ua+(((W>>>0)/113|0)<<2)>>2]|0)+(((W>>>0)%113|0)*36|0)|0;f[va>>2]=N;W=va+4|0;f[W>>2]=r;f[W+4>>2]=x;f[va+12>>2]=ia;f[va+16>>2]=i;f[va+20>>2]=V;f[va+24>>2]=Q;f[va+28>>2]=P;f[va+32>>2]=T;f[l>>2]=(f[l>>2]|0)+1}if((R|0)!=(ia|0)){W=f[o>>2]|0;fa=f[t>>2]|0;ga=W-fa>>2;ea=f[v>>2]|0;Z=f[l>>2]|0;if((((ga|0)==0?0:(ga*113|0)+-1|0)|0)==(Z+ea|0)){Pc(e);wa=f[v>>2]|0;xa=f[l>>2]|0;ya=f[o>>2]|0;za=f[t>>2]|0}else{wa=ea;xa=Z;ya=W;za=fa}fa=xa+wa|0;if((ya|0)==(za|0))Aa=0;else Aa=(f[za+(((fa>>>0)/113|0)<<2)>>2]|0)+(((fa>>>0)%113|0)*36|0)|0;f[Aa>>2]=ia;f[Aa+4>>2]=i;f[Aa+8>>2]=V;f[Aa+12>>2]=R;fa=Aa+16|0;f[fa>>2]=p;f[fa+4>>2]=q;f[Aa+24>>2]=Q;f[Aa+28>>2]=Y;f[Aa+32>>2]=U;fa=(f[l>>2]|0)+1|0;f[l>>2]=fa;Ba=fa}else aa=85}else aa=85;while(0);if((aa|0)==85){aa=0;Ba=f[l>>2]|0}if(!Ba)break;else L=Ba}}Ba=f[t>>2]|0;L=f[v>>2]|0;Aa=Ba+(((L>>>0)/113|0)<<2)|0;q=f[o>>2]|0;p=q;i=Ba;if((q|0)==(Ba|0)){Ca=0;Da=0}else{ia=(f[Aa>>2]|0)+(((L>>>0)%113|0)*36|0)|0;Ca=ia;Da=ia}ia=Aa;Aa=Da;c:while(1){Da=Aa;do{L=Da;if((Ca|0)==(L|0))break c;Da=L+36|0}while((Da-(f[ia>>2]|0)|0)!=4068);Da=ia+4|0;ia=Da;Aa=f[Da>>2]|0}f[l>>2]=0;l=p-i>>2;if(l>>>0>2){i=Ba;do{Oq(f[i>>2]|0);i=(f[t>>2]|0)+4|0;f[t>>2]=i;Ea=f[o>>2]|0;Fa=Ea-i>>2}while(Fa>>>0>2);Ga=Fa;Ha=i;Ia=Ea}else{Ga=l;Ha=Ba;Ia=q}switch(Ga|0){case 1:{Ja=56;aa=99;break}case 2:{Ja=113;aa=99;break}default:{}}if((aa|0)==99)f[v>>2]=Ja;if((Ha|0)!=(Ia|0)){Ja=Ha;do{Oq(f[Ja>>2]|0);Ja=Ja+4|0}while((Ja|0)!=(Ia|0));Ia=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Ia|0))f[o>>2]=t+(~((t+-4-Ia|0)>>>2)<<2)}Ia=f[e>>2]|0;if(!Ia){u=d;return}Oq(Ia);u=d;return}function lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0;d=u;u=u+32|0;e=d;g=a+8|0;h=f[g>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;do if(h)if(h>>>0>1073741823)aq(e);else{j=h<<2;k=ln(j)|0;f[e>>2]=k;l=k+(h<<2)|0;f[e+8>>2]=l;sj(k|0,0,j|0)|0;f[i>>2]=l;m=l;n=k;break}else{m=0;n=0}while(0);k=a+140|0;l=f[k>>2]|0;j=f[l>>2]|0;o=l+4|0;if(!j){p=l+8|0;q=n;r=m;s=h}else{h=f[o>>2]|0;if((h|0)!=(j|0))f[o>>2]=h+(~((h+-4-j|0)>>>2)<<2);Oq(j);j=l+8|0;f[j>>2]=0;f[o>>2]=0;f[l>>2]=0;p=j;q=f[e>>2]|0;r=f[i>>2]|0;s=f[g>>2]|0}f[l>>2]=q;f[o>>2]=r;f[p>>2]=f[e+8>>2];f[e>>2]=0;p=e+4|0;f[p>>2]=0;f[e+8>>2]=0;do if(s)if(s>>>0>1073741823)aq(e);else{r=s<<2;o=ln(r)|0;f[e>>2]=o;q=o+(s<<2)|0;f[e+8>>2]=q;sj(o|0,0,r|0)|0;f[p>>2]=q;t=q;v=o;break}else{t=0;v=0}while(0);s=a+152|0;o=f[s>>2]|0;q=f[o>>2]|0;r=o+4|0;if(!q){w=o+8|0;x=v;y=t}else{t=f[r>>2]|0;if((t|0)!=(q|0))f[r>>2]=t+(~((t+-4-q|0)>>>2)<<2);Oq(q);q=o+8|0;f[q>>2]=0;f[r>>2]=0;f[o>>2]=0;w=q;x=f[e>>2]|0;y=f[p>>2]|0}f[o>>2]=x;f[r>>2]=y;f[w>>2]=f[e+8>>2];w=f[b>>2]|0;y=b+4|0;r=f[y>>2]|0;x=f[y+4>>2]|0;y=f[c>>2]|0;o=c+4|0;p=f[o>>2]|0;q=f[o+4>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;o=e+8|0;t=e+4|0;v=e+16|0;l=e+20|0;i=r;Pc(e);j=f[t>>2]|0;h=(f[l>>2]|0)+(f[v>>2]|0)|0;if((f[o>>2]|0)==(j|0))z=0;else z=(f[j+(((h>>>0)/113|0)<<2)>>2]|0)+(((h>>>0)%113|0)*36|0)|0;f[z>>2]=w;h=z+4|0;f[h>>2]=r;f[h+4>>2]=x;f[z+12>>2]=y;h=z+16|0;f[h>>2]=p;f[h+4>>2]=q;f[z+24>>2]=0;f[z+28>>2]=y-w;f[z+32>>2]=0;z=(f[l>>2]|0)+1|0;f[l>>2]=z;if(z|0){w=a+128|0;y=a+60|0;h=a+56|0;j=a+48|0;m=a+52|0;n=a+44|0;A=b+8|0;B=c+8|0;C=a+12|0;D=a+100|0;E=a+96|0;F=a+88|0;G=a+92|0;H=a+84|0;I=i+4|0;J=i+24|0;K=i+24|0;L=p+24|0;M=z;while(1){z=f[v>>2]|0;N=M+-1|0;O=N+z|0;P=f[t>>2]|0;Q=f[P+(((O>>>0)/113|0)<<2)>>2]|0;R=(O>>>0)%113|0;O=f[Q+(R*36|0)>>2]|0;S=f[Q+(R*36|0)+12>>2]|0;T=f[Q+(R*36|0)+24>>2]|0;U=f[Q+(R*36|0)+32>>2]|0;f[l>>2]=N;N=f[o>>2]|0;R=N-P>>2;if((1-M-z+((R|0)==0?0:(R*113|0)+-1|0)|0)>>>0>225){Oq(f[N+-4>>2]|0);f[o>>2]=(f[o>>2]|0)+-4}f[b>>2]=O;f[c>>2]=S;N=f[k>>2]|0;R=((f[g>>2]|0)+-1|0)==(T|0)?0:T+1|0;T=(f[s>>2]|0)+(U*12|0)|0;z=S-O|0;P=(f[a>>2]|0)-(f[(f[T>>2]|0)+(R<<2)>>2]|0)|0;a:do if(P){if(z>>>0<3){Q=f[w>>2]|0;f[Q>>2]=R;V=f[g>>2]|0;if(V>>>0>1){W=1;Y=V;Z=R;while(1){Z=(Z|0)==(Y+-1|0)?0:Z+1|0;f[Q+(W<<2)>>2]=Z;W=W+1|0;$=f[g>>2]|0;if(W>>>0>=$>>>0){aa=$;break}else Y=$}}else aa=V;if(!z){ba=81;break}else{ca=0;da=aa}while(1){Y=(f[J>>2]|0)+((X(f[I>>2]|0,O+ca|0)|0)<<2)|0;if(!da)ea=0;else{W=0;do{Z=f[(f[w>>2]|0)+(W<<2)>>2]|0;Q=(f[a>>2]|0)-(f[(f[T>>2]|0)+(Z<<2)>>2]|0)|0;do if(Q|0){$=f[y>>2]|0;fa=32-$|0;ga=32-Q|0;ha=f[Y+(Z<<2)>>2]<(fa|0)){ia=ha>>>ga;ga=Q-fa|0;f[y>>2]=ga;fa=f[h>>2]|ia>>>ga;f[h>>2]=fa;ga=f[j>>2]|0;if((ga|0)==(f[m>>2]|0))Ri(n,h);else{f[ga>>2]=fa;f[j>>2]=ga+4}f[h>>2]=ia<<32-(f[y>>2]|0);break}ia=f[h>>2]|ha>>>$;f[h>>2]=ia;ha=$+Q|0;f[y>>2]=ha;if((ha|0)!=32)break;ha=f[j>>2]|0;if((ha|0)==(f[m>>2]|0))Ri(n,h);else{f[ha>>2]=ia;f[j>>2]=ha+4}f[h>>2]=0;f[y>>2]=0}while(0);W=W+1|0;Q=f[g>>2]|0}while(W>>>0>>0);ea=Q}ca=ca+1|0;if(ca>>>0>=z>>>0){ba=81;break a}else da=ea}}V=U+1|0;Ig(N+(V*12|0)|0,f[N+(U*12|0)>>2]|0,f[N+(U*12|0)+4>>2]|0);W=(f[(f[k>>2]|0)+(V*12|0)>>2]|0)+(R<<2)|0;Y=(f[W>>2]|0)+(1<>2]=Y;W=f[A>>2]|0;Q=f[B>>2]|0;b:do if((S|0)==(O|0))ja=O;else{Z=f[K>>2]|0;if(!W){if((f[Z+(R<<2)>>2]|0)>>>0>>0){ja=S;break}else{ka=S;la=O}while(1){ha=ka;do{ha=ha+-1|0;if((la|0)==(ha|0)){ja=la;break b}ia=(f[L>>2]|0)+((X(ha,Q)|0)<<2)+(R<<2)|0}while((f[ia>>2]|0)>>>0>=Y>>>0);la=la+1|0;if((la|0)==(ha|0)){ja=ha;break b}else ka=ha}}else{ma=S;na=O}while(1){ia=na;while(1){oa=Z+((X(ia,W)|0)<<2)|0;if((f[oa+(R<<2)>>2]|0)>>>0>=Y>>>0){pa=ma;break}$=ia+1|0;if(($|0)==(ma|0)){ja=ma;break b}else ia=$}while(1){pa=pa+-1|0;if((ia|0)==(pa|0)){ja=ia;break b}qa=(f[L>>2]|0)+((X(pa,Q)|0)<<2)|0;if((f[qa+(R<<2)>>2]|0)>>>0>>0){ra=0;break}}do{ha=oa+(ra<<2)|0;$=qa+(ra<<2)|0;ga=f[ha>>2]|0;f[ha>>2]=f[$>>2];f[$>>2]=ga;ra=ra+1|0}while((ra|0)!=(W|0));na=ia+1|0;if((na|0)==(pa|0)){ja=pa;break}else ma=pa}}while(0);Y=(_(z|0)|0)^31;Q=ja-O|0;Z=S-ja|0;ga=Q>>>0>>0;if((Q|0)!=(Z|0)){$=f[D>>2]|0;if(ga)f[E>>2]=f[E>>2]|1<<31-$;ha=$+1|0;f[D>>2]=ha;if((ha|0)==32){ha=f[F>>2]|0;if((ha|0)==(f[G>>2]|0))Ri(H,E);else{f[ha>>2]=f[E>>2];f[F>>2]=ha+4}f[D>>2]=0;f[E>>2]=0}}ha=z>>>1;if(ga)sg(C,Y,ha-Q|0);else sg(C,Y,ha-Z|0);ha=f[s>>2]|0;Y=f[ha+(U*12|0)>>2]|0;ga=Y+(R<<2)|0;f[ga>>2]=(f[ga>>2]|0)+1;Ig(ha+(V*12|0)|0,Y,f[ha+(U*12|0)+4>>2]|0);if((ja|0)!=(O|0)){ha=f[o>>2]|0;Y=f[t>>2]|0;ga=ha-Y>>2;$=f[v>>2]|0;fa=f[l>>2]|0;if((((ga|0)==0?0:(ga*113|0)+-1|0)|0)==(fa+$|0)){Pc(e);sa=f[v>>2]|0;ta=f[l>>2]|0;ua=f[o>>2]|0;va=f[t>>2]|0}else{sa=$;ta=fa;ua=ha;va=Y}Y=ta+sa|0;if((ua|0)==(va|0))wa=0;else wa=(f[va+(((Y>>>0)/113|0)<<2)>>2]|0)+(((Y>>>0)%113|0)*36|0)|0;f[wa>>2]=O;Y=wa+4|0;f[Y>>2]=r;f[Y+4>>2]=x;f[wa+12>>2]=ja;f[wa+16>>2]=i;f[wa+20>>2]=W;f[wa+24>>2]=R;f[wa+28>>2]=Q;f[wa+32>>2]=U;f[l>>2]=(f[l>>2]|0)+1}if((S|0)!=(ja|0)){Q=f[o>>2]|0;Y=f[t>>2]|0;ha=Q-Y>>2;fa=f[v>>2]|0;$=f[l>>2]|0;if((((ha|0)==0?0:(ha*113|0)+-1|0)|0)==($+fa|0)){Pc(e);xa=f[v>>2]|0;ya=f[l>>2]|0;za=f[o>>2]|0;Aa=f[t>>2]|0}else{xa=fa;ya=$;za=Q;Aa=Y}Y=ya+xa|0;if((za|0)==(Aa|0))Ba=0;else Ba=(f[Aa+(((Y>>>0)/113|0)<<2)>>2]|0)+(((Y>>>0)%113|0)*36|0)|0;f[Ba>>2]=ja;f[Ba+4>>2]=i;f[Ba+8>>2]=W;f[Ba+12>>2]=S;Y=Ba+16|0;f[Y>>2]=p;f[Y+4>>2]=q;f[Ba+24>>2]=R;f[Ba+28>>2]=Z;f[Ba+32>>2]=V;Z=(f[l>>2]|0)+1|0;f[l>>2]=Z;Ca=Z}else ba=81}else ba=81;while(0);if((ba|0)==81){ba=0;Ca=f[l>>2]|0}if(!Ca)break;else M=Ca}}Ca=f[t>>2]|0;M=f[v>>2]|0;Ba=Ca+(((M>>>0)/113|0)<<2)|0;q=f[o>>2]|0;p=q;i=Ca;if((q|0)==(Ca|0)){Da=0;Ea=0}else{ja=(f[Ba>>2]|0)+(((M>>>0)%113|0)*36|0)|0;Da=ja;Ea=ja}ja=Ba;Ba=Ea;c:while(1){Ea=Ba;do{M=Ea;if((Da|0)==(M|0))break c;Ea=M+36|0}while((Ea-(f[ja>>2]|0)|0)!=4068);Ea=ja+4|0;ja=Ea;Ba=f[Ea>>2]|0}f[l>>2]=0;l=p-i>>2;if(l>>>0>2){i=Ca;do{Oq(f[i>>2]|0);i=(f[t>>2]|0)+4|0;f[t>>2]=i;Fa=f[o>>2]|0;Ga=Fa-i>>2}while(Ga>>>0>2);Ha=Ga;Ia=i;Ja=Fa}else{Ha=l;Ia=Ca;Ja=q}switch(Ha|0){case 1:{Ka=56;ba=95;break}case 2:{Ka=113;ba=95;break}default:{}}if((ba|0)==95)f[v>>2]=Ka;if((Ia|0)!=(Ja|0)){Ka=Ia;do{Oq(f[Ka>>2]|0);Ka=Ka+4|0}while((Ka|0)!=(Ja|0));Ja=f[t>>2]|0;t=f[o>>2]|0;if((t|0)!=(Ja|0))f[o>>2]=t+(~((t+-4-Ja|0)>>>2)<<2)}Ja=f[e>>2]|0;if(!Ja){u=d;return}Oq(Ja);u=d;return}function mb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=Oa,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=un(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Vn(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;if(!(b[a+32>>0]|0)){r=o;m=0;while(1){s=$(b[r>>0]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}else{r=o;m=0;while(1){s=$($(b[r>>0]|0)/$(127.0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[k>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){t=q;break}else r=r+1|0}}}else t=l;r=t<<24>>24;if(t<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 2:{r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){k=f[f[a>>2]>>2]|0;o=a+40|0;q=un(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;u=Vn(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=k+u|0;if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=$(h[u>>0]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){v=q;break}else u=u+1|0}}else{u=o;k=0;while(1){s=$($(h[u>>0]|0)/$(255.0));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){v=l;break}else u=u+1|0}}}else v=m;u=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 3:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Vn(un(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=$(d[u>>1]|0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){w=q;break}else u=u+2|0}}else{u=o;l=0;while(1){s=$($(d[u>>1]|0)/$(32767.0));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else u=u+2|0}}else w=k;u=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 4:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Vn(un(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){s=$(j[u>>1]|0);n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){x=q;break}else u=u+2|0}}else{u=o;m=0;while(1){s=$($(j[u>>1]|0)/$(65535.0));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){x=k;break}else u=u+2|0}}else x=l;u=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 5:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Vn(un(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){s=$(f[u>>2]|0);n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){y=q;break}else u=u+4|0}}else{u=o;k=0;while(1){s=$($(f[u>>2]|0)*$(4.65661287e-10));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){y=l;break}else u=u+4|0}}else y=m;u=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 6:{u=a+48|0;k=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Vn(un(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,k|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;l=0;while(1){s=$((f[u>>2]|0)>>>0);n[g+(l<<2)>>2]=s;l=l+1|0;q=b[r>>0]|0;if((l|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){z=q;break}else u=u+4|0}}else{u=o;l=0;while(1){s=$($((f[u>>2]|0)>>>0)*$(2.32830644e-10));n[g+(l<<2)>>2]=s;l=l+1|0;m=b[r>>0]|0;if((l|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){z=m;break}else u=u+4|0}}else z=k;u=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 7:{u=a+48|0;l=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Vn(un(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,l|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;l=b[r>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;m=0;while(1){q=u;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+(f[q+4>>2]|0));n[g+(m<<2)>>2]=s;m=m+1|0;q=b[r>>0]|0;if((m|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else u=u+8|0}}else{u=o;m=0;while(1){k=u;s=$($(+((f[k>>2]|0)>>>0)+4294967296.0*+(f[k+4>>2]|0))*$(1.08420217e-19));n[g+(m<<2)>>2]=s;m=m+1|0;k=b[r>>0]|0;if((m|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){A=k;break}else u=u+8|0}}else A=l;u=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 8:{u=a+48|0;m=f[u>>2]|0;r=f[u+4>>2]|0;u=a+40|0;o=(Vn(un(f[u>>2]|0,f[u+4>>2]|0,f[c>>2]|0,0)|0,I|0,m|0,r|0)|0)+(f[f[a>>2]>>2]|0)|0;r=a+24|0;m=b[r>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0)if(!(b[a+32>>0]|0)){u=o;k=0;while(1){q=u;s=$(+((f[q>>2]|0)>>>0)+4294967296.0*+((f[q+4>>2]|0)>>>0));n[g+(k<<2)>>2]=s;k=k+1|0;q=b[r>>0]|0;if((k|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){B=q;break}else u=u+8|0}}else{u=o;k=0;while(1){l=u;s=$($(+((f[l>>2]|0)>>>0)+4294967296.0*+((f[l+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(k<<2)>>2]=s;k=k+1|0;l=b[r>>0]|0;if((k|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){B=l;break}else u=u+8|0}}else B=m;u=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(u<<2)|0,0,(e<<24>>24)-u<<2|0)|0;i=1;return i|0}case 9:{u=a+24|0;k=b[u>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){r=f[f[a>>2]>>2]|0;o=a+40|0;l=un(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;q=Vn(l|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=r+q|0;q=0;while(1){f[g+(q<<2)>>2]=f[o>>2];q=q+1|0;r=b[u>>0]|0;if((q|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){C=r;break}else o=o+4|0}}else C=k;o=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 10:{o=a+24|0;q=b[o>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){u=f[f[a>>2]>>2]|0;m=a+40|0;r=un(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;l=Vn(r|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=u+l|0;l=0;while(1){s=$(+p[m>>3]);n[g+(l<<2)>>2]=s;l=l+1|0;u=b[o>>0]|0;if((l|0)>=((u<<24>>24>e<<24>>24?e:u)<<24>>24|0)){D=u;break}else m=m+8|0}}else D=q;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 11:{m=a+24|0;l=b[m>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){o=f[f[a>>2]>>2]|0;k=a+40|0;u=un(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;r=Vn(u|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=o+r|0;r=0;while(1){s=$((b[k>>0]|0)!=0&1);n[g+(r<<2)>>2]=s;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){E=o;break}else k=k+1|0}}else E=l;k=E<<24>>24;if(E<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function nb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0.0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0.0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0.0,qb=0.0,rb=0.0,sb=0.0,tb=0;i=u;u=u+512|0;j=i;k=d+c|0;l=0-k|0;m=a+4|0;n=a+100|0;o=b;b=0;a:while(1){switch(o|0){case 46:{p=6;break a;break}case 48:break;default:{q=0;r=o;s=b;t=0;v=0;break a}}w=f[m>>2]|0;if(w>>>0<(f[n>>2]|0)>>>0){f[m>>2]=w+1;o=h[w>>0]|0;b=1;continue}else{o=Si(a)|0;b=1;continue}}if((p|0)==6){o=f[m>>2]|0;if(o>>>0<(f[n>>2]|0)>>>0){f[m>>2]=o+1;x=h[o>>0]|0}else x=Si(a)|0;if((x|0)==48){o=0;w=0;while(1){y=Vn(o|0,w|0,-1,-1)|0;z=I;A=f[m>>2]|0;if(A>>>0<(f[n>>2]|0)>>>0){f[m>>2]=A+1;B=h[A>>0]|0}else B=Si(a)|0;if((B|0)==48){o=y;w=z}else{q=1;r=B;s=1;t=y;v=z;break}}}else{q=1;r=x;s=b;t=0;v=0}}f[j>>2]=0;b=r+-48|0;x=(r|0)==46;b:do if(x|b>>>0<10){B=j+496|0;w=0;o=0;z=0;y=q;A=s;C=r;D=x;E=b;F=t;G=v;H=0;J=0;c:while(1){do if(D)if(!y){L=w;M=o;N=1;O=z;P=A;Q=H;R=J;S=H;T=J}else break c;else{U=Vn(H|0,J|0,1,0)|0;V=I;W=(C|0)!=48;if((o|0)>=125){if(!W){L=w;M=o;N=y;O=z;P=A;Q=F;R=G;S=U;T=V;break}f[B>>2]=f[B>>2]|1;L=w;M=o;N=y;O=z;P=A;Q=F;R=G;S=U;T=V;break}Y=j+(o<<2)|0;if(!w)Z=E;else Z=C+-48+((f[Y>>2]|0)*10|0)|0;f[Y>>2]=Z;Y=w+1|0;_=(Y|0)==9;L=_?0:Y;M=o+(_&1)|0;N=y;O=W?U:z;P=1;Q=F;R=G;S=U;T=V}while(0);V=f[m>>2]|0;if(V>>>0<(f[n>>2]|0)>>>0){f[m>>2]=V+1;$=h[V>>0]|0}else $=Si(a)|0;E=$+-48|0;D=($|0)==46;if(!(D|E>>>0<10)){aa=L;ba=M;ca=O;da=N;ea=$;fa=P;ga=S;ha=Q;ia=T;ja=R;p=29;break b}else{w=L;o=M;z=O;y=N;A=P;C=$;F=Q;G=R;H=S;J=T}}ka=w;la=o;ma=z;na=H;oa=J;pa=F;qa=G;ra=(A|0)!=0;p=37}else{aa=0;ba=0;ca=0;da=q;ea=r;fa=s;ga=0;ha=t;ia=0;ja=v;p=29}while(0);do if((p|0)==29){v=(da|0)==0;t=v?ga:ha;s=v?ia:ja;v=(fa|0)!=0;if(!(v&(ea|32|0)==101))if((ea|0)>-1){ka=aa;la=ba;ma=ca;na=ga;oa=ia;pa=t;qa=s;ra=v;p=37;break}else{sa=aa;ta=ba;ua=ca;va=ga;wa=ia;xa=v;ya=t;za=s;p=39;break}v=Re(a,g)|0;r=I;if((v|0)==0&(r|0)==-2147483648){if(!g){Ym(a,0);Aa=0.0;break}if(!(f[n>>2]|0)){Ba=0;Ca=0}else{f[m>>2]=(f[m>>2]|0)+-1;Ba=0;Ca=0}}else{Ba=v;Ca=r}r=Vn(Ba|0,Ca|0,t|0,s|0)|0;Da=aa;Ea=ba;Fa=ca;Ga=r;Ha=ga;Ia=I;Ja=ia;p=41}while(0);if((p|0)==37)if(f[n>>2]|0){f[m>>2]=(f[m>>2]|0)+-1;if(ra){Da=ka;Ea=la;Fa=ma;Ga=pa;Ha=na;Ia=qa;Ja=oa;p=41}else p=40}else{sa=ka;ta=la;ua=ma;va=na;wa=oa;xa=ra;ya=pa;za=qa;p=39}if((p|0)==39)if(xa){Da=sa;Ea=ta;Fa=ua;Ga=ya;Ha=va;Ia=za;Ja=wa;p=41}else p=40;do if((p|0)==40){wa=Vq()|0;f[wa>>2]=22;Ym(a,0);Aa=0.0}else if((p|0)==41){wa=f[j>>2]|0;if(!wa){Aa=+(e|0)*0.0;break}if(((Ja|0)<0|(Ja|0)==0&Ha>>>0<10)&((Ga|0)==(Ha|0)&(Ia|0)==(Ja|0))?(c|0)>30|(wa>>>c|0)==0:0){Aa=+(e|0)*+(wa>>>0);break}wa=(d|0)/-2|0;za=((wa|0)<0)<<31>>31;if((Ia|0)>(za|0)|(Ia|0)==(za|0)&Ga>>>0>wa>>>0){wa=Vq()|0;f[wa>>2]=34;Aa=+(e|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}wa=d+-106|0;za=((wa|0)<0)<<31>>31;if((Ia|0)<(za|0)|(Ia|0)==(za|0)&Ga>>>0>>0){wa=Vq()|0;f[wa>>2]=34;Aa=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!Da)Ka=Ea;else{if((Da|0)<9){wa=j+(Ea<<2)|0;za=Da;va=f[wa>>2]|0;while(1){va=va*10|0;if((za|0)>=8)break;else za=za+1|0}f[wa>>2]=va}Ka=Ea+1|0}if((Fa|0)<9?(Fa|0)<=(Ga|0)&(Ga|0)<18:0){if((Ga|0)==9){Aa=+(e|0)*+((f[j>>2]|0)>>>0);break}if((Ga|0)<9){Aa=+(e|0)*+((f[j>>2]|0)>>>0)/+(f[6720+(8-Ga<<2)>>2]|0);break}za=c+27+(X(Ga,-3)|0)|0;A=f[j>>2]|0;if((za|0)>30|(A>>>za|0)==0){Aa=+(e|0)*+(A>>>0)*+(f[6720+(Ga+-10<<2)>>2]|0);break}}A=(Ga|0)%9|0;if(!A){La=0;Ma=Ka;Na=0;Oa=Ga}else{za=(Ga|0)>-1?A:A+9|0;A=f[6720+(8-za<<2)>>2]|0;if(Ka){G=1e9/(A|0)|0;F=0;J=0;H=Ga;z=0;do{o=j+(z<<2)|0;w=f[o>>2]|0;ya=((w>>>0)/(A>>>0)|0)+F|0;f[o>>2]=ya;F=X(G,(w>>>0)%(A>>>0)|0)|0;w=(z|0)==(J|0)&(ya|0)==0;H=w?H+-9|0:H;J=w?J+1&127:J;z=z+1|0}while((z|0)!=(Ka|0));if(!F){Pa=J;Qa=Ka;Ra=H}else{f[j+(Ka<<2)>>2]=F;Pa=J;Qa=Ka+1|0;Ra=H}}else{Pa=0;Qa=0;Ra=Ga}La=0;Ma=Qa;Na=Pa;Oa=9-za+Ra|0}d:while(1){z=(Oa|0)<18;A=(Oa|0)==18;G=j+(Na<<2)|0;va=La;wa=Ma;while(1){if(!z){if(!A){Sa=va;Ta=Na;Ua=Oa;Va=wa;break d}if((f[G>>2]|0)>>>0>=9007199){Sa=va;Ta=Na;Ua=18;Va=wa;break d}}w=0;Wa=wa;ya=wa+127|0;while(1){o=ya&127;ua=j+(o<<2)|0;ta=Tn(f[ua>>2]|0,0,29)|0;sa=Vn(ta|0,I|0,w|0,0)|0;ta=I;if(ta>>>0>0|(ta|0)==0&sa>>>0>1e9){xa=jp(sa|0,ta|0,1e9,0)|0;qa=hn(sa|0,ta|0,1e9,0)|0;Xa=xa;Ya=qa}else{Xa=0;Ya=sa}f[ua>>2]=Ya;ua=(o|0)==(Na|0);Wa=(Ya|0)==0&(((o|0)!=(Wa+127&127|0)|ua)^1)?o:Wa;if(ua)break;else{w=Xa;ya=o+-1|0}}va=va+-29|0;if(Xa|0)break;else wa=Wa}wa=Na+127&127;G=Wa+127&127;A=j+((Wa+126&127)<<2)|0;if((wa|0)==(Wa|0)){f[A>>2]=f[A>>2]|f[j+(G<<2)>>2];Za=G}else Za=Wa;f[j+(wa<<2)>>2]=Xa;La=va;Ma=Za;Na=wa;Oa=Oa+9|0}e:while(1){za=Va+1&127;H=j+((Va+127&127)<<2)|0;J=Sa;F=Ta;wa=Ua;while(1){G=(wa|0)==18;A=(wa|0)>27?9:1;_a=J;$a=F;while(1){z=0;while(1){ya=z+$a&127;if((ya|0)==(Va|0)){ab=2;p=88;break}w=f[j+(ya<<2)>>2]|0;ya=f[6752+(z<<2)>>2]|0;if(w>>>0>>0){ab=2;p=88;break}if(w>>>0>ya>>>0)break;ya=z+1|0;if((z|0)<1)z=ya;else{ab=ya;p=88;break}}if((p|0)==88?(p=0,G&(ab|0)==2):0){bb=0.0;cb=0;db=Va;break e}eb=A+_a|0;if(($a|0)==(Va|0)){_a=eb;$a=Va}else break}G=(1<>>A;fb=0;gb=$a;hb=wa;ya=$a;do{w=j+(ya<<2)|0;o=f[w>>2]|0;ua=(o>>>A)+fb|0;f[w>>2]=ua;fb=X(o&G,z)|0;o=(ya|0)==(gb|0)&(ua|0)==0;hb=o?hb+-9|0:hb;gb=o?gb+1&127:gb;ya=ya+1&127}while((ya|0)!=(Va|0));if(!fb){J=eb;F=gb;wa=hb;continue}if((za|0)!=(gb|0))break;f[H>>2]=f[H>>2]|1;J=eb;F=gb;wa=hb}f[j+(Va<<2)>>2]=fb;Sa=eb;Ta=gb;Ua=hb;Va=za}while(1){wa=cb+$a&127;F=db+1&127;if((wa|0)==(db|0)){f[j+(F+-1<<2)>>2]=0;ib=F}else ib=db;bb=bb*1.0e9+ +((f[j+(wa<<2)>>2]|0)>>>0);cb=cb+1|0;if((cb|0)==2)break;else db=ib}jb=+(e|0);kb=bb*jb;wa=_a+53|0;F=wa-d|0;J=(F|0)<(c|0);H=J?((F|0)>0?F:0):c;if((H|0)<53){lb=+rq(+bk(1.0,105-H|0),kb);mb=+Dq(kb,+bk(1.0,53-H|0));nb=lb;ob=mb;pb=lb+(kb-mb)}else{nb=0.0;ob=0.0;pb=kb}va=$a+2&127;if((va|0)!=(ib|0)){ya=f[j+(va<<2)>>2]|0;do if(ya>>>0>=5e8){if((ya|0)!=5e8){qb=jb*.75+ob;break}if(($a+3&127|0)==(ib|0)){qb=jb*.5+ob;break}else{qb=jb*.75+ob;break}}else{if((ya|0)==0?($a+3&127|0)==(ib|0):0){qb=ob;break}qb=jb*.25+ob}while(0);if((53-H|0)>1?!(+Dq(qb,1.0)!=0.0):0)rb=qb+1.0;else rb=qb}else rb=ob;jb=pb+rb-nb;do if((wa&2147483647|0)>(-2-k|0)){ya=!(+K(+jb)>=9007199254740992.0);va=_a+((ya^1)&1)|0;kb=ya?jb:jb*.5;if((va+50|0)<=(l|0)?!(rb!=0.0&(J&((H|0)!=(F|0)|ya))):0){sb=kb;tb=va;break}ya=Vq()|0;f[ya>>2]=34;sb=kb;tb=va}else{sb=jb;tb=_a}while(0);Aa=+sq(sb,tb)}while(0);u=i;return +Aa}function ob(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0.0,E=0,F=0,G=0,H=0.0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0.0,ga=0.0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0;j=u;u=u+560|0;k=j+8|0;l=j;m=j+524|0;n=m;o=j+512|0;f[l>>2]=0;p=o+12|0;yo(c)|0;if((I|0)<0){q=-c;r=1;s=16605}else{q=c;r=(g&2049|0)!=0&1;s=(g&2048|0)==0?((g&1|0)==0?16606:16611):16608}yo(q)|0;do if(0==0&(I&2146435072|0)==2146435072){t=(i&32|0)!=0;v=r+3|0;Qk(a,32,d,v,g&-65537);Xo(a,s,r);Xo(a,q!=q|0.0!=0.0?(t?18555:16632):t?16624:16628,3);Qk(a,32,d,v,g^8192);w=v}else{c=+tq(q,l)*2.0;v=c!=0.0;if(v)f[l>>2]=(f[l>>2]|0)+-1;t=i|32;if((t|0)==97){x=i&32;y=(x|0)==0?s:s+9|0;z=r|2;A=12-e|0;do if(!(e>>>0>11|(A|0)==0)){B=8.0;C=A;do{C=C+-1|0;B=B*16.0}while((C|0)!=0);if((b[y>>0]|0)==45){D=-(B+(-c-B));break}else{D=c+B-B;break}}else D=c;while(0);A=f[l>>2]|0;C=(A|0)<0?0-A|0:A;E=Rj(C,((C|0)<0)<<31>>31,p)|0;if((E|0)==(p|0)){C=o+11|0;b[C>>0]=48;F=C}else F=E;b[F+-1>>0]=(A>>31&2)+43;A=F+-2|0;b[A>>0]=i+15;E=(e|0)<1;C=(g&8|0)==0;G=m;H=D;while(1){J=~~H;K=G+1|0;b[G>>0]=x|h[16636+J>>0];H=(H-+(J|0))*16.0;if((K-n|0)==1?!(C&(E&H==0.0)):0){b[K>>0]=46;L=G+2|0}else L=K;if(!(H!=0.0))break;else G=L}G=L;if((e|0)!=0?(-2-n+G|0)<(e|0):0){M=G-n|0;N=e+2|0}else{E=G-n|0;M=E;N=E}E=p-A|0;G=E+z+N|0;Qk(a,32,d,G,g);Xo(a,y,z);Qk(a,48,d,G,g^65536);Xo(a,m,M);Qk(a,48,N-M|0,0,0);Xo(a,A,E);Qk(a,32,d,G,g^8192);w=G;break}G=(e|0)<0?6:e;if(v){E=(f[l>>2]|0)+-28|0;f[l>>2]=E;O=c*268435456.0;P=E}else{O=c;P=f[l>>2]|0}E=(P|0)<0?k:k+288|0;C=E;H=O;do{x=~~H>>>0;f[C>>2]=x;C=C+4|0;H=(H-+(x>>>0))*1.0e9}while(H!=0.0);if((P|0)>0){v=E;A=C;z=P;while(1){y=(z|0)<29?z:29;x=A+-4|0;if(x>>>0>=v>>>0){K=x;x=0;do{J=Tn(f[K>>2]|0,0,y|0)|0;Q=Vn(J|0,I|0,x|0,0)|0;J=I;R=hn(Q|0,J|0,1e9,0)|0;f[K>>2]=R;x=jp(Q|0,J|0,1e9,0)|0;K=K+-4|0}while(K>>>0>=v>>>0);if(x){K=v+-4|0;f[K>>2]=x;S=K}else S=v}else S=v;K=A;while(1){if(K>>>0<=S>>>0)break;J=K+-4|0;if(!(f[J>>2]|0))K=J;else break}x=(f[l>>2]|0)-y|0;f[l>>2]=x;if((x|0)>0){v=S;A=K;z=x}else{T=S;U=K;V=x;break}}}else{T=E;U=C;V=P}if((V|0)<0){z=((G+25|0)/9|0)+1|0;A=(t|0)==102;v=T;x=U;J=V;while(1){Q=0-J|0;R=(Q|0)<9?Q:9;if(v>>>0>>0){Q=(1<>>R;Y=0;Z=v;do{_=f[Z>>2]|0;f[Z>>2]=(_>>>R)+Y;Y=X(_&Q,W)|0;Z=Z+4|0}while(Z>>>0>>0);Z=(f[v>>2]|0)==0?v+4|0:v;if(!Y){$=Z;aa=x}else{f[x>>2]=Y;$=Z;aa=x+4|0}}else{$=(f[v>>2]|0)==0?v+4|0:v;aa=x}Z=A?E:$;W=(aa-Z>>2|0)>(z|0)?Z+(z<<2)|0:aa;J=(f[l>>2]|0)+R|0;f[l>>2]=J;if((J|0)>=0){ba=$;ca=W;break}else{v=$;x=W}}}else{ba=T;ca=U}x=E;if(ba>>>0>>0){v=(x-ba>>2)*9|0;J=f[ba>>2]|0;if(J>>>0<10)da=v;else{z=v;v=10;while(1){v=v*10|0;A=z+1|0;if(J>>>0>>0){da=A;break}else z=A}}}else da=0;z=(t|0)==103;v=(G|0)!=0;J=G-((t|0)!=102?da:0)+((v&z)<<31>>31)|0;if((J|0)<(((ca-x>>2)*9|0)+-9|0)){A=J+9216|0;J=E+4+(((A|0)/9|0)+-1024<<2)|0;C=(A|0)%9|0;if((C|0)<8){A=C;C=10;while(1){W=C*10|0;if((A|0)<7){A=A+1|0;C=W}else{ea=W;break}}}else ea=10;C=f[J>>2]|0;A=(C>>>0)%(ea>>>0)|0;t=(J+4|0)==(ca|0);if(!(t&(A|0)==0)){B=(((C>>>0)/(ea>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;W=(ea|0)/2|0;H=A>>>0>>0?.5:t&(A|0)==(W|0)?1.0:1.5;if(!r){fa=H;ga=B}else{W=(b[s>>0]|0)==45;fa=W?-H:H;ga=W?-B:B}W=C-A|0;f[J>>2]=W;if(ga+fa!=ga){A=W+ea|0;f[J>>2]=A;if(A>>>0>999999999){A=ba;W=J;while(1){C=W+-4|0;f[W>>2]=0;if(C>>>0>>0){t=A+-4|0;f[t>>2]=0;ha=t}else ha=A;t=(f[C>>2]|0)+1|0;f[C>>2]=t;if(t>>>0>999999999){A=ha;W=C}else{ia=ha;ja=C;break}}}else{ia=ba;ja=J}W=(x-ia>>2)*9|0;A=f[ia>>2]|0;if(A>>>0<10){ka=ja;la=W;ma=ia}else{C=W;W=10;while(1){W=W*10|0;t=C+1|0;if(A>>>0>>0){ka=ja;la=t;ma=ia;break}else C=t}}}else{ka=J;la=da;ma=ba}}else{ka=J;la=da;ma=ba}C=ka+4|0;na=la;oa=ca>>>0>C>>>0?C:ca;pa=ma}else{na=da;oa=ca;pa=ba}C=oa;while(1){if(C>>>0<=pa>>>0){qa=0;break}W=C+-4|0;if(!(f[W>>2]|0))C=W;else{qa=1;break}}J=0-na|0;do if(z){W=G+((v^1)&1)|0;if((W|0)>(na|0)&(na|0)>-5){ra=i+-1|0;sa=W+-1-na|0}else{ra=i+-2|0;sa=W+-1|0}W=g&8;if(!W){if(qa?(A=f[C+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){t=0;Z=10;while(1){Z=Z*10|0;Q=t+1|0;if((A>>>0)%(Z>>>0)|0|0){ta=Q;break}else t=Q}}else ta=0;else ta=9;t=((C-x>>2)*9|0)+-9|0;if((ra|32|0)==102){Z=t-ta|0;A=(Z|0)>0?Z:0;ua=ra;va=(sa|0)<(A|0)?sa:A;wa=0;break}else{A=t+na-ta|0;t=(A|0)>0?A:0;ua=ra;va=(sa|0)<(t|0)?sa:t;wa=0;break}}else{ua=ra;va=sa;wa=W}}else{ua=i;va=G;wa=g&8}while(0);G=va|wa;x=(G|0)!=0&1;v=(ua|32|0)==102;if(v){xa=0;ya=(na|0)>0?na:0}else{z=(na|0)<0?J:na;t=Rj(z,((z|0)<0)<<31>>31,p)|0;z=p;if((z-t|0)<2){A=t;while(1){Z=A+-1|0;b[Z>>0]=48;if((z-Z|0)<2)A=Z;else{za=Z;break}}}else za=t;b[za+-1>>0]=(na>>31&2)+43;A=za+-2|0;b[A>>0]=ua;xa=A;ya=z-A|0}A=r+1+va+x+ya|0;Qk(a,32,d,A,g);Xo(a,s,r);Qk(a,48,d,A,g^65536);if(v){J=pa>>>0>E>>>0?E:pa;Z=m+9|0;R=Z;Y=m+8|0;Q=J;do{K=Rj(f[Q>>2]|0,0,Z)|0;if((Q|0)==(J|0))if((K|0)==(Z|0)){b[Y>>0]=48;Aa=Y}else Aa=K;else if(K>>>0>m>>>0){sj(m|0,48,K-n|0)|0;y=K;while(1){_=y+-1|0;if(_>>>0>m>>>0)y=_;else{Aa=_;break}}}else Aa=K;Xo(a,Aa,R-Aa|0);Q=Q+4|0}while(Q>>>0<=E>>>0);if(G|0)Xo(a,16652,1);if(Q>>>0>>0&(va|0)>0){E=va;R=Q;while(1){Y=Rj(f[R>>2]|0,0,Z)|0;if(Y>>>0>m>>>0){sj(m|0,48,Y-n|0)|0;J=Y;while(1){v=J+-1|0;if(v>>>0>m>>>0)J=v;else{Ba=v;break}}}else Ba=Y;Xo(a,Ba,(E|0)<9?E:9);R=R+4|0;J=E+-9|0;if(!(R>>>0>>0&(E|0)>9)){Ca=J;break}else E=J}}else Ca=va;Qk(a,48,Ca+9|0,9,0)}else{E=qa?C:pa+4|0;if((va|0)>-1){R=m+9|0;Z=(wa|0)==0;Q=R;G=0-n|0;J=m+8|0;K=va;v=pa;while(1){x=Rj(f[v>>2]|0,0,R)|0;if((x|0)==(R|0)){b[J>>0]=48;Da=J}else Da=x;do if((v|0)==(pa|0)){x=Da+1|0;Xo(a,Da,1);if(Z&(K|0)<1){Ea=x;break}Xo(a,16652,1);Ea=x}else{if(Da>>>0<=m>>>0){Ea=Da;break}sj(m|0,48,Da+G|0)|0;x=Da;while(1){z=x+-1|0;if(z>>>0>m>>>0)x=z;else{Ea=z;break}}}while(0);Y=Q-Ea|0;Xo(a,Ea,(K|0)>(Y|0)?Y:K);x=K-Y|0;v=v+4|0;if(!(v>>>0>>0&(x|0)>-1)){Fa=x;break}else K=x}}else Fa=va;Qk(a,48,Fa+18|0,18,0);Xo(a,xa,p-xa|0)}Qk(a,32,d,A,g^8192);w=A}while(0);u=j;return ((w|0)<(d|0)?d:w)|0}function pb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;c=u;u=u+64|0;d=c+56|0;e=c+52|0;g=c+48|0;h=c+60|0;i=c;j=c+44|0;k=c+40|0;l=c+36|0;m=c+32|0;n=c+28|0;o=c+24|0;p=c+20|0;q=c+16|0;r=c+12|0;if(!(b[a+288>>0]|0)){_e(d,f[a+8>>2]|0);s=a+12|0;t=f[d>>2]|0;f[d>>2]=0;v=f[s>>2]|0;f[s>>2]=t;if(v){Ii(v);Oq(v);v=f[d>>2]|0;f[d>>2]=0;if(v|0){Ii(v);Oq(v)}}else f[d>>2]=0}else{fh(d,f[a+8>>2]|0);v=a+12|0;t=f[d>>2]|0;f[d>>2]=0;s=f[v>>2]|0;f[v>>2]=t;if(s){Ii(s);Oq(s);s=f[d>>2]|0;f[d>>2]=0;if(s|0){Ii(s);Oq(s)}}else f[d>>2]=0}s=a+12|0;t=f[s>>2]|0;if(!t){w=0;u=c;return w|0}if((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0|0)==(f[t+40>>2]|0)){w=0;u=c;return w|0}v=a+200|0;f[a+264>>2]=a;x=a+4|0;ci(((f[t+28>>2]|0)-(f[t+24>>2]|0)>>2)-(f[t+44>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;t=f[s>>2]|0;ci((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0)-(f[t+40>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;t=a+28|0;y=a+8|0;z=f[y>>2]|0;A=((f[z+100>>2]|0)-(f[z+96>>2]|0)|0)/12|0;b[d>>0]=0;qh(t,A,d);A=f[s>>2]|0;z=(f[A+28>>2]|0)-(f[A+24>>2]|0)>>2;f[d>>2]=-1;hg(a+52|0,z,d);z=a+40|0;A=f[z>>2]|0;B=a+44|0;C=f[B>>2]|0;if((C|0)!=(A|0))f[B>>2]=C+(~((C+-4-A|0)>>>2)<<2);A=f[s>>2]|0;C=(f[A+4>>2]|0)-(f[A>>2]|0)>>2;gk(z,C-((C>>>0)%3|0)|0);C=a+84|0;z=f[s>>2]|0;A=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;b[d>>0]=0;qh(C,A,d);A=a+96|0;z=f[A>>2]|0;B=a+100|0;D=f[B>>2]|0;if((D|0)!=(z|0))f[B>>2]=D+(~((D+-4-z|0)>>>2)<<2);f[a+164>>2]=-1;z=a+168|0;f[z>>2]=0;D=f[a+108>>2]|0;E=a+112|0;F=f[E>>2]|0;if((F|0)!=(D|0))f[E>>2]=F+(~(((F+-12-D|0)>>>0)/12|0)*12|0);D=a+132|0;if(f[D>>2]|0){F=a+128|0;E=f[F>>2]|0;if(E|0){G=E;do{E=G;G=f[G>>2]|0;Oq(E)}while((G|0)!=0)}f[F>>2]=0;F=f[a+124>>2]|0;if(F|0){G=a+120|0;E=0;do{f[(f[G>>2]|0)+(E<<2)>>2]=0;E=E+1|0}while((E|0)!=(F|0))}f[D>>2]=0}f[a+144>>2]=0;D=f[s>>2]|0;F=(f[D+28>>2]|0)-(f[D+24>>2]|0)>>2;f[d>>2]=-1;hg(a+152|0,F,d);F=a+72|0;D=f[F>>2]|0;E=a+76|0;G=f[E>>2]|0;if((G|0)!=(D|0))f[E>>2]=G+(~((G+-4-D|0)>>>2)<<2);D=f[s>>2]|0;gk(F,((f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(Be(a)|0)){w=0;u=c;return w|0}if(!(Hg(a)|0)){w=0;u=c;return w|0}D=a+172|0;G=a+176|0;H=(((f[G>>2]|0)-(f[D>>2]|0)|0)/136|0)&255;b[h>>0]=H;I=f[(f[x>>2]|0)+44>>2]|0;J=I+16|0;K=f[J+4>>2]|0;if((K|0)>0|(K|0)==0&(f[J>>2]|0)>>>0>0)L=H;else{f[e>>2]=f[I+4>>2];f[d>>2]=f[e>>2];Me(I,d,h,h+1|0)|0;L=b[h>>0]|0}h=a+284|0;f[h>>2]=L&255;L=f[s>>2]|0;I=(f[L+4>>2]|0)-(f[L>>2]|0)|0;L=I>>2;dj(v);f[i>>2]=0;H=i+4|0;f[H>>2]=0;f[i+8>>2]=0;a:do if((I|0)>0){J=a+104|0;K=i+8|0;M=0;b:while(1){N=(M>>>0)/3|0;O=N>>>5;P=1<<(N&31);if((f[(f[t>>2]|0)+(O<<2)>>2]&P|0)==0?(Q=f[s>>2]|0,f[j>>2]=N,f[d>>2]=f[j>>2],!(_j(Q,d)|0)):0){f[e>>2]=0;f[k>>2]=N;f[d>>2]=f[k>>2];N=xg(a,d,e)|0;fj(v,N);Q=f[e>>2]|0;R=(Q|0)==-1;do if(N){do if(R){S=-1;T=-1;U=-1}else{V=f[f[s>>2]>>2]|0;W=f[V+(Q<<2)>>2]|0;X=Q+1|0;Y=((X>>>0)%3|0|0)==0?Q+-2|0:X;if((Y|0)==-1)Z=-1;else Z=f[V+(Y<<2)>>2]|0;Y=(((Q>>>0)%3|0|0)==0?2:-1)+Q|0;if((Y|0)==-1){S=W;T=-1;U=Z;break}S=W;T=f[V+(Y<<2)>>2]|0;U=Z}while(0);Y=f[C>>2]|0;V=Y+(S>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(S&31);V=Y+(U>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(U&31);V=Y+(T>>>5<<2)|0;f[V>>2]=f[V>>2]|1<<(T&31);f[d>>2]=1;V=f[B>>2]|0;if(V>>>0<(f[J>>2]|0)>>>0){f[V>>2]=1;f[B>>2]=V+4}else Ri(A,d);V=(f[t>>2]|0)+(O<<2)|0;f[V>>2]=f[V>>2]|P;V=Q+1|0;if(R)_=-1;else _=((V>>>0)%3|0|0)==0?Q+-2|0:V;f[d>>2]=_;Y=f[H>>2]|0;if(Y>>>0<(f[K>>2]|0)>>>0){f[Y>>2]=_;f[H>>2]=Y+4}else Ri(i,d);if(R)break;Y=((V>>>0)%3|0|0)==0?Q+-2|0:V;if((Y|0)==-1)break;V=f[(f[(f[s>>2]|0)+12>>2]|0)+(Y<<2)>>2]|0;Y=(V|0)==-1;W=Y?-1:(V>>>0)/3|0;if(Y)break;if(f[(f[t>>2]|0)+(W>>>5<<2)>>2]&1<<(W&31)|0)break;f[l>>2]=V;f[d>>2]=f[l>>2];if(!(kc(a,d)|0))break b}else{V=Q+1|0;if(R)$=-1;else $=((V>>>0)%3|0|0)==0?Q+-2|0:V;f[m>>2]=$;f[d>>2]=f[m>>2];Pe(a,d,1)|0;f[n>>2]=f[e>>2];f[d>>2]=f[n>>2];if(!(kc(a,d)|0))break b}while(0)}M=M+1|0;if((M|0)>=(L|0)){aa=62;break a}}ba=0}else aa=62;while(0);if((aa|0)==62){aa=f[F>>2]|0;L=f[E>>2]|0;n=L;if((aa|0)!=(L|0)?(m=L+-4|0,aa>>>0>>0):0){L=aa;aa=m;do{m=f[L>>2]|0;f[L>>2]=f[aa>>2];f[aa>>2]=m;L=L+4|0;aa=aa+-4|0}while(L>>>0>>0)}f[o>>2]=n;f[p>>2]=f[i>>2];f[q>>2]=f[H>>2];f[g>>2]=f[o>>2];f[e>>2]=f[p>>2];f[d>>2]=f[q>>2];Yd(F,g,e,d)|0;if((f[G>>2]|0)!=(f[D>>2]|0)?(D=f[y>>2]|0,y=((f[D+100>>2]|0)-(f[D+96>>2]|0)|0)/12|0,b[d>>0]=0,qh(t,y,d),y=f[F>>2]|0,F=f[E>>2]|0,(y|0)!=(F|0)):0){E=y;do{f[r>>2]=f[E>>2];f[d>>2]=f[r>>2];He(a,d)|0;E=E+4|0}while((E|0)!=(F|0))}th(v);F=a+232|0;ld(v,F);v=a+280|0;E=f[v>>2]|0;if((E|0?(f[h>>2]|0)>0:0)?(ld(E,F),(f[h>>2]|0)>1):0){E=1;do{ld((f[v>>2]|0)+(E<<5)|0,F);E=E+1|0}while((E|0)<(f[h>>2]|0))}ci((f[a+272>>2]|0)-(f[a+268>>2]|0)>>2,f[(f[x>>2]|0)+44>>2]|0)|0;ci(f[z>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;if(bh(a)|0){z=f[(f[x>>2]|0)+44>>2]|0;x=f[F>>2]|0;F=z+16|0;h=f[F+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[F>>2]|0)>>>0>0)){F=(f[a+236>>2]|0)-x|0;f[e>>2]=f[z+4>>2];f[d>>2]=f[e>>2];Me(z,d,x,x+F|0)|0}ba=1}else ba=0}F=f[i>>2]|0;if(F|0){i=f[H>>2]|0;if((i|0)!=(F|0))f[H>>2]=i+(~((i+-4-F|0)>>>2)<<2);Oq(F)}w=ba;u=c;return w|0}function qb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;i=u;u=u+64|0;j=i+16|0;k=i;l=i+24|0;m=i+8|0;n=i+20|0;f[j>>2]=c;c=(a|0)!=0;o=l+40|0;q=o;r=l+39|0;l=m+4|0;s=0;t=0;v=0;a:while(1){do if((t|0)>-1)if((s|0)>(2147483647-t|0)){w=Vq()|0;f[w>>2]=75;x=-1;break}else{x=s+t|0;break}else x=t;while(0);w=f[j>>2]|0;y=b[w>>0]|0;if(!(y<<24>>24)){z=88;break}else{A=y;B=w}b:while(1){switch(A<<24>>24){case 37:{C=B;D=B;z=9;break b;break}case 0:{E=B;break b;break}default:{}}y=B+1|0;f[j>>2]=y;A=b[y>>0]|0;B=y}c:do if((z|0)==9)while(1){z=0;if((b[D+1>>0]|0)!=37){E=C;break c}y=C+1|0;D=D+2|0;f[j>>2]=D;if((b[D>>0]|0)!=37){E=y;break}else{C=y;z=9}}while(0);y=E-w|0;if(c)Xo(a,w,y);if(y|0){s=y;t=x;continue}y=(Aq(b[(f[j>>2]|0)+1>>0]|0)|0)==0;F=f[j>>2]|0;if(!y?(b[F+2>>0]|0)==36:0){G=(b[F+1>>0]|0)+-48|0;H=1;J=3}else{G=-1;H=v;J=1}y=F+J|0;f[j>>2]=y;F=b[y>>0]|0;K=(F<<24>>24)+-32|0;if(K>>>0>31|(1<>24)+-32|K;P=F+1|0;f[j>>2]=P;Q=b[P>>0]|0;R=(Q<<24>>24)+-32|0;if(R>>>0>31|(1<>24==42){if((Aq(b[N+1>>0]|0)|0)!=0?(F=f[j>>2]|0,(b[F+2>>0]|0)==36):0){O=F+1|0;f[h+((b[O>>0]|0)+-48<<2)>>2]=10;S=f[g+((b[O>>0]|0)+-48<<3)>>2]|0;T=1;U=F+3|0}else{if(H|0){V=-1;break}if(c){F=(f[e>>2]|0)+(4-1)&~(4-1);O=f[F>>2]|0;f[e>>2]=F+4;W=O}else W=0;S=W;T=0;U=(f[j>>2]|0)+1|0}f[j>>2]=U;O=(S|0)<0;X=O?0-S|0:S;Y=O?L|8192:L;Z=T;_=U}else{O=Ll(j)|0;if((O|0)<0){V=-1;break}X=O;Y=L;Z=H;_=f[j>>2]|0}do if((b[_>>0]|0)==46){if((b[_+1>>0]|0)!=42){f[j>>2]=_+1;O=Ll(j)|0;$=O;aa=f[j>>2]|0;break}if(Aq(b[_+2>>0]|0)|0?(O=f[j>>2]|0,(b[O+3>>0]|0)==36):0){F=O+2|0;f[h+((b[F>>0]|0)+-48<<2)>>2]=10;K=f[g+((b[F>>0]|0)+-48<<3)>>2]|0;F=O+4|0;f[j>>2]=F;$=K;aa=F;break}if(Z|0){V=-1;break a}if(c){F=(f[e>>2]|0)+(4-1)&~(4-1);K=f[F>>2]|0;f[e>>2]=F+4;ba=K}else ba=0;K=(f[j>>2]|0)+2|0;f[j>>2]=K;$=ba;aa=K}else{$=-1;aa=_}while(0);K=0;F=aa;while(1){if(((b[F>>0]|0)+-65|0)>>>0>57){V=-1;break a}O=F;F=F+1|0;f[j>>2]=F;ca=b[(b[O>>0]|0)+-65+(16124+(K*58|0))>>0]|0;da=ca&255;if((da+-1|0)>>>0>=8)break;else K=da}if(!(ca<<24>>24)){V=-1;break}O=(G|0)>-1;do if(ca<<24>>24==19)if(O){V=-1;break a}else z=50;else{if(O){f[h+(G<<2)>>2]=da;P=g+(G<<3)|0;Q=f[P+4>>2]|0;y=k;f[y>>2]=f[P>>2];f[y+4>>2]=Q;z=50;break}if(!c){V=0;break a}We(k,da,e);ea=f[j>>2]|0}while(0);if((z|0)==50){z=0;if(c)ea=F;else{s=0;t=x;v=Z;continue}}O=b[ea+-1>>0]|0;Q=(K|0)!=0&(O&15|0)==3?O&-33:O;O=Y&-65537;y=(Y&8192|0)==0?Y:O;d:do switch(Q|0){case 110:{switch((K&255)<<24>>24){case 0:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 1:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 2:{P=f[k>>2]|0;f[P>>2]=x;f[P+4>>2]=((x|0)<0)<<31>>31;s=0;t=x;v=Z;continue a;break}case 3:{d[f[k>>2]>>1]=x;s=0;t=x;v=Z;continue a;break}case 4:{b[f[k>>2]>>0]=x;s=0;t=x;v=Z;continue a;break}case 6:{f[f[k>>2]>>2]=x;s=0;t=x;v=Z;continue a;break}case 7:{P=f[k>>2]|0;f[P>>2]=x;f[P+4>>2]=((x|0)<0)<<31>>31;s=0;t=x;v=Z;continue a;break}default:{s=0;t=x;v=Z;continue a}}break}case 112:{fa=120;ga=$>>>0>8?$:8;ha=y|8;z=62;break}case 88:case 120:{fa=Q;ga=$;ha=y;z=62;break}case 111:{P=k;R=f[P>>2]|0;ia=f[P+4>>2]|0;P=Ol(R,ia,o)|0;ja=q-P|0;ka=P;la=0;ma=16588;na=(y&8|0)==0|($|0)>(ja|0)?$:ja+1|0;oa=y;pa=R;qa=ia;z=68;break}case 105:case 100:{ia=k;R=f[ia>>2]|0;ja=f[ia+4>>2]|0;if((ja|0)<0){ia=Xn(0,0,R|0,ja|0)|0;P=I;ra=k;f[ra>>2]=ia;f[ra+4>>2]=P;sa=1;ta=16588;ua=ia;va=P;z=67;break d}else{sa=(y&2049|0)!=0&1;ta=(y&2048|0)==0?((y&1|0)==0?16588:16590):16589;ua=R;va=ja;z=67;break d}break}case 117:{ja=k;sa=0;ta=16588;ua=f[ja>>2]|0;va=f[ja+4>>2]|0;z=67;break}case 99:{b[r>>0]=f[k>>2];wa=r;xa=0;ya=16588;za=o;Aa=1;Ba=O;break}case 109:{ja=Vq()|0;Ca=$o(f[ja>>2]|0)|0;z=72;break}case 115:{ja=f[k>>2]|0;Ca=ja|0?ja:16598;z=72;break}case 67:{f[m>>2]=f[k>>2];f[l>>2]=0;f[k>>2]=m;Da=-1;Ea=m;z=76;break}case 83:{ja=f[k>>2]|0;if(!$){Qk(a,32,X,0,y);Fa=0;z=85}else{Da=$;Ea=ja;z=76}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{s=ob(a,+p[k>>3],X,$,y,Q)|0;t=x;v=Z;continue a;break}default:{wa=w;xa=0;ya=16588;za=o;Aa=$;Ba=y}}while(0);e:do if((z|0)==62){z=0;w=k;Q=f[w>>2]|0;K=f[w+4>>2]|0;w=ul(Q,K,o,fa&32)|0;F=(ha&8|0)==0|(Q|0)==0&(K|0)==0;ka=w;la=F?0:2;ma=F?16588:16588+(fa>>4)|0;na=ga;oa=ha;pa=Q;qa=K;z=68}else if((z|0)==67){z=0;ka=Rj(ua,va,o)|0;la=sa;ma=ta;na=$;oa=y;pa=ua;qa=va;z=68}else if((z|0)==72){z=0;K=tg(Ca,0,$)|0;Q=(K|0)==0;wa=Ca;xa=0;ya=16588;za=Q?Ca+$|0:K;Aa=Q?$:K-Ca|0;Ba=O}else if((z|0)==76){z=0;K=Ea;Q=0;F=0;while(1){w=f[K>>2]|0;if(!w){Ga=Q;Ha=F;break}ja=Po(n,w)|0;if((ja|0)<0|ja>>>0>(Da-Q|0)>>>0){Ga=Q;Ha=ja;break}w=ja+Q|0;if(Da>>>0>w>>>0){K=K+4|0;Q=w;F=ja}else{Ga=w;Ha=ja;break}}if((Ha|0)<0){V=-1;break a}Qk(a,32,X,Ga,y);if(!Ga){Fa=0;z=85}else{F=Ea;Q=0;while(1){K=f[F>>2]|0;if(!K){Fa=Ga;z=85;break e}ja=Po(n,K)|0;Q=ja+Q|0;if((Q|0)>(Ga|0)){Fa=Ga;z=85;break e}Xo(a,n,ja);if(Q>>>0>=Ga>>>0){Fa=Ga;z=85;break}else F=F+4|0}}}while(0);if((z|0)==68){z=0;O=(pa|0)!=0|(qa|0)!=0;F=(na|0)!=0|O;Q=q-ka+((O^1)&1)|0;wa=F?ka:o;xa=la;ya=ma;za=o;Aa=F?((na|0)>(Q|0)?na:Q):na;Ba=(na|0)>-1?oa&-65537:oa}else if((z|0)==85){z=0;Qk(a,32,X,Fa,y^8192);s=(X|0)>(Fa|0)?X:Fa;t=x;v=Z;continue}Q=za-wa|0;F=(Aa|0)<(Q|0)?Q:Aa;O=F+xa|0;ja=(X|0)<(O|0)?O:X;Qk(a,32,ja,O,Ba);Xo(a,ya,xa);Qk(a,48,ja,O,Ba^65536);Qk(a,48,F,Q,0);Xo(a,wa,Q);Qk(a,32,ja,O,Ba^8192);s=ja;t=x;v=Z}f:do if((z|0)==88)if(!a)if(v){Z=1;while(1){t=f[h+(Z<<2)>>2]|0;if(!t){Ia=Z;break}We(g+(Z<<3)|0,t,e);t=Z+1|0;if((Z|0)<9)Z=t;else{Ia=t;break}}if((Ia|0)<10){Z=Ia;while(1){if(f[h+(Z<<2)>>2]|0){V=-1;break f}if((Z|0)<9)Z=Z+1|0;else{V=1;break}}}else V=1}else V=0;else V=x;while(0);u=i;return V|0}function rb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;c=u;u=u+64|0;d=c+56|0;e=c+52|0;g=c+48|0;h=c+60|0;i=c;j=c+44|0;k=c+40|0;l=c+36|0;m=c+32|0;n=c+28|0;o=c+24|0;p=c+20|0;q=c+16|0;r=c+12|0;if(!(b[a+352>>0]|0)){_e(d,f[a+8>>2]|0);s=a+12|0;t=f[d>>2]|0;f[d>>2]=0;v=f[s>>2]|0;f[s>>2]=t;if(v){Ii(v);Oq(v);v=f[d>>2]|0;f[d>>2]=0;if(v|0){Ii(v);Oq(v)}}else f[d>>2]=0}else{fh(d,f[a+8>>2]|0);v=a+12|0;t=f[d>>2]|0;f[d>>2]=0;s=f[v>>2]|0;f[v>>2]=t;if(s){Ii(s);Oq(s);s=f[d>>2]|0;f[d>>2]=0;if(s|0){Ii(s);Oq(s)}}else f[d>>2]=0}s=a+12|0;t=f[s>>2]|0;if(!t){w=0;u=c;return w|0}if((((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0|0)==(f[t+40>>2]|0)){w=0;u=c;return w|0}t=a+200|0;ve(t,a)|0;v=f[s>>2]|0;x=a+4|0;ci(((f[v+28>>2]|0)-(f[v+24>>2]|0)>>2)-(f[v+44>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;v=f[s>>2]|0;ci((((f[v+4>>2]|0)-(f[v>>2]|0)>>2>>>0)/3|0)-(f[v+40>>2]|0)|0,f[(f[x>>2]|0)+44>>2]|0)|0;v=a+28|0;y=a+8|0;z=f[y>>2]|0;A=((f[z+100>>2]|0)-(f[z+96>>2]|0)|0)/12|0;b[d>>0]=0;qh(v,A,d);A=f[s>>2]|0;z=(f[A+28>>2]|0)-(f[A+24>>2]|0)>>2;f[d>>2]=-1;hg(a+52|0,z,d);z=a+40|0;A=f[z>>2]|0;B=a+44|0;C=f[B>>2]|0;if((C|0)!=(A|0))f[B>>2]=C+(~((C+-4-A|0)>>>2)<<2);A=f[s>>2]|0;C=(f[A+4>>2]|0)-(f[A>>2]|0)>>2;gk(z,C-((C>>>0)%3|0)|0);C=a+84|0;z=f[s>>2]|0;A=(f[z+28>>2]|0)-(f[z+24>>2]|0)>>2;b[d>>0]=0;qh(C,A,d);A=a+96|0;z=f[A>>2]|0;B=a+100|0;D=f[B>>2]|0;if((D|0)!=(z|0))f[B>>2]=D+(~((D+-4-z|0)>>>2)<<2);f[a+164>>2]=-1;z=a+168|0;f[z>>2]=0;D=f[a+108>>2]|0;E=a+112|0;F=f[E>>2]|0;if((F|0)!=(D|0))f[E>>2]=F+(~(((F+-12-D|0)>>>0)/12|0)*12|0);D=a+132|0;if(f[D>>2]|0){F=a+128|0;E=f[F>>2]|0;if(E|0){G=E;do{E=G;G=f[G>>2]|0;Oq(E)}while((G|0)!=0)}f[F>>2]=0;F=f[a+124>>2]|0;if(F|0){G=a+120|0;E=0;do{f[(f[G>>2]|0)+(E<<2)>>2]=0;E=E+1|0}while((E|0)!=(F|0))}f[D>>2]=0}f[a+144>>2]=0;D=f[s>>2]|0;F=(f[D+28>>2]|0)-(f[D+24>>2]|0)>>2;f[d>>2]=-1;hg(a+152|0,F,d);F=a+72|0;D=f[F>>2]|0;E=a+76|0;G=f[E>>2]|0;if((G|0)!=(D|0))f[E>>2]=G+(~((G+-4-D|0)>>>2)<<2);D=f[s>>2]|0;gk(F,((f[D+4>>2]|0)-(f[D>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(Be(a)|0)){w=0;u=c;return w|0}if(!(Dg(a)|0)){w=0;u=c;return w|0}D=a+172|0;G=a+176|0;H=(((f[G>>2]|0)-(f[D>>2]|0)|0)/136|0)&255;b[h>>0]=H;I=f[(f[x>>2]|0)+44>>2]|0;J=I+16|0;K=f[J+4>>2]|0;if((K|0)>0|(K|0)==0&(f[J>>2]|0)>>>0>0)L=H;else{f[e>>2]=f[I+4>>2];f[d>>2]=f[e>>2];Me(I,d,h,h+1|0)|0;L=b[h>>0]|0}f[a+284>>2]=L&255;L=f[s>>2]|0;h=(f[L+4>>2]|0)-(f[L>>2]|0)|0;L=h>>2;dj(t);f[i>>2]=0;I=i+4|0;f[I>>2]=0;f[i+8>>2]=0;a:do if((h|0)>0){H=a+104|0;J=i+8|0;K=0;b:while(1){M=(K>>>0)/3|0;N=M>>>5;O=1<<(M&31);if((f[(f[v>>2]|0)+(N<<2)>>2]&O|0)==0?(P=f[s>>2]|0,f[j>>2]=M,f[d>>2]=f[j>>2],!(_j(P,d)|0)):0){f[e>>2]=0;f[k>>2]=M;f[d>>2]=f[k>>2];M=xg(a,d,e)|0;fj(t,M);P=f[e>>2]|0;Q=(P|0)==-1;do if(M){do if(Q){R=-1;S=-1;T=-1}else{U=f[f[s>>2]>>2]|0;V=f[U+(P<<2)>>2]|0;W=P+1|0;X=((W>>>0)%3|0|0)==0?P+-2|0:W;if((X|0)==-1)Y=-1;else Y=f[U+(X<<2)>>2]|0;X=(((P>>>0)%3|0|0)==0?2:-1)+P|0;if((X|0)==-1){R=-1;S=Y;T=V;break}R=f[U+(X<<2)>>2]|0;S=Y;T=V}while(0);V=f[C>>2]|0;X=V+(T>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(T&31);X=V+(S>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(S&31);X=V+(R>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(R&31);f[d>>2]=1;X=f[B>>2]|0;if(X>>>0<(f[H>>2]|0)>>>0){f[X>>2]=1;f[B>>2]=X+4}else Ri(A,d);X=(f[v>>2]|0)+(N<<2)|0;f[X>>2]=f[X>>2]|O;X=P+1|0;if(Q)Z=-1;else Z=((X>>>0)%3|0|0)==0?P+-2|0:X;f[d>>2]=Z;V=f[I>>2]|0;if(V>>>0<(f[J>>2]|0)>>>0){f[V>>2]=Z;f[I>>2]=V+4}else Ri(i,d);if(Q)break;V=((X>>>0)%3|0|0)==0?P+-2|0:X;if((V|0)==-1)break;X=f[(f[(f[s>>2]|0)+12>>2]|0)+(V<<2)>>2]|0;V=(X|0)==-1;U=V?-1:(X>>>0)/3|0;if(V)break;if(f[(f[v>>2]|0)+(U>>>5<<2)>>2]&1<<(U&31)|0)break;f[l>>2]=X;f[d>>2]=f[l>>2];if(!(Yb(a,d)|0))break b}else{X=P+1|0;if(Q)_=-1;else _=((X>>>0)%3|0|0)==0?P+-2|0:X;f[m>>2]=_;f[d>>2]=f[m>>2];Pe(a,d,1)|0;f[n>>2]=f[e>>2];f[d>>2]=f[n>>2];if(!(Yb(a,d)|0))break b}while(0)}K=K+1|0;if((K|0)>=(L|0)){$=62;break a}}aa=0}else $=62;while(0);if(($|0)==62){$=f[F>>2]|0;L=f[E>>2]|0;n=L;if(($|0)!=(L|0)?(m=L+-4|0,$>>>0>>0):0){L=$;$=m;do{m=f[L>>2]|0;f[L>>2]=f[$>>2];f[$>>2]=m;L=L+4|0;$=$+-4|0}while(L>>>0<$>>>0)}f[o>>2]=n;f[p>>2]=f[i>>2];f[q>>2]=f[I>>2];f[g>>2]=f[o>>2];f[e>>2]=f[p>>2];f[d>>2]=f[q>>2];Yd(F,g,e,d)|0;if((f[G>>2]|0)!=(f[D>>2]|0)?(D=f[y>>2]|0,y=((f[D+100>>2]|0)-(f[D+96>>2]|0)|0)/12|0,b[d>>0]=0,qh(v,y,d),y=f[F>>2]|0,F=f[E>>2]|0,(y|0)!=(F|0)):0){E=y;do{f[r>>2]=f[E>>2];f[d>>2]=f[r>>2];He(a,d)|0;E=E+4|0}while((E|0)!=(F|0))}pi(t);ci(f[a+324>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;ci(f[z>>2]|0,f[(f[x>>2]|0)+44>>2]|0)|0;if(bh(a)|0){z=f[(f[x>>2]|0)+44>>2]|0;x=f[a+232>>2]|0;t=z+16|0;F=f[t+4>>2]|0;if(!((F|0)>0|(F|0)==0&(f[t>>2]|0)>>>0>0)){t=(f[a+236>>2]|0)-x|0;f[e>>2]=f[z+4>>2];f[d>>2]=f[e>>2];Me(z,d,x,x+t|0)|0}aa=1}else aa=0}t=f[i>>2]|0;if(t|0){i=f[I>>2]|0;if((i|0)!=(t|0))f[I>>2]=i+(~((i+-4-t|0)>>>2)<<2);Oq(t)}w=aa;u=c;return w|0}function sb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=Oa,ma=Oa,na=Oa,oa=0,pa=0,qa=0,ra=0,sa=0;c=u;u=u+64|0;d=c+28|0;e=c+16|0;g=c+4|0;h=c;i=a;j=a+80|0;k=f[j>>2]|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=i;l=d+20|0;n[l>>2]=$(1.0);f[d+24>>2]=i;Ih(d,k);k=f[j>>2]|0;f[e>>2]=0;i=e+4|0;f[i>>2]=0;f[e+8>>2]=0;m=(k|0)==0;do if(!m)if(k>>>0>1073741823)aq(e);else{o=k<<2;p=ln(o)|0;f[e>>2]=p;q=p+(k<<2)|0;f[e+8>>2]=q;sj(p|0,0,o|0)|0;f[i>>2]=q;break}while(0);f[g>>2]=0;k=g+4|0;f[k>>2]=0;f[g+8>>2]=0;f[h>>2]=0;if(!m){m=d+16|0;q=d+4|0;o=d+12|0;p=d+8|0;r=g+8|0;s=d+24|0;t=0;v=0;while(1){w=f[m>>2]|0;x=f[w+8>>2]|0;y=(f[w+12>>2]|0)-x|0;w=(y|0)>0;z=x;if(w){x=y>>>2;A=0;B=0;while(1){C=f[z+(A<<2)>>2]|0;if(!(b[C+84>>0]|0))D=f[(f[C+68>>2]|0)+(v<<2)>>2]|0;else D=v;C=D+239^B;A=A+1|0;if((A|0)>=(x|0)){E=C;break}else B=C}}else E=0;B=f[q>>2]|0;x=(B|0)==0;a:do if(!x){A=B+-1|0;C=(A&B|0)==0;if(!C)if(E>>>0>>0)F=E;else F=(E>>>0)%(B>>>0)|0;else F=A&E;G=f[(f[d>>2]|0)+(F<<2)>>2]|0;if((G|0)!=0?(H=f[G>>2]|0,(H|0)!=0):0){G=f[s>>2]|0;I=G+8|0;J=G+12|0;b:do if(C){G=H;while(1){K=f[G+4>>2]|0;L=(K|0)==(E|0);if(!(L|(K&A|0)==(F|0))){M=44;break a}c:do if(L){K=f[G+8>>2]|0;N=f[I>>2]|0;O=(f[J>>2]|0)-N|0;P=N;if((O|0)<=0){Q=G;break b}N=O>>>2;O=0;while(1){R=f[P+(O<<2)>>2]|0;if(!(b[R+84>>0]|0)){S=f[R+68>>2]|0;T=f[S+(v<<2)>>2]|0;U=f[S+(K<<2)>>2]|0}else{T=v;U=K}O=O+1|0;if((U|0)!=(T|0))break c;if((O|0)>=(N|0)){V=G;M=42;break b}}}while(0);G=f[G>>2]|0;if(!G){M=44;break a}}}else{G=H;while(1){L=f[G+4>>2]|0;d:do if((L|0)!=(E|0)){if(L>>>0>>0)X=L;else X=(L>>>0)%(B>>>0)|0;if((X|0)!=(F|0)){M=44;break a}}else{N=f[G+8>>2]|0;O=f[I>>2]|0;K=(f[J>>2]|0)-O|0;P=O;if((K|0)<=0){Q=G;break b}O=K>>>2;K=0;while(1){S=f[P+(K<<2)>>2]|0;if(!(b[S+84>>0]|0)){R=f[S+68>>2]|0;Y=f[R+(v<<2)>>2]|0;Z=f[R+(N<<2)>>2]|0}else{Y=v;Z=N}K=K+1|0;if((Z|0)!=(Y|0))break d;if((K|0)>=(O|0)){V=G;M=42;break b}}}while(0);G=f[G>>2]|0;if(!G){M=44;break a}}}while(0);if((M|0)==42){M=0;if(!V){M=44;break}else Q=V}f[(f[e>>2]|0)+(v<<2)>>2]=f[Q+12>>2];_=t}else M=44}else M=44;while(0);do if((M|0)==44){M=0;if(w){J=y>>>2;I=0;H=0;while(1){A=f[z+(I<<2)>>2]|0;if(!(b[A+84>>0]|0))aa=f[(f[A+68>>2]|0)+(v<<2)>>2]|0;else aa=v;A=aa+239^H;I=I+1|0;if((I|0)>=(J|0)){ba=A;break}else H=A}}else ba=0;e:do if(!x){H=B+-1|0;J=(H&B|0)==0;if(!J)if(ba>>>0>>0)ca=ba;else ca=(ba>>>0)%(B>>>0)|0;else ca=H&ba;I=f[(f[d>>2]|0)+(ca<<2)>>2]|0;if((I|0)!=0?(A=f[I>>2]|0,(A|0)!=0):0){I=f[s>>2]|0;C=I+8|0;G=I+12|0;if(J){J=A;while(1){I=f[J+4>>2]|0;if(!((I|0)==(ba|0)|(I&H|0)==(ca|0))){da=ca;M=76;break e}I=f[J+8>>2]|0;L=f[C>>2]|0;O=(f[G>>2]|0)-L|0;K=L;if((O|0)<=0){ea=v;break e}L=O>>>2;O=0;while(1){N=f[K+(O<<2)>>2]|0;if(!(b[N+84>>0]|0)){P=f[N+68>>2]|0;fa=f[P+(v<<2)>>2]|0;ga=f[P+(I<<2)>>2]|0}else{fa=v;ga=I}O=O+1|0;if((ga|0)!=(fa|0))break;if((O|0)>=(L|0)){ea=v;break e}}J=f[J>>2]|0;if(!J){da=ca;M=76;break e}}}else ha=A;while(1){J=f[ha+4>>2]|0;if((J|0)!=(ba|0)){if(J>>>0>>0)ia=J;else ia=(J>>>0)%(B>>>0)|0;if((ia|0)!=(ca|0)){da=ca;M=76;break e}}J=f[ha+8>>2]|0;H=f[C>>2]|0;L=(f[G>>2]|0)-H|0;O=H;if((L|0)<=0){ea=v;break e}H=L>>>2;L=0;while(1){I=f[O+(L<<2)>>2]|0;if(!(b[I+84>>0]|0)){K=f[I+68>>2]|0;ja=f[K+(v<<2)>>2]|0;ka=f[K+(J<<2)>>2]|0}else{ja=v;ka=J}L=L+1|0;if((ka|0)!=(ja|0))break;if((L|0)>=(H|0)){ea=v;break e}}ha=f[ha>>2]|0;if(!ha){da=ca;M=76;break}}}else{da=ca;M=76}}else{da=0;M=76}while(0);if((M|0)==76){M=0;G=ln(16)|0;f[G+8>>2]=v;f[G+12>>2]=t;f[G+4>>2]=ba;f[G>>2]=0;la=$(((f[o>>2]|0)+1|0)>>>0);ma=$(B>>>0);na=$(n[l>>2]);do if(x|$(na*ma)>>0<3|(B+-1&B|0)!=0)&1;A=~~$(W($(la/na)))>>>0;Ih(d,C>>>0>>0?A:C);C=f[q>>2]|0;A=C+-1|0;if(!(A&C)){oa=C;pa=A&ba;break}if(ba>>>0>>0){oa=C;pa=ba}else{oa=C;pa=(ba>>>0)%(C>>>0)|0}}else{oa=B;pa=da}while(0);C=(f[d>>2]|0)+(pa<<2)|0;A=f[C>>2]|0;if(!A){f[G>>2]=f[p>>2];f[p>>2]=G;f[C>>2]=p;C=f[G>>2]|0;if(C|0){H=f[C+4>>2]|0;C=oa+-1|0;if(C&oa)if(H>>>0>>0)qa=H;else qa=(H>>>0)%(oa>>>0)|0;else qa=H&C;ra=(f[d>>2]|0)+(qa<<2)|0;M=89}}else{f[G>>2]=f[A>>2];ra=A;M=89}if((M|0)==89){M=0;f[ra>>2]=G}f[o>>2]=(f[o>>2]|0)+1;ea=f[h>>2]|0}A=t+1|0;f[(f[e>>2]|0)+(ea<<2)>>2]=t;C=f[k>>2]|0;if((C|0)==(f[r>>2]|0)){Ri(g,h);_=A;break}else{f[C>>2]=f[h>>2];f[k>>2]=C+4;_=A;break}}while(0);v=(f[h>>2]|0)+1|0;f[h>>2]=v;sa=f[j>>2]|0;if(v>>>0>=sa>>>0)break;else t=_}if((_|0)!=(sa|0)){Xa[f[(f[a>>2]|0)+24>>2]&15](a,e,g);f[j>>2]=_}}_=f[g>>2]|0;if(_|0){g=f[k>>2]|0;if((g|0)!=(_|0))f[k>>2]=g+(~((g+-4-_|0)>>>2)<<2);Oq(_)}_=f[e>>2]|0;if(_|0){e=f[i>>2]|0;if((e|0)!=(_|0))f[i>>2]=e+(~((e+-4-_|0)>>>2)<<2);Oq(_)}_=f[d+8>>2]|0;if(_|0){e=_;do{_=e;e=f[e>>2]|0;Oq(_)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(!e){u=c;return}Oq(e);u=c;return}function tb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;c=(((n>>>0)%3|0|0)==0?2:-1)+n|0;if((o|0)==-1)p=-1;else p=f[(f[f[m>>2]>>2]|0)+(o<<2)>>2]|0;if((c|0)==-1){q=p;r=-1}else{q=p;r=f[(f[f[m>>2]>>2]|0)+(c<<2)>>2]|0}}else{q=-1;r=-1}c=f[a+36>>2]|0;m=f[c>>2]|0;p=(f[c+4>>2]|0)-m>>2;if(p>>>0<=q>>>0)aq(c);o=m;m=f[o+(q<<2)>>2]|0;if(p>>>0<=r>>>0)aq(c);c=f[o+(r<<2)>>2]|0;r=(m|0)<(e|0);do if(r&(c|0)<(e|0)){o=m<<1;p=f[d+(o<<2)>>2]|0;q=((p|0)<0)<<31>>31;n=f[d+((o|1)<<2)>>2]|0;o=((n|0)<0)<<31>>31;s=c<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(p|0)|(v|0)!=(n|0))){f[a+8>>2]=p;f[a+12>>2]=n;u=g;return}s=a+4|0;w=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))y=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else y=w;f[i>>2]=y;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];vb(x,h,w,j)|0;w=f[(f[s>>2]|0)+(m<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))z=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else z=w;f[i>>2]=z;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];vb(x,h,w,k)|0;w=f[(f[s>>2]|0)+(c<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))A=f[(f[s+68>>2]|0)+(w<<2)>>2]|0;else A=w;f[i>>2]=A;w=b[s+24>>0]|0;f[h>>2]=f[i>>2];vb(s,h,w,l)|0;w=l;s=k;x=f[s>>2]|0;B=f[s+4>>2]|0;s=Xn(f[w>>2]|0,f[w+4>>2]|0,x|0,B|0)|0;w=I;C=l+8|0;D=k+8|0;E=f[D>>2]|0;F=f[D+4>>2]|0;D=Xn(f[C>>2]|0,f[C+4>>2]|0,E|0,F|0)|0;C=I;G=l+16|0;H=k+16|0;J=f[H>>2]|0;K=f[H+4>>2]|0;H=Xn(f[G>>2]|0,f[G+4>>2]|0,J|0,K|0)|0;G=I;L=un(s|0,w|0,s|0,w|0)|0;M=I;N=un(D|0,C|0,D|0,C|0)|0;O=Vn(N|0,I|0,L|0,M|0)|0;M=I;L=un(H|0,G|0,H|0,G|0)|0;N=Vn(O|0,M|0,L|0,I|0)|0;L=I;if((N|0)==0&(L|0)==0)break;M=j;O=Xn(f[M>>2]|0,f[M+4>>2]|0,x|0,B|0)|0;B=I;x=j+8|0;M=Xn(f[x>>2]|0,f[x+4>>2]|0,E|0,F|0)|0;F=I;E=j+16|0;x=Xn(f[E>>2]|0,f[E+4>>2]|0,J|0,K|0)|0;K=I;J=un(O|0,B|0,s|0,w|0)|0;E=I;P=un(M|0,F|0,D|0,C|0)|0;Q=Vn(P|0,I|0,J|0,E|0)|0;E=I;J=un(x|0,K|0,H|0,G|0)|0;P=Vn(Q|0,E|0,J|0,I|0)|0;J=I;E=Xn(t|0,((t|0)<0)<<31>>31|0,p|0,q|0)|0;t=I;Q=Xn(v|0,((v|0)<0)<<31>>31|0,n|0,o|0)|0;v=I;R=un(N|0,L|0,p|0,q|0)|0;q=I;p=un(N|0,L|0,n|0,o|0)|0;o=I;n=un(P|0,J|0,E|0,t|0)|0;S=I;T=un(P|0,J|0,Q|0,v|0)|0;U=I;V=Vn(n|0,S|0,R|0,q|0)|0;q=I;R=Vn(T|0,U|0,p|0,o|0)|0;o=I;p=un(P|0,J|0,s|0,w|0)|0;w=I;s=un(P|0,J|0,D|0,C|0)|0;C=I;D=un(P|0,J|0,H|0,G|0)|0;G=I;H=Ik(p|0,w|0,N|0,L|0)|0;w=I;p=Ik(s|0,C|0,N|0,L|0)|0;C=I;s=Ik(D|0,G|0,N|0,L|0)|0;G=I;D=Xn(O|0,B|0,H|0,w|0)|0;w=I;H=Xn(M|0,F|0,p|0,C|0)|0;C=I;p=Xn(x|0,K|0,s|0,G|0)|0;G=I;s=un(D|0,w|0,D|0,w|0)|0;w=I;D=un(H|0,C|0,H|0,C|0)|0;C=Vn(D|0,I|0,s|0,w|0)|0;w=I;s=un(p|0,G|0,p|0,G|0)|0;G=Vn(C|0,w|0,s|0,I|0)|0;s=I;w=Xn(0,0,E|0,t|0)|0;t=I;E=un(G|0,s|0,N|0,L|0)|0;s=I;switch(E|0){case 0:{if(!s){W=0;X=0}else{Y=1;Z=0;_=E;$=s;aa=23}break}case 1:{if(!s){ba=1;ca=0;aa=24}else{Y=1;Z=0;_=E;$=s;aa=23}break}default:{Y=1;Z=0;_=E;$=s;aa=23}}if((aa|0)==23)while(1){aa=0;G=Tn(Y|0,Z|0,1)|0;C=I;p=_;_=Yn(_|0,$|0,2)|0;if(!($>>>0>0|($|0)==0&p>>>0>7)){ba=G;ca=C;aa=24;break}else{Y=G;Z=C;$=I;aa=23}}if((aa|0)==24)while(1){aa=0;C=jp(E|0,s|0,ba|0,ca|0)|0;G=Vn(C|0,I|0,ba|0,ca|0)|0;C=Yn(G|0,I|0,1)|0;G=I;p=un(C|0,G|0,C|0,G|0)|0;D=I;if(D>>>0>s>>>0|(D|0)==(s|0)&p>>>0>E>>>0){ba=C;ca=G;aa=24}else{W=C;X=G;break}}E=un(W|0,X|0,Q|0,v|0)|0;s=I;G=un(W|0,X|0,w|0,t|0)|0;C=I;p=Vn(E|0,s|0,V|0,q|0)|0;D=I;H=Vn(G|0,C|0,R|0,o|0)|0;K=I;x=Ik(p|0,D|0,N|0,L|0)|0;D=I;p=Ik(H|0,K|0,N|0,L|0)|0;K=I;H=Xn(V|0,q|0,E|0,s|0)|0;s=I;E=Xn(R|0,o|0,G|0,C|0)|0;C=I;G=Ik(H|0,s|0,N|0,L|0)|0;s=I;H=Ik(E|0,C|0,N|0,L|0)|0;C=I;E=e<<1;F=f[d+(E<<2)>>2]|0;M=((F|0)<0)<<31>>31;B=f[d+((E|1)<<2)>>2]|0;E=((B|0)<0)<<31>>31;O=Xn(F|0,M|0,x|0,D|0)|0;J=I;P=Xn(B|0,E|0,p|0,K|0)|0;U=I;T=un(O|0,J|0,O|0,J|0)|0;J=I;O=un(P|0,U|0,P|0,U|0)|0;U=Vn(O|0,I|0,T|0,J|0)|0;J=I;T=Xn(F|0,M|0,G|0,s|0)|0;M=I;F=Xn(B|0,E|0,H|0,C|0)|0;E=I;B=un(T|0,M|0,T|0,M|0)|0;M=I;T=un(F|0,E|0,F|0,E|0)|0;E=Vn(T|0,I|0,B|0,M|0)|0;M=I;B=a+16|0;T=a+20|0;F=f[T>>2]|0;O=f[a+24>>2]|0;P=(F|0)==(O<<5|0);if(J>>>0>>0|(J|0)==(M|0)&U>>>0>>0){do if(P)if((F+1|0)<0)aq(B);else{E=O<<6;U=F+32&-32;vi(B,F>>>0<1073741823?(E>>>0>>0?U:E):2147483647);da=f[T>>2]|0;break}else da=F;while(0);f[T>>2]=da+1;L=(f[B>>2]|0)+(da>>>5<<2)|0;f[L>>2]=f[L>>2]|1<<(da&31);ea=x;fa=p;ga=K;ha=D}else{do if(P)if((F+1|0)<0)aq(B);else{L=O<<6;N=F+32&-32;vi(B,F>>>0<1073741823?(L>>>0>>0?N:L):2147483647);ia=f[T>>2]|0;break}else ia=F;while(0);f[T>>2]=ia+1;F=(f[B>>2]|0)+(ia>>>5<<2)|0;f[F>>2]=f[F>>2]&~(1<<(ia&31));ea=G;fa=H;ga=C;ha=s}f[a+8>>2]=ea;f[a+12>>2]=fa;u=g;return}while(0);do if(r)ja=m<<1;else{if((e|0)>0){ja=(e<<1)+-2|0;break}fa=a+8|0;f[fa>>2]=0;f[fa+4>>2]=0;u=g;return}while(0);f[a+8>>2]=f[d+(ja<<2)>>2];f[a+12>>2]=f[d+(ja+1<<2)>>2];u=g;return}function ub(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;g=u;u=u+80|0;h=g+76|0;i=g+72|0;j=g+48|0;k=g+24|0;l=g;m=a+32|0;n=f[c>>2]|0;c=n+1|0;do if((n|0)!=-1){o=((c>>>0)%3|0|0)==0?n+-2|0:c;if(!((n>>>0)%3|0)){p=n+2|0;q=o;break}else{p=n+-1|0;q=o;break}}else{p=-1;q=-1}while(0);n=f[(f[m>>2]|0)+28>>2]|0;m=f[n+(q<<2)>>2]|0;q=f[n+(p<<2)>>2]|0;p=f[a+36>>2]|0;n=f[p>>2]|0;c=(f[p+4>>2]|0)-n>>2;if(c>>>0<=m>>>0)aq(p);o=n;n=f[o+(m<<2)>>2]|0;if(c>>>0<=q>>>0)aq(p);p=f[o+(q<<2)>>2]|0;q=(n|0)<(e|0);do if(q&(p|0)<(e|0)){o=n<<1;c=f[d+(o<<2)>>2]|0;m=((c|0)<0)<<31>>31;r=f[d+((o|1)<<2)>>2]|0;o=((r|0)<0)<<31>>31;s=p<<1;t=f[d+(s<<2)>>2]|0;v=f[d+((s|1)<<2)>>2]|0;if(!((t|0)!=(c|0)|(v|0)!=(r|0))){f[a+8>>2]=c;f[a+12>>2]=r;u=g;return}s=a+4|0;w=f[(f[s>>2]|0)+(e<<2)>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))y=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else y=w;f[i>>2]=y;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];vb(x,h,w,j)|0;w=f[(f[s>>2]|0)+(n<<2)>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;x=f[a>>2]|0;if(!(b[x+84>>0]|0))z=f[(f[x+68>>2]|0)+(w<<2)>>2]|0;else z=w;f[i>>2]=z;w=b[x+24>>0]|0;f[h>>2]=f[i>>2];vb(x,h,w,k)|0;w=f[(f[s>>2]|0)+(p<<2)>>2]|0;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;s=f[a>>2]|0;if(!(b[s+84>>0]|0))A=f[(f[s+68>>2]|0)+(w<<2)>>2]|0;else A=w;f[i>>2]=A;w=b[s+24>>0]|0;f[h>>2]=f[i>>2];vb(s,h,w,l)|0;w=l;s=k;x=f[s>>2]|0;B=f[s+4>>2]|0;s=Xn(f[w>>2]|0,f[w+4>>2]|0,x|0,B|0)|0;w=I;C=l+8|0;D=k+8|0;E=f[D>>2]|0;F=f[D+4>>2]|0;D=Xn(f[C>>2]|0,f[C+4>>2]|0,E|0,F|0)|0;C=I;G=l+16|0;H=k+16|0;J=f[H>>2]|0;K=f[H+4>>2]|0;H=Xn(f[G>>2]|0,f[G+4>>2]|0,J|0,K|0)|0;G=I;L=un(s|0,w|0,s|0,w|0)|0;M=I;N=un(D|0,C|0,D|0,C|0)|0;O=Vn(N|0,I|0,L|0,M|0)|0;M=I;L=un(H|0,G|0,H|0,G|0)|0;N=Vn(O|0,M|0,L|0,I|0)|0;L=I;if((N|0)==0&(L|0)==0)break;M=j;O=Xn(f[M>>2]|0,f[M+4>>2]|0,x|0,B|0)|0;B=I;x=j+8|0;M=Xn(f[x>>2]|0,f[x+4>>2]|0,E|0,F|0)|0;F=I;E=j+16|0;x=Xn(f[E>>2]|0,f[E+4>>2]|0,J|0,K|0)|0;K=I;J=un(O|0,B|0,s|0,w|0)|0;E=I;P=un(M|0,F|0,D|0,C|0)|0;Q=Vn(P|0,I|0,J|0,E|0)|0;E=I;J=un(x|0,K|0,H|0,G|0)|0;P=Vn(Q|0,E|0,J|0,I|0)|0;J=I;E=Xn(t|0,((t|0)<0)<<31>>31|0,c|0,m|0)|0;t=I;Q=Xn(v|0,((v|0)<0)<<31>>31|0,r|0,o|0)|0;v=I;R=un(N|0,L|0,c|0,m|0)|0;m=I;c=un(N|0,L|0,r|0,o|0)|0;o=I;r=un(P|0,J|0,E|0,t|0)|0;S=I;T=un(P|0,J|0,Q|0,v|0)|0;U=I;V=Vn(r|0,S|0,R|0,m|0)|0;m=I;R=Vn(T|0,U|0,c|0,o|0)|0;o=I;c=un(P|0,J|0,s|0,w|0)|0;w=I;s=un(P|0,J|0,D|0,C|0)|0;C=I;D=un(P|0,J|0,H|0,G|0)|0;G=I;H=Ik(c|0,w|0,N|0,L|0)|0;w=I;c=Ik(s|0,C|0,N|0,L|0)|0;C=I;s=Ik(D|0,G|0,N|0,L|0)|0;G=I;D=Xn(O|0,B|0,H|0,w|0)|0;w=I;H=Xn(M|0,F|0,c|0,C|0)|0;C=I;c=Xn(x|0,K|0,s|0,G|0)|0;G=I;s=un(D|0,w|0,D|0,w|0)|0;w=I;D=un(H|0,C|0,H|0,C|0)|0;C=Vn(D|0,I|0,s|0,w|0)|0;w=I;s=un(c|0,G|0,c|0,G|0)|0;G=Vn(C|0,w|0,s|0,I|0)|0;s=I;w=Xn(0,0,E|0,t|0)|0;t=I;E=un(G|0,s|0,N|0,L|0)|0;s=I;switch(E|0){case 0:{if(!s){W=0;X=0}else{Y=1;Z=0;_=E;$=s;aa=22}break}case 1:{if(!s){ba=1;ca=0;aa=23}else{Y=1;Z=0;_=E;$=s;aa=22}break}default:{Y=1;Z=0;_=E;$=s;aa=22}}if((aa|0)==22)while(1){aa=0;G=Tn(Y|0,Z|0,1)|0;C=I;c=_;_=Yn(_|0,$|0,2)|0;if(!($>>>0>0|($|0)==0&c>>>0>7)){ba=G;ca=C;aa=23;break}else{Y=G;Z=C;$=I;aa=22}}if((aa|0)==23)while(1){aa=0;C=jp(E|0,s|0,ba|0,ca|0)|0;G=Vn(C|0,I|0,ba|0,ca|0)|0;C=Yn(G|0,I|0,1)|0;G=I;c=un(C|0,G|0,C|0,G|0)|0;D=I;if(D>>>0>s>>>0|(D|0)==(s|0)&c>>>0>E>>>0){ba=C;ca=G;aa=23}else{W=C;X=G;break}}E=un(W|0,X|0,Q|0,v|0)|0;s=I;G=un(W|0,X|0,w|0,t|0)|0;C=I;c=Vn(E|0,s|0,V|0,m|0)|0;D=I;H=Vn(G|0,C|0,R|0,o|0)|0;K=I;x=Ik(c|0,D|0,N|0,L|0)|0;D=I;c=Ik(H|0,K|0,N|0,L|0)|0;K=I;H=Xn(V|0,m|0,E|0,s|0)|0;s=I;E=Xn(R|0,o|0,G|0,C|0)|0;C=I;G=Ik(H|0,s|0,N|0,L|0)|0;s=I;H=Ik(E|0,C|0,N|0,L|0)|0;C=I;E=e<<1;F=f[d+(E<<2)>>2]|0;M=((F|0)<0)<<31>>31;B=f[d+((E|1)<<2)>>2]|0;E=((B|0)<0)<<31>>31;O=Xn(F|0,M|0,x|0,D|0)|0;J=I;P=Xn(B|0,E|0,c|0,K|0)|0;U=I;T=un(O|0,J|0,O|0,J|0)|0;J=I;O=un(P|0,U|0,P|0,U|0)|0;U=Vn(O|0,I|0,T|0,J|0)|0;J=I;T=Xn(F|0,M|0,G|0,s|0)|0;M=I;F=Xn(B|0,E|0,H|0,C|0)|0;E=I;B=un(T|0,M|0,T|0,M|0)|0;M=I;T=un(F|0,E|0,F|0,E|0)|0;E=Vn(T|0,I|0,B|0,M|0)|0;M=I;B=a+16|0;T=a+20|0;F=f[T>>2]|0;O=f[a+24>>2]|0;P=(F|0)==(O<<5|0);if(J>>>0>>0|(J|0)==(M|0)&U>>>0>>0){do if(P)if((F+1|0)<0)aq(B);else{E=O<<6;U=F+32&-32;vi(B,F>>>0<1073741823?(E>>>0>>0?U:E):2147483647);da=f[T>>2]|0;break}else da=F;while(0);f[T>>2]=da+1;L=(f[B>>2]|0)+(da>>>5<<2)|0;f[L>>2]=f[L>>2]|1<<(da&31);ea=x;fa=c;ga=K;ha=D}else{do if(P)if((F+1|0)<0)aq(B);else{L=O<<6;N=F+32&-32;vi(B,F>>>0<1073741823?(L>>>0>>0?N:L):2147483647);ia=f[T>>2]|0;break}else ia=F;while(0);f[T>>2]=ia+1;F=(f[B>>2]|0)+(ia>>>5<<2)|0;f[F>>2]=f[F>>2]&~(1<<(ia&31));ea=G;fa=H;ga=C;ha=s}f[a+8>>2]=ea;f[a+12>>2]=fa;u=g;return}while(0);do if(q)ja=n<<1;else{if((e|0)>0){ja=(e<<1)+-2|0;break}fa=a+8|0;f[fa>>2]=0;f[fa+4>>2]=0;u=g;return}while(0);f[a+8>>2]=f[d+(ja<<2)>>2];f[a+12>>2]=f[d+(ja+1<<2)>>2];u=g;return}function vb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=Oa,D=0,E=0.0,F=0,G=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=un(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Vn(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){m=b[o>>0]|0;q=g+(r<<3)|0;f[q>>2]=m;f[q+4>>2]=((m|0)<0)<<31>>31;r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=un(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Vn(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=g+(t<<3)|0;f[k>>2]=h[m>>0];f[k+4>>2]=0;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=un(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Vn(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){o=d[l>>1]|0;k=g+(q<<3)|0;f[k>>2]=o;f[k+4>>2]=((o|0)<0)<<31>>31;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=un(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Vn(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=j[r>>1];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(r<<3)|0,0,(e<<24>>24)-r<<3|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=un(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Vn(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){l=f[t>>2]|0;m=g+(o<<3)|0;f[m>>2]=l;f[m+4>>2]=((l|0)<0)<<31>>31;o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(t<<3)|0,0,(e<<24>>24)-t<<3|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=un(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Vn(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){r=g+(m<<3)|0;f[r>>2]=f[q>>2];f[r+4>>2]=0;m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(q<<3)|0,0,(e<<24>>24)-q<<3|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=un(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Vn(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){t=k;r=f[t+4>>2]|0;z=g+(l<<3)|0;f[z>>2]=f[t>>2];f[z+4>>2]=r;l=l+1|0;r=b[q>>0]|0;if((l|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){A=r;break}else k=k+8|0}}else A=m;k=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(k<<3)|0,0,(e<<24>>24)-k<<3|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;r=un(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;z=Vn(r|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+z|0;z=0;while(1){q=o;r=f[q+4>>2]|0;t=g+(z<<3)|0;f[t>>2]=f[q>>2];f[t+4>>2]=r;z=z+1|0;r=b[k>>0]|0;if((z|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){B=r;break}else o=o+8|0}}else B=l;o=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(o<<3)|0,0,(e<<24>>24)-o<<3|0)|0;i=1;return i|0}case 9:{o=a+24|0;z=b[o>>0]|0;if((z<<24>>24>e<<24>>24?e:z)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;r=un(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Vn(r|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){C=$(n[m>>2]);k=+K(+C)>=1.0?(+C>0.0?~~+Y(+J(+C/4294967296.0),4294967295.0)>>>0:~~+W((+C-+(~~+C>>>0))/4294967296.0)>>>0):0;r=g+(t<<3)|0;f[r>>2]=~~+C>>>0;f[r+4>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){D=k;break}else m=m+4|0}}else D=z;m=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(m<<3)|0,0,(e<<24>>24)-m<<3|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=un(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;r=Vn(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+r|0;r=0;while(1){E=+p[l>>3];o=+K(E)>=1.0?(E>0.0?~~+Y(+J(E/4294967296.0),4294967295.0)>>>0:~~+W((E-+(~~E>>>0))/4294967296.0)>>>0):0;k=g+(r<<3)|0;f[k>>2]=~~E>>>0;f[k+4>>2]=o;r=r+1|0;o=b[m>>0]|0;if((r|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){F=o;break}else l=l+8|0}}else F=t;l=F<<24>>24;if(F<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(l<<3)|0,0,(e<<24>>24)-l<<3|0)|0;i=1;return i|0}case 11:{l=a+24|0;r=b[l>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){m=f[f[a>>2]>>2]|0;z=a+40|0;o=un(f[z>>2]|0,f[z+4>>2]|0,f[c>>2]|0,0)|0;z=a+48|0;k=Vn(o|0,I|0,f[z>>2]|0,f[z+4>>2]|0)|0;z=m+k|0;k=0;while(1){m=g+(k<<3)|0;f[m>>2]=h[z>>0];f[m+4>>2]=0;k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){G=m;break}else z=z+1|0}}else G=r;z=G<<24>>24;if(G<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(z<<3)|0,0,(e<<24>>24)-z<<3|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function wb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;c=u;u=u+16|0;d=c+8|0;e=c;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=c;return}g=a+56|0;h=f[g>>2]|0;if((h|0)==(f[a+60>>2]|0)){Ri(a+52|0,b);i=b}else{f[h>>2]=f[b>>2];f[g>>2]=h+4;i=b}b=a+88|0;f[b>>2]=0;h=f[a>>2]|0;g=f[i>>2]|0;j=g+1|0;if((g|0)!=-1){k=((j>>>0)%3|0|0)==0?g+-2|0:j;if((k|0)==-1)l=-1;else l=f[(f[h>>2]|0)+(k<<2)>>2]|0;k=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((k|0)==-1){m=l;n=-1}else{m=l;n=f[(f[h>>2]|0)+(k<<2)>>2]|0}}else{m=-1;n=-1}k=a+24|0;h=f[k>>2]|0;l=h+(m>>>5<<2)|0;g=1<<(m&31);j=f[l>>2]|0;if(!(j&g)){f[l>>2]=j|g;g=f[i>>2]|0;j=g+1|0;if((g|0)==-1)o=-1;else o=((j>>>0)%3|0|0)==0?g+-2|0:j;f[e>>2]=o;j=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((o>>>0)/3|0)*12|0)+(((o>>>0)%3|0)<<2)>>2]|0;o=f[a+48>>2]|0;f[d>>2]=j;g=f[o+4>>2]|0;o=g+4|0;l=f[o>>2]|0;if((l|0)==(f[g+8>>2]|0))Ri(g,d);else{f[l>>2]=j;f[o>>2]=l+4}l=a+40|0;o=f[l>>2]|0;j=o+4|0;g=f[j>>2]|0;if((g|0)==(f[o+8>>2]|0)){Ri(o,e);p=f[l>>2]|0}else{f[g>>2]=f[e>>2];f[j>>2]=g+4;p=o}o=p+24|0;f[(f[p+12>>2]|0)+(m<<2)>>2]=f[o>>2];f[o>>2]=(f[o>>2]|0)+1;q=f[k>>2]|0}else q=h;h=q+(n>>>5<<2)|0;q=1<<(n&31);o=f[h>>2]|0;if(!(o&q)){f[h>>2]=o|q;q=f[i>>2]|0;do if((q|0)!=-1)if(!((q>>>0)%3|0)){r=q+2|0;break}else{r=q+-1|0;break}else r=-1;while(0);f[e>>2]=r;q=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((r>>>0)/3|0)*12|0)+(((r>>>0)%3|0)<<2)>>2]|0;r=f[a+48>>2]|0;f[d>>2]=q;o=f[r+4>>2]|0;r=o+4|0;h=f[r>>2]|0;if((h|0)==(f[o+8>>2]|0))Ri(o,d);else{f[h>>2]=q;f[r>>2]=h+4}h=a+40|0;r=f[h>>2]|0;q=r+4|0;o=f[q>>2]|0;if((o|0)==(f[r+8>>2]|0)){Ri(r,e);s=f[h>>2]|0}else{f[o>>2]=f[e>>2];f[q>>2]=o+4;s=r}r=s+24|0;f[(f[s+12>>2]|0)+(n<<2)>>2]=f[r>>2];f[r>>2]=(f[r>>2]|0)+1}r=f[i>>2]|0;if((r|0)==-1)t=-1;else t=f[(f[f[a>>2]>>2]|0)+(r<<2)>>2]|0;r=(f[k>>2]|0)+(t>>>5<<2)|0;n=1<<(t&31);s=f[r>>2]|0;if(!(n&s)){f[r>>2]=s|n;n=f[i>>2]|0;f[e>>2]=n;s=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((n>>>0)/3|0)*12|0)+(((n>>>0)%3|0)<<2)>>2]|0;n=f[a+48>>2]|0;f[d>>2]=s;r=f[n+4>>2]|0;n=r+4|0;o=f[n>>2]|0;if((o|0)==(f[r+8>>2]|0))Ri(r,d);else{f[o>>2]=s;f[n>>2]=o+4}o=a+40|0;n=f[o>>2]|0;s=n+4|0;r=f[s>>2]|0;if((r|0)==(f[n+8>>2]|0)){Ri(n,e);v=f[o>>2]|0}else{f[r>>2]=f[e>>2];f[s>>2]=r+4;v=n}n=v+24|0;f[(f[v+12>>2]|0)+(t<<2)>>2]=f[n>>2];f[n>>2]=(f[n>>2]|0)+1}n=f[b>>2]|0;a:do if((n|0)<3){t=a+12|0;v=a+44|0;r=a+48|0;s=a+40|0;o=a+92|0;q=n;while(1){h=q;while(1){w=a+52+(h*12|0)+4|0;x=f[w>>2]|0;if((f[a+52+(h*12|0)>>2]|0)!=(x|0))break;if((h|0)<2)h=h+1|0;else break a}m=x+-4|0;p=f[m>>2]|0;f[w>>2]=m;f[b>>2]=h;f[i>>2]=p;if((p|0)==-1)break;m=(p>>>0)/3|0;g=f[t>>2]|0;do if(!(f[g+(m>>>5<<2)>>2]&1<<(m&31))){j=p;l=g;b:while(1){y=(j>>>0)/3|0;z=l+(y>>>5<<2)|0;f[z>>2]=1<<(y&31)|f[z>>2];z=f[i>>2]|0;if((z|0)==-1)A=-1;else A=f[(f[f[a>>2]>>2]|0)+(z<<2)>>2]|0;y=(f[k>>2]|0)+(A>>>5<<2)|0;B=1<<(A&31);C=f[y>>2]|0;if(!(B&C)){f[y>>2]=C|B;B=f[i>>2]|0;f[e>>2]=B;C=f[(f[(f[v>>2]|0)+96>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;B=f[r>>2]|0;f[d>>2]=C;y=f[B+4>>2]|0;B=y+4|0;D=f[B>>2]|0;if((D|0)==(f[y+8>>2]|0))Ri(y,d);else{f[D>>2]=C;f[B>>2]=D+4}D=f[s>>2]|0;B=D+4|0;C=f[B>>2]|0;if((C|0)==(f[D+8>>2]|0)){Ri(D,e);E=f[s>>2]|0}else{f[C>>2]=f[e>>2];f[B>>2]=C+4;E=D}D=E+24|0;f[(f[E+12>>2]|0)+(A<<2)>>2]=f[D>>2];f[D>>2]=(f[D>>2]|0)+1;F=f[i>>2]|0}else F=z;z=f[a>>2]|0;if((F|0)==-1){G=93;break}D=F+1|0;C=((D>>>0)%3|0|0)==0?F+-2|0:D;if((C|0)==-1)H=-1;else H=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((C|0)==-1)I=-1;else I=f[(f[z+12>>2]|0)+(C<<2)>>2]|0;C=(H|0)==-1;D=C?-1:(H>>>0)/3|0;B=(I|0)==-1;y=B?-1:(I>>>0)/3|0;if(C)J=1;else J=(f[(f[t>>2]|0)+(D>>>5<<2)>>2]&1<<(D&31)|0)!=0;do if(B)if(J){G=93;break b}else G=82;else{if(f[(f[t>>2]|0)+(y>>>5<<2)>>2]&1<<(y&31)|0)if(J){G=93;break b}else{G=82;break}D=f[(f[z>>2]|0)+(I<<2)>>2]|0;if(!(1<<(D&31)&f[(f[k>>2]|0)+(D>>>5<<2)>>2])){K=(f[o>>2]|0)+(D<<2)|0;D=f[K>>2]|0;f[K>>2]=D+1;L=(D|0)>0?1:2}else L=0;if(J?(L|0)<=(f[b>>2]|0):0){M=I;break}f[d>>2]=I;D=a+52+(L*12|0)+4|0;K=f[D>>2]|0;if((K|0)==(f[a+52+(L*12|0)+8>>2]|0))Ri(a+52+(L*12|0)|0,d);else{f[K>>2]=I;f[D>>2]=K+4}if((f[b>>2]|0)>(L|0))f[b>>2]=L;if(J){G=93;break b}else G=82}while(0);if((G|0)==82){G=0;if(C)N=-1;else N=f[(f[f[a>>2]>>2]|0)+(H<<2)>>2]|0;if(!(1<<(N&31)&f[(f[k>>2]|0)+(N>>>5<<2)>>2])){z=(f[o>>2]|0)+(N<<2)|0;y=f[z>>2]|0;f[z>>2]=y+1;O=(y|0)>0?1:2}else O=0;if((O|0)>(f[b>>2]|0))break;else M=H}f[i>>2]=M;j=M;l=f[t>>2]|0}if((G|0)==93){G=0;P=f[b>>2]|0;break}f[d>>2]=H;l=a+52+(O*12|0)+4|0;j=f[l>>2]|0;if((j|0)==(f[a+52+(O*12|0)+8>>2]|0))Ri(a+52+(O*12|0)|0,d);else{f[j>>2]=H;f[l>>2]=j+4}j=f[b>>2]|0;if((j|0)>(O|0)){f[b>>2]=O;Q=O}else Q=j;P=Q}else P=h;while(0);if((P|0)<3)q=P;else break a}u=c;return}while(0);f[i>>2]=-1;u=c;return}function xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}xb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;xb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}yb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;yb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}zb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;zb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Ab(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Ab(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}} +function Bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Bb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Bb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Cb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Cb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function Db(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Db(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Db(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function Eb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Eb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Eb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function Fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Fb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Fb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function Gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Gb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Gb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function Hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Hb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Hb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function Ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Ib(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Ib(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function Jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Jb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Jb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function Kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Kb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Kb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function Lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Lb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Lb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function Mb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Mb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Mb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function Nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Nb(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Nb(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function Ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=a;a=b;a:while(1){b=a;e=a+-4|0;g=d;while(1){h=g;b:while(1){i=h;j=b-i|0;k=j>>2;switch(k|0){case 2:{l=5;break a;break}case 3:{l=11;break a;break}case 4:{l=12;break a;break}case 5:{l=13;break a;break}case 1:case 0:{l=84;break a;break}default:{}}if((j|0)<124){l=15;break a}m=h+(((k|0)/2|0)<<2)|0;if((j|0)>3996){j=(k|0)/4|0;n=ig(h,h+(j<<2)|0,m,m+(j<<2)|0,e,c)|0}else n=Vg(h,m,e,c)|0;o=f[h>>2]|0;j=f[m>>2]|0;p=f[c>>2]|0;k=f[p>>2]|0;q=(f[p+4>>2]|0)-k>>3;if(q>>>0<=o>>>0){l=20;break a}r=k;if(q>>>0<=j>>>0){l=22;break a}k=f[r+(o<<3)>>2]|0;s=f[r+(j<<3)>>2]|0;if(k>>>0>>0){t=e;u=n;break}else v=e;while(1){v=v+-4|0;if((h|0)==(v|0))break;w=f[v>>2]|0;if(q>>>0<=w>>>0){l=51;break a}if((f[r+(w<<3)>>2]|0)>>>0>>0){l=53;break b}}s=h+4|0;j=f[e>>2]|0;if(q>>>0<=j>>>0){l=26;break a}if(k>>>0<(f[r+(j<<3)>>2]|0)>>>0)x=s;else{if((s|0)==(e|0)){l=84;break a}else y=s;while(1){z=f[y>>2]|0;if(q>>>0<=z>>>0){l=32;break a}if(k>>>0<(f[r+(z<<3)>>2]|0)>>>0)break;s=y+4|0;if((s|0)==(e|0)){l=84;break a}else y=s}f[y>>2]=j;f[e>>2]=z;x=y+4|0}if((x|0)==(e|0)){l=84;break a}r=f[h>>2]|0;A=f[c>>2]|0;k=f[A>>2]|0;q=(f[A+4>>2]|0)-k>>3;if(q>>>0<=r>>>0){l=38;break a}s=k;k=e;B=x;C=r;while(1){r=s+(C<<3)|0;D=q>>>0>C>>>0;E=B;while(1){F=f[E>>2]|0;if(q>>>0<=F>>>0){l=40;break a}G=f[r>>2]|0;if(G>>>0<(f[s+(F<<3)>>2]|0)>>>0)break;if(D)E=E+4|0;else{l=38;break a}}if(q>>>0>C>>>0)H=k;else{l=46;break a}do{H=H+-4|0;I=f[H>>2]|0;if(q>>>0<=I>>>0){l=47;break a}}while(G>>>0<(f[s+(I<<3)>>2]|0)>>>0);if(E>>>0>=H>>>0){h=E;continue b}D=f[E>>2]|0;f[E>>2]=I;f[H>>2]=D;C=f[h>>2]|0;if(q>>>0<=C>>>0){l=38;break a}else{k=H;B=E+4|0}}}if((l|0)==53){l=0;f[h>>2]=w;f[v>>2]=o;t=v;u=n+1|0}B=h+4|0;c:do if(B>>>0>>0){k=f[B>>2]|0;C=f[c>>2]|0;q=f[C>>2]|0;s=(f[C+4>>2]|0)-q>>3;if(s>>>0>k>>>0){J=t;K=B;L=u;M=m;N=s;O=q;P=C;Q=k}else{R=C;l=57;break a}while(1){C=f[c>>2]|0;k=C+4|0;q=f[M>>2]|0;s=K;j=O;D=N;S=P;r=Q;while(1){F=j;if(D>>>0<=q>>>0){l=59;break a}if((f[F+(r<<3)>>2]|0)>>>0>=(f[F+(q<<3)>>2]|0)>>>0)break;F=s+4|0;T=f[F>>2]|0;j=f[C>>2]|0;D=(f[k>>2]|0)-j>>3;if(D>>>0<=T>>>0){R=C;l=57;break a}else{s=F;S=C;r=T}}C=f[M>>2]|0;O=f[S>>2]|0;N=(f[S+4>>2]|0)-O>>3;D=O;j=D+(C<<3)|0;if(N>>>0>C>>>0)U=J;else{l=65;break a}do{U=U+-4|0;V=f[U>>2]|0;if(N>>>0<=V>>>0){l=66;break a}}while((f[D+(V<<3)>>2]|0)>>>0>=(f[j>>2]|0)>>>0);if(s>>>0>U>>>0){W=M;X=L;Y=s;break c}f[s>>2]=V;f[U>>2]=r;K=s+4|0;Q=f[K>>2]|0;if(N>>>0<=Q>>>0){R=S;l=57;break a}else{J=U;L=L+1|0;M=(M|0)==(s|0)?U:M;P=S}}}else{W=m;X=u;Y=B}while(0);if((Y|0)!=(W|0)){B=f[W>>2]|0;j=f[Y>>2]|0;Z=f[c>>2]|0;D=f[Z>>2]|0;C=(f[Z+4>>2]|0)-D>>3;if(C>>>0<=B>>>0){l=72;break a}k=D;if(C>>>0<=j>>>0){l=74;break a}if((f[k+(B<<3)>>2]|0)>>>0<(f[k+(j<<3)>>2]|0)>>>0){f[Y>>2]=B;f[W>>2]=j;_=X+1|0}else _=X}else _=X;if(!_){$=_d(h,Y,c)|0;j=Y+4|0;if(_d(j,a,c)|0){l=83;break}if($){g=j;continue}}j=Y;if((j-i|0)>=(b-j|0)){l=82;break}Ob(h,Y,c);g=Y+4|0}if((l|0)==82){l=0;Ob(Y+4|0,a,c);d=h;a=Y;continue}else if((l|0)==83){l=0;if($){l=84;break}else{d=h;a=Y;continue}}}switch(l|0){case 5:{l=f[e>>2]|0;Y=f[h>>2]|0;d=f[c>>2]|0;$=f[d>>2]|0;i=(f[d+4>>2]|0)-$>>3;if(i>>>0<=l>>>0)aq(d);_=$;if(i>>>0<=Y>>>0)aq(d);if((f[_+(l<<3)>>2]|0)>>>0>=(f[_+(Y<<3)>>2]|0)>>>0)return;f[h>>2]=l;f[e>>2]=Y;return}case 11:{Vg(h,h+4|0,e,c)|0;return}case 12:{jh(h,h+4|0,h+8|0,e,c)|0;return}case 13:{ig(h,h+4|0,h+8|0,h+12|0,e,c)|0;return}case 15:{ih(h,a,c);return}case 20:{aq(p);break}case 22:{aq(p);break}case 26:{aq(p);break}case 32:{aq(p);break}case 38:{aq(A);break}case 40:{aq(A);break}case 46:{aq(A);break}case 47:{aq(A);break}case 51:{aq(p);break}case 57:{aq(R);break}case 59:{aq(S);break}case 65:{if(N>>>0>(f[J+-4>>2]|0)>>>0)aq(S);else aq(S);break}case 66:{aq(S);break}case 72:{aq(Z);break}case 74:{aq(Z);break}case 84:return}}function Pb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=un(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Vn(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=un(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Vn(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=un(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Vn(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=un(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Vn(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=un(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Vn(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=un(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Vn(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=un(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Vn(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=un(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Vn(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=un(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Vn(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~$(n[m>>2])>>>0;f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=un(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Vn(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3]>>>0;q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=un(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Vn(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Qb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!g){i=0;return i|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){m=f[f[a>>2]>>2]|0;o=a+40|0;q=un(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Vn(q|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=m+r|0;r=0;while(1){f[g+(r<<2)>>2]=b[o>>0];r=r+1|0;m=b[k>>0]|0;if((r|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){s=m;break}else o=o+1|0}}else s=l;o=s<<24>>24;if(s<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 2:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=un(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Vn(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){f[g+(t<<2)>>2]=h[m>>0];t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){u=k;break}else m=m+1|0}}else u=r;m=u<<24>>24;if(u<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 3:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=un(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Vn(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=d[l>>1];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){v=o;break}else l=l+2|0}}else v=t;l=v<<24>>24;if(v<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 4:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=un(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Vn(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=j[r>>1];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){w=m;break}else r=r+2|0}}else w=q;r=w<<24>>24;if(w<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}case 5:{r=a+24|0;k=b[r>>0]|0;if((k<<24>>24>e<<24>>24?e:k)<<24>>24>0){l=f[f[a>>2]>>2]|0;t=a+40|0;m=un(f[t>>2]|0,f[t+4>>2]|0,f[c>>2]|0,0)|0;t=a+48|0;o=Vn(m|0,I|0,f[t>>2]|0,f[t+4>>2]|0)|0;t=l+o|0;o=0;while(1){f[g+(o<<2)>>2]=f[t>>2];o=o+1|0;l=b[r>>0]|0;if((o|0)>=((l<<24>>24>e<<24>>24?e:l)<<24>>24|0)){x=l;break}else t=t+4|0}}else x=k;t=x<<24>>24;if(x<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(t<<2)|0,0,(e<<24>>24)-t<<2|0)|0;i=1;return i|0}case 6:{t=a+24|0;o=b[t>>0]|0;if((o<<24>>24>e<<24>>24?e:o)<<24>>24>0){r=f[f[a>>2]>>2]|0;q=a+40|0;l=un(f[q>>2]|0,f[q+4>>2]|0,f[c>>2]|0,0)|0;q=a+48|0;m=Vn(l|0,I|0,f[q>>2]|0,f[q+4>>2]|0)|0;q=r+m|0;m=0;while(1){f[g+(m<<2)>>2]=f[q>>2];m=m+1|0;r=b[t>>0]|0;if((m|0)>=((r<<24>>24>e<<24>>24?e:r)<<24>>24|0)){y=r;break}else q=q+4|0}}else y=o;q=y<<24>>24;if(y<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(q<<2)|0,0,(e<<24>>24)-q<<2|0)|0;i=1;return i|0}case 7:{q=a+24|0;m=b[q>>0]|0;if((m<<24>>24>e<<24>>24?e:m)<<24>>24>0){t=f[f[a>>2]>>2]|0;k=a+40|0;r=un(f[k>>2]|0,f[k+4>>2]|0,f[c>>2]|0,0)|0;k=a+48|0;l=Vn(r|0,I|0,f[k>>2]|0,f[k+4>>2]|0)|0;k=t+l|0;l=0;while(1){f[g+(l<<2)>>2]=f[k>>2];l=l+1|0;t=b[q>>0]|0;if((l|0)>=((t<<24>>24>e<<24>>24?e:t)<<24>>24|0)){z=t;break}else k=k+8|0}}else z=m;k=z<<24>>24;if(z<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(k<<2)|0,0,(e<<24>>24)-k<<2|0)|0;i=1;return i|0}case 8:{k=a+24|0;l=b[k>>0]|0;if((l<<24>>24>e<<24>>24?e:l)<<24>>24>0){q=f[f[a>>2]>>2]|0;o=a+40|0;t=un(f[o>>2]|0,f[o+4>>2]|0,f[c>>2]|0,0)|0;o=a+48|0;r=Vn(t|0,I|0,f[o>>2]|0,f[o+4>>2]|0)|0;o=q+r|0;r=0;while(1){f[g+(r<<2)>>2]=f[o>>2];r=r+1|0;q=b[k>>0]|0;if((r|0)>=((q<<24>>24>e<<24>>24?e:q)<<24>>24|0)){A=q;break}else o=o+8|0}}else A=l;o=A<<24>>24;if(A<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(o<<2)|0,0,(e<<24>>24)-o<<2|0)|0;i=1;return i|0}case 9:{o=a+24|0;r=b[o>>0]|0;if((r<<24>>24>e<<24>>24?e:r)<<24>>24>0){k=f[f[a>>2]>>2]|0;m=a+40|0;q=un(f[m>>2]|0,f[m+4>>2]|0,f[c>>2]|0,0)|0;m=a+48|0;t=Vn(q|0,I|0,f[m>>2]|0,f[m+4>>2]|0)|0;m=k+t|0;t=0;while(1){k=~~$(n[m>>2]);f[g+(t<<2)>>2]=k;t=t+1|0;k=b[o>>0]|0;if((t|0)>=((k<<24>>24>e<<24>>24?e:k)<<24>>24|0)){B=k;break}else m=m+4|0}}else B=r;m=B<<24>>24;if(B<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(m<<2)|0,0,(e<<24>>24)-m<<2|0)|0;i=1;return i|0}case 10:{m=a+24|0;t=b[m>>0]|0;if((t<<24>>24>e<<24>>24?e:t)<<24>>24>0){o=f[f[a>>2]>>2]|0;l=a+40|0;k=un(f[l>>2]|0,f[l+4>>2]|0,f[c>>2]|0,0)|0;l=a+48|0;q=Vn(k|0,I|0,f[l>>2]|0,f[l+4>>2]|0)|0;l=o+q|0;q=0;while(1){f[g+(q<<2)>>2]=~~+p[l>>3];q=q+1|0;o=b[m>>0]|0;if((q|0)>=((o<<24>>24>e<<24>>24?e:o)<<24>>24|0)){C=o;break}else l=l+8|0}}else C=t;l=C<<24>>24;if(C<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(l<<2)|0,0,(e<<24>>24)-l<<2|0)|0;i=1;return i|0}case 11:{l=a+24|0;q=b[l>>0]|0;if((q<<24>>24>e<<24>>24?e:q)<<24>>24>0){m=f[f[a>>2]>>2]|0;r=a+40|0;o=un(f[r>>2]|0,f[r+4>>2]|0,f[c>>2]|0,0)|0;r=a+48|0;k=Vn(o|0,I|0,f[r>>2]|0,f[r+4>>2]|0)|0;r=m+k|0;k=0;while(1){f[g+(k<<2)>>2]=h[r>>0];k=k+1|0;m=b[l>>0]|0;if((k|0)>=((m<<24>>24>e<<24>>24?e:m)<<24>>24|0)){D=m;break}else r=r+1|0}}else D=q;r=D<<24>>24;if(D<<24>>24>=e<<24>>24){i=1;return i|0}sj(g+(r<<2)|0,0,(e<<24>>24)-r<<2|0)|0;i=1;return i|0}default:{i=0;return i|0}}while(0);return 0}function Rb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=Oa,J=0,K=0,L=0,M=0,N=Oa;e=u;u=u+48|0;g=e+36|0;h=e+24|0;i=e+12|0;j=e;if(!(xh(a,c,d)|0)){k=0;u=e;return k|0}l=f[(f[(f[c+4>>2]|0)+8>>2]|0)+(d<<2)>>2]|0;if((f[l+28>>2]|0)!=9){k=0;u=e;return k|0}m=c+48|0;c=f[m>>2]|0;o=ln(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=17;p=o;q=14495;r=p+17|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+17>>0]=0;o=c+16|0;s=f[o>>2]|0;if(s){t=o;v=s;a:while(1){s=v;while(1){if((f[s+16>>2]|0)>=(d|0))break;w=f[s+4>>2]|0;if(!w){x=t;break a}else s=w}v=f[s>>2]|0;if(!v){x=s;break}else t=s}if(((x|0)!=(o|0)?(f[x+16>>2]|0)<=(d|0):0)?(o=x+20|0,(Jh(o,g)|0)!=0):0)y=Hk(o,g,-1)|0;else z=12}else z=12;if((z|0)==12)y=Hk(c,g,-1)|0;if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);if((y|0)<1){k=0;u=e;return k|0}c=f[m>>2]|0;o=ln(32)|0;f[g>>2]=o;f[g+8>>2]=-2147483616;f[g+4>>2]=19;p=o;q=14438;r=p+19|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[o+19>>0]=0;o=c+16|0;x=f[o>>2]|0;if(x){t=o;v=x;b:while(1){x=v;while(1){if((f[x+16>>2]|0)>=(d|0))break;w=f[x+4>>2]|0;if(!w){A=t;break b}else x=w}v=f[x>>2]|0;if(!v){A=x;break}else t=x}if((A|0)!=(o|0)?(f[A+16>>2]|0)<=(d|0):0)B=A+20|0;else z=24}else z=24;if((z|0)==24)B=c;if(!(Jh(B,g)|0))C=0;else{B=f[m>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;c=ln(32)|0;f[h>>2]=c;f[h+8>>2]=-2147483616;f[h+4>>2]=18;p=c;q=14458;r=p+18|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[c+18>>0]=0;c=B+16|0;A=f[c>>2]|0;if(A){o=c;t=A;c:while(1){A=t;while(1){if((f[A+16>>2]|0)>=(d|0))break;v=f[A+4>>2]|0;if(!v){D=o;break c}else A=v}t=f[A>>2]|0;if(!t){D=A;break}else o=A}if((D|0)!=(c|0)?(f[D+16>>2]|0)<=(d|0):0)E=D+20|0;else z=34}else z=34;if((z|0)==34)E=B;B=(Jh(E,h)|0)!=0;if((b[h+11>>0]|0)<0)Oq(f[h>>2]|0);C=B}if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);if(!C){Wd(a+40|0,l,y)|0;k=1;u=e;return k|0}C=l+24|0;l=b[C>>0]|0;B=l<<24>>24;f[i>>2]=0;E=i+4|0;f[E>>2]=0;f[i+8>>2]=0;do if(l<<24>>24)if(l<<24>>24<0)aq(i);else{D=B<<2;c=ln(D)|0;f[i>>2]=c;o=c+(B<<2)|0;f[i+8>>2]=o;sj(c|0,0,D|0)|0;f[E>>2]=o;F=c;break}else F=0;while(0);B=f[m>>2]|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;l=ln(32)|0;f[j>>2]=l;f[j+8>>2]=-2147483616;f[j+4>>2]=19;p=l;q=14438;r=p+19|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[l+19>>0]=0;l=b[C>>0]|0;c=l<<24>>24;o=B+16|0;D=f[o>>2]|0;if(D){t=o;x=D;d:while(1){D=x;while(1){if((f[D+16>>2]|0)>=(d|0))break;v=f[D+4>>2]|0;if(!v){G=t;break d}else D=v}x=f[D>>2]|0;if(!x){G=D;break}else t=D}if(((G|0)!=(o|0)?(f[G+16>>2]|0)<=(d|0):0)?(o=G+20|0,(Jh(o,j)|0)!=0):0){t=Rg(o,j)|0;if((t|0)!=(G+24|0)){pj(g,t+28|0);t=g+11|0;G=b[t>>0]|0;o=G<<24>>24<0;if(!((o?f[g+4>>2]|0:G&255)|0))H=G;else{if(l<<24>>24>0){x=o?f[g>>2]|0:g;o=0;do{I=$(bq(x,h));A=x;x=f[h>>2]|0;if((A|0)==(x|0))break;n[F+(o<<2)>>2]=I;o=o+1|0}while((o|0)<(c|0));J=b[t>>0]|0}else J=G;H=J}if(H<<24>>24<0)Oq(f[g>>2]|0)}}else z=64}else z=64;if((z|0)==64?(H=Rg(B,j)|0,(H|0)!=(B+4|0)):0){pj(g,H+28|0);H=g+11|0;B=b[H>>0]|0;J=B<<24>>24<0;if(!((J?f[g+4>>2]|0:B&255)|0))K=B;else{if(l<<24>>24>0){l=J?f[g>>2]|0:g;J=0;do{I=$(bq(l,h));G=l;l=f[h>>2]|0;if((G|0)==(l|0))break;n[F+(J<<2)>>2]=I;J=J+1|0}while((J|0)<(c|0));L=b[H>>0]|0}else L=B;K=L}if(K<<24>>24<0)Oq(f[g>>2]|0)}if((b[j+11>>0]|0)<0)Oq(f[j>>2]|0);j=f[m>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;m=ln(32)|0;f[g>>2]=m;f[g+8>>2]=-2147483616;f[g+4>>2]=18;p=m;q=14458;r=p+18|0;do{b[p>>0]=b[q>>0]|0;p=p+1|0;q=q+1|0}while((p|0)<(r|0));b[m+18>>0]=0;m=j+16|0;q=f[m>>2]|0;if(q){p=m;r=q;e:while(1){q=r;while(1){if((f[q+16>>2]|0)>=(d|0))break;K=f[q+4>>2]|0;if(!K){M=p;break e}else q=K}r=f[q>>2]|0;if(!r){M=q;break}else p=q}if(((M|0)!=(m|0)?(f[M+16>>2]|0)<=(d|0):0)?(d=M+20|0,(Jh(d,g)|0)!=0):0)N=$(sk(d,g,$(1.0)));else z=86}else z=86;if((z|0)==86)N=$(sk(j,g,$(1.0)));if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);Dl(a+40|0,y,f[i>>2]|0,b[C>>0]|0,N);C=f[i>>2]|0;if(C|0){i=f[E>>2]|0;if((i|0)!=(C|0))f[E>>2]=i+(~((i+-4-C|0)>>>2)<<2);Oq(C)}k=1;u=e;return k|0}function Sb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0;e=u;u=u+64|0;d=e+48|0;h=e+36|0;i=e+24|0;j=e+16|0;k=e+8|0;l=e;m=e+32|0;n=a+60|0;f[a+68>>2]=g;g=a+108|0;tk(g);o=a+56|0;p=f[o>>2]|0;q=(f[p+4>>2]|0)-(f[p>>2]|0)|0;r=q>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;s=i;f[s>>2]=0;f[s+4>>2]=0;s=j;f[s>>2]=0;f[s+4>>2]=0;s=k;f[s>>2]=0;f[s+4>>2]=0;s=l;f[s>>2]=0;f[s+4>>2]=0;if((q|0)<=0){u=e;return 1}q=h+4|0;s=h+8|0;t=a+104|0;v=i+4|0;w=a+100|0;x=j+4|0;y=a+8|0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+28|0;D=a+20|0;E=a+24|0;F=a+96|0;a=k+4|0;G=l+4|0;H=f[p>>2]|0;if((f[p+4>>2]|0)==(H|0)){J=p;aq(J)}else{K=0;L=H}while(1){f[m>>2]=f[L+(K<<2)>>2];f[d>>2]=f[m>>2];ic(n,d,h);H=f[h>>2]|0;p=(H|0)>-1?H:0-H|0;M=f[q>>2]|0;N=(M|0)>-1?M:0-M|0;O=Vn(N|0,((N|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=f[s>>2]|0;N=(p|0)>-1;P=N?p:0-p|0;p=Vn(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;if((p|0)==0&(P|0)==0){O=f[t>>2]|0;Q=O;R=h;S=M;T=O}else{O=f[t>>2]|0;U=((O|0)<0)<<31>>31;V=un(O|0,U|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Ik(V|0,I|0,p|0,P|0)|0;f[h>>2]=H;V=un(O|0,U|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Ik(V|0,I|0,p|0,P|0)|0;f[q>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=N?P:0-P|0;R=s;S=M;T=O}f[R>>2]=Q;O=f[h>>2]|0;do if((O|0)<=-1){if((S|0)<0){M=f[s>>2]|0;W=(M|0)>-1?M:0-M|0;X=M}else{M=f[s>>2]|0;W=(f[w>>2]|0)-((M|0)>-1?M:0-M|0)|0;X=M}if((X|0)<0){Y=(S|0)>-1?S:0-S|0;Z=W;_=X;break}else{Y=(f[w>>2]|0)-((S|0)>-1?S:0-S|0)|0;Z=W;_=X;break}}else{M=f[s>>2]|0;Y=M+T|0;Z=T+S|0;_=M}while(0);M=(Z|0)==0;P=(Y|0)==0;N=f[w>>2]|0;do if(Y|Z){H=(N|0)==(Y|0);if(!(M&H)){p=(N|0)==(Z|0);if(!(P&p)){if(M&(T|0)<(Y|0)){$=0;aa=(T<<1)-Y|0;break}if(p&(T|0)>(Y|0)){$=Z;aa=(T<<1)-Y|0;break}if(H&(T|0)>(Z|0)){$=(T<<1)-Z|0;aa=Y;break}if(P){$=(T|0)<(Z|0)?(T<<1)-Z|0:Z;aa=0}else{$=Z;aa=Y}}else{$=Z;aa=Z}}else{$=Y;aa=Y}}else{$=N;aa=N}while(0);f[i>>2]=$;f[v>>2]=aa;P=0-S|0;M=0-_|0;f[h>>2]=0-O;f[q>>2]=P;f[s>>2]=M;if((O|0)<1){ba=T-_|0;ca=T-S|0}else{H=(_|0)<1?M:_;M=(S|0)<1?P:S;ba=(_|0)>0?M:N-M|0;ca=(S|0)>0?H:N-H|0}H=(ca|0)==0;M=(ba|0)==0;do if(((ba|ca|0)!=0?(P=(N|0)==(ba|0),!(H&P)):0)?(p=(N|0)==(ca|0),!(M&p)):0){if(H&(T|0)<(ba|0)){da=0;ea=(T<<1)-ba|0;break}if(p&(T|0)>(ba|0)){da=N;ea=(T<<1)-ba|0;break}if(P&(T|0)>(ca|0)){da=(T<<1)-ca|0;ea=N;break}if(M){da=(T|0)<(ca|0)?(T<<1)-ca|0:ca;ea=0}else{da=ca;ea=ba}}else{da=N;ea=N}while(0);f[j>>2]=da;f[x>>2]=ea;N=K<<1;M=b+(N<<2)|0;H=f[y>>2]|0;if((H|0)>0){O=0;P=i;p=H;while(1){if((p|0)>0){H=0;do{V=f[P+(H<<2)>>2]|0;U=f[z>>2]|0;if((V|0)>(U|0)){fa=f[A>>2]|0;f[fa+(H<<2)>>2]=U;ga=fa}else{fa=f[B>>2]|0;U=f[A>>2]|0;f[U+(H<<2)>>2]=(V|0)<(fa|0)?fa:V;ga=U}H=H+1|0;U=f[y>>2]|0}while((H|0)<(U|0));ha=ga;ia=U}else{ha=f[A>>2]|0;ia=p}H=(f[M+(O<<2)>>2]|0)-(f[ha+(O<<2)>>2]|0)|0;U=k+(O<<2)|0;f[U>>2]=H;ja=f[C>>2]|0;if((H|0)>=(ja|0)){if((H|0)>(f[E>>2]|0)){ka=H-(f[D>>2]|0)|0;la=52}}else{ka=(f[D>>2]|0)+H|0;la=52}if((la|0)==52){la=0;f[U>>2]=ka}O=O+1|0;if((O|0)>=(ia|0))break;else{P=ha;p=ia}}if((ia|0)>0){p=0;P=j;O=ia;U=ja;while(1){if((O|0)>0){H=0;do{V=f[P+(H<<2)>>2]|0;fa=f[z>>2]|0;if((V|0)>(fa|0))f[ha+(H<<2)>>2]=fa;else{fa=f[B>>2]|0;f[ha+(H<<2)>>2]=(V|0)<(fa|0)?fa:V}H=H+1|0;ma=f[y>>2]|0}while((H|0)<(ma|0));na=f[C>>2]|0;oa=ma}else{na=U;oa=O}H=(f[M+(p<<2)>>2]|0)-(f[ha+(p<<2)>>2]|0)|0;V=l+(p<<2)|0;f[V>>2]=H;if((H|0)>=(na|0)){if((H|0)>(f[E>>2]|0)){pa=H-(f[D>>2]|0)|0;la=65}}else{pa=(f[D>>2]|0)+H|0;la=65}if((la|0)==65){la=0;f[V>>2]=pa}p=p+1|0;if((p|0)>=(oa|0))break;else{P=ha;O=oa;U=na}}}}U=f[k>>2]|0;O=f[t>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))qa=(f[F>>2]|0)+U|0;else qa=U;else qa=U-(f[F>>2]|0)|0;f[k>>2]=qa;U=f[a>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))ra=(f[F>>2]|0)+U|0;else ra=U;else ra=U-(f[F>>2]|0)|0;f[a>>2]=ra;U=f[l>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))sa=(f[F>>2]|0)+U|0;else sa=U;else sa=U-(f[F>>2]|0)|0;f[l>>2]=sa;U=f[G>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))ta=(f[F>>2]|0)+U|0;else ta=U;else ta=U-(f[F>>2]|0)|0;f[G>>2]=ta;if((((ra|0)>-1?ra:0-ra|0)+((qa|0)>-1?qa:0-qa|0)|0)<(((sa|0)>-1?sa:0-sa|0)+((ta|0)>-1?ta:0-ta|0)|0)){fj(g,0);ua=k}else{fj(g,1);ua=l}U=f[ua>>2]|0;if((U|0)<0)va=(f[F>>2]|0)+U|0;else va=U;U=c+(N<<2)|0;f[U>>2]=va;O=f[ua+4>>2]|0;if((O|0)<0)wa=(f[F>>2]|0)+O|0;else wa=O;f[U+4>>2]=wa;K=K+1|0;if((K|0)>=(r|0)){la=3;break}U=f[o>>2]|0;L=f[U>>2]|0;if((f[U+4>>2]|0)-L>>2>>>0<=K>>>0){J=U;la=4;break}}if((la|0)==3){u=e;return 1}else if((la|0)==4)aq(J);return 0}function Tb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0;e=u;u=u+64|0;d=e+48|0;h=e+36|0;i=e+24|0;j=e+16|0;k=e+8|0;l=e;m=e+32|0;n=a+60|0;f[a+68>>2]=g;g=a+108|0;tk(g);o=a+56|0;p=f[o>>2]|0;q=(f[p+4>>2]|0)-(f[p>>2]|0)|0;r=q>>2;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;s=i;f[s>>2]=0;f[s+4>>2]=0;s=j;f[s>>2]=0;f[s+4>>2]=0;s=k;f[s>>2]=0;f[s+4>>2]=0;s=l;f[s>>2]=0;f[s+4>>2]=0;if((q|0)<=0){u=e;return 1}q=h+4|0;s=h+8|0;t=a+104|0;v=i+4|0;w=a+100|0;x=j+4|0;y=a+8|0;z=a+16|0;A=a+32|0;B=a+12|0;C=a+28|0;D=a+20|0;E=a+24|0;F=a+96|0;a=k+4|0;G=l+4|0;H=f[p>>2]|0;if((f[p+4>>2]|0)==(H|0)){J=p;aq(J)}else{K=0;L=H}while(1){f[m>>2]=f[L+(K<<2)>>2];f[d>>2]=f[m>>2];$b(n,d,h);H=f[h>>2]|0;p=(H|0)>-1?H:0-H|0;M=f[q>>2]|0;N=(M|0)>-1?M:0-M|0;O=Vn(N|0,((N|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;p=f[s>>2]|0;N=(p|0)>-1;P=N?p:0-p|0;p=Vn(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;if((p|0)==0&(P|0)==0){O=f[t>>2]|0;Q=O;R=h;S=M;T=O}else{O=f[t>>2]|0;U=((O|0)<0)<<31>>31;V=un(O|0,U|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Ik(V|0,I|0,p|0,P|0)|0;f[h>>2]=H;V=un(O|0,U|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Ik(V|0,I|0,p|0,P|0)|0;f[q>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=N?P:0-P|0;R=s;S=M;T=O}f[R>>2]=Q;O=f[h>>2]|0;do if((O|0)<=-1){if((S|0)<0){M=f[s>>2]|0;W=(M|0)>-1?M:0-M|0;X=M}else{M=f[s>>2]|0;W=(f[w>>2]|0)-((M|0)>-1?M:0-M|0)|0;X=M}if((X|0)<0){Y=(S|0)>-1?S:0-S|0;Z=W;_=X;break}else{Y=(f[w>>2]|0)-((S|0)>-1?S:0-S|0)|0;Z=W;_=X;break}}else{M=f[s>>2]|0;Y=M+T|0;Z=T+S|0;_=M}while(0);M=(Z|0)==0;P=(Y|0)==0;N=f[w>>2]|0;do if(Y|Z){H=(N|0)==(Y|0);if(!(M&H)){p=(N|0)==(Z|0);if(!(P&p)){if(M&(T|0)<(Y|0)){$=0;aa=(T<<1)-Y|0;break}if(p&(T|0)>(Y|0)){$=Z;aa=(T<<1)-Y|0;break}if(H&(T|0)>(Z|0)){$=(T<<1)-Z|0;aa=Y;break}if(P){$=(T|0)<(Z|0)?(T<<1)-Z|0:Z;aa=0}else{$=Z;aa=Y}}else{$=Z;aa=Z}}else{$=Y;aa=Y}}else{$=N;aa=N}while(0);f[i>>2]=$;f[v>>2]=aa;P=0-S|0;M=0-_|0;f[h>>2]=0-O;f[q>>2]=P;f[s>>2]=M;if((O|0)<1){ba=T-_|0;ca=T-S|0}else{H=(_|0)<1?M:_;M=(S|0)<1?P:S;ba=(_|0)>0?M:N-M|0;ca=(S|0)>0?H:N-H|0}H=(ca|0)==0;M=(ba|0)==0;do if(((ba|ca|0)!=0?(P=(N|0)==(ba|0),!(H&P)):0)?(p=(N|0)==(ca|0),!(M&p)):0){if(H&(T|0)<(ba|0)){da=0;ea=(T<<1)-ba|0;break}if(p&(T|0)>(ba|0)){da=N;ea=(T<<1)-ba|0;break}if(P&(T|0)>(ca|0)){da=(T<<1)-ca|0;ea=N;break}if(M){da=(T|0)<(ca|0)?(T<<1)-ca|0:ca;ea=0}else{da=ca;ea=ba}}else{da=N;ea=N}while(0);f[j>>2]=da;f[x>>2]=ea;N=K<<1;M=b+(N<<2)|0;H=f[y>>2]|0;if((H|0)>0){O=0;P=i;p=H;while(1){if((p|0)>0){H=0;do{V=f[P+(H<<2)>>2]|0;U=f[z>>2]|0;if((V|0)>(U|0)){fa=f[A>>2]|0;f[fa+(H<<2)>>2]=U;ga=fa}else{fa=f[B>>2]|0;U=f[A>>2]|0;f[U+(H<<2)>>2]=(V|0)<(fa|0)?fa:V;ga=U}H=H+1|0;U=f[y>>2]|0}while((H|0)<(U|0));ha=ga;ia=U}else{ha=f[A>>2]|0;ia=p}H=(f[M+(O<<2)>>2]|0)-(f[ha+(O<<2)>>2]|0)|0;U=k+(O<<2)|0;f[U>>2]=H;ja=f[C>>2]|0;if((H|0)>=(ja|0)){if((H|0)>(f[E>>2]|0)){ka=H-(f[D>>2]|0)|0;la=52}}else{ka=(f[D>>2]|0)+H|0;la=52}if((la|0)==52){la=0;f[U>>2]=ka}O=O+1|0;if((O|0)>=(ia|0))break;else{P=ha;p=ia}}if((ia|0)>0){p=0;P=j;O=ia;U=ja;while(1){if((O|0)>0){H=0;do{V=f[P+(H<<2)>>2]|0;fa=f[z>>2]|0;if((V|0)>(fa|0))f[ha+(H<<2)>>2]=fa;else{fa=f[B>>2]|0;f[ha+(H<<2)>>2]=(V|0)<(fa|0)?fa:V}H=H+1|0;ma=f[y>>2]|0}while((H|0)<(ma|0));na=f[C>>2]|0;oa=ma}else{na=U;oa=O}H=(f[M+(p<<2)>>2]|0)-(f[ha+(p<<2)>>2]|0)|0;V=l+(p<<2)|0;f[V>>2]=H;if((H|0)>=(na|0)){if((H|0)>(f[E>>2]|0)){pa=H-(f[D>>2]|0)|0;la=65}}else{pa=(f[D>>2]|0)+H|0;la=65}if((la|0)==65){la=0;f[V>>2]=pa}p=p+1|0;if((p|0)>=(oa|0))break;else{P=ha;O=oa;U=na}}}}U=f[k>>2]|0;O=f[t>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))qa=(f[F>>2]|0)+U|0;else qa=U;else qa=U-(f[F>>2]|0)|0;f[k>>2]=qa;U=f[a>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))ra=(f[F>>2]|0)+U|0;else ra=U;else ra=U-(f[F>>2]|0)|0;f[a>>2]=ra;U=f[l>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))sa=(f[F>>2]|0)+U|0;else sa=U;else sa=U-(f[F>>2]|0)|0;f[l>>2]=sa;U=f[G>>2]|0;if((O|0)>=(U|0))if((U|0)<(0-O|0))ta=(f[F>>2]|0)+U|0;else ta=U;else ta=U-(f[F>>2]|0)|0;f[G>>2]=ta;if((((ra|0)>-1?ra:0-ra|0)+((qa|0)>-1?qa:0-qa|0)|0)<(((sa|0)>-1?sa:0-sa|0)+((ta|0)>-1?ta:0-ta|0)|0)){fj(g,0);ua=k}else{fj(g,1);ua=l}U=f[ua>>2]|0;if((U|0)<0)va=(f[F>>2]|0)+U|0;else va=U;U=c+(N<<2)|0;f[U>>2]=va;O=f[ua+4>>2]|0;if((O|0)<0)wa=(f[F>>2]|0)+O|0;else wa=O;f[U+4>>2]=wa;K=K+1|0;if((K|0)>=(r|0)){la=3;break}U=f[o>>2]|0;L=f[U>>2]|0;if((f[U+4>>2]|0)-L>>2>>>0<=K>>>0){J=U;la=4;break}}if((la|0)==3){u=e;return 1}else if((la|0)==4)aq(J);return 0}function Ub(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Oa,V=Oa,Y=Oa,Z=0,_=0,aa=0,ba=0;d=u;u=u+16|0;e=d;g=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[g>>2]=$(1.0);i=a+20|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[a+36>>2]=$(1.0);j=f[c+8>>2]|0;a:do if(j|0){k=a+4|0;l=a+12|0;m=a+8|0;o=j;p=j;while(1){q=o+8|0;r=b[q+11>>0]|0;s=r<<24>>24<0;t=s?f[q>>2]|0:q;v=s?f[o+12>>2]|0:r&255;if(v>>>0>3){r=t;s=v;w=v;while(1){x=X(h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24,1540483477)|0;s=(X(x>>>24^x,1540483477)|0)^(X(s,1540483477)|0);w=w+-4|0;if(w>>>0<=3)break;else r=r+4|0}r=v+-4|0;w=r&-4;y=r-w|0;z=t+(w+4)|0;A=s}else{y=v;z=t;A=v}switch(y|0){case 3:{B=h[z+2>>0]<<16^A;C=8;break}case 2:{B=A;C=8;break}case 1:{D=A;C=9;break}default:E=A}if((C|0)==8){C=0;D=h[z+1>>0]<<8^B;C=9}if((C|0)==9){C=0;E=X(D^h[z>>0],1540483477)|0}w=X(E>>>13^E,1540483477)|0;r=w>>>15^w;w=f[k>>2]|0;x=(w|0)==0;b:do if(!x){F=w+-1|0;G=(F&w|0)==0;if(!G)if(r>>>0>>0)H=r;else H=(r>>>0)%(w>>>0)|0;else H=r&F;I=f[(f[a>>2]|0)+(H<<2)>>2]|0;if((I|0)!=0?(J=f[I>>2]|0,(J|0)!=0):0){I=(v|0)==0;if(G){if(I){G=J;while(1){K=f[G+4>>2]|0;if(!((K|0)==(r|0)|(K&F|0)==(H|0))){L=H;C=50;break b}K=b[G+8+11>>0]|0;if(!((K<<24>>24<0?f[G+12>>2]|0:K&255)|0))break b;G=f[G>>2]|0;if(!G){L=H;C=50;break b}}}else M=J;while(1){G=f[M+4>>2]|0;if(!((G|0)==(r|0)|(G&F|0)==(H|0))){L=H;C=50;break b}G=M+8|0;K=b[G+11>>0]|0;N=K<<24>>24<0;O=K&255;do if(((N?f[M+12>>2]|0:O)|0)==(v|0)){K=f[G>>2]|0;if(N)if(!(Vk(K,t,v)|0))break b;else break;if((b[t>>0]|0)==(K&255)<<24>>24){K=G;P=O;Q=t;do{P=P+-1|0;K=K+1|0;if(!P)break b;Q=Q+1|0}while((b[K>>0]|0)==(b[Q>>0]|0))}}while(0);M=f[M>>2]|0;if(!M){L=H;C=50;break b}}}if(I){F=J;while(1){O=f[F+4>>2]|0;if((O|0)!=(r|0)){if(O>>>0>>0)R=O;else R=(O>>>0)%(w>>>0)|0;if((R|0)!=(H|0)){L=H;C=50;break b}}O=b[F+8+11>>0]|0;if(!((O<<24>>24<0?f[F+12>>2]|0:O&255)|0))break b;F=f[F>>2]|0;if(!F){L=H;C=50;break b}}}else S=J;while(1){F=f[S+4>>2]|0;if((F|0)!=(r|0)){if(F>>>0>>0)T=F;else T=(F>>>0)%(w>>>0)|0;if((T|0)!=(H|0)){L=H;C=50;break b}}F=S+8|0;I=b[F+11>>0]|0;O=I<<24>>24<0;G=I&255;do if(((O?f[S+12>>2]|0:G)|0)==(v|0)){I=f[F>>2]|0;if(O)if(!(Vk(I,t,v)|0))break b;else break;if((b[t>>0]|0)==(I&255)<<24>>24){I=F;N=G;Q=t;do{N=N+-1|0;I=I+1|0;if(!N)break b;Q=Q+1|0}while((b[I>>0]|0)==(b[Q>>0]|0))}}while(0);S=f[S>>2]|0;if(!S){L=H;C=50;break}}}else{L=H;C=50}}else{L=0;C=50}while(0);if((C|0)==50){C=0;Di(e,a,r,q);U=$(((f[l>>2]|0)+1|0)>>>0);V=$(w>>>0);Y=$(n[g>>2]);do if(x|$(Y*V)>>0<3|(w+-1&w|0)!=0)&1;v=~~$(W($(U/Y)))>>>0;ei(a,t>>>0>>0?v:t);t=f[k>>2]|0;v=t+-1|0;if(!(v&t)){Z=t;_=v&r;break}if(r>>>0>>0){Z=t;_=r}else{Z=t;_=(r>>>0)%(t>>>0)|0}}else{Z=w;_=L}while(0);w=f[(f[a>>2]|0)+(_<<2)>>2]|0;if(!w){f[f[e>>2]>>2]=f[m>>2];f[m>>2]=f[e>>2];f[(f[a>>2]|0)+(_<<2)>>2]=m;r=f[e>>2]|0;x=f[r>>2]|0;if(x|0){q=f[x+4>>2]|0;x=Z+-1|0;if(x&Z)if(q>>>0>>0)aa=q;else aa=(q>>>0)%(Z>>>0)|0;else aa=q&x;f[(f[a>>2]|0)+(aa<<2)>>2]=r}}else{f[f[e>>2]>>2]=f[w>>2];f[w>>2]=f[e>>2]}f[l>>2]=(f[l>>2]|0)+1}w=f[p>>2]|0;if(!w)break a;else{o=w;p=w}}}while(0);e=f[c+28>>2]|0;if(!e){u=d;return}else ba=e;do{e=ba;c=ln(40)|0;Ub(c,f[e+20>>2]|0);aa=Ec(i,e+8|0)|0;e=f[aa>>2]|0;f[aa>>2]=c;if(e|0){c=f[e+28>>2]|0;if(c|0){aa=c;do{c=aa;aa=f[aa>>2]|0;ri(c+8|0);Oq(c)}while((aa|0)!=0)}aa=e+20|0;c=f[aa>>2]|0;f[aa>>2]=0;if(c|0)Oq(c);c=f[e+8>>2]|0;if(c|0){aa=c;do{c=aa;aa=f[aa>>2]|0;a=c+8|0;Z=f[c+20>>2]|0;if(Z|0){_=c+24|0;if((f[_>>2]|0)!=(Z|0))f[_>>2]=Z;Oq(Z)}if((b[a+11>>0]|0)<0)Oq(f[a>>2]|0);Oq(c)}while((aa|0)!=0)}aa=f[e>>2]|0;f[e>>2]=0;if(aa|0)Oq(aa);Oq(e)}ba=f[ba>>2]|0}while((ba|0)!=0);u=d;return}function Vb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Oa,fa=Oa,ga=Oa,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+16|0;j=g+12|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)aq(k);q=o<<2;r=ln(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;sj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=r;z=0;A=0;B=r;C=r;D=0;E=r;while(1){r=s;F=f[r>>2]|0;G=f[r+4>>2]|0;r=q;H=un(f[r>>2]|0,f[r+4>>2]|0,y+z|0,0)|0;r=Vn(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+r|0;r=h[G>>0]|h[G+1>>0]<<8|h[G+2>>0]<<16|h[G+3>>0]<<24;f[j>>2]=r;G=r&65535;F=r>>>16;H=F&65535;J=(r&65535^318)+239^F;F=(D|0)==0;a:do if(!F){K=D+-1|0;L=(K&D|0)==0;if(!L)if(J>>>0>>0)M=J;else M=(J>>>0)%(D>>>0)|0;else M=J&K;N=f[(f[i>>2]|0)+(M<<2)>>2]|0;do if(N|0?(O=f[N>>2]|0,O|0):0){b:do if(L){P=O;while(1){Q=f[P+4>>2]|0;R=(Q|0)==(J|0);if(!(R|(Q&K|0)==(M|0))){S=27;break b}if((R?(R=P+8|0,(d[R>>1]|0)==G<<16>>16):0)?(d[R+2>>1]|0)==H<<16>>16:0){T=P;S=26;break b}P=f[P>>2]|0;if(!P){S=27;break}}}else{P=O;while(1){R=f[P+4>>2]|0;if((R|0)==(J|0)){Q=P+8|0;if((d[Q>>1]|0)==G<<16>>16?(d[Q+2>>1]|0)==H<<16>>16:0){T=P;S=26;break b}}else{if(R>>>0>>0)U=R;else U=(R>>>0)%(D>>>0)|0;if((U|0)!=(M|0)){S=27;break b}}P=f[P>>2]|0;if(!P){S=27;break}}}while(0);if((S|0)==26){S=0;f[E+(z<<2)>>2]=f[T+12>>2];V=e;X=A;Y=C;Z=B;_=E;break a}else if((S|0)==27){S=0;if(F){aa=0;S=46;break a}else break}}while(0);K=D+-1|0;L=(K&D|0)==0;if(!L)if(J>>>0>>0)ba=J;else ba=(J>>>0)%(D>>>0)|0;else ba=K&J;N=f[(f[i>>2]|0)+(ba<<2)>>2]|0;if((N|0)!=0?(O=f[N>>2]|0,(O|0)!=0):0){if(L){L=O;while(1){N=f[L+4>>2]|0;if(!((N|0)==(J|0)|(N&K|0)==(ba|0))){aa=ba;S=46;break a}N=L+8|0;if((d[N>>1]|0)==G<<16>>16?(d[N+2>>1]|0)==H<<16>>16:0){S=61;break a}L=f[L>>2]|0;if(!L){aa=ba;S=46;break a}}}else ca=O;while(1){L=f[ca+4>>2]|0;if((L|0)!=(J|0)){if(L>>>0>>0)da=L;else da=(L>>>0)%(D>>>0)|0;if((da|0)!=(ba|0)){aa=ba;S=46;break a}}L=ca+8|0;if((d[L>>1]|0)==G<<16>>16?(d[L+2>>1]|0)==H<<16>>16:0){S=61;break a}ca=f[ca>>2]|0;if(!ca){aa=ba;S=46;break}}}else{aa=ba;S=46}}else{aa=0;S=46}while(0);if((S|0)==46){S=0;H=ln(16)|0;G=H+8|0;d[G>>1]=r;d[G+2>>1]=r>>>16;f[H+12>>2]=A;f[H+4>>2]=J;f[H>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(D>>>0);ga=$(n[l>>2]);do if(F|$(ga*fa)>>0<3|(D+-1&D|0)!=0)&1;O=~~$(W($(ea/ga)))>>>0;Uh(i,G>>>0>>0?O:G);G=f[o>>2]|0;O=G+-1|0;if(!(O&G)){ha=G;ia=O&J;break}if(J>>>0>>0){ha=G;ia=J}else{ha=G;ia=(J>>>0)%(G>>>0)|0}}else{ha=D;ia=aa}while(0);J=(f[i>>2]|0)+(ia<<2)|0;F=f[J>>2]|0;if(!F){f[H>>2]=f[v>>2];f[v>>2]=H;f[J>>2]=v;J=f[H>>2]|0;if(J|0){r=f[J+4>>2]|0;J=ha+-1|0;if(J&ha)if(r>>>0>>0)ja=r;else ja=(r>>>0)%(ha>>>0)|0;else ja=r&J;ka=(f[i>>2]|0)+(ja<<2)|0;S=59}}else{f[H>>2]=f[F>>2];ka=F;S=59}if((S|0)==59){S=0;f[ka>>2]=H}f[t>>2]=(f[t>>2]|0)+1;S=61}if((S|0)==61){S=0;F=w;J=f[F>>2]|0;r=un(J|0,f[F+4>>2]|0,A|0,0)|0;kh((f[f[x>>2]>>2]|0)+r|0,j|0,J|0)|0;J=f[k>>2]|0;f[J+(z<<2)>>2]=A;V=J;X=A+1|0;Y=J;Z=J;_=J}J=z+1|0;la=f[m>>2]|0;if(J>>>0>=la>>>0)break;e=V;z=J;A=X;B=Z;C=Y;D=f[o>>2]|0;E=_}if((X|0)==(la|0))ma=Z;else{Z=a+84|0;if(!(b[Z>>0]|0)){_=f[a+72>>2]|0;E=f[a+68>>2]|0;o=E;if((_|0)==(E|0))na=V;else{D=_-E>>2;E=0;do{_=o+(E<<2)|0;f[_>>2]=f[Y+(f[_>>2]<<2)>>2];E=E+1|0}while(E>>>0>>0);na=V}}else{b[Z>>0]=0;Z=a+68|0;V=a+72|0;D=f[V>>2]|0;E=f[Z>>2]|0;Y=D-E>>2;o=E;E=D;if(la>>>0<=Y>>>0)if(la>>>0>>0?(D=o+(la<<2)|0,(D|0)!=(E|0)):0){f[V>>2]=E+(~((E+-4-D|0)>>>2)<<2);oa=la}else oa=la;else{Ch(Z,la-Y|0,1220);oa=f[m>>2]|0}Y=f[k>>2]|0;if(!oa)na=Y;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[Y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=Y}}f[m>>2]=X;ma=na}if(!ma)pa=X;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);Oq(ma);pa=X}}else pa=0;X=f[i+8>>2]|0;if(X|0){ma=X;do{X=ma;ma=f[ma>>2]|0;Oq(X)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}Oq(ma);u=g;return pa|0}function Wb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=Oa,da=Oa,ea=Oa,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;e=u;u=u+48|0;g=e+20|0;i=e;j=e+8|0;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)aq(j);p=m<<2;q=ln(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;sj(q|0,0,p|0)|0;f[o>>2]=r;r=c+48|0;p=c+40|0;m=g+4|0;s=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=f[d>>2]|0;d=q;y=0;z=0;A=q;B=q;C=q;q=0;while(1){D=r;E=f[D>>2]|0;F=f[D+4>>2]|0;D=p;G=un(f[D>>2]|0,f[D+4>>2]|0,x+y|0,0)|0;D=Vn(G|0,I|0,E|0,F|0)|0;F=(f[f[c>>2]>>2]|0)+D|0;D=F;E=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;D=F+4|0;F=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;D=i;f[D>>2]=E;f[D+4>>2]=F;D=(E^318)+239^F;G=(q|0)==0;a:do if(!G){H=q+-1|0;J=(H&q|0)==0;if(!J)if(D>>>0>>0)K=D;else K=(D>>>0)%(q>>>0)|0;else K=D&H;L=f[(f[g>>2]|0)+(K<<2)>>2]|0;do if(L|0?(M=f[L>>2]|0,M|0):0){b:do if(J){N=M;while(1){O=f[N+4>>2]|0;P=(O|0)==(D|0);if(!(P|(O&H|0)==(K|0))){Q=27;break b}if((P?(f[N+8>>2]|0)==(E|0):0)?(f[N+12>>2]|0)==(F|0):0){R=N;Q=26;break b}N=f[N>>2]|0;if(!N){Q=27;break}}}else{N=M;while(1){P=f[N+4>>2]|0;if((P|0)==(D|0)){if((f[N+8>>2]|0)==(E|0)?(f[N+12>>2]|0)==(F|0):0){R=N;Q=26;break b}}else{if(P>>>0>>0)S=P;else S=(P>>>0)%(q>>>0)|0;if((S|0)!=(K|0)){Q=27;break b}}N=f[N>>2]|0;if(!N){Q=27;break}}}while(0);if((Q|0)==26){Q=0;f[A+(y<<2)>>2]=f[R+16>>2];T=d;U=z;V=C;X=B;Y=A;break a}else if((Q|0)==27){Q=0;if(G){Z=0;Q=46;break a}else break}}while(0);H=q+-1|0;J=(H&q|0)==0;if(!J)if(D>>>0>>0)_=D;else _=(D>>>0)%(q>>>0)|0;else _=H&D;L=f[(f[g>>2]|0)+(_<<2)>>2]|0;if((L|0)!=0?(M=f[L>>2]|0,(M|0)!=0):0){if(J){J=M;while(1){L=f[J+4>>2]|0;if(!((L|0)==(D|0)|(L&H|0)==(_|0))){Z=_;Q=46;break a}if((f[J+8>>2]|0)==(E|0)?(f[J+12>>2]|0)==(F|0):0){Q=61;break a}J=f[J>>2]|0;if(!J){Z=_;Q=46;break a}}}else aa=M;while(1){J=f[aa+4>>2]|0;if((J|0)!=(D|0)){if(J>>>0>>0)ba=J;else ba=(J>>>0)%(q>>>0)|0;if((ba|0)!=(_|0)){Z=_;Q=46;break a}}if((f[aa+8>>2]|0)==(E|0)?(f[aa+12>>2]|0)==(F|0):0){Q=61;break a}aa=f[aa>>2]|0;if(!aa){Z=_;Q=46;break}}}else{Z=_;Q=46}}else{Z=0;Q=46}while(0);if((Q|0)==46){Q=0;M=ln(20)|0;J=M+8|0;f[J>>2]=E;f[J+4>>2]=F;f[M+16>>2]=z;f[M+4>>2]=D;f[M>>2]=0;ca=$(((f[s>>2]|0)+1|0)>>>0);da=$(q>>>0);ea=$(n[k>>2]);do if(G|$(ea*da)>>0<3|(q+-1&q|0)!=0)&1;H=~~$(W($(ca/ea)))>>>0;Yh(g,J>>>0>>0?H:J);J=f[m>>2]|0;H=J+-1|0;if(!(H&J)){fa=J;ga=H&D;break}if(D>>>0>>0){fa=J;ga=D}else{fa=J;ga=(D>>>0)%(J>>>0)|0}}else{fa=q;ga=Z}while(0);D=(f[g>>2]|0)+(ga<<2)|0;G=f[D>>2]|0;if(!G){f[M>>2]=f[t>>2];f[t>>2]=M;f[D>>2]=t;D=f[M>>2]|0;if(D|0){F=f[D+4>>2]|0;D=fa+-1|0;if(D&fa)if(F>>>0>>0)ha=F;else ha=(F>>>0)%(fa>>>0)|0;else ha=F&D;ia=(f[g>>2]|0)+(ha<<2)|0;Q=59}}else{f[M>>2]=f[G>>2];ia=G;Q=59}if((Q|0)==59){Q=0;f[ia>>2]=M}f[s>>2]=(f[s>>2]|0)+1;Q=61}if((Q|0)==61){Q=0;G=v;D=f[G>>2]|0;F=un(D|0,f[G+4>>2]|0,z|0,0)|0;kh((f[f[w>>2]>>2]|0)+F|0,i|0,D|0)|0;D=f[j>>2]|0;f[D+(y<<2)>>2]=z;T=D;U=z+1|0;V=D;X=D;Y=D}D=y+1|0;ja=f[l>>2]|0;if(D>>>0>=ja>>>0)break;d=T;y=D;z=U;A=Y;B=X;C=V;q=f[m>>2]|0}if((U|0)==(ja|0))ka=X;else{X=a+84|0;if(!(b[X>>0]|0)){m=f[a+72>>2]|0;q=f[a+68>>2]|0;C=q;if((m|0)==(q|0))la=T;else{B=m-q>>2;q=0;do{m=C+(q<<2)|0;f[m>>2]=f[V+(f[m>>2]<<2)>>2];q=q+1|0}while(q>>>0>>0);la=T}}else{b[X>>0]=0;X=a+68|0;T=a+72|0;B=f[T>>2]|0;q=f[X>>2]|0;V=B-q>>2;C=q;q=B;if(ja>>>0<=V>>>0)if(ja>>>0>>0?(B=C+(ja<<2)|0,(B|0)!=(q|0)):0){f[T>>2]=q+(~((q+-4-B|0)>>>2)<<2);ma=ja}else ma=ja;else{Ch(X,ja-V|0,1220);ma=f[l>>2]|0}V=f[j>>2]|0;if(!ma)la=V;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[V+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);la=V}}f[l>>2]=U;ka=la}if(!ka)na=U;else{la=f[o>>2]|0;if((la|0)!=(ka|0))f[o>>2]=la+(~((la+-4-ka|0)>>>2)<<2);Oq(ka);na=U}}else na=0;U=f[g+8>>2]|0;if(U|0){ka=U;do{U=ka;ka=f[ka>>2]|0;Oq(U)}while((ka|0)!=0)}ka=f[g>>2]|0;f[g>>2]=0;if(!ka){u=e;return na|0}Oq(ka);u=e;return na|0}function Xb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Oa,fa=Oa,ga=Oa,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+12|0;j=g+32|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)aq(k);q=o<<2;r=ln(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;sj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=r;z=0;A=0;B=r;C=r;D=0;E=r;while(1){r=s;F=f[r>>2]|0;G=f[r+4>>2]|0;r=q;H=un(f[r>>2]|0,f[r+4>>2]|0,y+z|0,0)|0;r=Vn(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+r|0;r=h[G>>0]|h[G+1>>0]<<8;d[j>>1]=r;G=r&255;F=(r&65535)>>>8;H=F&255;J=((r&255^318)+239<<16>>16^F)&65535;F=(D|0)==0;a:do if(!F){K=D+-1|0;L=(K&D|0)==0;if(!L)if(D>>>0>J>>>0)M=J;else M=(J>>>0)%(D>>>0)|0;else M=K&J;N=f[(f[i>>2]|0)+(M<<2)>>2]|0;do if(N|0?(O=f[N>>2]|0,O|0):0){b:do if(L){P=O;while(1){Q=f[P+4>>2]|0;R=(Q|0)==(J|0);if(!(R|(Q&K|0)==(M|0))){S=27;break b}if((R?(R=P+8|0,(b[R>>0]|0)==G<<24>>24):0)?(b[R+1>>0]|0)==H<<24>>24:0){T=P;S=26;break b}P=f[P>>2]|0;if(!P){S=27;break}}}else{P=O;while(1){R=f[P+4>>2]|0;if((R|0)==(J|0)){Q=P+8|0;if((b[Q>>0]|0)==G<<24>>24?(b[Q+1>>0]|0)==H<<24>>24:0){T=P;S=26;break b}}else{if(R>>>0>>0)U=R;else U=(R>>>0)%(D>>>0)|0;if((U|0)!=(M|0)){S=27;break b}}P=f[P>>2]|0;if(!P){S=27;break}}}while(0);if((S|0)==26){S=0;f[E+(z<<2)>>2]=f[T+12>>2];V=e;X=A;Y=C;Z=B;_=E;break a}else if((S|0)==27){S=0;if(F){aa=0;S=46;break a}else break}}while(0);K=D+-1|0;L=(K&D|0)==0;if(!L)if(D>>>0>J>>>0)ba=J;else ba=(J>>>0)%(D>>>0)|0;else ba=K&J;N=f[(f[i>>2]|0)+(ba<<2)>>2]|0;if((N|0)!=0?(O=f[N>>2]|0,(O|0)!=0):0){if(L){L=O;while(1){N=f[L+4>>2]|0;if(!((N|0)==(J|0)|(N&K|0)==(ba|0))){aa=ba;S=46;break a}N=L+8|0;if((b[N>>0]|0)==G<<24>>24?(b[N+1>>0]|0)==H<<24>>24:0){S=61;break a}L=f[L>>2]|0;if(!L){aa=ba;S=46;break a}}}else ca=O;while(1){L=f[ca+4>>2]|0;if((L|0)!=(J|0)){if(L>>>0>>0)da=L;else da=(L>>>0)%(D>>>0)|0;if((da|0)!=(ba|0)){aa=ba;S=46;break a}}L=ca+8|0;if((b[L>>0]|0)==G<<24>>24?(b[L+1>>0]|0)==H<<24>>24:0){S=61;break a}ca=f[ca>>2]|0;if(!ca){aa=ba;S=46;break}}}else{aa=ba;S=46}}else{aa=0;S=46}while(0);if((S|0)==46){S=0;H=ln(16)|0;G=H+8|0;b[G>>0]=r;b[G+1>>0]=r>>8;f[H+12>>2]=A;f[H+4>>2]=J;f[H>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(D>>>0);ga=$(n[l>>2]);do if(F|$(ga*fa)>>0<3|(D+-1&D|0)!=0)&1;O=~~$(W($(ea/ga)))>>>0;$h(i,G>>>0>>0?O:G);G=f[o>>2]|0;O=G+-1|0;if(!(O&G)){ha=G;ia=O&J;break}if(G>>>0>J>>>0){ha=G;ia=J}else{ha=G;ia=(J>>>0)%(G>>>0)|0}}else{ha=D;ia=aa}while(0);J=(f[i>>2]|0)+(ia<<2)|0;F=f[J>>2]|0;if(!F){f[H>>2]=f[v>>2];f[v>>2]=H;f[J>>2]=v;J=f[H>>2]|0;if(J|0){r=f[J+4>>2]|0;J=ha+-1|0;if(J&ha)if(r>>>0>>0)ja=r;else ja=(r>>>0)%(ha>>>0)|0;else ja=r&J;ka=(f[i>>2]|0)+(ja<<2)|0;S=59}}else{f[H>>2]=f[F>>2];ka=F;S=59}if((S|0)==59){S=0;f[ka>>2]=H}f[t>>2]=(f[t>>2]|0)+1;S=61}if((S|0)==61){S=0;F=w;J=f[F>>2]|0;r=un(J|0,f[F+4>>2]|0,A|0,0)|0;kh((f[f[x>>2]>>2]|0)+r|0,j|0,J|0)|0;J=f[k>>2]|0;f[J+(z<<2)>>2]=A;V=J;X=A+1|0;Y=J;Z=J;_=J}J=z+1|0;la=f[m>>2]|0;if(J>>>0>=la>>>0)break;e=V;z=J;A=X;B=Z;C=Y;D=f[o>>2]|0;E=_}if((X|0)==(la|0))ma=Z;else{Z=a+84|0;if(!(b[Z>>0]|0)){_=f[a+72>>2]|0;E=f[a+68>>2]|0;o=E;if((_|0)==(E|0))na=V;else{D=_-E>>2;E=0;do{_=o+(E<<2)|0;f[_>>2]=f[Y+(f[_>>2]<<2)>>2];E=E+1|0}while(E>>>0>>0);na=V}}else{b[Z>>0]=0;Z=a+68|0;V=a+72|0;D=f[V>>2]|0;E=f[Z>>2]|0;Y=D-E>>2;o=E;E=D;if(la>>>0<=Y>>>0)if(la>>>0>>0?(D=o+(la<<2)|0,(D|0)!=(E|0)):0){f[V>>2]=E+(~((E+-4-D|0)>>>2)<<2);oa=la}else oa=la;else{Ch(Z,la-Y|0,1220);oa=f[m>>2]|0}Y=f[k>>2]|0;if(!oa)na=Y;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[Y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=Y}}f[m>>2]=X;ma=na}if(!ma)pa=X;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);Oq(ma);pa=X}}else pa=0;X=f[i+8>>2]|0;if(X|0){ma=X;do{X=ma;ma=f[ma>>2]|0;Oq(X)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}Oq(ma);u=g;return pa|0}function Yb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;c=u;u=u+16|0;d=c+8|0;e=c;g=c+4|0;h=a+16|0;i=f[h>>2]|0;j=a+20|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k+(~((k+-4-i|0)>>>2)<<2)|0;f[j>>2]=m;l=m}m=a+24|0;if((l|0)==(f[m>>2]|0)){Ri(h,b);n=f[h>>2]|0;o=f[j>>2]|0}else{f[l>>2]=f[b>>2];k=l+4|0;f[j>>2]=k;n=i;o=k}k=f[a+8>>2]|0;i=(f[k+100>>2]|0)-(f[k+96>>2]|0)|0;k=(i|0)/12|0;if((n|0)==(o|0)){u=c;return 1}n=a+28|0;l=(i|0)>0;i=a+164|0;p=a+12|0;q=a+76|0;r=a+80|0;s=a+72|0;t=a+200|0;v=a+320|0;w=a+152|0;x=a+84|0;y=a+324|0;z=a+292|0;A=a+304|0;B=a+316|0;C=a+328|0;D=a+336|0;E=a+332|0;F=a+168|0;G=a+140|0;H=a+120|0;I=o;do{o=f[I+-4>>2]|0;f[b>>2]=o;a:do if((o|0)!=-1?(J=(o>>>0)/3|0,K=f[n>>2]|0,(f[K+(J>>>5<<2)>>2]&1<<(J&31)|0)==0):0){if(l){J=0;L=K;b:while(1){K=J+1|0;f[i>>2]=(f[i>>2]|0)+1;M=f[b>>2]|0;N=(M|0)==-1?-1:(M>>>0)/3|0;M=L+(N>>>5<<2)|0;f[M>>2]=1<<(N&31)|f[M>>2];M=f[q>>2]|0;if((M|0)==(f[r>>2]|0))Ri(s,b);else{f[M>>2]=f[b>>2];f[q>>2]=M+4}f[v>>2]=f[b>>2];M=f[b>>2]|0;if((M|0)==-1)O=-1;else O=f[(f[f[p>>2]>>2]|0)+(M<<2)>>2]|0;P=(f[(f[w>>2]|0)+(O<<2)>>2]|0)!=-1;Q=(f[x>>2]|0)+(O>>>5<<2)|0;R=1<<(O&31);S=f[Q>>2]|0;do if(!(S&R)){f[Q>>2]=S|R;if(P){T=f[b>>2]|0;U=38;break}f[y>>2]=(f[y>>2]|0)+1;V=f[v>>2]|0;W=V+1|0;do if((V|0)!=-1){X=((W>>>0)%3|0|0)==0?V+-2|0:W;if(!((V>>>0)%3|0)){Y=V+2|0;Z=X;break}else{Y=V+-1|0;Z=X;break}}else{Y=-1;Z=-1}while(0);V=f[z>>2]|0;W=f[A>>2]|0;X=W+(f[V+(Z<<2)>>2]<<2)|0;_=f[X>>2]|0;f[X>>2]=_+-1;X=W+(f[V+(Y<<2)>>2]<<2)|0;f[X>>2]=(f[X>>2]|0)+-1;X=f[B>>2]|0;if((X|0)!=-1){V=f[C>>2]|0;if((_|0)<(V|0))$=V;else{W=f[E>>2]|0;$=(_|0)>(W|0)?W:_}_=$-V|0;V=f[D>>2]|0;W=f[3724+(X<<2)>>2]|0;f[d>>2]=W;X=V+(_*12|0)+4|0;aa=f[X>>2]|0;if(aa>>>0<(f[V+(_*12|0)+8>>2]|0)>>>0){f[aa>>2]=W;f[X>>2]=aa+4}else Ri(V+(_*12|0)|0,d)}f[B>>2]=0;_=f[b>>2]|0;V=_+1|0;if((_|0)!=-1?(aa=((V>>>0)%3|0|0)==0?_+-2|0:V,(aa|0)!=-1):0)ba=f[(f[(f[p>>2]|0)+12>>2]|0)+(aa<<2)>>2]|0;else ba=-1;f[b>>2]=ba}else{T=M;U=38}while(0);if((U|0)==38){U=0;M=T+1|0;if((T|0)==-1){U=43;break}R=((M>>>0)%3|0|0)==0?T+-2|0:M;if((R|0)==-1)ca=-1;else ca=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;f[e>>2]=ca;R=(((T>>>0)%3|0|0)==0?2:-1)+T|0;if((R|0)==-1)da=-1;else da=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;R=(ca|0)==-1;S=R?-1:(ca>>>0)/3|0;ea=(da|0)==-1;fa=ea?-1:(da>>>0)/3|0;Q=((M>>>0)%3|0|0)==0?T+-2|0:M;if(((Q|0)!=-1?(M=f[(f[p>>2]|0)+12>>2]|0,aa=f[M+(Q<<2)>>2]|0,(aa|0)!=-1):0)?(Q=(aa>>>0)/3|0,aa=f[n>>2]|0,(f[aa+(Q>>>5<<2)>>2]&1<<(Q&31)|0)==0):0){Q=(((T>>>0)%3|0|0)==0?2:-1)+T|0;do if((Q|0)!=-1){V=f[M+(Q<<2)>>2]|0;if((V|0)==-1)break;_=(V>>>0)/3|0;if(!(f[aa+(_>>>5<<2)>>2]&1<<(_&31))){U=62;break b}}while(0);if(!ea)xf(a,f[i>>2]|0,N,0,fa);nd(t,3);ga=f[e>>2]|0}else{if(!R){xf(a,f[i>>2]|0,N,1,S);aa=f[b>>2]|0;if((aa|0)==-1){U=52;break}else ha=aa}else ha=T;aa=(((ha>>>0)%3|0|0)==0?2:-1)+ha|0;if((aa|0)==-1){U=52;break}Q=f[(f[(f[p>>2]|0)+12>>2]|0)+(aa<<2)>>2]|0;if((Q|0)==-1){U=52;break}aa=(Q>>>0)/3|0;if(f[(f[n>>2]|0)+(aa>>>5<<2)>>2]&1<<(aa&31)|0){U=52;break}nd(t,5);ga=da}f[b>>2]=ga}if((K|0)>=(k|0))break a;J=K;L=f[n>>2]|0}do if((U|0)==43){U=0;f[e>>2]=-1;U=54}else if((U|0)==52){U=0;if(ea)U=54;else{xf(a,f[i>>2]|0,N,0,fa);U=54}}else if((U|0)==62){U=0;nd(t,1);f[F>>2]=(f[F>>2]|0)+1;if(P?(L=f[(f[w>>2]|0)+(O<<2)>>2]|0,(1<<(L&31)&f[(f[G>>2]|0)+(L>>>5<<2)>>2]|0)==0):0){f[g>>2]=f[b>>2];f[d>>2]=f[g>>2];Pe(a,d,0)|0}L=f[i>>2]|0;f[d>>2]=N;J=je(H,d)|0;f[J>>2]=L;L=f[j>>2]|0;f[L+-4>>2]=da;if((L|0)==(f[m>>2]|0)){Ri(h,e);break}else{f[L>>2]=f[e>>2];f[j>>2]=L+4;break}}while(0);if((U|0)==54){U=0;nd(t,7);f[j>>2]=(f[j>>2]|0)+-4}}}else U=11;while(0);if((U|0)==11){U=0;f[j>>2]=I+-4}I=f[j>>2]|0}while((f[h>>2]|0)!=(I|0));u=c;return 1}function Zb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){u=c;return}h=(g>>>0)/3|0;i=a+12|0;if(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0){u=c;return}h=a+56|0;j=f[h>>2]|0;k=a+60|0;l=f[k>>2]|0;if((l|0)==(j|0))m=j;else{n=l+(~((l+-4-j|0)>>>2)<<2)|0;f[k>>2]=n;m=n}n=a+64|0;if((m|0)==(f[n>>2]|0))Ri(h,b);else{f[m>>2]=g;f[k>>2]=m+4}m=f[a>>2]|0;g=f[b>>2]|0;j=g+1|0;do if((g|0)!=-1){l=f[m+28>>2]|0;o=f[l+((((j>>>0)%3|0|0)==0?g+-2|0:j)<<2)>>2]|0;if(!((g>>>0)%3|0)){p=o;q=g+2|0;r=l;break}else{p=o;q=g+-1|0;r=l;break}}else{l=f[m+28>>2]|0;p=f[l+-4>>2]|0;q=-1;r=l}while(0);m=f[r+(q<<2)>>2]|0;q=a+24|0;r=f[q>>2]|0;g=r+(p>>>5<<2)|0;j=1<<(p&31);l=f[g>>2]|0;if(!(l&j)){f[g>>2]=l|j;j=f[b>>2]|0;l=j+1|0;if((j|0)==-1)s=-1;else s=((l>>>0)%3|0|0)==0?j+-2|0:l;f[e>>2]=s;l=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((s>>>0)/3|0)*12|0)+(((s>>>0)%3|0)<<2)>>2]|0;s=f[a+48>>2]|0;f[d>>2]=l;j=f[s+4>>2]|0;s=j+4|0;g=f[s>>2]|0;if((g|0)==(f[j+8>>2]|0))Ri(j,d);else{f[g>>2]=l;f[s>>2]=g+4}g=a+40|0;s=f[g>>2]|0;l=s+4|0;j=f[l>>2]|0;if((j|0)==(f[s+8>>2]|0)){Ri(s,e);t=f[g>>2]|0}else{f[j>>2]=f[e>>2];f[l>>2]=j+4;t=s}s=t+24|0;f[(f[t+12>>2]|0)+(p<<2)>>2]=f[s>>2];f[s>>2]=(f[s>>2]|0)+1;v=f[q>>2]|0}else v=r;r=v+(m>>>5<<2)|0;v=1<<(m&31);s=f[r>>2]|0;if(!(s&v)){f[r>>2]=s|v;v=f[b>>2]|0;do if((v|0)!=-1)if(!((v>>>0)%3|0)){w=v+2|0;break}else{w=v+-1|0;break}else w=-1;while(0);f[e>>2]=w;v=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w>>>0)%3|0)<<2)>>2]|0;w=f[a+48>>2]|0;f[d>>2]=v;s=f[w+4>>2]|0;w=s+4|0;r=f[w>>2]|0;if((r|0)==(f[s+8>>2]|0))Ri(s,d);else{f[r>>2]=v;f[w>>2]=r+4}r=a+40|0;w=f[r>>2]|0;v=w+4|0;s=f[v>>2]|0;if((s|0)==(f[w+8>>2]|0)){Ri(w,e);x=f[r>>2]|0}else{f[s>>2]=f[e>>2];f[v>>2]=s+4;x=w}w=x+24|0;f[(f[x+12>>2]|0)+(m<<2)>>2]=f[w>>2];f[w>>2]=(f[w>>2]|0)+1}w=f[h>>2]|0;m=f[k>>2]|0;if((w|0)==(m|0)){u=c;return}x=a+44|0;s=a+48|0;v=a+40|0;r=m;m=w;while(1){w=f[r+-4>>2]|0;f[b>>2]=w;p=(w>>>0)/3|0;if((w|0)!=-1?(w=f[i>>2]|0,(f[w+(p>>>5<<2)>>2]&1<<(p&31)|0)==0):0){t=p;p=w;w=f[a>>2]|0;a:while(1){j=p+(t>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(t&31);j=f[b>>2]|0;l=f[(f[w+28>>2]|0)+(j<<2)>>2]|0;g=(f[q>>2]|0)+(l>>>5<<2)|0;o=1<<(l&31);y=f[g>>2]|0;if(!(o&y)){z=f[(f[w+40>>2]|0)+(l<<2)>>2]|0;if((z|0)==-1)A=1;else{B=f[(f[f[w+64>>2]>>2]|0)+(z<<2)>>2]|0;A=(1<<(B&31)&f[(f[w+12>>2]|0)+(B>>>5<<2)>>2]|0)!=0}f[g>>2]=y|o;o=f[b>>2]|0;f[e>>2]=o;y=f[(f[(f[x>>2]|0)+96>>2]|0)+(((o>>>0)/3|0)*12|0)+(((o>>>0)%3|0)<<2)>>2]|0;o=f[s>>2]|0;f[d>>2]=y;g=f[o+4>>2]|0;o=g+4|0;B=f[o>>2]|0;if((B|0)==(f[g+8>>2]|0))Ri(g,d);else{f[B>>2]=y;f[o>>2]=B+4}B=f[v>>2]|0;o=B+4|0;y=f[o>>2]|0;if((y|0)==(f[B+8>>2]|0)){Ri(B,e);C=f[v>>2]|0}else{f[y>>2]=f[e>>2];f[o>>2]=y+4;C=B}B=C+24|0;f[(f[C+12>>2]|0)+(l<<2)>>2]=f[B>>2];f[B>>2]=(f[B>>2]|0)+1;B=f[a>>2]|0;l=f[b>>2]|0;if(A){D=l;E=B;F=57}else{y=l+1|0;do if((l|0)==-1)G=-1;else{o=((y>>>0)%3|0|0)==0?l+-2|0:y;if((o|0)==-1){G=-1;break}if(f[(f[B>>2]|0)+(o>>>5<<2)>>2]&1<<(o&31)|0){G=-1;break}G=f[(f[(f[B+64>>2]|0)+12>>2]|0)+(o<<2)>>2]|0}while(0);f[b>>2]=G;H=(G>>>0)/3|0;I=B}}else{D=j;E=w;F=57}if((F|0)==57){F=0;y=D+1|0;if((D|0)==-1){F=58;break}l=((y>>>0)%3|0|0)==0?D+-2|0:y;if((l|0)!=-1?(f[(f[E>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)|0)==0:0)J=f[(f[(f[E+64>>2]|0)+12>>2]|0)+(l<<2)>>2]|0;else J=-1;f[d>>2]=J;l=(((D>>>0)%3|0|0)==0?2:-1)+D|0;if((l|0)!=-1?(f[(f[E>>2]|0)+(l>>>5<<2)>>2]&1<<(l&31)|0)==0:0)K=f[(f[(f[E+64>>2]|0)+12>>2]|0)+(l<<2)>>2]|0;else K=-1;l=(J|0)==-1;y=(J>>>0)/3|0;o=l?-1:y;g=(K|0)==-1;z=(K>>>0)/3|0;L=g?-1:z;do if(!l){M=f[i>>2]|0;if(f[M+(o>>>5<<2)>>2]&1<<(o&31)|0){F=67;break}if(g){N=J;O=y;break}if(!(f[M+(L>>>5<<2)>>2]&1<<(L&31))){F=72;break a}else{N=J;O=y}}else F=67;while(0);if((F|0)==67){F=0;if(g){F=69;break}if(!(f[(f[i>>2]|0)+(L>>>5<<2)>>2]&1<<(L&31))){N=K;O=z}else{F=69;break}}f[b>>2]=N;H=O;I=E}t=H;p=f[i>>2]|0;w=I}do if((F|0)==58){F=0;f[d>>2]=-1;F=69}else if((F|0)==72){F=0;w=f[k>>2]|0;f[w+-4>>2]=K;if((w|0)==(f[n>>2]|0)){Ri(h,d);P=f[k>>2]|0;break}else{f[w>>2]=f[d>>2];p=w+4|0;f[k>>2]=p;P=p;break}}while(0);if((F|0)==69){F=0;p=(f[k>>2]|0)+-4|0;f[k>>2]=p;P=p}Q=f[h>>2]|0;R=P}else{p=r+-4|0;f[k>>2]=p;Q=m;R=p}if((Q|0)==(R|0))break;else{r=R;m=Q}}u=c;return}function _b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=Oa,K=Oa,L=Oa,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Id(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];lf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;Fi(j,8);l=d;d=l;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=l+4|0;l=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=f[j>>2]|0;o=d;b[o>>0]=m;b[o+1>>0]=m>>8;b[o+2>>0]=m>>16;b[o+3>>0]=m>>24;m=d+4|0;b[m>>0]=l;b[m+1>>0]=l>>8;b[m+2>>0]=l>>16;b[m+3>>0]=l>>24;pj(i,c);c=i+12|0;f[c>>2]=0;l=i+16|0;f[l>>2]=0;f[i+20>>2]=0;m=f[k>>2]|0;d=f[j>>2]|0;o=m-d|0;if(!o){p=d;q=m;r=0}else{Fi(c,o);p=f[j>>2]|0;q=f[k>>2]|0;r=f[c>>2]|0}kh(r|0,p|0,q-p|0)|0;p=i+11|0;q=b[p>>0]|0;r=q<<24>>24<0;c=r?f[i>>2]|0:i;o=r?f[i+4>>2]|0:q&255;if(o>>>0>3){q=c;r=o;m=o;while(1){d=X(h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,1540483477)|0;r=(X(d>>>24^d,1540483477)|0)^(X(r,1540483477)|0);m=m+-4|0;if(m>>>0<=3)break;else q=q+4|0}q=o+-4|0;m=q&-4;s=q-m|0;t=c+(m+4)|0;v=r}else{s=o;t=c;v=o}switch(s|0){case 3:{w=h[t+2>>0]<<16^v;x=10;break}case 2:{w=v;x=10;break}case 1:{y=v;x=11;break}default:z=v}if((x|0)==10){y=h[t+1>>0]<<8^w;x=11}if((x|0)==11)z=X(y^h[t>>0],1540483477)|0;t=X(z>>>13^z,1540483477)|0;z=t>>>15^t;t=a+4|0;y=f[t>>2]|0;w=(y|0)==0;a:do if(!w){v=y+-1|0;s=(v&y|0)==0;if(!s)if(z>>>0>>0)A=z;else A=(z>>>0)%(y>>>0)|0;else A=z&v;r=f[(f[a>>2]|0)+(A<<2)>>2]|0;if((r|0)!=0?(m=f[r>>2]|0,(m|0)!=0):0){r=(o|0)==0;if(s){if(r){s=m;while(1){q=f[s+4>>2]|0;if(!((q|0)==(z|0)|(q&v|0)==(A|0))){B=A;x=52;break a}q=b[s+8+11>>0]|0;if(!((q<<24>>24<0?f[s+12>>2]|0:q&255)|0))break a;s=f[s>>2]|0;if(!s){B=A;x=52;break a}}}else C=m;while(1){s=f[C+4>>2]|0;if(!((s|0)==(z|0)|(s&v|0)==(A|0))){B=A;x=52;break a}s=C+8|0;q=b[s+11>>0]|0;d=q<<24>>24<0;D=q&255;do if(((d?f[C+12>>2]|0:D)|0)==(o|0)){q=f[s>>2]|0;if(d)if(!(Vk(q,c,o)|0))break a;else break;if((b[c>>0]|0)==(q&255)<<24>>24){q=s;E=D;F=c;do{E=E+-1|0;q=q+1|0;if(!E)break a;F=F+1|0}while((b[q>>0]|0)==(b[F>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){B=A;x=52;break a}}}if(r){v=m;while(1){D=f[v+4>>2]|0;if((D|0)!=(z|0)){if(D>>>0>>0)G=D;else G=(D>>>0)%(y>>>0)|0;if((G|0)!=(A|0)){B=A;x=52;break a}}D=b[v+8+11>>0]|0;if(!((D<<24>>24<0?f[v+12>>2]|0:D&255)|0))break a;v=f[v>>2]|0;if(!v){B=A;x=52;break a}}}else H=m;while(1){v=f[H+4>>2]|0;if((v|0)!=(z|0)){if(v>>>0>>0)I=v;else I=(v>>>0)%(y>>>0)|0;if((I|0)!=(A|0)){B=A;x=52;break a}}v=H+8|0;r=b[v+11>>0]|0;D=r<<24>>24<0;s=r&255;do if(((D?f[H+12>>2]|0:s)|0)==(o|0)){r=f[v>>2]|0;if(D)if(!(Vk(r,c,o)|0))break a;else break;if((b[c>>0]|0)==(r&255)<<24>>24){r=v;d=s;F=c;do{d=d+-1|0;r=r+1|0;if(!d)break a;F=F+1|0}while((b[r>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){B=A;x=52;break}}}else{B=A;x=52}}else{B=0;x=52}while(0);if((x|0)==52){oi(g,a,z,i);x=a+12|0;J=$(((f[x>>2]|0)+1|0)>>>0);K=$(y>>>0);L=$(n[a+16>>2]);do if(w|$(L*K)>>0<3|(y+-1&y|0)!=0)&1;H=~~$(W($(J/L)))>>>0;ei(a,A>>>0>>0?H:A);A=f[t>>2]|0;H=A+-1|0;if(!(H&A)){M=A;N=H&z;break}if(z>>>0>>0){M=A;N=z}else{M=A;N=(z>>>0)%(A>>>0)|0}}else{M=y;N=B}while(0);B=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!B){y=a+8|0;f[f[g>>2]>>2]=f[y>>2];f[y>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=y;y=f[g>>2]|0;N=f[y>>2]|0;if(!N)O=g;else{z=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(z>>>0>>0)P=z;else P=(z>>>0)%(M>>>0)|0;else P=z&N;f[(f[a>>2]|0)+(P<<2)>>2]=y;O=g}}else{f[f[g>>2]>>2]=f[B>>2];f[B>>2]=f[g>>2];O=g}f[x>>2]=(f[x>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[l>>2]|0)!=(O|0))f[l>>2]=O;Oq(O)}if((b[p>>0]|0)<0)Oq(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;Oq(i);u=e;return}function $b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=(o|0)==-1;if(p)q=-1;else q=f[(f[n>>2]|0)+(o<<2)>>2]|0;n=a+20|0;r=f[n>>2]|0;s=f[r>>2]|0;if((f[r+4>>2]|0)-s>>2>>>0<=q>>>0)aq(r);r=a+8|0;t=f[(f[r>>2]|0)+(f[s+(q<<2)>>2]<<2)>>2]|0;q=a+4|0;s=f[q>>2]|0;if(!(b[s+84>>0]|0))v=f[(f[s+68>>2]|0)+(t<<2)>>2]|0;else v=t;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=v;v=b[s+24>>0]|0;f[g>>2]=f[h>>2];vb(s,g,v,j)|0;v=a+28|0;a=(f[v>>2]|0)==0;a:do if(!p){s=k+8|0;t=j+8|0;w=k+16|0;x=j+16|0;y=l+8|0;z=l+16|0;A=o;B=o;C=0;D=0;E=0;F=0;G=0;H=0;J=a;K=o;while(1){do if(J){L=K+1|0;if((K|0)==-1){M=A;N=-1;O=-1;P=-1;break}Q=((L>>>0)%3|0|0)==0?K+-2|0:L;if((A|0)!=-1)if(!((A>>>0)%3|0)){R=A;S=A+2|0;T=Q;U=A;V=19;break}else{R=A;S=A+-1|0;T=Q;U=A;V=19;break}else{R=-1;S=-1;T=Q;U=-1;V=19}}else{Q=B+1|0;L=((Q>>>0)%3|0|0)==0?B+-2|0:Q;if(!((B>>>0)%3|0)){R=A;S=B+2|0;T=L;U=K;V=19;break}else{R=A;S=B+-1|0;T=L;U=K;V=19;break}}while(0);if((V|0)==19){V=0;if((T|0)==-1){M=R;N=-1;O=S;P=U}else{M=R;N=f[(f[f[m>>2]>>2]|0)+(T<<2)>>2]|0;O=S;P=U}}W=f[n>>2]|0;L=f[W>>2]|0;if((f[W+4>>2]|0)-L>>2>>>0<=N>>>0){V=22;break}Q=f[(f[r>>2]|0)+(f[L+(N<<2)>>2]<<2)>>2]|0;L=f[q>>2]|0;if(!(b[L+84>>0]|0))X=f[(f[L+68>>2]|0)+(Q<<2)>>2]|0;else X=Q;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=X;Q=b[L+24>>0]|0;f[g>>2]=f[h>>2];vb(L,g,Q,k)|0;if((O|0)==-1)Y=-1;else Y=f[(f[f[m>>2]>>2]|0)+(O<<2)>>2]|0;Z=f[n>>2]|0;Q=f[Z>>2]|0;if((f[Z+4>>2]|0)-Q>>2>>>0<=Y>>>0){V=28;break}L=f[(f[r>>2]|0)+(f[Q+(Y<<2)>>2]<<2)>>2]|0;Q=f[q>>2]|0;if(!(b[Q+84>>0]|0))_=f[(f[Q+68>>2]|0)+(L<<2)>>2]|0;else _=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=_;L=b[Q+24>>0]|0;f[g>>2]=f[h>>2];vb(Q,g,L,l)|0;L=k;Q=j;$=f[Q>>2]|0;aa=f[Q+4>>2]|0;Q=Xn(f[L>>2]|0,f[L+4>>2]|0,$|0,aa|0)|0;L=I;ba=s;ca=t;da=f[ca>>2]|0;ea=f[ca+4>>2]|0;ca=Xn(f[ba>>2]|0,f[ba+4>>2]|0,da|0,ea|0)|0;ba=I;fa=w;ga=x;ha=f[ga>>2]|0;ia=f[ga+4>>2]|0;ga=Xn(f[fa>>2]|0,f[fa+4>>2]|0,ha|0,ia|0)|0;fa=I;ja=l;ka=Xn(f[ja>>2]|0,f[ja+4>>2]|0,$|0,aa|0)|0;aa=I;$=y;ja=Xn(f[$>>2]|0,f[$+4>>2]|0,da|0,ea|0)|0;ea=I;da=z;$=Xn(f[da>>2]|0,f[da+4>>2]|0,ha|0,ia|0)|0;ia=I;ha=un($|0,ia|0,ca|0,ba|0)|0;da=I;la=un(ja|0,ea|0,ga|0,fa|0)|0;ma=I;na=un(ka|0,aa|0,ga|0,fa|0)|0;fa=I;ga=un($|0,ia|0,Q|0,L|0)|0;ia=I;$=un(ja|0,ea|0,Q|0,L|0)|0;L=I;Q=un(ka|0,aa|0,ca|0,ba|0)|0;ba=I;ca=Xn(C|0,D|0,la|0,ma|0)|0;ma=Vn(ca|0,I|0,ha|0,da|0)|0;da=I;ha=Vn(na|0,fa|0,E|0,F|0)|0;fa=Xn(ha|0,I|0,ga|0,ia|0)|0;ia=I;ga=Xn(G|0,H|0,Q|0,ba|0)|0;ba=Vn(ga|0,I|0,$|0,L|0)|0;L=I;Hh(i);B=f[c>>2]|0;$=(f[v>>2]|0)==0;if((B|0)==-1){oa=$;pa=da;qa=ma;ra=ia;sa=fa;ta=L;ua=ba;break a}else{A=M;C=ma;D=da;E=fa;F=ia;G=ba;H=L;J=$;K=P}}if((V|0)==22)aq(W);else if((V|0)==28)aq(Z)}else{oa=a;pa=0;qa=0;ra=0;sa=0;ta=0;ua=0}while(0);a=(pa|0)>-1|(pa|0)==-1&qa>>>0>4294967295;Z=Xn(0,0,qa|0,pa|0)|0;V=a?pa:I;W=(ra|0)>-1|(ra|0)==-1&sa>>>0>4294967295;P=Xn(0,0,sa|0,ra|0)|0;M=W?ra:I;v=(ta|0)>-1|(ta|0)==-1&ua>>>0>4294967295;c=Xn(0,0,ua|0,ta|0)|0;i=Vn((W?sa:P)|0,M|0,(v?ua:c)|0,(v?ta:I)|0)|0;v=Vn(i|0,I|0,(a?qa:Z)|0,V|0)|0;V=I;if(oa){if((v|0)<=536870912){va=qa;wa=sa;xa=ua;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}oa=Yn(v|0,V|0,29)|0;Z=oa&7;oa=Ik(qa|0,pa|0,Z|0,0)|0;a=Ik(sa|0,ra|0,Z|0,0)|0;i=Ik(ua|0,ta|0,Z|0,0)|0;va=oa;wa=a;xa=i;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}else{if(!((V|0)>0|(V|0)==0&v>>>0>536870912)){va=qa;wa=sa;xa=ua;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}i=Yn(v|0,V|0,29)|0;V=I;v=Ik(qa|0,pa|0,i|0,V|0)|0;pa=Ik(sa|0,ra|0,i|0,V|0)|0;ra=Ik(ua|0,ta|0,i|0,V|0)|0;va=v;wa=pa;xa=ra;f[d>>2]=va;ya=d+4|0;f[ya>>2]=wa;za=d+8|0;f[za>>2]=xa;u=e;return}}function ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=Oa,M=Oa,N=Oa,O=0,P=0,Q=0,R=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Id(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];lf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;l=d+11|0;m=b[l>>0]|0;o=d+4|0;p=f[o>>2]|0;q=m<<24>>24<0?p:m&255;if(!q){r=m;s=p;t=0}else{Fi(j,q);r=b[l>>0]|0;s=f[o>>2]|0;t=f[j>>2]|0}o=r<<24>>24<0;kh(t|0,(o?f[d>>2]|0:d)|0,(o?s:r&255)|0)|0;pj(i,c);c=i+12|0;f[c>>2]=0;r=i+16|0;f[r>>2]=0;f[i+20>>2]=0;s=f[k>>2]|0;o=f[j>>2]|0;d=s-o|0;if(!d){v=o;w=s;x=0}else{Fi(c,d);v=f[j>>2]|0;w=f[k>>2]|0;x=f[c>>2]|0}kh(x|0,v|0,w-v|0)|0;v=i+11|0;w=b[v>>0]|0;x=w<<24>>24<0;c=x?f[i>>2]|0:i;d=x?f[i+4>>2]|0:w&255;if(d>>>0>3){w=c;x=d;s=d;while(1){o=X(h[w>>0]|h[w+1>>0]<<8|h[w+2>>0]<<16|h[w+3>>0]<<24,1540483477)|0;x=(X(o>>>24^o,1540483477)|0)^(X(x,1540483477)|0);s=s+-4|0;if(s>>>0<=3)break;else w=w+4|0}w=d+-4|0;s=w&-4;y=w-s|0;z=c+(s+4)|0;A=x}else{y=d;z=c;A=d}switch(y|0){case 3:{B=h[z+2>>0]<<16^A;C=12;break}case 2:{B=A;C=12;break}case 1:{D=A;C=13;break}default:E=A}if((C|0)==12){D=h[z+1>>0]<<8^B;C=13}if((C|0)==13)E=X(D^h[z>>0],1540483477)|0;z=X(E>>>13^E,1540483477)|0;E=z>>>15^z;z=a+4|0;D=f[z>>2]|0;B=(D|0)==0;a:do if(!B){A=D+-1|0;y=(A&D|0)==0;if(!y)if(E>>>0>>0)F=E;else F=(E>>>0)%(D>>>0)|0;else F=E&A;x=f[(f[a>>2]|0)+(F<<2)>>2]|0;if((x|0)!=0?(s=f[x>>2]|0,(s|0)!=0):0){x=(d|0)==0;if(y){if(x){y=s;while(1){w=f[y+4>>2]|0;if(!((w|0)==(E|0)|(w&A|0)==(F|0))){G=F;C=54;break a}w=b[y+8+11>>0]|0;if(!((w<<24>>24<0?f[y+12>>2]|0:w&255)|0))break a;y=f[y>>2]|0;if(!y){G=F;C=54;break a}}}else H=s;while(1){y=f[H+4>>2]|0;if(!((y|0)==(E|0)|(y&A|0)==(F|0))){G=F;C=54;break a}y=H+8|0;w=b[y+11>>0]|0;o=w<<24>>24<0;t=w&255;do if(((o?f[H+12>>2]|0:t)|0)==(d|0)){w=f[y>>2]|0;if(o)if(!(Vk(w,c,d)|0))break a;else break;if((b[c>>0]|0)==(w&255)<<24>>24){w=y;l=t;q=c;do{l=l+-1|0;w=w+1|0;if(!l)break a;q=q+1|0}while((b[w>>0]|0)==(b[q>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){G=F;C=54;break a}}}if(x){A=s;while(1){t=f[A+4>>2]|0;if((t|0)!=(E|0)){if(t>>>0>>0)I=t;else I=(t>>>0)%(D>>>0)|0;if((I|0)!=(F|0)){G=F;C=54;break a}}t=b[A+8+11>>0]|0;if(!((t<<24>>24<0?f[A+12>>2]|0:t&255)|0))break a;A=f[A>>2]|0;if(!A){G=F;C=54;break a}}}else J=s;while(1){A=f[J+4>>2]|0;if((A|0)!=(E|0)){if(A>>>0>>0)K=A;else K=(A>>>0)%(D>>>0)|0;if((K|0)!=(F|0)){G=F;C=54;break a}}A=J+8|0;x=b[A+11>>0]|0;t=x<<24>>24<0;y=x&255;do if(((t?f[J+12>>2]|0:y)|0)==(d|0)){x=f[A>>2]|0;if(t)if(!(Vk(x,c,d)|0))break a;else break;if((b[c>>0]|0)==(x&255)<<24>>24){x=A;o=y;q=c;do{o=o+-1|0;x=x+1|0;if(!o)break a;q=q+1|0}while((b[x>>0]|0)==(b[q>>0]|0))}}while(0);J=f[J>>2]|0;if(!J){G=F;C=54;break}}}else{G=F;C=54}}else{G=0;C=54}while(0);if((C|0)==54){oi(g,a,E,i);C=a+12|0;L=$(((f[C>>2]|0)+1|0)>>>0);M=$(D>>>0);N=$(n[a+16>>2]);do if(B|$(N*M)>>0<3|(D+-1&D|0)!=0)&1;J=~~$(W($(L/N)))>>>0;ei(a,F>>>0>>0?J:F);F=f[z>>2]|0;J=F+-1|0;if(!(J&F)){O=F;P=J&E;break}if(E>>>0>>0){O=F;P=E}else{O=F;P=(E>>>0)%(F>>>0)|0}}else{O=D;P=G}while(0);G=f[(f[a>>2]|0)+(P<<2)>>2]|0;if(!G){D=a+8|0;f[f[g>>2]>>2]=f[D>>2];f[D>>2]=f[g>>2];f[(f[a>>2]|0)+(P<<2)>>2]=D;D=f[g>>2]|0;P=f[D>>2]|0;if(!P)Q=g;else{E=f[P+4>>2]|0;P=O+-1|0;if(P&O)if(E>>>0>>0)R=E;else R=(E>>>0)%(O>>>0)|0;else R=E&P;f[(f[a>>2]|0)+(R<<2)>>2]=D;Q=g}}else{f[f[g>>2]>>2]=f[G>>2];f[G>>2]=f[g>>2];Q=g}f[C>>2]=(f[C>>2]|0)+1;f[Q>>2]=0}Q=f[i+12>>2]|0;if(Q|0){if((f[r>>2]|0)!=(Q|0))f[r>>2]=Q;Oq(Q)}if((b[v>>0]|0)<0)Oq(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;Oq(i);u=e;return}function bc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;d=u;u=u+192|0;e=d+152|0;g=d+144|0;h=d+72|0;i=d;j=d+112|0;k=d+108|0;l=d+104|0;m=a+352|0;if(b[m>>0]|0?(n=Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[n+12>>2]|0)-(f[n+8>>2]|0)|0)>0):0){n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;o=f[f[n>>2]>>2]|0;f[e>>2]=c;n=o+4|0;p=o+8|0;q=f[p>>2]|0;if((q|0)==(f[o+12>>2]|0))Ri(n,e);else{f[q>>2]=c;f[p>>2]=q+4}q=f[e>>2]|0;r=o+16|0;s=o+20|0;o=f[s>>2]|0;t=f[r>>2]|0;v=o-t>>2;w=t;if((q|0)<(v|0)){x=w;y=q}else{t=q+1|0;f[g>>2]=-1;z=o;if(t>>>0<=v>>>0)if(t>>>0>>0?(o=w+(t<<2)|0,(o|0)!=(z|0)):0){f[s>>2]=z+(~((z+-4-o|0)>>>2)<<2);A=q;B=w}else{A=q;B=w}else{Ch(r,t-v|0,g);A=f[e>>2]|0;B=f[r>>2]|0}x=B;y=A}f[x+(y<<2)>>2]=((f[p>>2]|0)-(f[n>>2]|0)>>2)+-1;C=1;u=d;return C|0}n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;p=f[(f[(f[n>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;y=f[(f[(f[n>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;f[g>>2]=-1;n=a+172|0;x=f[a+176>>2]|0;A=f[n>>2]|0;B=A;a:do if((x|0)==(A|0))D=-1;else{r=(x-A|0)/136|0;v=0;while(1){if((f[B+(v*136|0)>>2]|0)==(c|0))break;t=v+1|0;if(t>>>0>>0)v=t;else{D=-1;break a}}f[g>>2]=v;D=v}while(0);b:do if(!(b[m>>0]|0)){A=(f[y+56>>2]|0)==0;do if(!((p|0)==0|A)){if((p|0)==1?b[B+(D*136|0)+28>>0]|0:0)break;x=ln(88)|0;r=f[a+8>>2]|0;t=B+(D*136|0)+104|0;f[x+4>>2]=0;f[x>>2]=3564;w=x+12|0;f[w>>2]=3588;q=x+64|0;f[q>>2]=0;f[x+68>>2]=0;f[x+72>>2]=0;o=x+16|0;z=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(z|0));f[x+76>>2]=r;f[x+80>>2]=t;s=x+84|0;f[s>>2]=0;f[h>>2]=3588;E=h+4|0;F=E+4|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;f[F+16>>2]=0;f[F+20>>2]=0;F=B+(D*136|0)+4|0;G=i+4|0;f[G>>2]=3588;H=i+56|0;f[H>>2]=0;I=i+60|0;f[I>>2]=0;f[i+64>>2]=0;o=i+8|0;z=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(z|0));f[E>>2]=F;o=f[B+(D*136|0)+68>>2]|0;z=((f[o+4>>2]|0)-(f[o>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;qh(h+8|0,z,e);Va[f[(f[h>>2]|0)+8>>2]&127](h);Df(j,h);Df(e,j);f[i>>2]=f[e+4>>2];z=i+4|0;fg(z,e)|0;f[e>>2]=3588;o=f[e+20>>2]|0;if(o|0)Oq(o);o=f[e+8>>2]|0;if(o|0)Oq(o);f[i+36>>2]=F;f[i+40>>2]=t;f[i+44>>2]=r;f[i+48>>2]=x;f[j>>2]=3588;o=f[j+20>>2]|0;if(o|0)Oq(o);o=f[j+8>>2]|0;if(o|0)Oq(o);f[s>>2]=a+72;f[x+8>>2]=f[i>>2];fg(w,z)|0;z=x+44|0;o=i+36|0;f[z>>2]=f[o>>2];f[z+4>>2]=f[o+4>>2];f[z+8>>2]=f[o+8>>2];f[z+12>>2]=f[o+12>>2];b[z+16>>0]=b[o+16>>0]|0;ng(q,f[H>>2]|0,f[I>>2]|0);o=x;z=f[H>>2]|0;if(z|0){J=f[I>>2]|0;if((J|0)!=(z|0))f[I>>2]=J+(~((J+-4-z|0)>>>2)<<2);Oq(z)}f[G>>2]=3588;z=f[i+24>>2]|0;if(z|0)Oq(z);z=f[i+12>>2]|0;if(z|0)Oq(z);f[h>>2]=3588;z=f[h+20>>2]|0;if(z|0)Oq(z);z=f[h+8>>2]|0;if(z|0)Oq(z);K=0;L=o;M=54;break b}while(0);if(!A){b[B+(D*136|0)+100>>0]=0;N=B+(D*136|0)+104|0;M=26}else M=24}else M=24;while(0);if((M|0)==24){N=a+40|0;M=26}if((M|0)==26){D=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((mi(f[D>>2]|0)|0)==0?(f[y+56>>2]|0)==0:0){if(b[m>>0]|0?(B=f[a+8>>2]|0,((f[B+12>>2]|0)-(f[B+8>>2]|0)|0)>4):0){M=31;break}gf(e,a,N);O=1;P=f[e>>2]|0}else M=31;while(0);if((M|0)==31){Vd(e,a,N);O=0;P=f[e>>2]|0}if(!P)Q=0;else{K=O;L=P;M=54}}if((M|0)==54){M=f[g>>2]|0;if((M|0)==-1)R=a+68|0;else R=(f[n>>2]|0)+(M*136|0)+132|0;f[R>>2]=K;K=ln(76)|0;f[k>>2]=L;rl(K,k,c);c=K;K=f[k>>2]|0;f[k>>2]=0;if(K|0)Va[f[(f[K>>2]|0)+4>>2]&127](K);K=a+188|0;k=f[K>>2]|0;if((k|0)==(f[a+192>>2]|0))Ri(a+184|0,g);else{f[k>>2]=f[g>>2];f[K>>2]=k+4}k=Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[l>>2]=c;a=k+12|0;K=f[a>>2]|0;if(K>>>0<(f[k+16>>2]|0)>>>0){f[l>>2]=0;f[K>>2]=c;f[a>>2]=K+4;S=l}else{Qg(k+8|0,l);S=l}l=f[S>>2]|0;f[S>>2]=0;if(!l)Q=1;else{Va[f[(f[l>>2]|0)+4>>2]&127](l);Q=1}}C=Q;u=d;return C|0}function cc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;d=u;u=u+192|0;e=d+152|0;g=d+144|0;h=d+72|0;i=d;j=d+112|0;k=d+108|0;l=d+104|0;m=a+288|0;if(b[m>>0]|0?(n=Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[n+12>>2]|0)-(f[n+8>>2]|0)|0)>0):0){n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;o=f[f[n>>2]>>2]|0;f[e>>2]=c;n=o+4|0;p=o+8|0;q=f[p>>2]|0;if((q|0)==(f[o+12>>2]|0))Ri(n,e);else{f[q>>2]=c;f[p>>2]=q+4}q=f[e>>2]|0;r=o+16|0;s=o+20|0;o=f[s>>2]|0;t=f[r>>2]|0;v=o-t>>2;w=t;if((q|0)<(v|0)){x=w;y=q}else{t=q+1|0;f[g>>2]=-1;z=o;if(t>>>0<=v>>>0)if(t>>>0>>0?(o=w+(t<<2)|0,(o|0)!=(z|0)):0){f[s>>2]=z+(~((z+-4-o|0)>>>2)<<2);A=q;B=w}else{A=q;B=w}else{Ch(r,t-v|0,g);A=f[e>>2]|0;B=f[r>>2]|0}x=B;y=A}f[x+(y<<2)>>2]=((f[p>>2]|0)-(f[n>>2]|0)>>2)+-1;C=1;u=d;return C|0}n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;p=f[(f[(f[n>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;n=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;y=f[(f[(f[n>>2]|0)+8>>2]|0)+(c<<2)>>2]|0;f[g>>2]=-1;n=a+172|0;x=f[a+176>>2]|0;A=f[n>>2]|0;B=A;a:do if((x|0)==(A|0))D=-1;else{r=(x-A|0)/136|0;v=0;while(1){if((f[B+(v*136|0)>>2]|0)==(c|0))break;t=v+1|0;if(t>>>0>>0)v=t;else{D=-1;break a}}f[g>>2]=v;D=v}while(0);b:do if(!(b[m>>0]|0)){A=(f[y+56>>2]|0)==0;do if(!((p|0)==0|A)){if((p|0)==1?b[B+(D*136|0)+28>>0]|0:0)break;x=ln(88)|0;r=f[a+8>>2]|0;t=B+(D*136|0)+104|0;f[x+4>>2]=0;f[x>>2]=3564;w=x+12|0;f[w>>2]=3588;q=x+64|0;f[q>>2]=0;f[x+68>>2]=0;f[x+72>>2]=0;o=x+16|0;z=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(z|0));f[x+76>>2]=r;f[x+80>>2]=t;s=x+84|0;f[s>>2]=0;f[h>>2]=3588;E=h+4|0;F=E+4|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;f[F+12>>2]=0;f[F+16>>2]=0;f[F+20>>2]=0;F=B+(D*136|0)+4|0;G=i+4|0;f[G>>2]=3588;H=i+56|0;f[H>>2]=0;I=i+60|0;f[I>>2]=0;f[i+64>>2]=0;o=i+8|0;z=o+44|0;do{f[o>>2]=0;o=o+4|0}while((o|0)<(z|0));f[E>>2]=F;o=f[B+(D*136|0)+68>>2]|0;z=((f[o+4>>2]|0)-(f[o>>2]|0)>>2>>>0)/3|0;b[e>>0]=0;qh(h+8|0,z,e);Va[f[(f[h>>2]|0)+8>>2]&127](h);Df(j,h);Df(e,j);f[i>>2]=f[e+4>>2];z=i+4|0;fg(z,e)|0;f[e>>2]=3588;o=f[e+20>>2]|0;if(o|0)Oq(o);o=f[e+8>>2]|0;if(o|0)Oq(o);f[i+36>>2]=F;f[i+40>>2]=t;f[i+44>>2]=r;f[i+48>>2]=x;f[j>>2]=3588;o=f[j+20>>2]|0;if(o|0)Oq(o);o=f[j+8>>2]|0;if(o|0)Oq(o);f[s>>2]=a+72;f[x+8>>2]=f[i>>2];fg(w,z)|0;z=x+44|0;o=i+36|0;f[z>>2]=f[o>>2];f[z+4>>2]=f[o+4>>2];f[z+8>>2]=f[o+8>>2];f[z+12>>2]=f[o+12>>2];b[z+16>>0]=b[o+16>>0]|0;ng(q,f[H>>2]|0,f[I>>2]|0);o=x;z=f[H>>2]|0;if(z|0){J=f[I>>2]|0;if((J|0)!=(z|0))f[I>>2]=J+(~((J+-4-z|0)>>>2)<<2);Oq(z)}f[G>>2]=3588;z=f[i+24>>2]|0;if(z|0)Oq(z);z=f[i+12>>2]|0;if(z|0)Oq(z);f[h>>2]=3588;z=f[h+20>>2]|0;if(z|0)Oq(z);z=f[h+8>>2]|0;if(z|0)Oq(z);K=0;L=o;M=54;break b}while(0);if(!A){b[B+(D*136|0)+100>>0]=0;N=B+(D*136|0)+104|0;M=26}else M=24}else M=24;while(0);if((M|0)==24){N=a+40|0;M=26}if((M|0)==26){D=(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((mi(f[D>>2]|0)|0)==0?(f[y+56>>2]|0)==0:0){if(b[m>>0]|0?(B=f[a+8>>2]|0,((f[B+12>>2]|0)-(f[B+8>>2]|0)|0)>4):0){M=31;break}gf(e,a,N);O=1;P=f[e>>2]|0}else M=31;while(0);if((M|0)==31){Vd(e,a,N);O=0;P=f[e>>2]|0}if(!P)Q=0;else{K=O;L=P;M=54}}if((M|0)==54){M=f[g>>2]|0;if((M|0)==-1)R=a+68|0;else R=(f[n>>2]|0)+(M*136|0)+132|0;f[R>>2]=K;K=ln(76)|0;f[k>>2]=L;rl(K,k,c);c=K;K=f[k>>2]|0;f[k>>2]=0;if(K|0)Va[f[(f[K>>2]|0)+4>>2]&127](K);K=a+188|0;k=f[K>>2]|0;if((k|0)==(f[a+192>>2]|0))Ri(a+184|0,g);else{f[k>>2]=f[g>>2];f[K>>2]=k+4}k=Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[l>>2]=c;a=k+12|0;K=f[a>>2]|0;if(K>>>0<(f[k+16>>2]|0)>>>0){f[l>>2]=0;f[K>>2]=c;f[a>>2]=K+4;S=l}else{Qg(k+8|0,l);S=l}l=f[S>>2]|0;f[S>>2]=0;if(!l)Q=1;else{Va[f[(f[l>>2]|0)+4>>2]&127](l);Q=1}}C=Q;u=d;return C|0}function dc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;c=u;u=u+16|0;d=c+8|0;e=c;g=f[b>>2]|0;if((g|0)==-1){u=c;return}h=(g>>>0)/3|0;i=a+12|0;if(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)|0){u=c;return}h=a+56|0;j=f[h>>2]|0;k=a+60|0;l=f[k>>2]|0;if((l|0)==(j|0))m=j;else{n=l+(~((l+-4-j|0)>>>2)<<2)|0;f[k>>2]=n;m=n}n=a+64|0;if((m|0)==(f[n>>2]|0))Ri(h,b);else{f[m>>2]=g;f[k>>2]=m+4}m=f[a>>2]|0;g=f[b>>2]|0;j=g+1|0;if((g|0)!=-1){l=((j>>>0)%3|0|0)==0?g+-2|0:j;if((l|0)==-1)o=-1;else o=f[(f[m>>2]|0)+(l<<2)>>2]|0;l=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((l|0)==-1){p=o;q=-1}else{p=o;q=f[(f[m>>2]|0)+(l<<2)>>2]|0}}else{p=-1;q=-1}l=a+24|0;m=f[l>>2]|0;o=m+(p>>>5<<2)|0;g=1<<(p&31);j=f[o>>2]|0;if(!(j&g)){f[o>>2]=j|g;g=f[b>>2]|0;j=g+1|0;if((g|0)==-1)r=-1;else r=((j>>>0)%3|0|0)==0?g+-2|0:j;f[e>>2]=r;j=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((r>>>0)/3|0)*12|0)+(((r>>>0)%3|0)<<2)>>2]|0;r=f[a+48>>2]|0;f[d>>2]=j;g=f[r+4>>2]|0;r=g+4|0;o=f[r>>2]|0;if((o|0)==(f[g+8>>2]|0))Ri(g,d);else{f[o>>2]=j;f[r>>2]=o+4}o=a+40|0;r=f[o>>2]|0;j=r+4|0;g=f[j>>2]|0;if((g|0)==(f[r+8>>2]|0)){Ri(r,e);s=f[o>>2]|0}else{f[g>>2]=f[e>>2];f[j>>2]=g+4;s=r}r=s+24|0;f[(f[s+12>>2]|0)+(p<<2)>>2]=f[r>>2];f[r>>2]=(f[r>>2]|0)+1;t=f[l>>2]|0}else t=m;m=t+(q>>>5<<2)|0;t=1<<(q&31);r=f[m>>2]|0;if(!(r&t)){f[m>>2]=r|t;t=f[b>>2]|0;do if((t|0)!=-1)if(!((t>>>0)%3|0)){v=t+2|0;break}else{v=t+-1|0;break}else v=-1;while(0);f[e>>2]=v;t=f[(f[(f[a+44>>2]|0)+96>>2]|0)+(((v>>>0)/3|0)*12|0)+(((v>>>0)%3|0)<<2)>>2]|0;v=f[a+48>>2]|0;f[d>>2]=t;r=f[v+4>>2]|0;v=r+4|0;m=f[v>>2]|0;if((m|0)==(f[r+8>>2]|0))Ri(r,d);else{f[m>>2]=t;f[v>>2]=m+4}m=a+40|0;v=f[m>>2]|0;t=v+4|0;r=f[t>>2]|0;if((r|0)==(f[v+8>>2]|0)){Ri(v,e);w=f[m>>2]|0}else{f[r>>2]=f[e>>2];f[t>>2]=r+4;w=v}v=w+24|0;f[(f[w+12>>2]|0)+(q<<2)>>2]=f[v>>2];f[v>>2]=(f[v>>2]|0)+1}v=f[h>>2]|0;q=f[k>>2]|0;if((v|0)==(q|0)){u=c;return}w=a+44|0;r=a+48|0;t=a+40|0;m=q;q=v;while(1){v=f[m+-4>>2]|0;f[b>>2]=v;p=(v>>>0)/3|0;if((v|0)!=-1?(v=f[i>>2]|0,(f[v+(p>>>5<<2)>>2]&1<<(p&31)|0)==0):0){s=p;p=v;a:while(1){v=p+(s>>>5<<2)|0;f[v>>2]=f[v>>2]|1<<(s&31);v=f[b>>2]|0;if((v|0)==-1)x=-1;else x=f[(f[f[a>>2]>>2]|0)+(v<<2)>>2]|0;g=(f[l>>2]|0)+(x>>>5<<2)|0;j=1<<(x&31);o=f[g>>2]|0;do if(!(j&o)){y=f[a>>2]|0;z=f[(f[y+24>>2]|0)+(x<<2)>>2]|0;A=z+1|0;if(((z|0)!=-1?(B=((A>>>0)%3|0|0)==0?z+-2|0:A,(B|0)!=-1):0)?(A=f[(f[y+12>>2]|0)+(B<<2)>>2]|0,B=A+1|0,(A|0)!=-1):0)C=((((B>>>0)%3|0|0)==0?A+-2|0:B)|0)==-1;else C=1;f[g>>2]=o|j;B=f[b>>2]|0;f[e>>2]=B;A=f[(f[(f[w>>2]|0)+96>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;B=f[r>>2]|0;f[d>>2]=A;y=f[B+4>>2]|0;B=y+4|0;z=f[B>>2]|0;if((z|0)==(f[y+8>>2]|0))Ri(y,d);else{f[z>>2]=A;f[B>>2]=z+4}z=f[t>>2]|0;B=z+4|0;A=f[B>>2]|0;if((A|0)==(f[z+8>>2]|0)){Ri(z,e);D=f[t>>2]|0}else{f[A>>2]=f[e>>2];f[B>>2]=A+4;D=z}z=D+24|0;f[(f[D+12>>2]|0)+(x<<2)>>2]=f[z>>2];f[z>>2]=(f[z>>2]|0)+1;if(C){E=f[b>>2]|0;F=60;break}z=f[a>>2]|0;A=f[b>>2]|0;do if((A|0)==-1)G=-1;else{B=A+1|0;y=((B>>>0)%3|0|0)==0?A+-2|0:B;if((y|0)==-1){G=-1;break}G=f[(f[z+12>>2]|0)+(y<<2)>>2]|0}while(0);f[b>>2]=G;H=(G>>>0)/3|0}else{E=v;F=60}while(0);if((F|0)==60){F=0;v=f[a>>2]|0;if((E|0)==-1){F=61;break}j=E+1|0;o=((j>>>0)%3|0|0)==0?E+-2|0:j;if((o|0)==-1)I=-1;else I=f[(f[v+12>>2]|0)+(o<<2)>>2]|0;f[d>>2]=I;o=(((E>>>0)%3|0|0)==0?2:-1)+E|0;if((o|0)==-1)J=-1;else J=f[(f[v+12>>2]|0)+(o<<2)>>2]|0;o=(I|0)==-1;v=(I>>>0)/3|0;j=o?-1:v;g=(J|0)==-1;z=(J>>>0)/3|0;A=g?-1:z;do if(!o){y=f[i>>2]|0;if(f[y+(j>>>5<<2)>>2]&1<<(j&31)|0){F=68;break}if(g){K=I;L=v;break}if(!(f[y+(A>>>5<<2)>>2]&1<<(A&31))){F=73;break a}else{K=I;L=v}}else F=68;while(0);if((F|0)==68){F=0;if(g){F=70;break}if(!(f[(f[i>>2]|0)+(A>>>5<<2)>>2]&1<<(A&31))){K=J;L=z}else{F=70;break}}f[b>>2]=K;H=L}s=H;p=f[i>>2]|0}do if((F|0)==61){F=0;f[d>>2]=-1;F=70}else if((F|0)==73){F=0;p=f[k>>2]|0;f[p+-4>>2]=J;if((p|0)==(f[n>>2]|0)){Ri(h,d);M=f[k>>2]|0;break}else{f[p>>2]=f[d>>2];s=p+4|0;f[k>>2]=s;M=s;break}}while(0);if((F|0)==70){F=0;s=(f[k>>2]|0)+-4|0;f[k>>2]=s;M=s}N=f[h>>2]|0;O=M}else{s=m+-4|0;f[k>>2]=s;N=q;O=s}if((N|0)==(O|0))break;else{m=O;q=N}}u=c;return}function ec(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=Oa,fa=Oa,ga=Oa,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=u;u=u+48|0;i=g+12|0;j=g+32|0;k=g;l=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)aq(k);q=o<<2;r=ln(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;sj(r|0,0,q|0)|0;f[p>>2]=s;s=c+48|0;q=c+40|0;o=i+4|0;t=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=f[e>>2]|0;e=0;z=r;A=0;B=0;C=r;D=r;E=r;while(1){r=s;F=f[r>>2]|0;G=f[r+4>>2]|0;r=q;H=un(f[r>>2]|0,f[r+4>>2]|0,y+A|0,0)|0;r=Vn(H|0,I|0,F|0,G|0)|0;G=(f[f[c>>2]>>2]|0)+r|0;r=h[G>>0]|h[G+1>>0]<<8;d[j>>1]=r;G=(r^318)&65535;a:do if(e){F=e+-1|0;H=(F&e|0)==0;if(!H)if(e>>>0>G>>>0)J=G;else J=(G>>>0)%(e>>>0)|0;else J=F&G;K=f[i>>2]|0;L=f[K+(J<<2)>>2]|0;b:do if(L|0?(M=f[L>>2]|0,M|0):0){c:do if(H){N=M;while(1){O=f[N+4>>2]|0;P=(O|0)==(G|0);if(!(P|(O&F|0)==(J|0)))break b;if(P?(d[N+8>>1]|0)==r<<16>>16:0){Q=N;break c}N=f[N>>2]|0;if(!N)break b}}else{N=M;while(1){P=f[N+4>>2]|0;if((P|0)==(G|0)){if((d[N+8>>1]|0)==r<<16>>16){Q=N;break c}}else{if(P>>>0>>0)R=P;else R=(P>>>0)%(e>>>0)|0;if((R|0)!=(J|0))break b}N=f[N>>2]|0;if(!N)break b}}while(0);f[E+(A<<2)>>2]=f[Q+12>>2];S=z;T=B;U=D;V=C;X=E;break a}while(0);if(!H)if(e>>>0>G>>>0)Y=G;else Y=(G>>>0)%(e>>>0)|0;else Y=F&G;L=f[K+(Y<<2)>>2]|0;if(!L){Z=Y;_=e;aa=0;ba=40}else{if(H){M=L;while(1){M=f[M>>2]|0;if(!M){Z=Y;_=e;aa=0;ba=40;break a}N=f[M+4>>2]|0;if(!((N|0)==(G|0)|(N&F|0)==(Y|0))){Z=Y;_=e;aa=0;ba=40;break a}if((d[M+8>>1]|0)==r<<16>>16){ba=55;break a}}}else ca=L;while(1){ca=f[ca>>2]|0;if(!ca){Z=Y;_=e;aa=0;ba=40;break a}M=f[ca+4>>2]|0;if((M|0)!=(G|0)){if(M>>>0>>0)da=M;else da=(M>>>0)%(e>>>0)|0;if((da|0)!=(Y|0)){Z=Y;_=e;aa=0;ba=40;break a}}if((d[ca+8>>1]|0)==r<<16>>16){ba=55;break}}}}else{Z=0;_=0;aa=1;ba=40}while(0);if((ba|0)==40){ba=0;L=ln(16)|0;d[L+8>>1]=r;f[L+12>>2]=B;f[L+4>>2]=G;f[L>>2]=0;ea=$(((f[t>>2]|0)+1|0)>>>0);fa=$(_>>>0);ga=$(n[l>>2]);do if(aa|$(ga*fa)>>0<3|(_+-1&_|0)!=0)&1;F=~~$(W($(ea/ga)))>>>0;Vh(i,M>>>0>>0?F:M);M=f[o>>2]|0;F=M+-1|0;if(!(F&M)){ha=M;ia=F&G;break}if(M>>>0>G>>>0){ha=M;ia=G}else{ha=M;ia=(G>>>0)%(M>>>0)|0}}else{ha=_;ia=Z}while(0);G=(f[i>>2]|0)+(ia<<2)|0;r=f[G>>2]|0;if(!r){f[L>>2]=f[v>>2];f[v>>2]=L;f[G>>2]=v;G=f[L>>2]|0;if(G|0){M=f[G+4>>2]|0;G=ha+-1|0;if(G&ha)if(M>>>0>>0)ja=M;else ja=(M>>>0)%(ha>>>0)|0;else ja=M&G;ka=(f[i>>2]|0)+(ja<<2)|0;ba=53}}else{f[L>>2]=f[r>>2];ka=r;ba=53}if((ba|0)==53){ba=0;f[ka>>2]=L}f[t>>2]=(f[t>>2]|0)+1;ba=55}if((ba|0)==55){ba=0;r=w;G=f[r>>2]|0;M=un(G|0,f[r+4>>2]|0,B|0,0)|0;kh((f[f[x>>2]>>2]|0)+M|0,j|0,G|0)|0;G=f[k>>2]|0;f[G+(A<<2)>>2]=B;S=G;T=B+1|0;U=G;V=G;X=G}G=A+1|0;la=f[m>>2]|0;if(G>>>0>=la>>>0)break;e=f[o>>2]|0;z=S;A=G;B=T;C=V;D=U;E=X}if((T|0)==(la|0))ma=V;else{V=a+84|0;if(!(b[V>>0]|0)){X=f[a+72>>2]|0;E=f[a+68>>2]|0;D=E;if((X|0)==(E|0))na=S;else{C=X-E>>2;E=0;do{X=D+(E<<2)|0;f[X>>2]=f[U+(f[X>>2]<<2)>>2];E=E+1|0}while(E>>>0>>0);na=S}}else{b[V>>0]=0;V=a+68|0;S=a+72|0;C=f[S>>2]|0;E=f[V>>2]|0;U=C-E>>2;D=E;E=C;if(la>>>0<=U>>>0)if(la>>>0>>0?(C=D+(la<<2)|0,(C|0)!=(E|0)):0){f[S>>2]=E+(~((E+-4-C|0)>>>2)<<2);oa=la}else oa=la;else{Ch(V,la-U|0,1220);oa=f[m>>2]|0}U=f[k>>2]|0;if(!oa)na=U;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[U+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);na=U}}f[m>>2]=T;ma=na}if(!ma)pa=T;else{na=f[p>>2]|0;if((na|0)!=(ma|0))f[p>>2]=na+(~((na+-4-ma|0)>>>2)<<2);Oq(ma);pa=T}}else pa=0;T=f[i+8>>2]|0;if(T|0){ma=T;do{T=ma;ma=f[ma>>2]|0;Oq(T)}while((ma|0)!=0)}ma=f[i>>2]|0;f[i>>2]=0;if(!ma){u=g;return pa|0}Oq(ma);u=g;return pa|0}function fc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=Oa,K=Oa,L=Oa,M=0,N=0,O=0,P=0;e=u;u=u+64|0;g=e+40|0;i=e+16|0;j=e;k=Id(a,c)|0;if(k|0){f[i>>2]=k;f[g>>2]=f[i>>2];lf(a,g)|0}f[j>>2]=0;k=j+4|0;f[k>>2]=0;f[j+8>>2]=0;Fi(j,4);l=f[j>>2]|0;m=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[l>>0]=m;b[l+1>>0]=m>>8;b[l+2>>0]=m>>16;b[l+3>>0]=m>>24;pj(i,c);c=i+12|0;f[c>>2]=0;m=i+16|0;f[m>>2]=0;f[i+20>>2]=0;l=f[k>>2]|0;d=f[j>>2]|0;o=l-d|0;if(!o){p=d;q=l;r=0}else{Fi(c,o);p=f[j>>2]|0;q=f[k>>2]|0;r=f[c>>2]|0}kh(r|0,p|0,q-p|0)|0;p=i+11|0;q=b[p>>0]|0;r=q<<24>>24<0;c=r?f[i>>2]|0:i;o=r?f[i+4>>2]|0:q&255;if(o>>>0>3){q=c;r=o;l=o;while(1){d=X(h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,1540483477)|0;r=(X(d>>>24^d,1540483477)|0)^(X(r,1540483477)|0);l=l+-4|0;if(l>>>0<=3)break;else q=q+4|0}q=o+-4|0;l=q&-4;s=q-l|0;t=c+(l+4)|0;v=r}else{s=o;t=c;v=o}switch(s|0){case 3:{w=h[t+2>>0]<<16^v;x=10;break}case 2:{w=v;x=10;break}case 1:{y=v;x=11;break}default:z=v}if((x|0)==10){y=h[t+1>>0]<<8^w;x=11}if((x|0)==11)z=X(y^h[t>>0],1540483477)|0;t=X(z>>>13^z,1540483477)|0;z=t>>>15^t;t=a+4|0;y=f[t>>2]|0;w=(y|0)==0;a:do if(!w){v=y+-1|0;s=(v&y|0)==0;if(!s)if(z>>>0>>0)A=z;else A=(z>>>0)%(y>>>0)|0;else A=z&v;r=f[(f[a>>2]|0)+(A<<2)>>2]|0;if((r|0)!=0?(l=f[r>>2]|0,(l|0)!=0):0){r=(o|0)==0;if(s){if(r){s=l;while(1){q=f[s+4>>2]|0;if(!((q|0)==(z|0)|(q&v|0)==(A|0))){B=A;x=52;break a}q=b[s+8+11>>0]|0;if(!((q<<24>>24<0?f[s+12>>2]|0:q&255)|0))break a;s=f[s>>2]|0;if(!s){B=A;x=52;break a}}}else C=l;while(1){s=f[C+4>>2]|0;if(!((s|0)==(z|0)|(s&v|0)==(A|0))){B=A;x=52;break a}s=C+8|0;q=b[s+11>>0]|0;d=q<<24>>24<0;D=q&255;do if(((d?f[C+12>>2]|0:D)|0)==(o|0)){q=f[s>>2]|0;if(d)if(!(Vk(q,c,o)|0))break a;else break;if((b[c>>0]|0)==(q&255)<<24>>24){q=s;E=D;F=c;do{E=E+-1|0;q=q+1|0;if(!E)break a;F=F+1|0}while((b[q>>0]|0)==(b[F>>0]|0))}}while(0);C=f[C>>2]|0;if(!C){B=A;x=52;break a}}}if(r){v=l;while(1){D=f[v+4>>2]|0;if((D|0)!=(z|0)){if(D>>>0>>0)G=D;else G=(D>>>0)%(y>>>0)|0;if((G|0)!=(A|0)){B=A;x=52;break a}}D=b[v+8+11>>0]|0;if(!((D<<24>>24<0?f[v+12>>2]|0:D&255)|0))break a;v=f[v>>2]|0;if(!v){B=A;x=52;break a}}}else H=l;while(1){v=f[H+4>>2]|0;if((v|0)!=(z|0)){if(v>>>0>>0)I=v;else I=(v>>>0)%(y>>>0)|0;if((I|0)!=(A|0)){B=A;x=52;break a}}v=H+8|0;r=b[v+11>>0]|0;D=r<<24>>24<0;s=r&255;do if(((D?f[H+12>>2]|0:s)|0)==(o|0)){r=f[v>>2]|0;if(D)if(!(Vk(r,c,o)|0))break a;else break;if((b[c>>0]|0)==(r&255)<<24>>24){r=v;d=s;F=c;do{d=d+-1|0;r=r+1|0;if(!d)break a;F=F+1|0}while((b[r>>0]|0)==(b[F>>0]|0))}}while(0);H=f[H>>2]|0;if(!H){B=A;x=52;break}}}else{B=A;x=52}}else{B=0;x=52}while(0);if((x|0)==52){oi(g,a,z,i);x=a+12|0;J=$(((f[x>>2]|0)+1|0)>>>0);K=$(y>>>0);L=$(n[a+16>>2]);do if(w|$(L*K)>>0<3|(y+-1&y|0)!=0)&1;H=~~$(W($(J/L)))>>>0;ei(a,A>>>0>>0?H:A);A=f[t>>2]|0;H=A+-1|0;if(!(H&A)){M=A;N=H&z;break}if(z>>>0>>0){M=A;N=z}else{M=A;N=(z>>>0)%(A>>>0)|0}}else{M=y;N=B}while(0);B=f[(f[a>>2]|0)+(N<<2)>>2]|0;if(!B){y=a+8|0;f[f[g>>2]>>2]=f[y>>2];f[y>>2]=f[g>>2];f[(f[a>>2]|0)+(N<<2)>>2]=y;y=f[g>>2]|0;N=f[y>>2]|0;if(!N)O=g;else{z=f[N+4>>2]|0;N=M+-1|0;if(N&M)if(z>>>0>>0)P=z;else P=(z>>>0)%(M>>>0)|0;else P=z&N;f[(f[a>>2]|0)+(P<<2)>>2]=y;O=g}}else{f[f[g>>2]>>2]=f[B>>2];f[B>>2]=f[g>>2];O=g}f[x>>2]=(f[x>>2]|0)+1;f[O>>2]=0}O=f[i+12>>2]|0;if(O|0){if((f[m>>2]|0)!=(O|0))f[m>>2]=O;Oq(O)}if((b[p>>0]|0)<0)Oq(f[i>>2]|0);i=f[j>>2]|0;if(!i){u=e;return}if((f[k>>2]|0)!=(i|0))f[k>>2]=i;Oq(i);u=e;return}function gc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=Oa,da=Oa,ea=Oa,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;e=u;u=u+48|0;g=e+12|0;h=e+32|0;i=e;j=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[j>>2]=$(1.0);k=a+80|0;l=f[k>>2]|0;f[i>>2]=0;m=i+4|0;f[m>>2]=0;f[i+8>>2]=0;if(l){if(l>>>0>1073741823)aq(i);o=l<<2;p=ln(o)|0;f[i>>2]=p;q=p+(l<<2)|0;f[i+8>>2]=q;sj(p|0,0,o|0)|0;f[m>>2]=q;q=c+48|0;o=c+40|0;l=g+4|0;r=g+12|0;s=g+8|0;t=a+40|0;v=a+64|0;w=f[d>>2]|0;d=0;x=p;y=0;z=0;A=p;B=p;C=p;while(1){p=q;D=f[p>>2]|0;E=f[p+4>>2]|0;p=o;F=un(f[p>>2]|0,f[p+4>>2]|0,w+y|0,0)|0;p=Vn(F|0,I|0,D|0,E|0)|0;E=b[(f[f[c>>2]>>2]|0)+p>>0]|0;b[h>>0]=E;p=E&255^318;a:do if(d){D=d+-1|0;F=(D&d|0)==0;if(!F)if(p>>>0>>0)G=p;else G=(p>>>0)%(d>>>0)|0;else G=D&p;H=f[g>>2]|0;J=f[H+(G<<2)>>2]|0;b:do if(J|0?(K=f[J>>2]|0,K|0):0){c:do if(F){L=K;while(1){M=f[L+4>>2]|0;N=(M|0)==(p|0);if(!(N|(M&D|0)==(G|0)))break b;if(N?(b[L+8>>0]|0)==E<<24>>24:0){O=L;break c}L=f[L>>2]|0;if(!L)break b}}else{L=K;while(1){N=f[L+4>>2]|0;if((N|0)==(p|0)){if((b[L+8>>0]|0)==E<<24>>24){O=L;break c}}else{if(N>>>0>>0)P=N;else P=(N>>>0)%(d>>>0)|0;if((P|0)!=(G|0))break b}L=f[L>>2]|0;if(!L)break b}}while(0);f[C+(y<<2)>>2]=f[O+12>>2];Q=x;R=z;S=B;T=A;U=C;break a}while(0);if(!F)if(p>>>0>>0)V=p;else V=(p>>>0)%(d>>>0)|0;else V=D&p;J=f[H+(V<<2)>>2]|0;if(!J){X=V;Y=d;Z=0;_=40}else{if(F){K=J;while(1){K=f[K>>2]|0;if(!K){X=V;Y=d;Z=0;_=40;break a}L=f[K+4>>2]|0;if(!((L|0)==(p|0)|(L&D|0)==(V|0))){X=V;Y=d;Z=0;_=40;break a}if((b[K+8>>0]|0)==E<<24>>24){_=55;break a}}}else aa=J;while(1){aa=f[aa>>2]|0;if(!aa){X=V;Y=d;Z=0;_=40;break a}K=f[aa+4>>2]|0;if((K|0)!=(p|0)){if(K>>>0>>0)ba=K;else ba=(K>>>0)%(d>>>0)|0;if((ba|0)!=(V|0)){X=V;Y=d;Z=0;_=40;break a}}if((b[aa+8>>0]|0)==E<<24>>24){_=55;break}}}}else{X=0;Y=0;Z=1;_=40}while(0);if((_|0)==40){_=0;J=ln(16)|0;b[J+8>>0]=E;f[J+12>>2]=z;f[J+4>>2]=p;f[J>>2]=0;ca=$(((f[r>>2]|0)+1|0)>>>0);da=$(Y>>>0);ea=$(n[j>>2]);do if(Z|$(ea*da)>>0<3|(Y+-1&Y|0)!=0)&1;D=~~$(W($(ca/ea)))>>>0;ai(g,K>>>0>>0?D:K);K=f[l>>2]|0;D=K+-1|0;if(!(D&K)){fa=K;ga=D&p;break}if(p>>>0>>0){fa=K;ga=p}else{fa=K;ga=(p>>>0)%(K>>>0)|0}}else{fa=Y;ga=X}while(0);p=(f[g>>2]|0)+(ga<<2)|0;E=f[p>>2]|0;if(!E){f[J>>2]=f[s>>2];f[s>>2]=J;f[p>>2]=s;p=f[J>>2]|0;if(p|0){K=f[p+4>>2]|0;p=fa+-1|0;if(p&fa)if(K>>>0>>0)ha=K;else ha=(K>>>0)%(fa>>>0)|0;else ha=K&p;ia=(f[g>>2]|0)+(ha<<2)|0;_=53}}else{f[J>>2]=f[E>>2];ia=E;_=53}if((_|0)==53){_=0;f[ia>>2]=J}f[r>>2]=(f[r>>2]|0)+1;_=55}if((_|0)==55){_=0;E=t;p=f[E>>2]|0;K=un(p|0,f[E+4>>2]|0,z|0,0)|0;kh((f[f[v>>2]>>2]|0)+K|0,h|0,p|0)|0;p=f[i>>2]|0;f[p+(y<<2)>>2]=z;Q=p;R=z+1|0;S=p;T=p;U=p}p=y+1|0;ja=f[k>>2]|0;if(p>>>0>=ja>>>0)break;d=f[l>>2]|0;x=Q;y=p;z=R;A=T;B=S;C=U}if((R|0)==(ja|0))ka=T;else{T=a+84|0;if(!(b[T>>0]|0)){U=f[a+72>>2]|0;C=f[a+68>>2]|0;B=C;if((U|0)==(C|0))la=Q;else{A=U-C>>2;C=0;do{U=B+(C<<2)|0;f[U>>2]=f[S+(f[U>>2]<<2)>>2];C=C+1|0}while(C>>>0>>0);la=Q}}else{b[T>>0]=0;T=a+68|0;Q=a+72|0;A=f[Q>>2]|0;C=f[T>>2]|0;S=A-C>>2;B=C;C=A;if(ja>>>0<=S>>>0)if(ja>>>0>>0?(A=B+(ja<<2)|0,(A|0)!=(C|0)):0){f[Q>>2]=C+(~((C+-4-A|0)>>>2)<<2);ma=ja}else ma=ja;else{Ch(T,ja-S|0,1220);ma=f[k>>2]|0}S=f[i>>2]|0;if(!ma)la=S;else{i=f[a+68>>2]|0;a=0;do{f[i+(a<<2)>>2]=f[S+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);la=S}}f[k>>2]=R;ka=la}if(!ka)na=R;else{la=f[m>>2]|0;if((la|0)!=(ka|0))f[m>>2]=la+(~((la+-4-ka|0)>>>2)<<2);Oq(ka);na=R}}else na=0;R=f[g+8>>2]|0;if(R|0){ka=R;do{R=ka;ka=f[ka>>2]|0;Oq(R)}while((ka|0)!=0)}ka=f[g>>2]|0;f[g>>2]=0;if(!ka){u=e;return na|0}Oq(ka);u=e;return na|0}function hc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=Oa,ea=Oa,fa=Oa,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;e=u;u=u+48|0;g=e+16|0;i=e+12|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)aq(j);p=m<<2;q=ln(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;sj(q|0,0,p|0)|0;f[o>>2]=r;r=c+48|0;p=c+40|0;m=g+4|0;s=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=f[d>>2]|0;d=0;y=q;z=0;A=0;B=q;C=q;D=q;while(1){q=r;E=f[q>>2]|0;F=f[q+4>>2]|0;q=p;G=un(f[q>>2]|0,f[q+4>>2]|0,x+z|0,0)|0;q=Vn(G|0,I|0,E|0,F|0)|0;F=(f[f[c>>2]>>2]|0)+q|0;q=h[F>>0]|h[F+1>>0]<<8|h[F+2>>0]<<16|h[F+3>>0]<<24;f[i>>2]=q;F=q^318;a:do if(d){E=d+-1|0;G=(E&d|0)==0;if(!G)if(F>>>0>>0)H=F;else H=(F>>>0)%(d>>>0)|0;else H=E&F;J=f[g>>2]|0;K=f[J+(H<<2)>>2]|0;b:do if(K|0?(L=f[K>>2]|0,L|0):0){c:do if(G){M=L;while(1){N=f[M+4>>2]|0;O=(N|0)==(F|0);if(!(O|(N&E|0)==(H|0)))break b;if(O?(f[M+8>>2]|0)==(q|0):0){P=M;break c}M=f[M>>2]|0;if(!M)break b}}else{M=L;while(1){O=f[M+4>>2]|0;if((O|0)==(F|0)){if((f[M+8>>2]|0)==(q|0)){P=M;break c}}else{if(O>>>0>>0)Q=O;else Q=(O>>>0)%(d>>>0)|0;if((Q|0)!=(H|0))break b}M=f[M>>2]|0;if(!M)break b}}while(0);f[D+(z<<2)>>2]=f[P+12>>2];R=y;S=A;T=C;U=B;V=D;break a}while(0);if(!G)if(F>>>0>>0)X=F;else X=(F>>>0)%(d>>>0)|0;else X=E&F;K=f[J+(X<<2)>>2]|0;if(!K){Y=X;Z=d;_=0;aa=40}else{if(G){L=K;while(1){L=f[L>>2]|0;if(!L){Y=X;Z=d;_=0;aa=40;break a}M=f[L+4>>2]|0;if(!((M|0)==(F|0)|(M&E|0)==(X|0))){Y=X;Z=d;_=0;aa=40;break a}if((f[L+8>>2]|0)==(q|0)){aa=55;break a}}}else ba=K;while(1){ba=f[ba>>2]|0;if(!ba){Y=X;Z=d;_=0;aa=40;break a}L=f[ba+4>>2]|0;if((L|0)!=(F|0)){if(L>>>0>>0)ca=L;else ca=(L>>>0)%(d>>>0)|0;if((ca|0)!=(X|0)){Y=X;Z=d;_=0;aa=40;break a}}if((f[ba+8>>2]|0)==(q|0)){aa=55;break}}}}else{Y=0;Z=0;_=1;aa=40}while(0);if((aa|0)==40){aa=0;K=ln(16)|0;f[K+8>>2]=q;f[K+12>>2]=A;f[K+4>>2]=F;f[K>>2]=0;da=$(((f[s>>2]|0)+1|0)>>>0);ea=$(Z>>>0);fa=$(n[k>>2]);do if(_|$(fa*ea)>>0<3|(Z+-1&Z|0)!=0)&1;E=~~$(W($(da/fa)))>>>0;Hi(g,L>>>0>>0?E:L);L=f[m>>2]|0;E=L+-1|0;if(!(E&L)){ga=L;ha=E&F;break}if(F>>>0>>0){ga=L;ha=F}else{ga=L;ha=(F>>>0)%(L>>>0)|0}}else{ga=Z;ha=Y}while(0);F=(f[g>>2]|0)+(ha<<2)|0;q=f[F>>2]|0;if(!q){f[K>>2]=f[t>>2];f[t>>2]=K;f[F>>2]=t;F=f[K>>2]|0;if(F|0){L=f[F+4>>2]|0;F=ga+-1|0;if(F&ga)if(L>>>0>>0)ia=L;else ia=(L>>>0)%(ga>>>0)|0;else ia=L&F;ja=(f[g>>2]|0)+(ia<<2)|0;aa=53}}else{f[K>>2]=f[q>>2];ja=q;aa=53}if((aa|0)==53){aa=0;f[ja>>2]=K}f[s>>2]=(f[s>>2]|0)+1;aa=55}if((aa|0)==55){aa=0;q=v;F=f[q>>2]|0;L=un(F|0,f[q+4>>2]|0,A|0,0)|0;kh((f[f[w>>2]>>2]|0)+L|0,i|0,F|0)|0;F=f[j>>2]|0;f[F+(z<<2)>>2]=A;R=F;S=A+1|0;T=F;U=F;V=F}F=z+1|0;ka=f[l>>2]|0;if(F>>>0>=ka>>>0)break;d=f[m>>2]|0;y=R;z=F;A=S;B=U;C=T;D=V}if((S|0)==(ka|0))la=U;else{U=a+84|0;if(!(b[U>>0]|0)){V=f[a+72>>2]|0;D=f[a+68>>2]|0;C=D;if((V|0)==(D|0))ma=R;else{B=V-D>>2;D=0;do{V=C+(D<<2)|0;f[V>>2]=f[T+(f[V>>2]<<2)>>2];D=D+1|0}while(D>>>0>>0);ma=R}}else{b[U>>0]=0;U=a+68|0;R=a+72|0;B=f[R>>2]|0;D=f[U>>2]|0;T=B-D>>2;C=D;D=B;if(ka>>>0<=T>>>0)if(ka>>>0>>0?(B=C+(ka<<2)|0,(B|0)!=(D|0)):0){f[R>>2]=D+(~((D+-4-B|0)>>>2)<<2);na=ka}else na=ka;else{Ch(U,ka-T|0,1220);na=f[l>>2]|0}T=f[j>>2]|0;if(!na)ma=T;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[T+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);ma=T}}f[l>>2]=S;la=ma}if(!la)oa=S;else{ma=f[o>>2]|0;if((ma|0)!=(la|0))f[o>>2]=ma+(~((ma+-4-la|0)>>>2)<<2);Oq(la);oa=S}}else oa=0;S=f[g+8>>2]|0;if(S|0){la=S;do{S=la;la=f[la>>2]|0;Oq(S)}while((la|0)!=0)}la=f[g>>2]|0;f[g>>2]=0;if(!la){u=e;return oa|0}Oq(la);u=e;return oa|0}function ic(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0;e=u;u=u+96|0;g=e+92|0;h=e+88|0;i=e+72|0;j=e+48|0;k=e+24|0;l=e;m=a+16|0;n=f[m>>2]|0;o=f[c>>2]|0;f[i>>2]=n;f[i+4>>2]=o;c=i+8|0;f[c>>2]=o;b[i+12>>0]=1;p=f[(f[n+28>>2]|0)+(o<<2)>>2]|0;n=a+20|0;q=f[n>>2]|0;r=f[q>>2]|0;if((f[q+4>>2]|0)-r>>2>>>0<=p>>>0)aq(q);q=a+8|0;s=f[(f[q>>2]|0)+(f[r+(p<<2)>>2]<<2)>>2]|0;p=a+4|0;r=f[p>>2]|0;if(!(b[r+84>>0]|0))t=f[(f[r+68>>2]|0)+(s<<2)>>2]|0;else t=s;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[h>>2]=t;t=b[r+24>>0]|0;f[g>>2]=f[h>>2];vb(r,g,t,j)|0;t=a+28|0;a=(f[t>>2]|0)==0;a:do if((o|0)!=-1){r=k+8|0;s=j+8|0;v=k+16|0;w=j+16|0;x=l+8|0;y=l+16|0;z=o;A=o;B=0;C=0;D=0;E=0;F=0;G=0;H=a;J=o;while(1){do if(H){K=J+1|0;if((J|0)!=-1){L=((K>>>0)%3|0|0)==0?J+-2|0:K;if((z|0)!=-1)if(!((z>>>0)%3|0)){M=z;N=z+2|0;O=L;P=z;break}else{M=z;N=z+-1|0;O=L;P=z;break}else{M=-1;N=-1;O=L;P=-1}}else{M=z;N=-1;O=-1;P=-1}}else{L=A+1|0;K=((L>>>0)%3|0|0)==0?A+-2|0:L;if(!((A>>>0)%3|0)){M=z;N=A+2|0;O=K;P=J;break}else{M=z;N=A+-1|0;O=K;P=J;break}}while(0);K=f[(f[(f[m>>2]|0)+28>>2]|0)+(O<<2)>>2]|0;Q=f[n>>2]|0;L=f[Q>>2]|0;if((f[Q+4>>2]|0)-L>>2>>>0<=K>>>0){R=17;break}S=f[(f[q>>2]|0)+(f[L+(K<<2)>>2]<<2)>>2]|0;K=f[p>>2]|0;if(!(b[K+84>>0]|0))T=f[(f[K+68>>2]|0)+(S<<2)>>2]|0;else T=S;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[h>>2]=T;S=b[K+24>>0]|0;f[g>>2]=f[h>>2];vb(K,g,S,k)|0;S=f[(f[(f[m>>2]|0)+28>>2]|0)+(N<<2)>>2]|0;U=f[n>>2]|0;K=f[U>>2]|0;if((f[U+4>>2]|0)-K>>2>>>0<=S>>>0){R=21;break}L=f[(f[q>>2]|0)+(f[K+(S<<2)>>2]<<2)>>2]|0;S=f[p>>2]|0;if(!(b[S+84>>0]|0))V=f[(f[S+68>>2]|0)+(L<<2)>>2]|0;else V=L;f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;f[l+12>>2]=0;f[l+16>>2]=0;f[l+20>>2]=0;f[h>>2]=V;L=b[S+24>>0]|0;f[g>>2]=f[h>>2];vb(S,g,L,l)|0;L=k;S=j;K=f[S>>2]|0;W=f[S+4>>2]|0;S=Xn(f[L>>2]|0,f[L+4>>2]|0,K|0,W|0)|0;L=I;X=r;Y=s;Z=f[Y>>2]|0;_=f[Y+4>>2]|0;Y=Xn(f[X>>2]|0,f[X+4>>2]|0,Z|0,_|0)|0;X=I;$=v;aa=w;ba=f[aa>>2]|0;ca=f[aa+4>>2]|0;aa=Xn(f[$>>2]|0,f[$+4>>2]|0,ba|0,ca|0)|0;$=I;da=l;ea=Xn(f[da>>2]|0,f[da+4>>2]|0,K|0,W|0)|0;W=I;K=x;da=Xn(f[K>>2]|0,f[K+4>>2]|0,Z|0,_|0)|0;_=I;Z=y;K=Xn(f[Z>>2]|0,f[Z+4>>2]|0,ba|0,ca|0)|0;ca=I;ba=un(K|0,ca|0,Y|0,X|0)|0;Z=I;fa=un(da|0,_|0,aa|0,$|0)|0;ga=I;ha=un(ea|0,W|0,aa|0,$|0)|0;$=I;aa=un(K|0,ca|0,S|0,L|0)|0;ca=I;K=un(da|0,_|0,S|0,L|0)|0;L=I;S=un(ea|0,W|0,Y|0,X|0)|0;X=I;Y=Xn(B|0,C|0,fa|0,ga|0)|0;ga=Vn(Y|0,I|0,ba|0,Z|0)|0;Z=I;ba=Vn(ha|0,$|0,D|0,E|0)|0;$=Xn(ba|0,I|0,aa|0,ca|0)|0;ca=I;aa=Xn(F|0,G|0,S|0,X|0)|0;X=Vn(aa|0,I|0,K|0,L|0)|0;L=I;Pg(i);A=f[c>>2]|0;K=(f[t>>2]|0)==0;if((A|0)==-1){ia=K;ja=Z;ka=ga;la=ca;ma=$;na=L;oa=X;break a}else{z=M;B=ga;C=Z;D=$;E=ca;F=X;G=L;H=K;J=P}}if((R|0)==17)aq(Q);else if((R|0)==21)aq(U)}else{ia=a;ja=0;ka=0;la=0;ma=0;na=0;oa=0}while(0);a=(ja|0)>-1|(ja|0)==-1&ka>>>0>4294967295;U=Xn(0,0,ka|0,ja|0)|0;R=a?ja:I;Q=(la|0)>-1|(la|0)==-1&ma>>>0>4294967295;P=Xn(0,0,ma|0,la|0)|0;M=Q?la:I;t=(na|0)>-1|(na|0)==-1&oa>>>0>4294967295;c=Xn(0,0,oa|0,na|0)|0;i=Vn((Q?ma:P)|0,M|0,(t?oa:c)|0,(t?na:I)|0)|0;t=Vn(i|0,I|0,(a?ka:U)|0,R|0)|0;R=I;if(ia){if((t|0)<=536870912){pa=ka;qa=ma;ra=oa;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}ia=Yn(t|0,R|0,29)|0;U=ia&7;ia=Ik(ka|0,ja|0,U|0,0)|0;a=Ik(ma|0,la|0,U|0,0)|0;i=Ik(oa|0,na|0,U|0,0)|0;pa=ia;qa=a;ra=i;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}else{if(!((R|0)>0|(R|0)==0&t>>>0>536870912)){pa=ka;qa=ma;ra=oa;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}i=Yn(t|0,R|0,29)|0;R=I;t=Ik(ka|0,ja|0,i|0,R|0)|0;ja=Ik(ma|0,la|0,i|0,R|0)|0;la=Ik(oa|0,na|0,i|0,R|0)|0;pa=t;qa=ja;ra=la;f[d>>2]=pa;sa=d+4|0;f[sa>>2]=qa;ta=d+8|0;f[ta>>2]=ra;u=e;return}}function jc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Oa,V=Oa,X=Oa,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;g=u;u=u+48|0;i=g+28|0;j=g+8|0;k=g;l=g+16|0;m=i+16|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[m>>2]=$(1.0);o=a+80|0;p=f[o>>2]|0;f[l>>2]=0;q=l+4|0;f[q>>2]=0;f[l+8>>2]=0;if(p){if(p>>>0>1073741823)aq(l);r=p<<2;s=ln(r)|0;f[l>>2]=s;t=s+(p<<2)|0;f[l+8>>2]=t;sj(s|0,0,r|0)|0;f[q>>2]=t;t=f[e>>2]|0;e=c+48|0;r=c+40|0;s=i+4|0;p=i+12|0;v=i+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=e;B=f[A>>2]|0;C=f[A+4>>2]|0;A=r;D=un(f[A>>2]|0,f[A+4>>2]|0,t+y|0,0)|0;A=Vn(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;A=C;B=h[A>>0]|h[A+1>>0]<<8|h[A+2>>0]<<16|h[A+3>>0]<<24;A=C+4|0;C=h[A>>0]|h[A+1>>0]<<8|h[A+2>>0]<<16|h[A+3>>0]<<24;A=j;f[A>>2]=B;f[A+4>>2]=C;A=k;f[A>>2]=B;f[A+4>>2]=C;C=yf(i,k)|0;if(!C){A=k;B=f[A>>2]|0;D=f[A+4>>2]|0;A=B&65535;E=Yn(B|0,D|0,16)|0;F=E&65535;G=D&65535;H=Yn(B|0,D|0,48)|0;J=H&65535;K=((((A^318)&65535)+239^E&65535)+239^D&65535)+239^H&65535;H=f[s>>2]|0;E=(H|0)==0;a:do if(!E){L=H+-1|0;M=(L&H|0)==0;if(!M)if(K>>>0>>0)N=K;else N=(K>>>0)%(H>>>0)|0;else N=K&L;O=f[(f[i>>2]|0)+(N<<2)>>2]|0;if((O|0)!=0?(P=f[O>>2]|0,(P|0)!=0):0){if(M){M=P;while(1){O=f[M+4>>2]|0;if(!((O|0)==(K|0)|(O&L|0)==(N|0))){Q=N;R=31;break a}O=M+8|0;if((((d[O>>1]|0)==A<<16>>16?(d[O+2>>1]|0)==F<<16>>16:0)?(d[M+12>>1]|0)==G<<16>>16:0)?(d[O+6>>1]|0)==J<<16>>16:0)break a;M=f[M>>2]|0;if(!M){Q=N;R=31;break a}}}else S=P;while(1){M=f[S+4>>2]|0;if((M|0)!=(K|0)){if(M>>>0>>0)T=M;else T=(M>>>0)%(H>>>0)|0;if((T|0)!=(N|0)){Q=N;R=31;break a}}M=S+8|0;if((((d[M>>1]|0)==A<<16>>16?(d[M+2>>1]|0)==F<<16>>16:0)?(d[S+12>>1]|0)==G<<16>>16:0)?(d[M+6>>1]|0)==J<<16>>16:0)break a;S=f[S>>2]|0;if(!S){Q=N;R=31;break}}}else{Q=N;R=31}}else{Q=0;R=31}while(0);if((R|0)==31){R=0;J=ln(20)|0;G=J+8|0;F=G;d[F>>1]=B;d[F+2>>1]=B>>>16;F=G+4|0;d[F>>1]=D;d[F+2>>1]=D>>>16;f[J+16>>2]=z;f[J+4>>2]=K;f[J>>2]=0;U=$(((f[p>>2]|0)+1|0)>>>0);V=$(H>>>0);X=$(n[m>>2]);do if(E|$(X*V)>>0<3|(H+-1&H|0)!=0)&1;G=~~$(W($(U/X)))>>>0;Sh(i,F>>>0>>0?G:F);F=f[s>>2]|0;G=F+-1|0;if(!(G&F)){Y=F;Z=G&K;break}if(K>>>0>>0){Y=F;Z=K}else{Y=F;Z=(K>>>0)%(F>>>0)|0}}else{Y=H;Z=Q}while(0);H=(f[i>>2]|0)+(Z<<2)|0;K=f[H>>2]|0;if(!K){f[J>>2]=f[v>>2];f[v>>2]=J;f[H>>2]=v;H=f[J>>2]|0;if(H|0){E=f[H+4>>2]|0;H=Y+-1|0;if(H&Y)if(E>>>0>>0)_=E;else _=(E>>>0)%(Y>>>0)|0;else _=E&H;aa=(f[i>>2]|0)+(_<<2)|0;R=44}}else{f[J>>2]=f[K>>2];aa=K;R=44}if((R|0)==44){R=0;f[aa>>2]=J}f[p>>2]=(f[p>>2]|0)+1}K=w;H=f[K>>2]|0;E=un(H|0,f[K+4>>2]|0,z|0,0)|0;kh((f[f[x>>2]>>2]|0)+E|0,j|0,H|0)|0;H=f[l>>2]|0;f[H+(y<<2)>>2]=z;ba=z+1|0;ca=H}else{H=f[l>>2]|0;f[H+(y<<2)>>2]=f[C+16>>2];ba=z;ca=H}y=y+1|0;da=f[o>>2]|0;if(y>>>0>=da>>>0)break;else z=ba}if((ba|0)==(da|0))ea=ca;else{z=a+84|0;if(!(b[z>>0]|0)){y=f[a+72>>2]|0;j=f[a+68>>2]|0;x=j;if((y|0)==(j|0))fa=ca;else{w=y-j>>2;j=0;do{y=x+(j<<2)|0;f[y>>2]=f[ca+(f[y>>2]<<2)>>2];j=j+1|0}while(j>>>0>>0);fa=ca}}else{b[z>>0]=0;z=a+68|0;ca=a+72|0;w=f[ca>>2]|0;j=f[z>>2]|0;x=w-j>>2;y=j;j=w;if(da>>>0<=x>>>0)if(da>>>0>>0?(w=y+(da<<2)|0,(w|0)!=(j|0)):0){f[ca>>2]=j+(~((j+-4-w|0)>>>2)<<2);ga=da}else ga=da;else{Ch(z,da-x|0,1220);ga=f[o>>2]|0}x=f[l>>2]|0;if(!ga)fa=x;else{l=f[a+68>>2]|0;a=0;do{f[l+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);fa=x}}f[o>>2]=ba;ea=fa}if(!ea)ha=ba;else{fa=f[q>>2]|0;if((fa|0)!=(ea|0))f[q>>2]=fa+(~((fa+-4-ea|0)>>>2)<<2);Oq(ea);ha=ba}}else ha=0;ba=f[i+8>>2]|0;if(ba|0){ea=ba;do{ba=ea;ea=f[ea>>2]|0;Oq(ba)}while((ea|0)!=0)}ea=f[i>>2]|0;f[i>>2]=0;if(!ea){u=g;return ha|0}Oq(ea);u=g;return ha|0}function kc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;c=u;u=u+16|0;d=c+8|0;e=c;g=c+4|0;h=a+16|0;i=f[h>>2]|0;j=a+20|0;k=f[j>>2]|0;if((k|0)==(i|0))l=i;else{m=k+(~((k+-4-i|0)>>>2)<<2)|0;f[j>>2]=m;l=m}m=a+24|0;if((l|0)==(f[m>>2]|0)){Ri(h,b);n=f[h>>2]|0;o=f[j>>2]|0}else{f[l>>2]=f[b>>2];k=l+4|0;f[j>>2]=k;n=i;o=k}k=f[a+8>>2]|0;i=(f[k+100>>2]|0)-(f[k+96>>2]|0)|0;k=(i|0)/12|0;if((n|0)==(o|0)){u=c;return 1}n=a+28|0;l=(i|0)>0;i=a+164|0;p=a+12|0;q=a+76|0;r=a+80|0;s=a+72|0;t=a+152|0;v=a+84|0;w=a+272|0;x=a+276|0;y=a+268|0;z=a+168|0;A=a+140|0;B=a+120|0;C=o;do{o=f[C+-4>>2]|0;f[b>>2]=o;a:do if((o|0)!=-1?(D=(o>>>0)/3|0,E=f[n>>2]|0,(f[E+(D>>>5<<2)>>2]&1<<(D&31)|0)==0):0){if(l){D=0;F=E;b:while(1){E=D+1|0;f[i>>2]=(f[i>>2]|0)+1;G=f[b>>2]|0;H=(G|0)==-1?-1:(G>>>0)/3|0;G=F+(H>>>5<<2)|0;f[G>>2]=1<<(H&31)|f[G>>2];G=f[q>>2]|0;if((G|0)==(f[r>>2]|0))Ri(s,b);else{f[G>>2]=f[b>>2];f[q>>2]=G+4}G=f[b>>2]|0;if((G|0)==-1)I=-1;else I=f[(f[f[p>>2]>>2]|0)+(G<<2)>>2]|0;J=(f[(f[t>>2]|0)+(I<<2)>>2]|0)!=-1;K=(f[v>>2]|0)+(I>>>5<<2)|0;L=1<<(I&31);M=f[K>>2]|0;do if(!(M&L)){f[K>>2]=M|L;if(J){N=f[b>>2]|0;O=30;break}f[d>>2]=0;P=f[w>>2]|0;if((P|0)==(f[x>>2]|0))Ri(y,d);else{f[P>>2]=0;f[w>>2]=P+4}P=f[b>>2]|0;Q=P+1|0;if((P|0)!=-1?(R=((Q>>>0)%3|0|0)==0?P+-2|0:Q,(R|0)!=-1):0)S=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;else S=-1;f[b>>2]=S}else{N=G;O=30}while(0);if((O|0)==30){O=0;G=N+1|0;if((N|0)==-1){O=35;break}L=((G>>>0)%3|0|0)==0?N+-2|0:G;if((L|0)==-1)T=-1;else T=f[(f[(f[p>>2]|0)+12>>2]|0)+(L<<2)>>2]|0;f[e>>2]=T;L=(((N>>>0)%3|0|0)==0?2:-1)+N|0;if((L|0)==-1)U=-1;else U=f[(f[(f[p>>2]|0)+12>>2]|0)+(L<<2)>>2]|0;L=(T|0)==-1;M=L?-1:(T>>>0)/3|0;V=(U|0)==-1;W=V?-1:(U>>>0)/3|0;K=((G>>>0)%3|0|0)==0?N+-2|0:G;if(((K|0)!=-1?(G=f[(f[p>>2]|0)+12>>2]|0,R=f[G+(K<<2)>>2]|0,(R|0)!=-1):0)?(K=(R>>>0)/3|0,R=f[n>>2]|0,(f[R+(K>>>5<<2)>>2]&1<<(K&31)|0)==0):0){K=(((N>>>0)%3|0|0)==0?2:-1)+N|0;do if((K|0)!=-1){Q=f[G+(K<<2)>>2]|0;if((Q|0)==-1)break;P=(Q>>>0)/3|0;if(!(f[R+(P>>>5<<2)>>2]&1<<(P&31))){O=63;break b}}while(0);if(!V)xf(a,f[i>>2]|0,H,0,W);f[d>>2]=3;R=f[w>>2]|0;if((R|0)==(f[x>>2]|0))Ri(y,d);else{f[R>>2]=3;f[w>>2]=R+4}X=f[e>>2]|0}else{if(!L){xf(a,f[i>>2]|0,H,1,M);R=f[b>>2]|0;if((R|0)==-1){O=44;break}else Y=R}else Y=N;R=(((Y>>>0)%3|0|0)==0?2:-1)+Y|0;if((R|0)==-1){O=44;break}K=f[(f[(f[p>>2]|0)+12>>2]|0)+(R<<2)>>2]|0;if((K|0)==-1){O=44;break}R=(K>>>0)/3|0;if(f[(f[n>>2]|0)+(R>>>5<<2)>>2]&1<<(R&31)|0){O=44;break}f[d>>2]=5;R=f[w>>2]|0;if((R|0)==(f[x>>2]|0))Ri(y,d);else{f[R>>2]=5;f[w>>2]=R+4}X=U}f[b>>2]=X}if((E|0)>=(k|0))break a;D=E;F=f[n>>2]|0}do if((O|0)==35){O=0;f[e>>2]=-1;O=46}else if((O|0)==44){O=0;if(V)O=46;else{xf(a,f[i>>2]|0,H,0,W);O=46}}else if((O|0)==63){O=0;f[d>>2]=1;F=f[w>>2]|0;if((F|0)==(f[x>>2]|0))Ri(y,d);else{f[F>>2]=1;f[w>>2]=F+4}f[z>>2]=(f[z>>2]|0)+1;if(J?(F=f[(f[t>>2]|0)+(I<<2)>>2]|0,(1<<(F&31)&f[(f[A>>2]|0)+(F>>>5<<2)>>2]|0)==0):0){f[g>>2]=f[b>>2];f[d>>2]=f[g>>2];Pe(a,d,0)|0}F=f[i>>2]|0;f[d>>2]=H;D=je(B,d)|0;f[D>>2]=F;F=f[j>>2]|0;f[F+-4>>2]=U;if((F|0)==(f[m>>2]|0)){Ri(h,e);break}else{f[F>>2]=f[e>>2];f[j>>2]=F+4;break}}while(0);if((O|0)==46){O=0;f[d>>2]=7;F=f[w>>2]|0;if((F|0)==(f[x>>2]|0))Ri(y,d);else{f[F>>2]=7;f[w>>2]=F+4}f[j>>2]=(f[j>>2]|0)+-4}}}else O=11;while(0);if((O|0)==11){O=0;f[j>>2]=C+-4}C=f[j>>2]|0}while((f[h>>2]|0)!=(C|0));u=c;return 1}function lc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Oa,V=Oa,X=Oa,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;e=u;u=u+48|0;g=e+20|0;i=e+16|0;j=e+12|0;k=e;l=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)aq(k);q=o<<2;r=ln(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;sj(r|0,0,q|0)|0;f[p>>2]=s;s=f[d>>2]|0;d=c+48|0;q=c+40|0;r=g+4|0;o=g+12|0;t=g+8|0;v=a+40|0;w=a+64|0;x=0;y=0;while(1){z=d;A=f[z>>2]|0;B=f[z+4>>2]|0;z=q;C=un(f[z>>2]|0,f[z+4>>2]|0,s+x|0,0)|0;z=Vn(C|0,I|0,A|0,B|0)|0;B=(f[f[c>>2]>>2]|0)+z|0;z=h[B>>0]|h[B+1>>0]<<8|h[B+2>>0]<<16|h[B+3>>0]<<24;f[i>>2]=z;f[j>>2]=z;z=Ef(g,j)|0;if(!z){B=f[j>>2]|0;A=B&255;C=B>>>8;D=C&255;E=B>>>16;F=E&255;G=B>>>24;H=G&255;J=C&255;C=E&255;E=(((B&255^318)+239^J)+239^C)+239^G;G=f[r>>2]|0;K=(G|0)==0;a:do if(!K){L=G+-1|0;M=(L&G|0)==0;if(!M)if(E>>>0>>0)N=E;else N=(E>>>0)%(G>>>0)|0;else N=E&L;O=f[(f[g>>2]|0)+(N<<2)>>2]|0;if((O|0)!=0?(P=f[O>>2]|0,(P|0)!=0):0){if(M){M=P;while(1){O=f[M+4>>2]|0;if(!((O|0)==(E|0)|(O&L|0)==(N|0))){Q=N;R=31;break a}O=M+8|0;if((((b[O>>0]|0)==A<<24>>24?(b[O+1>>0]|0)==D<<24>>24:0)?(b[O+2>>0]|0)==F<<24>>24:0)?(b[O+3>>0]|0)==H<<24>>24:0)break a;M=f[M>>2]|0;if(!M){Q=N;R=31;break a}}}else S=P;while(1){M=f[S+4>>2]|0;if((M|0)!=(E|0)){if(M>>>0>>0)T=M;else T=(M>>>0)%(G>>>0)|0;if((T|0)!=(N|0)){Q=N;R=31;break a}}M=S+8|0;if((((b[M>>0]|0)==A<<24>>24?(b[M+1>>0]|0)==D<<24>>24:0)?(b[M+2>>0]|0)==F<<24>>24:0)?(b[M+3>>0]|0)==H<<24>>24:0)break a;S=f[S>>2]|0;if(!S){Q=N;R=31;break}}}else{Q=N;R=31}}else{Q=0;R=31}while(0);if((R|0)==31){R=0;H=ln(16)|0;F=H+8|0;D=B&-16776961|C<<16|J<<8;b[F>>0]=D;b[F+1>>0]=D>>8;b[F+2>>0]=D>>16;b[F+3>>0]=D>>24;f[H+12>>2]=y;f[H+4>>2]=E;f[H>>2]=0;U=$(((f[o>>2]|0)+1|0)>>>0);V=$(G>>>0);X=$(n[l>>2]);do if(K|$(X*V)>>0<3|(G+-1&G|0)!=0)&1;F=~~$(W($(U/X)))>>>0;Zh(g,D>>>0>>0?F:D);D=f[r>>2]|0;F=D+-1|0;if(!(F&D)){Y=D;Z=F&E;break}if(E>>>0>>0){Y=D;Z=E}else{Y=D;Z=(E>>>0)%(D>>>0)|0}}else{Y=G;Z=Q}while(0);G=(f[g>>2]|0)+(Z<<2)|0;E=f[G>>2]|0;if(!E){f[H>>2]=f[t>>2];f[t>>2]=H;f[G>>2]=t;G=f[H>>2]|0;if(G|0){K=f[G+4>>2]|0;G=Y+-1|0;if(G&Y)if(K>>>0>>0)_=K;else _=(K>>>0)%(Y>>>0)|0;else _=K&G;aa=(f[g>>2]|0)+(_<<2)|0;R=44}}else{f[H>>2]=f[E>>2];aa=E;R=44}if((R|0)==44){R=0;f[aa>>2]=H}f[o>>2]=(f[o>>2]|0)+1}E=v;G=f[E>>2]|0;K=un(G|0,f[E+4>>2]|0,y|0,0)|0;kh((f[f[w>>2]>>2]|0)+K|0,i|0,G|0)|0;G=f[k>>2]|0;f[G+(x<<2)>>2]=y;ba=y+1|0;ca=G}else{G=f[k>>2]|0;f[G+(x<<2)>>2]=f[z+12>>2];ba=y;ca=G}x=x+1|0;da=f[m>>2]|0;if(x>>>0>=da>>>0)break;else y=ba}if((ba|0)==(da|0))ea=ca;else{y=a+84|0;if(!(b[y>>0]|0)){x=f[a+72>>2]|0;i=f[a+68>>2]|0;w=i;if((x|0)==(i|0))fa=ca;else{v=x-i>>2;i=0;do{x=w+(i<<2)|0;f[x>>2]=f[ca+(f[x>>2]<<2)>>2];i=i+1|0}while(i>>>0>>0);fa=ca}}else{b[y>>0]=0;y=a+68|0;ca=a+72|0;v=f[ca>>2]|0;i=f[y>>2]|0;w=v-i>>2;x=i;i=v;if(da>>>0<=w>>>0)if(da>>>0>>0?(v=x+(da<<2)|0,(v|0)!=(i|0)):0){f[ca>>2]=i+(~((i+-4-v|0)>>>2)<<2);ga=da}else ga=da;else{Ch(y,da-w|0,1220);ga=f[m>>2]|0}w=f[k>>2]|0;if(!ga)fa=w;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[w+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);fa=w}}f[m>>2]=ba;ea=fa}if(!ea)ha=ba;else{fa=f[p>>2]|0;if((fa|0)!=(ea|0))f[p>>2]=fa+(~((fa+-4-ea|0)>>>2)<<2);Oq(ea);ha=ba}}else ha=0;ba=f[g+8>>2]|0;if(ba|0){ea=ba;do{ba=ea;ea=f[ea>>2]|0;Oq(ba)}while((ea|0)!=0)}ea=f[g>>2]|0;f[g>>2]=0;if(!ea){u=e;return ha|0}Oq(ea);u=e;return ha|0}function mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Oa,V=Oa,X=Oa,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;e=u;u=u+80|0;g=e+48|0;h=e+32|0;i=e+16|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)aq(j);p=m<<2;q=ln(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;sj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+4|0;m=i+8|0;s=i+12|0;t=g+4|0;v=g+12|0;w=g+8|0;x=a+40|0;y=a+64|0;z=0;A=0;while(1){B=d;C=f[B>>2]|0;D=f[B+4>>2]|0;B=p;E=un(f[B>>2]|0,f[B+4>>2]|0,r+A|0,0)|0;B=Vn(E|0,I|0,C|0,D|0)|0;D=(f[f[c>>2]>>2]|0)+B|0;B=h;C=D;E=B+16|0;do{b[B>>0]=b[C>>0]|0;B=B+1|0;C=C+1|0}while((B|0)<(E|0));im(i|0,D|0,16)|0;C=Vf(g,i)|0;if(!C){B=f[i>>2]|0;E=f[q>>2]|0;F=f[m>>2]|0;G=f[s>>2]|0;H=(((B^318)+239^E)+239^F)+239^G;J=f[t>>2]|0;K=(J|0)==0;a:do if(!K){L=J+-1|0;M=(L&J|0)==0;if(!M)if(H>>>0>>0)N=H;else N=(H>>>0)%(J>>>0)|0;else N=H&L;O=f[(f[g>>2]|0)+(N<<2)>>2]|0;if((O|0)!=0?(P=f[O>>2]|0,(P|0)!=0):0){if(M){M=P;while(1){O=f[M+4>>2]|0;if(!((O|0)==(H|0)|(O&L|0)==(N|0))){Q=N;R=31;break a}if((((f[M+8>>2]|0)==(B|0)?(f[M+12>>2]|0)==(E|0):0)?(f[M+16>>2]|0)==(F|0):0)?(f[M+20>>2]|0)==(G|0):0)break a;M=f[M>>2]|0;if(!M){Q=N;R=31;break a}}}else S=P;while(1){M=f[S+4>>2]|0;if((M|0)!=(H|0)){if(M>>>0>>0)T=M;else T=(M>>>0)%(J>>>0)|0;if((T|0)!=(N|0)){Q=N;R=31;break a}}if((((f[S+8>>2]|0)==(B|0)?(f[S+12>>2]|0)==(E|0):0)?(f[S+16>>2]|0)==(F|0):0)?(f[S+20>>2]|0)==(G|0):0)break a;S=f[S>>2]|0;if(!S){Q=N;R=31;break}}}else{Q=N;R=31}}else{Q=0;R=31}while(0);if((R|0)==31){R=0;D=ln(28)|0;f[D+8>>2]=B;f[D+12>>2]=E;f[D+16>>2]=F;f[D+20>>2]=G;f[D+24>>2]=z;f[D+4>>2]=H;f[D>>2]=0;U=$(((f[v>>2]|0)+1|0)>>>0);V=$(J>>>0);X=$(n[k>>2]);do if(K|$(X*V)>>0<3|(J+-1&J|0)!=0)&1;M=~~$(W($(U/X)))>>>0;Wh(g,P>>>0>>0?M:P);P=f[t>>2]|0;M=P+-1|0;if(!(M&P)){Y=P;Z=M&H;break}if(H>>>0

    >>0){Y=P;Z=H}else{Y=P;Z=(H>>>0)%(P>>>0)|0}}else{Y=J;Z=Q}while(0);J=(f[g>>2]|0)+(Z<<2)|0;H=f[J>>2]|0;if(!H){f[D>>2]=f[w>>2];f[w>>2]=D;f[J>>2]=w;J=f[D>>2]|0;if(J|0){K=f[J+4>>2]|0;J=Y+-1|0;if(J&Y)if(K>>>0>>0)_=K;else _=(K>>>0)%(Y>>>0)|0;else _=K&J;aa=(f[g>>2]|0)+(_<<2)|0;R=44}}else{f[D>>2]=f[H>>2];aa=H;R=44}if((R|0)==44){R=0;f[aa>>2]=D}f[v>>2]=(f[v>>2]|0)+1}H=x;J=f[H>>2]|0;K=un(J|0,f[H+4>>2]|0,z|0,0)|0;kh((f[f[y>>2]>>2]|0)+K|0,h|0,J|0)|0;J=f[j>>2]|0;f[J+(A<<2)>>2]=z;ba=z+1|0;ca=J}else{J=f[j>>2]|0;f[J+(A<<2)>>2]=f[C+24>>2];ba=z;ca=J}A=A+1|0;da=f[l>>2]|0;if(A>>>0>=da>>>0)break;else z=ba}if((ba|0)==(da|0))ea=ca;else{z=a+84|0;if(!(b[z>>0]|0)){A=f[a+72>>2]|0;h=f[a+68>>2]|0;y=h;if((A|0)==(h|0))fa=ca;else{x=A-h>>2;h=0;do{A=y+(h<<2)|0;f[A>>2]=f[ca+(f[A>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);fa=ca}}else{b[z>>0]=0;z=a+68|0;ca=a+72|0;x=f[ca>>2]|0;h=f[z>>2]|0;y=x-h>>2;A=h;h=x;if(da>>>0<=y>>>0)if(da>>>0>>0?(x=A+(da<<2)|0,(x|0)!=(h|0)):0){f[ca>>2]=h+(~((h+-4-x|0)>>>2)<<2);ga=da}else ga=da;else{Ch(z,da-y|0,1220);ga=f[l>>2]|0}y=f[j>>2]|0;if(!ga)fa=y;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);fa=y}}f[l>>2]=ba;ea=fa}if(!ea)ha=ba;else{fa=f[o>>2]|0;if((fa|0)!=(ea|0))f[o>>2]=fa+(~((fa+-4-ea|0)>>>2)<<2);Oq(ea);ha=ba}}else ha=0;ba=f[g+8>>2]|0;if(ba|0){ea=ba;do{ba=ea;ea=f[ea>>2]|0;Oq(ba)}while((ea|0)!=0)}ea=f[g>>2]|0;f[g>>2]=0;if(!ea){u=e;return ha|0}Oq(ea);u=e;return ha|0}function nc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Oa,T=Oa,U=Oa,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;g=u;u=u+48|0;h=g+12|0;i=g+38|0;j=g+32|0;k=g;l=h+16|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;n[l>>2]=$(1.0);m=a+80|0;o=f[m>>2]|0;f[k>>2]=0;p=k+4|0;f[p>>2]=0;f[k+8>>2]=0;if(o){if(o>>>0>1073741823)aq(k);q=o<<2;r=ln(q)|0;f[k>>2]=r;s=r+(o<<2)|0;f[k+8>>2]=s;sj(r|0,0,q|0)|0;f[p>>2]=s;s=f[e>>2]|0;e=c+48|0;q=c+40|0;r=j+2|0;o=j+4|0;t=h+4|0;v=h+12|0;w=h+8|0;x=a+40|0;y=a+64|0;z=0;A=0;while(1){B=e;C=f[B>>2]|0;D=f[B+4>>2]|0;B=q;E=un(f[B>>2]|0,f[B+4>>2]|0,s+A|0,0)|0;B=Vn(E|0,I|0,C|0,D|0)|0;D=(f[f[c>>2]>>2]|0)+B|0;b[i>>0]=b[D>>0]|0;b[i+1>>0]=b[D+1>>0]|0;b[i+2>>0]=b[D+2>>0]|0;b[i+3>>0]=b[D+3>>0]|0;b[i+4>>0]=b[D+4>>0]|0;b[i+5>>0]=b[D+5>>0]|0;im(j|0,D|0,6)|0;D=dg(h,j)|0;if(!D){B=d[j>>1]|0;C=d[r>>1]|0;E=d[o>>1]|0;F=(((B^318)&65535)+239^C&65535)+239^E&65535;G=f[t>>2]|0;H=(G|0)==0;a:do if(!H){J=G+-1|0;K=(J&G|0)==0;if(!K)if(F>>>0>>0)L=F;else L=(F>>>0)%(G>>>0)|0;else L=F&J;M=f[(f[h>>2]|0)+(L<<2)>>2]|0;if((M|0)!=0?(N=f[M>>2]|0,(N|0)!=0):0){if(K){K=N;while(1){M=f[K+4>>2]|0;if(!((M|0)==(F|0)|(M&J|0)==(L|0))){O=L;P=29;break a}M=K+8|0;if(((d[M>>1]|0)==B<<16>>16?(d[M+2>>1]|0)==C<<16>>16:0)?(d[K+12>>1]|0)==E<<16>>16:0)break a;K=f[K>>2]|0;if(!K){O=L;P=29;break a}}}else Q=N;while(1){K=f[Q+4>>2]|0;if((K|0)!=(F|0)){if(K>>>0>>0)R=K;else R=(K>>>0)%(G>>>0)|0;if((R|0)!=(L|0)){O=L;P=29;break a}}K=Q+8|0;if(((d[K>>1]|0)==B<<16>>16?(d[K+2>>1]|0)==C<<16>>16:0)?(d[Q+12>>1]|0)==E<<16>>16:0)break a;Q=f[Q>>2]|0;if(!Q){O=L;P=29;break}}}else{O=L;P=29}}else{O=0;P=29}while(0);if((P|0)==29){P=0;N=ln(20)|0;d[N+8>>1]=B;d[N+10>>1]=C;d[N+12>>1]=E;f[N+16>>2]=z;f[N+4>>2]=F;f[N>>2]=0;S=$(((f[v>>2]|0)+1|0)>>>0);T=$(G>>>0);U=$(n[l>>2]);do if(H|$(U*T)>>0<3|(G+-1&G|0)!=0)&1;J=~~$(W($(S/U)))>>>0;Th(h,K>>>0>>0?J:K);K=f[t>>2]|0;J=K+-1|0;if(!(J&K)){V=K;X=J&F;break}if(F>>>0>>0){V=K;X=F}else{V=K;X=(F>>>0)%(K>>>0)|0}}else{V=G;X=O}while(0);G=(f[h>>2]|0)+(X<<2)|0;F=f[G>>2]|0;if(!F){f[N>>2]=f[w>>2];f[w>>2]=N;f[G>>2]=w;G=f[N>>2]|0;if(G|0){H=f[G+4>>2]|0;G=V+-1|0;if(G&V)if(H>>>0>>0)Y=H;else Y=(H>>>0)%(V>>>0)|0;else Y=H&G;Z=(f[h>>2]|0)+(Y<<2)|0;P=42}}else{f[N>>2]=f[F>>2];Z=F;P=42}if((P|0)==42){P=0;f[Z>>2]=N}f[v>>2]=(f[v>>2]|0)+1}F=x;G=f[F>>2]|0;H=un(G|0,f[F+4>>2]|0,z|0,0)|0;kh((f[f[y>>2]>>2]|0)+H|0,i|0,G|0)|0;G=f[k>>2]|0;f[G+(A<<2)>>2]=z;_=z+1|0;aa=G}else{G=f[k>>2]|0;f[G+(A<<2)>>2]=f[D+16>>2];_=z;aa=G}A=A+1|0;ba=f[m>>2]|0;if(A>>>0>=ba>>>0)break;else z=_}if((_|0)==(ba|0))ca=aa;else{z=a+84|0;if(!(b[z>>0]|0)){A=f[a+72>>2]|0;i=f[a+68>>2]|0;y=i;if((A|0)==(i|0))da=aa;else{x=A-i>>2;i=0;do{A=y+(i<<2)|0;f[A>>2]=f[aa+(f[A>>2]<<2)>>2];i=i+1|0}while(i>>>0>>0);da=aa}}else{b[z>>0]=0;z=a+68|0;aa=a+72|0;x=f[aa>>2]|0;i=f[z>>2]|0;y=x-i>>2;A=i;i=x;if(ba>>>0<=y>>>0)if(ba>>>0>>0?(x=A+(ba<<2)|0,(x|0)!=(i|0)):0){f[aa>>2]=i+(~((i+-4-x|0)>>>2)<<2);ea=ba}else ea=ba;else{Ch(z,ba-y|0,1220);ea=f[m>>2]|0}y=f[k>>2]|0;if(!ea)da=y;else{k=f[a+68>>2]|0;a=0;do{f[k+(a<<2)>>2]=f[y+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);da=y}}f[m>>2]=_;ca=da}if(!ca)fa=_;else{da=f[p>>2]|0;if((da|0)!=(ca|0))f[p>>2]=da+(~((da+-4-ca|0)>>>2)<<2);Oq(ca);fa=_}}else fa=0;_=f[h+8>>2]|0;if(_|0){ca=_;do{_=ca;ca=f[ca>>2]|0;Oq(_)}while((ca|0)!=0)}ca=f[h>>2]|0;f[h>>2]=0;if(!ca){u=g;return fa|0}Oq(ca);u=g;return fa|0}function oc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0;g=a+8|0;Mh(g,b,d,e);d=f[a+48>>2]|0;h=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=Lq(i)|0;sj(j|0,0,i|0)|0;k=Lq(i)|0;sj(k|0,0,i|0)|0;i=f[a+56>>2]|0;l=i+4|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n|0;a:do if((o|0)>4){p=o>>2;q=(e|0)>0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=d+12|0;y=e<<2;z=p+-1|0;if(m-n>>2>>>0>z>>>0){A=p;B=z;C=n}else aq(i);while(1){z=f[C+(B<<2)>>2]|0;if(q)sj(j|0,0,y|0)|0;if((z|0)!=-1){p=f[x>>2]|0;D=0;E=z;while(1){F=f[p+(E<<2)>>2]|0;if((F|0)!=-1){G=f[d>>2]|0;H=f[h>>2]|0;I=f[H+(f[G+(F<<2)>>2]<<2)>>2]|0;J=F+1|0;K=((J>>>0)%3|0|0)==0?F+-2|0:J;if((K|0)==-1)L=-1;else L=f[G+(K<<2)>>2]|0;K=f[H+(L<<2)>>2]|0;J=(((F>>>0)%3|0|0)==0?2:-1)+F|0;if((J|0)==-1)M=-1;else M=f[G+(J<<2)>>2]|0;J=f[H+(M<<2)>>2]|0;if((I|0)<(B|0)&(K|0)<(B|0)&(J|0)<(B|0)){H=X(I,e)|0;I=X(K,e)|0;K=X(J,e)|0;if(q){J=0;do{f[k+(J<<2)>>2]=(f[b+(J+K<<2)>>2]|0)+(f[b+(J+I<<2)>>2]|0)-(f[b+(J+H<<2)>>2]|0);J=J+1|0}while((J|0)!=(e|0));if(q){J=0;do{H=j+(J<<2)|0;f[H>>2]=(f[H>>2]|0)+(f[k+(J<<2)>>2]|0);J=J+1|0}while((J|0)!=(e|0))}}N=D+1|0}else N=D}else N=D;J=(((E>>>0)%3|0|0)==0?2:-1)+E|0;do if((J|0)!=-1?(H=f[p+(J<<2)>>2]|0,(H|0)!=-1):0)if(!((H>>>0)%3|0)){O=H+2|0;break}else{O=H+-1|0;break}else O=-1;while(0);E=(O|0)==(z|0)?-1:O;if((E|0)==-1)break;else D=N}D=X(B,e)|0;if(N){if(q){E=0;do{z=j+(E<<2)|0;f[z>>2]=(f[z>>2]|0)/(N|0)|0;E=E+1|0}while((E|0)!=(e|0))}E=b+(D<<2)|0;z=c+(D<<2)|0;p=f[g>>2]|0;if((p|0)>0){J=0;H=j;I=p;while(1){if((I|0)>0){p=0;do{K=f[H+(p<<2)>>2]|0;G=f[r>>2]|0;if((K|0)>(G|0)){F=f[s>>2]|0;f[F+(p<<2)>>2]=G;P=F}else{F=f[t>>2]|0;G=f[s>>2]|0;f[G+(p<<2)>>2]=(K|0)<(F|0)?F:K;P=G}p=p+1|0}while((p|0)<(f[g>>2]|0));Q=P}else Q=f[s>>2]|0;p=(f[E+(J<<2)>>2]|0)-(f[Q+(J<<2)>>2]|0)|0;G=z+(J<<2)|0;f[G>>2]=p;if((p|0)>=(f[u>>2]|0)){if((p|0)>(f[w>>2]|0)){R=p-(f[v>>2]|0)|0;S=57}}else{R=(f[v>>2]|0)+p|0;S=57}if((S|0)==57){S=0;f[G>>2]=R}J=J+1|0;I=f[g>>2]|0;if((J|0)>=(I|0))break;else H=Q}}}else{T=D;S=30}}else{T=X(B,e)|0;S=30}if((S|0)==30?(S=0,H=b+(T<<2)|0,I=c+(T<<2)|0,J=f[g>>2]|0,(J|0)>0):0){z=0;E=b+((X(A+-2|0,e)|0)<<2)|0;G=J;while(1){if((G|0)>0){J=0;do{p=f[E+(J<<2)>>2]|0;K=f[r>>2]|0;if((p|0)>(K|0)){F=f[s>>2]|0;f[F+(J<<2)>>2]=K;U=F}else{F=f[t>>2]|0;K=f[s>>2]|0;f[K+(J<<2)>>2]=(p|0)<(F|0)?F:p;U=K}J=J+1|0}while((J|0)<(f[g>>2]|0));V=U}else V=f[s>>2]|0;J=(f[H+(z<<2)>>2]|0)-(f[V+(z<<2)>>2]|0)|0;K=I+(z<<2)|0;f[K>>2]=J;if((J|0)>=(f[u>>2]|0)){if((J|0)>(f[w>>2]|0)){W=J-(f[v>>2]|0)|0;S=42}}else{W=(f[v>>2]|0)+J|0;S=42}if((S|0)==42){S=0;f[K>>2]=W}z=z+1|0;G=f[g>>2]|0;if((z|0)>=(G|0))break;else E=V}}if((A|0)<=2)break a;C=f[i>>2]|0;E=B+-1|0;if((f[l>>2]|0)-C>>2>>>0<=E>>>0)break;else{G=B;B=E;A=G}}aq(i)}while(0);if((e|0)>0)sj(j|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){Mq(k);Mq(j);return 1}i=a+16|0;A=a+32|0;B=a+12|0;C=a+28|0;l=a+20|0;V=a+24|0;a=0;W=j;U=e;while(1){if((U|0)>0){e=0;do{T=f[W+(e<<2)>>2]|0;Q=f[i>>2]|0;if((T|0)>(Q|0)){R=f[A>>2]|0;f[R+(e<<2)>>2]=Q;Y=R}else{R=f[B>>2]|0;Q=f[A>>2]|0;f[Q+(e<<2)>>2]=(T|0)<(R|0)?R:T;Y=Q}e=e+1|0}while((e|0)<(f[g>>2]|0));Z=Y}else Z=f[A>>2]|0;e=(f[b+(a<<2)>>2]|0)-(f[Z+(a<<2)>>2]|0)|0;Q=c+(a<<2)|0;f[Q>>2]=e;if((e|0)>=(f[C>>2]|0)){if((e|0)>(f[V>>2]|0)){_=e-(f[l>>2]|0)|0;S=72}}else{_=(f[l>>2]|0)+e|0;S=72}if((S|0)==72){S=0;f[Q>>2]=_}a=a+1|0;U=f[g>>2]|0;if((a|0)>=(U|0))break;else W=Z}Mq(k);Mq(j);return 1}function pc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0;g=a+8|0;Mh(g,b,d,e);d=f[a+48>>2]|0;h=f[a+52>>2]|0;i=e>>>0>1073741823?-1:e<<2;j=Lq(i)|0;sj(j|0,0,i|0)|0;k=Lq(i)|0;sj(k|0,0,i|0)|0;i=f[a+56>>2]|0;l=i+4|0;m=f[l>>2]|0;n=f[i>>2]|0;o=m-n|0;a:do if((o|0)>4){p=o>>2;q=(e|0)>0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=d+64|0;y=d+28|0;z=e<<2;A=p+-1|0;if(m-n>>2>>>0>A>>>0){B=p;C=A;D=n}else aq(i);while(1){A=f[D+(C<<2)>>2]|0;if(q)sj(j|0,0,z|0)|0;if((A|0)!=-1){p=f[d>>2]|0;E=0;F=A;while(1){if(((f[p+(F>>>5<<2)>>2]&1<<(F&31)|0)==0?(G=f[(f[(f[x>>2]|0)+12>>2]|0)+(F<<2)>>2]|0,(G|0)!=-1):0)?(H=f[y>>2]|0,I=f[h>>2]|0,J=f[I+(f[H+(G<<2)>>2]<<2)>>2]|0,K=G+1|0,L=f[I+(f[H+((((K>>>0)%3|0|0)==0?G+-2|0:K)<<2)>>2]<<2)>>2]|0,K=f[I+(f[H+((((G>>>0)%3|0|0)==0?2:-1)+G<<2)>>2]<<2)>>2]|0,(J|0)<(C|0)&(L|0)<(C|0)&(K|0)<(C|0)):0){G=X(J,e)|0;J=X(L,e)|0;L=X(K,e)|0;if(q){K=0;do{f[k+(K<<2)>>2]=(f[b+(K+L<<2)>>2]|0)+(f[b+(K+J<<2)>>2]|0)-(f[b+(K+G<<2)>>2]|0);K=K+1|0}while((K|0)!=(e|0));if(q){K=0;do{G=j+(K<<2)|0;f[G>>2]=(f[G>>2]|0)+(f[k+(K<<2)>>2]|0);K=K+1|0}while((K|0)!=(e|0))}}M=E+1|0}else M=E;K=(((F>>>0)%3|0|0)==0?2:-1)+F|0;do if(((K|0)!=-1?(f[p+(K>>>5<<2)>>2]&1<<(K&31)|0)==0:0)?(G=f[(f[(f[x>>2]|0)+12>>2]|0)+(K<<2)>>2]|0,(G|0)!=-1):0)if(!((G>>>0)%3|0)){N=G+2|0;break}else{N=G+-1|0;break}else N=-1;while(0);F=(N|0)==(A|0)?-1:N;if((F|0)==-1)break;else E=M}E=X(C,e)|0;if(M){if(q){F=0;do{A=j+(F<<2)|0;f[A>>2]=(f[A>>2]|0)/(M|0)|0;F=F+1|0}while((F|0)!=(e|0))}F=b+(E<<2)|0;A=c+(E<<2)|0;p=f[g>>2]|0;if((p|0)>0){K=0;G=j;J=p;while(1){if((J|0)>0){p=0;do{L=f[G+(p<<2)>>2]|0;H=f[r>>2]|0;if((L|0)>(H|0)){I=f[s>>2]|0;f[I+(p<<2)>>2]=H;O=I}else{I=f[t>>2]|0;H=f[s>>2]|0;f[H+(p<<2)>>2]=(L|0)<(I|0)?I:L;O=H}p=p+1|0}while((p|0)<(f[g>>2]|0));P=O}else P=f[s>>2]|0;p=(f[F+(K<<2)>>2]|0)-(f[P+(K<<2)>>2]|0)|0;H=A+(K<<2)|0;f[H>>2]=p;if((p|0)>=(f[u>>2]|0)){if((p|0)>(f[w>>2]|0)){Q=p-(f[v>>2]|0)|0;R=55}}else{Q=(f[v>>2]|0)+p|0;R=55}if((R|0)==55){R=0;f[H>>2]=Q}K=K+1|0;J=f[g>>2]|0;if((K|0)>=(J|0))break;else G=P}}}else{S=E;R=28}}else{S=X(C,e)|0;R=28}if((R|0)==28?(R=0,G=b+(S<<2)|0,J=c+(S<<2)|0,K=f[g>>2]|0,(K|0)>0):0){A=0;F=b+((X(B+-2|0,e)|0)<<2)|0;H=K;while(1){if((H|0)>0){K=0;do{p=f[F+(K<<2)>>2]|0;L=f[r>>2]|0;if((p|0)>(L|0)){I=f[s>>2]|0;f[I+(K<<2)>>2]=L;T=I}else{I=f[t>>2]|0;L=f[s>>2]|0;f[L+(K<<2)>>2]=(p|0)<(I|0)?I:p;T=L}K=K+1|0}while((K|0)<(f[g>>2]|0));U=T}else U=f[s>>2]|0;K=(f[G+(A<<2)>>2]|0)-(f[U+(A<<2)>>2]|0)|0;L=J+(A<<2)|0;f[L>>2]=K;if((K|0)>=(f[u>>2]|0)){if((K|0)>(f[w>>2]|0)){V=K-(f[v>>2]|0)|0;R=40}}else{V=(f[v>>2]|0)+K|0;R=40}if((R|0)==40){R=0;f[L>>2]=V}A=A+1|0;H=f[g>>2]|0;if((A|0)>=(H|0))break;else F=U}}if((B|0)<=2)break a;D=f[i>>2]|0;F=C+-1|0;if((f[l>>2]|0)-D>>2>>>0<=F>>>0)break;else{H=C;C=F;B=H}}aq(i)}while(0);if((e|0)>0)sj(j|0,0,e<<2|0)|0;e=f[g>>2]|0;if((e|0)<=0){Mq(k);Mq(j);return 1}i=a+16|0;B=a+32|0;C=a+12|0;D=a+28|0;l=a+20|0;U=a+24|0;a=0;V=j;T=e;while(1){if((T|0)>0){e=0;do{S=f[V+(e<<2)>>2]|0;P=f[i>>2]|0;if((S|0)>(P|0)){Q=f[B>>2]|0;f[Q+(e<<2)>>2]=P;W=Q}else{Q=f[C>>2]|0;P=f[B>>2]|0;f[P+(e<<2)>>2]=(S|0)<(Q|0)?Q:S;W=P}e=e+1|0}while((e|0)<(f[g>>2]|0));Y=W}else Y=f[B>>2]|0;e=(f[b+(a<<2)>>2]|0)-(f[Y+(a<<2)>>2]|0)|0;P=c+(a<<2)|0;f[P>>2]=e;if((e|0)>=(f[D>>2]|0)){if((e|0)>(f[U>>2]|0)){Z=e-(f[l>>2]|0)|0;R=70}}else{Z=(f[l>>2]|0)+e|0;R=70}if((R|0)==70){R=0;f[P>>2]=Z}a=a+1|0;T=f[g>>2]|0;if((a|0)>=(T|0))break;else V=Y}Mq(k);Mq(j);return 1}function qc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;e=u;u=u+64|0;d=e+48|0;h=e+40|0;i=e+32|0;j=e+16|0;k=e+8|0;l=e;m=e+28|0;n=a+8|0;o=f[n>>2]|0;if((o+-2|0)>>>0<=28){f[a+72>>2]=o;p=1<>2]=p+-1;o=p+-2|0;f[a+80>>2]=o;f[a+84>>2]=(o|0)/2|0}o=a+40|0;f[a+48>>2]=g;g=a+88|0;tk(g);p=a+36|0;q=f[p>>2]|0;r=(f[q+4>>2]|0)-(f[q>>2]|0)|0;s=r>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;t=k;f[t>>2]=0;f[t+4>>2]=0;t=l;f[t>>2]=0;f[t+4>>2]=0;if((r|0)<=0){u=e;return 1}r=j+4|0;t=j+8|0;v=a+84|0;w=a+80|0;x=h+4|0;y=i+4|0;z=d+4|0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=l+4|0;F=a+76|0;a=k+4|0;G=l+4|0;H=f[q>>2]|0;if((f[q+4>>2]|0)==(H|0)){J=q;aq(J)}else{K=0;L=H}while(1){f[m>>2]=f[L+(K<<2)>>2];f[d>>2]=f[m>>2];ic(o,d,j);H=f[j>>2]|0;q=(H|0)>-1?H:0-H|0;M=f[r>>2]|0;N=(M|0)>-1?M:0-M|0;O=Vn(N|0,((N|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=f[t>>2]|0;N=(q|0)>-1;P=N?q:0-q|0;q=Vn(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;if((q|0)==0&(P|0)==0){O=f[v>>2]|0;Q=O;R=j;S=M;T=O}else{O=f[v>>2]|0;U=((O|0)<0)<<31>>31;V=un(O|0,U|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Ik(V|0,I|0,q|0,P|0)|0;f[j>>2]=H;V=un(O|0,U|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Ik(V|0,I|0,q|0,P|0)|0;f[r>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=N?P:0-P|0;R=t;S=M;T=O}f[R>>2]=Q;O=f[j>>2]|0;do if((O|0)<=-1){if((S|0)<0){M=f[t>>2]|0;W=(M|0)>-1?M:0-M|0;X=M}else{M=f[t>>2]|0;W=(f[w>>2]|0)-((M|0)>-1?M:0-M|0)|0;X=M}if((X|0)<0){Y=(S|0)>-1?S:0-S|0;Z=W;_=X;break}else{Y=(f[w>>2]|0)-((S|0)>-1?S:0-S|0)|0;Z=W;_=X;break}}else{M=f[t>>2]|0;Y=M+T|0;Z=T+S|0;_=M}while(0);M=(Z|0)==0;P=(Y|0)==0;N=f[w>>2]|0;do if(Y|Z){H=(N|0)==(Y|0);if(!(M&H)){q=(N|0)==(Z|0);if(!(P&q)){if(M&(T|0)<(Y|0)){$=0;aa=(T<<1)-Y|0;break}if(q&(T|0)>(Y|0)){$=Z;aa=(T<<1)-Y|0;break}if(H&(T|0)>(Z|0)){$=(T<<1)-Z|0;aa=Y;break}if(P){$=(T|0)<(Z|0)?(T<<1)-Z|0:Z;aa=0}else{$=Z;aa=Y}}else{$=Z;aa=Z}}else{$=Y;aa=Y}}else{$=N;aa=N}while(0);P=0-S|0;M=0-_|0;f[j>>2]=0-O;f[r>>2]=P;f[t>>2]=M;if((O|0)<1){ba=T-_|0;ca=T-S|0}else{H=(_|0)<1?M:_;M=(S|0)<1?P:S;ba=(_|0)>0?M:N-M|0;ca=(S|0)>0?H:N-H|0}H=(ca|0)==0;M=(ba|0)==0;do if(((ba|ca|0)!=0?(P=(N|0)==(ba|0),!(H&P)):0)?(q=(N|0)==(ca|0),!(M&q)):0){if(H&(T|0)<(ba|0)){da=0;ea=(T<<1)-ba|0;break}if(q&(T|0)>(ba|0)){da=N;ea=(T<<1)-ba|0;break}if(P&(T|0)>(ca|0)){da=(T<<1)-ca|0;ea=N;break}if(M){da=(T|0)<(ca|0)?(T<<1)-ca|0:ca;ea=0}else{da=ca;ea=ba}}else{da=N;ea=N}while(0);N=K<<1;M=b+(N<<2)|0;H=M+4|0;O=f[H>>2]|0;f[h>>2]=f[M>>2];f[x>>2]=O;f[i>>2]=$;f[y>>2]=aa;Od(d,n,h,i);O=f[d>>2]|0;f[k>>2]=O;P=f[z>>2]|0;f[A>>2]=P;q=f[H>>2]|0;f[h>>2]=f[M>>2];f[B>>2]=q;f[i>>2]=da;f[C>>2]=ea;Od(d,n,h,i);q=f[d>>2]|0;f[l>>2]=q;M=f[D>>2]|0;f[E>>2]=M;H=f[v>>2]|0;if((H|0)>=(O|0))if((O|0)<(0-H|0))fa=(f[F>>2]|0)+O|0;else fa=O;else fa=O-(f[F>>2]|0)|0;f[k>>2]=fa;if((H|0)>=(P|0))if((P|0)<(0-H|0))ga=(f[F>>2]|0)+P|0;else ga=P;else ga=P-(f[F>>2]|0)|0;f[a>>2]=ga;if((H|0)>=(q|0))if((q|0)<(0-H|0))ha=(f[F>>2]|0)+q|0;else ha=q;else ha=q-(f[F>>2]|0)|0;f[l>>2]=ha;if((H|0)>=(M|0))if((M|0)<(0-H|0))ia=(f[F>>2]|0)+M|0;else ia=M;else ia=M-(f[F>>2]|0)|0;f[G>>2]=ia;if((((ga|0)>-1?ga:0-ga|0)+((fa|0)>-1?fa:0-fa|0)|0)<(((ha|0)>-1?ha:0-ha|0)+((ia|0)>-1?ia:0-ia|0)|0)){fj(g,0);ja=k}else{fj(g,1);ja=l}M=f[ja>>2]|0;if((M|0)<0)ka=(f[F>>2]|0)+M|0;else ka=M;M=c+(N<<2)|0;f[M>>2]=ka;N=f[ja+4>>2]|0;if((N|0)<0)la=(f[F>>2]|0)+N|0;else la=N;f[M+4>>2]=la;K=K+1|0;if((K|0)>=(s|0)){ma=5;break}M=f[p>>2]|0;L=f[M>>2]|0;if((f[M+4>>2]|0)-L>>2>>>0<=K>>>0){J=M;ma=6;break}}if((ma|0)==5){u=e;return 1}else if((ma|0)==6)aq(J);return 0}function rc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;c=u;u=u+48|0;d=c+24|0;e=c+12|0;g=c;if(!b){h=0;u=c;return h|0}i=a+12|0;j=a+4|0;k=f[j>>2]|0;l=f[a>>2]|0;m=k-l>>2;n=a+16|0;o=f[n>>2]|0;p=f[i>>2]|0;q=o-p>>2;r=p;p=o;if(m>>>0<=q>>>0)if(m>>>0>>0?(o=r+(m<<2)|0,(o|0)!=(p|0)):0){f[n>>2]=p+(~((p+-4-o|0)>>>2)<<2);s=l;t=k}else{s=l;t=k}else{Ch(i,m-q|0,6140);s=f[a>>2]|0;t=f[j>>2]|0}f[d>>2]=0;q=d+4|0;f[q>>2]=0;f[d+8>>2]=0;gk(d,t-s>>2);s=f[j>>2]|0;t=f[a>>2]|0;if((s|0)==(t|0)){v=s;w=s}else{m=f[d>>2]|0;k=m;l=k;o=0;p=s;s=k;k=t;t=m;while(1){m=f[k+(o<<2)>>2]|0;n=f[q>>2]|0;if(m>>>0>2>>>0){x=l;y=s;z=k;A=p}else{r=m+1|0;f[e>>2]=0;B=n-t>>2;C=t;D=n;if(r>>>0<=B>>>0)if(r>>>0>>0?(n=C+(r<<2)|0,(n|0)!=(D|0)):0){f[q>>2]=D+(~((D+-4-n|0)>>>2)<<2);E=l;F=p;G=k}else{E=l;F=p;G=k}else{Ch(d,r-B|0,e);E=f[d>>2]|0;F=f[j>>2]|0;G=f[a>>2]|0}x=E;y=E;z=G;A=F}B=y+(m<<2)|0;f[B>>2]=(f[B>>2]|0)+1;o=o+1|0;if(o>>>0>=A-z>>2>>>0){v=z;w=A;break}else{l=x;p=A;s=y;k=z;t=y}}}y=w-v|0;v=y>>2;f[e>>2]=0;w=e+4|0;f[w>>2]=0;f[e+8>>2]=0;if(!v){H=0;I=0}else{if(v>>>0>536870911)aq(e);t=ln(y<<1)|0;f[w>>2]=t;f[e>>2]=t;y=t+(v<<3)|0;f[e+8>>2]=y;z=v;v=t;k=t;while(1){s=v;f[s>>2]=-1;f[s+4>>2]=-1;s=k+8|0;A=z+-1|0;if(!A)break;else{z=A;v=s;k=s}}f[w>>2]=y;H=t;I=t}t=f[q>>2]|0;y=f[d>>2]|0;k=t-y|0;v=k>>2;f[g>>2]=0;z=g+4|0;f[z>>2]=0;f[g+8>>2]=0;s=y;do if(v)if(v>>>0>1073741823)aq(g);else{A=ln(k)|0;f[g>>2]=A;p=A+(v<<2)|0;f[g+8>>2]=p;sj(A|0,0,k|0)|0;f[z>>2]=p;J=A;K=p;L=A;break}else{J=0;K=0;L=0}while(0);if((t|0)!=(y|0)){y=0;t=0;while(1){f[J+(t<<2)>>2]=y;k=t+1|0;if(k>>>0>>0){y=(f[s+(t<<2)>>2]|0)+y|0;t=k}else break}}t=f[j>>2]|0;j=f[a>>2]|0;y=j;if((t|0)!=(j|0)){k=a+40|0;a=t-j>>2;j=H;t=H;g=H;A=H;p=H;x=H;l=0;o=J;while(1){F=f[y+(l<<2)>>2]|0;G=l+1|0;E=((G>>>0)%3|0|0)==0?l+-2|0:G;if((E|0)==-1)M=-1;else M=f[y+(E<<2)>>2]|0;E=((l>>>0)%3|0|0)==0;G=(E?2:-1)+l|0;if((G|0)==-1)N=-1;else N=f[y+(G<<2)>>2]|0;if(E?(M|0)==(N|0)|((F|0)==(M|0)|(F|0)==(N|0)):0){f[k>>2]=(f[k>>2]|0)+1;O=j;P=t;Q=g;R=A;S=p;T=x;U=l+2|0;V=o}else W=51;a:do if((W|0)==51){W=0;E=f[s+(N<<2)>>2]|0;b:do if((E|0)>0){G=0;B=f[o+(N<<2)>>2]|0;while(1){m=f[p+(B<<3)>>2]|0;if((m|0)==-1){X=j;Y=t;Z=A;_=p;break b}if((m|0)==(M|0)){m=f[p+(B<<3)+4>>2]|0;if((m|0)==-1)$=-1;else $=f[y+(m<<2)>>2]|0;if((F|0)!=($|0))break}m=G+1|0;if((m|0)<(E|0)){G=m;B=B+1|0}else{X=j;Y=t;Z=A;_=p;break b}}m=f[A+(B<<3)+4>>2]|0;r=G;n=B;D=t;while(1){r=r+1|0;if((r|0)>=(E|0))break;C=n+1|0;f[D+(n<<3)>>2]=f[D+(C<<3)>>2];f[D+(n<<3)+4>>2]=f[D+(C<<3)+4>>2];if((f[j+(n<<3)>>2]|0)==-1)break;else{n=C;D=j}}f[g+(n<<3)>>2]=-1;if((m|0)==-1){X=g;Y=g;Z=g;_=g}else{D=f[i>>2]|0;f[D+(l<<2)>>2]=m;f[D+(m<<2)>>2]=l;O=g;P=g;Q=g;R=g;S=g;T=x;U=l;V=o;break a}}else{X=j;Y=t;Z=A;_=p}while(0);E=f[s+(M<<2)>>2]|0;if((E|0)>0){D=0;r=f[J+(M<<2)>>2]|0;while(1){aa=x+(r<<3)|0;if((f[aa>>2]|0)==-1)break;D=D+1|0;if((D|0)>=(E|0)){O=x;P=x;Q=x;R=x;S=x;T=x;U=l;V=J;break a}else r=r+1|0}f[aa>>2]=N;f[H+(r<<3)+4>>2]=l;O=H;P=H;Q=H;R=H;S=H;T=H;U=l;V=J}else{O=X;P=Y;Q=g;R=Z;S=_;T=x;U=l;V=o}}while(0);l=U+1|0;if(l>>>0>=a>>>0)break;else{j=O;t=P;g=Q;A=R;p=S;x=T;o=V}}}f[b>>2]=v;if(!J){ba=H;ca=I}else{if((K|0)!=(J|0))f[z>>2]=K+(~((K+-4-J|0)>>>2)<<2);Oq(L);L=f[e>>2]|0;ba=L;ca=L}if(ba|0){L=f[w>>2]|0;if((L|0)!=(ba|0))f[w>>2]=L+(~((L+-8-ba|0)>>>3)<<3);Oq(ca)}ca=f[d>>2]|0;if(ca|0){d=f[q>>2]|0;if((d|0)!=(ca|0))f[q>>2]=d+(~((d+-4-ca|0)>>>2)<<2);Oq(ca)}h=1;u=c;return h|0}function sc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=Oa,S=Oa,T=Oa,U=0,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0;e=u;u=u+48|0;g=e+12|0;h=e+35|0;i=e+32|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)aq(j);p=m<<2;q=ln(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;sj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+1|0;m=i+2|0;s=g+4|0;t=g+12|0;v=g+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=d;B=f[A>>2]|0;C=f[A+4>>2]|0;A=p;D=un(f[A>>2]|0,f[A+4>>2]|0,r+y|0,0)|0;A=Vn(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;b[h>>0]=b[C>>0]|0;b[h+1>>0]=b[C+1>>0]|0;b[h+2>>0]=b[C+2>>0]|0;im(i|0,C|0,3)|0;C=jg(g,i)|0;if(!C){A=b[i>>0]|0;B=b[q>>0]|0;D=b[m>>0]|0;E=((A&255^318)+239^B&255)+239^D&255;F=f[s>>2]|0;G=(F|0)==0;a:do if(!G){H=F+-1|0;J=(H&F|0)==0;if(!J)if(E>>>0>>0)K=E;else K=(E>>>0)%(F>>>0)|0;else K=E&H;L=f[(f[g>>2]|0)+(K<<2)>>2]|0;if((L|0)!=0?(M=f[L>>2]|0,(M|0)!=0):0){if(J){J=M;while(1){L=f[J+4>>2]|0;if(!((L|0)==(E|0)|(L&H|0)==(K|0))){N=K;O=29;break a}L=J+8|0;if(((b[L>>0]|0)==A<<24>>24?(b[L+1>>0]|0)==B<<24>>24:0)?(b[L+2>>0]|0)==D<<24>>24:0)break a;J=f[J>>2]|0;if(!J){N=K;O=29;break a}}}else P=M;while(1){J=f[P+4>>2]|0;if((J|0)!=(E|0)){if(J>>>0>>0)Q=J;else Q=(J>>>0)%(F>>>0)|0;if((Q|0)!=(K|0)){N=K;O=29;break a}}J=P+8|0;if(((b[J>>0]|0)==A<<24>>24?(b[J+1>>0]|0)==B<<24>>24:0)?(b[J+2>>0]|0)==D<<24>>24:0)break a;P=f[P>>2]|0;if(!P){N=K;O=29;break}}}else{N=K;O=29}}else{N=0;O=29}while(0);if((O|0)==29){O=0;M=ln(16)|0;b[M+8>>0]=A;b[M+9>>0]=B;b[M+10>>0]=D;f[M+12>>2]=z;f[M+4>>2]=E;f[M>>2]=0;R=$(((f[t>>2]|0)+1|0)>>>0);S=$(F>>>0);T=$(n[k>>2]);do if(G|$(T*S)>>0<3|(F+-1&F|0)!=0)&1;H=~~$(W($(R/T)))>>>0;_h(g,J>>>0>>0?H:J);J=f[s>>2]|0;H=J+-1|0;if(!(H&J)){U=J;V=H&E;break}if(E>>>0>>0){U=J;V=E}else{U=J;V=(E>>>0)%(J>>>0)|0}}else{U=F;V=N}while(0);F=(f[g>>2]|0)+(V<<2)|0;E=f[F>>2]|0;if(!E){f[M>>2]=f[v>>2];f[v>>2]=M;f[F>>2]=v;F=f[M>>2]|0;if(F|0){G=f[F+4>>2]|0;F=U+-1|0;if(F&U)if(G>>>0>>0)X=G;else X=(G>>>0)%(U>>>0)|0;else X=G&F;Y=(f[g>>2]|0)+(X<<2)|0;O=42}}else{f[M>>2]=f[E>>2];Y=E;O=42}if((O|0)==42){O=0;f[Y>>2]=M}f[t>>2]=(f[t>>2]|0)+1}E=w;F=f[E>>2]|0;G=un(F|0,f[E+4>>2]|0,z|0,0)|0;kh((f[f[x>>2]>>2]|0)+G|0,h|0,F|0)|0;F=f[j>>2]|0;f[F+(y<<2)>>2]=z;Z=z+1|0;_=F}else{F=f[j>>2]|0;f[F+(y<<2)>>2]=f[C+12>>2];Z=z;_=F}y=y+1|0;aa=f[l>>2]|0;if(y>>>0>=aa>>>0)break;else z=Z}if((Z|0)==(aa|0))ba=_;else{z=a+84|0;if(!(b[z>>0]|0)){y=f[a+72>>2]|0;h=f[a+68>>2]|0;x=h;if((y|0)==(h|0))ca=_;else{w=y-h>>2;h=0;do{y=x+(h<<2)|0;f[y>>2]=f[_+(f[y>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);ca=_}}else{b[z>>0]=0;z=a+68|0;_=a+72|0;w=f[_>>2]|0;h=f[z>>2]|0;x=w-h>>2;y=h;h=w;if(aa>>>0<=x>>>0)if(aa>>>0>>0?(w=y+(aa<<2)|0,(w|0)!=(h|0)):0){f[_>>2]=h+(~((h+-4-w|0)>>>2)<<2);da=aa}else da=aa;else{Ch(z,aa-x|0,1220);da=f[l>>2]|0}x=f[j>>2]|0;if(!da)ca=x;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);ca=x}}f[l>>2]=Z;ba=ca}if(!ba)ea=Z;else{ca=f[o>>2]|0;if((ca|0)!=(ba|0))f[o>>2]=ca+(~((ca+-4-ba|0)>>>2)<<2);Oq(ba);ea=Z}}else ea=0;Z=f[g+8>>2]|0;if(Z|0){ba=Z;do{Z=ba;ba=f[ba>>2]|0;Oq(Z)}while((ba|0)!=0)}ba=f[g>>2]|0;f[g>>2]=0;if(!ba){u=e;return ea|0}Oq(ba);u=e;return ea|0}function tc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;e=u;u=u+64|0;d=e+48|0;h=e+40|0;i=e+32|0;j=e+16|0;k=e+8|0;l=e;m=e+28|0;n=a+8|0;o=f[n>>2]|0;if((o+-2|0)>>>0<=28){f[a+72>>2]=o;p=1<>2]=p+-1;o=p+-2|0;f[a+80>>2]=o;f[a+84>>2]=(o|0)/2|0}o=a+40|0;f[a+48>>2]=g;g=a+88|0;tk(g);p=a+36|0;q=f[p>>2]|0;r=(f[q+4>>2]|0)-(f[q>>2]|0)|0;s=r>>2;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;t=k;f[t>>2]=0;f[t+4>>2]=0;t=l;f[t>>2]=0;f[t+4>>2]=0;if((r|0)<=0){u=e;return 1}r=j+4|0;t=j+8|0;v=a+84|0;w=a+80|0;x=h+4|0;y=i+4|0;z=d+4|0;A=k+4|0;B=h+4|0;C=i+4|0;D=d+4|0;E=l+4|0;F=a+76|0;a=k+4|0;G=l+4|0;H=f[q>>2]|0;if((f[q+4>>2]|0)==(H|0)){J=q;aq(J)}else{K=0;L=H}while(1){f[m>>2]=f[L+(K<<2)>>2];f[d>>2]=f[m>>2];$b(o,d,j);H=f[j>>2]|0;q=(H|0)>-1?H:0-H|0;M=f[r>>2]|0;N=(M|0)>-1?M:0-M|0;O=Vn(N|0,((N|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;q=f[t>>2]|0;N=(q|0)>-1;P=N?q:0-q|0;q=Vn(O|0,I|0,P|0,((P|0)<0)<<31>>31|0)|0;P=I;if((q|0)==0&(P|0)==0){O=f[v>>2]|0;Q=O;R=j;S=M;T=O}else{O=f[v>>2]|0;U=((O|0)<0)<<31>>31;V=un(O|0,U|0,H|0,((H|0)<0)<<31>>31|0)|0;H=Ik(V|0,I|0,q|0,P|0)|0;f[j>>2]=H;V=un(O|0,U|0,M|0,((M|0)<0)<<31>>31|0)|0;M=Ik(V|0,I|0,q|0,P|0)|0;f[r>>2]=M;P=O-((H|0)>-1?H:0-H|0)-((M|0)>-1?M:0-M|0)|0;Q=N?P:0-P|0;R=t;S=M;T=O}f[R>>2]=Q;O=f[j>>2]|0;do if((O|0)<=-1){if((S|0)<0){M=f[t>>2]|0;W=(M|0)>-1?M:0-M|0;X=M}else{M=f[t>>2]|0;W=(f[w>>2]|0)-((M|0)>-1?M:0-M|0)|0;X=M}if((X|0)<0){Y=(S|0)>-1?S:0-S|0;Z=W;_=X;break}else{Y=(f[w>>2]|0)-((S|0)>-1?S:0-S|0)|0;Z=W;_=X;break}}else{M=f[t>>2]|0;Y=M+T|0;Z=T+S|0;_=M}while(0);M=(Z|0)==0;P=(Y|0)==0;N=f[w>>2]|0;do if(Y|Z){H=(N|0)==(Y|0);if(!(M&H)){q=(N|0)==(Z|0);if(!(P&q)){if(M&(T|0)<(Y|0)){$=0;aa=(T<<1)-Y|0;break}if(q&(T|0)>(Y|0)){$=Z;aa=(T<<1)-Y|0;break}if(H&(T|0)>(Z|0)){$=(T<<1)-Z|0;aa=Y;break}if(P){$=(T|0)<(Z|0)?(T<<1)-Z|0:Z;aa=0}else{$=Z;aa=Y}}else{$=Z;aa=Z}}else{$=Y;aa=Y}}else{$=N;aa=N}while(0);P=0-S|0;M=0-_|0;f[j>>2]=0-O;f[r>>2]=P;f[t>>2]=M;if((O|0)<1){ba=T-_|0;ca=T-S|0}else{H=(_|0)<1?M:_;M=(S|0)<1?P:S;ba=(_|0)>0?M:N-M|0;ca=(S|0)>0?H:N-H|0}H=(ca|0)==0;M=(ba|0)==0;do if(((ba|ca|0)!=0?(P=(N|0)==(ba|0),!(H&P)):0)?(q=(N|0)==(ca|0),!(M&q)):0){if(H&(T|0)<(ba|0)){da=0;ea=(T<<1)-ba|0;break}if(q&(T|0)>(ba|0)){da=N;ea=(T<<1)-ba|0;break}if(P&(T|0)>(ca|0)){da=(T<<1)-ca|0;ea=N;break}if(M){da=(T|0)<(ca|0)?(T<<1)-ca|0:ca;ea=0}else{da=ca;ea=ba}}else{da=N;ea=N}while(0);N=K<<1;M=b+(N<<2)|0;H=M+4|0;O=f[H>>2]|0;f[h>>2]=f[M>>2];f[x>>2]=O;f[i>>2]=$;f[y>>2]=aa;Od(d,n,h,i);O=f[d>>2]|0;f[k>>2]=O;P=f[z>>2]|0;f[A>>2]=P;q=f[H>>2]|0;f[h>>2]=f[M>>2];f[B>>2]=q;f[i>>2]=da;f[C>>2]=ea;Od(d,n,h,i);q=f[d>>2]|0;f[l>>2]=q;M=f[D>>2]|0;f[E>>2]=M;H=f[v>>2]|0;if((H|0)>=(O|0))if((O|0)<(0-H|0))fa=(f[F>>2]|0)+O|0;else fa=O;else fa=O-(f[F>>2]|0)|0;f[k>>2]=fa;if((H|0)>=(P|0))if((P|0)<(0-H|0))ga=(f[F>>2]|0)+P|0;else ga=P;else ga=P-(f[F>>2]|0)|0;f[a>>2]=ga;if((H|0)>=(q|0))if((q|0)<(0-H|0))ha=(f[F>>2]|0)+q|0;else ha=q;else ha=q-(f[F>>2]|0)|0;f[l>>2]=ha;if((H|0)>=(M|0))if((M|0)<(0-H|0))ia=(f[F>>2]|0)+M|0;else ia=M;else ia=M-(f[F>>2]|0)|0;f[G>>2]=ia;if((((ga|0)>-1?ga:0-ga|0)+((fa|0)>-1?fa:0-fa|0)|0)<(((ha|0)>-1?ha:0-ha|0)+((ia|0)>-1?ia:0-ia|0)|0)){fj(g,0);ja=k}else{fj(g,1);ja=l}M=f[ja>>2]|0;if((M|0)<0)ka=(f[F>>2]|0)+M|0;else ka=M;M=c+(N<<2)|0;f[M>>2]=ka;N=f[ja+4>>2]|0;if((N|0)<0)la=(f[F>>2]|0)+N|0;else la=N;f[M+4>>2]=la;K=K+1|0;if((K|0)>=(s|0)){ma=5;break}M=f[p>>2]|0;L=f[M>>2]|0;if((f[M+4>>2]|0)-L>>2>>>0<=K>>>0){J=M;ma=6;break}}if((ma|0)==5){u=e;return 1}else if((ma|0)==6)aq(J);return 0}function uc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Oa,T=Oa,U=Oa,V=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;e=u;u=u+64|0;g=e+36|0;h=e+24|0;i=e+12|0;j=e;k=g+16|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[k>>2]=$(1.0);l=a+80|0;m=f[l>>2]|0;f[j>>2]=0;o=j+4|0;f[o>>2]=0;f[j+8>>2]=0;if(m){if(m>>>0>1073741823)aq(j);p=m<<2;q=ln(p)|0;f[j>>2]=q;r=q+(m<<2)|0;f[j+8>>2]=r;sj(q|0,0,p|0)|0;f[o>>2]=r;r=f[d>>2]|0;d=c+48|0;p=c+40|0;q=i+4|0;m=i+8|0;s=g+4|0;t=g+12|0;v=g+8|0;w=a+40|0;x=a+64|0;y=0;z=0;while(1){A=d;B=f[A>>2]|0;C=f[A+4>>2]|0;A=p;D=un(f[A>>2]|0,f[A+4>>2]|0,r+z|0,0)|0;A=Vn(D|0,I|0,B|0,C|0)|0;C=(f[f[c>>2]>>2]|0)+A|0;A=h;B=C;D=A+12|0;do{b[A>>0]=b[B>>0]|0;A=A+1|0;B=B+1|0}while((A|0)<(D|0));im(i|0,C|0,12)|0;B=qg(g,i)|0;if(!B){A=f[i>>2]|0;D=f[q>>2]|0;E=f[m>>2]|0;F=((A^318)+239^D)+239^E;G=f[s>>2]|0;H=(G|0)==0;a:do if(!H){J=G+-1|0;K=(J&G|0)==0;if(!K)if(F>>>0>>0)L=F;else L=(F>>>0)%(G>>>0)|0;else L=F&J;M=f[(f[g>>2]|0)+(L<<2)>>2]|0;if((M|0)!=0?(N=f[M>>2]|0,(N|0)!=0):0){if(K){K=N;while(1){M=f[K+4>>2]|0;if(!((M|0)==(F|0)|(M&J|0)==(L|0))){O=L;P=29;break a}if(((f[K+8>>2]|0)==(A|0)?(f[K+12>>2]|0)==(D|0):0)?(f[K+16>>2]|0)==(E|0):0)break a;K=f[K>>2]|0;if(!K){O=L;P=29;break a}}}else Q=N;while(1){K=f[Q+4>>2]|0;if((K|0)!=(F|0)){if(K>>>0>>0)R=K;else R=(K>>>0)%(G>>>0)|0;if((R|0)!=(L|0)){O=L;P=29;break a}}if(((f[Q+8>>2]|0)==(A|0)?(f[Q+12>>2]|0)==(D|0):0)?(f[Q+16>>2]|0)==(E|0):0)break a;Q=f[Q>>2]|0;if(!Q){O=L;P=29;break}}}else{O=L;P=29}}else{O=0;P=29}while(0);if((P|0)==29){P=0;C=ln(24)|0;f[C+8>>2]=A;f[C+12>>2]=D;f[C+16>>2]=E;f[C+20>>2]=y;f[C+4>>2]=F;f[C>>2]=0;S=$(((f[t>>2]|0)+1|0)>>>0);T=$(G>>>0);U=$(n[k>>2]);do if(H|$(U*T)>>0<3|(G+-1&G|0)!=0)&1;K=~~$(W($(S/U)))>>>0;Xh(g,N>>>0>>0?K:N);N=f[s>>2]|0;K=N+-1|0;if(!(K&N)){V=N;X=K&F;break}if(F>>>0>>0){V=N;X=F}else{V=N;X=(F>>>0)%(N>>>0)|0}}else{V=G;X=O}while(0);G=(f[g>>2]|0)+(X<<2)|0;F=f[G>>2]|0;if(!F){f[C>>2]=f[v>>2];f[v>>2]=C;f[G>>2]=v;G=f[C>>2]|0;if(G|0){H=f[G+4>>2]|0;G=V+-1|0;if(G&V)if(H>>>0>>0)Y=H;else Y=(H>>>0)%(V>>>0)|0;else Y=H&G;Z=(f[g>>2]|0)+(Y<<2)|0;P=42}}else{f[C>>2]=f[F>>2];Z=F;P=42}if((P|0)==42){P=0;f[Z>>2]=C}f[t>>2]=(f[t>>2]|0)+1}F=w;G=f[F>>2]|0;H=un(G|0,f[F+4>>2]|0,y|0,0)|0;kh((f[f[x>>2]>>2]|0)+H|0,h|0,G|0)|0;G=f[j>>2]|0;f[G+(z<<2)>>2]=y;_=y+1|0;aa=G}else{G=f[j>>2]|0;f[G+(z<<2)>>2]=f[B+20>>2];_=y;aa=G}z=z+1|0;ba=f[l>>2]|0;if(z>>>0>=ba>>>0)break;else y=_}if((_|0)==(ba|0))ca=aa;else{y=a+84|0;if(!(b[y>>0]|0)){z=f[a+72>>2]|0;h=f[a+68>>2]|0;x=h;if((z|0)==(h|0))da=aa;else{w=z-h>>2;h=0;do{z=x+(h<<2)|0;f[z>>2]=f[aa+(f[z>>2]<<2)>>2];h=h+1|0}while(h>>>0>>0);da=aa}}else{b[y>>0]=0;y=a+68|0;aa=a+72|0;w=f[aa>>2]|0;h=f[y>>2]|0;x=w-h>>2;z=h;h=w;if(ba>>>0<=x>>>0)if(ba>>>0>>0?(w=z+(ba<<2)|0,(w|0)!=(h|0)):0){f[aa>>2]=h+(~((h+-4-w|0)>>>2)<<2);ea=ba}else ea=ba;else{Ch(y,ba-x|0,1220);ea=f[l>>2]|0}x=f[j>>2]|0;if(!ea)da=x;else{j=f[a+68>>2]|0;a=0;do{f[j+(a<<2)>>2]=f[x+(a<<2)>>2];a=a+1|0}while(a>>>0>>0);da=x}}f[l>>2]=_;ca=da}if(!ca)fa=_;else{da=f[o>>2]|0;if((da|0)!=(ca|0))f[o>>2]=da+(~((da+-4-ca|0)>>>2)<<2);Oq(ca);fa=_}}else fa=0;_=f[g+8>>2]|0;if(_|0){ca=_;do{_=ca;ca=f[ca>>2]|0;Oq(_)}while((ca|0)!=0)}ca=f[g>>2]|0;f[g>>2]=0;if(!ca){u=e;return fa|0}Oq(ca);u=e;return fa|0} +function di(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Je(e,a+40|0,f[a+8>>2]|0,b,c);gj(a,e);a=f[e>>2]|0;f[e>>2]=0;if(!a){u=d;return 1}e=a+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){b=c+12|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;Oq(e)}Oq(c)}c=f[a+68>>2]|0;if(c|0){e=a+72|0;b=f[e>>2]|0;if((b|0)!=(c|0))f[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);Oq(c)}c=a+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){e=b+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;Oq(c)}Oq(b)}Oq(a);u=d;return 1}function ei(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Bd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Bd(a,e);return}function fi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=u;u=u+48|0;g=e;h=e+32|0;if(!c){i=0;u=e;return i|0}Gn(g);if((dm(c,0)|0)!=-1?Qa[f[(f[c>>2]|0)+16>>2]&127](c)|0:0){Va[f[(f[c>>2]|0)+20>>2]&127](c);ch(h,a,c,g);c=(f[h>>2]|0)==0;a=h+4|0;if((b[a+11>>0]|0)<0)Oq(f[a>>2]|0);if(c){c=f[g>>2]|0;a=g+4|0;rg(d,c,c+((f[a>>2]|0)-c)|0);j=(f[a>>2]|0)-(f[g>>2]|0)|0}else j=0}else j=0;a=g+12|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Oq(c);c=f[g>>2]|0;if(c|0){a=g+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;Oq(c)}i=j;u=e;return i|0}function gi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Fe(e,a+40|0,f[a+8>>2]|0,b,c);gj(a,e);a=f[e>>2]|0;f[e>>2]=0;if(!a){u=d;return 1}e=a+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){e=f[c+8>>2]|0;if(e|0){b=c+12|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;Oq(e)}Oq(c)}c=f[a+68>>2]|0;if(c|0){e=a+72|0;b=f[e>>2]|0;if((b|0)!=(c|0))f[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);Oq(c)}c=a+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){e=b+4|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;Oq(c)}Oq(b)}Oq(a);u=d;return 1}function hi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{d=g+-4|0;f[c>>2]=d;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=h+88|0;i=f[d>>2]|0;f[d>>2]=0;if(i|0){d=f[i+8>>2]|0;if(d|0){j=i+12|0;if((f[j>>2]|0)!=(d|0))f[j>>2]=d;Oq(d)}Oq(i)}i=f[h+68>>2]|0;if(i|0){d=h+72|0;j=f[d>>2]|0;if((j|0)!=(i|0))f[d>>2]=j+(~((j+-4-i|0)>>>2)<<2);Oq(i)}i=h+64|0;j=f[i>>2]|0;f[i>>2]=0;if(j|0){i=f[j>>2]|0;if(i|0){d=j+4|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;Oq(i)}Oq(j)}Oq(h)}g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}Oq(e);return}function ii(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;if(!(Ie(a,c)|0)){i=0;u=d;return i|0}j=a+36|0;k=a+40|0;a=f[j>>2]|0;if((f[k>>2]|0)==(a|0)){i=1;u=d;return i|0}l=c+16|0;m=c+4|0;n=h+1|0;o=0;p=a;do{a=f[p+(o<<2)>>2]|0;q=Qa[f[(f[a>>2]|0)+32>>2]&127](a)|0;b[h>>0]=q;q=l;a=f[q+4>>2]|0;if(!((a|0)>0|(a|0)==0&(f[q>>2]|0)>>>0>0)){f[g>>2]=f[m>>2];f[e>>2]=f[g>>2];Me(c,e,h,n)|0}o=o+1|0;p=f[j>>2]|0}while(o>>>0<(f[k>>2]|0)-p>>2>>>0);i=1;u=d;return i|0}function ji(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=u;u=u+16|0;d=c;lp(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;e=a+24|0;lp(e);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=ln(32)|0;f[d>>2]=a;f[d+8>>2]=-2147483616;f[d+4>>2]=20;g=a;h=14538;i=g+20|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[a+20>>0]=0;Vj(e,d,1);if((b[d+11>>0]|0)<0)Oq(f[d>>2]|0);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;a=ln(32)|0;f[d>>2]=a;f[d+8>>2]=-2147483616;f[d+4>>2]=22;g=a;h=14559;i=g+22|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[a+22>>0]=0;Vj(e,d,1);if((b[d+11>>0]|0)>=0){u=c;return}Oq(f[d>>2]|0);u=c;return}function ki(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a+4>>2]|0;c=a+8|0;d=f[c>>2]|0;if((d|0)!=(b|0)){e=d;do{d=e+-4|0;f[c>>2]=d;g=f[d>>2]|0;f[d>>2]=0;if(g|0){d=g+88|0;h=f[d>>2]|0;f[d>>2]=0;if(h|0){d=f[h+8>>2]|0;if(d|0){i=h+12|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;Oq(d)}Oq(h)}h=f[g+68>>2]|0;if(h|0){d=g+72|0;i=f[d>>2]|0;if((i|0)!=(h|0))f[d>>2]=i+(~((i+-4-h|0)>>>2)<<2);Oq(h)}h=g+64|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){h=f[i>>2]|0;if(h|0){d=i+4|0;if((f[d>>2]|0)!=(h|0))f[d>>2]=h;Oq(h)}Oq(i)}Oq(g)}e=f[c>>2]|0}while((e|0)!=(b|0))}b=f[a>>2]|0;if(!b)return;Oq(b);return}function li(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+20>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;u=c;return 1}function mi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=u;u=u+16|0;d=c;e=ln(16)|0;f[d>>2]=e;f[d+8>>2]=-2147483632;f[d+4>>2]=14;g=e;h=14408;i=g+14|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[e+14>>0]=0;e=Hk(a,d,-1)|0;if((b[d+11>>0]|0)<0)Oq(f[d>>2]|0);j=ln(16)|0;f[d>>2]=j;f[d+8>>2]=-2147483632;f[d+4>>2]=14;g=j;h=14423;i=g+14|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[j+14>>0]=0;j=Hk(a,d,-1)|0;if((b[d+11>>0]|0)>=0){k=(e|0)<(j|0);l=k?j:e;m=(l|0)==-1;n=m?5:l;u=c;return n|0}Oq(f[d>>2]|0);k=(e|0)<(j|0);l=k?j:e;m=(l|0)==-1;n=m?5:l;u=c;return n|0}function ni(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c+8|0;e=c+4|0;g=c;f[g>>2]=f[a+12>>2];h=b+16|0;i=h;j=f[i>>2]|0;k=f[i+4>>2]|0;if((k|0)>0|(k|0)==0&j>>>0>0){l=k;m=j}else{f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;j=h;l=f[j+4>>2]|0;m=f[j>>2]|0}f[g>>2]=f[a+16>>2];if((l|0)>0|(l|0)==0&m>>>0>0){u=c;return 1}f[e>>2]=f[b+4>>2];f[d>>2]=f[e>>2];Me(b,d,g,g+4|0)|0;u=c;return 1}function oi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=ln(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;h=g+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0}else{Fi(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0}kh(n|0,l|0,m-l|0)|0;b[c>>0]=1;c=f[a>>2]|0;f[c+4>>2]=d;f[c>>2]=0;return}function pi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;b=a+32|0;ld(a,b);c=a+80|0;d=f[c>>2]|0;if((d|0?(e=a+84|0,(f[e>>2]|0)>0):0)?(ld(d,b),(f[e>>2]|0)>1):0){d=1;do{ld((f[c>>2]|0)+(d<<5)|0,b);d=d+1|0}while((d|0)<(f[e>>2]|0))}e=a+136|0;d=a+140|0;a=f[e>>2]|0;if((f[d>>2]|0)==(a|0))return;c=0;g=a;while(1){a=g;ci((f[a+(c*12|0)+4>>2]|0)-(f[a+(c*12|0)>>2]|0)>>2,b)|0;a=f[e>>2]|0;h=f[a+(c*12|0)>>2]|0;i=(f[a+(c*12|0)+4>>2]|0)-h>>2;if(!i)j=a;else{Mc(h,i,1,0,b)|0;j=f[e>>2]|0}c=c+1|0;if(c>>>0>=(((f[d>>2]|0)-j|0)/12|0)>>>0)break;else g=j}return}function qi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(vl(d)|0)){h=f[e>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=d+20|0;e=f[g>>2]|0;k=e;if((h-e|0)>>>0>>0){j=Sa[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){e=c;while(1){if(!e){l=0;m=a;n=c;o=k;break b}p=e+-1|0;if((b[a+p>>0]|0)==10)break;else e=p}p=Sa[f[d+36>>2]&31](d,a,e)|0;if(p>>>0>>0){j=p;break a}l=e;m=a+e|0;n=c-e|0;o=f[g>>2]|0}else{l=0;m=a;n=c;o=k}while(0);kh(o|0,m|0,n|0)|0;f[g>>2]=(f[g>>2]|0)+n;j=l+n|0}while(0);return j|0}function ri(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+12|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d+28>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;ri(c+8|0);Oq(c)}while((e|0)!=0)}e=d+20|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Oq(c);c=f[d+8>>2]|0;if(c|0){e=c;do{c=e;e=f[e>>2]|0;g=c+8|0;h=f[c+20>>2]|0;if(h|0){i=c+24|0;if((f[i>>2]|0)!=(h|0))f[i>>2]=h;Oq(h)}if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);Oq(c)}while((e|0)!=0)}e=f[d>>2]|0;f[d>>2]=0;if(e|0)Oq(e);Oq(d)}if((b[a+11>>0]|0)>=0)return;Oq(f[a>>2]|0);return}function si(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0;g=u;u=u+32|0;h=g+12|0;i=g;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;if((e|0)>0){j=i+11|0;k=i+4|0;l=0;do{if((l|0)>0)An(h,14477)|0;il(i,$(n[d+(l<<2)>>2]));m=b[j>>0]|0;o=m<<24>>24<0;lj(h,o?f[i>>2]|0:i,o?f[k>>2]|0:m&255)|0;if((b[j>>0]|0)<0)Oq(f[i>>2]|0);l=l+1|0}while((l|0)<(e|0))}am(Ai(a,c)|0,h)|0;if((b[h+11>>0]|0)>=0){u=g;return}Oq(f[h>>2]|0);u=g;return}function ti(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=u;u=u+16|0;d=c;if((Qa[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){e=1;u=c;return e|0}g=a+4|0;h=a+20|0;i=a+24|0;j=a+16|0;a=0;while(1){k=f[(f[g>>2]|0)+4>>2]|0;l=dm(k,Ra[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;f[d>>2]=l;if((l|0)==-1)break;k=f[h>>2]|0;if((k|0)==(f[i>>2]|0))Ri(j,d);else{f[k>>2]=l;f[h>>2]=k+4}gl(f[g>>2]|0,f[d>>2]|0)|0;a=a+1|0;if((a|0)>=(Qa[f[(f[b>>2]|0)+20>>2]&127](b)|0)){e=1;m=9;break}}if((m|0)==9){u=c;return e|0}e=0;u=c;return e|0}function ui(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=1292;hi(a+60|0);b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=a+36|0;d=f[b>>2]|0;if(d|0){c=a+40|0;e=f[c>>2]|0;if((e|0)==(d|0))g=d;else{h=e;do{e=h+-24|0;f[c>>2]=e;Va[f[f[e>>2]>>2]&127](e);h=f[c>>2]|0}while((h|0)!=(d|0));g=f[b>>2]|0}Oq(g)}f[a>>2]=1232;g=f[a+16>>2]|0;if(g|0){b=a+20|0;d=f[b>>2]|0;if((d|0)!=(g|0))f[b>>2]=d+(~((d+-4-g|0)>>>2)<<2);Oq(g)}g=f[a+4>>2]|0;if(!g)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(g|0))f[d>>2]=a+(~((a+-4-g|0)>>>2)<<2);Oq(g);return}function vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=u;u=u+32|0;d=c+16|0;e=c+8|0;g=c;h=a+8|0;if(f[h>>2]<<5>>>0>=b>>>0){u=c;return}f[d>>2]=0;i=d+4|0;f[i>>2]=0;j=d+8|0;f[j>>2]=0;if((b|0)<0)aq(d);k=((b+-1|0)>>>5)+1|0;b=ln(k<<2)|0;f[d>>2]=b;f[i>>2]=0;f[j>>2]=k;k=f[a>>2]|0;f[e>>2]=k;f[e+4>>2]=0;b=a+4|0;l=f[b>>2]|0;f[g>>2]=k+(l>>>5<<2);f[g+4>>2]=l&31;zg(d,e,g);g=f[a>>2]|0;f[a>>2]=f[d>>2];f[d>>2]=g;d=f[b>>2]|0;f[b>>2]=f[i>>2];f[i>>2]=d;d=f[h>>2]|0;f[h>>2]=f[j>>2];f[j>>2]=d;if(g|0)Oq(g);u=c;return}function wi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;b=a+136|0;c=f[b>>2]|0;if(c|0){d=a+140|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e;while(1){e=h+-12|0;f[d>>2]=e;i=f[e>>2]|0;if(!i)j=e;else{e=h+-8|0;k=f[e>>2]|0;if((k|0)!=(i|0))f[e>>2]=k+(~((k+-4-i|0)>>>2)<<2);Oq(i);j=f[d>>2]|0}if((j|0)==(c|0))break;else h=j}g=f[b>>2]|0}Oq(g)}g=f[a+104>>2]|0;if(g|0){b=a+108|0;j=f[b>>2]|0;if((j|0)!=(g|0))f[b>>2]=j+(~((j+-4-g|0)>>>2)<<2);Oq(g)}g=f[a+92>>2]|0;if(!g){uj(a);return}j=a+96|0;b=f[j>>2]|0;if((b|0)!=(g|0))f[j>>2]=b+(~((b+-4-g|0)>>>2)<<2);Oq(g);uj(a);return}function xi(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3680;c=a+72|0;d=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=c;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[d>>2]=$(1.0);d=a+140|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[a+164>>2]=-1;d=a+168|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;wn(a+200|0);Gn(a+232|0);d=a+316|0;e=a+264|0;g=e+52|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=-1;f[a+320>>2]=-1;f[a+324>>2]=0;f[a+328>>2]=2;f[a+332>>2]=7;f[a+336>>2]=0;f[a+340>>2]=0;f[a+344>>2]=0;b[a+352>>0]=0;return}function yi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=(e|0)/12|0;h=g+1|0;if(h>>>0>357913941)aq(a);i=a+8|0;j=((f[i>>2]|0)-d|0)/12|0;k=j<<1;l=j>>>0<178956970?(k>>>0>>0?h:k):357913941;do if(l)if(l>>>0>357913941){k=ra(8)|0;Oo(k,16035);f[k>>2]=7256;va(k|0,1112,110)}else{m=ln(l*12|0)|0;break}else m=0;while(0);k=m+(g*12|0)|0;f[k>>2]=f[b>>2];f[k+4>>2]=f[b+4>>2];f[k+8>>2]=f[b+8>>2];b=k+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)kh(b|0,d|0,e|0)|0;f[a>>2]=b;f[c>>2]=k+12;f[i>>2]=m+(l*12|0);if(!d)return;Oq(d);return}function zi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=a+16|0;h=g;i=f[h+4>>2]|0;if((d|0)<0|(d|0)==0&c>>>0<1|((i|0)>0|(i|0)==0&(f[h>>2]|0)>>>0>0)){j=0;return j|0}b[a+24>>0]=e&1;h=Vn(c|0,d|0,7,0)|0;d=Ik(h|0,I|0,8,0)|0;h=I;c=g;f[c>>2]=d;f[c+4>>2]=h;c=a+4|0;g=f[c>>2]|0;i=f[a>>2]|0;k=g-i|0;l=Vn(k|0,0,8,0)|0;m=e?l:k;l=Vn(m|0,(e?I:0)|0,d|0,h|0)|0;h=i;i=g;if(k>>>0>=l>>>0)if(k>>>0>l>>>0?(g=h+l|0,(g|0)!=(i|0)):0){f[c>>2]=g;n=h}else n=h;else{Fi(a,l-k|0);n=f[a>>2]|0}k=ln(8)|0;f[k>>2]=n+m;f[k+4>>2]=0;m=a+12|0;a=f[m>>2]|0;f[m>>2]=k;if(!a){j=1;return j|0}Oq(a);j=1;return j|0}function Ai(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=u;u=u+16|0;d=c;e=yg(a,d,b)|0;g=f[e>>2]|0;if(g|0){h=g;i=h+28|0;u=c;return i|0}g=ln(40)|0;pj(g+16|0,b);b=g+28|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;b=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=b;f[e>>2]=g;b=f[f[a>>2]>>2]|0;if(!b)j=g;else{f[a>>2]=b;j=f[e>>2]|0}Oe(f[a+4>>2]|0,j);j=a+8|0;f[j>>2]=(f[j>>2]|0)+1;h=g;i=h+28|0;u=c;return i|0}function Bi(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;k=u;u=u+16|0;l=k;if((-18-c|0)>>>0>>0)aq(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){n=d+c|0;d=c<<1;o=n>>>0>>0?d:n;p=o>>>0<11?11:o+16&-16}else p=-17;o=ln(p)|0;if(g|0)Fo(o,m,g)|0;if(i|0)Fo(o+g|0,j,i)|0;j=e-h|0;e=j-g|0;if(e|0)Fo(o+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)Oq(m);f[a>>2]=o;f[a+8>>2]=p|-2147483648;p=j+i|0;f[a+4>>2]=p;b[l>>0]=0;up(o+p|0,l);u=k;return}function Ci(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+8|0;d=f[c>>2]|0;e=a+4|0;g=f[e>>2]|0;if(d-g>>2>>>0>=b>>>0){sj(g|0,0,b<<2|0)|0;f[e>>2]=g+(b<<2);return}h=f[a>>2]|0;i=g-h|0;g=i>>2;j=g+b|0;if(j>>>0>1073741823)aq(a);k=d-h|0;d=k>>1;l=k>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;do if(l)if(l>>>0>1073741823){d=ra(8)|0;Oo(d,16035);f[d>>2]=7256;va(d|0,1112,110)}else{d=ln(l<<2)|0;m=d;n=d;break}else{m=0;n=0}while(0);d=m+(g<<2)|0;sj(d|0,0,b<<2|0)|0;if((i|0)>0)kh(n|0,h|0,i|0)|0;f[a>>2]=m;f[e>>2]=d+(b<<2);f[c>>2]=m+(l<<2);if(!h)return;Oq(h);return}function Di(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=ln(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;pj(g+8|0,e);h=g+20|0;i=e+12|0;f[h>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;e=f[g>>2]|0;j=f[i>>2]|0;k=e-j|0;if(!k){l=j;m=e;n=0}else{Fi(h,k);l=f[i>>2]|0;m=f[g>>2]|0;n=f[h>>2]|0}kh(n|0,l|0,m-l|0)|0;b[c>>0]=1;c=f[a>>2]|0;f[c+4>>2]=d;f[c>>2]=0;return}function Ei(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=+d;l=j;j=i;while(1){if(j<<24>>24<0)m=f[c>>2]|0;else m=c;p[g>>3]=k;n=Bn(m,l+1|0,18562,g)|0;if((n|0)>-1)if(n>>>0>l>>>0)o=n;else break;else o=l<<1|1;Hj(c,o,0);l=o;j=b[h>>0]|0}Hj(c,n,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function Fi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a+8|0;e=f[d>>2]|0;g=a+4|0;h=f[g>>2]|0;if((e-h|0)>>>0>=c>>>0){i=c;j=h;do{b[j>>0]=0;j=(f[g>>2]|0)+1|0;f[g>>2]=j;i=i+-1|0}while((i|0)!=0);return}i=f[a>>2]|0;j=h-i|0;h=j+c|0;if((h|0)<0)aq(a);k=e-i|0;i=k<<1;e=k>>>0<1073741823?(i>>>0>>0?h:i):2147483647;if(!e)l=0;else l=ln(e)|0;i=l+j|0;j=l+e|0;e=c;c=i;l=i;do{b[l>>0]=0;l=c+1|0;c=l;e=e+-1|0}while((e|0)!=0);e=f[a>>2]|0;l=(f[g>>2]|0)-e|0;h=i+(0-l)|0;if((l|0)>0)kh(h|0,e|0,l|0)|0;f[a>>2]=h;f[g>>2]=c;f[d>>2]=j;if(!e)return;Oq(e);return}function Gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=(d-e|0)/136|0;h=d;if(g>>>0>>0){Ge(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+(b*136|0)|0;if((g|0)==(h|0))return;else i=h;do{f[c>>2]=i+-136;h=f[i+-20>>2]|0;if(h|0){b=i+-16|0;e=f[b>>2]|0;if((e|0)!=(h|0))f[b>>2]=e+(~((e+-4-h|0)>>>2)<<2);Oq(h)}h=f[i+-32>>2]|0;if(h|0){e=i+-28|0;b=f[e>>2]|0;if((b|0)!=(h|0))f[e>>2]=b+(~((b+-4-h|0)>>>2)<<2);Oq(h)}Mi(i+-132|0);i=f[c>>2]|0}while((i|0)!=(g|0));return}function Hi(a,b){a=a|0;b=b|0;var c=0,d=Oa,e=0,g=0;if((b|0)!=1)if(!(b+-1&b))c=b;else c=cb(b)|0;else c=2;b=f[a+4>>2]|0;if(c>>>0>b>>>0){Sd(a,c);return}if(c>>>0>=b>>>0)return;d=$((f[a+12>>2]|0)>>>0);e=~~$(W($(d/$(n[a+16>>2]))))>>>0;if(b>>>0>2&(b+-1&b|0)==0)g=1<<32-(_(e+-1|0)|0);else g=cb(e)|0;e=c>>>0>>0?g:c;if(e>>>0>=b>>>0)return;Sd(a,e);return}function Ii(a){a=a|0;var b=0,c=0,d=0;b=f[a+76>>2]|0;if(b|0){c=a+80|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;Oq(b)}b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+24>>2]|0;if(b|0){c=a+28|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Oq(b);return}function Ji(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=u;u=u+16|0;g=e;h=c+11|0;i=b[h>>0]|0;if(i<<24>>24<0)j=f[c+4>>2]|0;else j=i&255;k=j;j=i;while(1){if(j<<24>>24<0)l=f[c>>2]|0;else l=c;f[g>>2]=d;m=Bn(l,k+1|0,18559,g)|0;if((m|0)>-1)if(m>>>0>k>>>0)n=m;else break;else n=k<<1|1;Hj(c,n,0);k=n;j=b[h>>0]|0}Hj(c,m,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];a=0;while(1){if((a|0)==3)break;f[c+(a<<2)>>2]=0;a=a+1|0}u=e;return}function Ki(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+8|0;c=f[b>>2]|0;if((c|0)<0){d=0;return d|0}e=a+4|0;a=f[e>>2]|0;g=a+4|0;h=f[g>>2]|0;i=f[a>>2]|0;j=h-i>>2;k=i;i=h;if(c>>>0<=j>>>0)if(c>>>0>>0?(h=k+(c<<2)|0,(h|0)!=(i|0)):0){f[g>>2]=i+(~((i+-4-h|0)>>>2)<<2);l=c}else l=c;else{Ci(a,c-j|0);l=f[b>>2]|0}if((l|0)<=0){d=1;return d|0}b=f[e>>2]|0;e=f[b>>2]|0;j=(f[b+4>>2]|0)-e>>2;c=e;e=0;while(1){if(j>>>0<=e>>>0){m=10;break}f[c+(e<<2)>>2]=e;e=e+1|0;if((e|0)>=(l|0)){d=1;m=12;break}}if((m|0)==10)aq(b);else if((m|0)==12)return d|0;return 0}function Li(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=ln(16)|0;f[g>>2]=h;f[g+8>>2]=-2147483632;f[g+4>>2]=14;i=h;j=14408;k=i+14|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+14>>0]=0;Xj(a,g,c);if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);c=ln(16)|0;f[g>>2]=c;f[g+8>>2]=-2147483632;f[g+4>>2]=14;i=c;j=14423;k=i+14|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+14>>0]=0;Xj(a,g,d);if((b[g+11>>0]|0)>=0){u=e;return}Oq(f[g>>2]|0);u=e;return}function Mi(a){a=a|0;var b=0,c=0,d=0;b=f[a+84>>2]|0;if(b|0){c=a+88|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;Oq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+40>>2]|0;if(b|0){c=a+44|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+12>>2]|0;if(b|0)Oq(b);b=f[a>>2]|0;if(!b)return;Oq(b);return}function Ni(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=1352;b=a+32|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+88|0;d=f[b>>2]|0;f[b>>2]=0;if(d|0){b=f[d+8>>2]|0;if(b|0){e=d+12|0;if((f[e>>2]|0)!=(b|0))f[e>>2]=b;Oq(b)}Oq(d)}d=f[c+68>>2]|0;if(d|0){b=c+72|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Oq(d)}d=c+64|0;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=f[e>>2]|0;if(d|0){b=e+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;Oq(d)}Oq(e)}Oq(c)}c=f[a+16>>2]|0;if(!c)return;e=a+20|0;a=f[e>>2]|0;if((a|0)!=(c|0))f[e>>2]=a+(~((a+-4-c|0)>>>2)<<2);Oq(c);return}function Oi(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;a=u;u=u+48|0;b=a+32|0;c=a+24|0;d=a+16|0;e=a;g=a+36|0;a=sn()|0;if(a|0?(h=f[a>>2]|0,h|0):0){a=h+48|0;i=f[a>>2]|0;j=f[a+4>>2]|0;if(!((i&-256|0)==1126902528&(j|0)==1129074247)){f[c>>2]=18701;Hn(18651,c)}if((i|0)==1126902529&(j|0)==1129074247)k=f[h+44>>2]|0;else k=h+80|0;f[g>>2]=k;k=f[h>>2]|0;h=f[k+4>>2]|0;if(Sa[f[(f[258]|0)+16>>2]&31](1032,k,g)|0){k=f[g>>2]|0;g=Qa[f[(f[k>>2]|0)+8>>2]&127](k)|0;f[e>>2]=18701;f[e+4>>2]=h;f[e+8>>2]=g;Hn(18565,e)}else{f[d>>2]=18701;f[d+4>>2]=h;Hn(18610,d)}}Hn(18689,b)}function Pi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;do if(a){if(c>>>0<128){b[a>>0]=c;e=1;break}d=(Jq()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=Vq()|0;f[d>>2]=84;e=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;e=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;e=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;e=4;break}else{d=Vq()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function Qi(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){c=a+96|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}f[a+4>>2]=3636;b=f[a+24>>2]|0;if(b|0)Oq(b);b=f[a+12>>2]|0;if(!b)return;Oq(b);return}function Ri(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=a+4|0;d=f[a>>2]|0;e=(f[c>>2]|0)-d|0;g=e>>2;h=g+1|0;if(h>>>0>1073741823)aq(a);i=a+8|0;j=(f[i>>2]|0)-d|0;k=j>>1;l=j>>2>>>0<536870911?(k>>>0>>0?h:k):1073741823;do if(l)if(l>>>0>1073741823){k=ra(8)|0;Oo(k,16035);f[k>>2]=7256;va(k|0,1112,110)}else{k=ln(l<<2)|0;m=k;n=k;break}else{m=0;n=0}while(0);k=m+(g<<2)|0;f[k>>2]=f[b>>2];if((e|0)>0)kh(n|0,d|0,e|0)|0;f[a>>2]=m;f[c>>2]=k+4;f[i>>2]=m+(l<<2);if(!d)return;Oq(d);return}function Si(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+104|0;d=f[c>>2]|0;if((d|0)!=0?(f[a+108>>2]|0)>=(d|0):0)e=4;else{d=Wm(a)|0;if((d|0)>=0){g=f[c>>2]|0;c=a+8|0;if(g){i=f[c>>2]|0;j=f[a+4>>2]|0;k=g-(f[a+108>>2]|0)|0;g=i;if((i-j|0)<(k|0)){l=g;m=g}else{l=j+(k+-1)|0;m=g}}else{g=f[c>>2]|0;l=g;m=g}f[a+100>>2]=l;l=a+4|0;if(!m)n=f[l>>2]|0;else{g=f[l>>2]|0;l=a+108|0;f[l>>2]=m+1-g+(f[l>>2]|0);n=g}g=n+-1|0;if((d|0)==(h[g>>0]|0|0))o=d;else{b[g>>0]=d;o=d}}else e=4}if((e|0)==4){f[a+100>>2]=0;o=-1}return o|0}function Ti(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a>>2]=1544;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];fk(a+32|0,c+24|0);f[a>>2]=2384;c=a+44|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];f[a>>2]=2440;d=a+112|0;c=a+60|0;b=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(b|0));Zm(d);f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;return}function Ui(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a>>2]=1544;f[a+4>>2]=b;b=a+8|0;f[b>>2]=f[c>>2];f[b+4>>2]=f[c+4>>2];f[b+8>>2]=f[c+8>>2];f[b+12>>2]=f[c+12>>2];f[b+16>>2]=f[c+16>>2];f[b+20>>2]=f[c+20>>2];fk(a+32|0,c+24|0);f[a>>2]=1964;c=a+44|0;f[c>>2]=f[d>>2];f[c+4>>2]=f[d+4>>2];f[c+8>>2]=f[d+8>>2];f[c+12>>2]=f[d+12>>2];f[a>>2]=2020;d=a+112|0;c=a+60|0;b=c+52|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(b|0));Zm(d);f[a+152>>2]=0;f[a+156>>2]=0;f[a+160>>2]=0;return}function Vi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2440;b=f[a+152>>2]|0;if(b|0){c=a+156|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+112>>2]|0;if(b|0){d=a+116|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+96>>2]|0;if(b|0)Oq(b);b=f[a+84>>2]|0;if(b|0)Oq(b);b=f[a+72>>2]|0;if(b|0)Oq(b);b=f[a+60>>2]|0;if(b|0)Oq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Oq(b);return}function Wi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=u;u=u+16|0;e=d;g=f[(f[c+4>>2]|0)+4>>2]|0;if(!g){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=d;return}if(!(Dj(d+12|0,f[c+44>>2]|0,g)|0)){g=ln(32)|0;f[e>>2]=g;f[e+8>>2]=-2147483616;f[e+4>>2]=26;c=g;h=15859;i=c+26|0;do{b[c>>0]=b[h>>0]|0;c=c+1|0;h=h+1|0}while((c|0)<(i|0));b[g+26>>0]=0;f[a>>2]=-1;pj(a+4|0,e);if((b[e+11>>0]|0)<0)Oq(f[e>>2]|0)}else{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}u=d;return}function Xi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=b+48|0;if((mi(f[c>>2]|0)|0)>9){d=0;return d|0}if((Qa[f[(f[b>>2]|0)+8>>2]&127](b)|0)!=1){d=0;return d|0}e=b+4|0;b=(f[(f[(f[e>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)+56|0;a=f[b>>2]|0;do if((a|0)==3)if((mi(f[c>>2]|0)|0)<4){d=5;return d|0}else{g=f[b>>2]|0;break}else g=a;while(0);a=mi(f[c>>2]|0)|0;if((g|0)==1){d=(a|0)<4?6:0;return d|0}if((a|0)>7){d=0;return d|0}if((mi(f[c>>2]|0)|0)>1){d=1;return d|0}else return ((f[(f[e>>2]|0)+80>>2]|0)>>>0<40?1:4)|0;return 0}function Yi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2020;b=f[a+152>>2]|0;if(b|0){c=a+156|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+112>>2]|0;if(b|0){d=a+116|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+96>>2]|0;if(b|0)Oq(b);b=f[a+84>>2]|0;if(b|0)Oq(b);b=f[a+72>>2]|0;if(b|0)Oq(b);b=f[a+60>>2]|0;if(b|0)Oq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Oq(b);return}function Zi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=u;u=u+128|0;h=g+124|0;i=g;j=i;k=6596;l=j+124|0;do{f[j>>2]=f[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((c+-1|0)>>>0>2147483646)if(!c){m=h;n=1;o=4}else{h=Vq()|0;f[h>>2]=75;p=-1}else{m=a;n=c;o=4}if((o|0)==4){o=-2-m|0;c=n>>>0>o>>>0?o:n;f[i+48>>2]=c;n=i+20|0;f[n>>2]=m;f[i+44>>2]=m;o=m+c|0;m=i+16|0;f[m>>2]=o;f[i+28>>2]=o;o=Ah(i,d,e)|0;if(!c)p=o;else{c=f[n>>2]|0;b[c+(((c|0)==(f[m>>2]|0))<<31>>31)>>0]=0;p=o}}u=g;return p|0}function _i(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3480;c=a+72|0;d=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=c;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[d>>2]=$(1.0);d=a+140|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[a+164>>2]=-1;d=a+168|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;f[d+24>>2]=0;wn(a+200|0);Gn(a+232|0);d=a+264|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;b[d+24>>0]=0;return}function $i(a,c,d,e){a=a|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+16|0;g=a;if(!c){h=0;u=a;return h|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Gj(d)|0;if(i>>>0>4294967279)aq(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=7}}else{m=i+16&-16;n=ln(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=7}if((l|0)==7){kh(k|0,d|0,i|0)|0;j=k}b[j+i>>0]=0;Zl(c,g,e);if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);h=1;u=a;return h|0}function aj(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=u;u=u+16|0;g=a;if(!c){h=0;u=a;return h|0}f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;i=Gj(d)|0;if(i>>>0>4294967279)aq(g);if(i>>>0<11){b[g+11>>0]=i;if(!i)j=g;else{k=g;l=7}}else{m=i+16&-16;n=ln(m)|0;f[g>>2]=n;f[g+8>>2]=m|-2147483648;f[g+4>>2]=i;k=n;l=7}if((l|0)==7){kh(k|0,d|0,i|0)|0;j=k}b[j+i>>0]=0;$l(c,g,e);if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);h=1;u=a;return h|0}function bj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;g=c+20|0;h=f[g>>2]|0;f[g>>2]=0;if(h|0){bj(h);Oq(h)}if((b[e+11>>0]|0)<0)Oq(f[e>>2]|0);Oq(c)}while((d|0)!=0)}d=a+20|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)Oq(c);c=f[a+8>>2]|0;if(c|0){d=c;do{c=d;d=f[d>>2]|0;e=c+8|0;h=f[c+20>>2]|0;if(h|0){g=c+24|0;if((f[g>>2]|0)!=(h|0))f[g>>2]=h;Oq(h)}if((b[e+11>>0]|0)<0)Oq(f[e>>2]|0);Oq(c)}while((d|0)!=0)}d=f[a>>2]|0;f[a>>2]=0;if(!d)return;Oq(d);return}function cj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=u;u=u+16|0;g=e;h=f[c+36>>2]|0;if(!h){i=ln(32)|0;f[g>>2]=i;f[g+8>>2]=-2147483616;f[g+4>>2]=23;j=i;k=15706;l=j+23|0;do{b[j>>0]=b[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));b[i+23>>0]=0;f[a>>2]=-1;pj(a+4|0,g);if((b[g+11>>0]|0)<0)Oq(f[g>>2]|0);u=e;return}g=f[c+40>>2]|0;if(!g){Sc(a,c,h,d);u=e;return}else{bi(a,c,g,d);u=e;return}}function dj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;tk(a);b=a+84|0;c=f[b>>2]|0;if((c|0)<=0)return;d=c<<5;e=Lq(c>>>0>134217727|d>>>0>4294967291?-1:d+4|0)|0;f[e>>2]=c;d=e+4|0;e=d+(c<<5)|0;c=d;do{wn(c);c=c+32|0}while((c|0)!=(e|0));e=a+80|0;a=f[e>>2]|0;f[e>>2]=d;if(a|0){d=a+-4|0;c=f[d>>2]|0;if(c|0){g=a+(c<<5)|0;do{g=g+-32|0;Fj(g)}while((g|0)!=(a|0))}Mq(d)}if((f[b>>2]|0)>0)h=0;else return;do{tk((f[e>>2]|0)+(h<<5)|0);h=h+1|0}while((h|0)<(f[b>>2]|0));return}function ej(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(!b){d=0;return d|0}if(f[b+4>>2]|0){d=0;return d|0}a=ln(52)|0;Ub(a,c);f[a+40>>2]=0;f[a+44>>2]=0;f[a+48>>2]=0;c=b+4|0;b=f[c>>2]|0;f[c>>2]=a;if(!b){d=1;return d|0}a=b+40|0;c=f[a>>2]|0;if(c|0){e=b+44|0;g=f[e>>2]|0;if((g|0)==(c|0))h=c;else{i=g;do{g=i+-4|0;f[e>>2]=g;j=f[g>>2]|0;f[g>>2]=0;if(j|0){bj(j);Oq(j)}i=f[e>>2]|0}while((i|0)!=(c|0));h=f[a>>2]|0}Oq(h)}bj(b);Oq(b);d=1;return d|0}function fj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;if(b){b=c+8|0;d=b;e=Vn(f[d>>2]|0,f[d+4>>2]|0,1,0)|0;d=b;f[d>>2]=e;f[d+4>>2]=I;d=a+28|0;e=f[d>>2]|0;b=a+24|0;f[b>>2]=f[b>>2]|1<>2]|0,f[e+4>>2]|0,1,0)|0;e=c;f[e>>2]=d;f[e+4>>2]=I;e=a+28|0;g=e;h=f[e>>2]|0}e=h+1|0;f[g>>2]=e;if((e|0)!=32)return;e=a+24|0;h=a+16|0;d=f[h>>2]|0;if((d|0)==(f[a+20>>2]|0))Ri(a+12|0,e);else{f[d>>2]=f[e>>2];f[h>>2]=d+4}f[g>>2]=0;f[e>>2]=0;return}function gj(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+32|0;a=f[b>>2]|0;f[b>>2]=0;b=f[c>>2]|0;f[c>>2]=a;if(!b)return;a=b+88|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0){a=f[c+8>>2]|0;if(a|0){d=c+12|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;Oq(a)}Oq(c)}c=f[b+68>>2]|0;if(c|0){a=b+72|0;d=f[a>>2]|0;if((d|0)!=(c|0))f[a>>2]=d+(~((d+-4-c|0)>>>2)<<2);Oq(c)}c=b+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){a=d+4|0;if((f[a>>2]|0)!=(c|0))f[a>>2]=c;Oq(c)}Oq(d)}Oq(b);return}function hj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;if(c|0){h=a+11|0;i=b[h>>0]|0;if(i<<24>>24<0){j=f[a+4>>2]|0;k=(f[a+8>>2]&2147483647)+-1|0}else{j=i&255;k=10}if((k-j|0)>>>0>>0){xj(a,k,c-k+j|0,j,j,0,0);l=b[h>>0]|0}else l=i;if(l<<24>>24<0)m=f[a>>2]|0;else m=a;Qn(m+j|0,c,d)|0;d=j+c|0;if((b[h>>0]|0)<0)f[a+4>>2]=d;else b[h>>0]=d;b[g>>0]=0;up(m+d|0,g)}u=e;return a|0}function ij(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+48|0;e=d+4|0;g=d;h=f[b+12>>2]|0;i=f[b+4>>2]|0;b=e;j=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(j|0));zh(g,c,h,i,e);i=f[e+24>>2]|0;if(!i){k=f[g>>2]|0;f[a>>2]=k;u=d;return}h=e+28|0;e=f[h>>2]|0;if((e|0)!=(i|0))f[h>>2]=e+(~((e+-4-i|0)>>>2)<<2);Oq(i);k=f[g>>2]|0;f[a>>2]=k;u=d;return}function jj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=(f[a+8>>2]&2147483647)+-1|0;else k=10;do if(k>>>0>=d>>>0){if(j)l=f[a>>2]|0;else l=a;Eo(l,c,d)|0;b[g>>0]=0;up(l+d|0,g);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(j)m=f[a+4>>2]|0;else m=i&255;Bi(a,k,d-k|0,m,0,m,d,c)}while(0);u=e;return a|0}function kj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d;do{f[c>>2]=g+-136;d=f[g+-20>>2]|0;if(d|0){h=g+-16|0;i=f[h>>2]|0;if((i|0)!=(d|0))f[h>>2]=i+(~((i+-4-d|0)>>>2)<<2);Oq(d)}d=f[g+-32>>2]|0;if(d|0){i=g+-28|0;h=f[i>>2]|0;if((h|0)!=(d|0))f[i>>2]=h+(~((h+-4-d|0)>>>2)<<2);Oq(d)}Mi(g+-132|0);g=f[c>>2]|0}while((g|0)!=(b|0));e=f[a>>2]|0}Oq(e);return}function lj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j){k=f[a+4>>2]|0;l=(f[a+8>>2]&2147483647)+-1|0}else{k=i&255;l=10}if((l-k|0)>>>0>=d>>>0){if(d|0){if(j)m=f[a>>2]|0;else m=a;Fo(m+k|0,c,d)|0;j=k+d|0;if((b[h>>0]|0)<0)f[a+4>>2]=j;else b[h>>0]=j;b[g>>0]=0;up(m+j|0,g)}}else Bi(a,l,d-l+k|0,k,k,0,d,c);u=e;return a|0}function mj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;f[a>>2]=3932;b=f[a+32>>2]|0;if(b|0){c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=a+8|0;c=f[b>>2]|0;if(!c)return;d=a+12|0;a=f[d>>2]|0;if((a|0)==(c|0))e=c;else{g=a;do{a=g+-4|0;f[d>>2]=a;h=f[a>>2]|0;f[a>>2]=0;if(h|0)Va[f[(f[h>>2]|0)+4>>2]&127](h);g=f[d>>2]|0}while((g|0)!=(c|0));e=f[b>>2]|0}Oq(e);return}function nj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+4|0;if((Qa[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){d=1;return d|0}a=0;while(1){e=f[(f[c>>2]|0)+4>>2]|0;g=dm(e,Ra[f[(f[b>>2]|0)+24>>2]&127](b,a)|0)|0;if((g|0)==-1){d=0;h=6;break}e=f[(f[b>>2]|0)+28>>2]|0;i=fl(f[c>>2]|0,g)|0;a=a+1|0;if(!(Ra[e&127](b,i)|0)){d=0;h=6;break}if((a|0)>=(Qa[f[(f[b>>2]|0)+20>>2]&127](b)|0)){d=1;h=6;break}}if((h|0)==6)return d|0;return 0}function oj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(!(ho(a,b,c)|0)){d=0;return d|0}if(!(Qa[f[(f[a>>2]|0)+52>>2]&127](a)|0)){d=0;return d|0}c=a+4|0;e=a+8|0;g=f[c>>2]|0;if((f[e>>2]|0)==(g|0)){d=1;return d|0}h=a+36|0;a=0;i=g;while(1){g=f[(f[h>>2]|0)+(a<<2)>>2]|0;if(!(Sa[f[(f[g>>2]|0)+8>>2]&31](g,b,f[i+(a<<2)>>2]|0)|0)){d=0;j=7;break}a=a+1|0;i=f[c>>2]|0;if(a>>>0>=(f[e>>2]|0)-i>>2>>>0){d=1;j=7;break}}if((j|0)==7)return d|0;return 0}function pj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){g=f[c>>2]|0;h=f[c+4>>2]|0;if(h>>>0>4294967279)aq(a);if(h>>>0<11){b[a+11>>0]=h;i=a}else{j=h+16&-16;k=ln(j)|0;f[a>>2]=k;f[a+8>>2]=j|-2147483648;f[a+4>>2]=h;i=k}Fo(i,g,h)|0;b[e>>0]=0;up(i+h|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=d;return}function qj(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;a=c+16|0;h=f[a>>2]|0;if(!h){f[a>>2]=d;f[c+24>>2]=g;f[c+36>>2]=1;if(!((g|0)==1?(f[c+48>>2]|0)==1:0))break;b[c+54>>0]=1;break}if((h|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;b[c+54>>0]=1;break}h=c+24|0;a=f[h>>2]|0;if((a|0)==2){f[h>>2]=g;i=g}else i=a;if((i|0)==1?(f[c+48>>2]|0)==1:0)b[c+54>>0]=1}while(0);return}function rj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+36|0;d=a+40|0;e=f[c>>2]|0;if((f[d>>2]|0)!=(e|0)){g=0;h=e;do{vg(h+(g*24|0)|0,b)|0;g=g+1|0;h=f[c>>2]|0}while(g>>>0<(((f[d>>2]|0)-h|0)/24|0)>>>0)}h=a+48|0;d=a+52|0;a=f[h>>2]|0;if((f[d>>2]|0)==(a|0))return 1;else{i=0;j=a}do{a=f[j+(i<<2)>>2]|0;ci(a<<1^a>>31,b)|0;i=i+1|0;j=f[h>>2]|0}while(i>>>0<(f[d>>2]|0)-j>>2>>>0);return 1}function sj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}g=e&-4|0;h=g-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(h|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(g|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(e|0)){b[a>>0]=c;a=a+1|0}return e-d|0}function tj(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(fp(a,f[c+8>>2]|0,g)|0)){if(fp(a,f[c>>2]|0,g)|0){if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[c+32>>2]=e;f[h>>2]=d;h=c+40|0;f[h>>2]=(f[h>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[c+32>>2]=1}}else Vm(0,c,d,e);while(0);return}function uj(a){a=a|0;var b=0,c=0,d=0,e=0;b=a+80|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=c+-4|0;d=f[b>>2]|0;if(d|0){e=c+(d<<5)|0;do{e=e+-32|0;Fj(e)}while((e|0)!=(c|0))}Mq(b)}b=f[a+68>>2]|0;if(b|0){c=a+72|0;e=f[c>>2]|0;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);Oq(b)}b=a+44|0;e=f[b>>2]|0;f[b>>2]=0;if(e|0)Oq(e);e=f[a+32>>2]|0;if(!e){Fj(a);return}b=a+36|0;if((f[b>>2]|0)!=(e|0))f[b>>2]=e;Oq(e);Fj(a);return}function vj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3092;b=f[a+136>>2]|0;if(b|0){c=a+140|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+76>>2]|0;if(b|0)Oq(b);b=f[a+64>>2]|0;if(b|0)Oq(b);b=f[a+52>>2]|0;if(b|0)Oq(b);b=f[a+40>>2]|0;if(!b)return;Oq(b);return}function wj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((d|0)<0){e=0;return e|0}do if(!b){d=a+4|0;g=f[d>>2]|0;h=f[a>>2]|0;i=g-h|0;if(i>>>0>>0){Fi(a,c-i|0);break}if(i>>>0>c>>>0?(i=h+c|0,(i|0)!=(g|0)):0)f[d>>2]=i}else Cg(a,b,b+c|0);while(0);c=a+24|0;a=c;b=Vn(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=c;f[a>>2]=b;f[a+4>>2]=I;e=1;return e|0}function xj(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((-17-c|0)>>>0>>0)aq(a);if((b[a+11>>0]|0)<0)j=f[a>>2]|0;else j=a;if(c>>>0<2147483623){k=d+c|0;d=c<<1;l=k>>>0>>0?d:k;m=l>>>0<11?11:l+16&-16}else m=-17;l=ln(m)|0;if(g|0)Fo(l,j,g)|0;k=e-h-g|0;if(k|0)Fo(l+g+i|0,j+g+h|0,k)|0;if((c|0)!=10)Oq(j);f[a>>2]=l;f[a+8>>2]=m|-2147483648;return}function yj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2728;b=f[a+136>>2]|0;if(b|0){c=a+140|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+76>>2]|0;if(b|0)Oq(b);b=f[a+64>>2]|0;if(b|0)Oq(b);b=f[a+52>>2]|0;if(b|0)Oq(b);b=f[a+40>>2]|0;if(!b)return;Oq(b);return}function zj(a,b){a=a|0;b=b|0;if(!b)return;else{zj(a,f[b>>2]|0);zj(a,f[b+4>>2]|0);Ej(b+20|0,f[b+24>>2]|0);Oq(b);return}}function Aj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;Yf(a,b,c);c=f[a+100>>2]|0;d=f[a+96>>2]|0;a=d;if((c|0)==(d|0))return;e=f[b>>2]|0;b=(c-d|0)/12|0;d=0;do{c=a+(d*12|0)|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];c=a+(d*12|0)+4|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];c=a+(d*12|0)+8|0;f[c>>2]=f[e+(f[c>>2]<<2)>>2];d=d+1|0}while(d>>>0>>0);return}function Bj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=a+64|0;if((f[d>>2]|0)==0?(e=ln(32)|0,yn(e),g=f[d>>2]|0,f[d>>2]=e,g|0):0){e=f[g>>2]|0;if(e|0){h=g+4|0;if((f[h>>2]|0)!=(e|0))f[h>>2]=e;Oq(e)}Oq(g)}g=Vl(f[a+28>>2]|0)|0;e=X(g,b[a+24>>0]|0)|0;g=((e|0)<0)<<31>>31;h=f[d>>2]|0;i=un(e|0,g|0,c|0,0)|0;if(!(wj(h,0,i,I)|0)){j=0;return j|0}Kk(a,f[d>>2]|0,e,g,0,0);f[a+80>>2]=c;j=1;return j|0}function Cj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+64|0;e=d;if(!(fp(a,b,0)|0))if((b|0)!=0?(g=Eh(b,1056,1040,0)|0,(g|0)!=0):0){b=e+4|0;h=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(h|0));f[e>>2]=g;f[e+8>>2]=a;f[e+12>>2]=-1;f[e+48>>2]=1;Ya[f[(f[g>>2]|0)+28>>2]&3](g,e,f[c>>2]|0,1);if((f[e+24>>2]|0)==1){f[c>>2]=f[e+16>>2];i=1}else i=0;j=i}else j=0;else j=1;u=d;return j|0}function Dj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;if(!c){d=0;return d|0}e=c+40|0;g=c+44|0;ci((f[g>>2]|0)-(f[e>>2]|0)>>2,b)|0;h=f[e>>2]|0;e=f[g>>2]|0;if((h|0)!=(e|0)){g=h;do{h=f[g>>2]|0;if(h|0){ci(f[h+40>>2]|0,b)|0;lg(a,b,h)|0}g=g+4|0}while((g|0)!=(e|0))}lg(a,b,c)|0;d=1;return d|0}function Ej(a,c){a=a|0;c=c|0;var d=0;if(!c)return;Ej(a,f[c>>2]|0);Ej(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)Oq(f[d>>2]|0);if((b[a+11>>0]|0)<0)Oq(f[a>>2]|0);Oq(c);return}function Fj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b;d=c;f[d>>2]=0;f[d+4>>2]=0;qf(a,2,c);c=f[a+12>>2]|0;d=a+16|0;e=f[d>>2]|0;if((e|0)==(c|0))g=c;else{h=e+(~((e+-4-c|0)>>>2)<<2)|0;f[d>>2]=h;g=h}f[a+24>>2]=0;f[a+28>>2]=0;if(c|0){if((g|0)!=(c|0))f[d>>2]=g+(~((g+-4-c|0)>>>2)<<2);Oq(c)}c=f[a>>2]|0;if(!c){u=b;return}g=a+4|0;a=f[g>>2]|0;if((a|0)!=(c|0))f[g>>2]=a+(~((a+-8-c|0)>>>3)<<3);Oq(c);u=b;return}function Gj(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=a;a:do if(!(c&3)){d=a;e=4}else{g=a;h=c;while(1){if(!(b[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){d=j;e=4;break}else g=j}}while(0);if((e|0)==4){e=d;while(1){k=f[e>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))e=e+4|0;else break}if(!((k&255)<<24>>24))l=e;else{k=e;while(1){e=k+1|0;if(!(b[e>>0]|0)){l=e;break}else k=e}}i=l}return i-c|0}function Hj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=a+11|0;i=b[h>>0]|0;j=i<<24>>24<0;if(j)k=f[a+4>>2]|0;else k=i&255;do if(k>>>0>=c>>>0)if(j){i=(f[a>>2]|0)+c|0;b[g>>0]=0;up(i,g);f[a+4>>2]=c;break}else{b[g>>0]=0;up(a+c|0,g);b[h>>0]=c;break}else hj(a,c-k|0,d)|0;while(0);u=e;return}function Ij(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=a+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){d=c+12|0;if((f[d>>2]|0)!=(b|0))f[d>>2]=b;Oq(b)}Oq(c)}c=f[a+68>>2]|0;if(c|0){b=a+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);Oq(c)}c=a+64|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){b=d+4|0;if((f[b>>2]|0)!=(c|0))f[b>>2]=c;Oq(c)}Oq(d)}Oq(a);return}function Jj(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;f[a>>2]=d;if(d|0){m=d+16|0;n=f[m+4>>2]|0;o=a+8|0;f[o>>2]=f[m>>2];f[o+4>>2]=n;n=d+24|0;d=f[n+4>>2]|0;o=a+16|0;f[o>>2]=f[n>>2];f[o+4>>2]=d}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;h=a+40|0;f[h>>2]=i;f[h+4>>2]=j;j=a+48|0;f[j>>2]=k;f[j+4>>2]=l;f[a+56>>2]=c;return}function Kj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=ln(88)|0;d=c+60|0;e=c;g=e+60|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d>>2]=c;d=c+64|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;d=cg(c,b)|0;f[a>>2]=d?c:0;a=d?0:c;if(d)return;Ii(a);Oq(a);return}function Lj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;if((f[c+76>>2]|0)>=0?(Tq(c)|0)!=0:0){d=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(g=c+20|0,h=f[g>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[g>>2]=h+1;b[h>>0]=d;i=e}else i=Nj(c,a)|0;Sq(c);j=i}else k=3;do if((k|0)==3){i=a&255;e=a&255;if((e|0)!=(b[c+75>>0]|0)?(d=c+20|0,h=f[d>>2]|0,h>>>0<(f[c+16>>2]|0)>>>0):0){f[d>>2]=h+1;b[h>>0]=i;j=e;break}j=Nj(c,a)|0}while(0);return j|0}function Mj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d+4|0;g=d;h=d+8|0;i=f[a+4>>2]|0;if((i|0)==-1){j=0;u=d;return j|0}b[h>>0]=i;i=c+16|0;a=f[i+4>>2]|0;if(!((a|0)>0|(a|0)==0&(f[i>>2]|0)>>>0>0)){f[g>>2]=f[c+4>>2];f[e>>2]=f[g>>2];Me(c,e,h,h+1|0)|0}j=1;u=d;return j|0}function Nj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+16|0;e=d;g=c&255;b[e>>0]=g;i=a+16|0;j=f[i>>2]|0;if(!j)if(!(vl(a)|0)){k=f[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=a+20|0;i=f[j>>2]|0;if(i>>>0>>0?(n=c&255,(n|0)!=(b[a+75>>0]|0)):0){f[j>>2]=i+1;b[i>>0]=g;m=n;break}if((Sa[f[a+36>>2]&31](a,e,1)|0)==1)m=h[e>>0]|0;else m=-1}while(0);u=d;return m|0}function Oj(a,b){a=a|0;b=b|0;if(!b)return;else{Oj(a,f[b>>2]|0);Oj(a,f[b+4>>2]|0);Ej(b+20|0,f[b+24>>2]|0);Oq(b);return}}function Pj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=u;u=u+16|0;g=e;h=e+4|0;f[g>>2]=c;c=ln(32)|0;f[h>>2]=c;f[h+8>>2]=-2147483616;f[h+4>>2]=17;i=c;j=14495;k=i+17|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+17>>0]=0;Xj(Hd(a,g)|0,h,d);if((b[h+11>>0]|0)>=0){u=e;return}Oq(f[h>>2]|0);u=e;return}function Qj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=a+48|0;if((f[a+52>>2]|0)>>>0<=e>>>0)Ce(b,e+1|0,0);c=(f[b>>2]|0)+(e>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(e&31);c=f[a+36>>2]|0;if((f[a+40>>2]|0)-c>>2>>>0<=e>>>0){d=1;return d|0}Bp(f[c+(e<<2)>>2]|0);d=1;return d|0}function Rj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){e=d;f=a;g=c;while(1){c=hn(f|0,g|0,10,0)|0;e=e+-1|0;b[e>>0]=c&255|48;c=f;f=jp(f|0,g|0,10,0)|0;if(!(g>>>0>9|(g|0)==9&c>>>0>4294967295))break;else g=I}h=f;i=e}else{h=a;i=d}if(!h)j=i;else{d=h;h=i;while(1){i=h+-1|0;b[i>>0]=(d>>>0)%10|0|48;if(d>>>0<10){j=i;break}else{d=(d>>>0)/10|0;h=i}}}return j|0}function Sj(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=a;while(1){d=c+1|0;if(!(eq(b[c>>0]|0)|0))break;else c=d}a=b[c>>0]|0;switch(a<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:{g=0;h=c;i=a}}if((f|0)==5){g=e;h=d;i=b[d>>0]|0}if(!(Aq(i<<24>>24)|0))j=0;else{i=0;d=h;while(1){h=(i*10|0)+48-(b[d>>0]|0)|0;d=d+1|0;if(!(Aq(b[d>>0]|0)|0)){j=h;break}else i=h}}return (g|0?j:0-j|0)|0}function Tj(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0;e=u;u=u+16|0;g=e;il(g,d);h=Ai(a,c)|0;c=h+11|0;if((b[c>>0]|0)<0){b[f[h>>2]>>0]=0;f[h+4>>2]=0}else{b[h>>0]=0;b[c>>0]=0}gh(h,0);f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];u=e;return}function Uj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b+8|0;d=b+4|0;e=b;f[e>>2]=f[(f[a+4>>2]|0)+80>>2];g=f[a+44>>2]|0;a=g+16|0;h=f[a+4>>2]|0;if((h|0)>0|(h|0)==0&(f[a>>2]|0)>>>0>0){u=b;return 1}f[d>>2]=f[g+4>>2];f[c>>2]=f[d>>2];Me(g,c,e,e+4|0)|0;u=b;return 1}function Vj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;ll(g,d&1);d=Ai(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}gh(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function Wj(a){a=a|0;if(!a)return;Ej(a+24|0,f[a+28>>2]|0);zj(a+12|0,f[a+16>>2]|0);Ej(a,f[a+4>>2]|0);Oq(a);return}function Xj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;ll(g,d);d=Ai(a,c)|0;c=d+11|0;if((b[c>>0]|0)<0){b[f[d>>2]>>0]=0;f[d+4>>2]=0}else{b[d>>0]=0;b[c>>0]=0}gh(d,0);f[d>>2]=f[g>>2];f[d+4>>2]=f[g+4>>2];f[d+8>>2]=f[g+8>>2];u=e;return}function Yj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=Rg(a,c)|0;if((e|0)==(a+4|0)){g=-1;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}a=e+28|0;if((b[a+11>>0]|0)<0)k=f[a>>2]|0;else k=a;g=Sj(k)|0;h=(g|0)==-1;i=(g|0)!=0;j=h?d:i;return j|0}function Zj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;d=u;u=u+16|0;e=d;if(c>>>0>10){g=0;u=d;return g|0}h=ln(48)|0;f[e>>2]=h;f[e+8>>2]=-2147483600;f[e+4>>2]=33;i=h;j=15987;k=i+33|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[h+33>>0]=0;Xj(a,e,c);if((b[e+11>>0]|0)<0)Oq(f[e>>2]|0);g=1;u=d;return g|0}function _j(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[b>>2]|0;if((c|0)==-1)return 1;b=c*3|0;if((b|0)==-1)return 1;c=f[a>>2]|0;a=f[c+(b<<2)>>2]|0;d=b+1|0;e=((d>>>0)%3|0|0)==0?b+-2|0:d;if((e|0)==-1)g=-1;else g=f[c+(e<<2)>>2]|0;e=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((e|0)==-1)h=-1;else h=f[c+(e<<2)>>2]|0;if((a|0)==(g|0))return 1;else return (a|0)==(h|0)|(g|0)==(h|0)|0;return 0}function $j(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=0;while(1){if((h[16654+d>>0]|0)==(a|0)){e=2;break}g=d+1|0;if((g|0)==87){i=16742;j=87;e=5;break}else d=g}if((e|0)==2)if(!d)k=16742;else{i=16742;j=d;e=5}if((e|0)==5)while(1){e=0;d=i;do{a=d;d=d+1|0}while((b[a>>0]|0)!=0);j=j+-1|0;if(!j){k=d;break}else{i=d;e=5}}return jq(k,f[c+20>>2]|0)|0}function ak(a,b){a=+a;b=b|0;var c=0,d=0,e=0,g=0.0,h=0.0,i=0,j=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=Yn(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+ak(a*18446744073709551616.0,b);h=g;i=(f[b>>2]|0)+-64|0}else{h=a;i=0}f[b>>2]=i;j=h;break}case 2047:{j=a;break}default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;j=+p[s>>3]}}return +j}function bk(a,b){a=+a;b=b|0;var c=0.0,d=0,e=0,g=0.0,h=0;if((b|0)<=1023)if((b|0)<-1022){c=a*2.2250738585072014e-308;d=(b|0)<-2044;e=b+2044|0;g=d?c*2.2250738585072014e-308:c;h=d?((e|0)>-1022?e:-1022):b+1022|0}else{g=a;h=b}else{c=a*8988465674311579538646525.0e283;e=(b|0)>2046;d=b+-2046|0;g=e?c*8988465674311579538646525.0e283:c;h=e?((d|0)<1023?d:1023):b+-1023|0}b=Tn(h+1023|0,0,52)|0;h=I;f[s>>2]=b;f[s+4>>2]=h;return +(g*+p[s>>3])}function ck(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;if(!(f[a+80>>2]|0)){b=0;return b|0}c=a+8|0;d=a+12|0;a=f[c>>2]|0;if(((f[d>>2]|0)-a|0)>0){e=0;g=a}else{b=1;return b|0}while(1){a=f[g+(e<<2)>>2]|0;e=e+1|0;if(!(Gl(a,a)|0)){b=0;h=5;break}g=f[c>>2]|0;if((e|0)>=((f[d>>2]|0)-g>>2|0)){b=1;h=5;break}}if((h|0)==5)return b|0;return 0}function dk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+36|0;d=a+40|0;e=f[c>>2]|0;if((f[d>>2]|0)==(e|0)){g=1;return g|0}h=a+60|0;a=0;i=e;while(1){e=f[i+(a<<2)>>2]|0;a=a+1|0;if(!(Sa[f[(f[e>>2]|0)+20>>2]&31](e,h,b)|0)){g=0;j=5;break}i=f[c>>2]|0;if(a>>>0>=(f[d>>2]|0)-i>>2>>>0){g=1;j=5;break}}if((j|0)==5)return g|0;return 0}function ek(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;c=a+36|0;d=a+40|0;a=f[c>>2]|0;if((f[d>>2]|0)==(a|0)){e=1;return e|0}else{g=0;h=a}while(1){a=f[h+(g<<2)>>2]|0;g=g+1|0;if(!(Ra[f[(f[a>>2]|0)+24>>2]&127](a,b)|0)){e=0;i=4;break}h=f[c>>2]|0;if(g>>>0>=(f[d>>2]|0)-h>>2>>>0){e=1;i=4;break}}if((i|0)==4)return e|0;return 0}function fk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;d=b+4|0;e=(f[d>>2]|0)-(f[b>>2]|0)|0;g=e>>2;if(!g)return;if(g>>>0>1073741823)aq(a);h=ln(e)|0;f[c>>2]=h;f[a>>2]=h;f[a+8>>2]=h+(g<<2);g=f[b>>2]|0;b=(f[d>>2]|0)-g|0;if((b|0)<=0)return;kh(h|0,g|0,b|0)|0;f[c>>2]=h+(b>>>2<<2);return}function gk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=a+8|0;d=f[a>>2]|0;if((f[c>>2]|0)-d>>2>>>0>=b>>>0)return;e=a+4|0;if(b>>>0>1073741823){g=ra(8)|0;Oo(g,16035);f[g>>2]=7256;va(g|0,1112,110)}g=(f[e>>2]|0)-d|0;h=ln(b<<2)|0;if((g|0)>0)kh(h|0,d|0,g|0)|0;f[a>>2]=h;f[e>>2]=h+(g>>2<<2);f[c>>2]=h+(b<<2);if(!d)return;Oq(d);return}function hk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=a+36|0;c=a+40|0;d=f[b>>2]|0;if((f[c>>2]|0)==(d|0)){e=1;return e|0}g=a+60|0;a=0;h=d;while(1){d=f[h+(a<<2)>>2]|0;a=a+1|0;if(!(Ra[f[(f[d>>2]|0)+16>>2]&127](d,g)|0)){e=0;i=5;break}h=f[b>>2]|0;if(a>>>0>=(f[c>>2]|0)-h>>2>>>0){e=1;i=5;break}}if((i|0)==5)return e|0;return 0}function ik(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0;d=f[a+176>>2]|0;e=f[a+172>>2]|0;a=e;if((d|0)==(e|0))return 0;g=(d-e|0)/136|0;e=0;while(1){if((f[a+(e*136|0)>>2]|0)==(c|0)){h=4;break}d=e+1|0;if(d>>>0>>0)e=d;else{h=6;break}}if((h|0)==4)return ((b[a+(e*136|0)+100>>0]|0)==0?0:a+(e*136|0)+4|0)|0;else if((h|0)==6)return 0;return 0}function jk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;d=u;u=u+16|0;e=d;g=ln(16)|0;f[e>>2]=g;f[e+8>>2]=-2147483632;f[e+4>>2]=15;h=g;i=14479;j=h+15|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+15>>0]=0;Xj(a,e,c);if((b[e+11>>0]|0)>=0){u=d;return}Oq(f[e>>2]|0);u=d;return}function kk(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+72>>2]|0;if(!c){d=0;return d|0}f[c+4>>2]=a+60;if(!(Qa[f[(f[c>>2]|0)+12>>2]&127](c)|0)){d=0;return d|0}if(!(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)){d=0;return d|0}if(!(Ra[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){d=0;return d|0}d=Ra[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return d|0}function lk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941)aq(a);e=ln(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=b;b=e;do{fk(b,c);b=(f[d>>2]|0)+12|0;f[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function mk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=f[b>>2]|0;if(!c){d=0;return d|0}e=a+44|0;g=f[e>>2]|0;if(g>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[g>>2]=c;f[e>>2]=(f[e>>2]|0)+4;d=1;return d|0}else{Ug(a+40|0,b);d=1;return d|0}return 0}function nk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3564;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}f[a+12>>2]=3588;b=f[a+32>>2]|0;if(b|0)Oq(b);b=f[a+20>>2]|0;if(!b){Oq(a);return}Oq(b);Oq(a);return}function ok(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3344;f[a+40>>2]=1196;b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}f[a>>2]=1476;b=a+36|0;d=f[b>>2]|0;f[b>>2]=0;if(!d){Ni(a);Oq(a);return}Va[f[(f[d>>2]|0)+4>>2]&127](d);Ni(a);Oq(a);return}function pk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0;f[c>>2]=2;d=a+4|0;a=c+8|0;e=f[a>>2]|0;g=(f[c+12>>2]|0)-e|0;if(g>>>0<4294967292){Lk(a,g+4|0,0);i=f[a>>2]|0}else i=e;e=i+g|0;g=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;return}function qk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3612;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}f[a+12>>2]=3636;b=f[a+32>>2]|0;if(b|0)Oq(b);b=f[a+20>>2]|0;if(!b){Oq(a);return}Oq(b);Oq(a);return}function rk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2188;b=f[a+76>>2]|0;if(b|0)Oq(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Mq(c);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c){Oq(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);Oq(c);Oq(a);return}function sk(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=Oa,h=0;e=Rg(a,c)|0;if((e|0)==(a+4|0)){g=d;return $(g)}a=e+28|0;if((b[a+11>>0]|0)<0)h=f[a>>2]|0;else h=a;g=$(+Iq(h));return $(g)}function tk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=u;u=u+16|0;c=b;d=c;f[d>>2]=0;f[d+4>>2]=0;qf(a,2,c);c=f[a+12>>2]|0;d=a+16|0;e=f[d>>2]|0;if((e|0)==(c|0)){g=a+24|0;f[g>>2]=0;h=a+28|0;f[h>>2]=0;u=b;return}f[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);g=a+24|0;f[g>>2]=0;h=a+28|0;f[h>>2]=0;u=b;return}function uk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=f[a+176>>2]|0;d=f[a+172>>2]|0;e=d;a:do if((c|0)!=(d|0)){g=(c-d|0)/136|0;h=0;while(1){if((f[e+(h*136|0)>>2]|0)==(b|0))break;i=h+1|0;if(i>>>0>>0)h=i;else break a}j=e+(h*136|0)+104|0;return j|0}while(0);j=a+40|0;return j|0}function vk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3564;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}f[a+12>>2]=3588;b=f[a+32>>2]|0;if(b|0)Oq(b);b=f[a+20>>2]|0;if(!b)return;Oq(b);return}function wk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1768;b=f[a+76>>2]|0;if(b|0)Oq(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Mq(c);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c){Oq(a);return}b=a+36|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);Oq(c);Oq(a);return}function xk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3344;f[a+40>>2]=1196;b=f[a+48>>2]|0;if(b|0){c=a+52|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}f[a>>2]=1476;b=a+36|0;d=f[b>>2]|0;f[b>>2]=0;if(!d){Ni(a);return}Va[f[(f[d>>2]|0)+4>>2]&127](d);Ni(a);return}function yk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;Nc(a,b);if((b|0)<=-1)return;c=a+88|0;d=f[c>>2]|0;e=f[a+84>>2]|0;if((d-e>>2|0)<=(b|0))return;a=e+(b<<2)|0;b=a+4|0;e=d-b|0;g=e>>2;if(!g)h=d;else{im(a|0,b|0,e|0)|0;h=f[c>>2]|0}e=a+(g<<2)|0;if((h|0)==(e|0))return;f[c>>2]=h+(~((h+-4-e|0)>>>2)<<2);return}function zk(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+32>>2]|0;c=f[a+36>>2]|0;if((b|0)==(c|0)){d=1;return d|0}e=a+8|0;g=a+44|0;a=b;while(1){b=f[(f[e>>2]|0)+(f[a>>2]<<2)>>2]|0;a=a+4|0;if(!(Ra[f[(f[b>>2]|0)+20>>2]&127](b,f[g>>2]|0)|0)){d=0;h=5;break}if((a|0)==(c|0)){d=1;h=5;break}}if((h|0)==5)return d|0;return 0}function Ak(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3612;b=f[a+64>>2]|0;if(b|0){c=a+68|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}f[a+12>>2]=3636;b=f[a+32>>2]|0;if(b|0)Oq(b);b=f[a+20>>2]|0;if(!b)return;Oq(b);return}function Bk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;d=u;u=u+128|0;e=d;g=e;h=g+124|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=e+4|0;f[g>>2]=a;h=e+8|0;f[h>>2]=-1;f[e+44>>2]=a;f[e+76>>2]=-1;Ym(e,0);i=+Rc(e,c,1);c=(f[g>>2]|0)-(f[h>>2]|0)+(f[e+108>>2]|0)|0;if(b|0)f[b>>2]=c|0?a+c|0:a;u=d;return +i}function Ck(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;a=c+16|0;g=f[a>>2]|0;do if(g){if((g|0)!=(d|0)){h=c+36|0;f[h>>2]=(f[h>>2]|0)+1;f[c+24>>2]=2;b[c+54>>0]=1;break}h=c+24|0;if((f[h>>2]|0)==2)f[h>>2]=e}else{f[a>>2]=d;f[c+24>>2]=e;f[c+36>>2]=1}while(0);return}function Dk(a){a=a|0;var b=0,c=0;f[a>>2]=2188;b=f[a+76>>2]|0;if(b|0)Oq(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Mq(c);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Oq(c);return}function Ek(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=a+20|0;c=a+28|0;if((f[d>>2]|0)>>>0>(f[c>>2]|0)>>>0)Sa[f[a+36>>2]&31](a,0,0)|0;f[a+16>>2]=0;f[c>>2]=0;f[d>>2]=0;d=f[a>>2]|0;if(!(d&4)){c=(f[a+44>>2]|0)+(f[a+48>>2]|0)|0;f[a+8>>2]=c;f[a+4>>2]=c;e=d<<27>>31}else{f[a>>2]=d|32;e=-1}return e|0}function Fk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=Rg(a,c)|0;if((d|0)==(a+4|0)){e=0;return e|0}a=d+28|0;if((b[a+11>>0]|0)<0)g=f[a>>2]|0;else g=a;e=((Sj(g)|0)+1|0)>>>0>1;return e|0}function Gk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6152;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);Oq(b)}b=f[a+84>>2]|0;if(!b){Og(a);Oq(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b);Og(a);Oq(a);return}function Hk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=Rg(a,c)|0;if((e|0)==(a+4|0)){g=d;return g|0}d=e+28|0;if((b[d+11>>0]|0)<0)h=f[d>>2]|0;else h=d;g=Sj(h)|0;return g|0}function Ik(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=Xn(e^a|0,f^b|0,e|0,f|0)|0;b=I;a=g^e;e=h^f;return Xn((Ld(i,b,Xn(g^c|0,h^d|0,g|0,h|0)|0,I,0)|0)^a|0,I^e|0,a|0,e|0)|0}function Jk(a){a=a|0;var b=0,c=0;f[a>>2]=1768;b=f[a+76>>2]|0;if(b|0)Oq(b);b=a+68|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Mq(c);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Oq(c);return}function Kk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;h=b+16|0;i=f[h+4>>2]|0;j=a+8|0;f[j>>2]=f[h>>2];f[j+4>>2]=i;i=b+24|0;b=f[i+4>>2]|0;j=a+16|0;f[j>>2]=f[i>>2];f[j+4>>2]=b;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;d=a+48|0;f[d>>2]=e;f[d+4>>2]=g;return}function Lk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;h=e;e=d;if(g>>>0>=b>>>0){if(g>>>0>b>>>0?(d=h+b|0,(d|0)!=(e|0)):0)f[c>>2]=d}else Fi(a,b-g|0);g=a+24|0;a=g;b=Vn(f[a>>2]|0,f[a+4>>2]|0,1,0)|0;a=g;f[a>>2]=b;f[a+4>>2]=I;return}function Mk(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=Rg(a,c)|0;if((d|0)==(a+4|0)){e=-1;return e|0}a=d+28|0;if((b[a+11>>0]|0)<0)g=f[a>>2]|0;else g=a;e=Sj(g)|0;return e|0}function Nk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6152;b=f[a+96>>2]|0;if(b|0){c=a+100|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);Oq(b)}b=f[a+84>>2]|0;if(!b){Og(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Oq(b);Og(a);return}function Ok(a){a=a|0;var c=0,d=0,e=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;c=a+68|0;d=a+28|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=a;c=a+72|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;return}function Pk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2244;b=f[a+76>>2]|0;if(b|0)Oq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){Oq(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b);Oq(a);return}function Qk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=u;u=u+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;sj(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{Xo(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;Xo(a,g,h)}u=f;return}function Rk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1824;b=f[a+76>>2]|0;if(b|0)Oq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){Oq(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b);Oq(a);return}function Sk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;if(fp(a,f[b+8>>2]|0,g)|0)qj(0,b,c,d,e);else{h=f[a+8>>2]|0;_a[f[(f[h>>2]|0)+20>>2]&3](h,b,c,d,e,g)}return}function Tk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2300;Fj(a+108|0);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){Oq(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b);Oq(a);return}function Uk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1880;Fj(a+108|0);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){Oq(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b);Oq(a);return}function Vk(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=a;g=d;h=c;while(1){i=b[f>>0]|0;j=b[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function Wk(a){a=a|0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function Xk(a){a=a|0;var b=0,c=0;f[a>>2]=2244;b=f[a+76>>2]|0;if(b|0)Oq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Oq(b);return}function Yk(a){a=a|0;var c=0,d=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)d=(f[a+8>>2]&2147483647)+-1|0;else d=10;Hj(a,d,0);return}function Zk(a){a=a|0;var b=0,c=0,d=0,e=0.0,g=0.0;b=f[a+8>>2]|0;if((b|0)<2){c=0;d=0;I=c;return d|0}e=+(b|0);g=+Zg(e)*e;e=+W(+(g-+p[a>>3]));c=+K(e)>=1.0?(e>0.0?~~+Y(+J(e/4294967296.0),4294967295.0)>>>0:~~+W((e-+(~~e>>>0))/4294967296.0)>>>0):0;d=~~e>>>0;I=c;return d|0}function _k(a){a=a|0;var b=0,c=0;f[a>>2]=1824;b=f[a+76>>2]|0;if(b|0)Oq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Oq(b);return}function $k(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=f[(f[a+36>>2]|0)+(e<<2)>>2]|0;e=f[b+32>>2]|0;if(e|0){d=e;return d|0}d=f[b+8>>2]|0;return d|0}function al(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1232;b=f[a+16>>2]|0;if(b|0){c=a+20|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b)}b=f[a+4>>2]|0;if(!b)return;d=a+8|0;a=f[d>>2]|0;if((a|0)!=(b|0))f[d>>2]=a+(~((a+-4-b|0)>>>2)<<2);Oq(b);return}function bl(a){a=a|0;var b=0,c=0;f[a>>2]=2300;Fj(a+108|0);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Oq(b);return}function cl(a){a=a|0;if(!(f[a+64>>2]|0))return 0;if(!(f[a+68>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function dl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(fp(a,f[b+8>>2]|0,0)|0)Ck(0,b,c,d);else{e=f[a+8>>2]|0;Ya[f[(f[e>>2]|0)+28>>2]&3](e,b,c,d)}return}function el(a){a=a|0;var b=0,c=0;f[a>>2]=1880;Fj(a+108|0);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Oq(b);return}function fl(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Ra[f[(f[d>>2]|0)+36>>2]&127](d,b)|0;return c|0}function gl(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)<0){c=0;return c|0}d=f[a+4>>2]|0;if(((f[d+12>>2]|0)-(f[d+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}d=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Ra[f[(f[d>>2]|0)+32>>2]&127](d,b)|0;return c|0}function hl(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=c;c=a;do{c=c+1|0;d=d+1|0;a=b[c>>0]|0;e=b[d>>0]|0}while(!(a<<24>>24==0?1:a<<24>>24!=e<<24>>24));f=e;g=a}return (g&255)-(f&255)|0}function il(a,b){a=a|0;b=$(b);var c=0,d=0;c=u;u=u+16|0;d=c;Yk(d);Ei(a,d,b);Bo(d);u=c;return}function jl(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a>>2]|0;c=a+4|0;d=f[c>>2]|0;if((d|0)==(b|0))e=b;else{g=d+(~((d+-4-b|0)>>>2)<<2)|0;f[c>>2]=g;e=g}f[a+12>>2]=0;f[a+16>>2]=0;if(!b)return;if((e|0)!=(b|0))f[c>>2]=e+(~((e+-4-b|0)>>>2)<<2);Oq(b);return}function kl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=f[a+16>>2]|0;if(((f[a+20>>2]|0)-d>>2|0)<=(b|0)){e=-1;return e|0}g=f[d+(b<<2)>>2]|0;if((g|0)<0){e=-1;return e|0}e=f[(f[(f[(f[a+36>>2]|0)+(g<<2)>>2]|0)+16>>2]|0)+(c<<2)>>2]|0;return e|0}function ll(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;Yk(d);Ji(a,d,b);Bo(d);u=c;return}function ml(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;if((to(za(140,e|0)|0)|0)<0){f[g>>2]=-1;h=-1}else h=f[g>>2]|0;u=d;return h|0}function nl(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=0;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=0;return c|0}b=f[d>>2]|0;if((b|0)==-1){c=0;return c|0}c=f[(f[a+8>>2]|0)+(b<<2)>>2]|0;return c|0}function ol(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){d=0;return d|0}e=f[c+(b<<2)>>2]|0;if((e|0)<0){d=0;return d|0}b=f[(f[a+36>>2]|0)+(e<<2)>>2]|0;d=(f[b+20>>2]|0)-(f[b+16>>2]|0)>>2;return d|0}function pl(a){a=a|0;if(!(f[a+40>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function ql(a){a=a|0;var b=0;if(!(f[a+24>>2]|0)){b=0;return b|0}if(!(f[a+28>>2]|0)){b=0;return b|0}if(!(f[a+32>>2]|0)){b=0;return b|0}b=(f[a+36>>2]|0)!=0;return b|0}function rl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;lh(a,c);f[a>>2]=1408;c=a+72|0;d=a+36|0;a=d+36|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(a|0));d=f[b>>2]|0;f[b>>2]=0;f[c>>2]=d;return}function sl(a){a=a|0;var b=0,c=0;f[a>>2]=3148;b=f[a+56>>2]|0;if(b|0)Oq(b);b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){Oq(a);return}Mq(c);Oq(a);return}function tl(a,c){a=a|0;c=c|0;var d=0,e=0;d=a;e=c;c=d+64|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(c|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function ul(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==0&(c|0)==0)f=d;else{g=d;d=c;c=a;while(1){a=g+-1|0;b[a>>0]=h[16636+(c&15)>>0]|0|e;c=Yn(c|0,d|0,4)|0;d=I;if((c|0)==0&(d|0)==0){f=a;break}else g=a}}return f|0}function vl(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=f[a>>2]|0;if(!(d&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);e=0}else{f[a>>2]=d|32;e=-1}return e|0}function wl(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function xl(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[b+88>>2]|0;if(!c){d=0;return d|0}if((f[c>>2]|0)!=2){d=0;return d|0}b=f[c+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;d=1;return d|0}function yl(a){a=a|0;var b=0;if(!(f[a+44>>2]|0)){b=0;return b|0}if(!(f[a+48>>2]|0)){b=0;return b|0}if(!(f[a+52>>2]|0)){b=0;return b|0}b=(f[a+56>>2]|0)!=0;return b|0}function zl(a){a=a|0;vj(a);Oq(a);return}function Al(a){a=a|0;var b=0,c=0;f[a>>2]=2784;b=f[a+56>>2]|0;if(b|0)Oq(b);b=a+48|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){Oq(a);return}Mq(c);Oq(a);return}function Bl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+44>>2]=c;d=1;return d|0}function Cl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;c=a+4|0;d=f[c>>2]|0;e=f[a>>2]|0;g=d-e|0;if(g>>>0>>0){Fi(a,b-g|0);return}if(g>>>0<=b>>>0)return;g=e+b|0;if((g|0)==(d|0))return;f[c>>2]=g;return}function Dl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;Zf(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function El(a,b){a=a|0;b=b|0;var c=0;if(!(Qa[f[(f[a>>2]|0)+40>>2]&127](a)|0)){c=0;return c|0}if(!(Ra[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){c=0;return c|0}c=Ra[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return c|0}function Fl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+40>>2]=c;d=1;return d|0}function Gl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;f[e>>2]=0;f[d>>2]=f[e>>2];e=vc(a,b,d)|0;u=c;return e|0}function Hl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;d=f[c>>2]|0;c=a;e=b-a>>2;while(1){if(!e)break;a=(e|0)/2|0;b=c+(a<<2)|0;g=(f[b>>2]|0)>>>0>>0;c=g?b+4|0:c;e=g?e+-1-a|0:a}return c|0}function Il(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Jl(a){a=a|0;yj(a);Oq(a);return}function Kl(a){a=a|0;var b=0;f[a>>2]=3148;b=f[a+56>>2]|0;if(b|0)Oq(b);b=a+48|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Mq(a);return}function Ll(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;if(!(Aq(b[f[a>>2]>>0]|0)|0))c=0;else{d=0;while(1){e=f[a>>2]|0;g=(d*10|0)+-48+(b[e>>0]|0)|0;h=e+1|0;f[a>>2]=h;if(!(Aq(b[h>>0]|0)|0)){c=g;break}else d=g}}return c|0}function Ml(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+64>>2]=c;d=1;return d|0}function Nl(a){a=a|0;var b=0,c=0;b=f[r>>2]|0;c=b+a|0;if((a|0)>0&(c|0)<(b|0)|(c|0)<0){ea()|0;ya(12);return -1}f[r>>2]=c;if((c|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;ya(12);return -1}return b|0}function Ol(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((a|0)==0&(c|0)==0)e=d;else{f=d;d=c;c=a;while(1){a=f+-1|0;b[a>>0]=c&7|48;c=Yn(c|0,d|0,3)|0;d=I;if((c|0)==0&(d|0)==0){e=a;break}else f=a}}return e|0}function Pl(a,c){a=a|0;c=c|0;var d=0;if(f[c+56>>2]|0){d=0;return d|0}if((b[c+24>>0]|0)!=3){d=0;return d|0}f[a+60>>2]=c;d=1;return d|0}function Ql(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){Oq(a);return}c=a+36|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b);Oq(a);return}function Rl(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(fp(a,f[b+8>>2]|0,g)|0)qj(0,b,c,d,e);return}function Sl(a){a=a|0;var b=0;f[a>>2]=2784;b=f[a+56>>2]|0;if(b|0)Oq(b);b=a+48|0;a=f[b>>2]|0;f[b>>2]=0;if(!a)return;Mq(a);return}function Tl(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;qh(a+20|0,g,d);u=c;return}function Ul(a){a=a|0;Vi(a);Oq(a);return}function Vl(a){a=a|0;var b=0;switch(a|0){case 11:case 2:case 1:{b=1;break}case 4:case 3:{b=2;break}case 6:case 5:{b=4;break}case 8:case 7:{b=8;break}case 9:{b=4;break}case 10:{b=8;break}default:b=-1}return b|0}function Wl(a){a=a|0;var c=0,d=0,e=0,g=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;g=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;qh(a+20|0,g,d);u=c;return}function Xl(){var a=0,b=0;a=ln(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function Yl(a,b){a=+a;b=+b;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;p[s>>3]=b;e=f[s+4>>2]&-2147483648|d&2147483647;f[s>>2]=c;f[s+4>>2]=e;return +(+p[s>>3])}function Zl(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0;d=u;u=u+16|0;e=d;p[e>>3]=c;_b(a,b,e);u=d;return}function _l(a){a=a|0;f[a>>2]=3656;Qi(a+8|0);Oq(a);return}function $l(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;fc(a,b,e);u=d;return}function am(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;jj(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function bm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=X(d,c)|0;f=a>>>16;a=(e>>>16)+(X(d,f)|0)|0;d=b>>>16;b=X(d,c)|0;return (I=(a>>>16)+(X(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function cm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Gj(b)|0;d=ln(c+13|0)|0;f[d>>2]=c;f[d+4>>2]=c;f[d+8>>2]=0;e=Fp(d)|0;kh(e|0,b|0,c+1|0)|0;f[a>>2]=e;return}function dm(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)==-1|(b|0)>4){c=-1;return c|0}d=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-d|0)<=0){c=-1;return c|0}c=f[d>>2]|0;return c|0}function em(a){a=a|0;Yi(a);Oq(a);return}function fm(a){a=a|0;f[a>>2]=3656;Qi(a+8|0);return}function gm(a){a=a|0;var b=0,c=0;f[a>>2]=1544;b=f[a+32>>2]|0;if(!b)return;c=a+36|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Oq(b);return}function hm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(fp(a,f[b+8>>2]|0,0)|0)Ck(0,b,c,d);return}function im(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else kh(a,c,d)|0;return a|0}function jm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1196;b=f[a+8>>2]|0;if(!b){Oq(a);return}c=a+12|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Oq(b);Oq(a);return}function km(a){a=a|0;var b=0;f[a>>2]=3204;b=f[a+56>>2]|0;if(!b){Oq(a);return}Oq(b);Oq(a);return}function lm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;e=d;f[e>>2]=f[c>>2];g=Sa[f[(f[a>>2]|0)+16>>2]&31](a,b,e)|0;if(g)f[c>>2]=f[e>>2];u=d;return g&1|0}function mm(a,b){a=a|0;b=b|0;var c=0;if(b>>>0>=2){c=0;return c|0}f[a+28>>2]=b;c=1;return c|0}function nm(a){a=a|0;var b=0,c=0;f[a>>2]=3408;b=a+56|0;c=f[b>>2]|0;f[b>>2]=0;if(!c){mj(a);return}Va[f[(f[c>>2]|0)+4>>2]&127](c);mj(a);return}function om(){var a=0,b=0;a=sn()|0;if((a|0?(b=f[a>>2]|0,b|0):0)?(a=b+48|0,(f[a>>2]&-256|0)==1126902528?(f[a+4>>2]|0)==1129074247:0):0)Ho(f[b+12>>2]|0);Ho(Qp()|0)}function pm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Qf(a,b,c,d,e,f,6)|0}function qm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Pf(a,b,c,d,e,f,4)|0}function rm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Wf(a,b,c,d,e,f,2)|0}function sm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Pf(a,b,c,d,e,f,3)|0}function tm(a){a=a|0;var b=0;f[a>>2]=2840;b=f[a+56>>2]|0;if(!b){Oq(a);return}Oq(b);Oq(a);return}function um(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Wf(a,b,c,d,e,f,1)|0}function vm(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function wm(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0;if(!a){c=0.0;return +c}if((b|0)==0|(a|0)==(b|0)){c=0.0;return +c}d=+(b>>>0)/+(a>>>0);e=1.0-d;f=d*+Zg(d);c=-(f+e*+Zg(e));return +c}function xm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)>0)d=0;else return;do{e=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<1^e>>31;d=d+1|0}while((d|0)!=(b|0));return}function ym(a){a=a|0;var b=0;zo(a);f[a>>2]=3344;f[a+40>>2]=1196;f[a+44>>2]=-1;b=a+48|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function zm(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;a=f[c+68>>2]|0;d=c+72|0;c=f[d>>2]|0;if((c|0)==(a|0))return 1;f[d>>2]=c+(~((c+-4-a|0)>>>2)<<2);return 1}function Am(a){a=a|0;var b=0,c=0;if(pq(a)|0?(b=Mp(f[a>>2]|0)|0,a=b+8|0,c=f[a>>2]|0,f[a>>2]=c+-1,(c+-1|0)<0):0)Oq(b);return}function Bm(a){a=a|0;var b=0,c=0;b=f[a+16>>2]|0;c=(((f[a+12>>2]|0)+1-b|0)/64|0)+b<<3;a=b<<3;b=Vn(c|0,((c|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;return b|0}function Cm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Qf(a,b,c,d,e,f,5)|0}function Dm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Qf(a,b,c,d,e,f,9)|0}function Em(a){a=a|0;var b=0;f[a>>2]=3204;b=f[a+56>>2]|0;if(!b)return;Oq(b);return}function Fm(a){a=a|0;var b=0,c=0;f[a>>2]=1476;b=a+36|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);Ni(a);Oq(a);return}function Gm(a){a=a|0;var b=0,c=0;f[a>>2]=1196;b=f[a+8>>2]|0;if(!b)return;c=a+12|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Oq(b);return}function Hm(a){a=a|0;var c=0;f[a>>2]=1352;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;c=a+16|0;f[a+32>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;b[c+12>>0]=0;return}function Im(a){a=a|0;var b=0;f[a>>2]=2840;b=f[a+56>>2]|0;if(!b)return;Oq(b);return}function Jm(a){a=a|0;var b=0,c=0;f[a>>2]=1476;b=a+36|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);Ni(a);return}function Km(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);Fg(a,b,c,d,e,f);return}function Lm(a){a=a|0;var b=0,c=0;f[a>>2]=3408;b=a+56|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0)Va[f[(f[c>>2]|0)+4>>2]&127](c);mj(a);Oq(a);return}function Mm(a){a=a|0;var b=0,c=0,d=0;b=f[a>>2]|0;c=a+4|0;d=f[c>>2]|0;if((d|0)!=(b|0))f[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);f[a+12>>2]=0;f[a+16>>2]=0;return}function Nm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=a+20|0;e=f[d>>2]|0;g=(f[a+16>>2]|0)-e|0;a=g>>>0>c>>>0?c:g;kh(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Om(a){a=a|0;var b=0;f[a>>2]=3588;b=f[a+20>>2]|0;if(b|0)Oq(b);b=f[a+8>>2]|0;if(!b){Oq(a);return}Oq(b);Oq(a);return}function Pm(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-8-b|0)>>>3)<<3);Oq(b);return}function Qm(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;if(!b)return;c=a+4|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Oq(b);return}function Rm(a,b){a=a|0;b=b|0;var c=0;c=f[b>>2]|0;return (1<<(c&31)&f[(f[a+28>>2]|0)+(c>>>5<<2)>>2]|0)!=0|0}function Sm(a,b,c){a=a|0;b=b|0;c=c|0;return Sa[f[(f[a>>2]|0)+44>>2]&31](a,b,c)|0}function Tm(a){a=a|0;var c=0;Il(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Um(a){a=a|0;f[a>>2]=3260;Fj(a+88|0);Oq(a);return}function Vm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((f[b+4>>2]|0)==(c|0)?(c=b+28|0,(f[c>>2]|0)!=1):0)f[c>>2]=d;return}function Wm(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;if((Ek(a)|0)==0?(Sa[f[a+32>>2]&31](a,c,1)|0)==1:0)d=h[c>>0]|0;else d=-1;u=b;return d|0}function Xm(a){a=a|0;var b=0;f[a>>2]=3636;b=f[a+20>>2]|0;if(b|0)Oq(b);b=f[a+8>>2]|0;if(!b){Oq(a);return}Oq(b);Oq(a);return}function Ym(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a+104>>2]=b;c=f[a+8>>2]|0;d=f[a+4>>2]|0;e=c-d|0;f[a+108>>2]=e;f[a+100>>2]=(b|0)!=0&(e|0)>(b|0)?d+b|0:c;return}function Zm(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;return}function _m(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);Km(a,b,c,d,e,f);return}function $m(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return pm(a,b,c,d,e,f)|0}function an(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return qm(a,b,c,d,e,f)|0}function bn(a,b,c){a=a|0;b=b|0;c=c|0;f[a+4>>2]=b;f[a+8>>2]=f[(f[(f[b+4>>2]|0)+8>>2]|0)+(c<<2)>>2];f[a+12>>2]=c;return 1}function cn(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Oq(b)}Oq(a);return}function dn(a){a=a|0;f[a>>2]=2896;Fj(a+88|0);Oq(a);return}function en(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return rm(a,b,c,d,e,f)|0}function fn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return sm(a,b,c,d,e,f)|0}function gn(a){a=a|0;f[a>>2]=3260;Fj(a+88|0);return}function hn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e|0;Ld(a,b,c,d,g)|0;u=e;return (I=f[g+4>>2]|0,f[g>>2]|0)|0}function jn(a){a=a|0;var b=0;eo(a);f[a>>2]=6152;b=a+84|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;return}function kn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return um(a,b,c,d,e,f)|0}function ln(a){a=a|0;var b=0,c=0;b=(a|0)==0?1:a;while(1){a=$a(b)|0;if(a|0){c=a;break}a=Op()|0;if(!a){c=0;break}Ua[a&3]()}return c|0}function mn(a,b,c){a=a|0;b=b|0;c=c|0;ac(a,b,c);return}function nn(a){a=a|0;var b=0;f[a>>2]=3588;b=f[a+20>>2]|0;if(b|0)Oq(b);b=f[a+8>>2]|0;if(!b)return;Oq(b);return}function on(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Cm(a,b,c,d,e,f)|0}function pn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Dm(a,b,c,d,e,f)|0}function qn(a){a=a|0;f[a>>2]=2896;Fj(a+88|0);return}function rn(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=Qq(f[a+60>>2]|0)|0;f[c>>2]=d;d=to(Ba(6,c|0)|0)|0;u=b;return d|0}function sn(){var a=0,b=0;a=u;u=u+16|0;if(!(Ka(19700,3)|0)){b=Ia(f[4926]|0)|0;u=a;return b|0}else Hn(18840,a);return 0}function tn(a){a=a|0;var b=0;f[a>>2]=3636;b=f[a+20>>2]|0;if(b|0)Oq(b);b=f[a+8>>2]|0;if(!b)return;Oq(b);return}function un(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=bm(e,a)|0;f=I;return (I=(X(b,a)|0)+(X(d,e)|0)+f|f&0,c|0|0)|0}function vn(a,b){a=a|0;b=b|0;lh(a,b);f[a>>2]=1292;b=a+36|0;a=b+40|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function wn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function xn(a){a=a|0;var b=0;b=u;u=u+16|0;yc(a);if(!(La(f[4926]|0,0)|0)){u=b;return}else Hn(18939,b)}function yn(a){a=a|0;var b=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;b=a+16|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return}function zn(a,b){a=a|0;b=b|0;return vg(a+40|0,b)|0}function An(a,b){a=a|0;b=b|0;return lj(a,b,lq(b)|0)|0}function Bn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=Zi(a,b,c,g)|0;u=e;return d|0}function Cn(a,b){a=a|0;b=b|0;return Mj(a+40|0,b)|0}function Dn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Qh(a,b,c,d)|0}function En(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return uh(a,b,c,d)|0}function Fn(a,b){a=a|0;b=b|0;var c=0;c=f[a+56>>2]|0;return Ra[f[(f[c>>2]|0)+24>>2]&127](c,b)|0}function Gn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=0;return}function Hn(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=f[1556]|0;Ah(b,a,d)|0;Lj(10,b)|0;Ca()}function In(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Ta[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Jn(a,b){a=a|0;b=b|0;var c=0;c=f[a+56>>2]|0;return Ra[f[(f[c>>2]|0)+16>>2]&127](c,b)|0}function Kn(a,b){a=a|0;b=b|0;var c=0;c=f[a+56>>2]|0;return Ra[f[(f[c>>2]|0)+20>>2]&127](c,b)|0}function Ln(a,b){a=a|0;b=b|0;var c=0;c=f[a+56>>2]|0;return Ra[f[(f[c>>2]|0)+12>>2]&127](c,b)|0}function Mn(){var a=0;a=u;u=u+16|0;if(!(Ja(19704,113)|0)){u=a;return}else Hn(18889,a)}function Nn(a,b,c){a=a|0;b=b|0;c=c|0;Pj(a,b,c);return}function On(a){a=a|0;cf(a);Oq(a);return}function Pn(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;_a[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Qn(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)sj(a|0,(kq(c)|0)&255|0,b|0)|0;return a|0}function Rn(a){a=a|0;return 4}function Sn(a,b,c){a=a|0;b=b|0;c=c|0;return ej(0,b,c)|0}function Tn(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>>0;return (I=b+d+(e>>>0>>0|0)>>>0,e|0)|0}function Wn(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=Dh(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (c|0?c:a)|0}function Xn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (I=e,a-c>>>0|0)|0}function Yn(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Zn(a){a=a|0;var b=0;f[a>>2]=3932;b=a+4|0;a=b+44|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function _n(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return De(a,b,c,d)|0}function $n(a){a=a|0;ff(a);Oq(a);return}function ao(a,b){a=a|0;b=b|0;ji(a);f[a+36>>2]=b;f[a+40>>2]=0;return}function bo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return $i(a,b,c,d)|0}function co(a){a=a|0;return 5}function eo(a){a=a|0;var b=0;f[a>>2]=6192;b=a+4|0;a=b+80|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));return}function fo(a){a=a|0;return 6}function go(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return aj(a,b,c,d)|0}function ho(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function io(a,b){a=a|0;b=b|0;ji(a);f[a+36>>2]=b;f[a+40>>2]=b;return}function jo(a,b,c){a=a|0;b=b|0;c=c|0;Nn(a,b,c);return}function ko(a){a=a|0;var b=0;b=f[a+56>>2]|0;return Qa[f[(f[b>>2]|0)+28>>2]&127](b)|0}function lo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ve(a,b,c,d,1);return}function mo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ve(a,b,c,d,0);return}function no(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Xg(a,b,c,d)|0}function oo(a,b,c){a=a|0;b=b|0;c=c|0;return fi(a,b,c)|0}function po(a){a=a|0;var b=0;b=f[a+56>>2]|0;return Qa[f[(f[b>>2]|0)+32>>2]&127](b)|0}function qo(a,b,c){a=a|0;b=b|0;c=c|0;return ej(a,b,c)|0}function ro(a,b,c){a=a|0;b=b|0;c=c|0;return Sn(a,b,c)|0}function so(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Za[a&3](b|0,c|0,d|0,e|0,f|0)}function to(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=Vq()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function uo(a,b,c){a=a|0;b=b|0;c=c|0;Li(a,b,c);return}function vo(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function wo(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function xo(a,b){a=a|0;b=b|0;f[a+52>>2]=b;ip(a,b);return}function yo(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function zo(a){a=a|0;Hm(a);f[a>>2]=1476;f[a+36>>2]=0;return}function Ao(a){a=a|0;var b=0;if(!a)b=0;else b=(Eh(a,1056,1144,0)|0)!=0&1;return b|0}function Bo(a){a=a|0;if((b[a+11>>0]|0)<0)Oq(f[a>>2]|0);return}function Co(a){a=a|0;if(!a)return;Va[f[(f[a>>2]|0)+4>>2]&127](a);return}function Do(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ya[a&3](b|0,c|0,d|0,e|0)}function Eo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)im(a|0,b|0,c|0)|0;return a|0}function Fo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)kh(a|0,b|0,c|0)|0;return a|0}function Go(a,b){a=a|0;b=b|0;return -1}function Ho(a){a=a|0;var b=0;b=u;u=u+16|0;Ua[a&3]();Hn(18992,b)}function Io(a){a=a|0;Lh(a);Oq(a);return}function Jo(a,b,c){a=a|0;b=b|0;c=c|0;Ro(a,b,c);return}function Ko(a,b,c){a=a|0;b=$(b);c=c|0;f[a+4>>2]=c;n[a>>2]=b;return}function Lo(a){a=a|0;To(a);f[a>>2]=3408;f[a+56>>2]=0;return}function Mo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Sa[a&31](b|0,c|0,d|0)|0}function No(a,b){a=a|0;b=b|0;return (wp(a,b)|0)<<24>>24|0}function Oo(a,b){a=a|0;b=b|0;f[a>>2]=7236;cm(a+4|0,b);return}function Po(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=Pi(a,b,0)|0;return c|0}function Qo(a){a=a|0;return f[a+12>>2]|0}function Ro(a,b,c){a=a|0;b=b|0;c=c|0;uo(a,b,c);return}function So(){var a=0;a=ln(64)|0;Il(a);return a|0}function To(a){a=a|0;Zn(a);f[a>>2]=3764;f[a+52>>2]=0;return}function Uo(a){a=a|0;if(!a)return;bj(a);Oq(a);return}function Vo(a){a=a|0;return Qa[f[(f[a>>2]|0)+60>>2]&127](a)|0}function Wo(a){a=a|0;return f[a+4>>2]|0}function Xo(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))qi(b,c,a)|0;return}function Yo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Xa[a&15](b|0,c|0,d|0)}function Zo(){var a=0;a=ln(96)|0;Tm(a);return a|0}function _o(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function $o(a){a=a|0;var b=0;b=(Jq()|0)+188|0;return $j(a,f[b>>2]|0)|0}function ap(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function bp(a,b){a=a|0;b=b|0;kp(a,b);return}function cp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function dp(){var a=0;a=ln(12)|0;op(a);return a|0}function ep(a){a=a|0;Ni(a);Oq(a);return}function fp(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function gp(a,b){a=a|0;b=b|0;var c=0;c=sp(a|0)|0;return ((b|0)==0?a:c)|0}function hp(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function ip(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function jp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ld(a,b,c,d,0)|0}function kp(a,b){a=a|0;b=b|0;jk(a,b);return}function lp(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function mp(){var a=0;a=ln(84)|0;eo(a);return a|0}function np(a){a=a|0;ui(a);Oq(a);return}function op(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function pp(a){a=a|0;f[a>>2]=7236;Am(a+4|0);return}function qp(a,b,c){a=a|0;b=b|0;c=c|0;return Ra[a&127](b|0,c|0)|0}function rp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function sp(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function tp(a){a=a|0;To(a);f[a>>2]=3836;return}function up(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function vp(a,b,c){a=a|0;b=b|0;c=c|0;return -1}function wp(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function xp(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function yp(a){a=a|0;mj(a);Oq(a);return}function zp(a){a=a|0;if(!a)return;Oq(a);return}function Ap(a){a=a|0;n[a>>2]=$(1.0);f[a+4>>2]=1;return}function Bp(a){a=a|0;b[a+28>>0]=1;return}function Cp(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function Dp(a){a=a|0;ji(a);return}function Ep(a,b){a=a|0;b=b|0;return 1}function Fp(a){a=a|0;return a+12|0}function Gp(a,b){a=a|0;b=b|0;f[a+80>>2]=b;return}function Hp(a,b,c){a=a|0;b=b|0;c=c|0;Wa[a&7](b|0,c|0)}function Ip(){var a=0;a=ln(36)|0;qq(a);return a|0}function Jp(a){a=a|0;return gq(a+4|0)|0}function Kp(){var a=0;a=ln(108)|0;jn(a);return a|0}function Lp(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function Mp(a){a=a|0;return a+-12|0}function Np(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function Op(){var a=0;a=f[4927]|0;f[4927]=a+0;return a|0}function Pp(a){a=a|0;return f[a+56>>2]|0}function Qp(){var a=0;a=f[1786]|0;f[1786]=a+0;return a|0}function Rp(a){a=a|0;Og(a);Oq(a);return}function Sp(a){a=a|0;Sq(a);Oq(a);return}function Tp(a){a=a|0;return b[a+24>>0]|0}function Up(a,b){a=a|0;b=b|0;return 0}function Vp(a){a=a|0;return f[a+40>>2]|0}function Wp(a){a=a|0;return f[a+48>>2]|0}function Xp(a,b){a=a|0;b=b|0;return Qa[a&127](b|0)|0}function Yp(a){a=a|0;return f[a+60>>2]|0}function Zp(a){a=a|0;return f[a+28>>2]|0}function _p(a){a=a|0;sa(a|0)|0;om()}function $p(a){a=a|0;pp(a);Oq(a);return}function aq(a){a=a|0;Ca()}function bq(a,b){a=a|0;b=b|0;return $(+Bk(a,b,0))}function cq(a){a=a|0;return 3}function dq(a,b){a=a|0;b=b|0;u=a;v=b}function eq(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function fq(a){a=a|0;return f[a+80>>2]|0}function gq(a){a=a|0;return f[a>>2]|0}function hq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function iq(a,b){a=a|0;b=b|0;Va[a&127](b|0)}function jq(a,b){a=a|0;b=b|0;return Wn(a,b)|0}function kq(a){a=a|0;return a&255|0}function lq(a){a=a|0;return Gj(a)|0}function mq(a,b){a=a|0;b=b|0;return +(+Bk(a,b,1))}function nq(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function oq(a){a=a|0;return 2}function pq(a){a=a|0;return 1}function qq(a){a=a|0;Dp(a);return}function rq(a,b){a=+a;b=+b;return +(+Yl(a,b))}function sq(a,b){a=+a;b=b|0;return +(+bk(a,b))}function tq(a,b){a=+a;b=b|0;return +(+ak(a,b))}function uq(){return 3}function vq(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function wq(){return 0}function xq(){return -1}function yq(){return ln(1)|0}function zq(){return 4}function Aq(a){a=a|0;return (a+-48|0)>>>0<10|0}function Bq(){return 1}function Cq(){return 2}function Dq(a,b){a=+a;b=+b;return +(+xd(a,b))}function Eq(a,b){a=a|0;b=b|0;aa(1);return 0}function Fq(a){a=a|0;Ha()}function Gq(a){a=a|0;Ua[a&3]()}function Hq(){ua()}function Iq(a){a=a|0;return +(+mq(a,0))}function Jq(){return Yq()|0}function Kq(a,b){a=a|0;b=b|0;aa(6)}function Lq(a){a=a|0;return ln(a)|0}function Mq(a){a=a|0;Oq(a);return}function Nq(a){a=a|0;u=a}function Oq(a){a=a|0;yc(a);return}function Pq(a){a=a|0;I=a}function Qq(a){a=a|0;return a|0}function Rq(a){a=a|0;aa(0);return 0}function Sq(a){a=a|0;return}function Tq(a){a=a|0;return 0}function Uq(){return I|0}function Vq(){return 19632}function Wq(){return u|0}function Xq(a){a=a|0;aa(5)}function Yq(){return 6352}function Zq(){aa(4)} + +// EMSCRIPTEN_END_FUNCS +var Qa=[Rq,oq,pq,pq,oq,gb,Tq,Tq,Tq,hk,kg,pq,Wo,Tq,Tq,pq,Tq,pq,pq,yl,oq,yl,cq,wl,pq,co,wl,pq,fo,cl,pq,Zp,Rn,yl,pq,yl,oq,yl,cq,wl,pq,co,wl,pq,fo,cl,pq,Zp,Rn,yl,pq,cq,Tq,Wo,pq,Tq,pq,cq,pq,ql,oq,ql,Rn,ql,cq,pl,pq,co,pl,pq,fo,Wk,pq,Zp,pq,ql,oq,ql,Rn,ql,cq,pl,pq,co,pl,pq,fo,Wk,pq,Zp,pq,oq,pq,pq,Nd,pq,Vo,Xe,mh,zk,po,ko,pb,Qo,Wo,Mg,Wg,Lf,rb,Qo,Wo,pq,Tq,Tq,zc,Ki,Tq,pq,pq,Uj,Tq,Uj,ck,rn,Jp,Rq,Rq,Rq];var Ra=[Eq,xl,nh,Ie,El,Up,Up,Up,Ep,jb,rj,wo,Ep,Ep,ti,nj,ii,kk,ol,Qj,$k,dk,ek,Te,Go,Up,ni,Up,Pl,$d,Up,Pl,nf,Up,Ml,sh,mm,Ed,Up,Pl,$d,Up,Pl,nf,Up,Ml,sh,mm,Ed,Cn,Go,Up,li,Dd,Up,Fl,Zd,Up,Fl,hf,Up,Bl,rh,mm,Dd,Up,Fl,Zd,Up,Fl,hf,Up,Bl,rh,mm,zn,Kn,Fn,Ln,Jn,dh,ik,uk,cc,ye,Rm,og,vf,wf,ah,ik,uk,bc,ye,Rm,Ep,Up,Up,of,zm,mg,of,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq,Eq];var Sa=[nq,ho,vp,bn,Sm,wg,oj,kl,xh,wc,Kh,pg,gi,Rb,di,Ng,ml,Nm,Cj,nq,nq,nq,nq,nq,nq,nq,nq,nq,nq,nq,nq,nq];var Ta=[cp,Xd,Jc,oc,be,Ae,Tb,bb,Lc,pc,ae,ze,Sb,ab,eh,kd,Ic,fb,pf,If,tc,od,Kc,db,kf,Gf,qc,cp,cp,cp,cp,cp];var Ua=[Zq,Hq,Oi,Mn];var Va=[Xq,Sq,Mq,Gm,jm,al,Fq,ui,np,Ni,ep,Lh,Io,Jm,Fm,gm,Fq,Ql,Ql,Ql,Jk,wk,_k,Rk,el,Uk,Sq,Mq,Fq,Yi,em,Ql,Ql,Dk,rk,Xk,Pk,bl,Tk,Sq,Mq,Fq,Vi,Ul,Jm,Fm,Sq,Mq,Mq,Mq,yj,Jl,Sl,Al,Im,tm,qn,dn,Sq,Mq,Mq,Mq,vj,zl,Kl,sl,Em,km,gn,Um,Sq,Mq,xk,ok,nm,Lm,ff,$n,vk,nk,nn,Om,Tl,Ak,qk,tn,Xm,Wl,fm,_l,cf,On,mj,Fq,yp,Sq,Mq,Fq,yp,yp,Nk,Gk,sb,Og,Rp,Sq,Sp,Sq,Sq,Sp,pp,$p,$p,xn,Xq,Xq,Xq,Xq,Xq,Xq,Xq,Xq,Xq,Xq,Xq,Xq,Xq,Xq];var Wa=[Kq,pk,gg,yk,Nc,Kq,Kq,Kq];var Xa=[vq,Ne,ij,$b,ic,yd,$b,ic,$g,Aj,Lg,Yf,vq,vq,vq,vq];var Ya=[hq,hm,dl,hq];var Za=[Np,tj,oh,Np];var _a=[rp,Rl,Sk,rp];return{___cxa_can_catch:lm,___cxa_is_pointer_type:Ao,___divdi3:Ik,___muldi3:un,___udivdi3:jp,___uremdi3:hn,_bitshift64Lshr:Yn,_bitshift64Shl:Tn,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:dp,_emscripten_bind_DracoInt8Array_GetValue_1:No,_emscripten_bind_DracoInt8Array___destroy___0:cn,_emscripten_bind_DracoInt8Array_size_0:xp,_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2:oo,_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3:En,_emscripten_bind_Encoder_Encoder_0:Ip,_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5:_m,_emscripten_bind_Encoder_SetAttributeQuantization_2:jo,_emscripten_bind_Encoder_SetEncodingMethod_1:bp,_emscripten_bind_Encoder_SetSpeedOptions_2:Jo,_emscripten_bind_Encoder___destroy___0:Wj,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:So,_emscripten_bind_GeometryAttribute___destroy___0:zp,_emscripten_bind_MeshBuilder_AddFacesToMesh_3:no,_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5:pn,_emscripten_bind_MeshBuilder_AddFloatAttribute_5:pn,_emscripten_bind_MeshBuilder_AddInt16Attribute_5:fn,_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5:on,_emscripten_bind_MeshBuilder_AddInt32Attribute_5:on,_emscripten_bind_MeshBuilder_AddInt8Attribute_5:kn,_emscripten_bind_MeshBuilder_AddMetadataToMesh_2:ro,_emscripten_bind_MeshBuilder_AddMetadata_2:qo,_emscripten_bind_MeshBuilder_AddUInt16Attribute_5:an,_emscripten_bind_MeshBuilder_AddUInt32Attribute_5:$m,_emscripten_bind_MeshBuilder_AddUInt8Attribute_5:en,_emscripten_bind_MeshBuilder_MeshBuilder_0:yq,_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3:Dn,_emscripten_bind_MeshBuilder___destroy___0:zp,_emscripten_bind_Mesh_Mesh_0:Kp,_emscripten_bind_Mesh___destroy___0:Co,_emscripten_bind_Mesh_num_attributes_0:hp,_emscripten_bind_Mesh_num_faces_0:ap,_emscripten_bind_Mesh_num_points_0:fq,_emscripten_bind_Mesh_set_num_points_1:Gp,_emscripten_bind_MetadataBuilder_AddDoubleEntry_3:bo,_emscripten_bind_MetadataBuilder_AddIntEntry_3:go,_emscripten_bind_MetadataBuilder_AddStringEntry_3:_n,_emscripten_bind_MetadataBuilder_MetadataBuilder_0:yq,_emscripten_bind_MetadataBuilder___destroy___0:zp,_emscripten_bind_Metadata_Metadata_0:Xl,_emscripten_bind_Metadata___destroy___0:Uo,_emscripten_bind_PointAttribute_PointAttribute_0:Zo,_emscripten_bind_PointAttribute___destroy___0:Ij,_emscripten_bind_PointAttribute_attribute_type_0:Pp,_emscripten_bind_PointAttribute_byte_offset_0:Wp,_emscripten_bind_PointAttribute_byte_stride_0:Vp,_emscripten_bind_PointAttribute_data_type_0:Zp,_emscripten_bind_PointAttribute_normalized_0:Lp,_emscripten_bind_PointAttribute_num_components_0:Tp,_emscripten_bind_PointAttribute_size_0:fq,_emscripten_bind_PointAttribute_unique_id_0:Yp,_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5:pn,_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5:fn,_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5:on,_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5:kn,_emscripten_bind_PointCloudBuilder_AddMetadata_2:qo,_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5:an,_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5:$m,_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5:en,_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0:yq,_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3:Dn,_emscripten_bind_PointCloudBuilder___destroy___0:zp,_emscripten_bind_PointCloud_PointCloud_0:mp,_emscripten_bind_PointCloud___destroy___0:Co,_emscripten_bind_PointCloud_num_attributes_0:hp,_emscripten_bind_PointCloud_num_points_0:fq,_emscripten_bind_VoidPtr___destroy___0:zp,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:xq,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:wq,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:Bq,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:Cq,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:zq,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:xq,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:Bq,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:wq,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:uq,_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING:Bq,_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING:wq,_emscripten_replace_memory:Pa,_free:yc,_i64Add:Vn,_i64Subtract:Xn,_llvm_bswap_i32:sp,_malloc:$a,_memcpy:kh,_memmove:im,_memset:sj,_sbrk:Nl,dynCall_ii:Xp,dynCall_iii:qp,dynCall_iiii:Mo,dynCall_iiiiiii:In,dynCall_v:Gq,dynCall_vi:iq,dynCall_vii:Hp,dynCall_viii:Yo,dynCall_viiii:Do,dynCall_viiiii:so,dynCall_viiiiii:Pn,establishStackSpace:dq,getTempRet0:Uq,runPostSets:Un,setTempRet0:Pq,setThrew:Cp,stackAlloc:_o,stackRestore:Nq,stackSave:Wq}}) + + +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_DracoInt8Array_DracoInt8Array_0=Module["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"]=asm["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"];var _emscripten_bind_DracoInt8Array_GetValue_1=Module["_emscripten_bind_DracoInt8Array_GetValue_1"]=asm["_emscripten_bind_DracoInt8Array_GetValue_1"];var _emscripten_bind_DracoInt8Array___destroy___0=Module["_emscripten_bind_DracoInt8Array___destroy___0"]=asm["_emscripten_bind_DracoInt8Array___destroy___0"];var _emscripten_bind_DracoInt8Array_size_0=Module["_emscripten_bind_DracoInt8Array_size_0"]=asm["_emscripten_bind_DracoInt8Array_size_0"];var _emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2=Module["_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2"]=asm["_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2"];var _emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3=Module["_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3"]=asm["_emscripten_bind_Encoder_EncodePointCloudToDracoBuffer_3"];var _emscripten_bind_Encoder_Encoder_0=Module["_emscripten_bind_Encoder_Encoder_0"]=asm["_emscripten_bind_Encoder_Encoder_0"];var _emscripten_bind_Encoder_SetAttributeExplicitQuantization_5=Module["_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5"]=asm["_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5"];var _emscripten_bind_Encoder_SetAttributeQuantization_2=Module["_emscripten_bind_Encoder_SetAttributeQuantization_2"]=asm["_emscripten_bind_Encoder_SetAttributeQuantization_2"];var _emscripten_bind_Encoder_SetEncodingMethod_1=Module["_emscripten_bind_Encoder_SetEncodingMethod_1"]=asm["_emscripten_bind_Encoder_SetEncodingMethod_1"];var _emscripten_bind_Encoder_SetSpeedOptions_2=Module["_emscripten_bind_Encoder_SetSpeedOptions_2"]=asm["_emscripten_bind_Encoder_SetSpeedOptions_2"];var _emscripten_bind_Encoder___destroy___0=Module["_emscripten_bind_Encoder___destroy___0"]=asm["_emscripten_bind_Encoder___destroy___0"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___destroy___0"];var _emscripten_bind_MeshBuilder_AddFacesToMesh_3=Module["_emscripten_bind_MeshBuilder_AddFacesToMesh_3"]=asm["_emscripten_bind_MeshBuilder_AddFacesToMesh_3"];var _emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5=Module["_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5"]=asm["_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5"];var _emscripten_bind_MeshBuilder_AddFloatAttribute_5=Module["_emscripten_bind_MeshBuilder_AddFloatAttribute_5"]=asm["_emscripten_bind_MeshBuilder_AddFloatAttribute_5"];var _emscripten_bind_MeshBuilder_AddInt16Attribute_5=Module["_emscripten_bind_MeshBuilder_AddInt16Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddInt16Attribute_5"];var _emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5=Module["_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5"]=asm["_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5"];var _emscripten_bind_MeshBuilder_AddInt32Attribute_5=Module["_emscripten_bind_MeshBuilder_AddInt32Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddInt32Attribute_5"];var _emscripten_bind_MeshBuilder_AddInt8Attribute_5=Module["_emscripten_bind_MeshBuilder_AddInt8Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddInt8Attribute_5"];var _emscripten_bind_MeshBuilder_AddMetadataToMesh_2=Module["_emscripten_bind_MeshBuilder_AddMetadataToMesh_2"]=asm["_emscripten_bind_MeshBuilder_AddMetadataToMesh_2"];var _emscripten_bind_MeshBuilder_AddMetadata_2=Module["_emscripten_bind_MeshBuilder_AddMetadata_2"]=asm["_emscripten_bind_MeshBuilder_AddMetadata_2"];var _emscripten_bind_MeshBuilder_AddUInt16Attribute_5=Module["_emscripten_bind_MeshBuilder_AddUInt16Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddUInt16Attribute_5"];var _emscripten_bind_MeshBuilder_AddUInt32Attribute_5=Module["_emscripten_bind_MeshBuilder_AddUInt32Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddUInt32Attribute_5"];var _emscripten_bind_MeshBuilder_AddUInt8Attribute_5=Module["_emscripten_bind_MeshBuilder_AddUInt8Attribute_5"]=asm["_emscripten_bind_MeshBuilder_AddUInt8Attribute_5"];var _emscripten_bind_MeshBuilder_MeshBuilder_0=Module["_emscripten_bind_MeshBuilder_MeshBuilder_0"]=asm["_emscripten_bind_MeshBuilder_MeshBuilder_0"];var _emscripten_bind_MeshBuilder_SetMetadataForAttribute_3=Module["_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3"]=asm["_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3"];var _emscripten_bind_MeshBuilder___destroy___0=Module["_emscripten_bind_MeshBuilder___destroy___0"]=asm["_emscripten_bind_MeshBuilder___destroy___0"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var _emscripten_bind_Mesh_set_num_points_1=Module["_emscripten_bind_Mesh_set_num_points_1"]=asm["_emscripten_bind_Mesh_set_num_points_1"];var _emscripten_bind_MetadataBuilder_AddDoubleEntry_3=Module["_emscripten_bind_MetadataBuilder_AddDoubleEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddDoubleEntry_3"];var _emscripten_bind_MetadataBuilder_AddIntEntry_3=Module["_emscripten_bind_MetadataBuilder_AddIntEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddIntEntry_3"];var _emscripten_bind_MetadataBuilder_AddStringEntry_3=Module["_emscripten_bind_MetadataBuilder_AddStringEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddStringEntry_3"];var _emscripten_bind_MetadataBuilder_MetadataBuilder_0=Module["_emscripten_bind_MetadataBuilder_MetadataBuilder_0"]=asm["_emscripten_bind_MetadataBuilder_MetadataBuilder_0"];var _emscripten_bind_MetadataBuilder___destroy___0=Module["_emscripten_bind_MetadataBuilder___destroy___0"]=asm["_emscripten_bind_MetadataBuilder___destroy___0"];var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=asm["_emscripten_bind_Metadata_Metadata_0"];var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=asm["_emscripten_bind_Metadata___destroy___0"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_0"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=asm["_emscripten_bind_PointAttribute_normalized_0"];var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=asm["_emscripten_bind_PointAttribute_num_components_0"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=asm["_emscripten_bind_PointAttribute_unique_id_0"];var _emscripten_bind_PointCloudBuilder_AddFloatAttribute_5=Module["_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddFloatAttribute_5"];var _emscripten_bind_PointCloudBuilder_AddInt16Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddInt16Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddInt32Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddInt32Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddInt8Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddInt8Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddMetadata_2=Module["_emscripten_bind_PointCloudBuilder_AddMetadata_2"]=asm["_emscripten_bind_PointCloudBuilder_AddMetadata_2"];var _emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddUInt16Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddUInt32Attribute_5"];var _emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5=Module["_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5"]=asm["_emscripten_bind_PointCloudBuilder_AddUInt8Attribute_5"];var _emscripten_bind_PointCloudBuilder_PointCloudBuilder_0=Module["_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0"]=asm["_emscripten_bind_PointCloudBuilder_PointCloudBuilder_0"];var _emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3=Module["_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3"]=asm["_emscripten_bind_PointCloudBuilder_SetMetadataForAttribute_3"];var _emscripten_bind_PointCloudBuilder___destroy___0=Module["_emscripten_bind_PointCloudBuilder___destroy___0"]=asm["_emscripten_bind_PointCloudBuilder___destroy___0"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=asm["_emscripten_bind_PointCloud___destroy___0"];var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=asm["_emscripten_bind_PointCloud_num_points_0"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=Module["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"]=asm["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=Module["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"];var _emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING=Module["_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING"]=asm["_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING"];var _emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING=Module["_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING"]=asm["_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var i=0;i=d);)++b;if(16k?d+=String.fromCharCode(k):(k-=65536,d+=String.fromCharCode(55296|k>>10,56320|k&1023))}}else d+=String.fromCharCode(k)}return d}function X(a,c){return a?h(ca,a,c):""}function e(a,c){0=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++b)&1023);127>=d?++c:c=2047>=d?c+2:65535>=d?c+3:c+4}c=Array(c+1);b=0;d=c.length;if(0=e){var f=a.charCodeAt(++k);e=65536+((e&1023)<<10)|f&1023}if(127>=e){if(b>=d)break;c[b++]=e}else{if(2047>=e){if(b+1>=d)break;c[b++]=192|e>>6}else{if(65535>=e){if(b+2>=d)break;c[b++]=224|e>>12}else{if(b+3>=d)break;c[b++]=240|e>>18;c[b++]=128|e>>12&63}c[b++]=128|e>>6&63}c[b++]=128| +e&63}}c[b]=0}a=n.alloc(c,T);n.copy(c,T,a)}return a}function x(){throw"cannot construct a Status, no constructor in IDL";}function A(){this.ptr=Oa();u(A)[this.ptr]=this}function B(){this.ptr=Pa();u(B)[this.ptr]=this}function C(){this.ptr=Qa();u(C)[this.ptr]=this}function D(){this.ptr=Ra();u(D)[this.ptr]=this}function E(){this.ptr=Sa();u(E)[this.ptr]=this}function q(){this.ptr=Ta();u(q)[this.ptr]=this}function J(){this.ptr=Ua();u(J)[this.ptr]=this}function w(){this.ptr=Va();u(w)[this.ptr]=this}function F(){this.ptr= +Wa();u(F)[this.ptr]=this}function r(){this.ptr=Xa();u(r)[this.ptr]=this}function G(){this.ptr=Ya();u(G)[this.ptr]=this}function H(){this.ptr=Za();u(H)[this.ptr]=this}function O(){this.ptr=$a();u(O)[this.ptr]=this}function K(){this.ptr=ab();u(K)[this.ptr]=this}function g(){this.ptr=bb();u(g)[this.ptr]=this}function y(){this.ptr=cb();u(y)[this.ptr]=this}function Q(){throw"cannot construct a VoidPtr, no constructor in IDL";}function I(){this.ptr=db();u(I)[this.ptr]=this}function L(){this.ptr=eb();u(L)[this.ptr]= +this}m=m||{};var a="undefined"!==typeof m?m:{},Ga=!1,Ha=!1;a.onRuntimeInitialized=function(){Ga=!0;if(Ha&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.onModuleParsed=function(){Ha=!0;if(Ga&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.isVersionSupported=function(a){if("string"!==typeof a)return!1;a=a.split(".");return 2>a.length||3=a[1]?!0:0!=a[0]||10>2]},getStr:function(){return X(R.get())}, +get64:function(){var a=R.get();R.get();return a},getZero:function(){R.get()}},Ka={__cxa_allocate_exception:function(a){return ib(a)},__cxa_throw:function(a,c,b){"uncaught_exception"in ta?ta.uncaught_exceptions++:ta.uncaught_exceptions=1;throw a;},abort:function(){z()},emscripten_get_sbrk_ptr:function(){return 13664},emscripten_memcpy_big:function(a,c,b){ca.set(ca.subarray(c,c+b),a)},emscripten_resize_heap:function(a){if(2147418112= +c?e(2*c,65536):Math.min(e((3*c+2147483648)/4,65536),2147418112);a:{try{ia.grow(c-ka.byteLength+65535>>16);l(ia.buffer);var b=1;break a}catch(d){}b=void 0}return b?!0:!1},environ_get:function(a,c){var b=0;ba().forEach(function(d,e){var f=c+b;e=P[a+4*e>>2]=f;for(f=0;f>0]=d.charCodeAt(f);T[e>>0]=0;b+=d.length+1});return 0},environ_sizes_get:function(a,c){var b=ba();P[a>>2]=b.length;var d=0;b.forEach(function(a){d+=a.length+1});P[c>>2]=d;return 0},fd_close:function(a){return 0},fd_seek:function(a, +c,b,d,e){return 0},fd_write:function(a,c,b,d){try{for(var e=0,f=0;f>2],k=P[c+(8*f+4)>>2],h=0;h>2]=e;return 0}catch(ua){return"undefined"!==typeof FS&&ua instanceof FS.ErrnoError||z(ua),ua.errno}},memory:ia,setTempRet0:function(a){},table:gb},La=function(){function e(c,b){a.asm=c.exports;aa--;a.monitorRunDependencies&&a.monitorRunDependencies(aa);0==aa&&(null!==sa&&(clearInterval(sa),sa=null),ja&&(c=ja,ja=null,c()))}function c(a){e(a.instance)} +function b(a){return Ma().then(function(a){return WebAssembly.instantiate(a,d)}).then(a,function(a){Y("failed to asynchronously prepare wasm: "+a);z(a)})}var d={env:Ka,wasi_unstable:Ka};aa++;a.monitorRunDependencies&&a.monitorRunDependencies(aa);if(a.instantiateWasm)try{return a.instantiateWasm(d,e)}catch(Na){return Y("Module.instantiateWasm callback failed with error: "+Na),!1}(function(){if(da||"function"!==typeof WebAssembly.instantiateStreaming||va(U)||"function"!==typeof fetch)return b(c);fetch(U, +{credentials:"same-origin"}).then(function(a){return WebAssembly.instantiateStreaming(a,d).then(c,function(a){Y("wasm streaming compile failed: "+a);Y("falling back to ArrayBuffer instantiation");b(c)})})})();return{}}();a.asm=La;var hb=a.___wasm_call_ctors=function(){return a.asm.__wasm_call_ctors.apply(null,arguments)},jb=a._emscripten_bind_Status_code_0=function(){return a.asm.emscripten_bind_Status_code_0.apply(null,arguments)},kb=a._emscripten_bind_Status_ok_0=function(){return a.asm.emscripten_bind_Status_ok_0.apply(null, +arguments)},lb=a._emscripten_bind_Status_error_msg_0=function(){return a.asm.emscripten_bind_Status_error_msg_0.apply(null,arguments)},mb=a._emscripten_bind_Status___destroy___0=function(){return a.asm.emscripten_bind_Status___destroy___0.apply(null,arguments)},Oa=a._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=function(){return a.asm.emscripten_bind_DracoUInt16Array_DracoUInt16Array_0.apply(null,arguments)},nb=a._emscripten_bind_DracoUInt16Array_GetValue_1=function(){return a.asm.emscripten_bind_DracoUInt16Array_GetValue_1.apply(null, +arguments)},ob=a._emscripten_bind_DracoUInt16Array_size_0=function(){return a.asm.emscripten_bind_DracoUInt16Array_size_0.apply(null,arguments)},pb=a._emscripten_bind_DracoUInt16Array___destroy___0=function(){return a.asm.emscripten_bind_DracoUInt16Array___destroy___0.apply(null,arguments)},Pa=a._emscripten_bind_PointCloud_PointCloud_0=function(){return a.asm.emscripten_bind_PointCloud_PointCloud_0.apply(null,arguments)},qb=a._emscripten_bind_PointCloud_num_attributes_0=function(){return a.asm.emscripten_bind_PointCloud_num_attributes_0.apply(null, +arguments)},rb=a._emscripten_bind_PointCloud_num_points_0=function(){return a.asm.emscripten_bind_PointCloud_num_points_0.apply(null,arguments)},sb=a._emscripten_bind_PointCloud___destroy___0=function(){return a.asm.emscripten_bind_PointCloud___destroy___0.apply(null,arguments)},Qa=a._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=function(){return a.asm.emscripten_bind_DracoUInt8Array_DracoUInt8Array_0.apply(null,arguments)},tb=a._emscripten_bind_DracoUInt8Array_GetValue_1=function(){return a.asm.emscripten_bind_DracoUInt8Array_GetValue_1.apply(null, +arguments)},ub=a._emscripten_bind_DracoUInt8Array_size_0=function(){return a.asm.emscripten_bind_DracoUInt8Array_size_0.apply(null,arguments)},vb=a._emscripten_bind_DracoUInt8Array___destroy___0=function(){return a.asm.emscripten_bind_DracoUInt8Array___destroy___0.apply(null,arguments)},Ra=a._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=function(){return a.asm.emscripten_bind_DracoUInt32Array_DracoUInt32Array_0.apply(null,arguments)},wb=a._emscripten_bind_DracoUInt32Array_GetValue_1=function(){return a.asm.emscripten_bind_DracoUInt32Array_GetValue_1.apply(null, +arguments)},xb=a._emscripten_bind_DracoUInt32Array_size_0=function(){return a.asm.emscripten_bind_DracoUInt32Array_size_0.apply(null,arguments)},yb=a._emscripten_bind_DracoUInt32Array___destroy___0=function(){return a.asm.emscripten_bind_DracoUInt32Array___destroy___0.apply(null,arguments)},Sa=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return a.asm.emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0.apply(null,arguments)},zb=a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1= +function(){return a.asm.emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1.apply(null,arguments)},Ab=a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return a.asm.emscripten_bind_AttributeOctahedronTransform_quantization_bits_0.apply(null,arguments)},Bb=a._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return a.asm.emscripten_bind_AttributeOctahedronTransform___destroy___0.apply(null,arguments)},Ta=a._emscripten_bind_PointAttribute_PointAttribute_0= +function(){return a.asm.emscripten_bind_PointAttribute_PointAttribute_0.apply(null,arguments)},Cb=a._emscripten_bind_PointAttribute_size_0=function(){return a.asm.emscripten_bind_PointAttribute_size_0.apply(null,arguments)},Db=a._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return a.asm.emscripten_bind_PointAttribute_GetAttributeTransformData_0.apply(null,arguments)},Eb=a._emscripten_bind_PointAttribute_attribute_type_0=function(){return a.asm.emscripten_bind_PointAttribute_attribute_type_0.apply(null, +arguments)},Fb=a._emscripten_bind_PointAttribute_data_type_0=function(){return a.asm.emscripten_bind_PointAttribute_data_type_0.apply(null,arguments)},Gb=a._emscripten_bind_PointAttribute_num_components_0=function(){return a.asm.emscripten_bind_PointAttribute_num_components_0.apply(null,arguments)},Hb=a._emscripten_bind_PointAttribute_normalized_0=function(){return a.asm.emscripten_bind_PointAttribute_normalized_0.apply(null,arguments)},Ib=a._emscripten_bind_PointAttribute_byte_stride_0=function(){return a.asm.emscripten_bind_PointAttribute_byte_stride_0.apply(null, +arguments)},Jb=a._emscripten_bind_PointAttribute_byte_offset_0=function(){return a.asm.emscripten_bind_PointAttribute_byte_offset_0.apply(null,arguments)},Kb=a._emscripten_bind_PointAttribute_unique_id_0=function(){return a.asm.emscripten_bind_PointAttribute_unique_id_0.apply(null,arguments)},Lb=a._emscripten_bind_PointAttribute___destroy___0=function(){return a.asm.emscripten_bind_PointAttribute___destroy___0.apply(null,arguments)},Ua=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0= +function(){return a.asm.emscripten_bind_AttributeTransformData_AttributeTransformData_0.apply(null,arguments)},Mb=a._emscripten_bind_AttributeTransformData_transform_type_0=function(){return a.asm.emscripten_bind_AttributeTransformData_transform_type_0.apply(null,arguments)},Nb=a._emscripten_bind_AttributeTransformData___destroy___0=function(){return a.asm.emscripten_bind_AttributeTransformData___destroy___0.apply(null,arguments)},Va=a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0= +function(){return a.asm.emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0.apply(null,arguments)},Ob=a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return a.asm.emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1.apply(null,arguments)},Pb=a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return a.asm.emscripten_bind_AttributeQuantizationTransform_quantization_bits_0.apply(null,arguments)}, +Qb=a._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return a.asm.emscripten_bind_AttributeQuantizationTransform_min_value_1.apply(null,arguments)},Rb=a._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return a.asm.emscripten_bind_AttributeQuantizationTransform_range_0.apply(null,arguments)},Sb=a._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return a.asm.emscripten_bind_AttributeQuantizationTransform___destroy___0.apply(null,arguments)}, +Wa=a._emscripten_bind_DracoInt8Array_DracoInt8Array_0=function(){return a.asm.emscripten_bind_DracoInt8Array_DracoInt8Array_0.apply(null,arguments)},Tb=a._emscripten_bind_DracoInt8Array_GetValue_1=function(){return a.asm.emscripten_bind_DracoInt8Array_GetValue_1.apply(null,arguments)},Ub=a._emscripten_bind_DracoInt8Array_size_0=function(){return a.asm.emscripten_bind_DracoInt8Array_size_0.apply(null,arguments)},Vb=a._emscripten_bind_DracoInt8Array___destroy___0=function(){return a.asm.emscripten_bind_DracoInt8Array___destroy___0.apply(null, +arguments)},Xa=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return a.asm.emscripten_bind_MetadataQuerier_MetadataQuerier_0.apply(null,arguments)},Wb=a._emscripten_bind_MetadataQuerier_HasEntry_2=function(){return a.asm.emscripten_bind_MetadataQuerier_HasEntry_2.apply(null,arguments)},Xb=a._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return a.asm.emscripten_bind_MetadataQuerier_GetIntEntry_2.apply(null,arguments)},Yb=a._emscripten_bind_MetadataQuerier_GetIntEntryArray_3= +function(){return a.asm.emscripten_bind_MetadataQuerier_GetIntEntryArray_3.apply(null,arguments)},Zb=a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return a.asm.emscripten_bind_MetadataQuerier_GetDoubleEntry_2.apply(null,arguments)},$b=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return a.asm.emscripten_bind_MetadataQuerier_GetStringEntry_2.apply(null,arguments)},ac=a._emscripten_bind_MetadataQuerier_NumEntries_1=function(){return a.asm.emscripten_bind_MetadataQuerier_NumEntries_1.apply(null, +arguments)},bc=a._emscripten_bind_MetadataQuerier_GetEntryName_2=function(){return a.asm.emscripten_bind_MetadataQuerier_GetEntryName_2.apply(null,arguments)},cc=a._emscripten_bind_MetadataQuerier___destroy___0=function(){return a.asm.emscripten_bind_MetadataQuerier___destroy___0.apply(null,arguments)},Ya=a._emscripten_bind_DracoInt16Array_DracoInt16Array_0=function(){return a.asm.emscripten_bind_DracoInt16Array_DracoInt16Array_0.apply(null,arguments)},dc=a._emscripten_bind_DracoInt16Array_GetValue_1= +function(){return a.asm.emscripten_bind_DracoInt16Array_GetValue_1.apply(null,arguments)},ec=a._emscripten_bind_DracoInt16Array_size_0=function(){return a.asm.emscripten_bind_DracoInt16Array_size_0.apply(null,arguments)},fc=a._emscripten_bind_DracoInt16Array___destroy___0=function(){return a.asm.emscripten_bind_DracoInt16Array___destroy___0.apply(null,arguments)},Za=a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return a.asm.emscripten_bind_DracoFloat32Array_DracoFloat32Array_0.apply(null, +arguments)},gc=a._emscripten_bind_DracoFloat32Array_GetValue_1=function(){return a.asm.emscripten_bind_DracoFloat32Array_GetValue_1.apply(null,arguments)},hc=a._emscripten_bind_DracoFloat32Array_size_0=function(){return a.asm.emscripten_bind_DracoFloat32Array_size_0.apply(null,arguments)},ic=a._emscripten_bind_DracoFloat32Array___destroy___0=function(){return a.asm.emscripten_bind_DracoFloat32Array___destroy___0.apply(null,arguments)},$a=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return a.asm.emscripten_bind_GeometryAttribute_GeometryAttribute_0.apply(null, +arguments)},jc=a._emscripten_bind_GeometryAttribute___destroy___0=function(){return a.asm.emscripten_bind_GeometryAttribute___destroy___0.apply(null,arguments)},ab=a._emscripten_bind_DecoderBuffer_DecoderBuffer_0=function(){return a.asm.emscripten_bind_DecoderBuffer_DecoderBuffer_0.apply(null,arguments)},kc=a._emscripten_bind_DecoderBuffer_Init_2=function(){return a.asm.emscripten_bind_DecoderBuffer_Init_2.apply(null,arguments)},lc=a._emscripten_bind_DecoderBuffer___destroy___0=function(){return a.asm.emscripten_bind_DecoderBuffer___destroy___0.apply(null, +arguments)},bb=a._emscripten_bind_Decoder_Decoder_0=function(){return a.asm.emscripten_bind_Decoder_Decoder_0.apply(null,arguments)},mc=a._emscripten_bind_Decoder_GetEncodedGeometryType_1=function(){return a.asm.emscripten_bind_Decoder_GetEncodedGeometryType_1.apply(null,arguments)},nc=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return a.asm.emscripten_bind_Decoder_DecodeBufferToPointCloud_2.apply(null,arguments)},oc=a._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return a.asm.emscripten_bind_Decoder_DecodeBufferToMesh_2.apply(null, +arguments)},pc=a._emscripten_bind_Decoder_GetAttributeId_2=function(){return a.asm.emscripten_bind_Decoder_GetAttributeId_2.apply(null,arguments)},qc=a._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return a.asm.emscripten_bind_Decoder_GetAttributeIdByName_2.apply(null,arguments)},rc=a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return a.asm.emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3.apply(null,arguments)},sc=a._emscripten_bind_Decoder_GetAttribute_2= +function(){return a.asm.emscripten_bind_Decoder_GetAttribute_2.apply(null,arguments)},tc=a._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return a.asm.emscripten_bind_Decoder_GetAttributeByUniqueId_2.apply(null,arguments)},uc=a._emscripten_bind_Decoder_GetMetadata_1=function(){return a.asm.emscripten_bind_Decoder_GetMetadata_1.apply(null,arguments)},vc=a._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return a.asm.emscripten_bind_Decoder_GetAttributeMetadata_2.apply(null, +arguments)},wc=a._emscripten_bind_Decoder_GetFaceFromMesh_3=function(){return a.asm.emscripten_bind_Decoder_GetFaceFromMesh_3.apply(null,arguments)},xc=a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return a.asm.emscripten_bind_Decoder_GetTriangleStripsFromMesh_2.apply(null,arguments)},yc=a._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=function(){return a.asm.emscripten_bind_Decoder_GetTrianglesUInt16Array_3.apply(null,arguments)},zc=a._emscripten_bind_Decoder_GetTrianglesUInt32Array_3= +function(){return a.asm.emscripten_bind_Decoder_GetTrianglesUInt32Array_3.apply(null,arguments)},Ac=a._emscripten_bind_Decoder_GetAttributeFloat_3=function(){return a.asm.emscripten_bind_Decoder_GetAttributeFloat_3.apply(null,arguments)},Bc=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=function(){return a.asm.emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3.apply(null,arguments)},Cc=a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return a.asm.emscripten_bind_Decoder_GetAttributeIntForAllPoints_3.apply(null, +arguments)},Dc=a._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=function(){return a.asm.emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3.apply(null,arguments)},Ec=a._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=function(){return a.asm.emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3.apply(null,arguments)},Fc=a._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=function(){return a.asm.emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3.apply(null,arguments)}, +Gc=a._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=function(){return a.asm.emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3.apply(null,arguments)},Hc=a._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return a.asm.emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3.apply(null,arguments)},Ic=a._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=function(){return a.asm.emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3.apply(null,arguments)},Jc= +a._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=function(){return a.asm.emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5.apply(null,arguments)},Kc=a._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return a.asm.emscripten_bind_Decoder_SkipAttributeTransform_1.apply(null,arguments)},Lc=a._emscripten_bind_Decoder___destroy___0=function(){return a.asm.emscripten_bind_Decoder___destroy___0.apply(null,arguments)},cb=a._emscripten_bind_Mesh_Mesh_0=function(){return a.asm.emscripten_bind_Mesh_Mesh_0.apply(null, +arguments)},Mc=a._emscripten_bind_Mesh_num_faces_0=function(){return a.asm.emscripten_bind_Mesh_num_faces_0.apply(null,arguments)},Nc=a._emscripten_bind_Mesh_num_attributes_0=function(){return a.asm.emscripten_bind_Mesh_num_attributes_0.apply(null,arguments)},Oc=a._emscripten_bind_Mesh_num_points_0=function(){return a.asm.emscripten_bind_Mesh_num_points_0.apply(null,arguments)},Pc=a._emscripten_bind_Mesh___destroy___0=function(){return a.asm.emscripten_bind_Mesh___destroy___0.apply(null,arguments)}, +Qc=a._emscripten_bind_VoidPtr___destroy___0=function(){return a.asm.emscripten_bind_VoidPtr___destroy___0.apply(null,arguments)},db=a._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return a.asm.emscripten_bind_DracoInt32Array_DracoInt32Array_0.apply(null,arguments)},Rc=a._emscripten_bind_DracoInt32Array_GetValue_1=function(){return a.asm.emscripten_bind_DracoInt32Array_GetValue_1.apply(null,arguments)},Sc=a._emscripten_bind_DracoInt32Array_size_0=function(){return a.asm.emscripten_bind_DracoInt32Array_size_0.apply(null, +arguments)},Tc=a._emscripten_bind_DracoInt32Array___destroy___0=function(){return a.asm.emscripten_bind_DracoInt32Array___destroy___0.apply(null,arguments)},eb=a._emscripten_bind_Metadata_Metadata_0=function(){return a.asm.emscripten_bind_Metadata_Metadata_0.apply(null,arguments)},Uc=a._emscripten_bind_Metadata___destroy___0=function(){return a.asm.emscripten_bind_Metadata___destroy___0.apply(null,arguments)},Vc=a._emscripten_enum_draco_StatusCode_OK=function(){return a.asm.emscripten_enum_draco_StatusCode_OK.apply(null, +arguments)},Wc=a._emscripten_enum_draco_StatusCode_DRACO_ERROR=function(){return a.asm.emscripten_enum_draco_StatusCode_DRACO_ERROR.apply(null,arguments)},Xc=a._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return a.asm.emscripten_enum_draco_StatusCode_IO_ERROR.apply(null,arguments)},Yc=a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=function(){return a.asm.emscripten_enum_draco_StatusCode_INVALID_PARAMETER.apply(null,arguments)},Zc=a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION= +function(){return a.asm.emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION.apply(null,arguments)},$c=a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return a.asm.emscripten_enum_draco_StatusCode_UNKNOWN_VERSION.apply(null,arguments)},ad=a._emscripten_enum_draco_DataType_DT_INVALID=function(){return a.asm.emscripten_enum_draco_DataType_DT_INVALID.apply(null,arguments)},bd=a._emscripten_enum_draco_DataType_DT_INT8=function(){return a.asm.emscripten_enum_draco_DataType_DT_INT8.apply(null, +arguments)},cd=a._emscripten_enum_draco_DataType_DT_UINT8=function(){return a.asm.emscripten_enum_draco_DataType_DT_UINT8.apply(null,arguments)},dd=a._emscripten_enum_draco_DataType_DT_INT16=function(){return a.asm.emscripten_enum_draco_DataType_DT_INT16.apply(null,arguments)},ed=a._emscripten_enum_draco_DataType_DT_UINT16=function(){return a.asm.emscripten_enum_draco_DataType_DT_UINT16.apply(null,arguments)},fd=a._emscripten_enum_draco_DataType_DT_INT32=function(){return a.asm.emscripten_enum_draco_DataType_DT_INT32.apply(null, +arguments)},gd=a._emscripten_enum_draco_DataType_DT_UINT32=function(){return a.asm.emscripten_enum_draco_DataType_DT_UINT32.apply(null,arguments)},hd=a._emscripten_enum_draco_DataType_DT_INT64=function(){return a.asm.emscripten_enum_draco_DataType_DT_INT64.apply(null,arguments)},id=a._emscripten_enum_draco_DataType_DT_UINT64=function(){return a.asm.emscripten_enum_draco_DataType_DT_UINT64.apply(null,arguments)},jd=a._emscripten_enum_draco_DataType_DT_FLOAT32=function(){return a.asm.emscripten_enum_draco_DataType_DT_FLOAT32.apply(null, +arguments)},kd=a._emscripten_enum_draco_DataType_DT_FLOAT64=function(){return a.asm.emscripten_enum_draco_DataType_DT_FLOAT64.apply(null,arguments)},ld=a._emscripten_enum_draco_DataType_DT_BOOL=function(){return a.asm.emscripten_enum_draco_DataType_DT_BOOL.apply(null,arguments)},md=a._emscripten_enum_draco_DataType_DT_TYPES_COUNT=function(){return a.asm.emscripten_enum_draco_DataType_DT_TYPES_COUNT.apply(null,arguments)},nd=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return a.asm.emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE.apply(null, +arguments)},od=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return a.asm.emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD.apply(null,arguments)},pd=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return a.asm.emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH.apply(null,arguments)},qd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return a.asm.emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM.apply(null, +arguments)},rd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=function(){return a.asm.emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM.apply(null,arguments)},sd=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return a.asm.emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM.apply(null,arguments)},td=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=function(){return a.asm.emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM.apply(null, +arguments)},ud=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return a.asm.emscripten_enum_draco_GeometryAttribute_Type_INVALID.apply(null,arguments)},vd=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION=function(){return a.asm.emscripten_enum_draco_GeometryAttribute_Type_POSITION.apply(null,arguments)},wd=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return a.asm.emscripten_enum_draco_GeometryAttribute_Type_NORMAL.apply(null,arguments)},xd=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR= +function(){return a.asm.emscripten_enum_draco_GeometryAttribute_Type_COLOR.apply(null,arguments)},yd=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return a.asm.emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD.apply(null,arguments)},zd=a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return a.asm.emscripten_enum_draco_GeometryAttribute_Type_GENERIC.apply(null,arguments)};a._setThrew=function(){return a.asm.setThrew.apply(null,arguments)};var ta=a.__ZSt18uncaught_exceptionv= +function(){return a.asm._ZSt18uncaught_exceptionv.apply(null,arguments)};a._free=function(){return a.asm.free.apply(null,arguments)};var ib=a._malloc=function(){return a.asm.malloc.apply(null,arguments)};a.stackSave=function(){return a.asm.stackSave.apply(null,arguments)};a.stackAlloc=function(){return a.asm.stackAlloc.apply(null,arguments)};a.stackRestore=function(){return a.asm.stackRestore.apply(null,arguments)};a.__growWasmMemory=function(){return a.asm.__growWasmMemory.apply(null,arguments)}; +a.dynCall_ii=function(){return a.asm.dynCall_ii.apply(null,arguments)};a.dynCall_vi=function(){return a.asm.dynCall_vi.apply(null,arguments)};a.dynCall_iii=function(){return a.asm.dynCall_iii.apply(null,arguments)};a.dynCall_vii=function(){return a.asm.dynCall_vii.apply(null,arguments)};a.dynCall_iiii=function(){return a.asm.dynCall_iiii.apply(null,arguments)};a.dynCall_v=function(){return a.asm.dynCall_v.apply(null,arguments)};a.dynCall_viii=function(){return a.asm.dynCall_viii.apply(null,arguments)}; +a.dynCall_viiii=function(){return a.asm.dynCall_viiii.apply(null,arguments)};a.dynCall_iiiiiii=function(){return a.asm.dynCall_iiiiiii.apply(null,arguments)};a.dynCall_iidiiii=function(){return a.asm.dynCall_iidiiii.apply(null,arguments)};a.dynCall_jiji=function(){return a.asm.dynCall_jiji.apply(null,arguments)};a.dynCall_viiiiii=function(){return a.asm.dynCall_viiiiii.apply(null,arguments)};a.dynCall_viiiii=function(){return a.asm.dynCall_viiiii.apply(null,arguments)};a.asm=La;var fa;a.then=function(e){if(fa)e(a); +else{var c=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){c&&c();e(a)}}return a};ja=function c(){fa||ma();fa||(ja=c)};a.run=ma;if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0=n.size?(t(0>=1;break;case 4:d>>=2;break;case 8:d>>=3}for(var c=0;c= prevTime + 1000 ) { + + fpsPanel.update( ( frames * 1000 ) / ( time - prevTime ), 100 ); + + prevTime = time; + frames = 0; + + if ( memPanel ) { + + var memory = performance.memory; + memPanel.update( memory.usedJSHeapSize / 1048576, memory.jsHeapSizeLimit / 1048576 ); + + } + + } + + return time; + + }, + + update: function () { + + beginTime = this.end(); + + }, + + // Backwards Compatibility + + domElement: container, + setMode: showPanel + + }; + +}; + +Stats.Panel = function ( name, fg, bg ) { + + var min = Infinity, max = 0, round = Math.round; + var PR = round( window.devicePixelRatio || 1 ); + + var WIDTH = 80 * PR, HEIGHT = 48 * PR, + TEXT_X = 3 * PR, TEXT_Y = 2 * PR, + GRAPH_X = 3 * PR, GRAPH_Y = 15 * PR, + GRAPH_WIDTH = 74 * PR, GRAPH_HEIGHT = 30 * PR; + + var canvas = document.createElement( 'canvas' ); + canvas.width = WIDTH; + canvas.height = HEIGHT; + canvas.style.cssText = 'width:80px;height:48px'; + + var context = canvas.getContext( '2d' ); + context.font = 'bold ' + ( 9 * PR ) + 'px Helvetica,Arial,sans-serif'; + context.textBaseline = 'top'; + + context.fillStyle = bg; + context.fillRect( 0, 0, WIDTH, HEIGHT ); + + context.fillStyle = fg; + context.fillText( name, TEXT_X, TEXT_Y ); + context.fillRect( GRAPH_X, GRAPH_Y, GRAPH_WIDTH, GRAPH_HEIGHT ); + + context.fillStyle = bg; + context.globalAlpha = 0.9; + context.fillRect( GRAPH_X, GRAPH_Y, GRAPH_WIDTH, GRAPH_HEIGHT ); + + return { + + dom: canvas, + + update: function ( value, maxValue ) { + + min = Math.min( min, value ); + max = Math.max( max, value ); + + context.fillStyle = bg; + context.globalAlpha = 1; + context.fillRect( 0, 0, WIDTH, GRAPH_Y ); + context.fillStyle = fg; + context.fillText( round( value ) + ' ' + name + ' (' + round( min ) + '-' + round( max ) + ')', TEXT_X, TEXT_Y ); + + context.drawImage( canvas, GRAPH_X + PR, GRAPH_Y, GRAPH_WIDTH - PR, GRAPH_HEIGHT, GRAPH_X, GRAPH_Y, GRAPH_WIDTH - PR, GRAPH_HEIGHT ); + + context.fillRect( GRAPH_X + GRAPH_WIDTH - PR, GRAPH_Y, PR, GRAPH_HEIGHT ); + + context.fillStyle = bg; + context.globalAlpha = 0.9; + context.fillRect( GRAPH_X + GRAPH_WIDTH - PR, GRAPH_Y, PR, round( ( 1 - ( value / maxValue ) ) * GRAPH_HEIGHT ) ); + + } + + }; + +}; + +export default Stats; diff --git a/3d/lib/three.module.js b/3d/lib/three.module.js new file mode 100644 index 00000000..bdb95c6d --- /dev/null +++ b/3d/lib/three.module.js @@ -0,0 +1,50312 @@ +/** + * @license + * Copyright 2010-2021 Three.js Authors + * SPDX-License-Identifier: MIT + */ +const REVISION = '136'; +const MOUSE = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2 }; +const TOUCH = { ROTATE: 0, PAN: 1, DOLLY_PAN: 2, DOLLY_ROTATE: 3 }; +const CullFaceNone = 0; +const CullFaceBack = 1; +const CullFaceFront = 2; +const CullFaceFrontBack = 3; +const BasicShadowMap = 0; +const PCFShadowMap = 1; +const PCFSoftShadowMap = 2; +const VSMShadowMap = 3; +const FrontSide = 0; +const BackSide = 1; +const DoubleSide = 2; +const FlatShading = 1; +const SmoothShading = 2; +const NoBlending = 0; +const NormalBlending = 1; +const AdditiveBlending = 2; +const SubtractiveBlending = 3; +const MultiplyBlending = 4; +const CustomBlending = 5; +const AddEquation = 100; +const SubtractEquation = 101; +const ReverseSubtractEquation = 102; +const MinEquation = 103; +const MaxEquation = 104; +const ZeroFactor = 200; +const OneFactor = 201; +const SrcColorFactor = 202; +const OneMinusSrcColorFactor = 203; +const SrcAlphaFactor = 204; +const OneMinusSrcAlphaFactor = 205; +const DstAlphaFactor = 206; +const OneMinusDstAlphaFactor = 207; +const DstColorFactor = 208; +const OneMinusDstColorFactor = 209; +const SrcAlphaSaturateFactor = 210; +const NeverDepth = 0; +const AlwaysDepth = 1; +const LessDepth = 2; +const LessEqualDepth = 3; +const EqualDepth = 4; +const GreaterEqualDepth = 5; +const GreaterDepth = 6; +const NotEqualDepth = 7; +const MultiplyOperation = 0; +const MixOperation = 1; +const AddOperation = 2; +const NoToneMapping = 0; +const LinearToneMapping = 1; +const ReinhardToneMapping = 2; +const CineonToneMapping = 3; +const ACESFilmicToneMapping = 4; +const CustomToneMapping = 5; + +const UVMapping = 300; +const CubeReflectionMapping = 301; +const CubeRefractionMapping = 302; +const EquirectangularReflectionMapping = 303; +const EquirectangularRefractionMapping = 304; +const CubeUVReflectionMapping = 306; +const CubeUVRefractionMapping = 307; +const RepeatWrapping = 1000; +const ClampToEdgeWrapping = 1001; +const MirroredRepeatWrapping = 1002; +const NearestFilter = 1003; +const NearestMipmapNearestFilter = 1004; +const NearestMipMapNearestFilter = 1004; +const NearestMipmapLinearFilter = 1005; +const NearestMipMapLinearFilter = 1005; +const LinearFilter = 1006; +const LinearMipmapNearestFilter = 1007; +const LinearMipMapNearestFilter = 1007; +const LinearMipmapLinearFilter = 1008; +const LinearMipMapLinearFilter = 1008; +const UnsignedByteType = 1009; +const ByteType = 1010; +const ShortType = 1011; +const UnsignedShortType = 1012; +const IntType = 1013; +const UnsignedIntType = 1014; +const FloatType = 1015; +const HalfFloatType = 1016; +const UnsignedShort4444Type = 1017; +const UnsignedShort5551Type = 1018; +const UnsignedShort565Type = 1019; +const UnsignedInt248Type = 1020; +const AlphaFormat = 1021; +const RGBFormat = 1022; +const RGBAFormat = 1023; +const LuminanceFormat = 1024; +const LuminanceAlphaFormat = 1025; +const DepthFormat = 1026; +const DepthStencilFormat = 1027; +const RedFormat = 1028; +const RedIntegerFormat = 1029; +const RGFormat = 1030; +const RGIntegerFormat = 1031; +const RGBIntegerFormat = 1032; +const RGBAIntegerFormat = 1033; + +const RGB_S3TC_DXT1_Format = 33776; +const RGBA_S3TC_DXT1_Format = 33777; +const RGBA_S3TC_DXT3_Format = 33778; +const RGBA_S3TC_DXT5_Format = 33779; +const RGB_PVRTC_4BPPV1_Format = 35840; +const RGB_PVRTC_2BPPV1_Format = 35841; +const RGBA_PVRTC_4BPPV1_Format = 35842; +const RGBA_PVRTC_2BPPV1_Format = 35843; +const RGB_ETC1_Format = 36196; +const RGB_ETC2_Format = 37492; +const RGBA_ETC2_EAC_Format = 37496; +const RGBA_ASTC_4x4_Format = 37808; +const RGBA_ASTC_5x4_Format = 37809; +const RGBA_ASTC_5x5_Format = 37810; +const RGBA_ASTC_6x5_Format = 37811; +const RGBA_ASTC_6x6_Format = 37812; +const RGBA_ASTC_8x5_Format = 37813; +const RGBA_ASTC_8x6_Format = 37814; +const RGBA_ASTC_8x8_Format = 37815; +const RGBA_ASTC_10x5_Format = 37816; +const RGBA_ASTC_10x6_Format = 37817; +const RGBA_ASTC_10x8_Format = 37818; +const RGBA_ASTC_10x10_Format = 37819; +const RGBA_ASTC_12x10_Format = 37820; +const RGBA_ASTC_12x12_Format = 37821; +const RGBA_BPTC_Format = 36492; +const SRGB8_ALPHA8_ASTC_4x4_Format = 37840; +const SRGB8_ALPHA8_ASTC_5x4_Format = 37841; +const SRGB8_ALPHA8_ASTC_5x5_Format = 37842; +const SRGB8_ALPHA8_ASTC_6x5_Format = 37843; +const SRGB8_ALPHA8_ASTC_6x6_Format = 37844; +const SRGB8_ALPHA8_ASTC_8x5_Format = 37845; +const SRGB8_ALPHA8_ASTC_8x6_Format = 37846; +const SRGB8_ALPHA8_ASTC_8x8_Format = 37847; +const SRGB8_ALPHA8_ASTC_10x5_Format = 37848; +const SRGB8_ALPHA8_ASTC_10x6_Format = 37849; +const SRGB8_ALPHA8_ASTC_10x8_Format = 37850; +const SRGB8_ALPHA8_ASTC_10x10_Format = 37851; +const SRGB8_ALPHA8_ASTC_12x10_Format = 37852; +const SRGB8_ALPHA8_ASTC_12x12_Format = 37853; +const LoopOnce = 2200; +const LoopRepeat = 2201; +const LoopPingPong = 2202; +const InterpolateDiscrete = 2300; +const InterpolateLinear = 2301; +const InterpolateSmooth = 2302; +const ZeroCurvatureEnding = 2400; +const ZeroSlopeEnding = 2401; +const WrapAroundEnding = 2402; +const NormalAnimationBlendMode = 2500; +const AdditiveAnimationBlendMode = 2501; +const TrianglesDrawMode = 0; +const TriangleStripDrawMode = 1; +const TriangleFanDrawMode = 2; +const LinearEncoding = 3000; +const sRGBEncoding = 3001; +const BasicDepthPacking = 3200; +const RGBADepthPacking = 3201; +const TangentSpaceNormalMap = 0; +const ObjectSpaceNormalMap = 1; + +const ZeroStencilOp = 0; +const KeepStencilOp = 7680; +const ReplaceStencilOp = 7681; +const IncrementStencilOp = 7682; +const DecrementStencilOp = 7683; +const IncrementWrapStencilOp = 34055; +const DecrementWrapStencilOp = 34056; +const InvertStencilOp = 5386; + +const NeverStencilFunc = 512; +const LessStencilFunc = 513; +const EqualStencilFunc = 514; +const LessEqualStencilFunc = 515; +const GreaterStencilFunc = 516; +const NotEqualStencilFunc = 517; +const GreaterEqualStencilFunc = 518; +const AlwaysStencilFunc = 519; + +const StaticDrawUsage = 35044; +const DynamicDrawUsage = 35048; +const StreamDrawUsage = 35040; +const StaticReadUsage = 35045; +const DynamicReadUsage = 35049; +const StreamReadUsage = 35041; +const StaticCopyUsage = 35046; +const DynamicCopyUsage = 35050; +const StreamCopyUsage = 35042; + +const GLSL1 = '100'; +const GLSL3 = '300 es'; + +/** + * https://github.com/mrdoob/eventdispatcher.js/ + */ + +class EventDispatcher { + + addEventListener( type, listener ) { + + if ( this._listeners === undefined ) this._listeners = {}; + + const listeners = this._listeners; + + if ( listeners[ type ] === undefined ) { + + listeners[ type ] = []; + + } + + if ( listeners[ type ].indexOf( listener ) === - 1 ) { + + listeners[ type ].push( listener ); + + } + + } + + hasEventListener( type, listener ) { + + if ( this._listeners === undefined ) return false; + + const listeners = this._listeners; + + return listeners[ type ] !== undefined && listeners[ type ].indexOf( listener ) !== - 1; + + } + + removeEventListener( type, listener ) { + + if ( this._listeners === undefined ) return; + + const listeners = this._listeners; + const listenerArray = listeners[ type ]; + + if ( listenerArray !== undefined ) { + + const index = listenerArray.indexOf( listener ); + + if ( index !== - 1 ) { + + listenerArray.splice( index, 1 ); + + } + + } + + } + + dispatchEvent( event ) { + + if ( this._listeners === undefined ) return; + + const listeners = this._listeners; + const listenerArray = listeners[ event.type ]; + + if ( listenerArray !== undefined ) { + + event.target = this; + + // Make a copy, in case listeners are removed while iterating. + const array = listenerArray.slice( 0 ); + + for ( let i = 0, l = array.length; i < l; i ++ ) { + + array[ i ].call( this, event ); + + } + + event.target = null; + + } + + } + +} + +const _lut = []; + +for ( let i = 0; i < 256; i ++ ) { + + _lut[ i ] = ( i < 16 ? '0' : '' ) + ( i ).toString( 16 ); + +} + +let _seed = 1234567; + + +const DEG2RAD = Math.PI / 180; +const RAD2DEG = 180 / Math.PI; + +// http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136 +function generateUUID() { + + const d0 = Math.random() * 0xffffffff | 0; + const d1 = Math.random() * 0xffffffff | 0; + const d2 = Math.random() * 0xffffffff | 0; + const d3 = Math.random() * 0xffffffff | 0; + const uuid = _lut[ d0 & 0xff ] + _lut[ d0 >> 8 & 0xff ] + _lut[ d0 >> 16 & 0xff ] + _lut[ d0 >> 24 & 0xff ] + '-' + + _lut[ d1 & 0xff ] + _lut[ d1 >> 8 & 0xff ] + '-' + _lut[ d1 >> 16 & 0x0f | 0x40 ] + _lut[ d1 >> 24 & 0xff ] + '-' + + _lut[ d2 & 0x3f | 0x80 ] + _lut[ d2 >> 8 & 0xff ] + '-' + _lut[ d2 >> 16 & 0xff ] + _lut[ d2 >> 24 & 0xff ] + + _lut[ d3 & 0xff ] + _lut[ d3 >> 8 & 0xff ] + _lut[ d3 >> 16 & 0xff ] + _lut[ d3 >> 24 & 0xff ]; + + // .toUpperCase() here flattens concatenated strings to save heap memory space. + return uuid.toUpperCase(); + +} + +function clamp( value, min, max ) { + + return Math.max( min, Math.min( max, value ) ); + +} + +// compute euclidian modulo of m % n +// https://en.wikipedia.org/wiki/Modulo_operation +function euclideanModulo( n, m ) { + + return ( ( n % m ) + m ) % m; + +} + +// Linear mapping from range to range +function mapLinear( x, a1, a2, b1, b2 ) { + + return b1 + ( x - a1 ) * ( b2 - b1 ) / ( a2 - a1 ); + +} + +// https://www.gamedev.net/tutorials/programming/general-and-gameplay-programming/inverse-lerp-a-super-useful-yet-often-overlooked-function-r5230/ +function inverseLerp( x, y, value ) { + + if ( x !== y ) { + + return ( value - x ) / ( y - x ); + + } else { + + return 0; + + } + +} + +// https://en.wikipedia.org/wiki/Linear_interpolation +function lerp( x, y, t ) { + + return ( 1 - t ) * x + t * y; + +} + +// http://www.rorydriscoll.com/2016/03/07/frame-rate-independent-damping-using-lerp/ +function damp( x, y, lambda, dt ) { + + return lerp( x, y, 1 - Math.exp( - lambda * dt ) ); + +} + +// https://www.desmos.com/calculator/vcsjnyz7x4 +function pingpong( x, length = 1 ) { + + return length - Math.abs( euclideanModulo( x, length * 2 ) - length ); + +} + +// http://en.wikipedia.org/wiki/Smoothstep +function smoothstep( x, min, max ) { + + if ( x <= min ) return 0; + if ( x >= max ) return 1; + + x = ( x - min ) / ( max - min ); + + return x * x * ( 3 - 2 * x ); + +} + +function smootherstep( x, min, max ) { + + if ( x <= min ) return 0; + if ( x >= max ) return 1; + + x = ( x - min ) / ( max - min ); + + return x * x * x * ( x * ( x * 6 - 15 ) + 10 ); + +} + +// Random integer from interval +function randInt( low, high ) { + + return low + Math.floor( Math.random() * ( high - low + 1 ) ); + +} + +// Random float from interval +function randFloat( low, high ) { + + return low + Math.random() * ( high - low ); + +} + +// Random float from <-range/2, range/2> interval +function randFloatSpread( range ) { + + return range * ( 0.5 - Math.random() ); + +} + +// Deterministic pseudo-random float in the interval [ 0, 1 ] +function seededRandom( s ) { + + if ( s !== undefined ) _seed = s % 2147483647; + + // Park-Miller algorithm + + _seed = _seed * 16807 % 2147483647; + + return ( _seed - 1 ) / 2147483646; + +} + +function degToRad( degrees ) { + + return degrees * DEG2RAD; + +} + +function radToDeg( radians ) { + + return radians * RAD2DEG; + +} + +function isPowerOfTwo( value ) { + + return ( value & ( value - 1 ) ) === 0 && value !== 0; + +} + +function ceilPowerOfTwo( value ) { + + return Math.pow( 2, Math.ceil( Math.log( value ) / Math.LN2 ) ); + +} + +function floorPowerOfTwo( value ) { + + return Math.pow( 2, Math.floor( Math.log( value ) / Math.LN2 ) ); + +} + +function setQuaternionFromProperEuler( q, a, b, c, order ) { + + // Intrinsic Proper Euler Angles - see https://en.wikipedia.org/wiki/Euler_angles + + // rotations are applied to the axes in the order specified by 'order' + // rotation by angle 'a' is applied first, then by angle 'b', then by angle 'c' + // angles are in radians + + const cos = Math.cos; + const sin = Math.sin; + + const c2 = cos( b / 2 ); + const s2 = sin( b / 2 ); + + const c13 = cos( ( a + c ) / 2 ); + const s13 = sin( ( a + c ) / 2 ); + + const c1_3 = cos( ( a - c ) / 2 ); + const s1_3 = sin( ( a - c ) / 2 ); + + const c3_1 = cos( ( c - a ) / 2 ); + const s3_1 = sin( ( c - a ) / 2 ); + + switch ( order ) { + + case 'XYX': + q.set( c2 * s13, s2 * c1_3, s2 * s1_3, c2 * c13 ); + break; + + case 'YZY': + q.set( s2 * s1_3, c2 * s13, s2 * c1_3, c2 * c13 ); + break; + + case 'ZXZ': + q.set( s2 * c1_3, s2 * s1_3, c2 * s13, c2 * c13 ); + break; + + case 'XZX': + q.set( c2 * s13, s2 * s3_1, s2 * c3_1, c2 * c13 ); + break; + + case 'YXY': + q.set( s2 * c3_1, c2 * s13, s2 * s3_1, c2 * c13 ); + break; + + case 'ZYZ': + q.set( s2 * s3_1, s2 * c3_1, c2 * s13, c2 * c13 ); + break; + + default: + console.warn( 'THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: ' + order ); + + } + +} + +var MathUtils = /*#__PURE__*/Object.freeze({ + __proto__: null, + DEG2RAD: DEG2RAD, + RAD2DEG: RAD2DEG, + generateUUID: generateUUID, + clamp: clamp, + euclideanModulo: euclideanModulo, + mapLinear: mapLinear, + inverseLerp: inverseLerp, + lerp: lerp, + damp: damp, + pingpong: pingpong, + smoothstep: smoothstep, + smootherstep: smootherstep, + randInt: randInt, + randFloat: randFloat, + randFloatSpread: randFloatSpread, + seededRandom: seededRandom, + degToRad: degToRad, + radToDeg: radToDeg, + isPowerOfTwo: isPowerOfTwo, + ceilPowerOfTwo: ceilPowerOfTwo, + floorPowerOfTwo: floorPowerOfTwo, + setQuaternionFromProperEuler: setQuaternionFromProperEuler +}); + +class Vector2 { + + constructor( x = 0, y = 0 ) { + + this.x = x; + this.y = y; + + } + + get width() { + + return this.x; + + } + + set width( value ) { + + this.x = value; + + } + + get height() { + + return this.y; + + } + + set height( value ) { + + this.y = value; + + } + + set( x, y ) { + + this.x = x; + this.y = y; + + return this; + + } + + setScalar( scalar ) { + + this.x = scalar; + this.y = scalar; + + return this; + + } + + setX( x ) { + + this.x = x; + + return this; + + } + + setY( y ) { + + this.y = y; + + return this; + + } + + setComponent( index, value ) { + + switch ( index ) { + + case 0: this.x = value; break; + case 1: this.y = value; break; + default: throw new Error( 'index is out of range: ' + index ); + + } + + return this; + + } + + getComponent( index ) { + + switch ( index ) { + + case 0: return this.x; + case 1: return this.y; + default: throw new Error( 'index is out of range: ' + index ); + + } + + } + + clone() { + + return new this.constructor( this.x, this.y ); + + } + + copy( v ) { + + this.x = v.x; + this.y = v.y; + + return this; + + } + + add( v, w ) { + + if ( w !== undefined ) { + + console.warn( 'THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead.' ); + return this.addVectors( v, w ); + + } + + this.x += v.x; + this.y += v.y; + + return this; + + } + + addScalar( s ) { + + this.x += s; + this.y += s; + + return this; + + } + + addVectors( a, b ) { + + this.x = a.x + b.x; + this.y = a.y + b.y; + + return this; + + } + + addScaledVector( v, s ) { + + this.x += v.x * s; + this.y += v.y * s; + + return this; + + } + + sub( v, w ) { + + if ( w !== undefined ) { + + console.warn( 'THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.' ); + return this.subVectors( v, w ); + + } + + this.x -= v.x; + this.y -= v.y; + + return this; + + } + + subScalar( s ) { + + this.x -= s; + this.y -= s; + + return this; + + } + + subVectors( a, b ) { + + this.x = a.x - b.x; + this.y = a.y - b.y; + + return this; + + } + + multiply( v ) { + + this.x *= v.x; + this.y *= v.y; + + return this; + + } + + multiplyScalar( scalar ) { + + this.x *= scalar; + this.y *= scalar; + + return this; + + } + + divide( v ) { + + this.x /= v.x; + this.y /= v.y; + + return this; + + } + + divideScalar( scalar ) { + + return this.multiplyScalar( 1 / scalar ); + + } + + applyMatrix3( m ) { + + const x = this.x, y = this.y; + const e = m.elements; + + this.x = e[ 0 ] * x + e[ 3 ] * y + e[ 6 ]; + this.y = e[ 1 ] * x + e[ 4 ] * y + e[ 7 ]; + + return this; + + } + + min( v ) { + + this.x = Math.min( this.x, v.x ); + this.y = Math.min( this.y, v.y ); + + return this; + + } + + max( v ) { + + this.x = Math.max( this.x, v.x ); + this.y = Math.max( this.y, v.y ); + + return this; + + } + + clamp( min, max ) { + + // assumes min < max, componentwise + + this.x = Math.max( min.x, Math.min( max.x, this.x ) ); + this.y = Math.max( min.y, Math.min( max.y, this.y ) ); + + return this; + + } + + clampScalar( minVal, maxVal ) { + + this.x = Math.max( minVal, Math.min( maxVal, this.x ) ); + this.y = Math.max( minVal, Math.min( maxVal, this.y ) ); + + return this; + + } + + clampLength( min, max ) { + + const length = this.length(); + + return this.divideScalar( length || 1 ).multiplyScalar( Math.max( min, Math.min( max, length ) ) ); + + } + + floor() { + + this.x = Math.floor( this.x ); + this.y = Math.floor( this.y ); + + return this; + + } + + ceil() { + + this.x = Math.ceil( this.x ); + this.y = Math.ceil( this.y ); + + return this; + + } + + round() { + + this.x = Math.round( this.x ); + this.y = Math.round( this.y ); + + return this; + + } + + roundToZero() { + + this.x = ( this.x < 0 ) ? Math.ceil( this.x ) : Math.floor( this.x ); + this.y = ( this.y < 0 ) ? Math.ceil( this.y ) : Math.floor( this.y ); + + return this; + + } + + negate() { + + this.x = - this.x; + this.y = - this.y; + + return this; + + } + + dot( v ) { + + return this.x * v.x + this.y * v.y; + + } + + cross( v ) { + + return this.x * v.y - this.y * v.x; + + } + + lengthSq() { + + return this.x * this.x + this.y * this.y; + + } + + length() { + + return Math.sqrt( this.x * this.x + this.y * this.y ); + + } + + manhattanLength() { + + return Math.abs( this.x ) + Math.abs( this.y ); + + } + + normalize() { + + return this.divideScalar( this.length() || 1 ); + + } + + angle() { + + // computes the angle in radians with respect to the positive x-axis + + const angle = Math.atan2( - this.y, - this.x ) + Math.PI; + + return angle; + + } + + distanceTo( v ) { + + return Math.sqrt( this.distanceToSquared( v ) ); + + } + + distanceToSquared( v ) { + + const dx = this.x - v.x, dy = this.y - v.y; + return dx * dx + dy * dy; + + } + + manhattanDistanceTo( v ) { + + return Math.abs( this.x - v.x ) + Math.abs( this.y - v.y ); + + } + + setLength( length ) { + + return this.normalize().multiplyScalar( length ); + + } + + lerp( v, alpha ) { + + this.x += ( v.x - this.x ) * alpha; + this.y += ( v.y - this.y ) * alpha; + + return this; + + } + + lerpVectors( v1, v2, alpha ) { + + this.x = v1.x + ( v2.x - v1.x ) * alpha; + this.y = v1.y + ( v2.y - v1.y ) * alpha; + + return this; + + } + + equals( v ) { + + return ( ( v.x === this.x ) && ( v.y === this.y ) ); + + } + + fromArray( array, offset = 0 ) { + + this.x = array[ offset ]; + this.y = array[ offset + 1 ]; + + return this; + + } + + toArray( array = [], offset = 0 ) { + + array[ offset ] = this.x; + array[ offset + 1 ] = this.y; + + return array; + + } + + fromBufferAttribute( attribute, index, offset ) { + + if ( offset !== undefined ) { + + console.warn( 'THREE.Vector2: offset has been removed from .fromBufferAttribute().' ); + + } + + this.x = attribute.getX( index ); + this.y = attribute.getY( index ); + + return this; + + } + + rotateAround( center, angle ) { + + const c = Math.cos( angle ), s = Math.sin( angle ); + + const x = this.x - center.x; + const y = this.y - center.y; + + this.x = x * c - y * s + center.x; + this.y = x * s + y * c + center.y; + + return this; + + } + + random() { + + this.x = Math.random(); + this.y = Math.random(); + + return this; + + } + + *[ Symbol.iterator ]() { + + yield this.x; + yield this.y; + + } + +} + +Vector2.prototype.isVector2 = true; + +class Matrix3 { + + constructor() { + + this.elements = [ + + 1, 0, 0, + 0, 1, 0, + 0, 0, 1 + + ]; + + if ( arguments.length > 0 ) { + + console.error( 'THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.' ); + + } + + } + + set( n11, n12, n13, n21, n22, n23, n31, n32, n33 ) { + + const te = this.elements; + + te[ 0 ] = n11; te[ 1 ] = n21; te[ 2 ] = n31; + te[ 3 ] = n12; te[ 4 ] = n22; te[ 5 ] = n32; + te[ 6 ] = n13; te[ 7 ] = n23; te[ 8 ] = n33; + + return this; + + } + + identity() { + + this.set( + + 1, 0, 0, + 0, 1, 0, + 0, 0, 1 + + ); + + return this; + + } + + copy( m ) { + + const te = this.elements; + const me = m.elements; + + te[ 0 ] = me[ 0 ]; te[ 1 ] = me[ 1 ]; te[ 2 ] = me[ 2 ]; + te[ 3 ] = me[ 3 ]; te[ 4 ] = me[ 4 ]; te[ 5 ] = me[ 5 ]; + te[ 6 ] = me[ 6 ]; te[ 7 ] = me[ 7 ]; te[ 8 ] = me[ 8 ]; + + return this; + + } + + extractBasis( xAxis, yAxis, zAxis ) { + + xAxis.setFromMatrix3Column( this, 0 ); + yAxis.setFromMatrix3Column( this, 1 ); + zAxis.setFromMatrix3Column( this, 2 ); + + return this; + + } + + setFromMatrix4( m ) { + + const me = m.elements; + + this.set( + + me[ 0 ], me[ 4 ], me[ 8 ], + me[ 1 ], me[ 5 ], me[ 9 ], + me[ 2 ], me[ 6 ], me[ 10 ] + + ); + + return this; + + } + + multiply( m ) { + + return this.multiplyMatrices( this, m ); + + } + + premultiply( m ) { + + return this.multiplyMatrices( m, this ); + + } + + multiplyMatrices( a, b ) { + + const ae = a.elements; + const be = b.elements; + const te = this.elements; + + const a11 = ae[ 0 ], a12 = ae[ 3 ], a13 = ae[ 6 ]; + const a21 = ae[ 1 ], a22 = ae[ 4 ], a23 = ae[ 7 ]; + const a31 = ae[ 2 ], a32 = ae[ 5 ], a33 = ae[ 8 ]; + + const b11 = be[ 0 ], b12 = be[ 3 ], b13 = be[ 6 ]; + const b21 = be[ 1 ], b22 = be[ 4 ], b23 = be[ 7 ]; + const b31 = be[ 2 ], b32 = be[ 5 ], b33 = be[ 8 ]; + + te[ 0 ] = a11 * b11 + a12 * b21 + a13 * b31; + te[ 3 ] = a11 * b12 + a12 * b22 + a13 * b32; + te[ 6 ] = a11 * b13 + a12 * b23 + a13 * b33; + + te[ 1 ] = a21 * b11 + a22 * b21 + a23 * b31; + te[ 4 ] = a21 * b12 + a22 * b22 + a23 * b32; + te[ 7 ] = a21 * b13 + a22 * b23 + a23 * b33; + + te[ 2 ] = a31 * b11 + a32 * b21 + a33 * b31; + te[ 5 ] = a31 * b12 + a32 * b22 + a33 * b32; + te[ 8 ] = a31 * b13 + a32 * b23 + a33 * b33; + + return this; + + } + + multiplyScalar( s ) { + + const te = this.elements; + + te[ 0 ] *= s; te[ 3 ] *= s; te[ 6 ] *= s; + te[ 1 ] *= s; te[ 4 ] *= s; te[ 7 ] *= s; + te[ 2 ] *= s; te[ 5 ] *= s; te[ 8 ] *= s; + + return this; + + } + + determinant() { + + const te = this.elements; + + const a = te[ 0 ], b = te[ 1 ], c = te[ 2 ], + d = te[ 3 ], e = te[ 4 ], f = te[ 5 ], + g = te[ 6 ], h = te[ 7 ], i = te[ 8 ]; + + return a * e * i - a * f * h - b * d * i + b * f * g + c * d * h - c * e * g; + + } + + invert() { + + const te = this.elements, + + n11 = te[ 0 ], n21 = te[ 1 ], n31 = te[ 2 ], + n12 = te[ 3 ], n22 = te[ 4 ], n32 = te[ 5 ], + n13 = te[ 6 ], n23 = te[ 7 ], n33 = te[ 8 ], + + t11 = n33 * n22 - n32 * n23, + t12 = n32 * n13 - n33 * n12, + t13 = n23 * n12 - n22 * n13, + + det = n11 * t11 + n21 * t12 + n31 * t13; + + if ( det === 0 ) return this.set( 0, 0, 0, 0, 0, 0, 0, 0, 0 ); + + const detInv = 1 / det; + + te[ 0 ] = t11 * detInv; + te[ 1 ] = ( n31 * n23 - n33 * n21 ) * detInv; + te[ 2 ] = ( n32 * n21 - n31 * n22 ) * detInv; + + te[ 3 ] = t12 * detInv; + te[ 4 ] = ( n33 * n11 - n31 * n13 ) * detInv; + te[ 5 ] = ( n31 * n12 - n32 * n11 ) * detInv; + + te[ 6 ] = t13 * detInv; + te[ 7 ] = ( n21 * n13 - n23 * n11 ) * detInv; + te[ 8 ] = ( n22 * n11 - n21 * n12 ) * detInv; + + return this; + + } + + transpose() { + + let tmp; + const m = this.elements; + + tmp = m[ 1 ]; m[ 1 ] = m[ 3 ]; m[ 3 ] = tmp; + tmp = m[ 2 ]; m[ 2 ] = m[ 6 ]; m[ 6 ] = tmp; + tmp = m[ 5 ]; m[ 5 ] = m[ 7 ]; m[ 7 ] = tmp; + + return this; + + } + + getNormalMatrix( matrix4 ) { + + return this.setFromMatrix4( matrix4 ).invert().transpose(); + + } + + transposeIntoArray( r ) { + + const m = this.elements; + + r[ 0 ] = m[ 0 ]; + r[ 1 ] = m[ 3 ]; + r[ 2 ] = m[ 6 ]; + r[ 3 ] = m[ 1 ]; + r[ 4 ] = m[ 4 ]; + r[ 5 ] = m[ 7 ]; + r[ 6 ] = m[ 2 ]; + r[ 7 ] = m[ 5 ]; + r[ 8 ] = m[ 8 ]; + + return this; + + } + + setUvTransform( tx, ty, sx, sy, rotation, cx, cy ) { + + const c = Math.cos( rotation ); + const s = Math.sin( rotation ); + + this.set( + sx * c, sx * s, - sx * ( c * cx + s * cy ) + cx + tx, + - sy * s, sy * c, - sy * ( - s * cx + c * cy ) + cy + ty, + 0, 0, 1 + ); + + return this; + + } + + scale( sx, sy ) { + + const te = this.elements; + + te[ 0 ] *= sx; te[ 3 ] *= sx; te[ 6 ] *= sx; + te[ 1 ] *= sy; te[ 4 ] *= sy; te[ 7 ] *= sy; + + return this; + + } + + rotate( theta ) { + + const c = Math.cos( theta ); + const s = Math.sin( theta ); + + const te = this.elements; + + const a11 = te[ 0 ], a12 = te[ 3 ], a13 = te[ 6 ]; + const a21 = te[ 1 ], a22 = te[ 4 ], a23 = te[ 7 ]; + + te[ 0 ] = c * a11 + s * a21; + te[ 3 ] = c * a12 + s * a22; + te[ 6 ] = c * a13 + s * a23; + + te[ 1 ] = - s * a11 + c * a21; + te[ 4 ] = - s * a12 + c * a22; + te[ 7 ] = - s * a13 + c * a23; + + return this; + + } + + translate( tx, ty ) { + + const te = this.elements; + + te[ 0 ] += tx * te[ 2 ]; te[ 3 ] += tx * te[ 5 ]; te[ 6 ] += tx * te[ 8 ]; + te[ 1 ] += ty * te[ 2 ]; te[ 4 ] += ty * te[ 5 ]; te[ 7 ] += ty * te[ 8 ]; + + return this; + + } + + equals( matrix ) { + + const te = this.elements; + const me = matrix.elements; + + for ( let i = 0; i < 9; i ++ ) { + + if ( te[ i ] !== me[ i ] ) return false; + + } + + return true; + + } + + fromArray( array, offset = 0 ) { + + for ( let i = 0; i < 9; i ++ ) { + + this.elements[ i ] = array[ i + offset ]; + + } + + return this; + + } + + toArray( array = [], offset = 0 ) { + + const te = this.elements; + + array[ offset ] = te[ 0 ]; + array[ offset + 1 ] = te[ 1 ]; + array[ offset + 2 ] = te[ 2 ]; + + array[ offset + 3 ] = te[ 3 ]; + array[ offset + 4 ] = te[ 4 ]; + array[ offset + 5 ] = te[ 5 ]; + + array[ offset + 6 ] = te[ 6 ]; + array[ offset + 7 ] = te[ 7 ]; + array[ offset + 8 ] = te[ 8 ]; + + return array; + + } + + clone() { + + return new this.constructor().fromArray( this.elements ); + + } + +} + +Matrix3.prototype.isMatrix3 = true; + +function arrayMax( array ) { + + if ( array.length === 0 ) return - Infinity; + + let max = array[ 0 ]; + + for ( let i = 1, l = array.length; i < l; ++ i ) { + + if ( array[ i ] > max ) max = array[ i ]; + + } + + return max; + +} + +const TYPED_ARRAYS = { + Int8Array: Int8Array, + Uint8Array: Uint8Array, + Uint8ClampedArray: Uint8ClampedArray, + Int16Array: Int16Array, + Uint16Array: Uint16Array, + Int32Array: Int32Array, + Uint32Array: Uint32Array, + Float32Array: Float32Array, + Float64Array: Float64Array +}; + +function getTypedArray( type, buffer ) { + + return new TYPED_ARRAYS[ type ]( buffer ); + +} + +function createElementNS( name ) { + + return document.createElementNS( 'http://www.w3.org/1999/xhtml', name ); + +} + +let _canvas; + +class ImageUtils { + + static getDataURL( image ) { + + if ( /^data:/i.test( image.src ) ) { + + return image.src; + + } + + if ( typeof HTMLCanvasElement == 'undefined' ) { + + return image.src; + + } + + let canvas; + + if ( image instanceof HTMLCanvasElement ) { + + canvas = image; + + } else { + + if ( _canvas === undefined ) _canvas = createElementNS( 'canvas' ); + + _canvas.width = image.width; + _canvas.height = image.height; + + const context = _canvas.getContext( '2d' ); + + if ( image instanceof ImageData ) { + + context.putImageData( image, 0, 0 ); + + } else { + + context.drawImage( image, 0, 0, image.width, image.height ); + + } + + canvas = _canvas; + + } + + if ( canvas.width > 2048 || canvas.height > 2048 ) { + + console.warn( 'THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons', image ); + + return canvas.toDataURL( 'image/jpeg', 0.6 ); + + } else { + + return canvas.toDataURL( 'image/png' ); + + } + + } + +} + +let textureId = 0; + +class Texture extends EventDispatcher { + + constructor( image = Texture.DEFAULT_IMAGE, mapping = Texture.DEFAULT_MAPPING, wrapS = ClampToEdgeWrapping, wrapT = ClampToEdgeWrapping, magFilter = LinearFilter, minFilter = LinearMipmapLinearFilter, format = RGBAFormat, type = UnsignedByteType, anisotropy = 1, encoding = LinearEncoding ) { + + super(); + + Object.defineProperty( this, 'id', { value: textureId ++ } ); + + this.uuid = generateUUID(); + + this.name = ''; + + this.image = image; + this.mipmaps = []; + + this.mapping = mapping; + + this.wrapS = wrapS; + this.wrapT = wrapT; + + this.magFilter = magFilter; + this.minFilter = minFilter; + + this.anisotropy = anisotropy; + + this.format = format; + this.internalFormat = null; + this.type = type; + + this.offset = new Vector2( 0, 0 ); + this.repeat = new Vector2( 1, 1 ); + this.center = new Vector2( 0, 0 ); + this.rotation = 0; + + this.matrixAutoUpdate = true; + this.matrix = new Matrix3(); + + this.generateMipmaps = true; + this.premultiplyAlpha = false; + this.flipY = true; + this.unpackAlignment = 4; // valid values: 1, 2, 4, 8 (see http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPixelStorei.xml) + + // Values of encoding !== THREE.LinearEncoding only supported on map, envMap and emissiveMap. + // + // Also changing the encoding after already used by a Material will not automatically make the Material + // update. You need to explicitly call Material.needsUpdate to trigger it to recompile. + this.encoding = encoding; + + this.userData = {}; + + this.version = 0; + this.onUpdate = null; + + this.isRenderTargetTexture = false; + + } + + updateMatrix() { + + this.matrix.setUvTransform( this.offset.x, this.offset.y, this.repeat.x, this.repeat.y, this.rotation, this.center.x, this.center.y ); + + } + + clone() { + + return new this.constructor().copy( this ); + + } + + copy( source ) { + + this.name = source.name; + + this.image = source.image; + this.mipmaps = source.mipmaps.slice( 0 ); + + this.mapping = source.mapping; + + this.wrapS = source.wrapS; + this.wrapT = source.wrapT; + + this.magFilter = source.magFilter; + this.minFilter = source.minFilter; + + this.anisotropy = source.anisotropy; + + this.format = source.format; + this.internalFormat = source.internalFormat; + this.type = source.type; + + this.offset.copy( source.offset ); + this.repeat.copy( source.repeat ); + this.center.copy( source.center ); + this.rotation = source.rotation; + + this.matrixAutoUpdate = source.matrixAutoUpdate; + this.matrix.copy( source.matrix ); + + this.generateMipmaps = source.generateMipmaps; + this.premultiplyAlpha = source.premultiplyAlpha; + this.flipY = source.flipY; + this.unpackAlignment = source.unpackAlignment; + this.encoding = source.encoding; + + this.userData = JSON.parse( JSON.stringify( source.userData ) ); + + return this; + + } + + toJSON( meta ) { + + const isRootObject = ( meta === undefined || typeof meta === 'string' ); + + if ( ! isRootObject && meta.textures[ this.uuid ] !== undefined ) { + + return meta.textures[ this.uuid ]; + + } + + const output = { + + metadata: { + version: 4.5, + type: 'Texture', + generator: 'Texture.toJSON' + }, + + uuid: this.uuid, + name: this.name, + + mapping: this.mapping, + + repeat: [ this.repeat.x, this.repeat.y ], + offset: [ this.offset.x, this.offset.y ], + center: [ this.center.x, this.center.y ], + rotation: this.rotation, + + wrap: [ this.wrapS, this.wrapT ], + + format: this.format, + type: this.type, + encoding: this.encoding, + + minFilter: this.minFilter, + magFilter: this.magFilter, + anisotropy: this.anisotropy, + + flipY: this.flipY, + + premultiplyAlpha: this.premultiplyAlpha, + unpackAlignment: this.unpackAlignment + + }; + + if ( this.image !== undefined ) { + + // TODO: Move to THREE.Image + + const image = this.image; + + if ( image.uuid === undefined ) { + + image.uuid = generateUUID(); // UGH + + } + + if ( ! isRootObject && meta.images[ image.uuid ] === undefined ) { + + let url; + + if ( Array.isArray( image ) ) { + + // process array of images e.g. CubeTexture + + url = []; + + for ( let i = 0, l = image.length; i < l; i ++ ) { + + // check cube texture with data textures + + if ( image[ i ].isDataTexture ) { + + url.push( serializeImage( image[ i ].image ) ); + + } else { + + url.push( serializeImage( image[ i ] ) ); + + } + + } + + } else { + + // process single image + + url = serializeImage( image ); + + } + + meta.images[ image.uuid ] = { + uuid: image.uuid, + url: url + }; + + } + + output.image = image.uuid; + + } + + if ( JSON.stringify( this.userData ) !== '{}' ) output.userData = this.userData; + + if ( ! isRootObject ) { + + meta.textures[ this.uuid ] = output; + + } + + return output; + + } + + dispose() { + + this.dispatchEvent( { type: 'dispose' } ); + + } + + transformUv( uv ) { + + if ( this.mapping !== UVMapping ) return uv; + + uv.applyMatrix3( this.matrix ); + + if ( uv.x < 0 || uv.x > 1 ) { + + switch ( this.wrapS ) { + + case RepeatWrapping: + + uv.x = uv.x - Math.floor( uv.x ); + break; + + case ClampToEdgeWrapping: + + uv.x = uv.x < 0 ? 0 : 1; + break; + + case MirroredRepeatWrapping: + + if ( Math.abs( Math.floor( uv.x ) % 2 ) === 1 ) { + + uv.x = Math.ceil( uv.x ) - uv.x; + + } else { + + uv.x = uv.x - Math.floor( uv.x ); + + } + + break; + + } + + } + + if ( uv.y < 0 || uv.y > 1 ) { + + switch ( this.wrapT ) { + + case RepeatWrapping: + + uv.y = uv.y - Math.floor( uv.y ); + break; + + case ClampToEdgeWrapping: + + uv.y = uv.y < 0 ? 0 : 1; + break; + + case MirroredRepeatWrapping: + + if ( Math.abs( Math.floor( uv.y ) % 2 ) === 1 ) { + + uv.y = Math.ceil( uv.y ) - uv.y; + + } else { + + uv.y = uv.y - Math.floor( uv.y ); + + } + + break; + + } + + } + + if ( this.flipY ) { + + uv.y = 1 - uv.y; + + } + + return uv; + + } + + set needsUpdate( value ) { + + if ( value === true ) this.version ++; + + } + +} + +Texture.DEFAULT_IMAGE = undefined; +Texture.DEFAULT_MAPPING = UVMapping; + +Texture.prototype.isTexture = true; + +function serializeImage( image ) { + + if ( ( typeof HTMLImageElement !== 'undefined' && image instanceof HTMLImageElement ) || + ( typeof HTMLCanvasElement !== 'undefined' && image instanceof HTMLCanvasElement ) || + ( typeof ImageBitmap !== 'undefined' && image instanceof ImageBitmap ) ) { + + // default images + + return ImageUtils.getDataURL( image ); + + } else { + + if ( image.data ) { + + // images of DataTexture + + return { + data: Array.prototype.slice.call( image.data ), + width: image.width, + height: image.height, + type: image.data.constructor.name + }; + + } else { + + console.warn( 'THREE.Texture: Unable to serialize Texture.' ); + return {}; + + } + + } + +} + +class Vector4 { + + constructor( x = 0, y = 0, z = 0, w = 1 ) { + + this.x = x; + this.y = y; + this.z = z; + this.w = w; + + } + + get width() { + + return this.z; + + } + + set width( value ) { + + this.z = value; + + } + + get height() { + + return this.w; + + } + + set height( value ) { + + this.w = value; + + } + + set( x, y, z, w ) { + + this.x = x; + this.y = y; + this.z = z; + this.w = w; + + return this; + + } + + setScalar( scalar ) { + + this.x = scalar; + this.y = scalar; + this.z = scalar; + this.w = scalar; + + return this; + + } + + setX( x ) { + + this.x = x; + + return this; + + } + + setY( y ) { + + this.y = y; + + return this; + + } + + setZ( z ) { + + this.z = z; + + return this; + + } + + setW( w ) { + + this.w = w; + + return this; + + } + + setComponent( index, value ) { + + switch ( index ) { + + case 0: this.x = value; break; + case 1: this.y = value; break; + case 2: this.z = value; break; + case 3: this.w = value; break; + default: throw new Error( 'index is out of range: ' + index ); + + } + + return this; + + } + + getComponent( index ) { + + switch ( index ) { + + case 0: return this.x; + case 1: return this.y; + case 2: return this.z; + case 3: return this.w; + default: throw new Error( 'index is out of range: ' + index ); + + } + + } + + clone() { + + return new this.constructor( this.x, this.y, this.z, this.w ); + + } + + copy( v ) { + + this.x = v.x; + this.y = v.y; + this.z = v.z; + this.w = ( v.w !== undefined ) ? v.w : 1; + + return this; + + } + + add( v, w ) { + + if ( w !== undefined ) { + + console.warn( 'THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead.' ); + return this.addVectors( v, w ); + + } + + this.x += v.x; + this.y += v.y; + this.z += v.z; + this.w += v.w; + + return this; + + } + + addScalar( s ) { + + this.x += s; + this.y += s; + this.z += s; + this.w += s; + + return this; + + } + + addVectors( a, b ) { + + this.x = a.x + b.x; + this.y = a.y + b.y; + this.z = a.z + b.z; + this.w = a.w + b.w; + + return this; + + } + + addScaledVector( v, s ) { + + this.x += v.x * s; + this.y += v.y * s; + this.z += v.z * s; + this.w += v.w * s; + + return this; + + } + + sub( v, w ) { + + if ( w !== undefined ) { + + console.warn( 'THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.' ); + return this.subVectors( v, w ); + + } + + this.x -= v.x; + this.y -= v.y; + this.z -= v.z; + this.w -= v.w; + + return this; + + } + + subScalar( s ) { + + this.x -= s; + this.y -= s; + this.z -= s; + this.w -= s; + + return this; + + } + + subVectors( a, b ) { + + this.x = a.x - b.x; + this.y = a.y - b.y; + this.z = a.z - b.z; + this.w = a.w - b.w; + + return this; + + } + + multiply( v ) { + + this.x *= v.x; + this.y *= v.y; + this.z *= v.z; + this.w *= v.w; + + return this; + + } + + multiplyScalar( scalar ) { + + this.x *= scalar; + this.y *= scalar; + this.z *= scalar; + this.w *= scalar; + + return this; + + } + + applyMatrix4( m ) { + + const x = this.x, y = this.y, z = this.z, w = this.w; + const e = m.elements; + + this.x = e[ 0 ] * x + e[ 4 ] * y + e[ 8 ] * z + e[ 12 ] * w; + this.y = e[ 1 ] * x + e[ 5 ] * y + e[ 9 ] * z + e[ 13 ] * w; + this.z = e[ 2 ] * x + e[ 6 ] * y + e[ 10 ] * z + e[ 14 ] * w; + this.w = e[ 3 ] * x + e[ 7 ] * y + e[ 11 ] * z + e[ 15 ] * w; + + return this; + + } + + divideScalar( scalar ) { + + return this.multiplyScalar( 1 / scalar ); + + } + + setAxisAngleFromQuaternion( q ) { + + // http://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToAngle/index.htm + + // q is assumed to be normalized + + this.w = 2 * Math.acos( q.w ); + + const s = Math.sqrt( 1 - q.w * q.w ); + + if ( s < 0.0001 ) { + + this.x = 1; + this.y = 0; + this.z = 0; + + } else { + + this.x = q.x / s; + this.y = q.y / s; + this.z = q.z / s; + + } + + return this; + + } + + setAxisAngleFromRotationMatrix( m ) { + + // http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToAngle/index.htm + + // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled) + + let angle, x, y, z; // variables for result + const epsilon = 0.01, // margin to allow for rounding errors + epsilon2 = 0.1, // margin to distinguish between 0 and 180 degrees + + te = m.elements, + + m11 = te[ 0 ], m12 = te[ 4 ], m13 = te[ 8 ], + m21 = te[ 1 ], m22 = te[ 5 ], m23 = te[ 9 ], + m31 = te[ 2 ], m32 = te[ 6 ], m33 = te[ 10 ]; + + if ( ( Math.abs( m12 - m21 ) < epsilon ) && + ( Math.abs( m13 - m31 ) < epsilon ) && + ( Math.abs( m23 - m32 ) < epsilon ) ) { + + // singularity found + // first check for identity matrix which must have +1 for all terms + // in leading diagonal and zero in other terms + + if ( ( Math.abs( m12 + m21 ) < epsilon2 ) && + ( Math.abs( m13 + m31 ) < epsilon2 ) && + ( Math.abs( m23 + m32 ) < epsilon2 ) && + ( Math.abs( m11 + m22 + m33 - 3 ) < epsilon2 ) ) { + + // this singularity is identity matrix so angle = 0 + + this.set( 1, 0, 0, 0 ); + + return this; // zero angle, arbitrary axis + + } + + // otherwise this singularity is angle = 180 + + angle = Math.PI; + + const xx = ( m11 + 1 ) / 2; + const yy = ( m22 + 1 ) / 2; + const zz = ( m33 + 1 ) / 2; + const xy = ( m12 + m21 ) / 4; + const xz = ( m13 + m31 ) / 4; + const yz = ( m23 + m32 ) / 4; + + if ( ( xx > yy ) && ( xx > zz ) ) { + + // m11 is the largest diagonal term + + if ( xx < epsilon ) { + + x = 0; + y = 0.707106781; + z = 0.707106781; + + } else { + + x = Math.sqrt( xx ); + y = xy / x; + z = xz / x; + + } + + } else if ( yy > zz ) { + + // m22 is the largest diagonal term + + if ( yy < epsilon ) { + + x = 0.707106781; + y = 0; + z = 0.707106781; + + } else { + + y = Math.sqrt( yy ); + x = xy / y; + z = yz / y; + + } + + } else { + + // m33 is the largest diagonal term so base result on this + + if ( zz < epsilon ) { + + x = 0.707106781; + y = 0.707106781; + z = 0; + + } else { + + z = Math.sqrt( zz ); + x = xz / z; + y = yz / z; + + } + + } + + this.set( x, y, z, angle ); + + return this; // return 180 deg rotation + + } + + // as we have reached here there are no singularities so we can handle normally + + let s = Math.sqrt( ( m32 - m23 ) * ( m32 - m23 ) + + ( m13 - m31 ) * ( m13 - m31 ) + + ( m21 - m12 ) * ( m21 - m12 ) ); // used to normalize + + if ( Math.abs( s ) < 0.001 ) s = 1; + + // prevent divide by zero, should not happen if matrix is orthogonal and should be + // caught by singularity test above, but I've left it in just in case + + this.x = ( m32 - m23 ) / s; + this.y = ( m13 - m31 ) / s; + this.z = ( m21 - m12 ) / s; + this.w = Math.acos( ( m11 + m22 + m33 - 1 ) / 2 ); + + return this; + + } + + min( v ) { + + this.x = Math.min( this.x, v.x ); + this.y = Math.min( this.y, v.y ); + this.z = Math.min( this.z, v.z ); + this.w = Math.min( this.w, v.w ); + + return this; + + } + + max( v ) { + + this.x = Math.max( this.x, v.x ); + this.y = Math.max( this.y, v.y ); + this.z = Math.max( this.z, v.z ); + this.w = Math.max( this.w, v.w ); + + return this; + + } + + clamp( min, max ) { + + // assumes min < max, componentwise + + this.x = Math.max( min.x, Math.min( max.x, this.x ) ); + this.y = Math.max( min.y, Math.min( max.y, this.y ) ); + this.z = Math.max( min.z, Math.min( max.z, this.z ) ); + this.w = Math.max( min.w, Math.min( max.w, this.w ) ); + + return this; + + } + + clampScalar( minVal, maxVal ) { + + this.x = Math.max( minVal, Math.min( maxVal, this.x ) ); + this.y = Math.max( minVal, Math.min( maxVal, this.y ) ); + this.z = Math.max( minVal, Math.min( maxVal, this.z ) ); + this.w = Math.max( minVal, Math.min( maxVal, this.w ) ); + + return this; + + } + + clampLength( min, max ) { + + const length = this.length(); + + return this.divideScalar( length || 1 ).multiplyScalar( Math.max( min, Math.min( max, length ) ) ); + + } + + floor() { + + this.x = Math.floor( this.x ); + this.y = Math.floor( this.y ); + this.z = Math.floor( this.z ); + this.w = Math.floor( this.w ); + + return this; + + } + + ceil() { + + this.x = Math.ceil( this.x ); + this.y = Math.ceil( this.y ); + this.z = Math.ceil( this.z ); + this.w = Math.ceil( this.w ); + + return this; + + } + + round() { + + this.x = Math.round( this.x ); + this.y = Math.round( this.y ); + this.z = Math.round( this.z ); + this.w = Math.round( this.w ); + + return this; + + } + + roundToZero() { + + this.x = ( this.x < 0 ) ? Math.ceil( this.x ) : Math.floor( this.x ); + this.y = ( this.y < 0 ) ? Math.ceil( this.y ) : Math.floor( this.y ); + this.z = ( this.z < 0 ) ? Math.ceil( this.z ) : Math.floor( this.z ); + this.w = ( this.w < 0 ) ? Math.ceil( this.w ) : Math.floor( this.w ); + + return this; + + } + + negate() { + + this.x = - this.x; + this.y = - this.y; + this.z = - this.z; + this.w = - this.w; + + return this; + + } + + dot( v ) { + + return this.x * v.x + this.y * v.y + this.z * v.z + this.w * v.w; + + } + + lengthSq() { + + return this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w; + + } + + length() { + + return Math.sqrt( this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w ); + + } + + manhattanLength() { + + return Math.abs( this.x ) + Math.abs( this.y ) + Math.abs( this.z ) + Math.abs( this.w ); + + } + + normalize() { + + return this.divideScalar( this.length() || 1 ); + + } + + setLength( length ) { + + return this.normalize().multiplyScalar( length ); + + } + + lerp( v, alpha ) { + + this.x += ( v.x - this.x ) * alpha; + this.y += ( v.y - this.y ) * alpha; + this.z += ( v.z - this.z ) * alpha; + this.w += ( v.w - this.w ) * alpha; + + return this; + + } + + lerpVectors( v1, v2, alpha ) { + + this.x = v1.x + ( v2.x - v1.x ) * alpha; + this.y = v1.y + ( v2.y - v1.y ) * alpha; + this.z = v1.z + ( v2.z - v1.z ) * alpha; + this.w = v1.w + ( v2.w - v1.w ) * alpha; + + return this; + + } + + equals( v ) { + + return ( ( v.x === this.x ) && ( v.y === this.y ) && ( v.z === this.z ) && ( v.w === this.w ) ); + + } + + fromArray( array, offset = 0 ) { + + this.x = array[ offset ]; + this.y = array[ offset + 1 ]; + this.z = array[ offset + 2 ]; + this.w = array[ offset + 3 ]; + + return this; + + } + + toArray( array = [], offset = 0 ) { + + array[ offset ] = this.x; + array[ offset + 1 ] = this.y; + array[ offset + 2 ] = this.z; + array[ offset + 3 ] = this.w; + + return array; + + } + + fromBufferAttribute( attribute, index, offset ) { + + if ( offset !== undefined ) { + + console.warn( 'THREE.Vector4: offset has been removed from .fromBufferAttribute().' ); + + } + + this.x = attribute.getX( index ); + this.y = attribute.getY( index ); + this.z = attribute.getZ( index ); + this.w = attribute.getW( index ); + + return this; + + } + + random() { + + this.x = Math.random(); + this.y = Math.random(); + this.z = Math.random(); + this.w = Math.random(); + + return this; + + } + + *[ Symbol.iterator ]() { + + yield this.x; + yield this.y; + yield this.z; + yield this.w; + + } + +} + +Vector4.prototype.isVector4 = true; + +/* + In options, we can specify: + * Texture parameters for an auto-generated target texture + * depthBuffer/stencilBuffer: Booleans to indicate if we should generate these buffers +*/ +class WebGLRenderTarget extends EventDispatcher { + + constructor( width, height, options = {} ) { + + super(); + + this.width = width; + this.height = height; + this.depth = 1; + + this.scissor = new Vector4( 0, 0, width, height ); + this.scissorTest = false; + + this.viewport = new Vector4( 0, 0, width, height ); + + this.texture = new Texture( undefined, options.mapping, options.wrapS, options.wrapT, options.magFilter, options.minFilter, options.format, options.type, options.anisotropy, options.encoding ); + this.texture.isRenderTargetTexture = true; + + this.texture.image = { width: width, height: height, depth: 1 }; + + this.texture.generateMipmaps = options.generateMipmaps !== undefined ? options.generateMipmaps : false; + this.texture.internalFormat = options.internalFormat !== undefined ? options.internalFormat : null; + this.texture.minFilter = options.minFilter !== undefined ? options.minFilter : LinearFilter; + + this.depthBuffer = options.depthBuffer !== undefined ? options.depthBuffer : true; + this.stencilBuffer = options.stencilBuffer !== undefined ? options.stencilBuffer : false; + this.depthTexture = options.depthTexture !== undefined ? options.depthTexture : null; + + } + + setTexture( texture ) { + + texture.image = { + width: this.width, + height: this.height, + depth: this.depth + }; + + this.texture = texture; + + } + + setSize( width, height, depth = 1 ) { + + if ( this.width !== width || this.height !== height || this.depth !== depth ) { + + this.width = width; + this.height = height; + this.depth = depth; + + this.texture.image.width = width; + this.texture.image.height = height; + this.texture.image.depth = depth; + + this.dispose(); + + } + + this.viewport.set( 0, 0, width, height ); + this.scissor.set( 0, 0, width, height ); + + } + + clone() { + + return new this.constructor().copy( this ); + + } + + copy( source ) { + + this.width = source.width; + this.height = source.height; + this.depth = source.depth; + + this.viewport.copy( source.viewport ); + + this.texture = source.texture.clone(); + this.texture.image = { ...this.texture.image }; // See #20328. + + this.depthBuffer = source.depthBuffer; + this.stencilBuffer = source.stencilBuffer; + this.depthTexture = source.depthTexture; + + return this; + + } + + dispose() { + + this.dispatchEvent( { type: 'dispose' } ); + + } + +} + +WebGLRenderTarget.prototype.isWebGLRenderTarget = true; + +class WebGLMultipleRenderTargets extends WebGLRenderTarget { + + constructor( width, height, count ) { + + super( width, height ); + + const texture = this.texture; + + this.texture = []; + + for ( let i = 0; i < count; i ++ ) { + + this.texture[ i ] = texture.clone(); + + } + + } + + setSize( width, height, depth = 1 ) { + + if ( this.width !== width || this.height !== height || this.depth !== depth ) { + + this.width = width; + this.height = height; + this.depth = depth; + + for ( let i = 0, il = this.texture.length; i < il; i ++ ) { + + this.texture[ i ].image.width = width; + this.texture[ i ].image.height = height; + this.texture[ i ].image.depth = depth; + + } + + this.dispose(); + + } + + this.viewport.set( 0, 0, width, height ); + this.scissor.set( 0, 0, width, height ); + + return this; + + } + + copy( source ) { + + this.dispose(); + + this.width = source.width; + this.height = source.height; + this.depth = source.depth; + + this.viewport.set( 0, 0, this.width, this.height ); + this.scissor.set( 0, 0, this.width, this.height ); + + this.depthBuffer = source.depthBuffer; + this.stencilBuffer = source.stencilBuffer; + this.depthTexture = source.depthTexture; + + this.texture.length = 0; + + for ( let i = 0, il = source.texture.length; i < il; i ++ ) { + + this.texture[ i ] = source.texture[ i ].clone(); + + } + + return this; + + } + +} + +WebGLMultipleRenderTargets.prototype.isWebGLMultipleRenderTargets = true; + +class WebGLMultisampleRenderTarget extends WebGLRenderTarget { + + constructor( width, height, options = {} ) { + + super( width, height, options ); + + this.samples = 4; + + this.ignoreDepthForMultisampleCopy = options.ignoreDepth !== undefined ? options.ignoreDepth : true; + this.useRenderToTexture = ( options.useRenderToTexture !== undefined ) ? options.useRenderToTexture : false; + this.useRenderbuffer = this.useRenderToTexture === false; + + } + + copy( source ) { + + super.copy.call( this, source ); + + this.samples = source.samples; + this.useRenderToTexture = source.useRenderToTexture; + this.useRenderbuffer = source.useRenderbuffer; + + return this; + + } + +} + +WebGLMultisampleRenderTarget.prototype.isWebGLMultisampleRenderTarget = true; + +class Quaternion { + + constructor( x = 0, y = 0, z = 0, w = 1 ) { + + this._x = x; + this._y = y; + this._z = z; + this._w = w; + + } + + static slerp( qa, qb, qm, t ) { + + console.warn( 'THREE.Quaternion: Static .slerp() has been deprecated. Use qm.slerpQuaternions( qa, qb, t ) instead.' ); + return qm.slerpQuaternions( qa, qb, t ); + + } + + static slerpFlat( dst, dstOffset, src0, srcOffset0, src1, srcOffset1, t ) { + + // fuzz-free, array-based Quaternion SLERP operation + + let x0 = src0[ srcOffset0 + 0 ], + y0 = src0[ srcOffset0 + 1 ], + z0 = src0[ srcOffset0 + 2 ], + w0 = src0[ srcOffset0 + 3 ]; + + const x1 = src1[ srcOffset1 + 0 ], + y1 = src1[ srcOffset1 + 1 ], + z1 = src1[ srcOffset1 + 2 ], + w1 = src1[ srcOffset1 + 3 ]; + + if ( t === 0 ) { + + dst[ dstOffset + 0 ] = x0; + dst[ dstOffset + 1 ] = y0; + dst[ dstOffset + 2 ] = z0; + dst[ dstOffset + 3 ] = w0; + return; + + } + + if ( t === 1 ) { + + dst[ dstOffset + 0 ] = x1; + dst[ dstOffset + 1 ] = y1; + dst[ dstOffset + 2 ] = z1; + dst[ dstOffset + 3 ] = w1; + return; + + } + + if ( w0 !== w1 || x0 !== x1 || y0 !== y1 || z0 !== z1 ) { + + let s = 1 - t; + const cos = x0 * x1 + y0 * y1 + z0 * z1 + w0 * w1, + dir = ( cos >= 0 ? 1 : - 1 ), + sqrSin = 1 - cos * cos; + + // Skip the Slerp for tiny steps to avoid numeric problems: + if ( sqrSin > Number.EPSILON ) { + + const sin = Math.sqrt( sqrSin ), + len = Math.atan2( sin, cos * dir ); + + s = Math.sin( s * len ) / sin; + t = Math.sin( t * len ) / sin; + + } + + const tDir = t * dir; + + x0 = x0 * s + x1 * tDir; + y0 = y0 * s + y1 * tDir; + z0 = z0 * s + z1 * tDir; + w0 = w0 * s + w1 * tDir; + + // Normalize in case we just did a lerp: + if ( s === 1 - t ) { + + const f = 1 / Math.sqrt( x0 * x0 + y0 * y0 + z0 * z0 + w0 * w0 ); + + x0 *= f; + y0 *= f; + z0 *= f; + w0 *= f; + + } + + } + + dst[ dstOffset ] = x0; + dst[ dstOffset + 1 ] = y0; + dst[ dstOffset + 2 ] = z0; + dst[ dstOffset + 3 ] = w0; + + } + + static multiplyQuaternionsFlat( dst, dstOffset, src0, srcOffset0, src1, srcOffset1 ) { + + const x0 = src0[ srcOffset0 ]; + const y0 = src0[ srcOffset0 + 1 ]; + const z0 = src0[ srcOffset0 + 2 ]; + const w0 = src0[ srcOffset0 + 3 ]; + + const x1 = src1[ srcOffset1 ]; + const y1 = src1[ srcOffset1 + 1 ]; + const z1 = src1[ srcOffset1 + 2 ]; + const w1 = src1[ srcOffset1 + 3 ]; + + dst[ dstOffset ] = x0 * w1 + w0 * x1 + y0 * z1 - z0 * y1; + dst[ dstOffset + 1 ] = y0 * w1 + w0 * y1 + z0 * x1 - x0 * z1; + dst[ dstOffset + 2 ] = z0 * w1 + w0 * z1 + x0 * y1 - y0 * x1; + dst[ dstOffset + 3 ] = w0 * w1 - x0 * x1 - y0 * y1 - z0 * z1; + + return dst; + + } + + get x() { + + return this._x; + + } + + set x( value ) { + + this._x = value; + this._onChangeCallback(); + + } + + get y() { + + return this._y; + + } + + set y( value ) { + + this._y = value; + this._onChangeCallback(); + + } + + get z() { + + return this._z; + + } + + set z( value ) { + + this._z = value; + this._onChangeCallback(); + + } + + get w() { + + return this._w; + + } + + set w( value ) { + + this._w = value; + this._onChangeCallback(); + + } + + set( x, y, z, w ) { + + this._x = x; + this._y = y; + this._z = z; + this._w = w; + + this._onChangeCallback(); + + return this; + + } + + clone() { + + return new this.constructor( this._x, this._y, this._z, this._w ); + + } + + copy( quaternion ) { + + this._x = quaternion.x; + this._y = quaternion.y; + this._z = quaternion.z; + this._w = quaternion.w; + + this._onChangeCallback(); + + return this; + + } + + setFromEuler( euler, update ) { + + if ( ! ( euler && euler.isEuler ) ) { + + throw new Error( 'THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.' ); + + } + + const x = euler._x, y = euler._y, z = euler._z, order = euler._order; + + // http://www.mathworks.com/matlabcentral/fileexchange/ + // 20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/ + // content/SpinCalc.m + + const cos = Math.cos; + const sin = Math.sin; + + const c1 = cos( x / 2 ); + const c2 = cos( y / 2 ); + const c3 = cos( z / 2 ); + + const s1 = sin( x / 2 ); + const s2 = sin( y / 2 ); + const s3 = sin( z / 2 ); + + switch ( order ) { + + case 'XYZ': + this._x = s1 * c2 * c3 + c1 * s2 * s3; + this._y = c1 * s2 * c3 - s1 * c2 * s3; + this._z = c1 * c2 * s3 + s1 * s2 * c3; + this._w = c1 * c2 * c3 - s1 * s2 * s3; + break; + + case 'YXZ': + this._x = s1 * c2 * c3 + c1 * s2 * s3; + this._y = c1 * s2 * c3 - s1 * c2 * s3; + this._z = c1 * c2 * s3 - s1 * s2 * c3; + this._w = c1 * c2 * c3 + s1 * s2 * s3; + break; + + case 'ZXY': + this._x = s1 * c2 * c3 - c1 * s2 * s3; + this._y = c1 * s2 * c3 + s1 * c2 * s3; + this._z = c1 * c2 * s3 + s1 * s2 * c3; + this._w = c1 * c2 * c3 - s1 * s2 * s3; + break; + + case 'ZYX': + this._x = s1 * c2 * c3 - c1 * s2 * s3; + this._y = c1 * s2 * c3 + s1 * c2 * s3; + this._z = c1 * c2 * s3 - s1 * s2 * c3; + this._w = c1 * c2 * c3 + s1 * s2 * s3; + break; + + case 'YZX': + this._x = s1 * c2 * c3 + c1 * s2 * s3; + this._y = c1 * s2 * c3 + s1 * c2 * s3; + this._z = c1 * c2 * s3 - s1 * s2 * c3; + this._w = c1 * c2 * c3 - s1 * s2 * s3; + break; + + case 'XZY': + this._x = s1 * c2 * c3 - c1 * s2 * s3; + this._y = c1 * s2 * c3 - s1 * c2 * s3; + this._z = c1 * c2 * s3 + s1 * s2 * c3; + this._w = c1 * c2 * c3 + s1 * s2 * s3; + break; + + default: + console.warn( 'THREE.Quaternion: .setFromEuler() encountered an unknown order: ' + order ); + + } + + if ( update !== false ) this._onChangeCallback(); + + return this; + + } + + setFromAxisAngle( axis, angle ) { + + // http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToQuaternion/index.htm + + // assumes axis is normalized + + const halfAngle = angle / 2, s = Math.sin( halfAngle ); + + this._x = axis.x * s; + this._y = axis.y * s; + this._z = axis.z * s; + this._w = Math.cos( halfAngle ); + + this._onChangeCallback(); + + return this; + + } + + setFromRotationMatrix( m ) { + + // http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm + + // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled) + + const te = m.elements, + + m11 = te[ 0 ], m12 = te[ 4 ], m13 = te[ 8 ], + m21 = te[ 1 ], m22 = te[ 5 ], m23 = te[ 9 ], + m31 = te[ 2 ], m32 = te[ 6 ], m33 = te[ 10 ], + + trace = m11 + m22 + m33; + + if ( trace > 0 ) { + + const s = 0.5 / Math.sqrt( trace + 1.0 ); + + this._w = 0.25 / s; + this._x = ( m32 - m23 ) * s; + this._y = ( m13 - m31 ) * s; + this._z = ( m21 - m12 ) * s; + + } else if ( m11 > m22 && m11 > m33 ) { + + const s = 2.0 * Math.sqrt( 1.0 + m11 - m22 - m33 ); + + this._w = ( m32 - m23 ) / s; + this._x = 0.25 * s; + this._y = ( m12 + m21 ) / s; + this._z = ( m13 + m31 ) / s; + + } else if ( m22 > m33 ) { + + const s = 2.0 * Math.sqrt( 1.0 + m22 - m11 - m33 ); + + this._w = ( m13 - m31 ) / s; + this._x = ( m12 + m21 ) / s; + this._y = 0.25 * s; + this._z = ( m23 + m32 ) / s; + + } else { + + const s = 2.0 * Math.sqrt( 1.0 + m33 - m11 - m22 ); + + this._w = ( m21 - m12 ) / s; + this._x = ( m13 + m31 ) / s; + this._y = ( m23 + m32 ) / s; + this._z = 0.25 * s; + + } + + this._onChangeCallback(); + + return this; + + } + + setFromUnitVectors( vFrom, vTo ) { + + // assumes direction vectors vFrom and vTo are normalized + + let r = vFrom.dot( vTo ) + 1; + + if ( r < Number.EPSILON ) { + + // vFrom and vTo point in opposite directions + + r = 0; + + if ( Math.abs( vFrom.x ) > Math.abs( vFrom.z ) ) { + + this._x = - vFrom.y; + this._y = vFrom.x; + this._z = 0; + this._w = r; + + } else { + + this._x = 0; + this._y = - vFrom.z; + this._z = vFrom.y; + this._w = r; + + } + + } else { + + // crossVectors( vFrom, vTo ); // inlined to avoid cyclic dependency on Vector3 + + this._x = vFrom.y * vTo.z - vFrom.z * vTo.y; + this._y = vFrom.z * vTo.x - vFrom.x * vTo.z; + this._z = vFrom.x * vTo.y - vFrom.y * vTo.x; + this._w = r; + + } + + return this.normalize(); + + } + + angleTo( q ) { + + return 2 * Math.acos( Math.abs( clamp( this.dot( q ), - 1, 1 ) ) ); + + } + + rotateTowards( q, step ) { + + const angle = this.angleTo( q ); + + if ( angle === 0 ) return this; + + const t = Math.min( 1, step / angle ); + + this.slerp( q, t ); + + return this; + + } + + identity() { + + return this.set( 0, 0, 0, 1 ); + + } + + invert() { + + // quaternion is assumed to have unit length + + return this.conjugate(); + + } + + conjugate() { + + this._x *= - 1; + this._y *= - 1; + this._z *= - 1; + + this._onChangeCallback(); + + return this; + + } + + dot( v ) { + + return this._x * v._x + this._y * v._y + this._z * v._z + this._w * v._w; + + } + + lengthSq() { + + return this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w; + + } + + length() { + + return Math.sqrt( this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w ); + + } + + normalize() { + + let l = this.length(); + + if ( l === 0 ) { + + this._x = 0; + this._y = 0; + this._z = 0; + this._w = 1; + + } else { + + l = 1 / l; + + this._x = this._x * l; + this._y = this._y * l; + this._z = this._z * l; + this._w = this._w * l; + + } + + this._onChangeCallback(); + + return this; + + } + + multiply( q, p ) { + + if ( p !== undefined ) { + + console.warn( 'THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead.' ); + return this.multiplyQuaternions( q, p ); + + } + + return this.multiplyQuaternions( this, q ); + + } + + premultiply( q ) { + + return this.multiplyQuaternions( q, this ); + + } + + multiplyQuaternions( a, b ) { + + // from http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/code/index.htm + + const qax = a._x, qay = a._y, qaz = a._z, qaw = a._w; + const qbx = b._x, qby = b._y, qbz = b._z, qbw = b._w; + + this._x = qax * qbw + qaw * qbx + qay * qbz - qaz * qby; + this._y = qay * qbw + qaw * qby + qaz * qbx - qax * qbz; + this._z = qaz * qbw + qaw * qbz + qax * qby - qay * qbx; + this._w = qaw * qbw - qax * qbx - qay * qby - qaz * qbz; + + this._onChangeCallback(); + + return this; + + } + + slerp( qb, t ) { + + if ( t === 0 ) return this; + if ( t === 1 ) return this.copy( qb ); + + const x = this._x, y = this._y, z = this._z, w = this._w; + + // http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/slerp/ + + let cosHalfTheta = w * qb._w + x * qb._x + y * qb._y + z * qb._z; + + if ( cosHalfTheta < 0 ) { + + this._w = - qb._w; + this._x = - qb._x; + this._y = - qb._y; + this._z = - qb._z; + + cosHalfTheta = - cosHalfTheta; + + } else { + + this.copy( qb ); + + } + + if ( cosHalfTheta >= 1.0 ) { + + this._w = w; + this._x = x; + this._y = y; + this._z = z; + + return this; + + } + + const sqrSinHalfTheta = 1.0 - cosHalfTheta * cosHalfTheta; + + if ( sqrSinHalfTheta <= Number.EPSILON ) { + + const s = 1 - t; + this._w = s * w + t * this._w; + this._x = s * x + t * this._x; + this._y = s * y + t * this._y; + this._z = s * z + t * this._z; + + this.normalize(); + this._onChangeCallback(); + + return this; + + } + + const sinHalfTheta = Math.sqrt( sqrSinHalfTheta ); + const halfTheta = Math.atan2( sinHalfTheta, cosHalfTheta ); + const ratioA = Math.sin( ( 1 - t ) * halfTheta ) / sinHalfTheta, + ratioB = Math.sin( t * halfTheta ) / sinHalfTheta; + + this._w = ( w * ratioA + this._w * ratioB ); + this._x = ( x * ratioA + this._x * ratioB ); + this._y = ( y * ratioA + this._y * ratioB ); + this._z = ( z * ratioA + this._z * ratioB ); + + this._onChangeCallback(); + + return this; + + } + + slerpQuaternions( qa, qb, t ) { + + this.copy( qa ).slerp( qb, t ); + + } + + random() { + + // Derived from http://planning.cs.uiuc.edu/node198.html + // Note, this source uses w, x, y, z ordering, + // so we swap the order below. + + const u1 = Math.random(); + const sqrt1u1 = Math.sqrt( 1 - u1 ); + const sqrtu1 = Math.sqrt( u1 ); + + const u2 = 2 * Math.PI * Math.random(); + + const u3 = 2 * Math.PI * Math.random(); + + return this.set( + sqrt1u1 * Math.cos( u2 ), + sqrtu1 * Math.sin( u3 ), + sqrtu1 * Math.cos( u3 ), + sqrt1u1 * Math.sin( u2 ), + ); + + } + + equals( quaternion ) { + + return ( quaternion._x === this._x ) && ( quaternion._y === this._y ) && ( quaternion._z === this._z ) && ( quaternion._w === this._w ); + + } + + fromArray( array, offset = 0 ) { + + this._x = array[ offset ]; + this._y = array[ offset + 1 ]; + this._z = array[ offset + 2 ]; + this._w = array[ offset + 3 ]; + + this._onChangeCallback(); + + return this; + + } + + toArray( array = [], offset = 0 ) { + + array[ offset ] = this._x; + array[ offset + 1 ] = this._y; + array[ offset + 2 ] = this._z; + array[ offset + 3 ] = this._w; + + return array; + + } + + fromBufferAttribute( attribute, index ) { + + this._x = attribute.getX( index ); + this._y = attribute.getY( index ); + this._z = attribute.getZ( index ); + this._w = attribute.getW( index ); + + return this; + + } + + _onChange( callback ) { + + this._onChangeCallback = callback; + + return this; + + } + + _onChangeCallback() {} + +} + +Quaternion.prototype.isQuaternion = true; + +class Vector3 { + + constructor( x = 0, y = 0, z = 0 ) { + + this.x = x; + this.y = y; + this.z = z; + + } + + set( x, y, z ) { + + if ( z === undefined ) z = this.z; // sprite.scale.set(x,y) + + this.x = x; + this.y = y; + this.z = z; + + return this; + + } + + setScalar( scalar ) { + + this.x = scalar; + this.y = scalar; + this.z = scalar; + + return this; + + } + + setX( x ) { + + this.x = x; + + return this; + + } + + setY( y ) { + + this.y = y; + + return this; + + } + + setZ( z ) { + + this.z = z; + + return this; + + } + + setComponent( index, value ) { + + switch ( index ) { + + case 0: this.x = value; break; + case 1: this.y = value; break; + case 2: this.z = value; break; + default: throw new Error( 'index is out of range: ' + index ); + + } + + return this; + + } + + getComponent( index ) { + + switch ( index ) { + + case 0: return this.x; + case 1: return this.y; + case 2: return this.z; + default: throw new Error( 'index is out of range: ' + index ); + + } + + } + + clone() { + + return new this.constructor( this.x, this.y, this.z ); + + } + + copy( v ) { + + this.x = v.x; + this.y = v.y; + this.z = v.z; + + return this; + + } + + add( v, w ) { + + if ( w !== undefined ) { + + console.warn( 'THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead.' ); + return this.addVectors( v, w ); + + } + + this.x += v.x; + this.y += v.y; + this.z += v.z; + + return this; + + } + + addScalar( s ) { + + this.x += s; + this.y += s; + this.z += s; + + return this; + + } + + addVectors( a, b ) { + + this.x = a.x + b.x; + this.y = a.y + b.y; + this.z = a.z + b.z; + + return this; + + } + + addScaledVector( v, s ) { + + this.x += v.x * s; + this.y += v.y * s; + this.z += v.z * s; + + return this; + + } + + sub( v, w ) { + + if ( w !== undefined ) { + + console.warn( 'THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.' ); + return this.subVectors( v, w ); + + } + + this.x -= v.x; + this.y -= v.y; + this.z -= v.z; + + return this; + + } + + subScalar( s ) { + + this.x -= s; + this.y -= s; + this.z -= s; + + return this; + + } + + subVectors( a, b ) { + + this.x = a.x - b.x; + this.y = a.y - b.y; + this.z = a.z - b.z; + + return this; + + } + + multiply( v, w ) { + + if ( w !== undefined ) { + + console.warn( 'THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead.' ); + return this.multiplyVectors( v, w ); + + } + + this.x *= v.x; + this.y *= v.y; + this.z *= v.z; + + return this; + + } + + multiplyScalar( scalar ) { + + this.x *= scalar; + this.y *= scalar; + this.z *= scalar; + + return this; + + } + + multiplyVectors( a, b ) { + + this.x = a.x * b.x; + this.y = a.y * b.y; + this.z = a.z * b.z; + + return this; + + } + + applyEuler( euler ) { + + if ( ! ( euler && euler.isEuler ) ) { + + console.error( 'THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.' ); + + } + + return this.applyQuaternion( _quaternion$4.setFromEuler( euler ) ); + + } + + applyAxisAngle( axis, angle ) { + + return this.applyQuaternion( _quaternion$4.setFromAxisAngle( axis, angle ) ); + + } + + applyMatrix3( m ) { + + const x = this.x, y = this.y, z = this.z; + const e = m.elements; + + this.x = e[ 0 ] * x + e[ 3 ] * y + e[ 6 ] * z; + this.y = e[ 1 ] * x + e[ 4 ] * y + e[ 7 ] * z; + this.z = e[ 2 ] * x + e[ 5 ] * y + e[ 8 ] * z; + + return this; + + } + + applyNormalMatrix( m ) { + + return this.applyMatrix3( m ).normalize(); + + } + + applyMatrix4( m ) { + + const x = this.x, y = this.y, z = this.z; + const e = m.elements; + + const w = 1 / ( e[ 3 ] * x + e[ 7 ] * y + e[ 11 ] * z + e[ 15 ] ); + + this.x = ( e[ 0 ] * x + e[ 4 ] * y + e[ 8 ] * z + e[ 12 ] ) * w; + this.y = ( e[ 1 ] * x + e[ 5 ] * y + e[ 9 ] * z + e[ 13 ] ) * w; + this.z = ( e[ 2 ] * x + e[ 6 ] * y + e[ 10 ] * z + e[ 14 ] ) * w; + + return this; + + } + + applyQuaternion( q ) { + + const x = this.x, y = this.y, z = this.z; + const qx = q.x, qy = q.y, qz = q.z, qw = q.w; + + // calculate quat * vector + + const ix = qw * x + qy * z - qz * y; + const iy = qw * y + qz * x - qx * z; + const iz = qw * z + qx * y - qy * x; + const iw = - qx * x - qy * y - qz * z; + + // calculate result * inverse quat + + this.x = ix * qw + iw * - qx + iy * - qz - iz * - qy; + this.y = iy * qw + iw * - qy + iz * - qx - ix * - qz; + this.z = iz * qw + iw * - qz + ix * - qy - iy * - qx; + + return this; + + } + + project( camera ) { + + return this.applyMatrix4( camera.matrixWorldInverse ).applyMatrix4( camera.projectionMatrix ); + + } + + unproject( camera ) { + + return this.applyMatrix4( camera.projectionMatrixInverse ).applyMatrix4( camera.matrixWorld ); + + } + + transformDirection( m ) { + + // input: THREE.Matrix4 affine matrix + // vector interpreted as a direction + + const x = this.x, y = this.y, z = this.z; + const e = m.elements; + + this.x = e[ 0 ] * x + e[ 4 ] * y + e[ 8 ] * z; + this.y = e[ 1 ] * x + e[ 5 ] * y + e[ 9 ] * z; + this.z = e[ 2 ] * x + e[ 6 ] * y + e[ 10 ] * z; + + return this.normalize(); + + } + + divide( v ) { + + this.x /= v.x; + this.y /= v.y; + this.z /= v.z; + + return this; + + } + + divideScalar( scalar ) { + + return this.multiplyScalar( 1 / scalar ); + + } + + min( v ) { + + this.x = Math.min( this.x, v.x ); + this.y = Math.min( this.y, v.y ); + this.z = Math.min( this.z, v.z ); + + return this; + + } + + max( v ) { + + this.x = Math.max( this.x, v.x ); + this.y = Math.max( this.y, v.y ); + this.z = Math.max( this.z, v.z ); + + return this; + + } + + clamp( min, max ) { + + // assumes min < max, componentwise + + this.x = Math.max( min.x, Math.min( max.x, this.x ) ); + this.y = Math.max( min.y, Math.min( max.y, this.y ) ); + this.z = Math.max( min.z, Math.min( max.z, this.z ) ); + + return this; + + } + + clampScalar( minVal, maxVal ) { + + this.x = Math.max( minVal, Math.min( maxVal, this.x ) ); + this.y = Math.max( minVal, Math.min( maxVal, this.y ) ); + this.z = Math.max( minVal, Math.min( maxVal, this.z ) ); + + return this; + + } + + clampLength( min, max ) { + + const length = this.length(); + + return this.divideScalar( length || 1 ).multiplyScalar( Math.max( min, Math.min( max, length ) ) ); + + } + + floor() { + + this.x = Math.floor( this.x ); + this.y = Math.floor( this.y ); + this.z = Math.floor( this.z ); + + return this; + + } + + ceil() { + + this.x = Math.ceil( this.x ); + this.y = Math.ceil( this.y ); + this.z = Math.ceil( this.z ); + + return this; + + } + + round() { + + this.x = Math.round( this.x ); + this.y = Math.round( this.y ); + this.z = Math.round( this.z ); + + return this; + + } + + roundToZero() { + + this.x = ( this.x < 0 ) ? Math.ceil( this.x ) : Math.floor( this.x ); + this.y = ( this.y < 0 ) ? Math.ceil( this.y ) : Math.floor( this.y ); + this.z = ( this.z < 0 ) ? Math.ceil( this.z ) : Math.floor( this.z ); + + return this; + + } + + negate() { + + this.x = - this.x; + this.y = - this.y; + this.z = - this.z; + + return this; + + } + + dot( v ) { + + return this.x * v.x + this.y * v.y + this.z * v.z; + + } + + // TODO lengthSquared? + + lengthSq() { + + return this.x * this.x + this.y * this.y + this.z * this.z; + + } + + length() { + + return Math.sqrt( this.x * this.x + this.y * this.y + this.z * this.z ); + + } + + manhattanLength() { + + return Math.abs( this.x ) + Math.abs( this.y ) + Math.abs( this.z ); + + } + + normalize() { + + return this.divideScalar( this.length() || 1 ); + + } + + setLength( length ) { + + return this.normalize().multiplyScalar( length ); + + } + + lerp( v, alpha ) { + + this.x += ( v.x - this.x ) * alpha; + this.y += ( v.y - this.y ) * alpha; + this.z += ( v.z - this.z ) * alpha; + + return this; + + } + + lerpVectors( v1, v2, alpha ) { + + this.x = v1.x + ( v2.x - v1.x ) * alpha; + this.y = v1.y + ( v2.y - v1.y ) * alpha; + this.z = v1.z + ( v2.z - v1.z ) * alpha; + + return this; + + } + + cross( v, w ) { + + if ( w !== undefined ) { + + console.warn( 'THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead.' ); + return this.crossVectors( v, w ); + + } + + return this.crossVectors( this, v ); + + } + + crossVectors( a, b ) { + + const ax = a.x, ay = a.y, az = a.z; + const bx = b.x, by = b.y, bz = b.z; + + this.x = ay * bz - az * by; + this.y = az * bx - ax * bz; + this.z = ax * by - ay * bx; + + return this; + + } + + projectOnVector( v ) { + + const denominator = v.lengthSq(); + + if ( denominator === 0 ) return this.set( 0, 0, 0 ); + + const scalar = v.dot( this ) / denominator; + + return this.copy( v ).multiplyScalar( scalar ); + + } + + projectOnPlane( planeNormal ) { + + _vector$c.copy( this ).projectOnVector( planeNormal ); + + return this.sub( _vector$c ); + + } + + reflect( normal ) { + + // reflect incident vector off plane orthogonal to normal + // normal is assumed to have unit length + + return this.sub( _vector$c.copy( normal ).multiplyScalar( 2 * this.dot( normal ) ) ); + + } + + angleTo( v ) { + + const denominator = Math.sqrt( this.lengthSq() * v.lengthSq() ); + + if ( denominator === 0 ) return Math.PI / 2; + + const theta = this.dot( v ) / denominator; + + // clamp, to handle numerical problems + + return Math.acos( clamp( theta, - 1, 1 ) ); + + } + + distanceTo( v ) { + + return Math.sqrt( this.distanceToSquared( v ) ); + + } + + distanceToSquared( v ) { + + const dx = this.x - v.x, dy = this.y - v.y, dz = this.z - v.z; + + return dx * dx + dy * dy + dz * dz; + + } + + manhattanDistanceTo( v ) { + + return Math.abs( this.x - v.x ) + Math.abs( this.y - v.y ) + Math.abs( this.z - v.z ); + + } + + setFromSpherical( s ) { + + return this.setFromSphericalCoords( s.radius, s.phi, s.theta ); + + } + + setFromSphericalCoords( radius, phi, theta ) { + + const sinPhiRadius = Math.sin( phi ) * radius; + + this.x = sinPhiRadius * Math.sin( theta ); + this.y = Math.cos( phi ) * radius; + this.z = sinPhiRadius * Math.cos( theta ); + + return this; + + } + + setFromCylindrical( c ) { + + return this.setFromCylindricalCoords( c.radius, c.theta, c.y ); + + } + + setFromCylindricalCoords( radius, theta, y ) { + + this.x = radius * Math.sin( theta ); + this.y = y; + this.z = radius * Math.cos( theta ); + + return this; + + } + + setFromMatrixPosition( m ) { + + const e = m.elements; + + this.x = e[ 12 ]; + this.y = e[ 13 ]; + this.z = e[ 14 ]; + + return this; + + } + + setFromMatrixScale( m ) { + + const sx = this.setFromMatrixColumn( m, 0 ).length(); + const sy = this.setFromMatrixColumn( m, 1 ).length(); + const sz = this.setFromMatrixColumn( m, 2 ).length(); + + this.x = sx; + this.y = sy; + this.z = sz; + + return this; + + } + + setFromMatrixColumn( m, index ) { + + return this.fromArray( m.elements, index * 4 ); + + } + + setFromMatrix3Column( m, index ) { + + return this.fromArray( m.elements, index * 3 ); + + } + + equals( v ) { + + return ( ( v.x === this.x ) && ( v.y === this.y ) && ( v.z === this.z ) ); + + } + + fromArray( array, offset = 0 ) { + + this.x = array[ offset ]; + this.y = array[ offset + 1 ]; + this.z = array[ offset + 2 ]; + + return this; + + } + + toArray( array = [], offset = 0 ) { + + array[ offset ] = this.x; + array[ offset + 1 ] = this.y; + array[ offset + 2 ] = this.z; + + return array; + + } + + fromBufferAttribute( attribute, index, offset ) { + + if ( offset !== undefined ) { + + console.warn( 'THREE.Vector3: offset has been removed from .fromBufferAttribute().' ); + + } + + this.x = attribute.getX( index ); + this.y = attribute.getY( index ); + this.z = attribute.getZ( index ); + + return this; + + } + + random() { + + this.x = Math.random(); + this.y = Math.random(); + this.z = Math.random(); + + return this; + + } + + randomDirection() { + + // Derived from https://mathworld.wolfram.com/SpherePointPicking.html + + const u = ( Math.random() - 0.5 ) * 2; + const t = Math.random() * Math.PI * 2; + const f = Math.sqrt( 1 - u ** 2 ); + + this.x = f * Math.cos( t ); + this.y = f * Math.sin( t ); + this.z = u; + + return this; + + } + + *[ Symbol.iterator ]() { + + yield this.x; + yield this.y; + yield this.z; + + } + +} + +Vector3.prototype.isVector3 = true; + +const _vector$c = /*@__PURE__*/ new Vector3(); +const _quaternion$4 = /*@__PURE__*/ new Quaternion(); + +class Box3 { + + constructor( min = new Vector3( + Infinity, + Infinity, + Infinity ), max = new Vector3( - Infinity, - Infinity, - Infinity ) ) { + + this.min = min; + this.max = max; + + } + + set( min, max ) { + + this.min.copy( min ); + this.max.copy( max ); + + return this; + + } + + setFromArray( array ) { + + let minX = + Infinity; + let minY = + Infinity; + let minZ = + Infinity; + + let maxX = - Infinity; + let maxY = - Infinity; + let maxZ = - Infinity; + + for ( let i = 0, l = array.length; i < l; i += 3 ) { + + const x = array[ i ]; + const y = array[ i + 1 ]; + const z = array[ i + 2 ]; + + if ( x < minX ) minX = x; + if ( y < minY ) minY = y; + if ( z < minZ ) minZ = z; + + if ( x > maxX ) maxX = x; + if ( y > maxY ) maxY = y; + if ( z > maxZ ) maxZ = z; + + } + + this.min.set( minX, minY, minZ ); + this.max.set( maxX, maxY, maxZ ); + + return this; + + } + + setFromBufferAttribute( attribute ) { + + let minX = + Infinity; + let minY = + Infinity; + let minZ = + Infinity; + + let maxX = - Infinity; + let maxY = - Infinity; + let maxZ = - Infinity; + + for ( let i = 0, l = attribute.count; i < l; i ++ ) { + + const x = attribute.getX( i ); + const y = attribute.getY( i ); + const z = attribute.getZ( i ); + + if ( x < minX ) minX = x; + if ( y < minY ) minY = y; + if ( z < minZ ) minZ = z; + + if ( x > maxX ) maxX = x; + if ( y > maxY ) maxY = y; + if ( z > maxZ ) maxZ = z; + + } + + this.min.set( minX, minY, minZ ); + this.max.set( maxX, maxY, maxZ ); + + return this; + + } + + setFromPoints( points ) { + + this.makeEmpty(); + + for ( let i = 0, il = points.length; i < il; i ++ ) { + + this.expandByPoint( points[ i ] ); + + } + + return this; + + } + + setFromCenterAndSize( center, size ) { + + const halfSize = _vector$b.copy( size ).multiplyScalar( 0.5 ); + + this.min.copy( center ).sub( halfSize ); + this.max.copy( center ).add( halfSize ); + + return this; + + } + + setFromObject( object ) { + + this.makeEmpty(); + + return this.expandByObject( object ); + + } + + clone() { + + return new this.constructor().copy( this ); + + } + + copy( box ) { + + this.min.copy( box.min ); + this.max.copy( box.max ); + + return this; + + } + + makeEmpty() { + + this.min.x = this.min.y = this.min.z = + Infinity; + this.max.x = this.max.y = this.max.z = - Infinity; + + return this; + + } + + isEmpty() { + + // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes + + return ( this.max.x < this.min.x ) || ( this.max.y < this.min.y ) || ( this.max.z < this.min.z ); + + } + + getCenter( target ) { + + return this.isEmpty() ? target.set( 0, 0, 0 ) : target.addVectors( this.min, this.max ).multiplyScalar( 0.5 ); + + } + + getSize( target ) { + + return this.isEmpty() ? target.set( 0, 0, 0 ) : target.subVectors( this.max, this.min ); + + } + + expandByPoint( point ) { + + this.min.min( point ); + this.max.max( point ); + + return this; + + } + + expandByVector( vector ) { + + this.min.sub( vector ); + this.max.add( vector ); + + return this; + + } + + expandByScalar( scalar ) { + + this.min.addScalar( - scalar ); + this.max.addScalar( scalar ); + + return this; + + } + + expandByObject( object ) { + + // Computes the world-axis-aligned bounding box of an object (including its children), + // accounting for both the object's, and children's, world transforms + + object.updateWorldMatrix( false, false ); + + const geometry = object.geometry; + + if ( geometry !== undefined ) { + + if ( geometry.boundingBox === null ) { + + geometry.computeBoundingBox(); + + } + + _box$3.copy( geometry.boundingBox ); + _box$3.applyMatrix4( object.matrixWorld ); + + this.union( _box$3 ); + + } + + const children = object.children; + + for ( let i = 0, l = children.length; i < l; i ++ ) { + + this.expandByObject( children[ i ] ); + + } + + return this; + + } + + containsPoint( point ) { + + return point.x < this.min.x || point.x > this.max.x || + point.y < this.min.y || point.y > this.max.y || + point.z < this.min.z || point.z > this.max.z ? false : true; + + } + + containsBox( box ) { + + return this.min.x <= box.min.x && box.max.x <= this.max.x && + this.min.y <= box.min.y && box.max.y <= this.max.y && + this.min.z <= box.min.z && box.max.z <= this.max.z; + + } + + getParameter( point, target ) { + + // This can potentially have a divide by zero if the box + // has a size dimension of 0. + + return target.set( + ( point.x - this.min.x ) / ( this.max.x - this.min.x ), + ( point.y - this.min.y ) / ( this.max.y - this.min.y ), + ( point.z - this.min.z ) / ( this.max.z - this.min.z ) + ); + + } + + intersectsBox( box ) { + + // using 6 splitting planes to rule out intersections. + return box.max.x < this.min.x || box.min.x > this.max.x || + box.max.y < this.min.y || box.min.y > this.max.y || + box.max.z < this.min.z || box.min.z > this.max.z ? false : true; + + } + + intersectsSphere( sphere ) { + + // Find the point on the AABB closest to the sphere center. + this.clampPoint( sphere.center, _vector$b ); + + // If that point is inside the sphere, the AABB and sphere intersect. + return _vector$b.distanceToSquared( sphere.center ) <= ( sphere.radius * sphere.radius ); + + } + + intersectsPlane( plane ) { + + // We compute the minimum and maximum dot product values. If those values + // are on the same side (back or front) of the plane, then there is no intersection. + + let min, max; + + if ( plane.normal.x > 0 ) { + + min = plane.normal.x * this.min.x; + max = plane.normal.x * this.max.x; + + } else { + + min = plane.normal.x * this.max.x; + max = plane.normal.x * this.min.x; + + } + + if ( plane.normal.y > 0 ) { + + min += plane.normal.y * this.min.y; + max += plane.normal.y * this.max.y; + + } else { + + min += plane.normal.y * this.max.y; + max += plane.normal.y * this.min.y; + + } + + if ( plane.normal.z > 0 ) { + + min += plane.normal.z * this.min.z; + max += plane.normal.z * this.max.z; + + } else { + + min += plane.normal.z * this.max.z; + max += plane.normal.z * this.min.z; + + } + + return ( min <= - plane.constant && max >= - plane.constant ); + + } + + intersectsTriangle( triangle ) { + + if ( this.isEmpty() ) { + + return false; + + } + + // compute box center and extents + this.getCenter( _center ); + _extents.subVectors( this.max, _center ); + + // translate triangle to aabb origin + _v0$2.subVectors( triangle.a, _center ); + _v1$7.subVectors( triangle.b, _center ); + _v2$3.subVectors( triangle.c, _center ); + + // compute edge vectors for triangle + _f0.subVectors( _v1$7, _v0$2 ); + _f1.subVectors( _v2$3, _v1$7 ); + _f2.subVectors( _v0$2, _v2$3 ); + + // test against axes that are given by cross product combinations of the edges of the triangle and the edges of the aabb + // make an axis testing of each of the 3 sides of the aabb against each of the 3 sides of the triangle = 9 axis of separation + // axis_ij = u_i x f_j (u0, u1, u2 = face normals of aabb = x,y,z axes vectors since aabb is axis aligned) + let axes = [ + 0, - _f0.z, _f0.y, 0, - _f1.z, _f1.y, 0, - _f2.z, _f2.y, + _f0.z, 0, - _f0.x, _f1.z, 0, - _f1.x, _f2.z, 0, - _f2.x, + - _f0.y, _f0.x, 0, - _f1.y, _f1.x, 0, - _f2.y, _f2.x, 0 + ]; + if ( ! satForAxes( axes, _v0$2, _v1$7, _v2$3, _extents ) ) { + + return false; + + } + + // test 3 face normals from the aabb + axes = [ 1, 0, 0, 0, 1, 0, 0, 0, 1 ]; + if ( ! satForAxes( axes, _v0$2, _v1$7, _v2$3, _extents ) ) { + + return false; + + } + + // finally testing the face normal of the triangle + // use already existing triangle edge vectors here + _triangleNormal.crossVectors( _f0, _f1 ); + axes = [ _triangleNormal.x, _triangleNormal.y, _triangleNormal.z ]; + + return satForAxes( axes, _v0$2, _v1$7, _v2$3, _extents ); + + } + + clampPoint( point, target ) { + + return target.copy( point ).clamp( this.min, this.max ); + + } + + distanceToPoint( point ) { + + const clampedPoint = _vector$b.copy( point ).clamp( this.min, this.max ); + + return clampedPoint.sub( point ).length(); + + } + + getBoundingSphere( target ) { + + this.getCenter( target.center ); + + target.radius = this.getSize( _vector$b ).length() * 0.5; + + return target; + + } + + intersect( box ) { + + this.min.max( box.min ); + this.max.min( box.max ); + + // ensure that if there is no overlap, the result is fully empty, not slightly empty with non-inf/+inf values that will cause subsequence intersects to erroneously return valid values. + if ( this.isEmpty() ) this.makeEmpty(); + + return this; + + } + + union( box ) { + + this.min.min( box.min ); + this.max.max( box.max ); + + return this; + + } + + applyMatrix4( matrix ) { + + // transform of empty box is an empty box. + if ( this.isEmpty() ) return this; + + // NOTE: I am using a binary pattern to specify all 2^3 combinations below + _points[ 0 ].set( this.min.x, this.min.y, this.min.z ).applyMatrix4( matrix ); // 000 + _points[ 1 ].set( this.min.x, this.min.y, this.max.z ).applyMatrix4( matrix ); // 001 + _points[ 2 ].set( this.min.x, this.max.y, this.min.z ).applyMatrix4( matrix ); // 010 + _points[ 3 ].set( this.min.x, this.max.y, this.max.z ).applyMatrix4( matrix ); // 011 + _points[ 4 ].set( this.max.x, this.min.y, this.min.z ).applyMatrix4( matrix ); // 100 + _points[ 5 ].set( this.max.x, this.min.y, this.max.z ).applyMatrix4( matrix ); // 101 + _points[ 6 ].set( this.max.x, this.max.y, this.min.z ).applyMatrix4( matrix ); // 110 + _points[ 7 ].set( this.max.x, this.max.y, this.max.z ).applyMatrix4( matrix ); // 111 + + this.setFromPoints( _points ); + + return this; + + } + + translate( offset ) { + + this.min.add( offset ); + this.max.add( offset ); + + return this; + + } + + equals( box ) { + + return box.min.equals( this.min ) && box.max.equals( this.max ); + + } + +} + +Box3.prototype.isBox3 = true; + +const _points = [ + /*@__PURE__*/ new Vector3(), + /*@__PURE__*/ new Vector3(), + /*@__PURE__*/ new Vector3(), + /*@__PURE__*/ new Vector3(), + /*@__PURE__*/ new Vector3(), + /*@__PURE__*/ new Vector3(), + /*@__PURE__*/ new Vector3(), + /*@__PURE__*/ new Vector3() +]; + +const _vector$b = /*@__PURE__*/ new Vector3(); + +const _box$3 = /*@__PURE__*/ new Box3(); + +// triangle centered vertices + +const _v0$2 = /*@__PURE__*/ new Vector3(); +const _v1$7 = /*@__PURE__*/ new Vector3(); +const _v2$3 = /*@__PURE__*/ new Vector3(); + +// triangle edge vectors + +const _f0 = /*@__PURE__*/ new Vector3(); +const _f1 = /*@__PURE__*/ new Vector3(); +const _f2 = /*@__PURE__*/ new Vector3(); + +const _center = /*@__PURE__*/ new Vector3(); +const _extents = /*@__PURE__*/ new Vector3(); +const _triangleNormal = /*@__PURE__*/ new Vector3(); +const _testAxis = /*@__PURE__*/ new Vector3(); + +function satForAxes( axes, v0, v1, v2, extents ) { + + for ( let i = 0, j = axes.length - 3; i <= j; i += 3 ) { + + _testAxis.fromArray( axes, i ); + // project the aabb onto the seperating axis + const r = extents.x * Math.abs( _testAxis.x ) + extents.y * Math.abs( _testAxis.y ) + extents.z * Math.abs( _testAxis.z ); + // project all 3 vertices of the triangle onto the seperating axis + const p0 = v0.dot( _testAxis ); + const p1 = v1.dot( _testAxis ); + const p2 = v2.dot( _testAxis ); + // actual test, basically see if either of the most extreme of the triangle points intersects r + if ( Math.max( - Math.max( p0, p1, p2 ), Math.min( p0, p1, p2 ) ) > r ) { + + // points of the projected triangle are outside the projected half-length of the aabb + // the axis is seperating and we can exit + return false; + + } + + } + + return true; + +} + +const _box$2 = /*@__PURE__*/ new Box3(); +const _v1$6 = /*@__PURE__*/ new Vector3(); +const _toFarthestPoint = /*@__PURE__*/ new Vector3(); +const _toPoint = /*@__PURE__*/ new Vector3(); + +class Sphere { + + constructor( center = new Vector3(), radius = - 1 ) { + + this.center = center; + this.radius = radius; + + } + + set( center, radius ) { + + this.center.copy( center ); + this.radius = radius; + + return this; + + } + + setFromPoints( points, optionalCenter ) { + + const center = this.center; + + if ( optionalCenter !== undefined ) { + + center.copy( optionalCenter ); + + } else { + + _box$2.setFromPoints( points ).getCenter( center ); + + } + + let maxRadiusSq = 0; + + for ( let i = 0, il = points.length; i < il; i ++ ) { + + maxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( points[ i ] ) ); + + } + + this.radius = Math.sqrt( maxRadiusSq ); + + return this; + + } + + copy( sphere ) { + + this.center.copy( sphere.center ); + this.radius = sphere.radius; + + return this; + + } + + isEmpty() { + + return ( this.radius < 0 ); + + } + + makeEmpty() { + + this.center.set( 0, 0, 0 ); + this.radius = - 1; + + return this; + + } + + containsPoint( point ) { + + return ( point.distanceToSquared( this.center ) <= ( this.radius * this.radius ) ); + + } + + distanceToPoint( point ) { + + return ( point.distanceTo( this.center ) - this.radius ); + + } + + intersectsSphere( sphere ) { + + const radiusSum = this.radius + sphere.radius; + + return sphere.center.distanceToSquared( this.center ) <= ( radiusSum * radiusSum ); + + } + + intersectsBox( box ) { + + return box.intersectsSphere( this ); + + } + + intersectsPlane( plane ) { + + return Math.abs( plane.distanceToPoint( this.center ) ) <= this.radius; + + } + + clampPoint( point, target ) { + + const deltaLengthSq = this.center.distanceToSquared( point ); + + target.copy( point ); + + if ( deltaLengthSq > ( this.radius * this.radius ) ) { + + target.sub( this.center ).normalize(); + target.multiplyScalar( this.radius ).add( this.center ); + + } + + return target; + + } + + getBoundingBox( target ) { + + if ( this.isEmpty() ) { + + // Empty sphere produces empty bounding box + target.makeEmpty(); + return target; + + } + + target.set( this.center, this.center ); + target.expandByScalar( this.radius ); + + return target; + + } + + applyMatrix4( matrix ) { + + this.center.applyMatrix4( matrix ); + this.radius = this.radius * matrix.getMaxScaleOnAxis(); + + return this; + + } + + translate( offset ) { + + this.center.add( offset ); + + return this; + + } + + expandByPoint( point ) { + + // from https://github.com/juj/MathGeoLib/blob/2940b99b99cfe575dd45103ef20f4019dee15b54/src/Geometry/Sphere.cpp#L649-L671 + + _toPoint.subVectors( point, this.center ); + + const lengthSq = _toPoint.lengthSq(); + + if ( lengthSq > ( this.radius * this.radius ) ) { + + const length = Math.sqrt( lengthSq ); + const missingRadiusHalf = ( length - this.radius ) * 0.5; + + // Nudge this sphere towards the target point. Add half the missing distance to radius, + // and the other half to position. This gives a tighter enclosure, instead of if + // the whole missing distance were just added to radius. + + this.center.add( _toPoint.multiplyScalar( missingRadiusHalf / length ) ); + this.radius += missingRadiusHalf; + + } + + return this; + + } + + union( sphere ) { + + // from https://github.com/juj/MathGeoLib/blob/2940b99b99cfe575dd45103ef20f4019dee15b54/src/Geometry/Sphere.cpp#L759-L769 + + // To enclose another sphere into this sphere, we only need to enclose two points: + // 1) Enclose the farthest point on the other sphere into this sphere. + // 2) Enclose the opposite point of the farthest point into this sphere. + + if ( this.center.equals( sphere.center ) === true ) { + + _toFarthestPoint.set( 0, 0, 1 ).multiplyScalar( sphere.radius ); + + + } else { + + _toFarthestPoint.subVectors( sphere.center, this.center ).normalize().multiplyScalar( sphere.radius ); + + } + + this.expandByPoint( _v1$6.copy( sphere.center ).add( _toFarthestPoint ) ); + this.expandByPoint( _v1$6.copy( sphere.center ).sub( _toFarthestPoint ) ); + + return this; + + } + + equals( sphere ) { + + return sphere.center.equals( this.center ) && ( sphere.radius === this.radius ); + + } + + clone() { + + return new this.constructor().copy( this ); + + } + +} + +const _vector$a = /*@__PURE__*/ new Vector3(); +const _segCenter = /*@__PURE__*/ new Vector3(); +const _segDir = /*@__PURE__*/ new Vector3(); +const _diff = /*@__PURE__*/ new Vector3(); + +const _edge1 = /*@__PURE__*/ new Vector3(); +const _edge2 = /*@__PURE__*/ new Vector3(); +const _normal$1 = /*@__PURE__*/ new Vector3(); + +class Ray { + + constructor( origin = new Vector3(), direction = new Vector3( 0, 0, - 1 ) ) { + + this.origin = origin; + this.direction = direction; + + } + + set( origin, direction ) { + + this.origin.copy( origin ); + this.direction.copy( direction ); + + return this; + + } + + copy( ray ) { + + this.origin.copy( ray.origin ); + this.direction.copy( ray.direction ); + + return this; + + } + + at( t, target ) { + + return target.copy( this.direction ).multiplyScalar( t ).add( this.origin ); + + } + + lookAt( v ) { + + this.direction.copy( v ).sub( this.origin ).normalize(); + + return this; + + } + + recast( t ) { + + this.origin.copy( this.at( t, _vector$a ) ); + + return this; + + } + + closestPointToPoint( point, target ) { + + target.subVectors( point, this.origin ); + + const directionDistance = target.dot( this.direction ); + + if ( directionDistance < 0 ) { + + return target.copy( this.origin ); + + } + + return target.copy( this.direction ).multiplyScalar( directionDistance ).add( this.origin ); + + } + + distanceToPoint( point ) { + + return Math.sqrt( this.distanceSqToPoint( point ) ); + + } + + distanceSqToPoint( point ) { + + const directionDistance = _vector$a.subVectors( point, this.origin ).dot( this.direction ); + + // point behind the ray + + if ( directionDistance < 0 ) { + + return this.origin.distanceToSquared( point ); + + } + + _vector$a.copy( this.direction ).multiplyScalar( directionDistance ).add( this.origin ); + + return _vector$a.distanceToSquared( point ); + + } + + distanceSqToSegment( v0, v1, optionalPointOnRay, optionalPointOnSegment ) { + + // from https://github.com/pmjoniak/GeometricTools/blob/master/GTEngine/Include/Mathematics/GteDistRaySegment.h + // It returns the min distance between the ray and the segment + // defined by v0 and v1 + // It can also set two optional targets : + // - The closest point on the ray + // - The closest point on the segment + + _segCenter.copy( v0 ).add( v1 ).multiplyScalar( 0.5 ); + _segDir.copy( v1 ).sub( v0 ).normalize(); + _diff.copy( this.origin ).sub( _segCenter ); + + const segExtent = v0.distanceTo( v1 ) * 0.5; + const a01 = - this.direction.dot( _segDir ); + const b0 = _diff.dot( this.direction ); + const b1 = - _diff.dot( _segDir ); + const c = _diff.lengthSq(); + const det = Math.abs( 1 - a01 * a01 ); + let s0, s1, sqrDist, extDet; + + if ( det > 0 ) { + + // The ray and segment are not parallel. + + s0 = a01 * b1 - b0; + s1 = a01 * b0 - b1; + extDet = segExtent * det; + + if ( s0 >= 0 ) { + + if ( s1 >= - extDet ) { + + if ( s1 <= extDet ) { + + // region 0 + // Minimum at interior points of ray and segment. + + const invDet = 1 / det; + s0 *= invDet; + s1 *= invDet; + sqrDist = s0 * ( s0 + a01 * s1 + 2 * b0 ) + s1 * ( a01 * s0 + s1 + 2 * b1 ) + c; + + } else { + + // region 1 + + s1 = segExtent; + s0 = Math.max( 0, - ( a01 * s1 + b0 ) ); + sqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c; + + } + + } else { + + // region 5 + + s1 = - segExtent; + s0 = Math.max( 0, - ( a01 * s1 + b0 ) ); + sqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c; + + } + + } else { + + if ( s1 <= - extDet ) { + + // region 4 + + s0 = Math.max( 0, - ( - a01 * segExtent + b0 ) ); + s1 = ( s0 > 0 ) ? - segExtent : Math.min( Math.max( - segExtent, - b1 ), segExtent ); + sqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c; + + } else if ( s1 <= extDet ) { + + // region 3 + + s0 = 0; + s1 = Math.min( Math.max( - segExtent, - b1 ), segExtent ); + sqrDist = s1 * ( s1 + 2 * b1 ) + c; + + } else { + + // region 2 + + s0 = Math.max( 0, - ( a01 * segExtent + b0 ) ); + s1 = ( s0 > 0 ) ? segExtent : Math.min( Math.max( - segExtent, - b1 ), segExtent ); + sqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c; + + } + + } + + } else { + + // Ray and segment are parallel. + + s1 = ( a01 > 0 ) ? - segExtent : segExtent; + s0 = Math.max( 0, - ( a01 * s1 + b0 ) ); + sqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c; + + } + + if ( optionalPointOnRay ) { + + optionalPointOnRay.copy( this.direction ).multiplyScalar( s0 ).add( this.origin ); + + } + + if ( optionalPointOnSegment ) { + + optionalPointOnSegment.copy( _segDir ).multiplyScalar( s1 ).add( _segCenter ); + + } + + return sqrDist; + + } + + intersectSphere( sphere, target ) { + + _vector$a.subVectors( sphere.center, this.origin ); + const tca = _vector$a.dot( this.direction ); + const d2 = _vector$a.dot( _vector$a ) - tca * tca; + const radius2 = sphere.radius * sphere.radius; + + if ( d2 > radius2 ) return null; + + const thc = Math.sqrt( radius2 - d2 ); + + // t0 = first intersect point - entrance on front of sphere + const t0 = tca - thc; + + // t1 = second intersect point - exit point on back of sphere + const t1 = tca + thc; + + // test to see if both t0 and t1 are behind the ray - if so, return null + if ( t0 < 0 && t1 < 0 ) return null; + + // test to see if t0 is behind the ray: + // if it is, the ray is inside the sphere, so return the second exit point scaled by t1, + // in order to always return an intersect point that is in front of the ray. + if ( t0 < 0 ) return this.at( t1, target ); + + // else t0 is in front of the ray, so return the first collision point scaled by t0 + return this.at( t0, target ); + + } + + intersectsSphere( sphere ) { + + return this.distanceSqToPoint( sphere.center ) <= ( sphere.radius * sphere.radius ); + + } + + distanceToPlane( plane ) { + + const denominator = plane.normal.dot( this.direction ); + + if ( denominator === 0 ) { + + // line is coplanar, return origin + if ( plane.distanceToPoint( this.origin ) === 0 ) { + + return 0; + + } + + // Null is preferable to undefined since undefined means.... it is undefined + + return null; + + } + + const t = - ( this.origin.dot( plane.normal ) + plane.constant ) / denominator; + + // Return if the ray never intersects the plane + + return t >= 0 ? t : null; + + } + + intersectPlane( plane, target ) { + + const t = this.distanceToPlane( plane ); + + if ( t === null ) { + + return null; + + } + + return this.at( t, target ); + + } + + intersectsPlane( plane ) { + + // check if the ray lies on the plane first + + const distToPoint = plane.distanceToPoint( this.origin ); + + if ( distToPoint === 0 ) { + + return true; + + } + + const denominator = plane.normal.dot( this.direction ); + + if ( denominator * distToPoint < 0 ) { + + return true; + + } + + // ray origin is behind the plane (and is pointing behind it) + + return false; + + } + + intersectBox( box, target ) { + + let tmin, tmax, tymin, tymax, tzmin, tzmax; + + const invdirx = 1 / this.direction.x, + invdiry = 1 / this.direction.y, + invdirz = 1 / this.direction.z; + + const origin = this.origin; + + if ( invdirx >= 0 ) { + + tmin = ( box.min.x - origin.x ) * invdirx; + tmax = ( box.max.x - origin.x ) * invdirx; + + } else { + + tmin = ( box.max.x - origin.x ) * invdirx; + tmax = ( box.min.x - origin.x ) * invdirx; + + } + + if ( invdiry >= 0 ) { + + tymin = ( box.min.y - origin.y ) * invdiry; + tymax = ( box.max.y - origin.y ) * invdiry; + + } else { + + tymin = ( box.max.y - origin.y ) * invdiry; + tymax = ( box.min.y - origin.y ) * invdiry; + + } + + if ( ( tmin > tymax ) || ( tymin > tmax ) ) return null; + + // These lines also handle the case where tmin or tmax is NaN + // (result of 0 * Infinity). x !== x returns true if x is NaN + + if ( tymin > tmin || tmin !== tmin ) tmin = tymin; + + if ( tymax < tmax || tmax !== tmax ) tmax = tymax; + + if ( invdirz >= 0 ) { + + tzmin = ( box.min.z - origin.z ) * invdirz; + tzmax = ( box.max.z - origin.z ) * invdirz; + + } else { + + tzmin = ( box.max.z - origin.z ) * invdirz; + tzmax = ( box.min.z - origin.z ) * invdirz; + + } + + if ( ( tmin > tzmax ) || ( tzmin > tmax ) ) return null; + + if ( tzmin > tmin || tmin !== tmin ) tmin = tzmin; + + if ( tzmax < tmax || tmax !== tmax ) tmax = tzmax; + + //return point closest to the ray (positive side) + + if ( tmax < 0 ) return null; + + return this.at( tmin >= 0 ? tmin : tmax, target ); + + } + + intersectsBox( box ) { + + return this.intersectBox( box, _vector$a ) !== null; + + } + + intersectTriangle( a, b, c, backfaceCulling, target ) { + + // Compute the offset origin, edges, and normal. + + // from https://github.com/pmjoniak/GeometricTools/blob/master/GTEngine/Include/Mathematics/GteIntrRay3Triangle3.h + + _edge1.subVectors( b, a ); + _edge2.subVectors( c, a ); + _normal$1.crossVectors( _edge1, _edge2 ); + + // Solve Q + t*D = b1*E1 + b2*E2 (Q = kDiff, D = ray direction, + // E1 = kEdge1, E2 = kEdge2, N = Cross(E1,E2)) by + // |Dot(D,N)|*b1 = sign(Dot(D,N))*Dot(D,Cross(Q,E2)) + // |Dot(D,N)|*b2 = sign(Dot(D,N))*Dot(D,Cross(E1,Q)) + // |Dot(D,N)|*t = -sign(Dot(D,N))*Dot(Q,N) + let DdN = this.direction.dot( _normal$1 ); + let sign; + + if ( DdN > 0 ) { + + if ( backfaceCulling ) return null; + sign = 1; + + } else if ( DdN < 0 ) { + + sign = - 1; + DdN = - DdN; + + } else { + + return null; + + } + + _diff.subVectors( this.origin, a ); + const DdQxE2 = sign * this.direction.dot( _edge2.crossVectors( _diff, _edge2 ) ); + + // b1 < 0, no intersection + if ( DdQxE2 < 0 ) { + + return null; + + } + + const DdE1xQ = sign * this.direction.dot( _edge1.cross( _diff ) ); + + // b2 < 0, no intersection + if ( DdE1xQ < 0 ) { + + return null; + + } + + // b1+b2 > 1, no intersection + if ( DdQxE2 + DdE1xQ > DdN ) { + + return null; + + } + + // Line intersects triangle, check if ray does. + const QdN = - sign * _diff.dot( _normal$1 ); + + // t < 0, no intersection + if ( QdN < 0 ) { + + return null; + + } + + // Ray intersects triangle. + return this.at( QdN / DdN, target ); + + } + + applyMatrix4( matrix4 ) { + + this.origin.applyMatrix4( matrix4 ); + this.direction.transformDirection( matrix4 ); + + return this; + + } + + equals( ray ) { + + return ray.origin.equals( this.origin ) && ray.direction.equals( this.direction ); + + } + + clone() { + + return new this.constructor().copy( this ); + + } + +} + +class Matrix4 { + + constructor() { + + this.elements = [ + + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + + ]; + + if ( arguments.length > 0 ) { + + console.error( 'THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.' ); + + } + + } + + set( n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44 ) { + + const te = this.elements; + + te[ 0 ] = n11; te[ 4 ] = n12; te[ 8 ] = n13; te[ 12 ] = n14; + te[ 1 ] = n21; te[ 5 ] = n22; te[ 9 ] = n23; te[ 13 ] = n24; + te[ 2 ] = n31; te[ 6 ] = n32; te[ 10 ] = n33; te[ 14 ] = n34; + te[ 3 ] = n41; te[ 7 ] = n42; te[ 11 ] = n43; te[ 15 ] = n44; + + return this; + + } + + identity() { + + this.set( + + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + + ); + + return this; + + } + + clone() { + + return new Matrix4().fromArray( this.elements ); + + } + + copy( m ) { + + const te = this.elements; + const me = m.elements; + + te[ 0 ] = me[ 0 ]; te[ 1 ] = me[ 1 ]; te[ 2 ] = me[ 2 ]; te[ 3 ] = me[ 3 ]; + te[ 4 ] = me[ 4 ]; te[ 5 ] = me[ 5 ]; te[ 6 ] = me[ 6 ]; te[ 7 ] = me[ 7 ]; + te[ 8 ] = me[ 8 ]; te[ 9 ] = me[ 9 ]; te[ 10 ] = me[ 10 ]; te[ 11 ] = me[ 11 ]; + te[ 12 ] = me[ 12 ]; te[ 13 ] = me[ 13 ]; te[ 14 ] = me[ 14 ]; te[ 15 ] = me[ 15 ]; + + return this; + + } + + copyPosition( m ) { + + const te = this.elements, me = m.elements; + + te[ 12 ] = me[ 12 ]; + te[ 13 ] = me[ 13 ]; + te[ 14 ] = me[ 14 ]; + + return this; + + } + + setFromMatrix3( m ) { + + const me = m.elements; + + this.set( + + me[ 0 ], me[ 3 ], me[ 6 ], 0, + me[ 1 ], me[ 4 ], me[ 7 ], 0, + me[ 2 ], me[ 5 ], me[ 8 ], 0, + 0, 0, 0, 1 + + ); + + return this; + + } + + extractBasis( xAxis, yAxis, zAxis ) { + + xAxis.setFromMatrixColumn( this, 0 ); + yAxis.setFromMatrixColumn( this, 1 ); + zAxis.setFromMatrixColumn( this, 2 ); + + return this; + + } + + makeBasis( xAxis, yAxis, zAxis ) { + + this.set( + xAxis.x, yAxis.x, zAxis.x, 0, + xAxis.y, yAxis.y, zAxis.y, 0, + xAxis.z, yAxis.z, zAxis.z, 0, + 0, 0, 0, 1 + ); + + return this; + + } + + extractRotation( m ) { + + // this method does not support reflection matrices + + const te = this.elements; + const me = m.elements; + + const scaleX = 1 / _v1$5.setFromMatrixColumn( m, 0 ).length(); + const scaleY = 1 / _v1$5.setFromMatrixColumn( m, 1 ).length(); + const scaleZ = 1 / _v1$5.setFromMatrixColumn( m, 2 ).length(); + + te[ 0 ] = me[ 0 ] * scaleX; + te[ 1 ] = me[ 1 ] * scaleX; + te[ 2 ] = me[ 2 ] * scaleX; + te[ 3 ] = 0; + + te[ 4 ] = me[ 4 ] * scaleY; + te[ 5 ] = me[ 5 ] * scaleY; + te[ 6 ] = me[ 6 ] * scaleY; + te[ 7 ] = 0; + + te[ 8 ] = me[ 8 ] * scaleZ; + te[ 9 ] = me[ 9 ] * scaleZ; + te[ 10 ] = me[ 10 ] * scaleZ; + te[ 11 ] = 0; + + te[ 12 ] = 0; + te[ 13 ] = 0; + te[ 14 ] = 0; + te[ 15 ] = 1; + + return this; + + } + + makeRotationFromEuler( euler ) { + + if ( ! ( euler && euler.isEuler ) ) { + + console.error( 'THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.' ); + + } + + const te = this.elements; + + const x = euler.x, y = euler.y, z = euler.z; + const a = Math.cos( x ), b = Math.sin( x ); + const c = Math.cos( y ), d = Math.sin( y ); + const e = Math.cos( z ), f = Math.sin( z ); + + if ( euler.order === 'XYZ' ) { + + const ae = a * e, af = a * f, be = b * e, bf = b * f; + + te[ 0 ] = c * e; + te[ 4 ] = - c * f; + te[ 8 ] = d; + + te[ 1 ] = af + be * d; + te[ 5 ] = ae - bf * d; + te[ 9 ] = - b * c; + + te[ 2 ] = bf - ae * d; + te[ 6 ] = be + af * d; + te[ 10 ] = a * c; + + } else if ( euler.order === 'YXZ' ) { + + const ce = c * e, cf = c * f, de = d * e, df = d * f; + + te[ 0 ] = ce + df * b; + te[ 4 ] = de * b - cf; + te[ 8 ] = a * d; + + te[ 1 ] = a * f; + te[ 5 ] = a * e; + te[ 9 ] = - b; + + te[ 2 ] = cf * b - de; + te[ 6 ] = df + ce * b; + te[ 10 ] = a * c; + + } else if ( euler.order === 'ZXY' ) { + + const ce = c * e, cf = c * f, de = d * e, df = d * f; + + te[ 0 ] = ce - df * b; + te[ 4 ] = - a * f; + te[ 8 ] = de + cf * b; + + te[ 1 ] = cf + de * b; + te[ 5 ] = a * e; + te[ 9 ] = df - ce * b; + + te[ 2 ] = - a * d; + te[ 6 ] = b; + te[ 10 ] = a * c; + + } else if ( euler.order === 'ZYX' ) { + + const ae = a * e, af = a * f, be = b * e, bf = b * f; + + te[ 0 ] = c * e; + te[ 4 ] = be * d - af; + te[ 8 ] = ae * d + bf; + + te[ 1 ] = c * f; + te[ 5 ] = bf * d + ae; + te[ 9 ] = af * d - be; + + te[ 2 ] = - d; + te[ 6 ] = b * c; + te[ 10 ] = a * c; + + } else if ( euler.order === 'YZX' ) { + + const ac = a * c, ad = a * d, bc = b * c, bd = b * d; + + te[ 0 ] = c * e; + te[ 4 ] = bd - ac * f; + te[ 8 ] = bc * f + ad; + + te[ 1 ] = f; + te[ 5 ] = a * e; + te[ 9 ] = - b * e; + + te[ 2 ] = - d * e; + te[ 6 ] = ad * f + bc; + te[ 10 ] = ac - bd * f; + + } else if ( euler.order === 'XZY' ) { + + const ac = a * c, ad = a * d, bc = b * c, bd = b * d; + + te[ 0 ] = c * e; + te[ 4 ] = - f; + te[ 8 ] = d * e; + + te[ 1 ] = ac * f + bd; + te[ 5 ] = a * e; + te[ 9 ] = ad * f - bc; + + te[ 2 ] = bc * f - ad; + te[ 6 ] = b * e; + te[ 10 ] = bd * f + ac; + + } + + // bottom row + te[ 3 ] = 0; + te[ 7 ] = 0; + te[ 11 ] = 0; + + // last column + te[ 12 ] = 0; + te[ 13 ] = 0; + te[ 14 ] = 0; + te[ 15 ] = 1; + + return this; + + } + + makeRotationFromQuaternion( q ) { + + return this.compose( _zero, q, _one ); + + } + + lookAt( eye, target, up ) { + + const te = this.elements; + + _z.subVectors( eye, target ); + + if ( _z.lengthSq() === 0 ) { + + // eye and target are in the same position + + _z.z = 1; + + } + + _z.normalize(); + _x.crossVectors( up, _z ); + + if ( _x.lengthSq() === 0 ) { + + // up and z are parallel + + if ( Math.abs( up.z ) === 1 ) { + + _z.x += 0.0001; + + } else { + + _z.z += 0.0001; + + } + + _z.normalize(); + _x.crossVectors( up, _z ); + + } + + _x.normalize(); + _y.crossVectors( _z, _x ); + + te[ 0 ] = _x.x; te[ 4 ] = _y.x; te[ 8 ] = _z.x; + te[ 1 ] = _x.y; te[ 5 ] = _y.y; te[ 9 ] = _z.y; + te[ 2 ] = _x.z; te[ 6 ] = _y.z; te[ 10 ] = _z.z; + + return this; + + } + + multiply( m, n ) { + + if ( n !== undefined ) { + + console.warn( 'THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead.' ); + return this.multiplyMatrices( m, n ); + + } + + return this.multiplyMatrices( this, m ); + + } + + premultiply( m ) { + + return this.multiplyMatrices( m, this ); + + } + + multiplyMatrices( a, b ) { + + const ae = a.elements; + const be = b.elements; + const te = this.elements; + + const a11 = ae[ 0 ], a12 = ae[ 4 ], a13 = ae[ 8 ], a14 = ae[ 12 ]; + const a21 = ae[ 1 ], a22 = ae[ 5 ], a23 = ae[ 9 ], a24 = ae[ 13 ]; + const a31 = ae[ 2 ], a32 = ae[ 6 ], a33 = ae[ 10 ], a34 = ae[ 14 ]; + const a41 = ae[ 3 ], a42 = ae[ 7 ], a43 = ae[ 11 ], a44 = ae[ 15 ]; + + const b11 = be[ 0 ], b12 = be[ 4 ], b13 = be[ 8 ], b14 = be[ 12 ]; + const b21 = be[ 1 ], b22 = be[ 5 ], b23 = be[ 9 ], b24 = be[ 13 ]; + const b31 = be[ 2 ], b32 = be[ 6 ], b33 = be[ 10 ], b34 = be[ 14 ]; + const b41 = be[ 3 ], b42 = be[ 7 ], b43 = be[ 11 ], b44 = be[ 15 ]; + + te[ 0 ] = a11 * b11 + a12 * b21 + a13 * b31 + a14 * b41; + te[ 4 ] = a11 * b12 + a12 * b22 + a13 * b32 + a14 * b42; + te[ 8 ] = a11 * b13 + a12 * b23 + a13 * b33 + a14 * b43; + te[ 12 ] = a11 * b14 + a12 * b24 + a13 * b34 + a14 * b44; + + te[ 1 ] = a21 * b11 + a22 * b21 + a23 * b31 + a24 * b41; + te[ 5 ] = a21 * b12 + a22 * b22 + a23 * b32 + a24 * b42; + te[ 9 ] = a21 * b13 + a22 * b23 + a23 * b33 + a24 * b43; + te[ 13 ] = a21 * b14 + a22 * b24 + a23 * b34 + a24 * b44; + + te[ 2 ] = a31 * b11 + a32 * b21 + a33 * b31 + a34 * b41; + te[ 6 ] = a31 * b12 + a32 * b22 + a33 * b32 + a34 * b42; + te[ 10 ] = a31 * b13 + a32 * b23 + a33 * b33 + a34 * b43; + te[ 14 ] = a31 * b14 + a32 * b24 + a33 * b34 + a34 * b44; + + te[ 3 ] = a41 * b11 + a42 * b21 + a43 * b31 + a44 * b41; + te[ 7 ] = a41 * b12 + a42 * b22 + a43 * b32 + a44 * b42; + te[ 11 ] = a41 * b13 + a42 * b23 + a43 * b33 + a44 * b43; + te[ 15 ] = a41 * b14 + a42 * b24 + a43 * b34 + a44 * b44; + + return this; + + } + + multiplyScalar( s ) { + + const te = this.elements; + + te[ 0 ] *= s; te[ 4 ] *= s; te[ 8 ] *= s; te[ 12 ] *= s; + te[ 1 ] *= s; te[ 5 ] *= s; te[ 9 ] *= s; te[ 13 ] *= s; + te[ 2 ] *= s; te[ 6 ] *= s; te[ 10 ] *= s; te[ 14 ] *= s; + te[ 3 ] *= s; te[ 7 ] *= s; te[ 11 ] *= s; te[ 15 ] *= s; + + return this; + + } + + determinant() { + + const te = this.elements; + + const n11 = te[ 0 ], n12 = te[ 4 ], n13 = te[ 8 ], n14 = te[ 12 ]; + const n21 = te[ 1 ], n22 = te[ 5 ], n23 = te[ 9 ], n24 = te[ 13 ]; + const n31 = te[ 2 ], n32 = te[ 6 ], n33 = te[ 10 ], n34 = te[ 14 ]; + const n41 = te[ 3 ], n42 = te[ 7 ], n43 = te[ 11 ], n44 = te[ 15 ]; + + //TODO: make this more efficient + //( based on http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm ) + + return ( + n41 * ( + + n14 * n23 * n32 + - n13 * n24 * n32 + - n14 * n22 * n33 + + n12 * n24 * n33 + + n13 * n22 * n34 + - n12 * n23 * n34 + ) + + n42 * ( + + n11 * n23 * n34 + - n11 * n24 * n33 + + n14 * n21 * n33 + - n13 * n21 * n34 + + n13 * n24 * n31 + - n14 * n23 * n31 + ) + + n43 * ( + + n11 * n24 * n32 + - n11 * n22 * n34 + - n14 * n21 * n32 + + n12 * n21 * n34 + + n14 * n22 * n31 + - n12 * n24 * n31 + ) + + n44 * ( + - n13 * n22 * n31 + - n11 * n23 * n32 + + n11 * n22 * n33 + + n13 * n21 * n32 + - n12 * n21 * n33 + + n12 * n23 * n31 + ) + + ); + + } + + transpose() { + + const te = this.elements; + let tmp; + + tmp = te[ 1 ]; te[ 1 ] = te[ 4 ]; te[ 4 ] = tmp; + tmp = te[ 2 ]; te[ 2 ] = te[ 8 ]; te[ 8 ] = tmp; + tmp = te[ 6 ]; te[ 6 ] = te[ 9 ]; te[ 9 ] = tmp; + + tmp = te[ 3 ]; te[ 3 ] = te[ 12 ]; te[ 12 ] = tmp; + tmp = te[ 7 ]; te[ 7 ] = te[ 13 ]; te[ 13 ] = tmp; + tmp = te[ 11 ]; te[ 11 ] = te[ 14 ]; te[ 14 ] = tmp; + + return this; + + } + + setPosition( x, y, z ) { + + const te = this.elements; + + if ( x.isVector3 ) { + + te[ 12 ] = x.x; + te[ 13 ] = x.y; + te[ 14 ] = x.z; + + } else { + + te[ 12 ] = x; + te[ 13 ] = y; + te[ 14 ] = z; + + } + + return this; + + } + + invert() { + + // based on http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm + const te = this.elements, + + n11 = te[ 0 ], n21 = te[ 1 ], n31 = te[ 2 ], n41 = te[ 3 ], + n12 = te[ 4 ], n22 = te[ 5 ], n32 = te[ 6 ], n42 = te[ 7 ], + n13 = te[ 8 ], n23 = te[ 9 ], n33 = te[ 10 ], n43 = te[ 11 ], + n14 = te[ 12 ], n24 = te[ 13 ], n34 = te[ 14 ], n44 = te[ 15 ], + + t11 = n23 * n34 * n42 - n24 * n33 * n42 + n24 * n32 * n43 - n22 * n34 * n43 - n23 * n32 * n44 + n22 * n33 * n44, + t12 = n14 * n33 * n42 - n13 * n34 * n42 - n14 * n32 * n43 + n12 * n34 * n43 + n13 * n32 * n44 - n12 * n33 * n44, + t13 = n13 * n24 * n42 - n14 * n23 * n42 + n14 * n22 * n43 - n12 * n24 * n43 - n13 * n22 * n44 + n12 * n23 * n44, + t14 = n14 * n23 * n32 - n13 * n24 * n32 - n14 * n22 * n33 + n12 * n24 * n33 + n13 * n22 * n34 - n12 * n23 * n34; + + const det = n11 * t11 + n21 * t12 + n31 * t13 + n41 * t14; + + if ( det === 0 ) return this.set( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ); + + const detInv = 1 / det; + + te[ 0 ] = t11 * detInv; + te[ 1 ] = ( n24 * n33 * n41 - n23 * n34 * n41 - n24 * n31 * n43 + n21 * n34 * n43 + n23 * n31 * n44 - n21 * n33 * n44 ) * detInv; + te[ 2 ] = ( n22 * n34 * n41 - n24 * n32 * n41 + n24 * n31 * n42 - n21 * n34 * n42 - n22 * n31 * n44 + n21 * n32 * n44 ) * detInv; + te[ 3 ] = ( n23 * n32 * n41 - n22 * n33 * n41 - n23 * n31 * n42 + n21 * n33 * n42 + n22 * n31 * n43 - n21 * n32 * n43 ) * detInv; + + te[ 4 ] = t12 * detInv; + te[ 5 ] = ( n13 * n34 * n41 - n14 * n33 * n41 + n14 * n31 * n43 - n11 * n34 * n43 - n13 * n31 * n44 + n11 * n33 * n44 ) * detInv; + te[ 6 ] = ( n14 * n32 * n41 - n12 * n34 * n41 - n14 * n31 * n42 + n11 * n34 * n42 + n12 * n31 * n44 - n11 * n32 * n44 ) * detInv; + te[ 7 ] = ( n12 * n33 * n41 - n13 * n32 * n41 + n13 * n31 * n42 - n11 * n33 * n42 - n12 * n31 * n43 + n11 * n32 * n43 ) * detInv; + + te[ 8 ] = t13 * detInv; + te[ 9 ] = ( n14 * n23 * n41 - n13 * n24 * n41 - n14 * n21 * n43 + n11 * n24 * n43 + n13 * n21 * n44 - n11 * n23 * n44 ) * detInv; + te[ 10 ] = ( n12 * n24 * n41 - n14 * n22 * n41 + n14 * n21 * n42 - n11 * n24 * n42 - n12 * n21 * n44 + n11 * n22 * n44 ) * detInv; + te[ 11 ] = ( n13 * n22 * n41 - n12 * n23 * n41 - n13 * n21 * n42 + n11 * n23 * n42 + n12 * n21 * n43 - n11 * n22 * n43 ) * detInv; + + te[ 12 ] = t14 * detInv; + te[ 13 ] = ( n13 * n24 * n31 - n14 * n23 * n31 + n14 * n21 * n33 - n11 * n24 * n33 - n13 * n21 * n34 + n11 * n23 * n34 ) * detInv; + te[ 14 ] = ( n14 * n22 * n31 - n12 * n24 * n31 - n14 * n21 * n32 + n11 * n24 * n32 + n12 * n21 * n34 - n11 * n22 * n34 ) * detInv; + te[ 15 ] = ( n12 * n23 * n31 - n13 * n22 * n31 + n13 * n21 * n32 - n11 * n23 * n32 - n12 * n21 * n33 + n11 * n22 * n33 ) * detInv; + + return this; + + } + + scale( v ) { + + const te = this.elements; + const x = v.x, y = v.y, z = v.z; + + te[ 0 ] *= x; te[ 4 ] *= y; te[ 8 ] *= z; + te[ 1 ] *= x; te[ 5 ] *= y; te[ 9 ] *= z; + te[ 2 ] *= x; te[ 6 ] *= y; te[ 10 ] *= z; + te[ 3 ] *= x; te[ 7 ] *= y; te[ 11 ] *= z; + + return this; + + } + + getMaxScaleOnAxis() { + + const te = this.elements; + + const scaleXSq = te[ 0 ] * te[ 0 ] + te[ 1 ] * te[ 1 ] + te[ 2 ] * te[ 2 ]; + const scaleYSq = te[ 4 ] * te[ 4 ] + te[ 5 ] * te[ 5 ] + te[ 6 ] * te[ 6 ]; + const scaleZSq = te[ 8 ] * te[ 8 ] + te[ 9 ] * te[ 9 ] + te[ 10 ] * te[ 10 ]; + + return Math.sqrt( Math.max( scaleXSq, scaleYSq, scaleZSq ) ); + + } + + makeTranslation( x, y, z ) { + + this.set( + + 1, 0, 0, x, + 0, 1, 0, y, + 0, 0, 1, z, + 0, 0, 0, 1 + + ); + + return this; + + } + + makeRotationX( theta ) { + + const c = Math.cos( theta ), s = Math.sin( theta ); + + this.set( + + 1, 0, 0, 0, + 0, c, - s, 0, + 0, s, c, 0, + 0, 0, 0, 1 + + ); + + return this; + + } + + makeRotationY( theta ) { + + const c = Math.cos( theta ), s = Math.sin( theta ); + + this.set( + + c, 0, s, 0, + 0, 1, 0, 0, + - s, 0, c, 0, + 0, 0, 0, 1 + + ); + + return this; + + } + + makeRotationZ( theta ) { + + const c = Math.cos( theta ), s = Math.sin( theta ); + + this.set( + + c, - s, 0, 0, + s, c, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1 + + ); + + return this; + + } + + makeRotationAxis( axis, angle ) { + + // Based on http://www.gamedev.net/reference/articles/article1199.asp + + const c = Math.cos( angle ); + const s = Math.sin( angle ); + const t = 1 - c; + const x = axis.x, y = axis.y, z = axis.z; + const tx = t * x, ty = t * y; + + this.set( + + tx * x + c, tx * y - s * z, tx * z + s * y, 0, + tx * y + s * z, ty * y + c, ty * z - s * x, 0, + tx * z - s * y, ty * z + s * x, t * z * z + c, 0, + 0, 0, 0, 1 + + ); + + return this; + + } + + makeScale( x, y, z ) { + + this.set( + + x, 0, 0, 0, + 0, y, 0, 0, + 0, 0, z, 0, + 0, 0, 0, 1 + + ); + + return this; + + } + + makeShear( xy, xz, yx, yz, zx, zy ) { + + this.set( + + 1, yx, zx, 0, + xy, 1, zy, 0, + xz, yz, 1, 0, + 0, 0, 0, 1 + + ); + + return this; + + } + + compose( position, quaternion, scale ) { + + const te = this.elements; + + const x = quaternion._x, y = quaternion._y, z = quaternion._z, w = quaternion._w; + const x2 = x + x, y2 = y + y, z2 = z + z; + const xx = x * x2, xy = x * y2, xz = x * z2; + const yy = y * y2, yz = y * z2, zz = z * z2; + const wx = w * x2, wy = w * y2, wz = w * z2; + + const sx = scale.x, sy = scale.y, sz = scale.z; + + te[ 0 ] = ( 1 - ( yy + zz ) ) * sx; + te[ 1 ] = ( xy + wz ) * sx; + te[ 2 ] = ( xz - wy ) * sx; + te[ 3 ] = 0; + + te[ 4 ] = ( xy - wz ) * sy; + te[ 5 ] = ( 1 - ( xx + zz ) ) * sy; + te[ 6 ] = ( yz + wx ) * sy; + te[ 7 ] = 0; + + te[ 8 ] = ( xz + wy ) * sz; + te[ 9 ] = ( yz - wx ) * sz; + te[ 10 ] = ( 1 - ( xx + yy ) ) * sz; + te[ 11 ] = 0; + + te[ 12 ] = position.x; + te[ 13 ] = position.y; + te[ 14 ] = position.z; + te[ 15 ] = 1; + + return this; + + } + + decompose( position, quaternion, scale ) { + + const te = this.elements; + + let sx = _v1$5.set( te[ 0 ], te[ 1 ], te[ 2 ] ).length(); + const sy = _v1$5.set( te[ 4 ], te[ 5 ], te[ 6 ] ).length(); + const sz = _v1$5.set( te[ 8 ], te[ 9 ], te[ 10 ] ).length(); + + // if determine is negative, we need to invert one scale + const det = this.determinant(); + if ( det < 0 ) sx = - sx; + + position.x = te[ 12 ]; + position.y = te[ 13 ]; + position.z = te[ 14 ]; + + // scale the rotation part + _m1$2.copy( this ); + + const invSX = 1 / sx; + const invSY = 1 / sy; + const invSZ = 1 / sz; + + _m1$2.elements[ 0 ] *= invSX; + _m1$2.elements[ 1 ] *= invSX; + _m1$2.elements[ 2 ] *= invSX; + + _m1$2.elements[ 4 ] *= invSY; + _m1$2.elements[ 5 ] *= invSY; + _m1$2.elements[ 6 ] *= invSY; + + _m1$2.elements[ 8 ] *= invSZ; + _m1$2.elements[ 9 ] *= invSZ; + _m1$2.elements[ 10 ] *= invSZ; + + quaternion.setFromRotationMatrix( _m1$2 ); + + scale.x = sx; + scale.y = sy; + scale.z = sz; + + return this; + + } + + makePerspective( left, right, top, bottom, near, far ) { + + if ( far === undefined ) { + + console.warn( 'THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.' ); + + } + + const te = this.elements; + const x = 2 * near / ( right - left ); + const y = 2 * near / ( top - bottom ); + + const a = ( right + left ) / ( right - left ); + const b = ( top + bottom ) / ( top - bottom ); + const c = - ( far + near ) / ( far - near ); + const d = - 2 * far * near / ( far - near ); + + te[ 0 ] = x; te[ 4 ] = 0; te[ 8 ] = a; te[ 12 ] = 0; + te[ 1 ] = 0; te[ 5 ] = y; te[ 9 ] = b; te[ 13 ] = 0; + te[ 2 ] = 0; te[ 6 ] = 0; te[ 10 ] = c; te[ 14 ] = d; + te[ 3 ] = 0; te[ 7 ] = 0; te[ 11 ] = - 1; te[ 15 ] = 0; + + return this; + + } + + makeOrthographic( left, right, top, bottom, near, far ) { + + const te = this.elements; + const w = 1.0 / ( right - left ); + const h = 1.0 / ( top - bottom ); + const p = 1.0 / ( far - near ); + + const x = ( right + left ) * w; + const y = ( top + bottom ) * h; + const z = ( far + near ) * p; + + te[ 0 ] = 2 * w; te[ 4 ] = 0; te[ 8 ] = 0; te[ 12 ] = - x; + te[ 1 ] = 0; te[ 5 ] = 2 * h; te[ 9 ] = 0; te[ 13 ] = - y; + te[ 2 ] = 0; te[ 6 ] = 0; te[ 10 ] = - 2 * p; te[ 14 ] = - z; + te[ 3 ] = 0; te[ 7 ] = 0; te[ 11 ] = 0; te[ 15 ] = 1; + + return this; + + } + + equals( matrix ) { + + const te = this.elements; + const me = matrix.elements; + + for ( let i = 0; i < 16; i ++ ) { + + if ( te[ i ] !== me[ i ] ) return false; + + } + + return true; + + } + + fromArray( array, offset = 0 ) { + + for ( let i = 0; i < 16; i ++ ) { + + this.elements[ i ] = array[ i + offset ]; + + } + + return this; + + } + + toArray( array = [], offset = 0 ) { + + const te = this.elements; + + array[ offset ] = te[ 0 ]; + array[ offset + 1 ] = te[ 1 ]; + array[ offset + 2 ] = te[ 2 ]; + array[ offset + 3 ] = te[ 3 ]; + + array[ offset + 4 ] = te[ 4 ]; + array[ offset + 5 ] = te[ 5 ]; + array[ offset + 6 ] = te[ 6 ]; + array[ offset + 7 ] = te[ 7 ]; + + array[ offset + 8 ] = te[ 8 ]; + array[ offset + 9 ] = te[ 9 ]; + array[ offset + 10 ] = te[ 10 ]; + array[ offset + 11 ] = te[ 11 ]; + + array[ offset + 12 ] = te[ 12 ]; + array[ offset + 13 ] = te[ 13 ]; + array[ offset + 14 ] = te[ 14 ]; + array[ offset + 15 ] = te[ 15 ]; + + return array; + + } + +} + +Matrix4.prototype.isMatrix4 = true; + +const _v1$5 = /*@__PURE__*/ new Vector3(); +const _m1$2 = /*@__PURE__*/ new Matrix4(); +const _zero = /*@__PURE__*/ new Vector3( 0, 0, 0 ); +const _one = /*@__PURE__*/ new Vector3( 1, 1, 1 ); +const _x = /*@__PURE__*/ new Vector3(); +const _y = /*@__PURE__*/ new Vector3(); +const _z = /*@__PURE__*/ new Vector3(); + +const _matrix$1 = /*@__PURE__*/ new Matrix4(); +const _quaternion$3 = /*@__PURE__*/ new Quaternion(); + +class Euler { + + constructor( x = 0, y = 0, z = 0, order = Euler.DefaultOrder ) { + + this._x = x; + this._y = y; + this._z = z; + this._order = order; + + } + + get x() { + + return this._x; + + } + + set x( value ) { + + this._x = value; + this._onChangeCallback(); + + } + + get y() { + + return this._y; + + } + + set y( value ) { + + this._y = value; + this._onChangeCallback(); + + } + + get z() { + + return this._z; + + } + + set z( value ) { + + this._z = value; + this._onChangeCallback(); + + } + + get order() { + + return this._order; + + } + + set order( value ) { + + this._order = value; + this._onChangeCallback(); + + } + + set( x, y, z, order = this._order ) { + + this._x = x; + this._y = y; + this._z = z; + this._order = order; + + this._onChangeCallback(); + + return this; + + } + + clone() { + + return new this.constructor( this._x, this._y, this._z, this._order ); + + } + + copy( euler ) { + + this._x = euler._x; + this._y = euler._y; + this._z = euler._z; + this._order = euler._order; + + this._onChangeCallback(); + + return this; + + } + + setFromRotationMatrix( m, order = this._order, update = true ) { + + // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled) + + const te = m.elements; + const m11 = te[ 0 ], m12 = te[ 4 ], m13 = te[ 8 ]; + const m21 = te[ 1 ], m22 = te[ 5 ], m23 = te[ 9 ]; + const m31 = te[ 2 ], m32 = te[ 6 ], m33 = te[ 10 ]; + + switch ( order ) { + + case 'XYZ': + + this._y = Math.asin( clamp( m13, - 1, 1 ) ); + + if ( Math.abs( m13 ) < 0.9999999 ) { + + this._x = Math.atan2( - m23, m33 ); + this._z = Math.atan2( - m12, m11 ); + + } else { + + this._x = Math.atan2( m32, m22 ); + this._z = 0; + + } + + break; + + case 'YXZ': + + this._x = Math.asin( - clamp( m23, - 1, 1 ) ); + + if ( Math.abs( m23 ) < 0.9999999 ) { + + this._y = Math.atan2( m13, m33 ); + this._z = Math.atan2( m21, m22 ); + + } else { + + this._y = Math.atan2( - m31, m11 ); + this._z = 0; + + } + + break; + + case 'ZXY': + + this._x = Math.asin( clamp( m32, - 1, 1 ) ); + + if ( Math.abs( m32 ) < 0.9999999 ) { + + this._y = Math.atan2( - m31, m33 ); + this._z = Math.atan2( - m12, m22 ); + + } else { + + this._y = 0; + this._z = Math.atan2( m21, m11 ); + + } + + break; + + case 'ZYX': + + this._y = Math.asin( - clamp( m31, - 1, 1 ) ); + + if ( Math.abs( m31 ) < 0.9999999 ) { + + this._x = Math.atan2( m32, m33 ); + this._z = Math.atan2( m21, m11 ); + + } else { + + this._x = 0; + this._z = Math.atan2( - m12, m22 ); + + } + + break; + + case 'YZX': + + this._z = Math.asin( clamp( m21, - 1, 1 ) ); + + if ( Math.abs( m21 ) < 0.9999999 ) { + + this._x = Math.atan2( - m23, m22 ); + this._y = Math.atan2( - m31, m11 ); + + } else { + + this._x = 0; + this._y = Math.atan2( m13, m33 ); + + } + + break; + + case 'XZY': + + this._z = Math.asin( - clamp( m12, - 1, 1 ) ); + + if ( Math.abs( m12 ) < 0.9999999 ) { + + this._x = Math.atan2( m32, m22 ); + this._y = Math.atan2( m13, m11 ); + + } else { + + this._x = Math.atan2( - m23, m33 ); + this._y = 0; + + } + + break; + + default: + + console.warn( 'THREE.Euler: .setFromRotationMatrix() encountered an unknown order: ' + order ); + + } + + this._order = order; + + if ( update === true ) this._onChangeCallback(); + + return this; + + } + + setFromQuaternion( q, order, update ) { + + _matrix$1.makeRotationFromQuaternion( q ); + + return this.setFromRotationMatrix( _matrix$1, order, update ); + + } + + setFromVector3( v, order = this._order ) { + + return this.set( v.x, v.y, v.z, order ); + + } + + reorder( newOrder ) { + + // WARNING: this discards revolution information -bhouston + + _quaternion$3.setFromEuler( this ); + + return this.setFromQuaternion( _quaternion$3, newOrder ); + + } + + equals( euler ) { + + return ( euler._x === this._x ) && ( euler._y === this._y ) && ( euler._z === this._z ) && ( euler._order === this._order ); + + } + + fromArray( array ) { + + this._x = array[ 0 ]; + this._y = array[ 1 ]; + this._z = array[ 2 ]; + if ( array[ 3 ] !== undefined ) this._order = array[ 3 ]; + + this._onChangeCallback(); + + return this; + + } + + toArray( array = [], offset = 0 ) { + + array[ offset ] = this._x; + array[ offset + 1 ] = this._y; + array[ offset + 2 ] = this._z; + array[ offset + 3 ] = this._order; + + return array; + + } + + toVector3( optionalResult ) { + + if ( optionalResult ) { + + return optionalResult.set( this._x, this._y, this._z ); + + } else { + + return new Vector3( this._x, this._y, this._z ); + + } + + } + + _onChange( callback ) { + + this._onChangeCallback = callback; + + return this; + + } + + _onChangeCallback() {} + +} + +Euler.prototype.isEuler = true; + +Euler.DefaultOrder = 'XYZ'; +Euler.RotationOrders = [ 'XYZ', 'YZX', 'ZXY', 'XZY', 'YXZ', 'ZYX' ]; + +class Layers { + + constructor() { + + this.mask = 1 | 0; + + } + + set( channel ) { + + this.mask = ( 1 << channel | 0 ) >>> 0; + + } + + enable( channel ) { + + this.mask |= 1 << channel | 0; + + } + + enableAll() { + + this.mask = 0xffffffff | 0; + + } + + toggle( channel ) { + + this.mask ^= 1 << channel | 0; + + } + + disable( channel ) { + + this.mask &= ~ ( 1 << channel | 0 ); + + } + + disableAll() { + + this.mask = 0; + + } + + test( layers ) { + + return ( this.mask & layers.mask ) !== 0; + + } + + isEnabled( channel ) { + + return ( this.mask & ( 1 << channel | 0 ) ) !== 0; + + } + +} + +let _object3DId = 0; + +const _v1$4 = /*@__PURE__*/ new Vector3(); +const _q1 = /*@__PURE__*/ new Quaternion(); +const _m1$1 = /*@__PURE__*/ new Matrix4(); +const _target = /*@__PURE__*/ new Vector3(); + +const _position$3 = /*@__PURE__*/ new Vector3(); +const _scale$2 = /*@__PURE__*/ new Vector3(); +const _quaternion$2 = /*@__PURE__*/ new Quaternion(); + +const _xAxis = /*@__PURE__*/ new Vector3( 1, 0, 0 ); +const _yAxis = /*@__PURE__*/ new Vector3( 0, 1, 0 ); +const _zAxis = /*@__PURE__*/ new Vector3( 0, 0, 1 ); + +const _addedEvent = { type: 'added' }; +const _removedEvent = { type: 'removed' }; + +class Object3D extends EventDispatcher { + + constructor() { + + super(); + + Object.defineProperty( this, 'id', { value: _object3DId ++ } ); + + this.uuid = generateUUID(); + + this.name = ''; + this.type = 'Object3D'; + + this.parent = null; + this.children = []; + + this.up = Object3D.DefaultUp.clone(); + + const position = new Vector3(); + const rotation = new Euler(); + const quaternion = new Quaternion(); + const scale = new Vector3( 1, 1, 1 ); + + function onRotationChange() { + + quaternion.setFromEuler( rotation, false ); + + } + + function onQuaternionChange() { + + rotation.setFromQuaternion( quaternion, undefined, false ); + + } + + rotation._onChange( onRotationChange ); + quaternion._onChange( onQuaternionChange ); + + Object.defineProperties( this, { + position: { + configurable: true, + enumerable: true, + value: position + }, + rotation: { + configurable: true, + enumerable: true, + value: rotation + }, + quaternion: { + configurable: true, + enumerable: true, + value: quaternion + }, + scale: { + configurable: true, + enumerable: true, + value: scale + }, + modelViewMatrix: { + value: new Matrix4() + }, + normalMatrix: { + value: new Matrix3() + } + } ); + + this.matrix = new Matrix4(); + this.matrixWorld = new Matrix4(); + + this.matrixAutoUpdate = Object3D.DefaultMatrixAutoUpdate; + this.matrixWorldNeedsUpdate = false; + + this.layers = new Layers(); + this.visible = true; + + this.castShadow = false; + this.receiveShadow = false; + + this.frustumCulled = true; + this.renderOrder = 0; + + this.animations = []; + + this.userData = {}; + + } + + onBeforeRender( /* renderer, scene, camera, geometry, material, group */ ) {} + + onAfterRender( /* renderer, scene, camera, geometry, material, group */ ) {} + + applyMatrix4( matrix ) { + + if ( this.matrixAutoUpdate ) this.updateMatrix(); + + this.matrix.premultiply( matrix ); + + this.matrix.decompose( this.position, this.quaternion, this.scale ); + + } + + applyQuaternion( q ) { + + this.quaternion.premultiply( q ); + + return this; + + } + + setRotationFromAxisAngle( axis, angle ) { + + // assumes axis is normalized + + this.quaternion.setFromAxisAngle( axis, angle ); + + } + + setRotationFromEuler( euler ) { + + this.quaternion.setFromEuler( euler, true ); + + } + + setRotationFromMatrix( m ) { + + // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled) + + this.quaternion.setFromRotationMatrix( m ); + + } + + setRotationFromQuaternion( q ) { + + // assumes q is normalized + + this.quaternion.copy( q ); + + } + + rotateOnAxis( axis, angle ) { + + // rotate object on axis in object space + // axis is assumed to be normalized + + _q1.setFromAxisAngle( axis, angle ); + + this.quaternion.multiply( _q1 ); + + return this; + + } + + rotateOnWorldAxis( axis, angle ) { + + // rotate object on axis in world space + // axis is assumed to be normalized + // method assumes no rotated parent + + _q1.setFromAxisAngle( axis, angle ); + + this.quaternion.premultiply( _q1 ); + + return this; + + } + + rotateX( angle ) { + + return this.rotateOnAxis( _xAxis, angle ); + + } + + rotateY( angle ) { + + return this.rotateOnAxis( _yAxis, angle ); + + } + + rotateZ( angle ) { + + return this.rotateOnAxis( _zAxis, angle ); + + } + + translateOnAxis( axis, distance ) { + + // translate object by distance along axis in object space + // axis is assumed to be normalized + + _v1$4.copy( axis ).applyQuaternion( this.quaternion ); + + this.position.add( _v1$4.multiplyScalar( distance ) ); + + return this; + + } + + translateX( distance ) { + + return this.translateOnAxis( _xAxis, distance ); + + } + + translateY( distance ) { + + return this.translateOnAxis( _yAxis, distance ); + + } + + translateZ( distance ) { + + return this.translateOnAxis( _zAxis, distance ); + + } + + localToWorld( vector ) { + + return vector.applyMatrix4( this.matrixWorld ); + + } + + worldToLocal( vector ) { + + return vector.applyMatrix4( _m1$1.copy( this.matrixWorld ).invert() ); + + } + + lookAt( x, y, z ) { + + // This method does not support objects having non-uniformly-scaled parent(s) + + if ( x.isVector3 ) { + + _target.copy( x ); + + } else { + + _target.set( x, y, z ); + + } + + const parent = this.parent; + + this.updateWorldMatrix( true, false ); + + _position$3.setFromMatrixPosition( this.matrixWorld ); + + if ( this.isCamera || this.isLight ) { + + _m1$1.lookAt( _position$3, _target, this.up ); + + } else { + + _m1$1.lookAt( _target, _position$3, this.up ); + + } + + this.quaternion.setFromRotationMatrix( _m1$1 ); + + if ( parent ) { + + _m1$1.extractRotation( parent.matrixWorld ); + _q1.setFromRotationMatrix( _m1$1 ); + this.quaternion.premultiply( _q1.invert() ); + + } + + } + + add( object ) { + + if ( arguments.length > 1 ) { + + for ( let i = 0; i < arguments.length; i ++ ) { + + this.add( arguments[ i ] ); + + } + + return this; + + } + + if ( object === this ) { + + console.error( 'THREE.Object3D.add: object can\'t be added as a child of itself.', object ); + return this; + + } + + if ( object && object.isObject3D ) { + + if ( object.parent !== null ) { + + object.parent.remove( object ); + + } + + object.parent = this; + this.children.push( object ); + + object.dispatchEvent( _addedEvent ); + + } else { + + console.error( 'THREE.Object3D.add: object not an instance of THREE.Object3D.', object ); + + } + + return this; + + } + + remove( object ) { + + if ( arguments.length > 1 ) { + + for ( let i = 0; i < arguments.length; i ++ ) { + + this.remove( arguments[ i ] ); + + } + + return this; + + } + + const index = this.children.indexOf( object ); + + if ( index !== - 1 ) { + + object.parent = null; + this.children.splice( index, 1 ); + + object.dispatchEvent( _removedEvent ); + + } + + return this; + + } + + removeFromParent() { + + const parent = this.parent; + + if ( parent !== null ) { + + parent.remove( this ); + + } + + return this; + + } + + clear() { + + for ( let i = 0; i < this.children.length; i ++ ) { + + const object = this.children[ i ]; + + object.parent = null; + + object.dispatchEvent( _removedEvent ); + + } + + this.children.length = 0; + + return this; + + + } + + attach( object ) { + + // adds object as a child of this, while maintaining the object's world transform + + // Note: This method does not support scene graphs having non-uniformly-scaled nodes(s) + + this.updateWorldMatrix( true, false ); + + _m1$1.copy( this.matrixWorld ).invert(); + + if ( object.parent !== null ) { + + object.parent.updateWorldMatrix( true, false ); + + _m1$1.multiply( object.parent.matrixWorld ); + + } + + object.applyMatrix4( _m1$1 ); + + this.add( object ); + + object.updateWorldMatrix( false, true ); + + return this; + + } + + getObjectById( id ) { + + return this.getObjectByProperty( 'id', id ); + + } + + getObjectByName( name ) { + + return this.getObjectByProperty( 'name', name ); + + } + + getObjectByProperty( name, value ) { + + if ( this[ name ] === value ) return this; + + for ( let i = 0, l = this.children.length; i < l; i ++ ) { + + const child = this.children[ i ]; + const object = child.getObjectByProperty( name, value ); + + if ( object !== undefined ) { + + return object; + + } + + } + + return undefined; + + } + + getWorldPosition( target ) { + + this.updateWorldMatrix( true, false ); + + return target.setFromMatrixPosition( this.matrixWorld ); + + } + + getWorldQuaternion( target ) { + + this.updateWorldMatrix( true, false ); + + this.matrixWorld.decompose( _position$3, target, _scale$2 ); + + return target; + + } + + getWorldScale( target ) { + + this.updateWorldMatrix( true, false ); + + this.matrixWorld.decompose( _position$3, _quaternion$2, target ); + + return target; + + } + + getWorldDirection( target ) { + + this.updateWorldMatrix( true, false ); + + const e = this.matrixWorld.elements; + + return target.set( e[ 8 ], e[ 9 ], e[ 10 ] ).normalize(); + + } + + raycast( /* raycaster, intersects */ ) {} + + traverse( callback ) { + + callback( this ); + + const children = this.children; + + for ( let i = 0, l = children.length; i < l; i ++ ) { + + children[ i ].traverse( callback ); + + } + + } + + traverseVisible( callback ) { + + if ( this.visible === false ) return; + + callback( this ); + + const children = this.children; + + for ( let i = 0, l = children.length; i < l; i ++ ) { + + children[ i ].traverseVisible( callback ); + + } + + } + + traverseAncestors( callback ) { + + const parent = this.parent; + + if ( parent !== null ) { + + callback( parent ); + + parent.traverseAncestors( callback ); + + } + + } + + updateMatrix() { + + this.matrix.compose( this.position, this.quaternion, this.scale ); + + this.matrixWorldNeedsUpdate = true; + + } + + updateMatrixWorld( force ) { + + if ( this.matrixAutoUpdate ) this.updateMatrix(); + + if ( this.matrixWorldNeedsUpdate || force ) { + + if ( this.parent === null ) { + + this.matrixWorld.copy( this.matrix ); + + } else { + + this.matrixWorld.multiplyMatrices( this.parent.matrixWorld, this.matrix ); + + } + + this.matrixWorldNeedsUpdate = false; + + force = true; + + } + + // update children + + const children = this.children; + + for ( let i = 0, l = children.length; i < l; i ++ ) { + + children[ i ].updateMatrixWorld( force ); + + } + + } + + updateWorldMatrix( updateParents, updateChildren ) { + + const parent = this.parent; + + if ( updateParents === true && parent !== null ) { + + parent.updateWorldMatrix( true, false ); + + } + + if ( this.matrixAutoUpdate ) this.updateMatrix(); + + if ( this.parent === null ) { + + this.matrixWorld.copy( this.matrix ); + + } else { + + this.matrixWorld.multiplyMatrices( this.parent.matrixWorld, this.matrix ); + + } + + // update children + + if ( updateChildren === true ) { + + const children = this.children; + + for ( let i = 0, l = children.length; i < l; i ++ ) { + + children[ i ].updateWorldMatrix( false, true ); + + } + + } + + } + + toJSON( meta ) { + + // meta is a string when called from JSON.stringify + const isRootObject = ( meta === undefined || typeof meta === 'string' ); + + const output = {}; + + // meta is a hash used to collect geometries, materials. + // not providing it implies that this is the root object + // being serialized. + if ( isRootObject ) { + + // initialize meta obj + meta = { + geometries: {}, + materials: {}, + textures: {}, + images: {}, + shapes: {}, + skeletons: {}, + animations: {} + }; + + output.metadata = { + version: 4.5, + type: 'Object', + generator: 'Object3D.toJSON' + }; + + } + + // standard Object3D serialization + + const object = {}; + + object.uuid = this.uuid; + object.type = this.type; + + if ( this.name !== '' ) object.name = this.name; + if ( this.castShadow === true ) object.castShadow = true; + if ( this.receiveShadow === true ) object.receiveShadow = true; + if ( this.visible === false ) object.visible = false; + if ( this.frustumCulled === false ) object.frustumCulled = false; + if ( this.renderOrder !== 0 ) object.renderOrder = this.renderOrder; + if ( JSON.stringify( this.userData ) !== '{}' ) object.userData = this.userData; + + object.layers = this.layers.mask; + object.matrix = this.matrix.toArray(); + + if ( this.matrixAutoUpdate === false ) object.matrixAutoUpdate = false; + + // object specific properties + + if ( this.isInstancedMesh ) { + + object.type = 'InstancedMesh'; + object.count = this.count; + object.instanceMatrix = this.instanceMatrix.toJSON(); + if ( this.instanceColor !== null ) object.instanceColor = this.instanceColor.toJSON(); + + } + + // + + function serialize( library, element ) { + + if ( library[ element.uuid ] === undefined ) { + + library[ element.uuid ] = element.toJSON( meta ); + + } + + return element.uuid; + + } + + if ( this.isScene ) { + + if ( this.background ) { + + if ( this.background.isColor ) { + + object.background = this.background.toJSON(); + + } else if ( this.background.isTexture ) { + + object.background = this.background.toJSON( meta ).uuid; + + } + + } + + if ( this.environment && this.environment.isTexture ) { + + object.environment = this.environment.toJSON( meta ).uuid; + + } + + } else if ( this.isMesh || this.isLine || this.isPoints ) { + + object.geometry = serialize( meta.geometries, this.geometry ); + + const parameters = this.geometry.parameters; + + if ( parameters !== undefined && parameters.shapes !== undefined ) { + + const shapes = parameters.shapes; + + if ( Array.isArray( shapes ) ) { + + for ( let i = 0, l = shapes.length; i < l; i ++ ) { + + const shape = shapes[ i ]; + + serialize( meta.shapes, shape ); + + } + + } else { + + serialize( meta.shapes, shapes ); + + } + + } + + } + + if ( this.isSkinnedMesh ) { + + object.bindMode = this.bindMode; + object.bindMatrix = this.bindMatrix.toArray(); + + if ( this.skeleton !== undefined ) { + + serialize( meta.skeletons, this.skeleton ); + + object.skeleton = this.skeleton.uuid; + + } + + } + + if ( this.material !== undefined ) { + + if ( Array.isArray( this.material ) ) { + + const uuids = []; + + for ( let i = 0, l = this.material.length; i < l; i ++ ) { + + uuids.push( serialize( meta.materials, this.material[ i ] ) ); + + } + + object.material = uuids; + + } else { + + object.material = serialize( meta.materials, this.material ); + + } + + } + + // + + if ( this.children.length > 0 ) { + + object.children = []; + + for ( let i = 0; i < this.children.length; i ++ ) { + + object.children.push( this.children[ i ].toJSON( meta ).object ); + + } + + } + + // + + if ( this.animations.length > 0 ) { + + object.animations = []; + + for ( let i = 0; i < this.animations.length; i ++ ) { + + const animation = this.animations[ i ]; + + object.animations.push( serialize( meta.animations, animation ) ); + + } + + } + + if ( isRootObject ) { + + const geometries = extractFromCache( meta.geometries ); + const materials = extractFromCache( meta.materials ); + const textures = extractFromCache( meta.textures ); + const images = extractFromCache( meta.images ); + const shapes = extractFromCache( meta.shapes ); + const skeletons = extractFromCache( meta.skeletons ); + const animations = extractFromCache( meta.animations ); + + if ( geometries.length > 0 ) output.geometries = geometries; + if ( materials.length > 0 ) output.materials = materials; + if ( textures.length > 0 ) output.textures = textures; + if ( images.length > 0 ) output.images = images; + if ( shapes.length > 0 ) output.shapes = shapes; + if ( skeletons.length > 0 ) output.skeletons = skeletons; + if ( animations.length > 0 ) output.animations = animations; + + } + + output.object = object; + + return output; + + // extract data from the cache hash + // remove metadata on each item + // and return as array + function extractFromCache( cache ) { + + const values = []; + for ( const key in cache ) { + + const data = cache[ key ]; + delete data.metadata; + values.push( data ); + + } + + return values; + + } + + } + + clone( recursive ) { + + return new this.constructor().copy( this, recursive ); + + } + + copy( source, recursive = true ) { + + this.name = source.name; + + this.up.copy( source.up ); + + this.position.copy( source.position ); + this.rotation.order = source.rotation.order; + this.quaternion.copy( source.quaternion ); + this.scale.copy( source.scale ); + + this.matrix.copy( source.matrix ); + this.matrixWorld.copy( source.matrixWorld ); + + this.matrixAutoUpdate = source.matrixAutoUpdate; + this.matrixWorldNeedsUpdate = source.matrixWorldNeedsUpdate; + + this.layers.mask = source.layers.mask; + this.visible = source.visible; + + this.castShadow = source.castShadow; + this.receiveShadow = source.receiveShadow; + + this.frustumCulled = source.frustumCulled; + this.renderOrder = source.renderOrder; + + this.userData = JSON.parse( JSON.stringify( source.userData ) ); + + if ( recursive === true ) { + + for ( let i = 0; i < source.children.length; i ++ ) { + + const child = source.children[ i ]; + this.add( child.clone() ); + + } + + } + + return this; + + } + +} + +Object3D.DefaultUp = new Vector3( 0, 1, 0 ); +Object3D.DefaultMatrixAutoUpdate = true; + +Object3D.prototype.isObject3D = true; + +const _v0$1 = /*@__PURE__*/ new Vector3(); +const _v1$3 = /*@__PURE__*/ new Vector3(); +const _v2$2 = /*@__PURE__*/ new Vector3(); +const _v3$1 = /*@__PURE__*/ new Vector3(); + +const _vab = /*@__PURE__*/ new Vector3(); +const _vac = /*@__PURE__*/ new Vector3(); +const _vbc = /*@__PURE__*/ new Vector3(); +const _vap = /*@__PURE__*/ new Vector3(); +const _vbp = /*@__PURE__*/ new Vector3(); +const _vcp = /*@__PURE__*/ new Vector3(); + +class Triangle { + + constructor( a = new Vector3(), b = new Vector3(), c = new Vector3() ) { + + this.a = a; + this.b = b; + this.c = c; + + } + + static getNormal( a, b, c, target ) { + + target.subVectors( c, b ); + _v0$1.subVectors( a, b ); + target.cross( _v0$1 ); + + const targetLengthSq = target.lengthSq(); + if ( targetLengthSq > 0 ) { + + return target.multiplyScalar( 1 / Math.sqrt( targetLengthSq ) ); + + } + + return target.set( 0, 0, 0 ); + + } + + // static/instance method to calculate barycentric coordinates + // based on: http://www.blackpawn.com/texts/pointinpoly/default.html + static getBarycoord( point, a, b, c, target ) { + + _v0$1.subVectors( c, a ); + _v1$3.subVectors( b, a ); + _v2$2.subVectors( point, a ); + + const dot00 = _v0$1.dot( _v0$1 ); + const dot01 = _v0$1.dot( _v1$3 ); + const dot02 = _v0$1.dot( _v2$2 ); + const dot11 = _v1$3.dot( _v1$3 ); + const dot12 = _v1$3.dot( _v2$2 ); + + const denom = ( dot00 * dot11 - dot01 * dot01 ); + + // collinear or singular triangle + if ( denom === 0 ) { + + // arbitrary location outside of triangle? + // not sure if this is the best idea, maybe should be returning undefined + return target.set( - 2, - 1, - 1 ); + + } + + const invDenom = 1 / denom; + const u = ( dot11 * dot02 - dot01 * dot12 ) * invDenom; + const v = ( dot00 * dot12 - dot01 * dot02 ) * invDenom; + + // barycentric coordinates must always sum to 1 + return target.set( 1 - u - v, v, u ); + + } + + static containsPoint( point, a, b, c ) { + + this.getBarycoord( point, a, b, c, _v3$1 ); + + return ( _v3$1.x >= 0 ) && ( _v3$1.y >= 0 ) && ( ( _v3$1.x + _v3$1.y ) <= 1 ); + + } + + static getUV( point, p1, p2, p3, uv1, uv2, uv3, target ) { + + this.getBarycoord( point, p1, p2, p3, _v3$1 ); + + target.set( 0, 0 ); + target.addScaledVector( uv1, _v3$1.x ); + target.addScaledVector( uv2, _v3$1.y ); + target.addScaledVector( uv3, _v3$1.z ); + + return target; + + } + + static isFrontFacing( a, b, c, direction ) { + + _v0$1.subVectors( c, b ); + _v1$3.subVectors( a, b ); + + // strictly front facing + return ( _v0$1.cross( _v1$3 ).dot( direction ) < 0 ) ? true : false; + + } + + set( a, b, c ) { + + this.a.copy( a ); + this.b.copy( b ); + this.c.copy( c ); + + return this; + + } + + setFromPointsAndIndices( points, i0, i1, i2 ) { + + this.a.copy( points[ i0 ] ); + this.b.copy( points[ i1 ] ); + this.c.copy( points[ i2 ] ); + + return this; + + } + + setFromAttributeAndIndices( attribute, i0, i1, i2 ) { + + this.a.fromBufferAttribute( attribute, i0 ); + this.b.fromBufferAttribute( attribute, i1 ); + this.c.fromBufferAttribute( attribute, i2 ); + + return this; + + } + + clone() { + + return new this.constructor().copy( this ); + + } + + copy( triangle ) { + + this.a.copy( triangle.a ); + this.b.copy( triangle.b ); + this.c.copy( triangle.c ); + + return this; + + } + + getArea() { + + _v0$1.subVectors( this.c, this.b ); + _v1$3.subVectors( this.a, this.b ); + + return _v0$1.cross( _v1$3 ).length() * 0.5; + + } + + getMidpoint( target ) { + + return target.addVectors( this.a, this.b ).add( this.c ).multiplyScalar( 1 / 3 ); + + } + + getNormal( target ) { + + return Triangle.getNormal( this.a, this.b, this.c, target ); + + } + + getPlane( target ) { + + return target.setFromCoplanarPoints( this.a, this.b, this.c ); + + } + + getBarycoord( point, target ) { + + return Triangle.getBarycoord( point, this.a, this.b, this.c, target ); + + } + + getUV( point, uv1, uv2, uv3, target ) { + + return Triangle.getUV( point, this.a, this.b, this.c, uv1, uv2, uv3, target ); + + } + + containsPoint( point ) { + + return Triangle.containsPoint( point, this.a, this.b, this.c ); + + } + + isFrontFacing( direction ) { + + return Triangle.isFrontFacing( this.a, this.b, this.c, direction ); + + } + + intersectsBox( box ) { + + return box.intersectsTriangle( this ); + + } + + closestPointToPoint( p, target ) { + + const a = this.a, b = this.b, c = this.c; + let v, w; + + // algorithm thanks to Real-Time Collision Detection by Christer Ericson, + // published by Morgan Kaufmann Publishers, (c) 2005 Elsevier Inc., + // under the accompanying license; see chapter 5.1.5 for detailed explanation. + // basically, we're distinguishing which of the voronoi regions of the triangle + // the point lies in with the minimum amount of redundant computation. + + _vab.subVectors( b, a ); + _vac.subVectors( c, a ); + _vap.subVectors( p, a ); + const d1 = _vab.dot( _vap ); + const d2 = _vac.dot( _vap ); + if ( d1 <= 0 && d2 <= 0 ) { + + // vertex region of A; barycentric coords (1, 0, 0) + return target.copy( a ); + + } + + _vbp.subVectors( p, b ); + const d3 = _vab.dot( _vbp ); + const d4 = _vac.dot( _vbp ); + if ( d3 >= 0 && d4 <= d3 ) { + + // vertex region of B; barycentric coords (0, 1, 0) + return target.copy( b ); + + } + + const vc = d1 * d4 - d3 * d2; + if ( vc <= 0 && d1 >= 0 && d3 <= 0 ) { + + v = d1 / ( d1 - d3 ); + // edge region of AB; barycentric coords (1-v, v, 0) + return target.copy( a ).addScaledVector( _vab, v ); + + } + + _vcp.subVectors( p, c ); + const d5 = _vab.dot( _vcp ); + const d6 = _vac.dot( _vcp ); + if ( d6 >= 0 && d5 <= d6 ) { + + // vertex region of C; barycentric coords (0, 0, 1) + return target.copy( c ); + + } + + const vb = d5 * d2 - d1 * d6; + if ( vb <= 0 && d2 >= 0 && d6 <= 0 ) { + + w = d2 / ( d2 - d6 ); + // edge region of AC; barycentric coords (1-w, 0, w) + return target.copy( a ).addScaledVector( _vac, w ); + + } + + const va = d3 * d6 - d5 * d4; + if ( va <= 0 && ( d4 - d3 ) >= 0 && ( d5 - d6 ) >= 0 ) { + + _vbc.subVectors( c, b ); + w = ( d4 - d3 ) / ( ( d4 - d3 ) + ( d5 - d6 ) ); + // edge region of BC; barycentric coords (0, 1-w, w) + return target.copy( b ).addScaledVector( _vbc, w ); // edge region of BC + + } + + // face region + const denom = 1 / ( va + vb + vc ); + // u = va * denom + v = vb * denom; + w = vc * denom; + + return target.copy( a ).addScaledVector( _vab, v ).addScaledVector( _vac, w ); + + } + + equals( triangle ) { + + return triangle.a.equals( this.a ) && triangle.b.equals( this.b ) && triangle.c.equals( this.c ); + + } + +} + +let materialId = 0; + +class Material extends EventDispatcher { + + constructor() { + + super(); + + Object.defineProperty( this, 'id', { value: materialId ++ } ); + + this.uuid = generateUUID(); + + this.name = ''; + this.type = 'Material'; + + this.fog = true; + + this.blending = NormalBlending; + this.side = FrontSide; + this.vertexColors = false; + + this.opacity = 1; + this.format = RGBAFormat; + this.transparent = false; + + this.blendSrc = SrcAlphaFactor; + this.blendDst = OneMinusSrcAlphaFactor; + this.blendEquation = AddEquation; + this.blendSrcAlpha = null; + this.blendDstAlpha = null; + this.blendEquationAlpha = null; + + this.depthFunc = LessEqualDepth; + this.depthTest = true; + this.depthWrite = true; + + this.stencilWriteMask = 0xff; + this.stencilFunc = AlwaysStencilFunc; + this.stencilRef = 0; + this.stencilFuncMask = 0xff; + this.stencilFail = KeepStencilOp; + this.stencilZFail = KeepStencilOp; + this.stencilZPass = KeepStencilOp; + this.stencilWrite = false; + + this.clippingPlanes = null; + this.clipIntersection = false; + this.clipShadows = false; + + this.shadowSide = null; + + this.colorWrite = true; + + this.precision = null; // override the renderer's default precision for this material + + this.polygonOffset = false; + this.polygonOffsetFactor = 0; + this.polygonOffsetUnits = 0; + + this.dithering = false; + + this.alphaToCoverage = false; + this.premultipliedAlpha = false; + + this.visible = true; + + this.toneMapped = true; + + this.userData = {}; + + this.version = 0; + + this._alphaTest = 0; + + } + + get alphaTest() { + + return this._alphaTest; + + } + + set alphaTest( value ) { + + if ( this._alphaTest > 0 !== value > 0 ) { + + this.version ++; + + } + + this._alphaTest = value; + + } + + onBuild( /* shaderobject, renderer */ ) {} + + onBeforeRender( /* renderer, scene, camera, geometry, object, group */ ) {} + + onBeforeCompile( /* shaderobject, renderer */ ) {} + + customProgramCacheKey() { + + return this.onBeforeCompile.toString(); + + } + + setValues( values ) { + + if ( values === undefined ) return; + + for ( const key in values ) { + + const newValue = values[ key ]; + + if ( newValue === undefined ) { + + console.warn( 'THREE.Material: \'' + key + '\' parameter is undefined.' ); + continue; + + } + + // for backward compatability if shading is set in the constructor + if ( key === 'shading' ) { + + console.warn( 'THREE.' + this.type + ': .shading has been removed. Use the boolean .flatShading instead.' ); + this.flatShading = ( newValue === FlatShading ) ? true : false; + continue; + + } + + const currentValue = this[ key ]; + + if ( currentValue === undefined ) { + + console.warn( 'THREE.' + this.type + ': \'' + key + '\' is not a property of this material.' ); + continue; + + } + + if ( currentValue && currentValue.isColor ) { + + currentValue.set( newValue ); + + } else if ( ( currentValue && currentValue.isVector3 ) && ( newValue && newValue.isVector3 ) ) { + + currentValue.copy( newValue ); + + } else { + + this[ key ] = newValue; + + } + + } + + } + + toJSON( meta ) { + + const isRoot = ( meta === undefined || typeof meta === 'string' ); + + if ( isRoot ) { + + meta = { + textures: {}, + images: {} + }; + + } + + const data = { + metadata: { + version: 4.5, + type: 'Material', + generator: 'Material.toJSON' + } + }; + + // standard Material serialization + data.uuid = this.uuid; + data.type = this.type; + + if ( this.name !== '' ) data.name = this.name; + + if ( this.color && this.color.isColor ) data.color = this.color.getHex(); + + if ( this.roughness !== undefined ) data.roughness = this.roughness; + if ( this.metalness !== undefined ) data.metalness = this.metalness; + + if ( this.sheen !== undefined ) data.sheen = this.sheen; + if ( this.sheenColor && this.sheenColor.isColor ) data.sheenColor = this.sheenColor.getHex(); + if ( this.sheenRoughness !== undefined ) data.sheenRoughness = this.sheenRoughness; + if ( this.emissive && this.emissive.isColor ) data.emissive = this.emissive.getHex(); + if ( this.emissiveIntensity && this.emissiveIntensity !== 1 ) data.emissiveIntensity = this.emissiveIntensity; + + if ( this.specular && this.specular.isColor ) data.specular = this.specular.getHex(); + if ( this.specularIntensity !== undefined ) data.specularIntensity = this.specularIntensity; + if ( this.specularColor && this.specularColor.isColor ) data.specularColor = this.specularColor.getHex(); + if ( this.shininess !== undefined ) data.shininess = this.shininess; + if ( this.clearcoat !== undefined ) data.clearcoat = this.clearcoat; + if ( this.clearcoatRoughness !== undefined ) data.clearcoatRoughness = this.clearcoatRoughness; + + if ( this.clearcoatMap && this.clearcoatMap.isTexture ) { + + data.clearcoatMap = this.clearcoatMap.toJSON( meta ).uuid; + + } + + if ( this.clearcoatRoughnessMap && this.clearcoatRoughnessMap.isTexture ) { + + data.clearcoatRoughnessMap = this.clearcoatRoughnessMap.toJSON( meta ).uuid; + + } + + if ( this.clearcoatNormalMap && this.clearcoatNormalMap.isTexture ) { + + data.clearcoatNormalMap = this.clearcoatNormalMap.toJSON( meta ).uuid; + data.clearcoatNormalScale = this.clearcoatNormalScale.toArray(); + + } + + if ( this.map && this.map.isTexture ) data.map = this.map.toJSON( meta ).uuid; + if ( this.matcap && this.matcap.isTexture ) data.matcap = this.matcap.toJSON( meta ).uuid; + if ( this.alphaMap && this.alphaMap.isTexture ) data.alphaMap = this.alphaMap.toJSON( meta ).uuid; + + if ( this.lightMap && this.lightMap.isTexture ) { + + data.lightMap = this.lightMap.toJSON( meta ).uuid; + data.lightMapIntensity = this.lightMapIntensity; + + } + + if ( this.aoMap && this.aoMap.isTexture ) { + + data.aoMap = this.aoMap.toJSON( meta ).uuid; + data.aoMapIntensity = this.aoMapIntensity; + + } + + if ( this.bumpMap && this.bumpMap.isTexture ) { + + data.bumpMap = this.bumpMap.toJSON( meta ).uuid; + data.bumpScale = this.bumpScale; + + } + + if ( this.normalMap && this.normalMap.isTexture ) { + + data.normalMap = this.normalMap.toJSON( meta ).uuid; + data.normalMapType = this.normalMapType; + data.normalScale = this.normalScale.toArray(); + + } + + if ( this.displacementMap && this.displacementMap.isTexture ) { + + data.displacementMap = this.displacementMap.toJSON( meta ).uuid; + data.displacementScale = this.displacementScale; + data.displacementBias = this.displacementBias; + + } + + if ( this.roughnessMap && this.roughnessMap.isTexture ) data.roughnessMap = this.roughnessMap.toJSON( meta ).uuid; + if ( this.metalnessMap && this.metalnessMap.isTexture ) data.metalnessMap = this.metalnessMap.toJSON( meta ).uuid; + + if ( this.emissiveMap && this.emissiveMap.isTexture ) data.emissiveMap = this.emissiveMap.toJSON( meta ).uuid; + if ( this.specularMap && this.specularMap.isTexture ) data.specularMap = this.specularMap.toJSON( meta ).uuid; + if ( this.specularIntensityMap && this.specularIntensityMap.isTexture ) data.specularIntensityMap = this.specularIntensityMap.toJSON( meta ).uuid; + if ( this.specularColorMap && this.specularColorMap.isTexture ) data.specularColorMap = this.specularColorMap.toJSON( meta ).uuid; + + if ( this.envMap && this.envMap.isTexture ) { + + data.envMap = this.envMap.toJSON( meta ).uuid; + + if ( this.combine !== undefined ) data.combine = this.combine; + + } + + if ( this.envMapIntensity !== undefined ) data.envMapIntensity = this.envMapIntensity; + if ( this.reflectivity !== undefined ) data.reflectivity = this.reflectivity; + if ( this.refractionRatio !== undefined ) data.refractionRatio = this.refractionRatio; + + if ( this.gradientMap && this.gradientMap.isTexture ) { + + data.gradientMap = this.gradientMap.toJSON( meta ).uuid; + + } + + if ( this.transmission !== undefined ) data.transmission = this.transmission; + if ( this.transmissionMap && this.transmissionMap.isTexture ) data.transmissionMap = this.transmissionMap.toJSON( meta ).uuid; + if ( this.thickness !== undefined ) data.thickness = this.thickness; + if ( this.thicknessMap && this.thicknessMap.isTexture ) data.thicknessMap = this.thicknessMap.toJSON( meta ).uuid; + if ( this.attenuationDistance !== undefined ) data.attenuationDistance = this.attenuationDistance; + if ( this.attenuationColor !== undefined ) data.attenuationColor = this.attenuationColor.getHex(); + + if ( this.size !== undefined ) data.size = this.size; + if ( this.shadowSide !== null ) data.shadowSide = this.shadowSide; + if ( this.sizeAttenuation !== undefined ) data.sizeAttenuation = this.sizeAttenuation; + + if ( this.blending !== NormalBlending ) data.blending = this.blending; + if ( this.side !== FrontSide ) data.side = this.side; + if ( this.vertexColors ) data.vertexColors = true; + + if ( this.opacity < 1 ) data.opacity = this.opacity; + if ( this.format !== RGBAFormat ) data.format = this.format; + if ( this.transparent === true ) data.transparent = this.transparent; + + data.depthFunc = this.depthFunc; + data.depthTest = this.depthTest; + data.depthWrite = this.depthWrite; + data.colorWrite = this.colorWrite; + + data.stencilWrite = this.stencilWrite; + data.stencilWriteMask = this.stencilWriteMask; + data.stencilFunc = this.stencilFunc; + data.stencilRef = this.stencilRef; + data.stencilFuncMask = this.stencilFuncMask; + data.stencilFail = this.stencilFail; + data.stencilZFail = this.stencilZFail; + data.stencilZPass = this.stencilZPass; + + // rotation (SpriteMaterial) + if ( this.rotation && this.rotation !== 0 ) data.rotation = this.rotation; + + if ( this.polygonOffset === true ) data.polygonOffset = true; + if ( this.polygonOffsetFactor !== 0 ) data.polygonOffsetFactor = this.polygonOffsetFactor; + if ( this.polygonOffsetUnits !== 0 ) data.polygonOffsetUnits = this.polygonOffsetUnits; + + if ( this.linewidth && this.linewidth !== 1 ) data.linewidth = this.linewidth; + if ( this.dashSize !== undefined ) data.dashSize = this.dashSize; + if ( this.gapSize !== undefined ) data.gapSize = this.gapSize; + if ( this.scale !== undefined ) data.scale = this.scale; + + if ( this.dithering === true ) data.dithering = true; + + if ( this.alphaTest > 0 ) data.alphaTest = this.alphaTest; + if ( this.alphaToCoverage === true ) data.alphaToCoverage = this.alphaToCoverage; + if ( this.premultipliedAlpha === true ) data.premultipliedAlpha = this.premultipliedAlpha; + + if ( this.wireframe === true ) data.wireframe = this.wireframe; + if ( this.wireframeLinewidth > 1 ) data.wireframeLinewidth = this.wireframeLinewidth; + if ( this.wireframeLinecap !== 'round' ) data.wireframeLinecap = this.wireframeLinecap; + if ( this.wireframeLinejoin !== 'round' ) data.wireframeLinejoin = this.wireframeLinejoin; + + if ( this.flatShading === true ) data.flatShading = this.flatShading; + + if ( this.visible === false ) data.visible = false; + + if ( this.toneMapped === false ) data.toneMapped = false; + + if ( JSON.stringify( this.userData ) !== '{}' ) data.userData = this.userData; + + // TODO: Copied from Object3D.toJSON + + function extractFromCache( cache ) { + + const values = []; + + for ( const key in cache ) { + + const data = cache[ key ]; + delete data.metadata; + values.push( data ); + + } + + return values; + + } + + if ( isRoot ) { + + const textures = extractFromCache( meta.textures ); + const images = extractFromCache( meta.images ); + + if ( textures.length > 0 ) data.textures = textures; + if ( images.length > 0 ) data.images = images; + + } + + return data; + + } + + clone() { + + return new this.constructor().copy( this ); + + } + + copy( source ) { + + this.name = source.name; + + this.fog = source.fog; + + this.blending = source.blending; + this.side = source.side; + this.vertexColors = source.vertexColors; + + this.opacity = source.opacity; + this.format = source.format; + this.transparent = source.transparent; + + this.blendSrc = source.blendSrc; + this.blendDst = source.blendDst; + this.blendEquation = source.blendEquation; + this.blendSrcAlpha = source.blendSrcAlpha; + this.blendDstAlpha = source.blendDstAlpha; + this.blendEquationAlpha = source.blendEquationAlpha; + + this.depthFunc = source.depthFunc; + this.depthTest = source.depthTest; + this.depthWrite = source.depthWrite; + + this.stencilWriteMask = source.stencilWriteMask; + this.stencilFunc = source.stencilFunc; + this.stencilRef = source.stencilRef; + this.stencilFuncMask = source.stencilFuncMask; + this.stencilFail = source.stencilFail; + this.stencilZFail = source.stencilZFail; + this.stencilZPass = source.stencilZPass; + this.stencilWrite = source.stencilWrite; + + const srcPlanes = source.clippingPlanes; + let dstPlanes = null; + + if ( srcPlanes !== null ) { + + const n = srcPlanes.length; + dstPlanes = new Array( n ); + + for ( let i = 0; i !== n; ++ i ) { + + dstPlanes[ i ] = srcPlanes[ i ].clone(); + + } + + } + + this.clippingPlanes = dstPlanes; + this.clipIntersection = source.clipIntersection; + this.clipShadows = source.clipShadows; + + this.shadowSide = source.shadowSide; + + this.colorWrite = source.colorWrite; + + this.precision = source.precision; + + this.polygonOffset = source.polygonOffset; + this.polygonOffsetFactor = source.polygonOffsetFactor; + this.polygonOffsetUnits = source.polygonOffsetUnits; + + this.dithering = source.dithering; + + this.alphaTest = source.alphaTest; + this.alphaToCoverage = source.alphaToCoverage; + this.premultipliedAlpha = source.premultipliedAlpha; + + this.visible = source.visible; + + this.toneMapped = source.toneMapped; + + this.userData = JSON.parse( JSON.stringify( source.userData ) ); + + return this; + + } + + dispose() { + + this.dispatchEvent( { type: 'dispose' } ); + + } + + set needsUpdate( value ) { + + if ( value === true ) this.version ++; + + } + +} + +Material.prototype.isMaterial = true; + +const _colorKeywords = { 'aliceblue': 0xF0F8FF, 'antiquewhite': 0xFAEBD7, 'aqua': 0x00FFFF, 'aquamarine': 0x7FFFD4, 'azure': 0xF0FFFF, + 'beige': 0xF5F5DC, 'bisque': 0xFFE4C4, 'black': 0x000000, 'blanchedalmond': 0xFFEBCD, 'blue': 0x0000FF, 'blueviolet': 0x8A2BE2, + 'brown': 0xA52A2A, 'burlywood': 0xDEB887, 'cadetblue': 0x5F9EA0, 'chartreuse': 0x7FFF00, 'chocolate': 0xD2691E, 'coral': 0xFF7F50, + 'cornflowerblue': 0x6495ED, 'cornsilk': 0xFFF8DC, 'crimson': 0xDC143C, 'cyan': 0x00FFFF, 'darkblue': 0x00008B, 'darkcyan': 0x008B8B, + 'darkgoldenrod': 0xB8860B, 'darkgray': 0xA9A9A9, 'darkgreen': 0x006400, 'darkgrey': 0xA9A9A9, 'darkkhaki': 0xBDB76B, 'darkmagenta': 0x8B008B, + 'darkolivegreen': 0x556B2F, 'darkorange': 0xFF8C00, 'darkorchid': 0x9932CC, 'darkred': 0x8B0000, 'darksalmon': 0xE9967A, 'darkseagreen': 0x8FBC8F, + 'darkslateblue': 0x483D8B, 'darkslategray': 0x2F4F4F, 'darkslategrey': 0x2F4F4F, 'darkturquoise': 0x00CED1, 'darkviolet': 0x9400D3, + 'deeppink': 0xFF1493, 'deepskyblue': 0x00BFFF, 'dimgray': 0x696969, 'dimgrey': 0x696969, 'dodgerblue': 0x1E90FF, 'firebrick': 0xB22222, + 'floralwhite': 0xFFFAF0, 'forestgreen': 0x228B22, 'fuchsia': 0xFF00FF, 'gainsboro': 0xDCDCDC, 'ghostwhite': 0xF8F8FF, 'gold': 0xFFD700, + 'goldenrod': 0xDAA520, 'gray': 0x808080, 'green': 0x008000, 'greenyellow': 0xADFF2F, 'grey': 0x808080, 'honeydew': 0xF0FFF0, 'hotpink': 0xFF69B4, + 'indianred': 0xCD5C5C, 'indigo': 0x4B0082, 'ivory': 0xFFFFF0, 'khaki': 0xF0E68C, 'lavender': 0xE6E6FA, 'lavenderblush': 0xFFF0F5, 'lawngreen': 0x7CFC00, + 'lemonchiffon': 0xFFFACD, 'lightblue': 0xADD8E6, 'lightcoral': 0xF08080, 'lightcyan': 0xE0FFFF, 'lightgoldenrodyellow': 0xFAFAD2, 'lightgray': 0xD3D3D3, + 'lightgreen': 0x90EE90, 'lightgrey': 0xD3D3D3, 'lightpink': 0xFFB6C1, 'lightsalmon': 0xFFA07A, 'lightseagreen': 0x20B2AA, 'lightskyblue': 0x87CEFA, + 'lightslategray': 0x778899, 'lightslategrey': 0x778899, 'lightsteelblue': 0xB0C4DE, 'lightyellow': 0xFFFFE0, 'lime': 0x00FF00, 'limegreen': 0x32CD32, + 'linen': 0xFAF0E6, 'magenta': 0xFF00FF, 'maroon': 0x800000, 'mediumaquamarine': 0x66CDAA, 'mediumblue': 0x0000CD, 'mediumorchid': 0xBA55D3, + 'mediumpurple': 0x9370DB, 'mediumseagreen': 0x3CB371, 'mediumslateblue': 0x7B68EE, 'mediumspringgreen': 0x00FA9A, 'mediumturquoise': 0x48D1CC, + 'mediumvioletred': 0xC71585, 'midnightblue': 0x191970, 'mintcream': 0xF5FFFA, 'mistyrose': 0xFFE4E1, 'moccasin': 0xFFE4B5, 'navajowhite': 0xFFDEAD, + 'navy': 0x000080, 'oldlace': 0xFDF5E6, 'olive': 0x808000, 'olivedrab': 0x6B8E23, 'orange': 0xFFA500, 'orangered': 0xFF4500, 'orchid': 0xDA70D6, + 'palegoldenrod': 0xEEE8AA, 'palegreen': 0x98FB98, 'paleturquoise': 0xAFEEEE, 'palevioletred': 0xDB7093, 'papayawhip': 0xFFEFD5, 'peachpuff': 0xFFDAB9, + 'peru': 0xCD853F, 'pink': 0xFFC0CB, 'plum': 0xDDA0DD, 'powderblue': 0xB0E0E6, 'purple': 0x800080, 'rebeccapurple': 0x663399, 'red': 0xFF0000, 'rosybrown': 0xBC8F8F, + 'royalblue': 0x4169E1, 'saddlebrown': 0x8B4513, 'salmon': 0xFA8072, 'sandybrown': 0xF4A460, 'seagreen': 0x2E8B57, 'seashell': 0xFFF5EE, + 'sienna': 0xA0522D, 'silver': 0xC0C0C0, 'skyblue': 0x87CEEB, 'slateblue': 0x6A5ACD, 'slategray': 0x708090, 'slategrey': 0x708090, 'snow': 0xFFFAFA, + 'springgreen': 0x00FF7F, 'steelblue': 0x4682B4, 'tan': 0xD2B48C, 'teal': 0x008080, 'thistle': 0xD8BFD8, 'tomato': 0xFF6347, 'turquoise': 0x40E0D0, + 'violet': 0xEE82EE, 'wheat': 0xF5DEB3, 'white': 0xFFFFFF, 'whitesmoke': 0xF5F5F5, 'yellow': 0xFFFF00, 'yellowgreen': 0x9ACD32 }; + +const _hslA = { h: 0, s: 0, l: 0 }; +const _hslB = { h: 0, s: 0, l: 0 }; + +function hue2rgb( p, q, t ) { + + if ( t < 0 ) t += 1; + if ( t > 1 ) t -= 1; + if ( t < 1 / 6 ) return p + ( q - p ) * 6 * t; + if ( t < 1 / 2 ) return q; + if ( t < 2 / 3 ) return p + ( q - p ) * 6 * ( 2 / 3 - t ); + return p; + +} + +function SRGBToLinear( c ) { + + return ( c < 0.04045 ) ? c * 0.0773993808 : Math.pow( c * 0.9478672986 + 0.0521327014, 2.4 ); + +} + +function LinearToSRGB( c ) { + + return ( c < 0.0031308 ) ? c * 12.92 : 1.055 * ( Math.pow( c, 0.41666 ) ) - 0.055; + +} + +class Color { + + constructor( r, g, b ) { + + if ( g === undefined && b === undefined ) { + + // r is THREE.Color, hex or string + return this.set( r ); + + } + + return this.setRGB( r, g, b ); + + } + + set( value ) { + + if ( value && value.isColor ) { + + this.copy( value ); + + } else if ( typeof value === 'number' ) { + + this.setHex( value ); + + } else if ( typeof value === 'string' ) { + + this.setStyle( value ); + + } + + return this; + + } + + setScalar( scalar ) { + + this.r = scalar; + this.g = scalar; + this.b = scalar; + + return this; + + } + + setHex( hex ) { + + hex = Math.floor( hex ); + + this.r = ( hex >> 16 & 255 ) / 255; + this.g = ( hex >> 8 & 255 ) / 255; + this.b = ( hex & 255 ) / 255; + + return this; + + } + + setRGB( r, g, b ) { + + this.r = r; + this.g = g; + this.b = b; + + return this; + + } + + setHSL( h, s, l ) { + + // h,s,l ranges are in 0.0 - 1.0 + h = euclideanModulo( h, 1 ); + s = clamp( s, 0, 1 ); + l = clamp( l, 0, 1 ); + + if ( s === 0 ) { + + this.r = this.g = this.b = l; + + } else { + + const p = l <= 0.5 ? l * ( 1 + s ) : l + s - ( l * s ); + const q = ( 2 * l ) - p; + + this.r = hue2rgb( q, p, h + 1 / 3 ); + this.g = hue2rgb( q, p, h ); + this.b = hue2rgb( q, p, h - 1 / 3 ); + + } + + return this; + + } + + setStyle( style ) { + + function handleAlpha( string ) { + + if ( string === undefined ) return; + + if ( parseFloat( string ) < 1 ) { + + console.warn( 'THREE.Color: Alpha component of ' + style + ' will be ignored.' ); + + } + + } + + + let m; + + if ( m = /^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec( style ) ) { + + // rgb / hsl + + let color; + const name = m[ 1 ]; + const components = m[ 2 ]; + + switch ( name ) { + + case 'rgb': + case 'rgba': + + if ( color = /^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec( components ) ) { + + // rgb(255,0,0) rgba(255,0,0,0.5) + this.r = Math.min( 255, parseInt( color[ 1 ], 10 ) ) / 255; + this.g = Math.min( 255, parseInt( color[ 2 ], 10 ) ) / 255; + this.b = Math.min( 255, parseInt( color[ 3 ], 10 ) ) / 255; + + handleAlpha( color[ 4 ] ); + + return this; + + } + + if ( color = /^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec( components ) ) { + + // rgb(100%,0%,0%) rgba(100%,0%,0%,0.5) + this.r = Math.min( 100, parseInt( color[ 1 ], 10 ) ) / 100; + this.g = Math.min( 100, parseInt( color[ 2 ], 10 ) ) / 100; + this.b = Math.min( 100, parseInt( color[ 3 ], 10 ) ) / 100; + + handleAlpha( color[ 4 ] ); + + return this; + + } + + break; + + case 'hsl': + case 'hsla': + + if ( color = /^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec( components ) ) { + + // hsl(120,50%,50%) hsla(120,50%,50%,0.5) + const h = parseFloat( color[ 1 ] ) / 360; + const s = parseInt( color[ 2 ], 10 ) / 100; + const l = parseInt( color[ 3 ], 10 ) / 100; + + handleAlpha( color[ 4 ] ); + + return this.setHSL( h, s, l ); + + } + + break; + + } + + } else if ( m = /^\#([A-Fa-f\d]+)$/.exec( style ) ) { + + // hex color + + const hex = m[ 1 ]; + const size = hex.length; + + if ( size === 3 ) { + + // #ff0 + this.r = parseInt( hex.charAt( 0 ) + hex.charAt( 0 ), 16 ) / 255; + this.g = parseInt( hex.charAt( 1 ) + hex.charAt( 1 ), 16 ) / 255; + this.b = parseInt( hex.charAt( 2 ) + hex.charAt( 2 ), 16 ) / 255; + + return this; + + } else if ( size === 6 ) { + + // #ff0000 + this.r = parseInt( hex.charAt( 0 ) + hex.charAt( 1 ), 16 ) / 255; + this.g = parseInt( hex.charAt( 2 ) + hex.charAt( 3 ), 16 ) / 255; + this.b = parseInt( hex.charAt( 4 ) + hex.charAt( 5 ), 16 ) / 255; + + return this; + + } + + } + + if ( style && style.length > 0 ) { + + return this.setColorName( style ); + + } + + return this; + + } + + setColorName( style ) { + + // color keywords + const hex = _colorKeywords[ style.toLowerCase() ]; + + if ( hex !== undefined ) { + + // red + this.setHex( hex ); + + } else { + + // unknown color + console.warn( 'THREE.Color: Unknown color ' + style ); + + } + + return this; + + } + + clone() { + + return new this.constructor( this.r, this.g, this.b ); + + } + + copy( color ) { + + this.r = color.r; + this.g = color.g; + this.b = color.b; + + return this; + + } + + copySRGBToLinear( color ) { + + this.r = SRGBToLinear( color.r ); + this.g = SRGBToLinear( color.g ); + this.b = SRGBToLinear( color.b ); + + return this; + + } + + copyLinearToSRGB( color ) { + + this.r = LinearToSRGB( color.r ); + this.g = LinearToSRGB( color.g ); + this.b = LinearToSRGB( color.b ); + + return this; + + } + + convertSRGBToLinear() { + + this.copySRGBToLinear( this ); + + return this; + + } + + convertLinearToSRGB() { + + this.copyLinearToSRGB( this ); + + return this; + + } + + getHex() { + + return ( this.r * 255 ) << 16 ^ ( this.g * 255 ) << 8 ^ ( this.b * 255 ) << 0; + + } + + getHexString() { + + return ( '000000' + this.getHex().toString( 16 ) ).slice( - 6 ); + + } + + getHSL( target ) { + + // h,s,l ranges are in 0.0 - 1.0 + + const r = this.r, g = this.g, b = this.b; + + const max = Math.max( r, g, b ); + const min = Math.min( r, g, b ); + + let hue, saturation; + const lightness = ( min + max ) / 2.0; + + if ( min === max ) { + + hue = 0; + saturation = 0; + + } else { + + const delta = max - min; + + saturation = lightness <= 0.5 ? delta / ( max + min ) : delta / ( 2 - max - min ); + + switch ( max ) { + + case r: hue = ( g - b ) / delta + ( g < b ? 6 : 0 ); break; + case g: hue = ( b - r ) / delta + 2; break; + case b: hue = ( r - g ) / delta + 4; break; + + } + + hue /= 6; + + } + + target.h = hue; + target.s = saturation; + target.l = lightness; + + return target; + + } + + getStyle() { + + return 'rgb(' + ( ( this.r * 255 ) | 0 ) + ',' + ( ( this.g * 255 ) | 0 ) + ',' + ( ( this.b * 255 ) | 0 ) + ')'; + + } + + offsetHSL( h, s, l ) { + + this.getHSL( _hslA ); + + _hslA.h += h; _hslA.s += s; _hslA.l += l; + + this.setHSL( _hslA.h, _hslA.s, _hslA.l ); + + return this; + + } + + add( color ) { + + this.r += color.r; + this.g += color.g; + this.b += color.b; + + return this; + + } + + addColors( color1, color2 ) { + + this.r = color1.r + color2.r; + this.g = color1.g + color2.g; + this.b = color1.b + color2.b; + + return this; + + } + + addScalar( s ) { + + this.r += s; + this.g += s; + this.b += s; + + return this; + + } + + sub( color ) { + + this.r = Math.max( 0, this.r - color.r ); + this.g = Math.max( 0, this.g - color.g ); + this.b = Math.max( 0, this.b - color.b ); + + return this; + + } + + multiply( color ) { + + this.r *= color.r; + this.g *= color.g; + this.b *= color.b; + + return this; + + } + + multiplyScalar( s ) { + + this.r *= s; + this.g *= s; + this.b *= s; + + return this; + + } + + lerp( color, alpha ) { + + this.r += ( color.r - this.r ) * alpha; + this.g += ( color.g - this.g ) * alpha; + this.b += ( color.b - this.b ) * alpha; + + return this; + + } + + lerpColors( color1, color2, alpha ) { + + this.r = color1.r + ( color2.r - color1.r ) * alpha; + this.g = color1.g + ( color2.g - color1.g ) * alpha; + this.b = color1.b + ( color2.b - color1.b ) * alpha; + + return this; + + } + + lerpHSL( color, alpha ) { + + this.getHSL( _hslA ); + color.getHSL( _hslB ); + + const h = lerp( _hslA.h, _hslB.h, alpha ); + const s = lerp( _hslA.s, _hslB.s, alpha ); + const l = lerp( _hslA.l, _hslB.l, alpha ); + + this.setHSL( h, s, l ); + + return this; + + } + + equals( c ) { + + return ( c.r === this.r ) && ( c.g === this.g ) && ( c.b === this.b ); + + } + + fromArray( array, offset = 0 ) { + + this.r = array[ offset ]; + this.g = array[ offset + 1 ]; + this.b = array[ offset + 2 ]; + + return this; + + } + + toArray( array = [], offset = 0 ) { + + array[ offset ] = this.r; + array[ offset + 1 ] = this.g; + array[ offset + 2 ] = this.b; + + return array; + + } + + fromBufferAttribute( attribute, index ) { + + this.r = attribute.getX( index ); + this.g = attribute.getY( index ); + this.b = attribute.getZ( index ); + + if ( attribute.normalized === true ) { + + // assuming Uint8Array + + this.r /= 255; + this.g /= 255; + this.b /= 255; + + } + + return this; + + } + + toJSON() { + + return this.getHex(); + + } + +} + +Color.NAMES = _colorKeywords; + +Color.prototype.isColor = true; +Color.prototype.r = 1; +Color.prototype.g = 1; +Color.prototype.b = 1; + +/** + * parameters = { + * color: , + * opacity: , + * map: new THREE.Texture( ), + * + * lightMap: new THREE.Texture( ), + * lightMapIntensity: + * + * aoMap: new THREE.Texture( ), + * aoMapIntensity: + * + * specularMap: new THREE.Texture( ), + * + * alphaMap: new THREE.Texture( ), + * + * envMap: new THREE.CubeTexture( [posx, negx, posy, negy, posz, negz] ), + * combine: THREE.Multiply, + * reflectivity: , + * refractionRatio: , + * + * depthTest: , + * depthWrite: , + * + * wireframe: , + * wireframeLinewidth: , + * } + */ + +class MeshBasicMaterial extends Material { + + constructor( parameters ) { + + super(); + + this.type = 'MeshBasicMaterial'; + + this.color = new Color( 0xffffff ); // emissive + + this.map = null; + + this.lightMap = null; + this.lightMapIntensity = 1.0; + + this.aoMap = null; + this.aoMapIntensity = 1.0; + + this.specularMap = null; + + this.alphaMap = null; + + this.envMap = null; + this.combine = MultiplyOperation; + this.reflectivity = 1; + this.refractionRatio = 0.98; + + this.wireframe = false; + this.wireframeLinewidth = 1; + this.wireframeLinecap = 'round'; + this.wireframeLinejoin = 'round'; + + this.setValues( parameters ); + + } + + copy( source ) { + + super.copy( source ); + + this.color.copy( source.color ); + + this.map = source.map; + + this.lightMap = source.lightMap; + this.lightMapIntensity = source.lightMapIntensity; + + this.aoMap = source.aoMap; + this.aoMapIntensity = source.aoMapIntensity; + + this.specularMap = source.specularMap; + + this.alphaMap = source.alphaMap; + + this.envMap = source.envMap; + this.combine = source.combine; + this.reflectivity = source.reflectivity; + this.refractionRatio = source.refractionRatio; + + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.wireframeLinecap = source.wireframeLinecap; + this.wireframeLinejoin = source.wireframeLinejoin; + + return this; + + } + +} + +MeshBasicMaterial.prototype.isMeshBasicMaterial = true; + +const _vector$9 = /*@__PURE__*/ new Vector3(); +const _vector2$1 = /*@__PURE__*/ new Vector2(); + +class BufferAttribute { + + constructor( array, itemSize, normalized ) { + + if ( Array.isArray( array ) ) { + + throw new TypeError( 'THREE.BufferAttribute: array should be a Typed Array.' ); + + } + + this.name = ''; + + this.array = array; + this.itemSize = itemSize; + this.count = array !== undefined ? array.length / itemSize : 0; + this.normalized = normalized === true; + + this.usage = StaticDrawUsage; + this.updateRange = { offset: 0, count: - 1 }; + + this.version = 0; + + } + + onUploadCallback() {} + + set needsUpdate( value ) { + + if ( value === true ) this.version ++; + + } + + setUsage( value ) { + + this.usage = value; + + return this; + + } + + copy( source ) { + + this.name = source.name; + this.array = new source.array.constructor( source.array ); + this.itemSize = source.itemSize; + this.count = source.count; + this.normalized = source.normalized; + + this.usage = source.usage; + + return this; + + } + + copyAt( index1, attribute, index2 ) { + + index1 *= this.itemSize; + index2 *= attribute.itemSize; + + for ( let i = 0, l = this.itemSize; i < l; i ++ ) { + + this.array[ index1 + i ] = attribute.array[ index2 + i ]; + + } + + return this; + + } + + copyArray( array ) { + + this.array.set( array ); + + return this; + + } + + copyColorsArray( colors ) { + + const array = this.array; + let offset = 0; + + for ( let i = 0, l = colors.length; i < l; i ++ ) { + + let color = colors[ i ]; + + if ( color === undefined ) { + + console.warn( 'THREE.BufferAttribute.copyColorsArray(): color is undefined', i ); + color = new Color(); + + } + + array[ offset ++ ] = color.r; + array[ offset ++ ] = color.g; + array[ offset ++ ] = color.b; + + } + + return this; + + } + + copyVector2sArray( vectors ) { + + const array = this.array; + let offset = 0; + + for ( let i = 0, l = vectors.length; i < l; i ++ ) { + + let vector = vectors[ i ]; + + if ( vector === undefined ) { + + console.warn( 'THREE.BufferAttribute.copyVector2sArray(): vector is undefined', i ); + vector = new Vector2(); + + } + + array[ offset ++ ] = vector.x; + array[ offset ++ ] = vector.y; + + } + + return this; + + } + + copyVector3sArray( vectors ) { + + const array = this.array; + let offset = 0; + + for ( let i = 0, l = vectors.length; i < l; i ++ ) { + + let vector = vectors[ i ]; + + if ( vector === undefined ) { + + console.warn( 'THREE.BufferAttribute.copyVector3sArray(): vector is undefined', i ); + vector = new Vector3(); + + } + + array[ offset ++ ] = vector.x; + array[ offset ++ ] = vector.y; + array[ offset ++ ] = vector.z; + + } + + return this; + + } + + copyVector4sArray( vectors ) { + + const array = this.array; + let offset = 0; + + for ( let i = 0, l = vectors.length; i < l; i ++ ) { + + let vector = vectors[ i ]; + + if ( vector === undefined ) { + + console.warn( 'THREE.BufferAttribute.copyVector4sArray(): vector is undefined', i ); + vector = new Vector4(); + + } + + array[ offset ++ ] = vector.x; + array[ offset ++ ] = vector.y; + array[ offset ++ ] = vector.z; + array[ offset ++ ] = vector.w; + + } + + return this; + + } + + applyMatrix3( m ) { + + if ( this.itemSize === 2 ) { + + for ( let i = 0, l = this.count; i < l; i ++ ) { + + _vector2$1.fromBufferAttribute( this, i ); + _vector2$1.applyMatrix3( m ); + + this.setXY( i, _vector2$1.x, _vector2$1.y ); + + } + + } else if ( this.itemSize === 3 ) { + + for ( let i = 0, l = this.count; i < l; i ++ ) { + + _vector$9.fromBufferAttribute( this, i ); + _vector$9.applyMatrix3( m ); + + this.setXYZ( i, _vector$9.x, _vector$9.y, _vector$9.z ); + + } + + } + + return this; + + } + + applyMatrix4( m ) { + + for ( let i = 0, l = this.count; i < l; i ++ ) { + + _vector$9.x = this.getX( i ); + _vector$9.y = this.getY( i ); + _vector$9.z = this.getZ( i ); + + _vector$9.applyMatrix4( m ); + + this.setXYZ( i, _vector$9.x, _vector$9.y, _vector$9.z ); + + } + + return this; + + } + + applyNormalMatrix( m ) { + + for ( let i = 0, l = this.count; i < l; i ++ ) { + + _vector$9.x = this.getX( i ); + _vector$9.y = this.getY( i ); + _vector$9.z = this.getZ( i ); + + _vector$9.applyNormalMatrix( m ); + + this.setXYZ( i, _vector$9.x, _vector$9.y, _vector$9.z ); + + } + + return this; + + } + + transformDirection( m ) { + + for ( let i = 0, l = this.count; i < l; i ++ ) { + + _vector$9.x = this.getX( i ); + _vector$9.y = this.getY( i ); + _vector$9.z = this.getZ( i ); + + _vector$9.transformDirection( m ); + + this.setXYZ( i, _vector$9.x, _vector$9.y, _vector$9.z ); + + } + + return this; + + } + + set( value, offset = 0 ) { + + this.array.set( value, offset ); + + return this; + + } + + getX( index ) { + + return this.array[ index * this.itemSize ]; + + } + + setX( index, x ) { + + this.array[ index * this.itemSize ] = x; + + return this; + + } + + getY( index ) { + + return this.array[ index * this.itemSize + 1 ]; + + } + + setY( index, y ) { + + this.array[ index * this.itemSize + 1 ] = y; + + return this; + + } + + getZ( index ) { + + return this.array[ index * this.itemSize + 2 ]; + + } + + setZ( index, z ) { + + this.array[ index * this.itemSize + 2 ] = z; + + return this; + + } + + getW( index ) { + + return this.array[ index * this.itemSize + 3 ]; + + } + + setW( index, w ) { + + this.array[ index * this.itemSize + 3 ] = w; + + return this; + + } + + setXY( index, x, y ) { + + index *= this.itemSize; + + this.array[ index + 0 ] = x; + this.array[ index + 1 ] = y; + + return this; + + } + + setXYZ( index, x, y, z ) { + + index *= this.itemSize; + + this.array[ index + 0 ] = x; + this.array[ index + 1 ] = y; + this.array[ index + 2 ] = z; + + return this; + + } + + setXYZW( index, x, y, z, w ) { + + index *= this.itemSize; + + this.array[ index + 0 ] = x; + this.array[ index + 1 ] = y; + this.array[ index + 2 ] = z; + this.array[ index + 3 ] = w; + + return this; + + } + + onUpload( callback ) { + + this.onUploadCallback = callback; + + return this; + + } + + clone() { + + return new this.constructor( this.array, this.itemSize ).copy( this ); + + } + + toJSON() { + + const data = { + itemSize: this.itemSize, + type: this.array.constructor.name, + array: Array.prototype.slice.call( this.array ), + normalized: this.normalized + }; + + if ( this.name !== '' ) data.name = this.name; + if ( this.usage !== StaticDrawUsage ) data.usage = this.usage; + if ( this.updateRange.offset !== 0 || this.updateRange.count !== - 1 ) data.updateRange = this.updateRange; + + return data; + + } + +} + +BufferAttribute.prototype.isBufferAttribute = true; + +// + +class Int8BufferAttribute extends BufferAttribute { + + constructor( array, itemSize, normalized ) { + + super( new Int8Array( array ), itemSize, normalized ); + + } + +} + +class Uint8BufferAttribute extends BufferAttribute { + + constructor( array, itemSize, normalized ) { + + super( new Uint8Array( array ), itemSize, normalized ); + + } + +} + +class Uint8ClampedBufferAttribute extends BufferAttribute { + + constructor( array, itemSize, normalized ) { + + super( new Uint8ClampedArray( array ), itemSize, normalized ); + + } + +} + +class Int16BufferAttribute extends BufferAttribute { + + constructor( array, itemSize, normalized ) { + + super( new Int16Array( array ), itemSize, normalized ); + + } + +} + +class Uint16BufferAttribute extends BufferAttribute { + + constructor( array, itemSize, normalized ) { + + super( new Uint16Array( array ), itemSize, normalized ); + + } + +} + +class Int32BufferAttribute extends BufferAttribute { + + constructor( array, itemSize, normalized ) { + + super( new Int32Array( array ), itemSize, normalized ); + + } + +} + +class Uint32BufferAttribute extends BufferAttribute { + + constructor( array, itemSize, normalized ) { + + super( new Uint32Array( array ), itemSize, normalized ); + + } + +} + +class Float16BufferAttribute extends BufferAttribute { + + constructor( array, itemSize, normalized ) { + + super( new Uint16Array( array ), itemSize, normalized ); + + } + +} + +Float16BufferAttribute.prototype.isFloat16BufferAttribute = true; + +class Float32BufferAttribute extends BufferAttribute { + + constructor( array, itemSize, normalized ) { + + super( new Float32Array( array ), itemSize, normalized ); + + } + +} + +class Float64BufferAttribute extends BufferAttribute { + + constructor( array, itemSize, normalized ) { + + super( new Float64Array( array ), itemSize, normalized ); + + } + +} + +let _id$1 = 0; + +const _m1 = /*@__PURE__*/ new Matrix4(); +const _obj = /*@__PURE__*/ new Object3D(); +const _offset = /*@__PURE__*/ new Vector3(); +const _box$1 = /*@__PURE__*/ new Box3(); +const _boxMorphTargets = /*@__PURE__*/ new Box3(); +const _vector$8 = /*@__PURE__*/ new Vector3(); + +class BufferGeometry extends EventDispatcher { + + constructor() { + + super(); + + Object.defineProperty( this, 'id', { value: _id$1 ++ } ); + + this.uuid = generateUUID(); + + this.name = ''; + this.type = 'BufferGeometry'; + + this.index = null; + this.attributes = {}; + + this.morphAttributes = {}; + this.morphTargetsRelative = false; + + this.groups = []; + + this.boundingBox = null; + this.boundingSphere = null; + + this.drawRange = { start: 0, count: Infinity }; + + this.userData = {}; + + } + + getIndex() { + + return this.index; + + } + + setIndex( index ) { + + if ( Array.isArray( index ) ) { + + this.index = new ( arrayMax( index ) > 65535 ? Uint32BufferAttribute : Uint16BufferAttribute )( index, 1 ); + + } else { + + this.index = index; + + } + + return this; + + } + + getAttribute( name ) { + + return this.attributes[ name ]; + + } + + setAttribute( name, attribute ) { + + this.attributes[ name ] = attribute; + + return this; + + } + + deleteAttribute( name ) { + + delete this.attributes[ name ]; + + return this; + + } + + hasAttribute( name ) { + + return this.attributes[ name ] !== undefined; + + } + + addGroup( start, count, materialIndex = 0 ) { + + this.groups.push( { + + start: start, + count: count, + materialIndex: materialIndex + + } ); + + } + + clearGroups() { + + this.groups = []; + + } + + setDrawRange( start, count ) { + + this.drawRange.start = start; + this.drawRange.count = count; + + } + + applyMatrix4( matrix ) { + + const position = this.attributes.position; + + if ( position !== undefined ) { + + position.applyMatrix4( matrix ); + + position.needsUpdate = true; + + } + + const normal = this.attributes.normal; + + if ( normal !== undefined ) { + + const normalMatrix = new Matrix3().getNormalMatrix( matrix ); + + normal.applyNormalMatrix( normalMatrix ); + + normal.needsUpdate = true; + + } + + const tangent = this.attributes.tangent; + + if ( tangent !== undefined ) { + + tangent.transformDirection( matrix ); + + tangent.needsUpdate = true; + + } + + if ( this.boundingBox !== null ) { + + this.computeBoundingBox(); + + } + + if ( this.boundingSphere !== null ) { + + this.computeBoundingSphere(); + + } + + return this; + + } + + applyQuaternion( q ) { + + _m1.makeRotationFromQuaternion( q ); + + this.applyMatrix4( _m1 ); + + return this; + + } + + rotateX( angle ) { + + // rotate geometry around world x-axis + + _m1.makeRotationX( angle ); + + this.applyMatrix4( _m1 ); + + return this; + + } + + rotateY( angle ) { + + // rotate geometry around world y-axis + + _m1.makeRotationY( angle ); + + this.applyMatrix4( _m1 ); + + return this; + + } + + rotateZ( angle ) { + + // rotate geometry around world z-axis + + _m1.makeRotationZ( angle ); + + this.applyMatrix4( _m1 ); + + return this; + + } + + translate( x, y, z ) { + + // translate geometry + + _m1.makeTranslation( x, y, z ); + + this.applyMatrix4( _m1 ); + + return this; + + } + + scale( x, y, z ) { + + // scale geometry + + _m1.makeScale( x, y, z ); + + this.applyMatrix4( _m1 ); + + return this; + + } + + lookAt( vector ) { + + _obj.lookAt( vector ); + + _obj.updateMatrix(); + + this.applyMatrix4( _obj.matrix ); + + return this; + + } + + center() { + + this.computeBoundingBox(); + + this.boundingBox.getCenter( _offset ).negate(); + + this.translate( _offset.x, _offset.y, _offset.z ); + + return this; + + } + + setFromPoints( points ) { + + const position = []; + + for ( let i = 0, l = points.length; i < l; i ++ ) { + + const point = points[ i ]; + position.push( point.x, point.y, point.z || 0 ); + + } + + this.setAttribute( 'position', new Float32BufferAttribute( position, 3 ) ); + + return this; + + } + + computeBoundingBox() { + + if ( this.boundingBox === null ) { + + this.boundingBox = new Box3(); + + } + + const position = this.attributes.position; + const morphAttributesPosition = this.morphAttributes.position; + + if ( position && position.isGLBufferAttribute ) { + + console.error( 'THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set "mesh.frustumCulled" to "false".', this ); + + this.boundingBox.set( + new Vector3( - Infinity, - Infinity, - Infinity ), + new Vector3( + Infinity, + Infinity, + Infinity ) + ); + + return; + + } + + if ( position !== undefined ) { + + this.boundingBox.setFromBufferAttribute( position ); + + // process morph attributes if present + + if ( morphAttributesPosition ) { + + for ( let i = 0, il = morphAttributesPosition.length; i < il; i ++ ) { + + const morphAttribute = morphAttributesPosition[ i ]; + _box$1.setFromBufferAttribute( morphAttribute ); + + if ( this.morphTargetsRelative ) { + + _vector$8.addVectors( this.boundingBox.min, _box$1.min ); + this.boundingBox.expandByPoint( _vector$8 ); + + _vector$8.addVectors( this.boundingBox.max, _box$1.max ); + this.boundingBox.expandByPoint( _vector$8 ); + + } else { + + this.boundingBox.expandByPoint( _box$1.min ); + this.boundingBox.expandByPoint( _box$1.max ); + + } + + } + + } + + } else { + + this.boundingBox.makeEmpty(); + + } + + if ( isNaN( this.boundingBox.min.x ) || isNaN( this.boundingBox.min.y ) || isNaN( this.boundingBox.min.z ) ) { + + console.error( 'THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The "position" attribute is likely to have NaN values.', this ); + + } + + } + + computeBoundingSphere() { + + if ( this.boundingSphere === null ) { + + this.boundingSphere = new Sphere(); + + } + + const position = this.attributes.position; + const morphAttributesPosition = this.morphAttributes.position; + + if ( position && position.isGLBufferAttribute ) { + + console.error( 'THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set "mesh.frustumCulled" to "false".', this ); + + this.boundingSphere.set( new Vector3(), Infinity ); + + return; + + } + + if ( position ) { + + // first, find the center of the bounding sphere + + const center = this.boundingSphere.center; + + _box$1.setFromBufferAttribute( position ); + + // process morph attributes if present + + if ( morphAttributesPosition ) { + + for ( let i = 0, il = morphAttributesPosition.length; i < il; i ++ ) { + + const morphAttribute = morphAttributesPosition[ i ]; + _boxMorphTargets.setFromBufferAttribute( morphAttribute ); + + if ( this.morphTargetsRelative ) { + + _vector$8.addVectors( _box$1.min, _boxMorphTargets.min ); + _box$1.expandByPoint( _vector$8 ); + + _vector$8.addVectors( _box$1.max, _boxMorphTargets.max ); + _box$1.expandByPoint( _vector$8 ); + + } else { + + _box$1.expandByPoint( _boxMorphTargets.min ); + _box$1.expandByPoint( _boxMorphTargets.max ); + + } + + } + + } + + _box$1.getCenter( center ); + + // second, try to find a boundingSphere with a radius smaller than the + // boundingSphere of the boundingBox: sqrt(3) smaller in the best case + + let maxRadiusSq = 0; + + for ( let i = 0, il = position.count; i < il; i ++ ) { + + _vector$8.fromBufferAttribute( position, i ); + + maxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( _vector$8 ) ); + + } + + // process morph attributes if present + + if ( morphAttributesPosition ) { + + for ( let i = 0, il = morphAttributesPosition.length; i < il; i ++ ) { + + const morphAttribute = morphAttributesPosition[ i ]; + const morphTargetsRelative = this.morphTargetsRelative; + + for ( let j = 0, jl = morphAttribute.count; j < jl; j ++ ) { + + _vector$8.fromBufferAttribute( morphAttribute, j ); + + if ( morphTargetsRelative ) { + + _offset.fromBufferAttribute( position, j ); + _vector$8.add( _offset ); + + } + + maxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( _vector$8 ) ); + + } + + } + + } + + this.boundingSphere.radius = Math.sqrt( maxRadiusSq ); + + if ( isNaN( this.boundingSphere.radius ) ) { + + console.error( 'THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.', this ); + + } + + } + + } + + computeTangents() { + + const index = this.index; + const attributes = this.attributes; + + // based on http://www.terathon.com/code/tangent.html + // (per vertex tangents) + + if ( index === null || + attributes.position === undefined || + attributes.normal === undefined || + attributes.uv === undefined ) { + + console.error( 'THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)' ); + return; + + } + + const indices = index.array; + const positions = attributes.position.array; + const normals = attributes.normal.array; + const uvs = attributes.uv.array; + + const nVertices = positions.length / 3; + + if ( attributes.tangent === undefined ) { + + this.setAttribute( 'tangent', new BufferAttribute( new Float32Array( 4 * nVertices ), 4 ) ); + + } + + const tangents = attributes.tangent.array; + + const tan1 = [], tan2 = []; + + for ( let i = 0; i < nVertices; i ++ ) { + + tan1[ i ] = new Vector3(); + tan2[ i ] = new Vector3(); + + } + + const vA = new Vector3(), + vB = new Vector3(), + vC = new Vector3(), + + uvA = new Vector2(), + uvB = new Vector2(), + uvC = new Vector2(), + + sdir = new Vector3(), + tdir = new Vector3(); + + function handleTriangle( a, b, c ) { + + vA.fromArray( positions, a * 3 ); + vB.fromArray( positions, b * 3 ); + vC.fromArray( positions, c * 3 ); + + uvA.fromArray( uvs, a * 2 ); + uvB.fromArray( uvs, b * 2 ); + uvC.fromArray( uvs, c * 2 ); + + vB.sub( vA ); + vC.sub( vA ); + + uvB.sub( uvA ); + uvC.sub( uvA ); + + const r = 1.0 / ( uvB.x * uvC.y - uvC.x * uvB.y ); + + // silently ignore degenerate uv triangles having coincident or colinear vertices + + if ( ! isFinite( r ) ) return; + + sdir.copy( vB ).multiplyScalar( uvC.y ).addScaledVector( vC, - uvB.y ).multiplyScalar( r ); + tdir.copy( vC ).multiplyScalar( uvB.x ).addScaledVector( vB, - uvC.x ).multiplyScalar( r ); + + tan1[ a ].add( sdir ); + tan1[ b ].add( sdir ); + tan1[ c ].add( sdir ); + + tan2[ a ].add( tdir ); + tan2[ b ].add( tdir ); + tan2[ c ].add( tdir ); + + } + + let groups = this.groups; + + if ( groups.length === 0 ) { + + groups = [ { + start: 0, + count: indices.length + } ]; + + } + + for ( let i = 0, il = groups.length; i < il; ++ i ) { + + const group = groups[ i ]; + + const start = group.start; + const count = group.count; + + for ( let j = start, jl = start + count; j < jl; j += 3 ) { + + handleTriangle( + indices[ j + 0 ], + indices[ j + 1 ], + indices[ j + 2 ] + ); + + } + + } + + const tmp = new Vector3(), tmp2 = new Vector3(); + const n = new Vector3(), n2 = new Vector3(); + + function handleVertex( v ) { + + n.fromArray( normals, v * 3 ); + n2.copy( n ); + + const t = tan1[ v ]; + + // Gram-Schmidt orthogonalize + + tmp.copy( t ); + tmp.sub( n.multiplyScalar( n.dot( t ) ) ).normalize(); + + // Calculate handedness + + tmp2.crossVectors( n2, t ); + const test = tmp2.dot( tan2[ v ] ); + const w = ( test < 0.0 ) ? - 1.0 : 1.0; + + tangents[ v * 4 ] = tmp.x; + tangents[ v * 4 + 1 ] = tmp.y; + tangents[ v * 4 + 2 ] = tmp.z; + tangents[ v * 4 + 3 ] = w; + + } + + for ( let i = 0, il = groups.length; i < il; ++ i ) { + + const group = groups[ i ]; + + const start = group.start; + const count = group.count; + + for ( let j = start, jl = start + count; j < jl; j += 3 ) { + + handleVertex( indices[ j + 0 ] ); + handleVertex( indices[ j + 1 ] ); + handleVertex( indices[ j + 2 ] ); + + } + + } + + } + + computeVertexNormals() { + + const index = this.index; + const positionAttribute = this.getAttribute( 'position' ); + + if ( positionAttribute !== undefined ) { + + let normalAttribute = this.getAttribute( 'normal' ); + + if ( normalAttribute === undefined ) { + + normalAttribute = new BufferAttribute( new Float32Array( positionAttribute.count * 3 ), 3 ); + this.setAttribute( 'normal', normalAttribute ); + + } else { + + // reset existing normals to zero + + for ( let i = 0, il = normalAttribute.count; i < il; i ++ ) { + + normalAttribute.setXYZ( i, 0, 0, 0 ); + + } + + } + + const pA = new Vector3(), pB = new Vector3(), pC = new Vector3(); + const nA = new Vector3(), nB = new Vector3(), nC = new Vector3(); + const cb = new Vector3(), ab = new Vector3(); + + // indexed elements + + if ( index ) { + + for ( let i = 0, il = index.count; i < il; i += 3 ) { + + const vA = index.getX( i + 0 ); + const vB = index.getX( i + 1 ); + const vC = index.getX( i + 2 ); + + pA.fromBufferAttribute( positionAttribute, vA ); + pB.fromBufferAttribute( positionAttribute, vB ); + pC.fromBufferAttribute( positionAttribute, vC ); + + cb.subVectors( pC, pB ); + ab.subVectors( pA, pB ); + cb.cross( ab ); + + nA.fromBufferAttribute( normalAttribute, vA ); + nB.fromBufferAttribute( normalAttribute, vB ); + nC.fromBufferAttribute( normalAttribute, vC ); + + nA.add( cb ); + nB.add( cb ); + nC.add( cb ); + + normalAttribute.setXYZ( vA, nA.x, nA.y, nA.z ); + normalAttribute.setXYZ( vB, nB.x, nB.y, nB.z ); + normalAttribute.setXYZ( vC, nC.x, nC.y, nC.z ); + + } + + } else { + + // non-indexed elements (unconnected triangle soup) + + for ( let i = 0, il = positionAttribute.count; i < il; i += 3 ) { + + pA.fromBufferAttribute( positionAttribute, i + 0 ); + pB.fromBufferAttribute( positionAttribute, i + 1 ); + pC.fromBufferAttribute( positionAttribute, i + 2 ); + + cb.subVectors( pC, pB ); + ab.subVectors( pA, pB ); + cb.cross( ab ); + + normalAttribute.setXYZ( i + 0, cb.x, cb.y, cb.z ); + normalAttribute.setXYZ( i + 1, cb.x, cb.y, cb.z ); + normalAttribute.setXYZ( i + 2, cb.x, cb.y, cb.z ); + + } + + } + + this.normalizeNormals(); + + normalAttribute.needsUpdate = true; + + } + + } + + merge( geometry, offset ) { + + if ( ! ( geometry && geometry.isBufferGeometry ) ) { + + console.error( 'THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.', geometry ); + return; + + } + + if ( offset === undefined ) { + + offset = 0; + + console.warn( + 'THREE.BufferGeometry.merge(): Overwriting original geometry, starting at offset=0. ' + + 'Use BufferGeometryUtils.mergeBufferGeometries() for lossless merge.' + ); + + } + + const attributes = this.attributes; + + for ( const key in attributes ) { + + if ( geometry.attributes[ key ] === undefined ) continue; + + const attribute1 = attributes[ key ]; + const attributeArray1 = attribute1.array; + + const attribute2 = geometry.attributes[ key ]; + const attributeArray2 = attribute2.array; + + const attributeOffset = attribute2.itemSize * offset; + const length = Math.min( attributeArray2.length, attributeArray1.length - attributeOffset ); + + for ( let i = 0, j = attributeOffset; i < length; i ++, j ++ ) { + + attributeArray1[ j ] = attributeArray2[ i ]; + + } + + } + + return this; + + } + + normalizeNormals() { + + const normals = this.attributes.normal; + + for ( let i = 0, il = normals.count; i < il; i ++ ) { + + _vector$8.fromBufferAttribute( normals, i ); + + _vector$8.normalize(); + + normals.setXYZ( i, _vector$8.x, _vector$8.y, _vector$8.z ); + + } + + } + + toNonIndexed() { + + function convertBufferAttribute( attribute, indices ) { + + const array = attribute.array; + const itemSize = attribute.itemSize; + const normalized = attribute.normalized; + + const array2 = new array.constructor( indices.length * itemSize ); + + let index = 0, index2 = 0; + + for ( let i = 0, l = indices.length; i < l; i ++ ) { + + if ( attribute.isInterleavedBufferAttribute ) { + + index = indices[ i ] * attribute.data.stride + attribute.offset; + + } else { + + index = indices[ i ] * itemSize; + + } + + for ( let j = 0; j < itemSize; j ++ ) { + + array2[ index2 ++ ] = array[ index ++ ]; + + } + + } + + return new BufferAttribute( array2, itemSize, normalized ); + + } + + // + + if ( this.index === null ) { + + console.warn( 'THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed.' ); + return this; + + } + + const geometry2 = new BufferGeometry(); + + const indices = this.index.array; + const attributes = this.attributes; + + // attributes + + for ( const name in attributes ) { + + const attribute = attributes[ name ]; + + const newAttribute = convertBufferAttribute( attribute, indices ); + + geometry2.setAttribute( name, newAttribute ); + + } + + // morph attributes + + const morphAttributes = this.morphAttributes; + + for ( const name in morphAttributes ) { + + const morphArray = []; + const morphAttribute = morphAttributes[ name ]; // morphAttribute: array of Float32BufferAttributes + + for ( let i = 0, il = morphAttribute.length; i < il; i ++ ) { + + const attribute = morphAttribute[ i ]; + + const newAttribute = convertBufferAttribute( attribute, indices ); + + morphArray.push( newAttribute ); + + } + + geometry2.morphAttributes[ name ] = morphArray; + + } + + geometry2.morphTargetsRelative = this.morphTargetsRelative; + + // groups + + const groups = this.groups; + + for ( let i = 0, l = groups.length; i < l; i ++ ) { + + const group = groups[ i ]; + geometry2.addGroup( group.start, group.count, group.materialIndex ); + + } + + return geometry2; + + } + + toJSON() { + + const data = { + metadata: { + version: 4.5, + type: 'BufferGeometry', + generator: 'BufferGeometry.toJSON' + } + }; + + // standard BufferGeometry serialization + + data.uuid = this.uuid; + data.type = this.type; + if ( this.name !== '' ) data.name = this.name; + if ( Object.keys( this.userData ).length > 0 ) data.userData = this.userData; + + if ( this.parameters !== undefined ) { + + const parameters = this.parameters; + + for ( const key in parameters ) { + + if ( parameters[ key ] !== undefined ) data[ key ] = parameters[ key ]; + + } + + return data; + + } + + // for simplicity the code assumes attributes are not shared across geometries, see #15811 + + data.data = { attributes: {} }; + + const index = this.index; + + if ( index !== null ) { + + data.data.index = { + type: index.array.constructor.name, + array: Array.prototype.slice.call( index.array ) + }; + + } + + const attributes = this.attributes; + + for ( const key in attributes ) { + + const attribute = attributes[ key ]; + + data.data.attributes[ key ] = attribute.toJSON( data.data ); + + } + + const morphAttributes = {}; + let hasMorphAttributes = false; + + for ( const key in this.morphAttributes ) { + + const attributeArray = this.morphAttributes[ key ]; + + const array = []; + + for ( let i = 0, il = attributeArray.length; i < il; i ++ ) { + + const attribute = attributeArray[ i ]; + + array.push( attribute.toJSON( data.data ) ); + + } + + if ( array.length > 0 ) { + + morphAttributes[ key ] = array; + + hasMorphAttributes = true; + + } + + } + + if ( hasMorphAttributes ) { + + data.data.morphAttributes = morphAttributes; + data.data.morphTargetsRelative = this.morphTargetsRelative; + + } + + const groups = this.groups; + + if ( groups.length > 0 ) { + + data.data.groups = JSON.parse( JSON.stringify( groups ) ); + + } + + const boundingSphere = this.boundingSphere; + + if ( boundingSphere !== null ) { + + data.data.boundingSphere = { + center: boundingSphere.center.toArray(), + radius: boundingSphere.radius + }; + + } + + return data; + + } + + clone() { + + return new this.constructor().copy( this ); + + } + + copy( source ) { + + // reset + + this.index = null; + this.attributes = {}; + this.morphAttributes = {}; + this.groups = []; + this.boundingBox = null; + this.boundingSphere = null; + + // used for storing cloned, shared data + + const data = {}; + + // name + + this.name = source.name; + + // index + + const index = source.index; + + if ( index !== null ) { + + this.setIndex( index.clone( data ) ); + + } + + // attributes + + const attributes = source.attributes; + + for ( const name in attributes ) { + + const attribute = attributes[ name ]; + this.setAttribute( name, attribute.clone( data ) ); + + } + + // morph attributes + + const morphAttributes = source.morphAttributes; + + for ( const name in morphAttributes ) { + + const array = []; + const morphAttribute = morphAttributes[ name ]; // morphAttribute: array of Float32BufferAttributes + + for ( let i = 0, l = morphAttribute.length; i < l; i ++ ) { + + array.push( morphAttribute[ i ].clone( data ) ); + + } + + this.morphAttributes[ name ] = array; + + } + + this.morphTargetsRelative = source.morphTargetsRelative; + + // groups + + const groups = source.groups; + + for ( let i = 0, l = groups.length; i < l; i ++ ) { + + const group = groups[ i ]; + this.addGroup( group.start, group.count, group.materialIndex ); + + } + + // bounding box + + const boundingBox = source.boundingBox; + + if ( boundingBox !== null ) { + + this.boundingBox = boundingBox.clone(); + + } + + // bounding sphere + + const boundingSphere = source.boundingSphere; + + if ( boundingSphere !== null ) { + + this.boundingSphere = boundingSphere.clone(); + + } + + // draw range + + this.drawRange.start = source.drawRange.start; + this.drawRange.count = source.drawRange.count; + + // user data + + this.userData = source.userData; + + // geometry generator parameters + + if ( source.parameters !== undefined ) this.parameters = Object.assign( {}, source.parameters ); + + return this; + + } + + dispose() { + + this.dispatchEvent( { type: 'dispose' } ); + + } + +} + +BufferGeometry.prototype.isBufferGeometry = true; + +const _inverseMatrix$2 = /*@__PURE__*/ new Matrix4(); +const _ray$2 = /*@__PURE__*/ new Ray(); +const _sphere$3 = /*@__PURE__*/ new Sphere(); + +const _vA$1 = /*@__PURE__*/ new Vector3(); +const _vB$1 = /*@__PURE__*/ new Vector3(); +const _vC$1 = /*@__PURE__*/ new Vector3(); + +const _tempA = /*@__PURE__*/ new Vector3(); +const _tempB = /*@__PURE__*/ new Vector3(); +const _tempC = /*@__PURE__*/ new Vector3(); + +const _morphA = /*@__PURE__*/ new Vector3(); +const _morphB = /*@__PURE__*/ new Vector3(); +const _morphC = /*@__PURE__*/ new Vector3(); + +const _uvA$1 = /*@__PURE__*/ new Vector2(); +const _uvB$1 = /*@__PURE__*/ new Vector2(); +const _uvC$1 = /*@__PURE__*/ new Vector2(); + +const _intersectionPoint = /*@__PURE__*/ new Vector3(); +const _intersectionPointWorld = /*@__PURE__*/ new Vector3(); + +class Mesh extends Object3D { + + constructor( geometry = new BufferGeometry(), material = new MeshBasicMaterial() ) { + + super(); + + this.type = 'Mesh'; + + this.geometry = geometry; + this.material = material; + + this.updateMorphTargets(); + + } + + copy( source ) { + + super.copy( source ); + + if ( source.morphTargetInfluences !== undefined ) { + + this.morphTargetInfluences = source.morphTargetInfluences.slice(); + + } + + if ( source.morphTargetDictionary !== undefined ) { + + this.morphTargetDictionary = Object.assign( {}, source.morphTargetDictionary ); + + } + + this.material = source.material; + this.geometry = source.geometry; + + return this; + + } + + updateMorphTargets() { + + const geometry = this.geometry; + + if ( geometry.isBufferGeometry ) { + + const morphAttributes = geometry.morphAttributes; + const keys = Object.keys( morphAttributes ); + + if ( keys.length > 0 ) { + + const morphAttribute = morphAttributes[ keys[ 0 ] ]; + + if ( morphAttribute !== undefined ) { + + this.morphTargetInfluences = []; + this.morphTargetDictionary = {}; + + for ( let m = 0, ml = morphAttribute.length; m < ml; m ++ ) { + + const name = morphAttribute[ m ].name || String( m ); + + this.morphTargetInfluences.push( 0 ); + this.morphTargetDictionary[ name ] = m; + + } + + } + + } + + } else { + + const morphTargets = geometry.morphTargets; + + if ( morphTargets !== undefined && morphTargets.length > 0 ) { + + console.error( 'THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.' ); + + } + + } + + } + + raycast( raycaster, intersects ) { + + const geometry = this.geometry; + const material = this.material; + const matrixWorld = this.matrixWorld; + + if ( material === undefined ) return; + + // Checking boundingSphere distance to ray + + if ( geometry.boundingSphere === null ) geometry.computeBoundingSphere(); + + _sphere$3.copy( geometry.boundingSphere ); + _sphere$3.applyMatrix4( matrixWorld ); + + if ( raycaster.ray.intersectsSphere( _sphere$3 ) === false ) return; + + // + + _inverseMatrix$2.copy( matrixWorld ).invert(); + _ray$2.copy( raycaster.ray ).applyMatrix4( _inverseMatrix$2 ); + + // Check boundingBox before continuing + + if ( geometry.boundingBox !== null ) { + + if ( _ray$2.intersectsBox( geometry.boundingBox ) === false ) return; + + } + + let intersection; + + if ( geometry.isBufferGeometry ) { + + const index = geometry.index; + const position = geometry.attributes.position; + const morphPosition = geometry.morphAttributes.position; + const morphTargetsRelative = geometry.morphTargetsRelative; + const uv = geometry.attributes.uv; + const uv2 = geometry.attributes.uv2; + const groups = geometry.groups; + const drawRange = geometry.drawRange; + + if ( index !== null ) { + + // indexed buffer geometry + + if ( Array.isArray( material ) ) { + + for ( let i = 0, il = groups.length; i < il; i ++ ) { + + const group = groups[ i ]; + const groupMaterial = material[ group.materialIndex ]; + + const start = Math.max( group.start, drawRange.start ); + const end = Math.min( index.count, Math.min( ( group.start + group.count ), ( drawRange.start + drawRange.count ) ) ); + + for ( let j = start, jl = end; j < jl; j += 3 ) { + + const a = index.getX( j ); + const b = index.getX( j + 1 ); + const c = index.getX( j + 2 ); + + intersection = checkBufferGeometryIntersection( this, groupMaterial, raycaster, _ray$2, position, morphPosition, morphTargetsRelative, uv, uv2, a, b, c ); + + if ( intersection ) { + + intersection.faceIndex = Math.floor( j / 3 ); // triangle number in indexed buffer semantics + intersection.face.materialIndex = group.materialIndex; + intersects.push( intersection ); + + } + + } + + } + + } else { + + const start = Math.max( 0, drawRange.start ); + const end = Math.min( index.count, ( drawRange.start + drawRange.count ) ); + + for ( let i = start, il = end; i < il; i += 3 ) { + + const a = index.getX( i ); + const b = index.getX( i + 1 ); + const c = index.getX( i + 2 ); + + intersection = checkBufferGeometryIntersection( this, material, raycaster, _ray$2, position, morphPosition, morphTargetsRelative, uv, uv2, a, b, c ); + + if ( intersection ) { + + intersection.faceIndex = Math.floor( i / 3 ); // triangle number in indexed buffer semantics + intersects.push( intersection ); + + } + + } + + } + + } else if ( position !== undefined ) { + + // non-indexed buffer geometry + + if ( Array.isArray( material ) ) { + + for ( let i = 0, il = groups.length; i < il; i ++ ) { + + const group = groups[ i ]; + const groupMaterial = material[ group.materialIndex ]; + + const start = Math.max( group.start, drawRange.start ); + const end = Math.min( position.count, Math.min( ( group.start + group.count ), ( drawRange.start + drawRange.count ) ) ); + + for ( let j = start, jl = end; j < jl; j += 3 ) { + + const a = j; + const b = j + 1; + const c = j + 2; + + intersection = checkBufferGeometryIntersection( this, groupMaterial, raycaster, _ray$2, position, morphPosition, morphTargetsRelative, uv, uv2, a, b, c ); + + if ( intersection ) { + + intersection.faceIndex = Math.floor( j / 3 ); // triangle number in non-indexed buffer semantics + intersection.face.materialIndex = group.materialIndex; + intersects.push( intersection ); + + } + + } + + } + + } else { + + const start = Math.max( 0, drawRange.start ); + const end = Math.min( position.count, ( drawRange.start + drawRange.count ) ); + + for ( let i = start, il = end; i < il; i += 3 ) { + + const a = i; + const b = i + 1; + const c = i + 2; + + intersection = checkBufferGeometryIntersection( this, material, raycaster, _ray$2, position, morphPosition, morphTargetsRelative, uv, uv2, a, b, c ); + + if ( intersection ) { + + intersection.faceIndex = Math.floor( i / 3 ); // triangle number in non-indexed buffer semantics + intersects.push( intersection ); + + } + + } + + } + + } + + } else if ( geometry.isGeometry ) { + + console.error( 'THREE.Mesh.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.' ); + + } + + } + +} + +Mesh.prototype.isMesh = true; + +function checkIntersection( object, material, raycaster, ray, pA, pB, pC, point ) { + + let intersect; + + if ( material.side === BackSide ) { + + intersect = ray.intersectTriangle( pC, pB, pA, true, point ); + + } else { + + intersect = ray.intersectTriangle( pA, pB, pC, material.side !== DoubleSide, point ); + + } + + if ( intersect === null ) return null; + + _intersectionPointWorld.copy( point ); + _intersectionPointWorld.applyMatrix4( object.matrixWorld ); + + const distance = raycaster.ray.origin.distanceTo( _intersectionPointWorld ); + + if ( distance < raycaster.near || distance > raycaster.far ) return null; + + return { + distance: distance, + point: _intersectionPointWorld.clone(), + object: object + }; + +} + +function checkBufferGeometryIntersection( object, material, raycaster, ray, position, morphPosition, morphTargetsRelative, uv, uv2, a, b, c ) { + + _vA$1.fromBufferAttribute( position, a ); + _vB$1.fromBufferAttribute( position, b ); + _vC$1.fromBufferAttribute( position, c ); + + const morphInfluences = object.morphTargetInfluences; + + if ( morphPosition && morphInfluences ) { + + _morphA.set( 0, 0, 0 ); + _morphB.set( 0, 0, 0 ); + _morphC.set( 0, 0, 0 ); + + for ( let i = 0, il = morphPosition.length; i < il; i ++ ) { + + const influence = morphInfluences[ i ]; + const morphAttribute = morphPosition[ i ]; + + if ( influence === 0 ) continue; + + _tempA.fromBufferAttribute( morphAttribute, a ); + _tempB.fromBufferAttribute( morphAttribute, b ); + _tempC.fromBufferAttribute( morphAttribute, c ); + + if ( morphTargetsRelative ) { + + _morphA.addScaledVector( _tempA, influence ); + _morphB.addScaledVector( _tempB, influence ); + _morphC.addScaledVector( _tempC, influence ); + + } else { + + _morphA.addScaledVector( _tempA.sub( _vA$1 ), influence ); + _morphB.addScaledVector( _tempB.sub( _vB$1 ), influence ); + _morphC.addScaledVector( _tempC.sub( _vC$1 ), influence ); + + } + + } + + _vA$1.add( _morphA ); + _vB$1.add( _morphB ); + _vC$1.add( _morphC ); + + } + + if ( object.isSkinnedMesh ) { + + object.boneTransform( a, _vA$1 ); + object.boneTransform( b, _vB$1 ); + object.boneTransform( c, _vC$1 ); + + } + + const intersection = checkIntersection( object, material, raycaster, ray, _vA$1, _vB$1, _vC$1, _intersectionPoint ); + + if ( intersection ) { + + if ( uv ) { + + _uvA$1.fromBufferAttribute( uv, a ); + _uvB$1.fromBufferAttribute( uv, b ); + _uvC$1.fromBufferAttribute( uv, c ); + + intersection.uv = Triangle.getUV( _intersectionPoint, _vA$1, _vB$1, _vC$1, _uvA$1, _uvB$1, _uvC$1, new Vector2() ); + + } + + if ( uv2 ) { + + _uvA$1.fromBufferAttribute( uv2, a ); + _uvB$1.fromBufferAttribute( uv2, b ); + _uvC$1.fromBufferAttribute( uv2, c ); + + intersection.uv2 = Triangle.getUV( _intersectionPoint, _vA$1, _vB$1, _vC$1, _uvA$1, _uvB$1, _uvC$1, new Vector2() ); + + } + + const face = { + a: a, + b: b, + c: c, + normal: new Vector3(), + materialIndex: 0 + }; + + Triangle.getNormal( _vA$1, _vB$1, _vC$1, face.normal ); + + intersection.face = face; + + } + + return intersection; + +} + +class BoxGeometry extends BufferGeometry { + + constructor( width = 1, height = 1, depth = 1, widthSegments = 1, heightSegments = 1, depthSegments = 1 ) { + + super(); + + this.type = 'BoxGeometry'; + + this.parameters = { + width: width, + height: height, + depth: depth, + widthSegments: widthSegments, + heightSegments: heightSegments, + depthSegments: depthSegments + }; + + const scope = this; + + // segments + + widthSegments = Math.floor( widthSegments ); + heightSegments = Math.floor( heightSegments ); + depthSegments = Math.floor( depthSegments ); + + // buffers + + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; + + // helper variables + + let numberOfVertices = 0; + let groupStart = 0; + + // build each side of the box geometry + + buildPlane( 'z', 'y', 'x', - 1, - 1, depth, height, width, depthSegments, heightSegments, 0 ); // px + buildPlane( 'z', 'y', 'x', 1, - 1, depth, height, - width, depthSegments, heightSegments, 1 ); // nx + buildPlane( 'x', 'z', 'y', 1, 1, width, depth, height, widthSegments, depthSegments, 2 ); // py + buildPlane( 'x', 'z', 'y', 1, - 1, width, depth, - height, widthSegments, depthSegments, 3 ); // ny + buildPlane( 'x', 'y', 'z', 1, - 1, width, height, depth, widthSegments, heightSegments, 4 ); // pz + buildPlane( 'x', 'y', 'z', - 1, - 1, width, height, - depth, widthSegments, heightSegments, 5 ); // nz + + // build geometry + + this.setIndex( indices ); + this.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + this.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); + this.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + + function buildPlane( u, v, w, udir, vdir, width, height, depth, gridX, gridY, materialIndex ) { + + const segmentWidth = width / gridX; + const segmentHeight = height / gridY; + + const widthHalf = width / 2; + const heightHalf = height / 2; + const depthHalf = depth / 2; + + const gridX1 = gridX + 1; + const gridY1 = gridY + 1; + + let vertexCounter = 0; + let groupCount = 0; + + const vector = new Vector3(); + + // generate vertices, normals and uvs + + for ( let iy = 0; iy < gridY1; iy ++ ) { + + const y = iy * segmentHeight - heightHalf; + + for ( let ix = 0; ix < gridX1; ix ++ ) { + + const x = ix * segmentWidth - widthHalf; + + // set values to correct vector component + + vector[ u ] = x * udir; + vector[ v ] = y * vdir; + vector[ w ] = depthHalf; + + // now apply vector to vertex buffer + + vertices.push( vector.x, vector.y, vector.z ); + + // set values to correct vector component + + vector[ u ] = 0; + vector[ v ] = 0; + vector[ w ] = depth > 0 ? 1 : - 1; + + // now apply vector to normal buffer + + normals.push( vector.x, vector.y, vector.z ); + + // uvs + + uvs.push( ix / gridX ); + uvs.push( 1 - ( iy / gridY ) ); + + // counters + + vertexCounter += 1; + + } + + } + + // indices + + // 1. you need three indices to draw a single face + // 2. a single segment consists of two faces + // 3. so we need to generate six (2*3) indices per segment + + for ( let iy = 0; iy < gridY; iy ++ ) { + + for ( let ix = 0; ix < gridX; ix ++ ) { + + const a = numberOfVertices + ix + gridX1 * iy; + const b = numberOfVertices + ix + gridX1 * ( iy + 1 ); + const c = numberOfVertices + ( ix + 1 ) + gridX1 * ( iy + 1 ); + const d = numberOfVertices + ( ix + 1 ) + gridX1 * iy; + + // faces + + indices.push( a, b, d ); + indices.push( b, c, d ); + + // increase counter + + groupCount += 6; + + } + + } + + // add a group to the geometry. this will ensure multi material support + + scope.addGroup( groupStart, groupCount, materialIndex ); + + // calculate new start value for groups + + groupStart += groupCount; + + // update total number of vertices + + numberOfVertices += vertexCounter; + + } + + } + + static fromJSON( data ) { + + return new BoxGeometry( data.width, data.height, data.depth, data.widthSegments, data.heightSegments, data.depthSegments ); + + } + +} + +/** + * Uniform Utilities + */ + +function cloneUniforms( src ) { + + const dst = {}; + + for ( const u in src ) { + + dst[ u ] = {}; + + for ( const p in src[ u ] ) { + + const property = src[ u ][ p ]; + + if ( property && ( property.isColor || + property.isMatrix3 || property.isMatrix4 || + property.isVector2 || property.isVector3 || property.isVector4 || + property.isTexture || property.isQuaternion ) ) { + + dst[ u ][ p ] = property.clone(); + + } else if ( Array.isArray( property ) ) { + + dst[ u ][ p ] = property.slice(); + + } else { + + dst[ u ][ p ] = property; + + } + + } + + } + + return dst; + +} + +function mergeUniforms( uniforms ) { + + const merged = {}; + + for ( let u = 0; u < uniforms.length; u ++ ) { + + const tmp = cloneUniforms( uniforms[ u ] ); + + for ( const p in tmp ) { + + merged[ p ] = tmp[ p ]; + + } + + } + + return merged; + +} + +// Legacy + +const UniformsUtils = { clone: cloneUniforms, merge: mergeUniforms }; + +var default_vertex = "void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}"; + +var default_fragment = "void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}"; + +/** + * parameters = { + * defines: { "label" : "value" }, + * uniforms: { "parameter1": { value: 1.0 }, "parameter2": { value2: 2 } }, + * + * fragmentShader: , + * vertexShader: , + * + * wireframe: , + * wireframeLinewidth: , + * + * lights: + * } + */ + +class ShaderMaterial extends Material { + + constructor( parameters ) { + + super(); + + this.type = 'ShaderMaterial'; + + this.defines = {}; + this.uniforms = {}; + + this.vertexShader = default_vertex; + this.fragmentShader = default_fragment; + + this.linewidth = 1; + + this.wireframe = false; + this.wireframeLinewidth = 1; + + this.fog = false; // set to use scene fog + this.lights = false; // set to use scene lights + this.clipping = false; // set to use user-defined clipping planes + + this.extensions = { + derivatives: false, // set to use derivatives + fragDepth: false, // set to use fragment depth values + drawBuffers: false, // set to use draw buffers + shaderTextureLOD: false // set to use shader texture LOD + }; + + // When rendered geometry doesn't include these attributes but the material does, + // use these default values in WebGL. This avoids errors when buffer data is missing. + this.defaultAttributeValues = { + 'color': [ 1, 1, 1 ], + 'uv': [ 0, 0 ], + 'uv2': [ 0, 0 ] + }; + + this.index0AttributeName = undefined; + this.uniformsNeedUpdate = false; + + this.glslVersion = null; + + if ( parameters !== undefined ) { + + if ( parameters.attributes !== undefined ) { + + console.error( 'THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead.' ); + + } + + this.setValues( parameters ); + + } + + } + + copy( source ) { + + super.copy( source ); + + this.fragmentShader = source.fragmentShader; + this.vertexShader = source.vertexShader; + + this.uniforms = cloneUniforms( source.uniforms ); + + this.defines = Object.assign( {}, source.defines ); + + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + + this.lights = source.lights; + this.clipping = source.clipping; + + this.extensions = Object.assign( {}, source.extensions ); + + this.glslVersion = source.glslVersion; + + return this; + + } + + toJSON( meta ) { + + const data = super.toJSON( meta ); + + data.glslVersion = this.glslVersion; + data.uniforms = {}; + + for ( const name in this.uniforms ) { + + const uniform = this.uniforms[ name ]; + const value = uniform.value; + + if ( value && value.isTexture ) { + + data.uniforms[ name ] = { + type: 't', + value: value.toJSON( meta ).uuid + }; + + } else if ( value && value.isColor ) { + + data.uniforms[ name ] = { + type: 'c', + value: value.getHex() + }; + + } else if ( value && value.isVector2 ) { + + data.uniforms[ name ] = { + type: 'v2', + value: value.toArray() + }; + + } else if ( value && value.isVector3 ) { + + data.uniforms[ name ] = { + type: 'v3', + value: value.toArray() + }; + + } else if ( value && value.isVector4 ) { + + data.uniforms[ name ] = { + type: 'v4', + value: value.toArray() + }; + + } else if ( value && value.isMatrix3 ) { + + data.uniforms[ name ] = { + type: 'm3', + value: value.toArray() + }; + + } else if ( value && value.isMatrix4 ) { + + data.uniforms[ name ] = { + type: 'm4', + value: value.toArray() + }; + + } else { + + data.uniforms[ name ] = { + value: value + }; + + // note: the array variants v2v, v3v, v4v, m4v and tv are not supported so far + + } + + } + + if ( Object.keys( this.defines ).length > 0 ) data.defines = this.defines; + + data.vertexShader = this.vertexShader; + data.fragmentShader = this.fragmentShader; + + const extensions = {}; + + for ( const key in this.extensions ) { + + if ( this.extensions[ key ] === true ) extensions[ key ] = true; + + } + + if ( Object.keys( extensions ).length > 0 ) data.extensions = extensions; + + return data; + + } + +} + +ShaderMaterial.prototype.isShaderMaterial = true; + +class Camera extends Object3D { + + constructor() { + + super(); + + this.type = 'Camera'; + + this.matrixWorldInverse = new Matrix4(); + + this.projectionMatrix = new Matrix4(); + this.projectionMatrixInverse = new Matrix4(); + + } + + copy( source, recursive ) { + + super.copy( source, recursive ); + + this.matrixWorldInverse.copy( source.matrixWorldInverse ); + + this.projectionMatrix.copy( source.projectionMatrix ); + this.projectionMatrixInverse.copy( source.projectionMatrixInverse ); + + return this; + + } + + getWorldDirection( target ) { + + this.updateWorldMatrix( true, false ); + + const e = this.matrixWorld.elements; + + return target.set( - e[ 8 ], - e[ 9 ], - e[ 10 ] ).normalize(); + + } + + updateMatrixWorld( force ) { + + super.updateMatrixWorld( force ); + + this.matrixWorldInverse.copy( this.matrixWorld ).invert(); + + } + + updateWorldMatrix( updateParents, updateChildren ) { + + super.updateWorldMatrix( updateParents, updateChildren ); + + this.matrixWorldInverse.copy( this.matrixWorld ).invert(); + + } + + clone() { + + return new this.constructor().copy( this ); + + } + +} + +Camera.prototype.isCamera = true; + +class PerspectiveCamera extends Camera { + + constructor( fov = 50, aspect = 1, near = 0.1, far = 2000 ) { + + super(); + + this.type = 'PerspectiveCamera'; + + this.fov = fov; + this.zoom = 1; + + this.near = near; + this.far = far; + this.focus = 10; + + this.aspect = aspect; + this.view = null; + + this.filmGauge = 35; // width of the film (default in millimeters) + this.filmOffset = 0; // horizontal film offset (same unit as gauge) + + this.updateProjectionMatrix(); + + } + + copy( source, recursive ) { + + super.copy( source, recursive ); + + this.fov = source.fov; + this.zoom = source.zoom; + + this.near = source.near; + this.far = source.far; + this.focus = source.focus; + + this.aspect = source.aspect; + this.view = source.view === null ? null : Object.assign( {}, source.view ); + + this.filmGauge = source.filmGauge; + this.filmOffset = source.filmOffset; + + return this; + + } + + /** + * Sets the FOV by focal length in respect to the current .filmGauge. + * + * The default film gauge is 35, so that the focal length can be specified for + * a 35mm (full frame) camera. + * + * Values for focal length and film gauge must have the same unit. + */ + setFocalLength( focalLength ) { + + /** see {@link http://www.bobatkins.com/photography/technical/field_of_view.html} */ + const vExtentSlope = 0.5 * this.getFilmHeight() / focalLength; + + this.fov = RAD2DEG * 2 * Math.atan( vExtentSlope ); + this.updateProjectionMatrix(); + + } + + /** + * Calculates the focal length from the current .fov and .filmGauge. + */ + getFocalLength() { + + const vExtentSlope = Math.tan( DEG2RAD * 0.5 * this.fov ); + + return 0.5 * this.getFilmHeight() / vExtentSlope; + + } + + getEffectiveFOV() { + + return RAD2DEG * 2 * Math.atan( + Math.tan( DEG2RAD * 0.5 * this.fov ) / this.zoom ); + + } + + getFilmWidth() { + + // film not completely covered in portrait format (aspect < 1) + return this.filmGauge * Math.min( this.aspect, 1 ); + + } + + getFilmHeight() { + + // film not completely covered in landscape format (aspect > 1) + return this.filmGauge / Math.max( this.aspect, 1 ); + + } + + /** + * Sets an offset in a larger frustum. This is useful for multi-window or + * multi-monitor/multi-machine setups. + * + * For example, if you have 3x2 monitors and each monitor is 1920x1080 and + * the monitors are in grid like this + * + * +---+---+---+ + * | A | B | C | + * +---+---+---+ + * | D | E | F | + * +---+---+---+ + * + * then for each monitor you would call it like this + * + * const w = 1920; + * const h = 1080; + * const fullWidth = w * 3; + * const fullHeight = h * 2; + * + * --A-- + * camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 0, w, h ); + * --B-- + * camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 0, w, h ); + * --C-- + * camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 0, w, h ); + * --D-- + * camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 1, w, h ); + * --E-- + * camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 1, w, h ); + * --F-- + * camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 1, w, h ); + * + * Note there is no reason monitors have to be the same size or in a grid. + */ + setViewOffset( fullWidth, fullHeight, x, y, width, height ) { + + this.aspect = fullWidth / fullHeight; + + if ( this.view === null ) { + + this.view = { + enabled: true, + fullWidth: 1, + fullHeight: 1, + offsetX: 0, + offsetY: 0, + width: 1, + height: 1 + }; + + } + + this.view.enabled = true; + this.view.fullWidth = fullWidth; + this.view.fullHeight = fullHeight; + this.view.offsetX = x; + this.view.offsetY = y; + this.view.width = width; + this.view.height = height; + + this.updateProjectionMatrix(); + + } + + clearViewOffset() { + + if ( this.view !== null ) { + + this.view.enabled = false; + + } + + this.updateProjectionMatrix(); + + } + + updateProjectionMatrix() { + + const near = this.near; + let top = near * Math.tan( DEG2RAD * 0.5 * this.fov ) / this.zoom; + let height = 2 * top; + let width = this.aspect * height; + let left = - 0.5 * width; + const view = this.view; + + if ( this.view !== null && this.view.enabled ) { + + const fullWidth = view.fullWidth, + fullHeight = view.fullHeight; + + left += view.offsetX * width / fullWidth; + top -= view.offsetY * height / fullHeight; + width *= view.width / fullWidth; + height *= view.height / fullHeight; + + } + + const skew = this.filmOffset; + if ( skew !== 0 ) left += near * skew / this.getFilmWidth(); + + this.projectionMatrix.makePerspective( left, left + width, top, top - height, near, this.far ); + + this.projectionMatrixInverse.copy( this.projectionMatrix ).invert(); + + } + + toJSON( meta ) { + + const data = super.toJSON( meta ); + + data.object.fov = this.fov; + data.object.zoom = this.zoom; + + data.object.near = this.near; + data.object.far = this.far; + data.object.focus = this.focus; + + data.object.aspect = this.aspect; + + if ( this.view !== null ) data.object.view = Object.assign( {}, this.view ); + + data.object.filmGauge = this.filmGauge; + data.object.filmOffset = this.filmOffset; + + return data; + + } + +} + +PerspectiveCamera.prototype.isPerspectiveCamera = true; + +const fov = 90, aspect = 1; + +class CubeCamera extends Object3D { + + constructor( near, far, renderTarget ) { + + super(); + + this.type = 'CubeCamera'; + + if ( renderTarget.isWebGLCubeRenderTarget !== true ) { + + console.error( 'THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.' ); + return; + + } + + this.renderTarget = renderTarget; + + const cameraPX = new PerspectiveCamera( fov, aspect, near, far ); + cameraPX.layers = this.layers; + cameraPX.up.set( 0, - 1, 0 ); + cameraPX.lookAt( new Vector3( 1, 0, 0 ) ); + this.add( cameraPX ); + + const cameraNX = new PerspectiveCamera( fov, aspect, near, far ); + cameraNX.layers = this.layers; + cameraNX.up.set( 0, - 1, 0 ); + cameraNX.lookAt( new Vector3( - 1, 0, 0 ) ); + this.add( cameraNX ); + + const cameraPY = new PerspectiveCamera( fov, aspect, near, far ); + cameraPY.layers = this.layers; + cameraPY.up.set( 0, 0, 1 ); + cameraPY.lookAt( new Vector3( 0, 1, 0 ) ); + this.add( cameraPY ); + + const cameraNY = new PerspectiveCamera( fov, aspect, near, far ); + cameraNY.layers = this.layers; + cameraNY.up.set( 0, 0, - 1 ); + cameraNY.lookAt( new Vector3( 0, - 1, 0 ) ); + this.add( cameraNY ); + + const cameraPZ = new PerspectiveCamera( fov, aspect, near, far ); + cameraPZ.layers = this.layers; + cameraPZ.up.set( 0, - 1, 0 ); + cameraPZ.lookAt( new Vector3( 0, 0, 1 ) ); + this.add( cameraPZ ); + + const cameraNZ = new PerspectiveCamera( fov, aspect, near, far ); + cameraNZ.layers = this.layers; + cameraNZ.up.set( 0, - 1, 0 ); + cameraNZ.lookAt( new Vector3( 0, 0, - 1 ) ); + this.add( cameraNZ ); + + } + + update( renderer, scene ) { + + if ( this.parent === null ) this.updateMatrixWorld(); + + const renderTarget = this.renderTarget; + + const [ cameraPX, cameraNX, cameraPY, cameraNY, cameraPZ, cameraNZ ] = this.children; + + const currentXrEnabled = renderer.xr.enabled; + const currentRenderTarget = renderer.getRenderTarget(); + + renderer.xr.enabled = false; + + const generateMipmaps = renderTarget.texture.generateMipmaps; + + renderTarget.texture.generateMipmaps = false; + + renderer.setRenderTarget( renderTarget, 0 ); + renderer.render( scene, cameraPX ); + + renderer.setRenderTarget( renderTarget, 1 ); + renderer.render( scene, cameraNX ); + + renderer.setRenderTarget( renderTarget, 2 ); + renderer.render( scene, cameraPY ); + + renderer.setRenderTarget( renderTarget, 3 ); + renderer.render( scene, cameraNY ); + + renderer.setRenderTarget( renderTarget, 4 ); + renderer.render( scene, cameraPZ ); + + renderTarget.texture.generateMipmaps = generateMipmaps; + + renderer.setRenderTarget( renderTarget, 5 ); + renderer.render( scene, cameraNZ ); + + renderer.setRenderTarget( currentRenderTarget ); + + renderer.xr.enabled = currentXrEnabled; + + } + +} + +class CubeTexture extends Texture { + + constructor( images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ) { + + images = images !== undefined ? images : []; + mapping = mapping !== undefined ? mapping : CubeReflectionMapping; + + super( images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ); + + this.flipY = false; + + } + + get images() { + + return this.image; + + } + + set images( value ) { + + this.image = value; + + } + +} + +CubeTexture.prototype.isCubeTexture = true; + +class WebGLCubeRenderTarget extends WebGLRenderTarget { + + constructor( size, options, dummy ) { + + if ( Number.isInteger( options ) ) { + + console.warn( 'THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )' ); + + options = dummy; + + } + + super( size, size, options ); + + options = options || {}; + + // By convention -- likely based on the RenderMan spec from the 1990's -- cube maps are specified by WebGL (and three.js) + // in a coordinate system in which positive-x is to the right when looking up the positive-z axis -- in other words, + // in a left-handed coordinate system. By continuing this convention, preexisting cube maps continued to render correctly. + + // three.js uses a right-handed coordinate system. So environment maps used in three.js appear to have px and nx swapped + // and the flag isRenderTargetTexture controls this conversion. The flip is not required when using WebGLCubeRenderTarget.texture + // as a cube texture (this is detected when isRenderTargetTexture is set to true for cube textures). + + this.texture = new CubeTexture( undefined, options.mapping, options.wrapS, options.wrapT, options.magFilter, options.minFilter, options.format, options.type, options.anisotropy, options.encoding ); + this.texture.isRenderTargetTexture = true; + + this.texture.generateMipmaps = options.generateMipmaps !== undefined ? options.generateMipmaps : false; + this.texture.minFilter = options.minFilter !== undefined ? options.minFilter : LinearFilter; + + this.texture._needsFlipEnvMap = false; + + } + + fromEquirectangularTexture( renderer, texture ) { + + this.texture.type = texture.type; + this.texture.format = RGBAFormat; // see #18859 + this.texture.encoding = texture.encoding; + + this.texture.generateMipmaps = texture.generateMipmaps; + this.texture.minFilter = texture.minFilter; + this.texture.magFilter = texture.magFilter; + + const shader = { + + uniforms: { + tEquirect: { value: null }, + }, + + vertexShader: /* glsl */` + + varying vec3 vWorldDirection; + + vec3 transformDirection( in vec3 dir, in mat4 matrix ) { + + return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); + + } + + void main() { + + vWorldDirection = transformDirection( position, modelMatrix ); + + #include + #include + + } + `, + + fragmentShader: /* glsl */` + + uniform sampler2D tEquirect; + + varying vec3 vWorldDirection; + + #include + + void main() { + + vec3 direction = normalize( vWorldDirection ); + + vec2 sampleUV = equirectUv( direction ); + + gl_FragColor = texture2D( tEquirect, sampleUV ); + + } + ` + }; + + const geometry = new BoxGeometry( 5, 5, 5 ); + + const material = new ShaderMaterial( { + + name: 'CubemapFromEquirect', + + uniforms: cloneUniforms( shader.uniforms ), + vertexShader: shader.vertexShader, + fragmentShader: shader.fragmentShader, + side: BackSide, + blending: NoBlending + + } ); + + material.uniforms.tEquirect.value = texture; + + const mesh = new Mesh( geometry, material ); + + const currentMinFilter = texture.minFilter; + + // Avoid blurred poles + if ( texture.minFilter === LinearMipmapLinearFilter ) texture.minFilter = LinearFilter; + + const camera = new CubeCamera( 1, 10, this ); + camera.update( renderer, mesh ); + + texture.minFilter = currentMinFilter; + + mesh.geometry.dispose(); + mesh.material.dispose(); + + return this; + + } + + clear( renderer, color, depth, stencil ) { + + const currentRenderTarget = renderer.getRenderTarget(); + + for ( let i = 0; i < 6; i ++ ) { + + renderer.setRenderTarget( this, i ); + + renderer.clear( color, depth, stencil ); + + } + + renderer.setRenderTarget( currentRenderTarget ); + + } + +} + +WebGLCubeRenderTarget.prototype.isWebGLCubeRenderTarget = true; + +const _vector1 = /*@__PURE__*/ new Vector3(); +const _vector2 = /*@__PURE__*/ new Vector3(); +const _normalMatrix = /*@__PURE__*/ new Matrix3(); + +class Plane { + + constructor( normal = new Vector3( 1, 0, 0 ), constant = 0 ) { + + // normal is assumed to be normalized + + this.normal = normal; + this.constant = constant; + + } + + set( normal, constant ) { + + this.normal.copy( normal ); + this.constant = constant; + + return this; + + } + + setComponents( x, y, z, w ) { + + this.normal.set( x, y, z ); + this.constant = w; + + return this; + + } + + setFromNormalAndCoplanarPoint( normal, point ) { + + this.normal.copy( normal ); + this.constant = - point.dot( this.normal ); + + return this; + + } + + setFromCoplanarPoints( a, b, c ) { + + const normal = _vector1.subVectors( c, b ).cross( _vector2.subVectors( a, b ) ).normalize(); + + // Q: should an error be thrown if normal is zero (e.g. degenerate plane)? + + this.setFromNormalAndCoplanarPoint( normal, a ); + + return this; + + } + + copy( plane ) { + + this.normal.copy( plane.normal ); + this.constant = plane.constant; + + return this; + + } + + normalize() { + + // Note: will lead to a divide by zero if the plane is invalid. + + const inverseNormalLength = 1.0 / this.normal.length(); + this.normal.multiplyScalar( inverseNormalLength ); + this.constant *= inverseNormalLength; + + return this; + + } + + negate() { + + this.constant *= - 1; + this.normal.negate(); + + return this; + + } + + distanceToPoint( point ) { + + return this.normal.dot( point ) + this.constant; + + } + + distanceToSphere( sphere ) { + + return this.distanceToPoint( sphere.center ) - sphere.radius; + + } + + projectPoint( point, target ) { + + return target.copy( this.normal ).multiplyScalar( - this.distanceToPoint( point ) ).add( point ); + + } + + intersectLine( line, target ) { + + const direction = line.delta( _vector1 ); + + const denominator = this.normal.dot( direction ); + + if ( denominator === 0 ) { + + // line is coplanar, return origin + if ( this.distanceToPoint( line.start ) === 0 ) { + + return target.copy( line.start ); + + } + + // Unsure if this is the correct method to handle this case. + return null; + + } + + const t = - ( line.start.dot( this.normal ) + this.constant ) / denominator; + + if ( t < 0 || t > 1 ) { + + return null; + + } + + return target.copy( direction ).multiplyScalar( t ).add( line.start ); + + } + + intersectsLine( line ) { + + // Note: this tests if a line intersects the plane, not whether it (or its end-points) are coplanar with it. + + const startSign = this.distanceToPoint( line.start ); + const endSign = this.distanceToPoint( line.end ); + + return ( startSign < 0 && endSign > 0 ) || ( endSign < 0 && startSign > 0 ); + + } + + intersectsBox( box ) { + + return box.intersectsPlane( this ); + + } + + intersectsSphere( sphere ) { + + return sphere.intersectsPlane( this ); + + } + + coplanarPoint( target ) { + + return target.copy( this.normal ).multiplyScalar( - this.constant ); + + } + + applyMatrix4( matrix, optionalNormalMatrix ) { + + const normalMatrix = optionalNormalMatrix || _normalMatrix.getNormalMatrix( matrix ); + + const referencePoint = this.coplanarPoint( _vector1 ).applyMatrix4( matrix ); + + const normal = this.normal.applyMatrix3( normalMatrix ).normalize(); + + this.constant = - referencePoint.dot( normal ); + + return this; + + } + + translate( offset ) { + + this.constant -= offset.dot( this.normal ); + + return this; + + } + + equals( plane ) { + + return plane.normal.equals( this.normal ) && ( plane.constant === this.constant ); + + } + + clone() { + + return new this.constructor().copy( this ); + + } + +} + +Plane.prototype.isPlane = true; + +const _sphere$2 = /*@__PURE__*/ new Sphere(); +const _vector$7 = /*@__PURE__*/ new Vector3(); + +class Frustum { + + constructor( p0 = new Plane(), p1 = new Plane(), p2 = new Plane(), p3 = new Plane(), p4 = new Plane(), p5 = new Plane() ) { + + this.planes = [ p0, p1, p2, p3, p4, p5 ]; + + } + + set( p0, p1, p2, p3, p4, p5 ) { + + const planes = this.planes; + + planes[ 0 ].copy( p0 ); + planes[ 1 ].copy( p1 ); + planes[ 2 ].copy( p2 ); + planes[ 3 ].copy( p3 ); + planes[ 4 ].copy( p4 ); + planes[ 5 ].copy( p5 ); + + return this; + + } + + copy( frustum ) { + + const planes = this.planes; + + for ( let i = 0; i < 6; i ++ ) { + + planes[ i ].copy( frustum.planes[ i ] ); + + } + + return this; + + } + + setFromProjectionMatrix( m ) { + + const planes = this.planes; + const me = m.elements; + const me0 = me[ 0 ], me1 = me[ 1 ], me2 = me[ 2 ], me3 = me[ 3 ]; + const me4 = me[ 4 ], me5 = me[ 5 ], me6 = me[ 6 ], me7 = me[ 7 ]; + const me8 = me[ 8 ], me9 = me[ 9 ], me10 = me[ 10 ], me11 = me[ 11 ]; + const me12 = me[ 12 ], me13 = me[ 13 ], me14 = me[ 14 ], me15 = me[ 15 ]; + + planes[ 0 ].setComponents( me3 - me0, me7 - me4, me11 - me8, me15 - me12 ).normalize(); + planes[ 1 ].setComponents( me3 + me0, me7 + me4, me11 + me8, me15 + me12 ).normalize(); + planes[ 2 ].setComponents( me3 + me1, me7 + me5, me11 + me9, me15 + me13 ).normalize(); + planes[ 3 ].setComponents( me3 - me1, me7 - me5, me11 - me9, me15 - me13 ).normalize(); + planes[ 4 ].setComponents( me3 - me2, me7 - me6, me11 - me10, me15 - me14 ).normalize(); + planes[ 5 ].setComponents( me3 + me2, me7 + me6, me11 + me10, me15 + me14 ).normalize(); + + return this; + + } + + intersectsObject( object ) { + + const geometry = object.geometry; + + if ( geometry.boundingSphere === null ) geometry.computeBoundingSphere(); + + _sphere$2.copy( geometry.boundingSphere ).applyMatrix4( object.matrixWorld ); + + return this.intersectsSphere( _sphere$2 ); + + } + + intersectsSprite( sprite ) { + + _sphere$2.center.set( 0, 0, 0 ); + _sphere$2.radius = 0.7071067811865476; + _sphere$2.applyMatrix4( sprite.matrixWorld ); + + return this.intersectsSphere( _sphere$2 ); + + } + + intersectsSphere( sphere ) { + + const planes = this.planes; + const center = sphere.center; + const negRadius = - sphere.radius; + + for ( let i = 0; i < 6; i ++ ) { + + const distance = planes[ i ].distanceToPoint( center ); + + if ( distance < negRadius ) { + + return false; + + } + + } + + return true; + + } + + intersectsBox( box ) { + + const planes = this.planes; + + for ( let i = 0; i < 6; i ++ ) { + + const plane = planes[ i ]; + + // corner at max distance + + _vector$7.x = plane.normal.x > 0 ? box.max.x : box.min.x; + _vector$7.y = plane.normal.y > 0 ? box.max.y : box.min.y; + _vector$7.z = plane.normal.z > 0 ? box.max.z : box.min.z; + + if ( plane.distanceToPoint( _vector$7 ) < 0 ) { + + return false; + + } + + } + + return true; + + } + + containsPoint( point ) { + + const planes = this.planes; + + for ( let i = 0; i < 6; i ++ ) { + + if ( planes[ i ].distanceToPoint( point ) < 0 ) { + + return false; + + } + + } + + return true; + + } + + clone() { + + return new this.constructor().copy( this ); + + } + +} + +function WebGLAnimation() { + + let context = null; + let isAnimating = false; + let animationLoop = null; + let requestId = null; + + function onAnimationFrame( time, frame ) { + + animationLoop( time, frame ); + + requestId = context.requestAnimationFrame( onAnimationFrame ); + + } + + return { + + start: function () { + + if ( isAnimating === true ) return; + if ( animationLoop === null ) return; + + requestId = context.requestAnimationFrame( onAnimationFrame ); + + isAnimating = true; + + }, + + stop: function () { + + context.cancelAnimationFrame( requestId ); + + isAnimating = false; + + }, + + setAnimationLoop: function ( callback ) { + + animationLoop = callback; + + }, + + setContext: function ( value ) { + + context = value; + + } + + }; + +} + +function WebGLAttributes( gl, capabilities ) { + + const isWebGL2 = capabilities.isWebGL2; + + const buffers = new WeakMap(); + + function createBuffer( attribute, bufferType ) { + + const array = attribute.array; + const usage = attribute.usage; + + const buffer = gl.createBuffer(); + + gl.bindBuffer( bufferType, buffer ); + gl.bufferData( bufferType, array, usage ); + + attribute.onUploadCallback(); + + let type = 5126; + + if ( array instanceof Float32Array ) { + + type = 5126; + + } else if ( array instanceof Float64Array ) { + + console.warn( 'THREE.WebGLAttributes: Unsupported data buffer format: Float64Array.' ); + + } else if ( array instanceof Uint16Array ) { + + if ( attribute.isFloat16BufferAttribute ) { + + if ( isWebGL2 ) { + + type = 5131; + + } else { + + console.warn( 'THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.' ); + + } + + } else { + + type = 5123; + + } + + } else if ( array instanceof Int16Array ) { + + type = 5122; + + } else if ( array instanceof Uint32Array ) { + + type = 5125; + + } else if ( array instanceof Int32Array ) { + + type = 5124; + + } else if ( array instanceof Int8Array ) { + + type = 5120; + + } else if ( array instanceof Uint8Array ) { + + type = 5121; + + } else if ( array instanceof Uint8ClampedArray ) { + + type = 5121; + + } + + return { + buffer: buffer, + type: type, + bytesPerElement: array.BYTES_PER_ELEMENT, + version: attribute.version + }; + + } + + function updateBuffer( buffer, attribute, bufferType ) { + + const array = attribute.array; + const updateRange = attribute.updateRange; + + gl.bindBuffer( bufferType, buffer ); + + if ( updateRange.count === - 1 ) { + + // Not using update ranges + + gl.bufferSubData( bufferType, 0, array ); + + } else { + + if ( isWebGL2 ) { + + gl.bufferSubData( bufferType, updateRange.offset * array.BYTES_PER_ELEMENT, + array, updateRange.offset, updateRange.count ); + + } else { + + gl.bufferSubData( bufferType, updateRange.offset * array.BYTES_PER_ELEMENT, + array.subarray( updateRange.offset, updateRange.offset + updateRange.count ) ); + + } + + updateRange.count = - 1; // reset range + + } + + } + + // + + function get( attribute ) { + + if ( attribute.isInterleavedBufferAttribute ) attribute = attribute.data; + + return buffers.get( attribute ); + + } + + function remove( attribute ) { + + if ( attribute.isInterleavedBufferAttribute ) attribute = attribute.data; + + const data = buffers.get( attribute ); + + if ( data ) { + + gl.deleteBuffer( data.buffer ); + + buffers.delete( attribute ); + + } + + } + + function update( attribute, bufferType ) { + + if ( attribute.isGLBufferAttribute ) { + + const cached = buffers.get( attribute ); + + if ( ! cached || cached.version < attribute.version ) { + + buffers.set( attribute, { + buffer: attribute.buffer, + type: attribute.type, + bytesPerElement: attribute.elementSize, + version: attribute.version + } ); + + } + + return; + + } + + if ( attribute.isInterleavedBufferAttribute ) attribute = attribute.data; + + const data = buffers.get( attribute ); + + if ( data === undefined ) { + + buffers.set( attribute, createBuffer( attribute, bufferType ) ); + + } else if ( data.version < attribute.version ) { + + updateBuffer( data.buffer, attribute, bufferType ); + + data.version = attribute.version; + + } + + } + + return { + + get: get, + remove: remove, + update: update + + }; + +} + +class PlaneGeometry extends BufferGeometry { + + constructor( width = 1, height = 1, widthSegments = 1, heightSegments = 1 ) { + + super(); + this.type = 'PlaneGeometry'; + + this.parameters = { + width: width, + height: height, + widthSegments: widthSegments, + heightSegments: heightSegments + }; + + const width_half = width / 2; + const height_half = height / 2; + + const gridX = Math.floor( widthSegments ); + const gridY = Math.floor( heightSegments ); + + const gridX1 = gridX + 1; + const gridY1 = gridY + 1; + + const segment_width = width / gridX; + const segment_height = height / gridY; + + // + + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; + + for ( let iy = 0; iy < gridY1; iy ++ ) { + + const y = iy * segment_height - height_half; + + for ( let ix = 0; ix < gridX1; ix ++ ) { + + const x = ix * segment_width - width_half; + + vertices.push( x, - y, 0 ); + + normals.push( 0, 0, 1 ); + + uvs.push( ix / gridX ); + uvs.push( 1 - ( iy / gridY ) ); + + } + + } + + for ( let iy = 0; iy < gridY; iy ++ ) { + + for ( let ix = 0; ix < gridX; ix ++ ) { + + const a = ix + gridX1 * iy; + const b = ix + gridX1 * ( iy + 1 ); + const c = ( ix + 1 ) + gridX1 * ( iy + 1 ); + const d = ( ix + 1 ) + gridX1 * iy; + + indices.push( a, b, d ); + indices.push( b, c, d ); + + } + + } + + this.setIndex( indices ); + this.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + this.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); + this.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + + } + + static fromJSON( data ) { + + return new PlaneGeometry( data.width, data.height, data.widthSegments, data.heightSegments ); + + } + +} + +var alphamap_fragment = "#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif"; + +var alphamap_pars_fragment = "#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif"; + +var alphatest_fragment = "#ifdef USE_ALPHATEST\n\tif ( diffuseColor.a < alphaTest ) discard;\n#endif"; + +var alphatest_pars_fragment = "#ifdef USE_ALPHATEST\n\tuniform float alphaTest;\n#endif"; + +var aomap_fragment = "#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( STANDARD )\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );\n\t#endif\n#endif"; + +var aomap_pars_fragment = "#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif"; + +var begin_vertex = "vec3 transformed = vec3( position );"; + +var beginnormal_vertex = "vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n\tvec3 objectTangent = vec3( tangent.xyz );\n#endif"; + +var bsdfs = "vec3 BRDF_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n}\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 f0, const in float f90, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( f0, f90, dotVH );\n\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( V * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, 1.0, dotVH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie( float roughness, float dotNH ) {\n\tfloat alpha = pow2( roughness );\n\tfloat invAlpha = 1.0 / alpha;\n\tfloat cos2h = dotNH * dotNH;\n\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\n\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\n}\nfloat V_Neubelt( float dotNV, float dotNL ) {\n\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\n}\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat D = D_Charlie( sheenRoughness, dotNH );\n\tfloat V = V_Neubelt( dotNV, dotNL );\n\treturn sheenColor * ( D * V );\n}\n#endif"; + +var bumpmap_pars_fragment = "#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif"; + +var clipping_planes_fragment = "#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif"; + +var clipping_planes_pars_fragment = "#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif"; + +var clipping_planes_pars_vertex = "#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif"; + +var clipping_planes_vertex = "#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif"; + +var color_fragment = "#if defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#elif defined( USE_COLOR )\n\tdiffuseColor.rgb *= vColor;\n#endif"; + +var color_pars_fragment = "#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR )\n\tvarying vec3 vColor;\n#endif"; + +var color_pars_vertex = "#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif"; + +var color_vertex = "#if defined( USE_COLOR_ALPHA )\n\tvColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif"; + +var common = "#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract( sin( sn ) * c );\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}"; + +var cube_uv_reflection_fragment = "#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_maxMipLevel 8.0\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_maxTileSize 256.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\tfloat texelSize = 1.0 / ( 3.0 * cubeUV_maxTileSize );\n\t\tvec2 uv = getUV( direction, face ) * ( faceSize - 1.0 ) + 0.5;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tif ( mipInt < cubeUV_maxMipLevel ) {\n\t\t\tuv.y += 2.0 * cubeUV_maxTileSize;\n\t\t}\n\t\tuv.y += filterInt * 2.0 * cubeUV_minTileSize;\n\t\tuv.x += 3.0 * max( 0.0, cubeUV_maxTileSize - 2.0 * faceSize );\n\t\tuv *= texelSize;\n\t\treturn texture2D( envMap, uv ).rgb;\n\t}\n\t#define r0 1.0\n\t#define v0 0.339\n\t#define m0 - 2.0\n\t#define r1 0.8\n\t#define v1 0.276\n\t#define m1 - 1.0\n\t#define r4 0.4\n\t#define v4 0.046\n\t#define m4 2.0\n\t#define r5 0.305\n\t#define v5 0.016\n\t#define m5 3.0\n\t#define r6 0.21\n\t#define v6 0.0038\n\t#define m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= r1 ) {\n\t\t\tmip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;\n\t\t} else if ( roughness >= r4 ) {\n\t\t\tmip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;\n\t\t} else if ( roughness >= r5 ) {\n\t\t\tmip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;\n\t\t} else if ( roughness >= r6 ) {\n\t\t\tmip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), m0, cubeUV_maxMipLevel );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif"; + +var defaultnormal_vertex = "vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif"; + +var displacementmap_pars_vertex = "#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif"; + +var displacementmap_vertex = "#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\n#endif"; + +var emissivemap_fragment = "#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif"; + +var emissivemap_pars_fragment = "#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif"; + +var encodings_fragment = "gl_FragColor = linearToOutputTexel( gl_FragColor );"; + +var encodings_pars_fragment = "vec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}"; + +var envmap_fragment = "#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t\tenvColor = envMapTexelToLinear( envColor );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif"; + +var envmap_common_pars_fragment = "#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif"; + +var envmap_pars_fragment = "#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif"; + +var envmap_pars_vertex = "#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif"; + +var envmap_vertex = "#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif"; + +var fog_vertex = "#ifdef USE_FOG\n\tvFogDepth = - mvPosition.z;\n#endif"; + +var fog_pars_vertex = "#ifdef USE_FOG\n\tvarying float vFogDepth;\n#endif"; + +var fog_fragment = "#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif"; + +var fog_pars_fragment = "#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float vFogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif"; + +var gradientmap_pars_fragment = "#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn vec3( texture2D( gradientMap, coord ).r );\n\t#else\n\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t#endif\n}"; + +var lightmap_fragment = "#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tlightMapIrradiance *= PI;\n\t#endif\n\treflectedLight.indirectDiffuse += lightMapIrradiance;\n#endif"; + +var lightmap_pars_fragment = "#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif"; + +var lights_lambert_vertex = "vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\nvIndirectFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n\tvIndirectBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\nvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\nvIndirectFront += getLightProbeIrradiance( lightProbe, geometry.normal );\n#ifdef DOUBLE_SIDED\n\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\n\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry.normal );\n#endif\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointLightInfo( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotLightInfo( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalLightInfo( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry.normal );\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif"; + +var lights_pars_begin = "uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\n\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\treturn irradiance;\n}\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\t#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tif ( cutoffDistance > 0.0 ) {\n\t\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\t}\n\t\treturn distanceFalloff;\n\t#else\n\t\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\t\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t\t}\n\t\treturn 1.0;\n\t#endif\n}\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\n\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tlight.color = directionalLight.color;\n\t\tlight.direction = directionalLight.direction;\n\t\tlight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tlight.color = pointLight.color;\n\t\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\n\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat angleCos = dot( light.direction, spotLight.direction );\n\t\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\tif ( spotAttenuation > 0.0 ) {\n\t\t\tfloat lightDistance = length( lVector );\n\t\t\tlight.color = spotLight.color * spotAttenuation;\n\t\t\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t\t} else {\n\t\t\tlight.color = vec3( 0.0 );\n\t\t\tlight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\n\t\tfloat dotNL = dot( normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\treturn irradiance;\n\t}\n#endif"; + +var envmap_physical_pars_fragment = "#if defined( USE_ENVMAP )\n\t#ifdef ENVMAP_MODE_REFRACTION\n\t\tuniform float refractionRatio;\n\t#endif\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 reflectVec;\n\t\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\t\treflectVec = reflect( - viewDir, normal );\n\t\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t\t#else\n\t\t\t\treflectVec = refract( - viewDir, normal, refractionRatio );\n\t\t\t#endif\n\t\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t\treturn envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n#endif"; + +var lights_toon_fragment = "ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;"; + +var lights_toon_pars_fragment = "varying vec3 vViewPosition;\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon\n#define Material_LightProbeLOD( material )\t(0)"; + +var lights_phong_fragment = "BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;"; + +var lights_phong_pars_fragment = "varying vec3 vViewPosition;\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)"; + +var lights_physical_fragment = "PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\nmaterial.roughness = min( material.roughness, 1.0 );\n#ifdef IOR\n\t#ifdef SPECULAR\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularColorFactor = specularColor;\n\t\t#ifdef USE_SPECULARINTENSITYMAP\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vUv ).a;\n\t\t#endif\n\t\t#ifdef USE_SPECULARCOLORMAP\n\t\t\tspecularColorFactor *= specularColorMapTexelToLinear( texture2D( specularColorMap, vUv ) ).rgb;\n\t\t#endif\n\t\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\n\t#else\n\t\tfloat specularIntensityFactor = 1.0;\n\t\tvec3 specularColorFactor = vec3( 1.0 );\n\t\tmaterial.specularF90 = 1.0;\n\t#endif\n\tmaterial.specularColor = mix( min( pow2( ( ior - 1.0 ) / ( ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.specularF90 = 1.0;\n#endif\n#ifdef USE_CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\tmaterial.clearcoatF0 = vec3( 0.04 );\n\tmaterial.clearcoatF90 = 1.0;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheenColor;\n\t#ifdef USE_SHEENCOLORMAP\n\t\tmaterial.sheenColor *= sheenColorMapTexelToLinear( texture2D( sheenColorMap, vUv ) ).rgb;\n\t#endif\n\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\n\t#ifdef USE_SHEENROUGHNESSMAP\n\t\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vUv ).a;\n\t#endif\n#endif"; + +var lights_physical_pars_fragment = "struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat roughness;\n\tvec3 specularColor;\n\tfloat specularF90;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat clearcoat;\n\t\tfloat clearcoatRoughness;\n\t\tvec3 clearcoatF0;\n\t\tfloat clearcoatF90;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tvec3 sheenColor;\n\t\tfloat sheenRoughness;\n\t#endif\n};\nvec3 clearcoatSpecular = vec3( 0.0 );\nvec3 sheenSpecular = vec3( 0.0 );\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat r2 = roughness * roughness;\n\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\n\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\n\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\n\treturn saturate( DG * RECIPROCAL_PI );\n}\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\n\treturn fab;\n}\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\treturn specularColor * fab.x + specularF90 * fab.y;\n}\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\tvec3 FssEss = specularColor * fab.x + specularF90 * fab.y;\n\tfloat Ess = fab.x + fab.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.roughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3( 0, 1, 0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\t\tclearcoatSpecular += ccIrradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\n\t#endif\n\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.roughness );\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );\n\t#endif\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\n\treflectedLight.indirectSpecular += radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}"; + +var lights_fragment_begin = "\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef USE_CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointLightInfo( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotLightInfo( spotLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif"; + +var lights_fragment_maps = "#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\t\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getIBLIrradiance( geometry.normal );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif"; + +var lights_fragment_end = "#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif"; + +var logdepthbuf_fragment = "#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif"; + +var logdepthbuf_pars_fragment = "#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif"; + +var logdepthbuf_pars_vertex = "#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif"; + +var logdepthbuf_vertex = "#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif"; + +var map_fragment = "#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif"; + +var map_pars_fragment = "#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif"; + +var map_particle_fragment = "#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n#endif\n#ifdef USE_MAP\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif"; + +var map_particle_pars_fragment = "#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tuniform mat3 uvTransform;\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif"; + +var metalnessmap_fragment = "float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif"; + +var metalnessmap_pars_fragment = "#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif"; + +var morphnormal_vertex = "#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] > 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1, 2 ) * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\t\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\t\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\t\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n\t#endif\n#endif"; + +var morphtarget_pars_vertex = "#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n\t\tuniform sampler2DArray morphTargetsTexture;\n\t\tuniform vec2 morphTargetsTextureSize;\n\t\tvec3 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset, const in int stride ) {\n\t\t\tfloat texelIndex = float( vertexIndex * stride + offset );\n\t\t\tfloat y = floor( texelIndex / morphTargetsTextureSize.x );\n\t\t\tfloat x = texelIndex - y * morphTargetsTextureSize.x;\n\t\t\tvec3 morphUV = vec3( ( x + 0.5 ) / morphTargetsTextureSize.x, y / morphTargetsTextureSize.y, morphTargetIndex );\n\t\t\treturn texture( morphTargetsTexture, morphUV ).xyz;\n\t\t}\n\t#else\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\tuniform float morphTargetInfluences[ 8 ];\n\t\t#else\n\t\t\tuniform float morphTargetInfluences[ 4 ];\n\t\t#endif\n\t#endif\n#endif"; + +var morphtarget_vertex = "#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\t#ifndef USE_MORPHNORMALS\n\t\t\t\tif ( morphTargetInfluences[ i ] > 0.0 ) transformed += getMorph( gl_VertexID, i, 0, 1 ) * morphTargetInfluences[ i ];\n\t\t\t#else\n\t\t\t\tif ( morphTargetInfluences[ i ] > 0.0 ) transformed += getMorph( gl_VertexID, i, 0, 2 ) * morphTargetInfluences[ i ];\n\t\t\t#endif\n\t\t}\n\t#else\n\t\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\t\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\t\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\t\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t\t#endif\n\t#endif\n#endif"; + +var normal_fragment_begin = "float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * faceDirection;\n\t\t\tbitangent = bitangent * faceDirection;\n\t\t#endif\n\t\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\t#endif\n\t#endif\n#endif\nvec3 geometryNormal = normal;"; + +var normal_fragment_maps = "#ifdef OBJECTSPACE_NORMALMAP\n\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( TANGENTSPACE_NORMALMAP )\n\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\t#ifdef USE_TANGENT\n\t\tnormal = normalize( vTBN * mapN );\n\t#else\n\t\tnormal = perturbNormal2Arb( - vViewPosition, normal, mapN, faceDirection );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif"; + +var normal_pars_fragment = "#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif"; + +var normal_pars_vertex = "#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif"; + +var normal_vertex = "#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif"; + +var normalmap_pars_fragment = "#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\n\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\n\t\treturn normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\n\t}\n#endif"; + +var clearcoat_normal_fragment_begin = "#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif"; + +var clearcoat_normal_fragment_maps = "#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\t#ifdef USE_TANGENT\n\t\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\n\t#else\n\t\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );\n\t#endif\n#endif"; + +var clearcoat_pars_fragment = "#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif"; + +var output_fragment = "#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= transmissionAlpha + 0.1;\n#endif\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );"; + +var packing = "vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}"; + +var premultiplied_alpha_fragment = "#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif"; + +var project_vertex = "vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;"; + +var dithering_fragment = "#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif"; + +var dithering_pars_fragment = "#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif"; + +var roughnessmap_fragment = "float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif"; + +var roughnessmap_pars_fragment = "#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif"; + +var shadowmap_pars_fragment = "#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), \n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif"; + +var shadowmap_pars_vertex = "#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif"; + +var shadowmap_vertex = "#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\n\t\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\tvec4 shadowWorldPosition;\n\t#endif\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n#endif"; + +var shadowmask_pars_fragment = "float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}"; + +var skinbase_vertex = "#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif"; + +var skinning_pars_vertex = "#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform highp sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif"; + +var skinning_vertex = "#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif"; + +var skinnormal_vertex = "#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif"; + +var specularmap_fragment = "float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif"; + +var specularmap_pars_fragment = "#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif"; + +var tonemapping_fragment = "#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif"; + +var tonemapping_pars_fragment = "#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3( 1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605, 1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }"; + +var transmission_fragment = "#ifdef USE_TRANSMISSION\n\tfloat transmissionAlpha = 1.0;\n\tfloat transmissionFactor = transmission;\n\tfloat thicknessFactor = thickness;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\ttransmissionFactor *= texture2D( transmissionMap, vUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tthicknessFactor *= texture2D( thicknessMap, vUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\tvec4 transmission = getIBLVolumeRefraction(\n\t\tn, v, roughnessFactor, material.diffuseColor, material.specularColor, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, ior, thicknessFactor,\n\t\tattenuationColor, attenuationDistance );\n\ttotalDiffuse = mix( totalDiffuse, transmission.rgb, transmissionFactor );\n\ttransmissionAlpha = mix( transmissionAlpha, transmission.a, transmissionFactor );\n#endif"; + +var transmission_pars_fragment = "#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform float attenuationDistance;\n\tuniform vec3 attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec3 vWorldPosition;\n\tvec3 getVolumeTransmissionRay( vec3 n, vec3 v, float thickness, float ior, mat4 modelMatrix ) {\n\t\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n\t\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n\t\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n\t\treturn normalize( refractionVector ) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness( float roughness, float ior ) {\n\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n\t}\n\tvec4 getTransmissionSample( vec2 fragCoord, float roughness, float ior ) {\n\t\tfloat framebufferLod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\treturn texture2DLodEXT( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\t\t#else\n\t\t\treturn texture2D( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\t\t#endif\n\t}\n\tvec3 applyVolumeAttenuation( vec3 radiance, float transmissionDistance, vec3 attenuationColor, float attenuationDistance ) {\n\t\tif ( attenuationDistance == 0.0 ) {\n\t\t\treturn radiance;\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance * radiance;\n\t\t}\n\t}\n\tvec4 getIBLVolumeRefraction( vec3 n, vec3 v, float roughness, vec3 diffuseColor, vec3 specularColor, float specularF90,\n\t\tvec3 position, mat4 modelMatrix, mat4 viewMatrix, mat4 projMatrix, float ior, float thickness,\n\t\tvec3 attenuationColor, float attenuationDistance ) {\n\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\t\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\n\t\tvec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance );\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a );\n\t}\n#endif"; + +var uv_pars_fragment = "#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\n\tvarying vec2 vUv;\n#endif"; + +var uv_pars_vertex = "#ifdef USE_UV\n\t#ifdef UVS_VERTEX_ONLY\n\t\tvec2 vUv;\n\t#else\n\t\tvarying vec2 vUv;\n\t#endif\n\tuniform mat3 uvTransform;\n#endif"; + +var uv_vertex = "#ifdef USE_UV\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif"; + +var uv2_pars_fragment = "#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif"; + +var uv2_pars_vertex = "#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n\tuniform mat3 uv2Transform;\n#endif"; + +var uv2_vertex = "#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n#endif"; + +var worldpos_vertex = "#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION )\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif"; + +const vertex$g = "varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}"; + +const fragment$g = "uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}"; + +const vertex$f = "varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}"; + +const fragment$f = "#include \nuniform float opacity;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 vReflect = vWorldDirection;\n\t#include \n\tgl_FragColor = envColor;\n\tgl_FragColor.a *= opacity;\n\t#include \n\t#include \n}"; + +const vertex$e = "#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvHighPrecisionZW = gl_Position.zw;\n}"; + +const fragment$e = "#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}"; + +const vertex$d = "#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition.xyz;\n}"; + +const fragment$d = "#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}"; + +const vertex$c = "varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}"; + +const fragment$c = "uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}"; + +const vertex$b = "uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; + +const fragment$b = "uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; + +const vertex$a = "#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; + +const fragment$a = "uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\treflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; + +const vertex$9 = "#define LAMBERT\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; + +const fragment$9 = "uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\t#else\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= BRDF_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; + +const vertex$8 = "#define MATCAP\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n}"; + +const fragment$8 = "#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t\tmatcapColor = matcapTexelToLinear( matcapColor );\n\t#else\n\t\tvec4 matcapColor = vec4( 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; + +const vertex$7 = "#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}"; + +const fragment$7 = "#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}"; + +const vertex$6 = "#define PHONG\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}"; + +const fragment$6 = "#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; + +const vertex$5 = "#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition.xyz;\n#endif\n}"; + +const fragment$5 = "#define STANDARD\n#ifdef PHYSICAL\n\t#define IOR\n\t#define SPECULAR\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef IOR\n\tuniform float ior;\n#endif\n#ifdef SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularColor;\n\t#ifdef USE_SPECULARINTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\n\t#endif\n\t#ifdef USE_SPECULARCOLORMAP\n\t\tuniform sampler2D specularColorMap;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheenColor;\n\tuniform float sheenRoughness;\n\t#ifdef USE_SHEENCOLORMAP\n\t\tuniform sampler2D sheenColorMap;\n\t#endif\n\t#ifdef USE_SHEENROUGHNESSMAP\n\t\tuniform sampler2D sheenRoughnessMap;\n\t#endif\n#endif\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include \n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\t#ifdef USE_SHEEN\n\t\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\n\t\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n\t\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; + +const vertex$4 = "#define TOON\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}"; + +const fragment$4 = "#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; + +const vertex$3 = "uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n}"; + +const fragment$3 = "uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; + +const vertex$2 = "#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; + +const fragment$2 = "uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n\t#include \n\t#include \n}"; + +const vertex$1 = "uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}"; + +const fragment$1 = "uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n}"; + +const ShaderChunk = { + alphamap_fragment: alphamap_fragment, + alphamap_pars_fragment: alphamap_pars_fragment, + alphatest_fragment: alphatest_fragment, + alphatest_pars_fragment: alphatest_pars_fragment, + aomap_fragment: aomap_fragment, + aomap_pars_fragment: aomap_pars_fragment, + begin_vertex: begin_vertex, + beginnormal_vertex: beginnormal_vertex, + bsdfs: bsdfs, + bumpmap_pars_fragment: bumpmap_pars_fragment, + clipping_planes_fragment: clipping_planes_fragment, + clipping_planes_pars_fragment: clipping_planes_pars_fragment, + clipping_planes_pars_vertex: clipping_planes_pars_vertex, + clipping_planes_vertex: clipping_planes_vertex, + color_fragment: color_fragment, + color_pars_fragment: color_pars_fragment, + color_pars_vertex: color_pars_vertex, + color_vertex: color_vertex, + common: common, + cube_uv_reflection_fragment: cube_uv_reflection_fragment, + defaultnormal_vertex: defaultnormal_vertex, + displacementmap_pars_vertex: displacementmap_pars_vertex, + displacementmap_vertex: displacementmap_vertex, + emissivemap_fragment: emissivemap_fragment, + emissivemap_pars_fragment: emissivemap_pars_fragment, + encodings_fragment: encodings_fragment, + encodings_pars_fragment: encodings_pars_fragment, + envmap_fragment: envmap_fragment, + envmap_common_pars_fragment: envmap_common_pars_fragment, + envmap_pars_fragment: envmap_pars_fragment, + envmap_pars_vertex: envmap_pars_vertex, + envmap_physical_pars_fragment: envmap_physical_pars_fragment, + envmap_vertex: envmap_vertex, + fog_vertex: fog_vertex, + fog_pars_vertex: fog_pars_vertex, + fog_fragment: fog_fragment, + fog_pars_fragment: fog_pars_fragment, + gradientmap_pars_fragment: gradientmap_pars_fragment, + lightmap_fragment: lightmap_fragment, + lightmap_pars_fragment: lightmap_pars_fragment, + lights_lambert_vertex: lights_lambert_vertex, + lights_pars_begin: lights_pars_begin, + lights_toon_fragment: lights_toon_fragment, + lights_toon_pars_fragment: lights_toon_pars_fragment, + lights_phong_fragment: lights_phong_fragment, + lights_phong_pars_fragment: lights_phong_pars_fragment, + lights_physical_fragment: lights_physical_fragment, + lights_physical_pars_fragment: lights_physical_pars_fragment, + lights_fragment_begin: lights_fragment_begin, + lights_fragment_maps: lights_fragment_maps, + lights_fragment_end: lights_fragment_end, + logdepthbuf_fragment: logdepthbuf_fragment, + logdepthbuf_pars_fragment: logdepthbuf_pars_fragment, + logdepthbuf_pars_vertex: logdepthbuf_pars_vertex, + logdepthbuf_vertex: logdepthbuf_vertex, + map_fragment: map_fragment, + map_pars_fragment: map_pars_fragment, + map_particle_fragment: map_particle_fragment, + map_particle_pars_fragment: map_particle_pars_fragment, + metalnessmap_fragment: metalnessmap_fragment, + metalnessmap_pars_fragment: metalnessmap_pars_fragment, + morphnormal_vertex: morphnormal_vertex, + morphtarget_pars_vertex: morphtarget_pars_vertex, + morphtarget_vertex: morphtarget_vertex, + normal_fragment_begin: normal_fragment_begin, + normal_fragment_maps: normal_fragment_maps, + normal_pars_fragment: normal_pars_fragment, + normal_pars_vertex: normal_pars_vertex, + normal_vertex: normal_vertex, + normalmap_pars_fragment: normalmap_pars_fragment, + clearcoat_normal_fragment_begin: clearcoat_normal_fragment_begin, + clearcoat_normal_fragment_maps: clearcoat_normal_fragment_maps, + clearcoat_pars_fragment: clearcoat_pars_fragment, + output_fragment: output_fragment, + packing: packing, + premultiplied_alpha_fragment: premultiplied_alpha_fragment, + project_vertex: project_vertex, + dithering_fragment: dithering_fragment, + dithering_pars_fragment: dithering_pars_fragment, + roughnessmap_fragment: roughnessmap_fragment, + roughnessmap_pars_fragment: roughnessmap_pars_fragment, + shadowmap_pars_fragment: shadowmap_pars_fragment, + shadowmap_pars_vertex: shadowmap_pars_vertex, + shadowmap_vertex: shadowmap_vertex, + shadowmask_pars_fragment: shadowmask_pars_fragment, + skinbase_vertex: skinbase_vertex, + skinning_pars_vertex: skinning_pars_vertex, + skinning_vertex: skinning_vertex, + skinnormal_vertex: skinnormal_vertex, + specularmap_fragment: specularmap_fragment, + specularmap_pars_fragment: specularmap_pars_fragment, + tonemapping_fragment: tonemapping_fragment, + tonemapping_pars_fragment: tonemapping_pars_fragment, + transmission_fragment: transmission_fragment, + transmission_pars_fragment: transmission_pars_fragment, + uv_pars_fragment: uv_pars_fragment, + uv_pars_vertex: uv_pars_vertex, + uv_vertex: uv_vertex, + uv2_pars_fragment: uv2_pars_fragment, + uv2_pars_vertex: uv2_pars_vertex, + uv2_vertex: uv2_vertex, + worldpos_vertex: worldpos_vertex, + + background_vert: vertex$g, + background_frag: fragment$g, + cube_vert: vertex$f, + cube_frag: fragment$f, + depth_vert: vertex$e, + depth_frag: fragment$e, + distanceRGBA_vert: vertex$d, + distanceRGBA_frag: fragment$d, + equirect_vert: vertex$c, + equirect_frag: fragment$c, + linedashed_vert: vertex$b, + linedashed_frag: fragment$b, + meshbasic_vert: vertex$a, + meshbasic_frag: fragment$a, + meshlambert_vert: vertex$9, + meshlambert_frag: fragment$9, + meshmatcap_vert: vertex$8, + meshmatcap_frag: fragment$8, + meshnormal_vert: vertex$7, + meshnormal_frag: fragment$7, + meshphong_vert: vertex$6, + meshphong_frag: fragment$6, + meshphysical_vert: vertex$5, + meshphysical_frag: fragment$5, + meshtoon_vert: vertex$4, + meshtoon_frag: fragment$4, + points_vert: vertex$3, + points_frag: fragment$3, + shadow_vert: vertex$2, + shadow_frag: fragment$2, + sprite_vert: vertex$1, + sprite_frag: fragment$1 +}; + +/** + * Uniforms library for shared webgl shaders + */ + +const UniformsLib = { + + common: { + + diffuse: { value: new Color( 0xffffff ) }, + opacity: { value: 1.0 }, + + map: { value: null }, + uvTransform: { value: new Matrix3() }, + uv2Transform: { value: new Matrix3() }, + + alphaMap: { value: null }, + alphaTest: { value: 0 } + + }, + + specularmap: { + + specularMap: { value: null }, + + }, + + envmap: { + + envMap: { value: null }, + flipEnvMap: { value: - 1 }, + reflectivity: { value: 1.0 }, // basic, lambert, phong + ior: { value: 1.5 }, // standard, physical + refractionRatio: { value: 0.98 } + + }, + + aomap: { + + aoMap: { value: null }, + aoMapIntensity: { value: 1 } + + }, + + lightmap: { + + lightMap: { value: null }, + lightMapIntensity: { value: 1 } + + }, + + emissivemap: { + + emissiveMap: { value: null } + + }, + + bumpmap: { + + bumpMap: { value: null }, + bumpScale: { value: 1 } + + }, + + normalmap: { + + normalMap: { value: null }, + normalScale: { value: new Vector2( 1, 1 ) } + + }, + + displacementmap: { + + displacementMap: { value: null }, + displacementScale: { value: 1 }, + displacementBias: { value: 0 } + + }, + + roughnessmap: { + + roughnessMap: { value: null } + + }, + + metalnessmap: { + + metalnessMap: { value: null } + + }, + + gradientmap: { + + gradientMap: { value: null } + + }, + + fog: { + + fogDensity: { value: 0.00025 }, + fogNear: { value: 1 }, + fogFar: { value: 2000 }, + fogColor: { value: new Color( 0xffffff ) } + + }, + + lights: { + + ambientLightColor: { value: [] }, + + lightProbe: { value: [] }, + + directionalLights: { value: [], properties: { + direction: {}, + color: {} + } }, + + directionalLightShadows: { value: [], properties: { + shadowBias: {}, + shadowNormalBias: {}, + shadowRadius: {}, + shadowMapSize: {} + } }, + + directionalShadowMap: { value: [] }, + directionalShadowMatrix: { value: [] }, + + spotLights: { value: [], properties: { + color: {}, + position: {}, + direction: {}, + distance: {}, + coneCos: {}, + penumbraCos: {}, + decay: {} + } }, + + spotLightShadows: { value: [], properties: { + shadowBias: {}, + shadowNormalBias: {}, + shadowRadius: {}, + shadowMapSize: {} + } }, + + spotShadowMap: { value: [] }, + spotShadowMatrix: { value: [] }, + + pointLights: { value: [], properties: { + color: {}, + position: {}, + decay: {}, + distance: {} + } }, + + pointLightShadows: { value: [], properties: { + shadowBias: {}, + shadowNormalBias: {}, + shadowRadius: {}, + shadowMapSize: {}, + shadowCameraNear: {}, + shadowCameraFar: {} + } }, + + pointShadowMap: { value: [] }, + pointShadowMatrix: { value: [] }, + + hemisphereLights: { value: [], properties: { + direction: {}, + skyColor: {}, + groundColor: {} + } }, + + // TODO (abelnation): RectAreaLight BRDF data needs to be moved from example to main src + rectAreaLights: { value: [], properties: { + color: {}, + position: {}, + width: {}, + height: {} + } }, + + ltc_1: { value: null }, + ltc_2: { value: null } + + }, + + points: { + + diffuse: { value: new Color( 0xffffff ) }, + opacity: { value: 1.0 }, + size: { value: 1.0 }, + scale: { value: 1.0 }, + map: { value: null }, + alphaMap: { value: null }, + alphaTest: { value: 0 }, + uvTransform: { value: new Matrix3() } + + }, + + sprite: { + + diffuse: { value: new Color( 0xffffff ) }, + opacity: { value: 1.0 }, + center: { value: new Vector2( 0.5, 0.5 ) }, + rotation: { value: 0.0 }, + map: { value: null }, + alphaMap: { value: null }, + alphaTest: { value: 0 }, + uvTransform: { value: new Matrix3() } + + } + +}; + +const ShaderLib = { + + basic: { + + uniforms: mergeUniforms( [ + UniformsLib.common, + UniformsLib.specularmap, + UniformsLib.envmap, + UniformsLib.aomap, + UniformsLib.lightmap, + UniformsLib.fog + ] ), + + vertexShader: ShaderChunk.meshbasic_vert, + fragmentShader: ShaderChunk.meshbasic_frag + + }, + + lambert: { + + uniforms: mergeUniforms( [ + UniformsLib.common, + UniformsLib.specularmap, + UniformsLib.envmap, + UniformsLib.aomap, + UniformsLib.lightmap, + UniformsLib.emissivemap, + UniformsLib.fog, + UniformsLib.lights, + { + emissive: { value: new Color( 0x000000 ) } + } + ] ), + + vertexShader: ShaderChunk.meshlambert_vert, + fragmentShader: ShaderChunk.meshlambert_frag + + }, + + phong: { + + uniforms: mergeUniforms( [ + UniformsLib.common, + UniformsLib.specularmap, + UniformsLib.envmap, + UniformsLib.aomap, + UniformsLib.lightmap, + UniformsLib.emissivemap, + UniformsLib.bumpmap, + UniformsLib.normalmap, + UniformsLib.displacementmap, + UniformsLib.fog, + UniformsLib.lights, + { + emissive: { value: new Color( 0x000000 ) }, + specular: { value: new Color( 0x111111 ) }, + shininess: { value: 30 } + } + ] ), + + vertexShader: ShaderChunk.meshphong_vert, + fragmentShader: ShaderChunk.meshphong_frag + + }, + + standard: { + + uniforms: mergeUniforms( [ + UniformsLib.common, + UniformsLib.envmap, + UniformsLib.aomap, + UniformsLib.lightmap, + UniformsLib.emissivemap, + UniformsLib.bumpmap, + UniformsLib.normalmap, + UniformsLib.displacementmap, + UniformsLib.roughnessmap, + UniformsLib.metalnessmap, + UniformsLib.fog, + UniformsLib.lights, + { + emissive: { value: new Color( 0x000000 ) }, + roughness: { value: 1.0 }, + metalness: { value: 0.0 }, + envMapIntensity: { value: 1 } // temporary + } + ] ), + + vertexShader: ShaderChunk.meshphysical_vert, + fragmentShader: ShaderChunk.meshphysical_frag + + }, + + toon: { + + uniforms: mergeUniforms( [ + UniformsLib.common, + UniformsLib.aomap, + UniformsLib.lightmap, + UniformsLib.emissivemap, + UniformsLib.bumpmap, + UniformsLib.normalmap, + UniformsLib.displacementmap, + UniformsLib.gradientmap, + UniformsLib.fog, + UniformsLib.lights, + { + emissive: { value: new Color( 0x000000 ) } + } + ] ), + + vertexShader: ShaderChunk.meshtoon_vert, + fragmentShader: ShaderChunk.meshtoon_frag + + }, + + matcap: { + + uniforms: mergeUniforms( [ + UniformsLib.common, + UniformsLib.bumpmap, + UniformsLib.normalmap, + UniformsLib.displacementmap, + UniformsLib.fog, + { + matcap: { value: null } + } + ] ), + + vertexShader: ShaderChunk.meshmatcap_vert, + fragmentShader: ShaderChunk.meshmatcap_frag + + }, + + points: { + + uniforms: mergeUniforms( [ + UniformsLib.points, + UniformsLib.fog + ] ), + + vertexShader: ShaderChunk.points_vert, + fragmentShader: ShaderChunk.points_frag + + }, + + dashed: { + + uniforms: mergeUniforms( [ + UniformsLib.common, + UniformsLib.fog, + { + scale: { value: 1 }, + dashSize: { value: 1 }, + totalSize: { value: 2 } + } + ] ), + + vertexShader: ShaderChunk.linedashed_vert, + fragmentShader: ShaderChunk.linedashed_frag + + }, + + depth: { + + uniforms: mergeUniforms( [ + UniformsLib.common, + UniformsLib.displacementmap + ] ), + + vertexShader: ShaderChunk.depth_vert, + fragmentShader: ShaderChunk.depth_frag + + }, + + normal: { + + uniforms: mergeUniforms( [ + UniformsLib.common, + UniformsLib.bumpmap, + UniformsLib.normalmap, + UniformsLib.displacementmap, + { + opacity: { value: 1.0 } + } + ] ), + + vertexShader: ShaderChunk.meshnormal_vert, + fragmentShader: ShaderChunk.meshnormal_frag + + }, + + sprite: { + + uniforms: mergeUniforms( [ + UniformsLib.sprite, + UniformsLib.fog + ] ), + + vertexShader: ShaderChunk.sprite_vert, + fragmentShader: ShaderChunk.sprite_frag + + }, + + background: { + + uniforms: { + uvTransform: { value: new Matrix3() }, + t2D: { value: null }, + }, + + vertexShader: ShaderChunk.background_vert, + fragmentShader: ShaderChunk.background_frag + + }, + /* ------------------------------------------------------------------------- + // Cube map shader + ------------------------------------------------------------------------- */ + + cube: { + + uniforms: mergeUniforms( [ + UniformsLib.envmap, + { + opacity: { value: 1.0 } + } + ] ), + + vertexShader: ShaderChunk.cube_vert, + fragmentShader: ShaderChunk.cube_frag + + }, + + equirect: { + + uniforms: { + tEquirect: { value: null }, + }, + + vertexShader: ShaderChunk.equirect_vert, + fragmentShader: ShaderChunk.equirect_frag + + }, + + distanceRGBA: { + + uniforms: mergeUniforms( [ + UniformsLib.common, + UniformsLib.displacementmap, + { + referencePosition: { value: new Vector3() }, + nearDistance: { value: 1 }, + farDistance: { value: 1000 } + } + ] ), + + vertexShader: ShaderChunk.distanceRGBA_vert, + fragmentShader: ShaderChunk.distanceRGBA_frag + + }, + + shadow: { + + uniforms: mergeUniforms( [ + UniformsLib.lights, + UniformsLib.fog, + { + color: { value: new Color( 0x00000 ) }, + opacity: { value: 1.0 } + }, + ] ), + + vertexShader: ShaderChunk.shadow_vert, + fragmentShader: ShaderChunk.shadow_frag + + } + +}; + +ShaderLib.physical = { + + uniforms: mergeUniforms( [ + ShaderLib.standard.uniforms, + { + clearcoat: { value: 0 }, + clearcoatMap: { value: null }, + clearcoatRoughness: { value: 0 }, + clearcoatRoughnessMap: { value: null }, + clearcoatNormalScale: { value: new Vector2( 1, 1 ) }, + clearcoatNormalMap: { value: null }, + sheen: { value: 0 }, + sheenColor: { value: new Color( 0x000000 ) }, + sheenColorMap: { value: null }, + sheenRoughness: { value: 0 }, + sheenRoughnessMap: { value: null }, + transmission: { value: 0 }, + transmissionMap: { value: null }, + transmissionSamplerSize: { value: new Vector2() }, + transmissionSamplerMap: { value: null }, + thickness: { value: 0 }, + thicknessMap: { value: null }, + attenuationDistance: { value: 0 }, + attenuationColor: { value: new Color( 0x000000 ) }, + specularIntensity: { value: 0 }, + specularIntensityMap: { value: null }, + specularColor: { value: new Color( 1, 1, 1 ) }, + specularColorMap: { value: null }, + } + ] ), + + vertexShader: ShaderChunk.meshphysical_vert, + fragmentShader: ShaderChunk.meshphysical_frag + +}; + +function WebGLBackground( renderer, cubemaps, state, objects, premultipliedAlpha ) { + + const clearColor = new Color( 0x000000 ); + let clearAlpha = 0; + + let planeMesh; + let boxMesh; + + let currentBackground = null; + let currentBackgroundVersion = 0; + let currentTonemapping = null; + + function render( renderList, scene ) { + + let forceClear = false; + let background = scene.isScene === true ? scene.background : null; + + if ( background && background.isTexture ) { + + background = cubemaps.get( background ); + + } + + // Ignore background in AR + // TODO: Reconsider this. + + const xr = renderer.xr; + const session = xr.getSession && xr.getSession(); + + if ( session && session.environmentBlendMode === 'additive' ) { + + background = null; + + } + + if ( background === null ) { + + setClear( clearColor, clearAlpha ); + + } else if ( background && background.isColor ) { + + setClear( background, 1 ); + forceClear = true; + + } + + if ( renderer.autoClear || forceClear ) { + + renderer.clear( renderer.autoClearColor, renderer.autoClearDepth, renderer.autoClearStencil ); + + } + + if ( background && ( background.isCubeTexture || background.mapping === CubeUVReflectionMapping ) ) { + + if ( boxMesh === undefined ) { + + boxMesh = new Mesh( + new BoxGeometry( 1, 1, 1 ), + new ShaderMaterial( { + name: 'BackgroundCubeMaterial', + uniforms: cloneUniforms( ShaderLib.cube.uniforms ), + vertexShader: ShaderLib.cube.vertexShader, + fragmentShader: ShaderLib.cube.fragmentShader, + side: BackSide, + depthTest: false, + depthWrite: false, + fog: false + } ) + ); + + boxMesh.geometry.deleteAttribute( 'normal' ); + boxMesh.geometry.deleteAttribute( 'uv' ); + + boxMesh.onBeforeRender = function ( renderer, scene, camera ) { + + this.matrixWorld.copyPosition( camera.matrixWorld ); + + }; + + // enable code injection for non-built-in material + Object.defineProperty( boxMesh.material, 'envMap', { + + get: function () { + + return this.uniforms.envMap.value; + + } + + } ); + + objects.update( boxMesh ); + + } + + boxMesh.material.uniforms.envMap.value = background; + boxMesh.material.uniforms.flipEnvMap.value = ( background.isCubeTexture && background.isRenderTargetTexture === false ) ? - 1 : 1; + + if ( currentBackground !== background || + currentBackgroundVersion !== background.version || + currentTonemapping !== renderer.toneMapping ) { + + boxMesh.material.needsUpdate = true; + + currentBackground = background; + currentBackgroundVersion = background.version; + currentTonemapping = renderer.toneMapping; + + } + + // push to the pre-sorted opaque render list + renderList.unshift( boxMesh, boxMesh.geometry, boxMesh.material, 0, 0, null ); + + } else if ( background && background.isTexture ) { + + if ( planeMesh === undefined ) { + + planeMesh = new Mesh( + new PlaneGeometry( 2, 2 ), + new ShaderMaterial( { + name: 'BackgroundMaterial', + uniforms: cloneUniforms( ShaderLib.background.uniforms ), + vertexShader: ShaderLib.background.vertexShader, + fragmentShader: ShaderLib.background.fragmentShader, + side: FrontSide, + depthTest: false, + depthWrite: false, + fog: false + } ) + ); + + planeMesh.geometry.deleteAttribute( 'normal' ); + + // enable code injection for non-built-in material + Object.defineProperty( planeMesh.material, 'map', { + + get: function () { + + return this.uniforms.t2D.value; + + } + + } ); + + objects.update( planeMesh ); + + } + + planeMesh.material.uniforms.t2D.value = background; + + if ( background.matrixAutoUpdate === true ) { + + background.updateMatrix(); + + } + + planeMesh.material.uniforms.uvTransform.value.copy( background.matrix ); + + if ( currentBackground !== background || + currentBackgroundVersion !== background.version || + currentTonemapping !== renderer.toneMapping ) { + + planeMesh.material.needsUpdate = true; + + currentBackground = background; + currentBackgroundVersion = background.version; + currentTonemapping = renderer.toneMapping; + + } + + + // push to the pre-sorted opaque render list + renderList.unshift( planeMesh, planeMesh.geometry, planeMesh.material, 0, 0, null ); + + } + + } + + function setClear( color, alpha ) { + + state.buffers.color.setClear( color.r, color.g, color.b, alpha, premultipliedAlpha ); + + } + + return { + + getClearColor: function () { + + return clearColor; + + }, + setClearColor: function ( color, alpha = 1 ) { + + clearColor.set( color ); + clearAlpha = alpha; + setClear( clearColor, clearAlpha ); + + }, + getClearAlpha: function () { + + return clearAlpha; + + }, + setClearAlpha: function ( alpha ) { + + clearAlpha = alpha; + setClear( clearColor, clearAlpha ); + + }, + render: render + + }; + +} + +function WebGLBindingStates( gl, extensions, attributes, capabilities ) { + + const maxVertexAttributes = gl.getParameter( 34921 ); + + const extension = capabilities.isWebGL2 ? null : extensions.get( 'OES_vertex_array_object' ); + const vaoAvailable = capabilities.isWebGL2 || extension !== null; + + const bindingStates = {}; + + const defaultState = createBindingState( null ); + let currentState = defaultState; + + function setup( object, material, program, geometry, index ) { + + let updateBuffers = false; + + if ( vaoAvailable ) { + + const state = getBindingState( geometry, program, material ); + + if ( currentState !== state ) { + + currentState = state; + bindVertexArrayObject( currentState.object ); + + } + + updateBuffers = needsUpdate( geometry, index ); + + if ( updateBuffers ) saveCache( geometry, index ); + + } else { + + const wireframe = ( material.wireframe === true ); + + if ( currentState.geometry !== geometry.id || + currentState.program !== program.id || + currentState.wireframe !== wireframe ) { + + currentState.geometry = geometry.id; + currentState.program = program.id; + currentState.wireframe = wireframe; + + updateBuffers = true; + + } + + } + + if ( object.isInstancedMesh === true ) { + + updateBuffers = true; + + } + + if ( index !== null ) { + + attributes.update( index, 34963 ); + + } + + if ( updateBuffers ) { + + setupVertexAttributes( object, material, program, geometry ); + + if ( index !== null ) { + + gl.bindBuffer( 34963, attributes.get( index ).buffer ); + + } + + } + + } + + function createVertexArrayObject() { + + if ( capabilities.isWebGL2 ) return gl.createVertexArray(); + + return extension.createVertexArrayOES(); + + } + + function bindVertexArrayObject( vao ) { + + if ( capabilities.isWebGL2 ) return gl.bindVertexArray( vao ); + + return extension.bindVertexArrayOES( vao ); + + } + + function deleteVertexArrayObject( vao ) { + + if ( capabilities.isWebGL2 ) return gl.deleteVertexArray( vao ); + + return extension.deleteVertexArrayOES( vao ); + + } + + function getBindingState( geometry, program, material ) { + + const wireframe = ( material.wireframe === true ); + + let programMap = bindingStates[ geometry.id ]; + + if ( programMap === undefined ) { + + programMap = {}; + bindingStates[ geometry.id ] = programMap; + + } + + let stateMap = programMap[ program.id ]; + + if ( stateMap === undefined ) { + + stateMap = {}; + programMap[ program.id ] = stateMap; + + } + + let state = stateMap[ wireframe ]; + + if ( state === undefined ) { + + state = createBindingState( createVertexArrayObject() ); + stateMap[ wireframe ] = state; + + } + + return state; + + } + + function createBindingState( vao ) { + + const newAttributes = []; + const enabledAttributes = []; + const attributeDivisors = []; + + for ( let i = 0; i < maxVertexAttributes; i ++ ) { + + newAttributes[ i ] = 0; + enabledAttributes[ i ] = 0; + attributeDivisors[ i ] = 0; + + } + + return { + + // for backward compatibility on non-VAO support browser + geometry: null, + program: null, + wireframe: false, + + newAttributes: newAttributes, + enabledAttributes: enabledAttributes, + attributeDivisors: attributeDivisors, + object: vao, + attributes: {}, + index: null + + }; + + } + + function needsUpdate( geometry, index ) { + + const cachedAttributes = currentState.attributes; + const geometryAttributes = geometry.attributes; + + let attributesNum = 0; + + for ( const key in geometryAttributes ) { + + const cachedAttribute = cachedAttributes[ key ]; + const geometryAttribute = geometryAttributes[ key ]; + + if ( cachedAttribute === undefined ) return true; + + if ( cachedAttribute.attribute !== geometryAttribute ) return true; + + if ( cachedAttribute.data !== geometryAttribute.data ) return true; + + attributesNum ++; + + } + + if ( currentState.attributesNum !== attributesNum ) return true; + + if ( currentState.index !== index ) return true; + + return false; + + } + + function saveCache( geometry, index ) { + + const cache = {}; + const attributes = geometry.attributes; + let attributesNum = 0; + + for ( const key in attributes ) { + + const attribute = attributes[ key ]; + + const data = {}; + data.attribute = attribute; + + if ( attribute.data ) { + + data.data = attribute.data; + + } + + cache[ key ] = data; + + attributesNum ++; + + } + + currentState.attributes = cache; + currentState.attributesNum = attributesNum; + + currentState.index = index; + + } + + function initAttributes() { + + const newAttributes = currentState.newAttributes; + + for ( let i = 0, il = newAttributes.length; i < il; i ++ ) { + + newAttributes[ i ] = 0; + + } + + } + + function enableAttribute( attribute ) { + + enableAttributeAndDivisor( attribute, 0 ); + + } + + function enableAttributeAndDivisor( attribute, meshPerAttribute ) { + + const newAttributes = currentState.newAttributes; + const enabledAttributes = currentState.enabledAttributes; + const attributeDivisors = currentState.attributeDivisors; + + newAttributes[ attribute ] = 1; + + if ( enabledAttributes[ attribute ] === 0 ) { + + gl.enableVertexAttribArray( attribute ); + enabledAttributes[ attribute ] = 1; + + } + + if ( attributeDivisors[ attribute ] !== meshPerAttribute ) { + + const extension = capabilities.isWebGL2 ? gl : extensions.get( 'ANGLE_instanced_arrays' ); + + extension[ capabilities.isWebGL2 ? 'vertexAttribDivisor' : 'vertexAttribDivisorANGLE' ]( attribute, meshPerAttribute ); + attributeDivisors[ attribute ] = meshPerAttribute; + + } + + } + + function disableUnusedAttributes() { + + const newAttributes = currentState.newAttributes; + const enabledAttributes = currentState.enabledAttributes; + + for ( let i = 0, il = enabledAttributes.length; i < il; i ++ ) { + + if ( enabledAttributes[ i ] !== newAttributes[ i ] ) { + + gl.disableVertexAttribArray( i ); + enabledAttributes[ i ] = 0; + + } + + } + + } + + function vertexAttribPointer( index, size, type, normalized, stride, offset ) { + + if ( capabilities.isWebGL2 === true && ( type === 5124 || type === 5125 ) ) { + + gl.vertexAttribIPointer( index, size, type, stride, offset ); + + } else { + + gl.vertexAttribPointer( index, size, type, normalized, stride, offset ); + + } + + } + + function setupVertexAttributes( object, material, program, geometry ) { + + if ( capabilities.isWebGL2 === false && ( object.isInstancedMesh || geometry.isInstancedBufferGeometry ) ) { + + if ( extensions.get( 'ANGLE_instanced_arrays' ) === null ) return; + + } + + initAttributes(); + + const geometryAttributes = geometry.attributes; + + const programAttributes = program.getAttributes(); + + const materialDefaultAttributeValues = material.defaultAttributeValues; + + for ( const name in programAttributes ) { + + const programAttribute = programAttributes[ name ]; + + if ( programAttribute.location >= 0 ) { + + let geometryAttribute = geometryAttributes[ name ]; + + if ( geometryAttribute === undefined ) { + + if ( name === 'instanceMatrix' && object.instanceMatrix ) geometryAttribute = object.instanceMatrix; + if ( name === 'instanceColor' && object.instanceColor ) geometryAttribute = object.instanceColor; + + } + + if ( geometryAttribute !== undefined ) { + + const normalized = geometryAttribute.normalized; + const size = geometryAttribute.itemSize; + + const attribute = attributes.get( geometryAttribute ); + + // TODO Attribute may not be available on context restore + + if ( attribute === undefined ) continue; + + const buffer = attribute.buffer; + const type = attribute.type; + const bytesPerElement = attribute.bytesPerElement; + + if ( geometryAttribute.isInterleavedBufferAttribute ) { + + const data = geometryAttribute.data; + const stride = data.stride; + const offset = geometryAttribute.offset; + + if ( data && data.isInstancedInterleavedBuffer ) { + + for ( let i = 0; i < programAttribute.locationSize; i ++ ) { + + enableAttributeAndDivisor( programAttribute.location + i, data.meshPerAttribute ); + + } + + if ( object.isInstancedMesh !== true && geometry._maxInstanceCount === undefined ) { + + geometry._maxInstanceCount = data.meshPerAttribute * data.count; + + } + + } else { + + for ( let i = 0; i < programAttribute.locationSize; i ++ ) { + + enableAttribute( programAttribute.location + i ); + + } + + } + + gl.bindBuffer( 34962, buffer ); + + for ( let i = 0; i < programAttribute.locationSize; i ++ ) { + + vertexAttribPointer( + programAttribute.location + i, + size / programAttribute.locationSize, + type, + normalized, + stride * bytesPerElement, + ( offset + ( size / programAttribute.locationSize ) * i ) * bytesPerElement + ); + + } + + } else { + + if ( geometryAttribute.isInstancedBufferAttribute ) { + + for ( let i = 0; i < programAttribute.locationSize; i ++ ) { + + enableAttributeAndDivisor( programAttribute.location + i, geometryAttribute.meshPerAttribute ); + + } + + if ( object.isInstancedMesh !== true && geometry._maxInstanceCount === undefined ) { + + geometry._maxInstanceCount = geometryAttribute.meshPerAttribute * geometryAttribute.count; + + } + + } else { + + for ( let i = 0; i < programAttribute.locationSize; i ++ ) { + + enableAttribute( programAttribute.location + i ); + + } + + } + + gl.bindBuffer( 34962, buffer ); + + for ( let i = 0; i < programAttribute.locationSize; i ++ ) { + + vertexAttribPointer( + programAttribute.location + i, + size / programAttribute.locationSize, + type, + normalized, + size * bytesPerElement, + ( size / programAttribute.locationSize ) * i * bytesPerElement + ); + + } + + } + + } else if ( materialDefaultAttributeValues !== undefined ) { + + const value = materialDefaultAttributeValues[ name ]; + + if ( value !== undefined ) { + + switch ( value.length ) { + + case 2: + gl.vertexAttrib2fv( programAttribute.location, value ); + break; + + case 3: + gl.vertexAttrib3fv( programAttribute.location, value ); + break; + + case 4: + gl.vertexAttrib4fv( programAttribute.location, value ); + break; + + default: + gl.vertexAttrib1fv( programAttribute.location, value ); + + } + + } + + } + + } + + } + + disableUnusedAttributes(); + + } + + function dispose() { + + reset(); + + for ( const geometryId in bindingStates ) { + + const programMap = bindingStates[ geometryId ]; + + for ( const programId in programMap ) { + + const stateMap = programMap[ programId ]; + + for ( const wireframe in stateMap ) { + + deleteVertexArrayObject( stateMap[ wireframe ].object ); + + delete stateMap[ wireframe ]; + + } + + delete programMap[ programId ]; + + } + + delete bindingStates[ geometryId ]; + + } + + } + + function releaseStatesOfGeometry( geometry ) { + + if ( bindingStates[ geometry.id ] === undefined ) return; + + const programMap = bindingStates[ geometry.id ]; + + for ( const programId in programMap ) { + + const stateMap = programMap[ programId ]; + + for ( const wireframe in stateMap ) { + + deleteVertexArrayObject( stateMap[ wireframe ].object ); + + delete stateMap[ wireframe ]; + + } + + delete programMap[ programId ]; + + } + + delete bindingStates[ geometry.id ]; + + } + + function releaseStatesOfProgram( program ) { + + for ( const geometryId in bindingStates ) { + + const programMap = bindingStates[ geometryId ]; + + if ( programMap[ program.id ] === undefined ) continue; + + const stateMap = programMap[ program.id ]; + + for ( const wireframe in stateMap ) { + + deleteVertexArrayObject( stateMap[ wireframe ].object ); + + delete stateMap[ wireframe ]; + + } + + delete programMap[ program.id ]; + + } + + } + + function reset() { + + resetDefaultState(); + + if ( currentState === defaultState ) return; + + currentState = defaultState; + bindVertexArrayObject( currentState.object ); + + } + + // for backward-compatilibity + + function resetDefaultState() { + + defaultState.geometry = null; + defaultState.program = null; + defaultState.wireframe = false; + + } + + return { + + setup: setup, + reset: reset, + resetDefaultState: resetDefaultState, + dispose: dispose, + releaseStatesOfGeometry: releaseStatesOfGeometry, + releaseStatesOfProgram: releaseStatesOfProgram, + + initAttributes: initAttributes, + enableAttribute: enableAttribute, + disableUnusedAttributes: disableUnusedAttributes + + }; + +} + +function WebGLBufferRenderer( gl, extensions, info, capabilities ) { + + const isWebGL2 = capabilities.isWebGL2; + + let mode; + + function setMode( value ) { + + mode = value; + + } + + function render( start, count ) { + + gl.drawArrays( mode, start, count ); + + info.update( count, mode, 1 ); + + } + + function renderInstances( start, count, primcount ) { + + if ( primcount === 0 ) return; + + let extension, methodName; + + if ( isWebGL2 ) { + + extension = gl; + methodName = 'drawArraysInstanced'; + + } else { + + extension = extensions.get( 'ANGLE_instanced_arrays' ); + methodName = 'drawArraysInstancedANGLE'; + + if ( extension === null ) { + + console.error( 'THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.' ); + return; + + } + + } + + extension[ methodName ]( mode, start, count, primcount ); + + info.update( count, mode, primcount ); + + } + + // + + this.setMode = setMode; + this.render = render; + this.renderInstances = renderInstances; + +} + +function WebGLCapabilities( gl, extensions, parameters ) { + + let maxAnisotropy; + + function getMaxAnisotropy() { + + if ( maxAnisotropy !== undefined ) return maxAnisotropy; + + if ( extensions.has( 'EXT_texture_filter_anisotropic' ) === true ) { + + const extension = extensions.get( 'EXT_texture_filter_anisotropic' ); + + maxAnisotropy = gl.getParameter( extension.MAX_TEXTURE_MAX_ANISOTROPY_EXT ); + + } else { + + maxAnisotropy = 0; + + } + + return maxAnisotropy; + + } + + function getMaxPrecision( precision ) { + + if ( precision === 'highp' ) { + + if ( gl.getShaderPrecisionFormat( 35633, 36338 ).precision > 0 && + gl.getShaderPrecisionFormat( 35632, 36338 ).precision > 0 ) { + + return 'highp'; + + } + + precision = 'mediump'; + + } + + if ( precision === 'mediump' ) { + + if ( gl.getShaderPrecisionFormat( 35633, 36337 ).precision > 0 && + gl.getShaderPrecisionFormat( 35632, 36337 ).precision > 0 ) { + + return 'mediump'; + + } + + } + + return 'lowp'; + + } + + const isWebGL2 = ( typeof WebGL2RenderingContext !== 'undefined' && gl instanceof WebGL2RenderingContext ) || + ( typeof WebGL2ComputeRenderingContext !== 'undefined' && gl instanceof WebGL2ComputeRenderingContext ); + + let precision = parameters.precision !== undefined ? parameters.precision : 'highp'; + const maxPrecision = getMaxPrecision( precision ); + + if ( maxPrecision !== precision ) { + + console.warn( 'THREE.WebGLRenderer:', precision, 'not supported, using', maxPrecision, 'instead.' ); + precision = maxPrecision; + + } + + const drawBuffers = isWebGL2 || extensions.has( 'WEBGL_draw_buffers' ); + + const logarithmicDepthBuffer = parameters.logarithmicDepthBuffer === true; + + const maxTextures = gl.getParameter( 34930 ); + const maxVertexTextures = gl.getParameter( 35660 ); + const maxTextureSize = gl.getParameter( 3379 ); + const maxCubemapSize = gl.getParameter( 34076 ); + + const maxAttributes = gl.getParameter( 34921 ); + const maxVertexUniforms = gl.getParameter( 36347 ); + const maxVaryings = gl.getParameter( 36348 ); + const maxFragmentUniforms = gl.getParameter( 36349 ); + + const vertexTextures = maxVertexTextures > 0; + const floatFragmentTextures = isWebGL2 || extensions.has( 'OES_texture_float' ); + const floatVertexTextures = vertexTextures && floatFragmentTextures; + + const maxSamples = isWebGL2 ? gl.getParameter( 36183 ) : 0; + + return { + + isWebGL2: isWebGL2, + + drawBuffers: drawBuffers, + + getMaxAnisotropy: getMaxAnisotropy, + getMaxPrecision: getMaxPrecision, + + precision: precision, + logarithmicDepthBuffer: logarithmicDepthBuffer, + + maxTextures: maxTextures, + maxVertexTextures: maxVertexTextures, + maxTextureSize: maxTextureSize, + maxCubemapSize: maxCubemapSize, + + maxAttributes: maxAttributes, + maxVertexUniforms: maxVertexUniforms, + maxVaryings: maxVaryings, + maxFragmentUniforms: maxFragmentUniforms, + + vertexTextures: vertexTextures, + floatFragmentTextures: floatFragmentTextures, + floatVertexTextures: floatVertexTextures, + + maxSamples: maxSamples + + }; + +} + +function WebGLClipping( properties ) { + + const scope = this; + + let globalState = null, + numGlobalPlanes = 0, + localClippingEnabled = false, + renderingShadows = false; + + const plane = new Plane(), + viewNormalMatrix = new Matrix3(), + + uniform = { value: null, needsUpdate: false }; + + this.uniform = uniform; + this.numPlanes = 0; + this.numIntersection = 0; + + this.init = function ( planes, enableLocalClipping, camera ) { + + const enabled = + planes.length !== 0 || + enableLocalClipping || + // enable state of previous frame - the clipping code has to + // run another frame in order to reset the state: + numGlobalPlanes !== 0 || + localClippingEnabled; + + localClippingEnabled = enableLocalClipping; + + globalState = projectPlanes( planes, camera, 0 ); + numGlobalPlanes = planes.length; + + return enabled; + + }; + + this.beginShadows = function () { + + renderingShadows = true; + projectPlanes( null ); + + }; + + this.endShadows = function () { + + renderingShadows = false; + resetGlobalState(); + + }; + + this.setState = function ( material, camera, useCache ) { + + const planes = material.clippingPlanes, + clipIntersection = material.clipIntersection, + clipShadows = material.clipShadows; + + const materialProperties = properties.get( material ); + + if ( ! localClippingEnabled || planes === null || planes.length === 0 || renderingShadows && ! clipShadows ) { + + // there's no local clipping + + if ( renderingShadows ) { + + // there's no global clipping + + projectPlanes( null ); + + } else { + + resetGlobalState(); + + } + + } else { + + const nGlobal = renderingShadows ? 0 : numGlobalPlanes, + lGlobal = nGlobal * 4; + + let dstArray = materialProperties.clippingState || null; + + uniform.value = dstArray; // ensure unique state + + dstArray = projectPlanes( planes, camera, lGlobal, useCache ); + + for ( let i = 0; i !== lGlobal; ++ i ) { + + dstArray[ i ] = globalState[ i ]; + + } + + materialProperties.clippingState = dstArray; + this.numIntersection = clipIntersection ? this.numPlanes : 0; + this.numPlanes += nGlobal; + + } + + + }; + + function resetGlobalState() { + + if ( uniform.value !== globalState ) { + + uniform.value = globalState; + uniform.needsUpdate = numGlobalPlanes > 0; + + } + + scope.numPlanes = numGlobalPlanes; + scope.numIntersection = 0; + + } + + function projectPlanes( planes, camera, dstOffset, skipTransform ) { + + const nPlanes = planes !== null ? planes.length : 0; + let dstArray = null; + + if ( nPlanes !== 0 ) { + + dstArray = uniform.value; + + if ( skipTransform !== true || dstArray === null ) { + + const flatSize = dstOffset + nPlanes * 4, + viewMatrix = camera.matrixWorldInverse; + + viewNormalMatrix.getNormalMatrix( viewMatrix ); + + if ( dstArray === null || dstArray.length < flatSize ) { + + dstArray = new Float32Array( flatSize ); + + } + + for ( let i = 0, i4 = dstOffset; i !== nPlanes; ++ i, i4 += 4 ) { + + plane.copy( planes[ i ] ).applyMatrix4( viewMatrix, viewNormalMatrix ); + + plane.normal.toArray( dstArray, i4 ); + dstArray[ i4 + 3 ] = plane.constant; + + } + + } + + uniform.value = dstArray; + uniform.needsUpdate = true; + + } + + scope.numPlanes = nPlanes; + scope.numIntersection = 0; + + return dstArray; + + } + +} + +function WebGLCubeMaps( renderer ) { + + let cubemaps = new WeakMap(); + + function mapTextureMapping( texture, mapping ) { + + if ( mapping === EquirectangularReflectionMapping ) { + + texture.mapping = CubeReflectionMapping; + + } else if ( mapping === EquirectangularRefractionMapping ) { + + texture.mapping = CubeRefractionMapping; + + } + + return texture; + + } + + function get( texture ) { + + if ( texture && texture.isTexture && texture.isRenderTargetTexture === false ) { + + const mapping = texture.mapping; + + if ( mapping === EquirectangularReflectionMapping || mapping === EquirectangularRefractionMapping ) { + + if ( cubemaps.has( texture ) ) { + + const cubemap = cubemaps.get( texture ).texture; + return mapTextureMapping( cubemap, texture.mapping ); + + } else { + + const image = texture.image; + + if ( image && image.height > 0 ) { + + const currentRenderTarget = renderer.getRenderTarget(); + + const renderTarget = new WebGLCubeRenderTarget( image.height / 2 ); + renderTarget.fromEquirectangularTexture( renderer, texture ); + cubemaps.set( texture, renderTarget ); + + renderer.setRenderTarget( currentRenderTarget ); + + texture.addEventListener( 'dispose', onTextureDispose ); + + return mapTextureMapping( renderTarget.texture, texture.mapping ); + + } else { + + // image not yet ready. try the conversion next frame + + return null; + + } + + } + + } + + } + + return texture; + + } + + function onTextureDispose( event ) { + + const texture = event.target; + + texture.removeEventListener( 'dispose', onTextureDispose ); + + const cubemap = cubemaps.get( texture ); + + if ( cubemap !== undefined ) { + + cubemaps.delete( texture ); + cubemap.dispose(); + + } + + } + + function dispose() { + + cubemaps = new WeakMap(); + + } + + return { + get: get, + dispose: dispose + }; + +} + +class OrthographicCamera extends Camera { + + constructor( left = - 1, right = 1, top = 1, bottom = - 1, near = 0.1, far = 2000 ) { + + super(); + + this.type = 'OrthographicCamera'; + + this.zoom = 1; + this.view = null; + + this.left = left; + this.right = right; + this.top = top; + this.bottom = bottom; + + this.near = near; + this.far = far; + + this.updateProjectionMatrix(); + + } + + copy( source, recursive ) { + + super.copy( source, recursive ); + + this.left = source.left; + this.right = source.right; + this.top = source.top; + this.bottom = source.bottom; + this.near = source.near; + this.far = source.far; + + this.zoom = source.zoom; + this.view = source.view === null ? null : Object.assign( {}, source.view ); + + return this; + + } + + setViewOffset( fullWidth, fullHeight, x, y, width, height ) { + + if ( this.view === null ) { + + this.view = { + enabled: true, + fullWidth: 1, + fullHeight: 1, + offsetX: 0, + offsetY: 0, + width: 1, + height: 1 + }; + + } + + this.view.enabled = true; + this.view.fullWidth = fullWidth; + this.view.fullHeight = fullHeight; + this.view.offsetX = x; + this.view.offsetY = y; + this.view.width = width; + this.view.height = height; + + this.updateProjectionMatrix(); + + } + + clearViewOffset() { + + if ( this.view !== null ) { + + this.view.enabled = false; + + } + + this.updateProjectionMatrix(); + + } + + updateProjectionMatrix() { + + const dx = ( this.right - this.left ) / ( 2 * this.zoom ); + const dy = ( this.top - this.bottom ) / ( 2 * this.zoom ); + const cx = ( this.right + this.left ) / 2; + const cy = ( this.top + this.bottom ) / 2; + + let left = cx - dx; + let right = cx + dx; + let top = cy + dy; + let bottom = cy - dy; + + if ( this.view !== null && this.view.enabled ) { + + const scaleW = ( this.right - this.left ) / this.view.fullWidth / this.zoom; + const scaleH = ( this.top - this.bottom ) / this.view.fullHeight / this.zoom; + + left += scaleW * this.view.offsetX; + right = left + scaleW * this.view.width; + top -= scaleH * this.view.offsetY; + bottom = top - scaleH * this.view.height; + + } + + this.projectionMatrix.makeOrthographic( left, right, top, bottom, this.near, this.far ); + + this.projectionMatrixInverse.copy( this.projectionMatrix ).invert(); + + } + + toJSON( meta ) { + + const data = super.toJSON( meta ); + + data.object.zoom = this.zoom; + data.object.left = this.left; + data.object.right = this.right; + data.object.top = this.top; + data.object.bottom = this.bottom; + data.object.near = this.near; + data.object.far = this.far; + + if ( this.view !== null ) data.object.view = Object.assign( {}, this.view ); + + return data; + + } + +} + +OrthographicCamera.prototype.isOrthographicCamera = true; + +class RawShaderMaterial extends ShaderMaterial { + + constructor( parameters ) { + + super( parameters ); + + this.type = 'RawShaderMaterial'; + + } + +} + +RawShaderMaterial.prototype.isRawShaderMaterial = true; + +const LOD_MIN = 4; +const LOD_MAX = 8; +const SIZE_MAX = Math.pow( 2, LOD_MAX ); + +// The standard deviations (radians) associated with the extra mips. These are +// chosen to approximate a Trowbridge-Reitz distribution function times the +// geometric shadowing function. These sigma values squared must match the +// variance #defines in cube_uv_reflection_fragment.glsl.js. +const EXTRA_LOD_SIGMA = [ 0.125, 0.215, 0.35, 0.446, 0.526, 0.582 ]; + +const TOTAL_LODS = LOD_MAX - LOD_MIN + 1 + EXTRA_LOD_SIGMA.length; + +// The maximum length of the blur for loop. Smaller sigmas will use fewer +// samples and exit early, but not recompile the shader. +const MAX_SAMPLES = 20; + +const ENCODINGS = { + [ LinearEncoding ]: 0, + [ sRGBEncoding ]: 1 +}; + +const _flatCamera = /*@__PURE__*/ new OrthographicCamera(); +const { _lodPlanes, _sizeLods, _sigmas } = /*@__PURE__*/ _createPlanes(); +const _clearColor = /*@__PURE__*/ new Color(); +let _oldTarget = null; + +// Golden Ratio +const PHI = ( 1 + Math.sqrt( 5 ) ) / 2; +const INV_PHI = 1 / PHI; + +// Vertices of a dodecahedron (except the opposites, which represent the +// same axis), used as axis directions evenly spread on a sphere. +const _axisDirections = [ + /*@__PURE__*/ new Vector3( 1, 1, 1 ), + /*@__PURE__*/ new Vector3( - 1, 1, 1 ), + /*@__PURE__*/ new Vector3( 1, 1, - 1 ), + /*@__PURE__*/ new Vector3( - 1, 1, - 1 ), + /*@__PURE__*/ new Vector3( 0, PHI, INV_PHI ), + /*@__PURE__*/ new Vector3( 0, PHI, - INV_PHI ), + /*@__PURE__*/ new Vector3( INV_PHI, 0, PHI ), + /*@__PURE__*/ new Vector3( - INV_PHI, 0, PHI ), + /*@__PURE__*/ new Vector3( PHI, INV_PHI, 0 ), + /*@__PURE__*/ new Vector3( - PHI, INV_PHI, 0 ) ]; + +/** + * This class generates a Prefiltered, Mipmapped Radiance Environment Map + * (PMREM) from a cubeMap environment texture. This allows different levels of + * blur to be quickly accessed based on material roughness. It is packed into a + * special CubeUV format that allows us to perform custom interpolation so that + * we can support nonlinear formats such as RGBE. Unlike a traditional mipmap + * chain, it only goes down to the LOD_MIN level (above), and then creates extra + * even more filtered 'mips' at the same LOD_MIN resolution, associated with + * higher roughness levels. In this way we maintain resolution to smoothly + * interpolate diffuse lighting while limiting sampling computation. + * + * Paper: Fast, Accurate Image-Based Lighting + * https://drive.google.com/file/d/15y8r_UpKlU9SvV4ILb0C3qCPecS8pvLz/view +*/ + +class PMREMGenerator { + + constructor( renderer ) { + + this._renderer = renderer; + this._pingPongRenderTarget = null; + + this._blurMaterial = _getBlurShader( MAX_SAMPLES ); + this._equirectShader = null; + this._cubemapShader = null; + + this._compileMaterial( this._blurMaterial ); + + } + + /** + * Generates a PMREM from a supplied Scene, which can be faster than using an + * image if networking bandwidth is low. Optional sigma specifies a blur radius + * in radians to be applied to the scene before PMREM generation. Optional near + * and far planes ensure the scene is rendered in its entirety (the cubeCamera + * is placed at the origin). + */ + fromScene( scene, sigma = 0, near = 0.1, far = 100 ) { + + _oldTarget = this._renderer.getRenderTarget(); + const cubeUVRenderTarget = this._allocateTargets(); + + this._sceneToCubeUV( scene, near, far, cubeUVRenderTarget ); + if ( sigma > 0 ) { + + this._blur( cubeUVRenderTarget, 0, 0, sigma ); + + } + + this._applyPMREM( cubeUVRenderTarget ); + this._cleanup( cubeUVRenderTarget ); + + return cubeUVRenderTarget; + + } + + /** + * Generates a PMREM from an equirectangular texture, which can be either LDR + * or HDR. The ideal input image size is 1k (1024 x 512), + * as this matches best with the 256 x 256 cubemap output. + */ + fromEquirectangular( equirectangular ) { + + return this._fromTexture( equirectangular ); + + } + + /** + * Generates a PMREM from an cubemap texture, which can be either LDR + * or HDR. The ideal input cube size is 256 x 256, + * as this matches best with the 256 x 256 cubemap output. + */ + fromCubemap( cubemap ) { + + return this._fromTexture( cubemap ); + + } + + /** + * Pre-compiles the cubemap shader. You can get faster start-up by invoking this method during + * your texture's network fetch for increased concurrency. + */ + compileCubemapShader() { + + if ( this._cubemapShader === null ) { + + this._cubemapShader = _getCubemapShader(); + this._compileMaterial( this._cubemapShader ); + + } + + } + + /** + * Pre-compiles the equirectangular shader. You can get faster start-up by invoking this method during + * your texture's network fetch for increased concurrency. + */ + compileEquirectangularShader() { + + if ( this._equirectShader === null ) { + + this._equirectShader = _getEquirectShader(); + this._compileMaterial( this._equirectShader ); + + } + + } + + /** + * Disposes of the PMREMGenerator's internal memory. Note that PMREMGenerator is a static class, + * so you should not need more than one PMREMGenerator object. If you do, calling dispose() on + * one of them will cause any others to also become unusable. + */ + dispose() { + + this._blurMaterial.dispose(); + + if ( this._cubemapShader !== null ) this._cubemapShader.dispose(); + if ( this._equirectShader !== null ) this._equirectShader.dispose(); + + for ( let i = 0; i < _lodPlanes.length; i ++ ) { + + _lodPlanes[ i ].dispose(); + + } + + } + + // private interface + + _cleanup( outputTarget ) { + + this._pingPongRenderTarget.dispose(); + this._renderer.setRenderTarget( _oldTarget ); + outputTarget.scissorTest = false; + _setViewport( outputTarget, 0, 0, outputTarget.width, outputTarget.height ); + + } + + _fromTexture( texture ) { + + _oldTarget = this._renderer.getRenderTarget(); + const cubeUVRenderTarget = this._allocateTargets( texture ); + this._textureToCubeUV( texture, cubeUVRenderTarget ); + this._applyPMREM( cubeUVRenderTarget ); + this._cleanup( cubeUVRenderTarget ); + + return cubeUVRenderTarget; + + } + + _allocateTargets( texture ) { // warning: null texture is valid + + const params = { + magFilter: LinearFilter, + minFilter: LinearFilter, + generateMipmaps: false, + type: HalfFloatType, + format: RGBAFormat, + encoding: LinearEncoding, + depthBuffer: false + }; + + const cubeUVRenderTarget = _createRenderTarget( params ); + cubeUVRenderTarget.depthBuffer = texture ? false : true; + this._pingPongRenderTarget = _createRenderTarget( params ); + return cubeUVRenderTarget; + + } + + _compileMaterial( material ) { + + const tmpMesh = new Mesh( _lodPlanes[ 0 ], material ); + this._renderer.compile( tmpMesh, _flatCamera ); + + } + + _sceneToCubeUV( scene, near, far, cubeUVRenderTarget ) { + + const fov = 90; + const aspect = 1; + const cubeCamera = new PerspectiveCamera( fov, aspect, near, far ); + const upSign = [ 1, - 1, 1, 1, 1, 1 ]; + const forwardSign = [ 1, 1, 1, - 1, - 1, - 1 ]; + const renderer = this._renderer; + + const originalAutoClear = renderer.autoClear; + const toneMapping = renderer.toneMapping; + renderer.getClearColor( _clearColor ); + + renderer.toneMapping = NoToneMapping; + renderer.autoClear = false; + + const backgroundMaterial = new MeshBasicMaterial( { + name: 'PMREM.Background', + side: BackSide, + depthWrite: false, + depthTest: false, + } ); + + const backgroundBox = new Mesh( new BoxGeometry(), backgroundMaterial ); + + let useSolidColor = false; + const background = scene.background; + + if ( background ) { + + if ( background.isColor ) { + + backgroundMaterial.color.copy( background ); + scene.background = null; + useSolidColor = true; + + } + + } else { + + backgroundMaterial.color.copy( _clearColor ); + useSolidColor = true; + + } + + for ( let i = 0; i < 6; i ++ ) { + + const col = i % 3; + if ( col == 0 ) { + + cubeCamera.up.set( 0, upSign[ i ], 0 ); + cubeCamera.lookAt( forwardSign[ i ], 0, 0 ); + + } else if ( col == 1 ) { + + cubeCamera.up.set( 0, 0, upSign[ i ] ); + cubeCamera.lookAt( 0, forwardSign[ i ], 0 ); + + } else { + + cubeCamera.up.set( 0, upSign[ i ], 0 ); + cubeCamera.lookAt( 0, 0, forwardSign[ i ] ); + + } + + _setViewport( cubeUVRenderTarget, + col * SIZE_MAX, i > 2 ? SIZE_MAX : 0, SIZE_MAX, SIZE_MAX ); + renderer.setRenderTarget( cubeUVRenderTarget ); + + if ( useSolidColor ) { + + renderer.render( backgroundBox, cubeCamera ); + + } + + renderer.render( scene, cubeCamera ); + + } + + backgroundBox.geometry.dispose(); + backgroundBox.material.dispose(); + + renderer.toneMapping = toneMapping; + renderer.autoClear = originalAutoClear; + scene.background = background; + + } + + _setEncoding( uniform, texture ) { + + if ( this._renderer.capabilities.isWebGL2 === true && texture.format === RGBAFormat && texture.type === UnsignedByteType && texture.encoding === sRGBEncoding ) { + + uniform.value = ENCODINGS[ LinearEncoding ]; + + } else { + + uniform.value = ENCODINGS[ texture.encoding ]; + + } + + } + + _textureToCubeUV( texture, cubeUVRenderTarget ) { + + const renderer = this._renderer; + + const isCubeTexture = ( texture.mapping === CubeReflectionMapping || texture.mapping === CubeRefractionMapping ); + + if ( isCubeTexture ) { + + if ( this._cubemapShader == null ) { + + this._cubemapShader = _getCubemapShader(); + + } + + } else { + + if ( this._equirectShader == null ) { + + this._equirectShader = _getEquirectShader(); + + } + + } + + const material = isCubeTexture ? this._cubemapShader : this._equirectShader; + const mesh = new Mesh( _lodPlanes[ 0 ], material ); + + const uniforms = material.uniforms; + + uniforms[ 'envMap' ].value = texture; + + if ( ! isCubeTexture ) { + + uniforms[ 'texelSize' ].value.set( 1.0 / texture.image.width, 1.0 / texture.image.height ); + + } + + this._setEncoding( uniforms[ 'inputEncoding' ], texture ); + + _setViewport( cubeUVRenderTarget, 0, 0, 3 * SIZE_MAX, 2 * SIZE_MAX ); + + renderer.setRenderTarget( cubeUVRenderTarget ); + renderer.render( mesh, _flatCamera ); + + } + + _applyPMREM( cubeUVRenderTarget ) { + + const renderer = this._renderer; + const autoClear = renderer.autoClear; + renderer.autoClear = false; + + for ( let i = 1; i < TOTAL_LODS; i ++ ) { + + const sigma = Math.sqrt( _sigmas[ i ] * _sigmas[ i ] - _sigmas[ i - 1 ] * _sigmas[ i - 1 ] ); + + const poleAxis = _axisDirections[ ( i - 1 ) % _axisDirections.length ]; + + this._blur( cubeUVRenderTarget, i - 1, i, sigma, poleAxis ); + + } + + renderer.autoClear = autoClear; + + } + + /** + * This is a two-pass Gaussian blur for a cubemap. Normally this is done + * vertically and horizontally, but this breaks down on a cube. Here we apply + * the blur latitudinally (around the poles), and then longitudinally (towards + * the poles) to approximate the orthogonally-separable blur. It is least + * accurate at the poles, but still does a decent job. + */ + _blur( cubeUVRenderTarget, lodIn, lodOut, sigma, poleAxis ) { + + const pingPongRenderTarget = this._pingPongRenderTarget; + + this._halfBlur( + cubeUVRenderTarget, + pingPongRenderTarget, + lodIn, + lodOut, + sigma, + 'latitudinal', + poleAxis ); + + this._halfBlur( + pingPongRenderTarget, + cubeUVRenderTarget, + lodOut, + lodOut, + sigma, + 'longitudinal', + poleAxis ); + + } + + _halfBlur( targetIn, targetOut, lodIn, lodOut, sigmaRadians, direction, poleAxis ) { + + const renderer = this._renderer; + const blurMaterial = this._blurMaterial; + + if ( direction !== 'latitudinal' && direction !== 'longitudinal' ) { + + console.error( + 'blur direction must be either latitudinal or longitudinal!' ); + + } + + // Number of standard deviations at which to cut off the discrete approximation. + const STANDARD_DEVIATIONS = 3; + + const blurMesh = new Mesh( _lodPlanes[ lodOut ], blurMaterial ); + const blurUniforms = blurMaterial.uniforms; + + const pixels = _sizeLods[ lodIn ] - 1; + const radiansPerPixel = isFinite( sigmaRadians ) ? Math.PI / ( 2 * pixels ) : 2 * Math.PI / ( 2 * MAX_SAMPLES - 1 ); + const sigmaPixels = sigmaRadians / radiansPerPixel; + const samples = isFinite( sigmaRadians ) ? 1 + Math.floor( STANDARD_DEVIATIONS * sigmaPixels ) : MAX_SAMPLES; + + if ( samples > MAX_SAMPLES ) { + + console.warn( `sigmaRadians, ${ + sigmaRadians}, is too large and will clip, as it requested ${ + samples} samples when the maximum is set to ${MAX_SAMPLES}` ); + + } + + const weights = []; + let sum = 0; + + for ( let i = 0; i < MAX_SAMPLES; ++ i ) { + + const x = i / sigmaPixels; + const weight = Math.exp( - x * x / 2 ); + weights.push( weight ); + + if ( i == 0 ) { + + sum += weight; + + } else if ( i < samples ) { + + sum += 2 * weight; + + } + + } + + for ( let i = 0; i < weights.length; i ++ ) { + + weights[ i ] = weights[ i ] / sum; + + } + + blurUniforms[ 'envMap' ].value = targetIn.texture; + blurUniforms[ 'samples' ].value = samples; + blurUniforms[ 'weights' ].value = weights; + blurUniforms[ 'latitudinal' ].value = direction === 'latitudinal'; + + if ( poleAxis ) { + + blurUniforms[ 'poleAxis' ].value = poleAxis; + + } + + blurUniforms[ 'dTheta' ].value = radiansPerPixel; + blurUniforms[ 'mipInt' ].value = LOD_MAX - lodIn; + + const outputSize = _sizeLods[ lodOut ]; + const x = 3 * Math.max( 0, SIZE_MAX - 2 * outputSize ); + const y = ( lodOut === 0 ? 0 : 2 * SIZE_MAX ) + 2 * outputSize * ( lodOut > LOD_MAX - LOD_MIN ? lodOut - LOD_MAX + LOD_MIN : 0 ); + + _setViewport( targetOut, x, y, 3 * outputSize, 2 * outputSize ); + renderer.setRenderTarget( targetOut ); + renderer.render( blurMesh, _flatCamera ); + + } + +} + +function _createPlanes() { + + const _lodPlanes = []; + const _sizeLods = []; + const _sigmas = []; + + let lod = LOD_MAX; + + for ( let i = 0; i < TOTAL_LODS; i ++ ) { + + const sizeLod = Math.pow( 2, lod ); + _sizeLods.push( sizeLod ); + let sigma = 1.0 / sizeLod; + + if ( i > LOD_MAX - LOD_MIN ) { + + sigma = EXTRA_LOD_SIGMA[ i - LOD_MAX + LOD_MIN - 1 ]; + + } else if ( i == 0 ) { + + sigma = 0; + + } + + _sigmas.push( sigma ); + + const texelSize = 1.0 / ( sizeLod - 1 ); + const min = - texelSize / 2; + const max = 1 + texelSize / 2; + const uv1 = [ min, min, max, min, max, max, min, min, max, max, min, max ]; + + const cubeFaces = 6; + const vertices = 6; + const positionSize = 3; + const uvSize = 2; + const faceIndexSize = 1; + + const position = new Float32Array( positionSize * vertices * cubeFaces ); + const uv = new Float32Array( uvSize * vertices * cubeFaces ); + const faceIndex = new Float32Array( faceIndexSize * vertices * cubeFaces ); + + for ( let face = 0; face < cubeFaces; face ++ ) { + + const x = ( face % 3 ) * 2 / 3 - 1; + const y = face > 2 ? 0 : - 1; + const coordinates = [ + x, y, 0, + x + 2 / 3, y, 0, + x + 2 / 3, y + 1, 0, + x, y, 0, + x + 2 / 3, y + 1, 0, + x, y + 1, 0 + ]; + position.set( coordinates, positionSize * vertices * face ); + uv.set( uv1, uvSize * vertices * face ); + const fill = [ face, face, face, face, face, face ]; + faceIndex.set( fill, faceIndexSize * vertices * face ); + + } + + const planes = new BufferGeometry(); + planes.setAttribute( 'position', new BufferAttribute( position, positionSize ) ); + planes.setAttribute( 'uv', new BufferAttribute( uv, uvSize ) ); + planes.setAttribute( 'faceIndex', new BufferAttribute( faceIndex, faceIndexSize ) ); + _lodPlanes.push( planes ); + + if ( lod > LOD_MIN ) { + + lod --; + + } + + } + + return { _lodPlanes, _sizeLods, _sigmas }; + +} + +function _createRenderTarget( params ) { + + const cubeUVRenderTarget = new WebGLRenderTarget( 3 * SIZE_MAX, 3 * SIZE_MAX, params ); + cubeUVRenderTarget.texture.mapping = CubeUVReflectionMapping; + cubeUVRenderTarget.texture.name = 'PMREM.cubeUv'; + cubeUVRenderTarget.scissorTest = true; + return cubeUVRenderTarget; + +} + +function _setViewport( target, x, y, width, height ) { + + target.viewport.set( x, y, width, height ); + target.scissor.set( x, y, width, height ); + +} + +function _getBlurShader( maxSamples ) { + + const weights = new Float32Array( maxSamples ); + const poleAxis = new Vector3( 0, 1, 0 ); + const shaderMaterial = new RawShaderMaterial( { + + name: 'SphericalGaussianBlur', + + defines: { 'n': maxSamples }, + + uniforms: { + 'envMap': { value: null }, + 'samples': { value: 1 }, + 'weights': { value: weights }, + 'latitudinal': { value: false }, + 'dTheta': { value: 0 }, + 'mipInt': { value: 0 }, + 'poleAxis': { value: poleAxis } + }, + + vertexShader: _getCommonVertexShader(), + + fragmentShader: /* glsl */` + + precision mediump float; + precision mediump int; + + varying vec3 vOutputDirection; + + uniform sampler2D envMap; + uniform int samples; + uniform float weights[ n ]; + uniform bool latitudinal; + uniform float dTheta; + uniform float mipInt; + uniform vec3 poleAxis; + + ${ _getEncodings() } + + #define ENVMAP_TYPE_CUBE_UV + #include + + vec3 getSample( float theta, vec3 axis ) { + + float cosTheta = cos( theta ); + // Rodrigues' axis-angle rotation + vec3 sampleDirection = vOutputDirection * cosTheta + + cross( axis, vOutputDirection ) * sin( theta ) + + axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta ); + + return bilinearCubeUV( envMap, sampleDirection, mipInt ); + + } + + void main() { + + vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection ); + + if ( all( equal( axis, vec3( 0.0 ) ) ) ) { + + axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x ); + + } + + axis = normalize( axis ); + + gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 ); + gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis ); + + for ( int i = 1; i < n; i++ ) { + + if ( i >= samples ) { + + break; + + } + + float theta = dTheta * float( i ); + gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis ); + gl_FragColor.rgb += weights[ i ] * getSample( theta, axis ); + + } + + } + `, + + blending: NoBlending, + depthTest: false, + depthWrite: false + + } ); + + return shaderMaterial; + +} + +function _getEquirectShader() { + + const texelSize = new Vector2( 1, 1 ); + const shaderMaterial = new RawShaderMaterial( { + + name: 'EquirectangularToCubeUV', + + uniforms: { + 'envMap': { value: null }, + 'texelSize': { value: texelSize }, + 'inputEncoding': { value: ENCODINGS[ LinearEncoding ] } + }, + + vertexShader: _getCommonVertexShader(), + + fragmentShader: /* glsl */` + + precision mediump float; + precision mediump int; + + varying vec3 vOutputDirection; + + uniform sampler2D envMap; + uniform vec2 texelSize; + + ${ _getEncodings() } + + #include + + void main() { + + gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 ); + + vec3 outputDirection = normalize( vOutputDirection ); + vec2 uv = equirectUv( outputDirection ); + + vec2 f = fract( uv / texelSize - 0.5 ); + uv -= f * texelSize; + vec3 tl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb; + uv.x += texelSize.x; + vec3 tr = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb; + uv.y += texelSize.y; + vec3 br = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb; + uv.x -= texelSize.x; + vec3 bl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb; + + vec3 tm = mix( tl, tr, f.x ); + vec3 bm = mix( bl, br, f.x ); + gl_FragColor.rgb = mix( tm, bm, f.y ); + + } + `, + + blending: NoBlending, + depthTest: false, + depthWrite: false + + } ); + + return shaderMaterial; + +} + +function _getCubemapShader() { + + const shaderMaterial = new RawShaderMaterial( { + + name: 'CubemapToCubeUV', + + uniforms: { + 'envMap': { value: null }, + 'inputEncoding': { value: ENCODINGS[ LinearEncoding ] } + }, + + vertexShader: _getCommonVertexShader(), + + fragmentShader: /* glsl */` + + precision mediump float; + precision mediump int; + + varying vec3 vOutputDirection; + + uniform samplerCube envMap; + + ${ _getEncodings() } + + void main() { + + gl_FragColor = envMapTexelToLinear( textureCube( envMap, vec3( - vOutputDirection.x, vOutputDirection.yz ) ) ); + + } + `, + + blending: NoBlending, + depthTest: false, + depthWrite: false + + } ); + + return shaderMaterial; + +} + +function _getCommonVertexShader() { + + return /* glsl */` + + precision mediump float; + precision mediump int; + + attribute vec3 position; + attribute vec2 uv; + attribute float faceIndex; + + varying vec3 vOutputDirection; + + // RH coordinate system; PMREM face-indexing convention + vec3 getDirection( vec2 uv, float face ) { + + uv = 2.0 * uv - 1.0; + + vec3 direction = vec3( uv, 1.0 ); + + if ( face == 0.0 ) { + + direction = direction.zyx; // ( 1, v, u ) pos x + + } else if ( face == 1.0 ) { + + direction = direction.xzy; + direction.xz *= -1.0; // ( -u, 1, -v ) pos y + + } else if ( face == 2.0 ) { + + direction.x *= -1.0; // ( -u, v, 1 ) pos z + + } else if ( face == 3.0 ) { + + direction = direction.zyx; + direction.xz *= -1.0; // ( -1, v, -u ) neg x + + } else if ( face == 4.0 ) { + + direction = direction.xzy; + direction.xy *= -1.0; // ( -u, -1, v ) neg y + + } else if ( face == 5.0 ) { + + direction.z *= -1.0; // ( u, v, -1 ) neg z + + } + + return direction; + + } + + void main() { + + vOutputDirection = getDirection( uv, faceIndex ); + gl_Position = vec4( position, 1.0 ); + + } + `; + +} + +function _getEncodings() { + + return /* glsl */` + + uniform int inputEncoding; + + #include + + vec4 inputTexelToLinear( vec4 value ) { + + if ( inputEncoding == 0 ) { + + return value; + + } else { + + return sRGBToLinear( value ); + + } + + } + + vec4 envMapTexelToLinear( vec4 color ) { + + return inputTexelToLinear( color ); + + } + `; + +} + +function WebGLCubeUVMaps( renderer ) { + + let cubeUVmaps = new WeakMap(); + + let pmremGenerator = null; + + function get( texture ) { + + if ( texture && texture.isTexture && texture.isRenderTargetTexture === false ) { + + const mapping = texture.mapping; + + const isEquirectMap = ( mapping === EquirectangularReflectionMapping || mapping === EquirectangularRefractionMapping ); + const isCubeMap = ( mapping === CubeReflectionMapping || mapping === CubeRefractionMapping ); + + if ( isEquirectMap || isCubeMap ) { + + // equirect/cube map to cubeUV conversion + + if ( cubeUVmaps.has( texture ) ) { + + return cubeUVmaps.get( texture ).texture; + + } else { + + const image = texture.image; + + if ( ( isEquirectMap && image && image.height > 0 ) || ( isCubeMap && image && isCubeTextureComplete( image ) ) ) { + + const currentRenderTarget = renderer.getRenderTarget(); + + if ( pmremGenerator === null ) pmremGenerator = new PMREMGenerator( renderer ); + + const renderTarget = isEquirectMap ? pmremGenerator.fromEquirectangular( texture ) : pmremGenerator.fromCubemap( texture ); + cubeUVmaps.set( texture, renderTarget ); + + renderer.setRenderTarget( currentRenderTarget ); + + texture.addEventListener( 'dispose', onTextureDispose ); + + return renderTarget.texture; + + } else { + + // image not yet ready. try the conversion next frame + + return null; + + } + + } + + } + + } + + return texture; + + } + + function isCubeTextureComplete( image ) { + + let count = 0; + const length = 6; + + for ( let i = 0; i < length; i ++ ) { + + if ( image[ i ] !== undefined ) count ++; + + } + + return count === length; + + + } + + function onTextureDispose( event ) { + + const texture = event.target; + + texture.removeEventListener( 'dispose', onTextureDispose ); + + const cubemapUV = cubeUVmaps.get( texture ); + + if ( cubemapUV !== undefined ) { + + cubeUVmaps.delete( texture ); + cubemapUV.dispose(); + + } + + } + + function dispose() { + + cubeUVmaps = new WeakMap(); + + if ( pmremGenerator !== null ) { + + pmremGenerator.dispose(); + pmremGenerator = null; + + } + + } + + return { + get: get, + dispose: dispose + }; + +} + +function WebGLExtensions( gl ) { + + const extensions = {}; + + function getExtension( name ) { + + if ( extensions[ name ] !== undefined ) { + + return extensions[ name ]; + + } + + let extension; + + switch ( name ) { + + case 'WEBGL_depth_texture': + extension = gl.getExtension( 'WEBGL_depth_texture' ) || gl.getExtension( 'MOZ_WEBGL_depth_texture' ) || gl.getExtension( 'WEBKIT_WEBGL_depth_texture' ); + break; + + case 'EXT_texture_filter_anisotropic': + extension = gl.getExtension( 'EXT_texture_filter_anisotropic' ) || gl.getExtension( 'MOZ_EXT_texture_filter_anisotropic' ) || gl.getExtension( 'WEBKIT_EXT_texture_filter_anisotropic' ); + break; + + case 'WEBGL_compressed_texture_s3tc': + extension = gl.getExtension( 'WEBGL_compressed_texture_s3tc' ) || gl.getExtension( 'MOZ_WEBGL_compressed_texture_s3tc' ) || gl.getExtension( 'WEBKIT_WEBGL_compressed_texture_s3tc' ); + break; + + case 'WEBGL_compressed_texture_pvrtc': + extension = gl.getExtension( 'WEBGL_compressed_texture_pvrtc' ) || gl.getExtension( 'WEBKIT_WEBGL_compressed_texture_pvrtc' ); + break; + + default: + extension = gl.getExtension( name ); + + } + + extensions[ name ] = extension; + + return extension; + + } + + return { + + has: function ( name ) { + + return getExtension( name ) !== null; + + }, + + init: function ( capabilities ) { + + if ( capabilities.isWebGL2 ) { + + getExtension( 'EXT_color_buffer_float' ); + + } else { + + getExtension( 'WEBGL_depth_texture' ); + getExtension( 'OES_texture_float' ); + getExtension( 'OES_texture_half_float' ); + getExtension( 'OES_texture_half_float_linear' ); + getExtension( 'OES_standard_derivatives' ); + getExtension( 'OES_element_index_uint' ); + getExtension( 'OES_vertex_array_object' ); + getExtension( 'ANGLE_instanced_arrays' ); + + } + + getExtension( 'OES_texture_float_linear' ); + getExtension( 'EXT_color_buffer_half_float' ); + getExtension( 'WEBGL_multisampled_render_to_texture' ); + + }, + + get: function ( name ) { + + const extension = getExtension( name ); + + if ( extension === null ) { + + console.warn( 'THREE.WebGLRenderer: ' + name + ' extension not supported.' ); + + } + + return extension; + + } + + }; + +} + +function WebGLGeometries( gl, attributes, info, bindingStates ) { + + const geometries = {}; + const wireframeAttributes = new WeakMap(); + + function onGeometryDispose( event ) { + + const geometry = event.target; + + if ( geometry.index !== null ) { + + attributes.remove( geometry.index ); + + } + + for ( const name in geometry.attributes ) { + + attributes.remove( geometry.attributes[ name ] ); + + } + + geometry.removeEventListener( 'dispose', onGeometryDispose ); + + delete geometries[ geometry.id ]; + + const attribute = wireframeAttributes.get( geometry ); + + if ( attribute ) { + + attributes.remove( attribute ); + wireframeAttributes.delete( geometry ); + + } + + bindingStates.releaseStatesOfGeometry( geometry ); + + if ( geometry.isInstancedBufferGeometry === true ) { + + delete geometry._maxInstanceCount; + + } + + // + + info.memory.geometries --; + + } + + function get( object, geometry ) { + + if ( geometries[ geometry.id ] === true ) return geometry; + + geometry.addEventListener( 'dispose', onGeometryDispose ); + + geometries[ geometry.id ] = true; + + info.memory.geometries ++; + + return geometry; + + } + + function update( geometry ) { + + const geometryAttributes = geometry.attributes; + + // Updating index buffer in VAO now. See WebGLBindingStates. + + for ( const name in geometryAttributes ) { + + attributes.update( geometryAttributes[ name ], 34962 ); + + } + + // morph targets + + const morphAttributes = geometry.morphAttributes; + + for ( const name in morphAttributes ) { + + const array = morphAttributes[ name ]; + + for ( let i = 0, l = array.length; i < l; i ++ ) { + + attributes.update( array[ i ], 34962 ); + + } + + } + + } + + function updateWireframeAttribute( geometry ) { + + const indices = []; + + const geometryIndex = geometry.index; + const geometryPosition = geometry.attributes.position; + let version = 0; + + if ( geometryIndex !== null ) { + + const array = geometryIndex.array; + version = geometryIndex.version; + + for ( let i = 0, l = array.length; i < l; i += 3 ) { + + const a = array[ i + 0 ]; + const b = array[ i + 1 ]; + const c = array[ i + 2 ]; + + indices.push( a, b, b, c, c, a ); + + } + + } else { + + const array = geometryPosition.array; + version = geometryPosition.version; + + for ( let i = 0, l = ( array.length / 3 ) - 1; i < l; i += 3 ) { + + const a = i + 0; + const b = i + 1; + const c = i + 2; + + indices.push( a, b, b, c, c, a ); + + } + + } + + const attribute = new ( arrayMax( indices ) > 65535 ? Uint32BufferAttribute : Uint16BufferAttribute )( indices, 1 ); + attribute.version = version; + + // Updating index buffer in VAO now. See WebGLBindingStates + + // + + const previousAttribute = wireframeAttributes.get( geometry ); + + if ( previousAttribute ) attributes.remove( previousAttribute ); + + // + + wireframeAttributes.set( geometry, attribute ); + + } + + function getWireframeAttribute( geometry ) { + + const currentAttribute = wireframeAttributes.get( geometry ); + + if ( currentAttribute ) { + + const geometryIndex = geometry.index; + + if ( geometryIndex !== null ) { + + // if the attribute is obsolete, create a new one + + if ( currentAttribute.version < geometryIndex.version ) { + + updateWireframeAttribute( geometry ); + + } + + } + + } else { + + updateWireframeAttribute( geometry ); + + } + + return wireframeAttributes.get( geometry ); + + } + + return { + + get: get, + update: update, + + getWireframeAttribute: getWireframeAttribute + + }; + +} + +function WebGLIndexedBufferRenderer( gl, extensions, info, capabilities ) { + + const isWebGL2 = capabilities.isWebGL2; + + let mode; + + function setMode( value ) { + + mode = value; + + } + + let type, bytesPerElement; + + function setIndex( value ) { + + type = value.type; + bytesPerElement = value.bytesPerElement; + + } + + function render( start, count ) { + + gl.drawElements( mode, count, type, start * bytesPerElement ); + + info.update( count, mode, 1 ); + + } + + function renderInstances( start, count, primcount ) { + + if ( primcount === 0 ) return; + + let extension, methodName; + + if ( isWebGL2 ) { + + extension = gl; + methodName = 'drawElementsInstanced'; + + } else { + + extension = extensions.get( 'ANGLE_instanced_arrays' ); + methodName = 'drawElementsInstancedANGLE'; + + if ( extension === null ) { + + console.error( 'THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.' ); + return; + + } + + } + + extension[ methodName ]( mode, count, type, start * bytesPerElement, primcount ); + + info.update( count, mode, primcount ); + + } + + // + + this.setMode = setMode; + this.setIndex = setIndex; + this.render = render; + this.renderInstances = renderInstances; + +} + +function WebGLInfo( gl ) { + + const memory = { + geometries: 0, + textures: 0 + }; + + const render = { + frame: 0, + calls: 0, + triangles: 0, + points: 0, + lines: 0 + }; + + function update( count, mode, instanceCount ) { + + render.calls ++; + + switch ( mode ) { + + case 4: + render.triangles += instanceCount * ( count / 3 ); + break; + + case 1: + render.lines += instanceCount * ( count / 2 ); + break; + + case 3: + render.lines += instanceCount * ( count - 1 ); + break; + + case 2: + render.lines += instanceCount * count; + break; + + case 0: + render.points += instanceCount * count; + break; + + default: + console.error( 'THREE.WebGLInfo: Unknown draw mode:', mode ); + break; + + } + + } + + function reset() { + + render.frame ++; + render.calls = 0; + render.triangles = 0; + render.points = 0; + render.lines = 0; + + } + + return { + memory: memory, + render: render, + programs: null, + autoReset: true, + reset: reset, + update: update + }; + +} + +class DataTexture2DArray extends Texture { + + constructor( data = null, width = 1, height = 1, depth = 1 ) { + + super( null ); + + this.image = { data, width, height, depth }; + + this.magFilter = NearestFilter; + this.minFilter = NearestFilter; + + this.wrapR = ClampToEdgeWrapping; + + this.generateMipmaps = false; + this.flipY = false; + this.unpackAlignment = 1; + + } + +} + +DataTexture2DArray.prototype.isDataTexture2DArray = true; + +function numericalSort( a, b ) { + + return a[ 0 ] - b[ 0 ]; + +} + +function absNumericalSort( a, b ) { + + return Math.abs( b[ 1 ] ) - Math.abs( a[ 1 ] ); + +} + +function denormalize( morph, attribute ) { + + let denominator = 1; + const array = attribute.isInterleavedBufferAttribute ? attribute.data.array : attribute.array; + + if ( array instanceof Int8Array ) denominator = 127; + else if ( array instanceof Int16Array ) denominator = 32767; + else if ( array instanceof Int32Array ) denominator = 2147483647; + else console.error( 'THREE.WebGLMorphtargets: Unsupported morph attribute data type: ', array ); + + morph.divideScalar( denominator ); + +} + +function WebGLMorphtargets( gl, capabilities, textures ) { + + const influencesList = {}; + const morphInfluences = new Float32Array( 8 ); + const morphTextures = new WeakMap(); + const morph = new Vector3(); + + const workInfluences = []; + + for ( let i = 0; i < 8; i ++ ) { + + workInfluences[ i ] = [ i, 0 ]; + + } + + function update( object, geometry, material, program ) { + + const objectInfluences = object.morphTargetInfluences; + + if ( capabilities.isWebGL2 === true ) { + + // instead of using attributes, the WebGL 2 code path encodes morph targets + // into an array of data textures. Each layer represents a single morph target. + + const numberOfMorphTargets = geometry.morphAttributes.position.length; + + let entry = morphTextures.get( geometry ); + + if ( entry === undefined || entry.count !== numberOfMorphTargets ) { + + if ( entry !== undefined ) entry.texture.dispose(); + + const hasMorphNormals = geometry.morphAttributes.normal !== undefined; + + const morphTargets = geometry.morphAttributes.position; + const morphNormals = geometry.morphAttributes.normal || []; + + const numberOfVertices = geometry.attributes.position.count; + const numberOfVertexData = ( hasMorphNormals === true ) ? 2 : 1; // (v,n) vs. (v) + + let width = numberOfVertices * numberOfVertexData; + let height = 1; + + if ( width > capabilities.maxTextureSize ) { + + height = Math.ceil( width / capabilities.maxTextureSize ); + width = capabilities.maxTextureSize; + + } + + const buffer = new Float32Array( width * height * 4 * numberOfMorphTargets ); + + const texture = new DataTexture2DArray( buffer, width, height, numberOfMorphTargets ); + texture.format = RGBAFormat; // using RGBA since RGB might be emulated (and is thus slower) + texture.type = FloatType; + texture.needsUpdate = true; + + // fill buffer + + const vertexDataStride = numberOfVertexData * 4; + + for ( let i = 0; i < numberOfMorphTargets; i ++ ) { + + const morphTarget = morphTargets[ i ]; + const morphNormal = morphNormals[ i ]; + + const offset = width * height * 4 * i; + + for ( let j = 0; j < morphTarget.count; j ++ ) { + + morph.fromBufferAttribute( morphTarget, j ); + + if ( morphTarget.normalized === true ) denormalize( morph, morphTarget ); + + const stride = j * vertexDataStride; + + buffer[ offset + stride + 0 ] = morph.x; + buffer[ offset + stride + 1 ] = morph.y; + buffer[ offset + stride + 2 ] = morph.z; + buffer[ offset + stride + 3 ] = 0; + + if ( hasMorphNormals === true ) { + + morph.fromBufferAttribute( morphNormal, j ); + + if ( morphNormal.normalized === true ) denormalize( morph, morphNormal ); + + buffer[ offset + stride + 4 ] = morph.x; + buffer[ offset + stride + 5 ] = morph.y; + buffer[ offset + stride + 6 ] = morph.z; + buffer[ offset + stride + 7 ] = 0; + + } + + } + + } + + entry = { + count: numberOfMorphTargets, + texture: texture, + size: new Vector2( width, height ) + }; + + morphTextures.set( geometry, entry ); + + } + + // + + let morphInfluencesSum = 0; + + for ( let i = 0; i < objectInfluences.length; i ++ ) { + + morphInfluencesSum += objectInfluences[ i ]; + + } + + const morphBaseInfluence = geometry.morphTargetsRelative ? 1 : 1 - morphInfluencesSum; + + program.getUniforms().setValue( gl, 'morphTargetBaseInfluence', morphBaseInfluence ); + program.getUniforms().setValue( gl, 'morphTargetInfluences', objectInfluences ); + + program.getUniforms().setValue( gl, 'morphTargetsTexture', entry.texture, textures ); + program.getUniforms().setValue( gl, 'morphTargetsTextureSize', entry.size ); + + + } else { + + // When object doesn't have morph target influences defined, we treat it as a 0-length array + // This is important to make sure we set up morphTargetBaseInfluence / morphTargetInfluences + + const length = objectInfluences === undefined ? 0 : objectInfluences.length; + + let influences = influencesList[ geometry.id ]; + + if ( influences === undefined || influences.length !== length ) { + + // initialise list + + influences = []; + + for ( let i = 0; i < length; i ++ ) { + + influences[ i ] = [ i, 0 ]; + + } + + influencesList[ geometry.id ] = influences; + + } + + // Collect influences + + for ( let i = 0; i < length; i ++ ) { + + const influence = influences[ i ]; + + influence[ 0 ] = i; + influence[ 1 ] = objectInfluences[ i ]; + + } + + influences.sort( absNumericalSort ); + + for ( let i = 0; i < 8; i ++ ) { + + if ( i < length && influences[ i ][ 1 ] ) { + + workInfluences[ i ][ 0 ] = influences[ i ][ 0 ]; + workInfluences[ i ][ 1 ] = influences[ i ][ 1 ]; + + } else { + + workInfluences[ i ][ 0 ] = Number.MAX_SAFE_INTEGER; + workInfluences[ i ][ 1 ] = 0; + + } + + } + + workInfluences.sort( numericalSort ); + + const morphTargets = geometry.morphAttributes.position; + const morphNormals = geometry.morphAttributes.normal; + + let morphInfluencesSum = 0; + + for ( let i = 0; i < 8; i ++ ) { + + const influence = workInfluences[ i ]; + const index = influence[ 0 ]; + const value = influence[ 1 ]; + + if ( index !== Number.MAX_SAFE_INTEGER && value ) { + + if ( morphTargets && geometry.getAttribute( 'morphTarget' + i ) !== morphTargets[ index ] ) { + + geometry.setAttribute( 'morphTarget' + i, morphTargets[ index ] ); + + } + + if ( morphNormals && geometry.getAttribute( 'morphNormal' + i ) !== morphNormals[ index ] ) { + + geometry.setAttribute( 'morphNormal' + i, morphNormals[ index ] ); + + } + + morphInfluences[ i ] = value; + morphInfluencesSum += value; + + } else { + + if ( morphTargets && geometry.hasAttribute( 'morphTarget' + i ) === true ) { + + geometry.deleteAttribute( 'morphTarget' + i ); + + } + + if ( morphNormals && geometry.hasAttribute( 'morphNormal' + i ) === true ) { + + geometry.deleteAttribute( 'morphNormal' + i ); + + } + + morphInfluences[ i ] = 0; + + } + + } + + // GLSL shader uses formula baseinfluence * base + sum(target * influence) + // This allows us to switch between absolute morphs and relative morphs without changing shader code + // When baseinfluence = 1 - sum(influence), the above is equivalent to sum((target - base) * influence) + const morphBaseInfluence = geometry.morphTargetsRelative ? 1 : 1 - morphInfluencesSum; + + program.getUniforms().setValue( gl, 'morphTargetBaseInfluence', morphBaseInfluence ); + program.getUniforms().setValue( gl, 'morphTargetInfluences', morphInfluences ); + + } + + } + + return { + + update: update + + }; + +} + +function WebGLObjects( gl, geometries, attributes, info ) { + + let updateMap = new WeakMap(); + + function update( object ) { + + const frame = info.render.frame; + + const geometry = object.geometry; + const buffergeometry = geometries.get( object, geometry ); + + // Update once per frame + + if ( updateMap.get( buffergeometry ) !== frame ) { + + geometries.update( buffergeometry ); + + updateMap.set( buffergeometry, frame ); + + } + + if ( object.isInstancedMesh ) { + + if ( object.hasEventListener( 'dispose', onInstancedMeshDispose ) === false ) { + + object.addEventListener( 'dispose', onInstancedMeshDispose ); + + } + + attributes.update( object.instanceMatrix, 34962 ); + + if ( object.instanceColor !== null ) { + + attributes.update( object.instanceColor, 34962 ); + + } + + } + + return buffergeometry; + + } + + function dispose() { + + updateMap = new WeakMap(); + + } + + function onInstancedMeshDispose( event ) { + + const instancedMesh = event.target; + + instancedMesh.removeEventListener( 'dispose', onInstancedMeshDispose ); + + attributes.remove( instancedMesh.instanceMatrix ); + + if ( instancedMesh.instanceColor !== null ) attributes.remove( instancedMesh.instanceColor ); + + } + + return { + + update: update, + dispose: dispose + + }; + +} + +class DataTexture3D extends Texture { + + constructor( data = null, width = 1, height = 1, depth = 1 ) { + + // We're going to add .setXXX() methods for setting properties later. + // Users can still set in DataTexture3D directly. + // + // const texture = new THREE.DataTexture3D( data, width, height, depth ); + // texture.anisotropy = 16; + // + // See #14839 + + super( null ); + + this.image = { data, width, height, depth }; + + this.magFilter = NearestFilter; + this.minFilter = NearestFilter; + + this.wrapR = ClampToEdgeWrapping; + + this.generateMipmaps = false; + this.flipY = false; + this.unpackAlignment = 1; + + } + +} + +DataTexture3D.prototype.isDataTexture3D = true; + +/** + * Uniforms of a program. + * Those form a tree structure with a special top-level container for the root, + * which you get by calling 'new WebGLUniforms( gl, program )'. + * + * + * Properties of inner nodes including the top-level container: + * + * .seq - array of nested uniforms + * .map - nested uniforms by name + * + * + * Methods of all nodes except the top-level container: + * + * .setValue( gl, value, [textures] ) + * + * uploads a uniform value(s) + * the 'textures' parameter is needed for sampler uniforms + * + * + * Static methods of the top-level container (textures factorizations): + * + * .upload( gl, seq, values, textures ) + * + * sets uniforms in 'seq' to 'values[id].value' + * + * .seqWithValue( seq, values ) : filteredSeq + * + * filters 'seq' entries with corresponding entry in values + * + * + * Methods of the top-level container (textures factorizations): + * + * .setValue( gl, name, value, textures ) + * + * sets uniform with name 'name' to 'value' + * + * .setOptional( gl, obj, prop ) + * + * like .set for an optional property of the object + * + */ + +const emptyTexture = new Texture(); +const emptyTexture2dArray = new DataTexture2DArray(); +const emptyTexture3d = new DataTexture3D(); +const emptyCubeTexture = new CubeTexture(); + +// --- Utilities --- + +// Array Caches (provide typed arrays for temporary by size) + +const arrayCacheF32 = []; +const arrayCacheI32 = []; + +// Float32Array caches used for uploading Matrix uniforms + +const mat4array = new Float32Array( 16 ); +const mat3array = new Float32Array( 9 ); +const mat2array = new Float32Array( 4 ); + +// Flattening for arrays of vectors and matrices + +function flatten( array, nBlocks, blockSize ) { + + const firstElem = array[ 0 ]; + + if ( firstElem <= 0 || firstElem > 0 ) return array; + // unoptimized: ! isNaN( firstElem ) + // see http://jacksondunstan.com/articles/983 + + const n = nBlocks * blockSize; + let r = arrayCacheF32[ n ]; + + if ( r === undefined ) { + + r = new Float32Array( n ); + arrayCacheF32[ n ] = r; + + } + + if ( nBlocks !== 0 ) { + + firstElem.toArray( r, 0 ); + + for ( let i = 1, offset = 0; i !== nBlocks; ++ i ) { + + offset += blockSize; + array[ i ].toArray( r, offset ); + + } + + } + + return r; + +} + +function arraysEqual( a, b ) { + + if ( a.length !== b.length ) return false; + + for ( let i = 0, l = a.length; i < l; i ++ ) { + + if ( a[ i ] !== b[ i ] ) return false; + + } + + return true; + +} + +function copyArray( a, b ) { + + for ( let i = 0, l = b.length; i < l; i ++ ) { + + a[ i ] = b[ i ]; + + } + +} + +// Texture unit allocation + +function allocTexUnits( textures, n ) { + + let r = arrayCacheI32[ n ]; + + if ( r === undefined ) { + + r = new Int32Array( n ); + arrayCacheI32[ n ] = r; + + } + + for ( let i = 0; i !== n; ++ i ) { + + r[ i ] = textures.allocateTextureUnit(); + + } + + return r; + +} + +// --- Setters --- + +// Note: Defining these methods externally, because they come in a bunch +// and this way their names minify. + +// Single scalar + +function setValueV1f( gl, v ) { + + const cache = this.cache; + + if ( cache[ 0 ] === v ) return; + + gl.uniform1f( this.addr, v ); + + cache[ 0 ] = v; + +} + +// Single float vector (from flat array or THREE.VectorN) + +function setValueV2f( gl, v ) { + + const cache = this.cache; + + if ( v.x !== undefined ) { + + if ( cache[ 0 ] !== v.x || cache[ 1 ] !== v.y ) { + + gl.uniform2f( this.addr, v.x, v.y ); + + cache[ 0 ] = v.x; + cache[ 1 ] = v.y; + + } + + } else { + + if ( arraysEqual( cache, v ) ) return; + + gl.uniform2fv( this.addr, v ); + + copyArray( cache, v ); + + } + +} + +function setValueV3f( gl, v ) { + + const cache = this.cache; + + if ( v.x !== undefined ) { + + if ( cache[ 0 ] !== v.x || cache[ 1 ] !== v.y || cache[ 2 ] !== v.z ) { + + gl.uniform3f( this.addr, v.x, v.y, v.z ); + + cache[ 0 ] = v.x; + cache[ 1 ] = v.y; + cache[ 2 ] = v.z; + + } + + } else if ( v.r !== undefined ) { + + if ( cache[ 0 ] !== v.r || cache[ 1 ] !== v.g || cache[ 2 ] !== v.b ) { + + gl.uniform3f( this.addr, v.r, v.g, v.b ); + + cache[ 0 ] = v.r; + cache[ 1 ] = v.g; + cache[ 2 ] = v.b; + + } + + } else { + + if ( arraysEqual( cache, v ) ) return; + + gl.uniform3fv( this.addr, v ); + + copyArray( cache, v ); + + } + +} + +function setValueV4f( gl, v ) { + + const cache = this.cache; + + if ( v.x !== undefined ) { + + if ( cache[ 0 ] !== v.x || cache[ 1 ] !== v.y || cache[ 2 ] !== v.z || cache[ 3 ] !== v.w ) { + + gl.uniform4f( this.addr, v.x, v.y, v.z, v.w ); + + cache[ 0 ] = v.x; + cache[ 1 ] = v.y; + cache[ 2 ] = v.z; + cache[ 3 ] = v.w; + + } + + } else { + + if ( arraysEqual( cache, v ) ) return; + + gl.uniform4fv( this.addr, v ); + + copyArray( cache, v ); + + } + +} + +// Single matrix (from flat array or THREE.MatrixN) + +function setValueM2( gl, v ) { + + const cache = this.cache; + const elements = v.elements; + + if ( elements === undefined ) { + + if ( arraysEqual( cache, v ) ) return; + + gl.uniformMatrix2fv( this.addr, false, v ); + + copyArray( cache, v ); + + } else { + + if ( arraysEqual( cache, elements ) ) return; + + mat2array.set( elements ); + + gl.uniformMatrix2fv( this.addr, false, mat2array ); + + copyArray( cache, elements ); + + } + +} + +function setValueM3( gl, v ) { + + const cache = this.cache; + const elements = v.elements; + + if ( elements === undefined ) { + + if ( arraysEqual( cache, v ) ) return; + + gl.uniformMatrix3fv( this.addr, false, v ); + + copyArray( cache, v ); + + } else { + + if ( arraysEqual( cache, elements ) ) return; + + mat3array.set( elements ); + + gl.uniformMatrix3fv( this.addr, false, mat3array ); + + copyArray( cache, elements ); + + } + +} + +function setValueM4( gl, v ) { + + const cache = this.cache; + const elements = v.elements; + + if ( elements === undefined ) { + + if ( arraysEqual( cache, v ) ) return; + + gl.uniformMatrix4fv( this.addr, false, v ); + + copyArray( cache, v ); + + } else { + + if ( arraysEqual( cache, elements ) ) return; + + mat4array.set( elements ); + + gl.uniformMatrix4fv( this.addr, false, mat4array ); + + copyArray( cache, elements ); + + } + +} + +// Single integer / boolean + +function setValueV1i( gl, v ) { + + const cache = this.cache; + + if ( cache[ 0 ] === v ) return; + + gl.uniform1i( this.addr, v ); + + cache[ 0 ] = v; + +} + +// Single integer / boolean vector (from flat array) + +function setValueV2i( gl, v ) { + + const cache = this.cache; + + if ( arraysEqual( cache, v ) ) return; + + gl.uniform2iv( this.addr, v ); + + copyArray( cache, v ); + +} + +function setValueV3i( gl, v ) { + + const cache = this.cache; + + if ( arraysEqual( cache, v ) ) return; + + gl.uniform3iv( this.addr, v ); + + copyArray( cache, v ); + +} + +function setValueV4i( gl, v ) { + + const cache = this.cache; + + if ( arraysEqual( cache, v ) ) return; + + gl.uniform4iv( this.addr, v ); + + copyArray( cache, v ); + +} + +// Single unsigned integer + +function setValueV1ui( gl, v ) { + + const cache = this.cache; + + if ( cache[ 0 ] === v ) return; + + gl.uniform1ui( this.addr, v ); + + cache[ 0 ] = v; + +} + +// Single unsigned integer vector (from flat array) + +function setValueV2ui( gl, v ) { + + const cache = this.cache; + + if ( arraysEqual( cache, v ) ) return; + + gl.uniform2uiv( this.addr, v ); + + copyArray( cache, v ); + +} + +function setValueV3ui( gl, v ) { + + const cache = this.cache; + + if ( arraysEqual( cache, v ) ) return; + + gl.uniform3uiv( this.addr, v ); + + copyArray( cache, v ); + +} + +function setValueV4ui( gl, v ) { + + const cache = this.cache; + + if ( arraysEqual( cache, v ) ) return; + + gl.uniform4uiv( this.addr, v ); + + copyArray( cache, v ); + +} + + +// Single texture (2D / Cube) + +function setValueT1( gl, v, textures ) { + + const cache = this.cache; + const unit = textures.allocateTextureUnit(); + + if ( cache[ 0 ] !== unit ) { + + gl.uniform1i( this.addr, unit ); + cache[ 0 ] = unit; + + } + + textures.safeSetTexture2D( v || emptyTexture, unit ); + +} + +function setValueT3D1( gl, v, textures ) { + + const cache = this.cache; + const unit = textures.allocateTextureUnit(); + + if ( cache[ 0 ] !== unit ) { + + gl.uniform1i( this.addr, unit ); + cache[ 0 ] = unit; + + } + + textures.setTexture3D( v || emptyTexture3d, unit ); + +} + +function setValueT6( gl, v, textures ) { + + const cache = this.cache; + const unit = textures.allocateTextureUnit(); + + if ( cache[ 0 ] !== unit ) { + + gl.uniform1i( this.addr, unit ); + cache[ 0 ] = unit; + + } + + textures.safeSetTextureCube( v || emptyCubeTexture, unit ); + +} + +function setValueT2DArray1( gl, v, textures ) { + + const cache = this.cache; + const unit = textures.allocateTextureUnit(); + + if ( cache[ 0 ] !== unit ) { + + gl.uniform1i( this.addr, unit ); + cache[ 0 ] = unit; + + } + + textures.setTexture2DArray( v || emptyTexture2dArray, unit ); + +} + +// Helper to pick the right setter for the singular case + +function getSingularSetter( type ) { + + switch ( type ) { + + case 0x1406: return setValueV1f; // FLOAT + case 0x8b50: return setValueV2f; // _VEC2 + case 0x8b51: return setValueV3f; // _VEC3 + case 0x8b52: return setValueV4f; // _VEC4 + + case 0x8b5a: return setValueM2; // _MAT2 + case 0x8b5b: return setValueM3; // _MAT3 + case 0x8b5c: return setValueM4; // _MAT4 + + case 0x1404: case 0x8b56: return setValueV1i; // INT, BOOL + case 0x8b53: case 0x8b57: return setValueV2i; // _VEC2 + case 0x8b54: case 0x8b58: return setValueV3i; // _VEC3 + case 0x8b55: case 0x8b59: return setValueV4i; // _VEC4 + + case 0x1405: return setValueV1ui; // UINT + case 0x8dc6: return setValueV2ui; // _VEC2 + case 0x8dc7: return setValueV3ui; // _VEC3 + case 0x8dc8: return setValueV4ui; // _VEC4 + + case 0x8b5e: // SAMPLER_2D + case 0x8d66: // SAMPLER_EXTERNAL_OES + case 0x8dca: // INT_SAMPLER_2D + case 0x8dd2: // UNSIGNED_INT_SAMPLER_2D + case 0x8b62: // SAMPLER_2D_SHADOW + return setValueT1; + + case 0x8b5f: // SAMPLER_3D + case 0x8dcb: // INT_SAMPLER_3D + case 0x8dd3: // UNSIGNED_INT_SAMPLER_3D + return setValueT3D1; + + case 0x8b60: // SAMPLER_CUBE + case 0x8dcc: // INT_SAMPLER_CUBE + case 0x8dd4: // UNSIGNED_INT_SAMPLER_CUBE + case 0x8dc5: // SAMPLER_CUBE_SHADOW + return setValueT6; + + case 0x8dc1: // SAMPLER_2D_ARRAY + case 0x8dcf: // INT_SAMPLER_2D_ARRAY + case 0x8dd7: // UNSIGNED_INT_SAMPLER_2D_ARRAY + case 0x8dc4: // SAMPLER_2D_ARRAY_SHADOW + return setValueT2DArray1; + + } + +} + + +// Array of scalars + +function setValueV1fArray( gl, v ) { + + gl.uniform1fv( this.addr, v ); + +} + +// Array of vectors (from flat array or array of THREE.VectorN) + +function setValueV2fArray( gl, v ) { + + const data = flatten( v, this.size, 2 ); + + gl.uniform2fv( this.addr, data ); + +} + +function setValueV3fArray( gl, v ) { + + const data = flatten( v, this.size, 3 ); + + gl.uniform3fv( this.addr, data ); + +} + +function setValueV4fArray( gl, v ) { + + const data = flatten( v, this.size, 4 ); + + gl.uniform4fv( this.addr, data ); + +} + +// Array of matrices (from flat array or array of THREE.MatrixN) + +function setValueM2Array( gl, v ) { + + const data = flatten( v, this.size, 4 ); + + gl.uniformMatrix2fv( this.addr, false, data ); + +} + +function setValueM3Array( gl, v ) { + + const data = flatten( v, this.size, 9 ); + + gl.uniformMatrix3fv( this.addr, false, data ); + +} + +function setValueM4Array( gl, v ) { + + const data = flatten( v, this.size, 16 ); + + gl.uniformMatrix4fv( this.addr, false, data ); + +} + +// Array of integer / boolean + +function setValueV1iArray( gl, v ) { + + gl.uniform1iv( this.addr, v ); + +} + +// Array of integer / boolean vectors (from flat array) + +function setValueV2iArray( gl, v ) { + + gl.uniform2iv( this.addr, v ); + +} + +function setValueV3iArray( gl, v ) { + + gl.uniform3iv( this.addr, v ); + +} + +function setValueV4iArray( gl, v ) { + + gl.uniform4iv( this.addr, v ); + +} + +// Array of unsigned integer + +function setValueV1uiArray( gl, v ) { + + gl.uniform1uiv( this.addr, v ); + +} + +// Array of unsigned integer vectors (from flat array) + +function setValueV2uiArray( gl, v ) { + + gl.uniform2uiv( this.addr, v ); + +} + +function setValueV3uiArray( gl, v ) { + + gl.uniform3uiv( this.addr, v ); + +} + +function setValueV4uiArray( gl, v ) { + + gl.uniform4uiv( this.addr, v ); + +} + + +// Array of textures (2D / 3D / Cube / 2DArray) + +function setValueT1Array( gl, v, textures ) { + + const n = v.length; + + const units = allocTexUnits( textures, n ); + + gl.uniform1iv( this.addr, units ); + + for ( let i = 0; i !== n; ++ i ) { + + textures.safeSetTexture2D( v[ i ] || emptyTexture, units[ i ] ); + + } + +} + +function setValueT3DArray( gl, v, textures ) { + + const n = v.length; + + const units = allocTexUnits( textures, n ); + + gl.uniform1iv( this.addr, units ); + + for ( let i = 0; i !== n; ++ i ) { + + textures.setTexture3D( v[ i ] || emptyTexture3d, units[ i ] ); + + } + +} + +function setValueT6Array( gl, v, textures ) { + + const n = v.length; + + const units = allocTexUnits( textures, n ); + + gl.uniform1iv( this.addr, units ); + + for ( let i = 0; i !== n; ++ i ) { + + textures.safeSetTextureCube( v[ i ] || emptyCubeTexture, units[ i ] ); + + } + +} + +function setValueT2DArrayArray( gl, v, textures ) { + + const n = v.length; + + const units = allocTexUnits( textures, n ); + + gl.uniform1iv( this.addr, units ); + + for ( let i = 0; i !== n; ++ i ) { + + textures.setTexture2DArray( v[ i ] || emptyTexture2dArray, units[ i ] ); + + } + +} + + +// Helper to pick the right setter for a pure (bottom-level) array + +function getPureArraySetter( type ) { + + switch ( type ) { + + case 0x1406: return setValueV1fArray; // FLOAT + case 0x8b50: return setValueV2fArray; // _VEC2 + case 0x8b51: return setValueV3fArray; // _VEC3 + case 0x8b52: return setValueV4fArray; // _VEC4 + + case 0x8b5a: return setValueM2Array; // _MAT2 + case 0x8b5b: return setValueM3Array; // _MAT3 + case 0x8b5c: return setValueM4Array; // _MAT4 + + case 0x1404: case 0x8b56: return setValueV1iArray; // INT, BOOL + case 0x8b53: case 0x8b57: return setValueV2iArray; // _VEC2 + case 0x8b54: case 0x8b58: return setValueV3iArray; // _VEC3 + case 0x8b55: case 0x8b59: return setValueV4iArray; // _VEC4 + + case 0x1405: return setValueV1uiArray; // UINT + case 0x8dc6: return setValueV2uiArray; // _VEC2 + case 0x8dc7: return setValueV3uiArray; // _VEC3 + case 0x8dc8: return setValueV4uiArray; // _VEC4 + + case 0x8b5e: // SAMPLER_2D + case 0x8d66: // SAMPLER_EXTERNAL_OES + case 0x8dca: // INT_SAMPLER_2D + case 0x8dd2: // UNSIGNED_INT_SAMPLER_2D + case 0x8b62: // SAMPLER_2D_SHADOW + return setValueT1Array; + + case 0x8b5f: // SAMPLER_3D + case 0x8dcb: // INT_SAMPLER_3D + case 0x8dd3: // UNSIGNED_INT_SAMPLER_3D + return setValueT3DArray; + + case 0x8b60: // SAMPLER_CUBE + case 0x8dcc: // INT_SAMPLER_CUBE + case 0x8dd4: // UNSIGNED_INT_SAMPLER_CUBE + case 0x8dc5: // SAMPLER_CUBE_SHADOW + return setValueT6Array; + + case 0x8dc1: // SAMPLER_2D_ARRAY + case 0x8dcf: // INT_SAMPLER_2D_ARRAY + case 0x8dd7: // UNSIGNED_INT_SAMPLER_2D_ARRAY + case 0x8dc4: // SAMPLER_2D_ARRAY_SHADOW + return setValueT2DArrayArray; + + } + +} + +// --- Uniform Classes --- + +function SingleUniform( id, activeInfo, addr ) { + + this.id = id; + this.addr = addr; + this.cache = []; + this.setValue = getSingularSetter( activeInfo.type ); + + // this.path = activeInfo.name; // DEBUG + +} + +function PureArrayUniform( id, activeInfo, addr ) { + + this.id = id; + this.addr = addr; + this.cache = []; + this.size = activeInfo.size; + this.setValue = getPureArraySetter( activeInfo.type ); + + // this.path = activeInfo.name; // DEBUG + +} + +PureArrayUniform.prototype.updateCache = function ( data ) { + + const cache = this.cache; + + if ( data instanceof Float32Array && cache.length !== data.length ) { + + this.cache = new Float32Array( data.length ); + + } + + copyArray( cache, data ); + +}; + +function StructuredUniform( id ) { + + this.id = id; + + this.seq = []; + this.map = {}; + +} + +StructuredUniform.prototype.setValue = function ( gl, value, textures ) { + + const seq = this.seq; + + for ( let i = 0, n = seq.length; i !== n; ++ i ) { + + const u = seq[ i ]; + u.setValue( gl, value[ u.id ], textures ); + + } + +}; + +// --- Top-level --- + +// Parser - builds up the property tree from the path strings + +const RePathPart = /(\w+)(\])?(\[|\.)?/g; + +// extracts +// - the identifier (member name or array index) +// - followed by an optional right bracket (found when array index) +// - followed by an optional left bracket or dot (type of subscript) +// +// Note: These portions can be read in a non-overlapping fashion and +// allow straightforward parsing of the hierarchy that WebGL encodes +// in the uniform names. + +function addUniform( container, uniformObject ) { + + container.seq.push( uniformObject ); + container.map[ uniformObject.id ] = uniformObject; + +} + +function parseUniform( activeInfo, addr, container ) { + + const path = activeInfo.name, + pathLength = path.length; + + // reset RegExp object, because of the early exit of a previous run + RePathPart.lastIndex = 0; + + while ( true ) { + + const match = RePathPart.exec( path ), + matchEnd = RePathPart.lastIndex; + + let id = match[ 1 ]; + const idIsIndex = match[ 2 ] === ']', + subscript = match[ 3 ]; + + if ( idIsIndex ) id = id | 0; // convert to integer + + if ( subscript === undefined || subscript === '[' && matchEnd + 2 === pathLength ) { + + // bare name or "pure" bottom-level array "[0]" suffix + + addUniform( container, subscript === undefined ? + new SingleUniform( id, activeInfo, addr ) : + new PureArrayUniform( id, activeInfo, addr ) ); + + break; + + } else { + + // step into inner node / create it in case it doesn't exist + + const map = container.map; + let next = map[ id ]; + + if ( next === undefined ) { + + next = new StructuredUniform( id ); + addUniform( container, next ); + + } + + container = next; + + } + + } + +} + +// Root Container + +function WebGLUniforms( gl, program ) { + + this.seq = []; + this.map = {}; + + const n = gl.getProgramParameter( program, 35718 ); + + for ( let i = 0; i < n; ++ i ) { + + const info = gl.getActiveUniform( program, i ), + addr = gl.getUniformLocation( program, info.name ); + + parseUniform( info, addr, this ); + + } + +} + +WebGLUniforms.prototype.setValue = function ( gl, name, value, textures ) { + + const u = this.map[ name ]; + + if ( u !== undefined ) u.setValue( gl, value, textures ); + +}; + +WebGLUniforms.prototype.setOptional = function ( gl, object, name ) { + + const v = object[ name ]; + + if ( v !== undefined ) this.setValue( gl, name, v ); + +}; + + +// Static interface + +WebGLUniforms.upload = function ( gl, seq, values, textures ) { + + for ( let i = 0, n = seq.length; i !== n; ++ i ) { + + const u = seq[ i ], + v = values[ u.id ]; + + if ( v.needsUpdate !== false ) { + + // note: always updating when .needsUpdate is undefined + u.setValue( gl, v.value, textures ); + + } + + } + +}; + +WebGLUniforms.seqWithValue = function ( seq, values ) { + + const r = []; + + for ( let i = 0, n = seq.length; i !== n; ++ i ) { + + const u = seq[ i ]; + if ( u.id in values ) r.push( u ); + + } + + return r; + +}; + +function WebGLShader( gl, type, string ) { + + const shader = gl.createShader( type ); + + gl.shaderSource( shader, string ); + gl.compileShader( shader ); + + return shader; + +} + +let programIdCount = 0; + +function addLineNumbers( string ) { + + const lines = string.split( '\n' ); + + for ( let i = 0; i < lines.length; i ++ ) { + + lines[ i ] = ( i + 1 ) + ': ' + lines[ i ]; + + } + + return lines.join( '\n' ); + +} + +function getEncodingComponents( encoding ) { + + switch ( encoding ) { + + case LinearEncoding: + return [ 'Linear', '( value )' ]; + case sRGBEncoding: + return [ 'sRGB', '( value )' ]; + default: + console.warn( 'THREE.WebGLProgram: Unsupported encoding:', encoding ); + return [ 'Linear', '( value )' ]; + + } + +} + +function getShaderErrors( gl, shader, type ) { + + const status = gl.getShaderParameter( shader, 35713 ); + const errors = gl.getShaderInfoLog( shader ).trim(); + + if ( status && errors === '' ) return ''; + + // --enable-privileged-webgl-extension + // console.log( '**' + type + '**', gl.getExtension( 'WEBGL_debug_shaders' ).getTranslatedShaderSource( shader ) ); + + return type.toUpperCase() + '\n\n' + errors + '\n\n' + addLineNumbers( gl.getShaderSource( shader ) ); + +} + +function getTexelDecodingFunction( functionName, encoding ) { + + const components = getEncodingComponents( encoding ); + return 'vec4 ' + functionName + '( vec4 value ) { return ' + components[ 0 ] + 'ToLinear' + components[ 1 ] + '; }'; + +} + +function getTexelEncodingFunction( functionName, encoding ) { + + const components = getEncodingComponents( encoding ); + return 'vec4 ' + functionName + '( vec4 value ) { return LinearTo' + components[ 0 ] + components[ 1 ] + '; }'; + +} + +function getToneMappingFunction( functionName, toneMapping ) { + + let toneMappingName; + + switch ( toneMapping ) { + + case LinearToneMapping: + toneMappingName = 'Linear'; + break; + + case ReinhardToneMapping: + toneMappingName = 'Reinhard'; + break; + + case CineonToneMapping: + toneMappingName = 'OptimizedCineon'; + break; + + case ACESFilmicToneMapping: + toneMappingName = 'ACESFilmic'; + break; + + case CustomToneMapping: + toneMappingName = 'Custom'; + break; + + default: + console.warn( 'THREE.WebGLProgram: Unsupported toneMapping:', toneMapping ); + toneMappingName = 'Linear'; + + } + + return 'vec3 ' + functionName + '( vec3 color ) { return ' + toneMappingName + 'ToneMapping( color ); }'; + +} + +function generateExtensions( parameters ) { + + const chunks = [ + ( parameters.extensionDerivatives || parameters.envMapCubeUV || parameters.bumpMap || parameters.tangentSpaceNormalMap || parameters.clearcoatNormalMap || parameters.flatShading || parameters.shaderID === 'physical' ) ? '#extension GL_OES_standard_derivatives : enable' : '', + ( parameters.extensionFragDepth || parameters.logarithmicDepthBuffer ) && parameters.rendererExtensionFragDepth ? '#extension GL_EXT_frag_depth : enable' : '', + ( parameters.extensionDrawBuffers && parameters.rendererExtensionDrawBuffers ) ? '#extension GL_EXT_draw_buffers : require' : '', + ( parameters.extensionShaderTextureLOD || parameters.envMap || parameters.transmission ) && parameters.rendererExtensionShaderTextureLod ? '#extension GL_EXT_shader_texture_lod : enable' : '' + ]; + + return chunks.filter( filterEmptyLine ).join( '\n' ); + +} + +function generateDefines( defines ) { + + const chunks = []; + + for ( const name in defines ) { + + const value = defines[ name ]; + + if ( value === false ) continue; + + chunks.push( '#define ' + name + ' ' + value ); + + } + + return chunks.join( '\n' ); + +} + +function fetchAttributeLocations( gl, program ) { + + const attributes = {}; + + const n = gl.getProgramParameter( program, 35721 ); + + for ( let i = 0; i < n; i ++ ) { + + const info = gl.getActiveAttrib( program, i ); + const name = info.name; + + let locationSize = 1; + if ( info.type === 35674 ) locationSize = 2; + if ( info.type === 35675 ) locationSize = 3; + if ( info.type === 35676 ) locationSize = 4; + + // console.log( 'THREE.WebGLProgram: ACTIVE VERTEX ATTRIBUTE:', name, i ); + + attributes[ name ] = { + type: info.type, + location: gl.getAttribLocation( program, name ), + locationSize: locationSize + }; + + } + + return attributes; + +} + +function filterEmptyLine( string ) { + + return string !== ''; + +} + +function replaceLightNums( string, parameters ) { + + return string + .replace( /NUM_DIR_LIGHTS/g, parameters.numDirLights ) + .replace( /NUM_SPOT_LIGHTS/g, parameters.numSpotLights ) + .replace( /NUM_RECT_AREA_LIGHTS/g, parameters.numRectAreaLights ) + .replace( /NUM_POINT_LIGHTS/g, parameters.numPointLights ) + .replace( /NUM_HEMI_LIGHTS/g, parameters.numHemiLights ) + .replace( /NUM_DIR_LIGHT_SHADOWS/g, parameters.numDirLightShadows ) + .replace( /NUM_SPOT_LIGHT_SHADOWS/g, parameters.numSpotLightShadows ) + .replace( /NUM_POINT_LIGHT_SHADOWS/g, parameters.numPointLightShadows ); + +} + +function replaceClippingPlaneNums( string, parameters ) { + + return string + .replace( /NUM_CLIPPING_PLANES/g, parameters.numClippingPlanes ) + .replace( /UNION_CLIPPING_PLANES/g, ( parameters.numClippingPlanes - parameters.numClipIntersection ) ); + +} + +// Resolve Includes + +const includePattern = /^[ \t]*#include +<([\w\d./]+)>/gm; + +function resolveIncludes( string ) { + + return string.replace( includePattern, includeReplacer ); + +} + +function includeReplacer( match, include ) { + + const string = ShaderChunk[ include ]; + + if ( string === undefined ) { + + throw new Error( 'Can not resolve #include <' + include + '>' ); + + } + + return resolveIncludes( string ); + +} + +// Unroll Loops + +const deprecatedUnrollLoopPattern = /#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g; +const unrollLoopPattern = /#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g; + +function unrollLoops( string ) { + + return string + .replace( unrollLoopPattern, loopReplacer ) + .replace( deprecatedUnrollLoopPattern, deprecatedLoopReplacer ); + +} + +function deprecatedLoopReplacer( match, start, end, snippet ) { + + console.warn( 'WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead.' ); + return loopReplacer( match, start, end, snippet ); + +} + +function loopReplacer( match, start, end, snippet ) { + + let string = ''; + + for ( let i = parseInt( start ); i < parseInt( end ); i ++ ) { + + string += snippet + .replace( /\[\s*i\s*\]/g, '[ ' + i + ' ]' ) + .replace( /UNROLLED_LOOP_INDEX/g, i ); + + } + + return string; + +} + +// + +function generatePrecision( parameters ) { + + let precisionstring = 'precision ' + parameters.precision + ' float;\nprecision ' + parameters.precision + ' int;'; + + if ( parameters.precision === 'highp' ) { + + precisionstring += '\n#define HIGH_PRECISION'; + + } else if ( parameters.precision === 'mediump' ) { + + precisionstring += '\n#define MEDIUM_PRECISION'; + + } else if ( parameters.precision === 'lowp' ) { + + precisionstring += '\n#define LOW_PRECISION'; + + } + + return precisionstring; + +} + +function generateShadowMapTypeDefine( parameters ) { + + let shadowMapTypeDefine = 'SHADOWMAP_TYPE_BASIC'; + + if ( parameters.shadowMapType === PCFShadowMap ) { + + shadowMapTypeDefine = 'SHADOWMAP_TYPE_PCF'; + + } else if ( parameters.shadowMapType === PCFSoftShadowMap ) { + + shadowMapTypeDefine = 'SHADOWMAP_TYPE_PCF_SOFT'; + + } else if ( parameters.shadowMapType === VSMShadowMap ) { + + shadowMapTypeDefine = 'SHADOWMAP_TYPE_VSM'; + + } + + return shadowMapTypeDefine; + +} + +function generateEnvMapTypeDefine( parameters ) { + + let envMapTypeDefine = 'ENVMAP_TYPE_CUBE'; + + if ( parameters.envMap ) { + + switch ( parameters.envMapMode ) { + + case CubeReflectionMapping: + case CubeRefractionMapping: + envMapTypeDefine = 'ENVMAP_TYPE_CUBE'; + break; + + case CubeUVReflectionMapping: + case CubeUVRefractionMapping: + envMapTypeDefine = 'ENVMAP_TYPE_CUBE_UV'; + break; + + } + + } + + return envMapTypeDefine; + +} + +function generateEnvMapModeDefine( parameters ) { + + let envMapModeDefine = 'ENVMAP_MODE_REFLECTION'; + + if ( parameters.envMap ) { + + switch ( parameters.envMapMode ) { + + case CubeRefractionMapping: + case CubeUVRefractionMapping: + + envMapModeDefine = 'ENVMAP_MODE_REFRACTION'; + break; + + } + + } + + return envMapModeDefine; + +} + +function generateEnvMapBlendingDefine( parameters ) { + + let envMapBlendingDefine = 'ENVMAP_BLENDING_NONE'; + + if ( parameters.envMap ) { + + switch ( parameters.combine ) { + + case MultiplyOperation: + envMapBlendingDefine = 'ENVMAP_BLENDING_MULTIPLY'; + break; + + case MixOperation: + envMapBlendingDefine = 'ENVMAP_BLENDING_MIX'; + break; + + case AddOperation: + envMapBlendingDefine = 'ENVMAP_BLENDING_ADD'; + break; + + } + + } + + return envMapBlendingDefine; + +} + +function WebGLProgram( renderer, cacheKey, parameters, bindingStates ) { + + // TODO Send this event to Three.js DevTools + // console.log( 'WebGLProgram', cacheKey ); + + const gl = renderer.getContext(); + + const defines = parameters.defines; + + let vertexShader = parameters.vertexShader; + let fragmentShader = parameters.fragmentShader; + + const shadowMapTypeDefine = generateShadowMapTypeDefine( parameters ); + const envMapTypeDefine = generateEnvMapTypeDefine( parameters ); + const envMapModeDefine = generateEnvMapModeDefine( parameters ); + const envMapBlendingDefine = generateEnvMapBlendingDefine( parameters ); + + const customExtensions = parameters.isWebGL2 ? '' : generateExtensions( parameters ); + + const customDefines = generateDefines( defines ); + + const program = gl.createProgram(); + + let prefixVertex, prefixFragment; + let versionString = parameters.glslVersion ? '#version ' + parameters.glslVersion + '\n' : ''; + + if ( parameters.isRawShaderMaterial ) { + + prefixVertex = [ + + customDefines + + ].filter( filterEmptyLine ).join( '\n' ); + + if ( prefixVertex.length > 0 ) { + + prefixVertex += '\n'; + + } + + prefixFragment = [ + + customExtensions, + customDefines + + ].filter( filterEmptyLine ).join( '\n' ); + + if ( prefixFragment.length > 0 ) { + + prefixFragment += '\n'; + + } + + } else { + + prefixVertex = [ + + generatePrecision( parameters ), + + '#define SHADER_NAME ' + parameters.shaderName, + + customDefines, + + parameters.instancing ? '#define USE_INSTANCING' : '', + parameters.instancingColor ? '#define USE_INSTANCING_COLOR' : '', + + parameters.supportsVertexTextures ? '#define VERTEX_TEXTURES' : '', + + '#define MAX_BONES ' + parameters.maxBones, + ( parameters.useFog && parameters.fog ) ? '#define USE_FOG' : '', + ( parameters.useFog && parameters.fogExp2 ) ? '#define FOG_EXP2' : '', + + parameters.map ? '#define USE_MAP' : '', + parameters.envMap ? '#define USE_ENVMAP' : '', + parameters.envMap ? '#define ' + envMapModeDefine : '', + parameters.lightMap ? '#define USE_LIGHTMAP' : '', + parameters.aoMap ? '#define USE_AOMAP' : '', + parameters.emissiveMap ? '#define USE_EMISSIVEMAP' : '', + parameters.bumpMap ? '#define USE_BUMPMAP' : '', + parameters.normalMap ? '#define USE_NORMALMAP' : '', + ( parameters.normalMap && parameters.objectSpaceNormalMap ) ? '#define OBJECTSPACE_NORMALMAP' : '', + ( parameters.normalMap && parameters.tangentSpaceNormalMap ) ? '#define TANGENTSPACE_NORMALMAP' : '', + + parameters.clearcoatMap ? '#define USE_CLEARCOATMAP' : '', + parameters.clearcoatRoughnessMap ? '#define USE_CLEARCOAT_ROUGHNESSMAP' : '', + parameters.clearcoatNormalMap ? '#define USE_CLEARCOAT_NORMALMAP' : '', + + parameters.displacementMap && parameters.supportsVertexTextures ? '#define USE_DISPLACEMENTMAP' : '', + + parameters.specularMap ? '#define USE_SPECULARMAP' : '', + parameters.specularIntensityMap ? '#define USE_SPECULARINTENSITYMAP' : '', + parameters.specularColorMap ? '#define USE_SPECULARCOLORMAP' : '', + + parameters.roughnessMap ? '#define USE_ROUGHNESSMAP' : '', + parameters.metalnessMap ? '#define USE_METALNESSMAP' : '', + parameters.alphaMap ? '#define USE_ALPHAMAP' : '', + + parameters.transmission ? '#define USE_TRANSMISSION' : '', + parameters.transmissionMap ? '#define USE_TRANSMISSIONMAP' : '', + parameters.thicknessMap ? '#define USE_THICKNESSMAP' : '', + + parameters.sheenColorMap ? '#define USE_SHEENCOLORMAP' : '', + parameters.sheenRoughnessMap ? '#define USE_SHEENROUGHNESSMAP' : '', + + parameters.vertexTangents ? '#define USE_TANGENT' : '', + parameters.vertexColors ? '#define USE_COLOR' : '', + parameters.vertexAlphas ? '#define USE_COLOR_ALPHA' : '', + parameters.vertexUvs ? '#define USE_UV' : '', + parameters.uvsVertexOnly ? '#define UVS_VERTEX_ONLY' : '', + + parameters.flatShading ? '#define FLAT_SHADED' : '', + + parameters.skinning ? '#define USE_SKINNING' : '', + parameters.useVertexTexture ? '#define BONE_TEXTURE' : '', + + parameters.morphTargets ? '#define USE_MORPHTARGETS' : '', + parameters.morphNormals && parameters.flatShading === false ? '#define USE_MORPHNORMALS' : '', + ( parameters.morphTargets && parameters.isWebGL2 ) ? '#define MORPHTARGETS_TEXTURE' : '', + ( parameters.morphTargets && parameters.isWebGL2 ) ? '#define MORPHTARGETS_COUNT ' + parameters.morphTargetsCount : '', + parameters.doubleSided ? '#define DOUBLE_SIDED' : '', + parameters.flipSided ? '#define FLIP_SIDED' : '', + + parameters.shadowMapEnabled ? '#define USE_SHADOWMAP' : '', + parameters.shadowMapEnabled ? '#define ' + shadowMapTypeDefine : '', + + parameters.sizeAttenuation ? '#define USE_SIZEATTENUATION' : '', + + parameters.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '', + ( parameters.logarithmicDepthBuffer && parameters.rendererExtensionFragDepth ) ? '#define USE_LOGDEPTHBUF_EXT' : '', + + 'uniform mat4 modelMatrix;', + 'uniform mat4 modelViewMatrix;', + 'uniform mat4 projectionMatrix;', + 'uniform mat4 viewMatrix;', + 'uniform mat3 normalMatrix;', + 'uniform vec3 cameraPosition;', + 'uniform bool isOrthographic;', + + '#ifdef USE_INSTANCING', + + ' attribute mat4 instanceMatrix;', + + '#endif', + + '#ifdef USE_INSTANCING_COLOR', + + ' attribute vec3 instanceColor;', + + '#endif', + + 'attribute vec3 position;', + 'attribute vec3 normal;', + 'attribute vec2 uv;', + + '#ifdef USE_TANGENT', + + ' attribute vec4 tangent;', + + '#endif', + + '#if defined( USE_COLOR_ALPHA )', + + ' attribute vec4 color;', + + '#elif defined( USE_COLOR )', + + ' attribute vec3 color;', + + '#endif', + + '#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )', + + ' attribute vec3 morphTarget0;', + ' attribute vec3 morphTarget1;', + ' attribute vec3 morphTarget2;', + ' attribute vec3 morphTarget3;', + + ' #ifdef USE_MORPHNORMALS', + + ' attribute vec3 morphNormal0;', + ' attribute vec3 morphNormal1;', + ' attribute vec3 morphNormal2;', + ' attribute vec3 morphNormal3;', + + ' #else', + + ' attribute vec3 morphTarget4;', + ' attribute vec3 morphTarget5;', + ' attribute vec3 morphTarget6;', + ' attribute vec3 morphTarget7;', + + ' #endif', + + '#endif', + + '#ifdef USE_SKINNING', + + ' attribute vec4 skinIndex;', + ' attribute vec4 skinWeight;', + + '#endif', + + '\n' + + ].filter( filterEmptyLine ).join( '\n' ); + + prefixFragment = [ + + customExtensions, + + generatePrecision( parameters ), + + '#define SHADER_NAME ' + parameters.shaderName, + + customDefines, + + ( parameters.useFog && parameters.fog ) ? '#define USE_FOG' : '', + ( parameters.useFog && parameters.fogExp2 ) ? '#define FOG_EXP2' : '', + + parameters.map ? '#define USE_MAP' : '', + parameters.matcap ? '#define USE_MATCAP' : '', + parameters.envMap ? '#define USE_ENVMAP' : '', + parameters.envMap ? '#define ' + envMapTypeDefine : '', + parameters.envMap ? '#define ' + envMapModeDefine : '', + parameters.envMap ? '#define ' + envMapBlendingDefine : '', + parameters.lightMap ? '#define USE_LIGHTMAP' : '', + parameters.aoMap ? '#define USE_AOMAP' : '', + parameters.emissiveMap ? '#define USE_EMISSIVEMAP' : '', + parameters.bumpMap ? '#define USE_BUMPMAP' : '', + parameters.normalMap ? '#define USE_NORMALMAP' : '', + ( parameters.normalMap && parameters.objectSpaceNormalMap ) ? '#define OBJECTSPACE_NORMALMAP' : '', + ( parameters.normalMap && parameters.tangentSpaceNormalMap ) ? '#define TANGENTSPACE_NORMALMAP' : '', + + parameters.clearcoat ? '#define USE_CLEARCOAT' : '', + parameters.clearcoatMap ? '#define USE_CLEARCOATMAP' : '', + parameters.clearcoatRoughnessMap ? '#define USE_CLEARCOAT_ROUGHNESSMAP' : '', + parameters.clearcoatNormalMap ? '#define USE_CLEARCOAT_NORMALMAP' : '', + + parameters.specularMap ? '#define USE_SPECULARMAP' : '', + parameters.specularIntensityMap ? '#define USE_SPECULARINTENSITYMAP' : '', + parameters.specularColorMap ? '#define USE_SPECULARCOLORMAP' : '', + parameters.roughnessMap ? '#define USE_ROUGHNESSMAP' : '', + parameters.metalnessMap ? '#define USE_METALNESSMAP' : '', + + parameters.alphaMap ? '#define USE_ALPHAMAP' : '', + parameters.alphaTest ? '#define USE_ALPHATEST' : '', + + parameters.sheen ? '#define USE_SHEEN' : '', + parameters.sheenColorMap ? '#define USE_SHEENCOLORMAP' : '', + parameters.sheenRoughnessMap ? '#define USE_SHEENROUGHNESSMAP' : '', + + parameters.transmission ? '#define USE_TRANSMISSION' : '', + parameters.transmissionMap ? '#define USE_TRANSMISSIONMAP' : '', + parameters.thicknessMap ? '#define USE_THICKNESSMAP' : '', + + parameters.vertexTangents ? '#define USE_TANGENT' : '', + parameters.vertexColors || parameters.instancingColor ? '#define USE_COLOR' : '', + parameters.vertexAlphas ? '#define USE_COLOR_ALPHA' : '', + parameters.vertexUvs ? '#define USE_UV' : '', + parameters.uvsVertexOnly ? '#define UVS_VERTEX_ONLY' : '', + + parameters.gradientMap ? '#define USE_GRADIENTMAP' : '', + + parameters.flatShading ? '#define FLAT_SHADED' : '', + + parameters.doubleSided ? '#define DOUBLE_SIDED' : '', + parameters.flipSided ? '#define FLIP_SIDED' : '', + + parameters.shadowMapEnabled ? '#define USE_SHADOWMAP' : '', + parameters.shadowMapEnabled ? '#define ' + shadowMapTypeDefine : '', + + parameters.premultipliedAlpha ? '#define PREMULTIPLIED_ALPHA' : '', + + parameters.physicallyCorrectLights ? '#define PHYSICALLY_CORRECT_LIGHTS' : '', + + parameters.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '', + ( parameters.logarithmicDepthBuffer && parameters.rendererExtensionFragDepth ) ? '#define USE_LOGDEPTHBUF_EXT' : '', + + ( ( parameters.extensionShaderTextureLOD || parameters.envMap ) && parameters.rendererExtensionShaderTextureLod ) ? '#define TEXTURE_LOD_EXT' : '', + + 'uniform mat4 viewMatrix;', + 'uniform vec3 cameraPosition;', + 'uniform bool isOrthographic;', + + ( parameters.toneMapping !== NoToneMapping ) ? '#define TONE_MAPPING' : '', + ( parameters.toneMapping !== NoToneMapping ) ? ShaderChunk[ 'tonemapping_pars_fragment' ] : '', // this code is required here because it is used by the toneMapping() function defined below + ( parameters.toneMapping !== NoToneMapping ) ? getToneMappingFunction( 'toneMapping', parameters.toneMapping ) : '', + + parameters.dithering ? '#define DITHERING' : '', + parameters.format === RGBFormat ? '#define OPAQUE' : '', + + ShaderChunk[ 'encodings_pars_fragment' ], // this code is required here because it is used by the various encoding/decoding function defined below + parameters.map ? getTexelDecodingFunction( 'mapTexelToLinear', parameters.mapEncoding ) : '', + parameters.matcap ? getTexelDecodingFunction( 'matcapTexelToLinear', parameters.matcapEncoding ) : '', + parameters.envMap ? getTexelDecodingFunction( 'envMapTexelToLinear', parameters.envMapEncoding ) : '', + parameters.emissiveMap ? getTexelDecodingFunction( 'emissiveMapTexelToLinear', parameters.emissiveMapEncoding ) : '', + parameters.specularColorMap ? getTexelDecodingFunction( 'specularColorMapTexelToLinear', parameters.specularColorMapEncoding ) : '', + parameters.sheenColorMap ? getTexelDecodingFunction( 'sheenColorMapTexelToLinear', parameters.sheenColorMapEncoding ) : '', + parameters.lightMap ? getTexelDecodingFunction( 'lightMapTexelToLinear', parameters.lightMapEncoding ) : '', + getTexelEncodingFunction( 'linearToOutputTexel', parameters.outputEncoding ), + + parameters.depthPacking ? '#define DEPTH_PACKING ' + parameters.depthPacking : '', + + '\n' + + ].filter( filterEmptyLine ).join( '\n' ); + + } + + vertexShader = resolveIncludes( vertexShader ); + vertexShader = replaceLightNums( vertexShader, parameters ); + vertexShader = replaceClippingPlaneNums( vertexShader, parameters ); + + fragmentShader = resolveIncludes( fragmentShader ); + fragmentShader = replaceLightNums( fragmentShader, parameters ); + fragmentShader = replaceClippingPlaneNums( fragmentShader, parameters ); + + vertexShader = unrollLoops( vertexShader ); + fragmentShader = unrollLoops( fragmentShader ); + + if ( parameters.isWebGL2 && parameters.isRawShaderMaterial !== true ) { + + // GLSL 3.0 conversion for built-in materials and ShaderMaterial + + versionString = '#version 300 es\n'; + + prefixVertex = [ + 'precision mediump sampler2DArray;', + '#define attribute in', + '#define varying out', + '#define texture2D texture' + ].join( '\n' ) + '\n' + prefixVertex; + + prefixFragment = [ + '#define varying in', + ( parameters.glslVersion === GLSL3 ) ? '' : 'layout(location = 0) out highp vec4 pc_fragColor;', + ( parameters.glslVersion === GLSL3 ) ? '' : '#define gl_FragColor pc_fragColor', + '#define gl_FragDepthEXT gl_FragDepth', + '#define texture2D texture', + '#define textureCube texture', + '#define texture2DProj textureProj', + '#define texture2DLodEXT textureLod', + '#define texture2DProjLodEXT textureProjLod', + '#define textureCubeLodEXT textureLod', + '#define texture2DGradEXT textureGrad', + '#define texture2DProjGradEXT textureProjGrad', + '#define textureCubeGradEXT textureGrad' + ].join( '\n' ) + '\n' + prefixFragment; + + } + + const vertexGlsl = versionString + prefixVertex + vertexShader; + const fragmentGlsl = versionString + prefixFragment + fragmentShader; + + // console.log( '*VERTEX*', vertexGlsl ); + // console.log( '*FRAGMENT*', fragmentGlsl ); + + const glVertexShader = WebGLShader( gl, 35633, vertexGlsl ); + const glFragmentShader = WebGLShader( gl, 35632, fragmentGlsl ); + + gl.attachShader( program, glVertexShader ); + gl.attachShader( program, glFragmentShader ); + + // Force a particular attribute to index 0. + + if ( parameters.index0AttributeName !== undefined ) { + + gl.bindAttribLocation( program, 0, parameters.index0AttributeName ); + + } else if ( parameters.morphTargets === true ) { + + // programs with morphTargets displace position out of attribute 0 + gl.bindAttribLocation( program, 0, 'position' ); + + } + + gl.linkProgram( program ); + + // check for link errors + if ( renderer.debug.checkShaderErrors ) { + + const programLog = gl.getProgramInfoLog( program ).trim(); + const vertexLog = gl.getShaderInfoLog( glVertexShader ).trim(); + const fragmentLog = gl.getShaderInfoLog( glFragmentShader ).trim(); + + let runnable = true; + let haveDiagnostics = true; + + if ( gl.getProgramParameter( program, 35714 ) === false ) { + + runnable = false; + + const vertexErrors = getShaderErrors( gl, glVertexShader, 'vertex' ); + const fragmentErrors = getShaderErrors( gl, glFragmentShader, 'fragment' ); + + console.error( + 'THREE.WebGLProgram: Shader Error ' + gl.getError() + ' - ' + + 'VALIDATE_STATUS ' + gl.getProgramParameter( program, 35715 ) + '\n\n' + + 'Program Info Log: ' + programLog + '\n' + + vertexErrors + '\n' + + fragmentErrors + ); + + } else if ( programLog !== '' ) { + + console.warn( 'THREE.WebGLProgram: Program Info Log:', programLog ); + + } else if ( vertexLog === '' || fragmentLog === '' ) { + + haveDiagnostics = false; + + } + + if ( haveDiagnostics ) { + + this.diagnostics = { + + runnable: runnable, + + programLog: programLog, + + vertexShader: { + + log: vertexLog, + prefix: prefixVertex + + }, + + fragmentShader: { + + log: fragmentLog, + prefix: prefixFragment + + } + + }; + + } + + } + + // Clean up + + // Crashes in iOS9 and iOS10. #18402 + // gl.detachShader( program, glVertexShader ); + // gl.detachShader( program, glFragmentShader ); + + gl.deleteShader( glVertexShader ); + gl.deleteShader( glFragmentShader ); + + // set up caching for uniform locations + + let cachedUniforms; + + this.getUniforms = function () { + + if ( cachedUniforms === undefined ) { + + cachedUniforms = new WebGLUniforms( gl, program ); + + } + + return cachedUniforms; + + }; + + // set up caching for attribute locations + + let cachedAttributes; + + this.getAttributes = function () { + + if ( cachedAttributes === undefined ) { + + cachedAttributes = fetchAttributeLocations( gl, program ); + + } + + return cachedAttributes; + + }; + + // free resource + + this.destroy = function () { + + bindingStates.releaseStatesOfProgram( this ); + + gl.deleteProgram( program ); + this.program = undefined; + + }; + + // + + this.name = parameters.shaderName; + this.id = programIdCount ++; + this.cacheKey = cacheKey; + this.usedTimes = 1; + this.program = program; + this.vertexShader = glVertexShader; + this.fragmentShader = glFragmentShader; + + return this; + +} + +let _id = 0; + +class WebGLShaderCache { + + constructor() { + + this.shaderCache = new Map(); + this.materialCache = new Map(); + + } + + update( material ) { + + const vertexShader = material.vertexShader; + const fragmentShader = material.fragmentShader; + + const vertexShaderStage = this._getShaderStage( vertexShader ); + const fragmentShaderStage = this._getShaderStage( fragmentShader ); + + const materialShaders = this._getShaderCacheForMaterial( material ); + + if ( materialShaders.has( vertexShaderStage ) === false ) { + + materialShaders.add( vertexShaderStage ); + vertexShaderStage.usedTimes ++; + + } + + if ( materialShaders.has( fragmentShaderStage ) === false ) { + + materialShaders.add( fragmentShaderStage ); + fragmentShaderStage.usedTimes ++; + + } + + return this; + + } + + remove( material ) { + + const materialShaders = this.materialCache.get( material ); + + for ( const shaderStage of materialShaders ) { + + shaderStage.usedTimes --; + + if ( shaderStage.usedTimes === 0 ) this.shaderCache.delete( shaderStage ); + + } + + this.materialCache.delete( material ); + + return this; + + } + + getVertexShaderID( material ) { + + return this._getShaderStage( material.vertexShader ).id; + + } + + getFragmentShaderID( material ) { + + return this._getShaderStage( material.fragmentShader ).id; + + } + + dispose() { + + this.shaderCache.clear(); + this.materialCache.clear(); + + } + + _getShaderCacheForMaterial( material ) { + + const cache = this.materialCache; + + if ( cache.has( material ) === false ) { + + cache.set( material, new Set() ); + + } + + return cache.get( material ); + + } + + _getShaderStage( code ) { + + const cache = this.shaderCache; + + if ( cache.has( code ) === false ) { + + const stage = new WebGLShaderStage(); + cache.set( code, stage ); + + } + + return cache.get( code ); + + } + +} + +class WebGLShaderStage { + + constructor() { + + this.id = _id ++; + + this.usedTimes = 0; + + } + +} + +function WebGLPrograms( renderer, cubemaps, cubeuvmaps, extensions, capabilities, bindingStates, clipping ) { + + const _programLayers = new Layers(); + const _customShaders = new WebGLShaderCache(); + const programs = []; + + const isWebGL2 = capabilities.isWebGL2; + const logarithmicDepthBuffer = capabilities.logarithmicDepthBuffer; + const floatVertexTextures = capabilities.floatVertexTextures; + const maxVertexUniforms = capabilities.maxVertexUniforms; + const vertexTextures = capabilities.vertexTextures; + let precision = capabilities.precision; + + const shaderIDs = { + MeshDepthMaterial: 'depth', + MeshDistanceMaterial: 'distanceRGBA', + MeshNormalMaterial: 'normal', + MeshBasicMaterial: 'basic', + MeshLambertMaterial: 'lambert', + MeshPhongMaterial: 'phong', + MeshToonMaterial: 'toon', + MeshStandardMaterial: 'physical', + MeshPhysicalMaterial: 'physical', + MeshMatcapMaterial: 'matcap', + LineBasicMaterial: 'basic', + LineDashedMaterial: 'dashed', + PointsMaterial: 'points', + ShadowMaterial: 'shadow', + SpriteMaterial: 'sprite' + }; + + function getMaxBones( object ) { + + const skeleton = object.skeleton; + const bones = skeleton.bones; + + if ( floatVertexTextures ) { + + return 1024; + + } else { + + // default for when object is not specified + // ( for example when prebuilding shader to be used with multiple objects ) + // + // - leave some extra space for other uniforms + // - limit here is ANGLE's 254 max uniform vectors + // (up to 54 should be safe) + + const nVertexUniforms = maxVertexUniforms; + const nVertexMatrices = Math.floor( ( nVertexUniforms - 20 ) / 4 ); + + const maxBones = Math.min( nVertexMatrices, bones.length ); + + if ( maxBones < bones.length ) { + + console.warn( 'THREE.WebGLRenderer: Skeleton has ' + bones.length + ' bones. This GPU supports ' + maxBones + '.' ); + return 0; + + } + + return maxBones; + + } + + } + + function getTextureEncodingFromMap( map ) { + + let encoding; + + if ( map && map.isTexture ) { + + encoding = map.encoding; + + } else if ( map && map.isWebGLRenderTarget ) { + + console.warn( 'THREE.WebGLPrograms.getTextureEncodingFromMap: don\'t use render targets as textures. Use their .texture property instead.' ); + encoding = map.texture.encoding; + + } else { + + encoding = LinearEncoding; + + } + + if ( isWebGL2 && map && map.isTexture && map.format === RGBAFormat && map.type === UnsignedByteType && map.encoding === sRGBEncoding ) { + + encoding = LinearEncoding; // disable inline decode for sRGB textures in WebGL 2 + + } + + return encoding; + + } + + function getParameters( material, lights, shadows, scene, object ) { + + const fog = scene.fog; + const environment = material.isMeshStandardMaterial ? scene.environment : null; + + const envMap = ( material.isMeshStandardMaterial ? cubeuvmaps : cubemaps ).get( material.envMap || environment ); + + const shaderID = shaderIDs[ material.type ]; + + // heuristics to create shader parameters according to lights in the scene + // (not to blow over maxLights budget) + + const maxBones = object.isSkinnedMesh ? getMaxBones( object ) : 0; + + if ( material.precision !== null ) { + + precision = capabilities.getMaxPrecision( material.precision ); + + if ( precision !== material.precision ) { + + console.warn( 'THREE.WebGLProgram.getParameters:', material.precision, 'not supported, using', precision, 'instead.' ); + + } + + } + + let vertexShader, fragmentShader; + let customVertexShaderID, customFragmentShaderID; + + if ( shaderID ) { + + const shader = ShaderLib[ shaderID ]; + + vertexShader = shader.vertexShader; + fragmentShader = shader.fragmentShader; + + } else { + + vertexShader = material.vertexShader; + fragmentShader = material.fragmentShader; + + _customShaders.update( material ); + + customVertexShaderID = _customShaders.getVertexShaderID( material ); + customFragmentShaderID = _customShaders.getFragmentShaderID( material ); + + } + + const currentRenderTarget = renderer.getRenderTarget(); + + const useAlphaTest = material.alphaTest > 0; + const useClearcoat = material.clearcoat > 0; + + const parameters = { + + isWebGL2: isWebGL2, + + shaderID: shaderID, + shaderName: material.type, + + vertexShader: vertexShader, + fragmentShader: fragmentShader, + defines: material.defines, + + customVertexShaderID: customVertexShaderID, + customFragmentShaderID: customFragmentShaderID, + + isRawShaderMaterial: material.isRawShaderMaterial === true, + glslVersion: material.glslVersion, + + precision: precision, + + instancing: object.isInstancedMesh === true, + instancingColor: object.isInstancedMesh === true && object.instanceColor !== null, + + supportsVertexTextures: vertexTextures, + outputEncoding: ( currentRenderTarget !== null ) ? getTextureEncodingFromMap( currentRenderTarget.texture ) : renderer.outputEncoding, + map: !! material.map, + mapEncoding: getTextureEncodingFromMap( material.map ), + matcap: !! material.matcap, + matcapEncoding: getTextureEncodingFromMap( material.matcap ), + envMap: !! envMap, + envMapMode: envMap && envMap.mapping, + envMapEncoding: getTextureEncodingFromMap( envMap ), + envMapCubeUV: ( !! envMap ) && ( ( envMap.mapping === CubeUVReflectionMapping ) || ( envMap.mapping === CubeUVRefractionMapping ) ), + lightMap: !! material.lightMap, + lightMapEncoding: getTextureEncodingFromMap( material.lightMap ), + aoMap: !! material.aoMap, + emissiveMap: !! material.emissiveMap, + emissiveMapEncoding: getTextureEncodingFromMap( material.emissiveMap ), + bumpMap: !! material.bumpMap, + normalMap: !! material.normalMap, + objectSpaceNormalMap: material.normalMapType === ObjectSpaceNormalMap, + tangentSpaceNormalMap: material.normalMapType === TangentSpaceNormalMap, + + clearcoat: useClearcoat, + clearcoatMap: useClearcoat && !! material.clearcoatMap, + clearcoatRoughnessMap: useClearcoat && !! material.clearcoatRoughnessMap, + clearcoatNormalMap: useClearcoat && !! material.clearcoatNormalMap, + + displacementMap: !! material.displacementMap, + roughnessMap: !! material.roughnessMap, + metalnessMap: !! material.metalnessMap, + specularMap: !! material.specularMap, + specularIntensityMap: !! material.specularIntensityMap, + specularColorMap: !! material.specularColorMap, + specularColorMapEncoding: getTextureEncodingFromMap( material.specularColorMap ), + + alphaMap: !! material.alphaMap, + alphaTest: useAlphaTest, + + gradientMap: !! material.gradientMap, + + sheen: material.sheen > 0, + sheenColorMap: !! material.sheenColorMap, + sheenColorMapEncoding: getTextureEncodingFromMap( material.sheenColorMap ), + sheenRoughnessMap: !! material.sheenRoughnessMap, + + transmission: material.transmission > 0, + transmissionMap: !! material.transmissionMap, + thicknessMap: !! material.thicknessMap, + + combine: material.combine, + + vertexTangents: ( !! material.normalMap && !! object.geometry && !! object.geometry.attributes.tangent ), + vertexColors: material.vertexColors, + vertexAlphas: material.vertexColors === true && !! object.geometry && !! object.geometry.attributes.color && object.geometry.attributes.color.itemSize === 4, + vertexUvs: !! material.map || !! material.bumpMap || !! material.normalMap || !! material.specularMap || !! material.alphaMap || !! material.emissiveMap || !! material.roughnessMap || !! material.metalnessMap || !! material.clearcoatMap || !! material.clearcoatRoughnessMap || !! material.clearcoatNormalMap || !! material.displacementMap || !! material.transmissionMap || !! material.thicknessMap || !! material.specularIntensityMap || !! material.specularColorMap || !! material.sheenColorMap || !! material.sheenRoughnessMap, + uvsVertexOnly: ! ( !! material.map || !! material.bumpMap || !! material.normalMap || !! material.specularMap || !! material.alphaMap || !! material.emissiveMap || !! material.roughnessMap || !! material.metalnessMap || !! material.clearcoatNormalMap || material.transmission > 0 || !! material.transmissionMap || !! material.thicknessMap || !! material.specularIntensityMap || !! material.specularColorMap || material.sheen > 0 || !! material.sheenColorMap || !! material.sheenRoughnessMap ) && !! material.displacementMap, + + fog: !! fog, + useFog: material.fog, + fogExp2: ( fog && fog.isFogExp2 ), + + flatShading: !! material.flatShading, + + sizeAttenuation: material.sizeAttenuation, + logarithmicDepthBuffer: logarithmicDepthBuffer, + + skinning: object.isSkinnedMesh === true && maxBones > 0, + maxBones: maxBones, + useVertexTexture: floatVertexTextures, + + morphTargets: !! object.geometry && !! object.geometry.morphAttributes.position, + morphNormals: !! object.geometry && !! object.geometry.morphAttributes.normal, + morphTargetsCount: ( !! object.geometry && !! object.geometry.morphAttributes.position ) ? object.geometry.morphAttributes.position.length : 0, + + numDirLights: lights.directional.length, + numPointLights: lights.point.length, + numSpotLights: lights.spot.length, + numRectAreaLights: lights.rectArea.length, + numHemiLights: lights.hemi.length, + + numDirLightShadows: lights.directionalShadowMap.length, + numPointLightShadows: lights.pointShadowMap.length, + numSpotLightShadows: lights.spotShadowMap.length, + + numClippingPlanes: clipping.numPlanes, + numClipIntersection: clipping.numIntersection, + + format: material.format, + dithering: material.dithering, + + shadowMapEnabled: renderer.shadowMap.enabled && shadows.length > 0, + shadowMapType: renderer.shadowMap.type, + + toneMapping: material.toneMapped ? renderer.toneMapping : NoToneMapping, + physicallyCorrectLights: renderer.physicallyCorrectLights, + + premultipliedAlpha: material.premultipliedAlpha, + + doubleSided: material.side === DoubleSide, + flipSided: material.side === BackSide, + + depthPacking: ( material.depthPacking !== undefined ) ? material.depthPacking : false, + + index0AttributeName: material.index0AttributeName, + + extensionDerivatives: material.extensions && material.extensions.derivatives, + extensionFragDepth: material.extensions && material.extensions.fragDepth, + extensionDrawBuffers: material.extensions && material.extensions.drawBuffers, + extensionShaderTextureLOD: material.extensions && material.extensions.shaderTextureLOD, + + rendererExtensionFragDepth: isWebGL2 || extensions.has( 'EXT_frag_depth' ), + rendererExtensionDrawBuffers: isWebGL2 || extensions.has( 'WEBGL_draw_buffers' ), + rendererExtensionShaderTextureLod: isWebGL2 || extensions.has( 'EXT_shader_texture_lod' ), + + customProgramCacheKey: material.customProgramCacheKey() + + }; + + return parameters; + + } + + function getProgramCacheKey( parameters ) { + + const array = []; + + if ( parameters.shaderID ) { + + array.push( parameters.shaderID ); + + } else { + + array.push( parameters.customVertexShaderID ); + array.push( parameters.customFragmentShaderID ); + + } + + if ( parameters.defines !== undefined ) { + + for ( const name in parameters.defines ) { + + array.push( name ); + array.push( parameters.defines[ name ] ); + + } + + } + + if ( parameters.isRawShaderMaterial === false ) { + + getProgramCacheKeyParameters( array, parameters ); + getProgramCacheKeyBooleans( array, parameters ); + array.push( renderer.outputEncoding ); + + } + + array.push( parameters.customProgramCacheKey ); + + return array.join(); + + } + + function getProgramCacheKeyParameters( array, parameters ) { + + array.push( parameters.precision ); + array.push( parameters.outputEncoding ); + array.push( parameters.mapEncoding ); + array.push( parameters.matcapEncoding ); + array.push( parameters.envMapMode ); + array.push( parameters.envMapEncoding ); + array.push( parameters.lightMapEncoding ); + array.push( parameters.emissiveMapEncoding ); + array.push( parameters.combine ); + array.push( parameters.vertexUvs ); + array.push( parameters.fogExp2 ); + array.push( parameters.sizeAttenuation ); + array.push( parameters.maxBones ); + array.push( parameters.morphTargetsCount ); + array.push( parameters.numDirLights ); + array.push( parameters.numPointLights ); + array.push( parameters.numSpotLights ); + array.push( parameters.numHemiLights ); + array.push( parameters.numRectAreaLights ); + array.push( parameters.numDirLightShadows ); + array.push( parameters.numPointLightShadows ); + array.push( parameters.numSpotLightShadows ); + array.push( parameters.shadowMapType ); + array.push( parameters.toneMapping ); + array.push( parameters.numClippingPlanes ); + array.push( parameters.numClipIntersection ); + array.push( parameters.format ); + array.push( parameters.specularColorMapEncoding ); + array.push( parameters.sheenColorMapEncoding ); + + } + + function getProgramCacheKeyBooleans( array, parameters ) { + + _programLayers.disableAll(); + + if ( parameters.isWebGL2 ) + _programLayers.enable( 0 ); + if ( parameters.supportsVertexTextures ) + _programLayers.enable( 1 ); + if ( parameters.instancing ) + _programLayers.enable( 2 ); + if ( parameters.instancingColor ) + _programLayers.enable( 3 ); + if ( parameters.map ) + _programLayers.enable( 4 ); + if ( parameters.matcap ) + _programLayers.enable( 5 ); + if ( parameters.envMap ) + _programLayers.enable( 6 ); + if ( parameters.envMapCubeUV ) + _programLayers.enable( 7 ); + if ( parameters.lightMap ) + _programLayers.enable( 8 ); + if ( parameters.aoMap ) + _programLayers.enable( 9 ); + if ( parameters.emissiveMap ) + _programLayers.enable( 10 ); + if ( parameters.bumpMap ) + _programLayers.enable( 11 ); + if ( parameters.normalMap ) + _programLayers.enable( 12 ); + if ( parameters.objectSpaceNormalMap ) + _programLayers.enable( 13 ); + if ( parameters.tangentSpaceNormalMap ) + _programLayers.enable( 14 ); + if ( parameters.clearcoat ) + _programLayers.enable( 15 ); + if ( parameters.clearcoatMap ) + _programLayers.enable( 16 ); + if ( parameters.clearcoatRoughnessMap ) + _programLayers.enable( 17 ); + if ( parameters.clearcoatNormalMap ) + _programLayers.enable( 18 ); + if ( parameters.displacementMap ) + _programLayers.enable( 19 ); + if ( parameters.specularMap ) + _programLayers.enable( 20 ); + if ( parameters.roughnessMap ) + _programLayers.enable( 21 ); + if ( parameters.metalnessMap ) + _programLayers.enable( 22 ); + if ( parameters.gradientMap ) + _programLayers.enable( 23 ); + if ( parameters.alphaMap ) + _programLayers.enable( 24 ); + if ( parameters.alphaTest ) + _programLayers.enable( 25 ); + if ( parameters.vertexColors ) + _programLayers.enable( 26 ); + if ( parameters.vertexAlphas ) + _programLayers.enable( 27 ); + if ( parameters.vertexUvs ) + _programLayers.enable( 28 ); + if ( parameters.vertexTangents ) + _programLayers.enable( 29 ); + if ( parameters.uvsVertexOnly ) + _programLayers.enable( 30 ); + if ( parameters.fog ) + _programLayers.enable( 31 ); + + array.push( _programLayers.mask ); + _programLayers.disableAll(); + + if ( parameters.useFog ) + _programLayers.enable( 0 ); + if ( parameters.flatShading ) + _programLayers.enable( 1 ); + if ( parameters.logarithmicDepthBuffer ) + _programLayers.enable( 2 ); + if ( parameters.skinning ) + _programLayers.enable( 3 ); + if ( parameters.useVertexTexture ) + _programLayers.enable( 4 ); + if ( parameters.morphTargets ) + _programLayers.enable( 5 ); + if ( parameters.morphNormals ) + _programLayers.enable( 6 ); + if ( parameters.premultipliedAlpha ) + _programLayers.enable( 7 ); + if ( parameters.shadowMapEnabled ) + _programLayers.enable( 8 ); + if ( parameters.physicallyCorrectLights ) + _programLayers.enable( 9 ); + if ( parameters.doubleSided ) + _programLayers.enable( 10 ); + if ( parameters.flipSided ) + _programLayers.enable( 11 ); + if ( parameters.depthPacking ) + _programLayers.enable( 12 ); + if ( parameters.dithering ) + _programLayers.enable( 13 ); + if ( parameters.specularIntensityMap ) + _programLayers.enable( 14 ); + if ( parameters.specularColorMap ) + _programLayers.enable( 15 ); + if ( parameters.transmission ) + _programLayers.enable( 16 ); + if ( parameters.transmissionMap ) + _programLayers.enable( 17 ); + if ( parameters.thicknessMap ) + _programLayers.enable( 18 ); + if ( parameters.sheen ) + _programLayers.enable( 19 ); + if ( parameters.sheenColorMap ) + _programLayers.enable( 20 ); + if ( parameters.sheenRoughnessMap ) + _programLayers.enable( 21 ); + + array.push( _programLayers.mask ); + + } + + function getUniforms( material ) { + + const shaderID = shaderIDs[ material.type ]; + let uniforms; + + if ( shaderID ) { + + const shader = ShaderLib[ shaderID ]; + uniforms = UniformsUtils.clone( shader.uniforms ); + + } else { + + uniforms = material.uniforms; + + } + + return uniforms; + + } + + function acquireProgram( parameters, cacheKey ) { + + let program; + + // Check if code has been already compiled + for ( let p = 0, pl = programs.length; p < pl; p ++ ) { + + const preexistingProgram = programs[ p ]; + + if ( preexistingProgram.cacheKey === cacheKey ) { + + program = preexistingProgram; + ++ program.usedTimes; + + break; + + } + + } + + if ( program === undefined ) { + + program = new WebGLProgram( renderer, cacheKey, parameters, bindingStates ); + programs.push( program ); + + } + + return program; + + } + + function releaseProgram( program ) { + + if ( -- program.usedTimes === 0 ) { + + // Remove from unordered set + const i = programs.indexOf( program ); + programs[ i ] = programs[ programs.length - 1 ]; + programs.pop(); + + // Free WebGL resources + program.destroy(); + + } + + } + + function releaseShaderCache( material ) { + + _customShaders.remove( material ); + + } + + function dispose() { + + _customShaders.dispose(); + + } + + return { + getParameters: getParameters, + getProgramCacheKey: getProgramCacheKey, + getUniforms: getUniforms, + acquireProgram: acquireProgram, + releaseProgram: releaseProgram, + releaseShaderCache: releaseShaderCache, + // Exposed for resource monitoring & error feedback via renderer.info: + programs: programs, + dispose: dispose + }; + +} + +function WebGLProperties() { + + let properties = new WeakMap(); + + function get( object ) { + + let map = properties.get( object ); + + if ( map === undefined ) { + + map = {}; + properties.set( object, map ); + + } + + return map; + + } + + function remove( object ) { + + properties.delete( object ); + + } + + function update( object, key, value ) { + + properties.get( object )[ key ] = value; + + } + + function dispose() { + + properties = new WeakMap(); + + } + + return { + get: get, + remove: remove, + update: update, + dispose: dispose + }; + +} + +function painterSortStable( a, b ) { + + if ( a.groupOrder !== b.groupOrder ) { + + return a.groupOrder - b.groupOrder; + + } else if ( a.renderOrder !== b.renderOrder ) { + + return a.renderOrder - b.renderOrder; + + } else if ( a.material.id !== b.material.id ) { + + return a.material.id - b.material.id; + + } else if ( a.z !== b.z ) { + + return a.z - b.z; + + } else { + + return a.id - b.id; + + } + +} + +function reversePainterSortStable( a, b ) { + + if ( a.groupOrder !== b.groupOrder ) { + + return a.groupOrder - b.groupOrder; + + } else if ( a.renderOrder !== b.renderOrder ) { + + return a.renderOrder - b.renderOrder; + + } else if ( a.z !== b.z ) { + + return b.z - a.z; + + } else { + + return a.id - b.id; + + } + +} + + +function WebGLRenderList() { + + const renderItems = []; + let renderItemsIndex = 0; + + const opaque = []; + const transmissive = []; + const transparent = []; + + function init() { + + renderItemsIndex = 0; + + opaque.length = 0; + transmissive.length = 0; + transparent.length = 0; + + } + + function getNextRenderItem( object, geometry, material, groupOrder, z, group ) { + + let renderItem = renderItems[ renderItemsIndex ]; + + if ( renderItem === undefined ) { + + renderItem = { + id: object.id, + object: object, + geometry: geometry, + material: material, + groupOrder: groupOrder, + renderOrder: object.renderOrder, + z: z, + group: group + }; + + renderItems[ renderItemsIndex ] = renderItem; + + } else { + + renderItem.id = object.id; + renderItem.object = object; + renderItem.geometry = geometry; + renderItem.material = material; + renderItem.groupOrder = groupOrder; + renderItem.renderOrder = object.renderOrder; + renderItem.z = z; + renderItem.group = group; + + } + + renderItemsIndex ++; + + return renderItem; + + } + + function push( object, geometry, material, groupOrder, z, group ) { + + const renderItem = getNextRenderItem( object, geometry, material, groupOrder, z, group ); + + if ( material.transmission > 0.0 ) { + + transmissive.push( renderItem ); + + } else if ( material.transparent === true ) { + + transparent.push( renderItem ); + + } else { + + opaque.push( renderItem ); + + } + + } + + function unshift( object, geometry, material, groupOrder, z, group ) { + + const renderItem = getNextRenderItem( object, geometry, material, groupOrder, z, group ); + + if ( material.transmission > 0.0 ) { + + transmissive.unshift( renderItem ); + + } else if ( material.transparent === true ) { + + transparent.unshift( renderItem ); + + } else { + + opaque.unshift( renderItem ); + + } + + } + + function sort( customOpaqueSort, customTransparentSort ) { + + if ( opaque.length > 1 ) opaque.sort( customOpaqueSort || painterSortStable ); + if ( transmissive.length > 1 ) transmissive.sort( customTransparentSort || reversePainterSortStable ); + if ( transparent.length > 1 ) transparent.sort( customTransparentSort || reversePainterSortStable ); + + } + + function finish() { + + // Clear references from inactive renderItems in the list + + for ( let i = renderItemsIndex, il = renderItems.length; i < il; i ++ ) { + + const renderItem = renderItems[ i ]; + + if ( renderItem.id === null ) break; + + renderItem.id = null; + renderItem.object = null; + renderItem.geometry = null; + renderItem.material = null; + renderItem.group = null; + + } + + } + + return { + + opaque: opaque, + transmissive: transmissive, + transparent: transparent, + + init: init, + push: push, + unshift: unshift, + finish: finish, + + sort: sort + }; + +} + +function WebGLRenderLists() { + + let lists = new WeakMap(); + + function get( scene, renderCallDepth ) { + + let list; + + if ( lists.has( scene ) === false ) { + + list = new WebGLRenderList(); + lists.set( scene, [ list ] ); + + } else { + + if ( renderCallDepth >= lists.get( scene ).length ) { + + list = new WebGLRenderList(); + lists.get( scene ).push( list ); + + } else { + + list = lists.get( scene )[ renderCallDepth ]; + + } + + } + + return list; + + } + + function dispose() { + + lists = new WeakMap(); + + } + + return { + get: get, + dispose: dispose + }; + +} + +function UniformsCache() { + + const lights = {}; + + return { + + get: function ( light ) { + + if ( lights[ light.id ] !== undefined ) { + + return lights[ light.id ]; + + } + + let uniforms; + + switch ( light.type ) { + + case 'DirectionalLight': + uniforms = { + direction: new Vector3(), + color: new Color() + }; + break; + + case 'SpotLight': + uniforms = { + position: new Vector3(), + direction: new Vector3(), + color: new Color(), + distance: 0, + coneCos: 0, + penumbraCos: 0, + decay: 0 + }; + break; + + case 'PointLight': + uniforms = { + position: new Vector3(), + color: new Color(), + distance: 0, + decay: 0 + }; + break; + + case 'HemisphereLight': + uniforms = { + direction: new Vector3(), + skyColor: new Color(), + groundColor: new Color() + }; + break; + + case 'RectAreaLight': + uniforms = { + color: new Color(), + position: new Vector3(), + halfWidth: new Vector3(), + halfHeight: new Vector3() + }; + break; + + } + + lights[ light.id ] = uniforms; + + return uniforms; + + } + + }; + +} + +function ShadowUniformsCache() { + + const lights = {}; + + return { + + get: function ( light ) { + + if ( lights[ light.id ] !== undefined ) { + + return lights[ light.id ]; + + } + + let uniforms; + + switch ( light.type ) { + + case 'DirectionalLight': + uniforms = { + shadowBias: 0, + shadowNormalBias: 0, + shadowRadius: 1, + shadowMapSize: new Vector2() + }; + break; + + case 'SpotLight': + uniforms = { + shadowBias: 0, + shadowNormalBias: 0, + shadowRadius: 1, + shadowMapSize: new Vector2() + }; + break; + + case 'PointLight': + uniforms = { + shadowBias: 0, + shadowNormalBias: 0, + shadowRadius: 1, + shadowMapSize: new Vector2(), + shadowCameraNear: 1, + shadowCameraFar: 1000 + }; + break; + + // TODO (abelnation): set RectAreaLight shadow uniforms + + } + + lights[ light.id ] = uniforms; + + return uniforms; + + } + + }; + +} + + + +let nextVersion = 0; + +function shadowCastingLightsFirst( lightA, lightB ) { + + return ( lightB.castShadow ? 1 : 0 ) - ( lightA.castShadow ? 1 : 0 ); + +} + +function WebGLLights( extensions, capabilities ) { + + const cache = new UniformsCache(); + + const shadowCache = ShadowUniformsCache(); + + const state = { + + version: 0, + + hash: { + directionalLength: - 1, + pointLength: - 1, + spotLength: - 1, + rectAreaLength: - 1, + hemiLength: - 1, + + numDirectionalShadows: - 1, + numPointShadows: - 1, + numSpotShadows: - 1 + }, + + ambient: [ 0, 0, 0 ], + probe: [], + directional: [], + directionalShadow: [], + directionalShadowMap: [], + directionalShadowMatrix: [], + spot: [], + spotShadow: [], + spotShadowMap: [], + spotShadowMatrix: [], + rectArea: [], + rectAreaLTC1: null, + rectAreaLTC2: null, + point: [], + pointShadow: [], + pointShadowMap: [], + pointShadowMatrix: [], + hemi: [] + + }; + + for ( let i = 0; i < 9; i ++ ) state.probe.push( new Vector3() ); + + const vector3 = new Vector3(); + const matrix4 = new Matrix4(); + const matrix42 = new Matrix4(); + + function setup( lights, physicallyCorrectLights ) { + + let r = 0, g = 0, b = 0; + + for ( let i = 0; i < 9; i ++ ) state.probe[ i ].set( 0, 0, 0 ); + + let directionalLength = 0; + let pointLength = 0; + let spotLength = 0; + let rectAreaLength = 0; + let hemiLength = 0; + + let numDirectionalShadows = 0; + let numPointShadows = 0; + let numSpotShadows = 0; + + lights.sort( shadowCastingLightsFirst ); + + // artist-friendly light intensity scaling factor + const scaleFactor = ( physicallyCorrectLights !== true ) ? Math.PI : 1; + + for ( let i = 0, l = lights.length; i < l; i ++ ) { + + const light = lights[ i ]; + + const color = light.color; + const intensity = light.intensity; + const distance = light.distance; + + const shadowMap = ( light.shadow && light.shadow.map ) ? light.shadow.map.texture : null; + + if ( light.isAmbientLight ) { + + r += color.r * intensity * scaleFactor; + g += color.g * intensity * scaleFactor; + b += color.b * intensity * scaleFactor; + + } else if ( light.isLightProbe ) { + + for ( let j = 0; j < 9; j ++ ) { + + state.probe[ j ].addScaledVector( light.sh.coefficients[ j ], intensity ); + + } + + } else if ( light.isDirectionalLight ) { + + const uniforms = cache.get( light ); + + uniforms.color.copy( light.color ).multiplyScalar( light.intensity * scaleFactor ); + + if ( light.castShadow ) { + + const shadow = light.shadow; + + const shadowUniforms = shadowCache.get( light ); + + shadowUniforms.shadowBias = shadow.bias; + shadowUniforms.shadowNormalBias = shadow.normalBias; + shadowUniforms.shadowRadius = shadow.radius; + shadowUniforms.shadowMapSize = shadow.mapSize; + + state.directionalShadow[ directionalLength ] = shadowUniforms; + state.directionalShadowMap[ directionalLength ] = shadowMap; + state.directionalShadowMatrix[ directionalLength ] = light.shadow.matrix; + + numDirectionalShadows ++; + + } + + state.directional[ directionalLength ] = uniforms; + + directionalLength ++; + + } else if ( light.isSpotLight ) { + + const uniforms = cache.get( light ); + + uniforms.position.setFromMatrixPosition( light.matrixWorld ); + + uniforms.color.copy( color ).multiplyScalar( intensity * scaleFactor ); + uniforms.distance = distance; + + uniforms.coneCos = Math.cos( light.angle ); + uniforms.penumbraCos = Math.cos( light.angle * ( 1 - light.penumbra ) ); + uniforms.decay = light.decay; + + if ( light.castShadow ) { + + const shadow = light.shadow; + + const shadowUniforms = shadowCache.get( light ); + + shadowUniforms.shadowBias = shadow.bias; + shadowUniforms.shadowNormalBias = shadow.normalBias; + shadowUniforms.shadowRadius = shadow.radius; + shadowUniforms.shadowMapSize = shadow.mapSize; + + state.spotShadow[ spotLength ] = shadowUniforms; + state.spotShadowMap[ spotLength ] = shadowMap; + state.spotShadowMatrix[ spotLength ] = light.shadow.matrix; + + numSpotShadows ++; + + } + + state.spot[ spotLength ] = uniforms; + + spotLength ++; + + } else if ( light.isRectAreaLight ) { + + const uniforms = cache.get( light ); + + // (a) intensity is the total visible light emitted + //uniforms.color.copy( color ).multiplyScalar( intensity / ( light.width * light.height * Math.PI ) ); + + // (b) intensity is the brightness of the light + uniforms.color.copy( color ).multiplyScalar( intensity ); + + uniforms.halfWidth.set( light.width * 0.5, 0.0, 0.0 ); + uniforms.halfHeight.set( 0.0, light.height * 0.5, 0.0 ); + + state.rectArea[ rectAreaLength ] = uniforms; + + rectAreaLength ++; + + } else if ( light.isPointLight ) { + + const uniforms = cache.get( light ); + + uniforms.color.copy( light.color ).multiplyScalar( light.intensity * scaleFactor ); + uniforms.distance = light.distance; + uniforms.decay = light.decay; + + if ( light.castShadow ) { + + const shadow = light.shadow; + + const shadowUniforms = shadowCache.get( light ); + + shadowUniforms.shadowBias = shadow.bias; + shadowUniforms.shadowNormalBias = shadow.normalBias; + shadowUniforms.shadowRadius = shadow.radius; + shadowUniforms.shadowMapSize = shadow.mapSize; + shadowUniforms.shadowCameraNear = shadow.camera.near; + shadowUniforms.shadowCameraFar = shadow.camera.far; + + state.pointShadow[ pointLength ] = shadowUniforms; + state.pointShadowMap[ pointLength ] = shadowMap; + state.pointShadowMatrix[ pointLength ] = light.shadow.matrix; + + numPointShadows ++; + + } + + state.point[ pointLength ] = uniforms; + + pointLength ++; + + } else if ( light.isHemisphereLight ) { + + const uniforms = cache.get( light ); + + uniforms.skyColor.copy( light.color ).multiplyScalar( intensity * scaleFactor ); + uniforms.groundColor.copy( light.groundColor ).multiplyScalar( intensity * scaleFactor ); + + state.hemi[ hemiLength ] = uniforms; + + hemiLength ++; + + } + + } + + if ( rectAreaLength > 0 ) { + + if ( capabilities.isWebGL2 ) { + + // WebGL 2 + + state.rectAreaLTC1 = UniformsLib.LTC_FLOAT_1; + state.rectAreaLTC2 = UniformsLib.LTC_FLOAT_2; + + } else { + + // WebGL 1 + + if ( extensions.has( 'OES_texture_float_linear' ) === true ) { + + state.rectAreaLTC1 = UniformsLib.LTC_FLOAT_1; + state.rectAreaLTC2 = UniformsLib.LTC_FLOAT_2; + + } else if ( extensions.has( 'OES_texture_half_float_linear' ) === true ) { + + state.rectAreaLTC1 = UniformsLib.LTC_HALF_1; + state.rectAreaLTC2 = UniformsLib.LTC_HALF_2; + + } else { + + console.error( 'THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.' ); + + } + + } + + } + + state.ambient[ 0 ] = r; + state.ambient[ 1 ] = g; + state.ambient[ 2 ] = b; + + const hash = state.hash; + + if ( hash.directionalLength !== directionalLength || + hash.pointLength !== pointLength || + hash.spotLength !== spotLength || + hash.rectAreaLength !== rectAreaLength || + hash.hemiLength !== hemiLength || + hash.numDirectionalShadows !== numDirectionalShadows || + hash.numPointShadows !== numPointShadows || + hash.numSpotShadows !== numSpotShadows ) { + + state.directional.length = directionalLength; + state.spot.length = spotLength; + state.rectArea.length = rectAreaLength; + state.point.length = pointLength; + state.hemi.length = hemiLength; + + state.directionalShadow.length = numDirectionalShadows; + state.directionalShadowMap.length = numDirectionalShadows; + state.pointShadow.length = numPointShadows; + state.pointShadowMap.length = numPointShadows; + state.spotShadow.length = numSpotShadows; + state.spotShadowMap.length = numSpotShadows; + state.directionalShadowMatrix.length = numDirectionalShadows; + state.pointShadowMatrix.length = numPointShadows; + state.spotShadowMatrix.length = numSpotShadows; + + hash.directionalLength = directionalLength; + hash.pointLength = pointLength; + hash.spotLength = spotLength; + hash.rectAreaLength = rectAreaLength; + hash.hemiLength = hemiLength; + + hash.numDirectionalShadows = numDirectionalShadows; + hash.numPointShadows = numPointShadows; + hash.numSpotShadows = numSpotShadows; + + state.version = nextVersion ++; + + } + + } + + function setupView( lights, camera ) { + + let directionalLength = 0; + let pointLength = 0; + let spotLength = 0; + let rectAreaLength = 0; + let hemiLength = 0; + + const viewMatrix = camera.matrixWorldInverse; + + for ( let i = 0, l = lights.length; i < l; i ++ ) { + + const light = lights[ i ]; + + if ( light.isDirectionalLight ) { + + const uniforms = state.directional[ directionalLength ]; + + uniforms.direction.setFromMatrixPosition( light.matrixWorld ); + vector3.setFromMatrixPosition( light.target.matrixWorld ); + uniforms.direction.sub( vector3 ); + uniforms.direction.transformDirection( viewMatrix ); + + directionalLength ++; + + } else if ( light.isSpotLight ) { + + const uniforms = state.spot[ spotLength ]; + + uniforms.position.setFromMatrixPosition( light.matrixWorld ); + uniforms.position.applyMatrix4( viewMatrix ); + + uniforms.direction.setFromMatrixPosition( light.matrixWorld ); + vector3.setFromMatrixPosition( light.target.matrixWorld ); + uniforms.direction.sub( vector3 ); + uniforms.direction.transformDirection( viewMatrix ); + + spotLength ++; + + } else if ( light.isRectAreaLight ) { + + const uniforms = state.rectArea[ rectAreaLength ]; + + uniforms.position.setFromMatrixPosition( light.matrixWorld ); + uniforms.position.applyMatrix4( viewMatrix ); + + // extract local rotation of light to derive width/height half vectors + matrix42.identity(); + matrix4.copy( light.matrixWorld ); + matrix4.premultiply( viewMatrix ); + matrix42.extractRotation( matrix4 ); + + uniforms.halfWidth.set( light.width * 0.5, 0.0, 0.0 ); + uniforms.halfHeight.set( 0.0, light.height * 0.5, 0.0 ); + + uniforms.halfWidth.applyMatrix4( matrix42 ); + uniforms.halfHeight.applyMatrix4( matrix42 ); + + rectAreaLength ++; + + } else if ( light.isPointLight ) { + + const uniforms = state.point[ pointLength ]; + + uniforms.position.setFromMatrixPosition( light.matrixWorld ); + uniforms.position.applyMatrix4( viewMatrix ); + + pointLength ++; + + } else if ( light.isHemisphereLight ) { + + const uniforms = state.hemi[ hemiLength ]; + + uniforms.direction.setFromMatrixPosition( light.matrixWorld ); + uniforms.direction.transformDirection( viewMatrix ); + uniforms.direction.normalize(); + + hemiLength ++; + + } + + } + + } + + return { + setup: setup, + setupView: setupView, + state: state + }; + +} + +function WebGLRenderState( extensions, capabilities ) { + + const lights = new WebGLLights( extensions, capabilities ); + + const lightsArray = []; + const shadowsArray = []; + + function init() { + + lightsArray.length = 0; + shadowsArray.length = 0; + + } + + function pushLight( light ) { + + lightsArray.push( light ); + + } + + function pushShadow( shadowLight ) { + + shadowsArray.push( shadowLight ); + + } + + function setupLights( physicallyCorrectLights ) { + + lights.setup( lightsArray, physicallyCorrectLights ); + + } + + function setupLightsView( camera ) { + + lights.setupView( lightsArray, camera ); + + } + + const state = { + lightsArray: lightsArray, + shadowsArray: shadowsArray, + + lights: lights + }; + + return { + init: init, + state: state, + setupLights: setupLights, + setupLightsView: setupLightsView, + + pushLight: pushLight, + pushShadow: pushShadow + }; + +} + +function WebGLRenderStates( extensions, capabilities ) { + + let renderStates = new WeakMap(); + + function get( scene, renderCallDepth = 0 ) { + + let renderState; + + if ( renderStates.has( scene ) === false ) { + + renderState = new WebGLRenderState( extensions, capabilities ); + renderStates.set( scene, [ renderState ] ); + + } else { + + if ( renderCallDepth >= renderStates.get( scene ).length ) { + + renderState = new WebGLRenderState( extensions, capabilities ); + renderStates.get( scene ).push( renderState ); + + } else { + + renderState = renderStates.get( scene )[ renderCallDepth ]; + + } + + } + + return renderState; + + } + + function dispose() { + + renderStates = new WeakMap(); + + } + + return { + get: get, + dispose: dispose + }; + +} + +/** + * parameters = { + * + * opacity: , + * + * map: new THREE.Texture( ), + * + * alphaMap: new THREE.Texture( ), + * + * displacementMap: new THREE.Texture( ), + * displacementScale: , + * displacementBias: , + * + * wireframe: , + * wireframeLinewidth: + * } + */ + +class MeshDepthMaterial extends Material { + + constructor( parameters ) { + + super(); + + this.type = 'MeshDepthMaterial'; + + this.depthPacking = BasicDepthPacking; + + this.map = null; + + this.alphaMap = null; + + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + + this.wireframe = false; + this.wireframeLinewidth = 1; + + this.fog = false; + + this.setValues( parameters ); + + } + + copy( source ) { + + super.copy( source ); + + this.depthPacking = source.depthPacking; + + this.map = source.map; + + this.alphaMap = source.alphaMap; + + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + + return this; + + } + +} + +MeshDepthMaterial.prototype.isMeshDepthMaterial = true; + +/** + * parameters = { + * + * referencePosition: , + * nearDistance: , + * farDistance: , + * + * map: new THREE.Texture( ), + * + * alphaMap: new THREE.Texture( ), + * + * displacementMap: new THREE.Texture( ), + * displacementScale: , + * displacementBias: + * + * } + */ + +class MeshDistanceMaterial extends Material { + + constructor( parameters ) { + + super(); + + this.type = 'MeshDistanceMaterial'; + + this.referencePosition = new Vector3(); + this.nearDistance = 1; + this.farDistance = 1000; + + this.map = null; + + this.alphaMap = null; + + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + + this.fog = false; + + this.setValues( parameters ); + + } + + copy( source ) { + + super.copy( source ); + + this.referencePosition.copy( source.referencePosition ); + this.nearDistance = source.nearDistance; + this.farDistance = source.farDistance; + + this.map = source.map; + + this.alphaMap = source.alphaMap; + + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + + return this; + + } + +} + +MeshDistanceMaterial.prototype.isMeshDistanceMaterial = true; + +const vertex = "void main() {\n\tgl_Position = vec4( position, 1.0 );\n}"; + +const fragment = "uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include \nvoid main() {\n\tconst float samples = float( VSM_SAMPLES );\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n\tfor ( float i = 0.0; i < samples; i ++ ) {\n\t\tfloat uvOffset = uvStart + i * uvStride;\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean / samples;\n\tsquared_mean = squared_mean / samples;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"; + +function WebGLShadowMap( _renderer, _objects, _capabilities ) { + + let _frustum = new Frustum(); + + const _shadowMapSize = new Vector2(), + _viewportSize = new Vector2(), + + _viewport = new Vector4(), + + _depthMaterial = new MeshDepthMaterial( { depthPacking: RGBADepthPacking } ), + _distanceMaterial = new MeshDistanceMaterial(), + + _materialCache = {}, + + _maxTextureSize = _capabilities.maxTextureSize; + + const shadowSide = { 0: BackSide, 1: FrontSide, 2: DoubleSide }; + + const shadowMaterialVertical = new ShaderMaterial( { + defines: { + VSM_SAMPLES: 8 + }, + uniforms: { + shadow_pass: { value: null }, + resolution: { value: new Vector2() }, + radius: { value: 4.0 } + }, + + vertexShader: vertex, + fragmentShader: fragment + + } ); + + const shadowMaterialHorizontal = shadowMaterialVertical.clone(); + shadowMaterialHorizontal.defines.HORIZONTAL_PASS = 1; + + const fullScreenTri = new BufferGeometry(); + fullScreenTri.setAttribute( + 'position', + new BufferAttribute( + new Float32Array( [ - 1, - 1, 0.5, 3, - 1, 0.5, - 1, 3, 0.5 ] ), + 3 + ) + ); + + const fullScreenMesh = new Mesh( fullScreenTri, shadowMaterialVertical ); + + const scope = this; + + this.enabled = false; + + this.autoUpdate = true; + this.needsUpdate = false; + + this.type = PCFShadowMap; + + this.render = function ( lights, scene, camera ) { + + if ( scope.enabled === false ) return; + if ( scope.autoUpdate === false && scope.needsUpdate === false ) return; + + if ( lights.length === 0 ) return; + + const currentRenderTarget = _renderer.getRenderTarget(); + const activeCubeFace = _renderer.getActiveCubeFace(); + const activeMipmapLevel = _renderer.getActiveMipmapLevel(); + + const _state = _renderer.state; + + // Set GL state for depth map. + _state.setBlending( NoBlending ); + _state.buffers.color.setClear( 1, 1, 1, 1 ); + _state.buffers.depth.setTest( true ); + _state.setScissorTest( false ); + + // render depth map + + for ( let i = 0, il = lights.length; i < il; i ++ ) { + + const light = lights[ i ]; + const shadow = light.shadow; + + if ( shadow === undefined ) { + + console.warn( 'THREE.WebGLShadowMap:', light, 'has no shadow.' ); + continue; + + } + + if ( shadow.autoUpdate === false && shadow.needsUpdate === false ) continue; + + _shadowMapSize.copy( shadow.mapSize ); + + const shadowFrameExtents = shadow.getFrameExtents(); + + _shadowMapSize.multiply( shadowFrameExtents ); + + _viewportSize.copy( shadow.mapSize ); + + if ( _shadowMapSize.x > _maxTextureSize || _shadowMapSize.y > _maxTextureSize ) { + + if ( _shadowMapSize.x > _maxTextureSize ) { + + _viewportSize.x = Math.floor( _maxTextureSize / shadowFrameExtents.x ); + _shadowMapSize.x = _viewportSize.x * shadowFrameExtents.x; + shadow.mapSize.x = _viewportSize.x; + + } + + if ( _shadowMapSize.y > _maxTextureSize ) { + + _viewportSize.y = Math.floor( _maxTextureSize / shadowFrameExtents.y ); + _shadowMapSize.y = _viewportSize.y * shadowFrameExtents.y; + shadow.mapSize.y = _viewportSize.y; + + } + + } + + if ( shadow.map === null && ! shadow.isPointLightShadow && this.type === VSMShadowMap ) { + + const pars = { minFilter: LinearFilter, magFilter: LinearFilter, format: RGBAFormat }; + + shadow.map = new WebGLRenderTarget( _shadowMapSize.x, _shadowMapSize.y, pars ); + shadow.map.texture.name = light.name + '.shadowMap'; + + shadow.mapPass = new WebGLRenderTarget( _shadowMapSize.x, _shadowMapSize.y, pars ); + + shadow.camera.updateProjectionMatrix(); + + } + + if ( shadow.map === null ) { + + const pars = { minFilter: NearestFilter, magFilter: NearestFilter, format: RGBAFormat }; + + shadow.map = new WebGLRenderTarget( _shadowMapSize.x, _shadowMapSize.y, pars ); + shadow.map.texture.name = light.name + '.shadowMap'; + + shadow.camera.updateProjectionMatrix(); + + } + + _renderer.setRenderTarget( shadow.map ); + _renderer.clear(); + + const viewportCount = shadow.getViewportCount(); + + for ( let vp = 0; vp < viewportCount; vp ++ ) { + + const viewport = shadow.getViewport( vp ); + + _viewport.set( + _viewportSize.x * viewport.x, + _viewportSize.y * viewport.y, + _viewportSize.x * viewport.z, + _viewportSize.y * viewport.w + ); + + _state.viewport( _viewport ); + + shadow.updateMatrices( light, vp ); + + _frustum = shadow.getFrustum(); + + renderObject( scene, camera, shadow.camera, light, this.type ); + + } + + // do blur pass for VSM + + if ( ! shadow.isPointLightShadow && this.type === VSMShadowMap ) { + + VSMPass( shadow, camera ); + + } + + shadow.needsUpdate = false; + + } + + scope.needsUpdate = false; + + _renderer.setRenderTarget( currentRenderTarget, activeCubeFace, activeMipmapLevel ); + + }; + + function VSMPass( shadow, camera ) { + + const geometry = _objects.update( fullScreenMesh ); + + if ( shadowMaterialVertical.defines.VSM_SAMPLES !== shadow.blurSamples ) { + + shadowMaterialVertical.defines.VSM_SAMPLES = shadow.blurSamples; + shadowMaterialHorizontal.defines.VSM_SAMPLES = shadow.blurSamples; + + shadowMaterialVertical.needsUpdate = true; + shadowMaterialHorizontal.needsUpdate = true; + + } + + // vertical pass + + shadowMaterialVertical.uniforms.shadow_pass.value = shadow.map.texture; + shadowMaterialVertical.uniforms.resolution.value = shadow.mapSize; + shadowMaterialVertical.uniforms.radius.value = shadow.radius; + _renderer.setRenderTarget( shadow.mapPass ); + _renderer.clear(); + _renderer.renderBufferDirect( camera, null, geometry, shadowMaterialVertical, fullScreenMesh, null ); + + // horizontal pass + + shadowMaterialHorizontal.uniforms.shadow_pass.value = shadow.mapPass.texture; + shadowMaterialHorizontal.uniforms.resolution.value = shadow.mapSize; + shadowMaterialHorizontal.uniforms.radius.value = shadow.radius; + _renderer.setRenderTarget( shadow.map ); + _renderer.clear(); + _renderer.renderBufferDirect( camera, null, geometry, shadowMaterialHorizontal, fullScreenMesh, null ); + + } + + function getDepthMaterial( object, geometry, material, light, shadowCameraNear, shadowCameraFar, type ) { + + let result = null; + + const customMaterial = ( light.isPointLight === true ) ? object.customDistanceMaterial : object.customDepthMaterial; + + if ( customMaterial !== undefined ) { + + result = customMaterial; + + } else { + + result = ( light.isPointLight === true ) ? _distanceMaterial : _depthMaterial; + + } + + if ( ( _renderer.localClippingEnabled && material.clipShadows === true && material.clippingPlanes.length !== 0 ) || + ( material.displacementMap && material.displacementScale !== 0 ) || + ( material.alphaMap && material.alphaTest > 0 ) ) { + + // in this case we need a unique material instance reflecting the + // appropriate state + + const keyA = result.uuid, keyB = material.uuid; + + let materialsForVariant = _materialCache[ keyA ]; + + if ( materialsForVariant === undefined ) { + + materialsForVariant = {}; + _materialCache[ keyA ] = materialsForVariant; + + } + + let cachedMaterial = materialsForVariant[ keyB ]; + + if ( cachedMaterial === undefined ) { + + cachedMaterial = result.clone(); + materialsForVariant[ keyB ] = cachedMaterial; + + } + + result = cachedMaterial; + + } + + result.visible = material.visible; + result.wireframe = material.wireframe; + + if ( type === VSMShadowMap ) { + + result.side = ( material.shadowSide !== null ) ? material.shadowSide : material.side; + + } else { + + result.side = ( material.shadowSide !== null ) ? material.shadowSide : shadowSide[ material.side ]; + + } + + result.alphaMap = material.alphaMap; + result.alphaTest = material.alphaTest; + + result.clipShadows = material.clipShadows; + result.clippingPlanes = material.clippingPlanes; + result.clipIntersection = material.clipIntersection; + + result.displacementMap = material.displacementMap; + result.displacementScale = material.displacementScale; + result.displacementBias = material.displacementBias; + + result.wireframeLinewidth = material.wireframeLinewidth; + result.linewidth = material.linewidth; + + if ( light.isPointLight === true && result.isMeshDistanceMaterial === true ) { + + result.referencePosition.setFromMatrixPosition( light.matrixWorld ); + result.nearDistance = shadowCameraNear; + result.farDistance = shadowCameraFar; + + } + + return result; + + } + + function renderObject( object, camera, shadowCamera, light, type ) { + + if ( object.visible === false ) return; + + const visible = object.layers.test( camera.layers ); + + if ( visible && ( object.isMesh || object.isLine || object.isPoints ) ) { + + if ( ( object.castShadow || ( object.receiveShadow && type === VSMShadowMap ) ) && ( ! object.frustumCulled || _frustum.intersectsObject( object ) ) ) { + + object.modelViewMatrix.multiplyMatrices( shadowCamera.matrixWorldInverse, object.matrixWorld ); + + const geometry = _objects.update( object ); + const material = object.material; + + if ( Array.isArray( material ) ) { + + const groups = geometry.groups; + + for ( let k = 0, kl = groups.length; k < kl; k ++ ) { + + const group = groups[ k ]; + const groupMaterial = material[ group.materialIndex ]; + + if ( groupMaterial && groupMaterial.visible ) { + + const depthMaterial = getDepthMaterial( object, geometry, groupMaterial, light, shadowCamera.near, shadowCamera.far, type ); + + _renderer.renderBufferDirect( shadowCamera, null, geometry, depthMaterial, object, group ); + + } + + } + + } else if ( material.visible ) { + + const depthMaterial = getDepthMaterial( object, geometry, material, light, shadowCamera.near, shadowCamera.far, type ); + + _renderer.renderBufferDirect( shadowCamera, null, geometry, depthMaterial, object, null ); + + } + + } + + } + + const children = object.children; + + for ( let i = 0, l = children.length; i < l; i ++ ) { + + renderObject( children[ i ], camera, shadowCamera, light, type ); + + } + + } + +} + +function WebGLState( gl, extensions, capabilities ) { + + const isWebGL2 = capabilities.isWebGL2; + + function ColorBuffer() { + + let locked = false; + + const color = new Vector4(); + let currentColorMask = null; + const currentColorClear = new Vector4( 0, 0, 0, 0 ); + + return { + + setMask: function ( colorMask ) { + + if ( currentColorMask !== colorMask && ! locked ) { + + gl.colorMask( colorMask, colorMask, colorMask, colorMask ); + currentColorMask = colorMask; + + } + + }, + + setLocked: function ( lock ) { + + locked = lock; + + }, + + setClear: function ( r, g, b, a, premultipliedAlpha ) { + + if ( premultipliedAlpha === true ) { + + r *= a; g *= a; b *= a; + + } + + color.set( r, g, b, a ); + + if ( currentColorClear.equals( color ) === false ) { + + gl.clearColor( r, g, b, a ); + currentColorClear.copy( color ); + + } + + }, + + reset: function () { + + locked = false; + + currentColorMask = null; + currentColorClear.set( - 1, 0, 0, 0 ); // set to invalid state + + } + + }; + + } + + function DepthBuffer() { + + let locked = false; + + let currentDepthMask = null; + let currentDepthFunc = null; + let currentDepthClear = null; + + return { + + setTest: function ( depthTest ) { + + if ( depthTest ) { + + enable( 2929 ); + + } else { + + disable( 2929 ); + + } + + }, + + setMask: function ( depthMask ) { + + if ( currentDepthMask !== depthMask && ! locked ) { + + gl.depthMask( depthMask ); + currentDepthMask = depthMask; + + } + + }, + + setFunc: function ( depthFunc ) { + + if ( currentDepthFunc !== depthFunc ) { + + if ( depthFunc ) { + + switch ( depthFunc ) { + + case NeverDepth: + + gl.depthFunc( 512 ); + break; + + case AlwaysDepth: + + gl.depthFunc( 519 ); + break; + + case LessDepth: + + gl.depthFunc( 513 ); + break; + + case LessEqualDepth: + + gl.depthFunc( 515 ); + break; + + case EqualDepth: + + gl.depthFunc( 514 ); + break; + + case GreaterEqualDepth: + + gl.depthFunc( 518 ); + break; + + case GreaterDepth: + + gl.depthFunc( 516 ); + break; + + case NotEqualDepth: + + gl.depthFunc( 517 ); + break; + + default: + + gl.depthFunc( 515 ); + + } + + } else { + + gl.depthFunc( 515 ); + + } + + currentDepthFunc = depthFunc; + + } + + }, + + setLocked: function ( lock ) { + + locked = lock; + + }, + + setClear: function ( depth ) { + + if ( currentDepthClear !== depth ) { + + gl.clearDepth( depth ); + currentDepthClear = depth; + + } + + }, + + reset: function () { + + locked = false; + + currentDepthMask = null; + currentDepthFunc = null; + currentDepthClear = null; + + } + + }; + + } + + function StencilBuffer() { + + let locked = false; + + let currentStencilMask = null; + let currentStencilFunc = null; + let currentStencilRef = null; + let currentStencilFuncMask = null; + let currentStencilFail = null; + let currentStencilZFail = null; + let currentStencilZPass = null; + let currentStencilClear = null; + + return { + + setTest: function ( stencilTest ) { + + if ( ! locked ) { + + if ( stencilTest ) { + + enable( 2960 ); + + } else { + + disable( 2960 ); + + } + + } + + }, + + setMask: function ( stencilMask ) { + + if ( currentStencilMask !== stencilMask && ! locked ) { + + gl.stencilMask( stencilMask ); + currentStencilMask = stencilMask; + + } + + }, + + setFunc: function ( stencilFunc, stencilRef, stencilMask ) { + + if ( currentStencilFunc !== stencilFunc || + currentStencilRef !== stencilRef || + currentStencilFuncMask !== stencilMask ) { + + gl.stencilFunc( stencilFunc, stencilRef, stencilMask ); + + currentStencilFunc = stencilFunc; + currentStencilRef = stencilRef; + currentStencilFuncMask = stencilMask; + + } + + }, + + setOp: function ( stencilFail, stencilZFail, stencilZPass ) { + + if ( currentStencilFail !== stencilFail || + currentStencilZFail !== stencilZFail || + currentStencilZPass !== stencilZPass ) { + + gl.stencilOp( stencilFail, stencilZFail, stencilZPass ); + + currentStencilFail = stencilFail; + currentStencilZFail = stencilZFail; + currentStencilZPass = stencilZPass; + + } + + }, + + setLocked: function ( lock ) { + + locked = lock; + + }, + + setClear: function ( stencil ) { + + if ( currentStencilClear !== stencil ) { + + gl.clearStencil( stencil ); + currentStencilClear = stencil; + + } + + }, + + reset: function () { + + locked = false; + + currentStencilMask = null; + currentStencilFunc = null; + currentStencilRef = null; + currentStencilFuncMask = null; + currentStencilFail = null; + currentStencilZFail = null; + currentStencilZPass = null; + currentStencilClear = null; + + } + + }; + + } + + // + + const colorBuffer = new ColorBuffer(); + const depthBuffer = new DepthBuffer(); + const stencilBuffer = new StencilBuffer(); + + let enabledCapabilities = {}; + + let currentBoundFramebuffers = {}; + + let currentProgram = null; + + let currentBlendingEnabled = false; + let currentBlending = null; + let currentBlendEquation = null; + let currentBlendSrc = null; + let currentBlendDst = null; + let currentBlendEquationAlpha = null; + let currentBlendSrcAlpha = null; + let currentBlendDstAlpha = null; + let currentPremultipledAlpha = false; + + let currentFlipSided = null; + let currentCullFace = null; + + let currentLineWidth = null; + + let currentPolygonOffsetFactor = null; + let currentPolygonOffsetUnits = null; + + const maxTextures = gl.getParameter( 35661 ); + + let lineWidthAvailable = false; + let version = 0; + const glVersion = gl.getParameter( 7938 ); + + if ( glVersion.indexOf( 'WebGL' ) !== - 1 ) { + + version = parseFloat( /^WebGL (\d)/.exec( glVersion )[ 1 ] ); + lineWidthAvailable = ( version >= 1.0 ); + + } else if ( glVersion.indexOf( 'OpenGL ES' ) !== - 1 ) { + + version = parseFloat( /^OpenGL ES (\d)/.exec( glVersion )[ 1 ] ); + lineWidthAvailable = ( version >= 2.0 ); + + } + + let currentTextureSlot = null; + let currentBoundTextures = {}; + + const scissorParam = gl.getParameter( 3088 ); + const viewportParam = gl.getParameter( 2978 ); + + const currentScissor = new Vector4().fromArray( scissorParam ); + const currentViewport = new Vector4().fromArray( viewportParam ); + + function createTexture( type, target, count ) { + + const data = new Uint8Array( 4 ); // 4 is required to match default unpack alignment of 4. + const texture = gl.createTexture(); + + gl.bindTexture( type, texture ); + gl.texParameteri( type, 10241, 9728 ); + gl.texParameteri( type, 10240, 9728 ); + + for ( let i = 0; i < count; i ++ ) { + + gl.texImage2D( target + i, 0, 6408, 1, 1, 0, 6408, 5121, data ); + + } + + return texture; + + } + + const emptyTextures = {}; + emptyTextures[ 3553 ] = createTexture( 3553, 3553, 1 ); + emptyTextures[ 34067 ] = createTexture( 34067, 34069, 6 ); + + // init + + colorBuffer.setClear( 0, 0, 0, 1 ); + depthBuffer.setClear( 1 ); + stencilBuffer.setClear( 0 ); + + enable( 2929 ); + depthBuffer.setFunc( LessEqualDepth ); + + setFlipSided( false ); + setCullFace( CullFaceBack ); + enable( 2884 ); + + setBlending( NoBlending ); + + // + + function enable( id ) { + + if ( enabledCapabilities[ id ] !== true ) { + + gl.enable( id ); + enabledCapabilities[ id ] = true; + + } + + } + + function disable( id ) { + + if ( enabledCapabilities[ id ] !== false ) { + + gl.disable( id ); + enabledCapabilities[ id ] = false; + + } + + } + + function bindFramebuffer( target, framebuffer ) { + + if ( currentBoundFramebuffers[ target ] !== framebuffer ) { + + gl.bindFramebuffer( target, framebuffer ); + + currentBoundFramebuffers[ target ] = framebuffer; + + if ( isWebGL2 ) { + + // 36009 is equivalent to 36160 + + if ( target === 36009 ) { + + currentBoundFramebuffers[ 36160 ] = framebuffer; + + } + + if ( target === 36160 ) { + + currentBoundFramebuffers[ 36009 ] = framebuffer; + + } + + } + + return true; + + } + + return false; + + } + + function useProgram( program ) { + + if ( currentProgram !== program ) { + + gl.useProgram( program ); + + currentProgram = program; + + return true; + + } + + return false; + + } + + const equationToGL = { + [ AddEquation ]: 32774, + [ SubtractEquation ]: 32778, + [ ReverseSubtractEquation ]: 32779 + }; + + if ( isWebGL2 ) { + + equationToGL[ MinEquation ] = 32775; + equationToGL[ MaxEquation ] = 32776; + + } else { + + const extension = extensions.get( 'EXT_blend_minmax' ); + + if ( extension !== null ) { + + equationToGL[ MinEquation ] = extension.MIN_EXT; + equationToGL[ MaxEquation ] = extension.MAX_EXT; + + } + + } + + const factorToGL = { + [ ZeroFactor ]: 0, + [ OneFactor ]: 1, + [ SrcColorFactor ]: 768, + [ SrcAlphaFactor ]: 770, + [ SrcAlphaSaturateFactor ]: 776, + [ DstColorFactor ]: 774, + [ DstAlphaFactor ]: 772, + [ OneMinusSrcColorFactor ]: 769, + [ OneMinusSrcAlphaFactor ]: 771, + [ OneMinusDstColorFactor ]: 775, + [ OneMinusDstAlphaFactor ]: 773 + }; + + function setBlending( blending, blendEquation, blendSrc, blendDst, blendEquationAlpha, blendSrcAlpha, blendDstAlpha, premultipliedAlpha ) { + + if ( blending === NoBlending ) { + + if ( currentBlendingEnabled === true ) { + + disable( 3042 ); + currentBlendingEnabled = false; + + } + + return; + + } + + if ( currentBlendingEnabled === false ) { + + enable( 3042 ); + currentBlendingEnabled = true; + + } + + if ( blending !== CustomBlending ) { + + if ( blending !== currentBlending || premultipliedAlpha !== currentPremultipledAlpha ) { + + if ( currentBlendEquation !== AddEquation || currentBlendEquationAlpha !== AddEquation ) { + + gl.blendEquation( 32774 ); + + currentBlendEquation = AddEquation; + currentBlendEquationAlpha = AddEquation; + + } + + if ( premultipliedAlpha ) { + + switch ( blending ) { + + case NormalBlending: + gl.blendFuncSeparate( 1, 771, 1, 771 ); + break; + + case AdditiveBlending: + gl.blendFunc( 1, 1 ); + break; + + case SubtractiveBlending: + gl.blendFuncSeparate( 0, 0, 769, 771 ); + break; + + case MultiplyBlending: + gl.blendFuncSeparate( 0, 768, 0, 770 ); + break; + + default: + console.error( 'THREE.WebGLState: Invalid blending: ', blending ); + break; + + } + + } else { + + switch ( blending ) { + + case NormalBlending: + gl.blendFuncSeparate( 770, 771, 1, 771 ); + break; + + case AdditiveBlending: + gl.blendFunc( 770, 1 ); + break; + + case SubtractiveBlending: + gl.blendFunc( 0, 769 ); + break; + + case MultiplyBlending: + gl.blendFunc( 0, 768 ); + break; + + default: + console.error( 'THREE.WebGLState: Invalid blending: ', blending ); + break; + + } + + } + + currentBlendSrc = null; + currentBlendDst = null; + currentBlendSrcAlpha = null; + currentBlendDstAlpha = null; + + currentBlending = blending; + currentPremultipledAlpha = premultipliedAlpha; + + } + + return; + + } + + // custom blending + + blendEquationAlpha = blendEquationAlpha || blendEquation; + blendSrcAlpha = blendSrcAlpha || blendSrc; + blendDstAlpha = blendDstAlpha || blendDst; + + if ( blendEquation !== currentBlendEquation || blendEquationAlpha !== currentBlendEquationAlpha ) { + + gl.blendEquationSeparate( equationToGL[ blendEquation ], equationToGL[ blendEquationAlpha ] ); + + currentBlendEquation = blendEquation; + currentBlendEquationAlpha = blendEquationAlpha; + + } + + if ( blendSrc !== currentBlendSrc || blendDst !== currentBlendDst || blendSrcAlpha !== currentBlendSrcAlpha || blendDstAlpha !== currentBlendDstAlpha ) { + + gl.blendFuncSeparate( factorToGL[ blendSrc ], factorToGL[ blendDst ], factorToGL[ blendSrcAlpha ], factorToGL[ blendDstAlpha ] ); + + currentBlendSrc = blendSrc; + currentBlendDst = blendDst; + currentBlendSrcAlpha = blendSrcAlpha; + currentBlendDstAlpha = blendDstAlpha; + + } + + currentBlending = blending; + currentPremultipledAlpha = null; + + } + + function setMaterial( material, frontFaceCW ) { + + material.side === DoubleSide + ? disable( 2884 ) + : enable( 2884 ); + + let flipSided = ( material.side === BackSide ); + if ( frontFaceCW ) flipSided = ! flipSided; + + setFlipSided( flipSided ); + + ( material.blending === NormalBlending && material.transparent === false ) + ? setBlending( NoBlending ) + : setBlending( material.blending, material.blendEquation, material.blendSrc, material.blendDst, material.blendEquationAlpha, material.blendSrcAlpha, material.blendDstAlpha, material.premultipliedAlpha ); + + depthBuffer.setFunc( material.depthFunc ); + depthBuffer.setTest( material.depthTest ); + depthBuffer.setMask( material.depthWrite ); + colorBuffer.setMask( material.colorWrite ); + + const stencilWrite = material.stencilWrite; + stencilBuffer.setTest( stencilWrite ); + if ( stencilWrite ) { + + stencilBuffer.setMask( material.stencilWriteMask ); + stencilBuffer.setFunc( material.stencilFunc, material.stencilRef, material.stencilFuncMask ); + stencilBuffer.setOp( material.stencilFail, material.stencilZFail, material.stencilZPass ); + + } + + setPolygonOffset( material.polygonOffset, material.polygonOffsetFactor, material.polygonOffsetUnits ); + + material.alphaToCoverage === true + ? enable( 32926 ) + : disable( 32926 ); + + } + + // + + function setFlipSided( flipSided ) { + + if ( currentFlipSided !== flipSided ) { + + if ( flipSided ) { + + gl.frontFace( 2304 ); + + } else { + + gl.frontFace( 2305 ); + + } + + currentFlipSided = flipSided; + + } + + } + + function setCullFace( cullFace ) { + + if ( cullFace !== CullFaceNone ) { + + enable( 2884 ); + + if ( cullFace !== currentCullFace ) { + + if ( cullFace === CullFaceBack ) { + + gl.cullFace( 1029 ); + + } else if ( cullFace === CullFaceFront ) { + + gl.cullFace( 1028 ); + + } else { + + gl.cullFace( 1032 ); + + } + + } + + } else { + + disable( 2884 ); + + } + + currentCullFace = cullFace; + + } + + function setLineWidth( width ) { + + if ( width !== currentLineWidth ) { + + if ( lineWidthAvailable ) gl.lineWidth( width ); + + currentLineWidth = width; + + } + + } + + function setPolygonOffset( polygonOffset, factor, units ) { + + if ( polygonOffset ) { + + enable( 32823 ); + + if ( currentPolygonOffsetFactor !== factor || currentPolygonOffsetUnits !== units ) { + + gl.polygonOffset( factor, units ); + + currentPolygonOffsetFactor = factor; + currentPolygonOffsetUnits = units; + + } + + } else { + + disable( 32823 ); + + } + + } + + function setScissorTest( scissorTest ) { + + if ( scissorTest ) { + + enable( 3089 ); + + } else { + + disable( 3089 ); + + } + + } + + // texture + + function activeTexture( webglSlot ) { + + if ( webglSlot === undefined ) webglSlot = 33984 + maxTextures - 1; + + if ( currentTextureSlot !== webglSlot ) { + + gl.activeTexture( webglSlot ); + currentTextureSlot = webglSlot; + + } + + } + + function bindTexture( webglType, webglTexture ) { + + if ( currentTextureSlot === null ) { + + activeTexture(); + + } + + let boundTexture = currentBoundTextures[ currentTextureSlot ]; + + if ( boundTexture === undefined ) { + + boundTexture = { type: undefined, texture: undefined }; + currentBoundTextures[ currentTextureSlot ] = boundTexture; + + } + + if ( boundTexture.type !== webglType || boundTexture.texture !== webglTexture ) { + + gl.bindTexture( webglType, webglTexture || emptyTextures[ webglType ] ); + + boundTexture.type = webglType; + boundTexture.texture = webglTexture; + + } + + } + + function unbindTexture() { + + const boundTexture = currentBoundTextures[ currentTextureSlot ]; + + if ( boundTexture !== undefined && boundTexture.type !== undefined ) { + + gl.bindTexture( boundTexture.type, null ); + + boundTexture.type = undefined; + boundTexture.texture = undefined; + + } + + } + + function compressedTexImage2D() { + + try { + + gl.compressedTexImage2D.apply( gl, arguments ); + + } catch ( error ) { + + console.error( 'THREE.WebGLState:', error ); + + } + + } + + function texSubImage2D() { + + try { + + gl.texSubImage2D.apply( gl, arguments ); + + } catch ( error ) { + + console.error( 'THREE.WebGLState:', error ); + + } + + } + + function texSubImage3D() { + + try { + + gl.texSubImage3D.apply( gl, arguments ); + + } catch ( error ) { + + console.error( 'THREE.WebGLState:', error ); + + } + + } + + function compressedTexSubImage2D() { + + try { + + gl.compressedTexSubImage2D.apply( gl, arguments ); + + } catch ( error ) { + + console.error( 'THREE.WebGLState:', error ); + + } + + } + + function texStorage2D() { + + try { + + gl.texStorage2D.apply( gl, arguments ); + + } catch ( error ) { + + console.error( 'THREE.WebGLState:', error ); + + } + + } + + function texStorage3D() { + + try { + + gl.texStorage3D.apply( gl, arguments ); + + } catch ( error ) { + + console.error( 'THREE.WebGLState:', error ); + + } + + } + + function texImage2D() { + + try { + + gl.texImage2D.apply( gl, arguments ); + + } catch ( error ) { + + console.error( 'THREE.WebGLState:', error ); + + } + + } + + function texImage3D() { + + try { + + gl.texImage3D.apply( gl, arguments ); + + } catch ( error ) { + + console.error( 'THREE.WebGLState:', error ); + + } + + } + + // + + function scissor( scissor ) { + + if ( currentScissor.equals( scissor ) === false ) { + + gl.scissor( scissor.x, scissor.y, scissor.z, scissor.w ); + currentScissor.copy( scissor ); + + } + + } + + function viewport( viewport ) { + + if ( currentViewport.equals( viewport ) === false ) { + + gl.viewport( viewport.x, viewport.y, viewport.z, viewport.w ); + currentViewport.copy( viewport ); + + } + + } + + // + + function reset() { + + // reset state + + gl.disable( 3042 ); + gl.disable( 2884 ); + gl.disable( 2929 ); + gl.disable( 32823 ); + gl.disable( 3089 ); + gl.disable( 2960 ); + gl.disable( 32926 ); + + gl.blendEquation( 32774 ); + gl.blendFunc( 1, 0 ); + gl.blendFuncSeparate( 1, 0, 1, 0 ); + + gl.colorMask( true, true, true, true ); + gl.clearColor( 0, 0, 0, 0 ); + + gl.depthMask( true ); + gl.depthFunc( 513 ); + gl.clearDepth( 1 ); + + gl.stencilMask( 0xffffffff ); + gl.stencilFunc( 519, 0, 0xffffffff ); + gl.stencilOp( 7680, 7680, 7680 ); + gl.clearStencil( 0 ); + + gl.cullFace( 1029 ); + gl.frontFace( 2305 ); + + gl.polygonOffset( 0, 0 ); + + gl.activeTexture( 33984 ); + + gl.bindFramebuffer( 36160, null ); + + if ( isWebGL2 === true ) { + + gl.bindFramebuffer( 36009, null ); + gl.bindFramebuffer( 36008, null ); + + } + + gl.useProgram( null ); + + gl.lineWidth( 1 ); + + gl.scissor( 0, 0, gl.canvas.width, gl.canvas.height ); + gl.viewport( 0, 0, gl.canvas.width, gl.canvas.height ); + + // reset internals + + enabledCapabilities = {}; + + currentTextureSlot = null; + currentBoundTextures = {}; + + currentBoundFramebuffers = {}; + + currentProgram = null; + + currentBlendingEnabled = false; + currentBlending = null; + currentBlendEquation = null; + currentBlendSrc = null; + currentBlendDst = null; + currentBlendEquationAlpha = null; + currentBlendSrcAlpha = null; + currentBlendDstAlpha = null; + currentPremultipledAlpha = false; + + currentFlipSided = null; + currentCullFace = null; + + currentLineWidth = null; + + currentPolygonOffsetFactor = null; + currentPolygonOffsetUnits = null; + + currentScissor.set( 0, 0, gl.canvas.width, gl.canvas.height ); + currentViewport.set( 0, 0, gl.canvas.width, gl.canvas.height ); + + colorBuffer.reset(); + depthBuffer.reset(); + stencilBuffer.reset(); + + } + + return { + + buffers: { + color: colorBuffer, + depth: depthBuffer, + stencil: stencilBuffer + }, + + enable: enable, + disable: disable, + + bindFramebuffer: bindFramebuffer, + + useProgram: useProgram, + + setBlending: setBlending, + setMaterial: setMaterial, + + setFlipSided: setFlipSided, + setCullFace: setCullFace, + + setLineWidth: setLineWidth, + setPolygonOffset: setPolygonOffset, + + setScissorTest: setScissorTest, + + activeTexture: activeTexture, + bindTexture: bindTexture, + unbindTexture: unbindTexture, + compressedTexImage2D: compressedTexImage2D, + texImage2D: texImage2D, + texImage3D: texImage3D, + + texStorage2D: texStorage2D, + texStorage3D: texStorage3D, + texSubImage2D: texSubImage2D, + texSubImage3D: texSubImage3D, + compressedTexSubImage2D: compressedTexSubImage2D, + + scissor: scissor, + viewport: viewport, + + reset: reset + + }; + +} + +function WebGLTextures( _gl, extensions, state, properties, capabilities, utils, info ) { + + const isWebGL2 = capabilities.isWebGL2; + const maxTextures = capabilities.maxTextures; + const maxCubemapSize = capabilities.maxCubemapSize; + const maxTextureSize = capabilities.maxTextureSize; + const maxSamples = capabilities.maxSamples; + const hasMultisampledRenderToTexture = extensions.has( 'WEBGL_multisampled_render_to_texture' ); + const MultisampledRenderToTextureExtension = hasMultisampledRenderToTexture ? extensions.get( 'WEBGL_multisampled_render_to_texture' ) : undefined; + + const _videoTextures = new WeakMap(); + let _canvas; + + // cordova iOS (as of 5.0) still uses UIWebView, which provides OffscreenCanvas, + // also OffscreenCanvas.getContext("webgl"), but not OffscreenCanvas.getContext("2d")! + // Some implementations may only implement OffscreenCanvas partially (e.g. lacking 2d). + + let useOffscreenCanvas = false; + + try { + + useOffscreenCanvas = typeof OffscreenCanvas !== 'undefined' + && ( new OffscreenCanvas( 1, 1 ).getContext( '2d' ) ) !== null; + + } catch ( err ) { + + // Ignore any errors + + } + + function createCanvas( width, height ) { + + // Use OffscreenCanvas when available. Specially needed in web workers + + return useOffscreenCanvas ? + new OffscreenCanvas( width, height ) : createElementNS( 'canvas' ); + + } + + function resizeImage( image, needsPowerOfTwo, needsNewCanvas, maxSize ) { + + let scale = 1; + + // handle case if texture exceeds max size + + if ( image.width > maxSize || image.height > maxSize ) { + + scale = maxSize / Math.max( image.width, image.height ); + + } + + // only perform resize if necessary + + if ( scale < 1 || needsPowerOfTwo === true ) { + + // only perform resize for certain image types + + if ( ( typeof HTMLImageElement !== 'undefined' && image instanceof HTMLImageElement ) || + ( typeof HTMLCanvasElement !== 'undefined' && image instanceof HTMLCanvasElement ) || + ( typeof ImageBitmap !== 'undefined' && image instanceof ImageBitmap ) ) { + + const floor = needsPowerOfTwo ? floorPowerOfTwo : Math.floor; + + const width = floor( scale * image.width ); + const height = floor( scale * image.height ); + + if ( _canvas === undefined ) _canvas = createCanvas( width, height ); + + // cube textures can't reuse the same canvas + + const canvas = needsNewCanvas ? createCanvas( width, height ) : _canvas; + + canvas.width = width; + canvas.height = height; + + const context = canvas.getContext( '2d' ); + context.drawImage( image, 0, 0, width, height ); + + console.warn( 'THREE.WebGLRenderer: Texture has been resized from (' + image.width + 'x' + image.height + ') to (' + width + 'x' + height + ').' ); + + return canvas; + + } else { + + if ( 'data' in image ) { + + console.warn( 'THREE.WebGLRenderer: Image in DataTexture is too big (' + image.width + 'x' + image.height + ').' ); + + } + + return image; + + } + + } + + return image; + + } + + function isPowerOfTwo$1( image ) { + + return isPowerOfTwo( image.width ) && isPowerOfTwo( image.height ); + + } + + function textureNeedsPowerOfTwo( texture ) { + + if ( isWebGL2 ) return false; + + return ( texture.wrapS !== ClampToEdgeWrapping || texture.wrapT !== ClampToEdgeWrapping ) || + ( texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter ); + + } + + function textureNeedsGenerateMipmaps( texture, supportsMips ) { + + return texture.generateMipmaps && supportsMips && + texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter; + + } + + function generateMipmap( target ) { + + _gl.generateMipmap( target ); + + } + + function getInternalFormat( internalFormatName, glFormat, glType, encoding ) { + + if ( isWebGL2 === false ) return glFormat; + + if ( internalFormatName !== null ) { + + if ( _gl[ internalFormatName ] !== undefined ) return _gl[ internalFormatName ]; + + console.warn( 'THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format \'' + internalFormatName + '\'' ); + + } + + let internalFormat = glFormat; + + if ( glFormat === 6403 ) { + + if ( glType === 5126 ) internalFormat = 33326; + if ( glType === 5131 ) internalFormat = 33325; + if ( glType === 5121 ) internalFormat = 33321; + + } + + if ( glFormat === 6407 ) { + + if ( glType === 5126 ) internalFormat = 34837; + if ( glType === 5131 ) internalFormat = 34843; + if ( glType === 5121 ) internalFormat = 32849; + + } + + if ( glFormat === 6408 ) { + + if ( glType === 5126 ) internalFormat = 34836; + if ( glType === 5131 ) internalFormat = 34842; + if ( glType === 5121 ) internalFormat = ( encoding === sRGBEncoding ) ? 35907 : 32856; + + } + + if ( internalFormat === 33325 || internalFormat === 33326 || + internalFormat === 34842 || internalFormat === 34836 ) { + + extensions.get( 'EXT_color_buffer_float' ); + + } + + return internalFormat; + + } + + function getMipLevels( texture, image, supportsMips ) { + + if ( textureNeedsGenerateMipmaps( texture, supportsMips ) === true || ( texture.isFramebufferTexture && texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter ) ) { + + return Math.log2( Math.max( image.width, image.height ) ) + 1; + + } else if ( texture.mipmaps !== undefined && texture.mipmaps.length > 0 ) { + + // user-defined mipmaps + + return texture.mipmaps.length; + + } else if ( texture.isCompressedTexture && Array.isArray( texture.image ) ) { + + return image.mipmaps.length; + + } else { + + // texture without mipmaps (only base level) + + return 1; + + } + + } + + // Fallback filters for non-power-of-2 textures + + function filterFallback( f ) { + + if ( f === NearestFilter || f === NearestMipmapNearestFilter || f === NearestMipmapLinearFilter ) { + + return 9728; + + } + + return 9729; + + } + + // + + function onTextureDispose( event ) { + + const texture = event.target; + + texture.removeEventListener( 'dispose', onTextureDispose ); + + deallocateTexture( texture ); + + if ( texture.isVideoTexture ) { + + _videoTextures.delete( texture ); + + } + + info.memory.textures --; + + } + + function onRenderTargetDispose( event ) { + + const renderTarget = event.target; + + renderTarget.removeEventListener( 'dispose', onRenderTargetDispose ); + + deallocateRenderTarget( renderTarget ); + + } + + // + + function deallocateTexture( texture ) { + + const textureProperties = properties.get( texture ); + + if ( textureProperties.__webglInit === undefined ) return; + + _gl.deleteTexture( textureProperties.__webglTexture ); + + properties.remove( texture ); + + } + + function deallocateRenderTarget( renderTarget ) { + + const texture = renderTarget.texture; + + const renderTargetProperties = properties.get( renderTarget ); + const textureProperties = properties.get( texture ); + + if ( ! renderTarget ) return; + + if ( textureProperties.__webglTexture !== undefined ) { + + _gl.deleteTexture( textureProperties.__webglTexture ); + + info.memory.textures --; + + } + + if ( renderTarget.depthTexture ) { + + renderTarget.depthTexture.dispose(); + + } + + if ( renderTarget.isWebGLCubeRenderTarget ) { + + for ( let i = 0; i < 6; i ++ ) { + + _gl.deleteFramebuffer( renderTargetProperties.__webglFramebuffer[ i ] ); + if ( renderTargetProperties.__webglDepthbuffer ) _gl.deleteRenderbuffer( renderTargetProperties.__webglDepthbuffer[ i ] ); + + } + + } else { + + _gl.deleteFramebuffer( renderTargetProperties.__webglFramebuffer ); + if ( renderTargetProperties.__webglDepthbuffer ) _gl.deleteRenderbuffer( renderTargetProperties.__webglDepthbuffer ); + if ( renderTargetProperties.__webglMultisampledFramebuffer ) _gl.deleteFramebuffer( renderTargetProperties.__webglMultisampledFramebuffer ); + if ( renderTargetProperties.__webglColorRenderbuffer ) _gl.deleteRenderbuffer( renderTargetProperties.__webglColorRenderbuffer ); + if ( renderTargetProperties.__webglDepthRenderbuffer ) _gl.deleteRenderbuffer( renderTargetProperties.__webglDepthRenderbuffer ); + + } + + if ( renderTarget.isWebGLMultipleRenderTargets ) { + + for ( let i = 0, il = texture.length; i < il; i ++ ) { + + const attachmentProperties = properties.get( texture[ i ] ); + + if ( attachmentProperties.__webglTexture ) { + + _gl.deleteTexture( attachmentProperties.__webglTexture ); + + info.memory.textures --; + + } + + properties.remove( texture[ i ] ); + + } + + } + + properties.remove( texture ); + properties.remove( renderTarget ); + + } + + // + + let textureUnits = 0; + + function resetTextureUnits() { + + textureUnits = 0; + + } + + function allocateTextureUnit() { + + const textureUnit = textureUnits; + + if ( textureUnit >= maxTextures ) { + + console.warn( 'THREE.WebGLTextures: Trying to use ' + textureUnit + ' texture units while this GPU supports only ' + maxTextures ); + + } + + textureUnits += 1; + + return textureUnit; + + } + + // + + function setTexture2D( texture, slot ) { + + const textureProperties = properties.get( texture ); + + if ( texture.isVideoTexture ) updateVideoTexture( texture ); + + if ( texture.version > 0 && textureProperties.__version !== texture.version ) { + + const image = texture.image; + + if ( image === undefined ) { + + console.warn( 'THREE.WebGLRenderer: Texture marked for update but image is undefined' ); + + } else if ( image.complete === false ) { + + console.warn( 'THREE.WebGLRenderer: Texture marked for update but image is incomplete' ); + + } else { + + uploadTexture( textureProperties, texture, slot ); + return; + + } + + } + + state.activeTexture( 33984 + slot ); + state.bindTexture( 3553, textureProperties.__webglTexture ); + + } + + function setTexture2DArray( texture, slot ) { + + const textureProperties = properties.get( texture ); + + if ( texture.version > 0 && textureProperties.__version !== texture.version ) { + + uploadTexture( textureProperties, texture, slot ); + return; + + } + + state.activeTexture( 33984 + slot ); + state.bindTexture( 35866, textureProperties.__webglTexture ); + + } + + function setTexture3D( texture, slot ) { + + const textureProperties = properties.get( texture ); + + if ( texture.version > 0 && textureProperties.__version !== texture.version ) { + + uploadTexture( textureProperties, texture, slot ); + return; + + } + + state.activeTexture( 33984 + slot ); + state.bindTexture( 32879, textureProperties.__webglTexture ); + + } + + function setTextureCube( texture, slot ) { + + const textureProperties = properties.get( texture ); + + if ( texture.version > 0 && textureProperties.__version !== texture.version ) { + + uploadCubeTexture( textureProperties, texture, slot ); + return; + + } + + state.activeTexture( 33984 + slot ); + state.bindTexture( 34067, textureProperties.__webglTexture ); + + } + + const wrappingToGL = { + [ RepeatWrapping ]: 10497, + [ ClampToEdgeWrapping ]: 33071, + [ MirroredRepeatWrapping ]: 33648 + }; + + const filterToGL = { + [ NearestFilter ]: 9728, + [ NearestMipmapNearestFilter ]: 9984, + [ NearestMipmapLinearFilter ]: 9986, + + [ LinearFilter ]: 9729, + [ LinearMipmapNearestFilter ]: 9985, + [ LinearMipmapLinearFilter ]: 9987 + }; + + function setTextureParameters( textureType, texture, supportsMips ) { + + if ( supportsMips ) { + + _gl.texParameteri( textureType, 10242, wrappingToGL[ texture.wrapS ] ); + _gl.texParameteri( textureType, 10243, wrappingToGL[ texture.wrapT ] ); + + if ( textureType === 32879 || textureType === 35866 ) { + + _gl.texParameteri( textureType, 32882, wrappingToGL[ texture.wrapR ] ); + + } + + _gl.texParameteri( textureType, 10240, filterToGL[ texture.magFilter ] ); + _gl.texParameteri( textureType, 10241, filterToGL[ texture.minFilter ] ); + + } else { + + _gl.texParameteri( textureType, 10242, 33071 ); + _gl.texParameteri( textureType, 10243, 33071 ); + + if ( textureType === 32879 || textureType === 35866 ) { + + _gl.texParameteri( textureType, 32882, 33071 ); + + } + + if ( texture.wrapS !== ClampToEdgeWrapping || texture.wrapT !== ClampToEdgeWrapping ) { + + console.warn( 'THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.' ); + + } + + _gl.texParameteri( textureType, 10240, filterFallback( texture.magFilter ) ); + _gl.texParameteri( textureType, 10241, filterFallback( texture.minFilter ) ); + + if ( texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter ) { + + console.warn( 'THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.' ); + + } + + } + + if ( extensions.has( 'EXT_texture_filter_anisotropic' ) === true ) { + + const extension = extensions.get( 'EXT_texture_filter_anisotropic' ); + + if ( texture.type === FloatType && extensions.has( 'OES_texture_float_linear' ) === false ) return; // verify extension for WebGL 1 and WebGL 2 + if ( isWebGL2 === false && ( texture.type === HalfFloatType && extensions.has( 'OES_texture_half_float_linear' ) === false ) ) return; // verify extension for WebGL 1 only + + if ( texture.anisotropy > 1 || properties.get( texture ).__currentAnisotropy ) { + + _gl.texParameterf( textureType, extension.TEXTURE_MAX_ANISOTROPY_EXT, Math.min( texture.anisotropy, capabilities.getMaxAnisotropy() ) ); + properties.get( texture ).__currentAnisotropy = texture.anisotropy; + + } + + } + + } + + function initTexture( textureProperties, texture ) { + + if ( textureProperties.__webglInit === undefined ) { + + textureProperties.__webglInit = true; + + texture.addEventListener( 'dispose', onTextureDispose ); + + textureProperties.__webglTexture = _gl.createTexture(); + + info.memory.textures ++; + + } + + } + + function uploadTexture( textureProperties, texture, slot ) { + + let textureType = 3553; + + if ( texture.isDataTexture2DArray ) textureType = 35866; + if ( texture.isDataTexture3D ) textureType = 32879; + + initTexture( textureProperties, texture ); + + state.activeTexture( 33984 + slot ); + state.bindTexture( textureType, textureProperties.__webglTexture ); + + _gl.pixelStorei( 37440, texture.flipY ); + _gl.pixelStorei( 37441, texture.premultiplyAlpha ); + _gl.pixelStorei( 3317, texture.unpackAlignment ); + _gl.pixelStorei( 37443, 0 ); + + const needsPowerOfTwo = textureNeedsPowerOfTwo( texture ) && isPowerOfTwo$1( texture.image ) === false; + const image = resizeImage( texture.image, needsPowerOfTwo, false, maxTextureSize ); + + const supportsMips = isPowerOfTwo$1( image ) || isWebGL2, + glFormat = utils.convert( texture.format ); + + let glType = utils.convert( texture.type ), + glInternalFormat = getInternalFormat( texture.internalFormat, glFormat, glType, texture.encoding ); + + setTextureParameters( textureType, texture, supportsMips ); + + let mipmap; + const mipmaps = texture.mipmaps; + + const useTexStorage = ( isWebGL2 && texture.isVideoTexture !== true ); + const allocateMemory = ( textureProperties.__version === undefined ); + const levels = getMipLevels( texture, image, supportsMips ); + + if ( texture.isDepthTexture ) { + + // populate depth texture with dummy data + + glInternalFormat = 6402; + + if ( isWebGL2 ) { + + if ( texture.type === FloatType ) { + + glInternalFormat = 36012; + + } else if ( texture.type === UnsignedIntType ) { + + glInternalFormat = 33190; + + } else if ( texture.type === UnsignedInt248Type ) { + + glInternalFormat = 35056; + + } else { + + glInternalFormat = 33189; // WebGL2 requires sized internalformat for glTexImage2D + + } + + } else { + + if ( texture.type === FloatType ) { + + console.error( 'WebGLRenderer: Floating point depth texture requires WebGL2.' ); + + } + + } + + // validation checks for WebGL 1 + + if ( texture.format === DepthFormat && glInternalFormat === 6402 ) { + + // The error INVALID_OPERATION is generated by texImage2D if format and internalformat are + // DEPTH_COMPONENT and type is not UNSIGNED_SHORT or UNSIGNED_INT + // (https://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/) + if ( texture.type !== UnsignedShortType && texture.type !== UnsignedIntType ) { + + console.warn( 'THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture.' ); + + texture.type = UnsignedShortType; + glType = utils.convert( texture.type ); + + } + + } + + if ( texture.format === DepthStencilFormat && glInternalFormat === 6402 ) { + + // Depth stencil textures need the DEPTH_STENCIL internal format + // (https://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/) + glInternalFormat = 34041; + + // The error INVALID_OPERATION is generated by texImage2D if format and internalformat are + // DEPTH_STENCIL and type is not UNSIGNED_INT_24_8_WEBGL. + // (https://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/) + if ( texture.type !== UnsignedInt248Type ) { + + console.warn( 'THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture.' ); + + texture.type = UnsignedInt248Type; + glType = utils.convert( texture.type ); + + } + + } + + // + + if ( useTexStorage && allocateMemory ) { + + state.texStorage2D( 3553, 1, glInternalFormat, image.width, image.height ); + + } else { + + state.texImage2D( 3553, 0, glInternalFormat, image.width, image.height, 0, glFormat, glType, null ); + + } + + } else if ( texture.isDataTexture ) { + + // use manually created mipmaps if available + // if there are no manual mipmaps + // set 0 level mipmap and then use GL to generate other mipmap levels + + if ( mipmaps.length > 0 && supportsMips ) { + + if ( useTexStorage && allocateMemory ) { + + state.texStorage2D( 3553, levels, glInternalFormat, mipmaps[ 0 ].width, mipmaps[ 0 ].height ); + + } + + for ( let i = 0, il = mipmaps.length; i < il; i ++ ) { + + mipmap = mipmaps[ i ]; + + if ( useTexStorage ) { + + state.texSubImage2D( 3553, 0, 0, 0, mipmap.width, mipmap.height, glFormat, glType, mipmap.data ); + + } else { + + state.texImage2D( 3553, i, glInternalFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data ); + + } + + } + + texture.generateMipmaps = false; + + } else { + + if ( useTexStorage ) { + + if ( allocateMemory ) { + + state.texStorage2D( 3553, levels, glInternalFormat, image.width, image.height ); + + } + + state.texSubImage2D( 3553, 0, 0, 0, image.width, image.height, glFormat, glType, image.data ); + + } else { + + state.texImage2D( 3553, 0, glInternalFormat, image.width, image.height, 0, glFormat, glType, image.data ); + + } + + } + + } else if ( texture.isCompressedTexture ) { + + if ( useTexStorage && allocateMemory ) { + + state.texStorage2D( 3553, levels, glInternalFormat, mipmaps[ 0 ].width, mipmaps[ 0 ].height ); + + } + + for ( let i = 0, il = mipmaps.length; i < il; i ++ ) { + + mipmap = mipmaps[ i ]; + + if ( texture.format !== RGBAFormat && texture.format !== RGBFormat ) { + + if ( glFormat !== null ) { + + if ( useTexStorage ) { + + state.compressedTexSubImage2D( 3553, i, 0, 0, mipmap.width, mipmap.height, glFormat, mipmap.data ); + + } else { + + state.compressedTexImage2D( 3553, i, glInternalFormat, mipmap.width, mipmap.height, 0, mipmap.data ); + + } + + } else { + + console.warn( 'THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()' ); + + } + + } else { + + if ( useTexStorage ) { + + state.texSubImage2D( 3553, i, 0, 0, mipmap.width, mipmap.height, glFormat, glType, mipmap.data ); + + } else { + + state.texImage2D( 3553, i, glInternalFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data ); + + } + + } + + } + + } else if ( texture.isDataTexture2DArray ) { + + if ( useTexStorage ) { + + if ( allocateMemory ) { + + state.texStorage3D( 35866, levels, glInternalFormat, image.width, image.height, image.depth ); + + } + + state.texSubImage3D( 35866, 0, 0, 0, 0, image.width, image.height, image.depth, glFormat, glType, image.data ); + + } else { + + state.texImage3D( 35866, 0, glInternalFormat, image.width, image.height, image.depth, 0, glFormat, glType, image.data ); + + } + + } else if ( texture.isDataTexture3D ) { + + if ( useTexStorage ) { + + if ( allocateMemory ) { + + state.texStorage3D( 32879, levels, glInternalFormat, image.width, image.height, image.depth ); + + } + + state.texSubImage3D( 32879, 0, 0, 0, 0, image.width, image.height, image.depth, glFormat, glType, image.data ); + + } else { + + state.texImage3D( 32879, 0, glInternalFormat, image.width, image.height, image.depth, 0, glFormat, glType, image.data ); + + } + + } else if ( texture.isFramebufferTexture ) { + + if ( useTexStorage && allocateMemory ) { + + state.texStorage2D( 3553, levels, glInternalFormat, image.width, image.height ); + + } else { + + state.texImage2D( 3553, 0, glInternalFormat, image.width, image.height, 0, glFormat, glType, null ); + + } + + } else { + + // regular Texture (image, video, canvas) + + // use manually created mipmaps if available + // if there are no manual mipmaps + // set 0 level mipmap and then use GL to generate other mipmap levels + + if ( mipmaps.length > 0 && supportsMips ) { + + if ( useTexStorage && allocateMemory ) { + + state.texStorage2D( 3553, levels, glInternalFormat, mipmaps[ 0 ].width, mipmaps[ 0 ].height ); + + } + + for ( let i = 0, il = mipmaps.length; i < il; i ++ ) { + + mipmap = mipmaps[ i ]; + + if ( useTexStorage ) { + + state.texSubImage2D( 3553, i, 0, 0, glFormat, glType, mipmap ); + + } else { + + state.texImage2D( 3553, i, glInternalFormat, glFormat, glType, mipmap ); + + } + + } + + texture.generateMipmaps = false; + + } else { + + if ( useTexStorage ) { + + if ( allocateMemory ) { + + state.texStorage2D( 3553, levels, glInternalFormat, image.width, image.height ); + + } + + state.texSubImage2D( 3553, 0, 0, 0, glFormat, glType, image ); + + } else { + + state.texImage2D( 3553, 0, glInternalFormat, glFormat, glType, image ); + + } + + } + + } + + if ( textureNeedsGenerateMipmaps( texture, supportsMips ) ) { + + generateMipmap( textureType ); + + } + + textureProperties.__version = texture.version; + + if ( texture.onUpdate ) texture.onUpdate( texture ); + + } + + function uploadCubeTexture( textureProperties, texture, slot ) { + + if ( texture.image.length !== 6 ) return; + + initTexture( textureProperties, texture ); + + state.activeTexture( 33984 + slot ); + state.bindTexture( 34067, textureProperties.__webglTexture ); + + _gl.pixelStorei( 37440, texture.flipY ); + _gl.pixelStorei( 37441, texture.premultiplyAlpha ); + _gl.pixelStorei( 3317, texture.unpackAlignment ); + _gl.pixelStorei( 37443, 0 ); + + const isCompressed = ( texture && ( texture.isCompressedTexture || texture.image[ 0 ].isCompressedTexture ) ); + const isDataTexture = ( texture.image[ 0 ] && texture.image[ 0 ].isDataTexture ); + + const cubeImage = []; + + for ( let i = 0; i < 6; i ++ ) { + + if ( ! isCompressed && ! isDataTexture ) { + + cubeImage[ i ] = resizeImage( texture.image[ i ], false, true, maxCubemapSize ); + + } else { + + cubeImage[ i ] = isDataTexture ? texture.image[ i ].image : texture.image[ i ]; + + } + + } + + const image = cubeImage[ 0 ], + supportsMips = isPowerOfTwo$1( image ) || isWebGL2, + glFormat = utils.convert( texture.format ), + glType = utils.convert( texture.type ), + glInternalFormat = getInternalFormat( texture.internalFormat, glFormat, glType, texture.encoding ); + + const useTexStorage = ( isWebGL2 && texture.isVideoTexture !== true ); + const allocateMemory = ( textureProperties.__version === undefined ); + let levels = getMipLevels( texture, image, supportsMips ); + + setTextureParameters( 34067, texture, supportsMips ); + + let mipmaps; + + if ( isCompressed ) { + + if ( useTexStorage && allocateMemory ) { + + state.texStorage2D( 34067, levels, glInternalFormat, image.width, image.height ); + + } + + for ( let i = 0; i < 6; i ++ ) { + + mipmaps = cubeImage[ i ].mipmaps; + + for ( let j = 0; j < mipmaps.length; j ++ ) { + + const mipmap = mipmaps[ j ]; + + if ( texture.format !== RGBAFormat && texture.format !== RGBFormat ) { + + if ( glFormat !== null ) { + + if ( useTexStorage ) { + + state.compressedTexSubImage2D( 34069 + i, j, 0, 0, mipmap.width, mipmap.height, glFormat, mipmap.data ); + + } else { + + state.compressedTexImage2D( 34069 + i, j, glInternalFormat, mipmap.width, mipmap.height, 0, mipmap.data ); + + } + + } else { + + console.warn( 'THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()' ); + + } + + } else { + + if ( useTexStorage ) { + + state.texSubImage2D( 34069 + i, j, 0, 0, mipmap.width, mipmap.height, glFormat, glType, mipmap.data ); + + } else { + + state.texImage2D( 34069 + i, j, glInternalFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data ); + + } + + } + + } + + } + + } else { + + mipmaps = texture.mipmaps; + + if ( useTexStorage && allocateMemory ) { + + // TODO: Uniformly handle mipmap definitions + // Normal textures and compressed cube textures define base level + mips with their mipmap array + // Uncompressed cube textures use their mipmap array only for mips (no base level) + + if ( mipmaps.length > 0 ) levels ++; + + state.texStorage2D( 34067, levels, glInternalFormat, cubeImage[ 0 ].width, cubeImage[ 0 ].height ); + + } + + for ( let i = 0; i < 6; i ++ ) { + + if ( isDataTexture ) { + + if ( useTexStorage ) { + + state.texSubImage2D( 34069 + i, 0, 0, 0, cubeImage[ i ].width, cubeImage[ i ].height, glFormat, glType, cubeImage[ i ].data ); + + } else { + + state.texImage2D( 34069 + i, 0, glInternalFormat, cubeImage[ i ].width, cubeImage[ i ].height, 0, glFormat, glType, cubeImage[ i ].data ); + + } + + for ( let j = 0; j < mipmaps.length; j ++ ) { + + const mipmap = mipmaps[ j ]; + const mipmapImage = mipmap.image[ i ].image; + + if ( useTexStorage ) { + + state.texSubImage2D( 34069 + i, j + 1, 0, 0, mipmapImage.width, mipmapImage.height, glFormat, glType, mipmapImage.data ); + + } else { + + state.texImage2D( 34069 + i, j + 1, glInternalFormat, mipmapImage.width, mipmapImage.height, 0, glFormat, glType, mipmapImage.data ); + + } + + } + + } else { + + if ( useTexStorage ) { + + state.texSubImage2D( 34069 + i, 0, 0, 0, glFormat, glType, cubeImage[ i ] ); + + } else { + + state.texImage2D( 34069 + i, 0, glInternalFormat, glFormat, glType, cubeImage[ i ] ); + + } + + for ( let j = 0; j < mipmaps.length; j ++ ) { + + const mipmap = mipmaps[ j ]; + + if ( useTexStorage ) { + + state.texSubImage2D( 34069 + i, j + 1, 0, 0, glFormat, glType, mipmap.image[ i ] ); + + } else { + + state.texImage2D( 34069 + i, j + 1, glInternalFormat, glFormat, glType, mipmap.image[ i ] ); + + } + + } + + } + + } + + } + + if ( textureNeedsGenerateMipmaps( texture, supportsMips ) ) { + + // We assume images for cube map have the same size. + generateMipmap( 34067 ); + + } + + textureProperties.__version = texture.version; + + if ( texture.onUpdate ) texture.onUpdate( texture ); + + } + + // Render targets + + // Setup storage for target texture and bind it to correct framebuffer + function setupFrameBufferTexture( framebuffer, renderTarget, texture, attachment, textureTarget ) { + + const glFormat = utils.convert( texture.format ); + const glType = utils.convert( texture.type ); + const glInternalFormat = getInternalFormat( texture.internalFormat, glFormat, glType, texture.encoding ); + const renderTargetProperties = properties.get( renderTarget ); + + if ( ! renderTargetProperties.__hasExternalTextures ) { + + if ( textureTarget === 32879 || textureTarget === 35866 ) { + + state.texImage3D( textureTarget, 0, glInternalFormat, renderTarget.width, renderTarget.height, renderTarget.depth, 0, glFormat, glType, null ); + + } else { + + state.texImage2D( textureTarget, 0, glInternalFormat, renderTarget.width, renderTarget.height, 0, glFormat, glType, null ); + + } + + } + + state.bindFramebuffer( 36160, framebuffer ); + if ( renderTarget.useRenderToTexture ) { + + MultisampledRenderToTextureExtension.framebufferTexture2DMultisampleEXT( 36160, attachment, textureTarget, properties.get( texture ).__webglTexture, 0, getRenderTargetSamples( renderTarget ) ); + + } else { + + _gl.framebufferTexture2D( 36160, attachment, textureTarget, properties.get( texture ).__webglTexture, 0 ); + + } + + state.bindFramebuffer( 36160, null ); + + } + + + // Setup storage for internal depth/stencil buffers and bind to correct framebuffer + function setupRenderBufferStorage( renderbuffer, renderTarget, isMultisample ) { + + _gl.bindRenderbuffer( 36161, renderbuffer ); + + if ( renderTarget.depthBuffer && ! renderTarget.stencilBuffer ) { + + let glInternalFormat = 33189; + + if ( isMultisample || renderTarget.useRenderToTexture ) { + + const depthTexture = renderTarget.depthTexture; + + if ( depthTexture && depthTexture.isDepthTexture ) { + + if ( depthTexture.type === FloatType ) { + + glInternalFormat = 36012; + + } else if ( depthTexture.type === UnsignedIntType ) { + + glInternalFormat = 33190; + + } + + } + + const samples = getRenderTargetSamples( renderTarget ); + + if ( renderTarget.useRenderToTexture ) { + + MultisampledRenderToTextureExtension.renderbufferStorageMultisampleEXT( 36161, samples, glInternalFormat, renderTarget.width, renderTarget.height ); + + } else { + + _gl.renderbufferStorageMultisample( 36161, samples, glInternalFormat, renderTarget.width, renderTarget.height ); + + } + + } else { + + _gl.renderbufferStorage( 36161, glInternalFormat, renderTarget.width, renderTarget.height ); + + } + + _gl.framebufferRenderbuffer( 36160, 36096, 36161, renderbuffer ); + + } else if ( renderTarget.depthBuffer && renderTarget.stencilBuffer ) { + + const samples = getRenderTargetSamples( renderTarget ); + + if ( isMultisample && renderTarget.useRenderbuffer ) { + + _gl.renderbufferStorageMultisample( 36161, samples, 35056, renderTarget.width, renderTarget.height ); + + } else if ( renderTarget.useRenderToTexture ) { + + MultisampledRenderToTextureExtension.renderbufferStorageMultisampleEXT( 36161, samples, 35056, renderTarget.width, renderTarget.height ); + + } else { + + _gl.renderbufferStorage( 36161, 34041, renderTarget.width, renderTarget.height ); + + } + + + _gl.framebufferRenderbuffer( 36160, 33306, 36161, renderbuffer ); + + } else { + + // Use the first texture for MRT so far + const texture = renderTarget.isWebGLMultipleRenderTargets === true ? renderTarget.texture[ 0 ] : renderTarget.texture; + + const glFormat = utils.convert( texture.format ); + const glType = utils.convert( texture.type ); + const glInternalFormat = getInternalFormat( texture.internalFormat, glFormat, glType, texture.encoding ); + const samples = getRenderTargetSamples( renderTarget ); + + if ( isMultisample && renderTarget.useRenderbuffer ) { + + _gl.renderbufferStorageMultisample( 36161, samples, glInternalFormat, renderTarget.width, renderTarget.height ); + + } else if ( renderTarget.useRenderToTexture ) { + + MultisampledRenderToTextureExtension.renderbufferStorageMultisampleEXT( 36161, samples, glInternalFormat, renderTarget.width, renderTarget.height ); + + } else { + + _gl.renderbufferStorage( 36161, glInternalFormat, renderTarget.width, renderTarget.height ); + + } + + } + + _gl.bindRenderbuffer( 36161, null ); + + } + + // Setup resources for a Depth Texture for a FBO (needs an extension) + function setupDepthTexture( framebuffer, renderTarget ) { + + const isCube = ( renderTarget && renderTarget.isWebGLCubeRenderTarget ); + if ( isCube ) throw new Error( 'Depth Texture with cube render targets is not supported' ); + + state.bindFramebuffer( 36160, framebuffer ); + + if ( ! ( renderTarget.depthTexture && renderTarget.depthTexture.isDepthTexture ) ) { + + throw new Error( 'renderTarget.depthTexture must be an instance of THREE.DepthTexture' ); + + } + + // upload an empty depth texture with framebuffer size + if ( ! properties.get( renderTarget.depthTexture ).__webglTexture || + renderTarget.depthTexture.image.width !== renderTarget.width || + renderTarget.depthTexture.image.height !== renderTarget.height ) { + + renderTarget.depthTexture.image.width = renderTarget.width; + renderTarget.depthTexture.image.height = renderTarget.height; + renderTarget.depthTexture.needsUpdate = true; + + } + + setTexture2D( renderTarget.depthTexture, 0 ); + + const webglDepthTexture = properties.get( renderTarget.depthTexture ).__webglTexture; + const samples = getRenderTargetSamples( renderTarget ); + + if ( renderTarget.depthTexture.format === DepthFormat ) { + + if ( renderTarget.useRenderToTexture ) { + + MultisampledRenderToTextureExtension.framebufferTexture2DMultisampleEXT( 36160, 36096, 3553, webglDepthTexture, 0, samples ); + + } else { + + _gl.framebufferTexture2D( 36160, 36096, 3553, webglDepthTexture, 0 ); + + } + + } else if ( renderTarget.depthTexture.format === DepthStencilFormat ) { + + if ( renderTarget.useRenderToTexture ) { + + MultisampledRenderToTextureExtension.framebufferTexture2DMultisampleEXT( 36160, 33306, 3553, webglDepthTexture, 0, samples ); + + } else { + + _gl.framebufferTexture2D( 36160, 33306, 3553, webglDepthTexture, 0 ); + + } + + } else { + + throw new Error( 'Unknown depthTexture format' ); + + } + + } + + // Setup GL resources for a non-texture depth buffer + function setupDepthRenderbuffer( renderTarget ) { + + const renderTargetProperties = properties.get( renderTarget ); + const isCube = ( renderTarget.isWebGLCubeRenderTarget === true ); + + if ( renderTarget.depthTexture && ! renderTargetProperties.__autoAllocateDepthBuffer ) { + + if ( isCube ) throw new Error( 'target.depthTexture not supported in Cube render targets' ); + + setupDepthTexture( renderTargetProperties.__webglFramebuffer, renderTarget ); + + } else { + + if ( isCube ) { + + renderTargetProperties.__webglDepthbuffer = []; + + for ( let i = 0; i < 6; i ++ ) { + + state.bindFramebuffer( 36160, renderTargetProperties.__webglFramebuffer[ i ] ); + renderTargetProperties.__webglDepthbuffer[ i ] = _gl.createRenderbuffer(); + setupRenderBufferStorage( renderTargetProperties.__webglDepthbuffer[ i ], renderTarget, false ); + + } + + } else { + + state.bindFramebuffer( 36160, renderTargetProperties.__webglFramebuffer ); + renderTargetProperties.__webglDepthbuffer = _gl.createRenderbuffer(); + setupRenderBufferStorage( renderTargetProperties.__webglDepthbuffer, renderTarget, false ); + + } + + } + + state.bindFramebuffer( 36160, null ); + + } + + // rebind framebuffer with external textures + function rebindTextures( renderTarget, colorTexture, depthTexture ) { + + const renderTargetProperties = properties.get( renderTarget ); + + if ( colorTexture !== undefined ) { + + setupFrameBufferTexture( renderTargetProperties.__webglFramebuffer, renderTarget, renderTarget.texture, 36064, 3553 ); + + } + + if ( depthTexture !== undefined ) { + + setupDepthRenderbuffer( renderTarget ); + + } + + } + + // Set up GL resources for the render target + function setupRenderTarget( renderTarget ) { + + const texture = renderTarget.texture; + + const renderTargetProperties = properties.get( renderTarget ); + const textureProperties = properties.get( texture ); + + renderTarget.addEventListener( 'dispose', onRenderTargetDispose ); + + if ( renderTarget.isWebGLMultipleRenderTargets !== true ) { + + if ( textureProperties.__webglTexture === undefined ) { + + textureProperties.__webglTexture = _gl.createTexture(); + + } + + textureProperties.__version = texture.version; + info.memory.textures ++; + + } + + const isCube = ( renderTarget.isWebGLCubeRenderTarget === true ); + const isMultipleRenderTargets = ( renderTarget.isWebGLMultipleRenderTargets === true ); + const isRenderTarget3D = texture.isDataTexture3D || texture.isDataTexture2DArray; + const supportsMips = isPowerOfTwo$1( renderTarget ) || isWebGL2; + + // Handles WebGL2 RGBFormat fallback - #18858 + + if ( isWebGL2 && texture.format === RGBFormat && ( texture.type === FloatType || texture.type === HalfFloatType ) ) { + + texture.format = RGBAFormat; + + console.warn( 'THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.' ); + + } + + // Setup framebuffer + + if ( isCube ) { + + renderTargetProperties.__webglFramebuffer = []; + + for ( let i = 0; i < 6; i ++ ) { + + renderTargetProperties.__webglFramebuffer[ i ] = _gl.createFramebuffer(); + + } + + } else { + + renderTargetProperties.__webglFramebuffer = _gl.createFramebuffer(); + + if ( isMultipleRenderTargets ) { + + if ( capabilities.drawBuffers ) { + + const textures = renderTarget.texture; + + for ( let i = 0, il = textures.length; i < il; i ++ ) { + + const attachmentProperties = properties.get( textures[ i ] ); + + if ( attachmentProperties.__webglTexture === undefined ) { + + attachmentProperties.__webglTexture = _gl.createTexture(); + + info.memory.textures ++; + + } + + } + + } else { + + console.warn( 'THREE.WebGLRenderer: WebGLMultipleRenderTargets can only be used with WebGL2 or WEBGL_draw_buffers extension.' ); + + } + + } else if ( renderTarget.useRenderbuffer ) { + + if ( isWebGL2 ) { + + renderTargetProperties.__webglMultisampledFramebuffer = _gl.createFramebuffer(); + renderTargetProperties.__webglColorRenderbuffer = _gl.createRenderbuffer(); + + _gl.bindRenderbuffer( 36161, renderTargetProperties.__webglColorRenderbuffer ); + + const glFormat = utils.convert( texture.format ); + const glType = utils.convert( texture.type ); + const glInternalFormat = getInternalFormat( texture.internalFormat, glFormat, glType, texture.encoding ); + const samples = getRenderTargetSamples( renderTarget ); + _gl.renderbufferStorageMultisample( 36161, samples, glInternalFormat, renderTarget.width, renderTarget.height ); + + state.bindFramebuffer( 36160, renderTargetProperties.__webglMultisampledFramebuffer ); + _gl.framebufferRenderbuffer( 36160, 36064, 36161, renderTargetProperties.__webglColorRenderbuffer ); + _gl.bindRenderbuffer( 36161, null ); + + if ( renderTarget.depthBuffer ) { + + renderTargetProperties.__webglDepthRenderbuffer = _gl.createRenderbuffer(); + setupRenderBufferStorage( renderTargetProperties.__webglDepthRenderbuffer, renderTarget, true ); + + } + + state.bindFramebuffer( 36160, null ); + + + } else { + + console.warn( 'THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.' ); + + } + + } + + } + + // Setup color buffer + + if ( isCube ) { + + state.bindTexture( 34067, textureProperties.__webglTexture ); + setTextureParameters( 34067, texture, supportsMips ); + + for ( let i = 0; i < 6; i ++ ) { + + setupFrameBufferTexture( renderTargetProperties.__webglFramebuffer[ i ], renderTarget, texture, 36064, 34069 + i ); + + } + + if ( textureNeedsGenerateMipmaps( texture, supportsMips ) ) { + + generateMipmap( 34067 ); + + } + + state.unbindTexture(); + + } else if ( isMultipleRenderTargets ) { + + const textures = renderTarget.texture; + + for ( let i = 0, il = textures.length; i < il; i ++ ) { + + const attachment = textures[ i ]; + const attachmentProperties = properties.get( attachment ); + + state.bindTexture( 3553, attachmentProperties.__webglTexture ); + setTextureParameters( 3553, attachment, supportsMips ); + setupFrameBufferTexture( renderTargetProperties.__webglFramebuffer, renderTarget, attachment, 36064 + i, 3553 ); + + if ( textureNeedsGenerateMipmaps( attachment, supportsMips ) ) { + + generateMipmap( 3553 ); + + } + + } + + state.unbindTexture(); + + } else { + + let glTextureType = 3553; + + if ( isRenderTarget3D ) { + + // Render targets containing layers, i.e: Texture 3D and 2d arrays + + if ( isWebGL2 ) { + + const isTexture3D = texture.isDataTexture3D; + glTextureType = isTexture3D ? 32879 : 35866; + + } else { + + console.warn( 'THREE.DataTexture3D and THREE.DataTexture2DArray only supported with WebGL2.' ); + + } + + } + + state.bindTexture( glTextureType, textureProperties.__webglTexture ); + setTextureParameters( glTextureType, texture, supportsMips ); + setupFrameBufferTexture( renderTargetProperties.__webglFramebuffer, renderTarget, texture, 36064, glTextureType ); + + if ( textureNeedsGenerateMipmaps( texture, supportsMips ) ) { + + generateMipmap( glTextureType ); + + } + + state.unbindTexture(); + + } + + // Setup depth and stencil buffers + + if ( renderTarget.depthBuffer ) { + + setupDepthRenderbuffer( renderTarget ); + + } + + } + + function updateRenderTargetMipmap( renderTarget ) { + + const supportsMips = isPowerOfTwo$1( renderTarget ) || isWebGL2; + + const textures = renderTarget.isWebGLMultipleRenderTargets === true ? renderTarget.texture : [ renderTarget.texture ]; + + for ( let i = 0, il = textures.length; i < il; i ++ ) { + + const texture = textures[ i ]; + + if ( textureNeedsGenerateMipmaps( texture, supportsMips ) ) { + + const target = renderTarget.isWebGLCubeRenderTarget ? 34067 : 3553; + const webglTexture = properties.get( texture ).__webglTexture; + + state.bindTexture( target, webglTexture ); + generateMipmap( target ); + state.unbindTexture(); + + } + + } + + } + + function updateMultisampleRenderTarget( renderTarget ) { + + if ( renderTarget.useRenderbuffer ) { + + if ( isWebGL2 ) { + + const width = renderTarget.width; + const height = renderTarget.height; + let mask = 16384; + const invalidationArray = [ 36064 ]; + const depthStyle = renderTarget.stencilBuffer ? 33306 : 36096; + + if ( renderTarget.depthBuffer ) { + + invalidationArray.push( depthStyle ); + + } + + if ( ! renderTarget.ignoreDepthForMultisampleCopy ) { + + if ( renderTarget.depthBuffer ) mask |= 256; + if ( renderTarget.stencilBuffer ) mask |= 1024; + + } + + const renderTargetProperties = properties.get( renderTarget ); + + state.bindFramebuffer( 36008, renderTargetProperties.__webglMultisampledFramebuffer ); + state.bindFramebuffer( 36009, renderTargetProperties.__webglFramebuffer ); + + if ( renderTarget.ignoreDepthForMultisampleCopy ) { + + _gl.invalidateFramebuffer( 36008, [ depthStyle ] ); + _gl.invalidateFramebuffer( 36009, [ depthStyle ] ); + + } + + _gl.blitFramebuffer( 0, 0, width, height, 0, 0, width, height, mask, 9728 ); + _gl.invalidateFramebuffer( 36008, invalidationArray ); + + state.bindFramebuffer( 36008, null ); + state.bindFramebuffer( 36009, renderTargetProperties.__webglMultisampledFramebuffer ); + + } else { + + console.warn( 'THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.' ); + + } + + } + + } + + function getRenderTargetSamples( renderTarget ) { + + return ( isWebGL2 && ( renderTarget.useRenderbuffer || renderTarget.useRenderToTexture ) ) ? + Math.min( maxSamples, renderTarget.samples ) : 0; + + } + + function updateVideoTexture( texture ) { + + const frame = info.render.frame; + + // Check the last frame we updated the VideoTexture + + if ( _videoTextures.get( texture ) !== frame ) { + + _videoTextures.set( texture, frame ); + texture.update(); + + } + + } + + // backwards compatibility + + let warnedTexture2D = false; + let warnedTextureCube = false; + + function safeSetTexture2D( texture, slot ) { + + if ( texture && texture.isWebGLRenderTarget ) { + + if ( warnedTexture2D === false ) { + + console.warn( 'THREE.WebGLTextures.safeSetTexture2D: don\'t use render targets as textures. Use their .texture property instead.' ); + warnedTexture2D = true; + + } + + texture = texture.texture; + + } + + setTexture2D( texture, slot ); + + } + + function safeSetTextureCube( texture, slot ) { + + if ( texture && texture.isWebGLCubeRenderTarget ) { + + if ( warnedTextureCube === false ) { + + console.warn( 'THREE.WebGLTextures.safeSetTextureCube: don\'t use cube render targets as textures. Use their .texture property instead.' ); + warnedTextureCube = true; + + } + + texture = texture.texture; + + } + + + setTextureCube( texture, slot ); + + } + + // + + this.allocateTextureUnit = allocateTextureUnit; + this.resetTextureUnits = resetTextureUnits; + + this.setTexture2D = setTexture2D; + this.setTexture2DArray = setTexture2DArray; + this.setTexture3D = setTexture3D; + this.setTextureCube = setTextureCube; + this.rebindTextures = rebindTextures; + this.setupRenderTarget = setupRenderTarget; + this.updateRenderTargetMipmap = updateRenderTargetMipmap; + this.updateMultisampleRenderTarget = updateMultisampleRenderTarget; + this.setupDepthRenderbuffer = setupDepthRenderbuffer; + this.setupFrameBufferTexture = setupFrameBufferTexture; + + this.safeSetTexture2D = safeSetTexture2D; + this.safeSetTextureCube = safeSetTextureCube; + +} + +function WebGLUtils( gl, extensions, capabilities ) { + + const isWebGL2 = capabilities.isWebGL2; + + function convert( p ) { + + let extension; + + if ( p === UnsignedByteType ) return 5121; + if ( p === UnsignedShort4444Type ) return 32819; + if ( p === UnsignedShort5551Type ) return 32820; + if ( p === UnsignedShort565Type ) return 33635; + + if ( p === ByteType ) return 5120; + if ( p === ShortType ) return 5122; + if ( p === UnsignedShortType ) return 5123; + if ( p === IntType ) return 5124; + if ( p === UnsignedIntType ) return 5125; + if ( p === FloatType ) return 5126; + + if ( p === HalfFloatType ) { + + if ( isWebGL2 ) return 5131; + + extension = extensions.get( 'OES_texture_half_float' ); + + if ( extension !== null ) { + + return extension.HALF_FLOAT_OES; + + } else { + + return null; + + } + + } + + if ( p === AlphaFormat ) return 6406; + if ( p === RGBFormat ) return 6407; + if ( p === RGBAFormat ) return 6408; + if ( p === LuminanceFormat ) return 6409; + if ( p === LuminanceAlphaFormat ) return 6410; + if ( p === DepthFormat ) return 6402; + if ( p === DepthStencilFormat ) return 34041; + if ( p === RedFormat ) return 6403; + + // WebGL2 formats. + + if ( p === RedIntegerFormat ) return 36244; + if ( p === RGFormat ) return 33319; + if ( p === RGIntegerFormat ) return 33320; + if ( p === RGBIntegerFormat ) return 36248; + if ( p === RGBAIntegerFormat ) return 36249; + + if ( p === RGB_S3TC_DXT1_Format || p === RGBA_S3TC_DXT1_Format || + p === RGBA_S3TC_DXT3_Format || p === RGBA_S3TC_DXT5_Format ) { + + extension = extensions.get( 'WEBGL_compressed_texture_s3tc' ); + + if ( extension !== null ) { + + if ( p === RGB_S3TC_DXT1_Format ) return extension.COMPRESSED_RGB_S3TC_DXT1_EXT; + if ( p === RGBA_S3TC_DXT1_Format ) return extension.COMPRESSED_RGBA_S3TC_DXT1_EXT; + if ( p === RGBA_S3TC_DXT3_Format ) return extension.COMPRESSED_RGBA_S3TC_DXT3_EXT; + if ( p === RGBA_S3TC_DXT5_Format ) return extension.COMPRESSED_RGBA_S3TC_DXT5_EXT; + + } else { + + return null; + + } + + } + + if ( p === RGB_PVRTC_4BPPV1_Format || p === RGB_PVRTC_2BPPV1_Format || + p === RGBA_PVRTC_4BPPV1_Format || p === RGBA_PVRTC_2BPPV1_Format ) { + + extension = extensions.get( 'WEBGL_compressed_texture_pvrtc' ); + + if ( extension !== null ) { + + if ( p === RGB_PVRTC_4BPPV1_Format ) return extension.COMPRESSED_RGB_PVRTC_4BPPV1_IMG; + if ( p === RGB_PVRTC_2BPPV1_Format ) return extension.COMPRESSED_RGB_PVRTC_2BPPV1_IMG; + if ( p === RGBA_PVRTC_4BPPV1_Format ) return extension.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG; + if ( p === RGBA_PVRTC_2BPPV1_Format ) return extension.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG; + + } else { + + return null; + + } + + } + + if ( p === RGB_ETC1_Format ) { + + extension = extensions.get( 'WEBGL_compressed_texture_etc1' ); + + if ( extension !== null ) { + + return extension.COMPRESSED_RGB_ETC1_WEBGL; + + } else { + + return null; + + } + + } + + if ( p === RGB_ETC2_Format || p === RGBA_ETC2_EAC_Format ) { + + extension = extensions.get( 'WEBGL_compressed_texture_etc' ); + + if ( extension !== null ) { + + if ( p === RGB_ETC2_Format ) return extension.COMPRESSED_RGB8_ETC2; + if ( p === RGBA_ETC2_EAC_Format ) return extension.COMPRESSED_RGBA8_ETC2_EAC; + + } + + } + + if ( p === RGBA_ASTC_4x4_Format || p === RGBA_ASTC_5x4_Format || p === RGBA_ASTC_5x5_Format || + p === RGBA_ASTC_6x5_Format || p === RGBA_ASTC_6x6_Format || p === RGBA_ASTC_8x5_Format || + p === RGBA_ASTC_8x6_Format || p === RGBA_ASTC_8x8_Format || p === RGBA_ASTC_10x5_Format || + p === RGBA_ASTC_10x6_Format || p === RGBA_ASTC_10x8_Format || p === RGBA_ASTC_10x10_Format || + p === RGBA_ASTC_12x10_Format || p === RGBA_ASTC_12x12_Format || + p === SRGB8_ALPHA8_ASTC_4x4_Format || p === SRGB8_ALPHA8_ASTC_5x4_Format || p === SRGB8_ALPHA8_ASTC_5x5_Format || + p === SRGB8_ALPHA8_ASTC_6x5_Format || p === SRGB8_ALPHA8_ASTC_6x6_Format || p === SRGB8_ALPHA8_ASTC_8x5_Format || + p === SRGB8_ALPHA8_ASTC_8x6_Format || p === SRGB8_ALPHA8_ASTC_8x8_Format || p === SRGB8_ALPHA8_ASTC_10x5_Format || + p === SRGB8_ALPHA8_ASTC_10x6_Format || p === SRGB8_ALPHA8_ASTC_10x8_Format || p === SRGB8_ALPHA8_ASTC_10x10_Format || + p === SRGB8_ALPHA8_ASTC_12x10_Format || p === SRGB8_ALPHA8_ASTC_12x12_Format ) { + + extension = extensions.get( 'WEBGL_compressed_texture_astc' ); + + if ( extension !== null ) { + + // TODO Complete? + + return p; + + } else { + + return null; + + } + + } + + if ( p === RGBA_BPTC_Format ) { + + extension = extensions.get( 'EXT_texture_compression_bptc' ); + + if ( extension !== null ) { + + // TODO Complete? + + return p; + + } else { + + return null; + + } + + } + + if ( p === UnsignedInt248Type ) { + + if ( isWebGL2 ) return 34042; + + extension = extensions.get( 'WEBGL_depth_texture' ); + + if ( extension !== null ) { + + return extension.UNSIGNED_INT_24_8_WEBGL; + + } else { + + return null; + + } + + } + + } + + return { convert: convert }; + +} + +class ArrayCamera extends PerspectiveCamera { + + constructor( array = [] ) { + + super(); + + this.cameras = array; + + } + +} + +ArrayCamera.prototype.isArrayCamera = true; + +class Group extends Object3D { + + constructor() { + + super(); + + this.type = 'Group'; + + } + +} + +Group.prototype.isGroup = true; + +const _moveEvent = { type: 'move' }; + +class WebXRController { + + constructor() { + + this._targetRay = null; + this._grip = null; + this._hand = null; + + } + + getHandSpace() { + + if ( this._hand === null ) { + + this._hand = new Group(); + this._hand.matrixAutoUpdate = false; + this._hand.visible = false; + + this._hand.joints = {}; + this._hand.inputState = { pinching: false }; + + } + + return this._hand; + + } + + getTargetRaySpace() { + + if ( this._targetRay === null ) { + + this._targetRay = new Group(); + this._targetRay.matrixAutoUpdate = false; + this._targetRay.visible = false; + this._targetRay.hasLinearVelocity = false; + this._targetRay.linearVelocity = new Vector3(); + this._targetRay.hasAngularVelocity = false; + this._targetRay.angularVelocity = new Vector3(); + + } + + return this._targetRay; + + } + + getGripSpace() { + + if ( this._grip === null ) { + + this._grip = new Group(); + this._grip.matrixAutoUpdate = false; + this._grip.visible = false; + this._grip.hasLinearVelocity = false; + this._grip.linearVelocity = new Vector3(); + this._grip.hasAngularVelocity = false; + this._grip.angularVelocity = new Vector3(); + + } + + return this._grip; + + } + + dispatchEvent( event ) { + + if ( this._targetRay !== null ) { + + this._targetRay.dispatchEvent( event ); + + } + + if ( this._grip !== null ) { + + this._grip.dispatchEvent( event ); + + } + + if ( this._hand !== null ) { + + this._hand.dispatchEvent( event ); + + } + + return this; + + } + + disconnect( inputSource ) { + + this.dispatchEvent( { type: 'disconnected', data: inputSource } ); + + if ( this._targetRay !== null ) { + + this._targetRay.visible = false; + + } + + if ( this._grip !== null ) { + + this._grip.visible = false; + + } + + if ( this._hand !== null ) { + + this._hand.visible = false; + + } + + return this; + + } + + update( inputSource, frame, referenceSpace ) { + + let inputPose = null; + let gripPose = null; + let handPose = null; + + const targetRay = this._targetRay; + const grip = this._grip; + const hand = this._hand; + + if ( inputSource && frame.session.visibilityState !== 'visible-blurred' ) { + + if ( targetRay !== null ) { + + inputPose = frame.getPose( inputSource.targetRaySpace, referenceSpace ); + + if ( inputPose !== null ) { + + targetRay.matrix.fromArray( inputPose.transform.matrix ); + targetRay.matrix.decompose( targetRay.position, targetRay.rotation, targetRay.scale ); + + if ( inputPose.linearVelocity ) { + + targetRay.hasLinearVelocity = true; + targetRay.linearVelocity.copy( inputPose.linearVelocity ); + + } else { + + targetRay.hasLinearVelocity = false; + + } + + if ( inputPose.angularVelocity ) { + + targetRay.hasAngularVelocity = true; + targetRay.angularVelocity.copy( inputPose.angularVelocity ); + + } else { + + targetRay.hasAngularVelocity = false; + + } + + this.dispatchEvent( _moveEvent ); + + } + + } + + if ( hand && inputSource.hand ) { + + handPose = true; + + for ( const inputjoint of inputSource.hand.values() ) { + + // Update the joints groups with the XRJoint poses + const jointPose = frame.getJointPose( inputjoint, referenceSpace ); + + if ( hand.joints[ inputjoint.jointName ] === undefined ) { + + // The transform of this joint will be updated with the joint pose on each frame + const joint = new Group(); + joint.matrixAutoUpdate = false; + joint.visible = false; + hand.joints[ inputjoint.jointName ] = joint; + // ?? + hand.add( joint ); + + } + + const joint = hand.joints[ inputjoint.jointName ]; + + if ( jointPose !== null ) { + + joint.matrix.fromArray( jointPose.transform.matrix ); + joint.matrix.decompose( joint.position, joint.rotation, joint.scale ); + joint.jointRadius = jointPose.radius; + + } + + joint.visible = jointPose !== null; + + } + + // Custom events + + // Check pinchz + const indexTip = hand.joints[ 'index-finger-tip' ]; + const thumbTip = hand.joints[ 'thumb-tip' ]; + const distance = indexTip.position.distanceTo( thumbTip.position ); + + const distanceToPinch = 0.02; + const threshold = 0.005; + + if ( hand.inputState.pinching && distance > distanceToPinch + threshold ) { + + hand.inputState.pinching = false; + this.dispatchEvent( { + type: 'pinchend', + handedness: inputSource.handedness, + target: this + } ); + + } else if ( ! hand.inputState.pinching && distance <= distanceToPinch - threshold ) { + + hand.inputState.pinching = true; + this.dispatchEvent( { + type: 'pinchstart', + handedness: inputSource.handedness, + target: this + } ); + + } + + } else { + + if ( grip !== null && inputSource.gripSpace ) { + + gripPose = frame.getPose( inputSource.gripSpace, referenceSpace ); + + if ( gripPose !== null ) { + + grip.matrix.fromArray( gripPose.transform.matrix ); + grip.matrix.decompose( grip.position, grip.rotation, grip.scale ); + + if ( gripPose.linearVelocity ) { + + grip.hasLinearVelocity = true; + grip.linearVelocity.copy( gripPose.linearVelocity ); + + } else { + + grip.hasLinearVelocity = false; + + } + + if ( gripPose.angularVelocity ) { + + grip.hasAngularVelocity = true; + grip.angularVelocity.copy( gripPose.angularVelocity ); + + } else { + + grip.hasAngularVelocity = false; + + } + + } + + } + + } + + } + + if ( targetRay !== null ) { + + targetRay.visible = ( inputPose !== null ); + + } + + if ( grip !== null ) { + + grip.visible = ( gripPose !== null ); + + } + + if ( hand !== null ) { + + hand.visible = ( handPose !== null ); + + } + + return this; + + } + +} + +class DepthTexture extends Texture { + + constructor( width, height, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, format ) { + + format = format !== undefined ? format : DepthFormat; + + if ( format !== DepthFormat && format !== DepthStencilFormat ) { + + throw new Error( 'DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat' ); + + } + + if ( type === undefined && format === DepthFormat ) type = UnsignedShortType; + if ( type === undefined && format === DepthStencilFormat ) type = UnsignedInt248Type; + + super( null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ); + + this.image = { width: width, height: height }; + + this.magFilter = magFilter !== undefined ? magFilter : NearestFilter; + this.minFilter = minFilter !== undefined ? minFilter : NearestFilter; + + this.flipY = false; + this.generateMipmaps = false; + + } + + +} + +DepthTexture.prototype.isDepthTexture = true; + +class WebXRManager extends EventDispatcher { + + constructor( renderer, gl ) { + + super(); + + const scope = this; + + let session = null; + let framebufferScaleFactor = 1.0; + + let referenceSpace = null; + let referenceSpaceType = 'local-floor'; + const hasMultisampledRenderToTexture = renderer.extensions.has( 'WEBGL_multisampled_render_to_texture' ); + + let pose = null; + let glBinding = null; + let glProjLayer = null; + let glBaseLayer = null; + let isMultisample = false; + let xrFrame = null; + const attributes = gl.getContextAttributes(); + let initialRenderTarget = null; + let newRenderTarget = null; + + const controllers = []; + const inputSourcesMap = new Map(); + + // + + const cameraL = new PerspectiveCamera(); + cameraL.layers.enable( 1 ); + cameraL.viewport = new Vector4(); + + const cameraR = new PerspectiveCamera(); + cameraR.layers.enable( 2 ); + cameraR.viewport = new Vector4(); + + const cameras = [ cameraL, cameraR ]; + + const cameraVR = new ArrayCamera(); + cameraVR.layers.enable( 1 ); + cameraVR.layers.enable( 2 ); + + let _currentDepthNear = null; + let _currentDepthFar = null; + + // + + this.cameraAutoUpdate = true; + this.enabled = false; + + this.isPresenting = false; + + this.getController = function ( index ) { + + let controller = controllers[ index ]; + + if ( controller === undefined ) { + + controller = new WebXRController(); + controllers[ index ] = controller; + + } + + return controller.getTargetRaySpace(); + + }; + + this.getControllerGrip = function ( index ) { + + let controller = controllers[ index ]; + + if ( controller === undefined ) { + + controller = new WebXRController(); + controllers[ index ] = controller; + + } + + return controller.getGripSpace(); + + }; + + this.getHand = function ( index ) { + + let controller = controllers[ index ]; + + if ( controller === undefined ) { + + controller = new WebXRController(); + controllers[ index ] = controller; + + } + + return controller.getHandSpace(); + + }; + + // + + function onSessionEvent( event ) { + + const controller = inputSourcesMap.get( event.inputSource ); + + if ( controller ) { + + controller.dispatchEvent( { type: event.type, data: event.inputSource } ); + + } + + } + + function onSessionEnd() { + + inputSourcesMap.forEach( function ( controller, inputSource ) { + + controller.disconnect( inputSource ); + + } ); + + inputSourcesMap.clear(); + + _currentDepthNear = null; + _currentDepthFar = null; + + // restore framebuffer/rendering state + + renderer.setRenderTarget( initialRenderTarget ); + + glBaseLayer = null; + glProjLayer = null; + glBinding = null; + session = null; + newRenderTarget = null; + + // + + animation.stop(); + + scope.isPresenting = false; + + scope.dispatchEvent( { type: 'sessionend' } ); + + } + + this.setFramebufferScaleFactor = function ( value ) { + + framebufferScaleFactor = value; + + if ( scope.isPresenting === true ) { + + console.warn( 'THREE.WebXRManager: Cannot change framebuffer scale while presenting.' ); + + } + + }; + + this.setReferenceSpaceType = function ( value ) { + + referenceSpaceType = value; + + if ( scope.isPresenting === true ) { + + console.warn( 'THREE.WebXRManager: Cannot change reference space type while presenting.' ); + + } + + }; + + this.getReferenceSpace = function () { + + return referenceSpace; + + }; + + this.getBaseLayer = function () { + + return glProjLayer !== null ? glProjLayer : glBaseLayer; + + }; + + this.getBinding = function () { + + return glBinding; + + }; + + this.getFrame = function () { + + return xrFrame; + + }; + + this.getSession = function () { + + return session; + + }; + + this.setSession = async function ( value ) { + + session = value; + + if ( session !== null ) { + + initialRenderTarget = renderer.getRenderTarget(); + + session.addEventListener( 'select', onSessionEvent ); + session.addEventListener( 'selectstart', onSessionEvent ); + session.addEventListener( 'selectend', onSessionEvent ); + session.addEventListener( 'squeeze', onSessionEvent ); + session.addEventListener( 'squeezestart', onSessionEvent ); + session.addEventListener( 'squeezeend', onSessionEvent ); + session.addEventListener( 'end', onSessionEnd ); + session.addEventListener( 'inputsourceschange', onInputSourcesChange ); + + if ( attributes.xrCompatible !== true ) { + + await gl.makeXRCompatible(); + + } + + if ( ( session.renderState.layers === undefined ) || ( renderer.capabilities.isWebGL2 === false ) ) { + + const layerInit = { + antialias: ( session.renderState.layers === undefined ) ? attributes.antialias : true, + alpha: attributes.alpha, + depth: attributes.depth, + stencil: attributes.stencil, + framebufferScaleFactor: framebufferScaleFactor + }; + + glBaseLayer = new XRWebGLLayer( session, gl, layerInit ); + + session.updateRenderState( { baseLayer: glBaseLayer } ); + + newRenderTarget = new WebGLRenderTarget( + glBaseLayer.framebufferWidth, + glBaseLayer.framebufferHeight, + { + format: RGBAFormat, + type: UnsignedByteType, + encoding: renderer.outputEncoding + } + ); + + } else { + + isMultisample = attributes.antialias; + let depthFormat = null; + let depthType = null; + let glDepthFormat = null; + + if ( attributes.depth ) { + + glDepthFormat = attributes.stencil ? 35056 : 33190; + depthFormat = attributes.stencil ? DepthStencilFormat : DepthFormat; + depthType = attributes.stencil ? UnsignedInt248Type : UnsignedShortType; + + } + + const projectionlayerInit = { + colorFormat: ( attributes.alpha || isMultisample ) ? 32856 : 32849, + depthFormat: glDepthFormat, + scaleFactor: framebufferScaleFactor + }; + + glBinding = new XRWebGLBinding( session, gl ); + + glProjLayer = glBinding.createProjectionLayer( projectionlayerInit ); + + session.updateRenderState( { layers: [ glProjLayer ] } ); + + if ( isMultisample ) { + + newRenderTarget = new WebGLMultisampleRenderTarget( + glProjLayer.textureWidth, + glProjLayer.textureHeight, + { + format: RGBAFormat, + type: UnsignedByteType, + depthTexture: new DepthTexture( glProjLayer.textureWidth, glProjLayer.textureHeight, depthType, undefined, undefined, undefined, undefined, undefined, undefined, depthFormat ), + stencilBuffer: attributes.stencil, + ignoreDepth: glProjLayer.ignoreDepthValues, + useRenderToTexture: hasMultisampledRenderToTexture, + encoding: renderer.outputEncoding + } ); + + } else { + + newRenderTarget = new WebGLRenderTarget( + glProjLayer.textureWidth, + glProjLayer.textureHeight, + { + format: attributes.alpha ? RGBAFormat : RGBFormat, + type: UnsignedByteType, + depthTexture: new DepthTexture( glProjLayer.textureWidth, glProjLayer.textureHeight, depthType, undefined, undefined, undefined, undefined, undefined, undefined, depthFormat ), + stencilBuffer: attributes.stencil, + ignoreDepth: glProjLayer.ignoreDepthValues, + encoding: renderer.outputEncoding + } ); + + } + + } + + // Set foveation to maximum. + this.setFoveation( 1.0 ); + + referenceSpace = await session.requestReferenceSpace( referenceSpaceType ); + + animation.setContext( session ); + animation.start(); + + scope.isPresenting = true; + + scope.dispatchEvent( { type: 'sessionstart' } ); + + } + + }; + + function onInputSourcesChange( event ) { + + const inputSources = session.inputSources; + + // Assign inputSources to available controllers + + for ( let i = 0; i < controllers.length; i ++ ) { + + inputSourcesMap.set( inputSources[ i ], controllers[ i ] ); + + } + + // Notify disconnected + + for ( let i = 0; i < event.removed.length; i ++ ) { + + const inputSource = event.removed[ i ]; + const controller = inputSourcesMap.get( inputSource ); + + if ( controller ) { + + controller.dispatchEvent( { type: 'disconnected', data: inputSource } ); + inputSourcesMap.delete( inputSource ); + + } + + } + + // Notify connected + + for ( let i = 0; i < event.added.length; i ++ ) { + + const inputSource = event.added[ i ]; + const controller = inputSourcesMap.get( inputSource ); + + if ( controller ) { + + controller.dispatchEvent( { type: 'connected', data: inputSource } ); + + } + + } + + } + + // + + const cameraLPos = new Vector3(); + const cameraRPos = new Vector3(); + + /** + * Assumes 2 cameras that are parallel and share an X-axis, and that + * the cameras' projection and world matrices have already been set. + * And that near and far planes are identical for both cameras. + * Visualization of this technique: https://computergraphics.stackexchange.com/a/4765 + */ + function setProjectionFromUnion( camera, cameraL, cameraR ) { + + cameraLPos.setFromMatrixPosition( cameraL.matrixWorld ); + cameraRPos.setFromMatrixPosition( cameraR.matrixWorld ); + + const ipd = cameraLPos.distanceTo( cameraRPos ); + + const projL = cameraL.projectionMatrix.elements; + const projR = cameraR.projectionMatrix.elements; + + // VR systems will have identical far and near planes, and + // most likely identical top and bottom frustum extents. + // Use the left camera for these values. + const near = projL[ 14 ] / ( projL[ 10 ] - 1 ); + const far = projL[ 14 ] / ( projL[ 10 ] + 1 ); + const topFov = ( projL[ 9 ] + 1 ) / projL[ 5 ]; + const bottomFov = ( projL[ 9 ] - 1 ) / projL[ 5 ]; + + const leftFov = ( projL[ 8 ] - 1 ) / projL[ 0 ]; + const rightFov = ( projR[ 8 ] + 1 ) / projR[ 0 ]; + const left = near * leftFov; + const right = near * rightFov; + + // Calculate the new camera's position offset from the + // left camera. xOffset should be roughly half `ipd`. + const zOffset = ipd / ( - leftFov + rightFov ); + const xOffset = zOffset * - leftFov; + + // TODO: Better way to apply this offset? + cameraL.matrixWorld.decompose( camera.position, camera.quaternion, camera.scale ); + camera.translateX( xOffset ); + camera.translateZ( zOffset ); + camera.matrixWorld.compose( camera.position, camera.quaternion, camera.scale ); + camera.matrixWorldInverse.copy( camera.matrixWorld ).invert(); + + // Find the union of the frustum values of the cameras and scale + // the values so that the near plane's position does not change in world space, + // although must now be relative to the new union camera. + const near2 = near + zOffset; + const far2 = far + zOffset; + const left2 = left - xOffset; + const right2 = right + ( ipd - xOffset ); + const top2 = topFov * far / far2 * near2; + const bottom2 = bottomFov * far / far2 * near2; + + camera.projectionMatrix.makePerspective( left2, right2, top2, bottom2, near2, far2 ); + + } + + function updateCamera( camera, parent ) { + + if ( parent === null ) { + + camera.matrixWorld.copy( camera.matrix ); + + } else { + + camera.matrixWorld.multiplyMatrices( parent.matrixWorld, camera.matrix ); + + } + + camera.matrixWorldInverse.copy( camera.matrixWorld ).invert(); + + } + + this.updateCamera = function ( camera ) { + + if ( session === null ) return; + + cameraVR.near = cameraR.near = cameraL.near = camera.near; + cameraVR.far = cameraR.far = cameraL.far = camera.far; + + if ( _currentDepthNear !== cameraVR.near || _currentDepthFar !== cameraVR.far ) { + + // Note that the new renderState won't apply until the next frame. See #18320 + + session.updateRenderState( { + depthNear: cameraVR.near, + depthFar: cameraVR.far + } ); + + _currentDepthNear = cameraVR.near; + _currentDepthFar = cameraVR.far; + + } + + const parent = camera.parent; + const cameras = cameraVR.cameras; + + updateCamera( cameraVR, parent ); + + for ( let i = 0; i < cameras.length; i ++ ) { + + updateCamera( cameras[ i ], parent ); + + } + + cameraVR.matrixWorld.decompose( cameraVR.position, cameraVR.quaternion, cameraVR.scale ); + + // update user camera and its children + + camera.position.copy( cameraVR.position ); + camera.quaternion.copy( cameraVR.quaternion ); + camera.scale.copy( cameraVR.scale ); + camera.matrix.copy( cameraVR.matrix ); + camera.matrixWorld.copy( cameraVR.matrixWorld ); + + const children = camera.children; + + for ( let i = 0, l = children.length; i < l; i ++ ) { + + children[ i ].updateMatrixWorld( true ); + + } + + // update projection matrix for proper view frustum culling + + if ( cameras.length === 2 ) { + + setProjectionFromUnion( cameraVR, cameraL, cameraR ); + + } else { + + // assume single camera setup (AR) + + cameraVR.projectionMatrix.copy( cameraL.projectionMatrix ); + + } + + }; + + this.getCamera = function () { + + return cameraVR; + + }; + + this.getFoveation = function () { + + if ( glProjLayer !== null ) { + + return glProjLayer.fixedFoveation; + + } + + if ( glBaseLayer !== null ) { + + return glBaseLayer.fixedFoveation; + + } + + return undefined; + + }; + + this.setFoveation = function ( foveation ) { + + // 0 = no foveation = full resolution + // 1 = maximum foveation = the edges render at lower resolution + + if ( glProjLayer !== null ) { + + glProjLayer.fixedFoveation = foveation; + + } + + if ( glBaseLayer !== null && glBaseLayer.fixedFoveation !== undefined ) { + + glBaseLayer.fixedFoveation = foveation; + + } + + }; + + // Animation Loop + + let onAnimationFrameCallback = null; + + function onAnimationFrame( time, frame ) { + + pose = frame.getViewerPose( referenceSpace ); + xrFrame = frame; + + if ( pose !== null ) { + + const views = pose.views; + + if ( glBaseLayer !== null ) { + + renderer.setRenderTargetFramebuffer( newRenderTarget, glBaseLayer.framebuffer ); + renderer.setRenderTarget( newRenderTarget ); + + } + + let cameraVRNeedsUpdate = false; + + // check if it's necessary to rebuild cameraVR's camera list + + if ( views.length !== cameraVR.cameras.length ) { + + cameraVR.cameras.length = 0; + cameraVRNeedsUpdate = true; + + } + + for ( let i = 0; i < views.length; i ++ ) { + + const view = views[ i ]; + + let viewport = null; + + if ( glBaseLayer !== null ) { + + viewport = glBaseLayer.getViewport( view ); + + } else { + + const glSubImage = glBinding.getViewSubImage( glProjLayer, view ); + viewport = glSubImage.viewport; + + // For side-by-side projection, we only produce a single texture for both eyes. + if ( i === 0 ) { + + renderer.setRenderTargetTextures( + newRenderTarget, + glSubImage.colorTexture, + glProjLayer.ignoreDepthValues ? undefined : glSubImage.depthStencilTexture ); + + renderer.setRenderTarget( newRenderTarget ); + + } + + } + + const camera = cameras[ i ]; + + camera.matrix.fromArray( view.transform.matrix ); + camera.projectionMatrix.fromArray( view.projectionMatrix ); + camera.viewport.set( viewport.x, viewport.y, viewport.width, viewport.height ); + + if ( i === 0 ) { + + cameraVR.matrix.copy( camera.matrix ); + + } + + if ( cameraVRNeedsUpdate === true ) { + + cameraVR.cameras.push( camera ); + + } + + } + + } + + // + + const inputSources = session.inputSources; + + for ( let i = 0; i < controllers.length; i ++ ) { + + const controller = controllers[ i ]; + const inputSource = inputSources[ i ]; + + controller.update( inputSource, frame, referenceSpace ); + + } + + if ( onAnimationFrameCallback ) onAnimationFrameCallback( time, frame ); + + xrFrame = null; + + } + + const animation = new WebGLAnimation(); + + animation.setAnimationLoop( onAnimationFrame ); + + this.setAnimationLoop = function ( callback ) { + + onAnimationFrameCallback = callback; + + }; + + this.dispose = function () {}; + + } + +} + +function WebGLMaterials( properties ) { + + function refreshFogUniforms( uniforms, fog ) { + + uniforms.fogColor.value.copy( fog.color ); + + if ( fog.isFog ) { + + uniforms.fogNear.value = fog.near; + uniforms.fogFar.value = fog.far; + + } else if ( fog.isFogExp2 ) { + + uniforms.fogDensity.value = fog.density; + + } + + } + + function refreshMaterialUniforms( uniforms, material, pixelRatio, height, transmissionRenderTarget ) { + + if ( material.isMeshBasicMaterial ) { + + refreshUniformsCommon( uniforms, material ); + + } else if ( material.isMeshLambertMaterial ) { + + refreshUniformsCommon( uniforms, material ); + refreshUniformsLambert( uniforms, material ); + + } else if ( material.isMeshToonMaterial ) { + + refreshUniformsCommon( uniforms, material ); + refreshUniformsToon( uniforms, material ); + + } else if ( material.isMeshPhongMaterial ) { + + refreshUniformsCommon( uniforms, material ); + refreshUniformsPhong( uniforms, material ); + + } else if ( material.isMeshStandardMaterial ) { + + refreshUniformsCommon( uniforms, material ); + + if ( material.isMeshPhysicalMaterial ) { + + refreshUniformsPhysical( uniforms, material, transmissionRenderTarget ); + + } else { + + refreshUniformsStandard( uniforms, material ); + + } + + } else if ( material.isMeshMatcapMaterial ) { + + refreshUniformsCommon( uniforms, material ); + refreshUniformsMatcap( uniforms, material ); + + } else if ( material.isMeshDepthMaterial ) { + + refreshUniformsCommon( uniforms, material ); + refreshUniformsDepth( uniforms, material ); + + } else if ( material.isMeshDistanceMaterial ) { + + refreshUniformsCommon( uniforms, material ); + refreshUniformsDistance( uniforms, material ); + + } else if ( material.isMeshNormalMaterial ) { + + refreshUniformsCommon( uniforms, material ); + refreshUniformsNormal( uniforms, material ); + + } else if ( material.isLineBasicMaterial ) { + + refreshUniformsLine( uniforms, material ); + + if ( material.isLineDashedMaterial ) { + + refreshUniformsDash( uniforms, material ); + + } + + } else if ( material.isPointsMaterial ) { + + refreshUniformsPoints( uniforms, material, pixelRatio, height ); + + } else if ( material.isSpriteMaterial ) { + + refreshUniformsSprites( uniforms, material ); + + } else if ( material.isShadowMaterial ) { + + uniforms.color.value.copy( material.color ); + uniforms.opacity.value = material.opacity; + + } else if ( material.isShaderMaterial ) { + + material.uniformsNeedUpdate = false; // #15581 + + } + + } + + function refreshUniformsCommon( uniforms, material ) { + + uniforms.opacity.value = material.opacity; + + if ( material.color ) { + + uniforms.diffuse.value.copy( material.color ); + + } + + if ( material.emissive ) { + + uniforms.emissive.value.copy( material.emissive ).multiplyScalar( material.emissiveIntensity ); + + } + + if ( material.map ) { + + uniforms.map.value = material.map; + + } + + if ( material.alphaMap ) { + + uniforms.alphaMap.value = material.alphaMap; + + } + + if ( material.specularMap ) { + + uniforms.specularMap.value = material.specularMap; + + } + + if ( material.alphaTest > 0 ) { + + uniforms.alphaTest.value = material.alphaTest; + + } + + const envMap = properties.get( material ).envMap; + + if ( envMap ) { + + uniforms.envMap.value = envMap; + + uniforms.flipEnvMap.value = ( envMap.isCubeTexture && envMap.isRenderTargetTexture === false ) ? - 1 : 1; + + uniforms.reflectivity.value = material.reflectivity; + uniforms.ior.value = material.ior; + uniforms.refractionRatio.value = material.refractionRatio; + + } + + if ( material.lightMap ) { + + uniforms.lightMap.value = material.lightMap; + uniforms.lightMapIntensity.value = material.lightMapIntensity; + + } + + if ( material.aoMap ) { + + uniforms.aoMap.value = material.aoMap; + uniforms.aoMapIntensity.value = material.aoMapIntensity; + + } + + // uv repeat and offset setting priorities + // 1. color map + // 2. specular map + // 3. displacementMap map + // 4. normal map + // 5. bump map + // 6. roughnessMap map + // 7. metalnessMap map + // 8. alphaMap map + // 9. emissiveMap map + // 10. clearcoat map + // 11. clearcoat normal map + // 12. clearcoat roughnessMap map + // 13. specular intensity map + // 14. specular tint map + // 15. transmission map + // 16. thickness map + + let uvScaleMap; + + if ( material.map ) { + + uvScaleMap = material.map; + + } else if ( material.specularMap ) { + + uvScaleMap = material.specularMap; + + } else if ( material.displacementMap ) { + + uvScaleMap = material.displacementMap; + + } else if ( material.normalMap ) { + + uvScaleMap = material.normalMap; + + } else if ( material.bumpMap ) { + + uvScaleMap = material.bumpMap; + + } else if ( material.roughnessMap ) { + + uvScaleMap = material.roughnessMap; + + } else if ( material.metalnessMap ) { + + uvScaleMap = material.metalnessMap; + + } else if ( material.alphaMap ) { + + uvScaleMap = material.alphaMap; + + } else if ( material.emissiveMap ) { + + uvScaleMap = material.emissiveMap; + + } else if ( material.clearcoatMap ) { + + uvScaleMap = material.clearcoatMap; + + } else if ( material.clearcoatNormalMap ) { + + uvScaleMap = material.clearcoatNormalMap; + + } else if ( material.clearcoatRoughnessMap ) { + + uvScaleMap = material.clearcoatRoughnessMap; + + } else if ( material.specularIntensityMap ) { + + uvScaleMap = material.specularIntensityMap; + + } else if ( material.specularColorMap ) { + + uvScaleMap = material.specularColorMap; + + } else if ( material.transmissionMap ) { + + uvScaleMap = material.transmissionMap; + + } else if ( material.thicknessMap ) { + + uvScaleMap = material.thicknessMap; + + } else if ( material.sheenColorMap ) { + + uvScaleMap = material.sheenColorMap; + + } else if ( material.sheenRoughnessMap ) { + + uvScaleMap = material.sheenRoughnessMap; + + } + + if ( uvScaleMap !== undefined ) { + + // backwards compatibility + if ( uvScaleMap.isWebGLRenderTarget ) { + + uvScaleMap = uvScaleMap.texture; + + } + + if ( uvScaleMap.matrixAutoUpdate === true ) { + + uvScaleMap.updateMatrix(); + + } + + uniforms.uvTransform.value.copy( uvScaleMap.matrix ); + + } + + // uv repeat and offset setting priorities for uv2 + // 1. ao map + // 2. light map + + let uv2ScaleMap; + + if ( material.aoMap ) { + + uv2ScaleMap = material.aoMap; + + } else if ( material.lightMap ) { + + uv2ScaleMap = material.lightMap; + + } + + if ( uv2ScaleMap !== undefined ) { + + // backwards compatibility + if ( uv2ScaleMap.isWebGLRenderTarget ) { + + uv2ScaleMap = uv2ScaleMap.texture; + + } + + if ( uv2ScaleMap.matrixAutoUpdate === true ) { + + uv2ScaleMap.updateMatrix(); + + } + + uniforms.uv2Transform.value.copy( uv2ScaleMap.matrix ); + + } + + } + + function refreshUniformsLine( uniforms, material ) { + + uniforms.diffuse.value.copy( material.color ); + uniforms.opacity.value = material.opacity; + + } + + function refreshUniformsDash( uniforms, material ) { + + uniforms.dashSize.value = material.dashSize; + uniforms.totalSize.value = material.dashSize + material.gapSize; + uniforms.scale.value = material.scale; + + } + + function refreshUniformsPoints( uniforms, material, pixelRatio, height ) { + + uniforms.diffuse.value.copy( material.color ); + uniforms.opacity.value = material.opacity; + uniforms.size.value = material.size * pixelRatio; + uniforms.scale.value = height * 0.5; + + if ( material.map ) { + + uniforms.map.value = material.map; + + } + + if ( material.alphaMap ) { + + uniforms.alphaMap.value = material.alphaMap; + + } + + if ( material.alphaTest > 0 ) { + + uniforms.alphaTest.value = material.alphaTest; + + } + + // uv repeat and offset setting priorities + // 1. color map + // 2. alpha map + + let uvScaleMap; + + if ( material.map ) { + + uvScaleMap = material.map; + + } else if ( material.alphaMap ) { + + uvScaleMap = material.alphaMap; + + } + + if ( uvScaleMap !== undefined ) { + + if ( uvScaleMap.matrixAutoUpdate === true ) { + + uvScaleMap.updateMatrix(); + + } + + uniforms.uvTransform.value.copy( uvScaleMap.matrix ); + + } + + } + + function refreshUniformsSprites( uniforms, material ) { + + uniforms.diffuse.value.copy( material.color ); + uniforms.opacity.value = material.opacity; + uniforms.rotation.value = material.rotation; + + if ( material.map ) { + + uniforms.map.value = material.map; + + } + + if ( material.alphaMap ) { + + uniforms.alphaMap.value = material.alphaMap; + + } + + if ( material.alphaTest > 0 ) { + + uniforms.alphaTest.value = material.alphaTest; + + } + + // uv repeat and offset setting priorities + // 1. color map + // 2. alpha map + + let uvScaleMap; + + if ( material.map ) { + + uvScaleMap = material.map; + + } else if ( material.alphaMap ) { + + uvScaleMap = material.alphaMap; + + } + + if ( uvScaleMap !== undefined ) { + + if ( uvScaleMap.matrixAutoUpdate === true ) { + + uvScaleMap.updateMatrix(); + + } + + uniforms.uvTransform.value.copy( uvScaleMap.matrix ); + + } + + } + + function refreshUniformsLambert( uniforms, material ) { + + if ( material.emissiveMap ) { + + uniforms.emissiveMap.value = material.emissiveMap; + + } + + } + + function refreshUniformsPhong( uniforms, material ) { + + uniforms.specular.value.copy( material.specular ); + uniforms.shininess.value = Math.max( material.shininess, 1e-4 ); // to prevent pow( 0.0, 0.0 ) + + if ( material.emissiveMap ) { + + uniforms.emissiveMap.value = material.emissiveMap; + + } + + if ( material.bumpMap ) { + + uniforms.bumpMap.value = material.bumpMap; + uniforms.bumpScale.value = material.bumpScale; + if ( material.side === BackSide ) uniforms.bumpScale.value *= - 1; + + } + + if ( material.normalMap ) { + + uniforms.normalMap.value = material.normalMap; + uniforms.normalScale.value.copy( material.normalScale ); + if ( material.side === BackSide ) uniforms.normalScale.value.negate(); + + } + + if ( material.displacementMap ) { + + uniforms.displacementMap.value = material.displacementMap; + uniforms.displacementScale.value = material.displacementScale; + uniforms.displacementBias.value = material.displacementBias; + + } + + } + + function refreshUniformsToon( uniforms, material ) { + + if ( material.gradientMap ) { + + uniforms.gradientMap.value = material.gradientMap; + + } + + if ( material.emissiveMap ) { + + uniforms.emissiveMap.value = material.emissiveMap; + + } + + if ( material.bumpMap ) { + + uniforms.bumpMap.value = material.bumpMap; + uniforms.bumpScale.value = material.bumpScale; + if ( material.side === BackSide ) uniforms.bumpScale.value *= - 1; + + } + + if ( material.normalMap ) { + + uniforms.normalMap.value = material.normalMap; + uniforms.normalScale.value.copy( material.normalScale ); + if ( material.side === BackSide ) uniforms.normalScale.value.negate(); + + } + + if ( material.displacementMap ) { + + uniforms.displacementMap.value = material.displacementMap; + uniforms.displacementScale.value = material.displacementScale; + uniforms.displacementBias.value = material.displacementBias; + + } + + } + + function refreshUniformsStandard( uniforms, material ) { + + uniforms.roughness.value = material.roughness; + uniforms.metalness.value = material.metalness; + + if ( material.roughnessMap ) { + + uniforms.roughnessMap.value = material.roughnessMap; + + } + + if ( material.metalnessMap ) { + + uniforms.metalnessMap.value = material.metalnessMap; + + } + + if ( material.emissiveMap ) { + + uniforms.emissiveMap.value = material.emissiveMap; + + } + + if ( material.bumpMap ) { + + uniforms.bumpMap.value = material.bumpMap; + uniforms.bumpScale.value = material.bumpScale; + if ( material.side === BackSide ) uniforms.bumpScale.value *= - 1; + + } + + if ( material.normalMap ) { + + uniforms.normalMap.value = material.normalMap; + uniforms.normalScale.value.copy( material.normalScale ); + if ( material.side === BackSide ) uniforms.normalScale.value.negate(); + + } + + if ( material.displacementMap ) { + + uniforms.displacementMap.value = material.displacementMap; + uniforms.displacementScale.value = material.displacementScale; + uniforms.displacementBias.value = material.displacementBias; + + } + + const envMap = properties.get( material ).envMap; + + if ( envMap ) { + + //uniforms.envMap.value = material.envMap; // part of uniforms common + uniforms.envMapIntensity.value = material.envMapIntensity; + + } + + } + + function refreshUniformsPhysical( uniforms, material, transmissionRenderTarget ) { + + refreshUniformsStandard( uniforms, material ); + + uniforms.ior.value = material.ior; // also part of uniforms common + + if ( material.sheen > 0 ) { + + uniforms.sheenColor.value.copy( material.sheenColor ).multiplyScalar( material.sheen ); + + uniforms.sheenRoughness.value = material.sheenRoughness; + + if ( material.sheenColorMap ) { + + uniforms.sheenColorMap.value = material.sheenColorMap; + + } + + if ( material.sheenRoughnessMap ) { + + uniforms.sheenRoughnessMap.value = material.sheenRoughnessMap; + + } + + } + + if ( material.clearcoat > 0 ) { + + uniforms.clearcoat.value = material.clearcoat; + uniforms.clearcoatRoughness.value = material.clearcoatRoughness; + + if ( material.clearcoatMap ) { + + uniforms.clearcoatMap.value = material.clearcoatMap; + + } + + if ( material.clearcoatRoughnessMap ) { + + uniforms.clearcoatRoughnessMap.value = material.clearcoatRoughnessMap; + + } + + if ( material.clearcoatNormalMap ) { + + uniforms.clearcoatNormalScale.value.copy( material.clearcoatNormalScale ); + uniforms.clearcoatNormalMap.value = material.clearcoatNormalMap; + + if ( material.side === BackSide ) { + + uniforms.clearcoatNormalScale.value.negate(); + + } + + } + + } + + if ( material.transmission > 0 ) { + + uniforms.transmission.value = material.transmission; + uniforms.transmissionSamplerMap.value = transmissionRenderTarget.texture; + uniforms.transmissionSamplerSize.value.set( transmissionRenderTarget.width, transmissionRenderTarget.height ); + + if ( material.transmissionMap ) { + + uniforms.transmissionMap.value = material.transmissionMap; + + } + + uniforms.thickness.value = material.thickness; + + if ( material.thicknessMap ) { + + uniforms.thicknessMap.value = material.thicknessMap; + + } + + uniforms.attenuationDistance.value = material.attenuationDistance; + uniforms.attenuationColor.value.copy( material.attenuationColor ); + + } + + uniforms.specularIntensity.value = material.specularIntensity; + uniforms.specularColor.value.copy( material.specularColor ); + + if ( material.specularIntensityMap ) { + + uniforms.specularIntensityMap.value = material.specularIntensityMap; + + } + + if ( material.specularColorMap ) { + + uniforms.specularColorMap.value = material.specularColorMap; + + } + + } + + function refreshUniformsMatcap( uniforms, material ) { + + if ( material.matcap ) { + + uniforms.matcap.value = material.matcap; + + } + + if ( material.bumpMap ) { + + uniforms.bumpMap.value = material.bumpMap; + uniforms.bumpScale.value = material.bumpScale; + if ( material.side === BackSide ) uniforms.bumpScale.value *= - 1; + + } + + if ( material.normalMap ) { + + uniforms.normalMap.value = material.normalMap; + uniforms.normalScale.value.copy( material.normalScale ); + if ( material.side === BackSide ) uniforms.normalScale.value.negate(); + + } + + if ( material.displacementMap ) { + + uniforms.displacementMap.value = material.displacementMap; + uniforms.displacementScale.value = material.displacementScale; + uniforms.displacementBias.value = material.displacementBias; + + } + + } + + function refreshUniformsDepth( uniforms, material ) { + + if ( material.displacementMap ) { + + uniforms.displacementMap.value = material.displacementMap; + uniforms.displacementScale.value = material.displacementScale; + uniforms.displacementBias.value = material.displacementBias; + + } + + } + + function refreshUniformsDistance( uniforms, material ) { + + if ( material.displacementMap ) { + + uniforms.displacementMap.value = material.displacementMap; + uniforms.displacementScale.value = material.displacementScale; + uniforms.displacementBias.value = material.displacementBias; + + } + + uniforms.referencePosition.value.copy( material.referencePosition ); + uniforms.nearDistance.value = material.nearDistance; + uniforms.farDistance.value = material.farDistance; + + } + + function refreshUniformsNormal( uniforms, material ) { + + if ( material.bumpMap ) { + + uniforms.bumpMap.value = material.bumpMap; + uniforms.bumpScale.value = material.bumpScale; + if ( material.side === BackSide ) uniforms.bumpScale.value *= - 1; + + } + + if ( material.normalMap ) { + + uniforms.normalMap.value = material.normalMap; + uniforms.normalScale.value.copy( material.normalScale ); + if ( material.side === BackSide ) uniforms.normalScale.value.negate(); + + } + + if ( material.displacementMap ) { + + uniforms.displacementMap.value = material.displacementMap; + uniforms.displacementScale.value = material.displacementScale; + uniforms.displacementBias.value = material.displacementBias; + + } + + } + + return { + refreshFogUniforms: refreshFogUniforms, + refreshMaterialUniforms: refreshMaterialUniforms + }; + +} + +function createCanvasElement() { + + const canvas = createElementNS( 'canvas' ); + canvas.style.display = 'block'; + return canvas; + +} + +function WebGLRenderer( parameters = {} ) { + + const _canvas = parameters.canvas !== undefined ? parameters.canvas : createCanvasElement(), + _context = parameters.context !== undefined ? parameters.context : null, + + _alpha = parameters.alpha !== undefined ? parameters.alpha : false, + _depth = parameters.depth !== undefined ? parameters.depth : true, + _stencil = parameters.stencil !== undefined ? parameters.stencil : true, + _antialias = parameters.antialias !== undefined ? parameters.antialias : false, + _premultipliedAlpha = parameters.premultipliedAlpha !== undefined ? parameters.premultipliedAlpha : true, + _preserveDrawingBuffer = parameters.preserveDrawingBuffer !== undefined ? parameters.preserveDrawingBuffer : false, + _powerPreference = parameters.powerPreference !== undefined ? parameters.powerPreference : 'default', + _failIfMajorPerformanceCaveat = parameters.failIfMajorPerformanceCaveat !== undefined ? parameters.failIfMajorPerformanceCaveat : false; + + let currentRenderList = null; + let currentRenderState = null; + + // render() can be called from within a callback triggered by another render. + // We track this so that the nested render call gets its list and state isolated from the parent render call. + + const renderListStack = []; + const renderStateStack = []; + + // public properties + + this.domElement = _canvas; + + // Debug configuration container + this.debug = { + + /** + * Enables error checking and reporting when shader programs are being compiled + * @type {boolean} + */ + checkShaderErrors: true + }; + + // clearing + + this.autoClear = true; + this.autoClearColor = true; + this.autoClearDepth = true; + this.autoClearStencil = true; + + // scene graph + + this.sortObjects = true; + + // user-defined clipping + + this.clippingPlanes = []; + this.localClippingEnabled = false; + + // physically based shading + + this.outputEncoding = LinearEncoding; + + // physical lights + + this.physicallyCorrectLights = false; + + // tone mapping + + this.toneMapping = NoToneMapping; + this.toneMappingExposure = 1.0; + + // internal properties + + const _this = this; + + let _isContextLost = false; + + // internal state cache + + let _currentActiveCubeFace = 0; + let _currentActiveMipmapLevel = 0; + let _currentRenderTarget = null; + let _currentMaterialId = - 1; + + let _currentCamera = null; + + const _currentViewport = new Vector4(); + const _currentScissor = new Vector4(); + let _currentScissorTest = null; + + // + + let _width = _canvas.width; + let _height = _canvas.height; + + let _pixelRatio = 1; + let _opaqueSort = null; + let _transparentSort = null; + + const _viewport = new Vector4( 0, 0, _width, _height ); + const _scissor = new Vector4( 0, 0, _width, _height ); + let _scissorTest = false; + + // + + const _currentDrawBuffers = []; + + // frustum + + const _frustum = new Frustum(); + + // clipping + + let _clippingEnabled = false; + let _localClippingEnabled = false; + + // transmission + + let _transmissionRenderTarget = null; + + // camera matrices cache + + const _projScreenMatrix = new Matrix4(); + + const _vector3 = new Vector3(); + + const _emptyScene = { background: null, fog: null, environment: null, overrideMaterial: null, isScene: true }; + + function getTargetPixelRatio() { + + return _currentRenderTarget === null ? _pixelRatio : 1; + + } + + // initialize + + let _gl = _context; + + function getContext( contextNames, contextAttributes ) { + + for ( let i = 0; i < contextNames.length; i ++ ) { + + const contextName = contextNames[ i ]; + const context = _canvas.getContext( contextName, contextAttributes ); + if ( context !== null ) return context; + + } + + return null; + + } + + try { + + const contextAttributes = { + alpha: _alpha, + depth: _depth, + stencil: _stencil, + antialias: _antialias, + premultipliedAlpha: _premultipliedAlpha, + preserveDrawingBuffer: _preserveDrawingBuffer, + powerPreference: _powerPreference, + failIfMajorPerformanceCaveat: _failIfMajorPerformanceCaveat + }; + + // OffscreenCanvas does not have setAttribute, see #22811 + if ( 'setAttribute' in _canvas ) _canvas.setAttribute( 'data-engine', `three.js r${REVISION}` ); + + // event listeners must be registered before WebGL context is created, see #12753 + _canvas.addEventListener( 'webglcontextlost', onContextLost, false ); + _canvas.addEventListener( 'webglcontextrestored', onContextRestore, false ); + + if ( _gl === null ) { + + const contextNames = [ 'webgl2', 'webgl', 'experimental-webgl' ]; + + if ( _this.isWebGL1Renderer === true ) { + + contextNames.shift(); + + } + + _gl = getContext( contextNames, contextAttributes ); + + if ( _gl === null ) { + + if ( getContext( contextNames ) ) { + + throw new Error( 'Error creating WebGL context with your selected attributes.' ); + + } else { + + throw new Error( 'Error creating WebGL context.' ); + + } + + } + + } + + // Some experimental-webgl implementations do not have getShaderPrecisionFormat + + if ( _gl.getShaderPrecisionFormat === undefined ) { + + _gl.getShaderPrecisionFormat = function () { + + return { 'rangeMin': 1, 'rangeMax': 1, 'precision': 1 }; + + }; + + } + + } catch ( error ) { + + console.error( 'THREE.WebGLRenderer: ' + error.message ); + throw error; + + } + + let extensions, capabilities, state, info; + let properties, textures, cubemaps, cubeuvmaps, attributes, geometries, objects; + let programCache, materials, renderLists, renderStates, clipping, shadowMap; + + let background, morphtargets, bufferRenderer, indexedBufferRenderer; + + let utils, bindingStates; + + function initGLContext() { + + extensions = new WebGLExtensions( _gl ); + + capabilities = new WebGLCapabilities( _gl, extensions, parameters ); + + extensions.init( capabilities ); + + utils = new WebGLUtils( _gl, extensions, capabilities ); + + state = new WebGLState( _gl, extensions, capabilities ); + + _currentDrawBuffers[ 0 ] = 1029; + + info = new WebGLInfo( _gl ); + properties = new WebGLProperties(); + textures = new WebGLTextures( _gl, extensions, state, properties, capabilities, utils, info ); + cubemaps = new WebGLCubeMaps( _this ); + cubeuvmaps = new WebGLCubeUVMaps( _this ); + attributes = new WebGLAttributes( _gl, capabilities ); + bindingStates = new WebGLBindingStates( _gl, extensions, attributes, capabilities ); + geometries = new WebGLGeometries( _gl, attributes, info, bindingStates ); + objects = new WebGLObjects( _gl, geometries, attributes, info ); + morphtargets = new WebGLMorphtargets( _gl, capabilities, textures ); + clipping = new WebGLClipping( properties ); + programCache = new WebGLPrograms( _this, cubemaps, cubeuvmaps, extensions, capabilities, bindingStates, clipping ); + materials = new WebGLMaterials( properties ); + renderLists = new WebGLRenderLists(); + renderStates = new WebGLRenderStates( extensions, capabilities ); + background = new WebGLBackground( _this, cubemaps, state, objects, _premultipliedAlpha ); + shadowMap = new WebGLShadowMap( _this, objects, capabilities ); + + bufferRenderer = new WebGLBufferRenderer( _gl, extensions, info, capabilities ); + indexedBufferRenderer = new WebGLIndexedBufferRenderer( _gl, extensions, info, capabilities ); + + info.programs = programCache.programs; + + _this.capabilities = capabilities; + _this.extensions = extensions; + _this.properties = properties; + _this.renderLists = renderLists; + _this.shadowMap = shadowMap; + _this.state = state; + _this.info = info; + + } + + initGLContext(); + + // xr + + const xr = new WebXRManager( _this, _gl ); + + this.xr = xr; + + // API + + this.getContext = function () { + + return _gl; + + }; + + this.getContextAttributes = function () { + + return _gl.getContextAttributes(); + + }; + + this.forceContextLoss = function () { + + const extension = extensions.get( 'WEBGL_lose_context' ); + if ( extension ) extension.loseContext(); + + }; + + this.forceContextRestore = function () { + + const extension = extensions.get( 'WEBGL_lose_context' ); + if ( extension ) extension.restoreContext(); + + }; + + this.getPixelRatio = function () { + + return _pixelRatio; + + }; + + this.setPixelRatio = function ( value ) { + + if ( value === undefined ) return; + + _pixelRatio = value; + + this.setSize( _width, _height, false ); + + }; + + this.getSize = function ( target ) { + + return target.set( _width, _height ); + + }; + + this.setSize = function ( width, height, updateStyle ) { + + if ( xr.isPresenting ) { + + console.warn( 'THREE.WebGLRenderer: Can\'t change size while VR device is presenting.' ); + return; + + } + + _width = width; + _height = height; + + _canvas.width = Math.floor( width * _pixelRatio ); + _canvas.height = Math.floor( height * _pixelRatio ); + + if ( updateStyle !== false ) { + + _canvas.style.width = width + 'px'; + _canvas.style.height = height + 'px'; + + } + + this.setViewport( 0, 0, width, height ); + + }; + + this.getDrawingBufferSize = function ( target ) { + + return target.set( _width * _pixelRatio, _height * _pixelRatio ).floor(); + + }; + + this.setDrawingBufferSize = function ( width, height, pixelRatio ) { + + _width = width; + _height = height; + + _pixelRatio = pixelRatio; + + _canvas.width = Math.floor( width * pixelRatio ); + _canvas.height = Math.floor( height * pixelRatio ); + + this.setViewport( 0, 0, width, height ); + + }; + + this.getCurrentViewport = function ( target ) { + + return target.copy( _currentViewport ); + + }; + + this.getViewport = function ( target ) { + + return target.copy( _viewport ); + + }; + + this.setViewport = function ( x, y, width, height ) { + + if ( x.isVector4 ) { + + _viewport.set( x.x, x.y, x.z, x.w ); + + } else { + + _viewport.set( x, y, width, height ); + + } + + state.viewport( _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio ).floor() ); + + }; + + this.getScissor = function ( target ) { + + return target.copy( _scissor ); + + }; + + this.setScissor = function ( x, y, width, height ) { + + if ( x.isVector4 ) { + + _scissor.set( x.x, x.y, x.z, x.w ); + + } else { + + _scissor.set( x, y, width, height ); + + } + + state.scissor( _currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio ).floor() ); + + }; + + this.getScissorTest = function () { + + return _scissorTest; + + }; + + this.setScissorTest = function ( boolean ) { + + state.setScissorTest( _scissorTest = boolean ); + + }; + + this.setOpaqueSort = function ( method ) { + + _opaqueSort = method; + + }; + + this.setTransparentSort = function ( method ) { + + _transparentSort = method; + + }; + + // Clearing + + this.getClearColor = function ( target ) { + + return target.copy( background.getClearColor() ); + + }; + + this.setClearColor = function () { + + background.setClearColor.apply( background, arguments ); + + }; + + this.getClearAlpha = function () { + + return background.getClearAlpha(); + + }; + + this.setClearAlpha = function () { + + background.setClearAlpha.apply( background, arguments ); + + }; + + this.clear = function ( color, depth, stencil ) { + + let bits = 0; + + if ( color === undefined || color ) bits |= 16384; + if ( depth === undefined || depth ) bits |= 256; + if ( stencil === undefined || stencil ) bits |= 1024; + + _gl.clear( bits ); + + }; + + this.clearColor = function () { + + this.clear( true, false, false ); + + }; + + this.clearDepth = function () { + + this.clear( false, true, false ); + + }; + + this.clearStencil = function () { + + this.clear( false, false, true ); + + }; + + // + + this.dispose = function () { + + _canvas.removeEventListener( 'webglcontextlost', onContextLost, false ); + _canvas.removeEventListener( 'webglcontextrestored', onContextRestore, false ); + + renderLists.dispose(); + renderStates.dispose(); + properties.dispose(); + cubemaps.dispose(); + cubeuvmaps.dispose(); + objects.dispose(); + bindingStates.dispose(); + programCache.dispose(); + + xr.dispose(); + + xr.removeEventListener( 'sessionstart', onXRSessionStart ); + xr.removeEventListener( 'sessionend', onXRSessionEnd ); + + if ( _transmissionRenderTarget ) { + + _transmissionRenderTarget.dispose(); + _transmissionRenderTarget = null; + + } + + animation.stop(); + + }; + + // Events + + function onContextLost( event ) { + + event.preventDefault(); + + console.log( 'THREE.WebGLRenderer: Context Lost.' ); + + _isContextLost = true; + + } + + function onContextRestore( /* event */ ) { + + console.log( 'THREE.WebGLRenderer: Context Restored.' ); + + _isContextLost = false; + + const infoAutoReset = info.autoReset; + const shadowMapEnabled = shadowMap.enabled; + const shadowMapAutoUpdate = shadowMap.autoUpdate; + const shadowMapNeedsUpdate = shadowMap.needsUpdate; + const shadowMapType = shadowMap.type; + + initGLContext(); + + info.autoReset = infoAutoReset; + shadowMap.enabled = shadowMapEnabled; + shadowMap.autoUpdate = shadowMapAutoUpdate; + shadowMap.needsUpdate = shadowMapNeedsUpdate; + shadowMap.type = shadowMapType; + + } + + function onMaterialDispose( event ) { + + const material = event.target; + + material.removeEventListener( 'dispose', onMaterialDispose ); + + deallocateMaterial( material ); + + } + + // Buffer deallocation + + function deallocateMaterial( material ) { + + releaseMaterialProgramReferences( material ); + + properties.remove( material ); + + } + + + function releaseMaterialProgramReferences( material ) { + + const programs = properties.get( material ).programs; + + if ( programs !== undefined ) { + + programs.forEach( function ( program ) { + + programCache.releaseProgram( program ); + + } ); + + if ( material.isShaderMaterial ) { + + programCache.releaseShaderCache( material ); + + } + + } + + } + + // Buffer rendering + + this.renderBufferDirect = function ( camera, scene, geometry, material, object, group ) { + + if ( scene === null ) scene = _emptyScene; // renderBufferDirect second parameter used to be fog (could be null) + + const frontFaceCW = ( object.isMesh && object.matrixWorld.determinant() < 0 ); + + const program = setProgram( camera, scene, geometry, material, object ); + + state.setMaterial( material, frontFaceCW ); + + // + + let index = geometry.index; + const position = geometry.attributes.position; + + // + + if ( index === null ) { + + if ( position === undefined || position.count === 0 ) return; + + } else if ( index.count === 0 ) { + + return; + + } + + // + + let rangeFactor = 1; + + if ( material.wireframe === true ) { + + index = geometries.getWireframeAttribute( geometry ); + rangeFactor = 2; + + } + + bindingStates.setup( object, material, program, geometry, index ); + + let attribute; + let renderer = bufferRenderer; + + if ( index !== null ) { + + attribute = attributes.get( index ); + + renderer = indexedBufferRenderer; + renderer.setIndex( attribute ); + + } + + // + + const dataCount = ( index !== null ) ? index.count : position.count; + + const rangeStart = geometry.drawRange.start * rangeFactor; + const rangeCount = geometry.drawRange.count * rangeFactor; + + const groupStart = group !== null ? group.start * rangeFactor : 0; + const groupCount = group !== null ? group.count * rangeFactor : Infinity; + + const drawStart = Math.max( rangeStart, groupStart ); + const drawEnd = Math.min( dataCount, rangeStart + rangeCount, groupStart + groupCount ) - 1; + + const drawCount = Math.max( 0, drawEnd - drawStart + 1 ); + + if ( drawCount === 0 ) return; + + // + + if ( object.isMesh ) { + + if ( material.wireframe === true ) { + + state.setLineWidth( material.wireframeLinewidth * getTargetPixelRatio() ); + renderer.setMode( 1 ); + + } else { + + renderer.setMode( 4 ); + + } + + } else if ( object.isLine ) { + + let lineWidth = material.linewidth; + + if ( lineWidth === undefined ) lineWidth = 1; // Not using Line*Material + + state.setLineWidth( lineWidth * getTargetPixelRatio() ); + + if ( object.isLineSegments ) { + + renderer.setMode( 1 ); + + } else if ( object.isLineLoop ) { + + renderer.setMode( 2 ); + + } else { + + renderer.setMode( 3 ); + + } + + } else if ( object.isPoints ) { + + renderer.setMode( 0 ); + + } else if ( object.isSprite ) { + + renderer.setMode( 4 ); + + } + + if ( object.isInstancedMesh ) { + + renderer.renderInstances( drawStart, drawCount, object.count ); + + } else if ( geometry.isInstancedBufferGeometry ) { + + const instanceCount = Math.min( geometry.instanceCount, geometry._maxInstanceCount ); + + renderer.renderInstances( drawStart, drawCount, instanceCount ); + + } else { + + renderer.render( drawStart, drawCount ); + + } + + }; + + // Compile + + this.compile = function ( scene, camera ) { + + currentRenderState = renderStates.get( scene ); + currentRenderState.init(); + + renderStateStack.push( currentRenderState ); + + scene.traverseVisible( function ( object ) { + + if ( object.isLight && object.layers.test( camera.layers ) ) { + + currentRenderState.pushLight( object ); + + if ( object.castShadow ) { + + currentRenderState.pushShadow( object ); + + } + + } + + } ); + + currentRenderState.setupLights( _this.physicallyCorrectLights ); + + scene.traverse( function ( object ) { + + const material = object.material; + + if ( material ) { + + if ( Array.isArray( material ) ) { + + for ( let i = 0; i < material.length; i ++ ) { + + const material2 = material[ i ]; + + getProgram( material2, scene, object ); + + } + + } else { + + getProgram( material, scene, object ); + + } + + } + + } ); + + renderStateStack.pop(); + currentRenderState = null; + + }; + + // Animation Loop + + let onAnimationFrameCallback = null; + + function onAnimationFrame( time ) { + + if ( onAnimationFrameCallback ) onAnimationFrameCallback( time ); + + } + + function onXRSessionStart() { + + animation.stop(); + + } + + function onXRSessionEnd() { + + animation.start(); + + } + + const animation = new WebGLAnimation(); + animation.setAnimationLoop( onAnimationFrame ); + + if ( typeof window !== 'undefined' ) animation.setContext( window ); + + this.setAnimationLoop = function ( callback ) { + + onAnimationFrameCallback = callback; + xr.setAnimationLoop( callback ); + + ( callback === null ) ? animation.stop() : animation.start(); + + }; + + xr.addEventListener( 'sessionstart', onXRSessionStart ); + xr.addEventListener( 'sessionend', onXRSessionEnd ); + + // Rendering + + this.render = function ( scene, camera ) { + + if ( camera !== undefined && camera.isCamera !== true ) { + + console.error( 'THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.' ); + return; + + } + + if ( _isContextLost === true ) return; + + // update scene graph + + if ( scene.autoUpdate === true ) scene.updateMatrixWorld(); + + // update camera matrices and frustum + + if ( camera.parent === null ) camera.updateMatrixWorld(); + + if ( xr.enabled === true && xr.isPresenting === true ) { + + if ( xr.cameraAutoUpdate === true ) xr.updateCamera( camera ); + + camera = xr.getCamera(); // use XR camera for rendering + + } + + // + if ( scene.isScene === true ) scene.onBeforeRender( _this, scene, camera, _currentRenderTarget ); + + currentRenderState = renderStates.get( scene, renderStateStack.length ); + currentRenderState.init(); + + renderStateStack.push( currentRenderState ); + + _projScreenMatrix.multiplyMatrices( camera.projectionMatrix, camera.matrixWorldInverse ); + _frustum.setFromProjectionMatrix( _projScreenMatrix ); + + _localClippingEnabled = this.localClippingEnabled; + _clippingEnabled = clipping.init( this.clippingPlanes, _localClippingEnabled, camera ); + + currentRenderList = renderLists.get( scene, renderListStack.length ); + currentRenderList.init(); + + renderListStack.push( currentRenderList ); + + projectObject( scene, camera, 0, _this.sortObjects ); + + currentRenderList.finish(); + + if ( _this.sortObjects === true ) { + + currentRenderList.sort( _opaqueSort, _transparentSort ); + + } + + // + + if ( _clippingEnabled === true ) clipping.beginShadows(); + + const shadowsArray = currentRenderState.state.shadowsArray; + + shadowMap.render( shadowsArray, scene, camera ); + + if ( _clippingEnabled === true ) clipping.endShadows(); + + // + + if ( this.info.autoReset === true ) this.info.reset(); + + // + + background.render( currentRenderList, scene ); + + // render scene + + currentRenderState.setupLights( _this.physicallyCorrectLights ); + + if ( camera.isArrayCamera ) { + + const cameras = camera.cameras; + + for ( let i = 0, l = cameras.length; i < l; i ++ ) { + + const camera2 = cameras[ i ]; + + renderScene( currentRenderList, scene, camera2, camera2.viewport ); + + } + + } else { + + renderScene( currentRenderList, scene, camera ); + + } + + // + + if ( _currentRenderTarget !== null ) { + + // resolve multisample renderbuffers to a single-sample texture if necessary + + textures.updateMultisampleRenderTarget( _currentRenderTarget ); + + // Generate mipmap if we're using any kind of mipmap filtering + + textures.updateRenderTargetMipmap( _currentRenderTarget ); + + } + + // + + if ( scene.isScene === true ) scene.onAfterRender( _this, scene, camera ); + + // Ensure depth buffer writing is enabled so it can be cleared on next render + + state.buffers.depth.setTest( true ); + state.buffers.depth.setMask( true ); + state.buffers.color.setMask( true ); + + state.setPolygonOffset( false ); + + // _gl.finish(); + + bindingStates.resetDefaultState(); + _currentMaterialId = - 1; + _currentCamera = null; + + renderStateStack.pop(); + + if ( renderStateStack.length > 0 ) { + + currentRenderState = renderStateStack[ renderStateStack.length - 1 ]; + + } else { + + currentRenderState = null; + + } + + renderListStack.pop(); + + if ( renderListStack.length > 0 ) { + + currentRenderList = renderListStack[ renderListStack.length - 1 ]; + + } else { + + currentRenderList = null; + + } + + }; + + function projectObject( object, camera, groupOrder, sortObjects ) { + + if ( object.visible === false ) return; + + const visible = object.layers.test( camera.layers ); + + if ( visible ) { + + if ( object.isGroup ) { + + groupOrder = object.renderOrder; + + } else if ( object.isLOD ) { + + if ( object.autoUpdate === true ) object.update( camera ); + + } else if ( object.isLight ) { + + currentRenderState.pushLight( object ); + + if ( object.castShadow ) { + + currentRenderState.pushShadow( object ); + + } + + } else if ( object.isSprite ) { + + if ( ! object.frustumCulled || _frustum.intersectsSprite( object ) ) { + + if ( sortObjects ) { + + _vector3.setFromMatrixPosition( object.matrixWorld ) + .applyMatrix4( _projScreenMatrix ); + + } + + const geometry = objects.update( object ); + const material = object.material; + + if ( material.visible ) { + + currentRenderList.push( object, geometry, material, groupOrder, _vector3.z, null ); + + } + + } + + } else if ( object.isMesh || object.isLine || object.isPoints ) { + + if ( object.isSkinnedMesh ) { + + // update skeleton only once in a frame + + if ( object.skeleton.frame !== info.render.frame ) { + + object.skeleton.update(); + object.skeleton.frame = info.render.frame; + + } + + } + + if ( ! object.frustumCulled || _frustum.intersectsObject( object ) ) { + + if ( sortObjects ) { + + _vector3.setFromMatrixPosition( object.matrixWorld ) + .applyMatrix4( _projScreenMatrix ); + + } + + const geometry = objects.update( object ); + const material = object.material; + + if ( Array.isArray( material ) ) { + + const groups = geometry.groups; + + for ( let i = 0, l = groups.length; i < l; i ++ ) { + + const group = groups[ i ]; + const groupMaterial = material[ group.materialIndex ]; + + if ( groupMaterial && groupMaterial.visible ) { + + currentRenderList.push( object, geometry, groupMaterial, groupOrder, _vector3.z, group ); + + } + + } + + } else if ( material.visible ) { + + currentRenderList.push( object, geometry, material, groupOrder, _vector3.z, null ); + + } + + } + + } + + } + + const children = object.children; + + for ( let i = 0, l = children.length; i < l; i ++ ) { + + projectObject( children[ i ], camera, groupOrder, sortObjects ); + + } + + } + + function renderScene( currentRenderList, scene, camera, viewport ) { + + const opaqueObjects = currentRenderList.opaque; + const transmissiveObjects = currentRenderList.transmissive; + const transparentObjects = currentRenderList.transparent; + + currentRenderState.setupLightsView( camera ); + + if ( transmissiveObjects.length > 0 ) renderTransmissionPass( opaqueObjects, scene, camera ); + + if ( viewport ) state.viewport( _currentViewport.copy( viewport ) ); + + if ( opaqueObjects.length > 0 ) renderObjects( opaqueObjects, scene, camera ); + if ( transmissiveObjects.length > 0 ) renderObjects( transmissiveObjects, scene, camera ); + if ( transparentObjects.length > 0 ) renderObjects( transparentObjects, scene, camera ); + + } + + function renderTransmissionPass( opaqueObjects, scene, camera ) { + + if ( _transmissionRenderTarget === null ) { + + const needsAntialias = _antialias === true && capabilities.isWebGL2 === true; + const renderTargetType = needsAntialias ? WebGLMultisampleRenderTarget : WebGLRenderTarget; + + _transmissionRenderTarget = new renderTargetType( 1024, 1024, { + generateMipmaps: true, + type: utils.convert( HalfFloatType ) !== null ? HalfFloatType : UnsignedByteType, + minFilter: LinearMipmapLinearFilter, + magFilter: NearestFilter, + wrapS: ClampToEdgeWrapping, + wrapT: ClampToEdgeWrapping, + useRenderToTexture: extensions.has( 'WEBGL_multisampled_render_to_texture' ) + } ); + + } + + const currentRenderTarget = _this.getRenderTarget(); + _this.setRenderTarget( _transmissionRenderTarget ); + _this.clear(); + + // Turn off the features which can affect the frag color for opaque objects pass. + // Otherwise they are applied twice in opaque objects pass and transmission objects pass. + const currentToneMapping = _this.toneMapping; + _this.toneMapping = NoToneMapping; + + renderObjects( opaqueObjects, scene, camera ); + + _this.toneMapping = currentToneMapping; + + textures.updateMultisampleRenderTarget( _transmissionRenderTarget ); + textures.updateRenderTargetMipmap( _transmissionRenderTarget ); + + _this.setRenderTarget( currentRenderTarget ); + + } + + function renderObjects( renderList, scene, camera ) { + + const overrideMaterial = scene.isScene === true ? scene.overrideMaterial : null; + + for ( let i = 0, l = renderList.length; i < l; i ++ ) { + + const renderItem = renderList[ i ]; + + const object = renderItem.object; + const geometry = renderItem.geometry; + const material = overrideMaterial === null ? renderItem.material : overrideMaterial; + const group = renderItem.group; + + if ( object.layers.test( camera.layers ) ) { + + renderObject( object, scene, camera, geometry, material, group ); + + } + + } + + } + + function renderObject( object, scene, camera, geometry, material, group ) { + + object.onBeforeRender( _this, scene, camera, geometry, material, group ); + + object.modelViewMatrix.multiplyMatrices( camera.matrixWorldInverse, object.matrixWorld ); + object.normalMatrix.getNormalMatrix( object.modelViewMatrix ); + + material.onBeforeRender( _this, scene, camera, geometry, object, group ); + + if ( material.transparent === true && material.side === DoubleSide ) { + + material.side = BackSide; + material.needsUpdate = true; + _this.renderBufferDirect( camera, scene, geometry, material, object, group ); + + material.side = FrontSide; + material.needsUpdate = true; + _this.renderBufferDirect( camera, scene, geometry, material, object, group ); + + material.side = DoubleSide; + + } else { + + _this.renderBufferDirect( camera, scene, geometry, material, object, group ); + + } + + object.onAfterRender( _this, scene, camera, geometry, material, group ); + + } + + function getProgram( material, scene, object ) { + + if ( scene.isScene !== true ) scene = _emptyScene; // scene could be a Mesh, Line, Points, ... + + const materialProperties = properties.get( material ); + + const lights = currentRenderState.state.lights; + const shadowsArray = currentRenderState.state.shadowsArray; + + const lightsStateVersion = lights.state.version; + + const parameters = programCache.getParameters( material, lights.state, shadowsArray, scene, object ); + const programCacheKey = programCache.getProgramCacheKey( parameters ); + + let programs = materialProperties.programs; + + // always update environment and fog - changing these trigger an getProgram call, but it's possible that the program doesn't change + + materialProperties.environment = material.isMeshStandardMaterial ? scene.environment : null; + materialProperties.fog = scene.fog; + materialProperties.envMap = ( material.isMeshStandardMaterial ? cubeuvmaps : cubemaps ).get( material.envMap || materialProperties.environment ); + + if ( programs === undefined ) { + + // new material + + material.addEventListener( 'dispose', onMaterialDispose ); + + programs = new Map(); + materialProperties.programs = programs; + + } + + let program = programs.get( programCacheKey ); + + if ( program !== undefined ) { + + // early out if program and light state is identical + + if ( materialProperties.currentProgram === program && materialProperties.lightsStateVersion === lightsStateVersion ) { + + updateCommonMaterialProperties( material, parameters ); + + return program; + + } + + } else { + + parameters.uniforms = programCache.getUniforms( material ); + + material.onBuild( object, parameters, _this ); + + material.onBeforeCompile( parameters, _this ); + + program = programCache.acquireProgram( parameters, programCacheKey ); + programs.set( programCacheKey, program ); + + materialProperties.uniforms = parameters.uniforms; + + } + + const uniforms = materialProperties.uniforms; + + if ( ( ! material.isShaderMaterial && ! material.isRawShaderMaterial ) || material.clipping === true ) { + + uniforms.clippingPlanes = clipping.uniform; + + } + + updateCommonMaterialProperties( material, parameters ); + + // store the light setup it was created for + + materialProperties.needsLights = materialNeedsLights( material ); + materialProperties.lightsStateVersion = lightsStateVersion; + + if ( materialProperties.needsLights ) { + + // wire up the material to this renderer's lighting state + + uniforms.ambientLightColor.value = lights.state.ambient; + uniforms.lightProbe.value = lights.state.probe; + uniforms.directionalLights.value = lights.state.directional; + uniforms.directionalLightShadows.value = lights.state.directionalShadow; + uniforms.spotLights.value = lights.state.spot; + uniforms.spotLightShadows.value = lights.state.spotShadow; + uniforms.rectAreaLights.value = lights.state.rectArea; + uniforms.ltc_1.value = lights.state.rectAreaLTC1; + uniforms.ltc_2.value = lights.state.rectAreaLTC2; + uniforms.pointLights.value = lights.state.point; + uniforms.pointLightShadows.value = lights.state.pointShadow; + uniforms.hemisphereLights.value = lights.state.hemi; + + uniforms.directionalShadowMap.value = lights.state.directionalShadowMap; + uniforms.directionalShadowMatrix.value = lights.state.directionalShadowMatrix; + uniforms.spotShadowMap.value = lights.state.spotShadowMap; + uniforms.spotShadowMatrix.value = lights.state.spotShadowMatrix; + uniforms.pointShadowMap.value = lights.state.pointShadowMap; + uniforms.pointShadowMatrix.value = lights.state.pointShadowMatrix; + // TODO (abelnation): add area lights shadow info to uniforms + + } + + const progUniforms = program.getUniforms(); + const uniformsList = WebGLUniforms.seqWithValue( progUniforms.seq, uniforms ); + + materialProperties.currentProgram = program; + materialProperties.uniformsList = uniformsList; + + return program; + + } + + function updateCommonMaterialProperties( material, parameters ) { + + const materialProperties = properties.get( material ); + + materialProperties.outputEncoding = parameters.outputEncoding; + materialProperties.instancing = parameters.instancing; + materialProperties.skinning = parameters.skinning; + materialProperties.morphTargets = parameters.morphTargets; + materialProperties.morphNormals = parameters.morphNormals; + materialProperties.morphTargetsCount = parameters.morphTargetsCount; + materialProperties.numClippingPlanes = parameters.numClippingPlanes; + materialProperties.numIntersection = parameters.numClipIntersection; + materialProperties.vertexAlphas = parameters.vertexAlphas; + materialProperties.vertexTangents = parameters.vertexTangents; + materialProperties.toneMapping = parameters.toneMapping; + + } + + function setProgram( camera, scene, geometry, material, object ) { + + if ( scene.isScene !== true ) scene = _emptyScene; // scene could be a Mesh, Line, Points, ... + + textures.resetTextureUnits(); + + const fog = scene.fog; + const environment = material.isMeshStandardMaterial ? scene.environment : null; + const encoding = ( _currentRenderTarget === null ) ? _this.outputEncoding : _currentRenderTarget.texture.encoding; + const envMap = ( material.isMeshStandardMaterial ? cubeuvmaps : cubemaps ).get( material.envMap || environment ); + const vertexAlphas = material.vertexColors === true && !! geometry.attributes.color && geometry.attributes.color.itemSize === 4; + const vertexTangents = !! material.normalMap && !! geometry.attributes.tangent; + const morphTargets = !! geometry.morphAttributes.position; + const morphNormals = !! geometry.morphAttributes.normal; + const morphTargetsCount = !! geometry.morphAttributes.position ? geometry.morphAttributes.position.length : 0; + const toneMapping = material.toneMapped ? _this.toneMapping : NoToneMapping; + + const materialProperties = properties.get( material ); + const lights = currentRenderState.state.lights; + + if ( _clippingEnabled === true ) { + + if ( _localClippingEnabled === true || camera !== _currentCamera ) { + + const useCache = + camera === _currentCamera && + material.id === _currentMaterialId; + + // we might want to call this function with some ClippingGroup + // object instead of the material, once it becomes feasible + // (#8465, #8379) + clipping.setState( material, camera, useCache ); + + } + + } + + // + + let needsProgramChange = false; + + if ( material.version === materialProperties.__version ) { + + if ( materialProperties.needsLights && ( materialProperties.lightsStateVersion !== lights.state.version ) ) { + + needsProgramChange = true; + + } else if ( materialProperties.outputEncoding !== encoding ) { + + needsProgramChange = true; + + } else if ( object.isInstancedMesh && materialProperties.instancing === false ) { + + needsProgramChange = true; + + } else if ( ! object.isInstancedMesh && materialProperties.instancing === true ) { + + needsProgramChange = true; + + } else if ( object.isSkinnedMesh && materialProperties.skinning === false ) { + + needsProgramChange = true; + + } else if ( ! object.isSkinnedMesh && materialProperties.skinning === true ) { + + needsProgramChange = true; + + } else if ( materialProperties.envMap !== envMap ) { + + needsProgramChange = true; + + } else if ( material.fog && materialProperties.fog !== fog ) { + + needsProgramChange = true; + + } else if ( materialProperties.numClippingPlanes !== undefined && + ( materialProperties.numClippingPlanes !== clipping.numPlanes || + materialProperties.numIntersection !== clipping.numIntersection ) ) { + + needsProgramChange = true; + + } else if ( materialProperties.vertexAlphas !== vertexAlphas ) { + + needsProgramChange = true; + + } else if ( materialProperties.vertexTangents !== vertexTangents ) { + + needsProgramChange = true; + + } else if ( materialProperties.morphTargets !== morphTargets ) { + + needsProgramChange = true; + + } else if ( materialProperties.morphNormals !== morphNormals ) { + + needsProgramChange = true; + + } else if ( materialProperties.toneMapping !== toneMapping ) { + + needsProgramChange = true; + + } else if ( capabilities.isWebGL2 === true && materialProperties.morphTargetsCount !== morphTargetsCount ) { + + needsProgramChange = true; + + } + + } else { + + needsProgramChange = true; + materialProperties.__version = material.version; + + } + + // + + let program = materialProperties.currentProgram; + + if ( needsProgramChange === true ) { + + program = getProgram( material, scene, object ); + + } + + let refreshProgram = false; + let refreshMaterial = false; + let refreshLights = false; + + const p_uniforms = program.getUniforms(), + m_uniforms = materialProperties.uniforms; + + if ( state.useProgram( program.program ) ) { + + refreshProgram = true; + refreshMaterial = true; + refreshLights = true; + + } + + if ( material.id !== _currentMaterialId ) { + + _currentMaterialId = material.id; + + refreshMaterial = true; + + } + + if ( refreshProgram || _currentCamera !== camera ) { + + p_uniforms.setValue( _gl, 'projectionMatrix', camera.projectionMatrix ); + + if ( capabilities.logarithmicDepthBuffer ) { + + p_uniforms.setValue( _gl, 'logDepthBufFC', + 2.0 / ( Math.log( camera.far + 1.0 ) / Math.LN2 ) ); + + } + + if ( _currentCamera !== camera ) { + + _currentCamera = camera; + + // lighting uniforms depend on the camera so enforce an update + // now, in case this material supports lights - or later, when + // the next material that does gets activated: + + refreshMaterial = true; // set to true on material change + refreshLights = true; // remains set until update done + + } + + // load material specific uniforms + // (shader material also gets them for the sake of genericity) + + if ( material.isShaderMaterial || + material.isMeshPhongMaterial || + material.isMeshToonMaterial || + material.isMeshStandardMaterial || + material.envMap ) { + + const uCamPos = p_uniforms.map.cameraPosition; + + if ( uCamPos !== undefined ) { + + uCamPos.setValue( _gl, + _vector3.setFromMatrixPosition( camera.matrixWorld ) ); + + } + + } + + if ( material.isMeshPhongMaterial || + material.isMeshToonMaterial || + material.isMeshLambertMaterial || + material.isMeshBasicMaterial || + material.isMeshStandardMaterial || + material.isShaderMaterial ) { + + p_uniforms.setValue( _gl, 'isOrthographic', camera.isOrthographicCamera === true ); + + } + + if ( material.isMeshPhongMaterial || + material.isMeshToonMaterial || + material.isMeshLambertMaterial || + material.isMeshBasicMaterial || + material.isMeshStandardMaterial || + material.isShaderMaterial || + material.isShadowMaterial || + object.isSkinnedMesh ) { + + p_uniforms.setValue( _gl, 'viewMatrix', camera.matrixWorldInverse ); + + } + + } + + // skinning and morph target uniforms must be set even if material didn't change + // auto-setting of texture unit for bone and morph texture must go before other textures + // otherwise textures used for skinning and morphing can take over texture units reserved for other material textures + + if ( object.isSkinnedMesh ) { + + p_uniforms.setOptional( _gl, object, 'bindMatrix' ); + p_uniforms.setOptional( _gl, object, 'bindMatrixInverse' ); + + const skeleton = object.skeleton; + + if ( skeleton ) { + + if ( capabilities.floatVertexTextures ) { + + if ( skeleton.boneTexture === null ) skeleton.computeBoneTexture(); + + p_uniforms.setValue( _gl, 'boneTexture', skeleton.boneTexture, textures ); + p_uniforms.setValue( _gl, 'boneTextureSize', skeleton.boneTextureSize ); + + } else { + + p_uniforms.setOptional( _gl, skeleton, 'boneMatrices' ); + + } + + } + + } + + if ( !! geometry && ( geometry.morphAttributes.position !== undefined || geometry.morphAttributes.normal !== undefined ) ) { + + morphtargets.update( object, geometry, material, program ); + + } + + + if ( refreshMaterial || materialProperties.receiveShadow !== object.receiveShadow ) { + + materialProperties.receiveShadow = object.receiveShadow; + p_uniforms.setValue( _gl, 'receiveShadow', object.receiveShadow ); + + } + + if ( refreshMaterial ) { + + p_uniforms.setValue( _gl, 'toneMappingExposure', _this.toneMappingExposure ); + + if ( materialProperties.needsLights ) { + + // the current material requires lighting info + + // note: all lighting uniforms are always set correctly + // they simply reference the renderer's state for their + // values + // + // use the current material's .needsUpdate flags to set + // the GL state when required + + markUniformsLightsNeedsUpdate( m_uniforms, refreshLights ); + + } + + // refresh uniforms common to several materials + + if ( fog && material.fog ) { + + materials.refreshFogUniforms( m_uniforms, fog ); + + } + + materials.refreshMaterialUniforms( m_uniforms, material, _pixelRatio, _height, _transmissionRenderTarget ); + + WebGLUniforms.upload( _gl, materialProperties.uniformsList, m_uniforms, textures ); + + } + + if ( material.isShaderMaterial && material.uniformsNeedUpdate === true ) { + + WebGLUniforms.upload( _gl, materialProperties.uniformsList, m_uniforms, textures ); + material.uniformsNeedUpdate = false; + + } + + if ( material.isSpriteMaterial ) { + + p_uniforms.setValue( _gl, 'center', object.center ); + + } + + // common matrices + + p_uniforms.setValue( _gl, 'modelViewMatrix', object.modelViewMatrix ); + p_uniforms.setValue( _gl, 'normalMatrix', object.normalMatrix ); + p_uniforms.setValue( _gl, 'modelMatrix', object.matrixWorld ); + + return program; + + } + + // If uniforms are marked as clean, they don't need to be loaded to the GPU. + + function markUniformsLightsNeedsUpdate( uniforms, value ) { + + uniforms.ambientLightColor.needsUpdate = value; + uniforms.lightProbe.needsUpdate = value; + + uniforms.directionalLights.needsUpdate = value; + uniforms.directionalLightShadows.needsUpdate = value; + uniforms.pointLights.needsUpdate = value; + uniforms.pointLightShadows.needsUpdate = value; + uniforms.spotLights.needsUpdate = value; + uniforms.spotLightShadows.needsUpdate = value; + uniforms.rectAreaLights.needsUpdate = value; + uniforms.hemisphereLights.needsUpdate = value; + + } + + function materialNeedsLights( material ) { + + return material.isMeshLambertMaterial || material.isMeshToonMaterial || material.isMeshPhongMaterial || + material.isMeshStandardMaterial || material.isShadowMaterial || + ( material.isShaderMaterial && material.lights === true ); + + } + + this.getActiveCubeFace = function () { + + return _currentActiveCubeFace; + + }; + + this.getActiveMipmapLevel = function () { + + return _currentActiveMipmapLevel; + + }; + + this.getRenderTarget = function () { + + return _currentRenderTarget; + + }; + + this.setRenderTargetTextures = function ( renderTarget, colorTexture, depthTexture ) { + + properties.get( renderTarget.texture ).__webglTexture = colorTexture; + properties.get( renderTarget.depthTexture ).__webglTexture = depthTexture; + + const renderTargetProperties = properties.get( renderTarget ); + renderTargetProperties.__hasExternalTextures = true; + + if ( renderTargetProperties.__hasExternalTextures ) { + + renderTargetProperties.__autoAllocateDepthBuffer = depthTexture === undefined; + + if ( ! renderTargetProperties.__autoAllocateDepthBuffer ) { + + // The multisample_render_to_texture extension doesn't work properly if there + // are midframe flushes and an external depth buffer. Disable use of the extension. + if ( renderTarget.useRenderToTexture ) { + + console.warn( 'render-to-texture extension was disabled because an external texture was provided' ); + renderTarget.useRenderToTexture = false; + renderTarget.useRenderbuffer = true; + + } + + } + + } + + }; + + this.setRenderTargetFramebuffer = function ( renderTarget, defaultFramebuffer ) { + + const renderTargetProperties = properties.get( renderTarget ); + renderTargetProperties.__webglFramebuffer = defaultFramebuffer; + renderTargetProperties.__useDefaultFramebuffer = defaultFramebuffer === undefined; + + }; + + this.setRenderTarget = function ( renderTarget, activeCubeFace = 0, activeMipmapLevel = 0 ) { + + _currentRenderTarget = renderTarget; + _currentActiveCubeFace = activeCubeFace; + _currentActiveMipmapLevel = activeMipmapLevel; + let useDefaultFramebuffer = true; + + if ( renderTarget ) { + + const renderTargetProperties = properties.get( renderTarget ); + + if ( renderTargetProperties.__useDefaultFramebuffer !== undefined ) { + + // We need to make sure to rebind the framebuffer. + state.bindFramebuffer( 36160, null ); + useDefaultFramebuffer = false; + + } else if ( renderTargetProperties.__webglFramebuffer === undefined ) { + + textures.setupRenderTarget( renderTarget ); + + } else if ( renderTargetProperties.__hasExternalTextures ) { + + // Color and depth texture must be rebound in order for the swapchain to update. + textures.rebindTextures( renderTarget, properties.get( renderTarget.texture ).__webglTexture, properties.get( renderTarget.depthTexture ).__webglTexture ); + + } + + } + + let framebuffer = null; + let isCube = false; + let isRenderTarget3D = false; + + if ( renderTarget ) { + + const texture = renderTarget.texture; + + if ( texture.isDataTexture3D || texture.isDataTexture2DArray ) { + + isRenderTarget3D = true; + + } + + const __webglFramebuffer = properties.get( renderTarget ).__webglFramebuffer; + + if ( renderTarget.isWebGLCubeRenderTarget ) { + + framebuffer = __webglFramebuffer[ activeCubeFace ]; + isCube = true; + + } else if ( renderTarget.useRenderbuffer ) { + + framebuffer = properties.get( renderTarget ).__webglMultisampledFramebuffer; + + } else { + + framebuffer = __webglFramebuffer; + + } + + _currentViewport.copy( renderTarget.viewport ); + _currentScissor.copy( renderTarget.scissor ); + _currentScissorTest = renderTarget.scissorTest; + + } else { + + _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio ).floor(); + _currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio ).floor(); + _currentScissorTest = _scissorTest; + + } + + const framebufferBound = state.bindFramebuffer( 36160, framebuffer ); + + if ( framebufferBound && capabilities.drawBuffers && useDefaultFramebuffer ) { + + let needsUpdate = false; + + if ( renderTarget ) { + + if ( renderTarget.isWebGLMultipleRenderTargets ) { + + const textures = renderTarget.texture; + + if ( _currentDrawBuffers.length !== textures.length || _currentDrawBuffers[ 0 ] !== 36064 ) { + + for ( let i = 0, il = textures.length; i < il; i ++ ) { + + _currentDrawBuffers[ i ] = 36064 + i; + + } + + _currentDrawBuffers.length = textures.length; + + needsUpdate = true; + + } + + } else { + + if ( _currentDrawBuffers.length !== 1 || _currentDrawBuffers[ 0 ] !== 36064 ) { + + _currentDrawBuffers[ 0 ] = 36064; + _currentDrawBuffers.length = 1; + + needsUpdate = true; + + } + + } + + } else { + + if ( _currentDrawBuffers.length !== 1 || _currentDrawBuffers[ 0 ] !== 1029 ) { + + _currentDrawBuffers[ 0 ] = 1029; + _currentDrawBuffers.length = 1; + + needsUpdate = true; + + } + + } + + if ( needsUpdate ) { + + if ( capabilities.isWebGL2 ) { + + _gl.drawBuffers( _currentDrawBuffers ); + + } else { + + extensions.get( 'WEBGL_draw_buffers' ).drawBuffersWEBGL( _currentDrawBuffers ); + + } + + } + + } + + state.viewport( _currentViewport ); + state.scissor( _currentScissor ); + state.setScissorTest( _currentScissorTest ); + + if ( isCube ) { + + const textureProperties = properties.get( renderTarget.texture ); + _gl.framebufferTexture2D( 36160, 36064, 34069 + activeCubeFace, textureProperties.__webglTexture, activeMipmapLevel ); + + } else if ( isRenderTarget3D ) { + + const textureProperties = properties.get( renderTarget.texture ); + const layer = activeCubeFace || 0; + _gl.framebufferTextureLayer( 36160, 36064, textureProperties.__webglTexture, activeMipmapLevel || 0, layer ); + + } + + _currentMaterialId = - 1; // reset current material to ensure correct uniform bindings + + }; + + this.readRenderTargetPixels = function ( renderTarget, x, y, width, height, buffer, activeCubeFaceIndex ) { + + if ( ! ( renderTarget && renderTarget.isWebGLRenderTarget ) ) { + + console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.' ); + return; + + } + + let framebuffer = properties.get( renderTarget ).__webglFramebuffer; + + if ( renderTarget.isWebGLCubeRenderTarget && activeCubeFaceIndex !== undefined ) { + + framebuffer = framebuffer[ activeCubeFaceIndex ]; + + } + + if ( framebuffer ) { + + state.bindFramebuffer( 36160, framebuffer ); + + try { + + const texture = renderTarget.texture; + const textureFormat = texture.format; + const textureType = texture.type; + + if ( textureFormat !== RGBAFormat && utils.convert( textureFormat ) !== _gl.getParameter( 35739 ) ) { + + console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.' ); + return; + + } + + const halfFloatSupportedByExt = ( textureType === HalfFloatType ) && ( extensions.has( 'EXT_color_buffer_half_float' ) || ( capabilities.isWebGL2 && extensions.has( 'EXT_color_buffer_float' ) ) ); + + if ( textureType !== UnsignedByteType && utils.convert( textureType ) !== _gl.getParameter( 35738 ) && // Edge and Chrome Mac < 52 (#9513) + ! ( textureType === FloatType && ( capabilities.isWebGL2 || extensions.has( 'OES_texture_float' ) || extensions.has( 'WEBGL_color_buffer_float' ) ) ) && // Chrome Mac >= 52 and Firefox + ! halfFloatSupportedByExt ) { + + console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.' ); + return; + + } + + if ( _gl.checkFramebufferStatus( 36160 ) === 36053 ) { + + // the following if statement ensures valid read requests (no out-of-bounds pixels, see #8604) + + if ( ( x >= 0 && x <= ( renderTarget.width - width ) ) && ( y >= 0 && y <= ( renderTarget.height - height ) ) ) { + + _gl.readPixels( x, y, width, height, utils.convert( textureFormat ), utils.convert( textureType ), buffer ); + + } + + } else { + + console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.' ); + + } + + } finally { + + // restore framebuffer of current render target if necessary + + const framebuffer = ( _currentRenderTarget !== null ) ? properties.get( _currentRenderTarget ).__webglFramebuffer : null; + state.bindFramebuffer( 36160, framebuffer ); + + } + + } + + }; + + this.copyFramebufferToTexture = function ( position, texture, level = 0 ) { + + if ( texture.isFramebufferTexture !== true ) { + + console.error( 'THREE.WebGLRenderer: copyFramebufferToTexture() can only be used with FramebufferTexture.' ); + return; + + } + + const levelScale = Math.pow( 2, - level ); + const width = Math.floor( texture.image.width * levelScale ); + const height = Math.floor( texture.image.height * levelScale ); + + textures.setTexture2D( texture, 0 ); + + _gl.copyTexSubImage2D( 3553, level, 0, 0, position.x, position.y, width, height ); + + state.unbindTexture(); + + }; + + this.copyTextureToTexture = function ( position, srcTexture, dstTexture, level = 0 ) { + + const width = srcTexture.image.width; + const height = srcTexture.image.height; + const glFormat = utils.convert( dstTexture.format ); + const glType = utils.convert( dstTexture.type ); + + textures.setTexture2D( dstTexture, 0 ); + + // As another texture upload may have changed pixelStorei + // parameters, make sure they are correct for the dstTexture + _gl.pixelStorei( 37440, dstTexture.flipY ); + _gl.pixelStorei( 37441, dstTexture.premultiplyAlpha ); + _gl.pixelStorei( 3317, dstTexture.unpackAlignment ); + + if ( srcTexture.isDataTexture ) { + + _gl.texSubImage2D( 3553, level, position.x, position.y, width, height, glFormat, glType, srcTexture.image.data ); + + } else { + + if ( srcTexture.isCompressedTexture ) { + + _gl.compressedTexSubImage2D( 3553, level, position.x, position.y, srcTexture.mipmaps[ 0 ].width, srcTexture.mipmaps[ 0 ].height, glFormat, srcTexture.mipmaps[ 0 ].data ); + + } else { + + _gl.texSubImage2D( 3553, level, position.x, position.y, glFormat, glType, srcTexture.image ); + + } + + } + + // Generate mipmaps only when copying level 0 + if ( level === 0 && dstTexture.generateMipmaps ) _gl.generateMipmap( 3553 ); + + state.unbindTexture(); + + }; + + this.copyTextureToTexture3D = function ( sourceBox, position, srcTexture, dstTexture, level = 0 ) { + + if ( _this.isWebGL1Renderer ) { + + console.warn( 'THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.' ); + return; + + } + + const width = sourceBox.max.x - sourceBox.min.x + 1; + const height = sourceBox.max.y - sourceBox.min.y + 1; + const depth = sourceBox.max.z - sourceBox.min.z + 1; + const glFormat = utils.convert( dstTexture.format ); + const glType = utils.convert( dstTexture.type ); + let glTarget; + + if ( dstTexture.isDataTexture3D ) { + + textures.setTexture3D( dstTexture, 0 ); + glTarget = 32879; + + } else if ( dstTexture.isDataTexture2DArray ) { + + textures.setTexture2DArray( dstTexture, 0 ); + glTarget = 35866; + + } else { + + console.warn( 'THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.' ); + return; + + } + + _gl.pixelStorei( 37440, dstTexture.flipY ); + _gl.pixelStorei( 37441, dstTexture.premultiplyAlpha ); + _gl.pixelStorei( 3317, dstTexture.unpackAlignment ); + + const unpackRowLen = _gl.getParameter( 3314 ); + const unpackImageHeight = _gl.getParameter( 32878 ); + const unpackSkipPixels = _gl.getParameter( 3316 ); + const unpackSkipRows = _gl.getParameter( 3315 ); + const unpackSkipImages = _gl.getParameter( 32877 ); + + const image = srcTexture.isCompressedTexture ? srcTexture.mipmaps[ 0 ] : srcTexture.image; + + _gl.pixelStorei( 3314, image.width ); + _gl.pixelStorei( 32878, image.height ); + _gl.pixelStorei( 3316, sourceBox.min.x ); + _gl.pixelStorei( 3315, sourceBox.min.y ); + _gl.pixelStorei( 32877, sourceBox.min.z ); + + if ( srcTexture.isDataTexture || srcTexture.isDataTexture3D ) { + + _gl.texSubImage3D( glTarget, level, position.x, position.y, position.z, width, height, depth, glFormat, glType, image.data ); + + } else { + + if ( srcTexture.isCompressedTexture ) { + + console.warn( 'THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture.' ); + _gl.compressedTexSubImage3D( glTarget, level, position.x, position.y, position.z, width, height, depth, glFormat, image.data ); + + } else { + + _gl.texSubImage3D( glTarget, level, position.x, position.y, position.z, width, height, depth, glFormat, glType, image ); + + } + + } + + _gl.pixelStorei( 3314, unpackRowLen ); + _gl.pixelStorei( 32878, unpackImageHeight ); + _gl.pixelStorei( 3316, unpackSkipPixels ); + _gl.pixelStorei( 3315, unpackSkipRows ); + _gl.pixelStorei( 32877, unpackSkipImages ); + + // Generate mipmaps only when copying level 0 + if ( level === 0 && dstTexture.generateMipmaps ) _gl.generateMipmap( glTarget ); + + state.unbindTexture(); + + }; + + this.initTexture = function ( texture ) { + + textures.setTexture2D( texture, 0 ); + + state.unbindTexture(); + + }; + + this.resetState = function () { + + _currentActiveCubeFace = 0; + _currentActiveMipmapLevel = 0; + _currentRenderTarget = null; + + state.reset(); + bindingStates.reset(); + + }; + + if ( typeof __THREE_DEVTOOLS__ !== 'undefined' ) { + + __THREE_DEVTOOLS__.dispatchEvent( new CustomEvent( 'observe', { detail: this } ) ); + + } + +} + +WebGLRenderer.prototype.isWebGLRenderer = true; + +class WebGL1Renderer extends WebGLRenderer {} + +WebGL1Renderer.prototype.isWebGL1Renderer = true; + +class FogExp2 { + + constructor( color, density = 0.00025 ) { + + this.name = ''; + + this.color = new Color( color ); + this.density = density; + + } + + clone() { + + return new FogExp2( this.color, this.density ); + + } + + toJSON( /* meta */ ) { + + return { + type: 'FogExp2', + color: this.color.getHex(), + density: this.density + }; + + } + +} + +FogExp2.prototype.isFogExp2 = true; + +class Fog { + + constructor( color, near = 1, far = 1000 ) { + + this.name = ''; + + this.color = new Color( color ); + + this.near = near; + this.far = far; + + } + + clone() { + + return new Fog( this.color, this.near, this.far ); + + } + + toJSON( /* meta */ ) { + + return { + type: 'Fog', + color: this.color.getHex(), + near: this.near, + far: this.far + }; + + } + +} + +Fog.prototype.isFog = true; + +class Scene extends Object3D { + + constructor() { + + super(); + + this.type = 'Scene'; + + this.background = null; + this.environment = null; + this.fog = null; + + this.overrideMaterial = null; + + this.autoUpdate = true; // checked by the renderer + + if ( typeof __THREE_DEVTOOLS__ !== 'undefined' ) { + + __THREE_DEVTOOLS__.dispatchEvent( new CustomEvent( 'observe', { detail: this } ) ); + + } + + } + + copy( source, recursive ) { + + super.copy( source, recursive ); + + if ( source.background !== null ) this.background = source.background.clone(); + if ( source.environment !== null ) this.environment = source.environment.clone(); + if ( source.fog !== null ) this.fog = source.fog.clone(); + + if ( source.overrideMaterial !== null ) this.overrideMaterial = source.overrideMaterial.clone(); + + this.autoUpdate = source.autoUpdate; + this.matrixAutoUpdate = source.matrixAutoUpdate; + + return this; + + } + + toJSON( meta ) { + + const data = super.toJSON( meta ); + + if ( this.fog !== null ) data.object.fog = this.fog.toJSON(); + + return data; + + } + +} + +Scene.prototype.isScene = true; + +class InterleavedBuffer { + + constructor( array, stride ) { + + this.array = array; + this.stride = stride; + this.count = array !== undefined ? array.length / stride : 0; + + this.usage = StaticDrawUsage; + this.updateRange = { offset: 0, count: - 1 }; + + this.version = 0; + + this.uuid = generateUUID(); + + } + + onUploadCallback() {} + + set needsUpdate( value ) { + + if ( value === true ) this.version ++; + + } + + setUsage( value ) { + + this.usage = value; + + return this; + + } + + copy( source ) { + + this.array = new source.array.constructor( source.array ); + this.count = source.count; + this.stride = source.stride; + this.usage = source.usage; + + return this; + + } + + copyAt( index1, attribute, index2 ) { + + index1 *= this.stride; + index2 *= attribute.stride; + + for ( let i = 0, l = this.stride; i < l; i ++ ) { + + this.array[ index1 + i ] = attribute.array[ index2 + i ]; + + } + + return this; + + } + + set( value, offset = 0 ) { + + this.array.set( value, offset ); + + return this; + + } + + clone( data ) { + + if ( data.arrayBuffers === undefined ) { + + data.arrayBuffers = {}; + + } + + if ( this.array.buffer._uuid === undefined ) { + + this.array.buffer._uuid = generateUUID(); + + } + + if ( data.arrayBuffers[ this.array.buffer._uuid ] === undefined ) { + + data.arrayBuffers[ this.array.buffer._uuid ] = this.array.slice( 0 ).buffer; + + } + + const array = new this.array.constructor( data.arrayBuffers[ this.array.buffer._uuid ] ); + + const ib = new this.constructor( array, this.stride ); + ib.setUsage( this.usage ); + + return ib; + + } + + onUpload( callback ) { + + this.onUploadCallback = callback; + + return this; + + } + + toJSON( data ) { + + if ( data.arrayBuffers === undefined ) { + + data.arrayBuffers = {}; + + } + + // generate UUID for array buffer if necessary + + if ( this.array.buffer._uuid === undefined ) { + + this.array.buffer._uuid = generateUUID(); + + } + + if ( data.arrayBuffers[ this.array.buffer._uuid ] === undefined ) { + + data.arrayBuffers[ this.array.buffer._uuid ] = Array.prototype.slice.call( new Uint32Array( this.array.buffer ) ); + + } + + // + + return { + uuid: this.uuid, + buffer: this.array.buffer._uuid, + type: this.array.constructor.name, + stride: this.stride + }; + + } + +} + +InterleavedBuffer.prototype.isInterleavedBuffer = true; + +const _vector$6 = /*@__PURE__*/ new Vector3(); + +class InterleavedBufferAttribute { + + constructor( interleavedBuffer, itemSize, offset, normalized = false ) { + + this.name = ''; + + this.data = interleavedBuffer; + this.itemSize = itemSize; + this.offset = offset; + + this.normalized = normalized === true; + + } + + get count() { + + return this.data.count; + + } + + get array() { + + return this.data.array; + + } + + set needsUpdate( value ) { + + this.data.needsUpdate = value; + + } + + applyMatrix4( m ) { + + for ( let i = 0, l = this.data.count; i < l; i ++ ) { + + _vector$6.x = this.getX( i ); + _vector$6.y = this.getY( i ); + _vector$6.z = this.getZ( i ); + + _vector$6.applyMatrix4( m ); + + this.setXYZ( i, _vector$6.x, _vector$6.y, _vector$6.z ); + + } + + return this; + + } + + applyNormalMatrix( m ) { + + for ( let i = 0, l = this.count; i < l; i ++ ) { + + _vector$6.x = this.getX( i ); + _vector$6.y = this.getY( i ); + _vector$6.z = this.getZ( i ); + + _vector$6.applyNormalMatrix( m ); + + this.setXYZ( i, _vector$6.x, _vector$6.y, _vector$6.z ); + + } + + return this; + + } + + transformDirection( m ) { + + for ( let i = 0, l = this.count; i < l; i ++ ) { + + _vector$6.x = this.getX( i ); + _vector$6.y = this.getY( i ); + _vector$6.z = this.getZ( i ); + + _vector$6.transformDirection( m ); + + this.setXYZ( i, _vector$6.x, _vector$6.y, _vector$6.z ); + + } + + return this; + + } + + setX( index, x ) { + + this.data.array[ index * this.data.stride + this.offset ] = x; + + return this; + + } + + setY( index, y ) { + + this.data.array[ index * this.data.stride + this.offset + 1 ] = y; + + return this; + + } + + setZ( index, z ) { + + this.data.array[ index * this.data.stride + this.offset + 2 ] = z; + + return this; + + } + + setW( index, w ) { + + this.data.array[ index * this.data.stride + this.offset + 3 ] = w; + + return this; + + } + + getX( index ) { + + return this.data.array[ index * this.data.stride + this.offset ]; + + } + + getY( index ) { + + return this.data.array[ index * this.data.stride + this.offset + 1 ]; + + } + + getZ( index ) { + + return this.data.array[ index * this.data.stride + this.offset + 2 ]; + + } + + getW( index ) { + + return this.data.array[ index * this.data.stride + this.offset + 3 ]; + + } + + setXY( index, x, y ) { + + index = index * this.data.stride + this.offset; + + this.data.array[ index + 0 ] = x; + this.data.array[ index + 1 ] = y; + + return this; + + } + + setXYZ( index, x, y, z ) { + + index = index * this.data.stride + this.offset; + + this.data.array[ index + 0 ] = x; + this.data.array[ index + 1 ] = y; + this.data.array[ index + 2 ] = z; + + return this; + + } + + setXYZW( index, x, y, z, w ) { + + index = index * this.data.stride + this.offset; + + this.data.array[ index + 0 ] = x; + this.data.array[ index + 1 ] = y; + this.data.array[ index + 2 ] = z; + this.data.array[ index + 3 ] = w; + + return this; + + } + + clone( data ) { + + if ( data === undefined ) { + + console.log( 'THREE.InterleavedBufferAttribute.clone(): Cloning an interlaved buffer attribute will deinterleave buffer data.' ); + + const array = []; + + for ( let i = 0; i < this.count; i ++ ) { + + const index = i * this.data.stride + this.offset; + + for ( let j = 0; j < this.itemSize; j ++ ) { + + array.push( this.data.array[ index + j ] ); + + } + + } + + return new BufferAttribute( new this.array.constructor( array ), this.itemSize, this.normalized ); + + } else { + + if ( data.interleavedBuffers === undefined ) { + + data.interleavedBuffers = {}; + + } + + if ( data.interleavedBuffers[ this.data.uuid ] === undefined ) { + + data.interleavedBuffers[ this.data.uuid ] = this.data.clone( data ); + + } + + return new InterleavedBufferAttribute( data.interleavedBuffers[ this.data.uuid ], this.itemSize, this.offset, this.normalized ); + + } + + } + + toJSON( data ) { + + if ( data === undefined ) { + + console.log( 'THREE.InterleavedBufferAttribute.toJSON(): Serializing an interlaved buffer attribute will deinterleave buffer data.' ); + + const array = []; + + for ( let i = 0; i < this.count; i ++ ) { + + const index = i * this.data.stride + this.offset; + + for ( let j = 0; j < this.itemSize; j ++ ) { + + array.push( this.data.array[ index + j ] ); + + } + + } + + // deinterleave data and save it as an ordinary buffer attribute for now + + return { + itemSize: this.itemSize, + type: this.array.constructor.name, + array: array, + normalized: this.normalized + }; + + } else { + + // save as true interlaved attribtue + + if ( data.interleavedBuffers === undefined ) { + + data.interleavedBuffers = {}; + + } + + if ( data.interleavedBuffers[ this.data.uuid ] === undefined ) { + + data.interleavedBuffers[ this.data.uuid ] = this.data.toJSON( data ); + + } + + return { + isInterleavedBufferAttribute: true, + itemSize: this.itemSize, + data: this.data.uuid, + offset: this.offset, + normalized: this.normalized + }; + + } + + } + +} + +InterleavedBufferAttribute.prototype.isInterleavedBufferAttribute = true; + +/** + * parameters = { + * color: , + * map: new THREE.Texture( ), + * alphaMap: new THREE.Texture( ), + * rotation: , + * sizeAttenuation: + * } + */ + +class SpriteMaterial extends Material { + + constructor( parameters ) { + + super(); + + this.type = 'SpriteMaterial'; + + this.color = new Color( 0xffffff ); + + this.map = null; + + this.alphaMap = null; + + this.rotation = 0; + + this.sizeAttenuation = true; + + this.transparent = true; + + this.setValues( parameters ); + + } + + copy( source ) { + + super.copy( source ); + + this.color.copy( source.color ); + + this.map = source.map; + + this.alphaMap = source.alphaMap; + + this.rotation = source.rotation; + + this.sizeAttenuation = source.sizeAttenuation; + + return this; + + } + +} + +SpriteMaterial.prototype.isSpriteMaterial = true; + +let _geometry; + +const _intersectPoint = /*@__PURE__*/ new Vector3(); +const _worldScale = /*@__PURE__*/ new Vector3(); +const _mvPosition = /*@__PURE__*/ new Vector3(); + +const _alignedPosition = /*@__PURE__*/ new Vector2(); +const _rotatedPosition = /*@__PURE__*/ new Vector2(); +const _viewWorldMatrix = /*@__PURE__*/ new Matrix4(); + +const _vA = /*@__PURE__*/ new Vector3(); +const _vB = /*@__PURE__*/ new Vector3(); +const _vC = /*@__PURE__*/ new Vector3(); + +const _uvA = /*@__PURE__*/ new Vector2(); +const _uvB = /*@__PURE__*/ new Vector2(); +const _uvC = /*@__PURE__*/ new Vector2(); + +class Sprite extends Object3D { + + constructor( material ) { + + super(); + + this.type = 'Sprite'; + + if ( _geometry === undefined ) { + + _geometry = new BufferGeometry(); + + const float32Array = new Float32Array( [ + - 0.5, - 0.5, 0, 0, 0, + 0.5, - 0.5, 0, 1, 0, + 0.5, 0.5, 0, 1, 1, + - 0.5, 0.5, 0, 0, 1 + ] ); + + const interleavedBuffer = new InterleavedBuffer( float32Array, 5 ); + + _geometry.setIndex( [ 0, 1, 2, 0, 2, 3 ] ); + _geometry.setAttribute( 'position', new InterleavedBufferAttribute( interleavedBuffer, 3, 0, false ) ); + _geometry.setAttribute( 'uv', new InterleavedBufferAttribute( interleavedBuffer, 2, 3, false ) ); + + } + + this.geometry = _geometry; + this.material = ( material !== undefined ) ? material : new SpriteMaterial(); + + this.center = new Vector2( 0.5, 0.5 ); + + } + + raycast( raycaster, intersects ) { + + if ( raycaster.camera === null ) { + + console.error( 'THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.' ); + + } + + _worldScale.setFromMatrixScale( this.matrixWorld ); + + _viewWorldMatrix.copy( raycaster.camera.matrixWorld ); + this.modelViewMatrix.multiplyMatrices( raycaster.camera.matrixWorldInverse, this.matrixWorld ); + + _mvPosition.setFromMatrixPosition( this.modelViewMatrix ); + + if ( raycaster.camera.isPerspectiveCamera && this.material.sizeAttenuation === false ) { + + _worldScale.multiplyScalar( - _mvPosition.z ); + + } + + const rotation = this.material.rotation; + let sin, cos; + + if ( rotation !== 0 ) { + + cos = Math.cos( rotation ); + sin = Math.sin( rotation ); + + } + + const center = this.center; + + transformVertex( _vA.set( - 0.5, - 0.5, 0 ), _mvPosition, center, _worldScale, sin, cos ); + transformVertex( _vB.set( 0.5, - 0.5, 0 ), _mvPosition, center, _worldScale, sin, cos ); + transformVertex( _vC.set( 0.5, 0.5, 0 ), _mvPosition, center, _worldScale, sin, cos ); + + _uvA.set( 0, 0 ); + _uvB.set( 1, 0 ); + _uvC.set( 1, 1 ); + + // check first triangle + let intersect = raycaster.ray.intersectTriangle( _vA, _vB, _vC, false, _intersectPoint ); + + if ( intersect === null ) { + + // check second triangle + transformVertex( _vB.set( - 0.5, 0.5, 0 ), _mvPosition, center, _worldScale, sin, cos ); + _uvB.set( 0, 1 ); + + intersect = raycaster.ray.intersectTriangle( _vA, _vC, _vB, false, _intersectPoint ); + if ( intersect === null ) { + + return; + + } + + } + + const distance = raycaster.ray.origin.distanceTo( _intersectPoint ); + + if ( distance < raycaster.near || distance > raycaster.far ) return; + + intersects.push( { + + distance: distance, + point: _intersectPoint.clone(), + uv: Triangle.getUV( _intersectPoint, _vA, _vB, _vC, _uvA, _uvB, _uvC, new Vector2() ), + face: null, + object: this + + } ); + + } + + copy( source ) { + + super.copy( source ); + + if ( source.center !== undefined ) this.center.copy( source.center ); + + this.material = source.material; + + return this; + + } + +} + +Sprite.prototype.isSprite = true; + +function transformVertex( vertexPosition, mvPosition, center, scale, sin, cos ) { + + // compute position in camera space + _alignedPosition.subVectors( vertexPosition, center ).addScalar( 0.5 ).multiply( scale ); + + // to check if rotation is not zero + if ( sin !== undefined ) { + + _rotatedPosition.x = ( cos * _alignedPosition.x ) - ( sin * _alignedPosition.y ); + _rotatedPosition.y = ( sin * _alignedPosition.x ) + ( cos * _alignedPosition.y ); + + } else { + + _rotatedPosition.copy( _alignedPosition ); + + } + + + vertexPosition.copy( mvPosition ); + vertexPosition.x += _rotatedPosition.x; + vertexPosition.y += _rotatedPosition.y; + + // transform to world space + vertexPosition.applyMatrix4( _viewWorldMatrix ); + +} + +const _v1$2 = /*@__PURE__*/ new Vector3(); +const _v2$1 = /*@__PURE__*/ new Vector3(); + +class LOD extends Object3D { + + constructor() { + + super(); + + this._currentLevel = 0; + + this.type = 'LOD'; + + Object.defineProperties( this, { + levels: { + enumerable: true, + value: [] + }, + isLOD: { + value: true, + } + } ); + + this.autoUpdate = true; + + } + + copy( source ) { + + super.copy( source, false ); + + const levels = source.levels; + + for ( let i = 0, l = levels.length; i < l; i ++ ) { + + const level = levels[ i ]; + + this.addLevel( level.object.clone(), level.distance ); + + } + + this.autoUpdate = source.autoUpdate; + + return this; + + } + + addLevel( object, distance = 0 ) { + + distance = Math.abs( distance ); + + const levels = this.levels; + + let l; + + for ( l = 0; l < levels.length; l ++ ) { + + if ( distance < levels[ l ].distance ) { + + break; + + } + + } + + levels.splice( l, 0, { distance: distance, object: object } ); + + this.add( object ); + + return this; + + } + + getCurrentLevel() { + + return this._currentLevel; + + } + + getObjectForDistance( distance ) { + + const levels = this.levels; + + if ( levels.length > 0 ) { + + let i, l; + + for ( i = 1, l = levels.length; i < l; i ++ ) { + + if ( distance < levels[ i ].distance ) { + + break; + + } + + } + + return levels[ i - 1 ].object; + + } + + return null; + + } + + raycast( raycaster, intersects ) { + + const levels = this.levels; + + if ( levels.length > 0 ) { + + _v1$2.setFromMatrixPosition( this.matrixWorld ); + + const distance = raycaster.ray.origin.distanceTo( _v1$2 ); + + this.getObjectForDistance( distance ).raycast( raycaster, intersects ); + + } + + } + + update( camera ) { + + const levels = this.levels; + + if ( levels.length > 1 ) { + + _v1$2.setFromMatrixPosition( camera.matrixWorld ); + _v2$1.setFromMatrixPosition( this.matrixWorld ); + + const distance = _v1$2.distanceTo( _v2$1 ) / camera.zoom; + + levels[ 0 ].object.visible = true; + + let i, l; + + for ( i = 1, l = levels.length; i < l; i ++ ) { + + if ( distance >= levels[ i ].distance ) { + + levels[ i - 1 ].object.visible = false; + levels[ i ].object.visible = true; + + } else { + + break; + + } + + } + + this._currentLevel = i - 1; + + for ( ; i < l; i ++ ) { + + levels[ i ].object.visible = false; + + } + + } + + } + + toJSON( meta ) { + + const data = super.toJSON( meta ); + + if ( this.autoUpdate === false ) data.object.autoUpdate = false; + + data.object.levels = []; + + const levels = this.levels; + + for ( let i = 0, l = levels.length; i < l; i ++ ) { + + const level = levels[ i ]; + + data.object.levels.push( { + object: level.object.uuid, + distance: level.distance + } ); + + } + + return data; + + } + +} + +const _basePosition = /*@__PURE__*/ new Vector3(); + +const _skinIndex = /*@__PURE__*/ new Vector4(); +const _skinWeight = /*@__PURE__*/ new Vector4(); + +const _vector$5 = /*@__PURE__*/ new Vector3(); +const _matrix = /*@__PURE__*/ new Matrix4(); + +class SkinnedMesh extends Mesh { + + constructor( geometry, material ) { + + super( geometry, material ); + + this.type = 'SkinnedMesh'; + + this.bindMode = 'attached'; + this.bindMatrix = new Matrix4(); + this.bindMatrixInverse = new Matrix4(); + + } + + copy( source ) { + + super.copy( source ); + + this.bindMode = source.bindMode; + this.bindMatrix.copy( source.bindMatrix ); + this.bindMatrixInverse.copy( source.bindMatrixInverse ); + + this.skeleton = source.skeleton; + + return this; + + } + + bind( skeleton, bindMatrix ) { + + this.skeleton = skeleton; + + if ( bindMatrix === undefined ) { + + this.updateMatrixWorld( true ); + + this.skeleton.calculateInverses(); + + bindMatrix = this.matrixWorld; + + } + + this.bindMatrix.copy( bindMatrix ); + this.bindMatrixInverse.copy( bindMatrix ).invert(); + + } + + pose() { + + this.skeleton.pose(); + + } + + normalizeSkinWeights() { + + const vector = new Vector4(); + + const skinWeight = this.geometry.attributes.skinWeight; + + for ( let i = 0, l = skinWeight.count; i < l; i ++ ) { + + vector.x = skinWeight.getX( i ); + vector.y = skinWeight.getY( i ); + vector.z = skinWeight.getZ( i ); + vector.w = skinWeight.getW( i ); + + const scale = 1.0 / vector.manhattanLength(); + + if ( scale !== Infinity ) { + + vector.multiplyScalar( scale ); + + } else { + + vector.set( 1, 0, 0, 0 ); // do something reasonable + + } + + skinWeight.setXYZW( i, vector.x, vector.y, vector.z, vector.w ); + + } + + } + + updateMatrixWorld( force ) { + + super.updateMatrixWorld( force ); + + if ( this.bindMode === 'attached' ) { + + this.bindMatrixInverse.copy( this.matrixWorld ).invert(); + + } else if ( this.bindMode === 'detached' ) { + + this.bindMatrixInverse.copy( this.bindMatrix ).invert(); + + } else { + + console.warn( 'THREE.SkinnedMesh: Unrecognized bindMode: ' + this.bindMode ); + + } + + } + + boneTransform( index, target ) { + + const skeleton = this.skeleton; + const geometry = this.geometry; + + _skinIndex.fromBufferAttribute( geometry.attributes.skinIndex, index ); + _skinWeight.fromBufferAttribute( geometry.attributes.skinWeight, index ); + + _basePosition.copy( target ).applyMatrix4( this.bindMatrix ); + + target.set( 0, 0, 0 ); + + for ( let i = 0; i < 4; i ++ ) { + + const weight = _skinWeight.getComponent( i ); + + if ( weight !== 0 ) { + + const boneIndex = _skinIndex.getComponent( i ); + + _matrix.multiplyMatrices( skeleton.bones[ boneIndex ].matrixWorld, skeleton.boneInverses[ boneIndex ] ); + + target.addScaledVector( _vector$5.copy( _basePosition ).applyMatrix4( _matrix ), weight ); + + } + + } + + return target.applyMatrix4( this.bindMatrixInverse ); + + } + +} + +SkinnedMesh.prototype.isSkinnedMesh = true; + +class Bone extends Object3D { + + constructor() { + + super(); + + this.type = 'Bone'; + + } + +} + +Bone.prototype.isBone = true; + +class DataTexture extends Texture { + + constructor( data = null, width = 1, height = 1, format, type, mapping, wrapS, wrapT, magFilter = NearestFilter, minFilter = NearestFilter, anisotropy, encoding ) { + + super( null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ); + + this.image = { data: data, width: width, height: height }; + + this.magFilter = magFilter; + this.minFilter = minFilter; + + this.generateMipmaps = false; + this.flipY = false; + this.unpackAlignment = 1; + + } + +} + +DataTexture.prototype.isDataTexture = true; + +const _offsetMatrix = /*@__PURE__*/ new Matrix4(); +const _identityMatrix = /*@__PURE__*/ new Matrix4(); + +class Skeleton { + + constructor( bones = [], boneInverses = [] ) { + + this.uuid = generateUUID(); + + this.bones = bones.slice( 0 ); + this.boneInverses = boneInverses; + this.boneMatrices = null; + + this.boneTexture = null; + this.boneTextureSize = 0; + + this.frame = - 1; + + this.init(); + + } + + init() { + + const bones = this.bones; + const boneInverses = this.boneInverses; + + this.boneMatrices = new Float32Array( bones.length * 16 ); + + // calculate inverse bone matrices if necessary + + if ( boneInverses.length === 0 ) { + + this.calculateInverses(); + + } else { + + // handle special case + + if ( bones.length !== boneInverses.length ) { + + console.warn( 'THREE.Skeleton: Number of inverse bone matrices does not match amount of bones.' ); + + this.boneInverses = []; + + for ( let i = 0, il = this.bones.length; i < il; i ++ ) { + + this.boneInverses.push( new Matrix4() ); + + } + + } + + } + + } + + calculateInverses() { + + this.boneInverses.length = 0; + + for ( let i = 0, il = this.bones.length; i < il; i ++ ) { + + const inverse = new Matrix4(); + + if ( this.bones[ i ] ) { + + inverse.copy( this.bones[ i ].matrixWorld ).invert(); + + } + + this.boneInverses.push( inverse ); + + } + + } + + pose() { + + // recover the bind-time world matrices + + for ( let i = 0, il = this.bones.length; i < il; i ++ ) { + + const bone = this.bones[ i ]; + + if ( bone ) { + + bone.matrixWorld.copy( this.boneInverses[ i ] ).invert(); + + } + + } + + // compute the local matrices, positions, rotations and scales + + for ( let i = 0, il = this.bones.length; i < il; i ++ ) { + + const bone = this.bones[ i ]; + + if ( bone ) { + + if ( bone.parent && bone.parent.isBone ) { + + bone.matrix.copy( bone.parent.matrixWorld ).invert(); + bone.matrix.multiply( bone.matrixWorld ); + + } else { + + bone.matrix.copy( bone.matrixWorld ); + + } + + bone.matrix.decompose( bone.position, bone.quaternion, bone.scale ); + + } + + } + + } + + update() { + + const bones = this.bones; + const boneInverses = this.boneInverses; + const boneMatrices = this.boneMatrices; + const boneTexture = this.boneTexture; + + // flatten bone matrices to array + + for ( let i = 0, il = bones.length; i < il; i ++ ) { + + // compute the offset between the current and the original transform + + const matrix = bones[ i ] ? bones[ i ].matrixWorld : _identityMatrix; + + _offsetMatrix.multiplyMatrices( matrix, boneInverses[ i ] ); + _offsetMatrix.toArray( boneMatrices, i * 16 ); + + } + + if ( boneTexture !== null ) { + + boneTexture.needsUpdate = true; + + } + + } + + clone() { + + return new Skeleton( this.bones, this.boneInverses ); + + } + + computeBoneTexture() { + + // layout (1 matrix = 4 pixels) + // RGBA RGBA RGBA RGBA (=> column1, column2, column3, column4) + // with 8x8 pixel texture max 16 bones * 4 pixels = (8 * 8) + // 16x16 pixel texture max 64 bones * 4 pixels = (16 * 16) + // 32x32 pixel texture max 256 bones * 4 pixels = (32 * 32) + // 64x64 pixel texture max 1024 bones * 4 pixels = (64 * 64) + + let size = Math.sqrt( this.bones.length * 4 ); // 4 pixels needed for 1 matrix + size = ceilPowerOfTwo( size ); + size = Math.max( size, 4 ); + + const boneMatrices = new Float32Array( size * size * 4 ); // 4 floats per RGBA pixel + boneMatrices.set( this.boneMatrices ); // copy current values + + const boneTexture = new DataTexture( boneMatrices, size, size, RGBAFormat, FloatType ); + boneTexture.needsUpdate = true; + + this.boneMatrices = boneMatrices; + this.boneTexture = boneTexture; + this.boneTextureSize = size; + + return this; + + } + + getBoneByName( name ) { + + for ( let i = 0, il = this.bones.length; i < il; i ++ ) { + + const bone = this.bones[ i ]; + + if ( bone.name === name ) { + + return bone; + + } + + } + + return undefined; + + } + + dispose( ) { + + if ( this.boneTexture !== null ) { + + this.boneTexture.dispose(); + + this.boneTexture = null; + + } + + } + + fromJSON( json, bones ) { + + this.uuid = json.uuid; + + for ( let i = 0, l = json.bones.length; i < l; i ++ ) { + + const uuid = json.bones[ i ]; + let bone = bones[ uuid ]; + + if ( bone === undefined ) { + + console.warn( 'THREE.Skeleton: No bone found with UUID:', uuid ); + bone = new Bone(); + + } + + this.bones.push( bone ); + this.boneInverses.push( new Matrix4().fromArray( json.boneInverses[ i ] ) ); + + } + + this.init(); + + return this; + + } + + toJSON() { + + const data = { + metadata: { + version: 4.5, + type: 'Skeleton', + generator: 'Skeleton.toJSON' + }, + bones: [], + boneInverses: [] + }; + + data.uuid = this.uuid; + + const bones = this.bones; + const boneInverses = this.boneInverses; + + for ( let i = 0, l = bones.length; i < l; i ++ ) { + + const bone = bones[ i ]; + data.bones.push( bone.uuid ); + + const boneInverse = boneInverses[ i ]; + data.boneInverses.push( boneInverse.toArray() ); + + } + + return data; + + } + +} + +class InstancedBufferAttribute extends BufferAttribute { + + constructor( array, itemSize, normalized, meshPerAttribute = 1 ) { + + if ( typeof normalized === 'number' ) { + + meshPerAttribute = normalized; + + normalized = false; + + console.error( 'THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.' ); + + } + + super( array, itemSize, normalized ); + + this.meshPerAttribute = meshPerAttribute; + + } + + copy( source ) { + + super.copy( source ); + + this.meshPerAttribute = source.meshPerAttribute; + + return this; + + } + + toJSON() { + + const data = super.toJSON(); + + data.meshPerAttribute = this.meshPerAttribute; + + data.isInstancedBufferAttribute = true; + + return data; + + } + +} + +InstancedBufferAttribute.prototype.isInstancedBufferAttribute = true; + +const _instanceLocalMatrix = /*@__PURE__*/ new Matrix4(); +const _instanceWorldMatrix = /*@__PURE__*/ new Matrix4(); + +const _instanceIntersects = []; + +const _mesh = /*@__PURE__*/ new Mesh(); + +class InstancedMesh extends Mesh { + + constructor( geometry, material, count ) { + + super( geometry, material ); + + this.instanceMatrix = new InstancedBufferAttribute( new Float32Array( count * 16 ), 16 ); + this.instanceColor = null; + + this.count = count; + + this.frustumCulled = false; + + } + + copy( source ) { + + super.copy( source ); + + this.instanceMatrix.copy( source.instanceMatrix ); + + if ( source.instanceColor !== null ) this.instanceColor = source.instanceColor.clone(); + + this.count = source.count; + + return this; + + } + + getColorAt( index, color ) { + + color.fromArray( this.instanceColor.array, index * 3 ); + + } + + getMatrixAt( index, matrix ) { + + matrix.fromArray( this.instanceMatrix.array, index * 16 ); + + } + + raycast( raycaster, intersects ) { + + const matrixWorld = this.matrixWorld; + const raycastTimes = this.count; + + _mesh.geometry = this.geometry; + _mesh.material = this.material; + + if ( _mesh.material === undefined ) return; + + for ( let instanceId = 0; instanceId < raycastTimes; instanceId ++ ) { + + // calculate the world matrix for each instance + + this.getMatrixAt( instanceId, _instanceLocalMatrix ); + + _instanceWorldMatrix.multiplyMatrices( matrixWorld, _instanceLocalMatrix ); + + // the mesh represents this single instance + + _mesh.matrixWorld = _instanceWorldMatrix; + + _mesh.raycast( raycaster, _instanceIntersects ); + + // process the result of raycast + + for ( let i = 0, l = _instanceIntersects.length; i < l; i ++ ) { + + const intersect = _instanceIntersects[ i ]; + intersect.instanceId = instanceId; + intersect.object = this; + intersects.push( intersect ); + + } + + _instanceIntersects.length = 0; + + } + + } + + setColorAt( index, color ) { + + if ( this.instanceColor === null ) { + + this.instanceColor = new InstancedBufferAttribute( new Float32Array( this.instanceMatrix.count * 3 ), 3 ); + + } + + color.toArray( this.instanceColor.array, index * 3 ); + + } + + setMatrixAt( index, matrix ) { + + matrix.toArray( this.instanceMatrix.array, index * 16 ); + + } + + updateMorphTargets() { + + } + + dispose() { + + this.dispatchEvent( { type: 'dispose' } ); + + } + +} + +InstancedMesh.prototype.isInstancedMesh = true; + +/** + * parameters = { + * color: , + * opacity: , + * + * linewidth: , + * linecap: "round", + * linejoin: "round" + * } + */ + +class LineBasicMaterial extends Material { + + constructor( parameters ) { + + super(); + + this.type = 'LineBasicMaterial'; + + this.color = new Color( 0xffffff ); + + this.linewidth = 1; + this.linecap = 'round'; + this.linejoin = 'round'; + + this.setValues( parameters ); + + } + + + copy( source ) { + + super.copy( source ); + + this.color.copy( source.color ); + + this.linewidth = source.linewidth; + this.linecap = source.linecap; + this.linejoin = source.linejoin; + + return this; + + } + +} + +LineBasicMaterial.prototype.isLineBasicMaterial = true; + +const _start$1 = /*@__PURE__*/ new Vector3(); +const _end$1 = /*@__PURE__*/ new Vector3(); +const _inverseMatrix$1 = /*@__PURE__*/ new Matrix4(); +const _ray$1 = /*@__PURE__*/ new Ray(); +const _sphere$1 = /*@__PURE__*/ new Sphere(); + +class Line extends Object3D { + + constructor( geometry = new BufferGeometry(), material = new LineBasicMaterial() ) { + + super(); + + this.type = 'Line'; + + this.geometry = geometry; + this.material = material; + + this.updateMorphTargets(); + + } + + copy( source ) { + + super.copy( source ); + + this.material = source.material; + this.geometry = source.geometry; + + return this; + + } + + computeLineDistances() { + + const geometry = this.geometry; + + if ( geometry.isBufferGeometry ) { + + // we assume non-indexed geometry + + if ( geometry.index === null ) { + + const positionAttribute = geometry.attributes.position; + const lineDistances = [ 0 ]; + + for ( let i = 1, l = positionAttribute.count; i < l; i ++ ) { + + _start$1.fromBufferAttribute( positionAttribute, i - 1 ); + _end$1.fromBufferAttribute( positionAttribute, i ); + + lineDistances[ i ] = lineDistances[ i - 1 ]; + lineDistances[ i ] += _start$1.distanceTo( _end$1 ); + + } + + geometry.setAttribute( 'lineDistance', new Float32BufferAttribute( lineDistances, 1 ) ); + + } else { + + console.warn( 'THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.' ); + + } + + } else if ( geometry.isGeometry ) { + + console.error( 'THREE.Line.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.' ); + + } + + return this; + + } + + raycast( raycaster, intersects ) { + + const geometry = this.geometry; + const matrixWorld = this.matrixWorld; + const threshold = raycaster.params.Line.threshold; + const drawRange = geometry.drawRange; + + // Checking boundingSphere distance to ray + + if ( geometry.boundingSphere === null ) geometry.computeBoundingSphere(); + + _sphere$1.copy( geometry.boundingSphere ); + _sphere$1.applyMatrix4( matrixWorld ); + _sphere$1.radius += threshold; + + if ( raycaster.ray.intersectsSphere( _sphere$1 ) === false ) return; + + // + + _inverseMatrix$1.copy( matrixWorld ).invert(); + _ray$1.copy( raycaster.ray ).applyMatrix4( _inverseMatrix$1 ); + + const localThreshold = threshold / ( ( this.scale.x + this.scale.y + this.scale.z ) / 3 ); + const localThresholdSq = localThreshold * localThreshold; + + const vStart = new Vector3(); + const vEnd = new Vector3(); + const interSegment = new Vector3(); + const interRay = new Vector3(); + const step = this.isLineSegments ? 2 : 1; + + if ( geometry.isBufferGeometry ) { + + const index = geometry.index; + const attributes = geometry.attributes; + const positionAttribute = attributes.position; + + if ( index !== null ) { + + const start = Math.max( 0, drawRange.start ); + const end = Math.min( index.count, ( drawRange.start + drawRange.count ) ); + + for ( let i = start, l = end - 1; i < l; i += step ) { + + const a = index.getX( i ); + const b = index.getX( i + 1 ); + + vStart.fromBufferAttribute( positionAttribute, a ); + vEnd.fromBufferAttribute( positionAttribute, b ); + + const distSq = _ray$1.distanceSqToSegment( vStart, vEnd, interRay, interSegment ); + + if ( distSq > localThresholdSq ) continue; + + interRay.applyMatrix4( this.matrixWorld ); //Move back to world space for distance calculation + + const distance = raycaster.ray.origin.distanceTo( interRay ); + + if ( distance < raycaster.near || distance > raycaster.far ) continue; + + intersects.push( { + + distance: distance, + // What do we want? intersection point on the ray or on the segment?? + // point: raycaster.ray.at( distance ), + point: interSegment.clone().applyMatrix4( this.matrixWorld ), + index: i, + face: null, + faceIndex: null, + object: this + + } ); + + } + + } else { + + const start = Math.max( 0, drawRange.start ); + const end = Math.min( positionAttribute.count, ( drawRange.start + drawRange.count ) ); + + for ( let i = start, l = end - 1; i < l; i += step ) { + + vStart.fromBufferAttribute( positionAttribute, i ); + vEnd.fromBufferAttribute( positionAttribute, i + 1 ); + + const distSq = _ray$1.distanceSqToSegment( vStart, vEnd, interRay, interSegment ); + + if ( distSq > localThresholdSq ) continue; + + interRay.applyMatrix4( this.matrixWorld ); //Move back to world space for distance calculation + + const distance = raycaster.ray.origin.distanceTo( interRay ); + + if ( distance < raycaster.near || distance > raycaster.far ) continue; + + intersects.push( { + + distance: distance, + // What do we want? intersection point on the ray or on the segment?? + // point: raycaster.ray.at( distance ), + point: interSegment.clone().applyMatrix4( this.matrixWorld ), + index: i, + face: null, + faceIndex: null, + object: this + + } ); + + } + + } + + } else if ( geometry.isGeometry ) { + + console.error( 'THREE.Line.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.' ); + + } + + } + + updateMorphTargets() { + + const geometry = this.geometry; + + if ( geometry.isBufferGeometry ) { + + const morphAttributes = geometry.morphAttributes; + const keys = Object.keys( morphAttributes ); + + if ( keys.length > 0 ) { + + const morphAttribute = morphAttributes[ keys[ 0 ] ]; + + if ( morphAttribute !== undefined ) { + + this.morphTargetInfluences = []; + this.morphTargetDictionary = {}; + + for ( let m = 0, ml = morphAttribute.length; m < ml; m ++ ) { + + const name = morphAttribute[ m ].name || String( m ); + + this.morphTargetInfluences.push( 0 ); + this.morphTargetDictionary[ name ] = m; + + } + + } + + } + + } else { + + const morphTargets = geometry.morphTargets; + + if ( morphTargets !== undefined && morphTargets.length > 0 ) { + + console.error( 'THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.' ); + + } + + } + + } + +} + +Line.prototype.isLine = true; + +const _start = /*@__PURE__*/ new Vector3(); +const _end = /*@__PURE__*/ new Vector3(); + +class LineSegments extends Line { + + constructor( geometry, material ) { + + super( geometry, material ); + + this.type = 'LineSegments'; + + } + + computeLineDistances() { + + const geometry = this.geometry; + + if ( geometry.isBufferGeometry ) { + + // we assume non-indexed geometry + + if ( geometry.index === null ) { + + const positionAttribute = geometry.attributes.position; + const lineDistances = []; + + for ( let i = 0, l = positionAttribute.count; i < l; i += 2 ) { + + _start.fromBufferAttribute( positionAttribute, i ); + _end.fromBufferAttribute( positionAttribute, i + 1 ); + + lineDistances[ i ] = ( i === 0 ) ? 0 : lineDistances[ i - 1 ]; + lineDistances[ i + 1 ] = lineDistances[ i ] + _start.distanceTo( _end ); + + } + + geometry.setAttribute( 'lineDistance', new Float32BufferAttribute( lineDistances, 1 ) ); + + } else { + + console.warn( 'THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.' ); + + } + + } else if ( geometry.isGeometry ) { + + console.error( 'THREE.LineSegments.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.' ); + + } + + return this; + + } + +} + +LineSegments.prototype.isLineSegments = true; + +class LineLoop extends Line { + + constructor( geometry, material ) { + + super( geometry, material ); + + this.type = 'LineLoop'; + + } + +} + +LineLoop.prototype.isLineLoop = true; + +/** + * parameters = { + * color: , + * opacity: , + * map: new THREE.Texture( ), + * alphaMap: new THREE.Texture( ), + * + * size: , + * sizeAttenuation: + * + * } + */ + +class PointsMaterial extends Material { + + constructor( parameters ) { + + super(); + + this.type = 'PointsMaterial'; + + this.color = new Color( 0xffffff ); + + this.map = null; + + this.alphaMap = null; + + this.size = 1; + this.sizeAttenuation = true; + + this.setValues( parameters ); + + } + + copy( source ) { + + super.copy( source ); + + this.color.copy( source.color ); + + this.map = source.map; + + this.alphaMap = source.alphaMap; + + this.size = source.size; + this.sizeAttenuation = source.sizeAttenuation; + + return this; + + } + +} + +PointsMaterial.prototype.isPointsMaterial = true; + +const _inverseMatrix = /*@__PURE__*/ new Matrix4(); +const _ray = /*@__PURE__*/ new Ray(); +const _sphere = /*@__PURE__*/ new Sphere(); +const _position$2 = /*@__PURE__*/ new Vector3(); + +class Points extends Object3D { + + constructor( geometry = new BufferGeometry(), material = new PointsMaterial() ) { + + super(); + + this.type = 'Points'; + + this.geometry = geometry; + this.material = material; + + this.updateMorphTargets(); + + } + + copy( source ) { + + super.copy( source ); + + this.material = source.material; + this.geometry = source.geometry; + + return this; + + } + + raycast( raycaster, intersects ) { + + const geometry = this.geometry; + const matrixWorld = this.matrixWorld; + const threshold = raycaster.params.Points.threshold; + const drawRange = geometry.drawRange; + + // Checking boundingSphere distance to ray + + if ( geometry.boundingSphere === null ) geometry.computeBoundingSphere(); + + _sphere.copy( geometry.boundingSphere ); + _sphere.applyMatrix4( matrixWorld ); + _sphere.radius += threshold; + + if ( raycaster.ray.intersectsSphere( _sphere ) === false ) return; + + // + + _inverseMatrix.copy( matrixWorld ).invert(); + _ray.copy( raycaster.ray ).applyMatrix4( _inverseMatrix ); + + const localThreshold = threshold / ( ( this.scale.x + this.scale.y + this.scale.z ) / 3 ); + const localThresholdSq = localThreshold * localThreshold; + + if ( geometry.isBufferGeometry ) { + + const index = geometry.index; + const attributes = geometry.attributes; + const positionAttribute = attributes.position; + + if ( index !== null ) { + + const start = Math.max( 0, drawRange.start ); + const end = Math.min( index.count, ( drawRange.start + drawRange.count ) ); + + for ( let i = start, il = end; i < il; i ++ ) { + + const a = index.getX( i ); + + _position$2.fromBufferAttribute( positionAttribute, a ); + + testPoint( _position$2, a, localThresholdSq, matrixWorld, raycaster, intersects, this ); + + } + + } else { + + const start = Math.max( 0, drawRange.start ); + const end = Math.min( positionAttribute.count, ( drawRange.start + drawRange.count ) ); + + for ( let i = start, l = end; i < l; i ++ ) { + + _position$2.fromBufferAttribute( positionAttribute, i ); + + testPoint( _position$2, i, localThresholdSq, matrixWorld, raycaster, intersects, this ); + + } + + } + + } else { + + console.error( 'THREE.Points.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.' ); + + } + + } + + updateMorphTargets() { + + const geometry = this.geometry; + + if ( geometry.isBufferGeometry ) { + + const morphAttributes = geometry.morphAttributes; + const keys = Object.keys( morphAttributes ); + + if ( keys.length > 0 ) { + + const morphAttribute = morphAttributes[ keys[ 0 ] ]; + + if ( morphAttribute !== undefined ) { + + this.morphTargetInfluences = []; + this.morphTargetDictionary = {}; + + for ( let m = 0, ml = morphAttribute.length; m < ml; m ++ ) { + + const name = morphAttribute[ m ].name || String( m ); + + this.morphTargetInfluences.push( 0 ); + this.morphTargetDictionary[ name ] = m; + + } + + } + + } + + } else { + + const morphTargets = geometry.morphTargets; + + if ( morphTargets !== undefined && morphTargets.length > 0 ) { + + console.error( 'THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.' ); + + } + + } + + } + +} + +Points.prototype.isPoints = true; + +function testPoint( point, index, localThresholdSq, matrixWorld, raycaster, intersects, object ) { + + const rayPointDistanceSq = _ray.distanceSqToPoint( point ); + + if ( rayPointDistanceSq < localThresholdSq ) { + + const intersectPoint = new Vector3(); + + _ray.closestPointToPoint( point, intersectPoint ); + intersectPoint.applyMatrix4( matrixWorld ); + + const distance = raycaster.ray.origin.distanceTo( intersectPoint ); + + if ( distance < raycaster.near || distance > raycaster.far ) return; + + intersects.push( { + + distance: distance, + distanceToRay: Math.sqrt( rayPointDistanceSq ), + point: intersectPoint, + index: index, + face: null, + object: object + + } ); + + } + +} + +class VideoTexture extends Texture { + + constructor( video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ) { + + super( video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ); + + this.format = format !== undefined ? format : RGBFormat; + + this.minFilter = minFilter !== undefined ? minFilter : LinearFilter; + this.magFilter = magFilter !== undefined ? magFilter : LinearFilter; + + this.generateMipmaps = false; + + const scope = this; + + function updateVideo() { + + scope.needsUpdate = true; + video.requestVideoFrameCallback( updateVideo ); + + } + + if ( 'requestVideoFrameCallback' in video ) { + + video.requestVideoFrameCallback( updateVideo ); + + } + + } + + clone() { + + return new this.constructor( this.image ).copy( this ); + + } + + update() { + + const video = this.image; + const hasVideoFrameCallback = 'requestVideoFrameCallback' in video; + + if ( hasVideoFrameCallback === false && video.readyState >= video.HAVE_CURRENT_DATA ) { + + this.needsUpdate = true; + + } + + } + +} + +VideoTexture.prototype.isVideoTexture = true; + +class FramebufferTexture extends Texture { + + constructor( width, height, format ) { + + super( { width, height } ); + + this.format = format; + + this.magFilter = NearestFilter; + this.minFilter = NearestFilter; + + this.generateMipmaps = false; + + this.needsUpdate = true; + + } + +} + +FramebufferTexture.prototype.isFramebufferTexture = true; + +class CompressedTexture extends Texture { + + constructor( mipmaps, width, height, format, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, encoding ) { + + super( null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ); + + this.image = { width: width, height: height }; + this.mipmaps = mipmaps; + + // no flipping for cube textures + // (also flipping doesn't work for compressed textures ) + + this.flipY = false; + + // can't generate mipmaps for compressed textures + // mips must be embedded in DDS files + + this.generateMipmaps = false; + + } + +} + +CompressedTexture.prototype.isCompressedTexture = true; + +class CanvasTexture extends Texture { + + constructor( canvas, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ) { + + super( canvas, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ); + + this.needsUpdate = true; + + } + +} + +CanvasTexture.prototype.isCanvasTexture = true; + +class CircleGeometry extends BufferGeometry { + + constructor( radius = 1, segments = 8, thetaStart = 0, thetaLength = Math.PI * 2 ) { + + super(); + + this.type = 'CircleGeometry'; + + this.parameters = { + radius: radius, + segments: segments, + thetaStart: thetaStart, + thetaLength: thetaLength + }; + + segments = Math.max( 3, segments ); + + // buffers + + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; + + // helper variables + + const vertex = new Vector3(); + const uv = new Vector2(); + + // center point + + vertices.push( 0, 0, 0 ); + normals.push( 0, 0, 1 ); + uvs.push( 0.5, 0.5 ); + + for ( let s = 0, i = 3; s <= segments; s ++, i += 3 ) { + + const segment = thetaStart + s / segments * thetaLength; + + // vertex + + vertex.x = radius * Math.cos( segment ); + vertex.y = radius * Math.sin( segment ); + + vertices.push( vertex.x, vertex.y, vertex.z ); + + // normal + + normals.push( 0, 0, 1 ); + + // uvs + + uv.x = ( vertices[ i ] / radius + 1 ) / 2; + uv.y = ( vertices[ i + 1 ] / radius + 1 ) / 2; + + uvs.push( uv.x, uv.y ); + + } + + // indices + + for ( let i = 1; i <= segments; i ++ ) { + + indices.push( i, i + 1, 0 ); + + } + + // build geometry + + this.setIndex( indices ); + this.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + this.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); + this.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + + } + + static fromJSON( data ) { + + return new CircleGeometry( data.radius, data.segments, data.thetaStart, data.thetaLength ); + + } + +} + +class CylinderGeometry extends BufferGeometry { + + constructor( radiusTop = 1, radiusBottom = 1, height = 1, radialSegments = 8, heightSegments = 1, openEnded = false, thetaStart = 0, thetaLength = Math.PI * 2 ) { + + super(); + this.type = 'CylinderGeometry'; + + this.parameters = { + radiusTop: radiusTop, + radiusBottom: radiusBottom, + height: height, + radialSegments: radialSegments, + heightSegments: heightSegments, + openEnded: openEnded, + thetaStart: thetaStart, + thetaLength: thetaLength + }; + + const scope = this; + + radialSegments = Math.floor( radialSegments ); + heightSegments = Math.floor( heightSegments ); + + // buffers + + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; + + // helper variables + + let index = 0; + const indexArray = []; + const halfHeight = height / 2; + let groupStart = 0; + + // generate geometry + + generateTorso(); + + if ( openEnded === false ) { + + if ( radiusTop > 0 ) generateCap( true ); + if ( radiusBottom > 0 ) generateCap( false ); + + } + + // build geometry + + this.setIndex( indices ); + this.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + this.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); + this.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + + function generateTorso() { + + const normal = new Vector3(); + const vertex = new Vector3(); + + let groupCount = 0; + + // this will be used to calculate the normal + const slope = ( radiusBottom - radiusTop ) / height; + + // generate vertices, normals and uvs + + for ( let y = 0; y <= heightSegments; y ++ ) { + + const indexRow = []; + + const v = y / heightSegments; + + // calculate the radius of the current row + + const radius = v * ( radiusBottom - radiusTop ) + radiusTop; + + for ( let x = 0; x <= radialSegments; x ++ ) { + + const u = x / radialSegments; + + const theta = u * thetaLength + thetaStart; + + const sinTheta = Math.sin( theta ); + const cosTheta = Math.cos( theta ); + + // vertex + + vertex.x = radius * sinTheta; + vertex.y = - v * height + halfHeight; + vertex.z = radius * cosTheta; + vertices.push( vertex.x, vertex.y, vertex.z ); + + // normal + + normal.set( sinTheta, slope, cosTheta ).normalize(); + normals.push( normal.x, normal.y, normal.z ); + + // uv + + uvs.push( u, 1 - v ); + + // save index of vertex in respective row + + indexRow.push( index ++ ); + + } + + // now save vertices of the row in our index array + + indexArray.push( indexRow ); + + } + + // generate indices + + for ( let x = 0; x < radialSegments; x ++ ) { + + for ( let y = 0; y < heightSegments; y ++ ) { + + // we use the index array to access the correct indices + + const a = indexArray[ y ][ x ]; + const b = indexArray[ y + 1 ][ x ]; + const c = indexArray[ y + 1 ][ x + 1 ]; + const d = indexArray[ y ][ x + 1 ]; + + // faces + + indices.push( a, b, d ); + indices.push( b, c, d ); + + // update group counter + + groupCount += 6; + + } + + } + + // add a group to the geometry. this will ensure multi material support + + scope.addGroup( groupStart, groupCount, 0 ); + + // calculate new start value for groups + + groupStart += groupCount; + + } + + function generateCap( top ) { + + // save the index of the first center vertex + const centerIndexStart = index; + + const uv = new Vector2(); + const vertex = new Vector3(); + + let groupCount = 0; + + const radius = ( top === true ) ? radiusTop : radiusBottom; + const sign = ( top === true ) ? 1 : - 1; + + // first we generate the center vertex data of the cap. + // because the geometry needs one set of uvs per face, + // we must generate a center vertex per face/segment + + for ( let x = 1; x <= radialSegments; x ++ ) { + + // vertex + + vertices.push( 0, halfHeight * sign, 0 ); + + // normal + + normals.push( 0, sign, 0 ); + + // uv + + uvs.push( 0.5, 0.5 ); + + // increase index + + index ++; + + } + + // save the index of the last center vertex + const centerIndexEnd = index; + + // now we generate the surrounding vertices, normals and uvs + + for ( let x = 0; x <= radialSegments; x ++ ) { + + const u = x / radialSegments; + const theta = u * thetaLength + thetaStart; + + const cosTheta = Math.cos( theta ); + const sinTheta = Math.sin( theta ); + + // vertex + + vertex.x = radius * sinTheta; + vertex.y = halfHeight * sign; + vertex.z = radius * cosTheta; + vertices.push( vertex.x, vertex.y, vertex.z ); + + // normal + + normals.push( 0, sign, 0 ); + + // uv + + uv.x = ( cosTheta * 0.5 ) + 0.5; + uv.y = ( sinTheta * 0.5 * sign ) + 0.5; + uvs.push( uv.x, uv.y ); + + // increase index + + index ++; + + } + + // generate indices + + for ( let x = 0; x < radialSegments; x ++ ) { + + const c = centerIndexStart + x; + const i = centerIndexEnd + x; + + if ( top === true ) { + + // face top + + indices.push( i, i + 1, c ); + + } else { + + // face bottom + + indices.push( i + 1, i, c ); + + } + + groupCount += 3; + + } + + // add a group to the geometry. this will ensure multi material support + + scope.addGroup( groupStart, groupCount, top === true ? 1 : 2 ); + + // calculate new start value for groups + + groupStart += groupCount; + + } + + } + + static fromJSON( data ) { + + return new CylinderGeometry( data.radiusTop, data.radiusBottom, data.height, data.radialSegments, data.heightSegments, data.openEnded, data.thetaStart, data.thetaLength ); + + } + +} + +class ConeGeometry extends CylinderGeometry { + + constructor( radius = 1, height = 1, radialSegments = 8, heightSegments = 1, openEnded = false, thetaStart = 0, thetaLength = Math.PI * 2 ) { + + super( 0, radius, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ); + + this.type = 'ConeGeometry'; + + this.parameters = { + radius: radius, + height: height, + radialSegments: radialSegments, + heightSegments: heightSegments, + openEnded: openEnded, + thetaStart: thetaStart, + thetaLength: thetaLength + }; + + } + + static fromJSON( data ) { + + return new ConeGeometry( data.radius, data.height, data.radialSegments, data.heightSegments, data.openEnded, data.thetaStart, data.thetaLength ); + + } + +} + +class PolyhedronGeometry extends BufferGeometry { + + constructor( vertices = [], indices = [], radius = 1, detail = 0 ) { + + super(); + + this.type = 'PolyhedronGeometry'; + + this.parameters = { + vertices: vertices, + indices: indices, + radius: radius, + detail: detail + }; + + // default buffer data + + const vertexBuffer = []; + const uvBuffer = []; + + // the subdivision creates the vertex buffer data + + subdivide( detail ); + + // all vertices should lie on a conceptual sphere with a given radius + + applyRadius( radius ); + + // finally, create the uv data + + generateUVs(); + + // build non-indexed geometry + + this.setAttribute( 'position', new Float32BufferAttribute( vertexBuffer, 3 ) ); + this.setAttribute( 'normal', new Float32BufferAttribute( vertexBuffer.slice(), 3 ) ); + this.setAttribute( 'uv', new Float32BufferAttribute( uvBuffer, 2 ) ); + + if ( detail === 0 ) { + + this.computeVertexNormals(); // flat normals + + } else { + + this.normalizeNormals(); // smooth normals + + } + + // helper functions + + function subdivide( detail ) { + + const a = new Vector3(); + const b = new Vector3(); + const c = new Vector3(); + + // iterate over all faces and apply a subdivison with the given detail value + + for ( let i = 0; i < indices.length; i += 3 ) { + + // get the vertices of the face + + getVertexByIndex( indices[ i + 0 ], a ); + getVertexByIndex( indices[ i + 1 ], b ); + getVertexByIndex( indices[ i + 2 ], c ); + + // perform subdivision + + subdivideFace( a, b, c, detail ); + + } + + } + + function subdivideFace( a, b, c, detail ) { + + const cols = detail + 1; + + // we use this multidimensional array as a data structure for creating the subdivision + + const v = []; + + // construct all of the vertices for this subdivision + + for ( let i = 0; i <= cols; i ++ ) { + + v[ i ] = []; + + const aj = a.clone().lerp( c, i / cols ); + const bj = b.clone().lerp( c, i / cols ); + + const rows = cols - i; + + for ( let j = 0; j <= rows; j ++ ) { + + if ( j === 0 && i === cols ) { + + v[ i ][ j ] = aj; + + } else { + + v[ i ][ j ] = aj.clone().lerp( bj, j / rows ); + + } + + } + + } + + // construct all of the faces + + for ( let i = 0; i < cols; i ++ ) { + + for ( let j = 0; j < 2 * ( cols - i ) - 1; j ++ ) { + + const k = Math.floor( j / 2 ); + + if ( j % 2 === 0 ) { + + pushVertex( v[ i ][ k + 1 ] ); + pushVertex( v[ i + 1 ][ k ] ); + pushVertex( v[ i ][ k ] ); + + } else { + + pushVertex( v[ i ][ k + 1 ] ); + pushVertex( v[ i + 1 ][ k + 1 ] ); + pushVertex( v[ i + 1 ][ k ] ); + + } + + } + + } + + } + + function applyRadius( radius ) { + + const vertex = new Vector3(); + + // iterate over the entire buffer and apply the radius to each vertex + + for ( let i = 0; i < vertexBuffer.length; i += 3 ) { + + vertex.x = vertexBuffer[ i + 0 ]; + vertex.y = vertexBuffer[ i + 1 ]; + vertex.z = vertexBuffer[ i + 2 ]; + + vertex.normalize().multiplyScalar( radius ); + + vertexBuffer[ i + 0 ] = vertex.x; + vertexBuffer[ i + 1 ] = vertex.y; + vertexBuffer[ i + 2 ] = vertex.z; + + } + + } + + function generateUVs() { + + const vertex = new Vector3(); + + for ( let i = 0; i < vertexBuffer.length; i += 3 ) { + + vertex.x = vertexBuffer[ i + 0 ]; + vertex.y = vertexBuffer[ i + 1 ]; + vertex.z = vertexBuffer[ i + 2 ]; + + const u = azimuth( vertex ) / 2 / Math.PI + 0.5; + const v = inclination( vertex ) / Math.PI + 0.5; + uvBuffer.push( u, 1 - v ); + + } + + correctUVs(); + + correctSeam(); + + } + + function correctSeam() { + + // handle case when face straddles the seam, see #3269 + + for ( let i = 0; i < uvBuffer.length; i += 6 ) { + + // uv data of a single face + + const x0 = uvBuffer[ i + 0 ]; + const x1 = uvBuffer[ i + 2 ]; + const x2 = uvBuffer[ i + 4 ]; + + const max = Math.max( x0, x1, x2 ); + const min = Math.min( x0, x1, x2 ); + + // 0.9 is somewhat arbitrary + + if ( max > 0.9 && min < 0.1 ) { + + if ( x0 < 0.2 ) uvBuffer[ i + 0 ] += 1; + if ( x1 < 0.2 ) uvBuffer[ i + 2 ] += 1; + if ( x2 < 0.2 ) uvBuffer[ i + 4 ] += 1; + + } + + } + + } + + function pushVertex( vertex ) { + + vertexBuffer.push( vertex.x, vertex.y, vertex.z ); + + } + + function getVertexByIndex( index, vertex ) { + + const stride = index * 3; + + vertex.x = vertices[ stride + 0 ]; + vertex.y = vertices[ stride + 1 ]; + vertex.z = vertices[ stride + 2 ]; + + } + + function correctUVs() { + + const a = new Vector3(); + const b = new Vector3(); + const c = new Vector3(); + + const centroid = new Vector3(); + + const uvA = new Vector2(); + const uvB = new Vector2(); + const uvC = new Vector2(); + + for ( let i = 0, j = 0; i < vertexBuffer.length; i += 9, j += 6 ) { + + a.set( vertexBuffer[ i + 0 ], vertexBuffer[ i + 1 ], vertexBuffer[ i + 2 ] ); + b.set( vertexBuffer[ i + 3 ], vertexBuffer[ i + 4 ], vertexBuffer[ i + 5 ] ); + c.set( vertexBuffer[ i + 6 ], vertexBuffer[ i + 7 ], vertexBuffer[ i + 8 ] ); + + uvA.set( uvBuffer[ j + 0 ], uvBuffer[ j + 1 ] ); + uvB.set( uvBuffer[ j + 2 ], uvBuffer[ j + 3 ] ); + uvC.set( uvBuffer[ j + 4 ], uvBuffer[ j + 5 ] ); + + centroid.copy( a ).add( b ).add( c ).divideScalar( 3 ); + + const azi = azimuth( centroid ); + + correctUV( uvA, j + 0, a, azi ); + correctUV( uvB, j + 2, b, azi ); + correctUV( uvC, j + 4, c, azi ); + + } + + } + + function correctUV( uv, stride, vector, azimuth ) { + + if ( ( azimuth < 0 ) && ( uv.x === 1 ) ) { + + uvBuffer[ stride ] = uv.x - 1; + + } + + if ( ( vector.x === 0 ) && ( vector.z === 0 ) ) { + + uvBuffer[ stride ] = azimuth / 2 / Math.PI + 0.5; + + } + + } + + // Angle around the Y axis, counter-clockwise when looking from above. + + function azimuth( vector ) { + + return Math.atan2( vector.z, - vector.x ); + + } + + + // Angle above the XZ plane. + + function inclination( vector ) { + + return Math.atan2( - vector.y, Math.sqrt( ( vector.x * vector.x ) + ( vector.z * vector.z ) ) ); + + } + + } + + static fromJSON( data ) { + + return new PolyhedronGeometry( data.vertices, data.indices, data.radius, data.details ); + + } + +} + +class DodecahedronGeometry extends PolyhedronGeometry { + + constructor( radius = 1, detail = 0 ) { + + const t = ( 1 + Math.sqrt( 5 ) ) / 2; + const r = 1 / t; + + const vertices = [ + + // (±1, ±1, ±1) + - 1, - 1, - 1, - 1, - 1, 1, + - 1, 1, - 1, - 1, 1, 1, + 1, - 1, - 1, 1, - 1, 1, + 1, 1, - 1, 1, 1, 1, + + // (0, ±1/φ, ±φ) + 0, - r, - t, 0, - r, t, + 0, r, - t, 0, r, t, + + // (±1/φ, ±φ, 0) + - r, - t, 0, - r, t, 0, + r, - t, 0, r, t, 0, + + // (±φ, 0, ±1/φ) + - t, 0, - r, t, 0, - r, + - t, 0, r, t, 0, r + ]; + + const indices = [ + 3, 11, 7, 3, 7, 15, 3, 15, 13, + 7, 19, 17, 7, 17, 6, 7, 6, 15, + 17, 4, 8, 17, 8, 10, 17, 10, 6, + 8, 0, 16, 8, 16, 2, 8, 2, 10, + 0, 12, 1, 0, 1, 18, 0, 18, 16, + 6, 10, 2, 6, 2, 13, 6, 13, 15, + 2, 16, 18, 2, 18, 3, 2, 3, 13, + 18, 1, 9, 18, 9, 11, 18, 11, 3, + 4, 14, 12, 4, 12, 0, 4, 0, 8, + 11, 9, 5, 11, 5, 19, 11, 19, 7, + 19, 5, 14, 19, 14, 4, 19, 4, 17, + 1, 12, 14, 1, 14, 5, 1, 5, 9 + ]; + + super( vertices, indices, radius, detail ); + + this.type = 'DodecahedronGeometry'; + + this.parameters = { + radius: radius, + detail: detail + }; + + } + + static fromJSON( data ) { + + return new DodecahedronGeometry( data.radius, data.detail ); + + } + +} + +const _v0 = new Vector3(); +const _v1$1 = new Vector3(); +const _normal = new Vector3(); +const _triangle = new Triangle(); + +class EdgesGeometry extends BufferGeometry { + + constructor( geometry = null, thresholdAngle = 1 ) { + + super(); + this.type = 'EdgesGeometry'; + + this.parameters = { + geometry: geometry, + thresholdAngle: thresholdAngle + }; + + if ( geometry !== null ) { + + const precisionPoints = 4; + const precision = Math.pow( 10, precisionPoints ); + const thresholdDot = Math.cos( DEG2RAD * thresholdAngle ); + + const indexAttr = geometry.getIndex(); + const positionAttr = geometry.getAttribute( 'position' ); + const indexCount = indexAttr ? indexAttr.count : positionAttr.count; + + const indexArr = [ 0, 0, 0 ]; + const vertKeys = [ 'a', 'b', 'c' ]; + const hashes = new Array( 3 ); + + const edgeData = {}; + const vertices = []; + for ( let i = 0; i < indexCount; i += 3 ) { + + if ( indexAttr ) { + + indexArr[ 0 ] = indexAttr.getX( i ); + indexArr[ 1 ] = indexAttr.getX( i + 1 ); + indexArr[ 2 ] = indexAttr.getX( i + 2 ); + + } else { + + indexArr[ 0 ] = i; + indexArr[ 1 ] = i + 1; + indexArr[ 2 ] = i + 2; + + } + + const { a, b, c } = _triangle; + a.fromBufferAttribute( positionAttr, indexArr[ 0 ] ); + b.fromBufferAttribute( positionAttr, indexArr[ 1 ] ); + c.fromBufferAttribute( positionAttr, indexArr[ 2 ] ); + _triangle.getNormal( _normal ); + + // create hashes for the edge from the vertices + hashes[ 0 ] = `${ Math.round( a.x * precision ) },${ Math.round( a.y * precision ) },${ Math.round( a.z * precision ) }`; + hashes[ 1 ] = `${ Math.round( b.x * precision ) },${ Math.round( b.y * precision ) },${ Math.round( b.z * precision ) }`; + hashes[ 2 ] = `${ Math.round( c.x * precision ) },${ Math.round( c.y * precision ) },${ Math.round( c.z * precision ) }`; + + // skip degenerate triangles + if ( hashes[ 0 ] === hashes[ 1 ] || hashes[ 1 ] === hashes[ 2 ] || hashes[ 2 ] === hashes[ 0 ] ) { + + continue; + + } + + // iterate over every edge + for ( let j = 0; j < 3; j ++ ) { + + // get the first and next vertex making up the edge + const jNext = ( j + 1 ) % 3; + const vecHash0 = hashes[ j ]; + const vecHash1 = hashes[ jNext ]; + const v0 = _triangle[ vertKeys[ j ] ]; + const v1 = _triangle[ vertKeys[ jNext ] ]; + + const hash = `${ vecHash0 }_${ vecHash1 }`; + const reverseHash = `${ vecHash1 }_${ vecHash0 }`; + + if ( reverseHash in edgeData && edgeData[ reverseHash ] ) { + + // if we found a sibling edge add it into the vertex array if + // it meets the angle threshold and delete the edge from the map. + if ( _normal.dot( edgeData[ reverseHash ].normal ) <= thresholdDot ) { + + vertices.push( v0.x, v0.y, v0.z ); + vertices.push( v1.x, v1.y, v1.z ); + + } + + edgeData[ reverseHash ] = null; + + } else if ( ! ( hash in edgeData ) ) { + + // if we've already got an edge here then skip adding a new one + edgeData[ hash ] = { + + index0: indexArr[ j ], + index1: indexArr[ jNext ], + normal: _normal.clone(), + + }; + + } + + } + + } + + // iterate over all remaining, unmatched edges and add them to the vertex array + for ( const key in edgeData ) { + + if ( edgeData[ key ] ) { + + const { index0, index1 } = edgeData[ key ]; + _v0.fromBufferAttribute( positionAttr, index0 ); + _v1$1.fromBufferAttribute( positionAttr, index1 ); + + vertices.push( _v0.x, _v0.y, _v0.z ); + vertices.push( _v1$1.x, _v1$1.y, _v1$1.z ); + + } + + } + + this.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + + } + + } + +} + +/** + * Extensible curve object. + * + * Some common of curve methods: + * .getPoint( t, optionalTarget ), .getTangent( t, optionalTarget ) + * .getPointAt( u, optionalTarget ), .getTangentAt( u, optionalTarget ) + * .getPoints(), .getSpacedPoints() + * .getLength() + * .updateArcLengths() + * + * This following curves inherit from THREE.Curve: + * + * -- 2D curves -- + * THREE.ArcCurve + * THREE.CubicBezierCurve + * THREE.EllipseCurve + * THREE.LineCurve + * THREE.QuadraticBezierCurve + * THREE.SplineCurve + * + * -- 3D curves -- + * THREE.CatmullRomCurve3 + * THREE.CubicBezierCurve3 + * THREE.LineCurve3 + * THREE.QuadraticBezierCurve3 + * + * A series of curves can be represented as a THREE.CurvePath. + * + **/ + +class Curve { + + constructor() { + + this.type = 'Curve'; + + this.arcLengthDivisions = 200; + + } + + // Virtual base class method to overwrite and implement in subclasses + // - t [0 .. 1] + + getPoint( /* t, optionalTarget */ ) { + + console.warn( 'THREE.Curve: .getPoint() not implemented.' ); + return null; + + } + + // Get point at relative position in curve according to arc length + // - u [0 .. 1] + + getPointAt( u, optionalTarget ) { + + const t = this.getUtoTmapping( u ); + return this.getPoint( t, optionalTarget ); + + } + + // Get sequence of points using getPoint( t ) + + getPoints( divisions = 5 ) { + + const points = []; + + for ( let d = 0; d <= divisions; d ++ ) { + + points.push( this.getPoint( d / divisions ) ); + + } + + return points; + + } + + // Get sequence of points using getPointAt( u ) + + getSpacedPoints( divisions = 5 ) { + + const points = []; + + for ( let d = 0; d <= divisions; d ++ ) { + + points.push( this.getPointAt( d / divisions ) ); + + } + + return points; + + } + + // Get total curve arc length + + getLength() { + + const lengths = this.getLengths(); + return lengths[ lengths.length - 1 ]; + + } + + // Get list of cumulative segment lengths + + getLengths( divisions = this.arcLengthDivisions ) { + + if ( this.cacheArcLengths && + ( this.cacheArcLengths.length === divisions + 1 ) && + ! this.needsUpdate ) { + + return this.cacheArcLengths; + + } + + this.needsUpdate = false; + + const cache = []; + let current, last = this.getPoint( 0 ); + let sum = 0; + + cache.push( 0 ); + + for ( let p = 1; p <= divisions; p ++ ) { + + current = this.getPoint( p / divisions ); + sum += current.distanceTo( last ); + cache.push( sum ); + last = current; + + } + + this.cacheArcLengths = cache; + + return cache; // { sums: cache, sum: sum }; Sum is in the last element. + + } + + updateArcLengths() { + + this.needsUpdate = true; + this.getLengths(); + + } + + // Given u ( 0 .. 1 ), get a t to find p. This gives you points which are equidistant + + getUtoTmapping( u, distance ) { + + const arcLengths = this.getLengths(); + + let i = 0; + const il = arcLengths.length; + + let targetArcLength; // The targeted u distance value to get + + if ( distance ) { + + targetArcLength = distance; + + } else { + + targetArcLength = u * arcLengths[ il - 1 ]; + + } + + // binary search for the index with largest value smaller than target u distance + + let low = 0, high = il - 1, comparison; + + while ( low <= high ) { + + i = Math.floor( low + ( high - low ) / 2 ); // less likely to overflow, though probably not issue here, JS doesn't really have integers, all numbers are floats + + comparison = arcLengths[ i ] - targetArcLength; + + if ( comparison < 0 ) { + + low = i + 1; + + } else if ( comparison > 0 ) { + + high = i - 1; + + } else { + + high = i; + break; + + // DONE + + } + + } + + i = high; + + if ( arcLengths[ i ] === targetArcLength ) { + + return i / ( il - 1 ); + + } + + // we could get finer grain at lengths, or use simple interpolation between two points + + const lengthBefore = arcLengths[ i ]; + const lengthAfter = arcLengths[ i + 1 ]; + + const segmentLength = lengthAfter - lengthBefore; + + // determine where we are between the 'before' and 'after' points + + const segmentFraction = ( targetArcLength - lengthBefore ) / segmentLength; + + // add that fractional amount to t + + const t = ( i + segmentFraction ) / ( il - 1 ); + + return t; + + } + + // Returns a unit vector tangent at t + // In case any sub curve does not implement its tangent derivation, + // 2 points a small delta apart will be used to find its gradient + // which seems to give a reasonable approximation + + getTangent( t, optionalTarget ) { + + const delta = 0.0001; + let t1 = t - delta; + let t2 = t + delta; + + // Capping in case of danger + + if ( t1 < 0 ) t1 = 0; + if ( t2 > 1 ) t2 = 1; + + const pt1 = this.getPoint( t1 ); + const pt2 = this.getPoint( t2 ); + + const tangent = optionalTarget || ( ( pt1.isVector2 ) ? new Vector2() : new Vector3() ); + + tangent.copy( pt2 ).sub( pt1 ).normalize(); + + return tangent; + + } + + getTangentAt( u, optionalTarget ) { + + const t = this.getUtoTmapping( u ); + return this.getTangent( t, optionalTarget ); + + } + + computeFrenetFrames( segments, closed ) { + + // see http://www.cs.indiana.edu/pub/techreports/TR425.pdf + + const normal = new Vector3(); + + const tangents = []; + const normals = []; + const binormals = []; + + const vec = new Vector3(); + const mat = new Matrix4(); + + // compute the tangent vectors for each segment on the curve + + for ( let i = 0; i <= segments; i ++ ) { + + const u = i / segments; + + tangents[ i ] = this.getTangentAt( u, new Vector3() ); + + } + + // select an initial normal vector perpendicular to the first tangent vector, + // and in the direction of the minimum tangent xyz component + + normals[ 0 ] = new Vector3(); + binormals[ 0 ] = new Vector3(); + let min = Number.MAX_VALUE; + const tx = Math.abs( tangents[ 0 ].x ); + const ty = Math.abs( tangents[ 0 ].y ); + const tz = Math.abs( tangents[ 0 ].z ); + + if ( tx <= min ) { + + min = tx; + normal.set( 1, 0, 0 ); + + } + + if ( ty <= min ) { + + min = ty; + normal.set( 0, 1, 0 ); + + } + + if ( tz <= min ) { + + normal.set( 0, 0, 1 ); + + } + + vec.crossVectors( tangents[ 0 ], normal ).normalize(); + + normals[ 0 ].crossVectors( tangents[ 0 ], vec ); + binormals[ 0 ].crossVectors( tangents[ 0 ], normals[ 0 ] ); + + + // compute the slowly-varying normal and binormal vectors for each segment on the curve + + for ( let i = 1; i <= segments; i ++ ) { + + normals[ i ] = normals[ i - 1 ].clone(); + + binormals[ i ] = binormals[ i - 1 ].clone(); + + vec.crossVectors( tangents[ i - 1 ], tangents[ i ] ); + + if ( vec.length() > Number.EPSILON ) { + + vec.normalize(); + + const theta = Math.acos( clamp( tangents[ i - 1 ].dot( tangents[ i ] ), - 1, 1 ) ); // clamp for floating pt errors + + normals[ i ].applyMatrix4( mat.makeRotationAxis( vec, theta ) ); + + } + + binormals[ i ].crossVectors( tangents[ i ], normals[ i ] ); + + } + + // if the curve is closed, postprocess the vectors so the first and last normal vectors are the same + + if ( closed === true ) { + + let theta = Math.acos( clamp( normals[ 0 ].dot( normals[ segments ] ), - 1, 1 ) ); + theta /= segments; + + if ( tangents[ 0 ].dot( vec.crossVectors( normals[ 0 ], normals[ segments ] ) ) > 0 ) { + + theta = - theta; + + } + + for ( let i = 1; i <= segments; i ++ ) { + + // twist a little... + normals[ i ].applyMatrix4( mat.makeRotationAxis( tangents[ i ], theta * i ) ); + binormals[ i ].crossVectors( tangents[ i ], normals[ i ] ); + + } + + } + + return { + tangents: tangents, + normals: normals, + binormals: binormals + }; + + } + + clone() { + + return new this.constructor().copy( this ); + + } + + copy( source ) { + + this.arcLengthDivisions = source.arcLengthDivisions; + + return this; + + } + + toJSON() { + + const data = { + metadata: { + version: 4.5, + type: 'Curve', + generator: 'Curve.toJSON' + } + }; + + data.arcLengthDivisions = this.arcLengthDivisions; + data.type = this.type; + + return data; + + } + + fromJSON( json ) { + + this.arcLengthDivisions = json.arcLengthDivisions; + + return this; + + } + +} + +class EllipseCurve extends Curve { + + constructor( aX = 0, aY = 0, xRadius = 1, yRadius = 1, aStartAngle = 0, aEndAngle = Math.PI * 2, aClockwise = false, aRotation = 0 ) { + + super(); + + this.type = 'EllipseCurve'; + + this.aX = aX; + this.aY = aY; + + this.xRadius = xRadius; + this.yRadius = yRadius; + + this.aStartAngle = aStartAngle; + this.aEndAngle = aEndAngle; + + this.aClockwise = aClockwise; + + this.aRotation = aRotation; + + } + + getPoint( t, optionalTarget ) { + + const point = optionalTarget || new Vector2(); + + const twoPi = Math.PI * 2; + let deltaAngle = this.aEndAngle - this.aStartAngle; + const samePoints = Math.abs( deltaAngle ) < Number.EPSILON; + + // ensures that deltaAngle is 0 .. 2 PI + while ( deltaAngle < 0 ) deltaAngle += twoPi; + while ( deltaAngle > twoPi ) deltaAngle -= twoPi; + + if ( deltaAngle < Number.EPSILON ) { + + if ( samePoints ) { + + deltaAngle = 0; + + } else { + + deltaAngle = twoPi; + + } + + } + + if ( this.aClockwise === true && ! samePoints ) { + + if ( deltaAngle === twoPi ) { + + deltaAngle = - twoPi; + + } else { + + deltaAngle = deltaAngle - twoPi; + + } + + } + + const angle = this.aStartAngle + t * deltaAngle; + let x = this.aX + this.xRadius * Math.cos( angle ); + let y = this.aY + this.yRadius * Math.sin( angle ); + + if ( this.aRotation !== 0 ) { + + const cos = Math.cos( this.aRotation ); + const sin = Math.sin( this.aRotation ); + + const tx = x - this.aX; + const ty = y - this.aY; + + // Rotate the point about the center of the ellipse. + x = tx * cos - ty * sin + this.aX; + y = tx * sin + ty * cos + this.aY; + + } + + return point.set( x, y ); + + } + + copy( source ) { + + super.copy( source ); + + this.aX = source.aX; + this.aY = source.aY; + + this.xRadius = source.xRadius; + this.yRadius = source.yRadius; + + this.aStartAngle = source.aStartAngle; + this.aEndAngle = source.aEndAngle; + + this.aClockwise = source.aClockwise; + + this.aRotation = source.aRotation; + + return this; + + } + + toJSON() { + + const data = super.toJSON(); + + data.aX = this.aX; + data.aY = this.aY; + + data.xRadius = this.xRadius; + data.yRadius = this.yRadius; + + data.aStartAngle = this.aStartAngle; + data.aEndAngle = this.aEndAngle; + + data.aClockwise = this.aClockwise; + + data.aRotation = this.aRotation; + + return data; + + } + + fromJSON( json ) { + + super.fromJSON( json ); + + this.aX = json.aX; + this.aY = json.aY; + + this.xRadius = json.xRadius; + this.yRadius = json.yRadius; + + this.aStartAngle = json.aStartAngle; + this.aEndAngle = json.aEndAngle; + + this.aClockwise = json.aClockwise; + + this.aRotation = json.aRotation; + + return this; + + } + +} + +EllipseCurve.prototype.isEllipseCurve = true; + +class ArcCurve extends EllipseCurve { + + constructor( aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise ) { + + super( aX, aY, aRadius, aRadius, aStartAngle, aEndAngle, aClockwise ); + + this.type = 'ArcCurve'; + + } + +} + +ArcCurve.prototype.isArcCurve = true; + +/** + * Centripetal CatmullRom Curve - which is useful for avoiding + * cusps and self-intersections in non-uniform catmull rom curves. + * http://www.cemyuksel.com/research/catmullrom_param/catmullrom.pdf + * + * curve.type accepts centripetal(default), chordal and catmullrom + * curve.tension is used for catmullrom which defaults to 0.5 + */ + + +/* +Based on an optimized c++ solution in + - http://stackoverflow.com/questions/9489736/catmull-rom-curve-with-no-cusps-and-no-self-intersections/ + - http://ideone.com/NoEbVM + +This CubicPoly class could be used for reusing some variables and calculations, +but for three.js curve use, it could be possible inlined and flatten into a single function call +which can be placed in CurveUtils. +*/ + +function CubicPoly() { + + let c0 = 0, c1 = 0, c2 = 0, c3 = 0; + + /* + * Compute coefficients for a cubic polynomial + * p(s) = c0 + c1*s + c2*s^2 + c3*s^3 + * such that + * p(0) = x0, p(1) = x1 + * and + * p'(0) = t0, p'(1) = t1. + */ + function init( x0, x1, t0, t1 ) { + + c0 = x0; + c1 = t0; + c2 = - 3 * x0 + 3 * x1 - 2 * t0 - t1; + c3 = 2 * x0 - 2 * x1 + t0 + t1; + + } + + return { + + initCatmullRom: function ( x0, x1, x2, x3, tension ) { + + init( x1, x2, tension * ( x2 - x0 ), tension * ( x3 - x1 ) ); + + }, + + initNonuniformCatmullRom: function ( x0, x1, x2, x3, dt0, dt1, dt2 ) { + + // compute tangents when parameterized in [t1,t2] + let t1 = ( x1 - x0 ) / dt0 - ( x2 - x0 ) / ( dt0 + dt1 ) + ( x2 - x1 ) / dt1; + let t2 = ( x2 - x1 ) / dt1 - ( x3 - x1 ) / ( dt1 + dt2 ) + ( x3 - x2 ) / dt2; + + // rescale tangents for parametrization in [0,1] + t1 *= dt1; + t2 *= dt1; + + init( x1, x2, t1, t2 ); + + }, + + calc: function ( t ) { + + const t2 = t * t; + const t3 = t2 * t; + return c0 + c1 * t + c2 * t2 + c3 * t3; + + } + + }; + +} + +// + +const tmp = new Vector3(); +const px = new CubicPoly(), py = new CubicPoly(), pz = new CubicPoly(); + +class CatmullRomCurve3 extends Curve { + + constructor( points = [], closed = false, curveType = 'centripetal', tension = 0.5 ) { + + super(); + + this.type = 'CatmullRomCurve3'; + + this.points = points; + this.closed = closed; + this.curveType = curveType; + this.tension = tension; + + } + + getPoint( t, optionalTarget = new Vector3() ) { + + const point = optionalTarget; + + const points = this.points; + const l = points.length; + + const p = ( l - ( this.closed ? 0 : 1 ) ) * t; + let intPoint = Math.floor( p ); + let weight = p - intPoint; + + if ( this.closed ) { + + intPoint += intPoint > 0 ? 0 : ( Math.floor( Math.abs( intPoint ) / l ) + 1 ) * l; + + } else if ( weight === 0 && intPoint === l - 1 ) { + + intPoint = l - 2; + weight = 1; + + } + + let p0, p3; // 4 points (p1 & p2 defined below) + + if ( this.closed || intPoint > 0 ) { + + p0 = points[ ( intPoint - 1 ) % l ]; + + } else { + + // extrapolate first point + tmp.subVectors( points[ 0 ], points[ 1 ] ).add( points[ 0 ] ); + p0 = tmp; + + } + + const p1 = points[ intPoint % l ]; + const p2 = points[ ( intPoint + 1 ) % l ]; + + if ( this.closed || intPoint + 2 < l ) { + + p3 = points[ ( intPoint + 2 ) % l ]; + + } else { + + // extrapolate last point + tmp.subVectors( points[ l - 1 ], points[ l - 2 ] ).add( points[ l - 1 ] ); + p3 = tmp; + + } + + if ( this.curveType === 'centripetal' || this.curveType === 'chordal' ) { + + // init Centripetal / Chordal Catmull-Rom + const pow = this.curveType === 'chordal' ? 0.5 : 0.25; + let dt0 = Math.pow( p0.distanceToSquared( p1 ), pow ); + let dt1 = Math.pow( p1.distanceToSquared( p2 ), pow ); + let dt2 = Math.pow( p2.distanceToSquared( p3 ), pow ); + + // safety check for repeated points + if ( dt1 < 1e-4 ) dt1 = 1.0; + if ( dt0 < 1e-4 ) dt0 = dt1; + if ( dt2 < 1e-4 ) dt2 = dt1; + + px.initNonuniformCatmullRom( p0.x, p1.x, p2.x, p3.x, dt0, dt1, dt2 ); + py.initNonuniformCatmullRom( p0.y, p1.y, p2.y, p3.y, dt0, dt1, dt2 ); + pz.initNonuniformCatmullRom( p0.z, p1.z, p2.z, p3.z, dt0, dt1, dt2 ); + + } else if ( this.curveType === 'catmullrom' ) { + + px.initCatmullRom( p0.x, p1.x, p2.x, p3.x, this.tension ); + py.initCatmullRom( p0.y, p1.y, p2.y, p3.y, this.tension ); + pz.initCatmullRom( p0.z, p1.z, p2.z, p3.z, this.tension ); + + } + + point.set( + px.calc( weight ), + py.calc( weight ), + pz.calc( weight ) + ); + + return point; + + } + + copy( source ) { + + super.copy( source ); + + this.points = []; + + for ( let i = 0, l = source.points.length; i < l; i ++ ) { + + const point = source.points[ i ]; + + this.points.push( point.clone() ); + + } + + this.closed = source.closed; + this.curveType = source.curveType; + this.tension = source.tension; + + return this; + + } + + toJSON() { + + const data = super.toJSON(); + + data.points = []; + + for ( let i = 0, l = this.points.length; i < l; i ++ ) { + + const point = this.points[ i ]; + data.points.push( point.toArray() ); + + } + + data.closed = this.closed; + data.curveType = this.curveType; + data.tension = this.tension; + + return data; + + } + + fromJSON( json ) { + + super.fromJSON( json ); + + this.points = []; + + for ( let i = 0, l = json.points.length; i < l; i ++ ) { + + const point = json.points[ i ]; + this.points.push( new Vector3().fromArray( point ) ); + + } + + this.closed = json.closed; + this.curveType = json.curveType; + this.tension = json.tension; + + return this; + + } + +} + +CatmullRomCurve3.prototype.isCatmullRomCurve3 = true; + +/** + * Bezier Curves formulas obtained from + * https://en.wikipedia.org/wiki/B%C3%A9zier_curve + */ + +function CatmullRom( t, p0, p1, p2, p3 ) { + + const v0 = ( p2 - p0 ) * 0.5; + const v1 = ( p3 - p1 ) * 0.5; + const t2 = t * t; + const t3 = t * t2; + return ( 2 * p1 - 2 * p2 + v0 + v1 ) * t3 + ( - 3 * p1 + 3 * p2 - 2 * v0 - v1 ) * t2 + v0 * t + p1; + +} + +// + +function QuadraticBezierP0( t, p ) { + + const k = 1 - t; + return k * k * p; + +} + +function QuadraticBezierP1( t, p ) { + + return 2 * ( 1 - t ) * t * p; + +} + +function QuadraticBezierP2( t, p ) { + + return t * t * p; + +} + +function QuadraticBezier( t, p0, p1, p2 ) { + + return QuadraticBezierP0( t, p0 ) + QuadraticBezierP1( t, p1 ) + + QuadraticBezierP2( t, p2 ); + +} + +// + +function CubicBezierP0( t, p ) { + + const k = 1 - t; + return k * k * k * p; + +} + +function CubicBezierP1( t, p ) { + + const k = 1 - t; + return 3 * k * k * t * p; + +} + +function CubicBezierP2( t, p ) { + + return 3 * ( 1 - t ) * t * t * p; + +} + +function CubicBezierP3( t, p ) { + + return t * t * t * p; + +} + +function CubicBezier( t, p0, p1, p2, p3 ) { + + return CubicBezierP0( t, p0 ) + CubicBezierP1( t, p1 ) + CubicBezierP2( t, p2 ) + + CubicBezierP3( t, p3 ); + +} + +class CubicBezierCurve extends Curve { + + constructor( v0 = new Vector2(), v1 = new Vector2(), v2 = new Vector2(), v3 = new Vector2() ) { + + super(); + + this.type = 'CubicBezierCurve'; + + this.v0 = v0; + this.v1 = v1; + this.v2 = v2; + this.v3 = v3; + + } + + getPoint( t, optionalTarget = new Vector2() ) { + + const point = optionalTarget; + + const v0 = this.v0, v1 = this.v1, v2 = this.v2, v3 = this.v3; + + point.set( + CubicBezier( t, v0.x, v1.x, v2.x, v3.x ), + CubicBezier( t, v0.y, v1.y, v2.y, v3.y ) + ); + + return point; + + } + + copy( source ) { + + super.copy( source ); + + this.v0.copy( source.v0 ); + this.v1.copy( source.v1 ); + this.v2.copy( source.v2 ); + this.v3.copy( source.v3 ); + + return this; + + } + + toJSON() { + + const data = super.toJSON(); + + data.v0 = this.v0.toArray(); + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + data.v3 = this.v3.toArray(); + + return data; + + } + + fromJSON( json ) { + + super.fromJSON( json ); + + this.v0.fromArray( json.v0 ); + this.v1.fromArray( json.v1 ); + this.v2.fromArray( json.v2 ); + this.v3.fromArray( json.v3 ); + + return this; + + } + +} + +CubicBezierCurve.prototype.isCubicBezierCurve = true; + +class CubicBezierCurve3 extends Curve { + + constructor( v0 = new Vector3(), v1 = new Vector3(), v2 = new Vector3(), v3 = new Vector3() ) { + + super(); + + this.type = 'CubicBezierCurve3'; + + this.v0 = v0; + this.v1 = v1; + this.v2 = v2; + this.v3 = v3; + + } + + getPoint( t, optionalTarget = new Vector3() ) { + + const point = optionalTarget; + + const v0 = this.v0, v1 = this.v1, v2 = this.v2, v3 = this.v3; + + point.set( + CubicBezier( t, v0.x, v1.x, v2.x, v3.x ), + CubicBezier( t, v0.y, v1.y, v2.y, v3.y ), + CubicBezier( t, v0.z, v1.z, v2.z, v3.z ) + ); + + return point; + + } + + copy( source ) { + + super.copy( source ); + + this.v0.copy( source.v0 ); + this.v1.copy( source.v1 ); + this.v2.copy( source.v2 ); + this.v3.copy( source.v3 ); + + return this; + + } + + toJSON() { + + const data = super.toJSON(); + + data.v0 = this.v0.toArray(); + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + data.v3 = this.v3.toArray(); + + return data; + + } + + fromJSON( json ) { + + super.fromJSON( json ); + + this.v0.fromArray( json.v0 ); + this.v1.fromArray( json.v1 ); + this.v2.fromArray( json.v2 ); + this.v3.fromArray( json.v3 ); + + return this; + + } + +} + +CubicBezierCurve3.prototype.isCubicBezierCurve3 = true; + +class LineCurve extends Curve { + + constructor( v1 = new Vector2(), v2 = new Vector2() ) { + + super(); + + this.type = 'LineCurve'; + + this.v1 = v1; + this.v2 = v2; + + } + + getPoint( t, optionalTarget = new Vector2() ) { + + const point = optionalTarget; + + if ( t === 1 ) { + + point.copy( this.v2 ); + + } else { + + point.copy( this.v2 ).sub( this.v1 ); + point.multiplyScalar( t ).add( this.v1 ); + + } + + return point; + + } + + // Line curve is linear, so we can overwrite default getPointAt + getPointAt( u, optionalTarget ) { + + return this.getPoint( u, optionalTarget ); + + } + + getTangent( t, optionalTarget ) { + + const tangent = optionalTarget || new Vector2(); + + tangent.copy( this.v2 ).sub( this.v1 ).normalize(); + + return tangent; + + } + + copy( source ) { + + super.copy( source ); + + this.v1.copy( source.v1 ); + this.v2.copy( source.v2 ); + + return this; + + } + + toJSON() { + + const data = super.toJSON(); + + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + + return data; + + } + + fromJSON( json ) { + + super.fromJSON( json ); + + this.v1.fromArray( json.v1 ); + this.v2.fromArray( json.v2 ); + + return this; + + } + +} + +LineCurve.prototype.isLineCurve = true; + +class LineCurve3 extends Curve { + + constructor( v1 = new Vector3(), v2 = new Vector3() ) { + + super(); + + this.type = 'LineCurve3'; + this.isLineCurve3 = true; + + this.v1 = v1; + this.v2 = v2; + + } + getPoint( t, optionalTarget = new Vector3() ) { + + const point = optionalTarget; + + if ( t === 1 ) { + + point.copy( this.v2 ); + + } else { + + point.copy( this.v2 ).sub( this.v1 ); + point.multiplyScalar( t ).add( this.v1 ); + + } + + return point; + + } + // Line curve is linear, so we can overwrite default getPointAt + getPointAt( u, optionalTarget ) { + + return this.getPoint( u, optionalTarget ); + + } + copy( source ) { + + super.copy( source ); + + this.v1.copy( source.v1 ); + this.v2.copy( source.v2 ); + + return this; + + } + toJSON() { + + const data = super.toJSON(); + + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + + return data; + + } + fromJSON( json ) { + + super.fromJSON( json ); + + this.v1.fromArray( json.v1 ); + this.v2.fromArray( json.v2 ); + + return this; + + } + +} + +class QuadraticBezierCurve extends Curve { + + constructor( v0 = new Vector2(), v1 = new Vector2(), v2 = new Vector2() ) { + + super(); + + this.type = 'QuadraticBezierCurve'; + + this.v0 = v0; + this.v1 = v1; + this.v2 = v2; + + } + + getPoint( t, optionalTarget = new Vector2() ) { + + const point = optionalTarget; + + const v0 = this.v0, v1 = this.v1, v2 = this.v2; + + point.set( + QuadraticBezier( t, v0.x, v1.x, v2.x ), + QuadraticBezier( t, v0.y, v1.y, v2.y ) + ); + + return point; + + } + + copy( source ) { + + super.copy( source ); + + this.v0.copy( source.v0 ); + this.v1.copy( source.v1 ); + this.v2.copy( source.v2 ); + + return this; + + } + + toJSON() { + + const data = super.toJSON(); + + data.v0 = this.v0.toArray(); + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + + return data; + + } + + fromJSON( json ) { + + super.fromJSON( json ); + + this.v0.fromArray( json.v0 ); + this.v1.fromArray( json.v1 ); + this.v2.fromArray( json.v2 ); + + return this; + + } + +} + +QuadraticBezierCurve.prototype.isQuadraticBezierCurve = true; + +class QuadraticBezierCurve3 extends Curve { + + constructor( v0 = new Vector3(), v1 = new Vector3(), v2 = new Vector3() ) { + + super(); + + this.type = 'QuadraticBezierCurve3'; + + this.v0 = v0; + this.v1 = v1; + this.v2 = v2; + + } + + getPoint( t, optionalTarget = new Vector3() ) { + + const point = optionalTarget; + + const v0 = this.v0, v1 = this.v1, v2 = this.v2; + + point.set( + QuadraticBezier( t, v0.x, v1.x, v2.x ), + QuadraticBezier( t, v0.y, v1.y, v2.y ), + QuadraticBezier( t, v0.z, v1.z, v2.z ) + ); + + return point; + + } + + copy( source ) { + + super.copy( source ); + + this.v0.copy( source.v0 ); + this.v1.copy( source.v1 ); + this.v2.copy( source.v2 ); + + return this; + + } + + toJSON() { + + const data = super.toJSON(); + + data.v0 = this.v0.toArray(); + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + + return data; + + } + + fromJSON( json ) { + + super.fromJSON( json ); + + this.v0.fromArray( json.v0 ); + this.v1.fromArray( json.v1 ); + this.v2.fromArray( json.v2 ); + + return this; + + } + +} + +QuadraticBezierCurve3.prototype.isQuadraticBezierCurve3 = true; + +class SplineCurve extends Curve { + + constructor( points = [] ) { + + super(); + + this.type = 'SplineCurve'; + + this.points = points; + + } + + getPoint( t, optionalTarget = new Vector2() ) { + + const point = optionalTarget; + + const points = this.points; + const p = ( points.length - 1 ) * t; + + const intPoint = Math.floor( p ); + const weight = p - intPoint; + + const p0 = points[ intPoint === 0 ? intPoint : intPoint - 1 ]; + const p1 = points[ intPoint ]; + const p2 = points[ intPoint > points.length - 2 ? points.length - 1 : intPoint + 1 ]; + const p3 = points[ intPoint > points.length - 3 ? points.length - 1 : intPoint + 2 ]; + + point.set( + CatmullRom( weight, p0.x, p1.x, p2.x, p3.x ), + CatmullRom( weight, p0.y, p1.y, p2.y, p3.y ) + ); + + return point; + + } + + copy( source ) { + + super.copy( source ); + + this.points = []; + + for ( let i = 0, l = source.points.length; i < l; i ++ ) { + + const point = source.points[ i ]; + + this.points.push( point.clone() ); + + } + + return this; + + } + + toJSON() { + + const data = super.toJSON(); + + data.points = []; + + for ( let i = 0, l = this.points.length; i < l; i ++ ) { + + const point = this.points[ i ]; + data.points.push( point.toArray() ); + + } + + return data; + + } + + fromJSON( json ) { + + super.fromJSON( json ); + + this.points = []; + + for ( let i = 0, l = json.points.length; i < l; i ++ ) { + + const point = json.points[ i ]; + this.points.push( new Vector2().fromArray( point ) ); + + } + + return this; + + } + +} + +SplineCurve.prototype.isSplineCurve = true; + +var Curves = /*#__PURE__*/Object.freeze({ + __proto__: null, + ArcCurve: ArcCurve, + CatmullRomCurve3: CatmullRomCurve3, + CubicBezierCurve: CubicBezierCurve, + CubicBezierCurve3: CubicBezierCurve3, + EllipseCurve: EllipseCurve, + LineCurve: LineCurve, + LineCurve3: LineCurve3, + QuadraticBezierCurve: QuadraticBezierCurve, + QuadraticBezierCurve3: QuadraticBezierCurve3, + SplineCurve: SplineCurve +}); + +/************************************************************** + * Curved Path - a curve path is simply a array of connected + * curves, but retains the api of a curve + **************************************************************/ + +class CurvePath extends Curve { + + constructor() { + + super(); + + this.type = 'CurvePath'; + + this.curves = []; + this.autoClose = false; // Automatically closes the path + + } + + add( curve ) { + + this.curves.push( curve ); + + } + + closePath() { + + // Add a line curve if start and end of lines are not connected + const startPoint = this.curves[ 0 ].getPoint( 0 ); + const endPoint = this.curves[ this.curves.length - 1 ].getPoint( 1 ); + + if ( ! startPoint.equals( endPoint ) ) { + + this.curves.push( new LineCurve( endPoint, startPoint ) ); + + } + + } + + // To get accurate point with reference to + // entire path distance at time t, + // following has to be done: + + // 1. Length of each sub path have to be known + // 2. Locate and identify type of curve + // 3. Get t for the curve + // 4. Return curve.getPointAt(t') + + getPoint( t, optionalTarget ) { + + const d = t * this.getLength(); + const curveLengths = this.getCurveLengths(); + let i = 0; + + // To think about boundaries points. + + while ( i < curveLengths.length ) { + + if ( curveLengths[ i ] >= d ) { + + const diff = curveLengths[ i ] - d; + const curve = this.curves[ i ]; + + const segmentLength = curve.getLength(); + const u = segmentLength === 0 ? 0 : 1 - diff / segmentLength; + + return curve.getPointAt( u, optionalTarget ); + + } + + i ++; + + } + + return null; + + // loop where sum != 0, sum > d , sum+1 1 && ! points[ points.length - 1 ].equals( points[ 0 ] ) ) { + + points.push( points[ 0 ] ); + + } + + return points; + + } + + copy( source ) { + + super.copy( source ); + + this.curves = []; + + for ( let i = 0, l = source.curves.length; i < l; i ++ ) { + + const curve = source.curves[ i ]; + + this.curves.push( curve.clone() ); + + } + + this.autoClose = source.autoClose; + + return this; + + } + + toJSON() { + + const data = super.toJSON(); + + data.autoClose = this.autoClose; + data.curves = []; + + for ( let i = 0, l = this.curves.length; i < l; i ++ ) { + + const curve = this.curves[ i ]; + data.curves.push( curve.toJSON() ); + + } + + return data; + + } + + fromJSON( json ) { + + super.fromJSON( json ); + + this.autoClose = json.autoClose; + this.curves = []; + + for ( let i = 0, l = json.curves.length; i < l; i ++ ) { + + const curve = json.curves[ i ]; + this.curves.push( new Curves[ curve.type ]().fromJSON( curve ) ); + + } + + return this; + + } + +} + +class Path extends CurvePath { + + constructor( points ) { + + super(); + this.type = 'Path'; + + this.currentPoint = new Vector2(); + + if ( points ) { + + this.setFromPoints( points ); + + } + + } + + setFromPoints( points ) { + + this.moveTo( points[ 0 ].x, points[ 0 ].y ); + + for ( let i = 1, l = points.length; i < l; i ++ ) { + + this.lineTo( points[ i ].x, points[ i ].y ); + + } + + return this; + + } + + moveTo( x, y ) { + + this.currentPoint.set( x, y ); // TODO consider referencing vectors instead of copying? + + return this; + + } + + lineTo( x, y ) { + + const curve = new LineCurve( this.currentPoint.clone(), new Vector2( x, y ) ); + this.curves.push( curve ); + + this.currentPoint.set( x, y ); + + return this; + + } + + quadraticCurveTo( aCPx, aCPy, aX, aY ) { + + const curve = new QuadraticBezierCurve( + this.currentPoint.clone(), + new Vector2( aCPx, aCPy ), + new Vector2( aX, aY ) + ); + + this.curves.push( curve ); + + this.currentPoint.set( aX, aY ); + + return this; + + } + + bezierCurveTo( aCP1x, aCP1y, aCP2x, aCP2y, aX, aY ) { + + const curve = new CubicBezierCurve( + this.currentPoint.clone(), + new Vector2( aCP1x, aCP1y ), + new Vector2( aCP2x, aCP2y ), + new Vector2( aX, aY ) + ); + + this.curves.push( curve ); + + this.currentPoint.set( aX, aY ); + + return this; + + } + + splineThru( pts /*Array of Vector*/ ) { + + const npts = [ this.currentPoint.clone() ].concat( pts ); + + const curve = new SplineCurve( npts ); + this.curves.push( curve ); + + this.currentPoint.copy( pts[ pts.length - 1 ] ); + + return this; + + } + + arc( aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise ) { + + const x0 = this.currentPoint.x; + const y0 = this.currentPoint.y; + + this.absarc( aX + x0, aY + y0, aRadius, + aStartAngle, aEndAngle, aClockwise ); + + return this; + + } + + absarc( aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise ) { + + this.absellipse( aX, aY, aRadius, aRadius, aStartAngle, aEndAngle, aClockwise ); + + return this; + + } + + ellipse( aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation ) { + + const x0 = this.currentPoint.x; + const y0 = this.currentPoint.y; + + this.absellipse( aX + x0, aY + y0, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation ); + + return this; + + } + + absellipse( aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation ) { + + const curve = new EllipseCurve( aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation ); + + if ( this.curves.length > 0 ) { + + // if a previous curve is present, attempt to join + const firstPoint = curve.getPoint( 0 ); + + if ( ! firstPoint.equals( this.currentPoint ) ) { + + this.lineTo( firstPoint.x, firstPoint.y ); + + } + + } + + this.curves.push( curve ); + + const lastPoint = curve.getPoint( 1 ); + this.currentPoint.copy( lastPoint ); + + return this; + + } + + copy( source ) { + + super.copy( source ); + + this.currentPoint.copy( source.currentPoint ); + + return this; + + } + + toJSON() { + + const data = super.toJSON(); + + data.currentPoint = this.currentPoint.toArray(); + + return data; + + } + + fromJSON( json ) { + + super.fromJSON( json ); + + this.currentPoint.fromArray( json.currentPoint ); + + return this; + + } + +} + +class Shape extends Path { + + constructor( points ) { + + super( points ); + + this.uuid = generateUUID(); + + this.type = 'Shape'; + + this.holes = []; + + } + + getPointsHoles( divisions ) { + + const holesPts = []; + + for ( let i = 0, l = this.holes.length; i < l; i ++ ) { + + holesPts[ i ] = this.holes[ i ].getPoints( divisions ); + + } + + return holesPts; + + } + + // get points of shape and holes (keypoints based on segments parameter) + + extractPoints( divisions ) { + + return { + + shape: this.getPoints( divisions ), + holes: this.getPointsHoles( divisions ) + + }; + + } + + copy( source ) { + + super.copy( source ); + + this.holes = []; + + for ( let i = 0, l = source.holes.length; i < l; i ++ ) { + + const hole = source.holes[ i ]; + + this.holes.push( hole.clone() ); + + } + + return this; + + } + + toJSON() { + + const data = super.toJSON(); + + data.uuid = this.uuid; + data.holes = []; + + for ( let i = 0, l = this.holes.length; i < l; i ++ ) { + + const hole = this.holes[ i ]; + data.holes.push( hole.toJSON() ); + + } + + return data; + + } + + fromJSON( json ) { + + super.fromJSON( json ); + + this.uuid = json.uuid; + this.holes = []; + + for ( let i = 0, l = json.holes.length; i < l; i ++ ) { + + const hole = json.holes[ i ]; + this.holes.push( new Path().fromJSON( hole ) ); + + } + + return this; + + } + +} + +/** + * Port from https://github.com/mapbox/earcut (v2.2.2) + */ + +const Earcut = { + + triangulate: function ( data, holeIndices, dim = 2 ) { + + const hasHoles = holeIndices && holeIndices.length; + const outerLen = hasHoles ? holeIndices[ 0 ] * dim : data.length; + let outerNode = linkedList( data, 0, outerLen, dim, true ); + const triangles = []; + + if ( ! outerNode || outerNode.next === outerNode.prev ) return triangles; + + let minX, minY, maxX, maxY, x, y, invSize; + + if ( hasHoles ) outerNode = eliminateHoles( data, holeIndices, outerNode, dim ); + + // if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox + if ( data.length > 80 * dim ) { + + minX = maxX = data[ 0 ]; + minY = maxY = data[ 1 ]; + + for ( let i = dim; i < outerLen; i += dim ) { + + x = data[ i ]; + y = data[ i + 1 ]; + if ( x < minX ) minX = x; + if ( y < minY ) minY = y; + if ( x > maxX ) maxX = x; + if ( y > maxY ) maxY = y; + + } + + // minX, minY and invSize are later used to transform coords into integers for z-order calculation + invSize = Math.max( maxX - minX, maxY - minY ); + invSize = invSize !== 0 ? 1 / invSize : 0; + + } + + earcutLinked( outerNode, triangles, dim, minX, minY, invSize ); + + return triangles; + + } + +}; + +// create a circular doubly linked list from polygon points in the specified winding order +function linkedList( data, start, end, dim, clockwise ) { + + let i, last; + + if ( clockwise === ( signedArea( data, start, end, dim ) > 0 ) ) { + + for ( i = start; i < end; i += dim ) last = insertNode( i, data[ i ], data[ i + 1 ], last ); + + } else { + + for ( i = end - dim; i >= start; i -= dim ) last = insertNode( i, data[ i ], data[ i + 1 ], last ); + + } + + if ( last && equals( last, last.next ) ) { + + removeNode( last ); + last = last.next; + + } + + return last; + +} + +// eliminate colinear or duplicate points +function filterPoints( start, end ) { + + if ( ! start ) return start; + if ( ! end ) end = start; + + let p = start, + again; + do { + + again = false; + + if ( ! p.steiner && ( equals( p, p.next ) || area( p.prev, p, p.next ) === 0 ) ) { + + removeNode( p ); + p = end = p.prev; + if ( p === p.next ) break; + again = true; + + } else { + + p = p.next; + + } + + } while ( again || p !== end ); + + return end; + +} + +// main ear slicing loop which triangulates a polygon (given as a linked list) +function earcutLinked( ear, triangles, dim, minX, minY, invSize, pass ) { + + if ( ! ear ) return; + + // interlink polygon nodes in z-order + if ( ! pass && invSize ) indexCurve( ear, minX, minY, invSize ); + + let stop = ear, + prev, next; + + // iterate through ears, slicing them one by one + while ( ear.prev !== ear.next ) { + + prev = ear.prev; + next = ear.next; + + if ( invSize ? isEarHashed( ear, minX, minY, invSize ) : isEar( ear ) ) { + + // cut off the triangle + triangles.push( prev.i / dim ); + triangles.push( ear.i / dim ); + triangles.push( next.i / dim ); + + removeNode( ear ); + + // skipping the next vertex leads to less sliver triangles + ear = next.next; + stop = next.next; + + continue; + + } + + ear = next; + + // if we looped through the whole remaining polygon and can't find any more ears + if ( ear === stop ) { + + // try filtering points and slicing again + if ( ! pass ) { + + earcutLinked( filterPoints( ear ), triangles, dim, minX, minY, invSize, 1 ); + + // if this didn't work, try curing all small self-intersections locally + + } else if ( pass === 1 ) { + + ear = cureLocalIntersections( filterPoints( ear ), triangles, dim ); + earcutLinked( ear, triangles, dim, minX, minY, invSize, 2 ); + + // as a last resort, try splitting the remaining polygon into two + + } else if ( pass === 2 ) { + + splitEarcut( ear, triangles, dim, minX, minY, invSize ); + + } + + break; + + } + + } + +} + +// check whether a polygon node forms a valid ear with adjacent nodes +function isEar( ear ) { + + const a = ear.prev, + b = ear, + c = ear.next; + + if ( area( a, b, c ) >= 0 ) return false; // reflex, can't be an ear + + // now make sure we don't have other points inside the potential ear + let p = ear.next.next; + + while ( p !== ear.prev ) { + + if ( pointInTriangle( a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y ) && + area( p.prev, p, p.next ) >= 0 ) return false; + p = p.next; + + } + + return true; + +} + +function isEarHashed( ear, minX, minY, invSize ) { + + const a = ear.prev, + b = ear, + c = ear.next; + + if ( area( a, b, c ) >= 0 ) return false; // reflex, can't be an ear + + // triangle bbox; min & max are calculated like this for speed + const minTX = a.x < b.x ? ( a.x < c.x ? a.x : c.x ) : ( b.x < c.x ? b.x : c.x ), + minTY = a.y < b.y ? ( a.y < c.y ? a.y : c.y ) : ( b.y < c.y ? b.y : c.y ), + maxTX = a.x > b.x ? ( a.x > c.x ? a.x : c.x ) : ( b.x > c.x ? b.x : c.x ), + maxTY = a.y > b.y ? ( a.y > c.y ? a.y : c.y ) : ( b.y > c.y ? b.y : c.y ); + + // z-order range for the current triangle bbox; + const minZ = zOrder( minTX, minTY, minX, minY, invSize ), + maxZ = zOrder( maxTX, maxTY, minX, minY, invSize ); + + let p = ear.prevZ, + n = ear.nextZ; + + // look for points inside the triangle in both directions + while ( p && p.z >= minZ && n && n.z <= maxZ ) { + + if ( p !== ear.prev && p !== ear.next && + pointInTriangle( a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y ) && + area( p.prev, p, p.next ) >= 0 ) return false; + p = p.prevZ; + + if ( n !== ear.prev && n !== ear.next && + pointInTriangle( a.x, a.y, b.x, b.y, c.x, c.y, n.x, n.y ) && + area( n.prev, n, n.next ) >= 0 ) return false; + n = n.nextZ; + + } + + // look for remaining points in decreasing z-order + while ( p && p.z >= minZ ) { + + if ( p !== ear.prev && p !== ear.next && + pointInTriangle( a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y ) && + area( p.prev, p, p.next ) >= 0 ) return false; + p = p.prevZ; + + } + + // look for remaining points in increasing z-order + while ( n && n.z <= maxZ ) { + + if ( n !== ear.prev && n !== ear.next && + pointInTriangle( a.x, a.y, b.x, b.y, c.x, c.y, n.x, n.y ) && + area( n.prev, n, n.next ) >= 0 ) return false; + n = n.nextZ; + + } + + return true; + +} + +// go through all polygon nodes and cure small local self-intersections +function cureLocalIntersections( start, triangles, dim ) { + + let p = start; + do { + + const a = p.prev, + b = p.next.next; + + if ( ! equals( a, b ) && intersects( a, p, p.next, b ) && locallyInside( a, b ) && locallyInside( b, a ) ) { + + triangles.push( a.i / dim ); + triangles.push( p.i / dim ); + triangles.push( b.i / dim ); + + // remove two nodes involved + removeNode( p ); + removeNode( p.next ); + + p = start = b; + + } + + p = p.next; + + } while ( p !== start ); + + return filterPoints( p ); + +} + +// try splitting polygon into two and triangulate them independently +function splitEarcut( start, triangles, dim, minX, minY, invSize ) { + + // look for a valid diagonal that divides the polygon into two + let a = start; + do { + + let b = a.next.next; + while ( b !== a.prev ) { + + if ( a.i !== b.i && isValidDiagonal( a, b ) ) { + + // split the polygon in two by the diagonal + let c = splitPolygon( a, b ); + + // filter colinear points around the cuts + a = filterPoints( a, a.next ); + c = filterPoints( c, c.next ); + + // run earcut on each half + earcutLinked( a, triangles, dim, minX, minY, invSize ); + earcutLinked( c, triangles, dim, minX, minY, invSize ); + return; + + } + + b = b.next; + + } + + a = a.next; + + } while ( a !== start ); + +} + +// link every hole into the outer loop, producing a single-ring polygon without holes +function eliminateHoles( data, holeIndices, outerNode, dim ) { + + const queue = []; + let i, len, start, end, list; + + for ( i = 0, len = holeIndices.length; i < len; i ++ ) { + + start = holeIndices[ i ] * dim; + end = i < len - 1 ? holeIndices[ i + 1 ] * dim : data.length; + list = linkedList( data, start, end, dim, false ); + if ( list === list.next ) list.steiner = true; + queue.push( getLeftmost( list ) ); + + } + + queue.sort( compareX ); + + // process holes from left to right + for ( i = 0; i < queue.length; i ++ ) { + + eliminateHole( queue[ i ], outerNode ); + outerNode = filterPoints( outerNode, outerNode.next ); + + } + + return outerNode; + +} + +function compareX( a, b ) { + + return a.x - b.x; + +} + +// find a bridge between vertices that connects hole with an outer ring and and link it +function eliminateHole( hole, outerNode ) { + + outerNode = findHoleBridge( hole, outerNode ); + if ( outerNode ) { + + const b = splitPolygon( outerNode, hole ); + + // filter collinear points around the cuts + filterPoints( outerNode, outerNode.next ); + filterPoints( b, b.next ); + + } + +} + +// David Eberly's algorithm for finding a bridge between hole and outer polygon +function findHoleBridge( hole, outerNode ) { + + let p = outerNode; + const hx = hole.x; + const hy = hole.y; + let qx = - Infinity, m; + + // find a segment intersected by a ray from the hole's leftmost point to the left; + // segment's endpoint with lesser x will be potential connection point + do { + + if ( hy <= p.y && hy >= p.next.y && p.next.y !== p.y ) { + + const x = p.x + ( hy - p.y ) * ( p.next.x - p.x ) / ( p.next.y - p.y ); + if ( x <= hx && x > qx ) { + + qx = x; + if ( x === hx ) { + + if ( hy === p.y ) return p; + if ( hy === p.next.y ) return p.next; + + } + + m = p.x < p.next.x ? p : p.next; + + } + + } + + p = p.next; + + } while ( p !== outerNode ); + + if ( ! m ) return null; + + if ( hx === qx ) return m; // hole touches outer segment; pick leftmost endpoint + + // look for points inside the triangle of hole point, segment intersection and endpoint; + // if there are no points found, we have a valid connection; + // otherwise choose the point of the minimum angle with the ray as connection point + + const stop = m, + mx = m.x, + my = m.y; + let tanMin = Infinity, tan; + + p = m; + + do { + + if ( hx >= p.x && p.x >= mx && hx !== p.x && + pointInTriangle( hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p.x, p.y ) ) { + + tan = Math.abs( hy - p.y ) / ( hx - p.x ); // tangential + + if ( locallyInside( p, hole ) && ( tan < tanMin || ( tan === tanMin && ( p.x > m.x || ( p.x === m.x && sectorContainsSector( m, p ) ) ) ) ) ) { + + m = p; + tanMin = tan; + + } + + } + + p = p.next; + + } while ( p !== stop ); + + return m; + +} + +// whether sector in vertex m contains sector in vertex p in the same coordinates +function sectorContainsSector( m, p ) { + + return area( m.prev, m, p.prev ) < 0 && area( p.next, m, m.next ) < 0; + +} + +// interlink polygon nodes in z-order +function indexCurve( start, minX, minY, invSize ) { + + let p = start; + do { + + if ( p.z === null ) p.z = zOrder( p.x, p.y, minX, minY, invSize ); + p.prevZ = p.prev; + p.nextZ = p.next; + p = p.next; + + } while ( p !== start ); + + p.prevZ.nextZ = null; + p.prevZ = null; + + sortLinked( p ); + +} + +// Simon Tatham's linked list merge sort algorithm +// http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html +function sortLinked( list ) { + + let i, p, q, e, tail, numMerges, pSize, qSize, + inSize = 1; + + do { + + p = list; + list = null; + tail = null; + numMerges = 0; + + while ( p ) { + + numMerges ++; + q = p; + pSize = 0; + for ( i = 0; i < inSize; i ++ ) { + + pSize ++; + q = q.nextZ; + if ( ! q ) break; + + } + + qSize = inSize; + + while ( pSize > 0 || ( qSize > 0 && q ) ) { + + if ( pSize !== 0 && ( qSize === 0 || ! q || p.z <= q.z ) ) { + + e = p; + p = p.nextZ; + pSize --; + + } else { + + e = q; + q = q.nextZ; + qSize --; + + } + + if ( tail ) tail.nextZ = e; + else list = e; + + e.prevZ = tail; + tail = e; + + } + + p = q; + + } + + tail.nextZ = null; + inSize *= 2; + + } while ( numMerges > 1 ); + + return list; + +} + +// z-order of a point given coords and inverse of the longer side of data bbox +function zOrder( x, y, minX, minY, invSize ) { + + // coords are transformed into non-negative 15-bit integer range + x = 32767 * ( x - minX ) * invSize; + y = 32767 * ( y - minY ) * invSize; + + x = ( x | ( x << 8 ) ) & 0x00FF00FF; + x = ( x | ( x << 4 ) ) & 0x0F0F0F0F; + x = ( x | ( x << 2 ) ) & 0x33333333; + x = ( x | ( x << 1 ) ) & 0x55555555; + + y = ( y | ( y << 8 ) ) & 0x00FF00FF; + y = ( y | ( y << 4 ) ) & 0x0F0F0F0F; + y = ( y | ( y << 2 ) ) & 0x33333333; + y = ( y | ( y << 1 ) ) & 0x55555555; + + return x | ( y << 1 ); + +} + +// find the leftmost node of a polygon ring +function getLeftmost( start ) { + + let p = start, + leftmost = start; + do { + + if ( p.x < leftmost.x || ( p.x === leftmost.x && p.y < leftmost.y ) ) leftmost = p; + p = p.next; + + } while ( p !== start ); + + return leftmost; + +} + +// check if a point lies within a convex triangle +function pointInTriangle( ax, ay, bx, by, cx, cy, px, py ) { + + return ( cx - px ) * ( ay - py ) - ( ax - px ) * ( cy - py ) >= 0 && + ( ax - px ) * ( by - py ) - ( bx - px ) * ( ay - py ) >= 0 && + ( bx - px ) * ( cy - py ) - ( cx - px ) * ( by - py ) >= 0; + +} + +// check if a diagonal between two polygon nodes is valid (lies in polygon interior) +function isValidDiagonal( a, b ) { + + return a.next.i !== b.i && a.prev.i !== b.i && ! intersectsPolygon( a, b ) && // dones't intersect other edges + ( locallyInside( a, b ) && locallyInside( b, a ) && middleInside( a, b ) && // locally visible + ( area( a.prev, a, b.prev ) || area( a, b.prev, b ) ) || // does not create opposite-facing sectors + equals( a, b ) && area( a.prev, a, a.next ) > 0 && area( b.prev, b, b.next ) > 0 ); // special zero-length case + +} + +// signed area of a triangle +function area( p, q, r ) { + + return ( q.y - p.y ) * ( r.x - q.x ) - ( q.x - p.x ) * ( r.y - q.y ); + +} + +// check if two points are equal +function equals( p1, p2 ) { + + return p1.x === p2.x && p1.y === p2.y; + +} + +// check if two segments intersect +function intersects( p1, q1, p2, q2 ) { + + const o1 = sign( area( p1, q1, p2 ) ); + const o2 = sign( area( p1, q1, q2 ) ); + const o3 = sign( area( p2, q2, p1 ) ); + const o4 = sign( area( p2, q2, q1 ) ); + + if ( o1 !== o2 && o3 !== o4 ) return true; // general case + + if ( o1 === 0 && onSegment( p1, p2, q1 ) ) return true; // p1, q1 and p2 are collinear and p2 lies on p1q1 + if ( o2 === 0 && onSegment( p1, q2, q1 ) ) return true; // p1, q1 and q2 are collinear and q2 lies on p1q1 + if ( o3 === 0 && onSegment( p2, p1, q2 ) ) return true; // p2, q2 and p1 are collinear and p1 lies on p2q2 + if ( o4 === 0 && onSegment( p2, q1, q2 ) ) return true; // p2, q2 and q1 are collinear and q1 lies on p2q2 + + return false; + +} + +// for collinear points p, q, r, check if point q lies on segment pr +function onSegment( p, q, r ) { + + return q.x <= Math.max( p.x, r.x ) && q.x >= Math.min( p.x, r.x ) && q.y <= Math.max( p.y, r.y ) && q.y >= Math.min( p.y, r.y ); + +} + +function sign( num ) { + + return num > 0 ? 1 : num < 0 ? - 1 : 0; + +} + +// check if a polygon diagonal intersects any polygon segments +function intersectsPolygon( a, b ) { + + let p = a; + do { + + if ( p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i && + intersects( p, p.next, a, b ) ) return true; + p = p.next; + + } while ( p !== a ); + + return false; + +} + +// check if a polygon diagonal is locally inside the polygon +function locallyInside( a, b ) { + + return area( a.prev, a, a.next ) < 0 ? + area( a, b, a.next ) >= 0 && area( a, a.prev, b ) >= 0 : + area( a, b, a.prev ) < 0 || area( a, a.next, b ) < 0; + +} + +// check if the middle point of a polygon diagonal is inside the polygon +function middleInside( a, b ) { + + let p = a, + inside = false; + const px = ( a.x + b.x ) / 2, + py = ( a.y + b.y ) / 2; + do { + + if ( ( ( p.y > py ) !== ( p.next.y > py ) ) && p.next.y !== p.y && + ( px < ( p.next.x - p.x ) * ( py - p.y ) / ( p.next.y - p.y ) + p.x ) ) + inside = ! inside; + p = p.next; + + } while ( p !== a ); + + return inside; + +} + +// link two polygon vertices with a bridge; if the vertices belong to the same ring, it splits polygon into two; +// if one belongs to the outer ring and another to a hole, it merges it into a single ring +function splitPolygon( a, b ) { + + const a2 = new Node( a.i, a.x, a.y ), + b2 = new Node( b.i, b.x, b.y ), + an = a.next, + bp = b.prev; + + a.next = b; + b.prev = a; + + a2.next = an; + an.prev = a2; + + b2.next = a2; + a2.prev = b2; + + bp.next = b2; + b2.prev = bp; + + return b2; + +} + +// create a node and optionally link it with previous one (in a circular doubly linked list) +function insertNode( i, x, y, last ) { + + const p = new Node( i, x, y ); + + if ( ! last ) { + + p.prev = p; + p.next = p; + + } else { + + p.next = last.next; + p.prev = last; + last.next.prev = p; + last.next = p; + + } + + return p; + +} + +function removeNode( p ) { + + p.next.prev = p.prev; + p.prev.next = p.next; + + if ( p.prevZ ) p.prevZ.nextZ = p.nextZ; + if ( p.nextZ ) p.nextZ.prevZ = p.prevZ; + +} + +function Node( i, x, y ) { + + // vertex index in coordinates array + this.i = i; + + // vertex coordinates + this.x = x; + this.y = y; + + // previous and next vertex nodes in a polygon ring + this.prev = null; + this.next = null; + + // z-order curve value + this.z = null; + + // previous and next nodes in z-order + this.prevZ = null; + this.nextZ = null; + + // indicates whether this is a steiner point + this.steiner = false; + +} + +function signedArea( data, start, end, dim ) { + + let sum = 0; + for ( let i = start, j = end - dim; i < end; i += dim ) { + + sum += ( data[ j ] - data[ i ] ) * ( data[ i + 1 ] + data[ j + 1 ] ); + j = i; + + } + + return sum; + +} + +class ShapeUtils { + + // calculate area of the contour polygon + + static area( contour ) { + + const n = contour.length; + let a = 0.0; + + for ( let p = n - 1, q = 0; q < n; p = q ++ ) { + + a += contour[ p ].x * contour[ q ].y - contour[ q ].x * contour[ p ].y; + + } + + return a * 0.5; + + } + + static isClockWise( pts ) { + + return ShapeUtils.area( pts ) < 0; + + } + + static triangulateShape( contour, holes ) { + + const vertices = []; // flat array of vertices like [ x0,y0, x1,y1, x2,y2, ... ] + const holeIndices = []; // array of hole indices + const faces = []; // final array of vertex indices like [ [ a,b,d ], [ b,c,d ] ] + + removeDupEndPts( contour ); + addContour( vertices, contour ); + + // + + let holeIndex = contour.length; + + holes.forEach( removeDupEndPts ); + + for ( let i = 0; i < holes.length; i ++ ) { + + holeIndices.push( holeIndex ); + holeIndex += holes[ i ].length; + addContour( vertices, holes[ i ] ); + + } + + // + + const triangles = Earcut.triangulate( vertices, holeIndices ); + + // + + for ( let i = 0; i < triangles.length; i += 3 ) { + + faces.push( triangles.slice( i, i + 3 ) ); + + } + + return faces; + + } + +} + +function removeDupEndPts( points ) { + + const l = points.length; + + if ( l > 2 && points[ l - 1 ].equals( points[ 0 ] ) ) { + + points.pop(); + + } + +} + +function addContour( vertices, contour ) { + + for ( let i = 0; i < contour.length; i ++ ) { + + vertices.push( contour[ i ].x ); + vertices.push( contour[ i ].y ); + + } + +} + +/** + * Creates extruded geometry from a path shape. + * + * parameters = { + * + * curveSegments: , // number of points on the curves + * steps: , // number of points for z-side extrusions / used for subdividing segments of extrude spline too + * depth: , // Depth to extrude the shape + * + * bevelEnabled: , // turn on bevel + * bevelThickness: , // how deep into the original shape bevel goes + * bevelSize: , // how far from shape outline (including bevelOffset) is bevel + * bevelOffset: , // how far from shape outline does bevel start + * bevelSegments: , // number of bevel layers + * + * extrudePath: // curve to extrude shape along + * + * UVGenerator: // object that provides UV generator functions + * + * } + */ + +class ExtrudeGeometry extends BufferGeometry { + + constructor( shapes = new Shape( [ new Vector2( 0.5, 0.5 ), new Vector2( - 0.5, 0.5 ), new Vector2( - 0.5, - 0.5 ), new Vector2( 0.5, - 0.5 ) ] ), options = {} ) { + + super(); + + this.type = 'ExtrudeGeometry'; + + this.parameters = { + shapes: shapes, + options: options + }; + + shapes = Array.isArray( shapes ) ? shapes : [ shapes ]; + + const scope = this; + + const verticesArray = []; + const uvArray = []; + + for ( let i = 0, l = shapes.length; i < l; i ++ ) { + + const shape = shapes[ i ]; + addShape( shape ); + + } + + // build geometry + + this.setAttribute( 'position', new Float32BufferAttribute( verticesArray, 3 ) ); + this.setAttribute( 'uv', new Float32BufferAttribute( uvArray, 2 ) ); + + this.computeVertexNormals(); + + // functions + + function addShape( shape ) { + + const placeholder = []; + + // options + + const curveSegments = options.curveSegments !== undefined ? options.curveSegments : 12; + const steps = options.steps !== undefined ? options.steps : 1; + let depth = options.depth !== undefined ? options.depth : 1; + + let bevelEnabled = options.bevelEnabled !== undefined ? options.bevelEnabled : true; + let bevelThickness = options.bevelThickness !== undefined ? options.bevelThickness : 0.2; + let bevelSize = options.bevelSize !== undefined ? options.bevelSize : bevelThickness - 0.1; + let bevelOffset = options.bevelOffset !== undefined ? options.bevelOffset : 0; + let bevelSegments = options.bevelSegments !== undefined ? options.bevelSegments : 3; + + const extrudePath = options.extrudePath; + + const uvgen = options.UVGenerator !== undefined ? options.UVGenerator : WorldUVGenerator; + + // deprecated options + + if ( options.amount !== undefined ) { + + console.warn( 'THREE.ExtrudeBufferGeometry: amount has been renamed to depth.' ); + depth = options.amount; + + } + + // + + let extrudePts, extrudeByPath = false; + let splineTube, binormal, normal, position2; + + if ( extrudePath ) { + + extrudePts = extrudePath.getSpacedPoints( steps ); + + extrudeByPath = true; + bevelEnabled = false; // bevels not supported for path extrusion + + // SETUP TNB variables + + // TODO1 - have a .isClosed in spline? + + splineTube = extrudePath.computeFrenetFrames( steps, false ); + + // console.log(splineTube, 'splineTube', splineTube.normals.length, 'steps', steps, 'extrudePts', extrudePts.length); + + binormal = new Vector3(); + normal = new Vector3(); + position2 = new Vector3(); + + } + + // Safeguards if bevels are not enabled + + if ( ! bevelEnabled ) { + + bevelSegments = 0; + bevelThickness = 0; + bevelSize = 0; + bevelOffset = 0; + + } + + // Variables initialization + + const shapePoints = shape.extractPoints( curveSegments ); + + let vertices = shapePoints.shape; + const holes = shapePoints.holes; + + const reverse = ! ShapeUtils.isClockWise( vertices ); + + if ( reverse ) { + + vertices = vertices.reverse(); + + // Maybe we should also check if holes are in the opposite direction, just to be safe ... + + for ( let h = 0, hl = holes.length; h < hl; h ++ ) { + + const ahole = holes[ h ]; + + if ( ShapeUtils.isClockWise( ahole ) ) { + + holes[ h ] = ahole.reverse(); + + } + + } + + } + + + const faces = ShapeUtils.triangulateShape( vertices, holes ); + + /* Vertices */ + + const contour = vertices; // vertices has all points but contour has only points of circumference + + for ( let h = 0, hl = holes.length; h < hl; h ++ ) { + + const ahole = holes[ h ]; + + vertices = vertices.concat( ahole ); + + } + + + function scalePt2( pt, vec, size ) { + + if ( ! vec ) console.error( 'THREE.ExtrudeGeometry: vec does not exist' ); + + return vec.clone().multiplyScalar( size ).add( pt ); + + } + + const vlen = vertices.length, flen = faces.length; + + + // Find directions for point movement + + + function getBevelVec( inPt, inPrev, inNext ) { + + // computes for inPt the corresponding point inPt' on a new contour + // shifted by 1 unit (length of normalized vector) to the left + // if we walk along contour clockwise, this new contour is outside the old one + // + // inPt' is the intersection of the two lines parallel to the two + // adjacent edges of inPt at a distance of 1 unit on the left side. + + let v_trans_x, v_trans_y, shrink_by; // resulting translation vector for inPt + + // good reading for geometry algorithms (here: line-line intersection) + // http://geomalgorithms.com/a05-_intersect-1.html + + const v_prev_x = inPt.x - inPrev.x, + v_prev_y = inPt.y - inPrev.y; + const v_next_x = inNext.x - inPt.x, + v_next_y = inNext.y - inPt.y; + + const v_prev_lensq = ( v_prev_x * v_prev_x + v_prev_y * v_prev_y ); + + // check for collinear edges + const collinear0 = ( v_prev_x * v_next_y - v_prev_y * v_next_x ); + + if ( Math.abs( collinear0 ) > Number.EPSILON ) { + + // not collinear + + // length of vectors for normalizing + + const v_prev_len = Math.sqrt( v_prev_lensq ); + const v_next_len = Math.sqrt( v_next_x * v_next_x + v_next_y * v_next_y ); + + // shift adjacent points by unit vectors to the left + + const ptPrevShift_x = ( inPrev.x - v_prev_y / v_prev_len ); + const ptPrevShift_y = ( inPrev.y + v_prev_x / v_prev_len ); + + const ptNextShift_x = ( inNext.x - v_next_y / v_next_len ); + const ptNextShift_y = ( inNext.y + v_next_x / v_next_len ); + + // scaling factor for v_prev to intersection point + + const sf = ( ( ptNextShift_x - ptPrevShift_x ) * v_next_y - + ( ptNextShift_y - ptPrevShift_y ) * v_next_x ) / + ( v_prev_x * v_next_y - v_prev_y * v_next_x ); + + // vector from inPt to intersection point + + v_trans_x = ( ptPrevShift_x + v_prev_x * sf - inPt.x ); + v_trans_y = ( ptPrevShift_y + v_prev_y * sf - inPt.y ); + + // Don't normalize!, otherwise sharp corners become ugly + // but prevent crazy spikes + const v_trans_lensq = ( v_trans_x * v_trans_x + v_trans_y * v_trans_y ); + if ( v_trans_lensq <= 2 ) { + + return new Vector2( v_trans_x, v_trans_y ); + + } else { + + shrink_by = Math.sqrt( v_trans_lensq / 2 ); + + } + + } else { + + // handle special case of collinear edges + + let direction_eq = false; // assumes: opposite + + if ( v_prev_x > Number.EPSILON ) { + + if ( v_next_x > Number.EPSILON ) { + + direction_eq = true; + + } + + } else { + + if ( v_prev_x < - Number.EPSILON ) { + + if ( v_next_x < - Number.EPSILON ) { + + direction_eq = true; + + } + + } else { + + if ( Math.sign( v_prev_y ) === Math.sign( v_next_y ) ) { + + direction_eq = true; + + } + + } + + } + + if ( direction_eq ) { + + // console.log("Warning: lines are a straight sequence"); + v_trans_x = - v_prev_y; + v_trans_y = v_prev_x; + shrink_by = Math.sqrt( v_prev_lensq ); + + } else { + + // console.log("Warning: lines are a straight spike"); + v_trans_x = v_prev_x; + v_trans_y = v_prev_y; + shrink_by = Math.sqrt( v_prev_lensq / 2 ); + + } + + } + + return new Vector2( v_trans_x / shrink_by, v_trans_y / shrink_by ); + + } + + + const contourMovements = []; + + for ( let i = 0, il = contour.length, j = il - 1, k = i + 1; i < il; i ++, j ++, k ++ ) { + + if ( j === il ) j = 0; + if ( k === il ) k = 0; + + // (j)---(i)---(k) + // console.log('i,j,k', i, j , k) + + contourMovements[ i ] = getBevelVec( contour[ i ], contour[ j ], contour[ k ] ); + + } + + const holesMovements = []; + let oneHoleMovements, verticesMovements = contourMovements.concat(); + + for ( let h = 0, hl = holes.length; h < hl; h ++ ) { + + const ahole = holes[ h ]; + + oneHoleMovements = []; + + for ( let i = 0, il = ahole.length, j = il - 1, k = i + 1; i < il; i ++, j ++, k ++ ) { + + if ( j === il ) j = 0; + if ( k === il ) k = 0; + + // (j)---(i)---(k) + oneHoleMovements[ i ] = getBevelVec( ahole[ i ], ahole[ j ], ahole[ k ] ); + + } + + holesMovements.push( oneHoleMovements ); + verticesMovements = verticesMovements.concat( oneHoleMovements ); + + } + + + // Loop bevelSegments, 1 for the front, 1 for the back + + for ( let b = 0; b < bevelSegments; b ++ ) { + + //for ( b = bevelSegments; b > 0; b -- ) { + + const t = b / bevelSegments; + const z = bevelThickness * Math.cos( t * Math.PI / 2 ); + const bs = bevelSize * Math.sin( t * Math.PI / 2 ) + bevelOffset; + + // contract shape + + for ( let i = 0, il = contour.length; i < il; i ++ ) { + + const vert = scalePt2( contour[ i ], contourMovements[ i ], bs ); + + v( vert.x, vert.y, - z ); + + } + + // expand holes + + for ( let h = 0, hl = holes.length; h < hl; h ++ ) { + + const ahole = holes[ h ]; + oneHoleMovements = holesMovements[ h ]; + + for ( let i = 0, il = ahole.length; i < il; i ++ ) { + + const vert = scalePt2( ahole[ i ], oneHoleMovements[ i ], bs ); + + v( vert.x, vert.y, - z ); + + } + + } + + } + + const bs = bevelSize + bevelOffset; + + // Back facing vertices + + for ( let i = 0; i < vlen; i ++ ) { + + const vert = bevelEnabled ? scalePt2( vertices[ i ], verticesMovements[ i ], bs ) : vertices[ i ]; + + if ( ! extrudeByPath ) { + + v( vert.x, vert.y, 0 ); + + } else { + + // v( vert.x, vert.y + extrudePts[ 0 ].y, extrudePts[ 0 ].x ); + + normal.copy( splineTube.normals[ 0 ] ).multiplyScalar( vert.x ); + binormal.copy( splineTube.binormals[ 0 ] ).multiplyScalar( vert.y ); + + position2.copy( extrudePts[ 0 ] ).add( normal ).add( binormal ); + + v( position2.x, position2.y, position2.z ); + + } + + } + + // Add stepped vertices... + // Including front facing vertices + + for ( let s = 1; s <= steps; s ++ ) { + + for ( let i = 0; i < vlen; i ++ ) { + + const vert = bevelEnabled ? scalePt2( vertices[ i ], verticesMovements[ i ], bs ) : vertices[ i ]; + + if ( ! extrudeByPath ) { + + v( vert.x, vert.y, depth / steps * s ); + + } else { + + // v( vert.x, vert.y + extrudePts[ s - 1 ].y, extrudePts[ s - 1 ].x ); + + normal.copy( splineTube.normals[ s ] ).multiplyScalar( vert.x ); + binormal.copy( splineTube.binormals[ s ] ).multiplyScalar( vert.y ); + + position2.copy( extrudePts[ s ] ).add( normal ).add( binormal ); + + v( position2.x, position2.y, position2.z ); + + } + + } + + } + + + // Add bevel segments planes + + //for ( b = 1; b <= bevelSegments; b ++ ) { + for ( let b = bevelSegments - 1; b >= 0; b -- ) { + + const t = b / bevelSegments; + const z = bevelThickness * Math.cos( t * Math.PI / 2 ); + const bs = bevelSize * Math.sin( t * Math.PI / 2 ) + bevelOffset; + + // contract shape + + for ( let i = 0, il = contour.length; i < il; i ++ ) { + + const vert = scalePt2( contour[ i ], contourMovements[ i ], bs ); + v( vert.x, vert.y, depth + z ); + + } + + // expand holes + + for ( let h = 0, hl = holes.length; h < hl; h ++ ) { + + const ahole = holes[ h ]; + oneHoleMovements = holesMovements[ h ]; + + for ( let i = 0, il = ahole.length; i < il; i ++ ) { + + const vert = scalePt2( ahole[ i ], oneHoleMovements[ i ], bs ); + + if ( ! extrudeByPath ) { + + v( vert.x, vert.y, depth + z ); + + } else { + + v( vert.x, vert.y + extrudePts[ steps - 1 ].y, extrudePts[ steps - 1 ].x + z ); + + } + + } + + } + + } + + /* Faces */ + + // Top and bottom faces + + buildLidFaces(); + + // Sides faces + + buildSideFaces(); + + + ///// Internal functions + + function buildLidFaces() { + + const start = verticesArray.length / 3; + + if ( bevelEnabled ) { + + let layer = 0; // steps + 1 + let offset = vlen * layer; + + // Bottom faces + + for ( let i = 0; i < flen; i ++ ) { + + const face = faces[ i ]; + f3( face[ 2 ] + offset, face[ 1 ] + offset, face[ 0 ] + offset ); + + } + + layer = steps + bevelSegments * 2; + offset = vlen * layer; + + // Top faces + + for ( let i = 0; i < flen; i ++ ) { + + const face = faces[ i ]; + f3( face[ 0 ] + offset, face[ 1 ] + offset, face[ 2 ] + offset ); + + } + + } else { + + // Bottom faces + + for ( let i = 0; i < flen; i ++ ) { + + const face = faces[ i ]; + f3( face[ 2 ], face[ 1 ], face[ 0 ] ); + + } + + // Top faces + + for ( let i = 0; i < flen; i ++ ) { + + const face = faces[ i ]; + f3( face[ 0 ] + vlen * steps, face[ 1 ] + vlen * steps, face[ 2 ] + vlen * steps ); + + } + + } + + scope.addGroup( start, verticesArray.length / 3 - start, 0 ); + + } + + // Create faces for the z-sides of the shape + + function buildSideFaces() { + + const start = verticesArray.length / 3; + let layeroffset = 0; + sidewalls( contour, layeroffset ); + layeroffset += contour.length; + + for ( let h = 0, hl = holes.length; h < hl; h ++ ) { + + const ahole = holes[ h ]; + sidewalls( ahole, layeroffset ); + + //, true + layeroffset += ahole.length; + + } + + + scope.addGroup( start, verticesArray.length / 3 - start, 1 ); + + + } + + function sidewalls( contour, layeroffset ) { + + let i = contour.length; + + while ( -- i >= 0 ) { + + const j = i; + let k = i - 1; + if ( k < 0 ) k = contour.length - 1; + + //console.log('b', i,j, i-1, k,vertices.length); + + for ( let s = 0, sl = ( steps + bevelSegments * 2 ); s < sl; s ++ ) { + + const slen1 = vlen * s; + const slen2 = vlen * ( s + 1 ); + + const a = layeroffset + j + slen1, + b = layeroffset + k + slen1, + c = layeroffset + k + slen2, + d = layeroffset + j + slen2; + + f4( a, b, c, d ); + + } + + } + + } + + function v( x, y, z ) { + + placeholder.push( x ); + placeholder.push( y ); + placeholder.push( z ); + + } + + + function f3( a, b, c ) { + + addVertex( a ); + addVertex( b ); + addVertex( c ); + + const nextIndex = verticesArray.length / 3; + const uvs = uvgen.generateTopUV( scope, verticesArray, nextIndex - 3, nextIndex - 2, nextIndex - 1 ); + + addUV( uvs[ 0 ] ); + addUV( uvs[ 1 ] ); + addUV( uvs[ 2 ] ); + + } + + function f4( a, b, c, d ) { + + addVertex( a ); + addVertex( b ); + addVertex( d ); + + addVertex( b ); + addVertex( c ); + addVertex( d ); + + + const nextIndex = verticesArray.length / 3; + const uvs = uvgen.generateSideWallUV( scope, verticesArray, nextIndex - 6, nextIndex - 3, nextIndex - 2, nextIndex - 1 ); + + addUV( uvs[ 0 ] ); + addUV( uvs[ 1 ] ); + addUV( uvs[ 3 ] ); + + addUV( uvs[ 1 ] ); + addUV( uvs[ 2 ] ); + addUV( uvs[ 3 ] ); + + } + + function addVertex( index ) { + + verticesArray.push( placeholder[ index * 3 + 0 ] ); + verticesArray.push( placeholder[ index * 3 + 1 ] ); + verticesArray.push( placeholder[ index * 3 + 2 ] ); + + } + + + function addUV( vector2 ) { + + uvArray.push( vector2.x ); + uvArray.push( vector2.y ); + + } + + } + + } + + toJSON() { + + const data = super.toJSON(); + + const shapes = this.parameters.shapes; + const options = this.parameters.options; + + return toJSON$1( shapes, options, data ); + + } + + static fromJSON( data, shapes ) { + + const geometryShapes = []; + + for ( let j = 0, jl = data.shapes.length; j < jl; j ++ ) { + + const shape = shapes[ data.shapes[ j ] ]; + + geometryShapes.push( shape ); + + } + + const extrudePath = data.options.extrudePath; + + if ( extrudePath !== undefined ) { + + data.options.extrudePath = new Curves[ extrudePath.type ]().fromJSON( extrudePath ); + + } + + return new ExtrudeGeometry( geometryShapes, data.options ); + + } + +} + +const WorldUVGenerator = { + + generateTopUV: function ( geometry, vertices, indexA, indexB, indexC ) { + + const a_x = vertices[ indexA * 3 ]; + const a_y = vertices[ indexA * 3 + 1 ]; + const b_x = vertices[ indexB * 3 ]; + const b_y = vertices[ indexB * 3 + 1 ]; + const c_x = vertices[ indexC * 3 ]; + const c_y = vertices[ indexC * 3 + 1 ]; + + return [ + new Vector2( a_x, a_y ), + new Vector2( b_x, b_y ), + new Vector2( c_x, c_y ) + ]; + + }, + + generateSideWallUV: function ( geometry, vertices, indexA, indexB, indexC, indexD ) { + + const a_x = vertices[ indexA * 3 ]; + const a_y = vertices[ indexA * 3 + 1 ]; + const a_z = vertices[ indexA * 3 + 2 ]; + const b_x = vertices[ indexB * 3 ]; + const b_y = vertices[ indexB * 3 + 1 ]; + const b_z = vertices[ indexB * 3 + 2 ]; + const c_x = vertices[ indexC * 3 ]; + const c_y = vertices[ indexC * 3 + 1 ]; + const c_z = vertices[ indexC * 3 + 2 ]; + const d_x = vertices[ indexD * 3 ]; + const d_y = vertices[ indexD * 3 + 1 ]; + const d_z = vertices[ indexD * 3 + 2 ]; + + if ( Math.abs( a_y - b_y ) < Math.abs( a_x - b_x ) ) { + + return [ + new Vector2( a_x, 1 - a_z ), + new Vector2( b_x, 1 - b_z ), + new Vector2( c_x, 1 - c_z ), + new Vector2( d_x, 1 - d_z ) + ]; + + } else { + + return [ + new Vector2( a_y, 1 - a_z ), + new Vector2( b_y, 1 - b_z ), + new Vector2( c_y, 1 - c_z ), + new Vector2( d_y, 1 - d_z ) + ]; + + } + + } + +}; + +function toJSON$1( shapes, options, data ) { + + data.shapes = []; + + if ( Array.isArray( shapes ) ) { + + for ( let i = 0, l = shapes.length; i < l; i ++ ) { + + const shape = shapes[ i ]; + + data.shapes.push( shape.uuid ); + + } + + } else { + + data.shapes.push( shapes.uuid ); + + } + + if ( options.extrudePath !== undefined ) data.options.extrudePath = options.extrudePath.toJSON(); + + return data; + +} + +class IcosahedronGeometry extends PolyhedronGeometry { + + constructor( radius = 1, detail = 0 ) { + + const t = ( 1 + Math.sqrt( 5 ) ) / 2; + + const vertices = [ + - 1, t, 0, 1, t, 0, - 1, - t, 0, 1, - t, 0, + 0, - 1, t, 0, 1, t, 0, - 1, - t, 0, 1, - t, + t, 0, - 1, t, 0, 1, - t, 0, - 1, - t, 0, 1 + ]; + + const indices = [ + 0, 11, 5, 0, 5, 1, 0, 1, 7, 0, 7, 10, 0, 10, 11, + 1, 5, 9, 5, 11, 4, 11, 10, 2, 10, 7, 6, 7, 1, 8, + 3, 9, 4, 3, 4, 2, 3, 2, 6, 3, 6, 8, 3, 8, 9, + 4, 9, 5, 2, 4, 11, 6, 2, 10, 8, 6, 7, 9, 8, 1 + ]; + + super( vertices, indices, radius, detail ); + + this.type = 'IcosahedronGeometry'; + + this.parameters = { + radius: radius, + detail: detail + }; + + } + + static fromJSON( data ) { + + return new IcosahedronGeometry( data.radius, data.detail ); + + } + +} + +class LatheGeometry extends BufferGeometry { + + constructor( points = [ new Vector2( 0, 0.5 ), new Vector2( 0.5, 0 ), new Vector2( 0, - 0.5 ) ], segments = 12, phiStart = 0, phiLength = Math.PI * 2 ) { + + super(); + + this.type = 'LatheGeometry'; + + this.parameters = { + points: points, + segments: segments, + phiStart: phiStart, + phiLength: phiLength + }; + + segments = Math.floor( segments ); + + // clamp phiLength so it's in range of [ 0, 2PI ] + + phiLength = clamp( phiLength, 0, Math.PI * 2 ); + + // buffers + + const indices = []; + const vertices = []; + const uvs = []; + const initNormals = []; + const normals = []; + + // helper variables + + const inverseSegments = 1.0 / segments; + const vertex = new Vector3(); + const uv = new Vector2(); + const normal = new Vector3(); + const curNormal = new Vector3(); + const prevNormal = new Vector3(); + let dx = 0; + let dy = 0; + + // pre-compute normals for initial "meridian" + + for ( let j = 0; j <= ( points.length - 1 ); j ++ ) { + + switch ( j ) { + + case 0: // special handling for 1st vertex on path + + dx = points[ j + 1 ].x - points[ j ].x; + dy = points[ j + 1 ].y - points[ j ].y; + + normal.x = dy * 1.0; + normal.y = - dx; + normal.z = dy * 0.0; + + prevNormal.copy( normal ); + + normal.normalize(); + + initNormals.push( normal.x, normal.y, normal.z ); + + break; + + case ( points.length - 1 ): // special handling for last Vertex on path + + initNormals.push( prevNormal.x, prevNormal.y, prevNormal.z ); + + break; + + default: // default handling for all vertices in between + + dx = points[ j + 1 ].x - points[ j ].x; + dy = points[ j + 1 ].y - points[ j ].y; + + normal.x = dy * 1.0; + normal.y = - dx; + normal.z = dy * 0.0; + + curNormal.copy( normal ); + + normal.x += prevNormal.x; + normal.y += prevNormal.y; + normal.z += prevNormal.z; + + normal.normalize(); + + initNormals.push( normal.x, normal.y, normal.z ); + + prevNormal.copy( curNormal ); + + } + + } + + // generate vertices, uvs and normals + + for ( let i = 0; i <= segments; i ++ ) { + + const phi = phiStart + i * inverseSegments * phiLength; + + const sin = Math.sin( phi ); + const cos = Math.cos( phi ); + + for ( let j = 0; j <= ( points.length - 1 ); j ++ ) { + + // vertex + + vertex.x = points[ j ].x * sin; + vertex.y = points[ j ].y; + vertex.z = points[ j ].x * cos; + + vertices.push( vertex.x, vertex.y, vertex.z ); + + // uv + + uv.x = i / segments; + uv.y = j / ( points.length - 1 ); + + uvs.push( uv.x, uv.y ); + + // normal + + const x = initNormals[ 3 * j + 0 ] * sin; + const y = initNormals[ 3 * j + 1 ]; + const z = initNormals[ 3 * j + 0 ] * cos; + + normals.push( x, y, z ); + + } + + } + + // indices + + for ( let i = 0; i < segments; i ++ ) { + + for ( let j = 0; j < ( points.length - 1 ); j ++ ) { + + const base = j + i * points.length; + + const a = base; + const b = base + points.length; + const c = base + points.length + 1; + const d = base + 1; + + // faces + + indices.push( a, b, d ); + indices.push( b, c, d ); + + } + + } + + // build geometry + + this.setIndex( indices ); + this.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + this.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + this.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); + + } + + static fromJSON( data ) { + + return new LatheGeometry( data.points, data.segments, data.phiStart, data.phiLength ); + + } + +} + +class OctahedronGeometry extends PolyhedronGeometry { + + constructor( radius = 1, detail = 0 ) { + + const vertices = [ + 1, 0, 0, - 1, 0, 0, 0, 1, 0, + 0, - 1, 0, 0, 0, 1, 0, 0, - 1 + ]; + + const indices = [ + 0, 2, 4, 0, 4, 3, 0, 3, 5, + 0, 5, 2, 1, 2, 5, 1, 5, 3, + 1, 3, 4, 1, 4, 2 + ]; + + super( vertices, indices, radius, detail ); + + this.type = 'OctahedronGeometry'; + + this.parameters = { + radius: radius, + detail: detail + }; + + } + + static fromJSON( data ) { + + return new OctahedronGeometry( data.radius, data.detail ); + + } + +} + +class RingGeometry extends BufferGeometry { + + constructor( innerRadius = 0.5, outerRadius = 1, thetaSegments = 8, phiSegments = 1, thetaStart = 0, thetaLength = Math.PI * 2 ) { + + super(); + + this.type = 'RingGeometry'; + + this.parameters = { + innerRadius: innerRadius, + outerRadius: outerRadius, + thetaSegments: thetaSegments, + phiSegments: phiSegments, + thetaStart: thetaStart, + thetaLength: thetaLength + }; + + thetaSegments = Math.max( 3, thetaSegments ); + phiSegments = Math.max( 1, phiSegments ); + + // buffers + + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; + + // some helper variables + + let radius = innerRadius; + const radiusStep = ( ( outerRadius - innerRadius ) / phiSegments ); + const vertex = new Vector3(); + const uv = new Vector2(); + + // generate vertices, normals and uvs + + for ( let j = 0; j <= phiSegments; j ++ ) { + + for ( let i = 0; i <= thetaSegments; i ++ ) { + + // values are generate from the inside of the ring to the outside + + const segment = thetaStart + i / thetaSegments * thetaLength; + + // vertex + + vertex.x = radius * Math.cos( segment ); + vertex.y = radius * Math.sin( segment ); + + vertices.push( vertex.x, vertex.y, vertex.z ); + + // normal + + normals.push( 0, 0, 1 ); + + // uv + + uv.x = ( vertex.x / outerRadius + 1 ) / 2; + uv.y = ( vertex.y / outerRadius + 1 ) / 2; + + uvs.push( uv.x, uv.y ); + + } + + // increase the radius for next row of vertices + + radius += radiusStep; + + } + + // indices + + for ( let j = 0; j < phiSegments; j ++ ) { + + const thetaSegmentLevel = j * ( thetaSegments + 1 ); + + for ( let i = 0; i < thetaSegments; i ++ ) { + + const segment = i + thetaSegmentLevel; + + const a = segment; + const b = segment + thetaSegments + 1; + const c = segment + thetaSegments + 2; + const d = segment + 1; + + // faces + + indices.push( a, b, d ); + indices.push( b, c, d ); + + } + + } + + // build geometry + + this.setIndex( indices ); + this.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + this.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); + this.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + + } + + static fromJSON( data ) { + + return new RingGeometry( data.innerRadius, data.outerRadius, data.thetaSegments, data.phiSegments, data.thetaStart, data.thetaLength ); + + } + +} + +class ShapeGeometry extends BufferGeometry { + + constructor( shapes = new Shape( [ new Vector2( 0, 0.5 ), new Vector2( - 0.5, - 0.5 ), new Vector2( 0.5, - 0.5 ) ] ), curveSegments = 12 ) { + + super(); + this.type = 'ShapeGeometry'; + + this.parameters = { + shapes: shapes, + curveSegments: curveSegments + }; + + // buffers + + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; + + // helper variables + + let groupStart = 0; + let groupCount = 0; + + // allow single and array values for "shapes" parameter + + if ( Array.isArray( shapes ) === false ) { + + addShape( shapes ); + + } else { + + for ( let i = 0; i < shapes.length; i ++ ) { + + addShape( shapes[ i ] ); + + this.addGroup( groupStart, groupCount, i ); // enables MultiMaterial support + + groupStart += groupCount; + groupCount = 0; + + } + + } + + // build geometry + + this.setIndex( indices ); + this.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + this.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); + this.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + + + // helper functions + + function addShape( shape ) { + + const indexOffset = vertices.length / 3; + const points = shape.extractPoints( curveSegments ); + + let shapeVertices = points.shape; + const shapeHoles = points.holes; + + // check direction of vertices + + if ( ShapeUtils.isClockWise( shapeVertices ) === false ) { + + shapeVertices = shapeVertices.reverse(); + + } + + for ( let i = 0, l = shapeHoles.length; i < l; i ++ ) { + + const shapeHole = shapeHoles[ i ]; + + if ( ShapeUtils.isClockWise( shapeHole ) === true ) { + + shapeHoles[ i ] = shapeHole.reverse(); + + } + + } + + const faces = ShapeUtils.triangulateShape( shapeVertices, shapeHoles ); + + // join vertices of inner and outer paths to a single array + + for ( let i = 0, l = shapeHoles.length; i < l; i ++ ) { + + const shapeHole = shapeHoles[ i ]; + shapeVertices = shapeVertices.concat( shapeHole ); + + } + + // vertices, normals, uvs + + for ( let i = 0, l = shapeVertices.length; i < l; i ++ ) { + + const vertex = shapeVertices[ i ]; + + vertices.push( vertex.x, vertex.y, 0 ); + normals.push( 0, 0, 1 ); + uvs.push( vertex.x, vertex.y ); // world uvs + + } + + // incides + + for ( let i = 0, l = faces.length; i < l; i ++ ) { + + const face = faces[ i ]; + + const a = face[ 0 ] + indexOffset; + const b = face[ 1 ] + indexOffset; + const c = face[ 2 ] + indexOffset; + + indices.push( a, b, c ); + groupCount += 3; + + } + + } + + } + + toJSON() { + + const data = super.toJSON(); + + const shapes = this.parameters.shapes; + + return toJSON( shapes, data ); + + } + + static fromJSON( data, shapes ) { + + const geometryShapes = []; + + for ( let j = 0, jl = data.shapes.length; j < jl; j ++ ) { + + const shape = shapes[ data.shapes[ j ] ]; + + geometryShapes.push( shape ); + + } + + return new ShapeGeometry( geometryShapes, data.curveSegments ); + + } + +} + +function toJSON( shapes, data ) { + + data.shapes = []; + + if ( Array.isArray( shapes ) ) { + + for ( let i = 0, l = shapes.length; i < l; i ++ ) { + + const shape = shapes[ i ]; + + data.shapes.push( shape.uuid ); + + } + + } else { + + data.shapes.push( shapes.uuid ); + + } + + return data; + +} + +class SphereGeometry extends BufferGeometry { + + constructor( radius = 1, widthSegments = 32, heightSegments = 16, phiStart = 0, phiLength = Math.PI * 2, thetaStart = 0, thetaLength = Math.PI ) { + + super(); + this.type = 'SphereGeometry'; + + this.parameters = { + radius: radius, + widthSegments: widthSegments, + heightSegments: heightSegments, + phiStart: phiStart, + phiLength: phiLength, + thetaStart: thetaStart, + thetaLength: thetaLength + }; + + widthSegments = Math.max( 3, Math.floor( widthSegments ) ); + heightSegments = Math.max( 2, Math.floor( heightSegments ) ); + + const thetaEnd = Math.min( thetaStart + thetaLength, Math.PI ); + + let index = 0; + const grid = []; + + const vertex = new Vector3(); + const normal = new Vector3(); + + // buffers + + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; + + // generate vertices, normals and uvs + + for ( let iy = 0; iy <= heightSegments; iy ++ ) { + + const verticesRow = []; + + const v = iy / heightSegments; + + // special case for the poles + + let uOffset = 0; + + if ( iy == 0 && thetaStart == 0 ) { + + uOffset = 0.5 / widthSegments; + + } else if ( iy == heightSegments && thetaEnd == Math.PI ) { + + uOffset = - 0.5 / widthSegments; + + } + + for ( let ix = 0; ix <= widthSegments; ix ++ ) { + + const u = ix / widthSegments; + + // vertex + + vertex.x = - radius * Math.cos( phiStart + u * phiLength ) * Math.sin( thetaStart + v * thetaLength ); + vertex.y = radius * Math.cos( thetaStart + v * thetaLength ); + vertex.z = radius * Math.sin( phiStart + u * phiLength ) * Math.sin( thetaStart + v * thetaLength ); + + vertices.push( vertex.x, vertex.y, vertex.z ); + + // normal + + normal.copy( vertex ).normalize(); + normals.push( normal.x, normal.y, normal.z ); + + // uv + + uvs.push( u + uOffset, 1 - v ); + + verticesRow.push( index ++ ); + + } + + grid.push( verticesRow ); + + } + + // indices + + for ( let iy = 0; iy < heightSegments; iy ++ ) { + + for ( let ix = 0; ix < widthSegments; ix ++ ) { + + const a = grid[ iy ][ ix + 1 ]; + const b = grid[ iy ][ ix ]; + const c = grid[ iy + 1 ][ ix ]; + const d = grid[ iy + 1 ][ ix + 1 ]; + + if ( iy !== 0 || thetaStart > 0 ) indices.push( a, b, d ); + if ( iy !== heightSegments - 1 || thetaEnd < Math.PI ) indices.push( b, c, d ); + + } + + } + + // build geometry + + this.setIndex( indices ); + this.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + this.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); + this.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + + } + + static fromJSON( data ) { + + return new SphereGeometry( data.radius, data.widthSegments, data.heightSegments, data.phiStart, data.phiLength, data.thetaStart, data.thetaLength ); + + } + +} + +class TetrahedronGeometry extends PolyhedronGeometry { + + constructor( radius = 1, detail = 0 ) { + + const vertices = [ + 1, 1, 1, - 1, - 1, 1, - 1, 1, - 1, 1, - 1, - 1 + ]; + + const indices = [ + 2, 1, 0, 0, 3, 2, 1, 3, 0, 2, 3, 1 + ]; + + super( vertices, indices, radius, detail ); + + this.type = 'TetrahedronGeometry'; + + this.parameters = { + radius: radius, + detail: detail + }; + + } + + static fromJSON( data ) { + + return new TetrahedronGeometry( data.radius, data.detail ); + + } + +} + +class TorusGeometry extends BufferGeometry { + + constructor( radius = 1, tube = 0.4, radialSegments = 8, tubularSegments = 6, arc = Math.PI * 2 ) { + + super(); + this.type = 'TorusGeometry'; + + this.parameters = { + radius: radius, + tube: tube, + radialSegments: radialSegments, + tubularSegments: tubularSegments, + arc: arc + }; + + radialSegments = Math.floor( radialSegments ); + tubularSegments = Math.floor( tubularSegments ); + + // buffers + + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; + + // helper variables + + const center = new Vector3(); + const vertex = new Vector3(); + const normal = new Vector3(); + + // generate vertices, normals and uvs + + for ( let j = 0; j <= radialSegments; j ++ ) { + + for ( let i = 0; i <= tubularSegments; i ++ ) { + + const u = i / tubularSegments * arc; + const v = j / radialSegments * Math.PI * 2; + + // vertex + + vertex.x = ( radius + tube * Math.cos( v ) ) * Math.cos( u ); + vertex.y = ( radius + tube * Math.cos( v ) ) * Math.sin( u ); + vertex.z = tube * Math.sin( v ); + + vertices.push( vertex.x, vertex.y, vertex.z ); + + // normal + + center.x = radius * Math.cos( u ); + center.y = radius * Math.sin( u ); + normal.subVectors( vertex, center ).normalize(); + + normals.push( normal.x, normal.y, normal.z ); + + // uv + + uvs.push( i / tubularSegments ); + uvs.push( j / radialSegments ); + + } + + } + + // generate indices + + for ( let j = 1; j <= radialSegments; j ++ ) { + + for ( let i = 1; i <= tubularSegments; i ++ ) { + + // indices + + const a = ( tubularSegments + 1 ) * j + i - 1; + const b = ( tubularSegments + 1 ) * ( j - 1 ) + i - 1; + const c = ( tubularSegments + 1 ) * ( j - 1 ) + i; + const d = ( tubularSegments + 1 ) * j + i; + + // faces + + indices.push( a, b, d ); + indices.push( b, c, d ); + + } + + } + + // build geometry + + this.setIndex( indices ); + this.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + this.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); + this.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + + } + + static fromJSON( data ) { + + return new TorusGeometry( data.radius, data.tube, data.radialSegments, data.tubularSegments, data.arc ); + + } + +} + +class TorusKnotGeometry extends BufferGeometry { + + constructor( radius = 1, tube = 0.4, tubularSegments = 64, radialSegments = 8, p = 2, q = 3 ) { + + super(); + this.type = 'TorusKnotGeometry'; + + this.parameters = { + radius: radius, + tube: tube, + tubularSegments: tubularSegments, + radialSegments: radialSegments, + p: p, + q: q + }; + + tubularSegments = Math.floor( tubularSegments ); + radialSegments = Math.floor( radialSegments ); + + // buffers + + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; + + // helper variables + + const vertex = new Vector3(); + const normal = new Vector3(); + + const P1 = new Vector3(); + const P2 = new Vector3(); + + const B = new Vector3(); + const T = new Vector3(); + const N = new Vector3(); + + // generate vertices, normals and uvs + + for ( let i = 0; i <= tubularSegments; ++ i ) { + + // the radian "u" is used to calculate the position on the torus curve of the current tubular segement + + const u = i / tubularSegments * p * Math.PI * 2; + + // now we calculate two points. P1 is our current position on the curve, P2 is a little farther ahead. + // these points are used to create a special "coordinate space", which is necessary to calculate the correct vertex positions + + calculatePositionOnCurve( u, p, q, radius, P1 ); + calculatePositionOnCurve( u + 0.01, p, q, radius, P2 ); + + // calculate orthonormal basis + + T.subVectors( P2, P1 ); + N.addVectors( P2, P1 ); + B.crossVectors( T, N ); + N.crossVectors( B, T ); + + // normalize B, N. T can be ignored, we don't use it + + B.normalize(); + N.normalize(); + + for ( let j = 0; j <= radialSegments; ++ j ) { + + // now calculate the vertices. they are nothing more than an extrusion of the torus curve. + // because we extrude a shape in the xy-plane, there is no need to calculate a z-value. + + const v = j / radialSegments * Math.PI * 2; + const cx = - tube * Math.cos( v ); + const cy = tube * Math.sin( v ); + + // now calculate the final vertex position. + // first we orient the extrusion with our basis vectos, then we add it to the current position on the curve + + vertex.x = P1.x + ( cx * N.x + cy * B.x ); + vertex.y = P1.y + ( cx * N.y + cy * B.y ); + vertex.z = P1.z + ( cx * N.z + cy * B.z ); + + vertices.push( vertex.x, vertex.y, vertex.z ); + + // normal (P1 is always the center/origin of the extrusion, thus we can use it to calculate the normal) + + normal.subVectors( vertex, P1 ).normalize(); + + normals.push( normal.x, normal.y, normal.z ); + + // uv + + uvs.push( i / tubularSegments ); + uvs.push( j / radialSegments ); + + } + + } + + // generate indices + + for ( let j = 1; j <= tubularSegments; j ++ ) { + + for ( let i = 1; i <= radialSegments; i ++ ) { + + // indices + + const a = ( radialSegments + 1 ) * ( j - 1 ) + ( i - 1 ); + const b = ( radialSegments + 1 ) * j + ( i - 1 ); + const c = ( radialSegments + 1 ) * j + i; + const d = ( radialSegments + 1 ) * ( j - 1 ) + i; + + // faces + + indices.push( a, b, d ); + indices.push( b, c, d ); + + } + + } + + // build geometry + + this.setIndex( indices ); + this.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + this.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); + this.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + + // this function calculates the current position on the torus curve + + function calculatePositionOnCurve( u, p, q, radius, position ) { + + const cu = Math.cos( u ); + const su = Math.sin( u ); + const quOverP = q / p * u; + const cs = Math.cos( quOverP ); + + position.x = radius * ( 2 + cs ) * 0.5 * cu; + position.y = radius * ( 2 + cs ) * su * 0.5; + position.z = radius * Math.sin( quOverP ) * 0.5; + + } + + } + + static fromJSON( data ) { + + return new TorusKnotGeometry( data.radius, data.tube, data.tubularSegments, data.radialSegments, data.p, data.q ); + + } + +} + +class TubeGeometry extends BufferGeometry { + + constructor( path = new QuadraticBezierCurve3( new Vector3( - 1, - 1, 0 ), new Vector3( - 1, 1, 0 ), new Vector3( 1, 1, 0 ) ), tubularSegments = 64, radius = 1, radialSegments = 8, closed = false ) { + + super(); + this.type = 'TubeGeometry'; + + this.parameters = { + path: path, + tubularSegments: tubularSegments, + radius: radius, + radialSegments: radialSegments, + closed: closed + }; + + const frames = path.computeFrenetFrames( tubularSegments, closed ); + + // expose internals + + this.tangents = frames.tangents; + this.normals = frames.normals; + this.binormals = frames.binormals; + + // helper variables + + const vertex = new Vector3(); + const normal = new Vector3(); + const uv = new Vector2(); + let P = new Vector3(); + + // buffer + + const vertices = []; + const normals = []; + const uvs = []; + const indices = []; + + // create buffer data + + generateBufferData(); + + // build geometry + + this.setIndex( indices ); + this.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + this.setAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); + this.setAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); + + // functions + + function generateBufferData() { + + for ( let i = 0; i < tubularSegments; i ++ ) { + + generateSegment( i ); + + } + + // if the geometry is not closed, generate the last row of vertices and normals + // at the regular position on the given path + // + // if the geometry is closed, duplicate the first row of vertices and normals (uvs will differ) + + generateSegment( ( closed === false ) ? tubularSegments : 0 ); + + // uvs are generated in a separate function. + // this makes it easy compute correct values for closed geometries + + generateUVs(); + + // finally create faces + + generateIndices(); + + } + + function generateSegment( i ) { + + // we use getPointAt to sample evenly distributed points from the given path + + P = path.getPointAt( i / tubularSegments, P ); + + // retrieve corresponding normal and binormal + + const N = frames.normals[ i ]; + const B = frames.binormals[ i ]; + + // generate normals and vertices for the current segment + + for ( let j = 0; j <= radialSegments; j ++ ) { + + const v = j / radialSegments * Math.PI * 2; + + const sin = Math.sin( v ); + const cos = - Math.cos( v ); + + // normal + + normal.x = ( cos * N.x + sin * B.x ); + normal.y = ( cos * N.y + sin * B.y ); + normal.z = ( cos * N.z + sin * B.z ); + normal.normalize(); + + normals.push( normal.x, normal.y, normal.z ); + + // vertex + + vertex.x = P.x + radius * normal.x; + vertex.y = P.y + radius * normal.y; + vertex.z = P.z + radius * normal.z; + + vertices.push( vertex.x, vertex.y, vertex.z ); + + } + + } + + function generateIndices() { + + for ( let j = 1; j <= tubularSegments; j ++ ) { + + for ( let i = 1; i <= radialSegments; i ++ ) { + + const a = ( radialSegments + 1 ) * ( j - 1 ) + ( i - 1 ); + const b = ( radialSegments + 1 ) * j + ( i - 1 ); + const c = ( radialSegments + 1 ) * j + i; + const d = ( radialSegments + 1 ) * ( j - 1 ) + i; + + // faces + + indices.push( a, b, d ); + indices.push( b, c, d ); + + } + + } + + } + + function generateUVs() { + + for ( let i = 0; i <= tubularSegments; i ++ ) { + + for ( let j = 0; j <= radialSegments; j ++ ) { + + uv.x = i / tubularSegments; + uv.y = j / radialSegments; + + uvs.push( uv.x, uv.y ); + + } + + } + + } + + } + + toJSON() { + + const data = super.toJSON(); + + data.path = this.parameters.path.toJSON(); + + return data; + + } + + static fromJSON( data ) { + + // This only works for built-in curves (e.g. CatmullRomCurve3). + // User defined curves or instances of CurvePath will not be deserialized. + return new TubeGeometry( + new Curves[ data.path.type ]().fromJSON( data.path ), + data.tubularSegments, + data.radius, + data.radialSegments, + data.closed + ); + + } + +} + +class WireframeGeometry extends BufferGeometry { + + constructor( geometry = null ) { + + super(); + this.type = 'WireframeGeometry'; + + this.parameters = { + geometry: geometry + }; + + if ( geometry !== null ) { + + // buffer + + const vertices = []; + const edges = new Set(); + + // helper variables + + const start = new Vector3(); + const end = new Vector3(); + + if ( geometry.index !== null ) { + + // indexed BufferGeometry + + const position = geometry.attributes.position; + const indices = geometry.index; + let groups = geometry.groups; + + if ( groups.length === 0 ) { + + groups = [ { start: 0, count: indices.count, materialIndex: 0 } ]; + + } + + // create a data structure that contains all eges without duplicates + + for ( let o = 0, ol = groups.length; o < ol; ++ o ) { + + const group = groups[ o ]; + + const groupStart = group.start; + const groupCount = group.count; + + for ( let i = groupStart, l = ( groupStart + groupCount ); i < l; i += 3 ) { + + for ( let j = 0; j < 3; j ++ ) { + + const index1 = indices.getX( i + j ); + const index2 = indices.getX( i + ( j + 1 ) % 3 ); + + start.fromBufferAttribute( position, index1 ); + end.fromBufferAttribute( position, index2 ); + + if ( isUniqueEdge( start, end, edges ) === true ) { + + vertices.push( start.x, start.y, start.z ); + vertices.push( end.x, end.y, end.z ); + + } + + } + + } + + } + + } else { + + // non-indexed BufferGeometry + + const position = geometry.attributes.position; + + for ( let i = 0, l = ( position.count / 3 ); i < l; i ++ ) { + + for ( let j = 0; j < 3; j ++ ) { + + // three edges per triangle, an edge is represented as (index1, index2) + // e.g. the first triangle has the following edges: (0,1),(1,2),(2,0) + + const index1 = 3 * i + j; + const index2 = 3 * i + ( ( j + 1 ) % 3 ); + + start.fromBufferAttribute( position, index1 ); + end.fromBufferAttribute( position, index2 ); + + if ( isUniqueEdge( start, end, edges ) === true ) { + + vertices.push( start.x, start.y, start.z ); + vertices.push( end.x, end.y, end.z ); + + } + + } + + } + + } + + // build geometry + + this.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + + } + + } + +} + +function isUniqueEdge( start, end, edges ) { + + const hash1 = `${start.x},${start.y},${start.z}-${end.x},${end.y},${end.z}`; + const hash2 = `${end.x},${end.y},${end.z}-${start.x},${start.y},${start.z}`; // coincident edge + + if ( edges.has( hash1 ) === true || edges.has( hash2 ) === true ) { + + return false; + + } else { + + edges.add( hash1, hash2 ); + return true; + + } + +} + +var Geometries = /*#__PURE__*/Object.freeze({ + __proto__: null, + BoxGeometry: BoxGeometry, + BoxBufferGeometry: BoxGeometry, + CircleGeometry: CircleGeometry, + CircleBufferGeometry: CircleGeometry, + ConeGeometry: ConeGeometry, + ConeBufferGeometry: ConeGeometry, + CylinderGeometry: CylinderGeometry, + CylinderBufferGeometry: CylinderGeometry, + DodecahedronGeometry: DodecahedronGeometry, + DodecahedronBufferGeometry: DodecahedronGeometry, + EdgesGeometry: EdgesGeometry, + ExtrudeGeometry: ExtrudeGeometry, + ExtrudeBufferGeometry: ExtrudeGeometry, + IcosahedronGeometry: IcosahedronGeometry, + IcosahedronBufferGeometry: IcosahedronGeometry, + LatheGeometry: LatheGeometry, + LatheBufferGeometry: LatheGeometry, + OctahedronGeometry: OctahedronGeometry, + OctahedronBufferGeometry: OctahedronGeometry, + PlaneGeometry: PlaneGeometry, + PlaneBufferGeometry: PlaneGeometry, + PolyhedronGeometry: PolyhedronGeometry, + PolyhedronBufferGeometry: PolyhedronGeometry, + RingGeometry: RingGeometry, + RingBufferGeometry: RingGeometry, + ShapeGeometry: ShapeGeometry, + ShapeBufferGeometry: ShapeGeometry, + SphereGeometry: SphereGeometry, + SphereBufferGeometry: SphereGeometry, + TetrahedronGeometry: TetrahedronGeometry, + TetrahedronBufferGeometry: TetrahedronGeometry, + TorusGeometry: TorusGeometry, + TorusBufferGeometry: TorusGeometry, + TorusKnotGeometry: TorusKnotGeometry, + TorusKnotBufferGeometry: TorusKnotGeometry, + TubeGeometry: TubeGeometry, + TubeBufferGeometry: TubeGeometry, + WireframeGeometry: WireframeGeometry +}); + +/** + * parameters = { + * color: + * } + */ + +class ShadowMaterial extends Material { + + constructor( parameters ) { + + super(); + + this.type = 'ShadowMaterial'; + + this.color = new Color( 0x000000 ); + this.transparent = true; + + this.setValues( parameters ); + + } + + copy( source ) { + + super.copy( source ); + + this.color.copy( source.color ); + + return this; + + } + +} + +ShadowMaterial.prototype.isShadowMaterial = true; + +/** + * parameters = { + * color: , + * roughness: , + * metalness: , + * opacity: , + * + * map: new THREE.Texture( ), + * + * lightMap: new THREE.Texture( ), + * lightMapIntensity: + * + * aoMap: new THREE.Texture( ), + * aoMapIntensity: + * + * emissive: , + * emissiveIntensity: + * emissiveMap: new THREE.Texture( ), + * + * bumpMap: new THREE.Texture( ), + * bumpScale: , + * + * normalMap: new THREE.Texture( ), + * normalMapType: THREE.TangentSpaceNormalMap, + * normalScale: , + * + * displacementMap: new THREE.Texture( ), + * displacementScale: , + * displacementBias: , + * + * roughnessMap: new THREE.Texture( ), + * + * metalnessMap: new THREE.Texture( ), + * + * alphaMap: new THREE.Texture( ), + * + * envMap: new THREE.CubeTexture( [posx, negx, posy, negy, posz, negz] ), + * envMapIntensity: + * + * refractionRatio: , + * + * wireframe: , + * wireframeLinewidth: , + * + * flatShading: + * } + */ + +class MeshStandardMaterial extends Material { + + constructor( parameters ) { + + super(); + + this.defines = { 'STANDARD': '' }; + + this.type = 'MeshStandardMaterial'; + + this.color = new Color( 0xffffff ); // diffuse + this.roughness = 1.0; + this.metalness = 0.0; + + this.map = null; + + this.lightMap = null; + this.lightMapIntensity = 1.0; + + this.aoMap = null; + this.aoMapIntensity = 1.0; + + this.emissive = new Color( 0x000000 ); + this.emissiveIntensity = 1.0; + this.emissiveMap = null; + + this.bumpMap = null; + this.bumpScale = 1; + + this.normalMap = null; + this.normalMapType = TangentSpaceNormalMap; + this.normalScale = new Vector2( 1, 1 ); + + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + + this.roughnessMap = null; + + this.metalnessMap = null; + + this.alphaMap = null; + + this.envMap = null; + this.envMapIntensity = 1.0; + + this.refractionRatio = 0.98; + + this.wireframe = false; + this.wireframeLinewidth = 1; + this.wireframeLinecap = 'round'; + this.wireframeLinejoin = 'round'; + + this.flatShading = false; + + this.setValues( parameters ); + + } + + copy( source ) { + + super.copy( source ); + + this.defines = { 'STANDARD': '' }; + + this.color.copy( source.color ); + this.roughness = source.roughness; + this.metalness = source.metalness; + + this.map = source.map; + + this.lightMap = source.lightMap; + this.lightMapIntensity = source.lightMapIntensity; + + this.aoMap = source.aoMap; + this.aoMapIntensity = source.aoMapIntensity; + + this.emissive.copy( source.emissive ); + this.emissiveMap = source.emissiveMap; + this.emissiveIntensity = source.emissiveIntensity; + + this.bumpMap = source.bumpMap; + this.bumpScale = source.bumpScale; + + this.normalMap = source.normalMap; + this.normalMapType = source.normalMapType; + this.normalScale.copy( source.normalScale ); + + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + + this.roughnessMap = source.roughnessMap; + + this.metalnessMap = source.metalnessMap; + + this.alphaMap = source.alphaMap; + + this.envMap = source.envMap; + this.envMapIntensity = source.envMapIntensity; + + this.refractionRatio = source.refractionRatio; + + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.wireframeLinecap = source.wireframeLinecap; + this.wireframeLinejoin = source.wireframeLinejoin; + + this.flatShading = source.flatShading; + + return this; + + } + +} + +MeshStandardMaterial.prototype.isMeshStandardMaterial = true; + +/** + * parameters = { + * clearcoat: , + * clearcoatMap: new THREE.Texture( ), + * clearcoatRoughness: , + * clearcoatRoughnessMap: new THREE.Texture( ), + * clearcoatNormalScale: , + * clearcoatNormalMap: new THREE.Texture( ), + * + * ior: , + * reflectivity: , + * + * sheen: , + * sheenColor: , + * sheenColorMap: new THREE.Texture( ), + * sheenRoughness: , + * sheenRoughnessMap: new THREE.Texture( ), + * + * transmission: , + * transmissionMap: new THREE.Texture( ), + * + * thickness: , + * thicknessMap: new THREE.Texture( ), + * attenuationDistance: , + * attenuationColor: , + * + * specularIntensity: , + * specularIntensityMap: new THREE.Texture( ), + * specularColor: , + * specularColorMap: new THREE.Texture( ) + * } + */ + +class MeshPhysicalMaterial extends MeshStandardMaterial { + + constructor( parameters ) { + + super(); + + this.defines = { + + 'STANDARD': '', + 'PHYSICAL': '' + + }; + + this.type = 'MeshPhysicalMaterial'; + + this.clearcoatMap = null; + this.clearcoatRoughness = 0.0; + this.clearcoatRoughnessMap = null; + this.clearcoatNormalScale = new Vector2( 1, 1 ); + this.clearcoatNormalMap = null; + + this.ior = 1.5; + + Object.defineProperty( this, 'reflectivity', { + get: function () { + + return ( clamp( 2.5 * ( this.ior - 1 ) / ( this.ior + 1 ), 0, 1 ) ); + + }, + set: function ( reflectivity ) { + + this.ior = ( 1 + 0.4 * reflectivity ) / ( 1 - 0.4 * reflectivity ); + + } + } ); + + this.sheenColor = new Color( 0x000000 ); + this.sheenColorMap = null; + this.sheenRoughness = 1.0; + this.sheenRoughnessMap = null; + + this.transmissionMap = null; + + this.thickness = 0; + this.thicknessMap = null; + this.attenuationDistance = 0.0; + this.attenuationColor = new Color( 1, 1, 1 ); + + this.specularIntensity = 1.0; + this.specularIntensityMap = null; + this.specularColor = new Color( 1, 1, 1 ); + this.specularColorMap = null; + + this._sheen = 0.0; + this._clearcoat = 0; + this._transmission = 0; + + this.setValues( parameters ); + + } + + get sheen() { + + return this._sheen; + + } + + set sheen( value ) { + + if ( this._sheen > 0 !== value > 0 ) { + + this.version ++; + + } + + this._sheen = value; + + } + + get clearcoat() { + + return this._clearcoat; + + } + + set clearcoat( value ) { + + if ( this._clearcoat > 0 !== value > 0 ) { + + this.version ++; + + } + + this._clearcoat = value; + + } + + get transmission() { + + return this._transmission; + + } + + set transmission( value ) { + + if ( this._transmission > 0 !== value > 0 ) { + + this.version ++; + + } + + this._transmission = value; + + } + + copy( source ) { + + super.copy( source ); + + this.defines = { + + 'STANDARD': '', + 'PHYSICAL': '' + + }; + + this.clearcoat = source.clearcoat; + this.clearcoatMap = source.clearcoatMap; + this.clearcoatRoughness = source.clearcoatRoughness; + this.clearcoatRoughnessMap = source.clearcoatRoughnessMap; + this.clearcoatNormalMap = source.clearcoatNormalMap; + this.clearcoatNormalScale.copy( source.clearcoatNormalScale ); + + this.ior = source.ior; + + this.sheen = source.sheen; + this.sheenColor.copy( source.sheenColor ); + this.sheenColorMap = source.sheenColorMap; + this.sheenRoughness = source.sheenRoughness; + this.sheenRoughnessMap = source.sheenRoughnessMap; + + this.transmission = source.transmission; + this.transmissionMap = source.transmissionMap; + + this.thickness = source.thickness; + this.thicknessMap = source.thicknessMap; + this.attenuationDistance = source.attenuationDistance; + this.attenuationColor.copy( source.attenuationColor ); + + this.specularIntensity = source.specularIntensity; + this.specularIntensityMap = source.specularIntensityMap; + this.specularColor.copy( source.specularColor ); + this.specularColorMap = source.specularColorMap; + + return this; + + } + +} + +MeshPhysicalMaterial.prototype.isMeshPhysicalMaterial = true; + +/** + * parameters = { + * color: , + * specular: , + * shininess: , + * opacity: , + * + * map: new THREE.Texture( ), + * + * lightMap: new THREE.Texture( ), + * lightMapIntensity: + * + * aoMap: new THREE.Texture( ), + * aoMapIntensity: + * + * emissive: , + * emissiveIntensity: + * emissiveMap: new THREE.Texture( ), + * + * bumpMap: new THREE.Texture( ), + * bumpScale: , + * + * normalMap: new THREE.Texture( ), + * normalMapType: THREE.TangentSpaceNormalMap, + * normalScale: , + * + * displacementMap: new THREE.Texture( ), + * displacementScale: , + * displacementBias: , + * + * specularMap: new THREE.Texture( ), + * + * alphaMap: new THREE.Texture( ), + * + * envMap: new THREE.CubeTexture( [posx, negx, posy, negy, posz, negz] ), + * combine: THREE.MultiplyOperation, + * reflectivity: , + * refractionRatio: , + * + * wireframe: , + * wireframeLinewidth: , + * + * flatShading: + * } + */ + +class MeshPhongMaterial extends Material { + + constructor( parameters ) { + + super(); + + this.type = 'MeshPhongMaterial'; + + this.color = new Color( 0xffffff ); // diffuse + this.specular = new Color( 0x111111 ); + this.shininess = 30; + + this.map = null; + + this.lightMap = null; + this.lightMapIntensity = 1.0; + + this.aoMap = null; + this.aoMapIntensity = 1.0; + + this.emissive = new Color( 0x000000 ); + this.emissiveIntensity = 1.0; + this.emissiveMap = null; + + this.bumpMap = null; + this.bumpScale = 1; + + this.normalMap = null; + this.normalMapType = TangentSpaceNormalMap; + this.normalScale = new Vector2( 1, 1 ); + + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + + this.specularMap = null; + + this.alphaMap = null; + + this.envMap = null; + this.combine = MultiplyOperation; + this.reflectivity = 1; + this.refractionRatio = 0.98; + + this.wireframe = false; + this.wireframeLinewidth = 1; + this.wireframeLinecap = 'round'; + this.wireframeLinejoin = 'round'; + + this.flatShading = false; + + this.setValues( parameters ); + + } + + copy( source ) { + + super.copy( source ); + + this.color.copy( source.color ); + this.specular.copy( source.specular ); + this.shininess = source.shininess; + + this.map = source.map; + + this.lightMap = source.lightMap; + this.lightMapIntensity = source.lightMapIntensity; + + this.aoMap = source.aoMap; + this.aoMapIntensity = source.aoMapIntensity; + + this.emissive.copy( source.emissive ); + this.emissiveMap = source.emissiveMap; + this.emissiveIntensity = source.emissiveIntensity; + + this.bumpMap = source.bumpMap; + this.bumpScale = source.bumpScale; + + this.normalMap = source.normalMap; + this.normalMapType = source.normalMapType; + this.normalScale.copy( source.normalScale ); + + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + + this.specularMap = source.specularMap; + + this.alphaMap = source.alphaMap; + + this.envMap = source.envMap; + this.combine = source.combine; + this.reflectivity = source.reflectivity; + this.refractionRatio = source.refractionRatio; + + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.wireframeLinecap = source.wireframeLinecap; + this.wireframeLinejoin = source.wireframeLinejoin; + + this.flatShading = source.flatShading; + + return this; + + } + +} + +MeshPhongMaterial.prototype.isMeshPhongMaterial = true; + +/** + * parameters = { + * color: , + * + * map: new THREE.Texture( ), + * gradientMap: new THREE.Texture( ), + * + * lightMap: new THREE.Texture( ), + * lightMapIntensity: + * + * aoMap: new THREE.Texture( ), + * aoMapIntensity: + * + * emissive: , + * emissiveIntensity: + * emissiveMap: new THREE.Texture( ), + * + * bumpMap: new THREE.Texture( ), + * bumpScale: , + * + * normalMap: new THREE.Texture( ), + * normalMapType: THREE.TangentSpaceNormalMap, + * normalScale: , + * + * displacementMap: new THREE.Texture( ), + * displacementScale: , + * displacementBias: , + * + * alphaMap: new THREE.Texture( ), + * + * wireframe: , + * wireframeLinewidth: , + * + * } + */ + +class MeshToonMaterial extends Material { + + constructor( parameters ) { + + super(); + + this.defines = { 'TOON': '' }; + + this.type = 'MeshToonMaterial'; + + this.color = new Color( 0xffffff ); + + this.map = null; + this.gradientMap = null; + + this.lightMap = null; + this.lightMapIntensity = 1.0; + + this.aoMap = null; + this.aoMapIntensity = 1.0; + + this.emissive = new Color( 0x000000 ); + this.emissiveIntensity = 1.0; + this.emissiveMap = null; + + this.bumpMap = null; + this.bumpScale = 1; + + this.normalMap = null; + this.normalMapType = TangentSpaceNormalMap; + this.normalScale = new Vector2( 1, 1 ); + + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + + this.alphaMap = null; + + this.wireframe = false; + this.wireframeLinewidth = 1; + this.wireframeLinecap = 'round'; + this.wireframeLinejoin = 'round'; + + this.setValues( parameters ); + + } + + copy( source ) { + + super.copy( source ); + + this.color.copy( source.color ); + + this.map = source.map; + this.gradientMap = source.gradientMap; + + this.lightMap = source.lightMap; + this.lightMapIntensity = source.lightMapIntensity; + + this.aoMap = source.aoMap; + this.aoMapIntensity = source.aoMapIntensity; + + this.emissive.copy( source.emissive ); + this.emissiveMap = source.emissiveMap; + this.emissiveIntensity = source.emissiveIntensity; + + this.bumpMap = source.bumpMap; + this.bumpScale = source.bumpScale; + + this.normalMap = source.normalMap; + this.normalMapType = source.normalMapType; + this.normalScale.copy( source.normalScale ); + + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + + this.alphaMap = source.alphaMap; + + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.wireframeLinecap = source.wireframeLinecap; + this.wireframeLinejoin = source.wireframeLinejoin; + + return this; + + } + +} + +MeshToonMaterial.prototype.isMeshToonMaterial = true; + +/** + * parameters = { + * opacity: , + * + * bumpMap: new THREE.Texture( ), + * bumpScale: , + * + * normalMap: new THREE.Texture( ), + * normalMapType: THREE.TangentSpaceNormalMap, + * normalScale: , + * + * displacementMap: new THREE.Texture( ), + * displacementScale: , + * displacementBias: , + * + * wireframe: , + * wireframeLinewidth: + * + * flatShading: + * } + */ + +class MeshNormalMaterial extends Material { + + constructor( parameters ) { + + super(); + + this.type = 'MeshNormalMaterial'; + + this.bumpMap = null; + this.bumpScale = 1; + + this.normalMap = null; + this.normalMapType = TangentSpaceNormalMap; + this.normalScale = new Vector2( 1, 1 ); + + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + + this.wireframe = false; + this.wireframeLinewidth = 1; + + this.fog = false; + + this.flatShading = false; + + this.setValues( parameters ); + + } + + copy( source ) { + + super.copy( source ); + + this.bumpMap = source.bumpMap; + this.bumpScale = source.bumpScale; + + this.normalMap = source.normalMap; + this.normalMapType = source.normalMapType; + this.normalScale.copy( source.normalScale ); + + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + + this.flatShading = source.flatShading; + + return this; + + } + +} + +MeshNormalMaterial.prototype.isMeshNormalMaterial = true; + +/** + * parameters = { + * color: , + * opacity: , + * + * map: new THREE.Texture( ), + * + * lightMap: new THREE.Texture( ), + * lightMapIntensity: + * + * aoMap: new THREE.Texture( ), + * aoMapIntensity: + * + * emissive: , + * emissiveIntensity: + * emissiveMap: new THREE.Texture( ), + * + * specularMap: new THREE.Texture( ), + * + * alphaMap: new THREE.Texture( ), + * + * envMap: new THREE.CubeTexture( [posx, negx, posy, negy, posz, negz] ), + * combine: THREE.Multiply, + * reflectivity: , + * refractionRatio: , + * + * wireframe: , + * wireframeLinewidth: , + * + * } + */ + +class MeshLambertMaterial extends Material { + + constructor( parameters ) { + + super(); + + this.type = 'MeshLambertMaterial'; + + this.color = new Color( 0xffffff ); // diffuse + + this.map = null; + + this.lightMap = null; + this.lightMapIntensity = 1.0; + + this.aoMap = null; + this.aoMapIntensity = 1.0; + + this.emissive = new Color( 0x000000 ); + this.emissiveIntensity = 1.0; + this.emissiveMap = null; + + this.specularMap = null; + + this.alphaMap = null; + + this.envMap = null; + this.combine = MultiplyOperation; + this.reflectivity = 1; + this.refractionRatio = 0.98; + + this.wireframe = false; + this.wireframeLinewidth = 1; + this.wireframeLinecap = 'round'; + this.wireframeLinejoin = 'round'; + + this.setValues( parameters ); + + } + + copy( source ) { + + super.copy( source ); + + this.color.copy( source.color ); + + this.map = source.map; + + this.lightMap = source.lightMap; + this.lightMapIntensity = source.lightMapIntensity; + + this.aoMap = source.aoMap; + this.aoMapIntensity = source.aoMapIntensity; + + this.emissive.copy( source.emissive ); + this.emissiveMap = source.emissiveMap; + this.emissiveIntensity = source.emissiveIntensity; + + this.specularMap = source.specularMap; + + this.alphaMap = source.alphaMap; + + this.envMap = source.envMap; + this.combine = source.combine; + this.reflectivity = source.reflectivity; + this.refractionRatio = source.refractionRatio; + + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.wireframeLinecap = source.wireframeLinecap; + this.wireframeLinejoin = source.wireframeLinejoin; + + return this; + + } + +} + +MeshLambertMaterial.prototype.isMeshLambertMaterial = true; + +/** + * parameters = { + * color: , + * opacity: , + * + * matcap: new THREE.Texture( ), + * + * map: new THREE.Texture( ), + * + * bumpMap: new THREE.Texture( ), + * bumpScale: , + * + * normalMap: new THREE.Texture( ), + * normalMapType: THREE.TangentSpaceNormalMap, + * normalScale: , + * + * displacementMap: new THREE.Texture( ), + * displacementScale: , + * displacementBias: , + * + * alphaMap: new THREE.Texture( ), + * + * flatShading: + * } + */ + +class MeshMatcapMaterial extends Material { + + constructor( parameters ) { + + super(); + + this.defines = { 'MATCAP': '' }; + + this.type = 'MeshMatcapMaterial'; + + this.color = new Color( 0xffffff ); // diffuse + + this.matcap = null; + + this.map = null; + + this.bumpMap = null; + this.bumpScale = 1; + + this.normalMap = null; + this.normalMapType = TangentSpaceNormalMap; + this.normalScale = new Vector2( 1, 1 ); + + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + + this.alphaMap = null; + + this.flatShading = false; + + this.setValues( parameters ); + + } + + + copy( source ) { + + super.copy( source ); + + this.defines = { 'MATCAP': '' }; + + this.color.copy( source.color ); + + this.matcap = source.matcap; + + this.map = source.map; + + this.bumpMap = source.bumpMap; + this.bumpScale = source.bumpScale; + + this.normalMap = source.normalMap; + this.normalMapType = source.normalMapType; + this.normalScale.copy( source.normalScale ); + + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + + this.alphaMap = source.alphaMap; + + this.flatShading = source.flatShading; + + return this; + + } + +} + +MeshMatcapMaterial.prototype.isMeshMatcapMaterial = true; + +/** + * parameters = { + * color: , + * opacity: , + * + * linewidth: , + * + * scale: , + * dashSize: , + * gapSize: + * } + */ + +class LineDashedMaterial extends LineBasicMaterial { + + constructor( parameters ) { + + super(); + + this.type = 'LineDashedMaterial'; + + this.scale = 1; + this.dashSize = 3; + this.gapSize = 1; + + this.setValues( parameters ); + + } + + copy( source ) { + + super.copy( source ); + + this.scale = source.scale; + this.dashSize = source.dashSize; + this.gapSize = source.gapSize; + + return this; + + } + +} + +LineDashedMaterial.prototype.isLineDashedMaterial = true; + +var Materials = /*#__PURE__*/Object.freeze({ + __proto__: null, + ShadowMaterial: ShadowMaterial, + SpriteMaterial: SpriteMaterial, + RawShaderMaterial: RawShaderMaterial, + ShaderMaterial: ShaderMaterial, + PointsMaterial: PointsMaterial, + MeshPhysicalMaterial: MeshPhysicalMaterial, + MeshStandardMaterial: MeshStandardMaterial, + MeshPhongMaterial: MeshPhongMaterial, + MeshToonMaterial: MeshToonMaterial, + MeshNormalMaterial: MeshNormalMaterial, + MeshLambertMaterial: MeshLambertMaterial, + MeshDepthMaterial: MeshDepthMaterial, + MeshDistanceMaterial: MeshDistanceMaterial, + MeshBasicMaterial: MeshBasicMaterial, + MeshMatcapMaterial: MeshMatcapMaterial, + LineDashedMaterial: LineDashedMaterial, + LineBasicMaterial: LineBasicMaterial, + Material: Material +}); + +const AnimationUtils = { + + // same as Array.prototype.slice, but also works on typed arrays + arraySlice: function ( array, from, to ) { + + if ( AnimationUtils.isTypedArray( array ) ) { + + // in ios9 array.subarray(from, undefined) will return empty array + // but array.subarray(from) or array.subarray(from, len) is correct + return new array.constructor( array.subarray( from, to !== undefined ? to : array.length ) ); + + } + + return array.slice( from, to ); + + }, + + // converts an array to a specific type + convertArray: function ( array, type, forceClone ) { + + if ( ! array || // let 'undefined' and 'null' pass + ! forceClone && array.constructor === type ) return array; + + if ( typeof type.BYTES_PER_ELEMENT === 'number' ) { + + return new type( array ); // create typed array + + } + + return Array.prototype.slice.call( array ); // create Array + + }, + + isTypedArray: function ( object ) { + + return ArrayBuffer.isView( object ) && + ! ( object instanceof DataView ); + + }, + + // returns an array by which times and values can be sorted + getKeyframeOrder: function ( times ) { + + function compareTime( i, j ) { + + return times[ i ] - times[ j ]; + + } + + const n = times.length; + const result = new Array( n ); + for ( let i = 0; i !== n; ++ i ) result[ i ] = i; + + result.sort( compareTime ); + + return result; + + }, + + // uses the array previously returned by 'getKeyframeOrder' to sort data + sortedArray: function ( values, stride, order ) { + + const nValues = values.length; + const result = new values.constructor( nValues ); + + for ( let i = 0, dstOffset = 0; dstOffset !== nValues; ++ i ) { + + const srcOffset = order[ i ] * stride; + + for ( let j = 0; j !== stride; ++ j ) { + + result[ dstOffset ++ ] = values[ srcOffset + j ]; + + } + + } + + return result; + + }, + + // function for parsing AOS keyframe formats + flattenJSON: function ( jsonKeys, times, values, valuePropertyName ) { + + let i = 1, key = jsonKeys[ 0 ]; + + while ( key !== undefined && key[ valuePropertyName ] === undefined ) { + + key = jsonKeys[ i ++ ]; + + } + + if ( key === undefined ) return; // no data + + let value = key[ valuePropertyName ]; + if ( value === undefined ) return; // no data + + if ( Array.isArray( value ) ) { + + do { + + value = key[ valuePropertyName ]; + + if ( value !== undefined ) { + + times.push( key.time ); + values.push.apply( values, value ); // push all elements + + } + + key = jsonKeys[ i ++ ]; + + } while ( key !== undefined ); + + } else if ( value.toArray !== undefined ) { + + // ...assume THREE.Math-ish + + do { + + value = key[ valuePropertyName ]; + + if ( value !== undefined ) { + + times.push( key.time ); + value.toArray( values, values.length ); + + } + + key = jsonKeys[ i ++ ]; + + } while ( key !== undefined ); + + } else { + + // otherwise push as-is + + do { + + value = key[ valuePropertyName ]; + + if ( value !== undefined ) { + + times.push( key.time ); + values.push( value ); + + } + + key = jsonKeys[ i ++ ]; + + } while ( key !== undefined ); + + } + + }, + + subclip: function ( sourceClip, name, startFrame, endFrame, fps = 30 ) { + + const clip = sourceClip.clone(); + + clip.name = name; + + const tracks = []; + + for ( let i = 0; i < clip.tracks.length; ++ i ) { + + const track = clip.tracks[ i ]; + const valueSize = track.getValueSize(); + + const times = []; + const values = []; + + for ( let j = 0; j < track.times.length; ++ j ) { + + const frame = track.times[ j ] * fps; + + if ( frame < startFrame || frame >= endFrame ) continue; + + times.push( track.times[ j ] ); + + for ( let k = 0; k < valueSize; ++ k ) { + + values.push( track.values[ j * valueSize + k ] ); + + } + + } + + if ( times.length === 0 ) continue; + + track.times = AnimationUtils.convertArray( times, track.times.constructor ); + track.values = AnimationUtils.convertArray( values, track.values.constructor ); + + tracks.push( track ); + + } + + clip.tracks = tracks; + + // find minimum .times value across all tracks in the trimmed clip + + let minStartTime = Infinity; + + for ( let i = 0; i < clip.tracks.length; ++ i ) { + + if ( minStartTime > clip.tracks[ i ].times[ 0 ] ) { + + minStartTime = clip.tracks[ i ].times[ 0 ]; + + } + + } + + // shift all tracks such that clip begins at t=0 + + for ( let i = 0; i < clip.tracks.length; ++ i ) { + + clip.tracks[ i ].shift( - 1 * minStartTime ); + + } + + clip.resetDuration(); + + return clip; + + }, + + makeClipAdditive: function ( targetClip, referenceFrame = 0, referenceClip = targetClip, fps = 30 ) { + + if ( fps <= 0 ) fps = 30; + + const numTracks = referenceClip.tracks.length; + const referenceTime = referenceFrame / fps; + + // Make each track's values relative to the values at the reference frame + for ( let i = 0; i < numTracks; ++ i ) { + + const referenceTrack = referenceClip.tracks[ i ]; + const referenceTrackType = referenceTrack.ValueTypeName; + + // Skip this track if it's non-numeric + if ( referenceTrackType === 'bool' || referenceTrackType === 'string' ) continue; + + // Find the track in the target clip whose name and type matches the reference track + const targetTrack = targetClip.tracks.find( function ( track ) { + + return track.name === referenceTrack.name + && track.ValueTypeName === referenceTrackType; + + } ); + + if ( targetTrack === undefined ) continue; + + let referenceOffset = 0; + const referenceValueSize = referenceTrack.getValueSize(); + + if ( referenceTrack.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline ) { + + referenceOffset = referenceValueSize / 3; + + } + + let targetOffset = 0; + const targetValueSize = targetTrack.getValueSize(); + + if ( targetTrack.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline ) { + + targetOffset = targetValueSize / 3; + + } + + const lastIndex = referenceTrack.times.length - 1; + let referenceValue; + + // Find the value to subtract out of the track + if ( referenceTime <= referenceTrack.times[ 0 ] ) { + + // Reference frame is earlier than the first keyframe, so just use the first keyframe + const startIndex = referenceOffset; + const endIndex = referenceValueSize - referenceOffset; + referenceValue = AnimationUtils.arraySlice( referenceTrack.values, startIndex, endIndex ); + + } else if ( referenceTime >= referenceTrack.times[ lastIndex ] ) { + + // Reference frame is after the last keyframe, so just use the last keyframe + const startIndex = lastIndex * referenceValueSize + referenceOffset; + const endIndex = startIndex + referenceValueSize - referenceOffset; + referenceValue = AnimationUtils.arraySlice( referenceTrack.values, startIndex, endIndex ); + + } else { + + // Interpolate to the reference value + const interpolant = referenceTrack.createInterpolant(); + const startIndex = referenceOffset; + const endIndex = referenceValueSize - referenceOffset; + interpolant.evaluate( referenceTime ); + referenceValue = AnimationUtils.arraySlice( interpolant.resultBuffer, startIndex, endIndex ); + + } + + // Conjugate the quaternion + if ( referenceTrackType === 'quaternion' ) { + + const referenceQuat = new Quaternion().fromArray( referenceValue ).normalize().conjugate(); + referenceQuat.toArray( referenceValue ); + + } + + // Subtract the reference value from all of the track values + + const numTimes = targetTrack.times.length; + for ( let j = 0; j < numTimes; ++ j ) { + + const valueStart = j * targetValueSize + targetOffset; + + if ( referenceTrackType === 'quaternion' ) { + + // Multiply the conjugate for quaternion track types + Quaternion.multiplyQuaternionsFlat( + targetTrack.values, + valueStart, + referenceValue, + 0, + targetTrack.values, + valueStart + ); + + } else { + + const valueEnd = targetValueSize - targetOffset * 2; + + // Subtract each value for all other numeric track types + for ( let k = 0; k < valueEnd; ++ k ) { + + targetTrack.values[ valueStart + k ] -= referenceValue[ k ]; + + } + + } + + } + + } + + targetClip.blendMode = AdditiveAnimationBlendMode; + + return targetClip; + + } + +}; + +/** + * Abstract base class of interpolants over parametric samples. + * + * The parameter domain is one dimensional, typically the time or a path + * along a curve defined by the data. + * + * The sample values can have any dimensionality and derived classes may + * apply special interpretations to the data. + * + * This class provides the interval seek in a Template Method, deferring + * the actual interpolation to derived classes. + * + * Time complexity is O(1) for linear access crossing at most two points + * and O(log N) for random access, where N is the number of positions. + * + * References: + * + * http://www.oodesign.com/template-method-pattern.html + * + */ + +class Interpolant { + + constructor( parameterPositions, sampleValues, sampleSize, resultBuffer ) { + + this.parameterPositions = parameterPositions; + this._cachedIndex = 0; + + this.resultBuffer = resultBuffer !== undefined ? + resultBuffer : new sampleValues.constructor( sampleSize ); + this.sampleValues = sampleValues; + this.valueSize = sampleSize; + + this.settings = null; + this.DefaultSettings_ = {}; + + } + + evaluate( t ) { + + const pp = this.parameterPositions; + let i1 = this._cachedIndex, + t1 = pp[ i1 ], + t0 = pp[ i1 - 1 ]; + + validate_interval: { + + seek: { + + let right; + + linear_scan: { + + //- See http://jsperf.com/comparison-to-undefined/3 + //- slower code: + //- + //- if ( t >= t1 || t1 === undefined ) { + forward_scan: if ( ! ( t < t1 ) ) { + + for ( let giveUpAt = i1 + 2; ; ) { + + if ( t1 === undefined ) { + + if ( t < t0 ) break forward_scan; + + // after end + + i1 = pp.length; + this._cachedIndex = i1; + return this.afterEnd_( i1 - 1, t, t0 ); + + } + + if ( i1 === giveUpAt ) break; // this loop + + t0 = t1; + t1 = pp[ ++ i1 ]; + + if ( t < t1 ) { + + // we have arrived at the sought interval + break seek; + + } + + } + + // prepare binary search on the right side of the index + right = pp.length; + break linear_scan; + + } + + //- slower code: + //- if ( t < t0 || t0 === undefined ) { + if ( ! ( t >= t0 ) ) { + + // looping? + + const t1global = pp[ 1 ]; + + if ( t < t1global ) { + + i1 = 2; // + 1, using the scan for the details + t0 = t1global; + + } + + // linear reverse scan + + for ( let giveUpAt = i1 - 2; ; ) { + + if ( t0 === undefined ) { + + // before start + + this._cachedIndex = 0; + return this.beforeStart_( 0, t, t1 ); + + } + + if ( i1 === giveUpAt ) break; // this loop + + t1 = t0; + t0 = pp[ -- i1 - 1 ]; + + if ( t >= t0 ) { + + // we have arrived at the sought interval + break seek; + + } + + } + + // prepare binary search on the left side of the index + right = i1; + i1 = 0; + break linear_scan; + + } + + // the interval is valid + + break validate_interval; + + } // linear scan + + // binary search + + while ( i1 < right ) { + + const mid = ( i1 + right ) >>> 1; + + if ( t < pp[ mid ] ) { + + right = mid; + + } else { + + i1 = mid + 1; + + } + + } + + t1 = pp[ i1 ]; + t0 = pp[ i1 - 1 ]; + + // check boundary cases, again + + if ( t0 === undefined ) { + + this._cachedIndex = 0; + return this.beforeStart_( 0, t, t1 ); + + } + + if ( t1 === undefined ) { + + i1 = pp.length; + this._cachedIndex = i1; + return this.afterEnd_( i1 - 1, t0, t ); + + } + + } // seek + + this._cachedIndex = i1; + + this.intervalChanged_( i1, t0, t1 ); + + } // validate_interval + + return this.interpolate_( i1, t0, t, t1 ); + + } + + getSettings_() { + + return this.settings || this.DefaultSettings_; + + } + + copySampleValue_( index ) { + + // copies a sample value to the result buffer + + const result = this.resultBuffer, + values = this.sampleValues, + stride = this.valueSize, + offset = index * stride; + + for ( let i = 0; i !== stride; ++ i ) { + + result[ i ] = values[ offset + i ]; + + } + + return result; + + } + + // Template methods for derived classes: + + interpolate_( /* i1, t0, t, t1 */ ) { + + throw new Error( 'call to abstract method' ); + // implementations shall return this.resultBuffer + + } + + intervalChanged_( /* i1, t0, t1 */ ) { + + // empty + + } + +} + +// ALIAS DEFINITIONS + +Interpolant.prototype.beforeStart_ = Interpolant.prototype.copySampleValue_; +Interpolant.prototype.afterEnd_ = Interpolant.prototype.copySampleValue_; + +/** + * Fast and simple cubic spline interpolant. + * + * It was derived from a Hermitian construction setting the first derivative + * at each sample position to the linear slope between neighboring positions + * over their parameter interval. + */ + +class CubicInterpolant extends Interpolant { + + constructor( parameterPositions, sampleValues, sampleSize, resultBuffer ) { + + super( parameterPositions, sampleValues, sampleSize, resultBuffer ); + + this._weightPrev = - 0; + this._offsetPrev = - 0; + this._weightNext = - 0; + this._offsetNext = - 0; + + this.DefaultSettings_ = { + + endingStart: ZeroCurvatureEnding, + endingEnd: ZeroCurvatureEnding + + }; + + } + + intervalChanged_( i1, t0, t1 ) { + + const pp = this.parameterPositions; + let iPrev = i1 - 2, + iNext = i1 + 1, + + tPrev = pp[ iPrev ], + tNext = pp[ iNext ]; + + if ( tPrev === undefined ) { + + switch ( this.getSettings_().endingStart ) { + + case ZeroSlopeEnding: + + // f'(t0) = 0 + iPrev = i1; + tPrev = 2 * t0 - t1; + + break; + + case WrapAroundEnding: + + // use the other end of the curve + iPrev = pp.length - 2; + tPrev = t0 + pp[ iPrev ] - pp[ iPrev + 1 ]; + + break; + + default: // ZeroCurvatureEnding + + // f''(t0) = 0 a.k.a. Natural Spline + iPrev = i1; + tPrev = t1; + + } + + } + + if ( tNext === undefined ) { + + switch ( this.getSettings_().endingEnd ) { + + case ZeroSlopeEnding: + + // f'(tN) = 0 + iNext = i1; + tNext = 2 * t1 - t0; + + break; + + case WrapAroundEnding: + + // use the other end of the curve + iNext = 1; + tNext = t1 + pp[ 1 ] - pp[ 0 ]; + + break; + + default: // ZeroCurvatureEnding + + // f''(tN) = 0, a.k.a. Natural Spline + iNext = i1 - 1; + tNext = t0; + + } + + } + + const halfDt = ( t1 - t0 ) * 0.5, + stride = this.valueSize; + + this._weightPrev = halfDt / ( t0 - tPrev ); + this._weightNext = halfDt / ( tNext - t1 ); + this._offsetPrev = iPrev * stride; + this._offsetNext = iNext * stride; + + } + + interpolate_( i1, t0, t, t1 ) { + + const result = this.resultBuffer, + values = this.sampleValues, + stride = this.valueSize, + + o1 = i1 * stride, o0 = o1 - stride, + oP = this._offsetPrev, oN = this._offsetNext, + wP = this._weightPrev, wN = this._weightNext, + + p = ( t - t0 ) / ( t1 - t0 ), + pp = p * p, + ppp = pp * p; + + // evaluate polynomials + + const sP = - wP * ppp + 2 * wP * pp - wP * p; + const s0 = ( 1 + wP ) * ppp + ( - 1.5 - 2 * wP ) * pp + ( - 0.5 + wP ) * p + 1; + const s1 = ( - 1 - wN ) * ppp + ( 1.5 + wN ) * pp + 0.5 * p; + const sN = wN * ppp - wN * pp; + + // combine data linearly + + for ( let i = 0; i !== stride; ++ i ) { + + result[ i ] = + sP * values[ oP + i ] + + s0 * values[ o0 + i ] + + s1 * values[ o1 + i ] + + sN * values[ oN + i ]; + + } + + return result; + + } + +} + +class LinearInterpolant extends Interpolant { + + constructor( parameterPositions, sampleValues, sampleSize, resultBuffer ) { + + super( parameterPositions, sampleValues, sampleSize, resultBuffer ); + + } + + interpolate_( i1, t0, t, t1 ) { + + const result = this.resultBuffer, + values = this.sampleValues, + stride = this.valueSize, + + offset1 = i1 * stride, + offset0 = offset1 - stride, + + weight1 = ( t - t0 ) / ( t1 - t0 ), + weight0 = 1 - weight1; + + for ( let i = 0; i !== stride; ++ i ) { + + result[ i ] = + values[ offset0 + i ] * weight0 + + values[ offset1 + i ] * weight1; + + } + + return result; + + } + +} + +/** + * + * Interpolant that evaluates to the sample value at the position preceeding + * the parameter. + */ + +class DiscreteInterpolant extends Interpolant { + + constructor( parameterPositions, sampleValues, sampleSize, resultBuffer ) { + + super( parameterPositions, sampleValues, sampleSize, resultBuffer ); + + } + + interpolate_( i1 /*, t0, t, t1 */ ) { + + return this.copySampleValue_( i1 - 1 ); + + } + +} + +class KeyframeTrack { + + constructor( name, times, values, interpolation ) { + + if ( name === undefined ) throw new Error( 'THREE.KeyframeTrack: track name is undefined' ); + if ( times === undefined || times.length === 0 ) throw new Error( 'THREE.KeyframeTrack: no keyframes in track named ' + name ); + + this.name = name; + + this.times = AnimationUtils.convertArray( times, this.TimeBufferType ); + this.values = AnimationUtils.convertArray( values, this.ValueBufferType ); + + this.setInterpolation( interpolation || this.DefaultInterpolation ); + + } + + // Serialization (in static context, because of constructor invocation + // and automatic invocation of .toJSON): + + static toJSON( track ) { + + const trackType = track.constructor; + + let json; + + // derived classes can define a static toJSON method + if ( trackType.toJSON !== this.toJSON ) { + + json = trackType.toJSON( track ); + + } else { + + // by default, we assume the data can be serialized as-is + json = { + + 'name': track.name, + 'times': AnimationUtils.convertArray( track.times, Array ), + 'values': AnimationUtils.convertArray( track.values, Array ) + + }; + + const interpolation = track.getInterpolation(); + + if ( interpolation !== track.DefaultInterpolation ) { + + json.interpolation = interpolation; + + } + + } + + json.type = track.ValueTypeName; // mandatory + + return json; + + } + + InterpolantFactoryMethodDiscrete( result ) { + + return new DiscreteInterpolant( this.times, this.values, this.getValueSize(), result ); + + } + + InterpolantFactoryMethodLinear( result ) { + + return new LinearInterpolant( this.times, this.values, this.getValueSize(), result ); + + } + + InterpolantFactoryMethodSmooth( result ) { + + return new CubicInterpolant( this.times, this.values, this.getValueSize(), result ); + + } + + setInterpolation( interpolation ) { + + let factoryMethod; + + switch ( interpolation ) { + + case InterpolateDiscrete: + + factoryMethod = this.InterpolantFactoryMethodDiscrete; + + break; + + case InterpolateLinear: + + factoryMethod = this.InterpolantFactoryMethodLinear; + + break; + + case InterpolateSmooth: + + factoryMethod = this.InterpolantFactoryMethodSmooth; + + break; + + } + + if ( factoryMethod === undefined ) { + + const message = 'unsupported interpolation for ' + + this.ValueTypeName + ' keyframe track named ' + this.name; + + if ( this.createInterpolant === undefined ) { + + // fall back to default, unless the default itself is messed up + if ( interpolation !== this.DefaultInterpolation ) { + + this.setInterpolation( this.DefaultInterpolation ); + + } else { + + throw new Error( message ); // fatal, in this case + + } + + } + + console.warn( 'THREE.KeyframeTrack:', message ); + return this; + + } + + this.createInterpolant = factoryMethod; + + return this; + + } + + getInterpolation() { + + switch ( this.createInterpolant ) { + + case this.InterpolantFactoryMethodDiscrete: + + return InterpolateDiscrete; + + case this.InterpolantFactoryMethodLinear: + + return InterpolateLinear; + + case this.InterpolantFactoryMethodSmooth: + + return InterpolateSmooth; + + } + + } + + getValueSize() { + + return this.values.length / this.times.length; + + } + + // move all keyframes either forwards or backwards in time + shift( timeOffset ) { + + if ( timeOffset !== 0.0 ) { + + const times = this.times; + + for ( let i = 0, n = times.length; i !== n; ++ i ) { + + times[ i ] += timeOffset; + + } + + } + + return this; + + } + + // scale all keyframe times by a factor (useful for frame <-> seconds conversions) + scale( timeScale ) { + + if ( timeScale !== 1.0 ) { + + const times = this.times; + + for ( let i = 0, n = times.length; i !== n; ++ i ) { + + times[ i ] *= timeScale; + + } + + } + + return this; + + } + + // removes keyframes before and after animation without changing any values within the range [startTime, endTime]. + // IMPORTANT: We do not shift around keys to the start of the track time, because for interpolated keys this will change their values + trim( startTime, endTime ) { + + const times = this.times, + nKeys = times.length; + + let from = 0, + to = nKeys - 1; + + while ( from !== nKeys && times[ from ] < startTime ) { + + ++ from; + + } + + while ( to !== - 1 && times[ to ] > endTime ) { + + -- to; + + } + + ++ to; // inclusive -> exclusive bound + + if ( from !== 0 || to !== nKeys ) { + + // empty tracks are forbidden, so keep at least one keyframe + if ( from >= to ) { + + to = Math.max( to, 1 ); + from = to - 1; + + } + + const stride = this.getValueSize(); + this.times = AnimationUtils.arraySlice( times, from, to ); + this.values = AnimationUtils.arraySlice( this.values, from * stride, to * stride ); + + } + + return this; + + } + + // ensure we do not get a GarbageInGarbageOut situation, make sure tracks are at least minimally viable + validate() { + + let valid = true; + + const valueSize = this.getValueSize(); + if ( valueSize - Math.floor( valueSize ) !== 0 ) { + + console.error( 'THREE.KeyframeTrack: Invalid value size in track.', this ); + valid = false; + + } + + const times = this.times, + values = this.values, + + nKeys = times.length; + + if ( nKeys === 0 ) { + + console.error( 'THREE.KeyframeTrack: Track is empty.', this ); + valid = false; + + } + + let prevTime = null; + + for ( let i = 0; i !== nKeys; i ++ ) { + + const currTime = times[ i ]; + + if ( typeof currTime === 'number' && isNaN( currTime ) ) { + + console.error( 'THREE.KeyframeTrack: Time is not a valid number.', this, i, currTime ); + valid = false; + break; + + } + + if ( prevTime !== null && prevTime > currTime ) { + + console.error( 'THREE.KeyframeTrack: Out of order keys.', this, i, currTime, prevTime ); + valid = false; + break; + + } + + prevTime = currTime; + + } + + if ( values !== undefined ) { + + if ( AnimationUtils.isTypedArray( values ) ) { + + for ( let i = 0, n = values.length; i !== n; ++ i ) { + + const value = values[ i ]; + + if ( isNaN( value ) ) { + + console.error( 'THREE.KeyframeTrack: Value is not a valid number.', this, i, value ); + valid = false; + break; + + } + + } + + } + + } + + return valid; + + } + + // removes equivalent sequential keys as common in morph target sequences + // (0,0,0,0,1,1,1,0,0,0,0,0,0,0) --> (0,0,1,1,0,0) + optimize() { + + // times or values may be shared with other tracks, so overwriting is unsafe + const times = AnimationUtils.arraySlice( this.times ), + values = AnimationUtils.arraySlice( this.values ), + stride = this.getValueSize(), + + smoothInterpolation = this.getInterpolation() === InterpolateSmooth, + + lastIndex = times.length - 1; + + let writeIndex = 1; + + for ( let i = 1; i < lastIndex; ++ i ) { + + let keep = false; + + const time = times[ i ]; + const timeNext = times[ i + 1 ]; + + // remove adjacent keyframes scheduled at the same time + + if ( time !== timeNext && ( i !== 1 || time !== times[ 0 ] ) ) { + + if ( ! smoothInterpolation ) { + + // remove unnecessary keyframes same as their neighbors + + const offset = i * stride, + offsetP = offset - stride, + offsetN = offset + stride; + + for ( let j = 0; j !== stride; ++ j ) { + + const value = values[ offset + j ]; + + if ( value !== values[ offsetP + j ] || + value !== values[ offsetN + j ] ) { + + keep = true; + break; + + } + + } + + } else { + + keep = true; + + } + + } + + // in-place compaction + + if ( keep ) { + + if ( i !== writeIndex ) { + + times[ writeIndex ] = times[ i ]; + + const readOffset = i * stride, + writeOffset = writeIndex * stride; + + for ( let j = 0; j !== stride; ++ j ) { + + values[ writeOffset + j ] = values[ readOffset + j ]; + + } + + } + + ++ writeIndex; + + } + + } + + // flush last keyframe (compaction looks ahead) + + if ( lastIndex > 0 ) { + + times[ writeIndex ] = times[ lastIndex ]; + + for ( let readOffset = lastIndex * stride, writeOffset = writeIndex * stride, j = 0; j !== stride; ++ j ) { + + values[ writeOffset + j ] = values[ readOffset + j ]; + + } + + ++ writeIndex; + + } + + if ( writeIndex !== times.length ) { + + this.times = AnimationUtils.arraySlice( times, 0, writeIndex ); + this.values = AnimationUtils.arraySlice( values, 0, writeIndex * stride ); + + } else { + + this.times = times; + this.values = values; + + } + + return this; + + } + + clone() { + + const times = AnimationUtils.arraySlice( this.times, 0 ); + const values = AnimationUtils.arraySlice( this.values, 0 ); + + const TypedKeyframeTrack = this.constructor; + const track = new TypedKeyframeTrack( this.name, times, values ); + + // Interpolant argument to constructor is not saved, so copy the factory method directly. + track.createInterpolant = this.createInterpolant; + + return track; + + } + +} + +KeyframeTrack.prototype.TimeBufferType = Float32Array; +KeyframeTrack.prototype.ValueBufferType = Float32Array; +KeyframeTrack.prototype.DefaultInterpolation = InterpolateLinear; + +/** + * A Track of Boolean keyframe values. + */ +class BooleanKeyframeTrack extends KeyframeTrack {} + +BooleanKeyframeTrack.prototype.ValueTypeName = 'bool'; +BooleanKeyframeTrack.prototype.ValueBufferType = Array; +BooleanKeyframeTrack.prototype.DefaultInterpolation = InterpolateDiscrete; +BooleanKeyframeTrack.prototype.InterpolantFactoryMethodLinear = undefined; +BooleanKeyframeTrack.prototype.InterpolantFactoryMethodSmooth = undefined; + +/** + * A Track of keyframe values that represent color. + */ +class ColorKeyframeTrack extends KeyframeTrack {} + +ColorKeyframeTrack.prototype.ValueTypeName = 'color'; + +/** + * A Track of numeric keyframe values. + */ +class NumberKeyframeTrack extends KeyframeTrack {} + +NumberKeyframeTrack.prototype.ValueTypeName = 'number'; + +/** + * Spherical linear unit quaternion interpolant. + */ + +class QuaternionLinearInterpolant extends Interpolant { + + constructor( parameterPositions, sampleValues, sampleSize, resultBuffer ) { + + super( parameterPositions, sampleValues, sampleSize, resultBuffer ); + + } + + interpolate_( i1, t0, t, t1 ) { + + const result = this.resultBuffer, + values = this.sampleValues, + stride = this.valueSize, + + alpha = ( t - t0 ) / ( t1 - t0 ); + + let offset = i1 * stride; + + for ( let end = offset + stride; offset !== end; offset += 4 ) { + + Quaternion.slerpFlat( result, 0, values, offset - stride, values, offset, alpha ); + + } + + return result; + + } + +} + +/** + * A Track of quaternion keyframe values. + */ +class QuaternionKeyframeTrack extends KeyframeTrack { + + InterpolantFactoryMethodLinear( result ) { + + return new QuaternionLinearInterpolant( this.times, this.values, this.getValueSize(), result ); + + } + +} + +QuaternionKeyframeTrack.prototype.ValueTypeName = 'quaternion'; +// ValueBufferType is inherited +QuaternionKeyframeTrack.prototype.DefaultInterpolation = InterpolateLinear; +QuaternionKeyframeTrack.prototype.InterpolantFactoryMethodSmooth = undefined; + +/** + * A Track that interpolates Strings + */ +class StringKeyframeTrack extends KeyframeTrack {} + +StringKeyframeTrack.prototype.ValueTypeName = 'string'; +StringKeyframeTrack.prototype.ValueBufferType = Array; +StringKeyframeTrack.prototype.DefaultInterpolation = InterpolateDiscrete; +StringKeyframeTrack.prototype.InterpolantFactoryMethodLinear = undefined; +StringKeyframeTrack.prototype.InterpolantFactoryMethodSmooth = undefined; + +/** + * A Track of vectored keyframe values. + */ +class VectorKeyframeTrack extends KeyframeTrack {} + +VectorKeyframeTrack.prototype.ValueTypeName = 'vector'; + +class AnimationClip { + + constructor( name, duration = - 1, tracks, blendMode = NormalAnimationBlendMode ) { + + this.name = name; + this.tracks = tracks; + this.duration = duration; + this.blendMode = blendMode; + + this.uuid = generateUUID(); + + // this means it should figure out its duration by scanning the tracks + if ( this.duration < 0 ) { + + this.resetDuration(); + + } + + } + + + static parse( json ) { + + const tracks = [], + jsonTracks = json.tracks, + frameTime = 1.0 / ( json.fps || 1.0 ); + + for ( let i = 0, n = jsonTracks.length; i !== n; ++ i ) { + + tracks.push( parseKeyframeTrack( jsonTracks[ i ] ).scale( frameTime ) ); + + } + + const clip = new this( json.name, json.duration, tracks, json.blendMode ); + clip.uuid = json.uuid; + + return clip; + + } + + static toJSON( clip ) { + + const tracks = [], + clipTracks = clip.tracks; + + const json = { + + 'name': clip.name, + 'duration': clip.duration, + 'tracks': tracks, + 'uuid': clip.uuid, + 'blendMode': clip.blendMode + + }; + + for ( let i = 0, n = clipTracks.length; i !== n; ++ i ) { + + tracks.push( KeyframeTrack.toJSON( clipTracks[ i ] ) ); + + } + + return json; + + } + + static CreateFromMorphTargetSequence( name, morphTargetSequence, fps, noLoop ) { + + const numMorphTargets = morphTargetSequence.length; + const tracks = []; + + for ( let i = 0; i < numMorphTargets; i ++ ) { + + let times = []; + let values = []; + + times.push( + ( i + numMorphTargets - 1 ) % numMorphTargets, + i, + ( i + 1 ) % numMorphTargets ); + + values.push( 0, 1, 0 ); + + const order = AnimationUtils.getKeyframeOrder( times ); + times = AnimationUtils.sortedArray( times, 1, order ); + values = AnimationUtils.sortedArray( values, 1, order ); + + // if there is a key at the first frame, duplicate it as the + // last frame as well for perfect loop. + if ( ! noLoop && times[ 0 ] === 0 ) { + + times.push( numMorphTargets ); + values.push( values[ 0 ] ); + + } + + tracks.push( + new NumberKeyframeTrack( + '.morphTargetInfluences[' + morphTargetSequence[ i ].name + ']', + times, values + ).scale( 1.0 / fps ) ); + + } + + return new this( name, - 1, tracks ); + + } + + static findByName( objectOrClipArray, name ) { + + let clipArray = objectOrClipArray; + + if ( ! Array.isArray( objectOrClipArray ) ) { + + const o = objectOrClipArray; + clipArray = o.geometry && o.geometry.animations || o.animations; + + } + + for ( let i = 0; i < clipArray.length; i ++ ) { + + if ( clipArray[ i ].name === name ) { + + return clipArray[ i ]; + + } + + } + + return null; + + } + + static CreateClipsFromMorphTargetSequences( morphTargets, fps, noLoop ) { + + const animationToMorphTargets = {}; + + // tested with https://regex101.com/ on trick sequences + // such flamingo_flyA_003, flamingo_run1_003, crdeath0059 + const pattern = /^([\w-]*?)([\d]+)$/; + + // sort morph target names into animation groups based + // patterns like Walk_001, Walk_002, Run_001, Run_002 + for ( let i = 0, il = morphTargets.length; i < il; i ++ ) { + + const morphTarget = morphTargets[ i ]; + const parts = morphTarget.name.match( pattern ); + + if ( parts && parts.length > 1 ) { + + const name = parts[ 1 ]; + + let animationMorphTargets = animationToMorphTargets[ name ]; + + if ( ! animationMorphTargets ) { + + animationToMorphTargets[ name ] = animationMorphTargets = []; + + } + + animationMorphTargets.push( morphTarget ); + + } + + } + + const clips = []; + + for ( const name in animationToMorphTargets ) { + + clips.push( this.CreateFromMorphTargetSequence( name, animationToMorphTargets[ name ], fps, noLoop ) ); + + } + + return clips; + + } + + // parse the animation.hierarchy format + static parseAnimation( animation, bones ) { + + if ( ! animation ) { + + console.error( 'THREE.AnimationClip: No animation in JSONLoader data.' ); + return null; + + } + + const addNonemptyTrack = function ( trackType, trackName, animationKeys, propertyName, destTracks ) { + + // only return track if there are actually keys. + if ( animationKeys.length !== 0 ) { + + const times = []; + const values = []; + + AnimationUtils.flattenJSON( animationKeys, times, values, propertyName ); + + // empty keys are filtered out, so check again + if ( times.length !== 0 ) { + + destTracks.push( new trackType( trackName, times, values ) ); + + } + + } + + }; + + const tracks = []; + + const clipName = animation.name || 'default'; + const fps = animation.fps || 30; + const blendMode = animation.blendMode; + + // automatic length determination in AnimationClip. + let duration = animation.length || - 1; + + const hierarchyTracks = animation.hierarchy || []; + + for ( let h = 0; h < hierarchyTracks.length; h ++ ) { + + const animationKeys = hierarchyTracks[ h ].keys; + + // skip empty tracks + if ( ! animationKeys || animationKeys.length === 0 ) continue; + + // process morph targets + if ( animationKeys[ 0 ].morphTargets ) { + + // figure out all morph targets used in this track + const morphTargetNames = {}; + + let k; + + for ( k = 0; k < animationKeys.length; k ++ ) { + + if ( animationKeys[ k ].morphTargets ) { + + for ( let m = 0; m < animationKeys[ k ].morphTargets.length; m ++ ) { + + morphTargetNames[ animationKeys[ k ].morphTargets[ m ] ] = - 1; + + } + + } + + } + + // create a track for each morph target with all zero + // morphTargetInfluences except for the keys in which + // the morphTarget is named. + for ( const morphTargetName in morphTargetNames ) { + + const times = []; + const values = []; + + for ( let m = 0; m !== animationKeys[ k ].morphTargets.length; ++ m ) { + + const animationKey = animationKeys[ k ]; + + times.push( animationKey.time ); + values.push( ( animationKey.morphTarget === morphTargetName ) ? 1 : 0 ); + + } + + tracks.push( new NumberKeyframeTrack( '.morphTargetInfluence[' + morphTargetName + ']', times, values ) ); + + } + + duration = morphTargetNames.length * ( fps || 1.0 ); + + } else { + + // ...assume skeletal animation + + const boneName = '.bones[' + bones[ h ].name + ']'; + + addNonemptyTrack( + VectorKeyframeTrack, boneName + '.position', + animationKeys, 'pos', tracks ); + + addNonemptyTrack( + QuaternionKeyframeTrack, boneName + '.quaternion', + animationKeys, 'rot', tracks ); + + addNonemptyTrack( + VectorKeyframeTrack, boneName + '.scale', + animationKeys, 'scl', tracks ); + + } + + } + + if ( tracks.length === 0 ) { + + return null; + + } + + const clip = new this( clipName, duration, tracks, blendMode ); + + return clip; + + } + + resetDuration() { + + const tracks = this.tracks; + let duration = 0; + + for ( let i = 0, n = tracks.length; i !== n; ++ i ) { + + const track = this.tracks[ i ]; + + duration = Math.max( duration, track.times[ track.times.length - 1 ] ); + + } + + this.duration = duration; + + return this; + + } + + trim() { + + for ( let i = 0; i < this.tracks.length; i ++ ) { + + this.tracks[ i ].trim( 0, this.duration ); + + } + + return this; + + } + + validate() { + + let valid = true; + + for ( let i = 0; i < this.tracks.length; i ++ ) { + + valid = valid && this.tracks[ i ].validate(); + + } + + return valid; + + } + + optimize() { + + for ( let i = 0; i < this.tracks.length; i ++ ) { + + this.tracks[ i ].optimize(); + + } + + return this; + + } + + clone() { + + const tracks = []; + + for ( let i = 0; i < this.tracks.length; i ++ ) { + + tracks.push( this.tracks[ i ].clone() ); + + } + + return new this.constructor( this.name, this.duration, tracks, this.blendMode ); + + } + + toJSON() { + + return this.constructor.toJSON( this ); + + } + +} + +function getTrackTypeForValueTypeName( typeName ) { + + switch ( typeName.toLowerCase() ) { + + case 'scalar': + case 'double': + case 'float': + case 'number': + case 'integer': + + return NumberKeyframeTrack; + + case 'vector': + case 'vector2': + case 'vector3': + case 'vector4': + + return VectorKeyframeTrack; + + case 'color': + + return ColorKeyframeTrack; + + case 'quaternion': + + return QuaternionKeyframeTrack; + + case 'bool': + case 'boolean': + + return BooleanKeyframeTrack; + + case 'string': + + return StringKeyframeTrack; + + } + + throw new Error( 'THREE.KeyframeTrack: Unsupported typeName: ' + typeName ); + +} + +function parseKeyframeTrack( json ) { + + if ( json.type === undefined ) { + + throw new Error( 'THREE.KeyframeTrack: track type undefined, can not parse' ); + + } + + const trackType = getTrackTypeForValueTypeName( json.type ); + + if ( json.times === undefined ) { + + const times = [], values = []; + + AnimationUtils.flattenJSON( json.keys, times, values, 'value' ); + + json.times = times; + json.values = values; + + } + + // derived classes can define a static parse method + if ( trackType.parse !== undefined ) { + + return trackType.parse( json ); + + } else { + + // by default, we assume a constructor compatible with the base + return new trackType( json.name, json.times, json.values, json.interpolation ); + + } + +} + +const Cache = { + + enabled: false, + + files: {}, + + add: function ( key, file ) { + + if ( this.enabled === false ) return; + + // console.log( 'THREE.Cache', 'Adding key:', key ); + + this.files[ key ] = file; + + }, + + get: function ( key ) { + + if ( this.enabled === false ) return; + + // console.log( 'THREE.Cache', 'Checking key:', key ); + + return this.files[ key ]; + + }, + + remove: function ( key ) { + + delete this.files[ key ]; + + }, + + clear: function () { + + this.files = {}; + + } + +}; + +class LoadingManager { + + constructor( onLoad, onProgress, onError ) { + + const scope = this; + + let isLoading = false; + let itemsLoaded = 0; + let itemsTotal = 0; + let urlModifier = undefined; + const handlers = []; + + // Refer to #5689 for the reason why we don't set .onStart + // in the constructor + + this.onStart = undefined; + this.onLoad = onLoad; + this.onProgress = onProgress; + this.onError = onError; + + this.itemStart = function ( url ) { + + itemsTotal ++; + + if ( isLoading === false ) { + + if ( scope.onStart !== undefined ) { + + scope.onStart( url, itemsLoaded, itemsTotal ); + + } + + } + + isLoading = true; + + }; + + this.itemEnd = function ( url ) { + + itemsLoaded ++; + + if ( scope.onProgress !== undefined ) { + + scope.onProgress( url, itemsLoaded, itemsTotal ); + + } + + if ( itemsLoaded === itemsTotal ) { + + isLoading = false; + + if ( scope.onLoad !== undefined ) { + + scope.onLoad(); + + } + + } + + }; + + this.itemError = function ( url ) { + + if ( scope.onError !== undefined ) { + + scope.onError( url ); + + } + + }; + + this.resolveURL = function ( url ) { + + if ( urlModifier ) { + + return urlModifier( url ); + + } + + return url; + + }; + + this.setURLModifier = function ( transform ) { + + urlModifier = transform; + + return this; + + }; + + this.addHandler = function ( regex, loader ) { + + handlers.push( regex, loader ); + + return this; + + }; + + this.removeHandler = function ( regex ) { + + const index = handlers.indexOf( regex ); + + if ( index !== - 1 ) { + + handlers.splice( index, 2 ); + + } + + return this; + + }; + + this.getHandler = function ( file ) { + + for ( let i = 0, l = handlers.length; i < l; i += 2 ) { + + const regex = handlers[ i ]; + const loader = handlers[ i + 1 ]; + + if ( regex.global ) regex.lastIndex = 0; // see #17920 + + if ( regex.test( file ) ) { + + return loader; + + } + + } + + return null; + + }; + + } + +} + +const DefaultLoadingManager = new LoadingManager(); + +class Loader { + + constructor( manager ) { + + this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; + + this.crossOrigin = 'anonymous'; + this.withCredentials = false; + this.path = ''; + this.resourcePath = ''; + this.requestHeader = {}; + + } + + load( /* url, onLoad, onProgress, onError */ ) {} + + loadAsync( url, onProgress ) { + + const scope = this; + + return new Promise( function ( resolve, reject ) { + + scope.load( url, resolve, onProgress, reject ); + + } ); + + } + + parse( /* data */ ) {} + + setCrossOrigin( crossOrigin ) { + + this.crossOrigin = crossOrigin; + return this; + + } + + setWithCredentials( value ) { + + this.withCredentials = value; + return this; + + } + + setPath( path ) { + + this.path = path; + return this; + + } + + setResourcePath( resourcePath ) { + + this.resourcePath = resourcePath; + return this; + + } + + setRequestHeader( requestHeader ) { + + this.requestHeader = requestHeader; + return this; + + } + +} + +const loading = {}; + +class FileLoader extends Loader { + + constructor( manager ) { + + super( manager ); + + } + + load( url, onLoad, onProgress, onError ) { + + if ( url === undefined ) url = ''; + + if ( this.path !== undefined ) url = this.path + url; + + url = this.manager.resolveURL( url ); + + const cached = Cache.get( url ); + + if ( cached !== undefined ) { + + this.manager.itemStart( url ); + + setTimeout( () => { + + if ( onLoad ) onLoad( cached ); + + this.manager.itemEnd( url ); + + }, 0 ); + + return cached; + + } + + // Check if request is duplicate + + if ( loading[ url ] !== undefined ) { + + loading[ url ].push( { + + onLoad: onLoad, + onProgress: onProgress, + onError: onError + + } ); + + return; + + } + + // Initialise array for duplicate requests + loading[ url ] = []; + + loading[ url ].push( { + onLoad: onLoad, + onProgress: onProgress, + onError: onError, + } ); + + // create request + const req = new Request( url, { + headers: new Headers( this.requestHeader ), + credentials: this.withCredentials ? 'include' : 'same-origin', + // An abort controller could be added within a future PR + } ); + + // start the fetch + fetch( req ) + .then( response => { + + if ( response.status === 200 || response.status === 0 ) { + + // Some browsers return HTTP Status 0 when using non-http protocol + // e.g. 'file://' or 'data://'. Handle as success. + + if ( response.status === 0 ) { + + console.warn( 'THREE.FileLoader: HTTP Status 0 received.' ); + + } + + if ( typeof ReadableStream === 'undefined' || response.body.getReader === undefined ) { + + return response; + + } + + const callbacks = loading[ url ]; + const reader = response.body.getReader(); + const contentLength = response.headers.get( 'Content-Length' ); + const total = contentLength ? parseInt( contentLength ) : 0; + const lengthComputable = total !== 0; + let loaded = 0; + + // periodically read data into the new stream tracking while download progress + const stream = new ReadableStream( { + start( controller ) { + + readData(); + + function readData() { + + reader.read().then( ( { done, value } ) => { + + if ( done ) { + + controller.close(); + + } else { + + loaded += value.byteLength; + + const event = new ProgressEvent( 'progress', { lengthComputable, loaded, total } ); + for ( let i = 0, il = callbacks.length; i < il; i ++ ) { + + const callback = callbacks[ i ]; + if ( callback.onProgress ) callback.onProgress( event ); + + } + + controller.enqueue( value ); + readData(); + + } + + } ); + + } + + } + + } ); + + return new Response( stream ); + + } else { + + throw Error( `fetch for "${response.url}" responded with ${response.status}: ${response.statusText}` ); + + } + + } ) + .then( response => { + + switch ( this.responseType ) { + + case 'arraybuffer': + + return response.arrayBuffer(); + + case 'blob': + + return response.blob(); + + case 'document': + + return response.text() + .then( text => { + + const parser = new DOMParser(); + return parser.parseFromString( text, this.mimeType ); + + } ); + + case 'json': + + return response.json(); + + default: + + return response.text(); + + } + + } ) + .then( data => { + + // Add to cache only on HTTP success, so that we do not cache + // error response bodies as proper responses to requests. + Cache.add( url, data ); + + const callbacks = loading[ url ]; + delete loading[ url ]; + + for ( let i = 0, il = callbacks.length; i < il; i ++ ) { + + const callback = callbacks[ i ]; + if ( callback.onLoad ) callback.onLoad( data ); + + } + + } ) + .catch( err => { + + // Abort errors and other errors are handled the same + + const callbacks = loading[ url ]; + + if ( callbacks === undefined ) { + + // When onLoad was called and url was deleted in `loading` + this.manager.itemError( url ); + throw err; + + } + + delete loading[ url ]; + + for ( let i = 0, il = callbacks.length; i < il; i ++ ) { + + const callback = callbacks[ i ]; + if ( callback.onError ) callback.onError( err ); + + } + + this.manager.itemError( url ); + + } ) + .finally( () => { + + this.manager.itemEnd( url ); + + } ); + + this.manager.itemStart( url ); + + } + + setResponseType( value ) { + + this.responseType = value; + return this; + + } + + setMimeType( value ) { + + this.mimeType = value; + return this; + + } + +} + +class AnimationLoader extends Loader { + + constructor( manager ) { + + super( manager ); + + } + + load( url, onLoad, onProgress, onError ) { + + const scope = this; + + const loader = new FileLoader( this.manager ); + loader.setPath( this.path ); + loader.setRequestHeader( this.requestHeader ); + loader.setWithCredentials( this.withCredentials ); + loader.load( url, function ( text ) { + + try { + + onLoad( scope.parse( JSON.parse( text ) ) ); + + } catch ( e ) { + + if ( onError ) { + + onError( e ); + + } else { + + console.error( e ); + + } + + scope.manager.itemError( url ); + + } + + }, onProgress, onError ); + + } + + parse( json ) { + + const animations = []; + + for ( let i = 0; i < json.length; i ++ ) { + + const clip = AnimationClip.parse( json[ i ] ); + + animations.push( clip ); + + } + + return animations; + + } + +} + +/** + * Abstract Base class to block based textures loader (dds, pvr, ...) + * + * Sub classes have to implement the parse() method which will be used in load(). + */ + +class CompressedTextureLoader extends Loader { + + constructor( manager ) { + + super( manager ); + + } + + load( url, onLoad, onProgress, onError ) { + + const scope = this; + + const images = []; + + const texture = new CompressedTexture(); + + const loader = new FileLoader( this.manager ); + loader.setPath( this.path ); + loader.setResponseType( 'arraybuffer' ); + loader.setRequestHeader( this.requestHeader ); + loader.setWithCredentials( scope.withCredentials ); + + let loaded = 0; + + function loadTexture( i ) { + + loader.load( url[ i ], function ( buffer ) { + + const texDatas = scope.parse( buffer, true ); + + images[ i ] = { + width: texDatas.width, + height: texDatas.height, + format: texDatas.format, + mipmaps: texDatas.mipmaps + }; + + loaded += 1; + + if ( loaded === 6 ) { + + if ( texDatas.mipmapCount === 1 ) texture.minFilter = LinearFilter; + + texture.image = images; + texture.format = texDatas.format; + texture.needsUpdate = true; + + if ( onLoad ) onLoad( texture ); + + } + + }, onProgress, onError ); + + } + + if ( Array.isArray( url ) ) { + + for ( let i = 0, il = url.length; i < il; ++ i ) { + + loadTexture( i ); + + } + + } else { + + // compressed cubemap texture stored in a single DDS file + + loader.load( url, function ( buffer ) { + + const texDatas = scope.parse( buffer, true ); + + if ( texDatas.isCubemap ) { + + const faces = texDatas.mipmaps.length / texDatas.mipmapCount; + + for ( let f = 0; f < faces; f ++ ) { + + images[ f ] = { mipmaps: [] }; + + for ( let i = 0; i < texDatas.mipmapCount; i ++ ) { + + images[ f ].mipmaps.push( texDatas.mipmaps[ f * texDatas.mipmapCount + i ] ); + images[ f ].format = texDatas.format; + images[ f ].width = texDatas.width; + images[ f ].height = texDatas.height; + + } + + } + + texture.image = images; + + } else { + + texture.image.width = texDatas.width; + texture.image.height = texDatas.height; + texture.mipmaps = texDatas.mipmaps; + + } + + if ( texDatas.mipmapCount === 1 ) { + + texture.minFilter = LinearFilter; + + } + + texture.format = texDatas.format; + texture.needsUpdate = true; + + if ( onLoad ) onLoad( texture ); + + }, onProgress, onError ); + + } + + return texture; + + } + +} + +class ImageLoader extends Loader { + + constructor( manager ) { + + super( manager ); + + } + + load( url, onLoad, onProgress, onError ) { + + if ( this.path !== undefined ) url = this.path + url; + + url = this.manager.resolveURL( url ); + + const scope = this; + + const cached = Cache.get( url ); + + if ( cached !== undefined ) { + + scope.manager.itemStart( url ); + + setTimeout( function () { + + if ( onLoad ) onLoad( cached ); + + scope.manager.itemEnd( url ); + + }, 0 ); + + return cached; + + } + + const image = createElementNS( 'img' ); + + function onImageLoad() { + + removeEventListeners(); + + Cache.add( url, this ); + + if ( onLoad ) onLoad( this ); + + scope.manager.itemEnd( url ); + + } + + function onImageError( event ) { + + removeEventListeners(); + + if ( onError ) onError( event ); + + scope.manager.itemError( url ); + scope.manager.itemEnd( url ); + + } + + function removeEventListeners() { + + image.removeEventListener( 'load', onImageLoad, false ); + image.removeEventListener( 'error', onImageError, false ); + + } + + image.addEventListener( 'load', onImageLoad, false ); + image.addEventListener( 'error', onImageError, false ); + + if ( url.substr( 0, 5 ) !== 'data:' ) { + + if ( this.crossOrigin !== undefined ) image.crossOrigin = this.crossOrigin; + + } + + scope.manager.itemStart( url ); + + image.src = url; + + return image; + + } + +} + +class CubeTextureLoader extends Loader { + + constructor( manager ) { + + super( manager ); + + } + + load( urls, onLoad, onProgress, onError ) { + + const texture = new CubeTexture(); + + const loader = new ImageLoader( this.manager ); + loader.setCrossOrigin( this.crossOrigin ); + loader.setPath( this.path ); + + let loaded = 0; + + function loadTexture( i ) { + + loader.load( urls[ i ], function ( image ) { + + texture.images[ i ] = image; + + loaded ++; + + if ( loaded === 6 ) { + + texture.needsUpdate = true; + + if ( onLoad ) onLoad( texture ); + + } + + }, undefined, onError ); + + } + + for ( let i = 0; i < urls.length; ++ i ) { + + loadTexture( i ); + + } + + return texture; + + } + +} + +/** + * Abstract Base class to load generic binary textures formats (rgbe, hdr, ...) + * + * Sub classes have to implement the parse() method which will be used in load(). + */ + +class DataTextureLoader extends Loader { + + constructor( manager ) { + + super( manager ); + + } + + load( url, onLoad, onProgress, onError ) { + + const scope = this; + + const texture = new DataTexture(); + + const loader = new FileLoader( this.manager ); + loader.setResponseType( 'arraybuffer' ); + loader.setRequestHeader( this.requestHeader ); + loader.setPath( this.path ); + loader.setWithCredentials( scope.withCredentials ); + loader.load( url, function ( buffer ) { + + const texData = scope.parse( buffer ); + + if ( ! texData ) return; + + if ( texData.image !== undefined ) { + + texture.image = texData.image; + + } else if ( texData.data !== undefined ) { + + texture.image.width = texData.width; + texture.image.height = texData.height; + texture.image.data = texData.data; + + } + + texture.wrapS = texData.wrapS !== undefined ? texData.wrapS : ClampToEdgeWrapping; + texture.wrapT = texData.wrapT !== undefined ? texData.wrapT : ClampToEdgeWrapping; + + texture.magFilter = texData.magFilter !== undefined ? texData.magFilter : LinearFilter; + texture.minFilter = texData.minFilter !== undefined ? texData.minFilter : LinearFilter; + + texture.anisotropy = texData.anisotropy !== undefined ? texData.anisotropy : 1; + + if ( texData.encoding !== undefined ) { + + texture.encoding = texData.encoding; + + } + + if ( texData.flipY !== undefined ) { + + texture.flipY = texData.flipY; + + } + + if ( texData.format !== undefined ) { + + texture.format = texData.format; + + } + + if ( texData.type !== undefined ) { + + texture.type = texData.type; + + } + + if ( texData.mipmaps !== undefined ) { + + texture.mipmaps = texData.mipmaps; + texture.minFilter = LinearMipmapLinearFilter; // presumably... + + } + + if ( texData.mipmapCount === 1 ) { + + texture.minFilter = LinearFilter; + + } + + if ( texData.generateMipmaps !== undefined ) { + + texture.generateMipmaps = texData.generateMipmaps; + + } + + texture.needsUpdate = true; + + if ( onLoad ) onLoad( texture, texData ); + + }, onProgress, onError ); + + + return texture; + + } + +} + +class TextureLoader extends Loader { + + constructor( manager ) { + + super( manager ); + + } + + load( url, onLoad, onProgress, onError ) { + + const texture = new Texture(); + + const loader = new ImageLoader( this.manager ); + loader.setCrossOrigin( this.crossOrigin ); + loader.setPath( this.path ); + + loader.load( url, function ( image ) { + + texture.image = image; + texture.needsUpdate = true; + + if ( onLoad !== undefined ) { + + onLoad( texture ); + + } + + }, onProgress, onError ); + + return texture; + + } + +} + +class Light extends Object3D { + + constructor( color, intensity = 1 ) { + + super(); + + this.type = 'Light'; + + this.color = new Color( color ); + this.intensity = intensity; + + } + + dispose() { + + // Empty here in base class; some subclasses override. + + } + + copy( source ) { + + super.copy( source ); + + this.color.copy( source.color ); + this.intensity = source.intensity; + + return this; + + } + + toJSON( meta ) { + + const data = super.toJSON( meta ); + + data.object.color = this.color.getHex(); + data.object.intensity = this.intensity; + + if ( this.groundColor !== undefined ) data.object.groundColor = this.groundColor.getHex(); + + if ( this.distance !== undefined ) data.object.distance = this.distance; + if ( this.angle !== undefined ) data.object.angle = this.angle; + if ( this.decay !== undefined ) data.object.decay = this.decay; + if ( this.penumbra !== undefined ) data.object.penumbra = this.penumbra; + + if ( this.shadow !== undefined ) data.object.shadow = this.shadow.toJSON(); + + return data; + + } + +} + +Light.prototype.isLight = true; + +class HemisphereLight extends Light { + + constructor( skyColor, groundColor, intensity ) { + + super( skyColor, intensity ); + + this.type = 'HemisphereLight'; + + this.position.copy( Object3D.DefaultUp ); + this.updateMatrix(); + + this.groundColor = new Color( groundColor ); + + } + + copy( source ) { + + Light.prototype.copy.call( this, source ); + + this.groundColor.copy( source.groundColor ); + + return this; + + } + +} + +HemisphereLight.prototype.isHemisphereLight = true; + +const _projScreenMatrix$1 = /*@__PURE__*/ new Matrix4(); +const _lightPositionWorld$1 = /*@__PURE__*/ new Vector3(); +const _lookTarget$1 = /*@__PURE__*/ new Vector3(); + +class LightShadow { + + constructor( camera ) { + + this.camera = camera; + + this.bias = 0; + this.normalBias = 0; + this.radius = 1; + this.blurSamples = 8; + + this.mapSize = new Vector2( 512, 512 ); + + this.map = null; + this.mapPass = null; + this.matrix = new Matrix4(); + + this.autoUpdate = true; + this.needsUpdate = false; + + this._frustum = new Frustum(); + this._frameExtents = new Vector2( 1, 1 ); + + this._viewportCount = 1; + + this._viewports = [ + + new Vector4( 0, 0, 1, 1 ) + + ]; + + } + + getViewportCount() { + + return this._viewportCount; + + } + + getFrustum() { + + return this._frustum; + + } + + updateMatrices( light ) { + + const shadowCamera = this.camera; + const shadowMatrix = this.matrix; + + _lightPositionWorld$1.setFromMatrixPosition( light.matrixWorld ); + shadowCamera.position.copy( _lightPositionWorld$1 ); + + _lookTarget$1.setFromMatrixPosition( light.target.matrixWorld ); + shadowCamera.lookAt( _lookTarget$1 ); + shadowCamera.updateMatrixWorld(); + + _projScreenMatrix$1.multiplyMatrices( shadowCamera.projectionMatrix, shadowCamera.matrixWorldInverse ); + this._frustum.setFromProjectionMatrix( _projScreenMatrix$1 ); + + shadowMatrix.set( + 0.5, 0.0, 0.0, 0.5, + 0.0, 0.5, 0.0, 0.5, + 0.0, 0.0, 0.5, 0.5, + 0.0, 0.0, 0.0, 1.0 + ); + + shadowMatrix.multiply( shadowCamera.projectionMatrix ); + shadowMatrix.multiply( shadowCamera.matrixWorldInverse ); + + } + + getViewport( viewportIndex ) { + + return this._viewports[ viewportIndex ]; + + } + + getFrameExtents() { + + return this._frameExtents; + + } + + dispose() { + + if ( this.map ) { + + this.map.dispose(); + + } + + if ( this.mapPass ) { + + this.mapPass.dispose(); + + } + + } + + copy( source ) { + + this.camera = source.camera.clone(); + + this.bias = source.bias; + this.radius = source.radius; + + this.mapSize.copy( source.mapSize ); + + return this; + + } + + clone() { + + return new this.constructor().copy( this ); + + } + + toJSON() { + + const object = {}; + + if ( this.bias !== 0 ) object.bias = this.bias; + if ( this.normalBias !== 0 ) object.normalBias = this.normalBias; + if ( this.radius !== 1 ) object.radius = this.radius; + if ( this.mapSize.x !== 512 || this.mapSize.y !== 512 ) object.mapSize = this.mapSize.toArray(); + + object.camera = this.camera.toJSON( false ).object; + delete object.camera.matrix; + + return object; + + } + +} + +class SpotLightShadow extends LightShadow { + + constructor() { + + super( new PerspectiveCamera( 50, 1, 0.5, 500 ) ); + + this.focus = 1; + + } + + updateMatrices( light ) { + + const camera = this.camera; + + const fov = RAD2DEG * 2 * light.angle * this.focus; + const aspect = this.mapSize.width / this.mapSize.height; + const far = light.distance || camera.far; + + if ( fov !== camera.fov || aspect !== camera.aspect || far !== camera.far ) { + + camera.fov = fov; + camera.aspect = aspect; + camera.far = far; + camera.updateProjectionMatrix(); + + } + + super.updateMatrices( light ); + + } + + copy( source ) { + + super.copy( source ); + + this.focus = source.focus; + + return this; + + } + +} + +SpotLightShadow.prototype.isSpotLightShadow = true; + +class SpotLight extends Light { + + constructor( color, intensity, distance = 0, angle = Math.PI / 3, penumbra = 0, decay = 1 ) { + + super( color, intensity ); + + this.type = 'SpotLight'; + + this.position.copy( Object3D.DefaultUp ); + this.updateMatrix(); + + this.target = new Object3D(); + + this.distance = distance; + this.angle = angle; + this.penumbra = penumbra; + this.decay = decay; // for physically correct lights, should be 2. + + this.shadow = new SpotLightShadow(); + + } + + get power() { + + // compute the light's luminous power (in lumens) from its intensity (in candela) + // by convention for a spotlight, luminous power (lm) = π * luminous intensity (cd) + return this.intensity * Math.PI; + + } + + set power( power ) { + + // set the light's intensity (in candela) from the desired luminous power (in lumens) + this.intensity = power / Math.PI; + + } + + dispose() { + + this.shadow.dispose(); + + } + + copy( source ) { + + super.copy( source ); + + this.distance = source.distance; + this.angle = source.angle; + this.penumbra = source.penumbra; + this.decay = source.decay; + + this.target = source.target.clone(); + + this.shadow = source.shadow.clone(); + + return this; + + } + +} + +SpotLight.prototype.isSpotLight = true; + +const _projScreenMatrix = /*@__PURE__*/ new Matrix4(); +const _lightPositionWorld = /*@__PURE__*/ new Vector3(); +const _lookTarget = /*@__PURE__*/ new Vector3(); + +class PointLightShadow extends LightShadow { + + constructor() { + + super( new PerspectiveCamera( 90, 1, 0.5, 500 ) ); + + this._frameExtents = new Vector2( 4, 2 ); + + this._viewportCount = 6; + + this._viewports = [ + // These viewports map a cube-map onto a 2D texture with the + // following orientation: + // + // xzXZ + // y Y + // + // X - Positive x direction + // x - Negative x direction + // Y - Positive y direction + // y - Negative y direction + // Z - Positive z direction + // z - Negative z direction + + // positive X + new Vector4( 2, 1, 1, 1 ), + // negative X + new Vector4( 0, 1, 1, 1 ), + // positive Z + new Vector4( 3, 1, 1, 1 ), + // negative Z + new Vector4( 1, 1, 1, 1 ), + // positive Y + new Vector4( 3, 0, 1, 1 ), + // negative Y + new Vector4( 1, 0, 1, 1 ) + ]; + + this._cubeDirections = [ + new Vector3( 1, 0, 0 ), new Vector3( - 1, 0, 0 ), new Vector3( 0, 0, 1 ), + new Vector3( 0, 0, - 1 ), new Vector3( 0, 1, 0 ), new Vector3( 0, - 1, 0 ) + ]; + + this._cubeUps = [ + new Vector3( 0, 1, 0 ), new Vector3( 0, 1, 0 ), new Vector3( 0, 1, 0 ), + new Vector3( 0, 1, 0 ), new Vector3( 0, 0, 1 ), new Vector3( 0, 0, - 1 ) + ]; + + } + + updateMatrices( light, viewportIndex = 0 ) { + + const camera = this.camera; + const shadowMatrix = this.matrix; + + const far = light.distance || camera.far; + + if ( far !== camera.far ) { + + camera.far = far; + camera.updateProjectionMatrix(); + + } + + _lightPositionWorld.setFromMatrixPosition( light.matrixWorld ); + camera.position.copy( _lightPositionWorld ); + + _lookTarget.copy( camera.position ); + _lookTarget.add( this._cubeDirections[ viewportIndex ] ); + camera.up.copy( this._cubeUps[ viewportIndex ] ); + camera.lookAt( _lookTarget ); + camera.updateMatrixWorld(); + + shadowMatrix.makeTranslation( - _lightPositionWorld.x, - _lightPositionWorld.y, - _lightPositionWorld.z ); + + _projScreenMatrix.multiplyMatrices( camera.projectionMatrix, camera.matrixWorldInverse ); + this._frustum.setFromProjectionMatrix( _projScreenMatrix ); + + } + +} + +PointLightShadow.prototype.isPointLightShadow = true; + +class PointLight extends Light { + + constructor( color, intensity, distance = 0, decay = 1 ) { + + super( color, intensity ); + + this.type = 'PointLight'; + + this.distance = distance; + this.decay = decay; // for physically correct lights, should be 2. + + this.shadow = new PointLightShadow(); + + } + + get power() { + + // compute the light's luminous power (in lumens) from its intensity (in candela) + // for an isotropic light source, luminous power (lm) = 4 π luminous intensity (cd) + return this.intensity * 4 * Math.PI; + + } + + set power( power ) { + + // set the light's intensity (in candela) from the desired luminous power (in lumens) + this.intensity = power / ( 4 * Math.PI ); + + } + + dispose() { + + this.shadow.dispose(); + + } + + copy( source ) { + + super.copy( source ); + + this.distance = source.distance; + this.decay = source.decay; + + this.shadow = source.shadow.clone(); + + return this; + + } + +} + +PointLight.prototype.isPointLight = true; + +class DirectionalLightShadow extends LightShadow { + + constructor() { + + super( new OrthographicCamera( - 5, 5, 5, - 5, 0.5, 500 ) ); + + } + +} + +DirectionalLightShadow.prototype.isDirectionalLightShadow = true; + +class DirectionalLight extends Light { + + constructor( color, intensity ) { + + super( color, intensity ); + + this.type = 'DirectionalLight'; + + this.position.copy( Object3D.DefaultUp ); + this.updateMatrix(); + + this.target = new Object3D(); + + this.shadow = new DirectionalLightShadow(); + + } + + dispose() { + + this.shadow.dispose(); + + } + + copy( source ) { + + super.copy( source ); + + this.target = source.target.clone(); + this.shadow = source.shadow.clone(); + + return this; + + } + +} + +DirectionalLight.prototype.isDirectionalLight = true; + +class AmbientLight extends Light { + + constructor( color, intensity ) { + + super( color, intensity ); + + this.type = 'AmbientLight'; + + } + +} + +AmbientLight.prototype.isAmbientLight = true; + +class RectAreaLight extends Light { + + constructor( color, intensity, width = 10, height = 10 ) { + + super( color, intensity ); + + this.type = 'RectAreaLight'; + + this.width = width; + this.height = height; + + } + + get power() { + + // compute the light's luminous power (in lumens) from its intensity (in nits) + return this.intensity * this.width * this.height * Math.PI; + + } + + set power( power ) { + + // set the light's intensity (in nits) from the desired luminous power (in lumens) + this.intensity = power / ( this.width * this.height * Math.PI ); + + } + + copy( source ) { + + super.copy( source ); + + this.width = source.width; + this.height = source.height; + + return this; + + } + + toJSON( meta ) { + + const data = super.toJSON( meta ); + + data.object.width = this.width; + data.object.height = this.height; + + return data; + + } + +} + +RectAreaLight.prototype.isRectAreaLight = true; + +/** + * Primary reference: + * https://graphics.stanford.edu/papers/envmap/envmap.pdf + * + * Secondary reference: + * https://www.ppsloan.org/publications/StupidSH36.pdf + */ + +// 3-band SH defined by 9 coefficients + +class SphericalHarmonics3 { + + constructor() { + + this.coefficients = []; + + for ( let i = 0; i < 9; i ++ ) { + + this.coefficients.push( new Vector3() ); + + } + + } + + set( coefficients ) { + + for ( let i = 0; i < 9; i ++ ) { + + this.coefficients[ i ].copy( coefficients[ i ] ); + + } + + return this; + + } + + zero() { + + for ( let i = 0; i < 9; i ++ ) { + + this.coefficients[ i ].set( 0, 0, 0 ); + + } + + return this; + + } + + // get the radiance in the direction of the normal + // target is a Vector3 + getAt( normal, target ) { + + // normal is assumed to be unit length + + const x = normal.x, y = normal.y, z = normal.z; + + const coeff = this.coefficients; + + // band 0 + target.copy( coeff[ 0 ] ).multiplyScalar( 0.282095 ); + + // band 1 + target.addScaledVector( coeff[ 1 ], 0.488603 * y ); + target.addScaledVector( coeff[ 2 ], 0.488603 * z ); + target.addScaledVector( coeff[ 3 ], 0.488603 * x ); + + // band 2 + target.addScaledVector( coeff[ 4 ], 1.092548 * ( x * y ) ); + target.addScaledVector( coeff[ 5 ], 1.092548 * ( y * z ) ); + target.addScaledVector( coeff[ 6 ], 0.315392 * ( 3.0 * z * z - 1.0 ) ); + target.addScaledVector( coeff[ 7 ], 1.092548 * ( x * z ) ); + target.addScaledVector( coeff[ 8 ], 0.546274 * ( x * x - y * y ) ); + + return target; + + } + + // get the irradiance (radiance convolved with cosine lobe) in the direction of the normal + // target is a Vector3 + // https://graphics.stanford.edu/papers/envmap/envmap.pdf + getIrradianceAt( normal, target ) { + + // normal is assumed to be unit length + + const x = normal.x, y = normal.y, z = normal.z; + + const coeff = this.coefficients; + + // band 0 + target.copy( coeff[ 0 ] ).multiplyScalar( 0.886227 ); // π * 0.282095 + + // band 1 + target.addScaledVector( coeff[ 1 ], 2.0 * 0.511664 * y ); // ( 2 * π / 3 ) * 0.488603 + target.addScaledVector( coeff[ 2 ], 2.0 * 0.511664 * z ); + target.addScaledVector( coeff[ 3 ], 2.0 * 0.511664 * x ); + + // band 2 + target.addScaledVector( coeff[ 4 ], 2.0 * 0.429043 * x * y ); // ( π / 4 ) * 1.092548 + target.addScaledVector( coeff[ 5 ], 2.0 * 0.429043 * y * z ); + target.addScaledVector( coeff[ 6 ], 0.743125 * z * z - 0.247708 ); // ( π / 4 ) * 0.315392 * 3 + target.addScaledVector( coeff[ 7 ], 2.0 * 0.429043 * x * z ); + target.addScaledVector( coeff[ 8 ], 0.429043 * ( x * x - y * y ) ); // ( π / 4 ) * 0.546274 + + return target; + + } + + add( sh ) { + + for ( let i = 0; i < 9; i ++ ) { + + this.coefficients[ i ].add( sh.coefficients[ i ] ); + + } + + return this; + + } + + addScaledSH( sh, s ) { + + for ( let i = 0; i < 9; i ++ ) { + + this.coefficients[ i ].addScaledVector( sh.coefficients[ i ], s ); + + } + + return this; + + } + + scale( s ) { + + for ( let i = 0; i < 9; i ++ ) { + + this.coefficients[ i ].multiplyScalar( s ); + + } + + return this; + + } + + lerp( sh, alpha ) { + + for ( let i = 0; i < 9; i ++ ) { + + this.coefficients[ i ].lerp( sh.coefficients[ i ], alpha ); + + } + + return this; + + } + + equals( sh ) { + + for ( let i = 0; i < 9; i ++ ) { + + if ( ! this.coefficients[ i ].equals( sh.coefficients[ i ] ) ) { + + return false; + + } + + } + + return true; + + } + + copy( sh ) { + + return this.set( sh.coefficients ); + + } + + clone() { + + return new this.constructor().copy( this ); + + } + + fromArray( array, offset = 0 ) { + + const coefficients = this.coefficients; + + for ( let i = 0; i < 9; i ++ ) { + + coefficients[ i ].fromArray( array, offset + ( i * 3 ) ); + + } + + return this; + + } + + toArray( array = [], offset = 0 ) { + + const coefficients = this.coefficients; + + for ( let i = 0; i < 9; i ++ ) { + + coefficients[ i ].toArray( array, offset + ( i * 3 ) ); + + } + + return array; + + } + + // evaluate the basis functions + // shBasis is an Array[ 9 ] + static getBasisAt( normal, shBasis ) { + + // normal is assumed to be unit length + + const x = normal.x, y = normal.y, z = normal.z; + + // band 0 + shBasis[ 0 ] = 0.282095; + + // band 1 + shBasis[ 1 ] = 0.488603 * y; + shBasis[ 2 ] = 0.488603 * z; + shBasis[ 3 ] = 0.488603 * x; + + // band 2 + shBasis[ 4 ] = 1.092548 * x * y; + shBasis[ 5 ] = 1.092548 * y * z; + shBasis[ 6 ] = 0.315392 * ( 3 * z * z - 1 ); + shBasis[ 7 ] = 1.092548 * x * z; + shBasis[ 8 ] = 0.546274 * ( x * x - y * y ); + + } + +} + +SphericalHarmonics3.prototype.isSphericalHarmonics3 = true; + +class LightProbe extends Light { + + constructor( sh = new SphericalHarmonics3(), intensity = 1 ) { + + super( undefined, intensity ); + + this.sh = sh; + + } + + copy( source ) { + + super.copy( source ); + + this.sh.copy( source.sh ); + + return this; + + } + + fromJSON( json ) { + + this.intensity = json.intensity; // TODO: Move this bit to Light.fromJSON(); + this.sh.fromArray( json.sh ); + + return this; + + } + + toJSON( meta ) { + + const data = super.toJSON( meta ); + + data.object.sh = this.sh.toArray(); + + return data; + + } + +} + +LightProbe.prototype.isLightProbe = true; + +class MaterialLoader extends Loader { + + constructor( manager ) { + + super( manager ); + this.textures = {}; + + } + + load( url, onLoad, onProgress, onError ) { + + const scope = this; + + const loader = new FileLoader( scope.manager ); + loader.setPath( scope.path ); + loader.setRequestHeader( scope.requestHeader ); + loader.setWithCredentials( scope.withCredentials ); + loader.load( url, function ( text ) { + + try { + + onLoad( scope.parse( JSON.parse( text ) ) ); + + } catch ( e ) { + + if ( onError ) { + + onError( e ); + + } else { + + console.error( e ); + + } + + scope.manager.itemError( url ); + + } + + }, onProgress, onError ); + + } + + parse( json ) { + + const textures = this.textures; + + function getTexture( name ) { + + if ( textures[ name ] === undefined ) { + + console.warn( 'THREE.MaterialLoader: Undefined texture', name ); + + } + + return textures[ name ]; + + } + + const material = new Materials[ json.type ](); + + if ( json.uuid !== undefined ) material.uuid = json.uuid; + if ( json.name !== undefined ) material.name = json.name; + if ( json.color !== undefined && material.color !== undefined ) material.color.setHex( json.color ); + if ( json.roughness !== undefined ) material.roughness = json.roughness; + if ( json.metalness !== undefined ) material.metalness = json.metalness; + if ( json.sheen !== undefined ) material.sheen = json.sheen; + if ( json.sheenColor !== undefined ) material.sheenColor = new Color().setHex( json.sheenColor ); + if ( json.sheenRoughness !== undefined ) material.sheenRoughness = json.sheenRoughness; + if ( json.emissive !== undefined && material.emissive !== undefined ) material.emissive.setHex( json.emissive ); + if ( json.specular !== undefined && material.specular !== undefined ) material.specular.setHex( json.specular ); + if ( json.specularIntensity !== undefined ) material.specularIntensity = json.specularIntensity; + if ( json.specularColor !== undefined && material.specularColor !== undefined ) material.specularColor.setHex( json.specularColor ); + if ( json.shininess !== undefined ) material.shininess = json.shininess; + if ( json.clearcoat !== undefined ) material.clearcoat = json.clearcoat; + if ( json.clearcoatRoughness !== undefined ) material.clearcoatRoughness = json.clearcoatRoughness; + if ( json.transmission !== undefined ) material.transmission = json.transmission; + if ( json.thickness !== undefined ) material.thickness = json.thickness; + if ( json.attenuationDistance !== undefined ) material.attenuationDistance = json.attenuationDistance; + if ( json.attenuationColor !== undefined && material.attenuationColor !== undefined ) material.attenuationColor.setHex( json.attenuationColor ); + if ( json.fog !== undefined ) material.fog = json.fog; + if ( json.flatShading !== undefined ) material.flatShading = json.flatShading; + if ( json.blending !== undefined ) material.blending = json.blending; + if ( json.combine !== undefined ) material.combine = json.combine; + if ( json.side !== undefined ) material.side = json.side; + if ( json.shadowSide !== undefined ) material.shadowSide = json.shadowSide; + if ( json.opacity !== undefined ) material.opacity = json.opacity; + if ( json.format !== undefined ) material.format = json.format; + if ( json.transparent !== undefined ) material.transparent = json.transparent; + if ( json.alphaTest !== undefined ) material.alphaTest = json.alphaTest; + if ( json.depthTest !== undefined ) material.depthTest = json.depthTest; + if ( json.depthWrite !== undefined ) material.depthWrite = json.depthWrite; + if ( json.colorWrite !== undefined ) material.colorWrite = json.colorWrite; + + if ( json.stencilWrite !== undefined ) material.stencilWrite = json.stencilWrite; + if ( json.stencilWriteMask !== undefined ) material.stencilWriteMask = json.stencilWriteMask; + if ( json.stencilFunc !== undefined ) material.stencilFunc = json.stencilFunc; + if ( json.stencilRef !== undefined ) material.stencilRef = json.stencilRef; + if ( json.stencilFuncMask !== undefined ) material.stencilFuncMask = json.stencilFuncMask; + if ( json.stencilFail !== undefined ) material.stencilFail = json.stencilFail; + if ( json.stencilZFail !== undefined ) material.stencilZFail = json.stencilZFail; + if ( json.stencilZPass !== undefined ) material.stencilZPass = json.stencilZPass; + + if ( json.wireframe !== undefined ) material.wireframe = json.wireframe; + if ( json.wireframeLinewidth !== undefined ) material.wireframeLinewidth = json.wireframeLinewidth; + if ( json.wireframeLinecap !== undefined ) material.wireframeLinecap = json.wireframeLinecap; + if ( json.wireframeLinejoin !== undefined ) material.wireframeLinejoin = json.wireframeLinejoin; + + if ( json.rotation !== undefined ) material.rotation = json.rotation; + + if ( json.linewidth !== 1 ) material.linewidth = json.linewidth; + if ( json.dashSize !== undefined ) material.dashSize = json.dashSize; + if ( json.gapSize !== undefined ) material.gapSize = json.gapSize; + if ( json.scale !== undefined ) material.scale = json.scale; + + if ( json.polygonOffset !== undefined ) material.polygonOffset = json.polygonOffset; + if ( json.polygonOffsetFactor !== undefined ) material.polygonOffsetFactor = json.polygonOffsetFactor; + if ( json.polygonOffsetUnits !== undefined ) material.polygonOffsetUnits = json.polygonOffsetUnits; + + if ( json.dithering !== undefined ) material.dithering = json.dithering; + + if ( json.alphaToCoverage !== undefined ) material.alphaToCoverage = json.alphaToCoverage; + if ( json.premultipliedAlpha !== undefined ) material.premultipliedAlpha = json.premultipliedAlpha; + + if ( json.visible !== undefined ) material.visible = json.visible; + + if ( json.toneMapped !== undefined ) material.toneMapped = json.toneMapped; + + if ( json.userData !== undefined ) material.userData = json.userData; + + if ( json.vertexColors !== undefined ) { + + if ( typeof json.vertexColors === 'number' ) { + + material.vertexColors = ( json.vertexColors > 0 ) ? true : false; + + } else { + + material.vertexColors = json.vertexColors; + + } + + } + + // Shader Material + + if ( json.uniforms !== undefined ) { + + for ( const name in json.uniforms ) { + + const uniform = json.uniforms[ name ]; + + material.uniforms[ name ] = {}; + + switch ( uniform.type ) { + + case 't': + material.uniforms[ name ].value = getTexture( uniform.value ); + break; + + case 'c': + material.uniforms[ name ].value = new Color().setHex( uniform.value ); + break; + + case 'v2': + material.uniforms[ name ].value = new Vector2().fromArray( uniform.value ); + break; + + case 'v3': + material.uniforms[ name ].value = new Vector3().fromArray( uniform.value ); + break; + + case 'v4': + material.uniforms[ name ].value = new Vector4().fromArray( uniform.value ); + break; + + case 'm3': + material.uniforms[ name ].value = new Matrix3().fromArray( uniform.value ); + break; + + case 'm4': + material.uniforms[ name ].value = new Matrix4().fromArray( uniform.value ); + break; + + default: + material.uniforms[ name ].value = uniform.value; + + } + + } + + } + + if ( json.defines !== undefined ) material.defines = json.defines; + if ( json.vertexShader !== undefined ) material.vertexShader = json.vertexShader; + if ( json.fragmentShader !== undefined ) material.fragmentShader = json.fragmentShader; + + if ( json.extensions !== undefined ) { + + for ( const key in json.extensions ) { + + material.extensions[ key ] = json.extensions[ key ]; + + } + + } + + // Deprecated + + if ( json.shading !== undefined ) material.flatShading = json.shading === 1; // THREE.FlatShading + + // for PointsMaterial + + if ( json.size !== undefined ) material.size = json.size; + if ( json.sizeAttenuation !== undefined ) material.sizeAttenuation = json.sizeAttenuation; + + // maps + + if ( json.map !== undefined ) material.map = getTexture( json.map ); + if ( json.matcap !== undefined ) material.matcap = getTexture( json.matcap ); + + if ( json.alphaMap !== undefined ) material.alphaMap = getTexture( json.alphaMap ); + + if ( json.bumpMap !== undefined ) material.bumpMap = getTexture( json.bumpMap ); + if ( json.bumpScale !== undefined ) material.bumpScale = json.bumpScale; + + if ( json.normalMap !== undefined ) material.normalMap = getTexture( json.normalMap ); + if ( json.normalMapType !== undefined ) material.normalMapType = json.normalMapType; + if ( json.normalScale !== undefined ) { + + let normalScale = json.normalScale; + + if ( Array.isArray( normalScale ) === false ) { + + // Blender exporter used to export a scalar. See #7459 + + normalScale = [ normalScale, normalScale ]; + + } + + material.normalScale = new Vector2().fromArray( normalScale ); + + } + + if ( json.displacementMap !== undefined ) material.displacementMap = getTexture( json.displacementMap ); + if ( json.displacementScale !== undefined ) material.displacementScale = json.displacementScale; + if ( json.displacementBias !== undefined ) material.displacementBias = json.displacementBias; + + if ( json.roughnessMap !== undefined ) material.roughnessMap = getTexture( json.roughnessMap ); + if ( json.metalnessMap !== undefined ) material.metalnessMap = getTexture( json.metalnessMap ); + + if ( json.emissiveMap !== undefined ) material.emissiveMap = getTexture( json.emissiveMap ); + if ( json.emissiveIntensity !== undefined ) material.emissiveIntensity = json.emissiveIntensity; + + if ( json.specularMap !== undefined ) material.specularMap = getTexture( json.specularMap ); + if ( json.specularIntensityMap !== undefined ) material.specularIntensityMap = getTexture( json.specularIntensityMap ); + if ( json.specularColorMap !== undefined ) material.specularColorMap = getTexture( json.specularColorMap ); + + if ( json.envMap !== undefined ) material.envMap = getTexture( json.envMap ); + if ( json.envMapIntensity !== undefined ) material.envMapIntensity = json.envMapIntensity; + + if ( json.reflectivity !== undefined ) material.reflectivity = json.reflectivity; + if ( json.refractionRatio !== undefined ) material.refractionRatio = json.refractionRatio; + + if ( json.lightMap !== undefined ) material.lightMap = getTexture( json.lightMap ); + if ( json.lightMapIntensity !== undefined ) material.lightMapIntensity = json.lightMapIntensity; + + if ( json.aoMap !== undefined ) material.aoMap = getTexture( json.aoMap ); + if ( json.aoMapIntensity !== undefined ) material.aoMapIntensity = json.aoMapIntensity; + + if ( json.gradientMap !== undefined ) material.gradientMap = getTexture( json.gradientMap ); + + if ( json.clearcoatMap !== undefined ) material.clearcoatMap = getTexture( json.clearcoatMap ); + if ( json.clearcoatRoughnessMap !== undefined ) material.clearcoatRoughnessMap = getTexture( json.clearcoatRoughnessMap ); + if ( json.clearcoatNormalMap !== undefined ) material.clearcoatNormalMap = getTexture( json.clearcoatNormalMap ); + if ( json.clearcoatNormalScale !== undefined ) material.clearcoatNormalScale = new Vector2().fromArray( json.clearcoatNormalScale ); + + if ( json.transmissionMap !== undefined ) material.transmissionMap = getTexture( json.transmissionMap ); + if ( json.thicknessMap !== undefined ) material.thicknessMap = getTexture( json.thicknessMap ); + + if ( json.sheenColorMap !== undefined ) material.sheenColorMap = getTexture( json.sheenColorMap ); + if ( json.sheenRoughnessMap !== undefined ) material.sheenRoughnessMap = getTexture( json.sheenRoughnessMap ); + + return material; + + } + + setTextures( value ) { + + this.textures = value; + return this; + + } + +} + +class LoaderUtils { + + static decodeText( array ) { + + if ( typeof TextDecoder !== 'undefined' ) { + + return new TextDecoder().decode( array ); + + } + + // Avoid the String.fromCharCode.apply(null, array) shortcut, which + // throws a "maximum call stack size exceeded" error for large arrays. + + let s = ''; + + for ( let i = 0, il = array.length; i < il; i ++ ) { + + // Implicitly assumes little-endian. + s += String.fromCharCode( array[ i ] ); + + } + + try { + + // merges multi-byte utf-8 characters. + + return decodeURIComponent( escape( s ) ); + + } catch ( e ) { // see #16358 + + return s; + + } + + } + + static extractUrlBase( url ) { + + const index = url.lastIndexOf( '/' ); + + if ( index === - 1 ) return './'; + + return url.substr( 0, index + 1 ); + + } + + static resolveURL( url, path ) { + + // Invalid URL + if ( typeof url !== 'string' || url === '' ) return ''; + + // Host Relative URL + if ( /^https?:\/\//i.test( path ) && /^\//.test( url ) ) { + + path = path.replace( /(^https?:\/\/[^\/]+).*/i, '$1' ); + + } + + // Absolute URL http://,https://,// + if ( /^(https?:)?\/\//i.test( url ) ) return url; + + // Data URI + if ( /^data:.*,.*$/i.test( url ) ) return url; + + // Blob URL + if ( /^blob:.*$/i.test( url ) ) return url; + + // Relative URL + return path + url; + + } + +} + +class InstancedBufferGeometry extends BufferGeometry { + + constructor() { + + super(); + + this.type = 'InstancedBufferGeometry'; + this.instanceCount = Infinity; + + } + + copy( source ) { + + super.copy( source ); + + this.instanceCount = source.instanceCount; + + return this; + + } + + clone() { + + return new this.constructor().copy( this ); + + } + + toJSON() { + + const data = super.toJSON( this ); + + data.instanceCount = this.instanceCount; + + data.isInstancedBufferGeometry = true; + + return data; + + } + +} + +InstancedBufferGeometry.prototype.isInstancedBufferGeometry = true; + +class BufferGeometryLoader extends Loader { + + constructor( manager ) { + + super( manager ); + + } + + load( url, onLoad, onProgress, onError ) { + + const scope = this; + + const loader = new FileLoader( scope.manager ); + loader.setPath( scope.path ); + loader.setRequestHeader( scope.requestHeader ); + loader.setWithCredentials( scope.withCredentials ); + loader.load( url, function ( text ) { + + try { + + onLoad( scope.parse( JSON.parse( text ) ) ); + + } catch ( e ) { + + if ( onError ) { + + onError( e ); + + } else { + + console.error( e ); + + } + + scope.manager.itemError( url ); + + } + + }, onProgress, onError ); + + } + + parse( json ) { + + const interleavedBufferMap = {}; + const arrayBufferMap = {}; + + function getInterleavedBuffer( json, uuid ) { + + if ( interleavedBufferMap[ uuid ] !== undefined ) return interleavedBufferMap[ uuid ]; + + const interleavedBuffers = json.interleavedBuffers; + const interleavedBuffer = interleavedBuffers[ uuid ]; + + const buffer = getArrayBuffer( json, interleavedBuffer.buffer ); + + const array = getTypedArray( interleavedBuffer.type, buffer ); + const ib = new InterleavedBuffer( array, interleavedBuffer.stride ); + ib.uuid = interleavedBuffer.uuid; + + interleavedBufferMap[ uuid ] = ib; + + return ib; + + } + + function getArrayBuffer( json, uuid ) { + + if ( arrayBufferMap[ uuid ] !== undefined ) return arrayBufferMap[ uuid ]; + + const arrayBuffers = json.arrayBuffers; + const arrayBuffer = arrayBuffers[ uuid ]; + + const ab = new Uint32Array( arrayBuffer ).buffer; + + arrayBufferMap[ uuid ] = ab; + + return ab; + + } + + const geometry = json.isInstancedBufferGeometry ? new InstancedBufferGeometry() : new BufferGeometry(); + + const index = json.data.index; + + if ( index !== undefined ) { + + const typedArray = getTypedArray( index.type, index.array ); + geometry.setIndex( new BufferAttribute( typedArray, 1 ) ); + + } + + const attributes = json.data.attributes; + + for ( const key in attributes ) { + + const attribute = attributes[ key ]; + let bufferAttribute; + + if ( attribute.isInterleavedBufferAttribute ) { + + const interleavedBuffer = getInterleavedBuffer( json.data, attribute.data ); + bufferAttribute = new InterleavedBufferAttribute( interleavedBuffer, attribute.itemSize, attribute.offset, attribute.normalized ); + + } else { + + const typedArray = getTypedArray( attribute.type, attribute.array ); + const bufferAttributeConstr = attribute.isInstancedBufferAttribute ? InstancedBufferAttribute : BufferAttribute; + bufferAttribute = new bufferAttributeConstr( typedArray, attribute.itemSize, attribute.normalized ); + + } + + if ( attribute.name !== undefined ) bufferAttribute.name = attribute.name; + if ( attribute.usage !== undefined ) bufferAttribute.setUsage( attribute.usage ); + + if ( attribute.updateRange !== undefined ) { + + bufferAttribute.updateRange.offset = attribute.updateRange.offset; + bufferAttribute.updateRange.count = attribute.updateRange.count; + + } + + geometry.setAttribute( key, bufferAttribute ); + + } + + const morphAttributes = json.data.morphAttributes; + + if ( morphAttributes ) { + + for ( const key in morphAttributes ) { + + const attributeArray = morphAttributes[ key ]; + + const array = []; + + for ( let i = 0, il = attributeArray.length; i < il; i ++ ) { + + const attribute = attributeArray[ i ]; + let bufferAttribute; + + if ( attribute.isInterleavedBufferAttribute ) { + + const interleavedBuffer = getInterleavedBuffer( json.data, attribute.data ); + bufferAttribute = new InterleavedBufferAttribute( interleavedBuffer, attribute.itemSize, attribute.offset, attribute.normalized ); + + } else { + + const typedArray = getTypedArray( attribute.type, attribute.array ); + bufferAttribute = new BufferAttribute( typedArray, attribute.itemSize, attribute.normalized ); + + } + + if ( attribute.name !== undefined ) bufferAttribute.name = attribute.name; + array.push( bufferAttribute ); + + } + + geometry.morphAttributes[ key ] = array; + + } + + } + + const morphTargetsRelative = json.data.morphTargetsRelative; + + if ( morphTargetsRelative ) { + + geometry.morphTargetsRelative = true; + + } + + const groups = json.data.groups || json.data.drawcalls || json.data.offsets; + + if ( groups !== undefined ) { + + for ( let i = 0, n = groups.length; i !== n; ++ i ) { + + const group = groups[ i ]; + + geometry.addGroup( group.start, group.count, group.materialIndex ); + + } + + } + + const boundingSphere = json.data.boundingSphere; + + if ( boundingSphere !== undefined ) { + + const center = new Vector3(); + + if ( boundingSphere.center !== undefined ) { + + center.fromArray( boundingSphere.center ); + + } + + geometry.boundingSphere = new Sphere( center, boundingSphere.radius ); + + } + + if ( json.name ) geometry.name = json.name; + if ( json.userData ) geometry.userData = json.userData; + + return geometry; + + } + +} + +class ObjectLoader extends Loader { + + constructor( manager ) { + + super( manager ); + + } + + load( url, onLoad, onProgress, onError ) { + + const scope = this; + + const path = ( this.path === '' ) ? LoaderUtils.extractUrlBase( url ) : this.path; + this.resourcePath = this.resourcePath || path; + + const loader = new FileLoader( this.manager ); + loader.setPath( this.path ); + loader.setRequestHeader( this.requestHeader ); + loader.setWithCredentials( this.withCredentials ); + loader.load( url, function ( text ) { + + let json = null; + + try { + + json = JSON.parse( text ); + + } catch ( error ) { + + if ( onError !== undefined ) onError( error ); + + console.error( 'THREE:ObjectLoader: Can\'t parse ' + url + '.', error.message ); + + return; + + } + + const metadata = json.metadata; + + if ( metadata === undefined || metadata.type === undefined || metadata.type.toLowerCase() === 'geometry' ) { + + console.error( 'THREE.ObjectLoader: Can\'t load ' + url ); + return; + + } + + scope.parse( json, onLoad ); + + }, onProgress, onError ); + + } + + async loadAsync( url, onProgress ) { + + const scope = this; + + const path = ( this.path === '' ) ? LoaderUtils.extractUrlBase( url ) : this.path; + this.resourcePath = this.resourcePath || path; + + const loader = new FileLoader( this.manager ); + loader.setPath( this.path ); + loader.setRequestHeader( this.requestHeader ); + loader.setWithCredentials( this.withCredentials ); + + const text = await loader.loadAsync( url, onProgress ); + + const json = JSON.parse( text ); + + const metadata = json.metadata; + + if ( metadata === undefined || metadata.type === undefined || metadata.type.toLowerCase() === 'geometry' ) { + + throw new Error( 'THREE.ObjectLoader: Can\'t load ' + url ); + + } + + return await scope.parseAsync( json ); + + } + + parse( json, onLoad ) { + + const animations = this.parseAnimations( json.animations ); + const shapes = this.parseShapes( json.shapes ); + const geometries = this.parseGeometries( json.geometries, shapes ); + + const images = this.parseImages( json.images, function () { + + if ( onLoad !== undefined ) onLoad( object ); + + } ); + + const textures = this.parseTextures( json.textures, images ); + const materials = this.parseMaterials( json.materials, textures ); + + const object = this.parseObject( json.object, geometries, materials, textures, animations ); + const skeletons = this.parseSkeletons( json.skeletons, object ); + + this.bindSkeletons( object, skeletons ); + + // + + if ( onLoad !== undefined ) { + + let hasImages = false; + + for ( const uuid in images ) { + + if ( images[ uuid ] instanceof HTMLImageElement ) { + + hasImages = true; + break; + + } + + } + + if ( hasImages === false ) onLoad( object ); + + } + + return object; + + } + + async parseAsync( json ) { + + const animations = this.parseAnimations( json.animations ); + const shapes = this.parseShapes( json.shapes ); + const geometries = this.parseGeometries( json.geometries, shapes ); + + const images = await this.parseImagesAsync( json.images ); + + const textures = this.parseTextures( json.textures, images ); + const materials = this.parseMaterials( json.materials, textures ); + + const object = this.parseObject( json.object, geometries, materials, textures, animations ); + const skeletons = this.parseSkeletons( json.skeletons, object ); + + this.bindSkeletons( object, skeletons ); + + return object; + + } + + parseShapes( json ) { + + const shapes = {}; + + if ( json !== undefined ) { + + for ( let i = 0, l = json.length; i < l; i ++ ) { + + const shape = new Shape().fromJSON( json[ i ] ); + + shapes[ shape.uuid ] = shape; + + } + + } + + return shapes; + + } + + parseSkeletons( json, object ) { + + const skeletons = {}; + const bones = {}; + + // generate bone lookup table + + object.traverse( function ( child ) { + + if ( child.isBone ) bones[ child.uuid ] = child; + + } ); + + // create skeletons + + if ( json !== undefined ) { + + for ( let i = 0, l = json.length; i < l; i ++ ) { + + const skeleton = new Skeleton().fromJSON( json[ i ], bones ); + + skeletons[ skeleton.uuid ] = skeleton; + + } + + } + + return skeletons; + + } + + parseGeometries( json, shapes ) { + + const geometries = {}; + + if ( json !== undefined ) { + + const bufferGeometryLoader = new BufferGeometryLoader(); + + for ( let i = 0, l = json.length; i < l; i ++ ) { + + let geometry; + const data = json[ i ]; + + switch ( data.type ) { + + case 'BufferGeometry': + case 'InstancedBufferGeometry': + + geometry = bufferGeometryLoader.parse( data ); + + break; + + case 'Geometry': + + console.error( 'THREE.ObjectLoader: The legacy Geometry type is no longer supported.' ); + + break; + + default: + + if ( data.type in Geometries ) { + + geometry = Geometries[ data.type ].fromJSON( data, shapes ); + + } else { + + console.warn( `THREE.ObjectLoader: Unsupported geometry type "${ data.type }"` ); + + } + + } + + geometry.uuid = data.uuid; + + if ( data.name !== undefined ) geometry.name = data.name; + if ( geometry.isBufferGeometry === true && data.userData !== undefined ) geometry.userData = data.userData; + + geometries[ data.uuid ] = geometry; + + } + + } + + return geometries; + + } + + parseMaterials( json, textures ) { + + const cache = {}; // MultiMaterial + const materials = {}; + + if ( json !== undefined ) { + + const loader = new MaterialLoader(); + loader.setTextures( textures ); + + for ( let i = 0, l = json.length; i < l; i ++ ) { + + const data = json[ i ]; + + if ( data.type === 'MultiMaterial' ) { + + // Deprecated + + const array = []; + + for ( let j = 0; j < data.materials.length; j ++ ) { + + const material = data.materials[ j ]; + + if ( cache[ material.uuid ] === undefined ) { + + cache[ material.uuid ] = loader.parse( material ); + + } + + array.push( cache[ material.uuid ] ); + + } + + materials[ data.uuid ] = array; + + } else { + + if ( cache[ data.uuid ] === undefined ) { + + cache[ data.uuid ] = loader.parse( data ); + + } + + materials[ data.uuid ] = cache[ data.uuid ]; + + } + + } + + } + + return materials; + + } + + parseAnimations( json ) { + + const animations = {}; + + if ( json !== undefined ) { + + for ( let i = 0; i < json.length; i ++ ) { + + const data = json[ i ]; + + const clip = AnimationClip.parse( data ); + + animations[ clip.uuid ] = clip; + + } + + } + + return animations; + + } + + parseImages( json, onLoad ) { + + const scope = this; + const images = {}; + + let loader; + + function loadImage( url ) { + + scope.manager.itemStart( url ); + + return loader.load( url, function () { + + scope.manager.itemEnd( url ); + + }, undefined, function () { + + scope.manager.itemError( url ); + scope.manager.itemEnd( url ); + + } ); + + } + + function deserializeImage( image ) { + + if ( typeof image === 'string' ) { + + const url = image; + + const path = /^(\/\/)|([a-z]+:(\/\/)?)/i.test( url ) ? url : scope.resourcePath + url; + + return loadImage( path ); + + } else { + + if ( image.data ) { + + return { + data: getTypedArray( image.type, image.data ), + width: image.width, + height: image.height + }; + + } else { + + return null; + + } + + } + + } + + if ( json !== undefined && json.length > 0 ) { + + const manager = new LoadingManager( onLoad ); + + loader = new ImageLoader( manager ); + loader.setCrossOrigin( this.crossOrigin ); + + for ( let i = 0, il = json.length; i < il; i ++ ) { + + const image = json[ i ]; + const url = image.url; + + if ( Array.isArray( url ) ) { + + // load array of images e.g CubeTexture + + images[ image.uuid ] = []; + + for ( let j = 0, jl = url.length; j < jl; j ++ ) { + + const currentUrl = url[ j ]; + + const deserializedImage = deserializeImage( currentUrl ); + + if ( deserializedImage !== null ) { + + if ( deserializedImage instanceof HTMLImageElement ) { + + images[ image.uuid ].push( deserializedImage ); + + } else { + + // special case: handle array of data textures for cube textures + + images[ image.uuid ].push( new DataTexture( deserializedImage.data, deserializedImage.width, deserializedImage.height ) ); + + } + + } + + } + + } else { + + // load single image + + const deserializedImage = deserializeImage( image.url ); + + if ( deserializedImage !== null ) { + + images[ image.uuid ] = deserializedImage; + + } + + } + + } + + } + + return images; + + } + + async parseImagesAsync( json ) { + + const scope = this; + const images = {}; + + let loader; + + async function deserializeImage( image ) { + + if ( typeof image === 'string' ) { + + const url = image; + + const path = /^(\/\/)|([a-z]+:(\/\/)?)/i.test( url ) ? url : scope.resourcePath + url; + + return await loader.loadAsync( path ); + + } else { + + if ( image.data ) { + + return { + data: getTypedArray( image.type, image.data ), + width: image.width, + height: image.height + }; + + } else { + + return null; + + } + + } + + } + + if ( json !== undefined && json.length > 0 ) { + + loader = new ImageLoader( this.manager ); + loader.setCrossOrigin( this.crossOrigin ); + + for ( let i = 0, il = json.length; i < il; i ++ ) { + + const image = json[ i ]; + const url = image.url; + + if ( Array.isArray( url ) ) { + + // load array of images e.g CubeTexture + + images[ image.uuid ] = []; + + for ( let j = 0, jl = url.length; j < jl; j ++ ) { + + const currentUrl = url[ j ]; + + const deserializedImage = await deserializeImage( currentUrl ); + + if ( deserializedImage !== null ) { + + if ( deserializedImage instanceof HTMLImageElement ) { + + images[ image.uuid ].push( deserializedImage ); + + } else { + + // special case: handle array of data textures for cube textures + + images[ image.uuid ].push( new DataTexture( deserializedImage.data, deserializedImage.width, deserializedImage.height ) ); + + } + + } + + } + + } else { + + // load single image + + const deserializedImage = await deserializeImage( image.url ); + + if ( deserializedImage !== null ) { + + images[ image.uuid ] = deserializedImage; + + } + + } + + } + + } + + return images; + + } + + parseTextures( json, images ) { + + function parseConstant( value, type ) { + + if ( typeof value === 'number' ) return value; + + console.warn( 'THREE.ObjectLoader.parseTexture: Constant should be in numeric form.', value ); + + return type[ value ]; + + } + + const textures = {}; + + if ( json !== undefined ) { + + for ( let i = 0, l = json.length; i < l; i ++ ) { + + const data = json[ i ]; + + if ( data.image === undefined ) { + + console.warn( 'THREE.ObjectLoader: No "image" specified for', data.uuid ); + + } + + if ( images[ data.image ] === undefined ) { + + console.warn( 'THREE.ObjectLoader: Undefined image', data.image ); + + } + + let texture; + const image = images[ data.image ]; + + if ( Array.isArray( image ) ) { + + texture = new CubeTexture( image ); + + if ( image.length === 6 ) texture.needsUpdate = true; + + } else { + + if ( image && image.data ) { + + texture = new DataTexture( image.data, image.width, image.height ); + + } else { + + texture = new Texture( image ); + + } + + if ( image ) texture.needsUpdate = true; // textures can have undefined image data + + } + + texture.uuid = data.uuid; + + if ( data.name !== undefined ) texture.name = data.name; + + if ( data.mapping !== undefined ) texture.mapping = parseConstant( data.mapping, TEXTURE_MAPPING ); + + if ( data.offset !== undefined ) texture.offset.fromArray( data.offset ); + if ( data.repeat !== undefined ) texture.repeat.fromArray( data.repeat ); + if ( data.center !== undefined ) texture.center.fromArray( data.center ); + if ( data.rotation !== undefined ) texture.rotation = data.rotation; + + if ( data.wrap !== undefined ) { + + texture.wrapS = parseConstant( data.wrap[ 0 ], TEXTURE_WRAPPING ); + texture.wrapT = parseConstant( data.wrap[ 1 ], TEXTURE_WRAPPING ); + + } + + if ( data.format !== undefined ) texture.format = data.format; + if ( data.type !== undefined ) texture.type = data.type; + if ( data.encoding !== undefined ) texture.encoding = data.encoding; + + if ( data.minFilter !== undefined ) texture.minFilter = parseConstant( data.minFilter, TEXTURE_FILTER ); + if ( data.magFilter !== undefined ) texture.magFilter = parseConstant( data.magFilter, TEXTURE_FILTER ); + if ( data.anisotropy !== undefined ) texture.anisotropy = data.anisotropy; + + if ( data.flipY !== undefined ) texture.flipY = data.flipY; + + if ( data.premultiplyAlpha !== undefined ) texture.premultiplyAlpha = data.premultiplyAlpha; + if ( data.unpackAlignment !== undefined ) texture.unpackAlignment = data.unpackAlignment; + + if ( data.userData !== undefined ) texture.userData = data.userData; + + textures[ data.uuid ] = texture; + + } + + } + + return textures; + + } + + parseObject( data, geometries, materials, textures, animations ) { + + let object; + + function getGeometry( name ) { + + if ( geometries[ name ] === undefined ) { + + console.warn( 'THREE.ObjectLoader: Undefined geometry', name ); + + } + + return geometries[ name ]; + + } + + function getMaterial( name ) { + + if ( name === undefined ) return undefined; + + if ( Array.isArray( name ) ) { + + const array = []; + + for ( let i = 0, l = name.length; i < l; i ++ ) { + + const uuid = name[ i ]; + + if ( materials[ uuid ] === undefined ) { + + console.warn( 'THREE.ObjectLoader: Undefined material', uuid ); + + } + + array.push( materials[ uuid ] ); + + } + + return array; + + } + + if ( materials[ name ] === undefined ) { + + console.warn( 'THREE.ObjectLoader: Undefined material', name ); + + } + + return materials[ name ]; + + } + + function getTexture( uuid ) { + + if ( textures[ uuid ] === undefined ) { + + console.warn( 'THREE.ObjectLoader: Undefined texture', uuid ); + + } + + return textures[ uuid ]; + + } + + let geometry, material; + + switch ( data.type ) { + + case 'Scene': + + object = new Scene(); + + if ( data.background !== undefined ) { + + if ( Number.isInteger( data.background ) ) { + + object.background = new Color( data.background ); + + } else { + + object.background = getTexture( data.background ); + + } + + } + + if ( data.environment !== undefined ) { + + object.environment = getTexture( data.environment ); + + } + + if ( data.fog !== undefined ) { + + if ( data.fog.type === 'Fog' ) { + + object.fog = new Fog( data.fog.color, data.fog.near, data.fog.far ); + + } else if ( data.fog.type === 'FogExp2' ) { + + object.fog = new FogExp2( data.fog.color, data.fog.density ); + + } + + } + + break; + + case 'PerspectiveCamera': + + object = new PerspectiveCamera( data.fov, data.aspect, data.near, data.far ); + + if ( data.focus !== undefined ) object.focus = data.focus; + if ( data.zoom !== undefined ) object.zoom = data.zoom; + if ( data.filmGauge !== undefined ) object.filmGauge = data.filmGauge; + if ( data.filmOffset !== undefined ) object.filmOffset = data.filmOffset; + if ( data.view !== undefined ) object.view = Object.assign( {}, data.view ); + + break; + + case 'OrthographicCamera': + + object = new OrthographicCamera( data.left, data.right, data.top, data.bottom, data.near, data.far ); + + if ( data.zoom !== undefined ) object.zoom = data.zoom; + if ( data.view !== undefined ) object.view = Object.assign( {}, data.view ); + + break; + + case 'AmbientLight': + + object = new AmbientLight( data.color, data.intensity ); + + break; + + case 'DirectionalLight': + + object = new DirectionalLight( data.color, data.intensity ); + + break; + + case 'PointLight': + + object = new PointLight( data.color, data.intensity, data.distance, data.decay ); + + break; + + case 'RectAreaLight': + + object = new RectAreaLight( data.color, data.intensity, data.width, data.height ); + + break; + + case 'SpotLight': + + object = new SpotLight( data.color, data.intensity, data.distance, data.angle, data.penumbra, data.decay ); + + break; + + case 'HemisphereLight': + + object = new HemisphereLight( data.color, data.groundColor, data.intensity ); + + break; + + case 'LightProbe': + + object = new LightProbe().fromJSON( data ); + + break; + + case 'SkinnedMesh': + + geometry = getGeometry( data.geometry ); + material = getMaterial( data.material ); + + object = new SkinnedMesh( geometry, material ); + + if ( data.bindMode !== undefined ) object.bindMode = data.bindMode; + if ( data.bindMatrix !== undefined ) object.bindMatrix.fromArray( data.bindMatrix ); + if ( data.skeleton !== undefined ) object.skeleton = data.skeleton; + + break; + + case 'Mesh': + + geometry = getGeometry( data.geometry ); + material = getMaterial( data.material ); + + object = new Mesh( geometry, material ); + + break; + + case 'InstancedMesh': + + geometry = getGeometry( data.geometry ); + material = getMaterial( data.material ); + const count = data.count; + const instanceMatrix = data.instanceMatrix; + const instanceColor = data.instanceColor; + + object = new InstancedMesh( geometry, material, count ); + object.instanceMatrix = new InstancedBufferAttribute( new Float32Array( instanceMatrix.array ), 16 ); + if ( instanceColor !== undefined ) object.instanceColor = new InstancedBufferAttribute( new Float32Array( instanceColor.array ), instanceColor.itemSize ); + + break; + + case 'LOD': + + object = new LOD(); + + break; + + case 'Line': + + object = new Line( getGeometry( data.geometry ), getMaterial( data.material ) ); + + break; + + case 'LineLoop': + + object = new LineLoop( getGeometry( data.geometry ), getMaterial( data.material ) ); + + break; + + case 'LineSegments': + + object = new LineSegments( getGeometry( data.geometry ), getMaterial( data.material ) ); + + break; + + case 'PointCloud': + case 'Points': + + object = new Points( getGeometry( data.geometry ), getMaterial( data.material ) ); + + break; + + case 'Sprite': + + object = new Sprite( getMaterial( data.material ) ); + + break; + + case 'Group': + + object = new Group(); + + break; + + case 'Bone': + + object = new Bone(); + + break; + + default: + + object = new Object3D(); + + } + + object.uuid = data.uuid; + + if ( data.name !== undefined ) object.name = data.name; + + if ( data.matrix !== undefined ) { + + object.matrix.fromArray( data.matrix ); + + if ( data.matrixAutoUpdate !== undefined ) object.matrixAutoUpdate = data.matrixAutoUpdate; + if ( object.matrixAutoUpdate ) object.matrix.decompose( object.position, object.quaternion, object.scale ); + + } else { + + if ( data.position !== undefined ) object.position.fromArray( data.position ); + if ( data.rotation !== undefined ) object.rotation.fromArray( data.rotation ); + if ( data.quaternion !== undefined ) object.quaternion.fromArray( data.quaternion ); + if ( data.scale !== undefined ) object.scale.fromArray( data.scale ); + + } + + if ( data.castShadow !== undefined ) object.castShadow = data.castShadow; + if ( data.receiveShadow !== undefined ) object.receiveShadow = data.receiveShadow; + + if ( data.shadow ) { + + if ( data.shadow.bias !== undefined ) object.shadow.bias = data.shadow.bias; + if ( data.shadow.normalBias !== undefined ) object.shadow.normalBias = data.shadow.normalBias; + if ( data.shadow.radius !== undefined ) object.shadow.radius = data.shadow.radius; + if ( data.shadow.mapSize !== undefined ) object.shadow.mapSize.fromArray( data.shadow.mapSize ); + if ( data.shadow.camera !== undefined ) object.shadow.camera = this.parseObject( data.shadow.camera ); + + } + + if ( data.visible !== undefined ) object.visible = data.visible; + if ( data.frustumCulled !== undefined ) object.frustumCulled = data.frustumCulled; + if ( data.renderOrder !== undefined ) object.renderOrder = data.renderOrder; + if ( data.userData !== undefined ) object.userData = data.userData; + if ( data.layers !== undefined ) object.layers.mask = data.layers; + + if ( data.children !== undefined ) { + + const children = data.children; + + for ( let i = 0; i < children.length; i ++ ) { + + object.add( this.parseObject( children[ i ], geometries, materials, textures, animations ) ); + + } + + } + + if ( data.animations !== undefined ) { + + const objectAnimations = data.animations; + + for ( let i = 0; i < objectAnimations.length; i ++ ) { + + const uuid = objectAnimations[ i ]; + + object.animations.push( animations[ uuid ] ); + + } + + } + + if ( data.type === 'LOD' ) { + + if ( data.autoUpdate !== undefined ) object.autoUpdate = data.autoUpdate; + + const levels = data.levels; + + for ( let l = 0; l < levels.length; l ++ ) { + + const level = levels[ l ]; + const child = object.getObjectByProperty( 'uuid', level.object ); + + if ( child !== undefined ) { + + object.addLevel( child, level.distance ); + + } + + } + + } + + return object; + + } + + bindSkeletons( object, skeletons ) { + + if ( Object.keys( skeletons ).length === 0 ) return; + + object.traverse( function ( child ) { + + if ( child.isSkinnedMesh === true && child.skeleton !== undefined ) { + + const skeleton = skeletons[ child.skeleton ]; + + if ( skeleton === undefined ) { + + console.warn( 'THREE.ObjectLoader: No skeleton found with UUID:', child.skeleton ); + + } else { + + child.bind( skeleton, child.bindMatrix ); + + } + + } + + } ); + + } + + /* DEPRECATED */ + + setTexturePath( value ) { + + console.warn( 'THREE.ObjectLoader: .setTexturePath() has been renamed to .setResourcePath().' ); + return this.setResourcePath( value ); + + } + +} + +const TEXTURE_MAPPING = { + UVMapping: UVMapping, + CubeReflectionMapping: CubeReflectionMapping, + CubeRefractionMapping: CubeRefractionMapping, + EquirectangularReflectionMapping: EquirectangularReflectionMapping, + EquirectangularRefractionMapping: EquirectangularRefractionMapping, + CubeUVReflectionMapping: CubeUVReflectionMapping, + CubeUVRefractionMapping: CubeUVRefractionMapping +}; + +const TEXTURE_WRAPPING = { + RepeatWrapping: RepeatWrapping, + ClampToEdgeWrapping: ClampToEdgeWrapping, + MirroredRepeatWrapping: MirroredRepeatWrapping +}; + +const TEXTURE_FILTER = { + NearestFilter: NearestFilter, + NearestMipmapNearestFilter: NearestMipmapNearestFilter, + NearestMipmapLinearFilter: NearestMipmapLinearFilter, + LinearFilter: LinearFilter, + LinearMipmapNearestFilter: LinearMipmapNearestFilter, + LinearMipmapLinearFilter: LinearMipmapLinearFilter +}; + +class ImageBitmapLoader extends Loader { + + constructor( manager ) { + + super( manager ); + + if ( typeof createImageBitmap === 'undefined' ) { + + console.warn( 'THREE.ImageBitmapLoader: createImageBitmap() not supported.' ); + + } + + if ( typeof fetch === 'undefined' ) { + + console.warn( 'THREE.ImageBitmapLoader: fetch() not supported.' ); + + } + + this.options = { premultiplyAlpha: 'none' }; + + } + + setOptions( options ) { + + this.options = options; + + return this; + + } + + load( url, onLoad, onProgress, onError ) { + + if ( url === undefined ) url = ''; + + if ( this.path !== undefined ) url = this.path + url; + + url = this.manager.resolveURL( url ); + + const scope = this; + + const cached = Cache.get( url ); + + if ( cached !== undefined ) { + + scope.manager.itemStart( url ); + + setTimeout( function () { + + if ( onLoad ) onLoad( cached ); + + scope.manager.itemEnd( url ); + + }, 0 ); + + return cached; + + } + + const fetchOptions = {}; + fetchOptions.credentials = ( this.crossOrigin === 'anonymous' ) ? 'same-origin' : 'include'; + fetchOptions.headers = this.requestHeader; + + fetch( url, fetchOptions ).then( function ( res ) { + + return res.blob(); + + } ).then( function ( blob ) { + + return createImageBitmap( blob, Object.assign( scope.options, { colorSpaceConversion: 'none' } ) ); + + } ).then( function ( imageBitmap ) { + + Cache.add( url, imageBitmap ); + + if ( onLoad ) onLoad( imageBitmap ); + + scope.manager.itemEnd( url ); + + } ).catch( function ( e ) { + + if ( onError ) onError( e ); + + scope.manager.itemError( url ); + scope.manager.itemEnd( url ); + + } ); + + scope.manager.itemStart( url ); + + } + +} + +ImageBitmapLoader.prototype.isImageBitmapLoader = true; + +let _context; + +const AudioContext = { + + getContext: function () { + + if ( _context === undefined ) { + + _context = new ( window.AudioContext || window.webkitAudioContext )(); + + } + + return _context; + + }, + + setContext: function ( value ) { + + _context = value; + + } + +}; + +class AudioLoader extends Loader { + + constructor( manager ) { + + super( manager ); + + } + + load( url, onLoad, onProgress, onError ) { + + const scope = this; + + const loader = new FileLoader( this.manager ); + loader.setResponseType( 'arraybuffer' ); + loader.setPath( this.path ); + loader.setRequestHeader( this.requestHeader ); + loader.setWithCredentials( this.withCredentials ); + loader.load( url, function ( buffer ) { + + try { + + // Create a copy of the buffer. The `decodeAudioData` method + // detaches the buffer when complete, preventing reuse. + const bufferCopy = buffer.slice( 0 ); + + const context = AudioContext.getContext(); + context.decodeAudioData( bufferCopy, function ( audioBuffer ) { + + onLoad( audioBuffer ); + + } ); + + } catch ( e ) { + + if ( onError ) { + + onError( e ); + + } else { + + console.error( e ); + + } + + scope.manager.itemError( url ); + + } + + }, onProgress, onError ); + + } + +} + +class HemisphereLightProbe extends LightProbe { + + constructor( skyColor, groundColor, intensity = 1 ) { + + super( undefined, intensity ); + + const color1 = new Color().set( skyColor ); + const color2 = new Color().set( groundColor ); + + const sky = new Vector3( color1.r, color1.g, color1.b ); + const ground = new Vector3( color2.r, color2.g, color2.b ); + + // without extra factor of PI in the shader, should = 1 / Math.sqrt( Math.PI ); + const c0 = Math.sqrt( Math.PI ); + const c1 = c0 * Math.sqrt( 0.75 ); + + this.sh.coefficients[ 0 ].copy( sky ).add( ground ).multiplyScalar( c0 ); + this.sh.coefficients[ 1 ].copy( sky ).sub( ground ).multiplyScalar( c1 ); + + } + +} + +HemisphereLightProbe.prototype.isHemisphereLightProbe = true; + +class AmbientLightProbe extends LightProbe { + + constructor( color, intensity = 1 ) { + + super( undefined, intensity ); + + const color1 = new Color().set( color ); + + // without extra factor of PI in the shader, would be 2 / Math.sqrt( Math.PI ); + this.sh.coefficients[ 0 ].set( color1.r, color1.g, color1.b ).multiplyScalar( 2 * Math.sqrt( Math.PI ) ); + + } + +} + +AmbientLightProbe.prototype.isAmbientLightProbe = true; + +const _eyeRight = /*@__PURE__*/ new Matrix4(); +const _eyeLeft = /*@__PURE__*/ new Matrix4(); +const _projectionMatrix = /*@__PURE__*/ new Matrix4(); + +class StereoCamera { + + constructor() { + + this.type = 'StereoCamera'; + + this.aspect = 1; + + this.eyeSep = 0.064; + + this.cameraL = new PerspectiveCamera(); + this.cameraL.layers.enable( 1 ); + this.cameraL.matrixAutoUpdate = false; + + this.cameraR = new PerspectiveCamera(); + this.cameraR.layers.enable( 2 ); + this.cameraR.matrixAutoUpdate = false; + + this._cache = { + focus: null, + fov: null, + aspect: null, + near: null, + far: null, + zoom: null, + eyeSep: null + }; + + } + + update( camera ) { + + const cache = this._cache; + + const needsUpdate = cache.focus !== camera.focus || cache.fov !== camera.fov || + cache.aspect !== camera.aspect * this.aspect || cache.near !== camera.near || + cache.far !== camera.far || cache.zoom !== camera.zoom || cache.eyeSep !== this.eyeSep; + + if ( needsUpdate ) { + + cache.focus = camera.focus; + cache.fov = camera.fov; + cache.aspect = camera.aspect * this.aspect; + cache.near = camera.near; + cache.far = camera.far; + cache.zoom = camera.zoom; + cache.eyeSep = this.eyeSep; + + // Off-axis stereoscopic effect based on + // http://paulbourke.net/stereographics/stereorender/ + + _projectionMatrix.copy( camera.projectionMatrix ); + const eyeSepHalf = cache.eyeSep / 2; + const eyeSepOnProjection = eyeSepHalf * cache.near / cache.focus; + const ymax = ( cache.near * Math.tan( DEG2RAD * cache.fov * 0.5 ) ) / cache.zoom; + let xmin, xmax; + + // translate xOffset + + _eyeLeft.elements[ 12 ] = - eyeSepHalf; + _eyeRight.elements[ 12 ] = eyeSepHalf; + + // for left eye + + xmin = - ymax * cache.aspect + eyeSepOnProjection; + xmax = ymax * cache.aspect + eyeSepOnProjection; + + _projectionMatrix.elements[ 0 ] = 2 * cache.near / ( xmax - xmin ); + _projectionMatrix.elements[ 8 ] = ( xmax + xmin ) / ( xmax - xmin ); + + this.cameraL.projectionMatrix.copy( _projectionMatrix ); + + // for right eye + + xmin = - ymax * cache.aspect - eyeSepOnProjection; + xmax = ymax * cache.aspect - eyeSepOnProjection; + + _projectionMatrix.elements[ 0 ] = 2 * cache.near / ( xmax - xmin ); + _projectionMatrix.elements[ 8 ] = ( xmax + xmin ) / ( xmax - xmin ); + + this.cameraR.projectionMatrix.copy( _projectionMatrix ); + + } + + this.cameraL.matrixWorld.copy( camera.matrixWorld ).multiply( _eyeLeft ); + this.cameraR.matrixWorld.copy( camera.matrixWorld ).multiply( _eyeRight ); + + } + +} + +class Clock { + + constructor( autoStart = true ) { + + this.autoStart = autoStart; + + this.startTime = 0; + this.oldTime = 0; + this.elapsedTime = 0; + + this.running = false; + + } + + start() { + + this.startTime = now(); + + this.oldTime = this.startTime; + this.elapsedTime = 0; + this.running = true; + + } + + stop() { + + this.getElapsedTime(); + this.running = false; + this.autoStart = false; + + } + + getElapsedTime() { + + this.getDelta(); + return this.elapsedTime; + + } + + getDelta() { + + let diff = 0; + + if ( this.autoStart && ! this.running ) { + + this.start(); + return 0; + + } + + if ( this.running ) { + + const newTime = now(); + + diff = ( newTime - this.oldTime ) / 1000; + this.oldTime = newTime; + + this.elapsedTime += diff; + + } + + return diff; + + } + +} + +function now() { + + return ( typeof performance === 'undefined' ? Date : performance ).now(); // see #10732 + +} + +const _position$1 = /*@__PURE__*/ new Vector3(); +const _quaternion$1 = /*@__PURE__*/ new Quaternion(); +const _scale$1 = /*@__PURE__*/ new Vector3(); +const _orientation$1 = /*@__PURE__*/ new Vector3(); + +class AudioListener extends Object3D { + + constructor() { + + super(); + + this.type = 'AudioListener'; + + this.context = AudioContext.getContext(); + + this.gain = this.context.createGain(); + this.gain.connect( this.context.destination ); + + this.filter = null; + + this.timeDelta = 0; + + // private + + this._clock = new Clock(); + + } + + getInput() { + + return this.gain; + + } + + removeFilter() { + + if ( this.filter !== null ) { + + this.gain.disconnect( this.filter ); + this.filter.disconnect( this.context.destination ); + this.gain.connect( this.context.destination ); + this.filter = null; + + } + + return this; + + } + + getFilter() { + + return this.filter; + + } + + setFilter( value ) { + + if ( this.filter !== null ) { + + this.gain.disconnect( this.filter ); + this.filter.disconnect( this.context.destination ); + + } else { + + this.gain.disconnect( this.context.destination ); + + } + + this.filter = value; + this.gain.connect( this.filter ); + this.filter.connect( this.context.destination ); + + return this; + + } + + getMasterVolume() { + + return this.gain.gain.value; + + } + + setMasterVolume( value ) { + + this.gain.gain.setTargetAtTime( value, this.context.currentTime, 0.01 ); + + return this; + + } + + updateMatrixWorld( force ) { + + super.updateMatrixWorld( force ); + + const listener = this.context.listener; + const up = this.up; + + this.timeDelta = this._clock.getDelta(); + + this.matrixWorld.decompose( _position$1, _quaternion$1, _scale$1 ); + + _orientation$1.set( 0, 0, - 1 ).applyQuaternion( _quaternion$1 ); + + if ( listener.positionX ) { + + // code path for Chrome (see #14393) + + const endTime = this.context.currentTime + this.timeDelta; + + listener.positionX.linearRampToValueAtTime( _position$1.x, endTime ); + listener.positionY.linearRampToValueAtTime( _position$1.y, endTime ); + listener.positionZ.linearRampToValueAtTime( _position$1.z, endTime ); + listener.forwardX.linearRampToValueAtTime( _orientation$1.x, endTime ); + listener.forwardY.linearRampToValueAtTime( _orientation$1.y, endTime ); + listener.forwardZ.linearRampToValueAtTime( _orientation$1.z, endTime ); + listener.upX.linearRampToValueAtTime( up.x, endTime ); + listener.upY.linearRampToValueAtTime( up.y, endTime ); + listener.upZ.linearRampToValueAtTime( up.z, endTime ); + + } else { + + listener.setPosition( _position$1.x, _position$1.y, _position$1.z ); + listener.setOrientation( _orientation$1.x, _orientation$1.y, _orientation$1.z, up.x, up.y, up.z ); + + } + + } + +} + +class Audio extends Object3D { + + constructor( listener ) { + + super(); + + this.type = 'Audio'; + + this.listener = listener; + this.context = listener.context; + + this.gain = this.context.createGain(); + this.gain.connect( listener.getInput() ); + + this.autoplay = false; + + this.buffer = null; + this.detune = 0; + this.loop = false; + this.loopStart = 0; + this.loopEnd = 0; + this.offset = 0; + this.duration = undefined; + this.playbackRate = 1; + this.isPlaying = false; + this.hasPlaybackControl = true; + this.source = null; + this.sourceType = 'empty'; + + this._startedAt = 0; + this._progress = 0; + this._connected = false; + + this.filters = []; + + } + + getOutput() { + + return this.gain; + + } + + setNodeSource( audioNode ) { + + this.hasPlaybackControl = false; + this.sourceType = 'audioNode'; + this.source = audioNode; + this.connect(); + + return this; + + } + + setMediaElementSource( mediaElement ) { + + this.hasPlaybackControl = false; + this.sourceType = 'mediaNode'; + this.source = this.context.createMediaElementSource( mediaElement ); + this.connect(); + + return this; + + } + + setMediaStreamSource( mediaStream ) { + + this.hasPlaybackControl = false; + this.sourceType = 'mediaStreamNode'; + this.source = this.context.createMediaStreamSource( mediaStream ); + this.connect(); + + return this; + + } + + setBuffer( audioBuffer ) { + + this.buffer = audioBuffer; + this.sourceType = 'buffer'; + + if ( this.autoplay ) this.play(); + + return this; + + } + + play( delay = 0 ) { + + if ( this.isPlaying === true ) { + + console.warn( 'THREE.Audio: Audio is already playing.' ); + return; + + } + + if ( this.hasPlaybackControl === false ) { + + console.warn( 'THREE.Audio: this Audio has no playback control.' ); + return; + + } + + this._startedAt = this.context.currentTime + delay; + + const source = this.context.createBufferSource(); + source.buffer = this.buffer; + source.loop = this.loop; + source.loopStart = this.loopStart; + source.loopEnd = this.loopEnd; + source.onended = this.onEnded.bind( this ); + source.start( this._startedAt, this._progress + this.offset, this.duration ); + + this.isPlaying = true; + + this.source = source; + + this.setDetune( this.detune ); + this.setPlaybackRate( this.playbackRate ); + + return this.connect(); + + } + + pause() { + + if ( this.hasPlaybackControl === false ) { + + console.warn( 'THREE.Audio: this Audio has no playback control.' ); + return; + + } + + if ( this.isPlaying === true ) { + + // update current progress + + this._progress += Math.max( this.context.currentTime - this._startedAt, 0 ) * this.playbackRate; + + if ( this.loop === true ) { + + // ensure _progress does not exceed duration with looped audios + + this._progress = this._progress % ( this.duration || this.buffer.duration ); + + } + + this.source.stop(); + this.source.onended = null; + + this.isPlaying = false; + + } + + return this; + + } + + stop() { + + if ( this.hasPlaybackControl === false ) { + + console.warn( 'THREE.Audio: this Audio has no playback control.' ); + return; + + } + + this._progress = 0; + + this.source.stop(); + this.source.onended = null; + this.isPlaying = false; + + return this; + + } + + connect() { + + if ( this.filters.length > 0 ) { + + this.source.connect( this.filters[ 0 ] ); + + for ( let i = 1, l = this.filters.length; i < l; i ++ ) { + + this.filters[ i - 1 ].connect( this.filters[ i ] ); + + } + + this.filters[ this.filters.length - 1 ].connect( this.getOutput() ); + + } else { + + this.source.connect( this.getOutput() ); + + } + + this._connected = true; + + return this; + + } + + disconnect() { + + if ( this.filters.length > 0 ) { + + this.source.disconnect( this.filters[ 0 ] ); + + for ( let i = 1, l = this.filters.length; i < l; i ++ ) { + + this.filters[ i - 1 ].disconnect( this.filters[ i ] ); + + } + + this.filters[ this.filters.length - 1 ].disconnect( this.getOutput() ); + + } else { + + this.source.disconnect( this.getOutput() ); + + } + + this._connected = false; + + return this; + + } + + getFilters() { + + return this.filters; + + } + + setFilters( value ) { + + if ( ! value ) value = []; + + if ( this._connected === true ) { + + this.disconnect(); + this.filters = value.slice(); + this.connect(); + + } else { + + this.filters = value.slice(); + + } + + return this; + + } + + setDetune( value ) { + + this.detune = value; + + if ( this.source.detune === undefined ) return; // only set detune when available + + if ( this.isPlaying === true ) { + + this.source.detune.setTargetAtTime( this.detune, this.context.currentTime, 0.01 ); + + } + + return this; + + } + + getDetune() { + + return this.detune; + + } + + getFilter() { + + return this.getFilters()[ 0 ]; + + } + + setFilter( filter ) { + + return this.setFilters( filter ? [ filter ] : [] ); + + } + + setPlaybackRate( value ) { + + if ( this.hasPlaybackControl === false ) { + + console.warn( 'THREE.Audio: this Audio has no playback control.' ); + return; + + } + + this.playbackRate = value; + + if ( this.isPlaying === true ) { + + this.source.playbackRate.setTargetAtTime( this.playbackRate, this.context.currentTime, 0.01 ); + + } + + return this; + + } + + getPlaybackRate() { + + return this.playbackRate; + + } + + onEnded() { + + this.isPlaying = false; + + } + + getLoop() { + + if ( this.hasPlaybackControl === false ) { + + console.warn( 'THREE.Audio: this Audio has no playback control.' ); + return false; + + } + + return this.loop; + + } + + setLoop( value ) { + + if ( this.hasPlaybackControl === false ) { + + console.warn( 'THREE.Audio: this Audio has no playback control.' ); + return; + + } + + this.loop = value; + + if ( this.isPlaying === true ) { + + this.source.loop = this.loop; + + } + + return this; + + } + + setLoopStart( value ) { + + this.loopStart = value; + + return this; + + } + + setLoopEnd( value ) { + + this.loopEnd = value; + + return this; + + } + + getVolume() { + + return this.gain.gain.value; + + } + + setVolume( value ) { + + this.gain.gain.setTargetAtTime( value, this.context.currentTime, 0.01 ); + + return this; + + } + +} + +const _position = /*@__PURE__*/ new Vector3(); +const _quaternion = /*@__PURE__*/ new Quaternion(); +const _scale = /*@__PURE__*/ new Vector3(); +const _orientation = /*@__PURE__*/ new Vector3(); + +class PositionalAudio extends Audio { + + constructor( listener ) { + + super( listener ); + + this.panner = this.context.createPanner(); + this.panner.panningModel = 'HRTF'; + this.panner.connect( this.gain ); + + } + + getOutput() { + + return this.panner; + + } + + getRefDistance() { + + return this.panner.refDistance; + + } + + setRefDistance( value ) { + + this.panner.refDistance = value; + + return this; + + } + + getRolloffFactor() { + + return this.panner.rolloffFactor; + + } + + setRolloffFactor( value ) { + + this.panner.rolloffFactor = value; + + return this; + + } + + getDistanceModel() { + + return this.panner.distanceModel; + + } + + setDistanceModel( value ) { + + this.panner.distanceModel = value; + + return this; + + } + + getMaxDistance() { + + return this.panner.maxDistance; + + } + + setMaxDistance( value ) { + + this.panner.maxDistance = value; + + return this; + + } + + setDirectionalCone( coneInnerAngle, coneOuterAngle, coneOuterGain ) { + + this.panner.coneInnerAngle = coneInnerAngle; + this.panner.coneOuterAngle = coneOuterAngle; + this.panner.coneOuterGain = coneOuterGain; + + return this; + + } + + updateMatrixWorld( force ) { + + super.updateMatrixWorld( force ); + + if ( this.hasPlaybackControl === true && this.isPlaying === false ) return; + + this.matrixWorld.decompose( _position, _quaternion, _scale ); + + _orientation.set( 0, 0, 1 ).applyQuaternion( _quaternion ); + + const panner = this.panner; + + if ( panner.positionX ) { + + // code path for Chrome and Firefox (see #14393) + + const endTime = this.context.currentTime + this.listener.timeDelta; + + panner.positionX.linearRampToValueAtTime( _position.x, endTime ); + panner.positionY.linearRampToValueAtTime( _position.y, endTime ); + panner.positionZ.linearRampToValueAtTime( _position.z, endTime ); + panner.orientationX.linearRampToValueAtTime( _orientation.x, endTime ); + panner.orientationY.linearRampToValueAtTime( _orientation.y, endTime ); + panner.orientationZ.linearRampToValueAtTime( _orientation.z, endTime ); + + } else { + + panner.setPosition( _position.x, _position.y, _position.z ); + panner.setOrientation( _orientation.x, _orientation.y, _orientation.z ); + + } + + } + +} + +class AudioAnalyser { + + constructor( audio, fftSize = 2048 ) { + + this.analyser = audio.context.createAnalyser(); + this.analyser.fftSize = fftSize; + + this.data = new Uint8Array( this.analyser.frequencyBinCount ); + + audio.getOutput().connect( this.analyser ); + + } + + + getFrequencyData() { + + this.analyser.getByteFrequencyData( this.data ); + + return this.data; + + } + + getAverageFrequency() { + + let value = 0; + const data = this.getFrequencyData(); + + for ( let i = 0; i < data.length; i ++ ) { + + value += data[ i ]; + + } + + return value / data.length; + + } + +} + +class PropertyMixer { + + constructor( binding, typeName, valueSize ) { + + this.binding = binding; + this.valueSize = valueSize; + + let mixFunction, + mixFunctionAdditive, + setIdentity; + + // buffer layout: [ incoming | accu0 | accu1 | orig | addAccu | (optional work) ] + // + // interpolators can use .buffer as their .result + // the data then goes to 'incoming' + // + // 'accu0' and 'accu1' are used frame-interleaved for + // the cumulative result and are compared to detect + // changes + // + // 'orig' stores the original state of the property + // + // 'add' is used for additive cumulative results + // + // 'work' is optional and is only present for quaternion types. It is used + // to store intermediate quaternion multiplication results + + switch ( typeName ) { + + case 'quaternion': + mixFunction = this._slerp; + mixFunctionAdditive = this._slerpAdditive; + setIdentity = this._setAdditiveIdentityQuaternion; + + this.buffer = new Float64Array( valueSize * 6 ); + this._workIndex = 5; + break; + + case 'string': + case 'bool': + mixFunction = this._select; + + // Use the regular mix function and for additive on these types, + // additive is not relevant for non-numeric types + mixFunctionAdditive = this._select; + + setIdentity = this._setAdditiveIdentityOther; + + this.buffer = new Array( valueSize * 5 ); + break; + + default: + mixFunction = this._lerp; + mixFunctionAdditive = this._lerpAdditive; + setIdentity = this._setAdditiveIdentityNumeric; + + this.buffer = new Float64Array( valueSize * 5 ); + + } + + this._mixBufferRegion = mixFunction; + this._mixBufferRegionAdditive = mixFunctionAdditive; + this._setIdentity = setIdentity; + this._origIndex = 3; + this._addIndex = 4; + + this.cumulativeWeight = 0; + this.cumulativeWeightAdditive = 0; + + this.useCount = 0; + this.referenceCount = 0; + + } + + // accumulate data in the 'incoming' region into 'accu' + accumulate( accuIndex, weight ) { + + // note: happily accumulating nothing when weight = 0, the caller knows + // the weight and shouldn't have made the call in the first place + + const buffer = this.buffer, + stride = this.valueSize, + offset = accuIndex * stride + stride; + + let currentWeight = this.cumulativeWeight; + + if ( currentWeight === 0 ) { + + // accuN := incoming * weight + + for ( let i = 0; i !== stride; ++ i ) { + + buffer[ offset + i ] = buffer[ i ]; + + } + + currentWeight = weight; + + } else { + + // accuN := accuN + incoming * weight + + currentWeight += weight; + const mix = weight / currentWeight; + this._mixBufferRegion( buffer, offset, 0, mix, stride ); + + } + + this.cumulativeWeight = currentWeight; + + } + + // accumulate data in the 'incoming' region into 'add' + accumulateAdditive( weight ) { + + const buffer = this.buffer, + stride = this.valueSize, + offset = stride * this._addIndex; + + if ( this.cumulativeWeightAdditive === 0 ) { + + // add = identity + + this._setIdentity(); + + } + + // add := add + incoming * weight + + this._mixBufferRegionAdditive( buffer, offset, 0, weight, stride ); + this.cumulativeWeightAdditive += weight; + + } + + // apply the state of 'accu' to the binding when accus differ + apply( accuIndex ) { + + const stride = this.valueSize, + buffer = this.buffer, + offset = accuIndex * stride + stride, + + weight = this.cumulativeWeight, + weightAdditive = this.cumulativeWeightAdditive, + + binding = this.binding; + + this.cumulativeWeight = 0; + this.cumulativeWeightAdditive = 0; + + if ( weight < 1 ) { + + // accuN := accuN + original * ( 1 - cumulativeWeight ) + + const originalValueOffset = stride * this._origIndex; + + this._mixBufferRegion( + buffer, offset, originalValueOffset, 1 - weight, stride ); + + } + + if ( weightAdditive > 0 ) { + + // accuN := accuN + additive accuN + + this._mixBufferRegionAdditive( buffer, offset, this._addIndex * stride, 1, stride ); + + } + + for ( let i = stride, e = stride + stride; i !== e; ++ i ) { + + if ( buffer[ i ] !== buffer[ i + stride ] ) { + + // value has changed -> update scene graph + + binding.setValue( buffer, offset ); + break; + + } + + } + + } + + // remember the state of the bound property and copy it to both accus + saveOriginalState() { + + const binding = this.binding; + + const buffer = this.buffer, + stride = this.valueSize, + + originalValueOffset = stride * this._origIndex; + + binding.getValue( buffer, originalValueOffset ); + + // accu[0..1] := orig -- initially detect changes against the original + for ( let i = stride, e = originalValueOffset; i !== e; ++ i ) { + + buffer[ i ] = buffer[ originalValueOffset + ( i % stride ) ]; + + } + + // Add to identity for additive + this._setIdentity(); + + this.cumulativeWeight = 0; + this.cumulativeWeightAdditive = 0; + + } + + // apply the state previously taken via 'saveOriginalState' to the binding + restoreOriginalState() { + + const originalValueOffset = this.valueSize * 3; + this.binding.setValue( this.buffer, originalValueOffset ); + + } + + _setAdditiveIdentityNumeric() { + + const startIndex = this._addIndex * this.valueSize; + const endIndex = startIndex + this.valueSize; + + for ( let i = startIndex; i < endIndex; i ++ ) { + + this.buffer[ i ] = 0; + + } + + } + + _setAdditiveIdentityQuaternion() { + + this._setAdditiveIdentityNumeric(); + this.buffer[ this._addIndex * this.valueSize + 3 ] = 1; + + } + + _setAdditiveIdentityOther() { + + const startIndex = this._origIndex * this.valueSize; + const targetIndex = this._addIndex * this.valueSize; + + for ( let i = 0; i < this.valueSize; i ++ ) { + + this.buffer[ targetIndex + i ] = this.buffer[ startIndex + i ]; + + } + + } + + + // mix functions + + _select( buffer, dstOffset, srcOffset, t, stride ) { + + if ( t >= 0.5 ) { + + for ( let i = 0; i !== stride; ++ i ) { + + buffer[ dstOffset + i ] = buffer[ srcOffset + i ]; + + } + + } + + } + + _slerp( buffer, dstOffset, srcOffset, t ) { + + Quaternion.slerpFlat( buffer, dstOffset, buffer, dstOffset, buffer, srcOffset, t ); + + } + + _slerpAdditive( buffer, dstOffset, srcOffset, t, stride ) { + + const workOffset = this._workIndex * stride; + + // Store result in intermediate buffer offset + Quaternion.multiplyQuaternionsFlat( buffer, workOffset, buffer, dstOffset, buffer, srcOffset ); + + // Slerp to the intermediate result + Quaternion.slerpFlat( buffer, dstOffset, buffer, dstOffset, buffer, workOffset, t ); + + } + + _lerp( buffer, dstOffset, srcOffset, t, stride ) { + + const s = 1 - t; + + for ( let i = 0; i !== stride; ++ i ) { + + const j = dstOffset + i; + + buffer[ j ] = buffer[ j ] * s + buffer[ srcOffset + i ] * t; + + } + + } + + _lerpAdditive( buffer, dstOffset, srcOffset, t, stride ) { + + for ( let i = 0; i !== stride; ++ i ) { + + const j = dstOffset + i; + + buffer[ j ] = buffer[ j ] + buffer[ srcOffset + i ] * t; + + } + + } + +} + +// Characters [].:/ are reserved for track binding syntax. +const _RESERVED_CHARS_RE = '\\[\\]\\.:\\/'; +const _reservedRe = new RegExp( '[' + _RESERVED_CHARS_RE + ']', 'g' ); + +// Attempts to allow node names from any language. ES5's `\w` regexp matches +// only latin characters, and the unicode \p{L} is not yet supported. So +// instead, we exclude reserved characters and match everything else. +const _wordChar = '[^' + _RESERVED_CHARS_RE + ']'; +const _wordCharOrDot = '[^' + _RESERVED_CHARS_RE.replace( '\\.', '' ) + ']'; + +// Parent directories, delimited by '/' or ':'. Currently unused, but must +// be matched to parse the rest of the track name. +const _directoryRe = /((?:WC+[\/:])*)/.source.replace( 'WC', _wordChar ); + +// Target node. May contain word characters (a-zA-Z0-9_) and '.' or '-'. +const _nodeRe = /(WCOD+)?/.source.replace( 'WCOD', _wordCharOrDot ); + +// Object on target node, and accessor. May not contain reserved +// characters. Accessor may contain any character except closing bracket. +const _objectRe = /(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace( 'WC', _wordChar ); + +// Property and accessor. May not contain reserved characters. Accessor may +// contain any non-bracket characters. +const _propertyRe = /\.(WC+)(?:\[(.+)\])?/.source.replace( 'WC', _wordChar ); + +const _trackRe = new RegExp( '' + + '^' + + _directoryRe + + _nodeRe + + _objectRe + + _propertyRe + + '$' +); + +const _supportedObjectNames = [ 'material', 'materials', 'bones' ]; + +class Composite { + + constructor( targetGroup, path, optionalParsedPath ) { + + const parsedPath = optionalParsedPath || PropertyBinding.parseTrackName( path ); + + this._targetGroup = targetGroup; + this._bindings = targetGroup.subscribe_( path, parsedPath ); + + } + + getValue( array, offset ) { + + this.bind(); // bind all binding + + const firstValidIndex = this._targetGroup.nCachedObjects_, + binding = this._bindings[ firstValidIndex ]; + + // and only call .getValue on the first + if ( binding !== undefined ) binding.getValue( array, offset ); + + } + + setValue( array, offset ) { + + const bindings = this._bindings; + + for ( let i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++ i ) { + + bindings[ i ].setValue( array, offset ); + + } + + } + + bind() { + + const bindings = this._bindings; + + for ( let i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++ i ) { + + bindings[ i ].bind(); + + } + + } + + unbind() { + + const bindings = this._bindings; + + for ( let i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++ i ) { + + bindings[ i ].unbind(); + + } + + } + +} + +// Note: This class uses a State pattern on a per-method basis: +// 'bind' sets 'this.getValue' / 'setValue' and shadows the +// prototype version of these methods with one that represents +// the bound state. When the property is not found, the methods +// become no-ops. +class PropertyBinding { + + constructor( rootNode, path, parsedPath ) { + + this.path = path; + this.parsedPath = parsedPath || PropertyBinding.parseTrackName( path ); + + this.node = PropertyBinding.findNode( rootNode, this.parsedPath.nodeName ) || rootNode; + + this.rootNode = rootNode; + + // initial state of these methods that calls 'bind' + this.getValue = this._getValue_unbound; + this.setValue = this._setValue_unbound; + + } + + + static create( root, path, parsedPath ) { + + if ( ! ( root && root.isAnimationObjectGroup ) ) { + + return new PropertyBinding( root, path, parsedPath ); + + } else { + + return new PropertyBinding.Composite( root, path, parsedPath ); + + } + + } + + /** + * Replaces spaces with underscores and removes unsupported characters from + * node names, to ensure compatibility with parseTrackName(). + * + * @param {string} name Node name to be sanitized. + * @return {string} + */ + static sanitizeNodeName( name ) { + + return name.replace( /\s/g, '_' ).replace( _reservedRe, '' ); + + } + + static parseTrackName( trackName ) { + + const matches = _trackRe.exec( trackName ); + + if ( ! matches ) { + + throw new Error( 'PropertyBinding: Cannot parse trackName: ' + trackName ); + + } + + const results = { + // directoryName: matches[ 1 ], // (tschw) currently unused + nodeName: matches[ 2 ], + objectName: matches[ 3 ], + objectIndex: matches[ 4 ], + propertyName: matches[ 5 ], // required + propertyIndex: matches[ 6 ] + }; + + const lastDot = results.nodeName && results.nodeName.lastIndexOf( '.' ); + + if ( lastDot !== undefined && lastDot !== - 1 ) { + + const objectName = results.nodeName.substring( lastDot + 1 ); + + // Object names must be checked against an allowlist. Otherwise, there + // is no way to parse 'foo.bar.baz': 'baz' must be a property, but + // 'bar' could be the objectName, or part of a nodeName (which can + // include '.' characters). + if ( _supportedObjectNames.indexOf( objectName ) !== - 1 ) { + + results.nodeName = results.nodeName.substring( 0, lastDot ); + results.objectName = objectName; + + } + + } + + if ( results.propertyName === null || results.propertyName.length === 0 ) { + + throw new Error( 'PropertyBinding: can not parse propertyName from trackName: ' + trackName ); + + } + + return results; + + } + + static findNode( root, nodeName ) { + + if ( ! nodeName || nodeName === '' || nodeName === '.' || nodeName === - 1 || nodeName === root.name || nodeName === root.uuid ) { + + return root; + + } + + // search into skeleton bones. + if ( root.skeleton ) { + + const bone = root.skeleton.getBoneByName( nodeName ); + + if ( bone !== undefined ) { + + return bone; + + } + + } + + // search into node subtree. + if ( root.children ) { + + const searchNodeSubtree = function ( children ) { + + for ( let i = 0; i < children.length; i ++ ) { + + const childNode = children[ i ]; + + if ( childNode.name === nodeName || childNode.uuid === nodeName ) { + + return childNode; + + } + + const result = searchNodeSubtree( childNode.children ); + + if ( result ) return result; + + } + + return null; + + }; + + const subTreeNode = searchNodeSubtree( root.children ); + + if ( subTreeNode ) { + + return subTreeNode; + + } + + } + + return null; + + } + + // these are used to "bind" a nonexistent property + _getValue_unavailable() {} + _setValue_unavailable() {} + + // Getters + + _getValue_direct( buffer, offset ) { + + buffer[ offset ] = this.targetObject[ this.propertyName ]; + + } + + _getValue_array( buffer, offset ) { + + const source = this.resolvedProperty; + + for ( let i = 0, n = source.length; i !== n; ++ i ) { + + buffer[ offset ++ ] = source[ i ]; + + } + + } + + _getValue_arrayElement( buffer, offset ) { + + buffer[ offset ] = this.resolvedProperty[ this.propertyIndex ]; + + } + + _getValue_toArray( buffer, offset ) { + + this.resolvedProperty.toArray( buffer, offset ); + + } + + // Direct + + _setValue_direct( buffer, offset ) { + + this.targetObject[ this.propertyName ] = buffer[ offset ]; + + } + + _setValue_direct_setNeedsUpdate( buffer, offset ) { + + this.targetObject[ this.propertyName ] = buffer[ offset ]; + this.targetObject.needsUpdate = true; + + } + + _setValue_direct_setMatrixWorldNeedsUpdate( buffer, offset ) { + + this.targetObject[ this.propertyName ] = buffer[ offset ]; + this.targetObject.matrixWorldNeedsUpdate = true; + + } + + // EntireArray + + _setValue_array( buffer, offset ) { + + const dest = this.resolvedProperty; + + for ( let i = 0, n = dest.length; i !== n; ++ i ) { + + dest[ i ] = buffer[ offset ++ ]; + + } + + } + + _setValue_array_setNeedsUpdate( buffer, offset ) { + + const dest = this.resolvedProperty; + + for ( let i = 0, n = dest.length; i !== n; ++ i ) { + + dest[ i ] = buffer[ offset ++ ]; + + } + + this.targetObject.needsUpdate = true; + + } + + _setValue_array_setMatrixWorldNeedsUpdate( buffer, offset ) { + + const dest = this.resolvedProperty; + + for ( let i = 0, n = dest.length; i !== n; ++ i ) { + + dest[ i ] = buffer[ offset ++ ]; + + } + + this.targetObject.matrixWorldNeedsUpdate = true; + + } + + // ArrayElement + + _setValue_arrayElement( buffer, offset ) { + + this.resolvedProperty[ this.propertyIndex ] = buffer[ offset ]; + + } + + _setValue_arrayElement_setNeedsUpdate( buffer, offset ) { + + this.resolvedProperty[ this.propertyIndex ] = buffer[ offset ]; + this.targetObject.needsUpdate = true; + + } + + _setValue_arrayElement_setMatrixWorldNeedsUpdate( buffer, offset ) { + + this.resolvedProperty[ this.propertyIndex ] = buffer[ offset ]; + this.targetObject.matrixWorldNeedsUpdate = true; + + } + + // HasToFromArray + + _setValue_fromArray( buffer, offset ) { + + this.resolvedProperty.fromArray( buffer, offset ); + + } + + _setValue_fromArray_setNeedsUpdate( buffer, offset ) { + + this.resolvedProperty.fromArray( buffer, offset ); + this.targetObject.needsUpdate = true; + + } + + _setValue_fromArray_setMatrixWorldNeedsUpdate( buffer, offset ) { + + this.resolvedProperty.fromArray( buffer, offset ); + this.targetObject.matrixWorldNeedsUpdate = true; + + } + + _getValue_unbound( targetArray, offset ) { + + this.bind(); + this.getValue( targetArray, offset ); + + } + + _setValue_unbound( sourceArray, offset ) { + + this.bind(); + this.setValue( sourceArray, offset ); + + } + + // create getter / setter pair for a property in the scene graph + bind() { + + let targetObject = this.node; + const parsedPath = this.parsedPath; + + const objectName = parsedPath.objectName; + const propertyName = parsedPath.propertyName; + let propertyIndex = parsedPath.propertyIndex; + + if ( ! targetObject ) { + + targetObject = PropertyBinding.findNode( this.rootNode, parsedPath.nodeName ) || this.rootNode; + + this.node = targetObject; + + } + + // set fail state so we can just 'return' on error + this.getValue = this._getValue_unavailable; + this.setValue = this._setValue_unavailable; + + // ensure there is a value node + if ( ! targetObject ) { + + console.error( 'THREE.PropertyBinding: Trying to update node for track: ' + this.path + ' but it wasn\'t found.' ); + return; + + } + + if ( objectName ) { + + let objectIndex = parsedPath.objectIndex; + + // special cases were we need to reach deeper into the hierarchy to get the face materials.... + switch ( objectName ) { + + case 'materials': + + if ( ! targetObject.material ) { + + console.error( 'THREE.PropertyBinding: Can not bind to material as node does not have a material.', this ); + return; + + } + + if ( ! targetObject.material.materials ) { + + console.error( 'THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.', this ); + return; + + } + + targetObject = targetObject.material.materials; + + break; + + case 'bones': + + if ( ! targetObject.skeleton ) { + + console.error( 'THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.', this ); + return; + + } + + // potential future optimization: skip this if propertyIndex is already an integer + // and convert the integer string to a true integer. + + targetObject = targetObject.skeleton.bones; + + // support resolving morphTarget names into indices. + for ( let i = 0; i < targetObject.length; i ++ ) { + + if ( targetObject[ i ].name === objectIndex ) { + + objectIndex = i; + break; + + } + + } + + break; + + default: + + if ( targetObject[ objectName ] === undefined ) { + + console.error( 'THREE.PropertyBinding: Can not bind to objectName of node undefined.', this ); + return; + + } + + targetObject = targetObject[ objectName ]; + + } + + + if ( objectIndex !== undefined ) { + + if ( targetObject[ objectIndex ] === undefined ) { + + console.error( 'THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.', this, targetObject ); + return; + + } + + targetObject = targetObject[ objectIndex ]; + + } + + } + + // resolve property + const nodeProperty = targetObject[ propertyName ]; + + if ( nodeProperty === undefined ) { + + const nodeName = parsedPath.nodeName; + + console.error( 'THREE.PropertyBinding: Trying to update property for track: ' + nodeName + + '.' + propertyName + ' but it wasn\'t found.', targetObject ); + return; + + } + + // determine versioning scheme + let versioning = this.Versioning.None; + + this.targetObject = targetObject; + + if ( targetObject.needsUpdate !== undefined ) { // material + + versioning = this.Versioning.NeedsUpdate; + + } else if ( targetObject.matrixWorldNeedsUpdate !== undefined ) { // node transform + + versioning = this.Versioning.MatrixWorldNeedsUpdate; + + } + + // determine how the property gets bound + let bindingType = this.BindingType.Direct; + + if ( propertyIndex !== undefined ) { + + // access a sub element of the property array (only primitives are supported right now) + + if ( propertyName === 'morphTargetInfluences' ) { + + // potential optimization, skip this if propertyIndex is already an integer, and convert the integer string to a true integer. + + // support resolving morphTarget names into indices. + if ( ! targetObject.geometry ) { + + console.error( 'THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.', this ); + return; + + } + + if ( targetObject.geometry.isBufferGeometry ) { + + if ( ! targetObject.geometry.morphAttributes ) { + + console.error( 'THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.', this ); + return; + + } + + if ( targetObject.morphTargetDictionary[ propertyIndex ] !== undefined ) { + + propertyIndex = targetObject.morphTargetDictionary[ propertyIndex ]; + + } + + + } else { + + console.error( 'THREE.PropertyBinding: Can not bind to morphTargetInfluences on THREE.Geometry. Use THREE.BufferGeometry instead.', this ); + return; + + } + + } + + bindingType = this.BindingType.ArrayElement; + + this.resolvedProperty = nodeProperty; + this.propertyIndex = propertyIndex; + + } else if ( nodeProperty.fromArray !== undefined && nodeProperty.toArray !== undefined ) { + + // must use copy for Object3D.Euler/Quaternion + + bindingType = this.BindingType.HasFromToArray; + + this.resolvedProperty = nodeProperty; + + } else if ( Array.isArray( nodeProperty ) ) { + + bindingType = this.BindingType.EntireArray; + + this.resolvedProperty = nodeProperty; + + } else { + + this.propertyName = propertyName; + + } + + // select getter / setter + this.getValue = this.GetterByBindingType[ bindingType ]; + this.setValue = this.SetterByBindingTypeAndVersioning[ bindingType ][ versioning ]; + + } + + unbind() { + + this.node = null; + + // back to the prototype version of getValue / setValue + // note: avoiding to mutate the shape of 'this' via 'delete' + this.getValue = this._getValue_unbound; + this.setValue = this._setValue_unbound; + + } + +} + +PropertyBinding.Composite = Composite; + +PropertyBinding.prototype.BindingType = { + Direct: 0, + EntireArray: 1, + ArrayElement: 2, + HasFromToArray: 3 +}; + +PropertyBinding.prototype.Versioning = { + None: 0, + NeedsUpdate: 1, + MatrixWorldNeedsUpdate: 2 +}; + +PropertyBinding.prototype.GetterByBindingType = [ + + PropertyBinding.prototype._getValue_direct, + PropertyBinding.prototype._getValue_array, + PropertyBinding.prototype._getValue_arrayElement, + PropertyBinding.prototype._getValue_toArray, + +]; + +PropertyBinding.prototype.SetterByBindingTypeAndVersioning = [ + + [ + // Direct + PropertyBinding.prototype._setValue_direct, + PropertyBinding.prototype._setValue_direct_setNeedsUpdate, + PropertyBinding.prototype._setValue_direct_setMatrixWorldNeedsUpdate, + + ], [ + + // EntireArray + + PropertyBinding.prototype._setValue_array, + PropertyBinding.prototype._setValue_array_setNeedsUpdate, + PropertyBinding.prototype._setValue_array_setMatrixWorldNeedsUpdate, + + ], [ + + // ArrayElement + PropertyBinding.prototype._setValue_arrayElement, + PropertyBinding.prototype._setValue_arrayElement_setNeedsUpdate, + PropertyBinding.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate, + + ], [ + + // HasToFromArray + PropertyBinding.prototype._setValue_fromArray, + PropertyBinding.prototype._setValue_fromArray_setNeedsUpdate, + PropertyBinding.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate, + + ] + +]; + +/** + * + * A group of objects that receives a shared animation state. + * + * Usage: + * + * - Add objects you would otherwise pass as 'root' to the + * constructor or the .clipAction method of AnimationMixer. + * + * - Instead pass this object as 'root'. + * + * - You can also add and remove objects later when the mixer + * is running. + * + * Note: + * + * Objects of this class appear as one object to the mixer, + * so cache control of the individual objects must be done + * on the group. + * + * Limitation: + * + * - The animated properties must be compatible among the + * all objects in the group. + * + * - A single property can either be controlled through a + * target group or directly, but not both. + */ + +class AnimationObjectGroup { + + constructor() { + + this.uuid = generateUUID(); + + // cached objects followed by the active ones + this._objects = Array.prototype.slice.call( arguments ); + + this.nCachedObjects_ = 0; // threshold + // note: read by PropertyBinding.Composite + + const indices = {}; + this._indicesByUUID = indices; // for bookkeeping + + for ( let i = 0, n = arguments.length; i !== n; ++ i ) { + + indices[ arguments[ i ].uuid ] = i; + + } + + this._paths = []; // inside: string + this._parsedPaths = []; // inside: { we don't care, here } + this._bindings = []; // inside: Array< PropertyBinding > + this._bindingsIndicesByPath = {}; // inside: indices in these arrays + + const scope = this; + + this.stats = { + + objects: { + get total() { + + return scope._objects.length; + + }, + get inUse() { + + return this.total - scope.nCachedObjects_; + + } + }, + get bindingsPerObject() { + + return scope._bindings.length; + + } + + }; + + } + + add() { + + const objects = this._objects, + indicesByUUID = this._indicesByUUID, + paths = this._paths, + parsedPaths = this._parsedPaths, + bindings = this._bindings, + nBindings = bindings.length; + + let knownObject = undefined, + nObjects = objects.length, + nCachedObjects = this.nCachedObjects_; + + for ( let i = 0, n = arguments.length; i !== n; ++ i ) { + + const object = arguments[ i ], + uuid = object.uuid; + let index = indicesByUUID[ uuid ]; + + if ( index === undefined ) { + + // unknown object -> add it to the ACTIVE region + + index = nObjects ++; + indicesByUUID[ uuid ] = index; + objects.push( object ); + + // accounting is done, now do the same for all bindings + + for ( let j = 0, m = nBindings; j !== m; ++ j ) { + + bindings[ j ].push( new PropertyBinding( object, paths[ j ], parsedPaths[ j ] ) ); + + } + + } else if ( index < nCachedObjects ) { + + knownObject = objects[ index ]; + + // move existing object to the ACTIVE region + + const firstActiveIndex = -- nCachedObjects, + lastCachedObject = objects[ firstActiveIndex ]; + + indicesByUUID[ lastCachedObject.uuid ] = index; + objects[ index ] = lastCachedObject; + + indicesByUUID[ uuid ] = firstActiveIndex; + objects[ firstActiveIndex ] = object; + + // accounting is done, now do the same for all bindings + + for ( let j = 0, m = nBindings; j !== m; ++ j ) { + + const bindingsForPath = bindings[ j ], + lastCached = bindingsForPath[ firstActiveIndex ]; + + let binding = bindingsForPath[ index ]; + + bindingsForPath[ index ] = lastCached; + + if ( binding === undefined ) { + + // since we do not bother to create new bindings + // for objects that are cached, the binding may + // or may not exist + + binding = new PropertyBinding( object, paths[ j ], parsedPaths[ j ] ); + + } + + bindingsForPath[ firstActiveIndex ] = binding; + + } + + } else if ( objects[ index ] !== knownObject ) { + + console.error( 'THREE.AnimationObjectGroup: Different objects with the same UUID ' + + 'detected. Clean the caches or recreate your infrastructure when reloading scenes.' ); + + } // else the object is already where we want it to be + + } // for arguments + + this.nCachedObjects_ = nCachedObjects; + + } + + remove() { + + const objects = this._objects, + indicesByUUID = this._indicesByUUID, + bindings = this._bindings, + nBindings = bindings.length; + + let nCachedObjects = this.nCachedObjects_; + + for ( let i = 0, n = arguments.length; i !== n; ++ i ) { + + const object = arguments[ i ], + uuid = object.uuid, + index = indicesByUUID[ uuid ]; + + if ( index !== undefined && index >= nCachedObjects ) { + + // move existing object into the CACHED region + + const lastCachedIndex = nCachedObjects ++, + firstActiveObject = objects[ lastCachedIndex ]; + + indicesByUUID[ firstActiveObject.uuid ] = index; + objects[ index ] = firstActiveObject; + + indicesByUUID[ uuid ] = lastCachedIndex; + objects[ lastCachedIndex ] = object; + + // accounting is done, now do the same for all bindings + + for ( let j = 0, m = nBindings; j !== m; ++ j ) { + + const bindingsForPath = bindings[ j ], + firstActive = bindingsForPath[ lastCachedIndex ], + binding = bindingsForPath[ index ]; + + bindingsForPath[ index ] = firstActive; + bindingsForPath[ lastCachedIndex ] = binding; + + } + + } + + } // for arguments + + this.nCachedObjects_ = nCachedObjects; + + } + + // remove & forget + uncache() { + + const objects = this._objects, + indicesByUUID = this._indicesByUUID, + bindings = this._bindings, + nBindings = bindings.length; + + let nCachedObjects = this.nCachedObjects_, + nObjects = objects.length; + + for ( let i = 0, n = arguments.length; i !== n; ++ i ) { + + const object = arguments[ i ], + uuid = object.uuid, + index = indicesByUUID[ uuid ]; + + if ( index !== undefined ) { + + delete indicesByUUID[ uuid ]; + + if ( index < nCachedObjects ) { + + // object is cached, shrink the CACHED region + + const firstActiveIndex = -- nCachedObjects, + lastCachedObject = objects[ firstActiveIndex ], + lastIndex = -- nObjects, + lastObject = objects[ lastIndex ]; + + // last cached object takes this object's place + indicesByUUID[ lastCachedObject.uuid ] = index; + objects[ index ] = lastCachedObject; + + // last object goes to the activated slot and pop + indicesByUUID[ lastObject.uuid ] = firstActiveIndex; + objects[ firstActiveIndex ] = lastObject; + objects.pop(); + + // accounting is done, now do the same for all bindings + + for ( let j = 0, m = nBindings; j !== m; ++ j ) { + + const bindingsForPath = bindings[ j ], + lastCached = bindingsForPath[ firstActiveIndex ], + last = bindingsForPath[ lastIndex ]; + + bindingsForPath[ index ] = lastCached; + bindingsForPath[ firstActiveIndex ] = last; + bindingsForPath.pop(); + + } + + } else { + + // object is active, just swap with the last and pop + + const lastIndex = -- nObjects, + lastObject = objects[ lastIndex ]; + + if ( lastIndex > 0 ) { + + indicesByUUID[ lastObject.uuid ] = index; + + } + + objects[ index ] = lastObject; + objects.pop(); + + // accounting is done, now do the same for all bindings + + for ( let j = 0, m = nBindings; j !== m; ++ j ) { + + const bindingsForPath = bindings[ j ]; + + bindingsForPath[ index ] = bindingsForPath[ lastIndex ]; + bindingsForPath.pop(); + + } + + } // cached or active + + } // if object is known + + } // for arguments + + this.nCachedObjects_ = nCachedObjects; + + } + + // Internal interface used by befriended PropertyBinding.Composite: + + subscribe_( path, parsedPath ) { + + // returns an array of bindings for the given path that is changed + // according to the contained objects in the group + + const indicesByPath = this._bindingsIndicesByPath; + let index = indicesByPath[ path ]; + const bindings = this._bindings; + + if ( index !== undefined ) return bindings[ index ]; + + const paths = this._paths, + parsedPaths = this._parsedPaths, + objects = this._objects, + nObjects = objects.length, + nCachedObjects = this.nCachedObjects_, + bindingsForPath = new Array( nObjects ); + + index = bindings.length; + + indicesByPath[ path ] = index; + + paths.push( path ); + parsedPaths.push( parsedPath ); + bindings.push( bindingsForPath ); + + for ( let i = nCachedObjects, n = objects.length; i !== n; ++ i ) { + + const object = objects[ i ]; + bindingsForPath[ i ] = new PropertyBinding( object, path, parsedPath ); + + } + + return bindingsForPath; + + } + + unsubscribe_( path ) { + + // tells the group to forget about a property path and no longer + // update the array previously obtained with 'subscribe_' + + const indicesByPath = this._bindingsIndicesByPath, + index = indicesByPath[ path ]; + + if ( index !== undefined ) { + + const paths = this._paths, + parsedPaths = this._parsedPaths, + bindings = this._bindings, + lastBindingsIndex = bindings.length - 1, + lastBindings = bindings[ lastBindingsIndex ], + lastBindingsPath = path[ lastBindingsIndex ]; + + indicesByPath[ lastBindingsPath ] = index; + + bindings[ index ] = lastBindings; + bindings.pop(); + + parsedPaths[ index ] = parsedPaths[ lastBindingsIndex ]; + parsedPaths.pop(); + + paths[ index ] = paths[ lastBindingsIndex ]; + paths.pop(); + + } + + } + +} + +AnimationObjectGroup.prototype.isAnimationObjectGroup = true; + +class AnimationAction { + + constructor( mixer, clip, localRoot = null, blendMode = clip.blendMode ) { + + this._mixer = mixer; + this._clip = clip; + this._localRoot = localRoot; + this.blendMode = blendMode; + + const tracks = clip.tracks, + nTracks = tracks.length, + interpolants = new Array( nTracks ); + + const interpolantSettings = { + endingStart: ZeroCurvatureEnding, + endingEnd: ZeroCurvatureEnding + }; + + for ( let i = 0; i !== nTracks; ++ i ) { + + const interpolant = tracks[ i ].createInterpolant( null ); + interpolants[ i ] = interpolant; + interpolant.settings = interpolantSettings; + + } + + this._interpolantSettings = interpolantSettings; + + this._interpolants = interpolants; // bound by the mixer + + // inside: PropertyMixer (managed by the mixer) + this._propertyBindings = new Array( nTracks ); + + this._cacheIndex = null; // for the memory manager + this._byClipCacheIndex = null; // for the memory manager + + this._timeScaleInterpolant = null; + this._weightInterpolant = null; + + this.loop = LoopRepeat; + this._loopCount = - 1; + + // global mixer time when the action is to be started + // it's set back to 'null' upon start of the action + this._startTime = null; + + // scaled local time of the action + // gets clamped or wrapped to 0..clip.duration according to loop + this.time = 0; + + this.timeScale = 1; + this._effectiveTimeScale = 1; + + this.weight = 1; + this._effectiveWeight = 1; + + this.repetitions = Infinity; // no. of repetitions when looping + + this.paused = false; // true -> zero effective time scale + this.enabled = true; // false -> zero effective weight + + this.clampWhenFinished = false;// keep feeding the last frame? + + this.zeroSlopeAtStart = true;// for smooth interpolation w/o separate + this.zeroSlopeAtEnd = true;// clips for start, loop and end + + } + + // State & Scheduling + + play() { + + this._mixer._activateAction( this ); + + return this; + + } + + stop() { + + this._mixer._deactivateAction( this ); + + return this.reset(); + + } + + reset() { + + this.paused = false; + this.enabled = true; + + this.time = 0; // restart clip + this._loopCount = - 1;// forget previous loops + this._startTime = null;// forget scheduling + + return this.stopFading().stopWarping(); + + } + + isRunning() { + + return this.enabled && ! this.paused && this.timeScale !== 0 && + this._startTime === null && this._mixer._isActiveAction( this ); + + } + + // return true when play has been called + isScheduled() { + + return this._mixer._isActiveAction( this ); + + } + + startAt( time ) { + + this._startTime = time; + + return this; + + } + + setLoop( mode, repetitions ) { + + this.loop = mode; + this.repetitions = repetitions; + + return this; + + } + + // Weight + + // set the weight stopping any scheduled fading + // although .enabled = false yields an effective weight of zero, this + // method does *not* change .enabled, because it would be confusing + setEffectiveWeight( weight ) { + + this.weight = weight; + + // note: same logic as when updated at runtime + this._effectiveWeight = this.enabled ? weight : 0; + + return this.stopFading(); + + } + + // return the weight considering fading and .enabled + getEffectiveWeight() { + + return this._effectiveWeight; + + } + + fadeIn( duration ) { + + return this._scheduleFading( duration, 0, 1 ); + + } + + fadeOut( duration ) { + + return this._scheduleFading( duration, 1, 0 ); + + } + + crossFadeFrom( fadeOutAction, duration, warp ) { + + fadeOutAction.fadeOut( duration ); + this.fadeIn( duration ); + + if ( warp ) { + + const fadeInDuration = this._clip.duration, + fadeOutDuration = fadeOutAction._clip.duration, + + startEndRatio = fadeOutDuration / fadeInDuration, + endStartRatio = fadeInDuration / fadeOutDuration; + + fadeOutAction.warp( 1.0, startEndRatio, duration ); + this.warp( endStartRatio, 1.0, duration ); + + } + + return this; + + } + + crossFadeTo( fadeInAction, duration, warp ) { + + return fadeInAction.crossFadeFrom( this, duration, warp ); + + } + + stopFading() { + + const weightInterpolant = this._weightInterpolant; + + if ( weightInterpolant !== null ) { + + this._weightInterpolant = null; + this._mixer._takeBackControlInterpolant( weightInterpolant ); + + } + + return this; + + } + + // Time Scale Control + + // set the time scale stopping any scheduled warping + // although .paused = true yields an effective time scale of zero, this + // method does *not* change .paused, because it would be confusing + setEffectiveTimeScale( timeScale ) { + + this.timeScale = timeScale; + this._effectiveTimeScale = this.paused ? 0 : timeScale; + + return this.stopWarping(); + + } + + // return the time scale considering warping and .paused + getEffectiveTimeScale() { + + return this._effectiveTimeScale; + + } + + setDuration( duration ) { + + this.timeScale = this._clip.duration / duration; + + return this.stopWarping(); + + } + + syncWith( action ) { + + this.time = action.time; + this.timeScale = action.timeScale; + + return this.stopWarping(); + + } + + halt( duration ) { + + return this.warp( this._effectiveTimeScale, 0, duration ); + + } + + warp( startTimeScale, endTimeScale, duration ) { + + const mixer = this._mixer, + now = mixer.time, + timeScale = this.timeScale; + + let interpolant = this._timeScaleInterpolant; + + if ( interpolant === null ) { + + interpolant = mixer._lendControlInterpolant(); + this._timeScaleInterpolant = interpolant; + + } + + const times = interpolant.parameterPositions, + values = interpolant.sampleValues; + + times[ 0 ] = now; + times[ 1 ] = now + duration; + + values[ 0 ] = startTimeScale / timeScale; + values[ 1 ] = endTimeScale / timeScale; + + return this; + + } + + stopWarping() { + + const timeScaleInterpolant = this._timeScaleInterpolant; + + if ( timeScaleInterpolant !== null ) { + + this._timeScaleInterpolant = null; + this._mixer._takeBackControlInterpolant( timeScaleInterpolant ); + + } + + return this; + + } + + // Object Accessors + + getMixer() { + + return this._mixer; + + } + + getClip() { + + return this._clip; + + } + + getRoot() { + + return this._localRoot || this._mixer._root; + + } + + // Interna + + _update( time, deltaTime, timeDirection, accuIndex ) { + + // called by the mixer + + if ( ! this.enabled ) { + + // call ._updateWeight() to update ._effectiveWeight + + this._updateWeight( time ); + return; + + } + + const startTime = this._startTime; + + if ( startTime !== null ) { + + // check for scheduled start of action + + const timeRunning = ( time - startTime ) * timeDirection; + if ( timeRunning < 0 || timeDirection === 0 ) { + + return; // yet to come / don't decide when delta = 0 + + } + + // start + + this._startTime = null; // unschedule + deltaTime = timeDirection * timeRunning; + + } + + // apply time scale and advance time + + deltaTime *= this._updateTimeScale( time ); + const clipTime = this._updateTime( deltaTime ); + + // note: _updateTime may disable the action resulting in + // an effective weight of 0 + + const weight = this._updateWeight( time ); + + if ( weight > 0 ) { + + const interpolants = this._interpolants; + const propertyMixers = this._propertyBindings; + + switch ( this.blendMode ) { + + case AdditiveAnimationBlendMode: + + for ( let j = 0, m = interpolants.length; j !== m; ++ j ) { + + interpolants[ j ].evaluate( clipTime ); + propertyMixers[ j ].accumulateAdditive( weight ); + + } + + break; + + case NormalAnimationBlendMode: + default: + + for ( let j = 0, m = interpolants.length; j !== m; ++ j ) { + + interpolants[ j ].evaluate( clipTime ); + propertyMixers[ j ].accumulate( accuIndex, weight ); + + } + + } + + } + + } + + _updateWeight( time ) { + + let weight = 0; + + if ( this.enabled ) { + + weight = this.weight; + const interpolant = this._weightInterpolant; + + if ( interpolant !== null ) { + + const interpolantValue = interpolant.evaluate( time )[ 0 ]; + + weight *= interpolantValue; + + if ( time > interpolant.parameterPositions[ 1 ] ) { + + this.stopFading(); + + if ( interpolantValue === 0 ) { + + // faded out, disable + this.enabled = false; + + } + + } + + } + + } + + this._effectiveWeight = weight; + return weight; + + } + + _updateTimeScale( time ) { + + let timeScale = 0; + + if ( ! this.paused ) { + + timeScale = this.timeScale; + + const interpolant = this._timeScaleInterpolant; + + if ( interpolant !== null ) { + + const interpolantValue = interpolant.evaluate( time )[ 0 ]; + + timeScale *= interpolantValue; + + if ( time > interpolant.parameterPositions[ 1 ] ) { + + this.stopWarping(); + + if ( timeScale === 0 ) { + + // motion has halted, pause + this.paused = true; + + } else { + + // warp done - apply final time scale + this.timeScale = timeScale; + + } + + } + + } + + } + + this._effectiveTimeScale = timeScale; + return timeScale; + + } + + _updateTime( deltaTime ) { + + const duration = this._clip.duration; + const loop = this.loop; + + let time = this.time + deltaTime; + let loopCount = this._loopCount; + + const pingPong = ( loop === LoopPingPong ); + + if ( deltaTime === 0 ) { + + if ( loopCount === - 1 ) return time; + + return ( pingPong && ( loopCount & 1 ) === 1 ) ? duration - time : time; + + } + + if ( loop === LoopOnce ) { + + if ( loopCount === - 1 ) { + + // just started + + this._loopCount = 0; + this._setEndings( true, true, false ); + + } + + handle_stop: { + + if ( time >= duration ) { + + time = duration; + + } else if ( time < 0 ) { + + time = 0; + + } else { + + this.time = time; + + break handle_stop; + + } + + if ( this.clampWhenFinished ) this.paused = true; + else this.enabled = false; + + this.time = time; + + this._mixer.dispatchEvent( { + type: 'finished', action: this, + direction: deltaTime < 0 ? - 1 : 1 + } ); + + } + + } else { // repetitive Repeat or PingPong + + if ( loopCount === - 1 ) { + + // just started + + if ( deltaTime >= 0 ) { + + loopCount = 0; + + this._setEndings( true, this.repetitions === 0, pingPong ); + + } else { + + // when looping in reverse direction, the initial + // transition through zero counts as a repetition, + // so leave loopCount at -1 + + this._setEndings( this.repetitions === 0, true, pingPong ); + + } + + } + + if ( time >= duration || time < 0 ) { + + // wrap around + + const loopDelta = Math.floor( time / duration ); // signed + time -= duration * loopDelta; + + loopCount += Math.abs( loopDelta ); + + const pending = this.repetitions - loopCount; + + if ( pending <= 0 ) { + + // have to stop (switch state, clamp time, fire event) + + if ( this.clampWhenFinished ) this.paused = true; + else this.enabled = false; + + time = deltaTime > 0 ? duration : 0; + + this.time = time; + + this._mixer.dispatchEvent( { + type: 'finished', action: this, + direction: deltaTime > 0 ? 1 : - 1 + } ); + + } else { + + // keep running + + if ( pending === 1 ) { + + // entering the last round + + const atStart = deltaTime < 0; + this._setEndings( atStart, ! atStart, pingPong ); + + } else { + + this._setEndings( false, false, pingPong ); + + } + + this._loopCount = loopCount; + + this.time = time; + + this._mixer.dispatchEvent( { + type: 'loop', action: this, loopDelta: loopDelta + } ); + + } + + } else { + + this.time = time; + + } + + if ( pingPong && ( loopCount & 1 ) === 1 ) { + + // invert time for the "pong round" + + return duration - time; + + } + + } + + return time; + + } + + _setEndings( atStart, atEnd, pingPong ) { + + const settings = this._interpolantSettings; + + if ( pingPong ) { + + settings.endingStart = ZeroSlopeEnding; + settings.endingEnd = ZeroSlopeEnding; + + } else { + + // assuming for LoopOnce atStart == atEnd == true + + if ( atStart ) { + + settings.endingStart = this.zeroSlopeAtStart ? ZeroSlopeEnding : ZeroCurvatureEnding; + + } else { + + settings.endingStart = WrapAroundEnding; + + } + + if ( atEnd ) { + + settings.endingEnd = this.zeroSlopeAtEnd ? ZeroSlopeEnding : ZeroCurvatureEnding; + + } else { + + settings.endingEnd = WrapAroundEnding; + + } + + } + + } + + _scheduleFading( duration, weightNow, weightThen ) { + + const mixer = this._mixer, now = mixer.time; + let interpolant = this._weightInterpolant; + + if ( interpolant === null ) { + + interpolant = mixer._lendControlInterpolant(); + this._weightInterpolant = interpolant; + + } + + const times = interpolant.parameterPositions, + values = interpolant.sampleValues; + + times[ 0 ] = now; + values[ 0 ] = weightNow; + times[ 1 ] = now + duration; + values[ 1 ] = weightThen; + + return this; + + } + +} + +class AnimationMixer extends EventDispatcher { + + constructor( root ) { + + super(); + + this._root = root; + this._initMemoryManager(); + this._accuIndex = 0; + this.time = 0; + this.timeScale = 1.0; + + } + + _bindAction( action, prototypeAction ) { + + const root = action._localRoot || this._root, + tracks = action._clip.tracks, + nTracks = tracks.length, + bindings = action._propertyBindings, + interpolants = action._interpolants, + rootUuid = root.uuid, + bindingsByRoot = this._bindingsByRootAndName; + + let bindingsByName = bindingsByRoot[ rootUuid ]; + + if ( bindingsByName === undefined ) { + + bindingsByName = {}; + bindingsByRoot[ rootUuid ] = bindingsByName; + + } + + for ( let i = 0; i !== nTracks; ++ i ) { + + const track = tracks[ i ], + trackName = track.name; + + let binding = bindingsByName[ trackName ]; + + if ( binding !== undefined ) { + + bindings[ i ] = binding; + + } else { + + binding = bindings[ i ]; + + if ( binding !== undefined ) { + + // existing binding, make sure the cache knows + + if ( binding._cacheIndex === null ) { + + ++ binding.referenceCount; + this._addInactiveBinding( binding, rootUuid, trackName ); + + } + + continue; + + } + + const path = prototypeAction && prototypeAction. + _propertyBindings[ i ].binding.parsedPath; + + binding = new PropertyMixer( + PropertyBinding.create( root, trackName, path ), + track.ValueTypeName, track.getValueSize() ); + + ++ binding.referenceCount; + this._addInactiveBinding( binding, rootUuid, trackName ); + + bindings[ i ] = binding; + + } + + interpolants[ i ].resultBuffer = binding.buffer; + + } + + } + + _activateAction( action ) { + + if ( ! this._isActiveAction( action ) ) { + + if ( action._cacheIndex === null ) { + + // this action has been forgotten by the cache, but the user + // appears to be still using it -> rebind + + const rootUuid = ( action._localRoot || this._root ).uuid, + clipUuid = action._clip.uuid, + actionsForClip = this._actionsByClip[ clipUuid ]; + + this._bindAction( action, + actionsForClip && actionsForClip.knownActions[ 0 ] ); + + this._addInactiveAction( action, clipUuid, rootUuid ); + + } + + const bindings = action._propertyBindings; + + // increment reference counts / sort out state + for ( let i = 0, n = bindings.length; i !== n; ++ i ) { + + const binding = bindings[ i ]; + + if ( binding.useCount ++ === 0 ) { + + this._lendBinding( binding ); + binding.saveOriginalState(); + + } + + } + + this._lendAction( action ); + + } + + } + + _deactivateAction( action ) { + + if ( this._isActiveAction( action ) ) { + + const bindings = action._propertyBindings; + + // decrement reference counts / sort out state + for ( let i = 0, n = bindings.length; i !== n; ++ i ) { + + const binding = bindings[ i ]; + + if ( -- binding.useCount === 0 ) { + + binding.restoreOriginalState(); + this._takeBackBinding( binding ); + + } + + } + + this._takeBackAction( action ); + + } + + } + + // Memory manager + + _initMemoryManager() { + + this._actions = []; // 'nActiveActions' followed by inactive ones + this._nActiveActions = 0; + + this._actionsByClip = {}; + // inside: + // { + // knownActions: Array< AnimationAction > - used as prototypes + // actionByRoot: AnimationAction - lookup + // } + + + this._bindings = []; // 'nActiveBindings' followed by inactive ones + this._nActiveBindings = 0; + + this._bindingsByRootAndName = {}; // inside: Map< name, PropertyMixer > + + + this._controlInterpolants = []; // same game as above + this._nActiveControlInterpolants = 0; + + const scope = this; + + this.stats = { + + actions: { + get total() { + + return scope._actions.length; + + }, + get inUse() { + + return scope._nActiveActions; + + } + }, + bindings: { + get total() { + + return scope._bindings.length; + + }, + get inUse() { + + return scope._nActiveBindings; + + } + }, + controlInterpolants: { + get total() { + + return scope._controlInterpolants.length; + + }, + get inUse() { + + return scope._nActiveControlInterpolants; + + } + } + + }; + + } + + // Memory management for AnimationAction objects + + _isActiveAction( action ) { + + const index = action._cacheIndex; + return index !== null && index < this._nActiveActions; + + } + + _addInactiveAction( action, clipUuid, rootUuid ) { + + const actions = this._actions, + actionsByClip = this._actionsByClip; + + let actionsForClip = actionsByClip[ clipUuid ]; + + if ( actionsForClip === undefined ) { + + actionsForClip = { + + knownActions: [ action ], + actionByRoot: {} + + }; + + action._byClipCacheIndex = 0; + + actionsByClip[ clipUuid ] = actionsForClip; + + } else { + + const knownActions = actionsForClip.knownActions; + + action._byClipCacheIndex = knownActions.length; + knownActions.push( action ); + + } + + action._cacheIndex = actions.length; + actions.push( action ); + + actionsForClip.actionByRoot[ rootUuid ] = action; + + } + + _removeInactiveAction( action ) { + + const actions = this._actions, + lastInactiveAction = actions[ actions.length - 1 ], + cacheIndex = action._cacheIndex; + + lastInactiveAction._cacheIndex = cacheIndex; + actions[ cacheIndex ] = lastInactiveAction; + actions.pop(); + + action._cacheIndex = null; + + + const clipUuid = action._clip.uuid, + actionsByClip = this._actionsByClip, + actionsForClip = actionsByClip[ clipUuid ], + knownActionsForClip = actionsForClip.knownActions, + + lastKnownAction = + knownActionsForClip[ knownActionsForClip.length - 1 ], + + byClipCacheIndex = action._byClipCacheIndex; + + lastKnownAction._byClipCacheIndex = byClipCacheIndex; + knownActionsForClip[ byClipCacheIndex ] = lastKnownAction; + knownActionsForClip.pop(); + + action._byClipCacheIndex = null; + + + const actionByRoot = actionsForClip.actionByRoot, + rootUuid = ( action._localRoot || this._root ).uuid; + + delete actionByRoot[ rootUuid ]; + + if ( knownActionsForClip.length === 0 ) { + + delete actionsByClip[ clipUuid ]; + + } + + this._removeInactiveBindingsForAction( action ); + + } + + _removeInactiveBindingsForAction( action ) { + + const bindings = action._propertyBindings; + + for ( let i = 0, n = bindings.length; i !== n; ++ i ) { + + const binding = bindings[ i ]; + + if ( -- binding.referenceCount === 0 ) { + + this._removeInactiveBinding( binding ); + + } + + } + + } + + _lendAction( action ) { + + // [ active actions | inactive actions ] + // [ active actions >| inactive actions ] + // s a + // <-swap-> + // a s + + const actions = this._actions, + prevIndex = action._cacheIndex, + + lastActiveIndex = this._nActiveActions ++, + + firstInactiveAction = actions[ lastActiveIndex ]; + + action._cacheIndex = lastActiveIndex; + actions[ lastActiveIndex ] = action; + + firstInactiveAction._cacheIndex = prevIndex; + actions[ prevIndex ] = firstInactiveAction; + + } + + _takeBackAction( action ) { + + // [ active actions | inactive actions ] + // [ active actions |< inactive actions ] + // a s + // <-swap-> + // s a + + const actions = this._actions, + prevIndex = action._cacheIndex, + + firstInactiveIndex = -- this._nActiveActions, + + lastActiveAction = actions[ firstInactiveIndex ]; + + action._cacheIndex = firstInactiveIndex; + actions[ firstInactiveIndex ] = action; + + lastActiveAction._cacheIndex = prevIndex; + actions[ prevIndex ] = lastActiveAction; + + } + + // Memory management for PropertyMixer objects + + _addInactiveBinding( binding, rootUuid, trackName ) { + + const bindingsByRoot = this._bindingsByRootAndName, + bindings = this._bindings; + + let bindingByName = bindingsByRoot[ rootUuid ]; + + if ( bindingByName === undefined ) { + + bindingByName = {}; + bindingsByRoot[ rootUuid ] = bindingByName; + + } + + bindingByName[ trackName ] = binding; + + binding._cacheIndex = bindings.length; + bindings.push( binding ); + + } + + _removeInactiveBinding( binding ) { + + const bindings = this._bindings, + propBinding = binding.binding, + rootUuid = propBinding.rootNode.uuid, + trackName = propBinding.path, + bindingsByRoot = this._bindingsByRootAndName, + bindingByName = bindingsByRoot[ rootUuid ], + + lastInactiveBinding = bindings[ bindings.length - 1 ], + cacheIndex = binding._cacheIndex; + + lastInactiveBinding._cacheIndex = cacheIndex; + bindings[ cacheIndex ] = lastInactiveBinding; + bindings.pop(); + + delete bindingByName[ trackName ]; + + if ( Object.keys( bindingByName ).length === 0 ) { + + delete bindingsByRoot[ rootUuid ]; + + } + + } + + _lendBinding( binding ) { + + const bindings = this._bindings, + prevIndex = binding._cacheIndex, + + lastActiveIndex = this._nActiveBindings ++, + + firstInactiveBinding = bindings[ lastActiveIndex ]; + + binding._cacheIndex = lastActiveIndex; + bindings[ lastActiveIndex ] = binding; + + firstInactiveBinding._cacheIndex = prevIndex; + bindings[ prevIndex ] = firstInactiveBinding; + + } + + _takeBackBinding( binding ) { + + const bindings = this._bindings, + prevIndex = binding._cacheIndex, + + firstInactiveIndex = -- this._nActiveBindings, + + lastActiveBinding = bindings[ firstInactiveIndex ]; + + binding._cacheIndex = firstInactiveIndex; + bindings[ firstInactiveIndex ] = binding; + + lastActiveBinding._cacheIndex = prevIndex; + bindings[ prevIndex ] = lastActiveBinding; + + } + + + // Memory management of Interpolants for weight and time scale + + _lendControlInterpolant() { + + const interpolants = this._controlInterpolants, + lastActiveIndex = this._nActiveControlInterpolants ++; + + let interpolant = interpolants[ lastActiveIndex ]; + + if ( interpolant === undefined ) { + + interpolant = new LinearInterpolant( + new Float32Array( 2 ), new Float32Array( 2 ), + 1, this._controlInterpolantsResultBuffer ); + + interpolant.__cacheIndex = lastActiveIndex; + interpolants[ lastActiveIndex ] = interpolant; + + } + + return interpolant; + + } + + _takeBackControlInterpolant( interpolant ) { + + const interpolants = this._controlInterpolants, + prevIndex = interpolant.__cacheIndex, + + firstInactiveIndex = -- this._nActiveControlInterpolants, + + lastActiveInterpolant = interpolants[ firstInactiveIndex ]; + + interpolant.__cacheIndex = firstInactiveIndex; + interpolants[ firstInactiveIndex ] = interpolant; + + lastActiveInterpolant.__cacheIndex = prevIndex; + interpolants[ prevIndex ] = lastActiveInterpolant; + + } + + // return an action for a clip optionally using a custom root target + // object (this method allocates a lot of dynamic memory in case a + // previously unknown clip/root combination is specified) + clipAction( clip, optionalRoot, blendMode ) { + + const root = optionalRoot || this._root, + rootUuid = root.uuid; + + let clipObject = typeof clip === 'string' ? AnimationClip.findByName( root, clip ) : clip; + + const clipUuid = clipObject !== null ? clipObject.uuid : clip; + + const actionsForClip = this._actionsByClip[ clipUuid ]; + let prototypeAction = null; + + if ( blendMode === undefined ) { + + if ( clipObject !== null ) { + + blendMode = clipObject.blendMode; + + } else { + + blendMode = NormalAnimationBlendMode; + + } + + } + + if ( actionsForClip !== undefined ) { + + const existingAction = actionsForClip.actionByRoot[ rootUuid ]; + + if ( existingAction !== undefined && existingAction.blendMode === blendMode ) { + + return existingAction; + + } + + // we know the clip, so we don't have to parse all + // the bindings again but can just copy + prototypeAction = actionsForClip.knownActions[ 0 ]; + + // also, take the clip from the prototype action + if ( clipObject === null ) + clipObject = prototypeAction._clip; + + } + + // clip must be known when specified via string + if ( clipObject === null ) return null; + + // allocate all resources required to run it + const newAction = new AnimationAction( this, clipObject, optionalRoot, blendMode ); + + this._bindAction( newAction, prototypeAction ); + + // and make the action known to the memory manager + this._addInactiveAction( newAction, clipUuid, rootUuid ); + + return newAction; + + } + + // get an existing action + existingAction( clip, optionalRoot ) { + + const root = optionalRoot || this._root, + rootUuid = root.uuid, + + clipObject = typeof clip === 'string' ? + AnimationClip.findByName( root, clip ) : clip, + + clipUuid = clipObject ? clipObject.uuid : clip, + + actionsForClip = this._actionsByClip[ clipUuid ]; + + if ( actionsForClip !== undefined ) { + + return actionsForClip.actionByRoot[ rootUuid ] || null; + + } + + return null; + + } + + // deactivates all previously scheduled actions + stopAllAction() { + + const actions = this._actions, + nActions = this._nActiveActions; + + for ( let i = nActions - 1; i >= 0; -- i ) { + + actions[ i ].stop(); + + } + + return this; + + } + + // advance the time and update apply the animation + update( deltaTime ) { + + deltaTime *= this.timeScale; + + const actions = this._actions, + nActions = this._nActiveActions, + + time = this.time += deltaTime, + timeDirection = Math.sign( deltaTime ), + + accuIndex = this._accuIndex ^= 1; + + // run active actions + + for ( let i = 0; i !== nActions; ++ i ) { + + const action = actions[ i ]; + + action._update( time, deltaTime, timeDirection, accuIndex ); + + } + + // update scene graph + + const bindings = this._bindings, + nBindings = this._nActiveBindings; + + for ( let i = 0; i !== nBindings; ++ i ) { + + bindings[ i ].apply( accuIndex ); + + } + + return this; + + } + + // Allows you to seek to a specific time in an animation. + setTime( timeInSeconds ) { + + this.time = 0; // Zero out time attribute for AnimationMixer object; + for ( let i = 0; i < this._actions.length; i ++ ) { + + this._actions[ i ].time = 0; // Zero out time attribute for all associated AnimationAction objects. + + } + + return this.update( timeInSeconds ); // Update used to set exact time. Returns "this" AnimationMixer object. + + } + + // return this mixer's root target object + getRoot() { + + return this._root; + + } + + // free all resources specific to a particular clip + uncacheClip( clip ) { + + const actions = this._actions, + clipUuid = clip.uuid, + actionsByClip = this._actionsByClip, + actionsForClip = actionsByClip[ clipUuid ]; + + if ( actionsForClip !== undefined ) { + + // note: just calling _removeInactiveAction would mess up the + // iteration state and also require updating the state we can + // just throw away + + const actionsToRemove = actionsForClip.knownActions; + + for ( let i = 0, n = actionsToRemove.length; i !== n; ++ i ) { + + const action = actionsToRemove[ i ]; + + this._deactivateAction( action ); + + const cacheIndex = action._cacheIndex, + lastInactiveAction = actions[ actions.length - 1 ]; + + action._cacheIndex = null; + action._byClipCacheIndex = null; + + lastInactiveAction._cacheIndex = cacheIndex; + actions[ cacheIndex ] = lastInactiveAction; + actions.pop(); + + this._removeInactiveBindingsForAction( action ); + + } + + delete actionsByClip[ clipUuid ]; + + } + + } + + // free all resources specific to a particular root target object + uncacheRoot( root ) { + + const rootUuid = root.uuid, + actionsByClip = this._actionsByClip; + + for ( const clipUuid in actionsByClip ) { + + const actionByRoot = actionsByClip[ clipUuid ].actionByRoot, + action = actionByRoot[ rootUuid ]; + + if ( action !== undefined ) { + + this._deactivateAction( action ); + this._removeInactiveAction( action ); + + } + + } + + const bindingsByRoot = this._bindingsByRootAndName, + bindingByName = bindingsByRoot[ rootUuid ]; + + if ( bindingByName !== undefined ) { + + for ( const trackName in bindingByName ) { + + const binding = bindingByName[ trackName ]; + binding.restoreOriginalState(); + this._removeInactiveBinding( binding ); + + } + + } + + } + + // remove a targeted clip from the cache + uncacheAction( clip, optionalRoot ) { + + const action = this.existingAction( clip, optionalRoot ); + + if ( action !== null ) { + + this._deactivateAction( action ); + this._removeInactiveAction( action ); + + } + + } + +} + +AnimationMixer.prototype._controlInterpolantsResultBuffer = new Float32Array( 1 ); + +class Uniform { + + constructor( value ) { + + if ( typeof value === 'string' ) { + + console.warn( 'THREE.Uniform: Type parameter is no longer needed.' ); + value = arguments[ 1 ]; + + } + + this.value = value; + + } + + clone() { + + return new Uniform( this.value.clone === undefined ? this.value : this.value.clone() ); + + } + +} + +class InstancedInterleavedBuffer extends InterleavedBuffer { + + constructor( array, stride, meshPerAttribute = 1 ) { + + super( array, stride ); + + this.meshPerAttribute = meshPerAttribute; + + } + + copy( source ) { + + super.copy( source ); + + this.meshPerAttribute = source.meshPerAttribute; + + return this; + + } + + clone( data ) { + + const ib = super.clone( data ); + + ib.meshPerAttribute = this.meshPerAttribute; + + return ib; + + } + + toJSON( data ) { + + const json = super.toJSON( data ); + + json.isInstancedInterleavedBuffer = true; + json.meshPerAttribute = this.meshPerAttribute; + + return json; + + } + +} + +InstancedInterleavedBuffer.prototype.isInstancedInterleavedBuffer = true; + +class GLBufferAttribute { + + constructor( buffer, type, itemSize, elementSize, count ) { + + this.buffer = buffer; + this.type = type; + this.itemSize = itemSize; + this.elementSize = elementSize; + this.count = count; + + this.version = 0; + + } + + set needsUpdate( value ) { + + if ( value === true ) this.version ++; + + } + + setBuffer( buffer ) { + + this.buffer = buffer; + + return this; + + } + + setType( type, elementSize ) { + + this.type = type; + this.elementSize = elementSize; + + return this; + + } + + setItemSize( itemSize ) { + + this.itemSize = itemSize; + + return this; + + } + + setCount( count ) { + + this.count = count; + + return this; + + } + +} + +GLBufferAttribute.prototype.isGLBufferAttribute = true; + +class Raycaster { + + constructor( origin, direction, near = 0, far = Infinity ) { + + this.ray = new Ray( origin, direction ); + // direction is assumed to be normalized (for accurate distance calculations) + + this.near = near; + this.far = far; + this.camera = null; + this.layers = new Layers(); + + this.params = { + Mesh: {}, + Line: { threshold: 1 }, + LOD: {}, + Points: { threshold: 1 }, + Sprite: {} + }; + + } + + set( origin, direction ) { + + // direction is assumed to be normalized (for accurate distance calculations) + + this.ray.set( origin, direction ); + + } + + setFromCamera( coords, camera ) { + + if ( camera && camera.isPerspectiveCamera ) { + + this.ray.origin.setFromMatrixPosition( camera.matrixWorld ); + this.ray.direction.set( coords.x, coords.y, 0.5 ).unproject( camera ).sub( this.ray.origin ).normalize(); + this.camera = camera; + + } else if ( camera && camera.isOrthographicCamera ) { + + this.ray.origin.set( coords.x, coords.y, ( camera.near + camera.far ) / ( camera.near - camera.far ) ).unproject( camera ); // set origin in plane of camera + this.ray.direction.set( 0, 0, - 1 ).transformDirection( camera.matrixWorld ); + this.camera = camera; + + } else { + + console.error( 'THREE.Raycaster: Unsupported camera type: ' + camera.type ); + + } + + } + + intersectObject( object, recursive = true, intersects = [] ) { + + intersectObject( object, this, intersects, recursive ); + + intersects.sort( ascSort ); + + return intersects; + + } + + intersectObjects( objects, recursive = true, intersects = [] ) { + + for ( let i = 0, l = objects.length; i < l; i ++ ) { + + intersectObject( objects[ i ], this, intersects, recursive ); + + } + + intersects.sort( ascSort ); + + return intersects; + + } + +} + +function ascSort( a, b ) { + + return a.distance - b.distance; + +} + +function intersectObject( object, raycaster, intersects, recursive ) { + + if ( object.layers.test( raycaster.layers ) ) { + + object.raycast( raycaster, intersects ); + + } + + if ( recursive === true ) { + + const children = object.children; + + for ( let i = 0, l = children.length; i < l; i ++ ) { + + intersectObject( children[ i ], raycaster, intersects, true ); + + } + + } + +} + +/** + * Ref: https://en.wikipedia.org/wiki/Spherical_coordinate_system + * + * The polar angle (phi) is measured from the positive y-axis. The positive y-axis is up. + * The azimuthal angle (theta) is measured from the positive z-axis. + */ + +class Spherical { + + constructor( radius = 1, phi = 0, theta = 0 ) { + + this.radius = radius; + this.phi = phi; // polar angle + this.theta = theta; // azimuthal angle + + return this; + + } + + set( radius, phi, theta ) { + + this.radius = radius; + this.phi = phi; + this.theta = theta; + + return this; + + } + + copy( other ) { + + this.radius = other.radius; + this.phi = other.phi; + this.theta = other.theta; + + return this; + + } + + // restrict phi to be betwee EPS and PI-EPS + makeSafe() { + + const EPS = 0.000001; + this.phi = Math.max( EPS, Math.min( Math.PI - EPS, this.phi ) ); + + return this; + + } + + setFromVector3( v ) { + + return this.setFromCartesianCoords( v.x, v.y, v.z ); + + } + + setFromCartesianCoords( x, y, z ) { + + this.radius = Math.sqrt( x * x + y * y + z * z ); + + if ( this.radius === 0 ) { + + this.theta = 0; + this.phi = 0; + + } else { + + this.theta = Math.atan2( x, z ); + this.phi = Math.acos( clamp( y / this.radius, - 1, 1 ) ); + + } + + return this; + + } + + clone() { + + return new this.constructor().copy( this ); + + } + +} + +/** + * Ref: https://en.wikipedia.org/wiki/Cylindrical_coordinate_system + */ + +class Cylindrical { + + constructor( radius = 1, theta = 0, y = 0 ) { + + this.radius = radius; // distance from the origin to a point in the x-z plane + this.theta = theta; // counterclockwise angle in the x-z plane measured in radians from the positive z-axis + this.y = y; // height above the x-z plane + + return this; + + } + + set( radius, theta, y ) { + + this.radius = radius; + this.theta = theta; + this.y = y; + + return this; + + } + + copy( other ) { + + this.radius = other.radius; + this.theta = other.theta; + this.y = other.y; + + return this; + + } + + setFromVector3( v ) { + + return this.setFromCartesianCoords( v.x, v.y, v.z ); + + } + + setFromCartesianCoords( x, y, z ) { + + this.radius = Math.sqrt( x * x + z * z ); + this.theta = Math.atan2( x, z ); + this.y = y; + + return this; + + } + + clone() { + + return new this.constructor().copy( this ); + + } + +} + +const _vector$4 = /*@__PURE__*/ new Vector2(); + +class Box2 { + + constructor( min = new Vector2( + Infinity, + Infinity ), max = new Vector2( - Infinity, - Infinity ) ) { + + this.min = min; + this.max = max; + + } + + set( min, max ) { + + this.min.copy( min ); + this.max.copy( max ); + + return this; + + } + + setFromPoints( points ) { + + this.makeEmpty(); + + for ( let i = 0, il = points.length; i < il; i ++ ) { + + this.expandByPoint( points[ i ] ); + + } + + return this; + + } + + setFromCenterAndSize( center, size ) { + + const halfSize = _vector$4.copy( size ).multiplyScalar( 0.5 ); + this.min.copy( center ).sub( halfSize ); + this.max.copy( center ).add( halfSize ); + + return this; + + } + + clone() { + + return new this.constructor().copy( this ); + + } + + copy( box ) { + + this.min.copy( box.min ); + this.max.copy( box.max ); + + return this; + + } + + makeEmpty() { + + this.min.x = this.min.y = + Infinity; + this.max.x = this.max.y = - Infinity; + + return this; + + } + + isEmpty() { + + // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes + + return ( this.max.x < this.min.x ) || ( this.max.y < this.min.y ); + + } + + getCenter( target ) { + + return this.isEmpty() ? target.set( 0, 0 ) : target.addVectors( this.min, this.max ).multiplyScalar( 0.5 ); + + } + + getSize( target ) { + + return this.isEmpty() ? target.set( 0, 0 ) : target.subVectors( this.max, this.min ); + + } + + expandByPoint( point ) { + + this.min.min( point ); + this.max.max( point ); + + return this; + + } + + expandByVector( vector ) { + + this.min.sub( vector ); + this.max.add( vector ); + + return this; + + } + + expandByScalar( scalar ) { + + this.min.addScalar( - scalar ); + this.max.addScalar( scalar ); + + return this; + + } + + containsPoint( point ) { + + return point.x < this.min.x || point.x > this.max.x || + point.y < this.min.y || point.y > this.max.y ? false : true; + + } + + containsBox( box ) { + + return this.min.x <= box.min.x && box.max.x <= this.max.x && + this.min.y <= box.min.y && box.max.y <= this.max.y; + + } + + getParameter( point, target ) { + + // This can potentially have a divide by zero if the box + // has a size dimension of 0. + + return target.set( + ( point.x - this.min.x ) / ( this.max.x - this.min.x ), + ( point.y - this.min.y ) / ( this.max.y - this.min.y ) + ); + + } + + intersectsBox( box ) { + + // using 4 splitting planes to rule out intersections + + return box.max.x < this.min.x || box.min.x > this.max.x || + box.max.y < this.min.y || box.min.y > this.max.y ? false : true; + + } + + clampPoint( point, target ) { + + return target.copy( point ).clamp( this.min, this.max ); + + } + + distanceToPoint( point ) { + + const clampedPoint = _vector$4.copy( point ).clamp( this.min, this.max ); + return clampedPoint.sub( point ).length(); + + } + + intersect( box ) { + + this.min.max( box.min ); + this.max.min( box.max ); + + return this; + + } + + union( box ) { + + this.min.min( box.min ); + this.max.max( box.max ); + + return this; + + } + + translate( offset ) { + + this.min.add( offset ); + this.max.add( offset ); + + return this; + + } + + equals( box ) { + + return box.min.equals( this.min ) && box.max.equals( this.max ); + + } + +} + +Box2.prototype.isBox2 = true; + +const _startP = /*@__PURE__*/ new Vector3(); +const _startEnd = /*@__PURE__*/ new Vector3(); + +class Line3 { + + constructor( start = new Vector3(), end = new Vector3() ) { + + this.start = start; + this.end = end; + + } + + set( start, end ) { + + this.start.copy( start ); + this.end.copy( end ); + + return this; + + } + + copy( line ) { + + this.start.copy( line.start ); + this.end.copy( line.end ); + + return this; + + } + + getCenter( target ) { + + return target.addVectors( this.start, this.end ).multiplyScalar( 0.5 ); + + } + + delta( target ) { + + return target.subVectors( this.end, this.start ); + + } + + distanceSq() { + + return this.start.distanceToSquared( this.end ); + + } + + distance() { + + return this.start.distanceTo( this.end ); + + } + + at( t, target ) { + + return this.delta( target ).multiplyScalar( t ).add( this.start ); + + } + + closestPointToPointParameter( point, clampToLine ) { + + _startP.subVectors( point, this.start ); + _startEnd.subVectors( this.end, this.start ); + + const startEnd2 = _startEnd.dot( _startEnd ); + const startEnd_startP = _startEnd.dot( _startP ); + + let t = startEnd_startP / startEnd2; + + if ( clampToLine ) { + + t = clamp( t, 0, 1 ); + + } + + return t; + + } + + closestPointToPoint( point, clampToLine, target ) { + + const t = this.closestPointToPointParameter( point, clampToLine ); + + return this.delta( target ).multiplyScalar( t ).add( this.start ); + + } + + applyMatrix4( matrix ) { + + this.start.applyMatrix4( matrix ); + this.end.applyMatrix4( matrix ); + + return this; + + } + + equals( line ) { + + return line.start.equals( this.start ) && line.end.equals( this.end ); + + } + + clone() { + + return new this.constructor().copy( this ); + + } + +} + +const _vector$3 = /*@__PURE__*/ new Vector3(); + +class SpotLightHelper extends Object3D { + + constructor( light, color ) { + + super(); + this.light = light; + this.light.updateMatrixWorld(); + + this.matrix = light.matrixWorld; + this.matrixAutoUpdate = false; + + this.color = color; + + const geometry = new BufferGeometry(); + + const positions = [ + 0, 0, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 1, + 0, 0, 0, - 1, 0, 1, + 0, 0, 0, 0, 1, 1, + 0, 0, 0, 0, - 1, 1 + ]; + + for ( let i = 0, j = 1, l = 32; i < l; i ++, j ++ ) { + + const p1 = ( i / l ) * Math.PI * 2; + const p2 = ( j / l ) * Math.PI * 2; + + positions.push( + Math.cos( p1 ), Math.sin( p1 ), 1, + Math.cos( p2 ), Math.sin( p2 ), 1 + ); + + } + + geometry.setAttribute( 'position', new Float32BufferAttribute( positions, 3 ) ); + + const material = new LineBasicMaterial( { fog: false, toneMapped: false } ); + + this.cone = new LineSegments( geometry, material ); + this.add( this.cone ); + + this.update(); + + } + + dispose() { + + this.cone.geometry.dispose(); + this.cone.material.dispose(); + + } + + update() { + + this.light.updateMatrixWorld(); + + const coneLength = this.light.distance ? this.light.distance : 1000; + const coneWidth = coneLength * Math.tan( this.light.angle ); + + this.cone.scale.set( coneWidth, coneWidth, coneLength ); + + _vector$3.setFromMatrixPosition( this.light.target.matrixWorld ); + + this.cone.lookAt( _vector$3 ); + + if ( this.color !== undefined ) { + + this.cone.material.color.set( this.color ); + + } else { + + this.cone.material.color.copy( this.light.color ); + + } + + } + +} + +const _vector$2 = /*@__PURE__*/ new Vector3(); +const _boneMatrix = /*@__PURE__*/ new Matrix4(); +const _matrixWorldInv = /*@__PURE__*/ new Matrix4(); + + +class SkeletonHelper extends LineSegments { + + constructor( object ) { + + const bones = getBoneList( object ); + + const geometry = new BufferGeometry(); + + const vertices = []; + const colors = []; + + const color1 = new Color( 0, 0, 1 ); + const color2 = new Color( 0, 1, 0 ); + + for ( let i = 0; i < bones.length; i ++ ) { + + const bone = bones[ i ]; + + if ( bone.parent && bone.parent.isBone ) { + + vertices.push( 0, 0, 0 ); + vertices.push( 0, 0, 0 ); + colors.push( color1.r, color1.g, color1.b ); + colors.push( color2.r, color2.g, color2.b ); + + } + + } + + geometry.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + geometry.setAttribute( 'color', new Float32BufferAttribute( colors, 3 ) ); + + const material = new LineBasicMaterial( { vertexColors: true, depthTest: false, depthWrite: false, toneMapped: false, transparent: true } ); + + super( geometry, material ); + + this.type = 'SkeletonHelper'; + this.isSkeletonHelper = true; + + this.root = object; + this.bones = bones; + + this.matrix = object.matrixWorld; + this.matrixAutoUpdate = false; + + } + + updateMatrixWorld( force ) { + + const bones = this.bones; + + const geometry = this.geometry; + const position = geometry.getAttribute( 'position' ); + + _matrixWorldInv.copy( this.root.matrixWorld ).invert(); + + for ( let i = 0, j = 0; i < bones.length; i ++ ) { + + const bone = bones[ i ]; + + if ( bone.parent && bone.parent.isBone ) { + + _boneMatrix.multiplyMatrices( _matrixWorldInv, bone.matrixWorld ); + _vector$2.setFromMatrixPosition( _boneMatrix ); + position.setXYZ( j, _vector$2.x, _vector$2.y, _vector$2.z ); + + _boneMatrix.multiplyMatrices( _matrixWorldInv, bone.parent.matrixWorld ); + _vector$2.setFromMatrixPosition( _boneMatrix ); + position.setXYZ( j + 1, _vector$2.x, _vector$2.y, _vector$2.z ); + + j += 2; + + } + + } + + geometry.getAttribute( 'position' ).needsUpdate = true; + + super.updateMatrixWorld( force ); + + } + +} + + +function getBoneList( object ) { + + const boneList = []; + + if ( object && object.isBone ) { + + boneList.push( object ); + + } + + for ( let i = 0; i < object.children.length; i ++ ) { + + boneList.push.apply( boneList, getBoneList( object.children[ i ] ) ); + + } + + return boneList; + +} + +class PointLightHelper extends Mesh { + + constructor( light, sphereSize, color ) { + + const geometry = new SphereGeometry( sphereSize, 4, 2 ); + const material = new MeshBasicMaterial( { wireframe: true, fog: false, toneMapped: false } ); + + super( geometry, material ); + + this.light = light; + this.light.updateMatrixWorld(); + + this.color = color; + + this.type = 'PointLightHelper'; + + this.matrix = this.light.matrixWorld; + this.matrixAutoUpdate = false; + + this.update(); + + + /* + // TODO: delete this comment? + const distanceGeometry = new THREE.IcosahedronBufferGeometry( 1, 2 ); + const distanceMaterial = new THREE.MeshBasicMaterial( { color: hexColor, fog: false, wireframe: true, opacity: 0.1, transparent: true } ); + + this.lightSphere = new THREE.Mesh( bulbGeometry, bulbMaterial ); + this.lightDistance = new THREE.Mesh( distanceGeometry, distanceMaterial ); + + const d = light.distance; + + if ( d === 0.0 ) { + + this.lightDistance.visible = false; + + } else { + + this.lightDistance.scale.set( d, d, d ); + + } + + this.add( this.lightDistance ); + */ + + } + + dispose() { + + this.geometry.dispose(); + this.material.dispose(); + + } + + update() { + + if ( this.color !== undefined ) { + + this.material.color.set( this.color ); + + } else { + + this.material.color.copy( this.light.color ); + + } + + /* + const d = this.light.distance; + + if ( d === 0.0 ) { + + this.lightDistance.visible = false; + + } else { + + this.lightDistance.visible = true; + this.lightDistance.scale.set( d, d, d ); + + } + */ + + } + +} + +const _vector$1 = /*@__PURE__*/ new Vector3(); +const _color1 = /*@__PURE__*/ new Color(); +const _color2 = /*@__PURE__*/ new Color(); + +class HemisphereLightHelper extends Object3D { + + constructor( light, size, color ) { + + super(); + this.light = light; + this.light.updateMatrixWorld(); + + this.matrix = light.matrixWorld; + this.matrixAutoUpdate = false; + + this.color = color; + + const geometry = new OctahedronGeometry( size ); + geometry.rotateY( Math.PI * 0.5 ); + + this.material = new MeshBasicMaterial( { wireframe: true, fog: false, toneMapped: false } ); + if ( this.color === undefined ) this.material.vertexColors = true; + + const position = geometry.getAttribute( 'position' ); + const colors = new Float32Array( position.count * 3 ); + + geometry.setAttribute( 'color', new BufferAttribute( colors, 3 ) ); + + this.add( new Mesh( geometry, this.material ) ); + + this.update(); + + } + + dispose() { + + this.children[ 0 ].geometry.dispose(); + this.children[ 0 ].material.dispose(); + + } + + update() { + + const mesh = this.children[ 0 ]; + + if ( this.color !== undefined ) { + + this.material.color.set( this.color ); + + } else { + + const colors = mesh.geometry.getAttribute( 'color' ); + + _color1.copy( this.light.color ); + _color2.copy( this.light.groundColor ); + + for ( let i = 0, l = colors.count; i < l; i ++ ) { + + const color = ( i < ( l / 2 ) ) ? _color1 : _color2; + + colors.setXYZ( i, color.r, color.g, color.b ); + + } + + colors.needsUpdate = true; + + } + + mesh.lookAt( _vector$1.setFromMatrixPosition( this.light.matrixWorld ).negate() ); + + } + +} + +class GridHelper extends LineSegments { + + constructor( size = 10, divisions = 10, color1 = 0x444444, color2 = 0x888888 ) { + + color1 = new Color( color1 ); + color2 = new Color( color2 ); + + const center = divisions / 2; + const step = size / divisions; + const halfSize = size / 2; + + const vertices = [], colors = []; + + for ( let i = 0, j = 0, k = - halfSize; i <= divisions; i ++, k += step ) { + + vertices.push( - halfSize, 0, k, halfSize, 0, k ); + vertices.push( k, 0, - halfSize, k, 0, halfSize ); + + const color = i === center ? color1 : color2; + + color.toArray( colors, j ); j += 3; + color.toArray( colors, j ); j += 3; + color.toArray( colors, j ); j += 3; + color.toArray( colors, j ); j += 3; + + } + + const geometry = new BufferGeometry(); + geometry.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + geometry.setAttribute( 'color', new Float32BufferAttribute( colors, 3 ) ); + + const material = new LineBasicMaterial( { vertexColors: true, toneMapped: false } ); + + super( geometry, material ); + + this.type = 'GridHelper'; + + } + +} + +class PolarGridHelper extends LineSegments { + + constructor( radius = 10, radials = 16, circles = 8, divisions = 64, color1 = 0x444444, color2 = 0x888888 ) { + + color1 = new Color( color1 ); + color2 = new Color( color2 ); + + const vertices = []; + const colors = []; + + // create the radials + + for ( let i = 0; i <= radials; i ++ ) { + + const v = ( i / radials ) * ( Math.PI * 2 ); + + const x = Math.sin( v ) * radius; + const z = Math.cos( v ) * radius; + + vertices.push( 0, 0, 0 ); + vertices.push( x, 0, z ); + + const color = ( i & 1 ) ? color1 : color2; + + colors.push( color.r, color.g, color.b ); + colors.push( color.r, color.g, color.b ); + + } + + // create the circles + + for ( let i = 0; i <= circles; i ++ ) { + + const color = ( i & 1 ) ? color1 : color2; + + const r = radius - ( radius / circles * i ); + + for ( let j = 0; j < divisions; j ++ ) { + + // first vertex + + let v = ( j / divisions ) * ( Math.PI * 2 ); + + let x = Math.sin( v ) * r; + let z = Math.cos( v ) * r; + + vertices.push( x, 0, z ); + colors.push( color.r, color.g, color.b ); + + // second vertex + + v = ( ( j + 1 ) / divisions ) * ( Math.PI * 2 ); + + x = Math.sin( v ) * r; + z = Math.cos( v ) * r; + + vertices.push( x, 0, z ); + colors.push( color.r, color.g, color.b ); + + } + + } + + const geometry = new BufferGeometry(); + geometry.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + geometry.setAttribute( 'color', new Float32BufferAttribute( colors, 3 ) ); + + const material = new LineBasicMaterial( { vertexColors: true, toneMapped: false } ); + + super( geometry, material ); + + this.type = 'PolarGridHelper'; + + } + +} + +const _v1 = /*@__PURE__*/ new Vector3(); +const _v2 = /*@__PURE__*/ new Vector3(); +const _v3 = /*@__PURE__*/ new Vector3(); + +class DirectionalLightHelper extends Object3D { + + constructor( light, size, color ) { + + super(); + this.light = light; + this.light.updateMatrixWorld(); + + this.matrix = light.matrixWorld; + this.matrixAutoUpdate = false; + + this.color = color; + + if ( size === undefined ) size = 1; + + let geometry = new BufferGeometry(); + geometry.setAttribute( 'position', new Float32BufferAttribute( [ + - size, size, 0, + size, size, 0, + size, - size, 0, + - size, - size, 0, + - size, size, 0 + ], 3 ) ); + + const material = new LineBasicMaterial( { fog: false, toneMapped: false } ); + + this.lightPlane = new Line( geometry, material ); + this.add( this.lightPlane ); + + geometry = new BufferGeometry(); + geometry.setAttribute( 'position', new Float32BufferAttribute( [ 0, 0, 0, 0, 0, 1 ], 3 ) ); + + this.targetLine = new Line( geometry, material ); + this.add( this.targetLine ); + + this.update(); + + } + + dispose() { + + this.lightPlane.geometry.dispose(); + this.lightPlane.material.dispose(); + this.targetLine.geometry.dispose(); + this.targetLine.material.dispose(); + + } + + update() { + + _v1.setFromMatrixPosition( this.light.matrixWorld ); + _v2.setFromMatrixPosition( this.light.target.matrixWorld ); + _v3.subVectors( _v2, _v1 ); + + this.lightPlane.lookAt( _v2 ); + + if ( this.color !== undefined ) { + + this.lightPlane.material.color.set( this.color ); + this.targetLine.material.color.set( this.color ); + + } else { + + this.lightPlane.material.color.copy( this.light.color ); + this.targetLine.material.color.copy( this.light.color ); + + } + + this.targetLine.lookAt( _v2 ); + this.targetLine.scale.z = _v3.length(); + + } + +} + +const _vector = /*@__PURE__*/ new Vector3(); +const _camera = /*@__PURE__*/ new Camera(); + +/** + * - shows frustum, line of sight and up of the camera + * - suitable for fast updates + * - based on frustum visualization in lightgl.js shadowmap example + * https://github.com/evanw/lightgl.js/blob/master/tests/shadowmap.html + */ + +class CameraHelper extends LineSegments { + + constructor( camera ) { + + const geometry = new BufferGeometry(); + const material = new LineBasicMaterial( { color: 0xffffff, vertexColors: true, toneMapped: false } ); + + const vertices = []; + const colors = []; + + const pointMap = {}; + + // colors + + const colorFrustum = new Color( 0xffaa00 ); + const colorCone = new Color( 0xff0000 ); + const colorUp = new Color( 0x00aaff ); + const colorTarget = new Color( 0xffffff ); + const colorCross = new Color( 0x333333 ); + + // near + + addLine( 'n1', 'n2', colorFrustum ); + addLine( 'n2', 'n4', colorFrustum ); + addLine( 'n4', 'n3', colorFrustum ); + addLine( 'n3', 'n1', colorFrustum ); + + // far + + addLine( 'f1', 'f2', colorFrustum ); + addLine( 'f2', 'f4', colorFrustum ); + addLine( 'f4', 'f3', colorFrustum ); + addLine( 'f3', 'f1', colorFrustum ); + + // sides + + addLine( 'n1', 'f1', colorFrustum ); + addLine( 'n2', 'f2', colorFrustum ); + addLine( 'n3', 'f3', colorFrustum ); + addLine( 'n4', 'f4', colorFrustum ); + + // cone + + addLine( 'p', 'n1', colorCone ); + addLine( 'p', 'n2', colorCone ); + addLine( 'p', 'n3', colorCone ); + addLine( 'p', 'n4', colorCone ); + + // up + + addLine( 'u1', 'u2', colorUp ); + addLine( 'u2', 'u3', colorUp ); + addLine( 'u3', 'u1', colorUp ); + + // target + + addLine( 'c', 't', colorTarget ); + addLine( 'p', 'c', colorCross ); + + // cross + + addLine( 'cn1', 'cn2', colorCross ); + addLine( 'cn3', 'cn4', colorCross ); + + addLine( 'cf1', 'cf2', colorCross ); + addLine( 'cf3', 'cf4', colorCross ); + + function addLine( a, b, color ) { + + addPoint( a, color ); + addPoint( b, color ); + + } + + function addPoint( id, color ) { + + vertices.push( 0, 0, 0 ); + colors.push( color.r, color.g, color.b ); + + if ( pointMap[ id ] === undefined ) { + + pointMap[ id ] = []; + + } + + pointMap[ id ].push( ( vertices.length / 3 ) - 1 ); + + } + + geometry.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + geometry.setAttribute( 'color', new Float32BufferAttribute( colors, 3 ) ); + + super( geometry, material ); + + this.type = 'CameraHelper'; + + this.camera = camera; + if ( this.camera.updateProjectionMatrix ) this.camera.updateProjectionMatrix(); + + this.matrix = camera.matrixWorld; + this.matrixAutoUpdate = false; + + this.pointMap = pointMap; + + this.update(); + + } + + update() { + + const geometry = this.geometry; + const pointMap = this.pointMap; + + const w = 1, h = 1; + + // we need just camera projection matrix inverse + // world matrix must be identity + + _camera.projectionMatrixInverse.copy( this.camera.projectionMatrixInverse ); + + // center / target + + setPoint( 'c', pointMap, geometry, _camera, 0, 0, - 1 ); + setPoint( 't', pointMap, geometry, _camera, 0, 0, 1 ); + + // near + + setPoint( 'n1', pointMap, geometry, _camera, - w, - h, - 1 ); + setPoint( 'n2', pointMap, geometry, _camera, w, - h, - 1 ); + setPoint( 'n3', pointMap, geometry, _camera, - w, h, - 1 ); + setPoint( 'n4', pointMap, geometry, _camera, w, h, - 1 ); + + // far + + setPoint( 'f1', pointMap, geometry, _camera, - w, - h, 1 ); + setPoint( 'f2', pointMap, geometry, _camera, w, - h, 1 ); + setPoint( 'f3', pointMap, geometry, _camera, - w, h, 1 ); + setPoint( 'f4', pointMap, geometry, _camera, w, h, 1 ); + + // up + + setPoint( 'u1', pointMap, geometry, _camera, w * 0.7, h * 1.1, - 1 ); + setPoint( 'u2', pointMap, geometry, _camera, - w * 0.7, h * 1.1, - 1 ); + setPoint( 'u3', pointMap, geometry, _camera, 0, h * 2, - 1 ); + + // cross + + setPoint( 'cf1', pointMap, geometry, _camera, - w, 0, 1 ); + setPoint( 'cf2', pointMap, geometry, _camera, w, 0, 1 ); + setPoint( 'cf3', pointMap, geometry, _camera, 0, - h, 1 ); + setPoint( 'cf4', pointMap, geometry, _camera, 0, h, 1 ); + + setPoint( 'cn1', pointMap, geometry, _camera, - w, 0, - 1 ); + setPoint( 'cn2', pointMap, geometry, _camera, w, 0, - 1 ); + setPoint( 'cn3', pointMap, geometry, _camera, 0, - h, - 1 ); + setPoint( 'cn4', pointMap, geometry, _camera, 0, h, - 1 ); + + geometry.getAttribute( 'position' ).needsUpdate = true; + + } + + dispose() { + + this.geometry.dispose(); + this.material.dispose(); + + } + +} + + +function setPoint( point, pointMap, geometry, camera, x, y, z ) { + + _vector.set( x, y, z ).unproject( camera ); + + const points = pointMap[ point ]; + + if ( points !== undefined ) { + + const position = geometry.getAttribute( 'position' ); + + for ( let i = 0, l = points.length; i < l; i ++ ) { + + position.setXYZ( points[ i ], _vector.x, _vector.y, _vector.z ); + + } + + } + +} + +const _box = /*@__PURE__*/ new Box3(); + +class BoxHelper extends LineSegments { + + constructor( object, color = 0xffff00 ) { + + const indices = new Uint16Array( [ 0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7 ] ); + const positions = new Float32Array( 8 * 3 ); + + const geometry = new BufferGeometry(); + geometry.setIndex( new BufferAttribute( indices, 1 ) ); + geometry.setAttribute( 'position', new BufferAttribute( positions, 3 ) ); + + super( geometry, new LineBasicMaterial( { color: color, toneMapped: false } ) ); + + this.object = object; + this.type = 'BoxHelper'; + + this.matrixAutoUpdate = false; + + this.update(); + + } + + update( object ) { + + if ( object !== undefined ) { + + console.warn( 'THREE.BoxHelper: .update() has no longer arguments.' ); + + } + + if ( this.object !== undefined ) { + + _box.setFromObject( this.object ); + + } + + if ( _box.isEmpty() ) return; + + const min = _box.min; + const max = _box.max; + + /* + 5____4 + 1/___0/| + | 6__|_7 + 2/___3/ + + 0: max.x, max.y, max.z + 1: min.x, max.y, max.z + 2: min.x, min.y, max.z + 3: max.x, min.y, max.z + 4: max.x, max.y, min.z + 5: min.x, max.y, min.z + 6: min.x, min.y, min.z + 7: max.x, min.y, min.z + */ + + const position = this.geometry.attributes.position; + const array = position.array; + + array[ 0 ] = max.x; array[ 1 ] = max.y; array[ 2 ] = max.z; + array[ 3 ] = min.x; array[ 4 ] = max.y; array[ 5 ] = max.z; + array[ 6 ] = min.x; array[ 7 ] = min.y; array[ 8 ] = max.z; + array[ 9 ] = max.x; array[ 10 ] = min.y; array[ 11 ] = max.z; + array[ 12 ] = max.x; array[ 13 ] = max.y; array[ 14 ] = min.z; + array[ 15 ] = min.x; array[ 16 ] = max.y; array[ 17 ] = min.z; + array[ 18 ] = min.x; array[ 19 ] = min.y; array[ 20 ] = min.z; + array[ 21 ] = max.x; array[ 22 ] = min.y; array[ 23 ] = min.z; + + position.needsUpdate = true; + + this.geometry.computeBoundingSphere(); + + + } + + setFromObject( object ) { + + this.object = object; + this.update(); + + return this; + + } + + copy( source ) { + + LineSegments.prototype.copy.call( this, source ); + + this.object = source.object; + + return this; + + } + +} + +class Box3Helper extends LineSegments { + + constructor( box, color = 0xffff00 ) { + + const indices = new Uint16Array( [ 0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7 ] ); + + const positions = [ 1, 1, 1, - 1, 1, 1, - 1, - 1, 1, 1, - 1, 1, 1, 1, - 1, - 1, 1, - 1, - 1, - 1, - 1, 1, - 1, - 1 ]; + + const geometry = new BufferGeometry(); + + geometry.setIndex( new BufferAttribute( indices, 1 ) ); + + geometry.setAttribute( 'position', new Float32BufferAttribute( positions, 3 ) ); + + super( geometry, new LineBasicMaterial( { color: color, toneMapped: false } ) ); + + this.box = box; + + this.type = 'Box3Helper'; + + this.geometry.computeBoundingSphere(); + + } + + updateMatrixWorld( force ) { + + const box = this.box; + + if ( box.isEmpty() ) return; + + box.getCenter( this.position ); + + box.getSize( this.scale ); + + this.scale.multiplyScalar( 0.5 ); + + super.updateMatrixWorld( force ); + + } + +} + +class PlaneHelper extends Line { + + constructor( plane, size = 1, hex = 0xffff00 ) { + + const color = hex; + + const positions = [ 1, - 1, 1, - 1, 1, 1, - 1, - 1, 1, 1, 1, 1, - 1, 1, 1, - 1, - 1, 1, 1, - 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0 ]; + + const geometry = new BufferGeometry(); + geometry.setAttribute( 'position', new Float32BufferAttribute( positions, 3 ) ); + geometry.computeBoundingSphere(); + + super( geometry, new LineBasicMaterial( { color: color, toneMapped: false } ) ); + + this.type = 'PlaneHelper'; + + this.plane = plane; + + this.size = size; + + const positions2 = [ 1, 1, 1, - 1, 1, 1, - 1, - 1, 1, 1, 1, 1, - 1, - 1, 1, 1, - 1, 1 ]; + + const geometry2 = new BufferGeometry(); + geometry2.setAttribute( 'position', new Float32BufferAttribute( positions2, 3 ) ); + geometry2.computeBoundingSphere(); + + this.add( new Mesh( geometry2, new MeshBasicMaterial( { color: color, opacity: 0.2, transparent: true, depthWrite: false, toneMapped: false } ) ) ); + + } + + updateMatrixWorld( force ) { + + let scale = - this.plane.constant; + + if ( Math.abs( scale ) < 1e-8 ) scale = 1e-8; // sign does not matter + + this.scale.set( 0.5 * this.size, 0.5 * this.size, scale ); + + this.children[ 0 ].material.side = ( scale < 0 ) ? BackSide : FrontSide; // renderer flips side when determinant < 0; flipping not wanted here + + this.lookAt( this.plane.normal ); + + super.updateMatrixWorld( force ); + + } + +} + +const _axis = /*@__PURE__*/ new Vector3(); +let _lineGeometry, _coneGeometry; + +class ArrowHelper extends Object3D { + + // dir is assumed to be normalized + + constructor( dir = new Vector3( 0, 0, 1 ), origin = new Vector3( 0, 0, 0 ), length = 1, color = 0xffff00, headLength = length * 0.2, headWidth = headLength * 0.2 ) { + + super(); + + this.type = 'ArrowHelper'; + + if ( _lineGeometry === undefined ) { + + _lineGeometry = new BufferGeometry(); + _lineGeometry.setAttribute( 'position', new Float32BufferAttribute( [ 0, 0, 0, 0, 1, 0 ], 3 ) ); + + _coneGeometry = new CylinderGeometry( 0, 0.5, 1, 5, 1 ); + _coneGeometry.translate( 0, - 0.5, 0 ); + + } + + this.position.copy( origin ); + + this.line = new Line( _lineGeometry, new LineBasicMaterial( { color: color, toneMapped: false } ) ); + this.line.matrixAutoUpdate = false; + this.add( this.line ); + + this.cone = new Mesh( _coneGeometry, new MeshBasicMaterial( { color: color, toneMapped: false } ) ); + this.cone.matrixAutoUpdate = false; + this.add( this.cone ); + + this.setDirection( dir ); + this.setLength( length, headLength, headWidth ); + + } + + setDirection( dir ) { + + // dir is assumed to be normalized + + if ( dir.y > 0.99999 ) { + + this.quaternion.set( 0, 0, 0, 1 ); + + } else if ( dir.y < - 0.99999 ) { + + this.quaternion.set( 1, 0, 0, 0 ); + + } else { + + _axis.set( dir.z, 0, - dir.x ).normalize(); + + const radians = Math.acos( dir.y ); + + this.quaternion.setFromAxisAngle( _axis, radians ); + + } + + } + + setLength( length, headLength = length * 0.2, headWidth = headLength * 0.2 ) { + + this.line.scale.set( 1, Math.max( 0.0001, length - headLength ), 1 ); // see #17458 + this.line.updateMatrix(); + + this.cone.scale.set( headWidth, headLength, headWidth ); + this.cone.position.y = length; + this.cone.updateMatrix(); + + } + + setColor( color ) { + + this.line.material.color.set( color ); + this.cone.material.color.set( color ); + + } + + copy( source ) { + + super.copy( source, false ); + + this.line.copy( source.line ); + this.cone.copy( source.cone ); + + return this; + + } + +} + +class AxesHelper extends LineSegments { + + constructor( size = 1 ) { + + const vertices = [ + 0, 0, 0, size, 0, 0, + 0, 0, 0, 0, size, 0, + 0, 0, 0, 0, 0, size + ]; + + const colors = [ + 1, 0, 0, 1, 0.6, 0, + 0, 1, 0, 0.6, 1, 0, + 0, 0, 1, 0, 0.6, 1 + ]; + + const geometry = new BufferGeometry(); + geometry.setAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); + geometry.setAttribute( 'color', new Float32BufferAttribute( colors, 3 ) ); + + const material = new LineBasicMaterial( { vertexColors: true, toneMapped: false } ); + + super( geometry, material ); + + this.type = 'AxesHelper'; + + } + + setColors( xAxisColor, yAxisColor, zAxisColor ) { + + const color = new Color(); + const array = this.geometry.attributes.color.array; + + color.set( xAxisColor ); + color.toArray( array, 0 ); + color.toArray( array, 3 ); + + color.set( yAxisColor ); + color.toArray( array, 6 ); + color.toArray( array, 9 ); + + color.set( zAxisColor ); + color.toArray( array, 12 ); + color.toArray( array, 15 ); + + this.geometry.attributes.color.needsUpdate = true; + + return this; + + } + + dispose() { + + this.geometry.dispose(); + this.material.dispose(); + + } + +} + +class ShapePath { + + constructor() { + + this.type = 'ShapePath'; + + this.color = new Color(); + + this.subPaths = []; + this.currentPath = null; + + } + + moveTo( x, y ) { + + this.currentPath = new Path(); + this.subPaths.push( this.currentPath ); + this.currentPath.moveTo( x, y ); + + return this; + + } + + lineTo( x, y ) { + + this.currentPath.lineTo( x, y ); + + return this; + + } + + quadraticCurveTo( aCPx, aCPy, aX, aY ) { + + this.currentPath.quadraticCurveTo( aCPx, aCPy, aX, aY ); + + return this; + + } + + bezierCurveTo( aCP1x, aCP1y, aCP2x, aCP2y, aX, aY ) { + + this.currentPath.bezierCurveTo( aCP1x, aCP1y, aCP2x, aCP2y, aX, aY ); + + return this; + + } + + splineThru( pts ) { + + this.currentPath.splineThru( pts ); + + return this; + + } + + toShapes( isCCW, noHoles ) { + + function toShapesNoHoles( inSubpaths ) { + + const shapes = []; + + for ( let i = 0, l = inSubpaths.length; i < l; i ++ ) { + + const tmpPath = inSubpaths[ i ]; + + const tmpShape = new Shape(); + tmpShape.curves = tmpPath.curves; + + shapes.push( tmpShape ); + + } + + return shapes; + + } + + function isPointInsidePolygon( inPt, inPolygon ) { + + const polyLen = inPolygon.length; + + // inPt on polygon contour => immediate success or + // toggling of inside/outside at every single! intersection point of an edge + // with the horizontal line through inPt, left of inPt + // not counting lowerY endpoints of edges and whole edges on that line + let inside = false; + for ( let p = polyLen - 1, q = 0; q < polyLen; p = q ++ ) { + + let edgeLowPt = inPolygon[ p ]; + let edgeHighPt = inPolygon[ q ]; + + let edgeDx = edgeHighPt.x - edgeLowPt.x; + let edgeDy = edgeHighPt.y - edgeLowPt.y; + + if ( Math.abs( edgeDy ) > Number.EPSILON ) { + + // not parallel + if ( edgeDy < 0 ) { + + edgeLowPt = inPolygon[ q ]; edgeDx = - edgeDx; + edgeHighPt = inPolygon[ p ]; edgeDy = - edgeDy; + + } + + if ( ( inPt.y < edgeLowPt.y ) || ( inPt.y > edgeHighPt.y ) ) continue; + + if ( inPt.y === edgeLowPt.y ) { + + if ( inPt.x === edgeLowPt.x ) return true; // inPt is on contour ? + // continue; // no intersection or edgeLowPt => doesn't count !!! + + } else { + + const perpEdge = edgeDy * ( inPt.x - edgeLowPt.x ) - edgeDx * ( inPt.y - edgeLowPt.y ); + if ( perpEdge === 0 ) return true; // inPt is on contour ? + if ( perpEdge < 0 ) continue; + inside = ! inside; // true intersection left of inPt + + } + + } else { + + // parallel or collinear + if ( inPt.y !== edgeLowPt.y ) continue; // parallel + // edge lies on the same horizontal line as inPt + if ( ( ( edgeHighPt.x <= inPt.x ) && ( inPt.x <= edgeLowPt.x ) ) || + ( ( edgeLowPt.x <= inPt.x ) && ( inPt.x <= edgeHighPt.x ) ) ) return true; // inPt: Point on contour ! + // continue; + + } + + } + + return inside; + + } + + const isClockWise = ShapeUtils.isClockWise; + + const subPaths = this.subPaths; + if ( subPaths.length === 0 ) return []; + + if ( noHoles === true ) return toShapesNoHoles( subPaths ); + + + let solid, tmpPath, tmpShape; + const shapes = []; + + if ( subPaths.length === 1 ) { + + tmpPath = subPaths[ 0 ]; + tmpShape = new Shape(); + tmpShape.curves = tmpPath.curves; + shapes.push( tmpShape ); + return shapes; + + } + + let holesFirst = ! isClockWise( subPaths[ 0 ].getPoints() ); + holesFirst = isCCW ? ! holesFirst : holesFirst; + + // console.log("Holes first", holesFirst); + + const betterShapeHoles = []; + const newShapes = []; + let newShapeHoles = []; + let mainIdx = 0; + let tmpPoints; + + newShapes[ mainIdx ] = undefined; + newShapeHoles[ mainIdx ] = []; + + for ( let i = 0, l = subPaths.length; i < l; i ++ ) { + + tmpPath = subPaths[ i ]; + tmpPoints = tmpPath.getPoints(); + solid = isClockWise( tmpPoints ); + solid = isCCW ? ! solid : solid; + + if ( solid ) { + + if ( ( ! holesFirst ) && ( newShapes[ mainIdx ] ) ) mainIdx ++; + + newShapes[ mainIdx ] = { s: new Shape(), p: tmpPoints }; + newShapes[ mainIdx ].s.curves = tmpPath.curves; + + if ( holesFirst ) mainIdx ++; + newShapeHoles[ mainIdx ] = []; + + //console.log('cw', i); + + } else { + + newShapeHoles[ mainIdx ].push( { h: tmpPath, p: tmpPoints[ 0 ] } ); + + //console.log('ccw', i); + + } + + } + + // only Holes? -> probably all Shapes with wrong orientation + if ( ! newShapes[ 0 ] ) return toShapesNoHoles( subPaths ); + + + if ( newShapes.length > 1 ) { + + let ambiguous = false; + const toChange = []; + + for ( let sIdx = 0, sLen = newShapes.length; sIdx < sLen; sIdx ++ ) { + + betterShapeHoles[ sIdx ] = []; + + } + + for ( let sIdx = 0, sLen = newShapes.length; sIdx < sLen; sIdx ++ ) { + + const sho = newShapeHoles[ sIdx ]; + + for ( let hIdx = 0; hIdx < sho.length; hIdx ++ ) { + + const ho = sho[ hIdx ]; + let hole_unassigned = true; + + for ( let s2Idx = 0; s2Idx < newShapes.length; s2Idx ++ ) { + + if ( isPointInsidePolygon( ho.p, newShapes[ s2Idx ].p ) ) { + + if ( sIdx !== s2Idx ) toChange.push( { froms: sIdx, tos: s2Idx, hole: hIdx } ); + if ( hole_unassigned ) { + + hole_unassigned = false; + betterShapeHoles[ s2Idx ].push( ho ); + + } else { + + ambiguous = true; + + } + + } + + } + + if ( hole_unassigned ) { + + betterShapeHoles[ sIdx ].push( ho ); + + } + + } + + } + // console.log("ambiguous: ", ambiguous); + + if ( toChange.length > 0 ) { + + // console.log("to change: ", toChange); + if ( ! ambiguous ) newShapeHoles = betterShapeHoles; + + } + + } + + let tmpHoles; + + for ( let i = 0, il = newShapes.length; i < il; i ++ ) { + + tmpShape = newShapes[ i ].s; + shapes.push( tmpShape ); + tmpHoles = newShapeHoles[ i ]; + + for ( let j = 0, jl = tmpHoles.length; j < jl; j ++ ) { + + tmpShape.holes.push( tmpHoles[ j ].h ); + + } + + } + + //console.log("shape", shapes); + + return shapes; + + } + +} + +const _floatView = new Float32Array( 1 ); +const _int32View = new Int32Array( _floatView.buffer ); + +class DataUtils { + + // Converts float32 to float16 (stored as uint16 value). + + static toHalfFloat( val ) { + + if ( val > 65504 ) { + + console.warn( 'THREE.DataUtils.toHalfFloat(): value exceeds 65504.' ); + + val = 65504; // maximum representable value in float16 + + } + + // Source: http://gamedev.stackexchange.com/questions/17326/conversion-of-a-number-from-single-precision-floating-point-representation-to-a/17410#17410 + + /* This method is faster than the OpenEXR implementation (very often + * used, eg. in Ogre), with the additional benefit of rounding, inspired + * by James Tursa?s half-precision code. */ + + _floatView[ 0 ] = val; + const x = _int32View[ 0 ]; + + let bits = ( x >> 16 ) & 0x8000; /* Get the sign */ + let m = ( x >> 12 ) & 0x07ff; /* Keep one extra bit for rounding */ + const e = ( x >> 23 ) & 0xff; /* Using int is faster here */ + + /* If zero, or denormal, or exponent underflows too much for a denormal + * half, return signed zero. */ + if ( e < 103 ) return bits; + + /* If NaN, return NaN. If Inf or exponent overflow, return Inf. */ + if ( e > 142 ) { + + bits |= 0x7c00; + /* If exponent was 0xff and one mantissa bit was set, it means NaN, + * not Inf, so make sure we set one mantissa bit too. */ + bits |= ( ( e == 255 ) ? 0 : 1 ) && ( x & 0x007fffff ); + return bits; + + } + + /* If exponent underflows but not too much, return a denormal */ + if ( e < 113 ) { + + m |= 0x0800; + /* Extra rounding may overflow and set mantissa to 0 and exponent + * to 1, which is OK. */ + bits |= ( m >> ( 114 - e ) ) + ( ( m >> ( 113 - e ) ) & 1 ); + return bits; + + } + + bits |= ( ( e - 112 ) << 10 ) | ( m >> 1 ); + /* Extra rounding. An overflow will set mantissa to 0 and increment + * the exponent, which is OK. */ + bits += m & 1; + return bits; + + } + +} + +const LineStrip = 0; +const LinePieces = 1; +const NoColors = 0; +const FaceColors = 1; +const VertexColors = 2; + +function MeshFaceMaterial( materials ) { + + console.warn( 'THREE.MeshFaceMaterial has been removed. Use an Array instead.' ); + return materials; + +} + +function MultiMaterial( materials = [] ) { + + console.warn( 'THREE.MultiMaterial has been removed. Use an Array instead.' ); + materials.isMultiMaterial = true; + materials.materials = materials; + materials.clone = function () { + + return materials.slice(); + + }; + + return materials; + +} + +function PointCloud( geometry, material ) { + + console.warn( 'THREE.PointCloud has been renamed to THREE.Points.' ); + return new Points( geometry, material ); + +} + +function Particle( material ) { + + console.warn( 'THREE.Particle has been renamed to THREE.Sprite.' ); + return new Sprite( material ); + +} + +function ParticleSystem( geometry, material ) { + + console.warn( 'THREE.ParticleSystem has been renamed to THREE.Points.' ); + return new Points( geometry, material ); + +} + +function PointCloudMaterial( parameters ) { + + console.warn( 'THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial.' ); + return new PointsMaterial( parameters ); + +} + +function ParticleBasicMaterial( parameters ) { + + console.warn( 'THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial.' ); + return new PointsMaterial( parameters ); + +} + +function ParticleSystemMaterial( parameters ) { + + console.warn( 'THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial.' ); + return new PointsMaterial( parameters ); + +} + +function Vertex( x, y, z ) { + + console.warn( 'THREE.Vertex has been removed. Use THREE.Vector3 instead.' ); + return new Vector3( x, y, z ); + +} + +// + +function DynamicBufferAttribute( array, itemSize ) { + + console.warn( 'THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setUsage( THREE.DynamicDrawUsage ) instead.' ); + return new BufferAttribute( array, itemSize ).setUsage( DynamicDrawUsage ); + +} + +function Int8Attribute( array, itemSize ) { + + console.warn( 'THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead.' ); + return new Int8BufferAttribute( array, itemSize ); + +} + +function Uint8Attribute( array, itemSize ) { + + console.warn( 'THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead.' ); + return new Uint8BufferAttribute( array, itemSize ); + +} + +function Uint8ClampedAttribute( array, itemSize ) { + + console.warn( 'THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead.' ); + return new Uint8ClampedBufferAttribute( array, itemSize ); + +} + +function Int16Attribute( array, itemSize ) { + + console.warn( 'THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead.' ); + return new Int16BufferAttribute( array, itemSize ); + +} + +function Uint16Attribute( array, itemSize ) { + + console.warn( 'THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead.' ); + return new Uint16BufferAttribute( array, itemSize ); + +} + +function Int32Attribute( array, itemSize ) { + + console.warn( 'THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead.' ); + return new Int32BufferAttribute( array, itemSize ); + +} + +function Uint32Attribute( array, itemSize ) { + + console.warn( 'THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead.' ); + return new Uint32BufferAttribute( array, itemSize ); + +} + +function Float32Attribute( array, itemSize ) { + + console.warn( 'THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead.' ); + return new Float32BufferAttribute( array, itemSize ); + +} + +function Float64Attribute( array, itemSize ) { + + console.warn( 'THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead.' ); + return new Float64BufferAttribute( array, itemSize ); + +} + +// + +Curve.create = function ( construct, getPoint ) { + + console.log( 'THREE.Curve.create() has been deprecated' ); + + construct.prototype = Object.create( Curve.prototype ); + construct.prototype.constructor = construct; + construct.prototype.getPoint = getPoint; + + return construct; + +}; + +// + +Path.prototype.fromPoints = function ( points ) { + + console.warn( 'THREE.Path: .fromPoints() has been renamed to .setFromPoints().' ); + return this.setFromPoints( points ); + +}; + +// + +function AxisHelper( size ) { + + console.warn( 'THREE.AxisHelper has been renamed to THREE.AxesHelper.' ); + return new AxesHelper( size ); + +} + +function BoundingBoxHelper( object, color ) { + + console.warn( 'THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead.' ); + return new BoxHelper( object, color ); + +} + +function EdgesHelper( object, hex ) { + + console.warn( 'THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead.' ); + return new LineSegments( new EdgesGeometry( object.geometry ), new LineBasicMaterial( { color: hex !== undefined ? hex : 0xffffff } ) ); + +} + +GridHelper.prototype.setColors = function () { + + console.error( 'THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.' ); + +}; + +SkeletonHelper.prototype.update = function () { + + console.error( 'THREE.SkeletonHelper: update() no longer needs to be called.' ); + +}; + +function WireframeHelper( object, hex ) { + + console.warn( 'THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead.' ); + return new LineSegments( new WireframeGeometry( object.geometry ), new LineBasicMaterial( { color: hex !== undefined ? hex : 0xffffff } ) ); + +} + +// + +Loader.prototype.extractUrlBase = function ( url ) { + + console.warn( 'THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead.' ); + return LoaderUtils.extractUrlBase( url ); + +}; + +Loader.Handlers = { + + add: function ( /* regex, loader */ ) { + + console.error( 'THREE.Loader: Handlers.add() has been removed. Use LoadingManager.addHandler() instead.' ); + + }, + + get: function ( /* file */ ) { + + console.error( 'THREE.Loader: Handlers.get() has been removed. Use LoadingManager.getHandler() instead.' ); + + } + +}; + +function XHRLoader( manager ) { + + console.warn( 'THREE.XHRLoader has been renamed to THREE.FileLoader.' ); + return new FileLoader( manager ); + +} + +function BinaryTextureLoader( manager ) { + + console.warn( 'THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader.' ); + return new DataTextureLoader( manager ); + +} + +// + +Box2.prototype.center = function ( optionalTarget ) { + + console.warn( 'THREE.Box2: .center() has been renamed to .getCenter().' ); + return this.getCenter( optionalTarget ); + +}; + +Box2.prototype.empty = function () { + + console.warn( 'THREE.Box2: .empty() has been renamed to .isEmpty().' ); + return this.isEmpty(); + +}; + +Box2.prototype.isIntersectionBox = function ( box ) { + + console.warn( 'THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox().' ); + return this.intersectsBox( box ); + +}; + +Box2.prototype.size = function ( optionalTarget ) { + + console.warn( 'THREE.Box2: .size() has been renamed to .getSize().' ); + return this.getSize( optionalTarget ); + +}; + +// + +Box3.prototype.center = function ( optionalTarget ) { + + console.warn( 'THREE.Box3: .center() has been renamed to .getCenter().' ); + return this.getCenter( optionalTarget ); + +}; + +Box3.prototype.empty = function () { + + console.warn( 'THREE.Box3: .empty() has been renamed to .isEmpty().' ); + return this.isEmpty(); + +}; + +Box3.prototype.isIntersectionBox = function ( box ) { + + console.warn( 'THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox().' ); + return this.intersectsBox( box ); + +}; + +Box3.prototype.isIntersectionSphere = function ( sphere ) { + + console.warn( 'THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere().' ); + return this.intersectsSphere( sphere ); + +}; + +Box3.prototype.size = function ( optionalTarget ) { + + console.warn( 'THREE.Box3: .size() has been renamed to .getSize().' ); + return this.getSize( optionalTarget ); + +}; + +// + +Sphere.prototype.empty = function () { + + console.warn( 'THREE.Sphere: .empty() has been renamed to .isEmpty().' ); + return this.isEmpty(); + +}; + +// + +Frustum.prototype.setFromMatrix = function ( m ) { + + console.warn( 'THREE.Frustum: .setFromMatrix() has been renamed to .setFromProjectionMatrix().' ); + return this.setFromProjectionMatrix( m ); + +}; + +// + +Line3.prototype.center = function ( optionalTarget ) { + + console.warn( 'THREE.Line3: .center() has been renamed to .getCenter().' ); + return this.getCenter( optionalTarget ); + +}; + +// + +Matrix3.prototype.flattenToArrayOffset = function ( array, offset ) { + + console.warn( 'THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.' ); + return this.toArray( array, offset ); + +}; + +Matrix3.prototype.multiplyVector3 = function ( vector ) { + + console.warn( 'THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.' ); + return vector.applyMatrix3( this ); + +}; + +Matrix3.prototype.multiplyVector3Array = function ( /* a */ ) { + + console.error( 'THREE.Matrix3: .multiplyVector3Array() has been removed.' ); + +}; + +Matrix3.prototype.applyToBufferAttribute = function ( attribute ) { + + console.warn( 'THREE.Matrix3: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix3( matrix ) instead.' ); + return attribute.applyMatrix3( this ); + +}; + +Matrix3.prototype.applyToVector3Array = function ( /* array, offset, length */ ) { + + console.error( 'THREE.Matrix3: .applyToVector3Array() has been removed.' ); + +}; + +Matrix3.prototype.getInverse = function ( matrix ) { + + console.warn( 'THREE.Matrix3: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead.' ); + return this.copy( matrix ).invert(); + +}; + +// + +Matrix4.prototype.extractPosition = function ( m ) { + + console.warn( 'THREE.Matrix4: .extractPosition() has been renamed to .copyPosition().' ); + return this.copyPosition( m ); + +}; + +Matrix4.prototype.flattenToArrayOffset = function ( array, offset ) { + + console.warn( 'THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.' ); + return this.toArray( array, offset ); + +}; + +Matrix4.prototype.getPosition = function () { + + console.warn( 'THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead.' ); + return new Vector3().setFromMatrixColumn( this, 3 ); + +}; + +Matrix4.prototype.setRotationFromQuaternion = function ( q ) { + + console.warn( 'THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion().' ); + return this.makeRotationFromQuaternion( q ); + +}; + +Matrix4.prototype.multiplyToArray = function () { + + console.warn( 'THREE.Matrix4: .multiplyToArray() has been removed.' ); + +}; + +Matrix4.prototype.multiplyVector3 = function ( vector ) { + + console.warn( 'THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead.' ); + return vector.applyMatrix4( this ); + +}; + +Matrix4.prototype.multiplyVector4 = function ( vector ) { + + console.warn( 'THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead.' ); + return vector.applyMatrix4( this ); + +}; + +Matrix4.prototype.multiplyVector3Array = function ( /* a */ ) { + + console.error( 'THREE.Matrix4: .multiplyVector3Array() has been removed.' ); + +}; + +Matrix4.prototype.rotateAxis = function ( v ) { + + console.warn( 'THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead.' ); + v.transformDirection( this ); + +}; + +Matrix4.prototype.crossVector = function ( vector ) { + + console.warn( 'THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead.' ); + return vector.applyMatrix4( this ); + +}; + +Matrix4.prototype.translate = function () { + + console.error( 'THREE.Matrix4: .translate() has been removed.' ); + +}; + +Matrix4.prototype.rotateX = function () { + + console.error( 'THREE.Matrix4: .rotateX() has been removed.' ); + +}; + +Matrix4.prototype.rotateY = function () { + + console.error( 'THREE.Matrix4: .rotateY() has been removed.' ); + +}; + +Matrix4.prototype.rotateZ = function () { + + console.error( 'THREE.Matrix4: .rotateZ() has been removed.' ); + +}; + +Matrix4.prototype.rotateByAxis = function () { + + console.error( 'THREE.Matrix4: .rotateByAxis() has been removed.' ); + +}; + +Matrix4.prototype.applyToBufferAttribute = function ( attribute ) { + + console.warn( 'THREE.Matrix4: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix4( matrix ) instead.' ); + return attribute.applyMatrix4( this ); + +}; + +Matrix4.prototype.applyToVector3Array = function ( /* array, offset, length */ ) { + + console.error( 'THREE.Matrix4: .applyToVector3Array() has been removed.' ); + +}; + +Matrix4.prototype.makeFrustum = function ( left, right, bottom, top, near, far ) { + + console.warn( 'THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead.' ); + return this.makePerspective( left, right, top, bottom, near, far ); + +}; + +Matrix4.prototype.getInverse = function ( matrix ) { + + console.warn( 'THREE.Matrix4: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead.' ); + return this.copy( matrix ).invert(); + +}; + +// + +Plane.prototype.isIntersectionLine = function ( line ) { + + console.warn( 'THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine().' ); + return this.intersectsLine( line ); + +}; + +// + +Quaternion.prototype.multiplyVector3 = function ( vector ) { + + console.warn( 'THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead.' ); + return vector.applyQuaternion( this ); + +}; + +Quaternion.prototype.inverse = function ( ) { + + console.warn( 'THREE.Quaternion: .inverse() has been renamed to invert().' ); + return this.invert(); + +}; + +// + +Ray.prototype.isIntersectionBox = function ( box ) { + + console.warn( 'THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox().' ); + return this.intersectsBox( box ); + +}; + +Ray.prototype.isIntersectionPlane = function ( plane ) { + + console.warn( 'THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane().' ); + return this.intersectsPlane( plane ); + +}; + +Ray.prototype.isIntersectionSphere = function ( sphere ) { + + console.warn( 'THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere().' ); + return this.intersectsSphere( sphere ); + +}; + +// + +Triangle.prototype.area = function () { + + console.warn( 'THREE.Triangle: .area() has been renamed to .getArea().' ); + return this.getArea(); + +}; + +Triangle.prototype.barycoordFromPoint = function ( point, target ) { + + console.warn( 'THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord().' ); + return this.getBarycoord( point, target ); + +}; + +Triangle.prototype.midpoint = function ( target ) { + + console.warn( 'THREE.Triangle: .midpoint() has been renamed to .getMidpoint().' ); + return this.getMidpoint( target ); + +}; + +Triangle.prototypenormal = function ( target ) { + + console.warn( 'THREE.Triangle: .normal() has been renamed to .getNormal().' ); + return this.getNormal( target ); + +}; + +Triangle.prototype.plane = function ( target ) { + + console.warn( 'THREE.Triangle: .plane() has been renamed to .getPlane().' ); + return this.getPlane( target ); + +}; + +Triangle.barycoordFromPoint = function ( point, a, b, c, target ) { + + console.warn( 'THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord().' ); + return Triangle.getBarycoord( point, a, b, c, target ); + +}; + +Triangle.normal = function ( a, b, c, target ) { + + console.warn( 'THREE.Triangle: .normal() has been renamed to .getNormal().' ); + return Triangle.getNormal( a, b, c, target ); + +}; + +// + +Shape.prototype.extractAllPoints = function ( divisions ) { + + console.warn( 'THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead.' ); + return this.extractPoints( divisions ); + +}; + +Shape.prototype.extrude = function ( options ) { + + console.warn( 'THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead.' ); + return new ExtrudeGeometry( this, options ); + +}; + +Shape.prototype.makeGeometry = function ( options ) { + + console.warn( 'THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead.' ); + return new ShapeGeometry( this, options ); + +}; + +// + +Vector2.prototype.fromAttribute = function ( attribute, index, offset ) { + + console.warn( 'THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute().' ); + return this.fromBufferAttribute( attribute, index, offset ); + +}; + +Vector2.prototype.distanceToManhattan = function ( v ) { + + console.warn( 'THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo().' ); + return this.manhattanDistanceTo( v ); + +}; + +Vector2.prototype.lengthManhattan = function () { + + console.warn( 'THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength().' ); + return this.manhattanLength(); + +}; + +// + +Vector3.prototype.setEulerFromRotationMatrix = function () { + + console.error( 'THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.' ); + +}; + +Vector3.prototype.setEulerFromQuaternion = function () { + + console.error( 'THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.' ); + +}; + +Vector3.prototype.getPositionFromMatrix = function ( m ) { + + console.warn( 'THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition().' ); + return this.setFromMatrixPosition( m ); + +}; + +Vector3.prototype.getScaleFromMatrix = function ( m ) { + + console.warn( 'THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale().' ); + return this.setFromMatrixScale( m ); + +}; + +Vector3.prototype.getColumnFromMatrix = function ( index, matrix ) { + + console.warn( 'THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn().' ); + return this.setFromMatrixColumn( matrix, index ); + +}; + +Vector3.prototype.applyProjection = function ( m ) { + + console.warn( 'THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead.' ); + return this.applyMatrix4( m ); + +}; + +Vector3.prototype.fromAttribute = function ( attribute, index, offset ) { + + console.warn( 'THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute().' ); + return this.fromBufferAttribute( attribute, index, offset ); + +}; + +Vector3.prototype.distanceToManhattan = function ( v ) { + + console.warn( 'THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo().' ); + return this.manhattanDistanceTo( v ); + +}; + +Vector3.prototype.lengthManhattan = function () { + + console.warn( 'THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength().' ); + return this.manhattanLength(); + +}; + +// + +Vector4.prototype.fromAttribute = function ( attribute, index, offset ) { + + console.warn( 'THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute().' ); + return this.fromBufferAttribute( attribute, index, offset ); + +}; + +Vector4.prototype.lengthManhattan = function () { + + console.warn( 'THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength().' ); + return this.manhattanLength(); + +}; + +// + +Object3D.prototype.getChildByName = function ( name ) { + + console.warn( 'THREE.Object3D: .getChildByName() has been renamed to .getObjectByName().' ); + return this.getObjectByName( name ); + +}; + +Object3D.prototype.renderDepth = function () { + + console.warn( 'THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.' ); + +}; + +Object3D.prototype.translate = function ( distance, axis ) { + + console.warn( 'THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead.' ); + return this.translateOnAxis( axis, distance ); + +}; + +Object3D.prototype.getWorldRotation = function () { + + console.error( 'THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.' ); + +}; + +Object3D.prototype.applyMatrix = function ( matrix ) { + + console.warn( 'THREE.Object3D: .applyMatrix() has been renamed to .applyMatrix4().' ); + return this.applyMatrix4( matrix ); + +}; + +Object.defineProperties( Object3D.prototype, { + + eulerOrder: { + get: function () { + + console.warn( 'THREE.Object3D: .eulerOrder is now .rotation.order.' ); + return this.rotation.order; + + }, + set: function ( value ) { + + console.warn( 'THREE.Object3D: .eulerOrder is now .rotation.order.' ); + this.rotation.order = value; + + } + }, + useQuaternion: { + get: function () { + + console.warn( 'THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.' ); + + }, + set: function () { + + console.warn( 'THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.' ); + + } + } + +} ); + +Mesh.prototype.setDrawMode = function () { + + console.error( 'THREE.Mesh: .setDrawMode() has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.' ); + +}; + +Object.defineProperties( Mesh.prototype, { + + drawMode: { + get: function () { + + console.error( 'THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode.' ); + return TrianglesDrawMode; + + }, + set: function () { + + console.error( 'THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.' ); + + } + } + +} ); + +SkinnedMesh.prototype.initBones = function () { + + console.error( 'THREE.SkinnedMesh: initBones() has been removed.' ); + +}; + +// + +PerspectiveCamera.prototype.setLens = function ( focalLength, filmGauge ) { + + console.warn( 'THREE.PerspectiveCamera.setLens is deprecated. ' + + 'Use .setFocalLength and .filmGauge for a photographic setup.' ); + + if ( filmGauge !== undefined ) this.filmGauge = filmGauge; + this.setFocalLength( focalLength ); + +}; + +// + +Object.defineProperties( Light.prototype, { + onlyShadow: { + set: function () { + + console.warn( 'THREE.Light: .onlyShadow has been removed.' ); + + } + }, + shadowCameraFov: { + set: function ( value ) { + + console.warn( 'THREE.Light: .shadowCameraFov is now .shadow.camera.fov.' ); + this.shadow.camera.fov = value; + + } + }, + shadowCameraLeft: { + set: function ( value ) { + + console.warn( 'THREE.Light: .shadowCameraLeft is now .shadow.camera.left.' ); + this.shadow.camera.left = value; + + } + }, + shadowCameraRight: { + set: function ( value ) { + + console.warn( 'THREE.Light: .shadowCameraRight is now .shadow.camera.right.' ); + this.shadow.camera.right = value; + + } + }, + shadowCameraTop: { + set: function ( value ) { + + console.warn( 'THREE.Light: .shadowCameraTop is now .shadow.camera.top.' ); + this.shadow.camera.top = value; + + } + }, + shadowCameraBottom: { + set: function ( value ) { + + console.warn( 'THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom.' ); + this.shadow.camera.bottom = value; + + } + }, + shadowCameraNear: { + set: function ( value ) { + + console.warn( 'THREE.Light: .shadowCameraNear is now .shadow.camera.near.' ); + this.shadow.camera.near = value; + + } + }, + shadowCameraFar: { + set: function ( value ) { + + console.warn( 'THREE.Light: .shadowCameraFar is now .shadow.camera.far.' ); + this.shadow.camera.far = value; + + } + }, + shadowCameraVisible: { + set: function () { + + console.warn( 'THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.' ); + + } + }, + shadowBias: { + set: function ( value ) { + + console.warn( 'THREE.Light: .shadowBias is now .shadow.bias.' ); + this.shadow.bias = value; + + } + }, + shadowDarkness: { + set: function () { + + console.warn( 'THREE.Light: .shadowDarkness has been removed.' ); + + } + }, + shadowMapWidth: { + set: function ( value ) { + + console.warn( 'THREE.Light: .shadowMapWidth is now .shadow.mapSize.width.' ); + this.shadow.mapSize.width = value; + + } + }, + shadowMapHeight: { + set: function ( value ) { + + console.warn( 'THREE.Light: .shadowMapHeight is now .shadow.mapSize.height.' ); + this.shadow.mapSize.height = value; + + } + } +} ); + +// + +Object.defineProperties( BufferAttribute.prototype, { + + length: { + get: function () { + + console.warn( 'THREE.BufferAttribute: .length has been deprecated. Use .count instead.' ); + return this.array.length; + + } + }, + dynamic: { + get: function () { + + console.warn( 'THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead.' ); + return this.usage === DynamicDrawUsage; + + }, + set: function ( /* value */ ) { + + console.warn( 'THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead.' ); + this.setUsage( DynamicDrawUsage ); + + } + } + +} ); + +BufferAttribute.prototype.setDynamic = function ( value ) { + + console.warn( 'THREE.BufferAttribute: .setDynamic() has been deprecated. Use .setUsage() instead.' ); + this.setUsage( value === true ? DynamicDrawUsage : StaticDrawUsage ); + return this; + +}; + +BufferAttribute.prototype.copyIndicesArray = function ( /* indices */ ) { + + console.error( 'THREE.BufferAttribute: .copyIndicesArray() has been removed.' ); + +}, + +BufferAttribute.prototype.setArray = function ( /* array */ ) { + + console.error( 'THREE.BufferAttribute: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers' ); + +}; + +// + +BufferGeometry.prototype.addIndex = function ( index ) { + + console.warn( 'THREE.BufferGeometry: .addIndex() has been renamed to .setIndex().' ); + this.setIndex( index ); + +}; + +BufferGeometry.prototype.addAttribute = function ( name, attribute ) { + + console.warn( 'THREE.BufferGeometry: .addAttribute() has been renamed to .setAttribute().' ); + + if ( ! ( attribute && attribute.isBufferAttribute ) && ! ( attribute && attribute.isInterleavedBufferAttribute ) ) { + + console.warn( 'THREE.BufferGeometry: .addAttribute() now expects ( name, attribute ).' ); + + return this.setAttribute( name, new BufferAttribute( arguments[ 1 ], arguments[ 2 ] ) ); + + } + + if ( name === 'index' ) { + + console.warn( 'THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute.' ); + this.setIndex( attribute ); + + return this; + + } + + return this.setAttribute( name, attribute ); + +}; + +BufferGeometry.prototype.addDrawCall = function ( start, count, indexOffset ) { + + if ( indexOffset !== undefined ) { + + console.warn( 'THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset.' ); + + } + + console.warn( 'THREE.BufferGeometry: .addDrawCall() is now .addGroup().' ); + this.addGroup( start, count ); + +}; + +BufferGeometry.prototype.clearDrawCalls = function () { + + console.warn( 'THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups().' ); + this.clearGroups(); + +}; + +BufferGeometry.prototype.computeOffsets = function () { + + console.warn( 'THREE.BufferGeometry: .computeOffsets() has been removed.' ); + +}; + +BufferGeometry.prototype.removeAttribute = function ( name ) { + + console.warn( 'THREE.BufferGeometry: .removeAttribute() has been renamed to .deleteAttribute().' ); + + return this.deleteAttribute( name ); + +}; + +BufferGeometry.prototype.applyMatrix = function ( matrix ) { + + console.warn( 'THREE.BufferGeometry: .applyMatrix() has been renamed to .applyMatrix4().' ); + return this.applyMatrix4( matrix ); + +}; + +Object.defineProperties( BufferGeometry.prototype, { + + drawcalls: { + get: function () { + + console.error( 'THREE.BufferGeometry: .drawcalls has been renamed to .groups.' ); + return this.groups; + + } + }, + offsets: { + get: function () { + + console.warn( 'THREE.BufferGeometry: .offsets has been renamed to .groups.' ); + return this.groups; + + } + } + +} ); + +InterleavedBuffer.prototype.setDynamic = function ( value ) { + + console.warn( 'THREE.InterleavedBuffer: .setDynamic() has been deprecated. Use .setUsage() instead.' ); + this.setUsage( value === true ? DynamicDrawUsage : StaticDrawUsage ); + return this; + +}; + +InterleavedBuffer.prototype.setArray = function ( /* array */ ) { + + console.error( 'THREE.InterleavedBuffer: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers' ); + +}; + +// + +ExtrudeGeometry.prototype.getArrays = function () { + + console.error( 'THREE.ExtrudeGeometry: .getArrays() has been removed.' ); + +}; + +ExtrudeGeometry.prototype.addShapeList = function () { + + console.error( 'THREE.ExtrudeGeometry: .addShapeList() has been removed.' ); + +}; + +ExtrudeGeometry.prototype.addShape = function () { + + console.error( 'THREE.ExtrudeGeometry: .addShape() has been removed.' ); + +}; + +// + +Scene.prototype.dispose = function () { + + console.error( 'THREE.Scene: .dispose() has been removed.' ); + +}; + +// + +Uniform.prototype.onUpdate = function () { + + console.warn( 'THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead.' ); + return this; + +}; + +// + +Object.defineProperties( Material.prototype, { + + wrapAround: { + get: function () { + + console.warn( 'THREE.Material: .wrapAround has been removed.' ); + + }, + set: function () { + + console.warn( 'THREE.Material: .wrapAround has been removed.' ); + + } + }, + + overdraw: { + get: function () { + + console.warn( 'THREE.Material: .overdraw has been removed.' ); + + }, + set: function () { + + console.warn( 'THREE.Material: .overdraw has been removed.' ); + + } + }, + + wrapRGB: { + get: function () { + + console.warn( 'THREE.Material: .wrapRGB has been removed.' ); + return new Color(); + + } + }, + + shading: { + get: function () { + + console.error( 'THREE.' + this.type + ': .shading has been removed. Use the boolean .flatShading instead.' ); + + }, + set: function ( value ) { + + console.warn( 'THREE.' + this.type + ': .shading has been removed. Use the boolean .flatShading instead.' ); + this.flatShading = ( value === FlatShading ); + + } + }, + + stencilMask: { + get: function () { + + console.warn( 'THREE.' + this.type + ': .stencilMask has been removed. Use .stencilFuncMask instead.' ); + return this.stencilFuncMask; + + }, + set: function ( value ) { + + console.warn( 'THREE.' + this.type + ': .stencilMask has been removed. Use .stencilFuncMask instead.' ); + this.stencilFuncMask = value; + + } + }, + + vertexTangents: { + get: function () { + + console.warn( 'THREE.' + this.type + ': .vertexTangents has been removed.' ); + + }, + set: function () { + + console.warn( 'THREE.' + this.type + ': .vertexTangents has been removed.' ); + + } + }, + +} ); + +Object.defineProperties( ShaderMaterial.prototype, { + + derivatives: { + get: function () { + + console.warn( 'THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives.' ); + return this.extensions.derivatives; + + }, + set: function ( value ) { + + console.warn( 'THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives.' ); + this.extensions.derivatives = value; + + } + } + +} ); + +// + +WebGLRenderer.prototype.clearTarget = function ( renderTarget, color, depth, stencil ) { + + console.warn( 'THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead.' ); + this.setRenderTarget( renderTarget ); + this.clear( color, depth, stencil ); + +}; + +WebGLRenderer.prototype.animate = function ( callback ) { + + console.warn( 'THREE.WebGLRenderer: .animate() is now .setAnimationLoop().' ); + this.setAnimationLoop( callback ); + +}; + +WebGLRenderer.prototype.getCurrentRenderTarget = function () { + + console.warn( 'THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget().' ); + return this.getRenderTarget(); + +}; + +WebGLRenderer.prototype.getMaxAnisotropy = function () { + + console.warn( 'THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy().' ); + return this.capabilities.getMaxAnisotropy(); + +}; + +WebGLRenderer.prototype.getPrecision = function () { + + console.warn( 'THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision.' ); + return this.capabilities.precision; + +}; + +WebGLRenderer.prototype.resetGLState = function () { + + console.warn( 'THREE.WebGLRenderer: .resetGLState() is now .state.reset().' ); + return this.state.reset(); + +}; + +WebGLRenderer.prototype.supportsFloatTextures = function () { + + console.warn( 'THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( \'OES_texture_float\' ).' ); + return this.extensions.get( 'OES_texture_float' ); + +}; + +WebGLRenderer.prototype.supportsHalfFloatTextures = function () { + + console.warn( 'THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( \'OES_texture_half_float\' ).' ); + return this.extensions.get( 'OES_texture_half_float' ); + +}; + +WebGLRenderer.prototype.supportsStandardDerivatives = function () { + + console.warn( 'THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( \'OES_standard_derivatives\' ).' ); + return this.extensions.get( 'OES_standard_derivatives' ); + +}; + +WebGLRenderer.prototype.supportsCompressedTextureS3TC = function () { + + console.warn( 'THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( \'WEBGL_compressed_texture_s3tc\' ).' ); + return this.extensions.get( 'WEBGL_compressed_texture_s3tc' ); + +}; + +WebGLRenderer.prototype.supportsCompressedTexturePVRTC = function () { + + console.warn( 'THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( \'WEBGL_compressed_texture_pvrtc\' ).' ); + return this.extensions.get( 'WEBGL_compressed_texture_pvrtc' ); + +}; + +WebGLRenderer.prototype.supportsBlendMinMax = function () { + + console.warn( 'THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( \'EXT_blend_minmax\' ).' ); + return this.extensions.get( 'EXT_blend_minmax' ); + +}; + +WebGLRenderer.prototype.supportsVertexTextures = function () { + + console.warn( 'THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures.' ); + return this.capabilities.vertexTextures; + +}; + +WebGLRenderer.prototype.supportsInstancedArrays = function () { + + console.warn( 'THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( \'ANGLE_instanced_arrays\' ).' ); + return this.extensions.get( 'ANGLE_instanced_arrays' ); + +}; + +WebGLRenderer.prototype.enableScissorTest = function ( boolean ) { + + console.warn( 'THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest().' ); + this.setScissorTest( boolean ); + +}; + +WebGLRenderer.prototype.initMaterial = function () { + + console.warn( 'THREE.WebGLRenderer: .initMaterial() has been removed.' ); + +}; + +WebGLRenderer.prototype.addPrePlugin = function () { + + console.warn( 'THREE.WebGLRenderer: .addPrePlugin() has been removed.' ); + +}; + +WebGLRenderer.prototype.addPostPlugin = function () { + + console.warn( 'THREE.WebGLRenderer: .addPostPlugin() has been removed.' ); + +}; + +WebGLRenderer.prototype.updateShadowMap = function () { + + console.warn( 'THREE.WebGLRenderer: .updateShadowMap() has been removed.' ); + +}; + +WebGLRenderer.prototype.setFaceCulling = function () { + + console.warn( 'THREE.WebGLRenderer: .setFaceCulling() has been removed.' ); + +}; + +WebGLRenderer.prototype.allocTextureUnit = function () { + + console.warn( 'THREE.WebGLRenderer: .allocTextureUnit() has been removed.' ); + +}; + +WebGLRenderer.prototype.setTexture = function () { + + console.warn( 'THREE.WebGLRenderer: .setTexture() has been removed.' ); + +}; + +WebGLRenderer.prototype.setTexture2D = function () { + + console.warn( 'THREE.WebGLRenderer: .setTexture2D() has been removed.' ); + +}; + +WebGLRenderer.prototype.setTextureCube = function () { + + console.warn( 'THREE.WebGLRenderer: .setTextureCube() has been removed.' ); + +}; + +WebGLRenderer.prototype.getActiveMipMapLevel = function () { + + console.warn( 'THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel().' ); + return this.getActiveMipmapLevel(); + +}; + +Object.defineProperties( WebGLRenderer.prototype, { + + shadowMapEnabled: { + get: function () { + + return this.shadowMap.enabled; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled.' ); + this.shadowMap.enabled = value; + + } + }, + shadowMapType: { + get: function () { + + return this.shadowMap.type; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type.' ); + this.shadowMap.type = value; + + } + }, + shadowMapCullFace: { + get: function () { + + console.warn( 'THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.' ); + return undefined; + + }, + set: function ( /* value */ ) { + + console.warn( 'THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.' ); + + } + }, + context: { + get: function () { + + console.warn( 'THREE.WebGLRenderer: .context has been removed. Use .getContext() instead.' ); + return this.getContext(); + + } + }, + vr: { + get: function () { + + console.warn( 'THREE.WebGLRenderer: .vr has been renamed to .xr' ); + return this.xr; + + } + }, + gammaInput: { + get: function () { + + console.warn( 'THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.' ); + return false; + + }, + set: function () { + + console.warn( 'THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.' ); + + } + }, + gammaOutput: { + get: function () { + + console.warn( 'THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead.' ); + return false; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead.' ); + this.outputEncoding = ( value === true ) ? sRGBEncoding : LinearEncoding; + + } + }, + toneMappingWhitePoint: { + get: function () { + + console.warn( 'THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.' ); + return 1.0; + + }, + set: function () { + + console.warn( 'THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.' ); + + } + }, + gammaFactor: { + get: function () { + + console.warn( 'THREE.WebGLRenderer: .gammaFactor has been removed.' ); + return 2; + + }, + set: function () { + + console.warn( 'THREE.WebGLRenderer: .gammaFactor has been removed.' ); + + } + } +} ); + +Object.defineProperties( WebGLShadowMap.prototype, { + + cullFace: { + get: function () { + + console.warn( 'THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.' ); + return undefined; + + }, + set: function ( /* cullFace */ ) { + + console.warn( 'THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.' ); + + } + }, + renderReverseSided: { + get: function () { + + console.warn( 'THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.' ); + return undefined; + + }, + set: function () { + + console.warn( 'THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.' ); + + } + }, + renderSingleSided: { + get: function () { + + console.warn( 'THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.' ); + return undefined; + + }, + set: function () { + + console.warn( 'THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.' ); + + } + } + +} ); + +function WebGLRenderTargetCube( width, height, options ) { + + console.warn( 'THREE.WebGLRenderTargetCube( width, height, options ) is now WebGLCubeRenderTarget( size, options ).' ); + return new WebGLCubeRenderTarget( width, options ); + +} + +// + +Object.defineProperties( WebGLRenderTarget.prototype, { + + wrapS: { + get: function () { + + console.warn( 'THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.' ); + return this.texture.wrapS; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.' ); + this.texture.wrapS = value; + + } + }, + wrapT: { + get: function () { + + console.warn( 'THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.' ); + return this.texture.wrapT; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.' ); + this.texture.wrapT = value; + + } + }, + magFilter: { + get: function () { + + console.warn( 'THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.' ); + return this.texture.magFilter; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.' ); + this.texture.magFilter = value; + + } + }, + minFilter: { + get: function () { + + console.warn( 'THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.' ); + return this.texture.minFilter; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.' ); + this.texture.minFilter = value; + + } + }, + anisotropy: { + get: function () { + + console.warn( 'THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.' ); + return this.texture.anisotropy; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.' ); + this.texture.anisotropy = value; + + } + }, + offset: { + get: function () { + + console.warn( 'THREE.WebGLRenderTarget: .offset is now .texture.offset.' ); + return this.texture.offset; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderTarget: .offset is now .texture.offset.' ); + this.texture.offset = value; + + } + }, + repeat: { + get: function () { + + console.warn( 'THREE.WebGLRenderTarget: .repeat is now .texture.repeat.' ); + return this.texture.repeat; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderTarget: .repeat is now .texture.repeat.' ); + this.texture.repeat = value; + + } + }, + format: { + get: function () { + + console.warn( 'THREE.WebGLRenderTarget: .format is now .texture.format.' ); + return this.texture.format; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderTarget: .format is now .texture.format.' ); + this.texture.format = value; + + } + }, + type: { + get: function () { + + console.warn( 'THREE.WebGLRenderTarget: .type is now .texture.type.' ); + return this.texture.type; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderTarget: .type is now .texture.type.' ); + this.texture.type = value; + + } + }, + generateMipmaps: { + get: function () { + + console.warn( 'THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.' ); + return this.texture.generateMipmaps; + + }, + set: function ( value ) { + + console.warn( 'THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.' ); + this.texture.generateMipmaps = value; + + } + } + +} ); + +// + +Audio.prototype.load = function ( file ) { + + console.warn( 'THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.' ); + const scope = this; + const audioLoader = new AudioLoader(); + audioLoader.load( file, function ( buffer ) { + + scope.setBuffer( buffer ); + + } ); + return this; + +}; + + +AudioAnalyser.prototype.getData = function () { + + console.warn( 'THREE.AudioAnalyser: .getData() is now .getFrequencyData().' ); + return this.getFrequencyData(); + +}; + +// + +CubeCamera.prototype.updateCubeMap = function ( renderer, scene ) { + + console.warn( 'THREE.CubeCamera: .updateCubeMap() is now .update().' ); + return this.update( renderer, scene ); + +}; + +CubeCamera.prototype.clear = function ( renderer, color, depth, stencil ) { + + console.warn( 'THREE.CubeCamera: .clear() is now .renderTarget.clear().' ); + return this.renderTarget.clear( renderer, color, depth, stencil ); + +}; + +ImageUtils.crossOrigin = undefined; + +ImageUtils.loadTexture = function ( url, mapping, onLoad, onError ) { + + console.warn( 'THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.' ); + + const loader = new TextureLoader(); + loader.setCrossOrigin( this.crossOrigin ); + + const texture = loader.load( url, onLoad, undefined, onError ); + + if ( mapping ) texture.mapping = mapping; + + return texture; + +}; + +ImageUtils.loadTextureCube = function ( urls, mapping, onLoad, onError ) { + + console.warn( 'THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.' ); + + const loader = new CubeTextureLoader(); + loader.setCrossOrigin( this.crossOrigin ); + + const texture = loader.load( urls, onLoad, undefined, onError ); + + if ( mapping ) texture.mapping = mapping; + + return texture; + +}; + +ImageUtils.loadCompressedTexture = function () { + + console.error( 'THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.' ); + +}; + +ImageUtils.loadCompressedTextureCube = function () { + + console.error( 'THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.' ); + +}; + +// + +function CanvasRenderer() { + + console.error( 'THREE.CanvasRenderer has been removed' ); + +} + +// + +function JSONLoader() { + + console.error( 'THREE.JSONLoader has been removed.' ); + +} + +// + +const SceneUtils = { + + createMultiMaterialObject: function ( /* geometry, materials */ ) { + + console.error( 'THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js' ); + + }, + + detach: function ( /* child, parent, scene */ ) { + + console.error( 'THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js' ); + + }, + + attach: function ( /* child, scene, parent */ ) { + + console.error( 'THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js' ); + + } + +}; + +// + +function LensFlare() { + + console.error( 'THREE.LensFlare has been moved to /examples/jsm/objects/Lensflare.js' ); + +} + +// + +function ParametricGeometry() { + + console.error( 'THREE.ParametricGeometry has been moved to /examples/jsm/geometries/ParametricGeometry.js' ); + return new BufferGeometry(); + +} + +function TextGeometry() { + + console.error( 'THREE.TextGeometry has been moved to /examples/jsm/geometries/TextGeometry.js' ); + return new BufferGeometry(); + +} + +function FontLoader() { + + console.error( 'THREE.FontLoader has been moved to /examples/jsm/loaders/FontLoader.js' ); + +} + +function Font() { + + console.error( 'THREE.Font has been moved to /examples/jsm/loaders/FontLoader.js' ); + +} + +function ImmediateRenderObject() { + + console.error( 'THREE.ImmediateRenderObject has been removed.' ); + +} + +if ( typeof __THREE_DEVTOOLS__ !== 'undefined' ) { + + __THREE_DEVTOOLS__.dispatchEvent( new CustomEvent( 'register', { detail: { + revision: REVISION, + } } ) ); + +} + +if ( typeof window !== 'undefined' ) { + + if ( window.__THREE__ ) { + + console.warn( 'WARNING: Multiple instances of Three.js being imported.' ); + + } else { + + window.__THREE__ = REVISION; + + } + +} + +export { ACESFilmicToneMapping, AddEquation, AddOperation, AdditiveAnimationBlendMode, AdditiveBlending, AlphaFormat, AlwaysDepth, AlwaysStencilFunc, AmbientLight, AmbientLightProbe, AnimationClip, AnimationLoader, AnimationMixer, AnimationObjectGroup, AnimationUtils, ArcCurve, ArrayCamera, ArrowHelper, Audio, AudioAnalyser, AudioContext, AudioListener, AudioLoader, AxesHelper, AxisHelper, BackSide, BasicDepthPacking, BasicShadowMap, BinaryTextureLoader, Bone, BooleanKeyframeTrack, BoundingBoxHelper, Box2, Box3, Box3Helper, BoxGeometry as BoxBufferGeometry, BoxGeometry, BoxHelper, BufferAttribute, BufferGeometry, BufferGeometryLoader, ByteType, Cache, Camera, CameraHelper, CanvasRenderer, CanvasTexture, CatmullRomCurve3, CineonToneMapping, CircleGeometry as CircleBufferGeometry, CircleGeometry, ClampToEdgeWrapping, Clock, Color, ColorKeyframeTrack, CompressedTexture, CompressedTextureLoader, ConeGeometry as ConeBufferGeometry, ConeGeometry, CubeCamera, CubeReflectionMapping, CubeRefractionMapping, CubeTexture, CubeTextureLoader, CubeUVReflectionMapping, CubeUVRefractionMapping, CubicBezierCurve, CubicBezierCurve3, CubicInterpolant, CullFaceBack, CullFaceFront, CullFaceFrontBack, CullFaceNone, Curve, CurvePath, CustomBlending, CustomToneMapping, CylinderGeometry as CylinderBufferGeometry, CylinderGeometry, Cylindrical, DataTexture, DataTexture2DArray, DataTexture3D, DataTextureLoader, DataUtils, DecrementStencilOp, DecrementWrapStencilOp, DefaultLoadingManager, DepthFormat, DepthStencilFormat, DepthTexture, DirectionalLight, DirectionalLightHelper, DiscreteInterpolant, DodecahedronGeometry as DodecahedronBufferGeometry, DodecahedronGeometry, DoubleSide, DstAlphaFactor, DstColorFactor, DynamicBufferAttribute, DynamicCopyUsage, DynamicDrawUsage, DynamicReadUsage, EdgesGeometry, EdgesHelper, EllipseCurve, EqualDepth, EqualStencilFunc, EquirectangularReflectionMapping, EquirectangularRefractionMapping, Euler, EventDispatcher, ExtrudeGeometry as ExtrudeBufferGeometry, ExtrudeGeometry, FaceColors, FileLoader, FlatShading, Float16BufferAttribute, Float32Attribute, Float32BufferAttribute, Float64Attribute, Float64BufferAttribute, FloatType, Fog, FogExp2, Font, FontLoader, FramebufferTexture, FrontSide, Frustum, GLBufferAttribute, GLSL1, GLSL3, GreaterDepth, GreaterEqualDepth, GreaterEqualStencilFunc, GreaterStencilFunc, GridHelper, Group, HalfFloatType, HemisphereLight, HemisphereLightHelper, HemisphereLightProbe, IcosahedronGeometry as IcosahedronBufferGeometry, IcosahedronGeometry, ImageBitmapLoader, ImageLoader, ImageUtils, ImmediateRenderObject, IncrementStencilOp, IncrementWrapStencilOp, InstancedBufferAttribute, InstancedBufferGeometry, InstancedInterleavedBuffer, InstancedMesh, Int16Attribute, Int16BufferAttribute, Int32Attribute, Int32BufferAttribute, Int8Attribute, Int8BufferAttribute, IntType, InterleavedBuffer, InterleavedBufferAttribute, Interpolant, InterpolateDiscrete, InterpolateLinear, InterpolateSmooth, InvertStencilOp, JSONLoader, KeepStencilOp, KeyframeTrack, LOD, LatheGeometry as LatheBufferGeometry, LatheGeometry, Layers, LensFlare, LessDepth, LessEqualDepth, LessEqualStencilFunc, LessStencilFunc, Light, LightProbe, Line, Line3, LineBasicMaterial, LineCurve, LineCurve3, LineDashedMaterial, LineLoop, LinePieces, LineSegments, LineStrip, LinearEncoding, LinearFilter, LinearInterpolant, LinearMipMapLinearFilter, LinearMipMapNearestFilter, LinearMipmapLinearFilter, LinearMipmapNearestFilter, LinearToneMapping, Loader, LoaderUtils, LoadingManager, LoopOnce, LoopPingPong, LoopRepeat, LuminanceAlphaFormat, LuminanceFormat, MOUSE, Material, MaterialLoader, MathUtils as Math, MathUtils, Matrix3, Matrix4, MaxEquation, Mesh, MeshBasicMaterial, MeshDepthMaterial, MeshDistanceMaterial, MeshFaceMaterial, MeshLambertMaterial, MeshMatcapMaterial, MeshNormalMaterial, MeshPhongMaterial, MeshPhysicalMaterial, MeshStandardMaterial, MeshToonMaterial, MinEquation, MirroredRepeatWrapping, MixOperation, MultiMaterial, MultiplyBlending, MultiplyOperation, NearestFilter, NearestMipMapLinearFilter, NearestMipMapNearestFilter, NearestMipmapLinearFilter, NearestMipmapNearestFilter, NeverDepth, NeverStencilFunc, NoBlending, NoColors, NoToneMapping, NormalAnimationBlendMode, NormalBlending, NotEqualDepth, NotEqualStencilFunc, NumberKeyframeTrack, Object3D, ObjectLoader, ObjectSpaceNormalMap, OctahedronGeometry as OctahedronBufferGeometry, OctahedronGeometry, OneFactor, OneMinusDstAlphaFactor, OneMinusDstColorFactor, OneMinusSrcAlphaFactor, OneMinusSrcColorFactor, OrthographicCamera, PCFShadowMap, PCFSoftShadowMap, PMREMGenerator, ParametricGeometry, Particle, ParticleBasicMaterial, ParticleSystem, ParticleSystemMaterial, Path, PerspectiveCamera, Plane, PlaneGeometry as PlaneBufferGeometry, PlaneGeometry, PlaneHelper, PointCloud, PointCloudMaterial, PointLight, PointLightHelper, Points, PointsMaterial, PolarGridHelper, PolyhedronGeometry as PolyhedronBufferGeometry, PolyhedronGeometry, PositionalAudio, PropertyBinding, PropertyMixer, QuadraticBezierCurve, QuadraticBezierCurve3, Quaternion, QuaternionKeyframeTrack, QuaternionLinearInterpolant, REVISION, RGBADepthPacking, RGBAFormat, RGBAIntegerFormat, RGBA_ASTC_10x10_Format, RGBA_ASTC_10x5_Format, RGBA_ASTC_10x6_Format, RGBA_ASTC_10x8_Format, RGBA_ASTC_12x10_Format, RGBA_ASTC_12x12_Format, RGBA_ASTC_4x4_Format, RGBA_ASTC_5x4_Format, RGBA_ASTC_5x5_Format, RGBA_ASTC_6x5_Format, RGBA_ASTC_6x6_Format, RGBA_ASTC_8x5_Format, RGBA_ASTC_8x6_Format, RGBA_ASTC_8x8_Format, RGBA_BPTC_Format, RGBA_ETC2_EAC_Format, RGBA_PVRTC_2BPPV1_Format, RGBA_PVRTC_4BPPV1_Format, RGBA_S3TC_DXT1_Format, RGBA_S3TC_DXT3_Format, RGBA_S3TC_DXT5_Format, RGBFormat, RGBIntegerFormat, RGB_ETC1_Format, RGB_ETC2_Format, RGB_PVRTC_2BPPV1_Format, RGB_PVRTC_4BPPV1_Format, RGB_S3TC_DXT1_Format, RGFormat, RGIntegerFormat, RawShaderMaterial, Ray, Raycaster, RectAreaLight, RedFormat, RedIntegerFormat, ReinhardToneMapping, RepeatWrapping, ReplaceStencilOp, ReverseSubtractEquation, RingGeometry as RingBufferGeometry, RingGeometry, SRGB8_ALPHA8_ASTC_10x10_Format, SRGB8_ALPHA8_ASTC_10x5_Format, SRGB8_ALPHA8_ASTC_10x6_Format, SRGB8_ALPHA8_ASTC_10x8_Format, SRGB8_ALPHA8_ASTC_12x10_Format, SRGB8_ALPHA8_ASTC_12x12_Format, SRGB8_ALPHA8_ASTC_4x4_Format, SRGB8_ALPHA8_ASTC_5x4_Format, SRGB8_ALPHA8_ASTC_5x5_Format, SRGB8_ALPHA8_ASTC_6x5_Format, SRGB8_ALPHA8_ASTC_6x6_Format, SRGB8_ALPHA8_ASTC_8x5_Format, SRGB8_ALPHA8_ASTC_8x6_Format, SRGB8_ALPHA8_ASTC_8x8_Format, Scene, SceneUtils, ShaderChunk, ShaderLib, ShaderMaterial, ShadowMaterial, Shape, ShapeGeometry as ShapeBufferGeometry, ShapeGeometry, ShapePath, ShapeUtils, ShortType, Skeleton, SkeletonHelper, SkinnedMesh, SmoothShading, Sphere, SphereGeometry as SphereBufferGeometry, SphereGeometry, Spherical, SphericalHarmonics3, SplineCurve, SpotLight, SpotLightHelper, Sprite, SpriteMaterial, SrcAlphaFactor, SrcAlphaSaturateFactor, SrcColorFactor, StaticCopyUsage, StaticDrawUsage, StaticReadUsage, StereoCamera, StreamCopyUsage, StreamDrawUsage, StreamReadUsage, StringKeyframeTrack, SubtractEquation, SubtractiveBlending, TOUCH, TangentSpaceNormalMap, TetrahedronGeometry as TetrahedronBufferGeometry, TetrahedronGeometry, TextGeometry, Texture, TextureLoader, TorusGeometry as TorusBufferGeometry, TorusGeometry, TorusKnotGeometry as TorusKnotBufferGeometry, TorusKnotGeometry, Triangle, TriangleFanDrawMode, TriangleStripDrawMode, TrianglesDrawMode, TubeGeometry as TubeBufferGeometry, TubeGeometry, UVMapping, Uint16Attribute, Uint16BufferAttribute, Uint32Attribute, Uint32BufferAttribute, Uint8Attribute, Uint8BufferAttribute, Uint8ClampedAttribute, Uint8ClampedBufferAttribute, Uniform, UniformsLib, UniformsUtils, UnsignedByteType, UnsignedInt248Type, UnsignedIntType, UnsignedShort4444Type, UnsignedShort5551Type, UnsignedShort565Type, UnsignedShortType, VSMShadowMap, Vector2, Vector3, Vector4, VectorKeyframeTrack, Vertex, VertexColors, VideoTexture, WebGL1Renderer, WebGLCubeRenderTarget, WebGLMultipleRenderTargets, WebGLMultisampleRenderTarget, WebGLRenderTarget, WebGLRenderTargetCube, WebGLRenderer, WebGLUtils, WireframeGeometry, WireframeHelper, WrapAroundEnding, XHRLoader, ZeroCurvatureEnding, ZeroFactor, ZeroSlopeEnding, ZeroStencilOp, sRGBEncoding }; diff --git a/3d/model/LittlestTokyo.glb b/3d/model/LittlestTokyo.glb new file mode 100644 index 0000000000000000000000000000000000000000..f2c7e042dc802fc27dbd91faa153647c8fc3d4d0 GIT binary patch literal 4133072 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
    M*!hQYz{iiE9E;U3o;d-VaqoZ0ng>dNs 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�oRfP|r*wWt@b)h=IIfK$% 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ʩu@1xP*m%yS7U7 zkhij)_Vx3q88*q-6oFU(#&PUf{H3arE(gbNaLK8h-v3N}BRx7c9iBLB_WX@|pJ@}G z2;M5#1S5Kz9W*%Wc)VCBLEI zjgPyuU*Y)CG34CMmpcmn`2(9|t&dgLDc+8k`G&*>HAW}!ep+*sr3dWqS&xi43~JH=7TSJ2{q* zk-aIvG_00>G7VZoKJr}nO$M=7=!;;|;fo%o`9%W=EstCn`aSzNxt}7Hm$OinCggB` zSUAg9Aq$uN+bV2oQ^GJMN)V4*T6kKD)jX91$QC95JK>tgq=&Xfn!HM@Wb$*`DiFx1 zzRf_vf-m|P2E^}$`?_lfPEy(k7ge6w<-CK@CTCHw*4dR_p26)$c~A(!C<*e`2>>=h zgm*p-@K=POaZkfQ(J_)v&^$-T=`ruJEK~9#k0iC@ZYo~e4Y*Z+)CI^!)U=F@WKEU& zb-(4keb#tm;I;A(T!)`O0+&vdq$8vpo{D$E9N(2ZE1E5pB^xDMpAAh(gOAEm680mW zfl(0X#Ipt&8(=c#O)lE{XCB;zQ$RMnUnjX z?v&^VJ}}04l=o23KUW;HTa>(tuD}ouMY^eo?YMf7{bxj8HaB8$$S@t+Vc(c=H1A*D z6ys*zGPniM+x&BDURB^_6z1C2Rk;-(x)Wt`k4|LFBd^coKR@!wRe&x5lk=th?5%@dVfXWCD{tD{48GM2G z4u3g;Yv*^GexI|jBDj*)rTGKlfS@rgu8|Deiz8qhI(M$IU5vB*YylnPOoa|IT;Jzv=J6Y zGH!W1KZ-VG-pPUxw*fV65&8M|E_5Tb&D3{i*4~=f5 z8!L0_)%*_|ih+(}kvP*&mvK)Zb9_}R-wG1?FLmId6dtmVLgX&y zmJ;TZ(=_V0*wP$f9Va=FrxEU+i~_k6&6SjtH0iJeh6|L} zzar5wu>@2o-mx_6{fL|8#lo)=TNbZVFa|E)9CEDFllSEe;PZ%meY%}a!RZ_qR=DVY? zdL?R*&fU408udHo228hWKS+mZV~-!$o=)3F$k~44NwuC;>fEyv(}>Yd`)f#A3E#5? zq)D6!g=goZJ_*4*Sq((Z`Qn!zfX~%;r`z<+{qB(a)QRExW@-3;q)_Aadtb$kR)>F0 zZSwnqo_d0iAw1*S^*ECPlk2FZqo0B8QpDxLQ7ouLqe%xN*j+opVZ)a%JSr;Y1*40O z|97T7{7_IRYzPEqb)bX=-30{9lylv_OT}>-6hEh=NR3%=J-|CRCTYJ7yC*9g6M)jas?W5IH z`aky*;-)Jk>Q?|YIk=EavR0wH=0d;727D&ve`TIY=}kOB3rln#nT})TuV0XIv2<(Z z#;6MPl5p8R@(NyTV$fT4ykck7xGgRT?Cc1Ztlc->+^_q$vFNWd)^x)HP=DEfOe~>a z-`k@1@yAHPXdNHf? zH&%qGfX4i&+ICwOnw?3>HQ>EkhoGaNM_PD{i$*tBmprDIl|OZpcFOLC-(bBN$(%*1n0A30+a4QwN(lG*Z!s;m1DG6`U z%ZkhZfMMY#F6Q9j)y;jP>571Dko1QtO!(S8?eC<)EsgB&vt5|K8ENg1p0O~MTg

    {&83rGvNMCRT)T{VMCNK$O{U7LdDzvuh2QO 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
      Y9Z!;fX}y%c(qR8-`4cpKa9bzP%JM9 z-97yG^jC-={k`VTm)0}?Fk4I+SDe1o8arV0WWnF+fl3D|UyvH!%*?TOu<7li> zelc9%-r^5^O307JFG=_~`m(Ue^G_o^Jl?vPRlO*q6>_Ch@4P29k9z+_gYx47PfL3< z0drR{FT=3k!8JokvNAiJP3qK(#UGfor8%)g^(D%LH_xS7k4&Ez9Il%AGX72||G-x1 zR+w4r^&?Vht-R}{pUCLpSe@%@8$?F@%xv}p=AO4tK1BqZNvYl7KC);p8qL&@*eY0^ z(SEex#oA&X2Ms zfsTvnJ10NsD%cUpIF`eEj1j0`1;fXCuckLdtWFvySE&9d@Eg#+Y>{T@Sdw|C8xUK<<&8TE1CE6AMTN^u~i(hI8_YW znbf@XzK)g7k9un2nY#YiuwrRimyYytJ724;Jj>Fw>mapZU~qRC?@uP z%S+ZY3^C8lIKCyiM`LzL#EV%5;g>7?Pk&0)b;fA>8yGhp?+H?MKhh2Y$GFy^l~WQfku0?|y=#DLE{9Oh_NHh`+o0Vt{K7uK8VW z6@FFk=lzwP3EcJ2zx|8FEO8|+1$wup;+sV$ReeWks^}8L8R=PdAm)Emmv{_+2F-je zzTXtTX`HEbVCodXs)(W;oIaN!S}8)PtvfDu`*oT0{s~Q(K7+2^QnA4t$Dd{EFOLO> zm#w=hY{w^8{9?1)^nYJ;59<6&=fF{9Gdai2>CTs3!}c(v7l9t6^S!4<71Ri0b6~9dMO6rqrnRrjHNhrKe|}v61TY_}SW08hbRMR>fzIJnNb| zl59Tcu4w4GyzkOR8ZY5IXzSSh(P9|+PG@J;bWP9Evghl5lJnx*0oF}Mt)jC1BR%s_ z%YEg!>4Kq?2!y%l3GND|{6}?)x-S_0u`?#u21a}(>2?mkGv}+h&@w+h)yZvn6g2j= z@wH;ireTlnifO<@)=vS&-i>owPAMLbe_DtpM7+DKvvH0&NFjMjgst8HqokjB?aRGa zj5AX$+eWA7XK-F?q)HnL<9>T7VMmX`{$A3L_V3>w*BqJTQVP?ix7@1wbdHzTDf^9U zB+fl_q%2F!`S%<@-8DNA%iRl`YqD&7>KE;V9d7UNUQCqEzjfva7G|B3{tw}5^0#+Y z@OR>-=*tF*^S9GtAGIWT`$Uv#4CPoEmda{URnfStT&5R1O|0v;Z~GdaX=UlwO)$Bu zckxD4b?-!RRfUF&;$=~zj@l2|!XF5U8$I<8XP>8ky{kG2^)gMjWLs1Yak#S5Ho-G3Z)AE(6loTpAI znG(ErueRli3HJpynDk%DU@=D~1Gya|2XUj*!Tx5liJi%kQhpMSAD=QWxM$I0_kUQ| z(bh`a<((d?*^gCyz_B6oyA&bVA}9jWAE-ALK%D1J{7qO07fa2a*!hd}LFK?N+~zFV zOnV|ZIGloM979X)zi%F!wy?&J@aFbhOs)BhHR72cp-Vk9xU!PoU7M!AIJ~yirFoh9 zeqeP(jz?qq&+M$ldla4bbTns`T2dLVF{!*r3O)bTS#l?G;`T3SAEH*7n2h7@+<*Bo zs=55345TYEzI&=U1tRLJO~0l5_j&SS<_Pi`yW0iWFRu^dFJ}Z^e>(WmZW5T89b|hV zWJcIh$QB;!qm&-eZ8m#Wzxqg@w!U)e`Pom*x!>}qj=63~TfYx_QNe(I6Z}Mn;)}Zk zZ1;nrX4k+kbY^R=&CyOgv2~c34^3TyNSsK3VWAMo4||@*S`Z(J z8*{6+ojrFp5egx%Po+6i9&SzbFW*{sa%@E;P;>6Q<3mPYYD~#|kpnl7U~b0aTSX6o z9V1D4UuM$>rtwqF{P{~e%{Je674>Q=*Z<{wHu9kKH1^4jrujF&j;=d)Uah_xHtvi` zjH|j*cY!U~oZZXEOo_JWrk?R+yMV>`_Ay&miOuEdrv%f(U4Qh?8^`v<1`m!og-XH1 zPqJ%Gd5-iqs8fHvAKn+V|2{h%Q~CDGV*jZM$#V{uyGD`+NM2ggqoR$-rBxN_tN_jW=&a}`fmB(mj|D{sztm*JXcxHZe4F(53*1e zQ&qmG>-34nk7&W)QtFfX5;3#aRC#tmqcFUzMqROe(d=<3595<4Zl;y?xTOLo{psk$ zbc>N!i~pcG-0m?yb8di8h2baN!#mh<)>p$pj61ul%#9j?`ko?u=P&)KY3{i^uJ(85 z$+k3mPP?*A&Y0b&(82V-8&X3PCEzdGw77c z)qEP{5i52Io*L0o*KOgTPTN5}L&33OyYOCr^H!@h-_2wrCFLzOZtR7VJch4x-vevL zr$d)4%p8BTegAYNgq6y_+V*3}JpbUJuh>)qy_iSp_CG zjg|2hkwN|u=+rHdP76ubiXT1a#+*D;-$|;icYgj*p3Y?Gs>W*kFyYJx5fzTNzkE0^ zykHJww!Eik{xz4ngh#SX^VHR|W;Sn6$sL>y(&MdPLF)~^nN7H}S;AJ>l)~(&w*K%T z-C>8l%0K}1gQR17RKJfn#Tx1=r3~iE0_V9$D`_;mni#gl6vf zlaIP9XZ>aSDZdeY3O_V7Uo$!g6DtWlD=KDDUaTlAYNGpnOI=vRVw#Pr{^husn=^@4 z!AR96Hup20P_kU^`)zBMzUtZTS5x(`Jk(+;K^2Lu*@G6DlOl0)a$0rQko|>j#<_g~ zcN&p-guzRtV^yX1^|LBi<+mg|6X#3L#b{HF-b*q36}wu?V0G5ZwTV&%n>MXPr}&iV zc)Bb{=WF)pg%hsNRZ)uBRsU{2y=R(s1um6(751t#p{B#`>bo4K&p(4uqb3?h|Bf1h zCB#D;)z}e*Hu-GHFojAr*W(!buxPuxQ-RruO!qEorqH{67Mu6@5?VU+;CG@tr?gte zsW%*asa~At=hm3Sh)V`L6bW^AN5dYT2zophN|SIEeCTCrJsI$Fd8X~)TXEmei(Ga& z+x?21y4sT;`Nm^hvT(2EHYfJe{l<5sLZvToTQ^_ws5r;`%7{ypBe{&>g=6NKqv?ZX zlgYBeUw3HouRr9Jt@>MdUB<2yj!;zXEd*< zvR`nqNPf)p+)AC%OpJl2+gIz$bE3W7kBlGgQcbL5JdKx?c?-_(Ht^clB2qd>4`C%` z5tgiH<6l=aHRo_Bd4^MbzO$w<)NL;_t;OhG_%+W)!`0G+Eg4bfs2K%~zP4xb*x`<~ zH%t9iioZ_15mXf5jMe%$Bj%;R6ZhKCm+N@tWbt~D!BxJvn5z5(rOq6=5vAKXMqNI9 zsP182r{MU`7K=fW&(FyecQfpKzM;mA+_0fsLAPg9f<3O8zNydeK9+D06=ZElXOepd!>&nvipapo_p4HW4jSrXT1~(>)XEIGq zwr|B6O{6^*<6^(;HsNs9_B+k2C}V8H0A9U8tv*@_c81&hS9x3BKk!Z|nXF2w2J0xw zsFtBq%}rc=A%Dcq`hi8Z%s3{`0wJj~AM@XSJ1?J64Fu`FyML3T_R;ZX4AWZ*^U}PE zZNHY-2Jl|#Je61`h0B(X4ckmXNZeoZ)BfkOYAh{i`nGE{OYRS`4?`Tv!)iibf2&F#({(jUHIq^2p%@tKk7RcFd{c4v$l3udjPExSuNGflgqRu~6W2?|&q)zW|F|lrY~QOg5`8J~hrTUjDS6xTZOIlw*t z)!zB(B-@M1&e+l~g28V7%-h^6-VT?QvvxmYJHBddW?H{Cz6ZS#&N47RKcLj> z2dj!7lq?c`X`J6Gaz^|%v*7_cvHyGYa`zvZCi%O4Z@N`RMr_w49XY(rHMwrOw+p;6 zH@7*b@Adv)s&$YU^y~HQq7Pjz5Ae)m%M(kbdLfBTw4ysIKV3e^*Wip8hiVT4FPwR> zB9opLt}Ym>9$HehGMhvlsFRj>d)&LHi*N4t_ng(tLs@0ZOTmTv9KDuuG-hQCu+Wok z8GPM9!LC;S9s1P_%YQ|RwMO4Q454#MM+M!VKd(82-Otocz4330XREI!AaUnc6etq0{05n(n2yQH2r`;0{Qml^5puRaMjQXHMcUn!7kxiRh1 zBQxE&a`(mAjJ}Mo!3#O3`@ae4t>w7iYdU{Foj~$>6N=p$Gc+kg8Lt-CN%J=zA+l%W zoTQ9e&nqg33UV0aQ(oU3TaW#?_rN(JGR5`OUGev^xpqNaU!)mAe-PBqsW*FSNrZfB zPD^4`oe}a-WOz!y82M|dR0x;L9`@T_+vSX#hL8MXfd-XP%d{wINzA#y5)Q;iL!7mZ zI6{;)fabb)+o4*+sYj-0{kx~a8FDGJ;)}=bh>N{4+h;NjSW}4D5`&f;r;3u&vO?v* z(pkREvyBYrF@N2@9&~4MqYbQ%(hUl>`>RKkCiqaE}p+=%=d$5>W8@CCAsMMM>-Z6yVKBemLz3jZ}UQ{Ik7!b zDTYV!u3D@4=wN7Tk;BEQ>F{3mz!KatPCNxxVJ6t=!!{Z{>pszJ9JkaONrq$aE1P4+g*ERZOB~avc}&jT)NZyrEh!5E8F@o@8app@8ll4 z3!INWDtoW}Lg$$EB|d))u5k25s61Fs?gwJ+?v&f=%4?(zACFRsyr;KV9hK=JWDXC(gcjr(1-n@ibvL zt0Unyd3@J2mv>UN$w7HKvBSoC`i{e^6FC;ju6n(wDY~a>Lr*xTOmwttGg zvO9iMp=-f*(d{n-$#@aQAk&viUWxzTPl>nO`4^+?)IM+iuSPmaR)wzXg~40?m$F_y zi+cOab4^t#&sT1-&EIg&rxkzPaTLF`jrvaV@;T@bSZDJZVWG+ha&BEJlRgQvW&ins zvUWAHS+ZCq!OaNU5z&F+EX>)Wy6*YKwlGT|Zz#m|r@F6eaomfYXCc1)b~h`7Jc zSR}WFlKAoFZ;t0Eyi=Z6fB&VYh<~tY60xVIjQsPo50D{KeoX0(JNA+mV+{?E{4U)TDgedY@PS%h;BXWsms*bmB;Xr#@4xtjpB+- zfy}Pm?m4F7FqXiN1?+E-_^tU%e(W!_&Oe4NZb>g$D6r|?XuFm#f6k1ID#Af|;u+2-r~MA+ z5+Cc8^&i$I#TouCm~44DCfU@FCPtaRwjYd=)2s1Vd4FFhawhskc7*@v&ZOshhy8w0 z%3V^_dc+$Q+nX9*c|u#99TQSS;oW$7p8en)2ZU#GL z7~JDCwsDz{84_R zC*IsKm!R*^R+HWQ-i3@b`PTa5`)mD^cJqG`$tP9br^nRlzq6ISi+Dg-sqJDqb$9Dg zq;`Ir_Ln=okI%fk+8F+K>2=(l%b^^d57qqxDj4VSZ|q;yQ{24BuMyfKC#co`GKN*J zKJM1MRDvYz@@zQH;=#!eXXDB{-<4s5@XmEHsI zTD`d}V#IHDRF9m#^j5URa@4E;`mdqv%2qF0*l`JF_tb;nPZ5!a+&Y)wCVW4_xa6eA zi(Hud_AORMvS;g^(7mQN3o9o5GiyE|F3g`)OFh&UVrsh+3>v>?lEJhfuFU}5A>iG-j(R^WM zD4i^%%yI4fIN;t6@2|e-zz$I3hxlWwJl! zzG1=OOn>7yezX&=;kipxzY@7|#MA0B_{n~g333QbySu97tCy>vnGZMIV;GY(Tc|q~ ze>^Ajud;Hdag3ft>gbqst$tKi%^CB#E=@4qB%r+8GAXY`*8BU`iJ!1Jd=*b#Z(z^QWiZl z8E@oXwm;4u9DW|UL4V)dAx>UbC&{)Rkb}r@Z^?Rj=|PZ_@#BoqbQ$t8(fJ^}!tBr95f-(XD_YLxB&kDc^in zc-i2Ln-EI~iLvG-`BDiPL^{x;nnse?gnyKejIs7&;smJ|gjvjpyQr2?pSh`~;(`MuM zwZA*IqrY)e(B0(!W%0G~{%6nVp5vylF=TnugGs^cbJphPWj;pLHD5l*#s-^CTSeZ? zsXDZ+G`N@CUtIaxoUcT^6K%6jEZP&j;qCN#)0!*FM8TIp4cVG_3cnT$QVd{MWhH zAHP?>R4ubK_mHQhNo%X`_UnRLIZSgu$V2zDI2*7Q1VUCEeRLLba<1*+ui|ro_{O2D zzLe+K9gKqa?75KO#;cB_=81O73hTDO%&|FXP9>{0;78;g%AE!_NB&=zuf*cfC&!<_g=* z&Dczv)r;4tj|K6d!jnA8F5P~X6?R3ES9(mY;zZOov8A7JMql*XrSvy>HhAT^iuYM- zH}0+6u65bt3mGsx0G`;eVZ~z8gGwmOw7ZM*|3H< zAx%Hcj9`gd=?_Eu?Ye6}Tl&lsU{xr}E3Ca`52d%VWxu}t(Q5KZvhfd3HPTb2 z=_Cz0{_~;(>Kt>~Ax=v-oen(DPUnnQux34af1|Vo8=qm7e`Rz!%UB2=$7ay~OF=qm z&EgC!Ao}0@?p~p73tt$W!D9vW`Qxymf{No)ZVSDCGBs|tTh6^+*WXeYDjV`#F>#$O z=DN;jAV*B$qt)HGCVhR^p^Bzd^_>e&9^f_s?SN{ zH78?16cUM9l~dIVq{sSgi-OZu4VlMb&k5cA-H@UF{8U_2hsNFAsb{~l{%)W79G!S_ zw%SQ+d-PkHn0laI@R`eQiUx^YJ>0Vb7xi#ab7LRE(l3wH2mdKPVedV|sESGRNh3r! z7d=j1mGWDUso*x%d&)+dtWhnN;GzyEq0=2}xt4mZ+Y}Pr&{B(&Lr(=*MoXH$jdOiY zi$N{kJ|z0qn3de@8j3;)z026Sm45vOA;y$-mp4Dpzl^#MVqb~v^ZmQ>VQKOURSXAO zu55O^Fy-sV$)Bnf>gF7W`ss$Z^~{wS*fS#Zl9PLRKR#8PH`r-w3yk=10P|^0j&o(n zG&eawe%q;`YaT@{Y8Gx#`jl^FycjJxOgi$Py=PHzisdz4wD$CluE39KEhmo=nb6xyxHK<2_;55fsXHov^8(8Is>_11j6fBCpx-&@-*7$N4Yf7(;ByY#zT zc_1wE!eIuT|HB#MmLr+c@!_YmYvY#1LrMcSfpA(OjImEofRcz{g4y$?%*)^7nV838 zqV6$03E{;=HbRtK?F5-!6idQ{{}b0B8GT@7Xqk49e!OznX&K#wVKVvpA$?~zb-Qmk zexdj>2V3D??ww!aFT7cC$oeam5db~bppCV0LA=*! zqtxepD*bue` z)lWxx?s97!oH(t% zYgWgbnL^5`$kli%&F^&mrHhW2oHgx0)2?OnSu+a>`)c}`SQe`dyfbn^{Qb)+?zZZn zx8dzKD_MW@oTk%kd+H#5`wdCG?y1YW?8rbn&dRMJgw(nk2ChAW*0E>uOA7W25#YZs zE}dt>4>*)K6{? zTiZ!OG(XfxObJwJ^=f-3HqMAYZO48FTU~;$ZjT%k`0~-%X!xZ3V)Y}nzVDy%#xHu= zE^AqD>8T_&?d(ulKR>opt=u;?lP-`w)lmE(;7N<^5=1zU4>hg@o;l;}MuHz}L4#nDk#G2~~dCB>zGWb*$%Y?K$q4wNw)8rVu zo4aG?E8@H_yACeDRGRNe?5^B_DDTar zqhObl^GWBDTXi~qk5A6L&s$02toAueBu+KFW-IHQfph+S_Z(eP_R`gdrIWKQjQM7t zvoQYeyVGWf)FuZeOFGlQjBCTWGoo z+f!(}NP8~!sJK17_&yO%b%t=M>w1K>XvO}XfJ#lwGQZ|j^2@y7ggZ$a8l(Rr=Asoo zIkmZb>9aj}qZ9f{KjNBY1gKr*ocyjJ(hRdyUH5qszxo7Ggys><9>#F$UDe<`&w)dAf zZ@{@hVi`6AUdvpkq!#*z zn!SY_OnI+oCDA!$>0Y+fRMUM*Dec0C@S!Jz?vmrnE)svgxNJ(ip!zvg9cR8ChT)p^ zv$Mn){0begwa?oRp5Rou%IlToS#^e|k8a}g!I_X9OuqX$x9)R&pKcHCg@gCsShEp^ zTA#mA{1xvt>2fEBN(;yZoaas$+LdPxwWmLhEO7oLiWx2>9O42_i&$I<~J~#0cedVSwi5f zYrf8@hT2y*hyV60ex3LK>}dPD#PHSc`R^b9yn}6>R#$G;xd7hEa82SeV5xL3)p34R zEuHvL>?A9M=S0do(W`RvyI-HG@lo%j z9@G6wR8Z_vNc#x?p6SfFGqAyR=c@Hh`2WY=I|o-1eT|~QiEZ09CU!EhZQHhOOw5Us znb_9Ewrx)AyfeT1->dh>t9$GF>fWl`eOB+?%d7X~z;tu$yUv6(u zH%rQ}%D*3fr#T%T)(wwaaWtV+qPF2ODy^Log3GdHPh}{5z#;YW^hK=nF;r&u{niwe zM-Sbfk->3YuRN#hsJ-AG@*C9b@Vz*R6vi@5SVeP=4!S@&wW1x4<1@-e?}055esH^N zaX;*{w$T$g5HaRjYNW-|VBIajv?t0fN_wml-(@*>(Qp1~A;M|C%|=|zV(~X)?)GFj zZr$fdRPpK_T1nanUg z>p79S(Jfcs^5DW9e3xkXmzYW9;J5EG7IJH9HrGV?Ow4|q7l~=R!`cX+V#zGvY{ht&x?p1>`=IwF0PUbwxbT6fuRVl1`U>3qTM&yxr`NX82iGY=&U{v)C z<#yQR*X`3$I`w1A^DP=ag>AQQ@L`CTAcgH$n+W5%v7E1_pmGx&pD$@n)As{HNDTs> z+@lqTvRy0@=BrX_UG^+tny8VW>Jr_V+Om+vHhSpKKKbaFMvq$;yonQhBid5Gi(`dckd4z5grp9;Se*>URQZ8cg72C$OvFBc0l?`aG;7=e&wxM| z-}n-E#U|Gyz45A&GwM?cG{Z5bAQ!07$&wov1NJehFl;edvzPI)$0FQnW#J~po-!#O zsn!*buB)gGuw&EN+^=j{j81r3@XHlB9wz%Nc(1skE5=(sgXt2TXZq|Mod*1nY`?EL z`SG3V_3h9+Z(F#jCHoa0Hay9-&)vhG^$Tz8Ciu|%OT2jQw-8;y@@0{q-!LWM&*|4$ z0#>Fg3oc|mA$!CQLiWD>Dmp*mOxTAmyP$auPvOFKyZBrZR7+NwL|2Rsx!@$q068#u z@W}4|gFR1r%0m|Kd1yo++XH{^z3VM0s{KsGv|F;jrQBM2e(d;tm*!O|ju#Y7oszG23mZez5y}WW3XX*!L4w4qHG3md+;qZ9 z3{l2`ETX=-dv8%-GQN>F}3$FLsi)*MQ~%C!7GSFmxMX^!Fn($C{=SyB>H?mZ=~0A-{A zOw^?$Vi-}lt|~Y`x^J;?*>)Ch0wS-P9%)OCNkQ}x4X@yul*G4e5_A%1S|}7InjyAw z(4-E#_GSt~XA06)cC=~tVvNtiR{r79)`g0W{k)X*=zRqaNV;O1&aA$4z>E@^iGs`O zxy@;XVD@$>5u9&vhg8L>n%>gkDT@9tK*kkn!sD@W;~Zh3!D7cE``QiW$v7SEi&?OT6^tL`(}Q)WUrtDMzfp-(h>`o` zXq##tF4hbCb0-@6GU8vFDWei^U=wJ>Abkjej`TNC&qya?aVoPVXFIF%6xWQ9(^pM? zoHzIFZh!?HTB9{sL>YJ#Po4)Tl^2|Gwp$atHU&1#yqW7v@y3yTS7cU_PE%}thTy0s zuI21hA%H+-vGY?X4t1)q7-ejH5H?zxW&pDUAKTyEjWOnqlOwmu*L0y)Bt^Ki6O-O8 z2p6)#@c@)E#};wNS(WX~#AuWdEv)7;Crq~>t-fLujMb?y1|#d@GqbH_SHDc}^y z1&?-r5JcQZ0ZnD|U$aSfO)!DU}s(Fi&yE+>G9l3Mrl? zZdL?xJ>dBTJ*QdUPC`3>kqDjVQCvS6S5}$i`nLy~Q$Yp9ySD62)jO@ydDKvuMGDs<0dmsjSmdry9CN ze~<>f9AB{c^^M8itN-__(ck>G*50+!CSSB2j6PkLl6-;n3LUO7NQ5R7sqrR_(Lr_um>=zwAq^944SzpW?akFtKM0mXmcC42cDmvTQD7yB{T4} zL~Y8Iyj>c`)69X+DcA=xUzrg4e3K zAm1hbn_GDyBS+jXiU+fVpJ92O?6yH?iop$+H7Tiw1g(t&t{7`WoizQ%&Vt02mLT#W zGod3+6j6+Zv2U3uDMdcqA*N_@OBqHZneLlGGCWW%Tf)m;kaQdou25bAe|)@b>iA5+hz%I60Ftl)M~I;hhu*zLMy|}g5? z7qkA5GLEHU^@&Y4EkJw>t-C3>xb;Wq0BnsTwW(H^#uEQA#!u!7SFsfTgL@ituF+Cf z&tu*~k~upeiJizHMiwa2&*9L&Y>-fMSBRUIc*|xdY@$5WR%XVVS}R)J0YNT^E21lf zufv=uJe24NS5UgJ*nAbXHR@ZMZdU{fDyJBYMI5QX*iU^ajE%ynA*+LCv6;j~CYsiKCV|!0w5R0zSIZWKL z^1jq^3*;hR|4^rKcyfzYXu?gk+~}D>_xgH*?H^`=I0rx1@~pN8zCmG}!8MYWTT>AH zwNz-}qWLF@aV?eL8a5(e+Z@nQs9x8GY_(v)J&1$;LwsXXS7}~WV%Mh}#jA@Hp?_<76X)Zq!8WjjAH4fWFz#yWd9WRu0H zrshx}nHnX6wsap`o*H#&?Fy;!;dR@vXF2vSGbJo5%p4htW}|KhnV>8e$`TvD>yKYdaOcbfz}Qjj8c_nCPK{fLt($$HXn8 zD;fXn+$D&c^?-&Cee0&zPn}+Vgqb+U?k%}2CT_?{-=YfD3S}9BAMgd}DEc2~Xhm8Z zu8Sa{(*ae7>vP#R(wb68276ypr3j5_@+!k#VR)83s9^7i7w_NfL>$=coV3HXWW{ zHn$>Q`0i{fqd1CC3SBWQQNPX4VQc%>6l9^3i6(yMpzva@5g#{ncMTTDl%f}-y{Bqv zKLVfPoA>Cn5as^j=?Y6l@I(@1q)60Fqm2Dtcd%w!x1;`)74frloUManVrO`!PdV;k zxkU6y_X_4q!cz_HrmQm5K_(3hl(u;sOdolh(&g@BvbjoONM`ND_fWO7EQD8|4^?H4 zqJ?&ahB%2o{q;wQ4I*N@KL}qCd#ZVdRG^!K9}~ANAZFQE{U0_ z)5gWSaGI;xgc$NBagrBb!{r+ry*X68-0{@Y*V3L6_$b&}4G z3wQ}w0hx_E8Ee7&KrGLKN>{=|HZN}8o5yC12e3n0q<9B7@~fUcy+*Q#6Ppj;uWx~| zC0%$5=E1=#r2`fBHWzs zUTr)7T>^8KAe>JwoP`F{b^T)4aWKeep7DNy?>4L>&ypvh0$x1Ld?ggp{QM&CQL?@U zDl&pkQ&>N!!g|`$`Sim?04M2DpPpBM3LYX$nC)eMI?9yf2L%G{_iuNSv6b+zZ0#hI1WLcN z2N#EqGwZ?(54bA+5`xAv>D{??eH(k^jk(MbDbkr$3=!gM25XKW9vjf!O8`|Y4E8Q5HEgLWM}00HG} z_3(+r%Iun3aa?~lhC^QGEelM0iR)F-&$)rj{t2yOjHEl~UUS;AA9FM<1loq%2#np@ z$xe#P>xKsgSs4Ogou;XRNndry<)I6m?+kgF9=|BJTrQ1mxU51*)7TFh%CpB*zmNag zrY!pN)!7wSz&2M;imFW*Tn_t{zN(v%q`eQv87*=#UwX3?9x40o#G6r$TTLugH&+w9 zPjPV@W+>^*C=t(1JSoq^%26{vb3n*RJH7_j5fz}Y4Lgc~$(^|tQR%kX%8U~dqwHf> z53i<}5-zQCJ6KqH1`QK_>@0rPkLLr+7^99VTR5R|H3Czxy(h0P&@s32D>0ZH)i31I zOR3cgDr;J}@tRLBAad##3wvqV>vbtSBEac5C4xiWGK4J*@(KB#em#(XifaRHxRUpa zRAAw1Va5|a5@p)?7}Lm4VG2f`BCC{l+zPs@w=YRsus)iSFz=Vq@8r=L(Ur=#Sz8R{ z=Fyw0Xk+7NdoyM7XL_ghKY(!Z~w`kNVa z3QE!lfK$QBo% z^uNUppguv@^p3dIvQrYEdls_AW|d&AHsFSrlh%6FN~XJ_C?BcrL~g))(jpF}wlPmH zR+*_QL4MgZ!%iP$>Q3>_nQZ8c|1Dm-h-|ses2AuG82J{c2I;6$5vC+C|mx55fjUsLY|f)w#vBbuxT#tcxN%J^MhUXRx|{ zyqV@v-irWusUid$MQwD7%Jzm|4IB-i0m;1Y0ZZkqzwS$y7QJ_2lF+-08Q> z5#nJXOnseLEVrEgYc%)=*M$TPNrjUX5$&U^?$y# zSNvqybLN7X64eN`SX7fJc|q!^BRF+k2=O$I2GNNGrrG;)|ZtAI~R<@;i59VSj4)xpnQJN z(%UX<6h~lXRfEb#+dT^zeJ(0i$?FadPv?cUmy=;Oehl*l|ETu5S(6&i&Aks0B>1+h zsyn)^#@Ti_U#+Gxe%};tj{x(Ex>$WnI<(C$wV~Tnum96jPp$`53+!plv=tHDUcd%p zP#wfUIha%K+DYGuUwwK4S?g!iKJjVqYFzX2fiz)XEHhC{5Hi2Xs^iG(r|ASwg z#FV4sC#wD$E!f^3HqQ3C8xczf=3JO%Nf!r*V%vvKxzOE^r%2>+w#9GKEj7aT zaCgvh)}J^`XrgCetn>!ePOdb$1NgIKNL9FNPXe+!0kb6@{>LOcQ zEQPAnEY!WCoT~4A?Q;4QfGV_lhBDgUdve(COxO?{nF(JoNxmE+Q1MF1tx3~JRIHr~ zrQ!SFUbk_{ju3shidnw#1Ana*Eqalwp$PxvnY|F?ENBje|?NX)|AactmjO5VgWCHOLN$uMnsS5G3-@{sEECz6*&381v3PwLIqpOZ_sMPBmPt$&>piW8GlG9jcFI%SOB zb#{xh6e+#ht*IN4dTe>J(kTpzYU@w3(wKsF*g+*LJ)J;J^5*Y8;?;yF>)<#ky=$5# z&%93ZyAtH%Qi&IjSM5hlaZ?=uR0?q!BH8&q9l7IiFRT-Fr_g+$Y0!Z2Q|Z*tb>g9W z+w%=k*P#&51Ws?VUGErE5!fwCS|>Mt8nxc0ewFqA%`1P{_=4o@kk2st=rQa6EoirT z+Pm3;Rw^odTciOd49PBIkM;@4@0 z#?AsO=K+`=)y`qB0oj(ofKJd)2zFXFJLlVS)xWSHbGZ5`EbB?tHY4pV3P;N&Tc2%3 zNNIk<0Q1=FFCyXMdP3;v!#@3wL5G5HYN>Sw`gpUo(#hn&HD7-(PfMfWK{K!#=PmV| zQ7=K~1T~!|Dl|vx(wpK0ivpB|8U`zK^R+>>JVeJby=(5N5$Z&lB%OtIFbI36@ABNLan#n(SD;=-=|HubQBeL*2g6DSnE!xQ6@*6)+Q|vAhGSnOA%T=x^ zL@*CodDgx=gxy&u>Z}vAwi~GA#0^Z!Co8>Y@TBNt2E_L_X(5E8@A|pG5$YmTH3%9W zwC&kwM3(izW9UErF=}Z|8w$H5j`?uw{e%4z$_a$477sb|xZM=GI*+Hd;7ngJTk&a~ z_HEOQ^5)gL@7FOFg)Q3O3(djxKnWx&h6OSM=$qDGABL6;T_3U_ST?@YaLr>${$z%^YR1jHuG%b zJ*}$@n*Qflj?NJt)?iY_^=*d0wb|`uzg89QtN}gs>D7b!-a&1m#~~NQphaTN{r{ND z-V+r1^c~cYr?j$TJlJsWrH1MZcQ6ckPhp1XBSN{ADQzChqf#h!QDbj*jC6_dSX|WU z?^st!24h~Od+g!*-hzteoN(o8Z9uLc*0%%w(BfnmQTz_Mmo(&Sd(FP+NQCXu0L9-F zR!JXCl~)VBzzNVc{7}AG6-RTilHfk~3j2~-WXtXXZTuTdcw*Hlp7_%}5;@DaYgkO47yLHr2l zD}Rg6b;Qrczc<50t7ASV;bM#$w-v4jWP}Sco(P5#?)zKlnV{L!9DZACYzKkf+^ubm zH2Ajl#fojtuh+xQ+#(m2JV}XuC4t{!&7S|qBs)mbO=0)!<0_L`g7Ldt%(pO2<%K=r zS*+C@Gv6pWRo?y!!&mV^CL#IGP7;*wYHde#Co1zDuv&MPmaDg*&a(q}- zE-MC$dURCf7E*;a-m^wDhj#J}YtU+8ngCneRG&pCrJHwC`30Qah>&?j>e4)|ci2Z- zA2t|32%Izj6FXfk4}q%|9W`?e-CDFI&!w?oV|k>Qjg(Iib;iv8L&>v`=pBp3h3_z@ zs(wvnt%HDJeJ1ei*T~peMLg%`0mp8iIwIEbyurcCLM_edczTDcY~0d5g`+@XTtBqr zwFf|oNaUzEq+wV^F8Tav@66M`8Ck#dQCELJ7sa}5J)J%3^r(3URjb1pdMida{B8Mw z$t!V`bOu7bDdGfEVK;;A$(QyDT`>;U>l|&W!n$++9=0$t1krkIGQ|SA<0E>sfZtm7 zpnk*9=ViaMIm|%*9Yiu`(A8u~i4m`+?8Sdm5b3d{uthwnhGXY%eL(SuAZiE8-@-Zo z6cb!cO6F{dldf*>dMBUQ!i1FapWnuRLew1Y4SMicb(kVXMX$+zVUtC`<%<1HC;>6OJDzr})8R84VIuZ(yRDo0>anx!j%$C_8?~69awfqQuhBd-jYoPpZ z1&bumV4lC5y=BG9G5mcFStk4RE;Qh67>Wle;?#5Qtl{ERL*g9O2|M8su`tgZzsxt& zvPakNVOEat?8k`E*k8y~gzmD!9wg%(HC?T$4U@y004YjW1 z#{<){2NGhsfAnAne5ZNjtaYW%9HJE{AIS5mFIfL6QVc?Runc)*#!I1W+Bfxtg_h@d z>!{hjCAr2f#jyLc{Gw~59Yr|__xB!0Seyx>n?oMkU%hH%+B2#@!>*|x#NMl}oQXcn zFf8CkfXGhNz1ooI9u)=@G>|7vVsrdVp7_G4ZDU(FYtyH60dI(t=7Sv5JYMKi6Jh5X zqht;*_&%})QoW}6FBkL4P^>543dc*TxW2S=yb8P6$N}>)INL}%;n|=R?Tf4Dx0Puo z>#WA*>tU;v$fN~l2i|%Z*;|_)#{3(V4|+q-Ha|rtJz9X-RFaq^G_h5S48)zK@cn zzg^{RE-|lC?p3b#PZLL9m9rJg2-r5dn!nfbIuk^ zEFpsq!EA&O0$e84h8Q2Ii0k;hnTO{37lzkWHtNb)6TVs{9i?;8@LV)6B$EA1hVJhb zj$YV3K)Zk$ELV88KXT+6|BU6weDaM2!{8|vPdR7YE$1EGSLs5D3ORNf%}UYrdprwc zc$BkFJg;BKD7p6NWQsK~35V6piH8sEV`i+2E89hB_@d?({~bQjd%?ndYc5{=h)mZO zf~882YI24tHiq~^dvqq>F=T;KQL86${s%|I&5koU4MTFho~n_g ztzKqQmG#jf`}}Fi547)*F=wu>a5c5H$T_!vy_aPHjko-Gn({@CGa#`zAMaRy5arpY z^zZ$w#^ti&Z~*I_$;hae%XiDuMm>~a&W#ZtZW+Va2}V{@T(zkJnWypO@f~@Ebp0o_#Zj*f@U}Pxp$1cPQ4x$rx5fD=x0fX)+W6TW2qY+q(gXZe`iH z@|Z8sv=v@M39jEZNVfZ)5!4sFoUUNcxJ5>19e`qEcIz|1j_uQt?kQB?s zniMJMj=QI}m2cJ?%ndii!_PXMRy79Z;RdofrWnj?l?-bdWv4qOqKBIcCE*8p)BFp6 z(~OIky12*a{!+%PKC#Y*H4L!#nya=V`32*M&5Ti4|M~4z<)iQRUAU(;RgNnn)gO)Q z3_1BXnKyg6-N>q#jm_#bvCwfzt9WH(M|!X>T+Q66TY|<~@P=&G*ewOR^k9OcK~6;O zZ41sHsOb@3L>7%xB8{OIG{@bGWPHMHk4@?;-*Ta{A7+Dy?kgY@Ay{Tt${UbCz*(%ObxoUzLWWNAE>66gVwE$TYV`icJV^ z2`;u-?LC{GnS%!|4X?T4$D(kYi$bf7xGoK+-8URks}VjfN`Lt15$=grNBC_H2kG*` z`XuN6);n3EcV&xd(h|;;fNlc0Xj5vJV&p<8RSs8WQ5rE*RXG?S)$+`hZ;0~NOf-rfz2;9 zQ>hf{_&$;#S3x(~EZFmKzPC|xkF>RP`#r&QHjCpRWh|6tPtrBlxsx5<1&<L$!5EL=z2-XP(>=l@)Po*$YN9ntt8>Wby~|r4CIG|VN4E0M0j&26sWb~1-Y8NU zPWNxbt1Vf@hoj<@p1IRaop{$TUTULDq3KnS*quv6y_@X_ISX301YbbKe4^2ozI{qS z<*;=IQa=Z0T0V8f)92^%bSm2RLlhy+*Y;^iJt;$k?AHPBR6qd|4Q4q*v4PnVhNqqD z8n@TYMBqCPoVi@O?u)ZxjzkYkmQL5CXa+7Nm`PDUOvsqb8Uww9`JWG|vfwrP9nax6 z7i1?h!8_d{3&q6v0gYAoUIA0WJ?(|GVWW~Ec)l=KJksvX2%-1a7f|=o9csi@=1qzs z-vS<4pZYp0P}v;`+5Yf^+#R}ppJdMJ=;4v#&9z`kLSt>mho*aE{_MranNBL$H&ein zj>Pl_$-s-Jtw}P)uVuUlVkf0d!MBg_&p2o1DSR92E}A~#F-v}(--5nmp&r|DiAiA2 z)cQxbYHLybL{cX5bErr6OF_{Epv{I+v+7Q1En* zGSd>gHtR1yi_^~L9hc$q_!vBljb!z`R*WnAosoI$`2&!_b`5_7!uA%1>*Z$Bt};jd zLCxxN(yWQ=z)%MI`Ec~yhYsO_qvI&(Cg^pDB$!}n#>8>S z#^LZ*bRD7K1TlU4ob@Em#mK_1^QswnW&9<&#f!D8 z*4Qcy_1%D8Kk{4F@PTP8IN1z&en|^bbC92AihhA>TyagSwC$4b)#o)>0R7#XK5MIj zz;&9r+B0jLrdao5)wsN;cs}{)86Lj0SAizAFNicu`qC3oH9aAIi599jIaGtsvyTA- zU*NMyySv@`=n<%WLOWKNX1uu+PA7-+YjmXlae(ckYCp(GhSAT+%}CgGJwHVP+hV{F zbc{a)L~WhCg)+rZwOtBmtA5Ggsc|=3MIsCgsJVQt_iTafMh?~&D>!zBK zM}ztPSaKk~#u*5>4+QTdsKqwIZ=TqS5xFRD0@{+>an|l%tFwe|MojPqGe{)O`PdpU zHky&P1(UtM5A{llmqP8Qh7%)+-S_m_Mc(*!4@fy-xfXpQc}Xo%3*9%bYqH@+P#-5F zUm+k91z-Bxn9Etwi8l1xw99E8t+c2bf1uLwi;M4cui1{lOEW*WGbhN#Z({wfpkjrM zQHrPVhCMXC7dMdHdWvWd$hndP;qmwE&3&L}|1Jvwjpwp&B&cIS&wJ7-`;EnEjfU1s zI;h(XD!iRy-Xcg-&GQtXK2g#u5|ERzDS6&q>9aYSVadX|@X^dbHuI2g4$QerEQP!9 zw|ujm<;)MG2A@RZs+)cs$uICuM7=6KizjM54idgr03l>d&kJKI6g90XMy~kwRX-y= zTLAN3np0q5!DZ6}?3-Yn$Kcb(;*}!pFP5@jNB-6Bnb>nSV=^m5E7pVB)N|v7r^#gL z?pDIysv%aJq+{T;jegH5V|?+4oKqDR49((>?8~4jhtWbv!)xV*k-vE91w6j$?S8CW zZ_2WZb3$C;{!c`j{?%Tn1pJR&BD}~#m`7-6`eySYKfaB{iB3On^6K5k{dvzcbPuW8 zxk!exHj_nbHI;j)erQQgFk~r_DR@(I*tzzv{tu=Ie%fwqPNeMx(di7TQGqLWPvsky zF=b>J5SL$-e#Yq)!Buh{<=jNia537SLe!}4z5_oPv(f^3UQ)1;#;>(WZ`X#PCXs+8*HZk(1OE>F(D5t>51N&VGu6M{+NSuVaQc^DBKAEj^_nouML2 z0B>k?5s-+m2%mNmSNLDpPyah3{hz)gH6$sd`$Z9nU4zbH>{)I-M2s3!4u(Io<B2O`NP;$=KBO2&!3M!Bxgg+3aCrAAwVscS>AT&L27t3#vI7 zFGLO$Q<*EENI7nhJR;r$)$A?N6U1!5;j9-@55d`ug}4) zW?CsG(TE|?*xndJA#Ci!<(r!!NCu$;sdoU zrGc3H&C~kok#D=zUpNj&Jnqa{_AJnF3(8F2rjye67#mZn0XXVgU|j89HgOtb05s?k zf|~dlpDG1ME=>{P0fX0E_pAdqvT>I6rSDdKMbT+h8@VRn2*u>o ziWsZ4Pc5OQHZ9|H`g}~hs zcB3}t2&%Ap*Y^!WrQfL@$vikFRC~F-Rz_iOtihAUzqj(?fCcm}(;>Xu=B;Ml&p;S! zh9a18=M+`4AZ}EKP+agWOkI6n_Jd7obGHWvTse<-&iTc!SkiGv9t4>T# z4I?g6v-oRGgfd9V8B;n8vK=q~j+VLJmJ{E~>Lv?OyF{3&rvK{Evj`y|UsdGkrr2Wl zfXKMWIeqWZpJ{DA&bbc>68HyfH9So{Z=Nd7&Q)`LaQM{)ER+St8+2EOfU!N8Hr?Dg z=f1gHRBigRHA*lR^r4Q)9|A{eL}Kz%dvHEUL&;+|m1!AotJ!nCFf!B-ivE$|IBp{P z2Fh!szO>o8HGQ^n?li;|9RPs3fanHh!2wngXF?od)umifXaVe*r0 z$dQ}o5u289!;vD37E530h9b(%Ue89=@*P<9L;Z?bTNh20ff|Nv;yy!_lMqDJT+%9u zU4Zl)h)GR}S^Sca(qbRqqw<2Ca@TLddLYu>lL6C-&NPMii{ZMFoX|nKzAdF*&_rHD83Yv;QoZg)G!oZq;*xkrS)e_3 z+X`MYeB)sVOu^yVfI?(USa*`>IXc#BYzAr#!OCQhcE42z%H=l`!$t%X(Uyu10$N^1 zO-mbG6g)toZq6T#O2axX{f5&e*K^@3{tZvz345PdYN}WILN|e%txKK9?lF0|lOx|* z1=;h@qP*xE|7S}vS3@Nm7KgyfUsR*FhE@bnJG3?5D>qnbwB$_)C=S*5#XK2_;XbRT z3V&k<+eUR7veObnsm6YBxJYDOUUxJ7;a}+<>=!f)nrkkZTyqJN9eMd(4P4x2NR7|H z8qfD)V@qn{9R++@_sb#wtAs%qkhorpgjU~T8z(e&B5mti3UPI-0)5vX zP(>UY3&M_CKXAUu1Oanc4tnLIo3e{H?|VDjZPh7Ipo0ATe+TREwYX$Ljh$fp*1tGx zZ`F|Lr4b_AS$eI1(sn-2{hml{CmjADskW$iVej7A%gQ?5SB(VTA+e-WzaR%{GJyDh zbf5jOTfzrGswwxbpb*Misn$jCPMKHsbT2^GBD?oQQT}3~fNES~-l)2qOhI9>$if%# zttx`(cn@3(tx4221SOE?$PzPh-C@pbV;R13q8KAH-6;PtoZ7$v9@`uCN#2HoTcdW7 zb(qi6%9E0+8`-q88H!7S@N{&A-BQiSF&5q39B1uNTmrupldE0Gt@Qu=3b z?j+?a9EkTF^wBJX_}I!>9T%b7l6zHJX~RuFkeJBvYgby#h-}A~btAMrHdj_a1R>;X zqjZyaq)o%Ljm4RcJ@Eg8Q8sEGj>Sg#Jpb)&(&AAriDV0;Pw+2nG;Qqv9cBMB%E}6I zErF;_Mg7ZE(G8n7_uQ#XPTGt3Rmp6y1Fdvt z^jFtoC^~35=mIi(xw~Q3Gf|Tg4Qmup;P@z(w5wvcB~C0=^Z{LL)1(~I((fgu_K&ivV=r7*WGJ1`!je;g6EGG1r?`v@I4K5h#!hy;tk~Pmm-?P-N}k*B zewbfHEa$0{EKP==#7gKWT#3p@Be3M?<@3JO19=tfG5Y&HVi+ff>zD@-%ceo;wtjm4 z9_yw107#6H!@S5hCCFcWFf$ZQmF@^%j+J>hmGgul?zPzWD4C@+wr1625 zu%bulnoT)%(GQ%^wD`=5eWc4#mz{m|*P9*EHf2Dk&49x5OSJM8B$~8`ig1Igf`Wb$ z&Ajr*LV2TIWjxTsEyh~*Cdm{04QRJ(o-uf`S0f!R%FP)ZH)+$});^u>F7&$I_iqnq zCHO#TRO@!9Iq9(SNm|W`M+AV$?EUD9?Y=6fW`94pn26mWKbO0EF_|F;IXh3|n$O0j z1l4Onwsa)iCtqhgv1-8+Zg??Ku9Yc`hCs?m1&`K8@G@J6v&x#x_6&1m3Z<=S9h9K% z0G*9v{()D^M$6-XR~EgP{Vnz0z-i7jqqqP=D@wf*O@~6Ks~>w_hOAkcGY;hi&Ha{34-E>(G3?Jq;J|} zqRBa2IKUlsdY%zw2%k>BpK$!h7vrSDfc5bH7UD1r`I+PZ~%(v%dp!BFX z-44N?A)2D80&Vl2tkCfEKncn$SZBl#2HB*Qf{Q&Z``h}v6Y6bkIostBejq2?u{=4l zE~GmvMpCB6&BY5#h-kUG#x4R6dBw|*wuy0htvcJwdh@Ah+;!opD)uEvyK0Raz6Roa zEV5%*C13DB8EmZX+-@-qd+T8w`=> z{8XxANn_Sf<6w8m8Hf+^2-;6kHxraFb^`!Qr);hvkrVd43%N6!_@l49WcZwKGtO?& z(5cU@aFGswqESl3m&^q9FFy>m@|~(SV$(K$x8ZR8&MZ8RWhuI6p5ZlKxs%4@N?KOG z{@UoM5kIVPw&ri^pT`I)=IfODP^N|XuK%+55PeS=)p^xCjU_ty$MR?Lbmji`M(@ zui{1&0HP2Of6$TtJH2Ou4y#PpCCwY+94C3H*TlZt`6z++IOFovq3)a}_cOErj^^;0 zY=G!<^USEFqu$UUkLz2?Wf7S!2i$lJBt_m+J0@$#0xqNg?1gW2QNkQXBG18xP5))l znV?f*%sQi14Bx5$x!L7IU)k*nQ!xIv#@YmJW~RPJy)ZT7wwKXl^YKH=Hy?u=lT_kg zWoIzkxe?#ImE(>ARld1q#)LtT-F` zB6;Zqx(wG5Mw&^@>sys&VoX75VLX*@`ma0Qp?Nf%H&9<3*7N59&5=#$_sh1+@O{oS zCh~EISuILE0g2X*XPxS)p5TTzCZUKIAXBbI>rs<9LG^PEy4{-6d1R?$^g0?*vlh5J zGg>JD)nhKH7`^K4GL)SB`!w;MSWFvAG7y56A@`!Hq`B$l z{P?yit=K6GYnPVZ7+MI)x2jL_S?S!;k}+k&*7y7!@;AhOW@C*wxVbw+A`?j#S9qQs zIkV7uiHNzMyuHA{_F-eTzw@oy46Zi2aF=T9>sHzaYdgMHZ^v}(L)sQ2PW=6Dq+*pG zE1$F`-#bWq0{ zaM3K__J#EC7})a{d@1rLBjM+S!mhlU1H!GZLDT+shEC~P1O{vQbd4h;u@1_!_a zfEyGv8t{M(JcS1WIFJ{J1poK>R{`n-hsOHH1q}ce&`R&~WfX(0KodP(am4|KUaYk1#aQ2GA=a zAe!l)lW@SQ%|C;@K(>GQe`^1SO*D8kU=0mOk%T4#U_k>E0C+%u>HZl6f+Ro`DE-fq zeV`~3klON}GoTC>Km$MpME%o-1}p(wz={FT-~g~D3Df}xzynIb0aT!YN>YHlK0vN* zz?aE?g#Y=A2ZR`)=?H)a05A^#$N)?L4M5NUDrEwY0mXa(*?<6`*w>dJpaYNq#C-w5 z1n8F}P@xXc31C!kfG=LaFc2F7=z;%=0ivLQf`Dz{W%&B~Cvy%|PV~=3Ng%HvARl-! zWPpJH)ph`jFAr!*fW<#83c$+-#M%IQfB{`NalACg|5)10|Y&DF_Q-}OhAj2hBl4-rTSyyG_5V*^(R z-|ntu&5Aq7@{lMQ;LCW|C%A%is-wOnN0H-r5Bb~!I%c~9G2E(pdsgs&YUfygmbWZK zJvMvs%H>v=gt(|h`P_BtQFL<+co$vkbp{+<@=gXpoGXV+T_`jCVzcILF!`@eMJYHs~{@tJUL4d_`QMgGe_N)`?0J8>!qSI$hC?8H6 zqo%LVC*#Iq^_k8i$Wxaq8eK;QsW4#TXLGq4TN1yk(1kW4 zs-rVjo+9sXYu9uf49Mq_s_2hFShl4%HWiJXluH+i8%d3d;%W?L?dt)4lRAzL1_N`4GCb7*&1y*0gJ+05j( zh$;8P>Ysp!b~7TI0UM$OEkZRL@CnPZ`!vZn7I_Bwmb0|UZwCEefwv1V z><<>~Fcz{-@ny%4Zp1KF88%xB8XC2F6skLT`bC@TX6##EEIXfYUq-{eeB0dH{x~u8 z*6tow!3-9B+keP4P8N)+LN;aX3fOXL5*LGsK9mmUl+?!RPwjr7ovSnY73YZDE@jC7#%v#z#ja@|#%Q(CJrfPMR?u zI-b(d|4M#xTC#m=J2A3Mb3+U^)q9AZoGE>=lRkIJZ2UZoc-?QiHQ=b5fXlzk`n>)l z|J?&4o+J08kG$L}U~?}Tv$YKM?pJb@y8re@=))Gj`^lG2B+U-wl^i=U7y0R$vF`Q& z50lSAt;b%y2;Y_0Ay9uzXZk;z(vMG@+?W445@n&bKK-YEsv32qS$pS~be|+=8ftA{ zKFDFM=JtdBrFsvgB`!nDFgu?g*ttBA;g{{xy5#|?pXU0U6T-%6QkDJ~+Z5(6=3m~l z@7RS#)M6+$xAv-jB=MQiMExeHEPXl`Im~bd7iPo zWcJ*tPQ%;&Et{j+jJeB}6ODM!xKj(nTc2X%a=l_drM{38iR&}|vM?(BppS}Djm%-a z#T}CmD)Ck8bSxi~)alQRf10>odT)(u2zMdYRp&x_+;iKgZ3XG6Ytl@{C@G)n*y)yy zmKxsc(`UTpTP-546%`(u`dsx~?W@$J{*CaAnCy=VIM&Y}9`?v>rUDG!_dWK<_1qY)*G`_L)OTLvHR{d5!U|fu6w=7 zdi_K9KDGb#HGh_=?R&`)dO^~!{d`zkny1h0sm$vtu%!$on#omDUO)l%sh$Kt`PEfGF5$KMKJY{__;dbPUgPW}Tj-|Brk!66~7x^bKh0}txa zoYk*3Pg9E!Y_4~99)4pW>BzBII`Bgff_Idbvi-uMQ?xqf%a2xv8FYCUf$mk^o@p(1Rc^*jeX*M0?!Oa>J7c84tFtxmv1ykFbtHJck3%3o``8>glXkuwGxL zX!ZmhzKxw0(w}SOe_uZpBgxTAi74x?Tl(|h*Y)P$+X~Zqo5T96e%EgMzHJJtt<%yA zhEn@k9|-!s^+f7+{10vIg}qbaZSS?3`#*M;%OioG#bD@+DEEq*ZT*9=>x-(7{*+E! z=TXtfm_A>>@L-CW{kL~TH}jPfbQ4ZDtZ2XOn-%g}{&ACOSy967J+4u#E%N(>7hB)V zTtaH72Mcd!{`|mTObQ)O`_j#%EbBeXx2w!jKCv0y@sn{CRBxTEZJFVm@>{y7ov(u# z6zx=CNfr+_dlPX)|J}#aTbB;DlBYE!I*WOiWY{bYp}0@jMsRB!V`Of+3xw7b>#4Rg zMSr^&du7E=zJ-{#GPWA5x0bOWkLD=fM^-gUsj^$n5f_^HaJT1mTIR3~IA-X|z|!%_lS|0Q1}=^(2mp-Y>x zI^(k1GXJYhKZ?>5bfD>O>4$2dq+F#|=;Ip~jMs0?oC1|&0?H+xw~k482@N%jUiz>K zahO{czB&2AVI?4~G*Z*CkV)OdBHG1xkW27!A&0rhi1pj#IJZ#U6Qes$E#LG7j_lZ> zN;Ct>ziu|Fk6H9dUAx(?5Hv^B)^VS2wLh@1YmtBMyFL9}a{iu^X1?-QH^pBfPe*6; zW8HkZ{O=_ABgbUdEPWZvm~>Bbr=IlcT$x`^}tmrz|N`1I{|w00by@@>FJ-0s}! z53yXEJa2X#0|8I;&gR}-`DaVpo!w`rUT4+aX?2hK^CD<9qolWa=;lq!i9pLUEhq^O z^3$wt`5hNnTHWP^xE(wRRx)y!>lt3!%dmcx#9baTKUF8i-5T2QG~3F^Le>3vJ?eL0 zALGM;p~O5RhDc{Q&Yvuh_viNkttP?u3ZB&eEb14xT2?dNy5Z zIEkm!N%JYPin*Q%9gkdqmGk3(uQT(7zH&PqEfH4MUTa_119XG<(FZS|`Cf5XoOLK+ zuZ+v7bYJJ|fL8w6Rdns79Yc}Wi_a~Y!e_hwi)UiDR?Xp+y z8kqdyKGw*fk&QAw*Ok1%q4DDv9=1GnOrDh)JVE?p5`^A&u(@re?x^-FO%tYg z?*})BdOiiTvYS1BbgBDQZ_~?{89z7NUfv#05YBhI__DomZ?_jk3_VHvz%$mo5XNe_ z(^?IgNaN)u>d&?)a7kX#Kl-|)ahbND`kpF>l3{f9Kn}x_Pk5%>s?rXCQV-Ls)>q$c z2>!b8)t^-W)_8CF^UwTwA=I{dZxUOP=w}n>@881kx_VD)dR_1SARH<>)cGN}M{9ei ziTWEHPPpS8!d>=|Nn5-?VeItbnmxWT`#%SDXUPdBFIhGE9fnr#ugG4-Ipl>7dFMR2 zvX5*s3}UBq4gko~5nexy6O(+-N0|0Y91xP8YY=jHqukz5z|#|1clli7LJoynb}pTl zQ>0T+3mz!36lQ%gUV(k+-lO%{alL2Zpk*Z|?(h#Y<#(s>GY7E>wF4F_&gQ>yNvE4X z=(;L&Twppq%@8wW7%BYpY$L#XyDd^QCSRs=+HSA^uIVYOwu8_6W@X;>cHRnKjtRTk zaeVUqhTy*AmygU`dLla*l#R58Pq*}Hub+zE3JAF;6xXqphWvF2q@&elUUvEmB)vzn z{+CN&{D|?|?XNf97vV&US#QUEx$6pjZW>G#nFQaZEZoy zZ7IK6$FtrYX?rq~RfWs>nD;E_nUQVY{no3Q>^fnJv4musBOh3KMt{oeZ_+%lh^un% z!@Pg87RN;LH7i&e|JIsYX;)^Jb7yhK_O-2Bh5ds}{nCkr-78n@!^-q?{w(f1LNLxW zhnzb`l?#)5dfV)nswBNU4!ziwWE}V2gS&zShs~>Ks;S}Qhv&;g)w6Xu^syN`rDm7iyx{5q|u z8o`#}(S4RYKLJ`*nf=cAV&wXJ>gv}ERpz&HwHdo|@wuI1`-5Obrg|%$`H4{LD9`Wq zuqbO0I_Zt*k#g+5o{m3FNm7^N#`C?#ZihgTz&WYJ3rd2DJ zv)WJ0ekWfR2zape$sF@i+~mSliPO#p3l~>97S^QSq($HDAX|GnNItKS_V}pMN{bap zMDS;E-~Fh6c#H9AQ|aDr9Ffd5t;fE2)ZGvG!unF9*!FoZELv)%Imil#kCr+hU-}aw z?(Dn_CC7``w|`}BKcTx>VIuz(qu@(a+Z$0kDrWp$a*e8WsOVG+51~DQ^|x9?;%!{& zoTJL>)(w^jLKbzj-av}WxQxS8^6BAZb1SCb{X!|9AAU_%+Z=+>%Of??Z6`9q6bmv2 z(?d-i%JkMHRI(SH+&(dS!bdY|nm)c*N+n8j4^Oa=GAkVVTIk1;4@Vvy=Qg@2bZZ9Z znjZr7tZUi`+gE(Vs_eztheXVp?{i}p{}Nedb}Yces8~?!s^oBt+YHYmll2~6^Yhyu zu5AD6OO&Z;?Q`eN@P0jv#bdp4 zI<;l}1XDNT*M15(S@Qifxn430U~(CGq(on(`O%t(e_DXimxn7@nqM8#9$k#+-O3lR zJ6>{~WcK}V^ZRcK9P%Q3OdoF+&Hv(Q3Rw(Unvn^Ukl)EU&f}M7Ilnr=o@7Y4oo=es zZx8_VytNhZLk8oY{`ka8zw1W4ffe>=HruQ6okRL*lf=A9-Dm!ppL3pyGrea&m&yIP zX7lcTNx|Y5?7Li1xfk^=#pD@3o9%dd;G(k2L!OQAtnWW$nM+hS(p-PpA9p{0?Cz5a zp_#TTtxfU29n|{m2iSJN(`9z04J4m10Tzv{TrH;$H|)-TUOYW=!Zc46>Ast=n0$O- zbDziEQY$q9VO?tXy|L-vnW&#d&8|4>+U?};uAH|SuJ=nd`gKT)oVdqy6fd5~@kB5` zd;i^&4K+93Cmy=_Z+_1kyd{~(F~z$+)hlPFrmc3I%3p;&@na96B-b^R1ipS?B-E!^TvjlfeW8~;nLdh{tk-J~HJ#if7DgZa3u z8C!G90Q2EFHh3iC=S1aNjzJnV@)DTx_4WiJci=p;%wK$*5yO0KYdm@>Ch)aqzbkfF zEZhlujrTNF7!_jiC#5O=gJNtYvchKtImCu_Lq?V2xdz|Hhvf|jL33*l692FKR!`uy zH_GKd&y|=BUQaDks9^wi@E)J37y%2z-*0SYx)hzoG(>bfx!hhlU2Ewn>CR!C`0}nb z>fO$N@ik7{lx8i>C{t9qr=G8f{tU5)7_AoPke>JL?pcKmt;$yu6;=wW|A*&3=I~QW z_J7M^$!Hbcla=QvcjljXwi*Hd)|*BuQm%)~|5mkP5c@wo^YOeePmJB!bl`lst~&AM z-rE~OGk(jZEVpQ>Il}h{#UXM#b|Ep=PLI@Gwso@}WlX+wwEFnAvgPXqH_n&~$GHNU zvctX>>ZA#7M=1)51cvvw8+A^}qn;n{yBf~3K6F!roR#rQO!wLU5O~hyuO`$F+}-NC ze}Cd6^EQ1qZ5JbX@!eo1mjG@}H)A3&E4ONUuKh8v5^&CB^Gpg?*GJkoe{u8Ny}5q{ zUt9?ME13CTg_&hJ>*C`_KenFQ_1-Xx<*mCzmCE`Y^+8OMS*JxgazOc+w-DvgTaj3^ z{|asl{f}T+lMVX-F5`i#yB{w)Bs|?Warv`HP4J?k>2*!2>;ERka9`ATlLB3_ zmaKiAozWZ@;5B&fCm3Oxf1&hD{SW=ULz3Sgyxa^^9!Yk44!==zm2Jo{-q^nUIdS*U zMiSc5<0R^d`B8pqZ;Qv{RM=#mloX=iuHG{RG;auklLHaJ&Q&H{4}D_8&+DS|1?vBpie@_k}i-4 zXsgA4S=X}H9e+)HkXUy@UlmH43%0907^x5u$$h7x#4r`%ZN@+NN->X-{tVPsmqY(q8({yjZT@U=Hr^H%hV>1)Fy@!y{>-Pq=s!tsIgj<^wb~<#&Pfuv7 zk=F2uH{l+(7xdsr=>lFK5d%v)a<_;_vM)>5glln`D&9HmmAz5m6?XUit%Q|_cac+R zTUbW-nlWX|eS%8Z`zjax@!w(w6lQum4n0zr!+$+-+wCIb9M{az{Vn{msS>tp@*34a zUDQE0#t^n}Qq{R!mSL_#QtqvdYG(r~*!RQ)tBv(0KV1kNJoSFIXt@=p>`0pvx(%!s zUmBeCs6&OqOR884#gXHbyg)?f7L$7E#_y+71GbW9My`|@k00FY=pB|Q$lQk#l%iBS zEwVYh_>DsidB;C5XpF#XFcKl#6Gpf2%cZJ$$@G#r|5)Maxm96}JmvoU9${C*L}8lfsDZw~|}% zHODFBP>F|#W`?$5WzS_(MKyVC>9!Sv0Q(b`<_EJG4~MsPhMVfMdB)4$IWH-#e8o$p zlj_=d?^x_&qez6+8t2I2!SBQ0#W&Z~`(N~(kNi^IC%<(MkN$xV*jwae7#Caflvk;F zd-YV+rh50!IAQltgd-)I5<2w$6kp#LvC}m_cJH#rh0FRIc3M(jhZzqw&c8ChqR3dc z*26qOUtLgG$veu-fR8mTYt=3slUe`dxZf=BO7GIuaN+GWhi|~!VYf zU_N}wAdM!rVuw?CfQY`gSdLaA(pYNrP zhz*5k)t|AJ1(MJ61aG^C>oZIle z{lc?nKn)KwiBdEem_i&yElx*W^AKtL={Ur&-m=VJ#-{lD@sEB(_HRce8r$OlwZ#Kh z`K~I+ZtQgwnAU{ZU%boImMSyCbK=O*eLaCf!{3MX*BMTKP=BJNSTx2-z~9bgj=QfN z%yNr$F}SAXkYyiHB~#98@8^=yt|8yXS)IJC=UWEa=VO*z*nNC+jh5yHFUOvG5L-Vg z@bdA+Ax%taHy=2$R3<5fGL0U2fAceo>7c6gis?<2P@SNXd4I8x zULK`|oY;eY)F$vnr-gb=1%A!mHIEU3pRAjlyO;j zJ6L|bC7T7h)v{*U%i$LLXTo3A`bcQK-m8nIua3ri$@|$mqtq&TS6j$xPg93RBiR+l zTsLSx6Rdf)a_yu()^;V>v;#jQcI40*f6qLRz|;Cy^6pm$o> z?hJdM^rx8Dxfi^@Y)X=JgR9vCvB^`_`)-~cYe*Yf!KJ8KUkmNMoq9@g?cD>d()R6& zO~;p(Yb{PG_)CwNN7>a`^xCiGveyl8`M!PF;v*S;L$FMDp5XX+tkiHHn~7%X@J6o8 z_NvNxscVajK7@dgdzdpOv}g#_VjrGkN0{imwmcW4k|N9|^z!2yZmZrK(B+n3srN48M>!9d_0Cvt?WZMFig#|-KHzAIV)*r8 z%`A!enELW}fd}_vx>UnWWW_7hMUA?Y50u(_&|f5@E{{!iRn{;@-*`{eUAM%^<{0YR zd^#ksd+O~6H`=0nhj5=9(}SZ$UV^AMt}8kgp2opiQBCPKih6O^r*Cxzu^c&AK`=en zn-rR@uhh^kwZE{q_)M<{bm4H{zKI`7s@(}AEIUsQFZ`+(^G>mw+iY@OxkT1)^J83g zzqot1$;Q$`zjpS+6C8gnMH0Jx*S*|S@#WGjhZnoSr_JqNuHCU`y~(*y{lfkk^#pvc zC1j(n=z;7r40Kb-(#5N+GTiD6;&{_#I(kFR@Y~p&QI5dGz23t6CncV`vRT;ij7>gx z!PRrtb^KQwYMI%IE1$oc zsUCJb7Do-QZS`XZgij?&Y2@YAb$=c)rWlND@kXxki#LvZC)$l_D0Ckve^jFOA~<%Z zGF@@GjO15+{r*B0yCIL*#H7dC?e94&_oAN=1kZcz^7VaCmBUA`X7NV6Kjl*%lOB3G zmQ!MM*2dSRS`;OkWGz8aWyDL?O5Ye$zWY##^XApT!_#br>SFSi8Vb_eH#N4;e+zj* zS=Zls>r!PO!#93)`Ge@6gW5iJL5$xDby}w-cvhZ_EVZNj+*Y@$6^l;W$Yn>K+DWc> zO|I`r6~g>kAAWDhO%-t$xWnJy@aW~jR$yQJ)#OKy9DhWsB{wD1<*6ZdWJAq_{lD+i z&(4bH)&@#!KlFd9@=owWvJX)H>0$2S6*S7hy*i>{W&|`h+HR_39bdhA()3tO0TcifP zf%6j?`>#5-6+Qbtxt;P$>`m`z%AY~bS*^WR)xw`St=hi0fp2x3#7hD@znzb>KE8B0 zwt(67XWN;Yj6SJ@UrhwNG~Q)|&wtAFkD775+F0_EPTm~&7$KV0ng1D0BHth*VUavY(?$H-UD3CchI zE_f_Gi}O+I(EFb_6x!m3zU_*@>06Aapph%k{u?Sc$9bmownf&uI<9u;^Ns7BIB=Xw z4{gKcmbJ9XNj=Uajc2~PQ@Au*WER@r=9gQ{i{A+|@AtS9!}3QoEVWucQ!W%t)s$Lm z30lZ7Fz}O&YdH|r^+NQbl1%7TlRH_8rbL5S|0n$JYpL0McSp{Z8(ECdIJjzy)tH4y zt~_RSUv-`{0%_u^8~LB@uj9IIrw47g%1UPOcdHGWvpA&RxX5}wx5S3{X@_{bmj3h@ zuS4+-fp$4`?fzm9j1wB|Qc=O;plPgnz%0B-@J0=@YN5qDp<~Xa#30qzL&1=jNy*F3 zi=;0GGf(B1)LJE8&+r*(SXE%_3DZumB~m#i!2yw{yDeL-g;Y}ImDp12N$Nd=Z*2!W zhQIu%Ly;dlbF}uKX3H>dKo1{z8*$~qnN`MLAs?kUS`;3`Lk=Ys@||+${gvL$@m>`j zW7_t;DbR0wsQL1-wd!j{cr&j0`<=G!XoWUX`RNBjzXRJnYT?TVr>jLf)1}`h2kWGF z2a(xQ)D#T)lO--@u_oU*rEWg9cT{e8jHlznyNOGtuAmcQ8EA69`A}!A^E_{QYX#{@ z&)RyR$K$r6zi!Uy@D(S}{p4uE(08k`Zems<8L|F`W z9PEcqxc){6$bQOq7M2T@%xHv$JzwjjyNNkIF;3>{Nb-CbJ4;1(!nkM#3wh^PRC z4SvJ(^UzGV6oBCautq>3VhsJ9(2{M_ppn2a3MLvnOgS#hhDHWi2seNi;g$u*iW0nD zQG#S)EEz*aT>NPjII{3_QUpNkjz%aHknb8_`;H~G>zMsTJ8h_RvyaLl1C`U#DBh}- zHHc|;t|^4wl)dS|QpxQvizfreIQ;O#k;pyGq4#96>fN}Su2D{6GyNJZNQh_VaR)-e zk|AdxQwEKJ0U`h}@iBA@73A1K(f7j^FpwXCc$(i&*K&mwUVO|`!$fmn6^y__FhB!3 zC^TM{6^v5DbLaF%=SiTe+UMS5g27J&_2lgH+g74BN$) z7o7j30uYwSM1TpFO$LlxaX0{h5qcuRrS2Jc(_6#aQUS)&2`zM5kWy0zzX$&18v*F_ zIYlmZf1^?=rDOn1A%UC>9v>f7M{><^^cu({@^%$}7BMQzv@`}O5Uv(> zqHmSZUlbGw!(eIvz)4>{2@jfhL0mEbM1WMner|as1Zz-wQ~?GEaJ+nE1<{R`{RkkE z0U{rRyvTY5xp7mxg0=9!8KiLy5S}`lW&R5bt9Frq&6L9ZQ|)xzYl#^JVDVQvCVBk;;W>4|+Ctgt7D{5acoscTM{Oe?k3+ivx?9kxn)J0NEgx@DCTWQgJ80 z4`3&L0BtV@2{;8i(-HiKO4C@Q zopdQqYl;6VW}tPVh0WC?00MyBXd-*h3+iXuH9+ z!PzkHE%h#tLWl#fu_{Hw@BSOZ^IYlQP?(a8*HUxT zkO_U%EDHRexC`r3f79Uz(t!P`-b4&kLm(Rg$DH5T(6#3uh8?C-^yn=Dz+hu7JY;+R z<_vO!USA&n#s3%Qn)VJrh7}=7GMM%aN}y)}`oVs*V?*ru^e8Zfo?TQF!3zt>&}ayj zwxU^K21e7BHJulB_@wYZ<$Ce^RJW61S60GUMgz!0J=SSUC$#rltU1Pu^!74FAoXJiM0Bj>f`yGAMMI0*~iB=kO# z;MWc+8=NdkR&d|?C=0de>cO~KOTJPZh6#}tchObJXH0@c|*+|d=SE_wkCK~_%qCo6f zv{!M1mtG8xj>W85#|c7+Io@MZtTe3Mbfyv)08)b9i2~qHR|$j=3E^cQ2x0Zph*Z$x zQoR$|;CVp@#m|C*OF5}P@ROHa^4g*T4(-z;KqQ@1!pQ*_1pwPKWl^z6XMCdw0U{kN4VA{E$z5hAQa^iPh){KbP;?PUJRWPCC=CNlQU3d0MG$e7 zKY}8n8eVr}L4@A>7*Qc35TOBnUC|V}p`pG}eoVj;0QjEbek_2NB`sbsAz&cvcCWxQ z0v)6Vtp~_XrR%v+|50p>*&;i5^iX%17EtOxpH$g4rp24k@g?yrmDfkv7}GJL=i0|g z_r}Nwro}{Ch7wvv?~1BD3>49g0$46Gh8b2NS}H*~1P3-Nf?_y{a02BcOnH3=6$aRs z3+J)Q2)U1F)-PCwg~UaYitalLvU)m_MXsx2FzDa+V?-!N!wW%TL}fN1%P2Y0)ZzY7 zjFu!bN;=izxFji;Ni}ygqzyS_)8Dhn{n2mhygKm*ih>Y?zJVwrEa+Iy4Re1`K_jI8 zQ8Wpq|74fGWNDYVg`uF8=Zi5^AUm-UMJ24?%G<$UL-Ov&(-TQ)gWN>!R3}arsmTIX zL9$9=Da3{aX5*tCt&+QJ3sC21E@VA-TbG@N^(wVYI(Y|Uj4ZW(d0Wzbxsl_*dNv1bvQ)1nmf>1HbZ*?=IHf(3dGpR?y78F9$(v=cI$;-4up#G`6(TCpf#U7;9HBhGdk zDYhfmMlaC&c>^cIVX-J33$-vbT|epbBsl5Wx}|Uh$&~ zI^ZhWb>laV@h<_y#nGs1VOy-7WA9@Rj`kl1j z9E*ksfGp+RlaX4`FzY5ksMv@EfDbM0t|;T8F-RPv*;=1DrHq8e5Cc!&-eOsionbm# zqNyhDEXjGJngEp#Eqf~(|5-O8gM`P8tdJ2SQ%M_W22#KUl0(+|zm7BU66JfTQBn+1 zWY2;lL>_yQ(RYcIMUbs#Un+ShLq#(;UZ8iaQA*ZoE(IH~%)Rtx78#rZQ3ed3e$o@? zQs3KVuX+rj?yWwQ5zB7yxYh$e5WX zp~R~hUnz^{l?5$S?KtAu%Hp3lq^U$i;t+HJ39JT*idzIBRe9{{eyV(O73zpCSq}3A zXUVJ>D^Tl&MAK9Nyj9ns{gNJx(qt?WFJ**a;O93>M+nTx*Z}@0KUEY2U{_p(Kt%;= zv>F)6&4b|UG59B)O~meqRl%Un_hb3dr`d@gGjX)U@2{nd5%fUkOFsa3Bb{5q05bZ zl2%vM9i0@EtWlvg7i zaCkU1Kt~7W1*pri<$4f>jI}@}b87U!**6%rm=MwFXs`FtKMChrRSzzPc2vWZj;TPl zwyN0==VsBZ7V=Hmj4e3#wd%I2jt5Vc;NFMaXeue~u3RLnPbI}t5!;YH47s!6N+W^n z^AknJV20nK@lcokV-+N{N2`-UseB$mALTa)i+b=X)BO^eG~V;r0-$T(#~&f ztLkYeeW(Q0++sGU5J@Ix+QmJvZc`qlp9uG4ts}gQ@-&=D_uD|VPES>xp+d%bv0Kc3 zj|wlF=skI)Msren>P|_TjVnGQogEw_y3AI;I&VJraU$@#0*m4w{?&rQ{Z9pGeqT2N ztChjr{pQO*)JACPOElNEq>${(uF@j$;X&2Pej5pulK6*Dnp9Fum)$5yWYV%6hb4m& z#ju4^%CYsVg|lEB#x_Zs=y5_kmcHe*w@goVnJpWGs}P`Bd#WudCGg!DX_53a z!xoRFalMCCAr7hRPH=g2s#ochM)Gs zs*8qeQ3Tz^vkXaukM-5EL{!O-WRg8wmKcyeuH5y>G zT}0wkAE-F|s$$lGk>?i$V#ng?skTo&Gus5i?s6&u-5zdjQV=3{TDmbQ;UcAA+TvtD zWMcg6^Y*Um=j_^~dXk01sAPL|0R5Aj$o0s?w&X*KXn4=1O$vMMgdoi+_a|M{w&+c| zDCF3A6|X6W<84xwOG?I&k&ORz0foZ95}8EnUpt5E6%D1MXs{O~YFT+w3OwFS@7E^o zuhD0$hE$T(xZ`+ZmwQp=4i`fLg<&PZGjst)XWXbBjiYo}9^on0i^$H8V#Q(PxZV%( zLYH9zrvo6@;Q^_AzB8#tFHPn~bU4xL8kaZ=)KfVd9YLVAR0?$%(`v&?as-qg&9B@H z_v_7!swCWf^=Y5w!9bB9z3`0wsM(%xHHjb&B3VL+GeA^>Dlr~HB^!BV4N@NOv9Onr zv=KMJ%t}=yL{kVhwrWsQGNC>O69K46s?Z*J(<&;X$xtQSHzJFGD)Hsir;}p|9*`nP zSz_qV1Y;3tKiQ$&UM_4AlNizWdoM$LwovQo8W=eGP!ZmqC1YQrh^xG$HnDU$ zh{~2|X>z5*xZ@nrDr*IOzl<9LLtfY@xT}p7PQgSIQaT1O*MBvI(|uA5vHbJ+8vSvj z>*a+QS`h|I^hf*vnH!NF4MTdXoG3kbBoa)Mm)wAmOwe1K01++1cTaMs66v#gWHO+? zIZDQP0aDraC$SJj(^T4bA8TRG=cIrzUx|e~`dC)z{aLdxfg&$<$2)!z4Phn7kO3rk zXxb6~otV-k@{(6^mQw`|mja2P*LH+yH3)cJe-sB1pu#fX5vT&Z;$PW1aD5lMNg(>a8hoKkqIbnCDqaYI zlT3l1i9U5fXiGQ{Vut}vGJ(|&s&88zP#_M=w_%D&ux~3?2TMb=Zq!p4;)erGsBOqe zygpF8=CKvIKv{@lv$WljUlRm zm>C>MMio8F+V~3w&d=AwmLq-{TmS>iyYos_iGtD7O-9FI(L?~YTTAbhQZOXJk%Tlm zZwfL@NvQ<5>5~CC;2_Gup~K3Pb%`4RD@T`TNi}dBbFB0Wesm(SBLQO_YvlOXjR7&? zXdH6{cV)>g%-68sh>0S|lVcn5@@F5VOVZt;0pc2-K8>}cZ!gszN;7%2H&@{Ersk;s z_h*3*h=2=rvQQ}rXF8b^Xk;x5`Nz^&?jeyT$~S!qR&hi1@5bE z_q$v-ODv*S}{?SzP$xlcdBUPLgZ z$UXuf3x(43aOneh8#-SD)Ld!>Q2cOPnzN-$^%nuU;_L?DBJYGaM5D)>%jp zY5-84=tq1M!Rh+#)akN|94 zRADY|sK%u9e7jbG87v*&UX00@t$_AX_I>+xEd`L$Eez@vp+7*%+)8W%yio0NV2?=4 zRljpJPgRo6ZAO(BJg`f;AjcaMk${N2JB7l+g^bu@rS*c@S5Eu%L{PM65Hqp8TB%v( z_zq*_Pu(vFs)v)406+R97)c-Tk|i!5zjK0`+ zrf&*^fJfxkG zf>LM@B|isyHR6}1a}@XDZ`$FjGqNxzjR1joigXPE;#j1~5Y4C_9bK;W%u*iGB0$~G z-~&!`u|$X$`0?1%kv@b*cP!q!UqYc#EC5-pm2U*f75MoZx>P)RUB%kUnR$#)|`fkyZCDOeSG%qkD-E|(%=M3cfxB@jJ|cw?j8`LA?v z;0V>Q_j(6 z@VM~0@rQ)s4tb)SC^8pbI+Dy*AlytoxvwUCHusMggNG~#5h2*a!6DK{`!>K25TQ&9 z52GykO!lP~H#s~HeQ*f{JIZS!egxdKb;O~Jiwmah=;CUgnQBx$#$*uKwqx?7(g)$7 z7de{;_}0B7W2q%fh7oxLso@sY>Ry<%+eaS`RtH#%XOdDsrIOq45QI1r$s%>(!8Wkb zvv55%a=V3UV&(-ZO@45zs9Gj=plzk{d0Vou7Z*V9lnaQ!`B+;;eS|30@&!}sRZPCM zo>-cxn%)e+nw7m{=Sra%`poBIe*I4h0gbS)?$^N4?E<`VEJ21qb}rqClfi7i_M9XW zKtar^KME$Y%-@g4iQv$f)$fty628qk>2v#aBCMZihXbFS`5s2f9-XNEO0)zaBcEGX zF)}I!3YXt+gp#$Ef%ea-vC(=XPkFseVx{(eS%Yjlwi&P?8!aytID1~NSiktbm5@0z z+AU>vXowZ0U%_(wX);IsYmF6!w<9PF%)drNYib*x$8vi(wts8f;0Xt2Z^6>jT2hd| zSJ4g@6e(h=k1lU%BebO1_UM13p3FasS*9OWv)*lJICqRY3!G#rg=l&cxdLZtAf z^?S=hq<(_hS@P%Ak;mdU+GtwQPm}1o<{sK$$}Ct|7nqcYR4DnzwmR9#miL8o)!k|Z zk#?4zn{B0j$C>YI!HG!3gy|>4*;*s1s~vw=ySp`ZRx5C{m=o7thlcvFpYoiK8b}~}01H&;iBsL5l&w|aGRCK>Lt9tgMw**X>;Eth#ZHB z8?zE^@DxMaH2=tTbX)z@^hvBR{Oo2LOR0gv0I`M|k14J^#Z_Tc&>f8vW()fKF7Nv8 z`hfW3V=JpH52B3EXNnAra<> zMFiATZUo9BKc$Vd#1kqA@omH}q`7PdQea=1iz2E(77cXDz>{I&8e`=}meYelO zTKsx@i1_;ENW3{wYGnBS@$n`2ede9bKZ5=3-TFNs`b|g&opkhs#QOJp=G)oZ zTkboZ+xvUX+xYwKI}rIjJ>*|Ma5h}{!e5O6$*5M=KUzd2Ty2E_?oa76B=U{V`ipmWyY&0Y9%TuNGHn4Nr%TN$jZoQtSCxF zho?`*%1VYOibqC9g~o`5hlGR$hlB=)g#<+eg+)b#$B2f8^cTPp2quXPiRcep5)>NJ zUoc1@#3N7y3l0qml;ckT0VIL&dXPW_Mf4Z6(I14Pe*qnVP==5|iJ-DTa7B_GX4pF;D|s0grEe61}X=X{ul1jADko* z`VxpoBrH5EG&~|C5O&iaKIn+B=mfDq=^)4^Q9&v}G%_?%MNTY1QGhBd6%iVheu5+! z9V;&{C^QbWbF|Co%lMiHlBPAd8c4d+;A#*C zkOnZv#v&BvB8>1XZlf1TgOTMX_br;}WE6ScpH27ZYYQ9ghsGHHlK^JrG`v&Xndd;d}Txa z%Cp8Ufd(KJ_YD^tYXMx!!~$5wEHsCx=ABwSOqG$7 z+`lsIkNvl5|C5FPZ*hVrK!B<6#5dXFdHBaMk5cHHq*LA!ehuYRhNtu=?`>o5;}xRp z&2CiMW5r#&odFqI)`%_12Q9J^e(4k}cBs(KNT4Y($?_Q|cpY<`ba>0bmU#+VSsj)RP=!!_a|-t0%QQHLCYB&+;y%jZz<8u^Si%>W77O9 zAV7-S-ubWtmw4<9%zCYJE@SG6IYX9rri|y53no-|s*AivMeT1<|BFwE)AlosOioz8 ziQP@!-!AFw6BQSZq4mwJvMKKi=q!@kb^8n%~hs>GU9W^_ zLQdDx!=)NF$lcv3-}J18L%i7iOMzm%DW+12j&=gO&4lY&^8h?n1_qo*R0fV`nma5u zO3{bJE?ofs^bz81Ku!fyT)AQ*T*|tbDUmu-X8B@Z>+H0- z6Jw3tRV-WgL?eQ-u2TN6;SICR2DU@_NR1HtJB0<1B?J({36%I@w=vIM2U7>{+xR2F1f}L6Q3ABYblrQBWBoHVP73l`F+8Xg@ym7RZXC+0hfY&5sU!A5NOi zVN%U#1g(|J*II7K+hleO0v9pCnogBwLKpa$uL)!7qfk{giPDmS{n7yW8TZ*R>)K^` zFEQHt%9DYnT06!r+hFz+ON$p$t(dhEi_)3sM7K==&Fgh&$COsQD3=T#?ost{32)i+ zZKT9Rv<=BLn#~=wDb17|ghaHJ$u!ONZ3j=;>r0>^+O=*~)_hb{0?m0bo*dP`qhjH5 zp2_sw`l8I>sQgRbOJgamth_U_K8twvh#bL^e(&LWAvTA;ELX6#SL@SQa(xmYgb@_H%78aK#Q|H zXfS(7$2dye1v?2F!xUKXdnB!6+41HQYcRR^X{hHiqh~cRPG$+KW*oCK1)53qpXvmt zq!$ard{gwRA}Uo;8)iF+)I@-;#*+T7ZS?Fc&iNPN+d(ebCeVIu=@mrtuU*}z+^rlF zIX6NanlW$3X#`jujJ;(JR9Ii?x+)O#UG5(dR6`A@2>5&7&WoPI@txoJZC(qLho>8w zrD5b7(Z34a&izUOR<~#{catA@tZHXF*B_z-P`iJo25lg6c(Muw6LoWoG|;#v9iHD3 zKO^zLX|wR$-#s<7vC7(>4!f}8Kf*0muUc|o3Ag@UwoImHUPuCK@j(WJice`Vi3-bo zfSzY~G zGTMP#>qYVVf{BceylAs3bP=fds_#E+ORy4f8GDw6b4WbP6qEz zxLl=o3u7txwvM{Kl_suoXxEIo>LA($`t&eh>cgw5RJct7dxC{SNHcIx@I6>mCRSN69SqQ zilVaOb@_s7a2hF?m_n%SHi0FoMRTOuoye24#T%$v;1bdAU2Y~`-obsToqj7TR;P~x z!m|FOsI0QOt8S1*^L~+zR*22$`At;hGQze_Xs6vFH@C)Z zPxCq?r1xe+aFTzHIu*9dP-e-Zy!2g7FsT>ePRzZxDE7zRidq zSs(hCeV*zxUJe#NdyOFRkwM!Q;oE|4d+1TeWlk}5xJp*7w5{d(2r5T@p?z`_PwY3Q zW9al4spk&T_D@97klyams{mK%*(4zX>+2sHRjKZoT3)g{tJ$$|Px=z^DSjJU^y94B zY$A)SaQ3zzbw@<9ta+@hKelC`1)$Z(e`=(xx+rq-;>MHoa$Q4U_qfSDE&20O@7dHBP&eV5|1zxzIq9BPAt-{ zd`{eK+F83UFdI^-a3pb&XF`d2LMqaZo{~?pB(#Nj4BcVi2tAlSWDDRO5KA3#(Q|m= zWJ@4)g=-aGEhFfRA!LLF9wBQP8j_h=xOOGH9Y1(k~cKN>8<2eIg6r`)g|S z<)Q~7OIbY$(T{k&=rzM`#o{-%cL zG`z$;)7A4>?DFhfX`VXi%6$pH=Z1#i!dEdnNRftJGW=xDQ@K@VdTag}E6z`046zL> z+-h&K@x;10^*T9U`L$w%-_>6(N_S}yIXJI!#YbzC907bqGYM@P!|yYs>v*!j^wiU@ z3klXPvKCi$tjZ}Gbt)xqv&t7dh{)gA@zOGDr5SE?X_Vdk(Y~p8iWr#S2EBg@<>==l zH_&%a$Z8RE2AH);70s&xEPtdBX3oc^)o&b;-%YW5z|V#zP{L4XtNVwc_smHpOZ z#PvF2O&WH4lZi6R^WzvLnru#U!>z<3iy&Xo7tbImKlD@M5p$8hERJu`mOHPh_fN+l&> z_F5QCqO!;k;DkU-k#3fq!`V;OHc}7yEwK`F@TP%MpF}RD?p=q)t|BPWFPXBhftjY1 zK$CDC?D84g@SwAy%x^FJ;n4K6t&6p2Ay&u9t%jH0DeL8>Ua($j&?4^&FQyV^Qj2?< zKht<)tS;_eA}7d{cS1Jwc5x0M(BKFFRg{c;e>#!SadSsXyK2wCcjy((yi~MH%z$ft z!n)$G0La~#Jf-cdabG{*5WxZJs|!;WBQ564R@W#i6JX5Nz{ja{dOl=K9`Y_aZZ$&_*Q%`196 zjP$tBE=t$;7G=tl3UZ5=yObDOJZn%w-F8@Ni;Qt9@XhFr;mzwU3hV;TF7~f*%WWHZojz>@hkVCG$mw|3j7Yek zJ;x{PTf=kC;Nya*0QUKQ&k0*0`uOdA!rnRFMu{bqycwZrr`?&`BygNqi&ZHZ+PtBqp z%&C9Y`a>)fRJEX_0om(=& z0eC@MIQ6bau<`3&j_)3M*Nw2wo82z&R!7FDc|3)}uoD}1TXjE+-hYF4`*#&#dM2gP z;u0b%n+Y);vf1HX#p1CHTlqfx@)mVOA~ELw{UbG~^PxSH3*jTqZzN%Nm%2t)h&tmg zN2KbnD-|@?T*AQdt9q9{09oqO7Z=#&@%lbuO?Dl0jwd(28p592Z$qxgqAqSzDHL;V zBXtdmy<2ltw+$k9@str!bLgB{#ETTOQz>p#>!OHr_mzO5ul0i5y%3mX6$L}wGBaqQ zV?9gp94`Y{E?4#7e81gfmg;?8{2eQP5^S>^WMa#)#odAeg;J@6*~eJ#h~3T6It>OHYLL`S;> za0c0}OYh*JO{ntg5Gp(Vr@+Ifio28p9rbz(7vxR%bBnfJ?Z!itrCrQx^Bb*zgFS)N z2TbP|D1Ar*sV3VH`FZg8wqzc~WY5PmKv8tN*N1acqZ!cVU@WWM3LAIiU51c92>ha8 z9+xfB;bSzY`VLY*D`JM!Xm#Yk1-3F;+%IA~T6;X(ZAfW$5m|#AS#XN1ADtA1?bxLITFmjE zsS$Cvtfu+7101&yD!F25X2hA5wsOfF1Rr4fARW3SCjVcq%22&*c@65|05kfM=jMG-2VYHo7jZ<&Ig}$2b8lAMN%W&@ zNL>9$pr;h3CW!m+lJC=civ)5&lB@jNXBOxIx(%X5uz86P%%Sm-^4oP|%o8R_wxb;o zdqHEBFO;$wxOf?Lcd>#62VH6jYP;pyO9&crYAUQsIp@;+yfawW*ck?z^8${6LE5l_ zRjtU~WEEM+-4DO!KF0m}B4w&yQN%g8bP}M(WkP9E19@@7Rb5e5F9~1hqK9%1a#+|> zb&g-w5tES!|M7GDBMax8AG7$?!hD_j<9dzc7lP|7`t80{y- zW@Q_pd;zq(6a5X(lm8wlp@!c)VQ^H>!vDFZjE}nP_rR{Dj))AUrr>Bd#pMS*apClX zT()%!2*4I-@deqt%&zsoG_&Mj)h057P`|DC(j3QB@6<0j7L^~DdtJi7PVGFh6N2*& zGyml+hFBf%^X>n!dKi8GC=|yDXkFcHz&fwrTwf$O+ztm#o294nkLe)o_F>DJen;&M z+>W6kE^SlF#u5!ej`4$@pVoGWfR9HnF-IRBILU5S@nZJtGLR0FY6+vu%F4Gt;>f@9 zcmLy1W~>M)9+LBwEXkvtyFIIKYbv`=f_aNE`WgEpdSBX721EepsAmYscP&_&6S`W& zR2s->#8iXS;+lNFW+XUV$K?NTCQ~p*7VIQ|eM8N zj`|c7kjf;h;Gy%E=$GlfR#6<#P5HAUk~*^F+I#rdp5a4w2h`Jj8x*l;1SN6|{OvbA z{A3p)UsdateNcKhXS4sfuW-?wkyUp`o5Ku6z=*f~Y%B84@!JG4NCugxbDmObithfn z8VKqUTIU>tnh?86GodXzyqLjlA@=dR&#m9yY<}aZ$f>xqaNcwWF@MTx+2a?$kuL>` z#BR@XQ3PRxX}E5{$rjBrf?h-aG}kE>b<(~pT$rS74D-pW_-PU;pj$FSN#FOpl2;p+ zrnrO8Pk1s+I0QQtHwW}NuczGUqcll+ey_?`{~amV?;K}hnOSuZdyyPZ2Dp!0KTza) z9jENUaPcC?nk;}V`wIIXm3vD1FPJS2E5q^U2jvOK8w1Yo%;bVqX2i}pMhHbe!%Fk`GJez+Sj_Vuc&f7pN!IY$zN$uWXRjseQToJZdNr+%zPGYgHJe?KAfc4NeCo0 z%_^(jx2_dw?gpS&{chvcbYFx&Lue|6jIw(uqS0+r28OEtCMBksi~oqOKe2lxE!aEc z`ap5yQm7>7sdNNGRU>K#!6#F0mnhi`lXO;RS)WTm6H_Swjsh0c1u1wVKM9@0i4-h} zTzR!{IyVpHt(_kKB+U#DU2KZg2MK;kT^1FH*Si?Dpu<^je^a|Lz3F>&6&jj-^!^;8 z?}@8IjF?TVoExl%5S0oyoI45rxF_n~B1mtnkSokISxNZ&Y6E+fOy*Uq*gT07kvKws zs_9FSJv@2V_%EFd&&PWxoH=*O58HK_-=bZ37@vl{TU z*(+fCy=RKfJGJMrjFsuGlcBYfUG*R--UW@GlOkL+7}vr5Ncf^l<#?JbUbfVpMnc=1 z-YQiz06jts&6X;$M7e5;8bsvq(J?g7MxD{PVcBC%Shz~~8_RxTyj6o?((5@Z5)D^Y zTuqhZvJ!t`4@L;2tgSWfbBZBKfQQ$Qb1QW(O`Jo>WisE`;R-2s0e07doxXR*fSwZ} zci1O6m>8{ag!`mH+0xrg@gREyCeatuE&pj)b4ZlvxPR8y_Q!;fJ@?i5z#_Ur)M3f9>c@AI&>g|HX&0PVQsfMwyFL+Cp$MP@G%P9Z$ipi9gh@UR(sj# z^aZ!qPp8i~E6yxoXNQ7t${D7&NQA(^;ZAwnM)T|EP(jllHl$(W>-LM%-1;>U2+IyZ zQ$VDMX9z*{52GhdZ0AjpQTY&qZFrJ8z~TQkw=*ek2$3(Zb%I4dW8$yzn>q!X!56>; ze0Eh8Alqif#XWk$+n0F!5c>1+^Fa6(tyBhLvWp`sH9)BVr;Dv<9on8zq(BZ!0?D9+ z^~rY=FdPoW4tN|X6Q>Atfw+keR@M$Lkz(lov%>SgFOlNmCKJVsPmS*a1bx+*N?mXE zh_&J0e10sdRT=326yC~P zg@-K)OOq9gZLW=X1?Xi8_?oT(-2f0-0{EB$zGeMRY2gK|dI8LGIMd;nV!3i2u*|an zi@quK;v-$4)m)-2n*KuiCUr7p^p5GN8*9=N@{V@=rX@8Z5i!OAEd7GKTjL&v6wVI) zl!EUDz@I!=j01+V`ME~7J&fGIcEj&jxyBu{JT|OzA|Q(l)sFO@mg(e3JU89MUs6c4MNm}sK18ybr%wEvo@FfgOjN-`Lb zg%JK}D@O~}QGHt24JZb5Gvz30fw_JGR5HFvimTk<9|;V3y&r$IAthIRkeALWJG07P zl2b6$y6{sZL8e7nO!gKIg11s;{qeI!rmj`;nUyeXAUG3r z*~>F$_1J57@A=I$66X`Zw)Dz7o1^?LiyYpPtk{w1Mg|0_5FGV@5RQ^NQemZk*$Y~1 zVkf59&Z&DkIj>Ce%omt@#+CrM-gH~>8cC>GsL}dj`_SR?aD`px*mxUgByRn;B3RG*|kK#9R7$Z^w7qC05C$g_LW00TTaPeIv|e_2tY;8C4qX z2JjrP;g~YeLfqu%^!S3hP8vh8;Q_Ez|>!;8z*p3yYlUx9s%KbJ5xernU}sKk!qS+(^&V)|5&+)vi`e4shhTg&`pE^EY<0w37 z`XnEJCr$8C+omHUQGCD8sM(_d(=AOCj!Tqk>l+2+uCWi+%QTiph5L}`15E6pQX;sYqBOw0>@pp6Pt_meMC0Uh zFWX*#Hl%?`n6|f2 zmffVoU5$dn8hWlFXKjZKoo2=(3W?!6YLM-csva!1Dj3Bx6(J$^KT&m?q?4jY^vxPlXMQS><@8U8VX`w zVEKfji^oX191rP)LrNVk!RHihP;7Pqj0+P~@)u-Ca<4Gg>Dg58}HPnfFDQLG@ zkvVf4Hofso2}MKAl*V4*n-=gQkhhF0;nK}dscm>ctUX{)vyKjuc@5NM!+g6x+d^Ek zzi)4serD|~0&Q;NB0_cr``IEF1y{lVe~*<8HW_z|`dG|Zm!$c2u&#?fBykD|VX4WXjj@?&_h0iOks=-P1 zJ-OjNodHLVrgL(7kR3DSi;WBUUh6}g_zZb=NxOzh*yDi$?9GJ|;9)!0B*q<$8z?_g z#aLQ?WA;E9u=hc02_M0(#mRk~0n*J$Om`;;E@V2A0Fad{6av8$-VU>r++0OS2!2;oLBwrF3MVDKm#F2aoL>cxdYzg;-H(7uJq; znLzoOiEsqaeHw-Cuo^7@y^Yajw0}NAo2)C)bmI`;S^d6gzqo=E?L%clcyw04)So}! zuWaeAmKF1>C#OV6h@XfU-}p1%7ytPW$0ueA4-SKLFWeJKq_XgmVf;?I zC!d&+&t3&ZU0ca;9iNbn!N?W{nwn#WvT~xU9{61kUsKdYS?cx*%ZQsj+k_w>6chDp zq#s4w<`^WdJ{O)1IMVUCn|wE(NIo+ki$W@K{Wuc6vNj;|fogvDvRqdJst}N zNh0z2gvapjd}{QQ`5|Eh>7KyzK{*V$kxlg#lX*QIT$;r%YymL(BK#GH1n6rnU;U-# zuFWgI-LLxt0ZYMl|Q9+51s(m5$$*rGb<;i95am)hz*&kAp#G zVpLJ1e3|Q?=cDZEKj+xG-53Q%xZ4Q%>o#8nJ-2Y8O-Q{7Fc8nNp(_=TM8(Sd5K%et zs6*5FgnUoKAw))JGQ_TL!R5k?sJt#OR19ql^iW_<-xx{vA-9`U%(lmSiHlAn&s#Ik zO~ID8&SZ02wjJ;rJLEP{bt)8IdE_S^mRy+Na47@qD|$M+`zp4}%RqQ0lou$5osdYJ zh+k{=rA-((gt0#`uH#E)e0Z()Lq6TrFbhl^>u>(f8u_Y|Xm2;+Ti6;U_baDm z!-DB%-ZFq)tA@>*7YT^_c3aMU4-7n&FQ}1f?UJ-x0UD+4#%DB*9~AVF5!PLcqmW`0 zLYSsM>87zE#fF&1yX-{RDgx(I_mUWc4Y<&E&v=sNOycZt^cu5lm-W}$MiNM0bb@x?gfrfi#NCEB5yl-as%7^O|##o&FkGvB6NM0CFT%S};K-p{a)vMlFZ#s8t z7X)jm772N=6N!!LbIvwfv2#;3&9GfI2;Kmy8>ndA$2o>>(<2Qjxu}LYTN`sh3k+6& zQI7-M(FS2Adn56?oH5G|L(vKMe)*^@`bC~E6AfPuU$*&y;nwwF%B86;XXO`%y9K(O zXu2V0*1lbwoo1L}h3)d^e#`MoUnk}l`Hqg zp*n8A+AU$JUkZ3y>-K5NFK#)+GyIapl&b9>rVBo64u*VH1C|E}9!hdFz8j1wdzaR6 zb|f|+>0G*cMx>ZN1*UO%+2BD#VTaXOSr%&f2~?ZFRJk@J8?~g;&qfe9V8$2Gh{Q%( z5Wm)ZKt7#<3)KyHxl}u=)7k~klWukW#jf*-uj+7L@++lo@6YjINq@rHH_xbg4^I-2 zFbyv_U{wn`m@&OXT*>30K_UW%wV^KjiDK24kdvl^UnWSd^^q99$U-4@kLGm@w4hh6 z({58w^4XBQyzpk4{YO7y(;KV8wB zutq?F+KS+%`lMArie{}0KumPr42?L*rl0nEwfW4ohArmk>+r~w2bbTnLhin526t%y z-sU*}%ig{f`_8x>xyywT8E+>Aa;IDgI}ajp?zNV6!Hph?)Kk)laHiVVJOYa!6aJeh zwXqNKAcl@xY3xgHl5WP$ccL@#S1!l!PFv7>!xntM0}nAy+bMb13!jc7M8AEUhVw}) z4jkqWLy71G_F}KC9QB?APCt(q`CB(9SvqA zrTr;I7OGq|Mij*4*pBSyG2sFK2)Gz`Bis@R5cI->hk_3-3Ld@Fa-gggR|>NKnQG8d z2DP91-opVbc;c1-FQ}QlY?fyy5|402I8DPMSPVB`J;F=o4nKpduN0Ho^p+Zl z|Mc&ZA@0Q$If?z*i%P5B_V>Vv^&FizWkyXkm>SSV0oxZpwa8W0Z0{oL#tDkGEbG-8 zesagNy2$~9Cp54e1AliP~&N=7o|`Fxs%j55j$;ex(dXb4+1@H$8! zaC{@rQ7w)%PWN8Z%g=Zzxux;O?+A@ok3X$0+y79S1UD*mN0SWa~t_))jaoPaFK%KMql4Cf<%rs z8jdPuUo~drQk-22?-p0@;X)-7V(v#c1qkcZyLV%bkIRY57!7t{IeC^Y*)H<4Je}j^ zv*#6+`?kyn4U?a0_xL%LSAq2&=Q~^CU=b&4R`}7cTxV29k}1MqjFp^qq9sg1wllxZ zMA=~GTEtkt;dq_fG!vR2q~TQ(s&|W>2>k0il}9XvZ3%MfS5qNlAW#iwv12ozqwD!p z@r>U2bDSVo0}dZI=xusoB686$98`~UIg4n;)MacRF3}nr1eZ*6G?L12G}2hmCu}`3 z^2Tmm-9zRyrai{9%WLl33GeO;njOnNuD&LFS+jB$tfjSYJ%<;j)^SW{eb*3?hQ$t! zqUMn_6#xo0ff;ZSy*SdB`o_#j=J}LzI;i8Bgrz2lEh#9aroOGPVWp(77icki0|%pj z(x;4RrQ}cprgdj?O*JJ5T<1%BeH%B*@Z)lqq(8Shv9m|b2_oXlP&{nm|)e2KT5oQ2yD$mY1L5844k0!Yn|d}L(Gdg+(bI%Mq=$1 zj#_XxkHTDoaPyt?P@9$xA&JE7!{?vdr-x>^sfc)=jjkE4Smc?^2wSreHB~5L{8*(&Qid^fNqCjuQO*BElfX)z$$)Fwa=?lt#R4y>JM`TPsXg{kHmPS zx>iwQx-rM}`4l}(Ks)h5N&oDf;p)gl}!f*h_7*Pq2Hj=JoEN|L4db6suvZ#gX6-`vzKt?<$(kyUw#?7H2nwLkbc(h!a1!U+{7=L4AgM!L4C}&x%pJ(_LDhm z8okHv8~*Kso=~aB_Om_PgOssxKX?sJ_29MQHboQpV?%N1-VhWQ|KnVAfABjb2;3eV zbimCj{0V6)2$Jez5-Jc7Ab@)?h&{kS1UOV;ICuo?G=x9?2cAoCtaM0(cyNqqaAZ_m z4se|5O7F{ssyx%NFYK*hDEhT4uFM+h5I-C_c$Xe8tR_|A5H@8 z10oeFCMYiwB0MY=A_1l|>?Q=u-;ux1#z@-8W}pKZlnEXd1C|=~Unye$E*=ha2NMcmix5 z+ zsKFnQ#=sGcL2dr;lKC%*{ZBC#L?J{11ayRGaKub-L;|>N2vqPya3whSSMYZ5e@9sn z+rbg75w-s0K}8Pyld%AtGzA>d6x3KoBz9ON1PnMT5O27o^65|9v({}hAxM{anCe+U_g7!eN^57z%5iH(87Qi7s{ z|EB-?R1blugZhX5bl3kILPaKnm4HVBoypKK5pWPiVTD1&jZTY>3abce5IHgds7gUt zG}Ql+AO+&z^siTf{_n5gaa;q^zY%g1R*o;qhU*wjNg!C2-%S+yr?Jo!L@)Q>GUy%; z%;5qh<2hs+5kh*j3zRwdF1`fzS7Ny4J1i&CIuz&rN9Y4yx+F9w>?-)pC#H{gN^JYs zaXNX~-cltl={1vn^;D<;Wsb<;dQ?y!qqKVhO4F|WB>yVF)@u9?*H6{2E!T_q@Ger# zMnr+gKA%*+6IF7RUlEBu=&oSVytDtM`xnZHyijUx)h%AFT)TWo(a=m?6h-65vPSs) zSdpO6@G#f>TLaABS{qBqGbK|v9@9J><0=DLI!$YI0)t)cZK|1Gyj7y1pA|&bW#fNWKJSx zL@3-pa($F!P>0m~qYM8>n6!u)93B;yN=;2hX2eNQ2}w|}|L#4hq%fDY@PV4Q>d|G$ zI)O9x>*fp$-8wx?%#|Co!ReAyEFRqB=3E_rLF4K?sWI<#cI^RQDN+8L5FQ4htv{Jy zJ~k(b_v)8IpIs)nq?darOdLiAMy|f1OEFAiSV$%!C=L<^3?@*gkI~vy*x~H<;Nm87 zCb#fJN*#sGyrI%>VMmo$FS7r_TZ4Eg!sko0iliX8(mkWUxObgMHG+ly$mk; zbwv$6V{#0G$m-o(+SB5E_%p8XSvn zk)|FXaKdag1npU}@TCuy7bpVjn#DwoY6|I$bZs^vnljGChKp7iQ|uKGmIFR)PGFer z%`QqldL71w!^(i+>w!ZAPQ^5i4@OJ|5)C*6qYfD#4;cppKZJ|eCAAqOD_0&Q{v8HB zy?<5Ob@xE7RgBSxO~$pWjn$lM(jm|y3`7!TNLh<5KR9QFv2Q#i<(yLcxO9+BV|RIr zb+%VN#)fP56v_G)r_+FJ6H1e^h{_q2yATq*{W#$f-km_%Tr?TJUf@+GR2aBppHMfx zGwH#(Pn7Q4SZpMTCmvpDp`L6B9Fl}!FS3w4=}c4WT_RDyOEq7$3A2O~N^X>D*& zQPw>qJH2xU%oEqEQ~&?NAP>~NEgYJubbCva5k?&*#D`_>*x6VtdZ%Q4^*CLY~@w$2)i6&)WBG|JF0q5kL_+`A}J zrlQ`TL8zfKvS&jRyBGH##n&vFRb|&Hl5MPh9{kj0b`#P7aWsIRVk!MjeM&%Vc`&au*9Z=g)yp2$^QeStT8V$ zgAf@sIt>XM6oxk;E)lqqRu`zPGlGg0NaX=xdvs1AUxVjCR^|Hh*+AM7C_?rD*Ck25 zCVJcgn=uKC{@7WY&;?zr85fD=C&njhTX>y;gL4Msu4N%vXz9#+=r7ahsi7LT(W0t& zKFKyCb#0KNKgI^sH{ZU>4zN|?i@P}$PJRTZiCy*04gWM0)bB0tSHZ~(>ZX8rL#LH(Na~2J z=kM&N@rsUA2rU2c+&Bz`z-6H4N8^HG<$^^9aACCYGFVdef^m`K zGGKsVvQiR(qhS)Tox!0;qkV_$gzLlYKD=kpgi*ci7DXVyPqx-342dO#a=CbabD{dW zYOSL?DlQ0(ZPg$uSEHa`LLx1jGm4c8STDUigp4Zux%4_ zQNv8N-28jgE>OkWp-xJ9W^P;!^uzy|tD`29`9pwXDU93Ph32th{PDNn1<^WTpEfGL zTeLF;a%nGGEzgYuOVEVDnv4T zXzY7yxi}~gc3|-m457ymqP#=u+Pgj4>x0z0=rNjoHhJ{2sgeXqnya(-fYq1z$hXcQ zk}QBn%8o5b!7NA`Ec+lt!oy8tl}vUo_8CkR0t!|D7Yi2?pI!`%K+Joa8=*N2g#i%_ z3sH)`v1( z+y&>m-b2NA(M(#ChzwqxIG6zRH7P!|ZzS3}%yE=GyREZo{V?eO*W0{c#B`mIg^*hh z|24SucEGppLnOz5H@`kLkAU(_6nGhxw+9;AdPUDR#=Cat?_p9r%DL05|UJ~otB%l4Hv;?Ubo6$Y-c>ec8G&syqj^EwCzb_gqY(zFfzQa zA~xdm23lrKfw^d2V+bwS&>R&l%?F<7`HXT&MQ!%1O%u>jtrUHfJ3kf%2QMRuQHO-X zfdED-*pdeUkrP%7=u>+G=JiUgd4u$5Q-5)MWZTa?$F{xMc(&Z!vM9&d)}_(f1%;=1 zG~}}L^@r>)$M~|r25a3XLGcqs*&nUDFALLH5981PTLuI|*@f(2!GNQ|#~~_h6S-(T zra{VE(UZ>>j};nN0n4aP?~~e4-!dtF>_fY0D%f{7V<9J?@qm%zL#rvhYl=gn2*L>< zsMCrPNilQ@l}cW6PvGv=yCsG;YiIDHtK zV>Xw_4KtW#J^JPPd{Mj|VC2eIr{wKWL|=~7@iYhu2Zw7-vR zrIp$#-U@w22w zRr4iEz=lX!b8?8G4YRPZD-gxn4R-QtghCfCMT9bMM)g-S;}h&TcHhlARpytOu*0w< z8*eAWu6~G}36G(aWJi`Aq(keVmQoRiK4uW;;lhO_VmB8TrUGpW7m^sCbV0x)7=?u` zH;)$bZujDN9R1*$G$BDT2njgz{^bvQAZ66!0jGb3WhUuA`n2!j^Ys(@;{gg#L=&s# z`@GBN9dU&&fr^`guaduj)y$h66(7L`-pl$-H$6xYcp*p(fz|9C^^a2`HPWpG~bQc8~e-T<0H|1*%?rQ?r8QP6}qWh6`e1yoKh(ehL ziN~iWKhcDbfK8@@E=MBRsR=UZxd*nnVvkDsa5C_)Q0o}zSb76TYTHo-h6ho(1y^Mn zut!mz{cdf~$8%?;)Qv*`r~D8Dx2-AZE$v-+{Us(r0y=mBT+l4ef;|qNGy|^7_egFS?@44p! zXV~eT>R(q^O?P!oO*O^9m6hZ8jnBH8asporWoOJEKmKV!Zbz=Hdov*1L+;%Ssv|eB zB*nSTAn)+kqx}=*S0BWGAI})xue7z{bq*g23y9w{JDF7EY*v(EMcdVpr>EHDFB$Fj zS+@Q(J!|x-X!T8-r;OJ6W|NFe6p3o}OEX0Um~JM;KMKtj{WG)tq0LR;V5u!5pPA$V z+Vf%}!{+i1`W-vpBODobHF6=7@F)0+izgeXbeiNlJbMLf(X^^grt^GOjqvN zy`iI!bZM(kkKR@m?;W2%TfbKRp5lF{9}d)XzqDjIt>-yiFmBY<%X#Pi>mLF{O_RjiR=TuUglZvpWw)tWoy0_nPv#U-vG|-8$t0XT?Um^FY zr{z`^pVebiF)32f5w<+~K&$%VemafMV@gp75%$Hj$j)x0)W|pg*-Agx28!5{T1>Cifyk?-3`?RlMl4uOe<& z&Ow}4Br-PoF6ARge(D!zPOeBCtq9!@=Oy=XD=g#2hQQ1k+5E1ycdqAu!}`7>xTQf_ zZs=I|I}6g_%77|()xE4SHs0iN)2zTKa;3HzQhh(e5#q?#6P4+%UiGIhR+ZTMrfb*4 zU+1u|_?IESK9-5hbJP?o{_?5wMYL1U&Gfe}UZ$qb^K;D_jhP=-$(lo7`ac@={8rW) zR}{AU?rCvfMM~>><&4^bI8+1`GzM-+ty+9H=B3qs92GrEA6Yliv@jt4^6LtID*0&W zf4{9uqw!^lbJ7+mSL=3+Mu%_Ch{2;N>{H^{t_u^kpXU0^gU=&r(sjX*#H|Tfe^p5(!j#whEq=H{(tTY7^w&-09OjN!2=W ziGF5^<`q;O9%aX~bgk{)|L`TXQc`&uL>R85eVzMz0DoN|oWcJ!+WTD?Evuf)&%&vC zGsP5tkqxE_X&?%=9&tJ3bNF_?EK9|c%aX*$8eV>ZKAODfHHh3ARJjVeX&j1AKc+8g zY4BvEnT2=r)|&OG!9)>fXtV%qas#boJTy0ae|6OPck*uH~oUx6Jzc&qyqYHf5N?rgjG)7u# zD9qg1o>pRscfVCu+9c%5MNu=E=~-$n|EIqC*2kTW73|pMLSebR>7UBmZ&5lE{ z2`PDJ-K&Sw<<1OS3cf-DFR#?=Z4+(BUH>tSieZ1L4f*5Za^boh&JAn)_(|S;-YH|9 zINBa|ThE1UhVgM^fcR z^pS6AIdJtHmGPdC+^3A^yHDa7N^dUXD*bV;Ckmk~4OxdXEzqMVk_ME({kz4-^3b(6 ztJ}f%Hb#SaFIlEZkKp_7Z`s%^o#~biCN_q@mdFazP>Ji|8lIp$3 z74n^OA>*lxF*A#4bYs9$R^yrJ=()+b^@8<+$=+J9{@o0x(RNNCj^1YZX@sWAK~W~e-Q*vdZm1=_!I+XoX^O^-YLSw#7} zc>T`3EzbjYA_)T@G%q{hh4;C9=;+Cq7LWg3o;zl+vs44Gt9_PhCK;=QW|o36Tj#uQ z2fjJAZk7GY>NOHPwMgL?BwLiHJ?mq?8SmUKCeSczJz)UPF+*uhIIJa$)zeh8f3Wm>=XLDp%Tve6_c_Wz(s` z3&B@nf}EEuO8y2?Uk8r-=+(U%Wa*yGUY3rO?Nbvv`C>e#$kS;qlN2^xZbYHPDqp%_ z4A>N6J6I0JzZt7stt7p;ro=1m_U+Dto5doL*NQI}JPeH{y4EUWM z?)}+}+3wn?>_;pzxLqDt*>^N2ToTGh-N^lBGH(7Ay=NITIqYm^wZd+)Wrv~4Sbz6) zk881jns~r0`o~H7nj8ug}XrN~%46 zj<{!7DE?AA{@dC5mP@YC3#W!B`vS7(0&bG=Q`%Y?&VD7LC>|Xx$(AQ)*Z&-Sw6ybh z97pBD$t$LCuXbX*tK70L*u8dnL@WJ_&PCzfUXy_?rsUzOv@T&#bYO;YAS=5J+ouI? zOnd&3gZ6^j>&QCf57AJMS=RB+$H7h<&&;YGE^7<)U)W|c8+s9xA4yo!h>zV(;Ye(F zU9;JHDI&_2yNK+d_0>PMCR(5=*_)+2UlqEn`r+-DcP1S^-qlCmSHk@xrwSYxNx9&bKxq<)47UzxXsm% zN415wb-7#)DVyvx2>rbC2z4_q52K@h9UeWXRJ44PeHdcN$In&V?_}7awv$pi6TNt? zQPSKCGR=kPi?`&|nH(8okQcLnc!|4pjnDG@D!;989K7}EApFX$b<~evcNG|d9-&tl z6rcO;F$B~R{hrGx8xB`Iy_k}fFO5>@pw!NfJUFoK;bxN~7)QXS()?f3r{3g*UcVV> z@uXS%w|Jui?NG*bEB#gaWE&{`OXCQ`oNP+GUet)g7`T$DpTJsRUTxPKgI@?Vm=peF z?2HwzR6&uPakyPZ3+5gv{>DF__;H9o_&AsnD`^k;qr~J~nMug_FPpP;7{~5)-0wM! z|AAU>d45GdmTAtbZ_1-H`|X=iVG{p#}~ zN_-bBm>Gyl!5iKig6c4bd9~!WY0Tm?!ey@3BvZiFYnCc z&8aR;Xm~Sb-<2X$v3k@i>T05`Gye|3$?TghLjCrHwJx1?uZ?TB;YZr8fb~KptU~OA zC>0^+{=8`C`1s`4`dG2%X5mfIAJ&b}8OV58R_@y{zU7W_er=%gNb~pUgDbZ^4-&gx zcj`R9QY@gX47FQwp}MT+^pf-+gmof{&LBd@25?ANNAnXMZh1WNg^ z2r(x$IEkuE4^wEmwU->^54ad#O{v4ARpqnrKWE|6e0Hjo=5M2AJWPQXWF@*g9iGhUN%R+nqq_Fyv%5%VUliweZGmr%>sRU{ z%PF42vzYi+7d+Z2>+9<3erDLu>3=0B;In*b2Nm;THr@T2BT1G5kX4Uw$+JaPEe9LvCSb46EMc% zuf7exT(n`;+p5=5V7-Z39iF$J5KJ!|=U%UXxBqurC5 zpC+YCy`?5F_nLJIQ40@76Ws-<7^eP?j;OpcKK zhXVql?Q}NWW8p3keO7Zu?Q(U=QpQ=TS4tjrb!C+>z)5ZJY*kxh&2i{#HTC#th?v#) zl&Rz|O6q-Mw|Vo)FXA`q_^@^VfnHv{=D^nMy7I>YmJf}@#nkI=TJdKgK`}KvBF{^Y_s46}~abIMP zVEKy;;=^h$t{FBmoo_PM@uTWU-cC!Um^VV|yv*l{M;4Q|&VKd*PuTd86~mocsi z!6&}2_HOJhRyGosIKTbF_mLZawOrIYl*>TD*r~_7rB8=v@&QxgX7go;@^;r86-~c} zlIx=~$RA6SUw2RTPn&!c`$n@4(M-oL*#~ z+82GuYf4v6uk3&-4Vv6*Gx(ZC5ORg;MClb0&)uagSC#53SD{Qj#n|y*PfPXHE=j$< z)=xIpNDq{4D)PiI*mV6`EuN%4bmMH9)sl+MBW`mo_r{znZ|A${H_|^uGMU6|rmfWq z%|Hudee@oh_-(}PNlAr!<`PiaGheU8tn!IR;SKS{rkod+M4CcFlwJulL7i66eJoSRm9-*{Xc{&N{sO|x33uv zyiqoBy*g*UKe`gY17!_<5$f0?D)(t*T_-cBe#x-)VHKl7$dBZd3gfEa12sYvmyWP2 z5-%*=PU>Pqchvk5Bs=F?zPJtzd= zBl!RX|4Rr15GVvr2nYBeJ{Tbs!2a_Ojt}X>e+Tf1ogsi6R*Texu0tU3yD%F9apH91 zEm$;68cqo1h73<}z0{nWY@wVVk&A>DMS28sAe zjh&}oGF2EaCYa@az2p6#g5r>bYi_e<9MMs&s~Ha8%~QheYEkV=J*iLNwGYAq)$)Ev ziXW$|TfZjjD3=A&{t#?`*RH~!larp(F=6=Cj%s3w-Qzwu-4y4m(YhhPc=ISE=p!dt zS*KX}I}KyjCnnH$zquy`4n8Secr;KLd|gin*SoL4bP8vR?~i*ZUAT`KzZUUNjb|r~ zFKwAtIDhZDN&RHKpLeowJlDIP|d?SfpRqeATp( zJQrpraVMw%60T(vN0nD*XsjnLrydcsSk~89wMszS^CC6)Hh1YGLmrtl#MJZ;QH|L$ zw?7{$Hm@Z+@o zY0mXu6{eNrEcJsj3wQF6Brv>T%>o!=8`My z?@5TDMy3MsJfyk^@1|5v1ko>=L-KSMmUWUnN_f2sZGMI%$jI-1O!#=}(d%A8sh7b>^H%^Rq}QHLZv=?P@+`W&ca$WN8f9 zdnkV60jj`|%AJ#^TdLIG0O1nrXmGj`w&UsN^jw3RF)%518ylh#LpDT?>vJX{mXyTl7A*M7rugFC8iB`B)ePqp&j{buNH*K3$i9$4m= zVI+{x`C~{P;GJ-dq(8uOQY}A4`KlXPyPFxqpT{ob(xQ)1`PFaB@|I>%B(ffzyE!Eijkb-Crrj)mQ(NqQl8f!wxTX9Va3kDEx_pU z$WFH8RUzwJvB*OzdqjBL&dJ+wi;L`l0-TTd)Y#^+hve7x>#wJ`MfX>^UtjKZ^)4BE zF$b=b#dx^ zR}sDxEs9i79iOjTP3JgHQ2xr;nS5&LB2ZOBeIxwhEAqFKDWyM-IW*z(?(T79Ea~q`#5e6dGu(W{Da^6W zk-s3JI~RRkrJ}a!9~lxte&%2n^B!_^KQAJ)qDD~pkzlHVqz|p9mThUaH_XW)u+4BL zDRbh7T6NGpZMl-EPb`5!j&9j!A0Rc)UPW`gWTeh^WpT^B8cli8*yVry$eVmPLLfQ! z;|TYD%EH-mzTrKp&u?$C?<0`@3ec!E1b z>Ll8*ENmG)i1hyx+02N1BE0rlco&o+-};w5_eH^$1f}I4XRB11wfjDMo79sj zX8yc(-9{3}o(C3o1Tw-)ZoQB5>wA4_9&RD_>IgCAZ4{-?IOfNXles)HDWb!_&xdHn z8B%njzpMNsILW{bv008s0x7s{7W7OeQA1Ibt={RYGjwRdnU#p(xgX|_SzhBf%_y6= z<*gG(gY2+0Mv@zLW&%dd7!BSp{(ED!B%u613Xj>37or!?#1G<6cM_&xZ`>#M9w@hy@qapsI? zfN4&wv^S;q$L#}^&^HgR4wk9BU5GmUCM$J=gTrBE?Ynx^^PHSipUsio9IuC!Pk-uR zMPBhFI8~IG=){J#tK24SzR%`RJ|thTA4FBu_Fc3QpF#86yp|Sed=`e<&>8dc+#B(nkslpJAG|+s+ASKmPvH6rT?;9@JD9eKZ^Q43Y%$sKBW9e zq4?hZ+gV(oea)Fw5HGP-bE4?;`hT@G^=rU7Qql@OE;?DC^YzYt{>!RUhARiG*j= zKM?jzsb;1WXlEh?YF@Hc-ZeXuya=qO`W|&_4s=UbY)+~jNa)taq49VY38wy-3 zRa%CmaTIw_KyFB;mONI*XfE|H$ol;qYpp$6!XkPPGs4W7jTkx_RS5M`VFDv1`hyKb z9U6ygOJu>Bc7gd>J=$Y})T5_hNie?zK@~tXVtzCaE@&cYXj?8`eiP_QjIjgqBWJ%-qVuCEr^oUYE6Q>PRN;^m| zWRt68)v|F6J;Bvb`0n)H>F*XR-FC?~-e z(!2d+;ZMy+Vk=KRL;pYc@EmadKnnSE#4=1OVXt41_nUA`w|aly{z8e2Zz+DGgcfnK ziqlG6OKF=)G-=n&9$CEMb5U?;+`qDwz zB3AC!ujMm=k7I*%TwW>Ok2AQ#856>Da3{X~AI{t$h(-FLvowgtXaW-Q)`)K~5&l%D zKEyFp`x-;JOCQ(S9r)|Dq_5*;!VAmTANwtS!cURxseptJkF3STSG(lGq8-04#NG&#)hYb=54LUYU5xD7)8A&we88)V> z>O)l6L~f;1pdz(Nod3LN=)N-{WfVOb`Rqzcv4$_YQ6Qu2}b_r$M1$ z%hdg*jWa>Gr^Q37d+*;%Uw^(EOFv-V{~`+q^CyR7A$>|LI3C4XH21cT%=PNNd+IJj zeG-wn14(sfkr$V`X5+6_g2WQICl(HqgL#9m+ZH!Wx&>bv22e&wr%o=vZH%9`YaDAA zZC z)|yRqwAT5`tC)SK5}t0Y<}O^95mSxTXL}#sjHnGw9>%`0hFCP-0Wj-A3$uW@=G3VdjaO8SSsDAZM zV5yl-M0&k5c=NgT>+Cwjnz)OEul(b;&+*BB?<6$+ij_`Cdn;AmBASuIZMK=4S;yLw zcNjyluI%ck=S|^miV-fkKdw?~qjTzB#kwEDzj_dEK#V=O*DSNbiay@Dcjb=l9tit& zrwl!x_Nm_82_5|+u38>RG|A37%ia!iqFad-T6(I$V$QE?t2$hJbYnZPG$=!MGN2*P z;6vw?ZR>=QKz{$WWK%N#kan6cVs$kmr;%^YcZExwoe3zP4`(HxU0ARj?0mUBNBZSV zUB~k9EM+2?gjS;P&x6Z=wii34{rqxSQH6Jy^?2{$LKpAaIQkpx6tY|*qdve~iBDUK zyxc`hF7nj#oK}))ZoJMTHgaNjwz+{>#7K|Ve1RoPCz+&{ECvOtvZ(6sBG)fR_PE5Rds@JGpW|tqb#9}yJ=}^P6J>w>xxik9+b3}(H`4(GiPD*Dfpm`wa0d1k zIy#X*Sum&#PwHY1)pRan$>_lEcAqPL|L(V<2Ne0br)V4*ImX&9aN`T-Wp%7|cZit2 z(UZ>DaD~hL2eE`Z4;ElfDw}JN&ALD&NqTI&wl33qRbcevv!= zkUMYtt-^<-3C1iqA-}@gUUSLAs{-RD*4bqm3}oEVJuHh7^9Q!E+h3H8nd5XlrS{GQ zu1oA1R|zDxMija+w7<*y>S80gB8;WfvHzEOwpSsgtN?AmccCIN<(T(xE?XYA zEHXE+-ZuDaZBjRRZ!Ld%gqENvFaOk5c#zaERR0V1{oNh!B)in#_~5b~CaRIe`PdW~ zT8a-9cvws%k>IcP$4lzfFi6xvGqxtux3sQwoeD_#=Ck_rmA#f0rFICacugIM{;F9S?OhU}^Q`1)lYaW;5%CpDSJvid_f}62KAL;1f1s$N!E72% z2L=hG-6}Nv@IE=8Q18w8&S}itz3RJB2N^{|cHFuX*WAmtV@(_Rw5ni(=1gsy1TWym zH7d5IEl<^+q>=~!xg9y>g6*u+<_Ks}b#PrO%d17u6YjrRtCyIsSCLTRMmunvt)}q2 zdD}OZDNOJ*qV&Qoh?p8~d$DiQCHX7RoR}-L>!(!H-qYw}6|Ekwbl>NP3!j7jKq7Xw zv>muYp~^&)f#GgKrI(+Zs9W6#o8gHwG-g(W67Fa6D$tPcvYjsjl;8N648bQt9~d{Q zboah-d361kcu3&qN!nb2J_UE*lb^lL&GzpDItJ=(mE+jk^xtt!)?7mcPV#(4N7;+& z^>8?wxN+ZgEK$w6VyPLavf(Y3Fg#dulk`orbJ+`L$@{tA=V&Cl-fVoPS|GWMint~e z`B5^4B*Lly`<(aOb$&lZbMQGnVa=Cm`abK?+biFEpTs_n3#>Rs%k*s zgMA(_Lrw08p&$xdT39442ESRD32OlcvxRc^$t*8rC-RIDa}znlx&RXBbcUUR9X*CSqcUEoo3We9Kd&GZ0~RB&jc3K6_2Yeuv3C=VgLx*5?b8A zS7izvr{${)4%dhmv?w42I5%1Vs(=}=fERcmXq^cGu&e{X7EuGm1QAaFkoBws`T!*e zXhBUmq5%TLPD2oLXfq%Lu++q81i%W3)?l>%y+CYGCq6xj{*JU#X&OMgz_`W;g+>Ua zoZ(UxFfo+6TE03cpkV7wMglH1Y*H8Z2;O06K#rle_0eO--h?A_zMvsVxHBPu8Ugq= z;JOYU*>g3g^b>YJ=LQQ0O6>G^2e?o`P7Vg3Acq7z*FzNKk}HF>-`QaXuc*;T4>a(@ zhbow>pdY^he6OO33#a+nNU-c+6S=EQP(b{1hpeU;pLlEc0xUSWlMdSig(W~kOC^2_ z{v)BG0{zry@-}OqrQmZ5!FYwTxhxSOCH>wBBoLjZhCaRkaK}BnQ3KY* z0u{)P(U0gazgf8=&j}Kr5CJfbAToHSWBNJRp1@g3mE541$mSa#TuffLDN39Hd#nPJ z%OFAc&qAX~K>IagsW=qsnotZqdcT3!YZN1AL?|l&>Ept6hOH`YI3Eq%8wKB@`SD>S z)>1R(Gwgj7lnelj_SpjsAC0?cAtu^qo^;l!)T$e=8j{Xph z{772c6tA#2%hMa#cBy}IgRx=2%u0kLq$5BMwxhO2_cpEZlNS_`XbO6B<&>g5Y?H`e z3WB9B_z+B9dzS^53U7yGvDV0A*CACfj1F)E?A$;eTS`zxWKM7k7yKAof-kWqXoKuv4+@@)+6;GD zLyDdT_E0Wy5m|Vb@!7JuVz20Z!_F2%|DZ!Lr1Q%559}Ak~o)XVKnOtfGD~lxWsfmfMt$U8@hR zMbA*64LdV>M1Vo#1}TrNDn{8vAy7V&ir3L>@FWCSx(D_{lQ4FJ!VT_9cja>42xEvb zA#4UfX^E8siX^x<$|Ryl45HXJP&*x@)6@XU#{dpN3LDNFXrnDMuw<|x!d;==8+c)A z!)*g`Sx_`ADEPAD1S<^s0UJszpZ?LMW6ul>u*rL9v6nKRVh!XW{lYGqIuq~{t^`=o z2PRj>Sza3nrsWZG^k!Z4)z4-rX??*r3&G))Qhm^~zJQF>h?ApUV?AwUJ5jhfdVtvQ zpdg-UD?dI3U&;N=OJwsTmHBa^t?NMU@Km6^{^ct zUpRR^j-O=t^a)y!v!mXq``Q;7D{ zkPlNcJ|Psdhkjllh5B~b=|OTDIkBUyTdZ09Qu}0+Sva4^A=q0rSt{U%A~bCK!6io^ zCev`QAH#xe{%=Q}{};qGdECDc#?Yq!g|Kxd7xRRGf@ibO z)o$W`yoXs(Fa1Se#t1NHaBMXIM98I(<#7QFxh+*1kt-D4jG$j3gTRf!=1)C!?0q;h z0d^iiq=SuvX~8kU_4X2_j^7A0S^+(A73>7~D2>}{5Iz z)+B;+u(TL|_gO6f8m_0;S7bFa2SQ9C-~!mb0ssj>EPmoc0~V0k4}FEz#h51XpjFv$ zC^6!ta)_9$!b2#noNZpPBM_UwU8`%Puy+Z0>Fw5hjiftuvAMGZrMWqd`N>e z{42CcLVyI++=gJU*}|NqAlI-QVsd?NDFL>z&x@9pI#X2)#{&QcIJ^d%2;hL{{Q~#_ z>pVQyror}*A~tjg-~_^$AY}8*CXUE@8RR09pxA3LESGH_WV_uSF%$9;3If0=Vl^Ze zXKLG37yi=Oj$SMq)}{hp+KK|}T727Zki$Y-4l(i>&BWGQb_gf%?l&7z9@C~QPNCU^ z9+W8q11dI*hXfo&O$JyAbui3A)D`QpPwx{hp>N~poWq;Iy{jNxKGNPJltT_f0bOc< zN@0LK!0H5d@?e$Aq2Qx0MDiwxVp>|1p-*|_>;%K0?xCOvdL-m_FVO=G**6k|b3ciD zpe^FL92K^p(gRm1hNS}70W^jTF6+#L!5Fh+jSI0n0GoOjP~;hOPQb&;v=M$-8Oja} z?=XG|me>so`FepKD}b`_t*vklW1#X6iGU&vQj7)afka^#pv{;olix(hFe~g}SQNOE zVmUc*%Y|0}?lVs{1%+)Ba_I*hZV!#6Bd~ppd|HD@uk_3w5VIXXxMxI3(-2|W?_gIx zeGkb*l3aankh3V7hPzvk^@vf-nn>&m7qFm|^@j4nKU5h&B6P+4QiU7|3z8VVLUE(Y z9ZNjjSl!fGN53Hx4S<6YhSQIRp=ub|MolzuCMdB;dcAlo5uhg2;Yxx6B0v_564!u@ z5T~cp0b4p-Q*}eo243w$ZF>x!%vhnIDz;Q zkaNuy+Q^GHA-^1;(lF6b+gs2wVO$hpR?V3r4aJveSpNmU5c6%&pumrt;1fJ1V@oP7<2Z@EBP3R6b&GSRE=8qFW?o0BlOkR+e7wPAMU)g|0 zKCC4)ZU$OLn4}QmyITuGSDjQFe3^w|8r)&T8G7FCD*8c6V{Z23Q!w$uw#u5Ihm_%+ zv+Nkkgo^LNfae=XNbO3w*{c&AijNesvK!2M6}@;zsxy3?z}G4_IbLL4~Mu zx_W2$t7It{+*Z)T8f-&`k+R59XG{c$N1U&&#Sp8J6F4cy=4ERVx`xLtm3RAgg_N*X zDDXqLBGz_v_gi#f-y+yu-5hjTiHG+SsIL#G9<~YRwxOf6Y)oQcMm|H=R&tdfsRj#U z#73_-$YSDNdN*?=a68#|>c2R5mrK&j$PH~VTm1G+r|!thzQNC7(mD(Z39 z$h+BL{i_eON?xpXnn?llYdJ|sJ`Y>i@{cPYWv#z9)XUxyfdOnb9TZO=p<@UDy|UU} zCc@O?GQo^p?M|%5RI$=7abiebAqo`00sRi&8Uu)?c`-<0SW0#0n9hM*j0DsX;6$;> zgL+PFhx?hZ47n7=r1o_->Yahyso5?9P{3TvSFZ7zdT96CEoPNejus@k&%=S0E^BQd z)=}jFXIM<7154%u*>Zgs@R*(gjU)fPvppZ1y3WEs6B@|@oi;{_B0b;Jx z#T84?F;Fl}3kC1O7@S4!4q%AAvxvJfk%WYghQ4c}%M<|EHysw2V7^^V3zooVdJrNG zrs)A-u5O0ZbUeTj+_v3LUb;XX-h+L=Hi#3#HUm3WAKN)r$dW`yC72EBc9sT^V?X;U5ft2A;x1NA1OO|cYbL=caa+(5zdWrI0?rU1A%wST zstsUdV3hTTyK!Fo3IC`)d zWq7P%3CgkUmH=D<1KF1Jtw*fWa9QKmc7BJ<4v0(g`HF zUc=maUbGQHRD%Gc){q*1C}@V_{Gm(M5FCEGae&~wpkN7F;{~Obe9~LtEnH5(Acldw zy@xA3U;v?zs(ZGjC?JGMMLGcDV49OfPool~EeBq0#Yn%&ds?vo92uDOcuQS53js}( zpQFKsPRVOuAiqIu2Sy*YxM*-af{2lV4FFWR&8R}uk{Pklcxs$f*spFE9{?19LD!T~ zi4y_%qGinst&mJ^oP(@Yh(;PGaeXtCk18(rPi z>mt)w4bvje0CmN75(4s}z%% zV6M17NO7$u>fuAPJ&nWWZCY7 zs{UD&0$4S*WhKvsdCn)rY6^mhK6FdKLr4>W#uDvnAa-RDXb-%92e=ue5U~N8rDUQd zPa?J@YFlz_Z;}ZB6(G?BBpU-z4pfhE^~o;4BMHL64@tNOToWK3NrVuPoEq9M2~yI4 zbU)~m!k^+lPXnx&PnDM|j~oJ9mSJx2iK7ynfymiPB7ZAnL5!k`4Zrc&OF)6I78oZ3 zlVnf<1tuxAvIn=S?MX!eXCes>v*K<}j2*!_#`&P>ed!6jCdFyxqU3w-5+JdX9x*o{ zOPx4XUKsXO@UI!UwL52S%-9tQu&a(Yz@_%C)@ zY~f35`~VHXT5jNP2|^&|M0T6Et)h<}@`4bGgT(_t1;^a4Q31@~RN^|gldh0q2qIvk z5TX+Nod`#V@)A|l*pkQ_bkO@1z)hao-Ne3-s1c+bwd4VcyC_hj0~| z0nCsh1kgi3|8U`yBj^p5<$wS$ylK-(m1)liKoo|Vr2wWX4rGDtIcHKRusMUVLx3t< zLM{}81_h3Jcpw1mevanV#z+wZ6FhK9jfe*VCt?MuiFJE;XvNir6YOjN*kF#&FmT5W zZ`FtZ3`OpX)?vbjvPLM`B_tpVb7lb#v2XzCgerEg?c26HrHbyup5llJ9VVU80itJLEVCwDoc@Awm`hBg!&>0Y6nFm^rC! z1O`Juwif6^WoZ@ou%tN&jzFP=AYttl0FqTTl>%~>qqBz(e2Y)QZeI+AV_-HpbK-VDt zco1$J<`tAOS>b05dtt10pgLeDio{%{{~Z+_Sv=g{Rzo0$L1Kyh`Ix|0PB{1+4Z+?~ zb$H5w9t~w(awoVERdA`G;z*SBOu0Z2$`>YY&|TjnrQTW7Rsic(5Gp%rtU2?IBHwF* z7FC0fTN@Sg^k|u>H(U}*Z_IBXQS?^8gCJV@)$Db`LbVQcP^?6$^!-v16M?{;v3*Ck zgO3m?;DfUTJE&cChrLl)k{KWa(%^023?m0Kmd{oUYYg|}4D?&WuWJfC0pk@04;8HJ z^1VnltU2HyU|U{CcPK1C8lYby2vX=dRKW-^5W%{l#4<70MM%IK@ab1NEGriNHj+&S z8ZV@j!ZM6^Yutx`3QuQ#Kq(4H`Eg?fB+n?3Q_ya+uYVzH1O^lowQDrR(}K{4BO$r@ zwYn`eowfC9jiP3;%;A*mxhPWNXsq>+j_Vlf|bXvlaWMVU~UitIRilh`;%>&23yqLgm zSW3A9qdQnCMhGMs;TnuWQ;CsljHN>R;SIbH6AMDH0YAh9AK8uZ^q0Q}RQFPDV_5FAvjo(iC1fgtyU$p6FGyT`?}zWw9ZT63OxpL7}qN#s*jogKS#`fMGA3Ze+ioQoQ$eJF zkD{>AnE{IaDuk6p#+Y2qR#-Bb}zat3TEOF-cTD2`#%C#g@xz1LUuD~ z8NuhXY#{R)P-+SIA}VB=L1hLBJEjC9IfZ0NxH9&PgCAJ{`DC(aLJ^`Z@QVyMuSek$ zj==N)1fpz# zuTt4-R-rZR<&ao)<;TMlCT8bhvp7^$%HT#JqhddiR+-1Z{sA*4n2&TDsHazmoeNbW zXIPiWg}_qrEmU##!Fs(QpTRM~zr=lJYj)jTK`kLY?@tmQ`}M@G)qkF&zoL8?zVc4# z@0u-z2kU~BVvF~B{a7SFv(LFH+le>D5n8Rd)bR-W!z%5oXK++7=S;c;25c$H(2FVj zE!aFLPzrC^ta!%L=JXoWoIv@6Zu7n6Dj)Vm|uIltrOI=2JzHzumGMKOtEpPIY65*81Sh|!4w<& zw_AWM3`D#_5V{1#LJ%wv83fVXR5{|@0iXuuau`uYL%64(_|QTJpC8DJ7gHN7V{jX!Rd+dHv|QjdH0G$8gW{e!7lohVh|fL~cHujm7;9V3LZf zJ`?rp3h;$Ae4Vb;p3Xf3Li4~M8%ckI^mheTC$bYT0=E2d2Kg0acd7IT;0~D2(7XSq zLI!Yic~k$b0#{6F`1~jJCF$tcI5m+pmAh>2Wb%YhOelW#fHuD*h<$(Lnj=uX=KLVB z$Fk%~^b_B&Rj~U}GGch5*15yB{go0pTz7op`jiG1A{afOJwtT}d6bb;``c;z*>tX?c0n4g#3GscA=+Ff4k1r!F|SjzqQ6AZz(+b6 zm>pJoT?>MEUT9DLZEKEu-S?ZG-Q9hS^nP91T%Fdul<)(_bgt}+Uay%u%?l3b`OBvs zSUjwAMk2Z;j4|bA$i~9UoAMkFL!O+e1`HuS~Nc;H|vn{vD5{dPQCgQ z#WG2w3l1lKYnB3eaaMHfJ|RVK(ZF)R20QyRi44#eFpsoXg=R_@GmCcq(t~g}80}Xa zmT}KNFly*)DIy3E>Q2Y$vB>8c-I6Pa{b{LlPvrP{N|k^{p@(&D6139ae9Kic_*Mrk zvTDy~?;bsU|Efz}NBVi?tDuL1gNOGDSt}hF) zmnms|6TPCQqt{i)teFg@X!Ze;As)nGTMqu#8k~J?#{xr>HnYq*{8M+$JFn~V=5SBF zI2OgdG3VO7r|OL)`>*}?6iR%KU;Ytxr&FH^3`OBTl_y^vK}oDxW^PrI2Rq$L?N>y~ zeV`(*cZKmCW!yMrdC-j`Z};^ag@$((r@Qd8vOaGpEmJ&gmq}BN9BfPeN8f)nHywRr z%ED?T2d&-jUG#nhE^9y{q$dMhVyYPcQu^qbK#zGm-4M)t5=YVUYIx|q){%~e`_a#rmOmvJ=3MJ{^{F}WuBn7;Yo?(ug)owyw@#PE@33} zp7UD2vweMH-bTNC`KG5UQ5o{4t(9r+)~<8K#qm;p#xRVp@75!AU398BbW<*#J@@7c zk=*z!%dFM5|BrslunXlKCP{lc>gTLx(O5}l1ZJ0XgFuvU-w3=xA5S8Hh5d+d9~EEb zfUB^%?jMtA64W;Y5!K=4Xu#&v+d(H>c!Spr!?*0^aYbi}8A)gfUGYs;aW6DQ7AIfM zk`;uDQRmAL1z`vr^~IZg@lXUe_canN$=!=$Y6<(RuLdrKMy@GPLxop{NA0HAaHVw`|gqq%hQ7#D!LAlpqT8A{wB`|cJsdB|yATX}9GNdd4xTXjJ43zLw<+#N5 z^sh|{Qi<$IbP4&7}J=?WC8Z#IP!hJcjsHL@-c?Q61wmyYfdCY@=xMt=K7y+y3g1O1) z?}ePt`)K=-vVE#xgIj%WC4Bt2)%QEg#&W25k|~_N0$ns{Yiu{C z;I73~+~b8J)ZDsVw!t?*YlG;jBAmU(Ijb!ZS=SN+;w$hQ70)2^_;Ds@cF!x`u*RQ7 zoFwfSZ9xTOEZ}Kk)lmd6Q=+2DQ!00ucT@T8?ql8H5K9s1`@tbLiRdR;;k*)lWIstV z2ii7G7`~i6d--T2;od9zD|=VYKW67pX!=m(lt?*)pmeDMWWLI6A)E?-X(o-yrIN@j zTpKbBl#{{%PVK*u+rpiT0n&wFZ4cW{0j!&UNMX5P0}g010Z^_NI}Eb{YgyY7Z8@mG z!e9fi66Ypb1HSBfd|yPFHW!C+kjdx7AN&9A)T(Lb>}obhkN<3q7~9X*#@=hz0=x-D`bx?_L8t!f+)F3g3OTe9w;Q1f$A#>8lUPOA5h>>c65YkxcNZV64a zXN!LKAK#>m`6a343M1n&L*$~E4Vf`W!+W_!U5P~zd#}4Jc>24d)aH$Q`j$^()onUc zJZ*{Q<#Gn++Bo?P>ief!dGbBZNrwZQc3xhki?4XJW9Id1lHX#jjN}w#Lyz@ft7zkP zNc~wz$lM;YB)(Z|-~Z9(Q=-i?LqwZH<& ziDZ&GY1SKmL?u64=9%-LI9)`UODV}y2Z@lQg9 zIwOoAR1gIf1csiteyj63=$TxN8gdZ{{cYx+xl&48o8>Areku2YTl;0xV!%I`u47sF z?R8icN%7UP59_7g4mqN5yeg2n-yWxIUP@ZVRWK6F>7s635hhLUeXluhp;S|WCne)X zUte4S5y>8ap!3*6(JT|f!%N>~*IzpVG$ONHqMAaJMqF4<~ zfqeGF16<`NG~cfb&H29*?XVCGO&vv0uD8wzfocs2bhv>8AGi!y=sXm-L5r6>SPjH`A;3AouwUR0#a zC#Sb;XJ#GF&dYbz(`kS|MB?SZh1joy0)q!fp3b8ZcmVE+O6*|fiXA{Z zGcRM&F=FMw?3;3<=%jd|Imm3~0679>MJVVUA>)_Ka6A--%n0)U@sr{66!Gz`?B?wO z4-mc{jF5k4LWa8Z{pYUskCCP-Z6wA^4M;+{c8cJ-sg^*I0L+T+fnjL@((5QZ97hIE|k5svE!MRFJ35BRw~byV>!sZ?C^e9=5>Fb+)S6?^$37O z*8E?Z@F-zA@gRuuQ%^P-B0>rf$gGqw75`H)B4FW5ys)^V+a08)h%E7=Vy%cIn_QE@ zBc%5UGtdLoxeLQQlF$d`{slUZg(PUQC~f8Br>fzZnlyqZN7Z3BdT#5 z8DuF9<>Z=jvaLLtosoVg-~6pSBQ^s37p3j` z1trQeE>6=xrt9nNyL*NZmr!iWgGLb8G1-G45gH#aTUaaU1! z@+z2ow&9Awks~FSE#(CYTSFeo`^Xn>+SpSY9T{J}#nI>d$4xAAAFyQxAM@dvmm#rZ z1|>wuIfKDs#C(}sv*faP&8mn&zR!>ZNM5 zWv(VWl(w>23WM7MlLu-N-ie+40_LP^5}!eiHe(v+PE2}KP72U;EG(*Ng+qW2Ew`XI zsz1xv*QH@JX1C#qEDqm8ZKXj@uip^QghHi^2{ua;>g@AbD#{>jvs5_m!C?FezmQkXjY-TGNNro?0POW6dDU z2D!H`2NN6gaO%CVWPzTB8%sc)(=X1_KyI{|2sgwt#tOb*)PpW%2ga;M6wk`NDcYaC z_3(4n>U7ur5h1(YRKA;h$$r}<@gqM%eANmhUSd$D1}Hi-&MS$Ibm}c8&P@G_XV8B6 zf}=MId>RZXyZBbCYjXz~M|o{NQWMfLwUz0@=LW|Yo>UJ%lTWQ$WY;Z_Ps5hH40Ie; z+!0ALO&2RUe-V^?jcJeN+9-y}ncP)KQfLoUtH~R>->dt&NX88J@5^f8zdJ&w8rcwxn-#i1{AE z^E<%b!N*=+mL`iLHmD4vs5>r>Fj%&*viKHhZbK--9(;mwSQypDD>F-DVx-L^>_3(T zCzd6dSe8-6P9lfv0rIw|&tY}^zn0~7<-66dh-E4BBi}*d)pj?TvADgW3H)OByxiy^ z`rPyRf)S@4Cd-<4^rDH@?n0(jW?O!o7T2_?T&gAB$BYZdCy>Lm6M93-!k&6)h1m>^ zQ0L4b%TKu8=DW^D>()srGQ#O?Xf0&#zK)F<#ms#QYsZ#pD%kTQ{A%=s)rWqkSL5o^ z^pWCsbRWEWU`UCddoF9f(Jv#vH&Z?%&yYuqWu6~vUZB4O|Hn|mKls?u958G zqbG2>$YI1RJ4^ULyqYXM!f2aKTO)!1i z@%3vOkCY8*Yb{U^`#;olmoH9RbE#IuNp>oAbQ=A*iEi%0v?YfadGpQ7U{g9*k-N;7 z!BBLJxwpCYZlO4O)vZP|N#lzpb)`1xCf_Avi&<6Y&AauGlG^>`+TH3oZOWyaws}|P zy>#{#$w^S*OW=FT$R5SgxjcD&-Md3-I0G>NR3Uon-Hvb*LH$fw#nvvNIdM4Rz# zy!`a6@@Za|2JQ#<^xH<~(}%rzk(mva+ZLb$+3@6E%P!7yoq5`e_0G|0K~2vT63X8i)6I>-6TXfvYkj;^dZgbG!>B)fg?@-+t%IOr{cB2Jj^_nZ8Bsru{_rp-E zwrx~c4co1C-yL$?Z~kUVd8dly$2C1Qk5>B3v1L%dzN@@xu%h&M_-p=(=q4oaAQ-j_Xvvl@AYCADZ(vF2T&K(YJhO@Ye@zcdMe`O1sCi z^C?~#T%%)|-HLqeBc_R$8>wcMmlXJBnK~<}BURCG&@}a`&5d;)f;J*Q`7R9#xmnT+J?$S zbI=Z}fb+QRto3Wg*1R19i9Jg8`qP0UXop6peB5EX_*6rytOYUqqUA?KgS2k@6O>i` zNtahW>1}1~|I(|S=vWm>HgBu{GpI_wR~#$^wY3_H_(r?N3~QoTTbVr?8l>Ws5E?!T)2K2sOHVlDqimz(8*YTy`5G5GRjrxzJAfTOcg^SP zFDXa$^f+Inc1L4gCy*Jy__GqE-y8kys2vuh(L%QJ>ECZAH_ow@+`a<`MQ^Ps}O8_1P4*} zm3BonW5&ywg#@z*zp1E1Vfeyj+$F4%utxl3!$g7C)~8Qc$>8tm#x`bwF{W$buQJMW zG3=psTM%YpJ7E~lwZusRG=m;1d)||V?lLg$nGgu2C(nvL0f}2 z9aM==XPX?uCNI!h6oC8SJ8YnSKZv$JAU>4@HKE z7AJ^b*wvy3uU8nnWyj@snW>%1WyycX-Nwrc)y+4$8GRi-9at<8oX$H{=yl*rjelfH zaGs8d;YHTY$+q1$D@p$S24P8OoFaSCZ{A0?o8$$psw*C=MQjJAgc069roxTMpQL*m zG+3K8!dw~>TYV3;%Wo&Xcckw4A?&kPtFce%b$6{@0j>ho8#*d0hEC6oiDa8>Us6<2 z$t%)Js@&}MzQe&+f%I2Z_~F>HtDTz`qU5eMPl`S|TZJr@r8$~yKJ`~u@#>}G#m&gk z>+yyDHbJ=;D|(8`%#Qa)+=>?Km*=~#d21M3x;E^@c!yTx#QL6xt&up=ELpE_V#Ag5}n?IO?&zeW>0SD`ZjTAXHx=6;JSI(Wk;=RY3^5>@0(VKlMDgWrDh;8%FSzq#Bq_VKs z-EiJ-XZ9}h$`{Ydt+%5-h+q0kJ%+nFUE>vJP4;^AMO3U_vOaA*@WgSc)=l#5SUZZ~ zfT`!Cd9;tOSJCBlqzMEgtE5<3M05;)DVy$iq~&;7v@dI!s+8?%bwlNb_3y?ya(>R@TtU>L)y7#vyP0s$0Z+ z<*ni=*cR((&Ph9zbY6`s)zw~Gw9q4b>FR@5{7xKO?6ToVWQ0g{o%n_QUc<6074>gp z_?A4w=Hn5`Gr;93Z;5P(zjw>v_S$nD>)6b*^NxobeLa3Uthcbhd6KUz*ep~1wIHAU z6up(qA~m%Xv(=UecDAH>5k%P*`#+O(;zP#97J)S$8-!r0P^Af7!xWI)e1;71LPVrC zlcos`k-=R&BI}_aYQjhdO>~m(>$w#5Z$-?i7lr-KN45#TCLFB70T)1<8nmesWE8N9 z0GkNd<^iqh(icJJmY-emYAdcV>jW=j_bsJ?terv!UH}oQ0zy}4dkE44NwMRIOw0=B zxd6<$<^?ZB1u%wG0$g*Y5iwmALgRifn30x2m!|=O=h=WFd!1a@rTO^v3J~t~kk$#r zH`&x@Oq3v3?il}4uJrgX9^7H0mES*Pn2qJZB(;EiGlE=Pq>E2zoL^Z8DJvl{6p?`9Wi z&~S6)STi`4TCPEr9h3AXl0{osP_NA z0eq6nbT)C9MjGOIZkWFVUd@;K8{tY?Be*K=LVkqf)I<}qG=Bw@ZiDs=&^Xh5XvU?Q15EFE&^( zQMY%byMTTuT~7H|O7o~xr4CWB>`9otsK0H`tOGF%;MO)6g1pYb&JM^Y1>!N8yuwvE>XD`^%6_0&I(;98-2l900# z)ehNk?fu9teuliClPLdU1tWQi>+%X=o{a1p_nt^qK!~3&9@E?BH{L|i<`N+7%V&p{ z3Hl;a*g>UPOFIn3qC=P!725&EzVxxDOV++bfq z4e-4j{*mby67rZ_=7&XpWVQq*%E!D%lFsJl=d??K@Bz^WDD?F?M(GP!;&7BVScM-M)!3zY4>!$@GBLvt>4YN8) zxR+Q{*e12^txb5hU-)LRU3|Ghc~^X zZ!*y;pOaV=|F*|gdXmL{C-j_(p)&8~Epbq7e_kJ59@X7KUfaRsu!ojc(&P8{G^F@` z;7WYs9+eHF#5D1QionpNbsg?I4i&>xsfvJv#SN`3)x{BNHR@y(P7I`?&^G|C{AS^vX&+ zBqS@m%vyL)`NguO693tOz%na$XVoIT4Xa8yq4$<;z*rUZ6disFq{J`B`Ax4y25>{* z33z|5p&#RFxvbvs-12;G5KVFL0VIz)ytO*MK6?&L>#s%5{@)EULw*%ykIH{HNGLw- zv(|=E;`3CVnId7u_~x^ejn48MOWqsy@ogN|d^NEj_S#6obTAzq^|-J$Z`3|-m+tYU z_)G2(@nQH~>!P^9%X}@kDF-`hPwXuWLB~gEKX8ro!78_{657^=xTSPOGJ=XrJ?U@F zUHyx%2+@lH_goXl#D!sN-g&S5>yI1f6vkFMr)X5XIIVNXUUsx!vwW^htenWod#>-} z^}4!z_a@`5MwVlyS*zs^kAtz)^uWV|&k7QaV`GxccAwFY)5 zTMkpnb_MJUh&_#!*GZvgy--v~S-K8n@J%!;uN<*r=vmxs&oO(qS(e?c01FqZUhh5Y z^Ep*=;(Yd@etko;4>TX&b5i~CN1xZFO^3+h!!Al^sD)T=HeK1kV{y6GrEd<*Cmyzq zrFNc+9UNg8>F3oTvpyaveoW)hiqV}Q-N~T_KDT8caAHGbc(o{JWfx%LOu0F5-I`c)=e`%6g|%UQ;7$nMT1Sn-*2F5_uePO;CdVhFr+$v7s!bf#-RG+ z%9ozo*_#)=GvBHjiMq)$3Q)!f51r44uPPLsdZo^N2iJFDLP_X{J$!F{DQeYb;B~g` zNu(lge3*siUC>{1*?nqwQXD(~ATn~@(A8qFnL@^QsJ$r>Lc0Nb#)d(!d3rzdz&kE5 zF;2E7`THZFKj9L9Hh4JG)zJGiLU$;-HFeoBB)d!6nC!WpZ?x*WJgpof~(Kg9|5To z53tunqMbya>sqZO2POhL>9B`1MLM2Jgx`ynaR6t1$K3(4G`v`#lo`IApnZ#yeO{KsuT8l^HRJkW^;MAE4BKg&a;WhV{#BA_jV%p2XG%=eQ%uywn)EBr|9exwtBpoE zRKgzM%1>Go3<;d*v5U_<$yFrnPQT6c(!&Sb@tf&+cOaiKuNiS`*h2Hr2c<|Mu5Q)^ zv>Fj&#oCCnC-O-gk8lz!etNT^@k= zg!Q?)!OIQK15wW2sKk+Zq#B{O8&qh*cRIHl?PllZm|?~BBYhmOC*?Y@kNTpl$310B zRi#5T5bETpXF#VO9Qy*?Q$SAznS?CT_L?x%AehD+DYV!EPZi$|g+3zJ;LlZL{vk%+ zg($!n@V7E-BKQ5_N^n&mAe|(9i%N?!p+RY83F)Rg+h#S~beFDD7z{u{VquFO^YJ)w z#n)32p&RtsfQTRbT-z$9EJluhQ037CBHGex{;bDb1zH5orV{c9?7B zg{)&{>0N{xO@2eP&|3xnte8E#7XsY@pX7ANNNpb=@+u9QDOec^XvXk>OVv0-IIE;U zjW0&HwJ=T+I-m~Llo|r@@-G;#E(6n*(o}Va)1nD{$}sju0ePWNbZSC4q&M z18l!Q1x#hc^^c51iv@`EdgTjAtxT>H#u4dkkp(o|Kn^1AEVzbnzv}4IVHyZZ0b@j< zMFGHyQG92aPl_^NT9k`Bq0Kfni?(tk%GXVm$_M!vmAP>G7qGejO$HEoE%RCLL@i&0 z_;M?{kggph(N+rNE1Oz85|o=u^ZnEFX!t|Mks8_&U+ADtjM_o8NsJu{*GICK;CnLL zSd=DP<~9yV6elgq6{z{aq$|sAJ?i|02c^) zB#y+9ipQYIO4tp0qAB%4Im9^#KJSqSGeo)om6TxVTZq6)I?nh7ELK8IFbkjkx&HU_ zdc2v~ecI<^NUb?`lqtJLn%JjJT$8VIp^zpTqX5&yW=B>I^Ix*i`%@MIod?|hB@6VQ zvS9yjvXK2#7NY-47MTB%1@Zrug{=RZEcDC%Z?a(fAF|NPZm}{f0U0CWiqjAs{uT8b4rU9-w@=&0UBBnDL~;ICA7&|US)W7B zhPwJ|Exj$Bfq0ikYp20=YsLcur|W7Ft;PQ&J-!{G@$vb!cfN#tmQb(tO3~wU-^=Fc{vbS>5EN-Ez#jQ^@ij`WBVIJNzNV%>xS^L*K6O zobQvkbp#!~p}Ve;#u9j)fA8Eal1Ll`yAy4LFU>csrJGkVUa{sbu$;em&mq^FFTLyT zrfh!lE2r7AJ#fS9#WT0{yGRs9(^g|}-X_kDN1Z`jha>ang8M1ewghxmgt{+!tP=1m z^Et+yHoT>eOrJqmIvxwU^lNYfjoxYFxWGe2!8EBtrI>V>A|heNBa~#R)pD;}5}lMc z2d+oXU;7|x-t4rtty_7rLIwM4O0LssxzqPuD3fxh?&o5sd5L*r*pkRoPJf@;v1Iv* z=_9VU?2T&VuN^tuQ-9K~&Ux1!{6wSG$tKcUwT6?s<{$n`eeoHpyFrgHrVOa%3w(K5N$v*B~oW{dMlO_z$Sl_GJMZqMRbFw7tPMQ@=-5xbISR!*Q+T?=`t z2FCXFD<+>UJbdJ@)U<_ryYt_>1aA1QYP2c#&ZXkNolk!w|C$KT1Ya84O(G0?bW zs(i_xROyk;sMBIxFF?BX`SQ%?r3Sim@`{+RMnJ4srsp*66G@f-b+)(e(8r$lv-e7@ z-8WHscSLqjDTy3Oj zDwaU;rs+%V;a@L>?74Tr#g>;gDfc#k!i-00=V0@)%k=?G z`AxYNWO54UfXwAw-=aTw?fr*!llD1o{QCIm=*sIIGu@l!FWhx2J>c5pz$Fu0dL(bq zL_ug+q5bE{J#jyLubP&< zpk5X8m+jl1YD=?g-dnGAGM|*5eQ8?F^`7~&THoh82--N8jI$6szmgl~6 z9EDVcN_AWTsxgf=q&-S`aaL;oxjgqZAM0Lie9CJ0rGLivpkqMj^hM3D;}*l~{$l1^ zPOa0P950vZ5^Ep*^#13&A6F!9iazj~dA%sv#`#e7$KV9bz`X;zq>)S1@7)q}?th6_bx&4Lw6VEo8Y98OAHPxjl>OeMfRCI?jvVZ_ZruH4$@R2NGeA1#55&OQ3URAMy5%e#qDt;n&YR>M5C}3(&A)Tj-!w`bg)7Q|`pD57@ zB9YGD*F+n>ED!qDB_k})Y0n@8Pa?wK#;u`jhYs>FwVDW?>zI-`J%I*v(AjWfN%VHB_c#9`^EZ9!tjJ-bs|ndve>gGDwS0!LE>q17Eq;xahy9x;0*T=fpiK- zWLZqe&T1o=x+Y^KbDOtQurHl*fbN8YSGV*(T%&e2>aZrC3YVu^R6t1W3a>`u@B?cJ z`?4EbuyJY=Z2`DpM09G}0w8d{P@0tFRU>Bb+8aCd+u2d|ZWDA$QuY}YX7>BicNf(kJ+w+R)z=~lJBAZ)Z!{`2STS`ssQZqmXl0A>AM>-GYsk2 z@4U*}!HO>ag#ysLQ(!(u<$*@&EU`dgZzZH&>IC-D5-sFG^V$ z*<+R%i_$8R0l{*He!e$>zM)WB08&mPy)BL@GsS|+36s9jC^_>W0#htcz!6+AeHKd0A85&)l9eV}<{C8PX1rVO&2$ND}tHKL2ljb~!=X~B#nwz4WQ zN}ZK6j)Sby-5Yzzp=5)=gJr$@yb|k)a><_&jZ=MuiBGVV1uP@Se-(P7S&pq-|80sq zsS5O`8xzl8=ElUI5ecCjWNuDK**iZJUVCm-9!L$A>a7)}MWQ%|Q2hiaDi0ZPW3nr# zdoP(loVy>$cEsx)jMS4Gd%~_|LA%s*e9rh~^Sq zv*(qG7_hoqg{YjYN5$Urg#lX0di%il3xTtLGB}$*dB#jsYR`AELa?GGC{gWNAH?fX z3;jq}*QkR10V0Up-AgIhO^Na{g&L4&4Eb;UiCWUF9JoqM_fB~#K`Io^CPBQi0p9A* zOWr$ptW0kIRli;!H#JQs5_P+1rSkLQoJs0C5y4^5WR?%U(8aDUEk9LSxC7){aziOLD(P!v z|9~fO^N~2tSO!KMeSyf_ouP>HAiGweSb4o($;?>%57ljs5V^{h5qZaL@p{Fw)u>7& zo+~$^i3F$uktfMsKU`OxE2c6z)Rg+(zUYOHXOz`*lANUH^VeJTR>`MO7UL2H;XODe zVD@*Aa3UZTBC%p*&(G(J)PM+Yjsd7DL?8*-sMZ+Oi<2A;k!k{GB#F><%r3HIuKezb z!(n7+1os`uTE9>kDL^LF<7M|vr*3=O&8~5+Jj4T?s_+_*a{SJOj)7SBoeFTE1h;r4 zBs`?aVG+@C!DvX{#s>1{!9~CY?!>!}K2N_)msvv6Kyuu}OMtROc2Y(8rvzB5;(SX{ z$(ZqCWFc`AKPji|O{AJ&i1KpE$xitt-ZJEOIpQ5W4#G=UJGnP`qz_JUQGdwJrAYkeG^UR&YC+Qn zsw~WkA~?I5KV+JQ8BYU$_zSeH<+FCGJvKz9e^g&yn^@q%T~Tcr;j~(q24bYnI&;8I zG@TK=Gx=ooT8%O8NmAhbYmHayDUqrN4AJC5=V0XJ_>p4H(5J-_p3(h*E<-MtE8iPh z#-+y1o-p-E>r9@*A~>LUP^2Q4g)0eQdtWMK0{$yx^d#eoEiHe&$sk}@{XPwtrOQjH zU3WfZlDKgbyOd5q%-5$NRSN{Q4fA?6rnheC&=6nxrqC(fF6~)-#qW}O6l1(}GZ5T+ zd}|B&H4Ts7#j9Vh8{on1QD-WTSIF;V*D**QcQraK_!?^|_}Y7+mcFHVIcl>P_hyDf z8e&i|yH`Fw$NL}&Um|jS#&A!5)aop`!kw|dp6iiw?OSeZb*1uCgah&6dW*$hW{mBH z?-=GauSJbl9tHS}BW)M8-|$o;b~GsYdMfzl#7~KpByZ|A#C(!~n%PB$FS5qVReZ%E z_dTJYIjyR&^1VFXN&-wICqc_jOjjbj)MsI*#*?7fiTzo|*0o}b@IxTtB~xRBfk&h6f^DUk%Kv0mRQvp z9^_t;N<^mo8Rm|c@`@6hs=CLY-SU$^Xh$e~)cyX^B)fDDMX6(F^v6$h4VSr;Vh8UW zuSajnF{!Rjo3`d&Q`53@dNb!AZg$j>voBVu-5Uor4nV*2Da!5I*>U;3SFO0BqQcuI z-a7dqId4;64suyhHhbva)n?-gavPfnE}BNAKO%p{sO0KdI_pjJX=QKgEP8-?sHc}< z@2NXWdHF25w*<9JhRZ*y#drMlzV{po7v?H0yP~Sw_pT@N!j-A%^p{k<&W>{X&P3e> zYb(FJp2fc~!cCGq9A{esO;pz{dvRgEi*t-#Mdmm6Ya0Vp4hxCTq+yohP3p_PHKrX7 zxt~>dR&eU?(Pw!~_5vmUl*E+DxL1q;mE*U|c_S5nCHa}Ha@;FAy{kK__G5m6PTJq)9n64fW0uAUkH+9rOs)&D?{s#yGN zx9|CSgXG^zVtHhf1$o0IhKX5fmSRA^j2#-3$e!q=t zv}^5clCi&4UcsC{oB!PGyXuecJ1Y;c0}0!!j@S*Iy^YPdb@eEzU-PIf^xuM`GSfQE z$tvex?U-fr6|sC{AoGI2l0y{xL^x4fSE|}(ZfqG_C zjW-n<1{nA=!WHOt?fHij=pdcF+dBBvi88=bg-%G1l^t+(1A%^P5by?WhOIy4UW9GV zRe~5$+?X37C(Fi4E>h|^`akQm6LmVA5n;)Y2jJ^smBkBpsltD?P-mo$D>XVJtl?xL zv|@scskQOHih5a~#x#ZOFCGwfX7Y3JfAOAMi8BvGLuyD4LBNTMtwDMBG@mh47Cl6@&lMaV9MB=p|L z@837gcJDdoe$MBdd+syO%yUPA{L+DVlWc;74lSAwlzTq(rDhi6)umw(&^pvWJJNqx4)oc5+xA^7Tia_Rz&M}q3qC^ z(}=>*o}b_Y4l#~xaMi=1rbDH1T?nL3J@t>pa(82pLy{C{4 zx1Nf>7z=-m&Nl-1!ov+dh*T=9#~mJJpYHcu7=n)2f|IGAFS4ee<^el7Z*iFi-NB_h zd{l=ZV`o8dFuNL3$pghokV4hcwa~1UufZEO3tKd#SDw!f5v(9f_HZbK=V@2-`1wA^ zUZnr!G05fsgPjzO0zycnD=f(bb;DYJs978mr^AZTV_D|$Jghv(wQ4-%@SmX_bOrGN9F|_P`dQbB93t|*f;y>@m44q%J-R50 zP%(2C)Nxw;K@YcZ^o934jBdKQa3lf&eH~y8f9n*?RA=3>LjnMQ>8$AeoeS#|L3@t8ZdizW*n0(@tQ zK?fI+(2>7r2-hP)BGyw4q0x!hdo&|q4A|OP;4~K`cL#hfaU1Lp8FvZH8Mbted=_eM zQla#;XSfQF?3ep~2x>c+9Ly>+!geZ7VA_7{yrrVCEIFDktRjiG;l z%lSN^OCl0rR~_Yg-&_S^aO9z>!pfWwJMaqye6NnPgS-)aP%(=T&5SJ&0bP=i zh8V?mkn1QK;$Hv)s;41u0Bo!YrxRTw3_!+!Z(e|HmOO=_D?r9xL>j8rI}MGFb0zeD z=71P_R*=7A45UgDhR8t1+c6K?MD9bFx8CFdKKh5`0UwD7Dgy+F3cL`0!A?~%7X+JF zwo)&F(**BXAyrdBXultVfvAC~Dlxo}eLDEy<#%Y?CGa_tI#Q3_i4u}yzhLbptmF*_ zq9OO$kD;Jj*Xj&S*so9!m=+Oqd9}aquyTL&TM_$iq`Gm447gM@fcGHgy$BkLDdAA@ z_FVO_rwxay86%)8YoU^m9CXPI1F3`0lbnFh_HGzGVJwOi17g0fF7CA5sgdYM3~-)= z!Vj@SFLS`Tn@D!H&8s;Kh{p<*<0VeM>U#d$Hk+DWg*G&v2(CJ1hc@nTK4IM)*2+ae z3@;0cB|QO=wX+|e`zY%s5_0?Yq>~%LsFn!BG%N#U!4{>0uQy=<`iK+^(o}v7Z zb>U{g7zcvX2(O;1Owje=2VJ`-A)95edLG3fiiLGbzB-6OuEED4%7XxCQinyh>?aHL z=RFRn=dCzoFH`;gbu@VH%K?2)sIf%z?k#q4@>P z0H=7mh1D%ddXkYTe7RLo@0Fo3Z()e%qp*6{KJ~Mg^rU`hozgV5{f36HuQ{NZw^zaU zjX@F7154ODq~3#$TJ`&>=0OOa&_^%G4(;vV?IFFn28gPhB>*{$fsNc{#xSNQWJDl_ zsJO}t$%`8x?WKc}P<=50(gD}*85RjcaeQDY3PM13*_FRsCwXbeNFTp(aAvIxLlv%P zIH){DLyR?KFfS5Zs&@$jzbe7X48=4F{$2lW3(-daFcxrH!XARE$I!dJj37dMEaaCq}l@JEC(7~$SHzSwNinoF(go^ zpRT+`AoK>nN6C4>3t=u+s&w+9@_7kfjzyn&lN{BoK5vvw z?>O#F&1?t-={^bKU9`Ibx>`0v<-Owv%j^wb4T^v+^|yNLkn!;PEbUZE-383C(dVg3i2ieaL`64pW z#Wi}K(2Ol<6feZY~I|4(MkkVs4XQyCSC*-rAQ^1~Ik~59djN=-YEyoV)VHQvJDKXiszxx{e8f zE=N0~LQnxrYE0v(a+D}~92JF5K`)|sQ9I02OwK5KrfW<}sAg0yc-8}2Lr@V+<)~{+ zMyUHJCDb^0t&Orm83A2SR2|Y8WyYj{>_FBb_ksI!$TUIphE$5$O(k zvyt|oKMF{=BRP?aC{APmQXkodSV6=i+7ML;G)e(kf^0?w0GY!;Y6YQ$szMYX6p*uf zIxC1FU||KZg9rex?e}!E!Rs^xEXxUWN`T!e#5m9iK&m0^k&=jzy*?jcA0Fi#ava=j zfyN3#9~lqi;8z6*NkkODkp`aafWHESGth%I&LLq<1%PuLu@9*La1{VO7|{;G4B-PF z*8z%Iq#4j{LyQiA!P9{1z@7(7^TM}HbeFl zy1@tVD+qcPcrZgyBoW;V^q$hDBw~}EMYe^dyPZK(0loK!~7+AN#dj0Z*}5i>LfK@9+bDah(3*&-+*h#BB9 zW0NscmQ@CBWCnv?226n4C>lYF2d*2&f84Ns?M(bW*d(QZ0zR1%RzDU?zdX z6o806)7^$3I|E0$yEnmG2LK%n2BMQ0Y6u3sdz7w=AhiKJz;ZW(0vIj>&XP8}=`$1x zWwWe|E{K3FqY?CO3Q#U1jgI<&(SaZXjj~4)Xk-$MfI%uF!MxHW5fmQ;@T{9gDI*h! zlo=8joW{V>h%_KXB$Kkh5Of-Wm_^AVm(jY*bOAk^L_D5A$I)<%83s9PlfGF7>`~|> zA`YgMPNLIrBnpX+?;a(P%kT^Wo<=9&$XP@Rfk4Qj(I_-p8HPY7k+4+=5{*d56A9fU zGQNyN!PBzn^fC$=M3090^ON69}M(L?hGjWIP4XjqfHgXaov@NW&2*L>yq1 zHbcZ>NdyX(K1w30Ax5+CL=+iACIbaJ8M`@(%L2X-2{_6qfkNvh;weM|9gC&Y@B|`- zf}s(x02dI&W3fasjY7l{$V428l$Av$Q78-?i3lj5Q)nat0S|hJL`ejhNXCzn2}C?- zVPJ72JQyF_4R8|hWEzb@%Ax}@$yqox1OW_;0m(%p5^;FIKNcX;MUY8lMBq9KkHVsW zm9jDho1foDEg2W~eNOT;a4hzPCLE&(~ zCJqNe0K$UB&`>kL8`uQUA>zrvaXje8l>rJ#C@jz>0;*x>0U|7pg2CdkL>dJPgvv&- zSl~|009PgjRA16GzuP1>&D@6I3fl_jEuswfP}!&u`DEz zzziG#13V?Lkb&nIzzdNK5(bL`gn*%l6kwhJP{jey4h zz6djTJPEXe1i^w#BH}S%EZ`$>j7XqiV3&bEAkHY*1CU!7;3;^5!vKD1SONxgV{pJ- zU=xL<(cqE{0)~Yn0f+$<;c*NQ5eylNVZl;B%D|z);s`7l8~_EQ1g_yxWB{0eA@8+d z$r!>Y9FHt891%7IMg;w+P2d602aI!2uox8Z00_Yy@PC+J3>HO15lL7q3p_ds2Verv z06s7ZPyj{%rGRnJ0UQ89#K9>A+yjgOP$W>6K!&hj09Sw-;1&o9@EHd(88(3@0V5!U zSQaoBI6w%2`vevO3y=VR7y`h7!Lfil02&^i1Ev6ACZK>{Fl8V+;V7}duUPh;!^&_Q z5CmedA8-Z$9|;%^&;sHN_yMjFuz)ZWNPNH|2NvWVfD6ON;IIUcQ-EPCHwY4l1^^8H zgQu`ZSl~TC4kY#f01^Olz#IvK;{g4@KFDHV8B9$&OfeP@FZm@%qdh2q03u)+Kp+D# zkj}6_bPx>?U6^q=Ie=SxE&xd~P~US7^kFb8|I24Qcm!m@G{SMf5CMD)H<&~qh*&tW z`9c2R;S2&X0IUH1@I)3M1~7qufxL#p4YKFAQ*4}citD#$uubT1=d0RjMxDT6ZzKm#QNAjhK0zzx(y zm{mBp;UK~2_L2m%S%x9O?!jnbCir2~fD;@C7R+l91rTIBh!F4(=)&_G%zp3>o(*6W z7zfA|xGVu#BA{W<5KJAIMR1A&QJ@3(0^k8NaGrqB!@dGl5M5AhaoqoF29`l5?9ARw z0|Hp!ILII{_8vqqkKwWcr^}vQ9LOD*G!XhdPOxz7VF+;AgV+MtF!DV$Fh1ZFPyw(2 zlCb=HjKfs`Od}HTm;h=%0FA?rV)vF9*gH6X_U01+2ImSq??5>I_k1r{a7HAShzTWWeLkd1gwE{!(g~U8p0Wc0Sf?_Mi^-zxi=cD31z zXafl_03ZS87gh%b#6isjOyID>@Y)A=fj)2th6I%vb`J;v12AMjB6tC^44xWrm_QFO z36HoJp#Q<$LjX{bz=FHS7O40zK@`9zj0cn|pa;?quIqbtS%3;K58K4zxWNju=Q~(E zfEH*11A#yT|6zqJm>_smI7KNGEW_1f~>Rtbqowv)2j`!6btl zj2mEpBLbJt{{aFH00B?|;1q&+0+|OKhcg5Y6+pTdB^W+!Z_WTqU_AylK5%^8y*2mf%$;VfJOijJirEE zEMVc-D;zL<@Q(#^0Co&00sp~>;7|@8321`Dau^hxCcq&Sun1QtVJrX%;{mk_2T~5C z4eUA@7y?oH-^{?xfa4SziAVv33X~(#Ud_Sb;3FRR7!qa$@B&Ibd<;eg9x~{ZGH|#? zrqjq2@Kz@PS@s8Q%dE?hScod_));zNhH;ZbRUYuEdD{`qdHLhTxJSB4?%g7kmbM#u zMX!TD4WEv+3|HKgQmPhw_jP+SfBWs)gBa2MU+HYK2e>lbyYc=f21JSL14+&v&<(*< z^-~z1!C6DIVBW3ovfOudeqH$Wl)=3$FFqpFOZT&hkk) zOf%r@^`wnblgZ&aPw7@->sj@DYV_Akf^o;C1G)chg_-q8MqI7Fjo=S560=|qFE1W6 zOG|iI5@DQs+bV>0YhCoekHvpm2RxCi^j(FJlh$Y3rN6TnnvwpV_G2#<9LyriG!_NE zx@ctKK%4knc$0DTo36V=sj!iCdr8MeI@(b;=ptwSAF|t#RtedFWobg4i_D!2YWnEO zq5G}N;q;)&UbkScgQ`h`y@JC&F^7LXHtN~G%{9^UohjJMyMMO6s8NEbT3+e;Cu2gQ zxvVwj^_L$x?-RdnrMhbBRpAzuQarT7#hc}TTyv=b7{B-VD z)!V~C`q$=v{V^eu7S?lR(rws zbFbHL=)r7rW6AxD_lq$vd39`VgeY$tk*ep482#+ytc*0b;{jNy3~z(>FH9Nx zX`Jlp36rWfC($=Oj5T!1s}ByljGoqY9;|4v_M5Ux!q$HC#O4jZ;!P@sN|^uN_-7$5 zN0}u{Y~n2BmN_f#tsou4{ZG9a9_JVv3u<+4dOK>oj9v*6HfIH-}@iQs$)kC6n7enam{(FJ?uf zLukR064AZ&ZqJUeUTXenU&zH79r`d;d0zSMFGT*YCL7*1w?{cmoL)SLfNzJr23kF; zy{2A3!|(3#^?$V|^0nkGD8E>e-+GRgJca-}HN*ya7d?5N{<7~iC9d7;!_}tKFGXlf zhpqI}Id&_qImxGgHq9Qs^mtp@^+nM`R-<^SdP`@+$iOmkg*GiJuDa>W$W26qU$@zi z$*#1JOYdWD3CsiEoL?U5T~EzgE9^>8Rk(A19cwe1nr^4&Z*RBe{#;v$3iGUDYrOWT zoTD@5(6tw(y=RH9?7BWL8b8=@GU+<3t0~pVn(l(k5xZ+~DxJ@CKE@!F&Ev{BjIoA| zWVn^(HSfP)v0JY1TZVD3ybSKEU$p?cV<1l@VBVZ?pa^elNVIuPki#pLF=Q{V!}2563^6)%v@Xi zI)-FVD!;Mj=Yza?sOgHF;%C+`oayZLlII6xRkp45sy=a@`B>yt)F=4%;8S+Vha4|I zQ9oO4>+>02mnlLDpKv`EsS)i?{MDhI-D~r^&2ULFbe{i+3sF+1U@l6LR#BNnvZAEU zVrJj*{Kv92g!PrY8(flUu&A98+gNYe(j(edWrAA+7io_PgwZ)0cUZk6yATa#TM2i^ z;}5i65Z3hl#&7tHlppf$PsPk)oiJaK_u~WB(pO}P_b=qlMBn*(H_&I=c53ZgkjrY} z!DN}mQQHgF#Z>|G#qQ5e8C(%4iBj>&`%k_zsFCY%$cs1m5f(>kTsW-6Obna5q!o(Q zA6HFng?IinzZ~09{Peb~ZI;ahC9>2Pr(Z=ytFT$w;rf3bc79GUW!1QQ`t!uY)F5i* zsJBz%L5EwxJh$DY@{A72q`Erh(NB3aiITlo4kBXOlzb<9?$%(%4Lrb)^h|0fD47l1 z**~G*$kfzt$#Q9aZFk_&j|-8`u_xrdaR+p>?$j|UglaC>Wrn94OEcFg|EH#ev+lmu zdnPmfM){xjNYR2+L&H}dmor2rbNNOn%T7iY+fH^UoG}fLh_6+e|M>UFp~84c>$j;Z z%+b8&n}2Z4W@B}jH;jAG(a(otD$6>1ClQtAmqrx+Ja~y=WMU2;@n`$g(T6KsO}IC> zJ2Kv*J&X%%mZIv}jE0^i*~;H6HgLDkmrIJOz4*40OJ#hllbGVO_~B=cl(NcI^^4nt z56^?+u0_9GzWr3|>ZSRYx%*^x+WS#R0iXF2$mMVILohcwRy`MhF$b!6#eNZ7Bw{C2Shfrrn_eFw1@Zk9%) zj}LIXaR7yC)a+za9-%aQCT`Z_+%(*izpVu z?yUYehNEfp->s{MGpRQ^>#&@6@7KK(hN7J3`)(vQ8onPNxHRR?SpQYe%)sEM|7m=w zL)6gt1_tIWQ&t)~(1)a3HMY&ikGVEo$#7BWavwG3{p;a=IHf4-lt`%Ef{=KK|z73QHH zRy5aKm3hysCT@MC|M*D3$kqk=1EJ;p5gNvy+Ftj@Sp~bQ*Db7%enT@}T=VObS(Be) z3=g6;;`!fKTrN_t)~r3Yd*3I2y`ESfg;tg{zH{B(tW?(jqTAHDxV{OSVVwr*u?@D0 zuX05)!4l-h8N3DgzUg7NW7qSP4vx4gHaslmrxn?p=yrbX{OztG%a&luXDrK5(yq|- zu*&pw=4ieKFIGd~8o5g~|DNy1p?ro^*W9CTiln8<`k^cb?z_hR+eyPV{txT(YXv{; zaA`2#UF>8YV9TxY+mR3KZ%bobdKx8`zU{Fu?fD#%Np$gZiNkMN;a2bHok}#ve?RL- zCdorf|GvTlofy46L-_g;;xFy7W*-I!< z1&mKi(fc1Q9RB>y`LZNA7Gu|au}rJT!62=~m!0kABe@~*4tMRizN+#DopGGY=i|Yh z69vPrqpR-R(Z8mT%?8l*KjHd2j`9f=*v5g+2lQ06S0;;xc5P2bjYV&VkNSRW`E&}B zWM7Q>r+()4H1kCMlfO?3du;lv3TxS%{fY(5=);A~Rqmf;M8ADr=hX=AIdi$F=PJ8( zF`uaaq|4B0HGcCWxZQL78j)P$JiAqQgN8wNy)3*S^qQt@uti!%5}KM`oHO$goLb$@ zKiiuO$A4LPx7_C&8xLD|E}Y8G?~47!vcYw<@^|%Y83XqO+TJ|wslISG?8m(a;`i#) zICWTEvR+{y^S$dwW3@(jEDLR-jdzN}9n#Ekmq-+y1-A=lc7&W`KZxoj9nmu#%ux`U zR_gPYFZ?O>hm*x214HL!Bw6*Y> zyFW8*Zz>*mw#tzyG+_LKV&eH6-{@{q`|6Z$OV@ciWw6V??_%;baVMs~r?CGd?|PZ` zi$`$=P;#zB9q&5JlW?+;audVP@0uq#7-O%(p3PIg#N5?^I91VTFdT5@gZ|Aj%bxk7 z?^WO0=^hx9=O?J>rB9AMXWV?h&$P&yy4`i#nNSOTV4rlqZir%vSd80ky#Jm}u~99S z$vKb~u5w=B#_|_gwf}-D3{t%I&lP{W+@r>!W}SSjnS(!3wa&bquCRXMK>Cei)atL1 z4W|$I;Rad%U8X%lvGAe2bM>}{tcwQN&s=_kS32y;IUliYr>({aOY<>kBxHDE(_cRI zy;q)F;CW9xFyAlqOP;c=`x_Hn>gkJ~;) zjI)#5cTc)FqiSZPTy^}=h-jgRbJ(|Av}Z*K(XGwP_gGA02&<~syI7ZQ^jS$?VP~o5PV?ziw_-L)c>t~ZJ0yTN~$x#>!(l{(@XsBui4@K@g7ume8utajTBtm z&~N8|UiZ|ja|4+e*a9ClTeYt7l?AjInTA}gQ3l2d-IBS$BM5Bfj6eLr!Obv;>QOk6za%lU}z zn|CZqZ}nS)P2UGjN4nf=!jf;8|1pv-rIvDTJoUQQi$`Myz9_`T{^#I%Fo z6P`F)u_@CibiVCMi{ZyZ!ewsik;koi<+`Yce(R1#8_pfMk9(qXz0W>@BRTG#lf#Nd zDn(I3sc5o4C2p-E!8^&^v2w?Mm^pZbSR?fj?{?$a`VM~iqso5wUlp$qH|(%co?6Lg zIEx;V!}E>?Ouu!yhO$&}YbhOEbp4df_eChid$}i@+0y+Mi?R_rkjX$5%JMt8Xq=E{E=t*p%YHcRb}Px%i`Xmj^EQCQTw4ESB@VZ zYC3X+Fz~v!ILtfn%jU+qPxXcB_c`C8XUIWr@}Q@fecnjUr44Eg%`ly{2N^tf{_^}} zjf?$lEl%5?H~VC6O(qex+oJt81D>2q4YGRNrK%l08ddybe^?>&b)H`BOX=xPe0FLQ z21^`{wjK$KKM^~mmmP8O_RgtYf7bl7$cb~4;uhmG^4?ujCb-nku0?z#l;ZQ0bIicNvxwHfi_7&HLkVX%24hr|SqR{+?O}o}cpLz$W>hD9EoIX*sj~(mUsKUVi6m zm2Qtx&f4vq*uK!)lv>(3HH6MjHyxn;tn>^18+~+spe8sf#V?4o!p3=>@&Z=cXo;H6(U*Yo$v<%o}M95;uh zLOJ`75G8G06H*%$eQ#WkSz?iqJN)a1=EHy07c&IsM5Eqlc7$wR=UPtueQNS+zD7zI zwrWvRU#D7X{;2VU?Dp>13$qU^p|jsnj%!b3gHPEQO6Y07r#|8+Y&uXpecAjtAKFFo z?_5CAJ!afHyNM6H)Adl@Tb(L#%53J9JnNSiiXJ6S9SX?rku6i1UQTRjEUC_tp1-6R z*xZ-p*C0@l9eCn;&hBzyHu)_3le31K2p+2}|BK2C)wbB-<2P#UVkNHZ+Uv4I>sg22@7g0U$|;xiOy6I=Q5B|k zRyjw6^+Mb5(nUvqq3y|7mKQih-hR1TZ}K0CW@ss-OSeooeBq;xEdH~_EXRbTF)7`N z_5Yb7;Zf^q*Pu;TK+pM`R==M6|Ctbr(qqz`?>oG>e1+?2^rUWPEYy$1Y-7W9`aq>>a z_RbpRN7&$ykIM0`3r->nfj>-M*2VaMt35SOIALPiYyQ;-Hu8xDs2(a=Tr;z)E~CYJ zyt>Efj~(;DOg;7Ic=j+`9`W3ym1Kd|F?JrAFh=?l*dCMoElAtocdMto6^e}BNXW7J zOI3O;BJ}-PORP6S4SZCDo&B%yzI}Uq+~$S9@ntteuwmG~xxk%UOLj4lH|oy24x7FD zvM7&w99Mj2EcwjQ(bO8N9ZS@{fYR&L{68AEkE@6`9>v3Lw`x|4e|l0d#=al^vDe$% z>~`K8%^!(BzuOS=;2W1_YBwb&a6Ma@Zb7T zlIku-as7?%sI;>M|GLX5QreHTrNm2_vgyZ)8YDa$xWi{+SK21tj&w{OL&!a0s1`k+ zQ*_Y!^Nlwvf8Sm0xHC)HDkH-+_1!cgOUbavi(^}7D1~2nlE9^N`-PmQmt-!=o4aGu z;%JqhUJi8DiIJ*3SC%rdVJ`O4ZK_ZI9TdwusXM%KYF|K48awkdzskw{u@C>$!+OqK zKT|Z{)j2_a$Q+Pgd-~S&-9!sX!n^C1dFmNH|6G2bi<6sb7$y&k+%Gi#)PJa`LonR> zThzl+b7>D^)PGFPhMm8$97Ad)=wJcfyPt3HRnm9T!s zDSYVli)H4i{D%V_SJkff*A(g;wHkjw2u>eV`^Ro_i&I$jptzOW3_zp;Ex!+96UY+Ur$5}RZzM$%Pab26rm0=o;{Mo~7=159+7{b; zUHzyywrfE0)wW=o_3O{p_b-n11nUfiUzUxPok?lmcE>q?)-?JskvjY^T=X~KvF6g) zWW7uA<>Pmi)3+b~iSUZ8;*k6|sLHLOli@kS+?D@v@m8C^Wq)t+od7RoWlkmJMH|C=bhJsCVCyY}?AP@PN*iQnSkwv9^D{hD3A+BY(BM0*kD zUDl)ETNxSMJbvgd;m$AROTRFKI zQegY#Pa16!e48O!b#vK&Hrq_5(lzAYWuNp?bt?`sK3L>`pwhwC`P|k;+yRZgC{aIh zXyIX%1e&UpvQYhH4`HbrecjnK#A%C3&J({Kb7$c6nh8bu9!`B?OzWB1A zLB}=^%j~yT-uH5srL?yH&{uh;?qdTV*&CvU=1XTHEn_pk{`_P%_> zufb#}J~Ku%P~oL^;;YwO$lCo%RZjoVI{WUkctj^H?tG895PndkPvZQ(n#ZBy8s`f& zbIuvh+_?4mhrmnuiwB*L4A-82@(%6k%<@mFe#gEbJFVY{dw987W9*bhX4I!p+U^8r zpGVV6XT-O$|8O@Q2F54Zoc9-qvxjK4{kXL+gyRt3y`UNKRSBzf;}pVXw7XZOWACs~ z^XXSM-Sqsnwm#{_uT5IHg11ywA2VNYKIJKLE@NMYW1fzc`YtlbqRou|Gvo*fyi^HWq(^mS5B#fyxck|!xgUSe>8)U_V zVUGo+8pbC(&I3L#Tey24vuTeD{L`!!bq0Y3av!B-_y|9)&-^kAPAaN`_%J#8_0egOFnEm-2;>rHe z19*8Dlw9Ex>bQyEFFnQgJkS8%=_zJPd-3ch9KfjUMV7eR}_Gz@p)>uO6%1 z&TKT(Ysde}UtB+Y=;P9BU(OsIX<2r}!<-+{e;;8U69cQs68VuvTgX=((YlhvXpUM98l@d?Qp+C@CYtGcu;QcQ((}X3U&qGYwz<*prY6xU^;1b*xukmBq!zC0 zlvb_H+yuW}Do^f(jw>xn8i5GAk^M$5EM8hxr0g4tI#gM)C5hMQnhxkM;!lV*S)je+ z+>*AW7I)5NQiIG-8YYU|tI4kEd~l&wl7ltD(V!qXenpuidTwK^zVVT7qW0w`^y49! zPKlXoTfcceaumfc{E|!Y*htXRb$4;Urtw)?%G!CX#m!?imJ)%keFn>0g_M&$#@}PQ@huv>rb%l2t10 zaG6;5B@dAs!*uyp!gPVNU8juE{?AR*4)|+VJtpiB()z*6+sAzhQ@#w#8o1lMXcsqC znz%4>^1~1IZLO9sC)vNM^&U#uaB~-tFMM~9YyAu1!2E?LljUO0*V=?`r2Ez=yE_gU zO>G-doJP$_W2ug8_w=esCn^zEd06o#Tm7cM5PGt8}ebjwjmZ~(1 zCHrgzc9|euC+<%P@E z`@1+s?ZV32FUB%z<}=rz<3V?smH3B-SmLjVh@q!yC$_=@JzvZ!9hH9kTP8rkR8%Gp zF>l1<;QD3MWK=gJ?bYS_#K+>*6@6ka^51#-*e(1rGdSnb#wjrr$=7`Rd4%aigliLu zv;O(2!ASe9rS8>N=j3=&Pn&p2iT!X*@zh#1;=4R{;cuYDJ*}{V-p`EgE`67A|D-W~ zsYk*4{7%Aku}p6#cj>UhrdrcG=&P%ztDfn#=-+lcBY`gORf?&aZ;$#`yqGpS@3wY7 zq_sOQAHA@+&^|Me%aRn|Ggw=y>El*+v&oQ0Gwsy9eUrUoHD4m@PYq@GaHVqoO=*9* zJ5c9PS$Vma8SQjV{QOhz1n!Zj{JXElIfUm65Y)E@uB5Le+1vRKw~Ug<{c81uUhd8@ z*1S&n@-9rIbBRypx;0N_Oe$xrhs_UqyekQ>5iEc8?y6OTs{k_*OKge#D7G@cYx{N| zpWpG0=vlRU_g+XdQb%8ra`>&Z5=Q&I^FMXED$BEl{BhI0u6p}|P8c#nU(+6kR=V*` zK%;u=;D5W1gtQ-4O~h}fb=^dDc09;=?LGJ)S#5u$Lb|GsUae8!sxb%d6gk2tGx?Em z!y0D3;^InEJL?axnuYEo&zw(7)6NZR8>Reu?yD?{UpQN#JeO4Vu;}lR>7J8suaZkH zNE;V(2G1%c`UH%O9P1dl-ZEHfZqs_i*4y`vYqiU#aYW{PNdTXM+TkN8(uVzOE*WO7 z((Ter6O`|NF6I}%&kfQ(n6D0AA@vE-p4k6k&9nGVadxA5wczmn(n#)n*SBeJoXV6A zQaU|T+05qWAFpRA#W8q6f3u%5X`S^hydkiDK!b5{04gxN7ZXv(@!ehd zW=xn5=g_pK-{U1nY?*D=EIh~lbLAminh+I;7+g#&zsWfA@U`oXZFoS$m-+PpqdOk&F7IfmWJRi; zb9)*4tLHVAqrD;MsvU9m$A}2F?ThLG37sFhwe68$$MXGuzLy^>oZcsYRK(uNl&ZEr zZ>>HC&-$3J4N=xgA;}sd8l-SX8H>3QE@xk%4s$VR-n=nnDZQu0f&8<;esFt?pN1aO$^pE$o7dumM z)VCfL?Vk_6L2Sx|^JVCyPv59(`80btPr&;3Qs{l~rphiuRZZ(mMbnreeO+rl2R_;l zOTGO&PgaCQ_Xc<9$K3yZ->k|HlU{t|dxMpF;zk~LZ#Ju}YGqa7^juZHNbfJkh_?P) zH_Om(J*#T&hsI3$x=F{;%$wcpU0F3(WA|;F#&zJduRc0SYsB+0WsY>6QfI_Km301uYXI!=BLr0 zvth0N+3AlT2REJRp1$CCm9B#?m`e^~iIA~ z_SnJL_==aypQ9@;<(58_IhPf*d8|1c%^s7X&=i>JEb~}oB_^%~StRB5ugE)9pK`>H z=lFx-R&vwr|ByEP-(J<1o+T-KnR+eKcx!Al`t5LWurBrF8>%$sne_KL*Axwe$D`V2 z-C5@^=j2Kb23_BE7e1kveqY6I<;;KA?=G3zwz}{9U<{+(>TaEvEf5PiF=Hsm%d;YK zHQ{@O{%zs+`5HaHNK1YxA5wGM8mVi-i~K#x!)M~6{UfXGK7AMmKUJw3l_Zl=S3njN z&`or?ctb$>OOs`grkQLI*P-!i^|us{#h-54I>haOP&oAiQC*!l@yUL>H;LRpyy8SS zuAh@-B@vw9)R^VHbL(>Qev*%i>FF-NO3vxqWnk5RWniE>8e0CGm%9}INyKQ}0?5$%KG{e`L`8S%FJW7 z<(7C1@SoLBY>eek>s}wR^DS}t$lc?3HrwXUiJu6Ze@2@=eal9*zZe@h zE*pK-piHery7~D@0@0?&m(Y+W5TcrhOzKIOX3l)(!L@9^+U;#E+}WIRWSHT~cRSaM zS^ewdY10JFTXq4;%z+;(F9$D0wqvjPoo-gx&=T`Im6&+pu2^8Q$Hmc03*8$rnt8F2 z^27IXZ`Y1D*cm-J8LavJn;nmN>hi|GP%)kS{a&p?zvVTXT1HdP$v*3e?A6Dk29K;R zbf~Bw#U?BM7=0HsSYi4P{|^znU(h(bqk-`$qW$T!jQ~HT-*Fv-KGLs8)gE4U(B|~G zw$XfHGblz{Td*f3Sd*Ue`9mTnIU)G-&t;7VmNn({sq@B9KhbU61zG0iDV5Khhj$Yu z2D=4g{r!o%flX4@W;MiS{0L;YilU9NoALEp&BEr6f0!) zG?z|vAnIRS3^@KJ^X+0o;Vq+m%njpdygl`^FNawc)%4QJ;@p4y88rWNXeBRbUs&<+ zw1Nwvoh8(Z&-gFmW9&0#;3Bb z_B&p`{^UlI%CD;wQ^C&-n}MPm;{oLc&$9b&2u|y-*PB_(`1JgBKaJS>FmB)zzbRrV z{^6rRxI}#LjC^|4wOHfio)MYYh?$pnHfD3{-Zt-JJmh%#A^5e00k8j)tS1$=)&*Xh{u`R zBHY(H8>)%}NBpIHs2g_}KWJutYwz+y?U9DDMdza=zl?Tk|9WS^bLO6U?VX%+a`qej ziB04Kw^hVlaf-8TrwuW}Tv6fU1=|0HGFXxwiyH4_oH(QPG2QK@UZP~lYI>BeV|L(4 zo%tKCYN{vQuSIF4O5c#Nv!}b)eI~ZL@iId#@o*%5!LLMlIrS>X&0n3g+u2n-X$o$TndZQ{qMiFNB2Cg z|4AL!nh{xeulQPz$L0!=>u)d7IzDiz^gsFMjKpopyK?!W=hxp^tJ0V^SC2Jt{v7!7 zG=W#?>308Zp^=YAOm2&*&j*Tm`~;_Hp9Njh6h*E3-^M*uXIxB4UE;8^mRcBUpD5}o zwBN~<8X0wFt2mi+Kc?zI#Ge)FBX29FuRn#{1N7vaOt0J^-Tu6-a?D9zU1{*6mqoF4 ziE&b%?X|M3w^MS4?7I&$|HyNjakdEk+L?FekO4pG3Qi)*Y!=D)o)4by^WV6Bs`*yL z-H(YJk**V8`=^U0UOxC(U?Jk(eJvVMzJI?}swPhUl*P{6q26Q{^WCkBMO>{VC9Ad$ zEIlr7``=R?{QlEe)zBrCd+OcKt$kCfcGahT@OtM4{l>|Or%Azon%{r(WALtCk7y_g z(cU6D=CnV>xuy4KDI*-u}_d-4B^+TAA>8|INJUK_lYQE?s5$+moW%<3%uRO0chm7kxj1Z1qllan5+pURfl zr&VCtGHRX0SwS@@i1L-G5ZdV)x9ChbhtoQGMx)R1AmM&Y_etSbYfRwPF1>Np@=>yk zhR1N2)aewzfr+jIlozZ4zpvl6o&A9dLmG@V9dnRTtWc?}C9zN*@{mI}fj+$F7kfobs9+mz` zsSRZLRkp=hEq{8lf*{wAX-%%~bN_OvIHD^%O?K_}&gXx(ekX1u{Vslj+O*qtrz`pR{_?wqc*cY?pt&|GCt!{+!o*tEN9^E;8S66RI|5N*?fwGmGBuB$)5E?;pQbU+3LpG1anp z+PU?JMxuE|%gkHn%AV70O}SrwJ~#M3_P!}rv>@2>oO6$D+qP}nwr$*F+qP}nwr$(? z+&7aq$z(oeGRgeC^hf{f?DVeA?yBmlwU%{cckCacp9|FbK)W%!>{^COqC~S-p{)Ad z(1V_P^hIm)F^`Px-O&0k0UT6XH7T$M8mf~w*TQ3RiWs5v=e$Pr%Y*zR-wh9dm?`$J zjnsps1D(=$9;X<-?=XgyOvU0R9K^Q>5}qG_I5enMd zt}#WHRvD&PwpX6XKxfPi5kCMABoQIL2w_?1+30EB0IUbylUic@ha}?>z@tTi zeX}XMA%hbo(2^}m(hNF@I;n`f>!&yA)4@vpj^Nx*(xKLRL?kdc&H~(NYvWlyKnVKj z1GQ^;yqRK&?}3}ptS4T=#-3sNy>${eWK)`|og*v9>Zc^n z;!0C^#7^R)#Fw5sXF{MF&wmhuQtNJ|0yVHz&jGc&m_ho6!GLWQE56qBYibJ5=74Y_K(~>al1uTBT!QWOu2FNy2nn|~h9gg~IW;7ECelt%22SYi>0ona; z5uQi!H0y|KXs3|lC{0dfj!rOkdkZ;Jp2KpkQ6HSR*w$jP}1vV?*8 zZMeVA#bFuh5;pJz;84~p!EM)K81z}(h_l?d)@#Tw=rxE{B=A=aqN5bjOb65z9y7Ay z*~6?l&^JJ5fA4&U{gG8{FAxgg<4tyZ?W%oF$Cad(oR@e^eD_9`^#v0*TUMW;4p@EW z*Dfy-;eE+L`cI?EJ|MB#sl&y!NEg9+mGB;Ww%DFL8^w#nTSEfq@m}E`HjWqEmjL!L z*S@!9uXEtU3QEx5TiZ4ekpdq zsdoK1g_I7~Q7>FbE;RZJj}Mfa@HiA9EU4Zb+4r$saw083|B+$)2+l1C^4dRcuYKvw zUe(y*RqEc*RiR6G#%}S@h;BdKUlbHD4;y@$?Hqc8&xT5VGB3X2*(E`ZK2suQ50Is( zS-r4ZM)9aF)-S%6x`?p1D5c0&05dYr*yn2O&Ij{>#hrwV<|pe&J9srYVUaQpPI(Vi zd>M^h?o!o-_Vc zxG}bUTD)gKjkX99!1Q(Kayc@`vb7_#RzB$eW{aSyj0+z;Z#uzkC?8?CgymX1K@g4xu`AmPBQ%Ey#Mb8|XE%9_lB#XtPuFB%9hpz&!JUp}W6?$P@8DRm#OIOyn0z#ePs z8PnBd1T2v5IpMfy&O6|0w)cC~lu$v%b`1h<=Mo5fOJkYnljD!$&I*^ZiV{Az8-*)@ zZJ&%Ji>SWqjXIL*Y;N(XjhJ_D?_FoPY_HdX#J;`+b7kEz`*wVKRVVaN>tI|k;w82T z<+MHk64^btGR(I2b=0a=vc&7a!)Q@4FCp{Da1ovxJ1uf>Zso#}27tbY*iuTH5)e5p zT84Ardg-TM3@u0r4Q0+ANl{|uYMgUI0`FgG4~$alX6b?{wRYD5m0SJ^t9l03!PF;_ z&%uaZkF4kzd$%t*Kxt<5(r~yzVn!m5ZH(%P{`6P(E{oa#l^lRf+x>DZIv4g>6@}tA zTx##pxDiZ}>8pB=OPk!`r~PqvndQ2KU-H}COICOME-(3p3CtdBQz0BufZgn8`k+b1 z`NM1!^=2G*kp|0%+#PYLy!~h_(D7uLM#`cHeJYyBoKtH;2+K->mFUMTTDQZeJmXB` zlJ)ATfp0I*YOp^c+lXbf^{Sw2*m2n*H!!ifDAgO$Vnzu= z6*TXXPu)nQ6>wG|P{V49$-LE8qQQNumxK+gMY9D)t?!_OMWi^>jyFRbhc#5unaS&7 zHp04wQjS2OghD+9j{@Pi%Dd2F#>ZhHbSmUXBC|mjU}Rf|<@7~91aE42DMWmrYDGF{ zpUewS8z(->HiLHNxL4IBSA)ZzQTmDeY;JE zJ#md(vIU#KlFSdn2v@>Pz_`^ z|MLF-<^BI(y+6m(!yct?qF2c&jxQVTe7gYKA3+$;v!XL85K2Qx3%|YuxlZg#UROg2 zG#8ZoR_Mp)jx6nhmi?KgG_}|-cguDOka1|&#~BKL>~lP4ikPE9a^shWyPY@QY0Z%) zeBLz5Gl-$B#hb!1X=1^``5zgP!I6(YlEZ`fXop}u*z(~zT3*as_kuioOs4Vj_d_z~ zmk3Dnb)1E*ha&Yd`=5YChBs;X87}4}<*7t|Z?YG@s6+5ytqRX6yh;RWf|YBoB$wxx z>nK&mI`@u8AP2j9e*=X(-!MN&+h8(?f^TCXG{Y&dsaeMQAc(C$7@d+REIE>hwQN_& z&zwT3z{WL_M$0eh+p{+LfU%UFguwbiv%zk4`9=}A`eB_}i_n}4J>N^fCLua2 zjl1#>lW#+91jh3fNW|MPKdWS#;6K{=W0N{TfN(Ls1cC`o;bH;fK*!~e^bTNB7aN~xj3TzW~ZTD0vPj2i~X7Q^V-u1N(g4gWTPh?zXB9IU- zEae31`e(iIu74qs;)KGHTuN}DxAie*2Y8$M(M#@aqC%|4|3~XZ$0=aI+;tQAQuhch zWBUZCA>7f~BogZo9k~_0Vasb``n`>|A~U^tP3dC`y`i5Ln21(-I=2$1 ztIqvySWqf}G5)D&6HzY-7YfOj450)n_^u(`<*gk7pPAnh$)0Io(g+x)7I_O*X*+PF62l#ud_49HIkSJRaD&dtT*(&{GrT+rbPQMKy z;q9~L>T!x(YF|iQy&iBi2?+Ky)e)l?xt8i!x_9446d}T<wZ-&#EF%F5N~IYPJGsowSOUT+@dy*v0lQ*G#z z^GZQM44~Rey!kRB?zT(b=*NVcm}F?IRu(3Bn9Ct4R%Q_U0AN8F5JlAk+LGIIUy`i8 zY=HC7bWinOl72}VFPMxA#cXeDiUzOv`kR2$WL{LS8)>MtF<*pn>E#U*bne*PPdO(fbhy7F z=i*L~mdGh;yYcW=;HWcF+(a`153=+0cMaUE!~Q7C>zY*{xuE%=VuR>N&u*A6yZh9(4&RLd-vX2DTFaWSE7~55)GDwZ0{= z2n?S5^7Wl+o(a!{a)_qtRro^R^g`5xTw99BXscsV-QRAelZ9k3CUF6HXw+pku;6$e zIM4q<0;WR1`y($a`hwc7qEZaNx-gXdDelzH2@#OByqeli`DhT~QF+j+I7@yYKBvqpI-G$dERKaPdQvH3wj(AIDIv`0;R^#~@Zl#)i>$XJ zCp9sv_Dnd%;~Ssp@CI)v=Zu>doN|XjuOU#rGl{9@)1U-d=&zae%y>-eJv-7tVh6B3 zyo+cw%sO-4`fYp0ZC&iUJFp<5z%k$q46`v?g!b1=OJ9FvR5xw?NL| zdVntiP@&RCqY$dIg6jlY0eOUVcu@(w>J13PaMZ15&0v zTkh;(T5f>41JnPRKP_?&dPnFsJ66PHRE&U*=A-jQx!OP1mZ)W{%P(i!MLr70PJzBM z+3&5wLO+^`U?O_~a(ZVqB*^vvr_euS%Ur%N1%@Jvza}`~clxOxz$p%N`@P10pBjTB zMjlkzb&A1k{}bY8Kk+H~j&Yb%RJ}KF%s)rWMw1fG6NUv=Bl zstf$7CMiEUw8*y#6A zbilsW$BM3Z2IVT1!#|uifbs#cq2Dne{iktKd=G{K-*5vTBrTx0of*~7D*%B-TNLNZ z6iJrcDB?;=s(9M=G!x3e220Mq9GaF=0DdV114!#3+RYv)u=p20)dbCE`v^|wd!gxJ zN8`Ol316naZoC9!ItTPAuCoFaX3H}_zDU`{P7$)SU0MG*rNe1AVSU%%)jVrPRKRT7hMq;9A1|zUgkU<>$_ZJ)cQi z?u-ha)uN{=>|Lb5#{J+aI`>g$Yn@gxQX=Pf>AE2oED&Zf+yUZTf*q)=LAx_vo0DA1 zxzP$rzEeCfGuVe;N`gkgY#!-^A!(E#Vsf{WW=K87Y(2Z%i6;B6d=Q5gIeqNn~%v0BowmNdu zXWWyS)k(1TgG?246f|=_?53AusCYI^*j_;~vDOsd2tYO{bskIN=>{_ZM$=nD8#vDw z;Z6)k5|EbfA4fA#LVShDk+>w=UmnDwD;>9S3>qIyUZ_41$jru~*`ughjzyz>@_Q;} zg36|Vf3;LWR4E`!9#G=rCL^c<5F61V&kJYLmH`4|MZ25lw;c!A(DMM;Dr{qLIGBrkYj*Oh(+k*C>@A( zRC-LKajUiYNTgWwIef+;8YsuD%!8Y_baFP8wcB#aIK7;eO-@KK=Ys)7ex?vk)6D?h zq_GI_l|uSBa_^3V$l2}#BT39Kb10nX>O=}wEmII2N~@AAix(|Fr z*jTWN0gt6SWMkIj7KmE6EGkqPO(=e^I$o{Ev&vnPr-|tr0tre(TEXI9u+_jq@Bv7( zmdH7peYWJ%tUr4ES@?fPQMqe0bUfUWS4K}R{L`1%mDNnVk<-u+7^>=<;TH7~ZAcr? zjP+=t-*i5kZIR)rHL>-%?wg$Rjxa~!GxZYpO%6r4Lhs8?#jzhejE)tLkUH@xAER(w zd5YNsYDJDb4b4pKTTRa9K`OGa))X!|S}y^PLbR8T^k-Z8cQ>x$^#kMQeom?Y7~K%1 zg0AiL*v;OoI4s!etYJ%-civ*Sx5B4nNJ<(CRl;n9Re{JkGxu7L&%tj%GP`b|IwM8_ zwT^E9A4Rj|gq;YBd9>xLZwIVkPOofw1w|7=ZOg6$juOB8vKvvL^UsZ)M{s02c zW5+9iXR6Cj7cJRhAG)?VD`yUV-6l5gYW>NBmOntqGLCK?E}4S4WjY0OrG4mVqUEe# z^{MTSbulQ()Nu69=_RUDhqn0r!fMT^lurj`VT3o})R-=jCG*dh?64IOA*($@Sz@5xD_l@gnTL-dXp+&72>pEt>wfUbXl?$&vy-!P%w=Lp3u!=hstk4ty1b~) z|Ezmss!Hn7XRQ_4=$MI!MPgj#k%0-JQw7Y5Js5*h2(F3ugaJJqi3}ma=L-t96{%i9 zeZ`&L&y%F9nII&v(zp@ek6)vLVNBY2r`EqlvK(mPc&5F+{>Due3K8U`hwT#eu>y7w zczFp^1(D&;=`z1>>o+54jbU@8P>vugBU|QZnu>0=5|0$w+NXPrb*Q@=DRHd`{t_aW zC%RMOKyGIObC$Si*->${ecS2~y3Q$MyM;1TIfjXPo0L|)1IiZ1wYuSy>QHUmKv`Uh z;RR?_@uA)?Oo?X0M>9y)7rh%Bm*=lMn9?@j>Bs3N|9`oc{DusG)4qbGYwWaS{JO|} zt|mmm^&V++3;z<5FZ5%8mIVj;-&(A~3qGp1=f>=|lTXdgg1&GiMj_%H7cDD`GX=So zj+t^Yk`NR^&`jJu!k1pIY8u(2_YuddSzU+gw~X4yiUz6_zcf<|!4I1!iv0k|KlJ{t zW=UvcP6p@}Yw2^|kIp8zk}G*?GXbnb^(|$>MUPV9B$Y&MuoJJU!`sbe_pIIY0?>B) zaPM_jJ?%?JvMeo+kluumDQDvS`lP55Zs85_8UknYG`C1CUJdIKB>pan#H9FDPhoRg zqH?ZV;j0_>s!(Z@@-&%QQo;ummoeO$U0Dc>k}da=mIrjSX5_c^xsT4y@avUTZ7Jox z!8h4w(#gj|!FG456mi=p2oYB)Ar6ZUxuj0!G=AH?ROjM|XIVwAfFLC+n9k z7p^QdkwjB~;kwRB1WB$yP${ zKX;Rl$EU>{N?-K{&%d2c!`^ks@GAGVWf9DNOiN;HMa;h6ij{%I!wl%C!kW=)SXbEvjYpH_kR`c{1WI5~l z^x?^5n0CQMCyVmI{aOYoFQ%YksvE15BYWk~-XBc9Dx^w^Jh>Vp3`A|o$K8T69fN*x zCr@3L-95*8cEv$6+3@8Yg_k$@_5K|gSBXODo+JW5MFK6!DZWtq=Pn65LOOU0h-g1h z17TstoFqYKn~n9mrk=L}qHy*Av_S_wy_MwfZSNCQN&5bd%OBVp3psvU!R10}M(f4u z^VUcz$!Svaj@hPl5{j&(&|gomBx7QM2)IXIq$^+){Hpcb^p}-+s&7_(U&wXBR7Gl) z@n|BRKIJ|~oD{22&DvCRULpKvCmCBA&Eh-DQ5(9?f_FKhkwnLpu_v+bpw^hImFQ#} z?u;QbJ}hVnR&j|P(Loia1W#o{mzX5a#jym+k+Zz9gpNNmQAeM<0dBG5O@5p->p3+W zdk-$%ST*Y`{Z9xKd&~}c@HhLXZjtuK^s@((tIH6!CoI0P>~r8Z%1xIwnLNGZIUI+g zRgxuX#lM-(Tawoo{vwm>S^yyXZ?gkpfsB;U0`N?_(>3^f2R3Ly2AkNUr;I!ezFH~g z%b4gcGS?yI8-T=Cc}^{5Nrn8JAs?I7HDWl}NvRLkDix7N_NxPW_Dhjgt3DMjMpCA! zj;uaR9oC02(}Qr1_c7pNjC25slDP-O_wszR>R&wu+>WdcS zmcJ(v{2@X4IVgyTW5A8nq3Ku#&*Kx%B#RL(650*{5-*&ZX9&GKy+YR&CBbsjo{FbD2uy+xx@jH`otz#Vy!PG*MeTW0pt>w6@xG zGfz>c!M|%mxF^DIF9ttG?0%;D%~of?|u_4pPPDUe!F#T(h~QHMXazW3C= zj>BeMLytE0{H**BsOz)vJJCO7^48fgb6^FcvT>f+OYWJwji=XH4fdx~uI`p^Q7*FU z1dY^eT|>^W2}fg_cdR)YBz(Q?@(@yw3xB7g|yn{!QHZdSrq>DB_^ zN+zQgKjx*t^D!<*-gv{50GrIK?j?bY?>VkDoB*maoxj54kE<$5QgmEz@;zp!E6XA6 zG8@{Nl*58Ag>RwulzSxa>HW2Iki+8bNW-s}&0^Q~qE<1(QR~b6UUu^+1E%(ns$h%1 zCWPRhAWF2mL_QDcI``J*s->b3D{(xcC1Cozl~4;P{~dI70o_a+lGlft0of$ zK%RUfTlV<&x5kC&W4xiS3*WQK)p)bbJ`{axvvp6ZbE;kC*T1evM|KJd{Uuf@<01rw zXme6-$=wW`e+na$?aftC{dY!glHtKSw(pzNj2TE7E0}7strV!3h7#^Y4+yM$8 z@IlQBG3NXA2-ZsgSog2r!Q!6wDTU{c~zu;3_)l5wk|u*lNxZuz`R6dXl+_Qs>D!Q*u_sDbSx@;(K@M47iBvz-|R*!W}PKpK=W^D7-jCL5ao!K<^wwS$-vxlYZ|d{7mQzE(3xcMi)Li^y4noR-m3| z{)~4vF9DZ7v+}p}H#0R7yWjd12h*@PAipm&d{ptug!&YH=RPBNxeVEly4$g_;gJ1< ze}7*hli=RYBcrPPjke2jiCRMrno4_8H^Jyd8UT}G0wuDKv{&k$;i{FG29oWoV1SIb zgYjbmySq#YOn{j;pH1CWzplz*WFYRN?HE-;BCNN$jGWuIzH>`r+iu{6+f6Ofbrw^V z{GmHq%2^*tY5i1!c3*sLWOK&gi!Rf$&ZgNvr?D5w1Zl{O8S=!Hydc#*=9Gmpkm!U!@WrDW}Fy1PtTGxDB^v6uui1GD6zuwX(|wjPh#{Frvx2lTG275H!|N&zMED`UQG^6@}g(B~Mg zonB2JPF{kS+@~KV{ZL_$y*R+pMB`{D;6Lg-v-Cy4aD+G+vIY8Q*|+AJ1yu`n6ohiQ zHmx}c+c_-*{X&m5PIZjfIy`#*8Qd|mT#ZW>By!3jCCHpaS#uV+?o7Yg6cwfI0?*KP@wD6(t98vmJ!}gw(ab zG}dJO4b(;SA(3~LI}BHa%?zu@17nFtuNdrx+38^zoIK3;^_Z4L{i;YOvi)M16_+mJ z;P5k0m#DMTGV5%A9t(3|i5D4YL#v>eB**|3fjO8u(CT6B$yghL8F2RB!tI{!Lb_%l zw(^51naE~rts7*_NX)%8-Q02~ykx_302Ua0$ag7;n zWdDKm{(~arKZlX|#hQD|qO`rXfYeZO^aONgNt+eUl|yItT3V;-e?Il!=kz8yo5+8G z2h+Lm-C-{>%h=4G6^W^UIiYfH0Fu;Vf6GK>K&ONtw#&SG<^TfL7FYce>t}+r`V7f# zYzDq$vDTUFnO%wwb3XhxS~R{iYYqmq)9>Q}2KtwLD!&Qv>l~@z=rq$Ewx=tlB>$q# z>-90Y;ty(Ya#O4B-_M$op}?FF&-j8Iv#apCiXE_s$Xagb?PJp2y@I(UE3+hUm<=Y8oM4&JE&nk#9nHHSg1`eX(~6SfshKTL)R+GQI0Zmd;Zu( z1gri;JyQ%oeV5$lMe*hiws_a#k}>IVS=mvEvqLYZIn_Wxv?G4r%i20-?bi{$#VGF zw)p>o^8Yztr;He4M~GeVTlnv;d!hLNTB3~2bD^N{wR7ov?r+s&+%T6Ns}_wNN=csF zhMoYz7a7&z=T}XJNz7gYXz&{o@12wLAIte>=lMV%x{_I&83tX1$~C^ z?EtWC(cAIsoU(^RQQrW=%t?s9O@I%Rk#hT`aL_=J8vh{2Nlc%169mbSHCBQK@I`+6 zkNyFgbi!1;%<7B+yQb0gCOM(Ov@ybvm_F{_U%;7SUQqLd=bj}XozL|uBm@QMirewp zo}1bw9UZ*wDR5c%*Kp#H7#fa&(b6C9K@J3%T?)a>XM>No1}jtm;Gzq1?K}3m(Uc9g zHyTgKTWZPzBsKv}xX6V`+w|z{BMrW?k>T`1M?4#b_fM3sa?6@%H9zr|)(SA8tHadY zP;(kEX-Pw@=(8xqm}vYMKgD2bo!roOr2DS0vLTZ*2Zc?FCld0cQb7FM{#s@@4zO7V zptYs^YeXiDn^8C&=)pJtZ`G*r!Cw0X<>=bq)bfhBDai5w^Z2JJ;>g`Vk8_`$Dm0~* z?j%VpjGHy-P)Ef^n0pV~QAaylK*TH`l1*f8XQHj%nKC3WyZh-V%0JJZSl6S*0GtdW zj-_X~Ho$ACQTPsgUZ7Z8`(15F6KsIKlMpIIpYbqXALr&@?+hX275gXxwzgVLeGHWq zY^Z=s2_FjL6fzpL$zKZ%r)lP@$G@|9M~CpKsa7;EZmGS9#?l)mEpN&eexQu*gI zHq}+w5^+!=|Evt}bZUyJ4wXO8 z6($oY8a?2Y_kwu4EKs>=Ap(k8?4pV|@in9OcxQV}TH{gtthrd>G~?uJ(_|6`Zy%{+ zc}}^sQ}?IaZEdgfg9~1A%E(%;kbDuDra}~si-NV^rs0!1hTYX+O4<4G3#e5}>o~_2 zSe?Ae5OWVh6FcUvfGP3Ci#Q@+Z-U-1s66dcZ@?w**=}#?zyEM%Ct=8v#F*UdRWuHQ zCIO@IB;~R41;0;vKJSvcGuu>&^+PIZs@^#%R9Dl<;dh-fFqKK)D*mT2#6Ch zobGr}_9r&i7EXMOZMF(Dw>*`tx#H0bKY|}&Bj3PzW5I<079DNtla5)Z^?9H%h1a58 z7i<^b(<9tn|LZ3c=Kf2pG|)r%*?42?YL6B;7R^Gm;4&a09#aZb{AuDb^*j~j;`i0J zaxk&=GEPECtC+~LuVGmgC)^&-;acl))CXA5wc!fcs!0hA?ZImKf}Qc)BQQ#yzHolk zPsqdm$3njbnfa3y{g=x%`oy4awkyIE&kwO(jlfD$YX;syuP1n2$>iITrx-qyOWLVs za00a~a=bVmh|c9FFb9syOG{JDlN|#_v>AC!7RFW+?bM+z7WS8J))>RMxhf9z*gt3@ z#nUf>z0;){2m4>JFgbKAZsZ0EnrGJL}*E_ayf+B^l!V#EFRDq=c@Z~JUU$d!H88O@1AO- zIwzWBS_W3C`nV{XU3fg5XVCpzUN^DJO76=(CiD=p-ogvdp=u!~(b_3Lrc{g&D4IWST3yr$>1Q%rcpu2h)7iZ8LYyos1HEb=3c`I%Q>#y9DhW4e zRton6xYFh$PfX1{^zrOIXXDzesWU!=@LFP*#doEvj8ZaahM1$9g{-OQpqDzn!PgMv z?KkkJK|7oi&R>p*+zW~P7qVc&khuwP=Fs;+7PIXTG=Q9ziFs4VXr3l(2)AN|=W3Lb z^EP3c9fq7{o!Y=i@dY%IvRy{?d|w(~O~Dn`ryI>is>4_~Y!59&q)f%07S&O3Ol41c z#r;C4a*cVi&c?TNOF{}im$vP+Ya@qLuOk2Y&5g@ zItXq^mtO`;OS!?;>+MuuBWt4MYu)Xz7G?w!z}f|xjW8!2&$L~K)4hlKRXKKTi{}tOTYX#)Qy5RzG~13XEmHIK6635aROc|16v)-rQAeue+Q~-^gS& zx^aH8J=DiFlx<@v9$We1CWwT(XqF!R3_EewM1D$4-HJ&@wE;~wcAwUEI?2W#W{ZA3 zE_ELDK^UwR4;RD;ccRyYFHPdRqAr)YTmF`qRFfKC7PExlw}APEOG;}fz^b7nAm)=$ z%GxBXJg0cyfz_{>(aG}Cuz%NU#bI6&AX`cL<ZugN5*Vko~(TW!t$zq?);CRc|CQI`CJfOyPt&eV#E(UNz_})$sH$P{WY7 z^>6qqkVKc3U*`C1CRJN=?@)*)uCUuUpuIADhHCLNwf3#>AMt8>9Cr7t7cy}tb)D5h znV)6HNIh%y+TQ{T_rDQHC8KL4>+NQ;iZmF55*=TI-{Uo#=0lGL`4i>0mF6xK#b4)& zK3EMaO>3Jjv5JjmTEg!NMe0Ae@>f31^sm?;37vHx1LG$oS%{)5FshqJi6Ia{;Vu*#P}9OLBcl9WRJ!?(M4 z>P>TcMo89wh&%cMzm4x8fEzHK?fIAFcmgkCL8E_`$*e@0K7janVw7GVGE~wvDDhy8 z$&N#1cx(EZO=N!FNZ%z!ngq(-DE|eDDWYgdF{C&kKbxj^IiAjP0uS)KpnXxGYE(ql z#ngvOHUHKY4IK^es*#wHt* z+9kYeO5ns;X5d1iT*v>)*_Ttz~zu#gud(_vZJx>5ytD%_9ZD2DrWm1?&w42x4TWrRg)>B={Hj z247TTL5K#jF4%B+F0H%mt=c*dBJ#|Ns;qha-R~_{>(9w|rAINwB)x+GEYFDrp2hE; z`GY#L_272U1YdJcSR7jq?Y!zo=c&ON+9?yMopii=#XuPZAv2&jJnBKDlQpEf%vc)m zqTHrN%C2bE>3k+LRGN)?^S1y@Q{BnRQg>%qM0t)gI?}v}FWTwR>N1adJ}5H<0m@~K zM!`fM*z_Pg7d7%*jcio(5m2k&uHLge_`4jOW>h_0$k$XF2Cf{ZSY*F3y$2!C z6UZZ+#Nil91UVn9<;@q_3b}9T)VUxWu;Ik|K*S8OZ zDqOCf)aO#zMAm6fGrQB&@xG$y{iM_zr$^L?z3BY23BanfNB!cLKcHo~4Pgp#*P@A+7ESf|(SJ zL*PnsE~I23PnJRZ(^`rzAwX3--*Q!3{YnUDswq$_d3vHs7`XOgbO zcidEZ}Edew06qaYZES$65qU4fJZ8OY9Zz2k!AJwl=hbd2a=Ln*&0W?_mttEaN z*Ulm9^m7mQ0JVL{f~0IgWps|w^ipEe@wBvKT*ja!JR8KNN8ODJjn;wqGg_p%amy58 zVhxpt680=OPOfgVufKzzj?0ck?yBEwTo$r6u(m}5CGq|oh9VBp3bQexa=cc_Kq@)^ zS$`j7;*5{dhIC_a724$*n%qM33B4LDX}^Iz)!;z9Hh7$f#7y5ecYGUAkWW&0L9O)I zy98Mn{$kb%0|-0FX^&uJCJ|ZK+9S&gST8tV zTmsG%D;@HwPQf-N4=fHvzuF!JUfG(E)bn<|s+*f4?MBeNttADt;nRuc4nEX-P1 zq;mOM??Te=pv{5?9-I% zJoGw3I6#KcreW=EZHQdJ6{$6Hic$rA93VRP@MdVSuGx}8{0zQF46k${l@L#$4qttS zPyf-;*9RK>`-WsXT-f-d{rTiU8VM$}Io%WS(%8r0<;lKjNA|2Us;cMBYsD=&ye!w2 z>3QdwS&~L_dT$GoWw2?`Gog3{4D|lWO|jYalZ3PI*vmy_*9#e_?Spq&5^h`(SG~+! zRp3!Z6$&FTVYKQ&#wP4dyf7*M_h>-bF~Z5N-S4cW1n3p0BeDS@uLE1YWw!IJ>|m(Y zQk!Fi!YH1uRsgQ5+1^d>Tyw3QIjT(@PNa)3$}jHEgxoW_{1!DTkeaO!rOe~v!~x_I zG-~?Jv5aKB47{Vqyj4Qrr~(FBO^|_RL`iV_x@}G8VT8Q#ZcT;Vt zns#+d0k6tJ6>3ZC%qNk7)NaFWjEb!^~L(H&FcV+dpp=Msg~B95cMC9MR&{ zKDz8Cji1r%afU%QN)x-~rHM>)Xp5ie;4J&TXwxe$!83&ki1MK@r^EU*UZx$$TN$$E zSx{1$&swmrk{(P|@k3Fjw0e}M*z@c$+s|3Wb{Y<@gy`Q*`}qte%W%5;Yk9x|I8}K@ z0?>&`>RG%el)4JNjvn?huypI<^PGYQoT@Bu!tbsv@)T+oUaPTW zv;SOi4x>R?Kb1H;0!Y=tRPEzPSi#5H9?7IZbL{gsj{A_|BVp(4B&Lb zS!dUmuvQ&{9t>)z#5u>Z?lX%?a0JcJh~(%Kx!@v1Pc&n z=lu=h)tI31QM;xCj2~8f__Ch0 zojdT9jzX8J;0$432{v48|21;pbteK!0b@>hRvXyXjjHO~P&~7F8Q%?Qy2y!z`J2Bp zj_faGuTIN^l`*RCf(O9__A>zP#e(_%ukS_?aVfS1y@et)7sx4YzF)VP*fnhGg6+c9sNNz^_t{ZM zO^p9THa*6jdANO)d0r8FJp*)~7?`h2(>fG1t_I}ZvtCi-18hxS&w{Qd`^p%<8g(?k znRNKvEYXVb1vb7!x7Rt|GZbcN3}n0M(_Yis&j>=cn*ZxtigX9 zfvjvsPLs5P=j8JU6(Qe!Oj<~Qd`^V44x4Un2M7(t&>-HS#^MfHQt+SPerPj=xSwb6 zirZaLVBI8&8dc1>uN(_DC#d3!C(On4P60m-6&@0T(T9_-Ni!y4CfX9*g30i-Ob~Ow zeh$8cAYLjX)6MWd_vTn|r`$6VtQv_?wM)a|e8o=3!g16gVA|F?0bQZomSYUFoQ%up zK^3(FX$|@tqfa`e1Zc+vpt_f*LOwuXh$B5Fk-?0BjFI-d13C#y64fT7I)%5g@(*<= z_b=p-2T69L5y|PXK51lmv7_vRLB!D z&YtvYJnn&649ykhzy23#3*J{%w=Yag|B^3rkNlKhYS05Nyfu~^$YK*51juAr$uOP#7=4)1r!>latMHDX_PjC>&K?RWSluy1!=AGDqB>3tDVksi+J&zQTJ!aV1Ao!FXewqxW z(3du@Ny~o~>x%1-pMbq4naDAT6GduIjf-9hSijGQ2M*z21jQST6bA3K{kfM`S9eYF zE<&B3ij!6HkMEHNj7|@5Lqkya_K%=0fG=78S6A;pp^i-cf~%;`l$salvY(Q3RB|{q zZV%SKsiCsBb-2_$k@<0b{-_8z6uPQZBhr~7OgpAYz%55cR|WpymW2*CQWN44+(V|S zEmRKq7d{jN7XL4sJjL#5wRkM7pdY@8Xq89O-R+dD!}!|S0zKo_oc5jKCO?>94qNZ` zHnALwdCFb`3q%!X2nYAQvRVnqOgXYpOoVWo->#=9$pjU^2#40rYPPO zCRGP@`>{YvClq<*I@_8vzCc5oW8n1kbO|>#dPkX`E@Vc5b_%X7TF`Bl$+~$&w>R31 zpPw#nOn1R6QoPE*b2ez~kEu@Fn8B>j3My_;)~b&I)Zru-LQbM;1^eN2p3=6yWg)cx zhGBw4DES<&hDJFv#ls@rz>1P?1PWDulzfJEdIN72$q$7FB`9$@B{>tNBrRtW)% zm&GHhKr@lY?*G%2u7&bff72-{i@w^jopRIi7S?h7E_;;p2#mqmxdu=D+P=Sy>HEgd zbXQ`6coZTO5OR$MY#QcL%6$-mInhFWevO=O(aeL-Sd<2%Y@q^2aAnNSz zNaC%y(xUd|NXOh0_<}w3QqbC#*=0j2_BSfXYPZWt=jlIvlC~Mrtis3SRDf=&0mjbx zxePGyruxag29h4ZojAlNzHn8Z;(-_e_p-FAQ6p;RJ6dRgb%evq(GBwG9!q}zG`-q2 zkwt6o)+PVjE~x@L{$)h{{2Qe#e77by?$OE3I|~!3dGoUM&yGg=FmP3TCy@2kSG@(c zJVEbJh&SP7?d<3~4Ep~*OR*;o@RE$D=3ny?MNU6)=KYPIrN(=Wc1`n60|C0ghx^5y zMkjAm?S1^4^Dsc>t}~&JofbLx5K{mx6(9c)M$BU7nzlsQnmRJjv5OH{SAwi)8p7N{HQvB|M((pSQ5iAc`Mjfb35LJ`^QIUQBE@4)6`wcAI2!w_uE z3@QF@2iz1z(7fj)knlWtklT-RD~1C5Qh5Q$wU*6qxrh z8g;Pqz;=y22m|MJH=ZUJVEF5Bj4}fh-GF=&;t?FGN;1OJ?~=z#aY!GY2&L{Z6aDoP z$JM{;Yp_Jo2rof?V5!jWAm^n1m$_V1`+C8GK7aF3C1!V3uO?h^G#LFGAuEur3;; zC+D`kC!fDUPbK4$j1`rV9B|FQZSV%wr@SV8mA|y}urMV5&Y>k|G<=4t#d+bXPvCuv zGsN6Z%tGH<+@VJ3>6Jx50<>v6QU{ zQH=w_KKHFq1g=t&|Np)qhiT0<>Z&`O(`BXb%O3Kk=|+tavJ%IKVEHDTp*g(5)bvOe zD-k)veB9{4!x_r$1la7ejh#?TO119*dYE|E&4u?_O(G85EgbGRpdBRNqtd#ms40sB z8ukjvSt-A}KUd=+R-XR1=B`iS{>61~w}A0+E!&D+E&ah|&R}s8Z=7%_7)Q$jNN7(C zagRwIyW^QOsVg|UJT!m_I^ zm9fb9AEYKzrq~J)dp@3A8f_m?znMSjnlH#EKce1Nb8t*V7J(W1o^5+}N@nM`$K&)` zFPIbSOyF6QDqS^Px)TAO^M+HP(Ea0i07s;jn?e^-@Hyl-v`79?g!x=WGC!4kEF_0p z$aTHAo?OyIH(YII3It_Y&*?Ja#O9STiErrt8b}t9lBP8g?g~~~R-}Y6s3Ii?`?$@9 z0@Y`S)~aqSR>#-?l8&h&r~`j_&vdg}X}%jO^ODHpAB-Z=-2&c_LcUvUAi%aLz9 zJ8u-)q99}n7`Ah@l|42X`J{;P9e1qZKt$r+u6Eqal@yV<8aC(m z@T5Ae4q|e^F}M)!U@5xPx7IlPug2zw(8280(Xgr5-yEAHRl7&5tCQ?m5jWF=?%>QU zRg>tv#WZ0Uz2eQmI7|(bYxS)mXn-U64RwbIbsf8u{K-1F_cew%*N`|Ey`eu=Tillp zed7%tSp*~Et>gqTP5qf+Vd062zEq_W^UHq-id|>POWJ)l&?Q9OET)`7dpr4f!m4zG z*sY&ZIM(>TQ(iAqZs(^_zNQhQj^VH77tWDo=xZrr(KkK+IlfLc0T;~dX%O!1Ca|3H z5e4P9K>Fj<-xk%&wly7n6W!s+ZKDS^N9rJn$#iG{`o(iY^b48eqr`mh_zSd4;I;~o zL+jq0fvJuZ8Z9?6#D7?{%?iEW?0LWzRs1>%><0FdmVpJ^gi?1m=I+VEI8CW|I`KvI zp%lNq0+RY2Nyri+&di8f(tITlK+T~l$^Y7kn))Ut0NX!M4j#nGK0^*~)JNq7zPB&7 zSIHY&Bf#9&T=Q9A{6CjUdSr-u^EYcigMqXvzSuL{<>$6 z^TEi$g)LglAA2K*c>Z#Cys3QvQrglI=9V8qYoW0=rb)=6qvcA!e4!cRkACFR}QJr zA%B1y`5!N8ir=}N&5PF{-XH*j118+pSw#QM)UtzSNT%g08E}~VS-SjRrY^eldib& zys?CX4--jB?Qlh??no|KbUl)y7gLny!=tdy6ZwFMHdxjV*Dj;3gzKwtN!&5_Iu&Su zU7ohmucg~jgVpXF{5oS3w7=Tb-IROSA^aO=gExeP=ho3Cwhq$bK6cW*T(zB)f#4Cm}PvK7a7q@QlV^+u!mXX^G4(5`e=^v~AfoycQt^xB-ZCkwm=pO!rO z9!@{wCOUn9SeHof{pCt2Mt{lT2bg^77{{BuiMf;~g0vAp6p8BvnzTj?k1}Y@0z4sb z)$^+j8U8eX$AgV=)k;YCi3mgZo zW*~X2{6>T9%Gno1F`IGlTo#gLmhLBmQW8*Pd0%FOPk5V`>-D`M7+Gy8zelyG%1uQ# z|D`k-)&A}YpkRzt)8R_=Q@ z>|KTQZ2%Uj2eQ%(YjRkA@-|X@j1MD)oW-CgTl+I>+b<!vuoA?35)mS77nRxD3B z&qe`jLE(%gJL$Fh-{DM9k%lAtESu6pxkU@WTUcT!o{d;AU|M$zZWIe+=w#3H>^q;*u1mS-IKxVyR9HCh@USqw|oAKya+P^qqm&cyg z4VW1M^m_Mo-Ux6!!+r(vw0t6O=ydUiaEdINU0qiRj#YW^((o_cObuF}dQW*EXeVKTR(fg1CV#i?$QFR39h-Bbg( z$C`7;XvGg{<(%z(g(q-Kt&7H|Cw^EwF$%sGwWsN-UJaCO!g#Gxnxv2~O_2o)SU^sH z(!;uxR(0`Ag&Cnd_Z)oKK|_S!{=?`c`8)hkq=;VS*R!IsH1~*IQdhs$5vQtmj>hn+ zr$$h64P9EE5zXSGG~B1Y#wBI)FD7yJ|KpgM&lh*h_lKiC=X4nNin(RYQ0&T2C=fAX zV9|$cli`r$#x{r$DQ+WF&!VLhNOnGXNOT3_PH)V3yVBPazy|Drnt6 zht$Wh213z@c-{%gya$q*cjqxT-TCsqqLPkTmwVTj6Z{*6KuQ|qPAwX<-D3WZUu>YF zHT76{WcS{bz?JI$zPQ4jEUBybG2(Q(pk`q7R4OaN8fX*4pYIhY1lHQj64P2wGjL)vM*#6l6#hB6u0aqLoBv9kg~Xsu+kwag2+PR zW>ayx+7Tv{V3r80I){JFA(092usBjbf;6VVpg{44wc7)LD6!3kxNTi}31)RP262?D z7PACxn%rqgG_^=pIq}x6YZc9jq@DPj!cr0d!th`}%coAdr*_J)RyEt!&6N;zfV9=z zlrI{;?Ril(BbMwCic;@Aylg;#td8zZa^cbAtfz?o5&r0bZ~nQz{f#y@$QuJAtSy@j zi=U!n1`NmlG!UF<+bg-|dT(GNaQN7Z8*h3+JTa9YclKY7@uz!1Sk$=}6ID3(u3|g1 z6FIgrm2+gas+>ipmSi?)kx%lLBGFAgfNF>h;mhejD`O{_$I5;v?;(gke6i7XNk`O- zbhQd52R0Pd5SVG*UiF$1c>s{wM4-rQRQct^298lH)h_uW5=&+3CL#E}$3r$enJY2! zez5vIcP&t34_&mfeF(ef%a?OtMs}1}OgS34{9U-g0(Ui#pcAMhnBW$M+N@D+)N)Y_ z#}Y7pIppYCMz3~O3Oj+S{pPg2w4A>Y3DY;RbUKC*dt|M4Hh}KA8q0L#C)Ukx~;Wo_Qw({qU*AK_1}M6u#aM2$LT zPGH`k(<)nRyr=TylcSqoi?7Jq=3WL- z=s4)DG-rv@r6Trn9yjA@`gtivZF$61rJ-v$Q*SairyE}4m$%R3+#4oV4&(TDI)b3^ zY1A`p02i99e~E+ral%zGSVt7XpqVS}iDo$|>83@m5_!dMZEM0a10f)jEABbE<7FkfuiR9*c?|9yr1oOe|FRY7XoxN0CU5{}VgsKTI_}|Q6tvkl-|$*s z9=iQFzadt2z7QzLuuldEH}8?Hvw4+od?9|cb*%UmSj=2Cv|qRvm5Gf_{abu)YnmOL$_qe% zb@2F)Epf`<)W{1Z9AcBmfX8D+C0L`=TmrFP{wfdo*y>xDbkz?^*tol4y+j7Nl6|~s z%+YPqViOo_Zee+z7l~SHIU*+J#`OVDB4T^`RGb2>g(E{Ps0eK)qcv0^H(~?o>;A88 z{xSa^_36Atmun2iM%CUiE`5VJJwNuO>avZ#A^QBInNmdspER4+YWu_59vMli}7wtOPOhV%I@a zty%-+*Vkc}u)uWc>t&=esv}C-#S%RHQf-<)HH+8|&|sAD;2=;rDv3?d(e}G(=;)`1 zBG9gEHZoKqKsO?rvj2dgjdCV!_P8+#RnrE3_$KF0O z=j}%u><%`4jbg~gg~mFzv?YJ?I?%!14S2J#-9&JGqh8#@9rcirtiCYzb4x?ng6qpj z0arUuKO@As^9V>_0-mM{coZX0zUQu5+i$|Fr|J-3Xdc@y>pZ|puJ$@@eFMq$pWG_a zqOR4){o(u)wZDuUBNPjJ6Vd9E8hcH~jUD*a^{om;pIWNV${Hoti%%kLIFTC*+@ntK zFVA=jDw5#ADVClAICzMLwVS9L1#Y+FB6=n)3Fq=7k20j1b}^7??W)E#pp==#p~^GI z%3He7CuQ(eF}@4N3Ge#` z6)U%bq*6?a-VIkYv5rLIKB$I5QG+^i&PAmPq#A~Vm}8ms^k~M4xQbuTr+U(Ag~*x^ z1h>q+?~X)v#a_ZIJm;0tU?WJ6D_IsUcb&DB5n#lA`?CnvHdVD66f2K7h1zhS@laSX z)T^)xRVs+n)Ec0b3|S|E?bq%p8%@ams{denLmX=9Xhi5d>3IQmkxlQ{B0mTgVUp}! zwU|`#Kokna`6{#QNQ4Pp4C$zVUA)YzXBqF9lY4YR5QV=qy#EeLKEu0axlj{@z(@!=&w;y^;lppYq-zy;o zQ6EbglT9KnE(wtr#!y_V#u2jYmIo290_iAipxv$zw;YsPztkJ!uO+AvZcr|dv)o4#e7_9P zX)qPhPJOBDgh`K5_?xA56u59-%i~-kZ3tARKcflBp;#= z+dn&e4%tI|QA?*$BF<2U==|JN>GQL_|2^n!Mjvc~_G?(u?H?G9{%!TWKSPdk=xFq0 zM2p`N?Tj-0-$Bwy`4Yyi^ZjeT!eYh=q0h1T0?7Xm9;d;CqUgHmL+orRB2PnL-?ax` zl^msvGgN1MJ40+3lBQ!*uF!9B6A2|lh!p;T^&8$g^%L0CbpjsepNRk54kdiicl~sI zHe@K!U@#SE1jlKT{PABDYK0{yDKe<@!Xqsm%zX27^*hWlZUxeH(4Lbs6^``T;mJZR z|IlVSwkES5c!?Kikxe74;yB3>am{<`amYV|sR$BPQ^%DfwjSyncvNmd{4d_aXFfC(9po`UzG)v;-ZGh8@3kwz*<

      9L}bhA5TsEZ=>QiS#kMul)+|gE?<_;eBZq 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

      w;nA*hKEO> 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 z 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%0An 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

      BRjwb%pBSE9eMQM742q**c?zLe-a`RiCYi+ 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

      hsUem*;-h_U}AIir13Tec&i)IFkYGSApZAz8a%! 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

      _wg1(D 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

      >Rt+Gb%gS=XLje4&q7U9_+i?Qs1yoTz5q# z?-l&nZOO#juJ6G3f&c8=bH;?V0CvUW`Lo04%O)shQ9~L=AMtx@rsU=Mkz$Z=coV<{qg*#6=y5YwJ+xI(g z$wg7Q6$>PMQM5AFnD?_IGJ#5CN^ynE|?q%3THhhZDV+s;EF5y z>gYL1?~`L|+J`vR?HM1FfQ#G~jk{l{ZITjGsbbQs9xXe`Yzq|rXu?Fm&ZD^AR?R6q z=w>@zc2#AW^6k2brJu5#e@ji5mxRhJy)ip%qLZ??n`9fh3KKh@vTHSr4kp7R#Dc+E z?@e4dM(h19m#Eca*~0nSTJnj=LEq`+E&W^SqY-aRPZm)+;*I+UAJ-50=h%?uB5KpM02(dwF2h)~gHWlE+GBHYc_m z*WFev@U|mcsBzzvo?4;G5vzCr+fTFHIa7^FB~(r{L3IqJU;HrFTO*6gXw`6T=p6iP z({Fn)&92bij5uSI_TayD)nG(Tb5KDykGku*fMI2&$HeLxC|O~wJw>;&+Tm4j-DKgc zyUZMvB+jgGMt`iFk$J@HxioWFhB_#8z|Z8d*>ZKH+vYmTV6N_fyHIY-ZmN_&IJqr3 zsO72xU+ol>y}v>lLgU`ES5c&@V>y)zyW~E}AR&)K;!uy8NH|B2f#`AfUj%$fTI3{H z%SX*d9hn_yltVq#E%(!;@e9?VQ)?g~JPeQDlXYvmB2F)>HWtUP$%>tIatwotIusc; z^jMhvCJytpeSoAd&0!;NE|cQN&XaGe%2eYtp@bU=uAmhooX(Q3isO%2Li! z2An&&W~E_GPujLD@+JQj99S-Pk_9SGgGXI@xJu-Z@4RW<$o0lLf6L3G`+`%;Pj(sA zw(|pB>Hu?0`j7L5Ept+7wvna~i`gu!U#;xX9TQ`xw66NOmiPS#dEQV=bF;dZx(kDc~YcaKJH zgU5_|oxRPqZzV``(EdiM-@8@xJ*la21?8#ns1vVfpXaZ=dFQ5S z+{HI6S?q2jh@C#a#+g~vym0lj(h%hPvgh-8^qxBTuF4c)k{Oqw21-TCe(GY(L62WW+R)q6^%Y^ z8u)N$r|aJQ(w9BwFazh&9|Pn|pNy@n?A#hWKe?8`p}PL%#gId)Pr=JC#Mc_qJfiVV zvI;DWo_>4210yqXEjB?kJyCJG%ochUHIJPhHqR&~1MF=VPNl8iC2QCb7oIC4n6hPk zNW&Y8&k%978?T#e9glR z4Iy!?$VlW6vpS`I$R81MicpHn zwQ&5cjS5#Xr2z@ez0~>3!Ul4#&-hi`@VRaTw+^RDcUa5+5=6c`W-M2dNt?I3HI-{8 z&gL~3yC`M&4ee5=C|5ZZo7zuFW`R5DcX}7f+?Dj_^_TeO%&Vx;kV6*n6Cu*0U&94b z8y~rC6W*@=+_Lz-(AM1bEk<*3Gga0a@S@doOG+>~#Uy!nv8(v^uwU^ygrjQS!g zZlpz&(l(@^CrS+0&TC90v|kY^h!Oe^7;1Y~Q%LQ{8Z~?j7#Kw7$D_`u#)UcO6UV~` zrxtmf0H|j9vsh6v+MDHtkfeDtq5y)nX#s6iifuiPqQm1O;hRRuGrjqRC-G|O6(OOO zCLIOCYN%I0ISlo}KhSxwZ_M3;N1592CM$A?!`$A(AKyf&M|am&4y$Pwbgc$bnT>&$ zfOzJVQt!s^{>4X)#7}_Ky>5`yWC1rDxvbX+RBd{=lcB0i#7UMsiazyGq;Aky>_ zGN-m*k9Z{?{Wsb1c=}MdP$jp(#IFI{E#J$rfU7IaVY@Fv2X#rbb{K0{OR3(rC4oveiDj0aw&B$u)diKVP+givdLq<7oq z8GHSn+>XZoOK(S^;^Dp#mL*QJk{J~QSm1mb6PNA2xZ+(dEI>$9uILG%o(%%JtpAOt z#;ANum-)`b0hKGCXzFXxG$mYj8LjLU=(_)1-f^-@7A1WP)*@u|yf+|? zr@hXBuGUo2(7PC0p2n1OF7~gQn~FQOE=|I?bd9Kj$2g!&LrI_#>7d>w3ho&1XC44duy+k{bD84!vs+m#lEgP*#q zjBULG8iy)4)uDb!1M4naOR3JTT4ORDJ$yO@0fGPyuJv<`#!~QityO@;%+5F}fOM@P zeupWQ`7U}+;Bj3AkdKS?k3$!|{5tn=P9QAixSL<+V1;^+g0wuavvX1`e$*Km*0by^ zq64t5MyL(AFiNtr{6$cGwohqF-^l>0w?Q5iYwD`s8`KT}suw_o?c`FnpkO5^rW$o7 zHMRaVq8kHL;7yO;10F*ux7JEvclq{AW^Jk549-%n%~bnHg`x%4L;^;jwzp7YQ{Oc_ z*dru3%%^mThv#oRTgx^1GP1!U7wqhtSvSAxgi87~79PZb&M>-9dDHv%E4Pm;cS%qd z(qPTyo_N&1ydE51R-cJ1q8W=a1h`7_HYx*I$JQ2fW2nN&<^r}7SN*(W#!#Xj3$=|% z?_Vn$s5HXPx3N$TgRr#-C>Ujn9u8r*kEl8!yUb$<&W=A{Kd7$=e1v)`Di#x6E~^&r zjxiSZ?w3wavKJ08R(2Eh@>`dhesO(aWy~XkEDtP?tV~^2T-97R!S3;{H9LHHzmk2_ z2Hg&PW^QM%r;yQ(=;BYGU&9Y90&iPconL{ha*V?7(KpJK7%>UfW8-X0)<2=5Hk?fT zz-?Hc`0D8-%Hkef?Qt~7t1?~;JA<39=-P^}Q!& zATo+%JTW8utNelKjrL)uZ@l?KeKDub!)82W)wDe&%GV}o^%l0iMX*W1-aFw+wWr>j zpCetpbw*DNa@~?p=iObel2Dh>3QiYj1t;j&S$kgRC!{o_2yhm9;+%Lpbe?z2%SQAov=siSP!>62xsMwXeLr6D2#j^f)Cf(25sP&c4U zidlZrxQBreXz=Kv?oiNS4Npuw4I#wnPV2q@m={W;&a-$6`0{WG9Z7$GI~t!%LtB08 za%Vai!Cn4iyZh6+pO1hRsz+hl%_BO=5rxYwiT=3rX4pT*9^dmJ$daKDXvyEz@|}g6 zo;yfrb*iQnp^4L(Of) zIvF|86a!FcsmoMn@Ew_#G!QXdwocm(K*Y29oE?r%{`mS8q*k%&I2so6|IqavfKb?lMKEE#nWku8PhQ7V;$B$etr^?#oC zeV^}pzw18teXjYt_WX@&f`2AMxnnab+NJ^^OY#^@1}FbgVdXi*vxKebd@d$)eJp(L z7WC&9qZF?@vkanm23PT?fITm{3?vw&W?o;|gm?etKmCVmmqE%dxMk2V$l%tcNu6Rn zNPb(B*mv$NKk4Z)aHQt?)=mozjuGs1+Ff(N8x((hkl5c|cs zyx;maKzt^B=3RW+X5F7TO7T$qhgacnU|OMz=fz)tINt-O4<6X9aJoOhYer3+Uu2%n zm@SmD6de{n;-5Z?7S;X|Nx+=XaSon@Ub|WZIz^*CUB9lJ=#$`|R&M^D)PQ4mrTpSK zxqAM3RVII5nruhJuZSNEcG&;sIo`M)f;i(<{5T)}E)u)=oFSrjRQo!^d28(zVL7$* zop`4MkGAm{s!+YReteAX`krYUUO*~BJy}<%9(=$rFsLq`QBd(?w{5_I81)n>K0fRZ zmQ!`VM!06!(mYuW0`_z7{6AdJpX^&Xi}&47YF{=?SH5aRc#;#t9kG5dm3=blRLm*5DIdpRc0+w`=jPGV2` z--%u6569Be0ejUlCFSo*Z?%n?hvCYAct!z9<&k6HH;aYR3#SBXZcg%h8#qS)7j`D5v|Q(&d-^SQ&B}LGnDS&uFaR;}sSk zJT3e#ocilO=tH-Cjv6+0BpmH@?{BNZt}wIPgua&%th?=+^P-8zzX%!P@kX2NM4k=z zL$TJ{o=Y#u6-A6Ib=_q{2?^3po>7VkWwmS{W#*};&mD}l&BI;}+R&77B(9!!Q8aFPi#h3@^?*EnndQDtN((`%r_o707lry9-?X>rDU1%Re zD2<Nw+p;Mns1l@cfVJ_P#I=DQ z>h1pPx((LXtY3VQKD$-MmiOD@bz|6R2Gfst%B3bFyA54zniee$NX6>N*li$r3D3l| zK6M{9%OQk$k8dbWC=5#^v$hXLRvr+|j+#N=4ze*A<&Wt4>@2&*p0Io4(t~t&o!>Je z(UGf@JUm}|H z8wtQ~i1Av_76Win{$6HeYxEq3E-w8?nS$Ro|59JTv?;hO`J@T}?2|t#_~-29dR<0x z&#G5ATo38(%a6$X85x;algR{tsk4!Z0|EgtAR~$usx1&V%y$rRELc8XK3-jd5{n^A zI97p~8O!!R^k!^b2rLepjKCV<{jft2D+^wfnT5F$jZMI|qOfjwVZ0VIg)jm!Dr@_%^w-wgk2usqxhs_`FDp#Gu2wRDTK^qkqKR)&9%F(#+8~)`L``IHboeuoy0&nBx z5_P^sFZ5%mW)1J8N)I$f877^JZETx06a|1L&v^ePNS>*rF6_MJpZLVPns54B&89Se zc(C#&=26U#75|I-gPeno{wp#6ovg5!ofsSUM@_0CABqpZI>G?@H@SCIn;yphh1%Fw z)XmM8f8!tfQ_A&S>YOToQF8!5fXIlQCeO#v{ZT|k08{{Z^-t;iN!>=kUvLtC+!X$N z80sIN3=QdzX>IhsV*IC+{*|!gn~CB~HG3P5JRCQ~85pPtLkfLs{(VeqkJ3IkXGy43j6?w{DJr$v>^meRL>$k9rxp$q|}UcxEk?`n9NytM-@K!fV9aVXKViC-<%K z`~mw{(XwU@Ka6CP!BqaN;R~YC$5XH5ZC{KVnn{xWi!dgxO9CQd=i%*Oa{t|t!5W3+6HZCp+iI=Vk?qP+8)jLC8-<&|9D zX$uNjc@$E)7{#o_`(v<8y31`e=C$T`>(MVgp-ne=5nTn%b9-lsr_zqf8I;f`2l`*h zc7@%w&uSj;XZ0&vJ$spd(&fi<<jE<#b#r{s6N|Dw3cMchq z{8z!*RXW$dsn2x(X)+xIcLu`#=PA{H`}+U00P0 zqsOc=suR8!^z#lqp%Pz%(T4l~)lM4xRvx!@AXix~2;UmiRZk`_tBXTNZAWe0ZRk z<#_tvy|kf1?8N-G)8(PpL5W-?4V$GdccO-m$Uk1$ifFMuXBxeFr0!MFPs1|-R-B=p z)jArUcmLgJ<*4^h6-jDdg$2aL6Q5jFmc09w_UvEX;M8pPzT^MuN?dBi=gyh@*O(CY zMNWHU`nPIkOBJ)Y6|0bfm5Ggzj3Ay}lSS2FiBCXF9G=y{NU{qlU=;W8V}S+Emc>@# zuMR2v*WVaI|KB10)8Vf_gqnbf!heQfI?@~v`|OPA&e*cv(qfD@Mf0Tb?ne$bxxeRY zd8y$6#zm)2eAm#jNY9sG2~7{uf_Qgp0v&sDHT#}#DiU03-K;1RA}c{=;)BkWRKNQ| zJ8qv=>Sz3Ff8V$AV&A?vB*bNJs&!g@GkxW{*G>q#OXH1M;R5rFP~RUK5nMCX&)*_k z^}p0_X6IjyJNEX``zOyh1s_d4nl4|*Im?LJEN2%FG1!nw^#UZ>kT>=#RPek!CQQ`3 zN}qi+ot=Mh7k93eSp_p>l@pr5XJ7p;PKVlWaqg``sKKvs5^3|0$E@SU5xTjvd_b_LImVc(QzT5Xvv?=wbFaK9K{h3*Ma&J_Y!rkoN z1;>+fjCd}`MP{#De}Z2Lc8ko8U-S%Oz-pK)^|t$dQ^cUS%6eHUdhol2Kks|rL|5lt z>1wyp`^EiOQ}CgDK1FpNopj&syHD;P7d37W@U$;4%in(8^Ko|I?g*yQ*~ia>nGpIl z-EupJtPSx9nfs7=z)9v`J-6Maw$@NTY2EiR2eM30xc~b3b|~x0y0}&03_Hpat?b0l zFRt@Tn@?OpTk>i1@a6k+^s$WCl!b!}BP*qDt;LNi?=K74^*Y`AJOyqz9-UB)NQ!sz zGkp8jnL)XJsOM~^-j093cw&CMmPqsW@x>xqoQ>0nUz3RU5I5Z$_iU^#iN(CO(gR`sy_wT3!}#FtGEabMLoCr}>U1_p!JM z<#=8*=i1HmOgSbf;z!QDOPdkT79xI~cxUl&ys0@vG;V)%_cXsVL-`BF+gXPDKvfwip0*oThlo-ds-J>4e_ZuAq{CxiyZy!AJz>w4Xc^48qfsR<9Bq_77cR^kZ}^hX zdNQ{!arBo`cswofXYf$RdH2RV|La$0YsPA>J(fe;=Rt#mBhZ z=$SK1{p0>?dvDmga6J153(Og_66|G1wccW`xc>K31s&C>0M*`>aRJ7=?Ad#uHfD~nfcwZy4M z@Qp3#tuWlfoR2{Ri(OxMf_@*;ZIlbC*d>S3++Swx=ywv-F#Z#s=BwMICQz2ueKp~b^np469YT5fe-Si ztxp6`U!IS=b7_7}^USe9zku&+b7iYNemPy2bLZ21P*RuWRGae}MQhv-wbk9m4DMv) zeBDX7G<4RLMevl8OV4v-vHpm2X9(jUI&rSPs`fPb>SSG>z>oUNYPO~uv1C2|Cv10; z8r`k2*g*&I{b;K(SsJ2(TOLEejgjnEQxp53H{^Jte`!R^K4=?>Lq*cREH7# z+^0?B{=NKx4rjcXwcOR@?%(W5D>w*=M%J)<XV>fkL&py9}JJZcva`WhL{6N*| zVJSnEkGGFTqLHQS!&xPYF4scXs`IKfU=X0 zH?!I2i#m2I^YV@Lw2AC9%U?fgV}qSaZMxELtWJf0&}w>bWcj1zTF&V`e0q2VqG!%` z`zFqs-8sUTPj9yuV}8l{n0|QwTr|VfI{b5udO`WuL&=f#NuOO82)$2*dFY3@;XClD zrkOcv0q@)wNZ!o(bamGqDuIth>DFw`JeE-g%ic(KK_wwZQ9_D)S9emb>qi&{cVhR> zv1-pM$g}@gROiw0(*7!+i#)|LAf&%|arD#;Ve+JlstCP$ILE^K+TUxUukmeN{lQDR1(uJ?@}(#?{^7t7vxWfx88R*Sq40b@eIiM^V-Hm~yZ4=DQrc zRh4y2aP+81&oyb{t`?mp-u9Q3IoBG{Tf$iVO8KY_(t>;4E1TatDr)>TpDRs;nEs{J zj(c6cZ?)F+Xidmll)A_Ms8f61@7V4<$vgq1k6ydAH!mdl`6H)pNuPY}j03|5 zGI@7#XZGXVHh4_F6?dZFw*}h^-x^Nm?~;5m|zuN z5iXC-{aBul`W>uZBeg1SbZ0JwtrRw@X{*RdFk9uAO>t#qI=D->gUvSZ@tc){*_#$8 z?{G27WSvvew?pnBw2hc}k&>(vqH-;0e{_E5Y(n|QxAC?BK8wxzvU=$igSS;qE!~!G zZ^1cw`}riK$iVEpM_8F+--RLiYyTa&6O#P#{n+_g@1X4cfkReX5(5^p#m` zeUZ#6QQdfG+ba|;1VaZ?i-PX#E3rh-JhmS0vb**oZpS!}^gvf1F?^uu(%9Fd(h>c; z?RGi_YZt!W<{Xtc$h3Mtl4<(F;4i(;)xlTml5-OAc`WxF4I2?_T@Il8D}`SzT}CESIY((1=coE&#zSImT#WpFKF8nVm)&xF zLD$;XyslE2B0}y`nC4{KI1)mj`IWI^Y$FJRp|FGe_MB4knaR_=ZH@R-_zOXzUW8T;Jc z%XKd;iD~787|*Zp_)LVh_$0oJ&HJa`Yf4wvkDQpeTux+4U)}0P5OQFGYnqZFfGdl( z4m@03^~w2y6*4UJWTC$aCzxs5_P$2G5o%gXXi6D* z+b#G|($>cbo@x}S>EYG8^o#kB!k6*dp@C_Ybo-VExQ15_njK;a_g?cJ7$z_E*1y%H zi~18YkIttlYx$1z2_}^BtROyZzZ5O>@zh9n0sRRp_1=J%N}P@(N_g&)BRWZKBjVe9sePb?0qQ(B~cJ6+62l z22hgr?k{z`&ZcO^KaE5WL4n-k`>I1M-=C?=jnlM!k~C{gDOxl{G*5}Y z;QGyU=PT)EAa%Rw#lrnL3Db9lmo>>Po~}@3L%RY%9BL~sZT93RYUJ1izuUcwTmSm> zsV@TeXhrSCY)~dtR`&9`7vKA*Ihiab%^IqWP31ykX&TWZAHS1(PZbn2{ZwWfQDF)V zOpaxJm%913{`&PRsQqUiJT31!WarhB;1l$uytYENOf}ep#(O; zZFzA%W^v}v9|~m@-Y8XQzUp4ABE&g;ZJl5qe}NzAo>ZGAarJBAJ(AxHzY!x2_5?*v zJ@)ZmheVGJTFV5P+eAB`i_bBAkRQXtS(fr~T|G!(IJ{d`gzLI3%FM;5_CV$yBB_!= z3nYP(zre}qu~U6&Oil4|u~O%1dhvT4)oq|*ibu=n_H!kUO>Ja@VoIzVYaQ!5mw}@R zxC>uyy;3hUiF`X>T8;SOJySo~!Gd?3u*DzFsHu@C{1K0=H9Ly1Vv+Bxf7VH=%=P;$ z^>kouU2idBPaA?AKYx!^V8gHH#)L_Wg_c^y!fn(nY4cKZvxXv6b}!*Eogl)#6fcsLzqetOiD&0$r-cqKB3UcJdqtjV}^Cv;c$>n7fd zU23n7AL2iAb@0bv;i`PG@YVw^QBCETTRsAYHw&X%Hyql@%5Qh3DgGQP(;di;X35;W z=X(|BLzgNHYUe9p?NHGwj%afA}K>VT*C*x8~xc+UxBvc^L7cc$*%mroyG z_~IA{8Cr_=2+u&Hp4SUW4nr4O6`tikXu0s{@3*N+ zg0!!8VEvq(f%YD`j}4(%g>`BY!VIPUyiiEt_QkuRTOIz72)$By1g(32KpbxC{{1aN zU!i~a;oR)Unv*|O&x>{`j@Ddq4Oe;p?smQC(2nby|B(ubXDYF=PEw~?+P^%#ygqjM zNfPV3tJjAgY`ZkQ?C9AP6qz_~p_`aBfGB;`)_zGxfhFVDOJ&K^uL2aT%WSN6<+S*5 zjdvVYj_sU%9u>0Swe-{Tbpp1s3|f$&IJTbliE=@F|CW7Y<8-FQQRa%32fjBD(T2e6 zvCh|fi^a*rRK?Yw>q;dORNYq_dp9k@_2vev`B={>V)X?**=AZ#cyKz8^9(2;9!yqC z-X>|d6=xYdyc2dFIy)vPw2;|9@-65(Cx4}lZnI$19)Do=fudsGd`Xwx&B5OlL0i@-obU!J^i=zCIq3Z=M2pg788z* zBt98B1)1=0c_e)KImBA7Qqesl-@W9nVBBnoQLEXOz>I_rTs_V!GcUgit z;^F?1;7qF^{@!<2ZKLP&knev6ZWe{5$mfa~yg%_69mdM4LA%4Ti2;Kwl`cFx5+ct5u(;ycK96i6|$auJS#sXv-AS@B^(M@((11@xK0;xf8b=5pT zful%K+9)Ppkj%52hL~b;n9dLt2U=8w1N-wX1f7M6E~iBSpq7cqfgl-)i^7Ou76(-# z$cGycjI-cmh++TdOqfVud>AZ`mbgDAD&s9R1wc%Up`l6k=aiq=59n(|GKCjjBLX)7 z=M%|*kK)nH>>CdF3y>h(6E6VZ!rRtU!0|W+0NF~82lQ)@XPiO+B79(3dTIZ{nhD5cVI&zo60+&70ASHBM84oz z-s&J#5&MJTfEMkmB?v$&7*YcY_tENE+Kjvp?HN-(;I%tN5`bkQa`U?oV~Jbp_oiH) z15mGY=hP0yX~*J}&@rt;Cc+%z9kYI3Iu|@u*SPKF!EH1Xv4(e-$un#MWW@Hd_BD!?q zjmpJeO}C@5uv0D*Dy;jZ~zuje(NHJ zhIvbl^n8DcihRHXUzy=r3lP}mX|{szYr05iba zx&=Y3g$nZyLqwQGdBhh3WCtMc=k*D!;iO>Iuv}w7jZ#9YJg_p!djiCg^4`O3N#K&? zlK3UCONywYS0`-)^U1;r0*FcWw`f7cqf7T+O%?XG13EGe+SQq7f3tN)HmU#qJ|mb& z>XMl>w`UiAI?b1aP#)p=`Uq-x_b`LL#!olqkvN>Pr!103()ZTs=J&ms6#q&9IKh-# zQo0}0bDbmS_{)n_cxWAOXu=XSQXmXxIYx8)a&UP*N*~aiB@6Hjt5e0TD)S=Rq^`bI z!xy}jd6Hcy_*j}-ICCsv`{10!-Wlud(N|BIIy52+{Thz_*qPs#^u8x6zS#N8aH^?< zVKqQaw%(8{L-Q#QagNDo_(_X1B$OJn@cJZS>RC)iEkl|+gr@Xj$~ZRev6NWLZ>%XI zUTEG+S{($*4e5>Ka{nva>J1vja?}u@w`l|7Ca(-vr01Uc^fY_uiL2PpvZxE;#&^!0 zF^s7}Y^ST{_VQHmL2zTH#)uV9d0`O>%=WqnLaG?@bw9?4M)8$;%@5FXjG+i4EWeDG8l+Rh>N_AK)1&Z)U&C~FOOY=tY0F)j2oDNaU{wDz~@e|AwXg>leq&I ziK)pOykvFbAu-n@I6Z+bB$#X8f`h2n;Z!o9CF9IR!&57yc5xY!ucFozfFD0yn4*oM zaJoqLHx2UQCyNm3KpM7MW_Fi)&6_xN+7{A7=?=;QviI~i2vCu1p#Ch#$+Ax}gHs2< zk_rI)IgmLlPKGT4(A+R98C$g<&5DLO!K@rrK3tK^1JRg(8By>R+7yK)5HD3=k!A>|WPPX+w>MZ1@Wah3HGTp+;<#wDIv@-#x)DHW z{W1yyQxR-n#-5Be3xLI8F==EaA0TDkf$@?ETy(St1zHB-DqZ@(Zmk5=y2AS8efbO& zG;&IYN{ObK#fDX^4sAr9Ih zPR;kb$6{17n(ovBVK+8aq zSaA?o!-P~{>`;bk)sTmgh*lM-Ndw)O*A0|3!8HwX3##c&uGeLG|m3z*b)~5gG;mBn)e4_0^AF}Z*0Doho%N#b((5fE0`jXG2-u-0J6D_ zSPIYK!F|ZqnkosYh(esg)TJzLtT@7#(Oc9Pe99OzFH-1=95cV2I~e^7E#y9etPc1y zs};xu+JrF~;UxpKu`2vYGbmaQ$~Fq-I4H*|j!zdJ_C|Zg9-Zr^rAR;{O!0at#*l=Ms|-C0c+8rt+`Ujta$Yc&ht`-cWp0&yOf*l z5Q2jRz!#4xE~+G7Jl6b?S9@b&_0Y12&vw-Msz)9_bEhqk@oMGILk4c3`C46zi5;!f zSm;6mkjwiX;>PNG!_0&@$yYgcBc zR3^3d7PVJzeQuISesdTE0C0h^KR^O1KXO)4dXyhf7`3l{dL()KsG_hE1Soj|$-6+Q z6gf+Wasj-SA_uuTS1(#LpU53#4maaDpWz75kFPeFq>vK6t!$;(PnDSKYU%g^5{+#GpD`GI;Rd!WCf? zhn&@zM;;$vP8Mr2leJvaj~hroNf3}xsh?Yn0$>w4yfV3znxc+! z*^dOYAZhnN5DF`!_?Tq{=nr8#=s62T5AFk=m_l507)2X=!PG$E0mLI<9r=}s$TRf- zWc4N(k;5mhxl~^kqX(#N||SM zf2nN=uy;5Fv!vA&zdk4O0CK*oBE}_e#{DQ7X37g}$=_30DUokp%S`$~9>bGPPBvja z=4G(0qD#53mG5utu>i-XDAqO5Ye}8L{%UsFyTO8!8WxFX(NzhwLCObWv8W|X~bvrBeg0;GIEecP*zkM0!uezd%9TPsx zl)8#FL-lK+2x{1A#p>E*4=$no-qVF*Fj2>!=D7Z$BH`Yj=xP(CQaUV(tUnQUoE?A-`@ zxej9^!x(jsBLRhrow1WU4NNkb$QL-VfX>(i*fBO@8gw`d8g-P^L(|d%p(&nv2*4~{ zS2a|)hWhYCR9qttMZ1*;0N1n}P$DzKH?wJY)LuWvPEU~ZP#FTxuMwiyqs*AL9Z%^S zDx+xwT%}1!BY!km#|{E2!k{%;642_Y#(<9p`cC75rQR}@Dz6c6aW)FL(V)G_#TA51 zCRlI;LD6&+1lh}^(eKPA-jd}+6Hsk!3Vc790UDwTF_qp5$O`7=|qH&Cdyy0wQc~=tIGlkh+mw9kkp81v41BLv6n8?^ps=c zZvjy9q`gF@2K4;YaM7NFy#(#i!P;?i39MkMAFXIWjvIR7V1foH8sqk((NJ&=#{#Gs zgt+rCy{YD6IzF%&Yq$V)!j}j%@b;Dt3k|BszeMSfA!D_X$CGc!T=?<3S=G>`Z<ACs6rPMz3Sy+X2W;JHOMstY{#-L-#hQuCVn zu2bttp44@f-%S13De){vq~N(ONmU;^N6jUnLm`=yl&`6qp9vPo#K{S2v2As=oUOae zEy$>julBg~=-LBKWyTt@)ADk&H`+}Ajc(Ed0W-(OM#Pq%3EAByR<}@Ad zW@C=DMcjU3Or*u0OUJ_U8u0m#&lHJWxP2aqASfBkDCZ#%V(|jvI9!H zh0w)12KK6%>!2{Gj%CcB{!tfDnJ>+a01z4(8Aq%{72%rWQ~1_)v}CXDcgM;`dNEc< zj%Fb4o-o)TG66?jP%RE<6Nhy@7_kCia~=VjU2hS9%9W2WQ$$Jh4mz5b&L$H!`~H=J*3tAX9t?I=qpzn|1jYpE&g7Xzh7lNXZQZW$LFg%pKA z0BjxMb338=Qq%Ty*Y)uYi2C^@pYve}S7*jVyCU1_Q#yL9{WE@Zkiv{-<9Z*~U!m;J zxb9A+;72x?jg_k@1+mD#3{Z<>oGX9$9hbg8M*d+<#(j9SC&->u-HZ4~hEC2bKss;zI zfQZA@JJRt^cO0~9DWfc-+4u!xF@P+j zo;Q4qqo!Q#@H4CXEbvr5IYq5r^&`6*1md!dcxO|1Q;p8yVg72Pydc=Y!|X}DI)M58 z?4=>iW67VfElUIxKtmRQ0|ms?7m9c_MFSxCjV7DpG?7`)G6evA8W{;We*$7F5JIqp zPcobbRGz+1h=Zn#0DBXZ;Ik+&RVVsjmZJ#}5}`NnK_NtP}9h5NO=~(#G_zCEwX#o{WWdLwV0|0OnXK zXb2&xmp)>Ox`=$RMwb!rxFUk6=kr zAZw^ernf)@ffi8$Ef&Y#Bu5RRYsgZNJ%?sYU8yQp25Lf+nK(#wGhcWzcaiUY{KbmT zcY-Q4=&mK)eTy8X`7Hfh9LjCll9co5FO2vs2QeN)5?I3xUYVMv~30nI@G|ht-4#bQ6aIUv+sL;Y^1)cSO0e*#E>w?3LToG9|oJLt>cWB;_Bs)>-xfLm(T9`3!3hh~f{FJUCxk}WQy{}$I z7RgdL(3ajn7t7}ar|BPX-(;>o3!#GzoOe9IgOz*`*&d1723gf^YA zPB=q`F84MeIZ6!Xy+2B_nT|5&vr`Gym_qP|rCAPk$lqXfY9 zwg=F`q-*iy-!Oyl`5sP%14`E>IhLR6TWmFLX5L^S*MbORt?^qWBf}|rq)SX|Vr+p? z;Zks?sR`2&B`5N0{QL=+88{ZglN?}VOiQmbsv;Dw7^o;icgx&aV@#>$xEggO!` zoJP}vOWVmlYDb{EHG~8=!4b^#24Wehm{OReLH>?#DTMD}l<%U`&EPmQavbRha=;Ij z>h{E(Z<-^5-yK$9>I{H|9L1998+eVT)7}MvSKD)?!EJ!-6VY%RHIkf`NAu63Y*AuU zk?v;A?;0u`YSu8 zZ*c|~H~sX<3cT1v&;!xv9XSe9(;6jw0V(oGMAfq0%h_B|{2*LNXOV2;rWXblWaKg< zNXcoz&Ck=gBx&PPAxcCa7_)o+69?eqCV3#kBD`5hT8oP!unZiCpBhZ7i8&FUT5f70 zBLkpV_y%?!WZKEk(_GJ?KrQUTK^+8^Ml>-dnsLUngpaC`TC^E)p)~4%@I_!*q{IQ# zRkIO1NirfpB(IbOPLhBdqUX_>c6eOhRzB&{L&P$Qj$T5T)BQn`6kQW#YK6R83BuXo zCkN(nspEW`G_7p?OEq%4Ily6JJ`)0<>WS>l=hM07r5#7wOkZO}C?gEZ6ifIjF-^~= zJw%&-3M1JD9pzTuhg26B02DKgY6B`vGL(|I8ORCt&S`5hvE8*TRm?o^_9kPwaKfQu zA#o6(woS0i#5$mDUkMxDzyjutLk(s?lw*|Mm1dDw%FhGU&$796b3J1wlZNN0`@f>{ zUvJivEIG225VXvdY2r<0{Vg*TSR#he7r$UScG$>;pF(GR4=M$S({})4kEWYIF164P>lf%CP|PrcY|Pn_R{Z2@}?2qvifL|0onHp z%0998I2r|Hy;+$+J`$eqgf|WWI6=YdJPC-X-9mNgIJ%TVDi}wyi_4egr|c@EVWsK) zWFeZ*mMjtAiq_G9awVRCfBjwz?gy5io|dxoW7xO=D3VV243!C@npJ?6L6_W*6c!Q# zrGe{uUX+>3Ol*Dv`$7mhR;9`9R~8SvKNA311>4_{?1%y|q&2$!DiLLzngU?ShY%qq zu`v)v-~l)uwTdN?mK-N{k-U6>1EwkDxZq_F0*=Rk%flIBMh6+N!DOMzht3_lsjqQ@|qvsOtcDl&2( z@D@2h$;3qD-jQA(pGvCT+Ajc~4k?V{0yJf~<`Ph;fk*-%PuKbPK$JQ~J9R)vW9<|R6>oEv(|}aI6^1(+$Apv#$Ikb(0aj!n8$i*{A&DYOOz>ME zgiBZj6y%X4#)=#0Zmv>YfvYOU7fDJ=Sf{yyB6aeVvVDN(3ru&&C4O`UhRO^;zbotE z=zIlG?hsB+nqpuUDN5l0kZ9@8-S0BdAXL*lrgUspizn)`E<{l`DO_-w2l?gX@p$Fa{O!1LkGe*5#AYCV2-cAq{h!w|>Pz zb}Qv7l|7<)mKg&1w_wRWR69xl?}(IUQ^P4Pk>U5&$z}$?GIM6vZ4tHMmG6lB;)uKH zh+M|1zl;l(sR1k?vo<32!?D-|9!wyO7r-&Ru{>SWYYE0CH{UJbWXX=6J_jESCE*9Y z4@fJKh|i87C6$BsfXkW`HbDAkrIdadtP$%^Q~Nea#8+VssJk?zia7j{0(+)hr8se) z%fciYkr$N#DjC`lrLoUns8@B-k3rBlkkJ^B#fFk@F6_6U48|Z`@k}V((=@9(B^J2X z8-Szyn}9}6CqtwZPA|}Rhz8M~sg^=U^dY)?SbDd77N=}VqvT7zETAEJlZd~w>^ z_voFr2=g)+f2NzHFp2h+l*^u@26-T=0Aeg zs3*!=e<58$DQZX|g6{6!G4xGabE{iZDJ2Y_dE;R>PKrh09F56eWUK|Y)X+%3zRUpj zF3Uz8V*aos*@^@n37M2*7gQ0>>Zk||nu$b?*GOL%y%;rRrg8*$`>O%B^(nZ&u>??- zS~1*yvPcyk&X*vWG+#mcw7(5dX)!dbU`_)rw_7;a`@HYg+__AXT zNYS7ew~(eQ>KmU1*-NQmd{VV|;<@M1(1p{}#hLV>p?tjQ?pPyfF4KHleI6Wij?>D8 z!`t}R!XvTGSsNaul$=b*!kV7*e%~a-sK_KlUkN?UR{&*OfN@ZXP#=j*4$NOD%EytL z&XKft`TKC;1JsBzs#GM1W{!U$w=Ibi3&meL(L8aO!=pY~%WyLdA#YB5!?Cy(**KR# zzjVcu_R-uBVMu#HF z6+b4X`$-%Vl__bCQGBEVE4WY(*QA=Q{b7MWX-SA&ZUiGxQ%48(3tr(x(Ph( zr#{gy!%CDrw52b{1mGixb;xm>?Eo$6v^Y!hrBNaoF+8dccNKajwF|VfS%nrmSaaav zA$y1>8%;=JePz9OUqMr24da+c{=&%E8yC?w`7LtvK9g`3m2N2$fG1s_1jDX{3S38~ z3}idp4dkpOfxsR#sGL$oY1=B;xtp~%79UpwSKXx5FYiqpYkZ8H-p7)3;jm9mA)-Ht z6RhnSbpfieipr_72OuuX8)P(@a-DJF&xMO)AX|7FfGOlziO7Gh3dE&BepL&L-c+N{ z{SlC?$d|%`(jYAx6S4h@OAs&^zL13J2xbo_60VhVktIk%S>G@`cN+^TGV>odZlXY= zTZGXt`7TZ?&Qm3s{M2I99x{G~+ot3SOHgespf#j|SPkNfh(H;#i0kLTma1BhE(==kH5m;^IU)IS8({a|WCX7V z79K(A*0-WTAi?74<6*-bXZQn+NkEPz!Y=-Z)gIb0jYqP)X?sU1+Xwpa%|BZpL*Lm`lM^6@P$VzYe@Kjy8?<1 z_X24L5z~f2Q{ZH=gaDUYeljKlFL;M>i4OzuJJTce`|JFE;7%gbkIc%>4??@X$FkD* z1!J}mBw7-m9O$r3FF`oh2Oof&5AJ7XXFo*`?Iu{MgbX9<(Nlq@A` z)L26i8j>Vyq!E=RQVmVEBwLaw6{SU4CR^KkuHXOv`MjU^HD>O;=RD8%`98}z_s-m7 zB(3r+s7^`cpefO`{#4oNU%wXV{ zt^Znpa9;qT$dm31kih<_ZvB54l3?lCM1B;c$mF*TYl1ZiW2ob}{hZ(?Hk3}VGE@H; z0rN#}>E|rHZrM*v(|K+Y_}5j>=+}p73z@$MjN=|8w5)Mw5y@#ch|R~)W;G+$^QtZP zet0BbaUZU)g;`#Zn_#+{O=On>(WWk?Z7)=Q5+^ypd4CUFmcS9IiEm^mECq-%^j2Q6 zG&WB1j`HcF+aQj}7d%#Sro(uZ^asfnWNZ?AEBkuB;sFnqedNH$mu=7x^PcjJ+K|qb zw}IJ@_b5tmdml93yO6$nv~FkT-5&zm0*XV0cRD))O zAO&$ITm$juQJB1YcCTvMhfQr^eR20#A?aHy#XKHzk4lmr#zUC&p_fKAD3jY~U#h{S z5a#u-aSYsj!8dHwycB*GZ5>>!b6tn;$K+uC`9?)4Uj5y=(?qETsaSc-iFp+C4IUkP zarQ!1I3@@mpqNv2MWyqv;;Erm>nyKN-<=b8+N+@x;+G2JgG$i`nUgJ>9NZmt$hQ0wf>fhe3D zZ8e6t>7BS2X9dE-%M8Aw)nOQ_S3?ovHK3ESDNBKv(%&u+y9h@M!a;F=cF=@TIj*Sz zSj?DO&9E6XY=NRZya3PjbK5#XbEQrm6>t!hb9RQ0gexunb4p5?7y3LWG8zbN>qQa9 zfc$HcE5z+BopZ+$=6WI2lL|iY6Z3hF#glYNb_9r`9SoKs)!>NDgO4R>aU2A~Tnu|u zh~x*0@keVvILH~t6_&`n>v%yNHONmiNK`0!Q-L`zNYF&tZBN+ECCWh($5bBNXcJK6 zaC!k<8h#Yg;7hAQrw6lN2?+|rrWnHZxwlvf9c6_jwGFmNGt)Vg18;DWo(=FcI8O;bAI}%Z`%Z99?l5oNna~ zf%onxnm^3J6akBxtRd*BL>O9w14;p(fQv%NqNdhyHtwV-8e{PnpZ|2E`TRPNYZ+mJe9IFQhV?fsAqg= zwK9@b`O9gPgSvbvw8+b(scod=NS}CUb|0i_xtNNa3(LDmUCZ}uETOZ8=2y0jp3Bpj zgQ1Q|p04JY#art8D+jrQa|EFc(P!3&M9}Fc6!%vWqVMOwj*ZxHQenvyVz-mnanK_F z)#}t}H}PXPrIOSn05nl+Te2hR0{rCL3lgk}`1)V7i>Ooe}O$Wz&{qG7oqMD7<<_fx-n=9xd zIcNS`K}XxN_k7t;T7pNwhfOUHMz!qc$1xeB*W|J=2Aj=(RWJ3yd>WeMG zUBP4NaCQQ?;|KNY$LtZ~f(Bnq*^UI76?aZUw9h>ZBk)cb&IyM6=sbSHQD7Nh&WXYU z&F#^g_7F6vz-h8#3W|*QwBOWS87w{A0wrxzNHpyN%SBC(K-0rQaa&2)2T}?k3emai z!8fNRO?N_2oFVBSXj#hfs{Vq5n1%a4JX2H4x#WUuNdjK{speI~5n8IveKZdT1LM0mxN zbYd_aMhpm~v|~95TasbUV|JXdE)Jt~3^E`E5`NMk2lNz4e#_)h4#E>~ck^4iq7bA< zXcL3DWpo!&H1`*wmVxC_)2yU@6lbUi1y%26Q99qNV<}h&+OM}4WumG~8kUrWeg{LM zxwpsP2+;JqWL&JEy^sp{B%K6ZpFuZ@kP=aHZ>;tz>^)3tY9nem4PbZ&ow*CW%s9y6 zyiaP9-7H!2h^TR(>P3U<9}; zCAfQLr^TY&v=s_mZ+Aq?vt1nTpqu(H=HDLAD|MdCaOWLAtMa`AvLXHQmv~%GDtl@$ zgOh;+)3FUS2!A_ml-J6YxW#_oJ%y}VKb<(WRKZ9lA1eC3g09%av!kQNw2cbRZirt8 za^o?s2{fuXVC2SU+@5ZXVHmfi8@uosmme@H4>WS&F@9g^eX%{-4%)*-_<`vegdkZ# zYjpE2rZhU;A9|%sh~QBuIkXuxfHs+CB%Zs|sUPC}0sI zbC91R4)Nb=s3oEAgp;9EOkcTjH8#hJlQYM6t5^eCn^;DggKwfLxtwB2$52devIZrB zb`sJ?(ceKD77fp(tkd8@iWgC(2QveQU~Zyv;QO>4r2>Pv_PI*?9D+J2NBOYfaT^rj zg5}J%4u5Fu^%@Gp`;ghr1>wd|!8B&dX?WrEbmtmaFYU?y9^BJEWVV4q!0x9g~UQopkt)f$+n(|+x*9yTUMC5KU5&8xaf`Sa}YItPK53*69sP0Vz@{qDp) zJg9}fiYn-qjW>66v>>!kQHP^jTN0`nE;mP!RC^&oG5ov`lY`9cel!8Q=^ufhc3I|m zx97Jp+*^g$-k0jeWEEnRrs)PYv}h5z)T>+EJya#(>dISNhEV%tPJG+`NXf(fHJZ|? zAiL95L1$P-=0%UKv;0m?wZK#6rv~MHk8f8ZIXpvg$Lp3bffgtSG9$E1P^3yb2V?K+tk==sx!0^r zMCnxWZKC0Y&sBpfG;-C8 z`S_#0r3CPsthcCt`mzY_lTu)JcCtXuh{+snFE1oC&C(X^04qCk_Y@GaX_w7qW-a@z z;AtGxALWiUaR}m2fbSVF9BJxZOhF0;2Q>(a&v1XNxtML%p$(>gj5&>h1GfTinRKGq zE{_Eg)k$19h@#HF7gHXgru!US?hP(kdN^>+5M-h+lo{zcm4E*yw7~HWoOW)b3D_dg zj^$J!f%}Fp|8+{ZLC^?OP#uDHadHZtMnO)>lki8d?A{fxSn5H;8pvk<#$UH22@$|4 zEJ_IClG%ARRy9fKq$ra>BHeK1S0vF)xM;XSU5C_*(A^A`?B7w`9LnJOSWwIXH4SA> z?eUQy35AM6EfDJU9^Xa?m1GaefE6SfY!u<74_|n6wLvZ$lGV>L(UN-3+7huS;E+yrpUp05c492jDokS6Hpvv8YIP4ih)WMXiM0+ z>Mx7vMO*_0Dpw>4;|lFz5p@y@(?f<-!3+r(T97Q@Jo%!XG-ZgW0_W`z+zkt9K=08; zT;PhoMhRNNep7>h6}t;6ke~`&KqB#S$B|)S0!1O_@9WH&X_sY~MPg^o+-JR#E|E&Ia7UhBVPq(9<|h zX7mo;R$}Uf!(pVc^B72+!Kqw;6M!ILhzzD=G3|BtzQ;255R(nbT9AIk9q@t-&XWZE z9z)bmM9A3SykFAUXB%OBv^6I70cyIZ9-6ij7_=V!=2d@y&uP`;ytc6eKkW)>8@iOQ z-ZO5f<47@_6b}nV7s^1ESkBdN5OXcpFC{(r6}J|8@PqBiSL?LM@FE!ELZKIS4nf5= z5EM}Wlep06>9fNS4SPI#Yb;oTh$3bt%At2QK}8+{S|bOkY~SsM$K^Lo&=>x;)8Nt^Lj$g zgUV2dH3WC6W2DCuaO)P3$1Vko6vYlI+^bk=2S+b(d1oZo+kRiVsaUR_f+f+!69lK# z^rHKWy{IU*Bo$I8=0F5z2TG#VuB~bc7*aAx;YcaGt=;k*=}eCFl=XCtAP4>){+OtV ziIssSd>$u7I0*9&pr*MFolhI5MPKOYOCe+BLT~T1sX-vCpc2U8*1P<1Ti6LhSx!gdU~P= z1-IZPgrmjCg2lk^T_NuraVSD8Q3Q9r&j9>U2&vW=1-1K0{uEJ!!gI_}0+7OX3od9v zB%2&*f#QP1G0=7=6lsMmYhN-WrdKDP@aeo}(#5-i!+Mqj!8+h8NRKqioT!oI3vChj zF4A7(zav0bUC|cKW&=!WKB+#qdH|tBS4aN2DSg~MYEm) zCM53GpYdz4~n`CX3eq7Sn&W2r@=PrFZuS+`62{my2PTpgv zcn}sx$G#88X1H+Dc2BDvyDntUN5n<)O`m}K=IyOBl%cS#&|Mx#B+W(0ka&?=|nz_w@Vlv@a27iKf@-wR3kW;Z*{60Bgy5vF=fzG+PFx0 zQp&+ALRNL0PBWcEPR=AK%m*42C&1nZ#y_G+^0cR@_tvWl9TFT|)lkmuhA8r2CU@z1 z5zMiao4gm3lHe{9{H|(Hm&nqV_XT`&$;#jQ`ur{ZLp2TV9FoU(db+>uTdW2VQxc} z3iiGFU>XTch?T1=U<4OtuXN!!^-}_%WvI9eiW%t05bzf4JSlAwm_pj^(ic*Qe+vqC z|Bh7+XBL!%G8QzlWvy}345tm+95WTgr+G{`DaNqh9Oa)7hUSi5XhxAF$+O9qg%9vD zu}o{o4nw1Gvbl;ht}e4Oc%V>`zseBVJ7VvXz?%KHK|Ev>BdJD!wIyChf!wS`Jbh|1GNfmU?Ig*HK-uywHQgO%33~5j|H_-#Cy0j;Z)cF6@>Psc}vJqhB44dN-_M_ zm|LC@3JJCg*qs2k&)zA3{gNo7T>=TTlCybW>6={S3GhBqjucoio)~4fSM_Z4A%g`p zI7dUnb|+&(n-tSEuhvpZxg%-9oSNw}BnB-v&qT99hL>O5DTf&3){sAvBRUGB1a;Jj zW}Jnb=mzC!6el%`8$H6YCkN0FcJWi_TwBZNeO9AuJ z2p*}}2bK@aZ%Einyb@XzN)(*sKQ1uOW6LwkZ^$jnEyUx+RmGFVCCi=2o5+0`r@?g@ z_m0yG+ly=E=mq^zSRrf%hb7h$E6e$gbDl#MqruV3X^5NWFvJaUIC6S%v~tLD)?w-} z`IvPKjPb&jaUgqTXfKW-v?C^p!w@_z(Lx+v98WN^oI_|!^bnd4tpc7IXjzOS#tUE? zf`p>h;WGFM#uD^>hV?*S0tyDN8K7Mc6$QSx zLl5;C{TWUG*qd1JXVCT;uz>-xBq|?B55eXzAB^DUqs)OG43MJWGISZ7570itj-WLI z9s(FqKzlL@03&84!Iyv_TL1^T^nh|1=!Q|jz|a#wAPTqwTmx;A0J;nSsDS5B(5naB zL9~ZpcYrk+41`*N1xdig9jGC^qd;dF0Q=9fJ5WXT5C-Oe&k+0s^dR1;fYv9#54!m# zKB9`KAuxz&D@<1bhm+<2JotYc1qZF5lQO9Syk@DujC|0c0$SW*Hd_x6XC(mr&oDy; zW@W%scVLBu;34dR^X9++B0U72Fpw?-4BTNB;tK;nQiD;GKoema1?)^_z-%g;JoyC0 z2QwJ%Fue@O0hCslHMwbB57^=ZpnL!nh)g1|R3e*BHHX13piY@&Q&^K_Fq_2(v+IDv zR3eKp$p$9fH`VxHI=}^X06X>&!kSG1FDmdPkwuxDoMcfm08A91EmGv7-R;OPNhx)8no*Ds09jz zNF~!JsSG-q$_EqatVtr`Ae&0304O@h0+3)ZCV}^4ax2UL0%QtI^o6Or;R%6bg)Du!&>}89Xxp5{ph|An`@|L9Bo(Q0IfmR5FE5o+OfiX(E+M#DhLO zg90F_lXyH8KS>7cf!|~@o=PR7i3~iQK}1u45`#jgQmB)33Lcn(Q7j@0Po?0AEFyzU zqyS_F5n;74J?7!kU`Lh;D=1X)9F;iJt7DlkwT^u!6AqavPWT20X+tAjtGbYtKdPV zvq50+c)U9dm`wt!AWRuBgF-|DV8k|_2vS4_{JZJ%cFp5efgIfk5n?Mear;|ZH1q^KvemWk60dPbZ(eZ#H zc(6b)@O&^HO{AcKLEtbRL2wf0aEJz|z#%lS zgv_#l7z=48(m`6l5TXLIXfhEL4G}+y2K#^zzz3#~kRX^yG!S#ZTQ(9JJV+WESVBq{ z!38^bJQ@Ut0;(Bt8#oC31!>$Y3lM4*7*Ijt3qYx@V0f6r2oRb<1dahPBEUcsv0wxA z@gRKw88{4#V(Fk2=?8YOEFzVT2yco2eZT=6A;5qwfTl>ICRqRo0Fbf3KEfFfMgU+7 z5(^;sU~ohM%!zn59S8#MNccc8gL(p_fmZ+(AQSN{U=|OMfe0vn5DP#U7@>gDVt_zw zCLgdu$O0Nb8Kem@2O2h|0VZ%`GhARp1*H!*JP0V34pK@XBWVWt1Ngv09;9>A84yTh z%p!#V(8v@l1&|~1fbda~;9-%X129OufH^QGK&v?nD1g9#7c!Q*IiaH2cr18;z#!uQ zk7qFu%ZN23oMiGOoeruAp#iw@P_V!lppPc<0Dq7g1BnE~0K^xe1vIc^KoN`7I0z=5 zMZtnr;2ffWZ1HF?RuJl-8H5p#;-PNZ+B`xs3)mvBz$?HC3v7WrP{_a?01aM11%e;y zrc;PPKpf-=i6G*b1SkvOKN2b=Nk}6WF94=nVk-;|fF%$MEO8PILWi)W5V2s&LS`l+ znAzAAFht38qys2|P$4@=A94(gAaoH_1O}84n9RZD0&oTlC_n>o1Bnh$LdXIwIxqt0 zA_WU9k?|rxW;6aoB9cci8DWt!Mtox+BNM4$00M?1Vi~xP{D1%gJQ1LQxCt@?5b;Ph z1waC%fjy8eWCGlbfdG-r1Hu77Hft8yAjt+>5NmnFBRn{_gIsJT0Js5+Y|=mi0!$&H zM?3+9K>*1TNM#_g*lYqX3~+`7IRWf>@FGAM@do)tG6vefG{A%C0?NP?0|7@|Ktcz? z1a$th0RRz15Dp?0xP?qtc%(cwrGYBqx&Tr%;7JxhY;6_;m|*x|q!al?6tJKw!7L;X zjzL=Jcr9dy%Ckvnb2aFPqLHW)khQofj}aG1(gN{ESSv% zfH#}Eh&x~h9I%m?04frQo+T zkw+RfkC8!#)EAhCKs%AD24V%~G6W2qxRFLM06?O_$VPY|XFA|M8C>nqC+Q$}NF>3O zf^3jPA(aI(jj%_=5%ocwmwQ z){&3^S-?U9h$8Zv)rDlycvBy#8gPIp0w_d;x@l{3H~~!11F8kQZb~3X$Sx8rWV^{= za}ok)P{e(p46Z4VXahi`#y~&;34jB5Z4&q|V*jhU2{(z@0dpoYK#-XgOlN>55@Ddf zX@k63GoTC*8(=ENgPD&9OqoCr2qF0Y0fKG;#3-;0B*?_gNPskeULszA!k(nE5MXeC z0Br{2e;wNN^}n$P`jOECv;b!+5C`RroD2aX7MTkXJaGNC=@4QU&_T`)U}*gZyIBE9 z+5A@kAZW-$vKa+rfNiD&;3Gj408|mi$OMn1510hP2qZ`bIR7AOh&%}BfA|0e3{CJL zN+UxBv5I6DQ32J1{2;_PugHK7IJ5j0Av7`?5Gi053?Ae}itKOZZ`165eLxy1rT-+6 z{>|J0r@?%P5J!pyXakN&c>@e^_S~Go0sqZO1DRQX9LOV*OmKw)un=$lg95a{iEHz8 zvdJ3Yg7Y*o%6O0~3h)D_MdUIVOw)9r12zB$xi&*CWs%b)c=N$vu*%S%(ev2)bd-vX zy+7}OPb|Y=hupllh>Rxr(NpuAV$Br0F4D~Cr^a(P9a3@~_uy@mRF1kdjNtiF?%hl3 z6yp#5QI`AW%{Axhf{tp`?-{Y-zFeaZrGK{WIobBQ-{>EicMIBL_58d|otP~;j?&=2 z8lyY0AQ4t!yjqeH@%V#a>iXrd;Hr_l57pkeQ|-Y!ElSwMeWvyoz200uThl-f`g1jY ze&9~#_SISSeIcKDn2$-7c@1VIN25|^V%5&&WN4f(v>m1_U9`Bo<)v>DyP&4ML@=l$ zQT0-Uf#~+fRI|KCi)Y5QOfE`sW794(su~|x$4?x2Shq#xV-St7y`lZfuB%(8Y(K4x z4F6r?J~Oe+09~U~YTMlsz@2=dz&ocrO!-#W{qfU|rSsFT11>R~(?sRjbNGXcCqB~O z^5Rb1Td-F={!;Q&u(_X*Qf`Z$z0Iv7D9()LT!)-z+WE`Z1}ksdWqI5wCfb}U@%&Kt z+o!bw{2N>Au~vM4;f@IH1ed zA>!;#-SXp#=aVPmU%FnjN;w(z=;4Da4krcLtGge5DRPj{RY5Bs2;{_*YON14f82Ph zBFTP)EvkNG*VHyM{=uyx=|I4gLRcdPF`!=2%mbZ>}(YoFy46^1$f35uZy7jA#BnI6%y)$BR z{UeW6?7tKGe`Hhm$=~IE$RuNfE+?*=l<5$hu#uSPy^D@29@pL}Fn7?DeN^ z7a91NuT>uw)6U!|X1t2K(H$;T-=epi%3u5AeCG9B8P9EoCZC}?s|U}tckDX579*#+ zJp4}Wnv$`JSB&t#YrC`@jvhYcrc-|P!K{9NdGC{GMUJQ$*>K|)-z~l6w0rR)EwPnO zLqi3`hgL$CHO3>vxwi3tKlk;g$4pH;;1Rdro=eoM*)!2p(jxXlryx~4z}=$itKLl= zalv)N>n)rPN+NI38Zvpixt_dP?x}e*uNNV!n%KQgh+oZmz4vT<$(c-Ycjs#3+R`30kJAe=_YDKzrE0bjsjTuty??9H z`mN^aKc9bo#dWJ6xn-Zx!xpYeXd!)wnf<4OE|#9@J29qe^GKBtyTdj4%;S%}7sK63 zkMUXs8gpsCCDF)Xu@0T@NqEZldnm1YQEOH{c4tu~K^e>+bPZ>lVb!+Pour95WkaJD zr8lerJ=eKG&1f^1*+BHw0|olux9{>wE2VDZvR<9i9&7wur?Pi(%laF`zQF7yeq4vx zhQxZ>>4MVC-zF+Dk|(pn$FcO)`U0mazofIt(|YPWRmJ9g$nF zp19F_`dWWr_{w}z#IbX$hs=&{!S_Rd-B!b0|Bb3^t)5jvu}^>Ebv?^=67~Id$#mKFVB1 z4(`uNNRrRFf-e8kbg5s4|DqpF{t>xixY7SCH#@b*y6XV~wGTNx8@GHeah( zH!EAtxT@9hGxb4MgQhv_docdq`T2xNw(rtKRg07f?YiI-o+n4LQ|s4)oDLhwn6P?k z<69z+xwp79delFk^x0oo+5fAw!p;1&n?t=o(Db`ybZPQ?0fWk-Ve@}4pJ|cTt3Rf0 ztQ+m3`n%`;RMnqNAM4ckveuN)HLpTldK$HT>9<#uVNpZQ!TzulnR`4MHFyN$K5)ML zM=bm067cH&fi^bX@COmqC*q>ergocPlAj!YcZvhyD#7Q`)M$$Co|DI?_rjp z)BK#-(gn}VpX+LMXFdEWi|NbxuhMsPR^3^=tEL=rVe5l~rRd8y{OW1Rvif>)mlO|P zecD!fUg7(Ag{%4E%Gc!H8kJ@V^y1r~t@k}n1czS41%2Q9sj&2}`JKmJxD+;TfAfN0 zw_10LvB#O;HWMS$_i>@uW{W>X!0{n!WWw zRFn8yPh#mVyjC1R?6DQ0Yqvs1TJ&Dp$#EVWck&B~^;S2jvCDY0-N*4jd4yj{ar}?n zlrGo$PXvxEg(`OUjrQ~K*6&g+*TX`;ob7)pKlWL3aL~t^oE}@T|APx&XNINKFok|5 zD4Z~KM$7wf^pT`J3Hz*q?md%;@Z)2lo$=B&N=Cl=?osnPnvXUMZ>c*=mbv{0E~y`+ zQQK~{L+|37c=IR2*|yb(QZ4)kI?qHDt(;~C>n9EJN}nUmyb|l>`BL=KSs%Miv623+ zP=qUT_1MbZEiX^*c6vmOYuw5{52fspNp}gzO1BG$j;*zBpZWEjkQjKd{w;Uq!`_(4 zV@GFV^Szm+9Ut}ydHfXWAL?un9UNG!@obYcQTjQ3K=|m&kBBR$%*I2L^QP8=2@^U4 z&X5uSbZu}D8_ZB7pIxfOfr0CPVZvzV# z#v{t3EU#q`0QS;C64|jZi`u;Q9D`1@NC8bY>>rErq!|jxV501~$#GiP{-_-rN-y)TkiMPGj=E3)A zvgfMi*$r_Y`^n0>XJYW~})yS3nr?dp#cTsv{!I-MjA6i&5x$y(MLAL%>t&m->4 z&$@!;<+P~%`@1xV5<3nR$p6#nu>RPLM*w&VI@JZ(BihWz=-*&%TirW?! zHCsUCY}D(eE_BUT1P>aPqj%}sRnBxi5dZ*li20Gak<;)@YKVQQQqbQp#ipE0uDUsb-+G}j7{ta8$EaPw3^_uMCfl9 z()I1J?@k);;(WDgPsu087w(lIhGd83atACqTH<{p{g-OcJ2?9+uDV+FupToOell3L zag|F~td|!$Z$jqmsp~xJHRwB1sD1Yrj+f8#^S5za1-Uwz@7I35C@%6`++cY_Y8w|1>C<MnFx zbujSc9wBv+{cRu4-YHVH=6_T)uFH&$c-Z-j_Qbi#d~%}y{C)PBmb+cESRAh#q0@qg zJXw>O)7W{T2QP9?4-&tzY-05G)p&;U)z5VdRAyI7ri8dE;V=I0&G*MNPW^^m^Bwo@ z^(z|-=&W_T^qlbR<=usZGdumC@x9o}SgB&Qi6@T-$s)@~qQI5nYXLGKP zFJGMIP2REPRZGQ)^eqt|T2qIRiok{s?;W4@`gx7Dlni@Vt68gn{-s zcy_zrrOy?2?2cN=-b)KFe*EcSrx0mg_y^%q%-WdEE9k=R^c&v8AKzQqwg%iCcmHtP z@mPzo@?GoXOXW7<`DVUab0>usaGp@m(MRF#9UX5i4*GP@X9@6jyqZVRNJD)aTF@eU*P-vt$>uMesDLr|eFa1yVb={aJ;M|;ciSyVUtYKa-`BP7J|7(=TFfKYyysznh zKunZN@6_jIZj|@TvW(L#fp&&zvv|EeOan%RL=*@D=;B%DtcX zZI0}{`6DzcDqOIY5rzWYlOrXYB9Q}zjy}n z+sj`SY^e47vuYN$Z&LPcot7Hz`_0Phvjy_0yFUd4=7-hZtJ!m8F>ar5kydZQ;PjM_ zkUM2j?)VdN+g}^q^RGSTjC&sSgg>1qi|dT(pZw+fD{B6c)tsB4c|Ls`@2{Y5P0B4> zGw=(6Ij{1yVt4EQ@Lbau-_m+T!FKlXod9W+o$JEeD9d=IFR#Uom*1A;_Z^F5dZO9~iYh-+5~B(hjA#Bj0_aZ04=x!}iXP?ZkRErOZ||Y(E}UdoC~B_H|ok z*wxzPDw~$+JjYx7K@JbmC5?Qjo(bVj)$+bf^ zwkPs=I%oZv555$u{H7hAJH4T_`Xj_juDgHty!)esV6Rl=^{mXs;CHyD{y+V{XZel` zrQhhWW=BQ;oF(l|9Ca3YG3~>ICtjOsB`e+k`D$yHs~{&l@$Sg_S1S9O_xe^E%5{f7 z|LC#2U);i_nfmkDx;FYdD(35I4JP$A60#+$G(uZ#L~4)3Mf#ZRWcECd?9qD_pxm@9 zEwRt*9KY9yp{I7qwx~atO2schC-^+Rb|_Mlh5C2y5W#NvoG3B;Dtqpb{(zVEH^SR9 z%)0D?+>L`lM@&YyChNWNzGLOH?d}I#t84}0YJ;%0qGP+~w&?lTu{;4Pq43O7@CSU= ztW(FaU*b8!3>44rx#xs^#5-0a?Sj3EPi~~-iEf0*+;LR0IH@dFMK? zTcj~hYq!HguHM&5QiD=gHUjbFV7m)aYIt(|NwWao&)l=wltOuLwS{XK>`G zLBz^AXy>b#A>pI&oPNU#RYU#fa$K`Z)oIzbKlv=bHJ`R0t9Y$4;>Uj!ei1swR;cOD zk_rAb>~4q_kniV6{mKi44!PX8K3;P7#}M)3nS}hGLcNde1NVRIedBCS(_Z}a7s@QN zOcDRm&SB+Pk|a#1IcHe6_vfFehuW^SiL2sC87Dqa3r5!)e{HwM?A!6~SnGpd>W)$) zdREpu(^BmJIQ;hWE8KmZMcR4wk?L1P0yX$S(Fc*6^Eq$dw?|cO%S-qB@~3J&Hznd4bS9-&Ec(d#fg9FZ*XU}u zzWWE+_O3sv_ASc&GZfzP$#l;w)y~pVczV`$BkgUUTaos7Y>^XJYN~fk#l_1zY7#y3 zlfJtp1fbeXa}ml2fn zFGIb*L((zju%_iqB2UtAnDg$^#HjiO-Wx@Gg}yQEUT!b0Z)m&a;4LXQn7-^E+LRk| z&_(T@fw!*c!w=Q1LgnQxo!8)=z}K-)zudOgJNL=Vp>P6sbwlaPP*Wv(!^V2a!{>6v zw;V>+m#~w$#R4a9W}We`2yfN9(06aLKAx*=b^AwNXFo6hctX%l-8Q?XGbREn&pDcU zZe?eMng+NlrF`I2a3^?a7=8#>_jAqXkZjyx{Ktm@Zk+B?VHH(%S*%ZKMh*=0KFwsG z9kBK-ZCBO50_7ewcyQidS>mq1p~JyMv;Mo+?cG-j%9h&Dg_dv4|8Ob!p5Ci>?d4+L z^BqfdXU*%A8nbqo1aXUvKK#B)GpZ5mTUZEE^xrd5*}w8Hv+e7_@Qh5`1QFK7sLA=C z=?>={zyD~57ByZ|qUJ6-Uqqje7&+;(<;FSrRY&^bt-TFx&a&L`$u6G-b)z+_1Or~4 zeR^hLc)ys0s+PUcN|jS>wa>SxMtynt7<^7r^qy+T8PDC_+z;5sPAlP-v4<+}6xJT> z^H=C%+^sMCqV+~)C>ATl|E$wqY~yfuCsE%BP2%+C@7wa#rujr~G>h+RH7vPruYiGi ztl*EBn>1?+RBJ_*ki)(ml4`zLjEVcbd@Z+9Pf-d)s*Z;5`grX@ySKyip08z1#wXrm z8-7Qy+gFH}xw@NH){WInZmu>;eHgO!mHjv_+8%Ly``6mG5k4_ax6cCSFI_8MP{Iq> z^uZLZ{AGMiNjCF&zo>+WO1h^KFj-r-}6Ub_qtlGL}{i$!dw2X zPPd>2ui5Ahj$M=UaZPe68aG5o+nq9AW{9mrwXRZBWfeW`&qi6h|_qv<+ z1)eUIoZa(adzt%Qb&H`{qUaSPy|lQ*qvMv?P}a69u8-e7#xoAQ;9<y=+EHeyGog@@fvmGnRtx1navVMnS7Aoo$ z4#-vBjf?0Rg7sS0@|*Unh*oFujfH;Ws9C|qCy&dp4=FtQW_EQ%yT5j3cK_jtEXK&{ zWB%u&ruwdjX1<$7FsQt{2=o-Iee!MVizDIivIEVz)IrN#ak~6ghEabri53Z~5tGi#hGnv$2>zdCQ-{XDpKgsjx?nEg8Z$lcMO zfuA#@9;+*;yofzX^NaUNkH=Jr-Vi^*+Db8 z;9H0$oX!WS9k)g)wr8o)@B1Zb==sVPqzoUAJ)@fY%C}&lBthx9dY#FS?cL7Pq~)a? zR;S^PH+|w~pn#OWLv{Y57HU-#+XockIDz07amICs|GvsLROeR%&Ws+Pqi_$e$( ze%4KK_4IFJ@8QrlYN_X-v*yOO58HC}E^uG%ti56sTvD)lph@zPst07KK4MNTh?1|q z7x2CUOT$qf3x9C(mP?_P3m9PrXeNm@Bdv%obO~VUH|Mu!czC` zkNgusYc;e(eMGUX6~DZG3MB=@_Bkde{XX~4M(Yi`KIQJcV~y{)c%SiQ^p3doXrMHQ zDmJ*|Z`PvLkgu)-s&&T~vAZGZu6+_B_Y`vrzBn?sXRVW(XnXR7UoOl1s%bnys~jJd zl^I6~mh0#>9*)&LM$Q>=v$^Ee@(ha)Y}m`)Yk2&1@w^3D;z9-=_1QcWxHusC*<)+w zjwZhoMjWR!uZVDZR0`kN#(w~ppt>)(P~c`zzm2k@D}R1*ex}c!jjFll8@HXNGqu;w zov;}c(20#c>A`sTw<_<-Sc7assCcT(z5F9TosYLw>N-783Vgp)z%e=LTpJh`CGi*J z#KT&e9~|#R6_#|@+XmdxUB4RhE%{Mx&DHBd?Q&v$X9MrNJoz}_Qpod=XX9pHi@D6@ z*FD+ZhHk-*?*8z(V6M7bRdS>5^SFWA3Oz2ct;|ioxb8p0n%@R0}8rF`Az&I1ak{bf7%q8SRKEA%CuxMo8 z*=t)1p1qtO4Y3}3o_cEXN{mhkrRAN6R#N_3S=n1(eUk~MmWLxfj`r7`E>bmr@=a}$^VyxQ?jpT5 zWr0yg8H;ysww@b3Y81P4$vpN&_VP$(-+Fh_`t^7yLHNQOC05jecCvri)!(tseq~1q z$+zCz?Tg#f{P41s-0PY0-n6@TsnWPoCVp9oXV)83Q;VWDsizTvFI7j057gr`xSygb zi?SBI7P_C$nmEFPxt9O*swDSZojq)7nBicx@E}w~A;>XVIHq)&vS);LDZ6~mVtL@X zXIR1Q?tfDxp(CnCuxy!~rP=Wl*sG1FpD<$9UR(;TNsje*#h>R-Ikh1>vX>|xWKuEp zjf-{n&5^CHQ=D)4PrlpOE?HutgcWE=^yl8!vrA&;s(aQEwQXCts%rHoD@zUDyiSs^ zYmXG0|C;_#?i!=xM$uMB@r(zf-^F+%y;O3u3|^cm_;LSr z$+t;2f&!Mf?Uk7tS)zlJcg!hCo_Z>if29<0yM(cO({6?%5O!<*sp=le z(a`w2dbxh)uRCx;M(gt(M#k?1O&t!0Olps6qDtZu?nUM+*l&~+Q@&fM-A3BF>Bo$c-u2q-zFM0q!vUqRQI?698if^- zyzAz7-Mdeo?@pbWD!#ZSyiDHiwa-Ck*FU1#b#UStk=J!pYnjhmucWXQZXG?iG^mlO zIAL(h`mCY*%w1>AO1A0umOoo#qrv~G3z#2lNjE=oo1~~WercdtW#h*kK^{XiHDT|k z8D)#5in;~L{g}2tE?3UncQ*QQ^j|CKoIj&WRwVUWyV~jnKU#s7(YG$liR-Ehx0*Xj zRk67D=d>T%CbGi6KIAVq35&iIe&WK>&Mo~f+9%GH?5Ybsd{OyYxTL{h?30D3%`m2K zwOGx|wEKyS!=<64@Xg1)URJq>p!m~{`L3gN9w=+eVn^I%zI+yCvR(j!gU|1pnJQ0SDtCA#Sg3Rb>re`rI3h${Bf37 zV%1GT?fwq{RY0o0bz(J1=smi*PeVX1^5z#n{+eFvx-OR-ZR44XLbL{)>9jjbQcxdU zF^Lysq*a-PC^HP;2I}Aqz2Q)y@(Ea&|F&M_C$}YEY@WvaT}Q}K7FthP5<6U0?Ru3_ z?zqPzt=;z>OHmCNg!C>E4foIl$%P27RWp9v{Tuqv#r;Yi7C6VJ$rEDydD;dY=M+pW z-!MxT<3(8<<_%+>@pwxeuU+f%m(zogCd=4 z<6TP6&_Gg4EL)cIG1YA2NoocSzT-`yx)_dj3)SpmA&7}Ext=25N6noq* zFjMEUn)e(Z$zO`^=B~yC2%Ei%=^mc(qal(M4bfj@<`y3xzhx^jB<$d?{Hh{MDx`SH6kxjv&5TO7} z%O^^XECB|npum^XfX-#%?qqNBcMYlr`&L;e#<(<$Ms?wgyWB!%kOL|NG6X3Cm~+Zy zN*5PQ@W=ubIy%UZGkn*v2c#dN%ul}^NFoRAs3m#Aa3uS886vttKr}9Qy+1SVA>;S| zHc07C9P}ZC!!@XgW*Z0t!J(GazK;A4{x(_zcjqW5q5yML8D>HEfZOBPoOzgeoi)c# zphluy#6}u>0}+?&4&k|xbqlYs)Q~|VSkVqGB`Oy8W0Rsx3A4C2^6N)q%{Ctw%_1K* z*e4M4Ga$JT8Kf2%{tU#}fWtp@fXu_XdoQ5&uv(+yzu@rx-6X2t=%Mel0%dydpv+SV zEw;TffB7|Rc_06-+Z{%qi;(hTCBuDS1ja zEqEA>eQFavjh){6Sx7V>l;LSydl%yl@Sh?Fz#(+1g-ZYNx*;|Pk(eAJ_~O_1dN6^^ z4f=B*USYoGzG`@xZEyn@`kA#2X`ft&RlafZ#rli3Bu| z)cqQLEuR$;^hq^LTd*IsRp#5eRgP&w>QZ1Hs3MmV9wm$8GZ*e58AV(o_u<1jo5SmL zn(TqPwkMpou(93ZSaQTnM9xjS8lp>_WeH)R1`2;w*iD#bk<5jrN%PA82Cu8y^leP!e>$?Kv~U&Ot+l5IGm?;Rp{|MxMLGMy;yoAUL%~xeTZeiXqfLQi(e)XvU6jsrwWKloF5dZuj+VV!@^Un4W1Jyd8rOz z|6wG;A(|OP&I;XPQZd4usKNK(_<_!=7y>P7a=AVTe8*3_A`x1k|C{u0q*by5Ih$4% zD<&S*W{wfGg(ZWRbobV!3;#|R;u!IP_cqBpH1ExF{c}dqVa44YXOxs7Z4#g4mzcC8;+(lK!^I94b z63q4N-~obZcCz-Ia8F5nkxnG`VOH3yWa@3W6}=`OmHyD35j{(!u6FDpkRNy$Hi8&Z zcoODeSN8I*{y^K|Yc6;%KN9Yqlznai7bXww_)%*Ex0`u;lary+Zkyp=Eme#oxh7pm z0e}nwZMohp*vxB;aJUqqitUmAb#{E=^47Np*`2N1cc&Q$v$HKWFful=tk6fOpK|~pyNd5E+TT~}B#_Eelz*0$CFIc5pRHRPx zJSIXW3)=0{K#1#(hKvxPOgs}vxteof?QS-efb+5&@4uWZ$#q0ntw0FL;TqHq5I#_~ zZ+FkMPL>toBhXb4)Gn_<4o|Zq_klOTKnCzhQQGdBFVi9ORSa zBRJZHCJh=So{$66+i@s|I<-0cGiChC{$=i0dveJ+*jB{&XZVetZ#DXn_t*_5vOS_j*r#cW9Hqy`{$nj^xYRj!Jwc4&tpA@0YR7z;PJ_=nUu_?2 zgN{+LXX6Z2pfds5J&eOFrPC@QP1i$$lfS(uQkB6;^?}=!SKunZ1p-PyCJsZV$102m zZ=d#&pDD3q`|VEqLka@b#8wufwh~G%UBT5mw4iuQ>u1rg>Fj+rmczG4?# zE%JF7d)?P^=jF}`%rCA9XtaETk%P-`wEs>iMK_CMCM*f6lqLISxyd{_7f-houkh}|(}0`V4VpcOV3YSN;$4T# zb!CaY#hLH~N%f<1Ssf%$avU)US5(9jG~oJvU}`bVVK$N9p$njSpji<{A=iH+0gX#Kb)n9+mL1*M{3?!;^Rnx8hBkm3*~VO;)Pi|tsp$o)M^S#j^`_xqv(&C5(6j=cB_hU4G7 z!)hXtPb2N#y~UTP6zlkBgL#ILjbh(Wk&Aj4S8k3;1C>!M4)q59w==41*Vuxh1&|3{ z#i&o&lec2Xq!98%&*(Q4``|Ym;SVgX_KW}~*-oAfyrB!7(08!xL@5T=B8#*VHrSxq z+_8CCwGb;1>@p3~oyI)sm>?^0=(S$mC8g^Jz18(adY>U zRY`I7jG_ADlEYk(m}y+{EhPH9lyCAH*CwP)@!uvZe6tSe9!3CSAym(%(c<=x?Fiyl zFL|>X>DtMl_BBwR5ftRO;=kNxgb;nPYh4Y@UtcPVRfnDq&>| z+})`|4tA^B*LNM*@sHSH?R=f;pF29Y0g1iMpP?&Q?eaA^bP+sdet|RuM>aEAWN>n0 zW0ydipQ&QABiP++J-KD{06k3RI*DHl1l^#W1gT@odas?#Dq7O~f6_Lxf?Jyp(h!z@ zWq{U@{m_Vx+>koe$1eN3?4^D)BL?%NjR9BQzY?4@lsJI4079ERvoRa$XAPU%z-a+w zG2Y{+St63J29`6{O(GrV`lt~LqsJn?3BvOAMoCAYsUx`YD9Lf^25$ZM!!8n4*noA$ z^w@Ml@_`_bEnaYA{^M%Kyh;U*QCoTJ^t+?V#~IzlU$Grhh-kj`1(qeM=OWfKl(tM# zTkLX*=<85Ifo(WjsDCs9=}5XMdCc~)a(1J-c#W|*)LeE!Iqm@FzZWYS6|GGnnz-|-9BMrR{MK1-s2;9MFB{| z06JfA7XDX5X49TO?-yZsm$nxE4>(i9b|V4#)c4p}eLM)4gr%&)A%|sf=}|c^Le(x2 z!;6D(dm$s3HWPP2KV+@FeFJD7Q4{{EHnwKpf$+Q=A5r|7MYoM_8rmuv!X&2IVA9#y zZ$H_1I8;7bUY8t|`MjvZZv=rn5MFY$@DAp|H{mKC%S#R{LLdgN!9oq^P%BH7Le!`+&bPaHrkwE4` z({qb>FgThIAT@63ggq~5C#pGGx3WX`fXO@_<)zY}X(H56~9s`Ui@= zIw$-)MVsGZm}#mK{+7E9j>d|B&#i(_u43r znT7jF9OjB3Zc`wXv5^)nsbFwwpnu`s;02OFs;zUrF!M7MWfyb#Mo3;Wh-KoaJuYw; zPCTnHJT7YNM|DZ}gX2o#Pih<{j%Mg$93htqoW3l%1EAz%mWSo%ONLWO*n-cbEBXq( zG)GZijt~x{`C)Em%NVKxNGlAZ^{MrBEd|Q^xt-ZbYw5=dba?@JCiz|ws!vdMBY4#7 z4hXUku?9Nwe3=U+h6S%YXmuvHvHXBVw*+F~3pWE3a})YqJdX=r$Jg;J7fh-6i0cVC z;-URLm551eLGnpQ)DRjp-F?;1e|#U$XUWRoyu&h1|7j@qUIC#7E~7aRdbiyCHCVS` z$2f)3dCSWa5_r_XENa8#@Pdj`#lvPRrbk;>2f+xv;LrvpIuehxN z%(+1Q;DgV2>dLG`UwOkN-}D-RT-uAsZ~0blL}x#tqSo%C$9}q+$s2!K1TPYP)KZ_ z{Q%-Pe}Mv1KCO93Nks36+}A9uQ_ZlrdQIV9QB`PT)5&5%*xB20L+e8z5akrs+?Oy4 zqiMRjp)4qExnr)vaC zuc)s3THVF~qP2rKiGc(r5wd|O_W&I9z!Zkjfgs~oZM&|7R7-_d(b~6!A$blt$nG`^ zYCsB&B!vQKng1wW?f8FvC2gx(I-<@a(+q#UBOaeXcKkJ*v`#V-wM;Ijm<~1>w0#(8 zZk|uKm#aBl8gb;veMBSUqoCY;V|nR6^!O&~tBy+cPeV*F?+k-G$8i@M_kuSbZ91M6Pw-e! zgSbZejP2jvKO|f8DO`T_0!OwDoN_7Zf-7AftAV67<#lsC;LyopDJxf6S{Y#)NKS49q7D8%GnP63l6wQBB&#%{ zNr;&uRR)e;ekJl;SYt1R_Wh;yr_D+!Wlbh)EjCwJD9WkZ2A|{`EjV4eHG3dN{!g%L zka;4LQ-P*i#EtyZzyzJ%lINR+)Pn;{^XEQWGx=QGS{}DjU z-zfM0mS`dGv1mQI2qysT4)S4wEzOe}>q59XaTIN?;W1Uy&b3x_XRs*g2IH3Ad9)vd@~C7j5jB~o@)Z}v%vzi(Bysoo)i}4a_ny@a^QoV28L$;Gq(IO=m7@_en76bO2I2~;Kx(BH|fillZ(FjINycy;e?U?p)(W_Bv{yI;F1?lFc?Y^EIeUhxz;YmBvT?Kl2pjz^rafnNS$G%- zVdW6luOG}jVktfN##Cm#tu6viEp*tE(r3m85;5qnJqWu#MtO83UNS8@(!*FJcIz5I zqSxw*8e=vht1n3AU{{0Pksv0fK*_DCiz!G@lCrYOIONHh_@Q`ME9 z9w&)`&mhsH{u0wuW=nz*6>tpedBd$P4siA?AdqZO6Y49u=7t*STSl_cDk?a1MF*m> z!yGf$SJzyO&4Zn7h#!Eu9FmifXIKeFR?3-|1nz))0ZxDzas_2N=1#1pvwTc~A!xG# zGgV#xUe3!PSLLeLlx)^aHa;KYUbe$)Z|5rDALeetw1?(f>Ww~ z0a0cfc3UL?RTwNL4O+0N|7d$g0tzo%kD`na(0^TLMce&H{^lcvTEu5biLC?)N3bMN z5PeKp0~%inMQ0D4pqt!0S@h|lTNxTOjjtFeH53gpovpX8wP|M#qEw868M8(^>Z0t^MA<^Hz?gAoJVd|Xr^(TaAxj6=y zpJ}as*zwb9CqWq-0DU(}?+66S1^>44QEI@}N0?b9iV_Hqut~ZBfrq`^>ku2WFY)AVZ)jLZ`{ynz-J1;uUiB zkJ|WFC%y~vgp}!i0zjvteQOjF;b|SfG_znk1!i42lDEzS9)yxZB}~GN zb~WeO1u6vubqh0X6cTF=UiToKpO-h)RcUt2N|X!kuhTj9>UgZOh~zY-j>O#6#aNZ8 z1M|T(L4+OF|YwolH9^TWWV}d6}>+dB&@xg8E8>1u#b} zzB%ZPvrvcQl445^&k$E^8HX(PhL&j@#jUxLJa2&+s_y8stk!e*$MNn{_%{pzl zen;=mTW(calHt;m1MotcPB6HyAdK>pdj;u2D1d! z^2or~wTZl$d~3NPq_8!d6y$2@|YMw6wnsy9QT6W$Cuqb9sJJl?qVuC!BF)F6WCIzNiWl-tk+8<^4 z;p;elE97zDZvO62ebIAr(_>#q^lzo&$j5r?~nSLr-_@rgnESTQr zO;>vS+Ly%+gUoPFmBlWLF|gb5{$@=Y1AWB^KC90kK<_#voZ6=R6=jr->e_cT8*NIk zLh3`6MPi45=QtVzpQD6>TFyGf{#5w2CKS6RC7ta~7F10p29s~1YWc<6R4x5VNQhe# zthdXVH4<{Kk@eb)sw~UM#zwT66ss=^Whh1@fVGIn*|xZU00O|XE(BnGT_gWXC>89+giyC`+!I_u-1&w zh2rqYSbn+kU5_c8Iv*p-bE^P2!87Z1@tfnD&kSojv z)-aY_G}?S=$t6ftIF%Ud!<6B9GD&2>c5^`3%GP;W#=^nL8OdlrxIm!}r>9}mSLT$Q z%~P|Iqr1FCC?mzP&DHOWtkI2=rQC=pwx4rc5?B~R8D)}o8-2A?{(%qk=-|xhg!a{T z3CvBJmpQZ$?OVd(Q|DWrJnycb6`lkXEg5CauTDuS$f+Uy z4woV9RLu2N%&~jvU@r>HSu+e&N@2c8&ZEv_2J_$1SQdSxA83oN_tuLOlKL4YfGHP# z50LaAEmpP+VPFkai@J=Fg@w6bpN!zTGoJ{SCO0j+6NHgVw7i>FcRKGe>ADW9b8nLV zOT9Nl1fDpMXmsa=gUHH7TY$P%Tif}_2G71o2HMNBaAlI1pos{i&t3JHwCOf%15e1N zrw?Ofm(NK;_r%pX8xCp~m+{^56Y*C2)Gs0LWc#rkQMSsmWveiN$1^^ZUrhWSv4&;D z>mC`fi$(^sWr=r!%Gs5lwRzQ$5D=q}&Q*wyaQ-W^4@aLR#yi&M*vld--blcjOs(t+ z1hmG#ZfSP1%R~Uj%scyI<3t6)YSU}IIjJGN6q4BLJ0B{j11!1hXu8q=#m%18DY!xQ?@j zBD50j-D_Y!s}o_>&sKHKYXP8|wtLtEnhErhS21#jiv&6?g&2sCEvFKt2 z!VoYkrm`C^jI!w@Kuy&3r#FyHO}Vo|m!&?g)5p&(Uc-%j~l zg*nwpR9jl`8T<8oaV>4hk(PI4wI2VmJHqQ#B2r53!`VW{3Wk8_=&`Hxft>&Ti z^12iG3x%^uAY%n@&Fjx-*l_$nsHk%AUh1b#?%M18MjM+34qX*(+s&IFZ8Eb?pGj{F zXM;?Ufp967%QQ*L31eSw`E?dH&}}NK@^k_rgnjPfe##Xr)3?fo_lhfC_Pm|68XWhD zLXz-i3dqOlb-xHfWd?JB!~v_K+SS_y`*0p}t;?6J`fBuP^f;tk_t<-(&VOr0(#Ei3 z_jLH`dpFC7QLk3}pbMA;@H8YG6!K?m&7J)Ef+K4jaSVG4~{qO>0NWM^ib#JL;Mu(D71BHgtYXqsTQaB0*bpBKpQuc{gb`d;v zdAfs2TLtZxgE2pTu)VI=2}gs{HELw1!EfjLVE(~Kc87vCEmsPoJ!*vA`zKBKF_8d} z6x-A@JC``K5tnUQ&;Ck+m1tej44fuFR`}|z=DB_3h|tK%+*BGZsHtK}D$<0m)yZpEePOa2zT$Wv zbb}_SieT5dNmxke22&lR;BcAaVkEsQz!w=YZo7&+r|(JB<5OvWHI-Kma5q{ys(n2JRwMpA zkFVJG3bI~%~RC=WrpG|;X)*WT9~0R=z`mkDK{i)AH1b^+|jH_ zix6t9|MY)|7N&Zske8!bg#k$G)#@&@!M@gY1Uvg!zDn!Nhcg%32hK75P}RD=$zsW+ zOw_eppiyHhqPlp9#sbLqduzh<@l7waFNFKV`p3?hwdX7grrq&XzgM2o`K@ytER>oD zU&_;Q6MG|O-hfo1G^c03m@Ni0)=7;3vAN=S_&c-5cu$wchmn?`HieGH=r0#$;^GJ+ zw=W}Tc<=KN3Pr{VtUXnqUbyJaHW15?wMBCeOqAh#G8#lScBVZZcfEbHF^P)V z7cddBKI8y{Y$_j;l?=_yrb&%Fi6*&B*&1?tUZ1T9MX)uF4m9@uERI63rR9L=z?Sxvhj>JINj*~3ANdSkEYzrAEctD_zor-eJ5CI zHq9rCZDOJIDSp+oV;}WaN4^ePbk;wN9f5AtL>u?gK~S%@7f>K&AYlXEeYAeS5BaJ8 zmH4~>R>H?Nj0>S7&sI9i(>?O6(ahyKd9(fz-^^-T>(O~)#%@)S8h(h<4As1=u3u_s zOl#LF_6)J@AYM7JT?7d+YP&r+g>VY+1!GFSAC;{ad*x$>H6heO37aEWg7yn}wpZ-L zuM?h>N&@VBM^_oU5%Nxf64^PTUSYIx7?z@ z&Qm$28kWayDdgiv9zmOcsM?2c@m#0Hg{|M_H32*aF*<&*SmRO=u?s(BE#U7kjA|Ay zTY2E61^|oQz-6T6QUT5`{Dv^-xcQ;m4UVWEu`g@14y7qnyR9MHo80 zFT&pXF@`dm!Ci^{l-ZoS3i?}Xq~>pjGWV?|34oGaJJV32!a$ryULljCT_`92 zgi8q|5}d^(s@f7eovi0s4lO}vxonad2bbeb6^Nrr2&@&gwr<2zh69k}zX%~r9$?4( zWkPei!zg&|*r_>x9nh~9N_({gcp$8tCo?SH5;Al$o57KZA$4>yn;28&020V67Y~)G z#Mn45MGHz|x;%M{*LIVLLRafUQ%EHbhsE8llbZcl376Wp9!ryV^qFE_cQXa7H$*@f zeY)v6A_ij{xVi?{|FXmQ2NXE&9{#k38$+tV!)k6LekIXD9YmBh7DHy90Su85^}McZ zIJ?p*L>!@scs)x?h%yEZEx>AI-*yGms)lo7ilmb#C_^elk5nLLM`{}?sRHGXuL)}h zQKtpN%nvBO{HrEygR??ZZx>`T5U9Ln5KWJL`9TYW|}K8y9b^epDfNI3WfNFLv-m0U=m+<3xh59cs7cU5B43 zealr>?fj{4MRsGXmSN&^XrozY59K{!*shE+pkPrjB>5W{yMFP^@(#>@X&p2{1nBq2Agf4Ni;k>EdZ zbpiCrr`fH3^1S4z6pNegN-kC|g(WlWEVWjP8(6pk932abhQrEyZU>MO>S%%v4W=(t zW`Pm6dZ@F*pS1T9frZeq<#Z0L4Y1*7c>R+RnA`pvYCVf$1*L?Spn^w?eb>5;!Cc^H zff<#gsPmw+)KkYa_Ak*Ipr7;g7F+sgx#|-biu|}leFf-a4hM8%nxxg9RcVb?%ckY~ zk?S!nusKu0(E}7&xnPw7>6PW^^7ujEAxa^vLN9lDJFjJ{LTX$LA{fFzN5Zah6MjWu zZmq}zu`^i2efx<6kYlm!NmaMd#10Ey_{ANOwRs6v$w5$UQgS_(^iGtRY?>aD`zlG_ ze>9OpJkM@S_-qd7&zxz^N-`Ie3x2BIY88QVDXxzTu+!Vy6}=PnRM89-zM{YdZmjGP zGXL!$qcS=9)`2q0v(5YXeP-WaywaVJau>lV+~)yIYmEgu*0?fCYt9E~oVW_3`QNRe z%pF{Ew-UxSOsSQ}oz5cr5bT+mE7hkRj(!J*nRm-9%mME6Z0zD4o}Ia3x=K%a2(Anx zP8Ok|ps1wHI-K?xUF-V!8HJ0XjDutTJsTIeBfs-pjcfO%h&QN@z7YXxV%OwiWHKm zQz*%Q#&!eD7bjMt(MRd{29$7AHLSOB=9$M5@f<(n)-CIlsptVzpDpukHOcbHM?Bg* zFQ^+kt+JKG(3vaC!qV&pmoPEK$^9Bmyj(_`S9>{7U{MUgB9P%8!KDO$Mh|X0>2h3Z z8DwBh6EnuIGyY55hk^9CTpf$N)PJ^j@T)O6B*rJ~$z4MsGM+B$=|Eo+{Eitd-6rR^FtyNz95Y{CB%o zA-v*|!$<4W(OanE^B}_xkf~BAsQqK;mF7SngaKL>BBG*#bl`cjIBEAQ?8KHw6MyL? zxGTc>zfipb0#OZ0EJ1(4AB#i_4*W_1vTqk&L2au+7KhsYCv^mxfOu|!V<`Sgsbf8{ za=S{(%qP0_do;dv%QGanBI=?eQ>i3+8U$ct`Im4Ya3&06oY<6D!#7NdHFaq}mLceJ z(q#N!ml~&bH;&eX#t(g43F>Ti2pphDxXs^XU2VNd$=Q`n)THcw+9MizhX``b7KNz+@L999X!BxCmWO;pgV*>lB@e$LFBW^(HY0G4gZ94T%SZ)(r6*mm%{)P#pxkXwQO)^z~J z1V}Vrs%HKmeJ9ADdQD3dE-1M*svkMyS@i^kB*2z$M1FE=w+5?sXT-3Q=}Rmd@erk4 z1t^;R{4B@h_}tO)iJgKyy2UrX{_|gEI{J#Pcf&f33XM5FAhoH-S_Bl|2o_VNno5lV z51CR2d&?8#>}NHJU<6tsf@o>kO(e^v>`PYQ>=I#* zPyA@`>Q{gfzc-V(rolzf(*aJ##&=g7VuQ=@3MyQltJVmjn}JN&K8C@n_9vS;6kcok zK!TUrwjWLl`Pz3fW$Vs z#vD@wGhSe4{g!OfL6$fQG$=vS6TTmN!$BwvOxgC0bnZKTBggnn%crf3d4wkXRiF)^ zedxR2JpJjJD+dx3Az1lR>0;Z|fGb)8L7LGgR=FA0K-%$Bem*G>BLKaZgdRFBeQ9(` z8S^4{Qgd*UO&DFp^Q?^H>W;RHF#>u99k$3qZ;LiCkjJ)il>2k2PPb%atbHi-gCPF7 zK?Pn|`z+Kgj#8;z)wHInUF;`gZUoGq%`ABNZC^xkCUbqCR5W$bedL+@$o$ZOeav{; zYc-;f)8%%%rsjh_8_!#vGw^l#@(4+U=n-ZJ+`1_MIh;!yF4H^;JxR@vBWrchLzxUyDsKPB1^a!bz5?T2;+`Fo+U;gugdJ(Wmrb_6Aud z5=}_&lE@KBr4jCCZlX9E%iw^fjtDXUkL-_z#{7!n2V}4Ci|Z7|>2x{Hsw4@*deZL$ zu1a^Mdzb%kQCmzsjGZ9Kf1d2D_gKQWAyU68y9%EKTbQfTm7Y-9UKsy`Qm3=m`Eh4o zH5et#ToMR6%NRX49!Z>eE?ou1xXP>LPp>uz52~AfZCougSQs-iav8ceDtEP>L6)L; z9wRMKCA~6&+x5!+%ZiU~&ni2P^JdA zVc#-v>b>M)Zak0w%YrDxWhsPQigj~&FQuuoMO;o`{4HgXDZA=e%wwez_vGpW7h^-B zRRikSjSyY(OdGz+5zt#1fqvywrz+nua5FsRDJ4@)#z|oB!_2rPQ^Wv12=@mNoke%^ z*OIw%R6C5WUNYj9@IgBHlEF+MoQq%z254owq(TA&lzg?V;UPd` zEaCi}FQ>BDhDb!UB~Sv-3p)SM(YGj1EdSH6tbCkmSK>T$j{(<~TN{WQ&;`_4|riT79h5 z$1{(OeEj?49ol#O=GBY#S=^WxOOmexO!pHer-+(cLK2=~pk!XpJoFM%Eu&g=*6}SV zv3XtWlk`V9;7MJ%&*b*ZqkYW+jj89RLLIV+bX_pRT&`ff6I0Y4`b!R1P3?LMGy=;4 zz@|2LP%Y>uK`_fd+r@Mzn4>6g$3-6ZtQnn<6Q1}HoK4%Z(ScAZso)a%iMGberHM$p z%P^~m(ESWBkZrZxl5wtv7Y(MfR-7`xZHCjrv<~RBQoB8zAC$mXa4)mZ#C0j@p{_oS zhHgkuMS?cLa+1eUvIZVTco*vWinN0DxGmW-U3wVU;SFg1W0RIa{(oHkQS&Riyw3v? zQ>1MNWKHi%J3`x*P+Eg-7Phn-G>{bHuKtEYEC|Sq$ya4wfb>EBSs`Ge^BFm>7nx-` zME99387#p&I|-hoZJAo7^d2LbLK2A}BA}#VC3IUnGTT_YY3cy z`&6!Z>Zww8X-dm6&lb`J!|DF=rf*@BSEZx!XQ<%;H3z=hc|aR^_d4~B^zoYxIw=K9 zKtb}7#L_1|Xl^;2YFI!@!~*gOJ78nc+xSx)o0kO(L{z-*VO^O`tE391#8G^*j$DGM zgNmAQj8-YliA*$!OOXVkc}?yGSkq&W%{(peu#u{u-B8s@b4FIJ3t-v1+Zkm42zEY9>f_%3&iK(j;J|_wJUQqUM;Q% zqi>bFSO5>zhw2>~=u6xavi6?2 zI+EFWKKN}6PZV%9h+w;{eKlOX%3T=y{X00oEm`gfNo!;GWh;qHC?wxBZiIu**kn!) zif%mXlvAZ%#nIx#;NR>;jU!j1_!rvX#XZeUu(8J(MUwatT`gWuEy1!V$*DeV_ZjI@ zLLRa>)(!l96KF!0ZW6cJTpq{~iT+n6iZRhHcgyzBUT$^INw2|{Z%Uq-Fs@rW!A4^s zxt1lK05eJrtgCCRu`$VTRSjBCGs^Nbc}5)N`S_YXrKEd)=iSeY*@mb24D>zFXFQe- zN(w%t<&?cn>5<4_UVNQvy_z-$z>@7SvA7#?{VRnA zS04ZfBusrDl68|QnQ|D_M9&{bKU4s8HofrtXw4HA|m-q)%YiHXvm&i6{8m<{fP z|L75n@NcAi6@TsaE0)c5Q!Si!Ay!?|ghIX2ZY^##i5ZgA61HasfLGU5WT#9M!_IGp z4UrE|*d!B^79?iNO^wy9{N~Tf zW zk+J~6tPjjiv;hdL_)?LbsEt(bH{>fwKMWNYNb?wmWBWMb&TPn47X}q2e(*;!8{|Uo z5*=tPyWrx`|EHN@+qP?$mfsNATR{obbS@MVs`{1%){YCymF}CDXTEIH>=#uQeDsZ+ z3}*Yd)6r`X;v-=$VpbMIXoaG5Bow-2c%`PnI!g~iX3$v}R=n%A&zsoo2N>#$e?O+e zT#)@>hY?Fe>+1>fIRmy$xnfKVS;`DJ@X7N`>rpY7wucq>kgbfFe?s}YBp10`x-l{o z*mcPESY#gRA+F=s>DzEHacAC^@)XqE-S2z^BR`?fez#ogWDRSoMx1m?sgR#Wl~9Xz zie<$tUFWx!N3VnPq7qR zK;GrBD)_IXNYoh>DgH(L)DKRvILrUwVvJiDa$v~lj~-oIfzkG_qe$^k1Ume({V*8R zeH2-7a6=txT}Rg{_tqW4T}fT2k0V-L{-nrqmbbZeKQnF7zmFI`sR6)aW zEfrG|0imF~Ttj@#X_SPFLHbt7!XZ1kH9EzZxIpmB<075XP=84m8@5XQ5_CPCyEe@qkY_C z_7mYb=YfGZ2v+2f#TnRdP{T6thuA+qGk#6>1zJHuDBQ^K{?8D~B1IpEZS~Pn%i0<~ z?lv;Zi#xFSXAA}UTe=s@d2Z~Tnb#eqQ&6KQiqJhj7^tg4M}Ysv_8cyx_gyzH(}SFa zbY!QXau8JB&RI2`fMSy#f7%PukzgpUWhE7~{$t4m%Stds{x*1u7>$k1RevCP%KEV$ z(qzaqnHX9jh+(1VIg1~{H4$meDgT=~CYHCP*^J^CW!GpWurO0)P^O!HKvqXO0;`lD|#4342-wlIA zmet!C%}66wDQy(i6<5sit!dx`l;)5>FSftBXD`F-EIKTa*P(Y}Z<-|SZ- zdAHCs--A!Q$vQD(b@T0XJV8Xy6>ZuU(OI!DUS5eap6+e??oq3nSB2w`kWlG;Y$KXH zV}W?3ZS{j|q&BPoyuQnl9fW77xR{CJi+aQJA;(gf?`$wn3bqn-8y`N3gH;`xg|xk6 zcqBm=HXKasWMX4uZj4Q`n`C3#=EgQQwr$(CwXtp6);G`dyx(=bzrKH8^-OowIcIwA z>F(+}bGquTBJX(6FoV}R6;c(8Rpj*x?P{HqK}(|5khk;YqFO6TXJ~`Pzx||JacZ`h z=`xS}$TYyvVul~IyGV^3`gC-h73%Hd?+@s}v)bxfn-u!dlg9AltEp^9BC%!2(8&ki zq@W)mV2^j9M9&>zx{s0S54Vsu5|#RrMesBd^(wj3zKrua67ZZgP`f$lK~cE2r`vBw zi8D$8oF4a4B;O(?jDiE;$4oP>MwtYS9aHb;=WU8T4T6)mPTx>N zKmMq!qDkQJ?|31Km{l42o(x?Vp@zSfly~-p5#La$m^aNHT|EYF|=vSeN4-)JK1ZONW@$f(UtMjen2!u2}xhB z*onb!@T$(}H&~^8QsVX-uQCroQ(oi?F$}8VjL)gA#K>pH!ODrm-HMI7L>+>2-)th} z?Tuj+DlS$2?l?;#PO!kk%*YXH+lJRvRXzVeeM1JlC27Owm6-her;6Us1aOrD!?vpw zICC_4d*Q`@J?PaL4wfbe$VV;QJiHN#{F?k-T~QTG*Yba~rIC1do|$SZ#@Q01!ts|X z|8|O(4XQjOWa(KBg-4fiz<~v|%5-o@SDEqOYV5ydxgl@azd|Itd2VZ+D$|mR>hV}Y zU`KuJ*Rxp8e{*TZja+BGrebzqJ*QG=C{33^H|Ybisf||`A*7JAvRI6TPw0IMzpXWl zbZHqrdldx8qv7>_UjGT!S9m}f-v*9|>QIJtICqCKxnp#jlZZsa#7?6@REJm0?KHRa z&4-ubbf{#&tf~I6&XG;kkA++Uv8!YSUkE71Fmz~?J=_!SRouzgyueQ>rwO>9&+ zqoG(AJlCK*=o+bf9y4%k@qV4$cSClZQ>?>4@G zV~Em9%&G-6b6&ZAg9lXZlqRKmYlm^ZPXSV|OrDIQyL8A3g=I|gisT7kY^Xi6b*zs3 zfL|;}Ss02kc03)*hxec^nH80-pIsPH;J#{x<_hNHR|^~hnyrMeNBZ?;J?0o4hdI(C zpU;_{xIsgXokfm04~05b%&>$4fp93jj_|k}-q(%-Oj(MX5=8po6Cmd0!`4c_0b$9 zly6ejmU$zNlaTdDuXmXs7Ynpy@nRX)60Mvm%j1k$d^7RcRw`Ue>qi^#!=&XD_!IXb zjgxP*XL0qTNq}KAFE|CyNJ1%>dSE{zp?*ZLGk8$F$p}|OOMHrB^LS@m@j~EX{FYKf z@s5`%jLNxClesTm&3yPJ?2`R@Ok1_c;V*Gbm@q22NiTJ~ijS?~yIL&k4dqOpL!Xs( z*j8yTaD9V-IWz|;wXE3fbzd~&~2 z(5tKXXxDBDnYqJxh1S>qYe#bVdvahL4f5YbLZP11`~aOQhU1l76(ei?3sDGH>-U6= zaBFpY1BK1n2|*N8SYFE4T5aRYb!j1R%walAx_3^o{Y&d5W>Qo-$e&qxU!j1miW>RP z36~(aTxo|c_UGDULYcL_`-9)1LxkVHk6=GbxwE zq(f0&h0>knIDwkd5-jG0i$O6Z<(->6TIXiqp-Xk)Z3WF%QkDpxZ;Os)!|2+PJ$p#( zB4cONhJWp<+>?YK^+%q3F@_4Ey_rmAOQETE1ocvn9YjzWwJN zv8)eGJJ*I&N6`*sm!=oija04L^5|o+TX=s@M>U*%jex8^n&BGn{q|lOKL`Dbghwrm z|MXZ1D~I~|*u{5fc(fVG{At%yd}|lGxEka1UqK|tt=eO01%MS^s_ad(hK2gAlGIc< zq*oho-)%e0A1KWBZP>LX?N-6vUDhQz+4k!?F6!j}j)ft910{K5XkZi2(0Hl&MWnPuTfxHF{eHvT}rH?%=lI zDKNj=Ae`xvj+_ud6pUO@{FBSM^Rje67!F(fe3BEgvhds{br3{}Au6Tl*>u@(7IqA7Lbt_Xv`SbMl&(;DBZ4u?ezoy7N zK8?ljd`{QitqeOA&n;cR`4<9!hBimU*>}cHM`ByuNMa+ip0uG5o%vOW0U6OA{#!GH+)4p)4axpf32DkdRZTO&1 zuLVB&r_xQL;5*gs(b)Kbfw*REy|cniTvv(eQMAU$Ln4v1nZ5QQyX)WA6gQz4Rfz@_ zUV-h5mm1XF<_W^$y;7TlK%XgQN6x(K_F@|QckpjAouU-<0-p-}atdGfo=?N{y*@$n z1B(os4H4Pscp)<~TM9LVVBW+-_KmMgrR@x^wRK4xbpbPYS&}z+pSjXRaAlhOy0hQu zwZ@6}-HiM$Bw}Z(_GfWykvcsG539zHu)sW@kzX2|EWq*aNiNEauN|%?_?FYO5nDpA z>j?3X;1HLq$sG|H&Nk?Ekxf%_0#u)?zEnbv{T^EuZyTm6YGZDA!`+a8>4@5VU)Gz% z*9v#D{`h`9|GZpY$$slc3!2j7D#It7P6%s%X4OM9&O5#VWis}EeO1l(S6K`}0Ly)O z`u58iY=mh{LD zy8b?JcZ4Qu#!2%dg8Kh%fbf9*m?LOeq-tzr06m*t04s^AkezxRvbX(p_%KP+(8yjC zAq_V)cCg$-4|?=*b+k>t?p1Zk=|jpWyUBFuBQX*6qTtr!rOmyf2W=vWR>GNQC8#-) zLzy~mV`h+UQZ*qz@O0l=yc?Ail(!tEC5KsaF=j;bsRdLVVoTj7R$E-_pEZ;ugu6}2 z9k(M(^~NPNs+i}raT$K2wnQEs+{oJ5x%-7qZl*k0WYYqL6J-74i2_8UpfLHzzpP#p zfxp~0;OGb=;AEXf=AKnJHhI`n+Y0Ly%dqfy$fVXC=Cntr{P-|l|4jSY=~jW?)L;nl zNhP>zy8{7BAa+=qMYlB~>Jp4Xr5wULEnPzcS=Binv2<3UyHJ+MdU-fp%%^0|GVzV(P;>~I9JVtT-bt4xC1uX=uy%5g>m3Taf3|B%!=>&u3O5V=t({!_ zZC7&13p2`Pin9H0>Ep17aq%PlfR1q6LPPM!qZ+u*%A;P50Nu~=x7Hl=DGqt1g%m5I zHhD4|K~YQy-Jf%nqKAe}dcL{J9Q)zzj442q!7x?!cKAmPj$Lpq$*zaMyI=kvy$oX= zHiBXvfn#v7*FP4h9cI`S@8Wv7rsA!`pexeJh`Y*sZ>jCap^1;Q4|>`-q}yffr@}sN zaQxE9TM<2PA0&@L5~;ZTydgr@W(}o+N~(HV`OKBx@ZA0~Blg@ESZ_&Dv52Z5`XqXv6hx(u;||pvczb)MNK9GEXwB{IanUH(F`XuojrqP90Cz#UtC(D@TOM0*1F? zpXxuOwRHxTsec_LSw~J&5CKE$z1MfKB2aPF`Ywt+VHMm2UM22Rrja!n%B5|RQqgAs z=YHT>`|bcSI^}+VcgdeZnfuG8$Vn<&ds0*xcK*#I8!eYJAav3TRAIHbRWt#rcJmW@ly z8|#6_mL~Pk39bTXh~CG9d{F3sp9@0$o0Ck0o94B&le&XLUEfq;B#VyyU{$88w@kyq zfYg9O^EZ0Km7tTrq92Fx&2Gob;AhMQ9s~IIvR#DV4>I*?602bNPxS7BJ&q@3PfjM{ zBY%)I6!1HZCX0IfbR?7e%KQfN$;kzo5DLiNOTueNEb5wd`IHiA1bdv#LTL(rm2)Y* z89H&ZCmWMw9y>wNsQANUgUewtGx9U*vp}g(kogbbCzwp^@UfMC^fFQ#)CzAGt^!@4 zRC>C*O2>M+p0a&RceY~xN@L-*_<3WG_WSdUQLo!$4Z~`2a|BR~fHLguE$??Ax8-y;NIlTms{(He)oLX^~=R>1~Q?z zc6R$jf|S@?+ScjtzBXNCHpviwONi8B-gRDi6`WNVs;5l*AVu6XZ?ke<$pju8(*^I` zGuH1XJ>v z4k(8jn%%|Q?zoV{RQ7LjuRa8nRbn93cxK*|-N@&T&LGfrU72Q~O3vm_n1RPCr`B}H zTUONJZ|C@0bE7z#1gnTFt??GQ7b;Oq7NH6jvlti{Bj5d^ivI2>T-v{!9^E6Qss*h! z6rx)iM13;l#gJV5%2Oli6^a`oN0g1c_7d<^;|Z*nYu2`OB%=ihKac0PcO30K9J zBNKMLCaSVVO9AyVU>4%+NTO%aeY@BuJ-%#Tm33xCpURp)yE~ksTv*%Ny{qnmsvF<| z$awsnEEYMVfCtwPbnRMPt;7Q}@_AmY&UeK8ZDuIm7&g+$9?3WL$xR}lm#R*3^zmE4 zR{WXy&26wuDdN&36a@y5P<2wKyuO7#8xL~L@*(!>5qRZ(X)$fuBnqWydFh}nTx3R6 zx1`wzZo-M2{!mH!mnnp3F35b}(rkN8o&J}Q1ES=?(^Z?Juoi0sU1M^AA{%!_lTIer z(Xja)5us1kTS~%}$`RV4Vk#rg81oiV}U&iyXwnFzNz+mG=NlbxmAqhr^P zz*bTIqh_JzSuhw`hh?nZTG>maO{ID<+BB5Wh#pnlpZ|iL_XZ8uRVk&&IulvtZ{m=1 z8D}%Sa`@Zn54nYIwhyK+w^yToCe{A^oJ4qQc6W1Et(e;tOopl$=Z>9zjg_Mrw+js< zuSbog6YEFH`tYPQ^`k$(z17wcU(7DszKhWMgsSCZPEqF=GF(73hk335$aGhEL+e zWVtNI7yx%S#PV&^>(Ca&e6mD;2vil1+y1rukHiR>BzRlG-pM5L^Y{M#Xl7=$USrlq z#=hL8H;0N)a|T8bHkvmPTe=Jtq(lt<3+I|>86diu2l{nOEt-jTL`cY`PO#5=RD?paxo6U+TvCpkERq< zFagsNuU}|MgX|C;DJRDcaH{F)qQ=w|(?#MV@sru+S98=k44#8srP1kno0z_$=GH~&J+4SAQ+BvD@_E4RPn76j!HW+i=DHPi;OXw4$MZ4yJ z(VCZ!zI)4udCB=Ei6e^ER>y?H}!S8 z>chkcUAFOm$Ox+IH)yQdLc^L{PxQVy4is`F|9bCoVAKOPV5;>vCSXi4wefpB z>=C5kUz##aNLf&?C))jKsUf)F`^oAZWOOtV-j(7AtE`X{g}L!dMO@RfTKX3}X$R7w zRVxhMD;uUuP@DJT4#SWiY~n52I>tX(_MIxv2Cm83F{#m?Cx+4@zlPN?wfwrjZKvu5 zJLo=zgm9NM(}viUiKdrNGnQ37c&{8Pd+F0_e!7?0gc?%dRu2fI@y*t<|C&?DGt=`! zO)lBDf1x@H;OjVdYF1JanBU%sL}RaEG2-mAd6HD{h(8AnNm_TGJ7(Ij^ALT z9LQ+=x?4mW%jck zbj<1BJ6pI(z0LBzgQr_PxmjpPkt3h?Rtb38qk5=L?5Zyl8KFO64$n`cCPMJT9cfN6 zyLi2Qtem>VE<5-2T)1XSN{^~A{ow@L`tQM&S18GrgzMiA);4nsYlmBL#(hyrYAd0< zaQ<+omsm&15)A6xPrx1^TT1q;W!fV%;D5wVqP@xPG4M6w>br$scVh-#$-DjfF*{i% z5C(f{Q8sIX|1GB8tjR%wVq#+nzv;qBjv$}WO%)EOy99;Ltn?N$z6_oevo5J!C4j+I z4joPm{A42JgE0h$BB}uXMpOUmGQy}@u8r~GSBYlob3Hdze0Z_iqm;$(|>dv*IgAdQCr4Ksn zIlp;ag9kfOuVM#wH|D}do!PVPI=sKmEVq!~;KJo9-l{bve}|-xWQNyttmZ<+Fuml0 z<$!UGB_G@&YccO4&zV1qntUU0NaAp9BS9tTGoUio2L2W&`-1-oR!8cBUD!(fv%C%3rpoZ&rG^#S9R4l((p?l9ysR z9b2?^^Y>-Dw7*3tVO2=QGFtr!3^?PVr@Kw;Y_~JUQcRpYJ*mMQkkVTJ|D>oztS#f0 zh*WiVw7C(^lPe@DDf+qZ%9pU!U>W0U&ouF6e@sy}v0T8CmL9{Hv?6v~%pqxIN1g?# z*Bs$eAs(k$tv)wT6(Utz09JEt+z;uxKbymMxZ}}~m?Nx6&O^*acEV;y`R$RF91w=9 z6(@r@ms)wNkP0UsZA;_7h^E?Dhi7)N<7o@UzCNlkTrJz#wAo)~ zO?tHgW25Fl0*k2i1bFJR@ESh#+M{gLp;K7MU2(Z1rYBt2y)&-aOt5CLDIk6ICr}6# zsm!GtNe~}1O#i!`fdcC!xK|qkV%ue}0-(Cu8Tn@A>IUE%FVnf*UDa%lOMAqrNkFU@ zd`qh%%#4!2Fk6_a`{+yI`l%q=rlrdTyNje#@mdl@vhfI{dhy&~Qz%H5jRRteS9@EX z@}6-`a^dBk-p3LsXld^y=OC_@@A*$6|A-LIXAd7*C?ID#0Wn3()%^w?%j%VltUhb~ z4ww-`5z1l?yYD58On{{c!=1yoQv|0!72bI5WZ=UUPXhf7fA%zvrw__c)Z|(m-JuVK zr^wh1L@oy+rzjp$l|EZ*p~Xp2@c-&zwXLkiRJEkFt%c|z7slNUas5^Km~6<6%)zLc zF)N|C{f zR;HTKKcwIzZjMsatrQr#uW*;)C*fc`;%viScd}+JFxGOWAn9!?u+(!(!hVt3Uw5wxhTn^LZBUJ zRyNdP7Mi96y4MfQEV@iK0GBNvH$30&o@Qd}^D+G|HuE+K{{$@9)YLZ6_3)_ z=G0Ou$b^*fOlg0bE$bonqnhQx(#Ud2T&gh9VK|6PBki#GPwpNsn*Na|xV`UGD$r`j z!^?ra`KZPA5s)uK+6PY(>qTxu^~q?Nyp6djZqFGE64@FLt7VR~=%y@cQpoh)Zth3_ zSClibBkWI;Q91DO(YK`c0sbQibwHU(w+^3=$3I%cp*2S6trp+X;7{@=!oP;x8Rk7= z4G6Q}Se(0DfHS^l6JCed@arDgb7lu-s-lSF+2W_ZewLtZ(w`fNKw60i`iIk|#@ep_ z`ZCn_D+FolAg$z|n;yK$EbCwGT`jvb{@LTICp<)39V0{t;J1V@!u{&9K0j82g>H#v zV*>k32iA3~Ta{pwTwqDbmNaaH7-7XK5|`fo(v?VFAG~8{PN5`63#fyrB){D(I(zoq zBQBYB#7}gJX6(?E?HWypk4Jx)g9}=W+%Mg3#M!kdC%aA7c6n{OWy^|G%}$|Fk+Qcn z89^!&Yu98XjQp0GmGYYCgc-pS=^xVbT&NGr(`~eceDV4?qGxhEZ&iA-?gay-FO>hR zeY^j!w*W{WhzJb{4i5JPbAe-yBm%<%xPc&q;0A{RCk0>bVF&kgH43n_w9GNnG85y{ zGZUt#rxp}uGqRMTW~LyaXQpT7qQ)Vi=A&mOpl1_CL`5VJR^p<7#lfNA!@+?Cq9WqJ zBI2OpFyl}Yz~UeRfjBro91;Q?R8WG&0V1N(gG^yjse!0KkS!3A1Qihx00hl#hYBPB zAc7Jo3qS=x0$^c*0MH5+B!C48{+mEL#Q$VqU?Bk@6VM9*fB*}C0YJk3xA;FXK7a{S zf&>r)$UzG+XaSkQ08jwf0DpicARO?;3!nphl>@%M0Qdj_kc}uv%?bJh3~1M&4FX6E z+MxXRJ3u8+{(s*J%7M_p{s-d!N&nM;3_yziLi>*v1RC|fHlP&<`+tjw|COTx0XVQE zIH-sqW6%$TMI<2r;((437d1V-Ff%Fz5Om~lD1fLGTp%F@2{j1?4gmoPGn*h6GoO-_ zFf%hf2?0F;1vLeqm?txz7BicenwglOR)C|PrLB@tfUj*%$$G)a{xl)@0=NjIJY*%n z4(7_Xqb3R|EU1MUN6IK#;PmlGj@hy7c?2T!zO3!F=J&Y&(%4|JVB{1@A>1kNHVL2P zUia6M=Rw%N_=H1vyb9zmFjk_k&rgpG-BL}Uy1q{7g#9NTdK_Gwmz0Zkh~fa=@_J5k z^FUV5HR9GTT;-h=#7`A&|Fb>V7B0gV)}^1|>;NT&S+N!at$fXyi`Q{QHU%^lI+@Wb zb{fT#Hz_Eu3*HcOMM=^AvTvNkSw^AfhUT{d7J@p$Trz^1Kg74jW&?kiewX4?$VX`) zu7J_=GPAO31Qs%@ol+*W_*_SD2yV5p!7Zu?MSLf zCU-`@2XW(nWup2U&QxR!um4}vWW%$>klGHR#T2#=IXkaI_$4F34xK7cI@fPM9fz>Aw4efn(B2bu&XuAu0 zg6#hsz{nWEkW|0S4E(&zSLE2sMOO1yFM;ykn$c@Axu`VVf|&f^Lig<#yh?u0^SkOd z9=~0ZWr$7bNNs4Vw#hBQDtj&aJ^M)`z^y#tpV7@*26!IWKu~>SOMY^)G_w57S5_1M zA`68$f)#Pb*DxR>mALbd9}0W~IP3GaBt(08ad^BttP}vj5mb8EK8_5ZYd5^QxcA=Q zKTyb?0qXpKCbGt8HX2`!aN_i2AjRT+Em+ak_s{(-rJ6!pKd8L%o1iu^npXgb`{HTt zqXv$E1`^fH5auG}r%`B{^R2lTVIw}FikLnTGb+n1t=o44Ch7vI;^Nrm#TB={MzW|| z?O*+6telsA+mhgk8?sXHshMv*4SB`!P)uIWbdyQ#i&6?QytNCfIX*5TH4aSoD-%~! zUgdr}&mBuozeGa0NzE?#>MZ`LHfZCwTei-&7N|rU)o@Q4-YQ`ppm#=v^z_2>nss zZ7U-1gm!}?H6HC@Q7I>&1!$|cW42;kL&Xulv)y2eI3tZ!Ugqu z_uOt*9i={`(Pw)^lOKhx5uMUP2}fF+hFU>OrrSgWZXd4Z+y-;c2g~Y-tw2dWb1;>Q zE%B^~691Zddo88z?;CrU^_&{ZQh9e<# zELMRtRaj`eXY#lFNk8M-6$g*Eg|S1#oY9F&p~lA-0OhN&2Gd}u@JV6Sv3qiE$_r&t zJExw&Kq9-{=8G0YZjGQTHn&qTlRlliLizH6=uC{ieuD~z(QmYEv_KK1N&VqJMFha9 z`cHNF&js(nY3(*BkCDvTSZ?TU@ceg*imIojEz$qG58G*hVssOD&m+JNyKq{A@Mxu zEe3?QaV^3f8G*gtZ9+XfaV(uFRZ-=OZWs&m5a88jHcM*w7S@>R-|0k|d+1Yl?@P`N z5wJo9@DC@ZuFg)**Y?IanY8zYL=&x%%ln~Wd<*Zx$S*F;YrekL_fk5;Ta>8bdROky?2*QdENdlW#Emt@tpQdtp<!RoNwwUnYksfxCX79{{ji5%}BL09^1 zQu1n&yRe+=Gddbvu$2e6k9dhw*9`jkn%2+>|6!w=sfLjF&!4}uZ z4Lr&I#U@;af(wX{t}!JS66^N_Wd)`Nk{rh#OswsI%WA_X!hyL9b~c3@#%y){;{9Pb zYx)b#OEPrL9gK=OuiNv3=|Yhh zMA~I;7*dfS7oo0p(PNt{O3WVw=CH}1L`$Y0W4?~0n?0p_g*ZE&9|{%WEl=hAK+(M3uyaNBuwsr4_2Y`K_esMHpPx`1v{OmP@E+hucE!Zt+yuTkvZCP(p| zVOn|}GdAzG(grenb-wD*_(Yg`Qzh~Pm5U=CqHRBSC}_6AL>FodKJ13=ZGpt)x~1li zV@0!Go{cBa-w{N5`Nhz3eUrob?aqj_>%`|{+%y|>UNG>5{o*3{NX=hAlav>g#v*p2 zsxgPGh9htVHkt$;AMOaAkA`dZ_Z$-^mvE0Uh;_$_6nu&c7z;5KU*`#SnEm9?{G7ED zSp*n49h;r-cBhEw%f0nY{TQ)Iv4bZG zx1}ZH7^Hu)g?J>Rv1my*n$m39k?5|8LCi+%7gaUyBj6j{A z3Z^Ue+cXlduyuCRJ3K1Eb3TT${Q+e~1J3y+$^u*!odRG&%A8ZF39qrb!}r5BeprJy zln=topk^2T0AqK#E}-t*^E9bZ8Y8APEx917*Y@EPDyO+c$qs=1k1Z*~YGZn+Fhl>; z@o@gT@yFvc*5v)z&K#-n;?n54%j)|3KTb!|MZr(ZG@Gq}nVeYi<=uK0grdqhajhhV z{fMN=j8f9B*{rRkSzHl@5CMu@$=qh7YdbfuwzDqh4B_4HW|kdwY8s zckapv2N`u8Z|PRQl$pT+bm(oES8l#dawC=@#x^Ec0{d_raJnL7?K6;%cb+s7$(SM1 zp{nG~p#wK=7q9_mCFoTy^*5ulna$I^Ya&$`XTxsM4*$EH z!t3?!zd_ycW;kAmd%AJinB*2g6{mUW=UCJ4n;#v187qXFFeYUJE_nJdPv%GCPkuFx zmd{0dVaEjdJj0g&((2Zz+F69%8=@j)lyrY`vh{sq72EXtq57I53;zM1jn+E30r2~m zxp$X5K|gG}w3nhrufLgLAU2gNOBLo>^6@^*G&ebBfC26BzN0{XMu2(x$x^{Zsp>TT z^imBMh-;t=^QS(KbpbSHAyT0gf?>%EKLhur?1t>7$+hB)fqRkvfGLzJwtmf1Tl|>5 z*q#e{({;KSQs#5LYi^KTo+T7cf3pmktJQ{k;7)RQOVqtCwDueaaZXRagQAfl*bLJ5ud(;aV0P!<~ z#Xc?b%@~(D`JJk07x&yt@9`qfxfpv=5pUL=c$`Nj-gP5<*~S6ltfioGW7f9`A72B! z*y+-NKs;{BW^vgS+CLlZ5qe>kS0yzz5r>hlp%7t@HJeYVg`%+$Dw_l=?WI>c{=J1f z2_V!))cZF7tg)d;3jJEnus|kHz0UgjjjY0iG~qayE%=~5gvAVd-SLd2JA%sMkUm~& zitQ6i%gNCTCmkp`r38C$=GGXx)Z+I*es%)lBU>AwvT8g(NjNBMR98HRAeaw;QHy6U zI#F?0^Eq9jn;vk-v==mqmQmxk=j1x35ND%^5LtTt_74sm*u^(JS5&{7eRg+!Pr#D7 zHEccF-TOSCmg&uZ&T-BR zvIPFSoOaVtOI^{IBJOk&xcX^PZ7-29tM4Gwc1`>G~u*uc@H0)~>_3f25- znj9>fQIldlUqVtzxjY_nF^Z89*pyI%}7R}$x0o3?)Bw$6auuU2l=Ib+sc`jm%B|X4d_W&1myzIy~7yU-aQC?76 z!yx5Bt&?prPFthOA2G*(?Eun%80{U(;RI_nzY5&7vwtyB6!mA9!xQUvH<1Lk?^@Ht zfLYBv24KgZ+SK4O$i{kuyBL&dQ8n_o-fkXEQopRc(tmS3Ja7p}a)gFTx?V4{^dw+l zG6?R9Qf8A-2k?iFHtu_af)?2Jgi=ZP5==&K2)XA6TD8dy6E(a8;Jp{d>-}Fcj8X~Z-H6`9QlPeaoU<-KU`j2_)L+~KS4_mSaY<8OMm;i0 zR*W7<5n7g|m~%bX)XDpHPDN;e0mPqPtt$Jc~zI z^*7&4A}!TlT-l=b`&D!lgz`vYV{%0=2gE{TDsg|ulhY`IU$HV%{9xWKdO*bbG$uCU zt$ftyyz46$(;_Oqti_fidjQ>0zwwP(X^^m=ciT~xZ*N(|*4~_`Ze_>GCM$J6#NXg= z`7;P{tzsx6`3*FZPO5z}u)$^D`4zz+WMxeq1Cqt z<0@ds(|zL0oRVM&BGQ&Aku5@WIKl{cw!8Pe))DwZtRgn4bFU7#I=UMs=WgJZ4;vTf z{bOcpcBfbC>Kc6v&417Rlip@povMvD2qxUAVVdJ;258qGJA#9^r8@tURBv&PLv|2{ z=ul$)6WWw?-FzDEY^Qkwl&Od6)*Z$*{lcN=Zu;Rmg~RU})1HApsNZb1(oEHDgt{m1 zZXLegIhgs+d}oD+ml~Xx$l^OJS?t8H?#}R2^HGyui*?Z!hPOPv-+bzc~ajif_%EcOaT?%8G&CO1Gw{xDIX3SBojvkK4lmQ6ChcU>g^SC9g77J? zRu)Lg*#t1=Af)LrD^5MFWGfgKwozL{_=A{@bS_h4Wq}@f1Mc7<4oBwpfL~%Z&UFX3 z0eGvtQt(?8jd4L0J2Dj{VgIv8ZB}*fCSUh?v}!$6oE&tVQ7HdMYUh;c(_SST%}EWc z7q*uq5w#?(4MK}2mn6C(O}QBsmz7&P*xAfRIbYx{clnl2_CCpTA%?p^BBr0Us1{!b z2&{A=p?|^D0@ol_)JQO`A#P117~d<|(ZU&@Mj9aLSmu zQt5|{AIlv4$3I)>hexa+IKI7F2>CVsL@tgUH0|rAFw8JeX*2|F!IhzgE8}7J(T6nD zfBu0_r2-HzqTJrzV!?d)fz-7zXwkVN0siVvjWij=y!Ho1@WlT`#r5(!tbukJT36B< z+s=obUW=dl*-g?}b}xURFNydu$PV3p7f=yj(g(?!MiPHro!bw2i_5K|;;E(NRKjZe zoV)s+#^yT7ZIulpUpXdUQj|hKZcugsebtad7hY0}Ht81v%)!DEa^~uR+%^WF-sx8WY;<@1V_P8d1Mj~B)q00J6G@3N%%<`U^AF<$4Hvnsm^f838s$w0l!*R zOJiV5lT=kUt}*gJ+h3u)^Uvd%xbIX~g}kDV_mzOM#`312Du>2==CKyn6Di^5|6H64 z@c5vJqmUoRt>+ixmCIi%BZ1k;|EoIvuU63qro%_onknX`TsHi_7xrGNEj{9YLa6@} zm@u^Tu>T*un$xAm!qVgaag+aR5Xry;+&2RmBl=0L^?@mFp@Zt`M+xdl6u4w+Uz3AO zr1Y%@J4eEzaiVw;+{>Cp9(oTU@P3PBqS%ACf5LCJ3qU88sggi7krl!?10@`L*nnHvIS+cO@Q|P zh2&}@nv^d4SH`P#ZV#K1C|ar+>Vsbkf+De|&Xdw@5sq4`w`~$VetY~akwSlA+FmOJ zsO2zznaiDUIvunBq!;xIbm-t1#nPJ1QWF(Z-cvG&Sh=>`_Y$&SHT|vazZ=W~&2>Dj zGbB4%NXqx7<#8WF5DiD~Gk#pWx9pU?u%}YMPY50r`-MO6L&R5@Ol*AqIp92P@KcIt zo`YRjiCq{EyWa%-l8@KHWsAIJ=xs34dQT8{djmh}2Nm^@9G8D>^q^%Ea~%m*^Ek+! zQ&@?xUmD7R08nL5VfJ(kieAAgv!~u8DzA~ck{e44t_=ChaY{MH`X$Jzo0vJ*nGSEG zbLSwjxJgA7#mbo(!n+KpFXPz8arHU4%+xkv%_VWF>2rKMNB>X?WJoer^lpJt{{1@v zK;tdV&W8Xs74e_wb9`+0+V>g6XCEP7vJ5(Q4E>7hl?OV%omML-svzO84Fe?g>e*!j zqLP{Sg>ItG#q^0tg2kGysrp>~Z1kiW|MIKxArHH2!;I6R$i{rjM%;HcAM!ZnGIp

      >@9ICyL+f57KYG zIxxtBS{#ZA_$ILY#grKag-PYOZqR<`^o)GUY^b#(r{?w&sLYfL(}4J!9!l4TEm9>O zsKnM09=#ibHP$oW#23}VS&E)ps+G~~c*FV~LRch+VWd0b>w5!t{*8uaJcz}S!-8T3acD_7}~9uT#pPheA-(#3U7u%Ptc;p6C6$hFc1*ZZfCX|qGt`@DLW;>tVDKF0yy|Et$NL?IGP7;oCg;X$( zW9a8Q#%2t|OX7D`Xu}gPmJoacyv-JwWg)ay89wJwe*UxX000}Pu>AQ>r_`u4dEc;P z3Y1wjALfWyDjI8&!RkP~VEY*73+#A_N<@)93y(9niw=Z9(_s3UyJX;t4|xSH`#)SS30RDu!g zb;iMT$52MNcx8`}3Au0egGpR5ZeMvOCCTvAg(={kA}xlDe{XhmJ$Z?J6lRp#Bnn>-5vBpV0*&V zO?$%MJLpEs#(Tx{cFQ@K2jBLD`}_8U;2W?7r~e4=y;bDM%5eQ4sY+)aV!{|1xaHas zY~Y82trbX1n$k0aN^8|?2ae^=9IdFeknL}mC12gz0;IPj`HwgxJ7CI}=-!>txYA>Z z9-@f<4KApS;Z9c+>yqV-IUtS$?m?+5HOtgpwH)6miK|fwNI5)>;2b6@ zU_e|ru;F_2HIKd>|7o>#vuYSW_q%XfS;=fi4BHbZbW7Fn1R>`1;^!z~`zGqtv%sj@ z>j9}^*#5JThuskWhTbZXK_E6)%Z9&RoY35MfnErc;Z)gKUD=w=IV*=4>MYUb5zg9@ zb>wcDO~w4h_Stz}5P_ZXm32xURjEXw+wYT;UWWBtkc_AX@@ND^&j~m zJxeI3d!B4Zt=E5o@Sx(aKnII-ykF|aP_BxYNrupFkAJ$_pL+O83tfK%au?MXB)cqB zb+y27alCcyoQu4fcl^37hi-@~h%P1IC?%Ob%+}k7@9{v{1-1mH2+p0_@&QwOU;p(aQ23p4 z4F=n8*@LSkHgA&{IzzzUx46R8ZR=({sbMq9Ar@lT@(XT9cjy#Fo`O@eSwg6qcQ@`` zgaCU>W{(=SVQ&sT;pH%suSqQ(DGI^X=_AObF?v`r@vgnHhb(@s zw&>^eeuIW1sd5A{{#{vekl>{<91_k#|{BA|MW- zv~*gih$!8m$UFG^-*@kQ_y0bh_omJ{d#|IFKRY$wPCqcu zCuy3)y!53WTd}pwLczDs_tq{39B1~lX5I1&Zh9P|C6uh!Uncf0ki9;Sol5;3Bttn7 zSnv0yBBnd(-izuIH5;wUo$M=3q`Qk!t2Y>~Id+nNo>f2Rq07a`X51~Tm-Dc1eZ)cF zIN46{0hfEYqvKjEi(B;TC30g&wR3vv43)=RZ;Y%P0!IF{15FGcAq(M)Is zg!Ig_`Ad=N&%P>xWN&PhSbN!e#!QEuoGSU$X`S~rqJpKPlJCVwi`@4CXLVh^>xjP^ z3&rmA_R)<;X3n>eU5UE9b|^Z!b$@;R-g!f`t5%lhRSUw4o_Rgvo`eXuDv9Q2wZXz41M z!{bbY?>UK9$oNxRx0{rB;%2aj%0wlu{sT|dQ`BE|_mXAEHYjLXRqnK%&P-kjfBUD! zmCPc%Na)VM#Xot|xo3qE<9EYmn&t~P^G{v)AyZ*7_o=+{E*_1&T%PApy(Yav#@~v!^HB*(_p=4Fd5VPi`a}$XX{>ERf)H)`Ja9oVr zkjwAWQTMRSV@|tTdFRe&*Y8?zhqiA#)ZasG_Po9UPI1X(nlE3a{$wZ4!Xw2fYhp#F zU@>_yTIr>WQ-9x!>a-t&gpL-`%8^(3(R(jn29Xb^KFH_=<0o6?#}SWSF3!0R_f%mc zO=^?BN_eRDw6;=RK)KYg^v=Bvtzk^u!a61}SJ{~J)z(3}?@ko<17$CN;&hO1s!uAJ z?UH@(vxT{^H=KGgrVDi^6A5A64TdgjZRK_*ZEovH2i5d0gX*dpS$pDjKQhk`j6Oo*!!Wk4=17_C;y)RE8n~)TV=EM^OG} zF}g;ppQ!P4^oKLrCEtZ^^aL72F8aO{{xr2*d^RLG=+hHqiO^bGz>hYDQ1=J7cI$Pb zS3UD*6rk$9q%VR?(@hzi$Hy6*L$5ul!WQl_xm0wXiI_5TA+<9_c^-O8F8ej62rc1A zT0Q)nHJKE~p-eZJFJ3**5cO9NH3;zu4g~reVlAJ$PT@m!~}N%sy2*J;SE z4&~lz3>UH!Bc8T3aVjooF}Y0pTmF0F#5=UQaFKEPGsdp;*G(ME#*|Gjzx0hH9eBQ3 zhN{!_9Kw@CfLmTD8DGv?b^bDPIQ&$%B>Xv8%$F^Zj$X$2%!y#1C^Ume3u1 zQTM3s$(YI9tH($@6HEze6!Y`KZl%1h%f4FrN6?oxB~9WJ71OPxT$5P|PI|f%6^vVl zdzE9*C5~sohV6SNxpyi@Y$|vL(uTr+1TG-*?lOGQa^-F_T0KMMZ>TBsydl7(U4){& zIFMI=t}QO%_krF5@#@z7X4i_=A=%?J?#q0gp$Q5Pjq~#+ytjrt=SCzE+ni@KfB(L# zNr{|~59z@LyvQi0-HUyCJa&P%;fLGnn?_2Q!P%(eYg{?$rW4bBKW6G(`QiJ)?AN*?PSg!_HwzxVdIE~$~dyqX`vP~7xAa9 zJkrl^>o4RS^RLt0_b{*A%daVQNqDZ5pDR%Iaa-l&1pDGF;$D@N<@Aq3`-!vA z?bP5yt)rrgr+}+MNJGi`c0d25>XWtEtcTU(otn*!6?j$J zob*X}*~z?#`@AHEo}Y$-#j?xKu3bq$Pv7pb&aaKz5?{H!xs5^{xAfnshnoB*e%JVK zL#MF()GMC17n;DAQ!Z*k9!cIJp9o|wwsnGKhB_mE$57C>a1-OYYNIdaD_5sS?0WYn z+j~lSWA3kCQjXrnS5QY4w43opzC85MckhSS!o4?kuFZ3>Pe=c>^-Z=atVf%%4R*dV z{yiX|`DXzk^+BM2gsOYoon7xWKHGsahb!hJPvV8Ux=V0sZGJv%=s$M9ho3RH%`9m% zaEbBurX7=zxozE@XfMa$cfMjyw09Ed9{6S?n_fs4zvR21=p*-l$y}q(TP)pvxnAYM zRA0IWt&j2V(Tms8y&`=Lo{uJYrS~6OlX9MW+9BpL%I;(AYQA|pVDyzy`h@$a^sRJD z33>CYX69y>g{<_Gw;X(buUI>;Ezd4{D_seVigL>pj$TG9r`ErZliO0gDckbsxy&nnZjaRWo0as%xk!@#9YSi7{#&lca5a`s`eKs!7ZPm#8xDFb7LI;k8HBqCa;y zdGnxy(dJC;k>Tzt>bVZQO*WHhv&-Pr2YGYhXa=VTtvP=|r5 zyCbFdgT0^Tx7%G0c5SnWR9Wx)y?YUtMofDb`f>VB-27Bc&5y9ItEU>m_dJJ=RT{k9 zR5NXik~9t?+YWHm`%cg}M|V?R>bIPUBI~Nm>oa9r5*&gGGSSl(4rw!dkLRum2&(6w z%wC{oP4p=x_}mz|IkElwi)pITfZkX2;Zo{rM0|N->L0?yfQ#kz;+0giuyA`BX^v(M zJ|`gQ_xqO>KJ*dP^>6hymT7+=O z4IDi!D^ngBP4MQ4i82R6t4?a4zIC^U54Dp}r(~87-jh9BZe+USb>5>~;hxd8 z7**Rks=df~csMh6ZP-$%Tn#mCn_K-#aZ9|C%2maW^orl7ZOL}W#LOXZ-2K9zb8!k( zeyX<@quAjUc-S?sT1QQxU|-cBSYsizWtK;n!W0i=`oF)ZCAP^WMZ#N-4@h4chls;; z7apMJZx$@3M9*b9MJ;ZyCi~}aCMEvNyR{q_Ei?N(KU{7kMs6j&sOH%tE};jpU(@`v zcyKQ*vf@mNBhveCQQXU?F^l*`G-C)v*B8*3C2kPS4j=xV%uGl{ES2HKOth7<^DaNN zR^QdeXr#$^+NQk>Gn-;Mm36O~-={Uq%u4U?q!3fP<1=2e{``eP!l}=t4|%hYkE)*p zL4J93e}kuogNJX!;Fx|^G9S$#{m(#Q&z8%6N!GADS8&b8t&oU)0rXiH9phkMTxmCb4nCu|6Ny4Hw zOTgY^VSLlh_MyF9Izv=WNpxn^-A7rmtQqN%&#SICRL3zSJbd)bVE7>$FXOcD#=VC( zl0M>mMuhw7R-7k(zw$^40cmZCx87aYi|{O981609&Um(I9lCt`zF+pciN`W)H|-*> zFt;T8=A`wH$Rk3UYK?2;()-iL8cl2DJV^3B=;XqYm3ZF!xKU&CDaw~=iOig`qngb9 zgpo}4GvV1;lzsvwcXNDa3$D}@l|T0`*q-)v{2c0D^0rg4;M-OA#6n^sMeKds$(Opv z2n@NU-y{D{zUi#%l&w)*y?l>uwG6MPZE_|ZxqB;WXI)SC@IgK)g!a<&!`OUG(ni6{ zpNlAMSf|MA;_sI)(K%neN4Z^zSJA@X&)nIGytRYBuYr18D4lrhz~%8b)rVoS62VQf zEPo5Beq^;sTTNX%o8{mzB;c2>h72mxS|4{%z9#gM;-Sows_orIUAf9P zpOWLAmI_EMFi4!~s85b+Dv;&I9_XK3wSFkAk5W$XKYn17_F?J|-8mm&mriKHti1N! z)^=#xhjH|@X!yq2H_dmOPs@AyeSYgj$NuWixvsJpr*k!L#yu0p6AI3r-#WC&%@X#L zUnVZT!wHyiP_pI*q1LnfJ4I>j^&bcmTR9yFk0;$}hu4EKO+i{>ZS9XGENG+CtIb&6-P#xE>tt`7+E-xJ+Ha>>08&K*;*IFO8BoScEPxj`NoVM zx5Si@XIbj=m&`9Ebo|<<3@H~&*gMy|@Mj}qV|eD~zPnu(+a*47Awgl`7sD|p78$q~ zO;WpDi(dw*F-dkPOF8G^EyKXu8Zx~4wdI+X;=@QrIl&$v+G;~Y) zb60TP!^;jSFxFW@Z}p>(70ngzlVxR2tw!ZxU)cR&_&629%fLmNu`G4$+y&(w^E02G z(`5X)+b0(-bH;d>#2?4#BipNQFl3B-ij;1dCcRs$-m8`WH1WP*qUG_Pvvvyqn?>gz zwFapEX4ajb>ZNz+GxYoWD0j*ouga=(TI|n|Kcsv|VTtpObbln_;wp!wz+j{j;;h_w zZEl^<@v(j-o6780Anj#)W=Vw0A1klJC7dMx)X0vO8P|fmmc%DW+v%rsw{wqtaKP$h ze1Puw)>g8^A9->!j$x+OdA8AYg??qOYG$*Lb|lw}FC8Yltc%A7p7F1>jk21e%zhRt z&RB>LBd+33tNCJ=ny)GO3sA_KaLJeiw`j-lT#-!}qHpmPxzwXW&nUy-`cQ^uGUXYk z@Cgd@ale=Vf(6ZeMplWI|H<3X=b!yfVB8UG=};48N( zunz|1l4BfPy{jp|m=Qf9JFGu0vNke)bi8uHw0?l5BJPeVuQyM9hoNkHf0W0ykGbE! z9rHsjm^@zJkaf~%SS%xKm(--+f3#$>+4K9I!ZZh`)I0ac#a-H=;tAfRgMy)qN0+}o zZz;2S;#xm)N-*?$*wYi=IYn%wkx9sI9?`j^WRU!$N|g&oNMcRJH&RgTWZQUC&z8IS zpSn1~&q19_e}-^;t6u7-R7f+O+&K$0=P_H0Lc+=8-tQd8PcG$g=yx1&jBgmSo)sdL zI(@wGHuKBvjBn3ITV~{-(#NK&94}o+KgI;UxAAM}^QHX82nK3vF~xv!r;-3ud6BQz9gb&Yhik4#zFd1LwW1lmnx`od z_+gsa&FvlYmzySf6|S;_UP{ErCnx0}gvR1ry}us$eWJ7;M_zLuDIvGp?lyjMK(c5j zL{VhYzwc=pFbROzUZNN zX!!omsDTz+&CN;H*4~Y;mi9HwKWqjT`6f;7Mzzmyzmn^m)tL}J<6VQ``Lu+8_JxY@g}H%&cut42d#%qHoWn0;k9AEeym!Q)B3BPppUs5m677@AG{ zH0WKe-8uIG(Y3BiTt9{gQ9mu4|8Ne=k4r1<+B@Jr1gf*KZhf_%`1)q&^_8Zen(qG> zD$jrItUGEqqAuw4o|_?_2{5raVKq7E9uQA=zr?9lit=0JSkiukgt1=G%X^70^<0s`k8~+^}3kJ)2 zmUHn;_Z(P^ZSw6>GMMdZnayo-jHk*P=}l(dnHqk2%V=Uc^X=8P&5q3pjyGrUL31VI z&!f7XDF@Pnf8Nf1=AZ6haPuw~n!(7xJ1v3Fpkihjfh6x@b*pmHJLu-dM{~ zAz9y`A_+@I@2FdNt&gBv+Qi}&Xy;&KFHqaUbdgf@gPDzjaFub5n>CNExU$dMj`g>} zrc@PPnuSrR+6nWs1AT@T#6u*!^%OeVemdGnU!3Z1lD%MUr70?^NeO_qiH4RT0s+C^ zpaqpjhRPxnBIltGWYA;PWi5f=pKi!C|0)2r~4KK$foYdTi;bG_JnOw`Q$Nzbby>z}2F3eoFNVxOD8epmLzcEa!P zrx2z!H~;7N+rM=Tez0Tv@#dash5A_F#L~ipO1qXjf1mazzS$o8xb^wpa{XJ!mG!!D zKidbx!^Kzb?VFUD>zA4^HP>(DmY-&Bv0z?ld}?P}*7)?SxdB@YxWcQdsv#jKK!5VdUndnlYR1q z%_r$Z=~N*mEMmw=cf1qvb{EaSu6l~X^|RHvOH=k1d^PvaaK_&maVC~^xwq%`m{*(+ zeeV0&f169l1m7UDYo4<`x1L6bUhoOBTW($n9JtB{)TxkXG=n=^5)x*m6$BM2<&};* zUD=mGp7L;vvHNgD!mA)EuX?O2)!uSFjz>ql;xtxTPU!yo3x5u2_3f}LlZc1oEECt; zquhDOD|UX}mii?d=d&dLAfz-x5(m6wB6sgl`LA?{#; z3a($UAAol`Lx2u>4+BBIzO#NvRg?rRFM5f*0-=iPCqtt)Ak?=omRnmHH=a^={xS8{ zXLW*)@u!K`RVlVV-pq6maKSO{y9^;zjqOR{YPhBAXFIBJ>Yr6*A1c1KjWhS!2Og@> z_8CjM9}8qCM>Sas2l`Lf^@`=*gSqB9p0~6HJb@1KOhDg4^as^cs<>y z%$nSYdvt~9kMBQosO)s!v(afUrrBTo?#G}n*YPE{L-_(}8Lll%{<0P>Kh@PJ!9M!+ zMQ;9+mx{M%ocu>Wu&c4CZ@PR{`;-x?aniT^87A}i)Huy#= z0wRg)!d@LDP|pnxbAkOaY10ECk1q)ZU-espR$NC-#(S4yx@49lR! z2Ko@xa7@BvE9^RO!0w^a01rNHR3jj~1WXDv7{GS;6>#SQC61ux=PD&h=hgQHaNR)k znMwfuNl;1)C{_`|7YV8i@6pNoKq{3+itZWUx`yD&mj)Y4V1Mv&s|kRj$!1sqIu5Q# zli74f5kV9HU=l&qF%9Hu989pCtBm~R51i!4fEy!$#{Qn6upvI&=K+Bi0j{JDApg4{;E_WPb!-sDRl_G2`a*^!g7=a%iDH)!|1 z7*T;#6csx2O!eEF6Ea`;`Xt*6bfnoUDJ^JmRxWW><|xa;*{(*R_mih}Y-;w{Yh0YhKY|5FVv*`Q2q%sib~J7igVjJh zQbowqVAm)WO+dOD)JXxpvP%ts8b(4lJz%21pF)&qAU3JNXG;8e5UYF88F^Q01_GNk z5T7=#2-2b;vOyo&rPvX|S|D2$1?a&^J7B8-JOTJ151wBFgsX)5ON5X0bflRoTG!TN zFA;S-R)D0p4ox2@feAH$m)nBCF3}ozohD6DC<>F(cmWqqnEi?o;hsJb4Uv}KBk{BV z7`#9ewvfauk~cz;8BqmAq`RS+aCZ5!0C>U03l_*hJ_R5`m*k*J2jD3LtbYMVnQyX% zaOh+NZVI4yMGXLUxnscT4C2pq(lOd(iI^bsFjObw55{`)er+a-DQZ)3&t0PR?!zfMr0+CQg?+wua+}hg* zrf34P(Q?|}lc+_x1faXoFc~7ciRbkqm?13RSIFR8Ox9G!lX!Vyp#a|uvaL9#Q=?TF z;Dtp%)GbAoWpZr@92$Yuy9{wV07uTJn;Sg8`kl+<3b~T|A}x-f%SrD0t^uoy4P%-P zrwtkBjr6a|f3pn7QgZ`;@+`W=Jd<|jMxv$%5GdTc0@-8O?SnuvBfwY^vY}BNl+F)? z8SK4L$&bMtJ7JC5>k$wRMkF#3qAiI<&|4meUI0H&j}P;B8}P#mqXIw`^gak8Vkij) zsF@(d%tMU58MW6sb=59~k;F$Y0%*V6qI+>nD((f9)c0}%0w@||z$0i9oR5U- z(%?D!13)1EfPm{5;oS>z0t?Ej6ve>=*FZqK>V#1go>@fM(1Rc&2{2Duyki@b@D_m2 z0DJ;?Ubx5&c3|z3xd-sEcR{uQ>Nh=L-~pgJovy>Roe2P3P!f|7Mnm|+o0r@qLqBpr zxDEmPkVYiHH6y=M0bs>J@LxRx;kQR`!osowpfUj85R|Q205~xszGeF1FMT)z!M`f# zn@-L?423&Cm5t!yHBy<(`2#uBAt&Lp4_Xhup;t|RAtPG3>ns=np<=-yq=!yykoML9 z)e`P)4RW`1C7gMNHei4XB+rZdHe<2pp3DI=+`FZKr0jLRladrc&o_lhPRqn)_7>md!I)gXPWC0>vP&Y|jpn-yfY>~bSq%epk2#y)xlkXq_9->k8 zWCV0XBsdA(gi%UEpx4Bm1b~DDa_%PV!l7Y^DrpE1P}GzpGB}UGA$$nRrd)g56AIb3 z0=A4cwn{B6+9Oke2Fc7k1)qar3)>O_h*HE7A`}%&{+i-5Dgv3HyRlyz^~K?*!tvNw zd;Eb#Mu!@ED-y>1g60*@qj^FRmva?ibdctDcC`fcihYab;h51fO54J( z@%m_Y@qGbD=6h$1R5{L4irAbo?cQtpqqIz}SsEebZYy%|v9|dSU-?wmXUSWVpAAoa zqiqa5sUhco>?hNf7+=Gvuv*UMS0(%Nqod)g5toqhAG2w^4F{rl+t)R`G^SqGv+PFi z{IalZP+)w9j+1!k$wb_FZJB2LlRx>b#_7kW9Tmc+^qsr3XG%lgbzU-f&^zOYq1UGg z+zyzNn~S=+aHcH&Yt6jus`f@}iyZb&BO}@87Gz^pe0Kh06BZRxu9f3WpJQ>(ieKe! zxXDj&EUez>4fABS>@4@)9M9n%=!!C5qlGq2JURzf2ZQ>%M$zU8RVPW;iiOT~)-?jZAKm}$HQrHwgLf{dA8dfSm3@@R$`Un_- zAcz&Q1%M{QQHsbwD{S7D!??DGpP29rgnZ?}6_AX?vjYZ7z?tlio@D`Cxd>pNj9k$? zN(>4W20|wgut2mF>42h}m4qkI5?Aqb#4&^{)nE!n7K`VCpafOGAOI%@fl`u?sv~ew zVpic6U>+c-o&h)`Lfh$Qh?%fD;4AaFkdK;PSKsUJw?8ivWO&fTgI~Ip@R* zNPr{(P`s2t4Df*}FoOi*UJ@v&l%o`5E>8W8&t+)<4@_eJmzW-ABZ^pE#{%IEhA;@*nYseURsahC zI$%*SaD-J7*@<+tDBQ~a~Czq*UGtvbR zNY#8`&_EObbGbf0Fj!o~40z371H%3ZG$8NXV}xeDY(ey(nR#0oboN~a#4I;LhhTvjlERu3(nsFi>ToR_O5wkU@?yl z;M6jMA%d|b3rM!MhE@roRDkHAa-JUC3{hi;jOMyDAtNF~69PAXRt$k14!MXV3Etjf z1&uYpUg91oyy5PblC32!mb#g`>wKFeXxnaPQBARls0`V4x7h zeYtM8ng;+e=-uHg95`H;O(^$P;EoPT`VO;RHG;e z+}@SeK*51v1Kf|pmW0Dz1DuZ%^5>}m_>mjV4uL941vv!JAxMb>?@WMONo(f zFmFuD-j6K&3c(*zE4eu=;rfHC?{H;@n81@^En5w5wJ0DNqiJ*w*X61Wcv zxJ5o54QK)Tl=TlvaFK+wY$8Ba!r7;=@%8U1@&8bI{WnUO7#yw~YQUG(!xu?#WUxe) zM-r_bHvWfXM?gCq_;qvv1Q^Rl0ukZvX$l1%_o3^rP#OhCLgCo|5y~iK?MNu1){#)8 z1cM`?P{RoZiLjNos>Q*E1T!h058wiXRXqEr3OF4~P8yQ1-1D=IM~*Phxont+7|ybR z07fb6OK@ng_djvr|Hj45{t-d}9B4~8`~OO+x%b-;&UhgwC|v@B`xpL-j(}vp=N(D& z4_u_?(qVx9#p>#wI|GSKQF-FVDd;cW$>b6#!Jrm^jlehCovd&@hhS7X zo$u!Q7gmXtf)F@&1b&vYB9IiU4*o)0% zp;YW24dNAuzeWr0Nm@<h0qM9qXCfk zt>cjdt2Ii5*OBikfg%@fdwx}t1F*EnuM9|SsMiQw4jQ=ZCIRsCFW!j%fY0d&h`4`1 ziG%-HL|O|*sUD0q{6Db!3&EMUYIR5;Vqhc=R;GYa)FB2W{{#JZfAs+NuTDrR9@l^X z2>vGweK-uMf5K=G55}S4?hOLa-~oa_IQqbNy#SusdjS%n+Po6dagqkkoJ?J;0ScEM@{__1+?2l4PR~ zkqDbI0AsJp3NmyZ5d@Y!0WfpKd;W+Qf5c09#EU=T#s1|jJ>s1>;;lO3-I2S$j0X83 z8_yve>(dM-u&~ru21()ln~~r%-d6$?$_N+&`_U){GLTW%B?9c(eHkJ_a^(#@M)0|O zJ{!ykxL~p1!wTOkK(Zx^M}zwa90!oTG*31t2rI5+nuB|6;3i)xY~LXHXaK=W7l{u~ z)<;M=iIRC`XXBXwRiOiLLP$Y?r5W&p`ezP50I~JuL%8Zz=Ziw5mnMl+z~C&42V_JZ zmd*rpu3d2eMxtcO5YaZy2!PX3p>cpf`@$0oR+{*Z9ZAUdSHjar5(>lpCIJ`fBMHB> z97&jr2G|3cM z5k^-zGid?G`-@Ycid`Ajdx;&t;Ecj& z0sEuCz-u_Aa6I-M01mGeLP!y?jC7zQ1_g>WtT_N3M}&*ehkFh0ObN!t}7<%#~I zu3+^D8~(6zeDzN`YmNsm(TB&evSC_-whXW7>PQ0 zm0_ycN36R$c&p$T*BJ#5kMJR5`0x@p-w)%|4-d5ttEZHX#h4F5e{Q=len7UMF;2f4 zRCu~avM$=XCzn9mU&Z3*()^Ol!`^XHC_C|gd}0Hbx2{yots9i}W79`TJg^PFJs4duosq-o%Rh z2XEeAUZejDuQ0vz|H&J6P(@(p>avu+?EXHwVe`#{qVsGQ^;34ekZ%&A&swgL{bbi< z8f-P0i9+m`H^|zMYj(vxQl}(C3KUI-!qY{u`5BUAlzBuJ#oRpm>%x-v&8Rtj2BT}G zrg@$y3v*Y}T6_)$^v&l(At^UzF^!Wylx#PLhy$Z3>wK z%|2|DcYRK;W%Ve2#iHEWXgD-4tQ_*f^m0N*MA=|O zW@yeS>S?LAye6MMwphN?(Jrm$Tx#VST)LhP7bOL+m1#?HAn4oja5#GEJ6K+E;p1xP z#{?XnBOM`JoRkl8b8p3_Rtw{=2xsRReZ0$hoe+l*##KqFhU;MRIYPCoFc5tkPE8ke zwzP;n9T5g>1}W@II7I$3IEhnYIbw^2(_Lp@^J0+0Y(6lz)j^<(l;}uzE%u*_@x)*e zrdZy-Krd6FgqS#Qd@4o8r~Q6XMmVFG(v8nUPqUJ#X1-4N-LPvShJWd@b(gcp#DxB4 zT_jGYxm$mn^To9@2pTnOODTLa6p`>e&tN?tHnfO)F5{Z{u2oP_Ji(Jr|J=>qm$;qw`RSk2F@zEkCaQ7wObUV=gzQ3n*Sx3Zk5A*0%!keGJix ziNDv0XI6R4#G*Q!cqvMt@qyISH-5ekTTOzBNOv>zcz?T|zIO{bQ$>eei=-~NgBh~r0if)))nCVZTA&RsO^=O53hDT^%avIaO; znnDUy7!&ei=lQJlc%Hf~W6{wo7*}ct7?o!9awHkatb`Qq)wV&GV-E-ec|J z1Rr<+`CxN+d)c5R&rQ4mli0#N8&4xERr_ALDa6iC1W2_9Rgk3%dFkt>2uksl5GlfR zSz`GJL<9z{>u8V3!(k$D3>Q>ThFU$eK3#bLbe z#!6B0-HeXKeE}C?yT?G-D^MV<_j!6Z$q6aC$$N9H#yYlG_f=xQ*^=9*2c$&J-dXBa z?Yl3u{-YlCr09{}!rw>q2O57*LB<@CJ1`!ntVXg!$p$z!oVFQGP8(w;M~B7w`eJd> zIA15EI93IRqr=I`Y0F_5aTpwiPEOnji^O86u#6Zg_!o)M#)xCZVJ9rPIQ-0s!63EC z*{Co`j2wI(FqRw(yJ62_5C8MU3j5Jv8L@O&)}xT%2W>4ZISxK6nA`w^g*~XS$Bv${ zbU64#U`B0nEEY$OMY4(G$)uht$@_*`T4t3g`emfw{vo z%PFL1HvP_AN^d&Lboj9`s{}? zuE0R9>;e4hHFD|vE6z`4b{m#81}g+_hYCL(upDf?fR?Se>{@k_*0yeBctzmlwbnLmfevJ%l+!k}Bc&HYYM7mDdKcq-(=a5vPJ(|!CMxWn&t`;6B#jiR zNBVO^uaX*BU_oY}6s3P*Y=J)FZf0imGX76Y^3WIU>6+RlH$+Ty*Hrrb>y1*BW#wJm z5`Waa$gi<#i`su<;bBv=7P!Q7Ue$V9SPFH{oY_s}gt+|>`!V_{1NX{P)*MWyxsAkJ zE|(7~#JN{V{748^(2n-*Xu1(+Rf(- zr%q`$Ev|-|L;0d?r5CYrw=xzNu}%x^attpiMqhrLSfUUAnN^rMgZs0yT=l4IiCwCY zk}{JPZU2tmf11qcjrBA`CRNktV@=8*3Ifjt#D83Etzn=lYqaUhoMEkINR;2a)n7+A zuDvci>0dq{obV&qulwG4uKl{hP-W7}ejFk2TwciS>j&CuX;Xf|bKb$TgMKPuJHIEx zibDbnOWg)&MtW`zeW92;8(yIB>T&ULgyL@_r>O;j2rAzIPM+k;7JJ>bfjQn^%#p9I zr~i8W=xL`3);E6K+wvA%V12f;X+`%|ZL*N7T;`AL>mLYUOH$7tj$IW9uJ8!g*=KpP zVdy08bKex@Db9&S(_6e<6!Ml$fgvMtc28uAnA9|9CROg45cEt3lUt;5Qp%P{-eaJ zgpm)>jq4!iyIRZo9rx#7M^^^xTmSq%&L%2KCBZMykfnFI@Dyjj8?2pz0{1s~Q{A-R z?1v_H zLikMbF)+42_&z`&@axseJu$I#k$~=sF%`)lu|ZWaVm~WF%jhk=@tUD=2U+RTx914A zwO?HgEq=R333^z2KYx7O*30zA2!G-RyKZb_Wx?gXho}2EmCZhQ6b=Qt*yj0DS)ZAY zbPnvf%BOJtrBY|gWNH-gMeg|etM|XJrW*f9y8fV7cKypm(P;8>{X=_`h_+r%nT3X+ z$X%@&v2ORr4o#1=du_a%K+}09jeQAS5NpH(-iN)n+>z}QXuVE_>o{g6vaC(^@i0Vi zSO3a-#^-Sg55^xypR`WG{5`1Q=3q0^$kg1oE8LEQTtmx}+bm_AGE4>Zpz}cj{r#Ao zOuWkk3zK{hv-h2%tj!Onv0U?lEH2GKJefl=_g8axxcl-Tq)POHk}UhTNQ5Hm&aZoS zf5J_lQZRKo;^sa%=}dP>93~~B~NX97+1Xuk$qNh7nd^x zy(t=I;lVzF1C-8TyAgeMTTOR(OZxa4>i)93k(F|MW1}GxVGla+A9;X>@TybwvObx_ zmrQ-K+R^JgH;z^Ne$Sr%(c@Pe7LH}C43C6YH=#>W&CcjCNoTY;>cT}P)!Xl{f8~yK zUZq&1yWgMP6}sfm)9mA)4knDQ2fV%Q-{i^sD*Z$r;VTkmt!GC@FY!(xO} z8Omx}s|K~9^OR}D@;|$hf?1Bo$>L%XsdQPf)*zL(2&u=#GbG%FF01`r=-6Y9NY1d%0?E^d894%eA=2Cg+qQClC z{Rh(I8p>Rw6b`a3-|}f47Jf9ze7AcmOP{)K#B}=fHNNX_T6%mE4hHUih2UUr$dT(& z>9Qi|`6&ACvIn1V@OwNw#@6zwW=UHyO%%TFmcP>Pc9RoJjvPW@|?5SmBh<30Y!``5H9&_Qo5$ ziR4aum$G>AB==*7Pf1D|v>N0e$*LxN_lGJUGd4MQQ-4_P4XQ+b@()Z@jc6*cL_9Vq zE@|qPdv~H$X`qv*RZQnQM=UQgk+A>$o0Zn^d6U?b75&rIUlR^r+bb)|PaUoa_gXu@ zw7D!MY}_ZWTMcOmvxHT8B5P%~8>V}@UY{BFuYK{9Tl(r9o(X#`i}QR2ZnuOJ1O-0m zS7~@1vR|-3Y>jzozQ6Oi;d57(uu;wGjaN*53CLVc9#OQkl|^MMOO{IJ@d|HKAh&?*albxE+j++u zXI>}_LCuNRGq$rW%0n*u*AyvT#nq|OW|23E7E}uq=NhRUn0_iUHEue`+e^7qjp$%i zTGR}ZaeN(HOC4+&rTDCK*X7YiVtyj%%vZS2g4;61b9jjCDrDlun8ykCefM*64{~y^ zy=GHDOLaV?6W<)jFk)BH5B=$oj*bJbkzml(4xo|+T*Cd*D$yjG)l~F@+rrnbV#OLAJ%xmqwIPW5r63~N<@L{V5@hi)9#I;X z(0Ez1D@Qj0?$Y)KqvciyrPlV^Yt{%Rh6umVXrd|rvcjM&gA$M78-k}kf+c|GtpWDQ zMp8JQiu&<;u2>9;AjyNDL|CnI2eW!(l-3jYF!)cT^GfRY7DnZI3y7LFrctoNdEbxGbx)1kbb zFRrNBHN>`?&{x!kp@$oP9c2+9h}B{vJ_jViM+XdY)8fd*{{0Igq~e5HvXnPkI!$GS znKc7Z#0C^DRXl7^B25wU5(Kp##Xx74?UCF%%3RZv=SCa`v_>O9a!?6oy7B_1BiH{t zFu+Dh`rogO&i7z2y zk}+}skF7D}HFO=M4oO5#5;9mySinzVPb3h-j(D)ygsS9d$ci`QEYs7sN=fM>mLah- z{bg;K8z*Q+#@GO%AD;aG0k3v(y9V87Mgr6%9}gu^h&p;4?)gITh#4qwAptgpmE`=; zJdz&uRYVvu3&Cr3!WT?CHrVBwI=}9kh|1GW)Bn8lt(93^c3i0njzh9^wFSTQqQ2}nF*i1#4l zb9YcV#w!vHg2Wogy#E(tZypbI^!<;Y*J~DIW-#`hF}5Mg5Rytm5|SvDiW)*lHKc{M zu@6y0NK%chBxy)R>sS)nrk&Oym3HlWeed-CyuZKC_rD(xW_jJ$z2~0Sx#v9Zz2}@8 zEh)MsB~73NOXCEt60{Mbj$9J(o(v)K!s8=O(z?CsG4i(OsKxh19lo_j*dX7I3$faK zmE>qqNbi5{^-FiDSKMm|ujc_s7cO6l$=wYI=bZ#RJ#X4^+}!S0*}Rn5Rfg_FXVEq* z3bd=J7STt%u{1U$@`TxsGee1jEKyA?iOs*haDigUV0olFSg+UC70UIb=IFW3#9Zqc zQh~aDi=5oi?ByHv1@7|cTyDRnNM%#FME!Za_bUQb$Da9*Criwc)5ndB-dC;6j9LG9 zVjw^~;qYp6?AyGO6D8`OHp?qG0H!vGCzV5e8*3^2tr(=4wvksQN{Vhu5Knm0FmO}w zT%MxQPd)q+~He485@kFbEPqAe3ey+BK3=+fA_j82uAlB zz-tvGx%V5#0rO&{d;&$4KAm56XDRA+bHQ7u4FsVdIeCbPG4E!mcV01{Vo)ex`u1yn z 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

      E!ABAZ7Lq;kRk+~XC`*g@ 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 YR3+4!*wh$y1v``>IiO6d#`#wWAljk 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

      _waG-fb@~w|js6x7MBE;g?Np{=;WY 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 z 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

      cFd*9Rbw!SS*Gng6fQJ2z-C*b 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 z

      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

      52U+kKH*V`=U-RTZ=vX-&6UhQuKl;oo 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

      cSdR|Jk%7B%ba4RGk~Y)9#RKkM*nRQR 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�#Sy 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

      EE(U5uiQB@IxO|j}G@^Q}WSesR* z0h&FPJkQY{zj+OvJq!aTKf2Znz?{HCQ;0)}Ht(23KG^1UZ7Q;YqU+!;5Vlm!1z(

      qyv_)E@5~l z^YYKvgk)Tq}i*&--3dcmc06ot*wVfGo& z9H9pVD#zWq6=3Tjcg}z%sZR?R^N=5LfBa2tgK$48PL#%hxcGYhPF%yc1K?b|>*mnb z^Jv*VCMhE+iofhD>5c%!d_b-c={M3ikq!aAq6w+EBPXzc zsb*cS+%PpA^MA4?ypA8e@}EfSj%Yf^sFa2^U-BUocOJa9$_uZL;#cH+u$x5GRTimB za#(cZ74+RR5d8qNx1@lG0p#HCAm~{>7hE{eJBgq(`PsIFm>gcXQHxpkXYNt0;B{e- zLFXhR7~Aw$>rfgopZ0RB_%(3&!Zk`j-SI>UD~vW$SWf_0?JUfK{lhRLjnvHMdPft{ zPOvY=PZj1-G%M9gw=g_th8g@#p?xtPESXWzq-mLPKZ>N8w!TzTXwuAA!}|*M#hfEA z;=h1Qm^#L~9%{6szE#t;^R3q=+>{sK!Scx3Btc45J~y2-Cd7^gS3NT> z2ymrjFm5w*5E|U%lu#TH`RS7coV}0%1Dil;*T(U>@49oCyGLNihUrlVI`B%s)~If( zXZ+MlznPAS!#P@EdQs2T*DagKxA>uyYM-#nQ6P={z(?h6s^Ki%2+@7L)}Pw-^O(#p zo5jdP*pl+Nht~F|#Ud4Z0)2T{UgfJY^JQlHl7y4KIKXT4fqpEDb=QZ6wUXVXv&0 zLkIX4NHx8)oCv0+rYP8}1GdV=9iIzohMPunoy`V2g}oR04F3+1X5}h1=%>cJK(M?1ah_PNZ?A-AO3tanc z=Yv*XfnC82hgl5R6S2P$>}>r=N+u^6oZHH(X8Mu9@@E?JdGMip$OL^Hc9C2&odE#y zKZ5o**gJ6DVOm{1J`&KYg3#3|PxaWkfA4NmD{Z{v%x>X4(I~iH@I&q9mt4Yp@(O}E zix(?rN3@T_M-QvxR0^pYxF_A1I~Zg9evj1D^m{oPiAG{llnD?ED%g^d`$-J-XM?G7 zBrWnZ&t&<*Se4Jz%uau9$6So+xufZ5`m{{rjiGGTU2!;YB)I+nuFwLY=VWuXSUw(K zG&Hr!5KMkp{HaQvq8uB_>`<9DhRbNWicNts#@=-ze2U7|1A$OroEqCm?a)GrMVYF2 zJTq>~vD)gPMjAcR0qVW9iqF>^>wF}69v+V)aBKdDm2z(j{Fb1K^SgAs(PIG_g+SK}!PjXImT zAj5IfC8J*XT^M^&vDhdPV-JTn)OJburH5|}YdC4iphoE$ppP~6hR+)O>KEp-kvEpF zU@KA5Tej*Q4VPXs=h3u?N&Pa6-||f%YLyIL6wELZYMDX%QN}3?*D9JcYN$AM(Cw?* zs5#DXx3qoj;6{|%crd#$<~PXqKkIl1X%wzL7UtRb1W68rK+ermTScH9`)vs_uZRD@ zdTzMd8D}v39UVv6VQg%4B6W<>9JNWlKNeA@N_kJYnmNJ9;i-|v{^zpYFJ7Wb&kQv- zV*cViyu=-q@_K!1^Xa1 z0`hT%!Uq$)V0_SvUIua25~X4HijVAHfL8~)+~y8Dq+t0MV55c<50?Oo;>n~Jh}Rl3 z_)@F(NrzQp`^==^lN>KXHgNo#zY&J44tj~%+~jifsvb-NiFoo{N3w_8L-_!Ssep$I z@3o@5rMF&ij-XD^4RLg1NlyfPK6A>5)wj!vN|Gz$=pGm?w7&qQq@wp$IQ}`i;RJ?A zXPW@HI?h%iLL&>W`6Wh-&loBBJkS$HQJe zL;*Y97>jZeV^yex6B}f>51A|fv!Pafx1^vrwx#;Y$$u@SA*%nBoVSzxl#;VGfst6x zl>>WaN4VySFqD!2tQazCFx&bg*zvT=NzkMIDpQHVkx2BbbWdCi^PU;fe;BM$JQcbI zYKam(rG5Jg=z6C;D;@~K=H)&{xaPx_;^vtG%P#>qRAbiZxlsJEq*9F=@&hE^hRt`j zPYT5Ic43r8WytR@@f7u8)kSqb9-&T68RUFH9cd7`apd_!bi+pRP6{X5_C1;Qo9L&V zfN#f&e>AWfM!sLU7^$2#8`JANE_r}H5Us9WKj|t>gw*K=P?So*9C$IH%J7NDSzOV} zd-gqZ>m%%DNAiy5bSKxwGPd!CM-tKFo1(OV!TDSL6M^JLf~dn|Rw_K2!^V3zZq)xA zLwH40KFPY%=9KJR>4!%V9ZnD-jm{(Mp)=4`Je5?B)!aNI2X#8Ua_xNIge|>IC|JsGvo~PPrqsV zhnWi--%?8+9Y2hE#Jo=mQXjjN8D56KxjLL6jfU|JoxSo=3kU>kVk}VkciMFem(Y2^ zX9PZvr&YqeM#}gSk65jE6p1NTdKk#epkW5GNbMY__=rf-Bd=F5@!f)oc(SypZwc;u zfD+06l7;Jrj!^aYywcKvyuP4xciqFBdj=Hic4T3?O7`&&U%V0RWcb5dbjn>mm+2mC zf&x_*XLl~t(a{!H4lY1){U3_aiu>0N%3WFuAs)PT>Dhhj1#;oMv_3+brYWAh&-_}Z zDJ{IuLYit)v z-t-dq%D5AdM>oV-FEG47dyc}JV8th-EJzZr`U$BCW!SToep$>qy~2u`fb$~E1H+$} zK*tc8rqkzqaXH0Cwj`l7+#K>Li0@_KICqQAz`|PgyMYb3pvaFR2Z+mB>Ae_VKP)FEKDpPjKRN$r zF$7ZBuU-hk2;(GkCw%?=Y=yn2a97P@@&iH~B7Gy_R&dH4^j&=w9yLqU*)z5WweuAB zKWQM*TUYHd{T3zkjC(+31q#8FqMonPq#PZmg~X)|zryZfl@VMnLb= z2nEv>&p_}U{2la+-_Js`HidLf1vv08!?6&^Pe?}+O4vyF?RA9wZ7(v?79A=O8zPX& z7$2J7gC3|kKHp0`X~Ge%VS+RPI}~p52L1x>7KJl!+EQ>7n4&8vLlH3$Kc&&%kR|a| zei;8&A47$mNF5_mDOBIQZ&R!j88RX8iMKT9NIz-tJR`%;2lF%DLTtDET0^aTa~|#Z z;3#-+_TI+Rh;MXke~l)4ERM~`X8B&(kwV#{ZsjS3Up+OGb3dP6^)soDxg~+%=MWFV zkxoo;g7RTW)Q{_+kq|4}I3M;f4E52$+)@b5Bwm(XRa6sD1Vv%d=aXn8Zm&Cm5+?CL zDqQJ>I43injGS~muEVF7Pg3sz>Fm;M@aoYzX?+o##w}^HrNA@DSheTEWX;3_PRHNkY z9Hs7`1Ep8LtPwXza7Ij*y|AR6H0l$A2u(2@0X`htWb&^~=WK3u9FYRHkX`5RqDcz{|s2@s?8 z$FH=vDaR_{t6Nc4KjIHMgg5FziW5#>+-Vb$Os?j82YCzM-J=+~M5 zyqO~W&zrgO!ohXlt4q3tpU1bNIRz^&<;ij85F|lqAW6{tRdscgYe7Kc#1I!jUP5*a z*jiK2wcLrJ7pU=W_*=>Gu$c|l=JiUw07)=Fm4sYBK4dUy{F+=f?dh}FJMOfx4w@Ju zKBi4v&%SK?SjIQ;I7ef?+H6Ux5Wy*No`Pi!sMcU}s_0PGUQziXSclbKT=Ws}^z&NG z6$*-!k>q)6)1|>rtwn<+kYq-0WovNkZ^RL7e%~;nNr27T>IX0G9epFyvc0i}zkocC zwC7_5J))=1&p)55F8Z8~MTmO&Y8C#9Lluy8c$@%=^xL1p9s1$5k7&+iY2AxH z7x4+{a#+IRFj2;aRG(Q~j+IEK^8^hV3foJih_%U3m9rPc@0BH^HA0l@;UZcT7nHSd zs`XSIIfrEKvKo3%lrvuuzqwqdNPdrP*pBHv&KaFcfoaY4t5bqj%RYsmsaW=be zb$Z>050i;vHjqac_bkj%FpbvNA2*QB#BqQ97r?)$`I@*L`Aa(YF0b5n>u}-6FKZX| z&8;lq7DpA^KO~;8gv8BTR~@o&a9VlJWP(fD&7lYL-&=D~T9d6i+}Iq|;r`${v5{Rx zh>W`#3Z)px+wDP8%yDwxK&;G9$rYhR_F26YgIq|w)i(mgFD!#IKt=s+PloCLsUh50 zk8dd> z*~V&)xn{^X&nw7b9peSIl*upOKN$9>vWqqQseY1sW>1# z6~3z1dfi;>KStZz_BkWGQ!`6V?muy?Asjnr<)R&Y5rh_LgCp2uwNf^5HdfWDrq(ga z77!L)m7JqUp>^VC4v-fjMkf&w03f2HcrS>uXi+wk^7!i@7HLhNFG1^}TSxL9dNWpgz+xjzECvA$G$%A`SZ7ZSlawHbWZ+tG_?=N?Scan+ri(y`#T3l)pEe znBf4g@`_9A=5%j|rT%F^t!NV3>os;d5+wHf_pf3>L&FV zuOV!=*2zZ@?R=J&HYKKAQAJHDd|LB2pe+avJ{1b7pbP_|5wiE^zBZXfqfZ!@*r=tl z4<2SF@xW?76Ay{W!GhDE{07l%B+~nZl{iEAfYJB=EP<{IH z%q1dsz*a2O(q8Re>8D{USGJ05Ol=ivm>JK*MmJM()vUb21&S!^Wlm!@!r-1HswcJf zMk>$V007l90*14XxAq={+mQMo@$_Ih19N$x;OIwNQ>3dDAmCN#U?8o`axe6_8pI7` zBRWb{+AYlgV)h{e_H@<2{+L)7!*k$HA3O11z>8e&Ji7 zd3`kyxxd8*?<4i4_`E9{BDCTHjk|k;DkGG@P2GUg2BZvIvyV(XTLkv#GT#JCr|TQ0 zL}I875T(SetK#pls_B6H=6mlQe&Ak=$k-VU!>cKL<~3_MN~=Ji{PpUSiWL8jU{`z47Wnz45vbl03AhpVSpl z7nT6@M3F4q78L|_51FBax`$lh|2YhaMG(CT7FpPR*|Cd{j*rpjb>NG&GSSN9a&ohG zbWyTb%-t#5AqEuh0sZ0loT5Xt zRl!MlfHeL~Cci+r{2r4WaNo0K?N*@0U(u6Z>Hyb$6wQoFI_jHV=D$K62^4)*B6a=eJmX;KLxY-Uhjcwq!mK{qPw zyb~!492YiuKNWhw(EIP*3`ksug)Whd^9HJWzho)~_Jow2`cUhft{-D|H(H})?~+;ZA5{7@JpE3=J$p4~BfagPG@%bvAx}(yr(}B=c3Zsq87%~+ z=*C!%7I;rtgs8PGc}t2!ITD{)`B=$@aBO^#a>szmVlXL;&}uv~T?oCoI#}gi=q`mI zPviFH7>E(a#Rl`#7evZcs&+mk8cL&suYDWr(TT5xuRX}rBhDDp4{m!p=PU00|MFYh zK%Fo6-Wg1R|5K<)5!JadH;3Yt#cWY1PqcA}*wvUpueT_#fF#{UH{G}7T}_Wco< zm2Ov8^(?B?2Z_x6>zrlmS*F}?U!KKP8XT5Fa220%?@y_W(~&L@pYq#Q#IMWwZlDa) zihRArt3W)MRCdLIys^Nr5lE$ykV?QUzAf%$4^y@#BY@})m(j=Iy(hj1>}ff@Z|u!< z5cQN|^ifER+kVuQuUjh-=hv@Wz8^i@zfNCO>+(*!bO$*FL~H_rGS9%VYW7(Vp&Mn3 z*u_6ZwFl0tNi8YM1vQYD>KGHWs*=@uPeBm&p|dq1XKMSbsk7urh#b_m^}gbu!R4n= z=hWRzV`^_q*`?~g0Q>AecU7CIA-LhuJLm-Q8F4H6R!(evtsq^r)H+WIA^|TD5n;V%$ zt3D#)1f{Vpfq?~m*7ti$WBm*RX}6pKm3wqg{13h`jxw3R@AP9#$jTYREKU3__1q-Z zE|XDNCf~?M6^On)HowY(qJcBz=64q+xm61-{6wXwI#e-(8+;^EXwmH~d#bFN(5C?$k7pdm+weXeDzj5<$hn~g&1NtryPQ&tb#s!ZF7S-TTn`BihLQ{F&I`+$h7RX`Jw;B`><$I z(}4qup03$X_KDs3dpz5z{-=8`ld)G5Xfqbebi}<p$5vF-!Viz=oy-Re`^#<@s|)(~(K2g~xNS$xL32 z{|C<#dXpG!dZ9HP7t|@ZfyjoGc6XvJRg7MO`hxo00&%;y2;>J?Sek)Z@bA72GwY!!t%#~uc}n95~8>pp19ZPAO?I1;2zh=a2X?A6q!Hf z-T365u)~=5_!eVdA~vBCb++b2K>TvkXD6%cKeKN(DL=9ow}sNmR#Iik19&hg;o4mB ziJ7F?`WJdVRMldeRsHDYhsCTrhEE>QYbP!!!A;m#CdeeTg z!K1rq1onRA3^BQx;F~=KGPaJq{r?^A-TYTeP`XX~Pc4CwJ_anv$;r!OVCU?q5CRKV zgeY9>YAb<(m>`YEzJ{w^j%x%^wWS_-?p%mLsn}^WF>SC7q}NAB&pmM?Z881A8{>5# zc}OF6_%v9}eOou^OX^uR>~XAh{|CRuD&@2U1gM4g^+q<=W3F8^Z^&tnuX!lbH^N4! z|7gq+aQ&`yu#%5G7_9iqyEMelhM+9OPw(HsMz<`4(7d#ncN!&fi+-NNWX)g!wT%_x zz}<|cr#CL)EZkaz>C7xqk>EPi-ODohmFHY{^i3|2*Y;NFy3uDM>Zj1w@byvGI$P{D zzd?Lz!K>zC@0$_E5E{8xL#B`5i&r6L2EK#J&?NPDH?UHdpRW;|ACYjK^b69{JV%Xe z;14h5;s?(9<1z2P#FG7?%>!mem{qD(%5@aG(Rt3J#*J#C>%@_9y}{(}h)yKtK52l{y1>NZgiPkh_Pbv%iusrGNt+rvlwxTIW!Qa`L z*0>@m)@d==(rS#oDd2uzWjndTN;4MXs5=%S0z%lhQ6#N!6RuuuvyX(a{kz+H%x0-8 z8z>O>A5C(o5-^9L2;taOZT5J#3?oT|U}A7wiW@(RZW9Tle6ekB3Pt49Bgu~w4ns)> zhr&&X6n-(_qi3{`@sNPkGqAooIx&?|l8 zEMWcOa!SW3to>E-GkWoWPJBr#;<`>+8Gh7;D`yzon5Zy%{YISlat0NNf{|fyA3aPb z*C6LjZhN!H6wLwwl)6+h%Bp!-M#yOmR3#d5W~3Q`^d6De`Oio>veG>G8$nQJr$ zmw{u@uG{XpRWh4Y_X>{y=E?qv^`T^rs&d-5_p%5kJ*y^2qMZ0Et9j=9D&0%9w10f` zFymD@mHaCF29_&mG_!o*5Xvt!?zhZu=B@AFv?p+$eKs1TR9Jf7iDP!7(%T~GOAH&W#={nX5d%@GVGu zO===M+Lu;^XcNq^cZRnKU0%e3d?VldN4oO@zd+ze^i^deUpPzPaKzInux&KtpVrrQ zvk(-}^M1u|^mJM5Fj8g&>toXM3=C5@!-&Y*5n|d4PUk2 zBGP#+Bb%UF=z66`8X0_YiCycc4b@55Dw5ycMiHz9d=OMtMYp)-lSPeUhyvm7CJNfF zLPRT zVD*H=oH3Lo8edk;Ldikt--0~syhi4dZOuw=OjeiwJ(gLMYZ?khS5$Z#=_}_C3^BMWiVGvC8uvZ$PrACzEVa(6V$mDQ>b9HwtZh^~bXPt3>pD zlJFA)&Kr*l9=Ji%n@R4Bc$SOk>&X_>oOVv}p#edRk+_51(P!yeFLM2C2G;27J~pFk zP-0=9e3A!@d`TbVzY zZ#Ih^mn>9?W4_5NxbaDp2;u9pDUnZTbf&3utE|FMIKgq4jn-Ja_<6}dY+Ye|lExh4 z4xD%S#xNP&ZN^A-y1IIH7#B8pYhlGRGlm(QV4leNSK9Y%0r$NWKS)OWzqQ`{Ooji3 zXQm&Ts{LCa^|G>XOgJ9O5UEDi&4Y$M`1aJkRd>du9F}re&1hs@3K+9+a*!?WwDiL{vX+JX^|G)fi$LVQ#(O)Jq>otkRd-1vvXSS z$2|NYL)oQOdasZ^SA7`6Nt>P3RvUq?_5+N`4$oj_a`1*XlY~biFk+QtU={bz$z&=Y>?G#1?}w;!}osC8lmT0yQ2BW1p|vtIVRZfI~0`f^l#w^>Q%|*}-0aLksC9 zknYRAi#4vlH@Zr#k;hF||1p3nBAEyK_4DwG;B$cYK>Ku&7*@M4y6Btu#lW>-ibg}QBeoXm@A~X2B zItU|iF)e5jJv8@6iq~IG&|eO6Jq%>95J5p(42S!WJID&!F)27MXD+fmR z&jf<#Fq8P|ue`Jw`A;^DL1?$xO$$K-HMWrD7&MRzS^xL>-|HGj`!4=(HZ}2UBnpgj zj>V^mNvjAcvyQ8$G>C=(iC7D7YjG`rT+ut)zW}uHZ|Go;eQ)(QMf)RFZ1IQ{0x{Bu&xc0&>gUF$X4r1|=J_2#I25+%!;R2mpRr)P@~@gF zUHKf84ahS{dq{pp4J)2%-cmbQ9#d#17?tz|!Z=uekBPNp4_-iDIG zl?e07k6)ZXM8=y?NV`7sQL#`dXUzTRwwPm>V7sMgQ}{cL#fr(4r01%`mgBCTlKedY zsxy|H>~5nGbb_IGfOH)LiO0|jVod`E+jr~vEIoS`{t@3|U>-Qd(h?^SgUVCu2I^i+ z32W^2GO(`q_fOZSO>6IbOTpIW2OSrY@nf$mth$>#x5ytU|3b0CT>~2j!a7zh5~XWkh@~rA)p;%jki%9i zx-*s@-oe;iaqKe_$w-%Neu+{dd2U}%w8_c@A#s>kz2CAxtkPV#wUFxKl_!hW%;zSE zXDVgivSnWY4wsKUkUO{{{d-3B9(af?f6%Yhq_F1D64V=@3K@Y43lSr9efNs^_8p&` zD@ATQefQ52HiteiDJhx0rWmRa*r4pBiO zAn`*W>tDdE-J+a&{_+`+y~?*B^{6zylvCz{8TcahyaH zpL8TL01axAUE}r9Tcxg{#n3paZoB8AqulwREIS?uF~BC*)u4+=nNMPAho1wwQ(?6W zNMBsHY#kviyCn=(8-#R4!l8w*LTX`_l^bL+kEaiEvk$0#_?Gg0L2}%yU~PwRXQ|TK z9*RL@-Xtg!{p!)niJ}LAHSaEUK1Z52-SIM;zc4Z5d(i)aCGeJxJx7I$32U&u>3?Oh`C+U zE8E!AloQ8A3cD@?6@(TKAq`?Fy9IftZvBS%!Lakot~|H4y8i?27$)B+7 z4xuv~)Fqzu<#q{wgw!$`Oj_k&&&$zI zEZ6VZph%+=L)ajG-E6JeUN{Hg&o`iL4L2;0vtzz6E2+gqGNVE-t{XxLDYaCp$}ZoB z+-IkP5jD=kejBPZijXq`{Zh1q=BGYc6yfH!hIV%Z1YT!zbcki2L0IM^y7@*w4hkCm z-TQI*8vjR0S@hEdPHsvKi%CY2Sa&s4ouTfK%3BVav`rz_Dn1u@L0KzYD|2p6B0`-b zp!vqo58maEpi#>*B_fIIc^qlXJY0qd85V0#D`Yz{r zIt+3&8_V1TpG{r@W$_auA~~|S2la`)xDP%=?vZ~_zim_97k;#8$uw8wYih4zM~5&+ zg*|E0NISC1R2(oq2gGA2<%YA=5CE};&d)L;3I|EBk}mC9>mnq8bYNO5?rOJ1J=26U z@5#s?zflb0FuJT(7OtHdsk(^XV;z zlZCJ8bMC*bRDZJFY|Ls`A9U?Ni6vIy<5XT~@I+%rYaARNA|Zs?&K{(?4y5Fr-gVen zjj;V{h5;0NYG7l1w#WIm81_|^D>P9Uy5=I*i8KnlJU=_E$tH8T9ZtME_`(-$`n zR3!AEce=qY--r_BbNa(+H*SW^4U{??UxPq$RI!+Ie}Te-9&h}9_LHUw8ZEMo&m!RtAuJF_hb?=_Kx3>Dp_gR7{iJJ zn`qrs`iGQojcc*+$|lRbRxJ!1q$f#p6w)qLE)_H;y6{_3QC!>$BjRmQfKZdJCsRW7 z;aoeIFVT`9AKy#MK`O7DQ78e+i>ZP~zx|JK%I3 zNHH5ZEANYew$Ll}6V_#yfdb+q7UOPeHvovUark0R64Gc$pgD${uSP^BU1RW@XA`i0 z88d2{C2UBUg)e!S!KVv5*iWxzl0WJvP&>ME?>)E|(Z!iYgi+i~#09jcTY+kiMY{ew z-NCYZ`(Ghl1nf*&W%sNyv)J2TKsb)tzZN7S)nt)`OpnLG?nj0-K4dq>^45h2xAh!= z9b|;GN(rJ`E_<2x@64aT4qmKgX22=k$7^~uZ-!!iRlplWL3n0;bl#jmSWwJ73?#?T z!yA@HIT(0>b9H`Pn+QjE4MTIh(k02>6JCnAQ~ki`?oD$~-mYg75!^UooXCjLV*~O- ztl`HJI%et(Q@jj?kCvGj?>xXlgzal0t>qo%`sF)~InqiGXH*Gjt-gXqxoQMXP9$4o zyN#Up>+Z=`KXZLtSi{<;iDF3S6!Gc4V1QW|S@MGdR6+~RqiI$3mo_-aq*mI!xQ<1Q z_XFQ2lwUazu#$Qa6GyMP-jqWUA;U^ zt&b@l#HhW4qf(zSQ;v(adt_ou5JHHt!cU|k==Zy$lar6lS6d5-PiwPIy(HNt%6C67 zON2PeM9EkpLLv6E#TM9kQQmw&C(upWMw?6v|H-{-L)b`oE0F+y%BQg`fL>@U86JV8 zc$P}%cGlsU6FzP1&GvmZ_q3@43E3f>UQsP=RPj)>4qa5)MPUh8;lyLj@8@FZv$xRU|&-_iB7N2Ap%3pKn z>^8AL1dQDa2_?)X@lNZiIkdsKzl$TN)(G|Y=84FlP_Ygl0B-|h3ZPLPLK1GgVFsEE z8N&b6y4cXRN~BeNkp9EjVHw{^+b1P)Wzs+aQ7+m!L_~bySC3eGVbgNd&mSB!#k>VS za*AanPQZr5bG-`IjX&KF30xwO(0z4}i<74}l1j|~GHMT|-Up)vyhjNx!re>Yst z5?kVRNeS7HWc4OIux)}G&=)a+AzFf0@5^johfjT#-)8v>i2C@hJq<#8(1EbMtin#I zf3Q>h(ragbui3q?Iu-D1#cj_tGV6QEM?1LJFW;TW{W3};%>EP|Hw*6-KXlW1^W=>p zicYl3iX^Qf6#EO4bqdN+89|X?qH`-08N$MEu>G7!6(r z+f-D2dU`~^p9)`P&Iv_4U?h}L?msb?G0>BJ+IO$B#wDbi&ob);Y|ub+VlFDV5}4`c ze?l@+ELe5{pnimp?{Ft(y6y2Sv;6R9AnC2Yz%?oL!O+$keBsM72+LWenDRZV>7q%1 z#oA#MW@DjhQIJRL-xM8b5hb4%q$AstLO}`4Nc0z)v?n=9aDq+U(L`$zAlDsNO`brQ zcushzF=)61-C3G`wlJx&7DD?iMC^~u9F#T@g)Xs&`p6~um~?7zM%(I;Aw)R*M&MmI zjE*!xV>A)yBuh`HZeTFA~W`%R|0 zm5a(2W(oT%{o68=DG8!McFnr#CQJXkQzUj@T1(!4hiOiGT=Ptj{zQaPIscrGb&JlU z9#Dd;Z22J5tmybGZm59U(AAzmJ)Td2?mcv|sc&&)aVRWmZyK(zuR64NJx-t$1x394 z=^8?IixC4Vi0VMlOg(}|Vvu5l)L1@^rZ6S0_?NFjlv$z9kbNy*id?%oKGwm3jB%c{ z0Ts5Rh}XfvJsm5@CyNUqUpAAmpycz)z!6XmyR}M7j;)!6(B5-a!=F=uL1-Py-_);= znUM;~g<|)c)wz>HlLP~k1Zj>V;JkwUKgvXLr@&3b=~h#b%V27muW6+CyLO1cqYS~_ z^+tQ?&-;zNc9D`3LM<}sS^-#Ba>t!F>Zn6YZ!K+i?STjjl}$j~ zT6>}Vc2rfBGzMcAW)vKGACz4Z9pEc#pJh)u^wROYLAqwIBOno?w`P@oMMb$9fNHRH zJE;8ARd^-YzHTiPKpJ`#UjSVT62Bph1WFrRB6ZuV ztllOQyrmU@a7m*XaULP!rXM;XE!JDFkT05RWWD0d1n?WKc%9;$g$FAij*X;xaBVbx zr{}RbE68p=OlPQ`HHs7eTT!g)T1{&qp)CEp$EWYu*_gm$`Qey zliY+77k*;Q)2aB75@Z0)?#4(v0z_p-b;zq>jvKoCRV7da?tSro5T;cqm9mvEWO0;r z5W;h!j9f#POJ|5=$uA+f)=DeH#(r!S)2H9SRKL zCrxC@QEtve$8rXr-nQ_>S3?kMaYqb1Q5y^8J%Q-J&rbZMlj9@$Vk4ROJmF7>ms|TY zLWZF~yxQPC2Q7o$2Hu4W14&|bzlJXHRtsAbQk2=X3##J}@ne7F(pcVus4@`K*|=$4 zRR9KG$!mVWI*r@QA@Vzuz*U^-t)il5fR^u`El*M3+!3(eXv)vNcKqoKit29H6yz|; zh=PDHe%`6ovilHCB82`0oLy4LUABDX>6U^IAni6)O;KLF;ndxo!OXRmjBk82W^8lP zU%RsXJvNb@=yMEO@pu65UDbB;#a3~%F$LkZln3Of4|UddBn(?#ITM|&Qw4DFYgs`m zvN=8@#=G%yN@LrF`?l`Z`%UZ;JMS3xu7^AJM$QAB`T;n3{5!V!&U2o5IFlqUSNSBA zUhnj~@N&yDF|wV#GNrW!^x5Am9a*e3LxbDQQ1)yZD!SGO za^oR}PGc-z+btI})#0-G@a6guU0~f{LlKE^R+(;<9}Tl00Spd0Xi+76@r7ge=_|GqbRaG%3D+$4RZJKOA1S9at<{ zGyn%GAD)ke_v>@b@r?1-$l{|4w8{d=vGf4w)XRu_P=5HulV#oKe8Xq@9{~(mw(+CB zJVmNo=}RrD_lJK0E#ZrE4DEs?Y{9bd55*{Qmb395gt>8|17sE8=5la@1fg{T(ECL= z$33daNCx~cyu%E^;x*8CPjr?JlR^8|e(FQ?=WtI%Hna{>q09Mw>Ay|tDV51-n4 zatYyHV7!Y(^wRHD8Q@BXPC@XkKNfm*X~7QFZWZ~o#bdqGL6)A?i5`ucv8-<3+iQ73 z)TJ5Vc5$V$F5?O(v=SN3!JHjdtN7g$sPA8(EPYtbr`4%jC~c zjdF(dOae#;v3E$-dQg!?rpo-AICLS`g-a`VaYx$mchED2#Nx~$&<&* zlnp+1@zxHM0$P>EPP#Hn_lT#)X;p^K5HWpQy4 zZscm<{J|3UgK5FMAu)M~I4+$!n}PaMw`KgTP^!ilZu}PkpGdl9+E`+b(SZ6gFJ53bM{aj#G>SzM)-qYS)wRE;Z?DRKe8=SIg?sTg~9Uy zx1Pz5e^_M<(8x7$={9jC&$}7r7Fm4CEw;iyP@DwKH;zduviHxR>$*VT z!g7h&Qn&3gcUHUDd%KZ#EYla%U;oVmj1eK!C3xpc%iVXLlsW?;X=cz>-UdW^^7E{TG(f`7#s=Mr?X3I7(|0D*( zq*}gbed^wqlFeq}_MIppVk&5;^0aQyie{4mbtq0hg!;smp(B_^O5 zaGWQW)(=a@XXi@8G_=;}^aar9FW8oMLq%!(1@i_sz7EyJu{vs^Mig$gs3=ZPodbT2 z>L=hs$`5LMks9981r8+tGfGyqurGVXa1HhN&EI-7#xxlM9Z*Q{G!^}HL>qG z>eP|%F(HRQEr<&h5yvd>gO2cs-tFLO7Di<>=~wl!Xd!A^hM1($c%nT}7NnM>AWWBl zf-cKB(~yk)pTC4$Llbfhh}P#Giz)?sdJH>h_?`H9NvHN_|0Ie6f4R9EYrRe&tf1Nt zCbuVSS%DWqF^tJN+o=VQ>HvXkQceyYH)hhP2Hp$p+g~4kqp80UpD2r>5YrAGQ>p7ZDK)-uOGm~) zY>E!mF=@;NN)|>a@isII&ZXYboj`%EnJMui_S}Tz#Ijtvo?D}{E6>w-X%Y{aR z75}kA7h92fp4+H$P#R!{$QN2rKQg>O&6p2dA2#3TCZ-}01Oy){b&{VPA#^D5qh+dn z%@@X&02T-R-g8~Sm`KDq8issS#>ruPtp~d2CMg90p-|9SYSjHmrB-K}eHC&z!nndr$V=|WLjfWp zeZ6=UUksxyAsJpMqWjR*Valx_*5sea&6Q&GL2y#EO}p7MytSRvskK15H4-)8$cp#C zarX%jqYshesgB)cuC5^xQ-MFMi%eNZwYw&_e+XndzfMf9vuj!vz2u+#y*{$&e*INH zu^07BDnIEh2*=Q>DVKHw(~YxT(zXR%BP&Mo!)=}VhhLMO3v6AZQ_R1V!*AhMay^eE zCCj^khD!`Ifmt5$VvKuoPbojcn`+tC zt+15&Wh_HEc8$ytn*S$wogluwja~1Ink87fsG@d)IU+(bYi-=6Lg2|M=01+!tKAR^ zfO4ic_GNJmRvL4o2VO+U4I3Ml3rlU+Q)O93-ifciA7P`iGN>+a8l#i*pyuP-lq805 z66K6d7xww7IH?-D*2ecpM=rdRDsl9Vh5VksJ3ip2+Kvr^^!y8+7ykmpgslvA;g>VH zrmWV&mMXGBT`gp^EN8-EpY$G%#UWeTL>98rW9( zmhk~or zzaG&YBN-LONPLnEsRJCWK|UcG9hxc1Y+PSjC3sIR=8->T+=b#(0RQTTL}~@;f)K=F zdBb>S=zjD+zyng;Z3ERUa>>!;Jq?(nRFPO}+W|wBESD8}k@smfdf!xEBK*6J=$8bP znv^cMFK&gYynG5%l?>xH{AX@VGPFM??I($Fz7E}&tARMj)gSF=7yXIQa7jDU zHeIFK{q?${mU>FhxJbCh$vCEEn5t~*K#4}$V6jhX9Q*;C%ll8>{|3pL}OXr6V-FYog4 zV(BBy6TYCrE0;TKQPzudjk?ww?qBG3?HbC0cQl_%E-0Qr4L}#Z>!L~MeT+~jgt`nD zOk4x%Ep%(q>m=)loqMpK+|{{+i}Z`x|0lI`r+8@jorL`D(HN4RQ5lVJgh;?5aA+!` zGvZb39f+xi${IA^;J3vKm*Egnz(_8Ru@1@LLQ*wE-Hzzp37YR4IfBW51g}H`6u=h5 zP99Y_WbIdcoV7dhk9;}^9r-9lG0M?WMCJQ&0amhNV97Bjr;J#}`*uCEymIcuI{_An z{E?TzgE*s2Iidf<*jon0(M4OJxVsGQ?(XjH?(PH+Hn_V426rbo!2^Nd?jDlhf#3wU zyv}#;eedt9Y0h-_Ia5-~L|6X_zlurD+CXFV?JA5_HpYh&Y9FY}c+T)&x)U|cwf5Dr$SGAve{|sLnAOlk7+%rkS zlm}>5>#casiqJYxhPqMm&xE;TiqY{VB&g%dtrk3R-oM6@5FXk=`{x?V0)hrc?UDyM z-@5jv9VWc<6LIs1)pKBJ@?`0;$5^sx{8WEIx*PsbjPB@6U+%(bhvY}3C^44oDj{Z- z(kU@&lh6sireDVE$II63&(%Kb_@mHVV!p5Laj+dTWU6$kDy8H6Mr^QCTK=*2ORXAj zo=$+;CKE16knlnM=U0Rz9Z@`;1h2L4#t0P!mxMd?RUOO1_fjv~0VGGONg`s&M1)7pm_%CP*yaU# zH6(#L`aGd>mBI}+3sdpV6cfxETnz?OAi-Dv^lO71Z}J~Ra90Fy#|1JFki0!RuVBu+ z%}D*;RC1kz90y*gTu$zRlZwRaq{ja;c*-)q$uo}m1l7boSne-l$(&+cV@dH0$ZRo| zrDp0zlgp9Fi9i^rx2vx~`G27xd_yk!CngcxP>I>t`Kd$#ht7lVkNqcCxj=xo6512* zi03^>XN)O#Bz{J~Ho8)>+wK=SB205#4^6?4C6mZiq=DV_*>KvF{AA~aSJBkX zJ+5_?VDTPCG?gLfnw^klT{v(8C={R9KThs=1Y$urK7^}L?6={!XtPxaL6x|zPgunN zDZb(AjQv3rr;I}>C6_F&%2muh99LhjSRP@}h&=Y&lb=!>iyDPeoVp+D*GBo7VeD;< zg{UPQn`qlZRJSM0lGzgCca&d25u5qA39e+HZ-|qieQ?XD^t_vVvl^gc#qCp{G01nx zh@SXSDbBuQgZ%*R)s`1!FzQVeh9t?oCnI%&z8y4fWeQ86#)nE(Lu@M(2{! zTKF@{zKZ`|WyN&}+QRGbU|0GRsu6VKLE%B-_9#9{<-5GQ9P=dwU1+c-)kk;?ux)xh z3-n67phXP7zdjy`Q&$e*pD&)>P4C(k_k0mO`HR~5S4|?82+cC*yM$8R$w7sE&vVhy zto3>JN+cInjrR{95D!?Nll!l?IAhb=QEoUJxhPI{|3zO0|BE*C?mGqGDpfBH_h#3S zn0G1n{h+^4M`B9yPLncjzY@0B@CWH{HZnH)Qk;g1T{^PT@n)^ZQ|g&YTg%et#l#h+ zK&#d}DkMFv&g^sx=D3NnmBI|XS*84=P+s)jN35>zX4~QDE?i`z(`-6Ghoj@WmV~M` ziQS6NY0K(f;7xPom^bFA!q+WlsX6U0Z4+NQ0?hftl#Hc(Ubyk)*$jvr(N~-KPeE~QLIi}~@uZj`V@3^8= zSWroECF&VFKPe|pM+=;Y@s%$Rwqw6lli@>d$df{=zmfN4&9_w8SUGZ_d(w67z1pg1 zz9~cc_Kce)V8+103vfY@2U}}V7KB+-#W5b!IgJ0!`!G2?cxC)ziS0k`!p#h&!4b>xU^4%N?`Iuh~|2j@lo^>5@D06ocZb$ zO_ZD?p=sClU#J(ktmg2e)Znd3st>*71Q#X8C$u3^AKiaVcbN?>Nuxe@MF7}usUmC) zD%UzGdP$H#Q@@%|EJl!|B}=rCI4CCGk^lnj6$e-h$$kt=9#7n&RXXTy>&D)?24-&2$JPc!LI2-k?p`=z$mF8$ZKa(QB6(}3sLT|q#HA&% zve6364QXCQD?`XtsdoqujW38#HV_o#a%=2ocaNLfXDr~?l1ty{P6$7=bZ_aUW4QHI z97uh%s1IDcSmp1MS{uVaP4w^Ai)9Z|Wm7R)@%phRN}S@$Gqk;82mlNbd3kUb{%y8oiOrzuV(LHKZx$|iA@pMo0-V7$yiN6iH-fGdI*`@QJDP()oj zfU<_5@x`tIzRRZVrmu%f`kz^fTo1q746g~d=~$}IwCD}g8sUpy+n2q#ICjaDs3{rw zsG1S?HDHJQK8w?b5uToxmYDv9q8BXq1yd5&5f*9BE3bg~#efLyT3jJ7KA*-#ix=4> zo_?3XB`o7pvQ66tGlNbkh8+=p*Hz}U{vsLRoIWA&hD9vv0u-d)54!ilpV$O z3*3aYUisOvcahqHCQL+)R6p>GMOZnt!Yx@Lwq@uysEBH|%za=oVu9UQmUlaNAF*c! zaMG&gh8IyDL4y-e z9n&5@x~_J7UD#&|Db)$~2U#pR=Mg@+Q*+AaZO2aHsfkq9Y^q+<^FHP1mxolr9YAi( z`>)_rmW~MZMY+DvXW&VSongzHz-K$AzA zBaQ=t5$Vq0WezVX0%^*_b$xiJW^P>!shB7oP!ZhyjC!pS4$t>PioK1*vILPHmCAY1 zHQ7PwHy?756<7w!OqMiqse;*POVs&Moi5oT`l0#Bw0rnh7m7tB*@!2C#mAWmMZb*Y&Rb%=JQ6HGp}GPn$_bi5^+5Z;q(?_95T!3;u!c3M-yT<(7arLt z_K9W{r`&N0o|N6V9*`KD&jaeCVJYH>-q~>4!xEA`R zL$Y7(QD6qX=m9DzYklUAK%)?b?At7cgxe&T#^ySw#|k>%v~H2=8J z%oJAvRy1-yfvm$iq_m&>D>mt;tg*ZgCV8DLh9=<$Hj_YuvU77M0Gr!d>8=ZMoWlCE z0({m?p1s1QW>{jbuQnK=_M4ZGHqbq-TT8C@oT+thvN2fprq0$N+GaBqM0xQSDvW`J zN8_t6i5Y)2zpPQd&BE4n(x?E3{vsz)bw3LUv-Ypco)w9#gUYCPyZXQ|d@h7|9J9(o)IMdSkm$?b&?CCM$T+?=6i+BC8(#tp{e>ui@>B7DhmI zwqY4%B|+3z+84sXsm|M^vFDdib@M7%cF2@GV_KMeCrj&cCYUcbJi2J(dw9J(cQRce zHtF|8H&pj|+dF?iD=2b{Y+eeH0)@L-jkD%UX2^fM5XxvsR#W+O*^`E4kdzcv|6E*H zntL(so2ezpal*|=pjV$r+6b@ahWUV*V^gWVLYR>o1%BU&`0$2WbTmom@P5!5vVH zk2vDZF%>gABf%}^#nL~hiC&~LW-5EiVHGgpi?fStnVLmRogHxu6MiR~e5TgfENE32 zZ<~9mojp$kL=9ccp0F7ed4@5Hzp2F}#J0Ix#EstiXQjAs;WW7Ecd|_Zs@SZ*%t?=g zv!OJ1>W#$%oUMkChh09jIp?ZGcx@L;kGT*KUQXRQ=4K=dP7mZxLwXY5_IR62sBfFh zyH8g8NY`q)tMa$qVoMx;cWaGKI})YBX>x~Lj(;jNj#2-C^Qy)}tgAnaZVZRhk+K6? z(NXiNM87~y`Xfy2s}lwFzNF(zn6%qAeLnJ{CQFTS`jl4MXS(eWvfUmGis%dPh7r_;K%VY~6<@T69h^)P+8hRJ2sEoJXW<&?PSmulY*GDpEo?Dy34`GLh5WIXRthIKr%F56p-}r-k=tyS6xl{Yl z7KfI(#a3c5xVm}OK44JpgPS5j(cd4~lZaup(T*0!8x2Uf;o*?t1_l}78y;5rtm8D^ zlj5br1{!kGWNE@GH{NqLRNb*e3SocidnT|6ZN!=q%|ZILg!0=bXl_7gHX7VkYw%eC z!mM%n!)W9jvfl)EHt6c`-%M+!bU+TWwDK~7RX@URWU z9O_jcZoCWJ1c`Y*C<$fmq6I`8%@o>|JRQQHAuKR;-x#arB~o0{|KjIT{9VFZS~NJ= z=Z#|TUxpV@kEhXOMO*!gvm>_A@gq^Aj4)?$jl!L8=sFL#@IzrS`KE%_Gp3o+hVKaj zQ}vKH6Y1vF2|87d<^)@W@cnz1BmTI-p?CwAJrVZZ_E-l=}ysB(;9{ zAd1w}z7gXg6qBAM-m`QnLVqGUo}Hb=`U7h)y<69^&)vaL1XZ5F&jaV>ixt5Jww0`J z+q;-#-JX&uu1Vwj!%G&48JU-(HsXrkK8%wjesmy{PzwDE_3e$uIf=r~GIIrJqP2k8 z(>S9%a3p4gLncsUQuw(A7e(G#=DsBw(HwtBo90UxkUAPb>3kJnN|sLA6SVW?=91eU zls)`VWc(7a2j&->12Z+PQ+!Wx$=}yf{|kjAfA60Nqj2wC{x!VsF!xVDp4sd-@_*(j zlr>C6nxT*0HyK(IUJOtYX*e49MIGz$W7D3Mo!Fg_1^0E2+-h_y19Bn~9Np&rA0-LQ-5reZA=00-?_yxE zhWU>H^X~)y#{Uil^RJC_(_=tW-0zkQ(zQ0B6cH&#jnFpH=yW`dfUO6^iS2JWKcf>o zpD@)3D(PhxM_K*jKLjRFdsU&@Z}ob#qY(Lj^xUZ94Xp}9d!>u}`KSZJLL`Eagf35( zIo)NdXn*MyNZVFLHFg*nUO%2un6QXWjk=sbJ7^jh=c~Wt`A@&)F)Q=an04_VcJjYa z)s*U5FUjgsJmYGoxSC&NCgEWxDlu*+R{)M@ok=Pnfi*eky=6WWnauVCk=k0|;u>kUyzh{NgHu3($tN&o(<13t>%S zRV{7;#aGB&_bV;NL7}s#lBF;5uACO~fmzgKRF~q_mV6$*yP~^*`8+`lpzJC&Ca`J~ z?d2-T6|bs)L3r60YrU1K;_K~qsPF;InfSfz;sreFIjrV?q6RhJK}h1r_Wd$REB!v? zknx+;X~cJ}W67>Y+{2Il0Xex@!%2uGFc_gopy+I178Dti`myY@se|yJ)1g*tEo`HC z%lL7;{!|u@)T2?nSMFAzO&1gvC6mfXZgO8Iw0&kWu?A{yju4kPtJ<>6kWq(ckZrPk zu8?2jsQG82z*D=Emh7fc!^f`k@hG%ZG{eCIl%Opu(UPbCX8vzcoZ%}!0lNEB(DLG8 znlTUe@AOU_RpO#TTtl*t&YR@=O!hppToIJhOf98pJ$^F@r?WM4#cDY`iw!JK)9_^X zzm)r(Azq><5N5sEZUbgnCQ%HdWV%JhXHizz+fWCQV?NO!buC}ZU!0d^WRrt$yrG|J z{o}E>>M`pGI8{uM#xj)%Sw0*1;X`PwqkfcYY?@uqV}i|ef2FBmF9`ic|(7m75M`{$Khz@aPE zB+}NA$%S+On05Ydk@V}P@8YlEatI|d%3T}0z80PasVH@A4SGHAfcbJ z-UwhF8ofE;kTie9#5q+!>)Q#?`X(>z08dWcugh@JHExqRBZq8XiqMSTd-<&wNFaGsDD+dTh}I%}RQO(e060Go z=0g}49sOc6?y@JX=l+<`dAkzw`jp9n+TW-TO_?P*73Bb2tFtVSP(uOvWT8(b#hkd0 zBz?%EOpGRdIPfNwW#P+nfdNg@1?rMmpaX~M?Xfv48`Fm|+GL4V(P+xf+Odr_KAo}xW3#sN! zzAO*VrUxNSO%wnNmE?s>0%8d93g-n{vSkS@oOTJE6B$`Q=5DlxRKeM^dR$ z^u-X@;f*m&vi8ZtrB)LMjH?XHEf*pa>FrIi6sq@lNDz>6^cay^hemr~59t+eW)xUd zr|o5h*;^3mq9%47>9E4+Fveqk+L(@sZXJ12v-{zD614q+d$)rQQaydRrei}JwUMrX zq4n1bUXZXe?XCBXIC#kXJse*SXF|F=q^{<18kw0YEu})Qxo)l>j$2%B$tN78rj^&) zkKN87&qd`%5|x`wk1&r%Tgm%9A?p0y^&+(mXU@Kem*^hofaVVFekG&!(CD~5B33k5 zEJJdwpul0^a!o*O!lUg~g066>b9nnIGL1gEQSCh*De3ataEfG|Y#o5yi^}2fd`+5r zapC8p&lbV_WMw`R4d%x`T{rk-Ww;rnHXc0~if;H*PorAeA*acHurD9w&Xr}O88~g; zbK&hG=Ij5>qc6_-$nCRz=jO~tnN?Wlyx9S1*RBMpYK+3l|4ep=Pj(Y<1_&AMkZx)A z`7#rAjsLRYut-Vq<-UEW`L!4Io-kxg+giB5TyvR9+$1+?pJ7bu3J(?Ec(bOV242~s zILib)p10}I2S6e?PJd&dM|WJ%NnMkBV|iY&~8}WGIlK85v-A+4;`QW$X&2=m*q}EC7*VPrXnKQD%%g!kHhxNqJ0jul0Z!mx? zpDbIYYqNB2id6~bqYE@hICzq+t|8IEmM~GIY#B;Bz&M7%vrJ)~Xe|8)6i?|0-gpo*Kg?ZYq`W>0Aa#9g4}1B8@(nvi$g_*X zUug#qE;Uu^3W8k~&h$ zlugzc74C!?L1V^OGl5c)Y_+MXgC(zRebBQqpvh>M3uKPZ#N$~7ms;nu^nJx^ry_zwjp_@G;$~Zc$#6?}2n{va*-rqo$zj0jK zcV-k-i{gX}Z{P)0tUZz0@fAPvr?T_XW-tpLb*sH9>}EQf&LbA<=)#!s{40IgCgAHt z2{yTb>OKT`>Vd(+UH^m3Q89W$$pCav`j5wPBU1OB8L9RuH5u`+81bC|QXE)CJe216 ziRNW~RDU<5`y$y-qsCQ7)uZP!8 z@>o+c$cp2HFC8%*cEy{27QE5AF#MyZ4ntypkz7MoxI#5KQ-6_J?If0nGu{OnBZ&WJ zpokM*KmT-VW}pfAqf+7V=4-AZaQT*cwCysr&ry2r+NQoFeTMpsJ%#7Ta)k*??P@VDXG;A<<+6x|__${S5j`ty-QdmU`CBC4o zM65XVLUta$*38XF{Tq?&1!R`eK#cFXWlBFtOx0S}sGBPcfjrdc8|}n!DpduUxWb;T zFfw#IY(jw_=|xdp$lUmA0bt35&5LqHQrmXTm*TN$TU#WubTVp*46< znQBFr!PPi-1uC1K98SZ1)i{HpI?CaDCU50@PDVqhOp66dKGQ)p407{!zh+n)hDU-_ znH{6Nx+4kHifP+h_8kLqcK2Cj@kARqp0@DT5c0+A$Vk`W7nXDHZgaVVqPs8t9RJZ8 zo@LqCKs17EbPXep%KNu{uSwQ@9S`G>8V>GtXlhn;lcCVr)^KV zK*s#NCApnI!UCO}BWU#{Dz!yRnwEw9J7LqAM>0^wPx5lEViE6M2_Cu_smn8M5^%R2 z#>L?V6p}K5E)|bf4h>tivNF3uPbI9HcWz-Cl5m7;TT+LC7BUL=CN~W=haAE^DxPlr zy-%$XF8M8lLoXWHM6Swk^Qiuyz)IC4I;O4^$qYn=7aWc~oJjON(ATV3eb~}Hifi|I zjPxB-+VCM%ej>$|%>c>z-e?~W)@U+6VK~8j6#i1YIAIZE5~;@uh+YI-Z9QO)Ea*RA zD0ud)l=PEjY0Po2MF2z{BdWCSNrIq?^cDZuFh6ceW5gOu7Ut%1lXDoFS#XHU#)Z=o)o_ub;9)=Max^s15B0a4 zKr|motDuc|L@4TS+q;*hnx@H(<1LPwG)Z^l-!fAV8rmKJL$=(bjE+L&Ew7-2jz#8s zT0s?Uc#)|0)cp*<9X(9+7q}E$y8U_TLF*H6Oh;_3+!LT(Z{K8fCE$oTY!|FeG@V!!@+U z$ui4&RT8X9GB+N<)Pg?h)?&3H4wODwLDfP5JPK-3PIol_OzwIAe&Bg;k#78f8N`bY zswjy0ET|5GVF-I`_AE1QqC}^*8T3B?X0JC32pu-ebp$-o3fYYjt?yntCCn9;}6Q>$}jZX zZx)jn2g9C7?bCND|4ZV(`hGzh5X8H96@l?+&5<9i1Lf;tkqyEd1KyZqRpw&e1h^`!c#f?^KgUi-%Od z?uU@f-2Vms0W?EEE&Jx-gTih}Q?_$(O960W-L;o{vj}G@F>Nn9I)`sW$F1qdf1!3f zG+sC;?B57dyI)w4Lhv&7-f)F@E+Jpc%HAlBo=l=rZ8lJ0ZA1z*sIkcAKg%kx@w*nH z;z+8{?gVi^Geq;AR6c5`scye=E~syxF-b(WO_o23D8XZ3E=IhRRtCo+IZ1d9_Gp9& z+Tb5lc5Rx|bNC#aZo^Q)2^q5t0Jz8KgJ@?%*QqebFey_mY9Tvm%Iq+JwVp|OB;v$F z@{0{(+w!svQHiA979&|WUYPxruXer$KWfaa-iTDD<&^uwM&@%{wMKq*M)(#GBskCfX`E)T>@eJA^ z2=YVb-d5$EacM7F>c%v%lN%FJNDQ1WGE}e^P_F0J3`#@XwG+y>0e$E zX;AZeG#G~u79||1-otT`N;0kQVh#nu@?y(~*h>{~rI2NqsD)vp16Ciw43;%&AGfqR8RyFv&i{2`yvi$>Mg_HK( z=P*JrvIP6P>a-Q21<>WpG%aR>oQ?)4Lb#zkoJ)g zJIzB;oBkn8|FHMo^~uX^3gPB6;3#3pKo{;S{{B~1rJiJL*RW9!ODP|V9e+gPcpYGq zOBz`C!p1xGy<9H9e2`^b4vapv&TjrS@D6vaxu`Fi`i^9+#k?<(`i?hoeUZaPxi69X zj<;@ov9w$&CPDDl94ZHvfk(Tzk|UEH~KVpt<}MN zG8at${@-bp`BWj8-PUJfEY|6f%5L~91>Tvh+pfB^2dxZ+jp_8G+!qw)td)*4X$dog z*En}OIc>_a6*=un$Td9FD`%K)nBK;_3K(ek>icAcn~i6@x~G{7JQO0kh@*FD!u!$F0vb?Fc#2(4Eh%0Q?E+Gkqxps!7wvjMrNYoyYtZruXuFOxtCt30h;B^mBa zfIkv1KVo`YP1yWInl(IbjSk9rV&TF3`2BRX zOND|1oLf8;*pW|@aBGBC;`8{l#OuA--!yhF`4FZ-Q59$0{mMrXwI){a&Ps%^9p|CK z%GQX7Umr)mI_3Iqa?3F(gRA7xc!qEnRUyMix9o8+CrEtf;A1E(4Ny9~YLL3HhkQ7E zI&D8`U2B{&|I8M6+Mbx7d0Ow`g*grq2#_A1nIysmwy^(q_M~+cHSwmvPekwS6Pr_y z|4iZ4XA1R^BL5P5Su)aiYq>ah73a;O`AFrZ(8jOoE~bn_G_q>2%kRva%QJtQm!8z` zo9}jtnLxTxb@dlJAT6#^Z8c>mz#h%wq^pTxK@5Kap3jr)Q>lStFygQ&@n=m=dh{gu zOqFajQ|o}lKf`J!9+do@!{%3TE7w7UfdU;P*Fll|7>Q5N=DAPM$Z629Pg0MOu&*kV z*t0Ghi9t1L310GPt!aLSZ?dhKpy0^L*jXWtaFEor`^$;wGmCE6Ahm zGoNjDsb1b2sDEkRCGzeF6lpTAVdUqA$ zd;wjF5?t-MJlV@^jvbq_q}QXbW4`e0GM`=yozpm-p2P0)H%$cYg}7Edsn%TmWbpg! zYbt3KLCQ7-Vyl`(j}uY3rI^wUnf8TzxPC;I@_SvnfKt-hojf=K7?~7@uBavj-hq{D zXHEu$KGTpzfBo?ZJ8)X=gmc+jhRGu}6Q_e99t{zbs!)eiP!>m3kb24bEA3Ael%p&w znAU4bAM^uVfK7;E(V^_3kEr<^Uw+?-6*#u``Ga0c7T5Sk-MYS}6SqBYt zz!~CFpAsk$PI6`1cyZw#%=gvxceiU-NCPD(3_vaYd#bm7FfyI`HL!_EfugKY?b!N0 z%Pw*&%GJO+KAv_&9pXurg~`>i20`02-{f^r55qt)>wSmbfoi+MNN1L)np+Qj753Oi4bk7r}%v)&2{vuh;Za#$64>Qw?IJqL@DH7h zm^WwY6wv>I^qieM_Mj8G+Cbzk4)n*SQ)NvXKZ8RaY29b77mj`KZkBeMO?_U$}h7+H_K-iw`fQsf$PXzRU=A|6c{cQn>XaN<>KwTd7Ut=}}hg ztG#iAk`>j$C(XiC*W>^WaM96?6fIi1h;(GTh)lp)5^s0s;Fw%2zv>{Nmk+uOF)nL^ z9e(v+C|KM~n0vOc#xww>S{CI})#GBl9tm2ElwJqCFG~~9unmAKbpd>_hD2b_!LG%X zg%bNyR`JVtmj7!|)aZ+fB>wMoXcx5JD1d_i~?Q8ny^gwT`Wk8r|p`Ua-bI##FODKzlGtQLmvX1{z5Iw zej-!}2UHnhT9k9!nNWrDy_)Of1Mci8wQQtq;6|#Y?+`g;%+bUom=m{%spB}o1*R^s zd~}1w^H!|>!>RmGIvGL@u|AW1DxwQ#w>9LU(d}5N^vLT8Om|9={-jNdLA%AwaC4p;Ak>@qn8bksA8? zsQOoMO6}%vxE{=-6X#n3=?$!^JJOd7 zV{)pSnHasIvqfBURD~a@$FSaWQ zS1@B5W|AsYrHBpnNC)Ict8HUd$jAnicT6)?DV*3%(J z>(DIn-cfT_(@&Lt&8?)e&^GaQ2(v6-e&J<$e)nls8FeB21TUOUo$ytn=G;(lL3vGF zCN(v<5DluFlx1m%X2^scL-qZ101CD%3u`z8Fo3AJSVjQPofi z^*`f3o4ng=W3TVyMg~y)ij5=?6||;FfC5vc(`94C^Iy58n0rZ-^#cB1xuy8#oZFju zDF{QWG-R83rR3z)M2gS&8tcn|`;{BPHs}FkOEi`N-!W6!J6&vr5_c{{?HqT($l}yk zhx8AlJ7U)pvX$H{LRx58*w#VEnX8EArX2BKC=&KbN@i&;$+Xc-YesGeb9+Y`Qab`Z z@Q7P~12ia5&uiGc$!4Z-=udJRpwN1IlUkS9VM(VIp(U9QOzXB94bDZjnl>wyDx$lp z#t+s4ck7oRb;?4=7HfOY4UZ9_<66c|YtF-LHw&Nz=7_mL9#D7cKXUFTlXHR=M20Dh z>mhm!(GGok+^cWhfROpQW`K5a)bnQbCAWlwz-yxB&(owrNX^G(J!j^2{J&6KhUF3~ zQlF`76A6Atr}1HGiRqWsY3cp9fCWxuL-1QWcA&5JhLiv<-2nE{b@~vXp2Q@8%jthZ zWUk|Jz3Hkr);=uS4w#p(!v`rLwhLB3TVl6%rTM}CbSU;s>H%IfN|qJq>lD(euAP0y zK~BxLs|KoX!bg+(l~=aY`YY8q(>aQ_!mccpCz411$PLT*z-E^>GQ;&Rc%!B^QDnFlo=>vJQ#Sc?$uXC~o<1 zMV#UyTKX4(ca#*0O2J+ElRsYSHGN{zqZ2Slu_cJ9x91mRGFo;$wT4Lj%zuGUcg~bN zs&52c$imZ8H}gq6x3+SAtlRf~5%$A4>K63p(cqU|RO5!~njhJ5qndK`;r39#<20Tc zm>mqTH(-a}+j;}d*-(J&*?r*x3^#^8p{(qt_e#$nZ^BjDVtEvl@MGiYLwiO<_3OQq zj>S@qd{C-#k~-h=Ib$9v6j3&xS;AW4tqN1Qd8KHE)mW4U>a=|b=^J1PMYXSsSW7ov z;7{rcFmB{AbL4XiW_E#ML>*8A3#P7}sLG8$vQ^9zRj>O%Im&Jr5FeAs3JgGQgo(Cl z*YVzV*RfssorqLRdrwFVX$(TV3xnDs;b@<5Q|nIup1SUJcN76>&d`8*u`ln4W%yb8 zGiUpcpI<$)c}Z|2^hQ#9gv)866q$|-w>%Hv!ip&q{K_8k^!=0&CW`1~!9^<9`;o-Y8(Q!G*&R6m~kSaLm zuD(xDgZ}E&#$~+{jJJ8mq##2FMk+0ZoJyy}=?L1m$y6#xF*?%XpGx<|Y0XcttjnK) zv6^h~PqkaSeD?VoG#%*~H%Cq*3d=wA#p$$hOA})w_b@pVQ$eGXMt!I5Z7*$bQTUwk zliY4e%d+pd$Ifgj>MoCc$e%^lWz-~0oV0*Vd(!;~K76ZBd$Rx?zbtNtgSXu_S5S-3M+t$a*+ol=B6N+IZCov=R17bK51LB7tvxz>O z8m$kJdku(2!@i4l;OwL!`t8@MgJtxNhFqJuEt}QT{|di))bOR*%JMdsS>^U&O8cTX z2Bf3pYUjWk=McbyEc3?@(18 zV#LW!HCSxdybFH(mxnwwHlDlG1v;+z03fM#_1L}Mqy!_lq*TsL?foLgbC@RcG0+sL;=LU$aDK-Iuf%aC6vziy444rbe75@BeE$)Z?kYDyjlbLm#=#5iko!K z1M$YXM7T273Lkq0Lbi*4)B!2)JmVL~pYd6Q*ZOt%?H|JKQ*rtZs&0H!3hO;8Plv|A zd9|=G;Mb&|cdQwIq1bYRSO7xC2cQ~2=9ndUIszp3a#Gsr{@pVe{LCoP7*+q{fe0m< zvF*(1vgJxGxj}OA*aXOc=Ge}mdnai-C|PABs}P2BO-!nD1h9KLe|-aSu(}tN;ClgV zdw}^fpu`8PdM#GMzsp1E%G_I%DclYjkY?v(nO&dLYfnwjs$+MBi9X@0|4P~K*1#k) z{pf5S6&R0BJXU`|srZx5Oik`p&6e>1w5JZntQwwllFl3pFARS|06g}0u4R}XC+%oa z+gMbZl>NZ^K$$r`>i zke!0b55+>zuWZu}RE8dfPCabg^|EA!rK;)Ld9u_x@wU{fGk;TO60J1`50-paP88tN#ZbT-m>=beSDf0jD-9=Zy%VcTii82+$uuQ3S1?voqv^b6Pd z9isFLTXJcJi=Z&jCM!)n=r?L1u7q9ZNd$qSc1KqR5=um_Pw%JV?6^;i&Q1T9+3~?>dqF$s zz+>))uyzMTc2kJ@O@A~W$-7Z+oaG&TgyxlUf|G3Uyh~g&;SJ6EG8FdH#(6&ddtyG> z?;9u+Od|&L3CJ^N8_gzihah(}Vvnb~aJiwPMExb7Feoj`01Fqr;MGO_%{G{(KT?`< z9kp2c%PAG5^9gBZvA;81m@77KH8b0nt=>=PiZ^w^LEf3DaywvCst@3l! zfg#ubL}A}8(4|U2qGg=8pGp^VM z)K@3(9eDHN67b>vLJ`k7g`|I2eL{mAc^Q;Um`BnDqCpa))3$1m$Hj75LO$usV@ORD zq)L70Lr}gUVwtyXl1ghX_x35U^j3I6i-OrXJnlm*=#$ayMcDmXW;KVr}C!0=lQf(gTEO|Czaj zMp0v?VlcL?na>PwioquZ0mjHlvM@?z+5J zqR>urp}JfS_p_Y_o=4AN%Q-#2_C1$AS&jTJ9Qkr6%JSO10IlCSVcPk6HmZ7wH6yGG z?Y(kx>$9f38kG}9ySXSfP(9RFm8fvIb$MClIq(AXOZKfj4eIGh*Is4tf#Yv8Q*en% zp>xg3lOdzZGNcr?0}HFpyNIT*x6n^)a#@;=7iK(4(UAK5++ae`PVEMz5YRz3X4=?drkC}+UJB{sZ!D3QwKJ3Msqi(EPKqW% z`JtSL{4(2bFhA zSCc8@v|k8+f+KB`!|S*Of0)7i1a8f`lx7APs&(nRXfzHOe`0225ragh zB}(jX*DC@9;L`dZmR9Brr~7ocY!!^FP?m|sDkItvbf}HXCFWH-LaQz+o55t!PUwg* z%wz5^Q%vH}^mVuxA*`Be@t?Ha$D#vILYLqnL`Pla`%Qxdvz?f8DFL2%^knX0b^lPv zT93viA@Bv_cAV9aA+Z}Y*~7aEwnljQhkZN~T$G#oHm;l=>{46;X&_urDq2fToYBNRbyqo%Y?Kz>(YhmhK6VTjP(-xz*@GwCQ;Xn4mM45E zCD9E}a-N)Jhfhb?TzXONB35|Xs)F7sTlv*ViB2h`O@4&}VFqf5fF+P5*41O*8n0AN z2X5)sd}IbH_ir=I3WdzN1{<2MDST6y6On}8^R`YSV6h{$77eln8G>5Wtitf$u=ijF zik-%EaXwL_Vn(ovBCiLJz*&s4<7umdEq1nefNkN(?8X;+Uh5H6=lIO|R_He4x~;W+ z$03{l!dk|d<0ZkTID(q+!2cQWa0eaYkjEcD0xQn>)X=ZAn)BA&C=79)v_^UL?zv`g1YLGp~=)Jhx_#E6{&U9{X1%%0^0$ z2L%iQ1vzjNdv6KP^9OSjh6341IrXt94ar!>xm~cs^$^@XC-PT}z|>C>gYe%LlIlBN z+;v;z`Vz8aLUgaL{{6uJinOxgyhIy>lW9Tl&|CDa3s#qT%l}ROKUAG{P@7xSuPN^C z1gE&WYjKAbcMtAf+&#Fv7Aaobf&_PWmjcC#w7|JJ=lkx=y)&6NnfLuS*;#w--+G>f zc7pZ{`XmEQijf%lTs5Z%L%k8vdA($Cv`|zK8LMC&>*;gLaE~@P?W{A`Dmea61H9D6 zLw|x1Q$}bi$unicvF*8VCA~a5|Et<^>$LA#7p4FyFyCP?cUWsLh|tpNEW2}q1K#br z3A5{+@F2;^crZI(Zmj|!Hfr#M`4e<=O88FaT7-A*=i%n@?DLtlFS_#dZ;x%YV)dQk!2ieiRSnEr1@g3Pys0HL~+ZGQSTPGscGM@d8?#WD1)c8gPipeYdclK9Pcj)xh&G&(Xjd z0L|_8AhJMyIvrD8OJFQHb^G?vqTM#Ln|keL^emHJfwKJNc4IWUg#xjyR0fnf(@14) zX~he_PVwSzc4T=tC{M;x2_30OCNa-s6Cp?@*XOB-oJF^qS~KqzDnADQFmc#0+Xe@Z zjvIvV!EVT=W3JJ&sJyQ-A@Uu>4kx_Ug*h$JMJdF~+(`^k%SRcp{y^pEv3(B+YuVzT zSWbLGrSdPv2tGB_4?DD93)e(k;bqNK3jE_4066m|5=A^VS5E#>eG3(a>9Bfbd;m!N zMzu(On>1bY{AF$5!T}CsHR|bAZ0VMn?{Z$OvS1e0N4;I=4G;GY%XgfcO@0uyszYzsx8}_iBbwbClGCB>K%Y6op zaaf3eA%dF%9_qS9Yb$g9S!0vdqAd9?`TUfSB-6#Btq_Jfc( zhVhOI;>lIZFW-$5oLei0*HN5J{Rn*YEgxV9bBV#=q|XFvR?-pksVt=YfRx+9`I|z` zj`s5ghM58sXFBvR(ja}eE(IepKr-PXI#r;OJ0k0f>N+jNz|lpp0<4*MHM{s-KkDQBdJD*2)IxPPHWOWYEa@j!y5N8i12V~@p=3Icb9?bQ* z-atY6ucmR3SCPXv1*z*BLu#G)+L`0dfep`@avO2oYCm}P)^M=95%W3=oi&q8wxVHd z`9Cms1vc}TpYRR05uqXRs1@vn(miVbB&~Dy-1CN<{|BO>*X2;P?YXM@?`vhG$nkVq9db6D?R!p6TuZ|JK&rVR(e=fq_Fp1AP@XR&`1o&C$~yzPb@#{3I68sQbeLsoGFpuU1T;x!h!8^^eO67h5Wk>TDxj zSwctNg6(5|k#Fano?Go&T&Z2SA}v;9fvQ0Ng`NGfVHhBkL~`oB@z7o-qDRo6f_owAj~usnM1EC3Y8dQ=A) zFoHagh<&&qtVe64ULQog&S&Tj*(-MD=$xI0#7ZH62VaRpJR zSK>4zs1KHy_m~o95aC>?EUfO)H3*VED4TwK)ex|H%$cM)TugkXD*lOv)`G#>=x@

      +6zfT13br}|7)Xl^85 zKPnqJicZ#ByH-->O|jSnXS2+$a%E2{oZBag>*6L%>|PY`glRLx7G7OZ0nL8oup`!Hqb0S!utJH7nX? zA|sz^%)<>cNR8~7?60b->nZwyeHZ(W0(PP|xY`E%mE96oM3Vr%@56P8hDwtIKKn#- zE1;V%0d=u=fpuWGQwQSNtVioiMoZ7s)Ax_A?X+8?X7BW_ecE8UI6a%#)RDjN2A=R_ zK$tb|vBj_MzHPPb6&8>`vzmerv|13Hl#HNj<&ce%7o;o2J0YkR`zice8o&t_8A=L# z?l&)(2-6__0CcHDux~MZtW0Y%e*p6f!t|@f^rU-2YJU`4K+_X3X6XFQbPgMEQl+H~2Y}WaF;*(WpSV&+(cQ6P6v3GqcHT)(&?^-2}7Kt5Lua_GParl`Z*C)AFAOiZG@^ zpv{VbPl7t!GX_)BdAds!|Mg(yMCzHK7=up5dv>DtcnreG*3<-RIj3SPsJk?Ue3RcYLdhnU$zQHJI7Nq!H2O4d1aS{ zSm*b1Acywkm+QwbGZ{h4|67_%RYypF`@}4X(B@<)T>%aF#N$PC63#2zb1ksSrdPke zH>J9HZgqx!98Q~I$Ubry{-jJsk%t3AHNl&^kUNL%gq`yVf%U^AEk;^n+q$5(g=lze z&FI?Nc*`9L@BS^11Xr9^^s^Zdr!E(Eoo?Br1pABl`CNQ5gt&DFyi>8CO}j#9n&-2~x2pp0~g- zM6Jl+XKj>(&=qmp=>zJ`-7s*@bFfPF21fZpKdt6u8xa3q0Ifucj3ZkJ31Ge^$W>W> zTJ>STre?>!b8jR&?(_%JP!vJmz47H#cvk5|R&yZc3g3)`q_E%&*1mj>=oPps?5(sc{Q#9fWK zcP^i~ZBb>RNF6799n(z9`pkD4$&21Ss$*K14|3w1r2(H*CBrJeC&Cn8>KqIBM92zB z${pFKczlUh50Hf;T~dAM1X^K`(hUVNAuLNg!)JvZ9Oq*-4BF2l00n8cU+o}PMi}Yf zXJ8tkE$rDaP#810OrDna+BD{srw07Z?AAH@Ib)O*i@;S*w9&P%v;4e=ymGdvawP3J z`Z=1SamV!S;wxLQ>A{=g8a9b1oVWnYtr0*K+|g;WPY59VfmF4^C#WMap}XJry<)sn zsJwq~wv%R%De zFxuK>*q!oWrUtONcjRE}MY0OEG*x;5Q=}ZY3+Tkk*af)vMi7eY`wW}r@sKanGZ&?Q zST3^^<^xOLy6bp|$9>cNgI6!`*Qk7Ept45~jj$`-Xo12z3uaj&Ogr(@LC#$y+2c=5 zhSamF>S*h#_;IwDNUKh(*Km+JaMMn+I5C-`JPMnCJEK*rxp>tzfHtGE>pY= z`REs#9?`t}_@5b7K6HEeC&qyFLcKBqvS71XEy|F(VD_iA&(^ka=RshK&+5;TZ0P{6 z8lh1KO`k-I;9ls$4ZQk`l-Cf~Dlu_g*D%z8^+bI{F9|8LB-V?^aU#eG+X6XY!P*I! z;w<^9n9D#;IGZcSxOvt)YdZ8X>9C~Idnx4hmM>o`2=hb=)E_lW#!V)W_dldkn@pgs zODRT>@DTT=CuPDZ>OD)_5Ybj?h2T>Bdx({Q6vh5Ai-md^lJP9WZGHGBM-V!rG(wqC zA+WE1^^)FOsEhUwjBNB@oOoA#wMyMf*m@!YpX<;`FAcpGLLs&7DQehmn&mb^woKTy z4;9$3s|ZSu4vnoYQV;?=Y$!#-e!12V19mkur?`*h_{b%yfEYtmHrbdqU3Tc0>1d~HcJ>XHk7TxTl%By5kQ*1v8!Y9S z3ncz)0Ayq89Rj5n0bKB36ETw6J#o+1=U#^iUpLF7n#Ci0{aJQoPU1-gBl-FDzep)K z)_=>u1CC#^m}ZqkHUSNs^JxORqIiX=tWIoX!0O*@V#^_9v@aMLD zB+$<>B#`Gk%MQN6sXBVkmjO3r{}QQ}sm?vz>+FyX)Cz71l?xq>gNo07XxewdOH;Gs zW+Geno+^!QDR_e@oeIZI#x&2}_=<&|ImNYUbMW0>^M|j(b`I-C5d=0}Zp2zL9=)3i z_v}eL?mqZ$W>_(dq~5W0gz%Qda`-zlZ3u|KcQ9C3@%@E5s2xLotEJxMl#L<{d&VS( zhvtzy(>d3+ZmC~LSpI>Ej!DnNJS%{Wbki=bTUWAeGP*PHyY0=Phak#lDsUqaNR7@(vt=$w8q;XK zwmi6lgmx0&OWr;U4XK#pC_f9~6MGz-=c5gf1|uD+&^$>H@w(W!B^hoe-w{0fj4a+f zR`F85{CTkqS!!!wUv!6RxOkgYS&l)7S=jSKme+ae0NB2GfqqN(R%$X;;{yqxFw@vx2-vacPKZAs`U|xOvNb&e}M0ZNr9_VbctP) z%uLPabv@Lv&M2BuHZuIRy@By6cdu}657v_^PY(N(jB`^GS4P$cHI3LPLP~_BoZb>~ z6302h-iy+mkn<%AH+XSlVt?Awc;N`*oi>;+J0e_ImVsFN?6_t+oYwAQ5k$()J2>Yi z$RBKZ^H}!nd^dX03Yc3(a9inIkd|2REc?Kh{ww`Hi9z84M;a1|wRR{@Uu3*&-9WlW zZfG20&8B|y-Ebs!!FS&A-MUmXI8S(7vKL1>8hO zhj10P92nvmbhKUV#!^xrc`R;>xo!$jb`YQbHi}V)I(m-2a+eB_IVr!+&+_~%uKdGY zFL4gZM<9qlu!8nCOyMl|ZA96E@mB0|6VPPeTS)#5UO~k`NEudt zjHOG^za@*ccqQ6L-xikdwUGJin`_BksZycw;_h z2VoI7{IxD25pUeduow@295wNdCML*p&_b9M z0MGezTej6Vl>uOV#9Z3a2$=S)(#UebqXV$H)qYf<(-MO131ew0kPP5InA@*AJiHtAe{Cr&0P7d~i1MW1`C3x%NH8DM-!yo* zxEv=+1?kP||1r_Q1amNmB@mvfipzvk4}+~#K5&IMqqohs&C?D7DU1f1AD&OHrn|9l>as08< z{P^wCCujO$7>W0(Ua_qps@34prl_r-@vVUcI*QjuFeLC2fb=9m?5n#85ck*{dqKTs zOu~3oJ4onPEGwki4-!5=CZ3v_1!FRgLY<{IKjYmgT!q~0_K#TAp)DCOP%F2oeO>LzR)(d>I8$(1|4ChRA*9n|M zuBr01UBEOFM~{<%9Ysl2_0=2mzTM#Pc)cXdSs4AfvJKPFqJdm(da~VC-VrNmX>rCT5H?0G~4G(}3LVXk{!GMisC_sea z6LwO{n1>`Yo3K2OTc9dDR3HODou5`C6f+HUll>VhaeieTgsYCO|EJ89?O``K+V_;f zbRraM2&Kl20ZSyh1J#Hjh~RNQM;DOxB5zga?)*(55bM;`+W zL~A(usWLDgMO+-kXl@#7#5y&_VE^1#>Y{qSx=+tOO{+Qnmhh$&Um9LnKtO*oODJL< z1-OJ5QPB88>4<`QjB##gtVU*c%bV{7Hecl`DMM>^1z2H`u@5)%>)vTBzHRF~Rh z>`pH#Q>K@-J=&D7J=&=7_%O7j?QHCKgH3D73JRrKa&iYd!mPm@yz(Aq8OZgMD({mB zd^PpR5sy`JAx4@!rr#Wq{Qx(7jtZ?lhYDV-()jwmR{^n)QOs%Vu#ccC^e+@fxZMui z9ESBL;cB`^#J*lO8O#m*3x3l=99*#TlH^(iEwXfIV0H3ivE{(3p%k87X2I!|Sx zA{w$s2)av1_M#*;mfKe@n^3dzC(bLqYjPbO?Xj8+d79W^KKYL?xL4O?v{t2${T@I= z3|L}PJX!=#ad_f^2<)D)6B&HVeb@=A55U24rl!LH)HL!2gob5Vd%u0VbuNnw4OOT{ zkaZ0y#^gV*byw0$DL? z(VL0`D*W?*jdV@3psOI|!z0$URa?VoLBjzi5o9s@^;yU)h}NwTQG{!M@Kt#{m+RvA zRXR3=@HB|&R@tTw!_Z*4Ek7--x=vIjf2-QftphG>Z{L_o&dUdcN6g15!Ns&e&Js7> zZ_|piRVHQT6R|Pr>SG4>37(^1#yITaah5AKaEg_fy6gOFHH8paa5harK_==h6VS zXG5=4V|R2|ap^~mJ@xj~&el$`NqBLa^)2l1XHi3Z9mkbgK+IB1D2mf17v0D;RRwt-b}q)tTdQYX8kC$v?y)qVG#Jfe zky~oo&$aN`amoO6|K;go|gtUWzu+eCVFN?yL_mTD9+w{By|1lvm|i8R5x>M~SfW_&tM8 z)kC~0r0R8#Ht5P8fQS+`aMT!z|b`(v1aXJvQ37l4yfYTnqje|Xt3+Tm(opks57tJ5s_hGJd&FQH&XdjuwVT}eBe}T|(Y$6l>I$p? zXjY_e^kf%Mu&-4t#52a=`$T&`d6_KuB657Jl!g>!JIkzcKlO65BQp`4cHJS|2bd0? z6HRzEp`Nc|buiCG$u%Z;L7j#U*?^GPpt!aFR;>*AB7B>CV`j8IP5x0q;G^G&N%d(6H{Icfk3C*!J)@dvDI$Ky#1VfBC(_x98)C%dO$PApY;gjzHkaZrx7G#4ZzCxBHF%*4X!A;#lEdP zgX+^8z2(cvIe^(UH{!L27}AMr-DEt;U1_7Sumu<1t>#S0ZTIb9}6eBc!g6JGHuABd0}@dk zq8!8%kW7tH+%}ZLYmoQ%-I$HfMVgbGJ?CX0x0}}cKcC#kVMa?gdzBPYmYRESwM#$= zz)mA8H}=G2c*j({9wSgewB>ESXv?<~K@ozcVZhTg{gYPYNO|XXvP~-m5)9rS0f~(h zCz<(n5zbrZM;xv=E#GDisT6KD9daQfV&6f-*-$wFql3hk;KX9h)`KV6TPape&h1I| z&sG<{w=vl|;TXpVBbvy2v9A5M?t{w##7Y@U1G%^7r}m2+8|w;PWo{}dsja`B2oM9m z`Vlv)PCY>Li_9FbLaP@Cf?zI-5G#QNnh>znSDWagL&;xQ z(dHF%+YXC`OD9`jAN3fA^Px5mBJHiuYP<_20pL*8Y=R~Gt$`;|udS|Ys1UhE+=u2t zktu=0!vLm4@;WzmcA$Ns|N&CWXfthSsHUZ1Y}Ql4*W-RvWMZer|;I_>p|pT*c8 z%g6E;K+|jYu6=Y{z2qCm+7`b0w@vf`X&1g#u1dj$0Rf)0clqkSVilN@46jKVuQOk^ z2^7KmEO;l3CC5H!)K!%_M8B<=FRQEbbadj;PL^GB=e}e>XKPrr-zS9>P%`$At)!WV zqBfU+Ii(%XxxQ2h!=9hmt%7gtNP#MlV)Q}Pp9&I#{U#W*Lv5D z(vwJE3+1<|HD%hU_HtKJ;w5P=5!QaR&&3DSAeogqLFUk1?#ijAnb5`3zFt#;E>~R9 zgm}G=exWXN+~Ebf`y{(di1tD5lhb+v67DBo??iKs+@W8HdkQ}+ruQ#*fA7RmiwIe> z|9H3|X7g^#-u%GQoEl1zpj1DMB_^HPV$+2adhmKIg;yZy8leM0)Hp z6%Gj4OL25PXpF)T^z z`Lk-l@oW$%?k}@Kc(c*qW&8_fM*0xro(<19Zrg)TrQ$ZXY;x}NnFtvTNn~4v?M0&n z>DVzJ*`cQRP3(_s+gs~Cm(==U-4N{KLJ^V2TvHatP8wn@32$LGYxmJRc9$1s6d zT8A;5U{rC}=i_ZOtvo=KU^1oggFh4OVS8>ICcBZKefQbNL|4o z#*Kt{QZ~1BOPZ_2GI;2{l_@77;nAif;R5qQeqDrxyzr|xw|5!L?G;Qx))KIfA(PVV zG<1l>LJSF=-X6OsZ`Hi=*rI#PfD~C3g%@p2^mj?Ev9D$(^^qzHVpkK>adHXwt5_;^ z<%xb4`9SNf>AnP%HhVgR78b&BYSOVTYWz**=DjFp8@e!|9}+x>7?r-9hY=G-ujAP_mR4GavqVbzC0q)6 z=8(~F0O3gLFYRR>SwL}b_H+zHI7dhYoog(a1x;8>91lH_ZKmL~99*hM#zRa#qSisI ziyC&RQtIWxS>r+DS%7``UihV==%roD_l<$RQ-;Y|~R$h2%Fe z66L|_fqltb3JQG`)!Z9qMC#ya_vx~#XO~8&>nQiDtPm9N7H>3$ zs8XUB3B1iPus~Z>-!rS;GVRAfO+Zlt$txob{EqP06QaS`4nfvacc|L|I8jB`9A)cKJK$T9R{q_b(s-YdHeIYgq#v_;u)rF5~hgf%HszIQ8!Tbl1kgVbFZJ0 zgZ!4OK8pe+gdW{nielwd>1?0(Q{4oI2EQ(ZB0hhPE$gWmRdDUD@Kkk#gVFA`C~IvY znPPT2`2cIly{XA~8B!=Oy7}i$l&=}+cgxu&`9kBq&}KWxW76baIx&{yTh6;sxx)ml z(wt<0u)m36(G7J~5$h|QpmL#ht$!!7E!NuEb2r*<_1x-KGY42;g%cYz`R5TzI~OoM z$5hzQ@k29~Y+4xe1R;tMyV$Uv5n5qbv`Gz^Jo@iR>t{RbI{_^P9zgiH(=5LqMB_`Jl9Vm zZ;4yiOB0*gvPs0{OQuY+n9u=b4s%DXP9&VisjGzGbV)a7e(gE%6rVg6=bVh{L^syJ zIN@S!`DENGKTm8*Sv*4pothvCSxw*UB<3}54@g!*X_8M~4dPUn(xgpAIG{^U5cB854!8{}~-J0l?jj*LKafTNj7>DnRpfx{;rGP1e z6;KFY`4QKgKc?AYv_>IR?KyQnSakCcj%xx(e(Mv z3*@e=bByIyAeHf+A?;`bFGq$1>s7{6XESU^5ej-h>R$plv z4ZddjX%VzGkiDPc?JoTT(>$%O;xIMkNy1~UJfE>3NzE;+XfvHHkLP&;;7Pi4>`4HG z;xE`pp~LDTT3x)zjwe_-S~&$nW`os7h92hi2Zw2*OGW~!MeqQ)g!Q551`c;Je3{Nw zf8{=2A!nhx<;=CV?@7EfjP@S{I($9=IBvb%>Hc2{o5RLWAAgt4?4>Yx@N-zOE{V_VWmkGwS2(nOOQN@U$f;eh=fRI{kIhbxxdrMO0rPO`@|{^1xXEs1d3kud z*mc5F{CDz?he;Ag7Me{b@%~hQ-NLH6Hak&`OkF=%K`dW_>)9Euj0l2#rUwxs9A?9AqT&mmBf*27i_i z$vAlqODF=roKPtg%A9*LC!g8(Ya#TTsIG#KNc0VrLq!3OS@@``4Mp`?NfdhQu5$R= z>sLA%x^$f{DTMWJ4aKce{)NID1Z>rOPM-;=mZiKu*FZlYtP{4m5yK&VtfpMF)S;Y@ zwS<3=XDY|}bXrG_^TNsPm?*EBrkdC?q~PI5pje3N`kZO#l%xm0RB!P6kHXxGCW1x# zT9-|V1-gDBw1L%1h;NA?ED;qN-&Pm;=UaCK&E-OZ6!Dm+9!~v?hVGYIJE;=Fx{^P3 z&w8b6P=J}mxRY4*vnKc2l0m%AB&wShJZwZztqv$<#mJUcJtLVTeDP#r4^t*5I(m`V zbRtpOMLhz0wW@6&hkD4BM3{B4r`HmgCPQo{s4tE^1TjhSbUl^9bcGd6Gv-hf7St|@ z7ADqLo-d{nPOp;{EgU8zPXUeoD#ssy=J*7qS$G}&V~$5JD-fA;JxQN@@EAp zFIY81DLve$yH&~HdY#>2g9|4f){(}_r>GFlxrZKvoQsR%(>H;{eiV{m$h9`tonrYb zFwgr6&jUQFBYLO|ldlrShHQKUX{{1LvPi9bV&U?;rC33K7%Abv2T4NZ)Rtl;(=_~87 z^64auADsNtTw!28wodOwrk`#p=HNCBPS55###DLcQ^QpZPbAvwW#_F?T#5-|E*x$$ zI2suLHDt09FICOzKuG(dEt;Bdmm4ILhlAAco`aHui9yiU7RBm*c2Jcc$Xt=+ntf-v zT8d|%;sWMlQsECh!U%|-@Q3_S*A#8qE18({h>kj%S-kn7Iqed4u|6pO-IiyDq91?O zf&Mi7P9lR9f+@#3k2vtCp!a-OK8KZP81vvn+iv&|3?T_z%*fcQnfL95r-{h^wDEMD zFck3EkB1%|-yHt(j$>}cL-u9LhhtbwVb8VQd3fF$D7eQzK4vqa?>m%uGED3jgm2qN z?!$oMeVq5|10R5kenec@BA$xwniz@m>xAM`gK`md?k)D;YA|Q#ReHiDGCwHmQvG*@ z2_Y|tn^cH;bIX`?@LdJCOS>p;QvxZ2<{Og}p(~`uUD2J8Mc`Okv=x$d%I*RSPDPg+ zU~EDc>P+#7o#gPPV+qIWsTglb` z3+Gir;|-iJ&Hrx!+#Mb+V)q842l9_T6|(Wb;>ftEJJ10gP8T?>o2%w1;1bv!a+TFP z^LX}0GA^A>B=0Y(?s|2UNc?Cg@9u)eIGFr<%D3wBRL2W==pC-tt-L-P77?Qg8j(0h zSA4$C!;XztAC0_QYY83yZ6+A5Yw-{>= zbR+2%RN9#SxBhH;)m3_*B$}xux%~A}+P0~uD;uaf&Gp1GCtdJ|H0N)^`s!||2Vp`_ zg*|m8Cz;k2JOH{-tb_5g^lvC_ttkr^C!rG_g?;RUCGE?Xj@K9l<>g%^@~5ouF0PT= zsBn&Nz~ahR8;xTPQK$+V;FNZ@`?Wt+y*ixBgV&c&gWC;%s^HYN4G*PL3c_Q#UC zL`V-24po;5*}O*TT89Ua%e@wBqA^FDy`c1N5YEMG=d25d=Ql` zOGGX;a%ETiMM zqwc{iiVgf<$S@m>6AJjY{MxqkY2n=8;N?qT} z+1vS>v{2WivD3odgixmtkJTXUR_tVtW++yU9L3I;~xiRM#f|8R?T}rHIKqmv8`vBTRaYxKt2C* z?h#SVNi24Oz0hGA)_li8#DgiHOcAnB!EWmP`gsYIe2R6i1V_g}J(_UJtb=zc;thV` z{UG>N-*jOkW0xDS={%LU!H};5X_T_aj)}HvX#U$wpJ`N`M+X?SHq)b$exD4e@qN&2%TZbUh+`6@+xtM^sNqPVC=*-qY zN0dX%wq6^HkkE^ya+aqNKGpJI`kUHIIcu*yV;%#vUPUN6yNxT=G^ZnAL91i)Ao)Je zlPlT0+{hMN|7+J$XSA*a+Ht0wx1sklP}Dy%Oz-F34?b&ryA&0=XK>`)2X_4N7EEH2 z_k8$Ld?fMv8xUjCJd=oT+RdT!qG%w;S@Lg$rW7wdi{3T=htN7+owq?`Wd2wW!}U&e z%wLtqZ3~(QD0=sCh~aNL`T1dXSL07g-P8yFR;KS_qkhMaPb7QA1&9Cc>0R6k{l3PD zj&XDa7n+xsf@isjRO3N-CfnaVzMh%oT6_wc&PL4oqmU~uL_NyadKkzrOu}`|HgX_l zNYbqzJvv3-+{E|B!iZ6z@aL=Sck6^+ZF-$L^^1}x*PxuWDK z(b9{*v>N>M*E$l|^Ry0$gx4cM8RE*5Cr?(^nmFBi_6`suf#?M=cemCsi5v0^CS}E# zqm15C)o1}|EM9csaP;Y?$FB)=;#*;$-stFbf&*c-v1_X)dI`%9r30z!rkgu!T4(+Y zn1&v~8)+mpUqevB^ETdYWcrD?W@G{8I?n?JKUQMuVW4^aLhI8w4>46@V z-RjM)e_K7ba22698y2Ah#q&sNLv*RUmsH!;=h=v{k2*zW4J<<=;p(xswvF0!1_4jf z`0Q1%$*%cv2;z)KFJ(!LV?)Mv5pyAzDE+l!|!Yv(|OO`gTiy~7#X8DVJ`X*6<#`^0sM#< z&%1|ho7%q3AP<}mVIxJUgQv!`(>Ehu*<^8XZ{PSv4h}jK7}{WE&vH+Eds8M`M~}(3 zOEFgXRG#oPXCGU%N<*qQB?i~U!XxNBG|8_w0=u0OrYQtX#D|Q)B6kBmi^quxrnzeU zvS#T8mb}D&oTv_j-ih&DpGN2io~O`A`gbaaUV!O0dG31uB_5^UF()EdKPi$N;~BII zsTS5+Dgq4Dzk&R#O49GWxlMYNS8M!#bCh$dzRI(I;-M?w%6gko?q02StGEDkjd>-%0l6W=sz&%9W~D{aGxgn z*I&&OcH(LFAWfG0syH1pP&W$SqAI*!r(>8(@dqs%eP(^MS&kt#wwZ|~F9Bx#q)v!F zs(R(`jEAC$k%cCR50ugzc(?I|nYaC4l$?|M#=nHs*7^qM{o{Y%jQ+ciy+1Ke#dc+w z8;X>F{pP13wt{z+q#vv~9%<3@gPz$3@-SPyK_S$A>^}CApSWO8+vNi}j=iUF#@A8z zMFsz=N}GMFaNT_ptcJ&t2dQ=O@(~x|oqV;jozbQn1j7Cjh&-L2(RTdIera+?phL6&odAc zh!jW|el%>nUWNJDZAbKy?ITxfnf(eczfI#bT<(d`v=5v1Gagi#6>0Y*NgrzNTcO0$ zHc9B9fyKzH6%d4ftFEU`{Zqq@hyQ`{y7gLWfO>pr2xTY*rA_{S_UpxAw!8n;tI(Z$ zp>6ibKQIh=;;;D#rlQZ}iFs*gy;ENW=hCQ-+nKGzfJequ0b=`!ZXcSm;M$s%X2$25 z4Ydzd;X*(>0&Ji@{=4D#Z(!afAEI1b#6zePnyk)(wpu=O`8G0{+p zBof?B4z`RE@)NSMrhhd;4iyWA2ExB*q1z)O?>k7&EX_2W#W&NKanPtZ_Gikq6B4oJ zbamqP+W8jC*|@oGE9*E}M$;eL2ogqFD##Xy3+nx0PyLI=LK?JR8FZ=7n@JH}AdBZyq`l2=)`Jeqzf)@7|K;89+U(zU zxZj%zc!WV>wW_IwCyWL546sX&Pikm`Ip%~ ztET0T9#$REqeje#$rA1}l{RE6Y+P^b)-9B6#Qn?j)s|zE>8z`77OMDl>>kE#Qs|ZR zICD9k)^aF1RxWsGYtT(3pTK3KDx{hGQ`O5y=!ubphjhXFM2gTt$j|||<(87SG6j&^ z@G?+~n@>1Cp!4c)LbiO=#8{m3PaW|)E9BQd9UxFS?wV;woV)lXHCXXGur%MPHyn;Ni_FEQLz61H>#F_^-w}3b z+Zg2AScy&rV)ZJwB1l=uo{ZIn>SBh(wotoR{Fo~A0deI%2-fK2_WBA3YskFA}r zvAujh>dTI%X}19qT0?1g zYH=2WiZ58M4ZeDQLhG&;madQSh_U4dd!JzGLqA?`oeEh|oFDGFLz@9dFGr5wOF%Rv zxYQu3+Y4)BKLuky-Rks^h`WZ?YIT~QkghxSp7`(o&j*G7y~6|5VM8A+DJ1-2oaOMk zpkrF>OS1)e9iidM_vxClrhd9-d-@V_*fzlQ*`AB}~IC*lTaS9q;&BE_m9?SQH~~cx96FPg)O7fE%Wj6m<#Jfm+&grjGryM5?|fXj>5TicXv(j;1=8ot^tC~;1FB_Bztn*&s+QZ zL3f|sT~kwCuvongi);B!+*awaDiJ0iECn^mzp7aYRk;xQg@p*jpUqoz$u0S+Ud|*= z5R=}laF(#j|2sOY1|&fuKy0@Jz3^EISAP>0@($lMFFG(rA-W0S36A?8`G1}76TSO1 z_g!55W?xpc}lFY79ozq-gp}VQ#TJ@_~WDSFzHPri!X3d#6f07AhLYq%8ibC-Qo%5qa^mV5s@9{E zR8G#@xI7QuYSX75*|5Hox7?z-qC4fWWs49kiTFBQy=l}`8U9EEfdiiNPjXU-=-*_IiOi{`_(6$%(I0YV#l_TpcR%$hF=zW^eD7}3*}RhJgDeW7Kz~d zQP8$OuXZna@_7HfsCHk=Y;ja9!Q+~k%@!={wVgUbV7zBG?ctNUud>OGvMKxG68{9P z)21KVAAi(jCrGTI;^C8fR8}KcecHs|pMB?hF|pZXuc&;F-d=lv&(DXBl8A+O@kCS8 z9Vj-2CU$cA3%0CAXeGJ$&psL5J+iRzwr+q*7*rtc2GW*jXbsQ>4vlM!jBOvX4dk2I zY%-hkcyvr%E>6yeh`m}(pB`oUDyq83FPBVAG#6QYLt>4+ynIuHvnkXT8Slr15ly0V z)GzU4ZQ-VVb6HZ!RJdOJnz^70getLjplN-?QGO)w^3qSJz1L4wBBt&CwJ~3=xv(wQ zWGx!$mBR}=$29tsB2SmVg0?Y~Lo!278rDOzJ5o}Xg&P+$bR0+jEZwNyypF|_aFq3Z zu(7rSbD^S&vR+By(dZs@$`ZfpwqV;vq|OTa3W%AB>vWT~*dTKF>k@e0wd`R(D6&5&oN z8ErN>dZQ>qeKOgj&7PQ0c~6zObt>wQC5Bl1pD{DZy3%ANt;Mc56+fCB4c)0dQBZrbuA>V*TNOgHDmt)KyQP39| zi27BDrG-?iATl4&$u0YT@EtXg9cW-Jl{bEN4`_bKZ)a;HMb|0~*)M%wd# z0UjAg|Et;~8;RqK*CReCEY@<>PVo$ieqR&Y#Z>s6R3+@Y_$T9?d^;2&k((5CyXbbR zc(TsM`a}n9hX-I!2z(a7-Du%~+M|}p76rcr1@S3IipngGh z%g?;Te0Nw6fzT0{&254I#;#pMKOvKjMyG3kkzvuze`tQnG?livf7Bn$+mhqLprXSP zV#$+-3@UIKT-WTW%~@AgS}Il2pjw`|&S@%;e{N|c3Dv$WF|rGey$E&Y{gmEGI5EfvCH}Y;3ZJ|c6PciAly8F!nF`PhQLfEMiD z_r)|dBXM|sdKNMQ%)^5z)WDi$&+8v6AsJ~+Vr8>-UrEePTHQT~@;(nFqq66HCDUla zCyi#~c25xWy#1P&IylbF;^~3_|3i@iu|DzH9d1BPpWZP4iA*jTz@rjV0TsBzKJ+nY zBG#rJVa-IvV?I$O@ysSJ1K%$<#uTEV7h!YTZ*atNMVx9ER$)}^sq)6ZC+{hxVM`u6 z57^ZV*zJi`?&^{6Rf~j6OP-Qs!PaWyk_Y2vGG=cY1DzqrZG(2d(2N9!wIX3NzCd7h zqvE(NZ_hMsYFnp7&BlOj&xan{Vw)4;Eix$!m#wqs)ZK;|{@F|I9o}l8SEGd8P9dT3 z_>`IH5%&l8tnM*akL`!L?%krb86$UUIG56h;sL%UmvhMyFFo-)7(B6%^5->o@lqD1 z64O{#tlyFKDgC`i2A`(vyTf`H<_rz#gTi3!Fh}<$c<@pzJdGozaCu)5_a31{5QYg6 zPcOM*IAoM^^-017%?}r}??33DqTzA|a>yNgCo?dMBE`6)$JiD@d}7MAB$bHHR)wp# zN+BHJ&wS$~RytvIVw-~vP+-`1VOmt4BE|J1Qyj_cf*T-;y*-0L=v4|KOIN6%O;-oN zhI4K&`HW@o8ipghEQ6S7G(PTX`7`!4jCmI)Hi@e?iA@DIu75b0JOuTX(S)D%yE0B{ z`NL;d9vBmk2hMUv+CmMofe{4Re#v$t^b>qwulSr{4s6AQg7ojzBjf$SBp%b?c8WpR1+`9sn6t(UQ zt|W(`rEfDfZr9tJ6Dh`g+7BG!VkRs7CLLHsds{9h<>w7-nY7fy@rE!W!bWt$+J`r2 zy--*n=H=H^OV6s{Jh2)m1RN{D#PxBvZqEE~Wu66zGe`Sb2 zVitj_yDvP=c3^HYRD5uq*8G0m2<2a)+|Th`2T?ejBf^=)9xG?DeTr$@2}C?NI{yoZ z5tXVE`xP$V!+<}9%A195mPQ9XHo-tC$P;vbxYefat{vJF@ShTOQbNZfp(26Ge zN3uX_UJvZ5_uHIUWMQ}AY`0;0yJ32FfbXWPACk0Us0Vh@(_)wXcO0a+MKyV);6b<2 zdpCWVAxswT6g7YnN53P>D)Z+HnZ#*7cPAgzhR3JKJz1B3^U#b8NScMm=+!a(XK>EF z^77p2chaA?>==K>ZA3j@J()lP?n3!(!3tg;0ouuZ>?=ot2YgAef;WkU+2=S2E+Jl6 zLKPfDn=k(EV=4G0H6zi(Pu6FGFGBE)CAU184Gmw0*#Sll=wxd|u3ww8SoGQp9>q&@ zB|U}Ol0Z}+W;DH33H~2kFY!LD@jtX`do*GNY&|sVZ(>T@e0^kHzC_JEMU!Yyk4o_Q z^wPOMA73?>R4Rhk6JuE}p;~S)HYqzP-4?5Z5vG~kJgV)JJq+7Tyjf? zp`(1<=zuy>`Z$;_mzPWZ5dsd*tYu_>ebb{ap6mvWI5~RYHhh!~uxBZ4mgD?#oc9)5 z^3y@>V(rd1iXx|81I*m z!7brAa9@<~tYO72l#cAhqQ#&1)A9m7_#*%r6M$+LDKCc78>@iY{NkU>vi=4|`xoQ9 zsS(5nOWX!xQq|#W{FU^>NrOrbJqvAsTaT7xRWB~fAg<-zL2nBcHQ+C#5>9Z?lx(>_ zx#|0c%JIBscI6Tg@tCs|kp_DK>)n7<@UmoiE(sW#xG*r%cq0>v>;+w>BwgRrAzd2b zs?c9ceoZ%86j;ogyB*M4q%+GREWM2wx=78(+7~YVVQWD0CnuH^LGOEgia!Pqe+HRt z=@lw%99d5{B)1}l(g|AZl7iJ54Bs8yeW11ypTuk)-^cz|OVnT$9@&VrgmVS=tWo)m zM0RREm>LrlJgr-&l$0W{noL-RhwVx!PJ2MSbZ|`2{hj?h?o1}>BZPKSzhd$?*q+v4npZmCZ|TNx@}-fSr8fan^PY` z9(>6u1%(;w+mvTDrcC^D#ODcY$S6_=Q&PScR>9i&#-xR1b3>{65~F`{5Z|PuV z!w$D&`m;(aZSIE$v#-U+svQ3_UTdo=7Pn>iKbqy049kALkae`dQM{0~B;IEWGzI19 zF~LS*mpXQFRUJtSyf2_}YIhTcs=3eSEl!2;jX@e&r)?(rV8}Qb*+q)?XDTMj@GX{V zbDe%@VL6|&zqJ`c7VN0I9H;+J+M2#08xV6Iq5)Bq&(Up<;&cpCtP zXqj832)^Bk#*-^BYmmK6O#S2#7YUmm9xKRZsykp|pjraKefiF{-*K8obca$>#Guqq zIiAx82T#LDAVH3R>~!5j-BPu26EHwSzbreu*lJD+uJ9K6i0$26A$lY6Ic8_*chK=9 zd#?O!eNrShlbwx4_tk9C#J-Ek-ct&*z(R0$^7dL-QM5_(t#D||&u>`JXFQw!Na<5J zBYFI~FR(;@zDDCiICA1&8%|#g8sphXLg&+MJqwA+58+GF_+^fQdMd7MxHQ;H=~~B+ z6_FT}16%nBJEvs~j+tn8SPDzo*nwU=J+XouLAhaLSE%?N+`>x)j1<~q($;+(dcJ^m z`OY8@fm$YlrCEuyTfJmQ?a;mlh7dk>>9@}fy!1B5+~c1xo<0YQz+cFv?Sa|ZG;g}~w#jNjGN;BExC zI*NNxDI0J!z$eN9_n`e}9klXRD($0c~<@A0}umq-` zpj&e|XOxY+*euFDPQ84JY39DkaB1#pGp4kg!v%3*{%I((yIUI)6{qjjqp21oBC{7qY}R*05{FkOD2ok24eF%_rjy@^B08(Ag>`^xmU~%OA5l0fge5y^(6= zfl;{UypWc$hjXOv(@W6uVxV{UQ!=vDpmZ0HcF%rOB5P7dGc;0AoD;0;s)ZqXHmT zO0ywVl|DJf@)sXCmkqXsme6U!{uEVW>&5t1X%|qaw*kgYj+gJ^8oESxriOwg=YQiX zA-X*yW(Zg49TsKF84bv=wBzR`?7BW2#6raINJY+~#?+1F%@skH3{nwRYl(*4|L8EI zocSkX&3+m5ilZ2rVye*aOIo3^GNJaN|3vIW?7a42CC!`GREa?AypH-zu?KQTV`X+v zI@^^zq;-Ydwi0mG54qvr;tTbekgFdG+UV>#xFjlnw!3i6;tb=(Jgm0!$gZSz^06g( z(Oc_?424~xZH{5`f#Ulpf{nC;Hb&Sv$&rU!uiD+z=%vTV%l7BuI_=rtbik*Jk?G9v z3KWQbt+}M++1$ktyMvG}Yb)B*ZDWe`g^0@YM^Vu#Jz)!{30IZ%-ptfcrVM3TRKc2^ zZr)NX*NwX&K4a)m7JXg@El1K^hPfkTn2=RiRVIg>5Xj=YX@#=vmP)Q%;lLS=|CQpc zK#S?y<&n@)u;%|`{IEbMkN?+0?d+@O*q&VPjuPi9!nx-l^XR2*as|@FxtX0*3`1Ur zvT7ICCC_&F?p(OL5U#N1;Xc0s)Z$#)wL%|;Ugd=KG*j%mU4}&(g5jBIN z%8@OgW(DNrpXB0r!(<*RAPT*b+uKTL2Z&N8i&^zHUK~P8%!8C|CS5Gj3JB%r8>EM- zn7pkNy+!(?ELuU9!VpwbLIP1N?iz%;($4NNpqLfn3!))7nwVWo$$;I7y`&8RLf8OV zCz#fZ!>~b!{~6L2r%l|(_s#t2o&L)TKnU*B|5%X}HPgP)vbXLi)EIfUJu|x}M%*=> zbD;~vCpYfqROmujoP*ab41s3UJ_QU4%$Z3+#Hr*UgBKi^QvvCf1XA5+q1@M=Z(mcy zx?o5;DfK|e+xgc780Uh1*SU6cYc144QZW+ff~X^=D>rwxDdkAuk-vbAc2yT7X$N+H zq(n4NJzfT?!w`~B3sJR4aVQmbXR7|_&VsXtJ4qWi19mRsfw<{_m6xK&DS*G^YA!m_E-UAaq3~?J2BUBOu7OSv!@B5Y$a>_jSc1 z>9~GaA+)S{UwiY8AuH-F_kEUH9(4wLyeu7)e_;2}R8h2HcuH^SX2!y_9`+F$bR!9+ z&}EKj6ggx$2;od?z&5Br9P&qBh_2AB+s#(nD3L3j$#wgTU`uzt zn+|MO_*;*pQidw@SJ-;-7@%N;_!*LrwX9C(V7f7&pI0r-*ZsjbcOwvi4gnkzsu2pp zB-(qU;aq>B`(=|q4qp&aZ6y~MrJRQ70r_)~^`O$G!X4VwcEE3?JySjQU^=HuI#JaF zUMx;6^iAK2i6$)fd(oN|%PnLD_%=qyNI(G6{ihGe8~= zP_t#*47dR8lx2@G3Y;uoNFu@1Ty?i4Mq&+QEH-}U|zk=i(iT)CC?)CJRU<4Uo|{sU;}L^cZ8KCQbTJi^^YhdgHkfNFnMBH-WL*b-0lCG zslnetiNTsi?S!LhVM%jPx!>z)I{cP@P+6XS{d|4Yee)+H{Bt0Vh%<{`R5dElWF3L4 zkucYv$dxUDKyi2?IYBsQOH^N^JBRGxalS^1|Ee)0jbC7b;u}myfncj?`Hdp^zEK-( zdCRWsV*RE@UDlV+X8`E1s*gzEaJ?BE!AxNSeiOH~@Iyk_@V1L=C1;IUN8Tf@jGkhn zFjcXw#6-4`lWLOa$0ICfodWh6Jc;!zUtG=kyg+#yZ={^2yg+F$K8P0S*lZDU=oVci z$av;iR;S)yCH$CqzQxl7oLBtVjl#g~R8;ooFn9e!@*rJQQ z5(T6bz>75M)oUjfO#gvjbidt{#U>e2YyM|t*oV((yJ)ZJsbA(T`pa?FeFnyG+pqE~ zH7cVO@m_os!lzy@`a`QmeXzY8ZaVf8012wZF#eTMXZq8>LbG@rjZvOiuW`Yxc^%)r ziJg+B#%RbJMm79Ye%&Cr(5BR^#jlLcMp-;2m=67QYGPl~SK%)}+mC=^y66_0HI;*? zu}mGV6m}ZG8l41&y6&hX8@8Vfzt#d_{@H{tu@|il8q%lsH)8xO$*hZo+>JG(cS)*( zYl20&pg55G)$}5hxOTB+cR5$YxYI!GmlRwZu0hAs6#_G28YCLx`~u6vPqe{^4kxH+ zuR&o}1vjJs?~b&02@2*B+~&g=sU=&3rTl^r*aeC97uXki2z|14|1ePB@ci?`>c2+Dtf!TRHOiYD z(&y+mep&x;-a!4|*?-IWSmkSdBe}IS$X!j4b=$v&rynw)`(^5nl?L`EZ#FwtJwHOD zcHPc6?dLgmkQs)b0y8W_i~$N`KTI9&dknv9m+a9$k$#2Z#N;%ENIhgSA^*G~J|g2@ z!8;niFLn)^ysUiNM2Vih@0b&{!J9PC@jrh$(zehZ^So9HN?x~SD>ohRDfHWVY$^No zVmxi^vf}XK8&KWziWm3pf-M0yxD7L!A|GGDAtZf-<}5|rA2UrfWymgS(8af3{eQ77 ztcQ0@fqnlGnRl#rC)zLe8|hri7n4#kB`L9>1W{yb8tD#P2HsfN{rhih)S( zl&ftoQf->f?OgS*Uk@Y@5siS>yQ^pjPbr?os||gfxg1U_mRYY zj5P#bYGQK3^JXy6Y;n`-Blhr4?V0=lkuA5cU~0_3PQwv5K40Q~J^nlo$c@BIa!$nE z0D<*C%A9x!D>m#NnKjWZyyEsV>4m}?KF!Zoy(t(_(wsxIB^h}^1R`71pSrZ%eYnd8 zCv1yEV7_(hE_67el|?e+zJprWQKp{@P500Ru;G;a#gD5$+Q8eHoWEuH@O4pm3WaQ_ zdhY59HdcJ?p0uUt_w}wnc`p?tPMdjwk)(3{nI1n)&L&0&7?reK2I%TahloMIxH%i$ z?;GEGn%(&^b zE9j8MsY=wZ{DhL-!)=W`HZ+i!j-y~Grnm;9;8K{U_OVEoYx37JOFpVghe<{vKF70P zCG~78{RP0jXMK_HCeQ)$bwss2WeE(*8Y3DjkJFVQWcVog#z~bz+9F$0$zA)F`~j)SeA**h;{cjL?WkpwL(r zD^v(Zq2)~d!&v!d@M!8H^gYCN*{adH>++(>CamPVX)$-s1U76 zEp zQZ{p|h3nLX?bz_>YDXlQ9yw%JS)c$zf=Y;;uI5NufD&7P66SCgDv^F!S^yD2c~$_^ zKbKv|=D(x#b;zEG;J<5SX{1bnO>)fl+D!_~_Z~Dc)IKDOBdIhA)c38djN4O1pIR7} z17d@mWf#MKb#6Jyy`HyDgrU;m~#7IlClYkrtnjA(&Ug zcQv4U6~9Ple}G3pEN0lGB#6=j6PJ>uT<6D+%mJ*MZ5r$0kxy^m5E=YYe8*(jEOt|h z%U?DIMzS^LXWr_6e*S+GWh%Rb?P}cr`Hpy}LP|4Q1hoLy&Gj*Ml2io+T@yYIBIrrm zvvGO1s~|2}{*9HxQ{Z`tx+7i3Ak;KeGLkhFe`FJWLBp9COZrAus0LUaYM>0He1c@s zg@q13HF$N|$bQ#+cUYy&7s8Cas=akhR_DdktrM8%nvC34znT5Fne<0ovd{Eir`k#b z{h|wA{0m@~AT7Er54>IZ);I^6z!z)8u$Uajz#Jp(#CZ_amrH$0L_KMxI+@{T>b15? zrEdW(O)TBg@iUYVAY-qAH0aHwXw)WL-~q@KaXSx0KWH|_|Hm_fIlZ;+=&usNsY7ze zs;Zg|>RLYNpN}CBH>(Kv3g&AO8re#Ry4fG1%6h>DKJRh8a9CHa@ZrmDtJ+yBkaBer zcJ8Zk4HpzoR~K2q`ve(%rz$Pr=T}i?4`D48(HcYR&iiZ?5EO&|+CXzLv51tORGs+K zX0s2Lfl(RaO5&$i$4DHlC~dQeR^9hl3bBkz)=Ot;II5WUwJ^>Lj;Z?#$d*R*;9#m5 zYkpr=yzMFLXjMt-mR_HdN{8m&Mc1E%cHdG&_ll|;KsyjFzF%Uc*~dI@cjPQi(-beY z5VMLLWUo~fn=&MVii(|tM(?E73O3N`DRn1Qf5$Ek%%^p(H0flZSO-d-W-GH+)%eEj ztfN_R@sZDHl%-(zGQVc|I%@sFof$NsuV6~KMZaw8>|$Ma$;JC~Pun$&VZ3Y$z*HjH zE%QBRI}`Y6>s*!lNwEnH1@=#z+#qyM6aj0eNsy8={X9o&X$2H@oQCtT5721Uyq3C+ymopHb4@-0~o}yrQ7}=tCH(v1i&s>db z9Y#1Q93ZDXLM_y#_MC$+v z`pLSr3n&*Ir8wL-;H;ak2GwI|2c7S{iun8^6=jZ9y5P2a4cE{JpfAe>Td2RTi4rdK zMKJ<3`=T0Y(q}m%Iw9>wLyuew&vAZZuwT;ehCk_1LoMM_Kzt#eBLs`j3l6f7XD&@; zY9LpI8LCE$qaSo*-D>6^onE&5mA-t^FTm=PK7qpUL^!2!X&x73!rIT-RacGvnj~iPLMK|ZgPWQRsDNQ+t(4r`s0OD z#w3+oV1ym-_;b89mPXCO+Szmj%50_4rB z;%bv*RZq+>vBW>vah7lm0*T+;ae z`2A{&hS3R`N4x)1=wHbZx@-7sL48d<)9%ytP>37r*%gC{nt1-f!j8_ca0}DpzinDR z)W`Z=#J^+z=mx(ff1=ggm#(+WPd#dVvn4vr#z$YdG1WDbzxtaktW)uv1rR;Z9Jz%G z_YuGbWuwQ+9tcUG)N%ee@7Rtsqbp$~?p}^X8qf3}4?y(p^N|n*;up}W!!tx2R{#!v z(dX!af9b~6b*RY)D)d~n((qW%VW*Wf1xhb_z|dm#GP7sSc`}SVa1kUXu{-RV;}S<4 z1gqiK#NOR})gOx7nmUl)1MTPKzfY(v8z!Ud9*a<2qEIa!j!M#B6#oy|3KkEb9ae(p zc_=1N*W{*TWfd`bm%!Ifj+}2Z62(ltOQ@Ppl_J6#o;1esB2|+TW%q=+C9B}`X(-3K%!3B zE;b%3J!k-m>F4Q|EC&*>jyP#42dJTZ*(e2f^MP1%eB%&^ks8YjXgbr2_ijE0at^d8 zoodrz*WreANmh5uzLqu{5TU*Hthj{G0L$wc*d(}lP-J?ppO_*=p?41E?58KJW>*43 zo0}}9hY-88jN@luRgr&n(RXa%gu(f$Ul(nD*CNhHWok5}K4jcsCE>yaNmpfy^EdDf zDuWR_;H0z}T2OQy6WPmkWn&^SY>;V7k(cv>O>7~pPT}n~Q?^8~3KeF(Hu4LcRq9o~ zkf5eQdz8bHXj7NzskUpTTzEbJA+s1q1YIw%Oc(PO%UzsYt-5$fVp8Vl!|^s!o3{Xc z!mm#Kk`sK7G@< z!7`j@i>GI!pY>p-)8Eum`-mn93k|&ph4=?sXUizC9LwXjmJ*XRf9V)LnwP7r6k3lx zBToz~rPR73abf>p=zhehj1W2XiKUQxfFP!WiHHRzUx68PB{S>+MehAQBUSx6es{7w zDE;GKK*CnIpr3VQTlh>1WYrK0$Y_(B{K_7pC_xktH*VWmo%WEGO8_#@h>1pv4vO#NuIC8 zi4KC5VK?WJP^mizrJ$7SD>kN|(kpC}YX_yMT|8DliNT)rPydJIiob=QP@DEz%&nZE#V=( z%HIw?`oQmwM#sXg4Gep zY)YxH;H7|QwV_J??Ej=mc}MF)jp!~pqs~5)w_m;9Su}ZH{LIULg`VI-sSSk_6m1eU zSR)z|$!j|*SlHnzJKAW~$1!5MH5Z>u*?FOJ@(phhZfZICb6}uPI9=ut2O)TILxK~C zrQkh%jxQfPR_afu9|N1L&6sxcF%S=|Da2EVc!=@EnjF7+m}A9FP+O;*&R8ZjIz~2N z_s@Tlrdzfu&3_UY@{DhdY$8Y5jflsdq;XQIeKiFV)D;4v<)wIG_^1w79SgQWo_x8v z2d6dJzQ3}`mu1@#{^WMEChL`ZcTY9)7ch+c^rIqR%_)i(M*T>~-;H7@-$8ZTj^`kp z`JG;%-slv?n;P72+Vr-auWMI`57pJb1&e93$VvV_ctS`gS79a37$`t|$%BpW_ZT9U zUQ}%@i1~?QZj)J%8 zB4U(E7qUQFU4Mn!qe+;+%ejDcx*3SS88Q-k7G-Xi( zu1>@UU+l?j9#Z!Mv-y}Wt1v-!BMd!sje#TeE?+%FxhiwP?D$dLrPV0(5fYQlc(_Ns zSHwDbU?*`+`)wMM>2hSMA(0+7sbqP9rPDsR9g^|{lXksS>aWS0Rt_QTTsBhmr=qJ6 zR-`MOv!sreu`*gE39vjopHrIcs&EOx_b(u-t$ZopIm+jiRq=$NP*vy_v`J2$k&p<* z)S#B|7F{tJGKwQkaOI@kYKI_Duy~CV#6Vv$%M5}JaNQBw{lGDf&h0`^(9F5mV?ywp zmRB=RPTsh*&e!M|6?twV$FPv3vhz!w@M`D$TeI3)J3T z$3EkjBgE0_BGSf)D=UdiwEV{kX$SSFftHoH29vl#_1oNkP8mVy25KZlQ@fgEnI$x9 z6yLARe}U^zMm?659zFf%@3*>m#y@raGk@z8d9q=1!&A6WgFOoOxB3e(kBq1dji)|q z*Mv{0tq#_sf@lX`_K))(6fUh()d(aFy*5moa(bPk@OfK(5wPi#j}fzfkWX-?f)3SK zNTH7z9J#nW$&C{l?1eEr{W4y40a_iCbPj0mbRKuHul@qCF95H^(ie^g% zrYl%zRpWvtLBQNAY{PYrxIp(GQ^{M8-PSj|xt5kCce}9#6I+z#CHJ&{#1@g?p2|7q z1E?W8nu&Zt>yE#GQNgq~naHTW08A_M8+crae>-G4$nwDa2A$ZDB9;g9rv_x{4M|%6 z|85{O)c?AYrh@9L-vp#i8F@~%8!nJs6HnAp*(ZE`%@i5 zaprLIr&9B9M@emh_#DKZa#w>{F)sXD)V#52?)QmIqW9zT8@LH_>IK()EZ|4J)ZX>iT-#zO%eLu4LQLOi&YSH0@`D!R*tl zc$pS#ux5%6uqkz5fFrQ)hQ_3WZm=n^vZP9qL!i`TVSIFud}EV?`>69h|Xd?M~U7!LPOB#Oze*?=7a+T|_u~_(2vPY9W6Qv3g$J4{vn5a^PeJb0d#h%Gh z1-Z4yjV-kywSttXWw;2JQ4V9LdGOp26*X;;)$>obT)d-Zp7ZSi)ae(}A+ROP9}?3v zvQxz~+_3T_j|)u6(kM@wx4z&7vYdowk8A9KXK3d`3waHg?8%dvd zyJjt$1&QvIQqW|JRt%Z2AZ}9F0BSC%S^*~9i8KG3N_+u2BgD(YLro|Z6DyvUW}^9< zEc!?}Q2iMS4IuRdd7R;=j>DAhIz-8YtC1HU(dfED4a9R9ep@XSk@N9V&sylZ9p{yEOI6W8rMqUi(W;g zDXjRRAi%437m#qZl#RzK;L(pOI|7dUF?@2WO00|hWq9^|j)r*XEj%HKc)W)exX=z7 zNMTsB%yJk=rx7jcw_PLg?t+er8SEz8g>x$0L47e?bGN@pzoGI0+sO&7>D@~U+v|Gr z<^ctC&PWT~8ScYDXeesVl2?A8Ua+jTB7j=P(1m)e2`bKUdJD0L&3G-EtvHfseny{w zAgK~8x!TB|lr)5lyrHd8mdb7WZr$2dQg|OR@+L7}65iKSlC~=$q<54+DOU?DMqg&g zYc0x=FM|)$0B#9QHl%_o%(H1cHyRoAbCUn-6H#x9t0$B3W5k&b^E$o}6|% z&X?w`rC`B-FN#bsQD%dJ`y6rMEXBK$sOG7ND?QEooGP$y7pyfSyFVw?<=2ga#-el) zomELy?J!94XqKk386bT~CW3+;Waz%)wzXsZdcKTo+UFoama3oY`juDi~a&mDWP@3uj-}?qiV?C>+W@o?un=v zTjkpKIjI-wcww*MbZCR@Hu1d@#ST`>dqd=XO4{IG^)1|Nz7FUU;Kd}c+o>Adgs8}b zXTA~fPz9E~CtlGEj(3a|)!W+}g#9jV~2?R#|{`83ione^t!Y>bts%cBZ zjgVllAz{xPny&9TMkfQCUk3fmDCA2<1dGWe$fjk2MubW+I}_+5ontHIW13oZ-8j>F z(aSy^j@uBw@l6dq|DEr*!-d*LUh|fZIK&aL^}t30DtGmi&Y=H+=;DbINqi(#;Zlt; z@&`Z8r(tx)81gfzYsxLj&i?c-Q^wAF&^v7?A79^JjSyFB4ApLCYM#_kUo%;m#I0Zy zY|fGTCmGY7Kls0*IKTlQ{f8jM$5e!eTaQt{Y_Oe$ZiFsYt zsm5FZKw_A;u}b|Y`4TG;OwbL=Pz;&nG(0`G(|}_wX7F=)(xzlX3iU$LQSI>SB}t{d z#cWOr4abH3j9=;coXEV}DS~$_U7+--cobrZ;_x-ra85UQwATfZL(O4-W&~0*suvQq z*e`dr39~|f^|)-;SZiBr#(gq=#tLf_T@J@$sQZQP^6$KQk*L0w^gP5;(D;1)6-hCZ z@t7;mRPK&xjso-(n6Ne6$h5Irdy<3~xBGZq3+xUREE{V%!U{S4zXV&H9gJKMN5>p> zr0BRg?o0~vda&POVrhb5+ev?uYO%_!XrmBD{^64+`-N zYSRZVcXy`U7VInM2IBE1#tQv9+%Yy->B`~Q66E3RE1aR+oZOz@#HUfs;E&jB=WcQ{ zZrUXNke9gX2P{CSQ3&oq6dctvY4d=+M}TV-$1(&k+?m?-{|Hq>v|gF=q9HVpzxVS` z!1VY7DwL&_1lc_M@u)=+2`k2S(F$>rHo4Ft1jS$(VtkhMq2ttQugAIwmg6;PFvZtC zNoh{5aqvr~YvsldB;Jf(tp=&`Zd0NzW%W-BeCyeTu)N$I6Z+9wk^>`*$e+nt8rZVF zTZ1gE>#X4zNhS^QFnbU;b~L3SHofYhIyI#m7H!^ zgM$MjFaUo+;ZHvnEU0Ss=ubBgPoMGoOG2ZIYQkhsw>*4GYL;@8mhGZ$N`4?`QIY+d z4~#>zn(~rBG+Ag&H6B!e%9n4}k^4^h&F*NlrSrE2tE}2GtZ7PD-Txc_9Rq%RHL;9& zQ}DWZj=Ou|KDgas=;Sjxw_uRX@rlgYuR5uKU;bxVYP?^gRd0 zTe80@rwa4z{Pc|XOhg0t027^FRmiQw!7qVP)ro+qvFEPa479fQ1!-@ zhS+nFq-9xK^_c$ZLL`s0#(t0YZLDlg<;ytlcyu z5MrjiGq`e%{5U=Nvl`83F*I#iK7}V4{Y(JX>Mpq6e!yTKg+ME-tA#I6-RoW3W=C5` z4o%t8;mjYm=rd>osb^dhH@YQVG|-wdUO}gLn7C1HE2J*Hzk-iMIP!dp2pP?qpG(ql zvt9Ar|C_6eeR^J#UB{qLdtO(@RLD7B;7$y7oQ}F`LmLe?xMyK9 zcrWx`1iJ0_Th=HHEVZjuK*Oy8FF^w%@vM{zpr9XS!zTgHg2dUptBqB;^zORk zXFYs%Q4U{ot{Wm!tL0+FOwYvS9PMyyBXr}n+e(2L>g64^01PS661Q*Vv9HuTU9F#+ zf!=IRTMp$df#znbMpj?>{>K0x-1VA)a;7FrUwc6c_(8dQwVbTjUn@+biN~b}oh+cB z;{UktTQQMArIiqTo515rUF{m;r{4U>*CPN$n;;QfjmcYKQvF*c;?v99sXjY3T@Sw& zMR(esN26b5AP206uOs7g)fe6*8cnTtJ%~{KF95_-T=vin{JFkQ8Cx!$aFvoVlOXY| zED+sgT$(}^HjC-S+9QpUWZj2=X_J%!HS1aA<-W(kZ$E7?@K_?EyV2uw$?97k?=2bgANBm2b%HeStpYF6ef!R}mc9DPO>+LWxroi{4IR=Fp_G`dpPp>1b!pyu_6I8hbJ| zUFbK1a18R2omd;YEyXfa3{W}=KJF>8_vwBkif85_K;O&Qmf=@#R>%1sG#Gz)4OnfD@sDO0_>TtDz|=QJDI>DXpH!M=qtcZMR68ft{+fMDOH-VI z&(Jp&Qs0QD(^6Y*#nr4ir_FXGv|T>5{BBgr5TTElAtj|;8#kkUUZ!qqP}}kX6=}SZ zj!g0ou|#|3C1s>fd858~w*C}ZN0>fDH(_poShc$f%QEYBeE#q~zRG0e1G84}YLJRH z?(-VYh&vq$ZbXT&YrO1&x@|a!XlwBz3WK^ZS1y!v{$}q9%D|f~wmY(>y|SrWF6;Pm zYIQ4yzAY085u*qAEl$+1?Z`arAk|q2Q%S?#qA-8PqxEW%7Xxao@HdJj9WPWp*$;)U zwpCnI;f1&Lq57VVm(#tO3q7{Z{CZ10Hs#Y&we9-ewQp(lu4Tkupo_?OGdkb+M7pGk z8t^^fv~>6C%k?uU8U@M^JC)g(});dm2dzqC;V zr}7Sfag?%+foqG~Z;GvHaJ*lD7bbi7=Tz1uNoAIA^Cm**+e&mY-D8Mp=-wwR{og3agDRVh>;nOftz=r_e0gF6lKSF(_X#jAB!m{ zbEi*eI(WE0d1DHK!~VqY;hSD?TR;1}xy3~T@+`dTSTrh*t2#FbDbSpMBknG~K;;;E zi|H@^D!boL5VPmy2fMZ6nHK})F*D`v**z<svx8Aykn|2nxtAqYOE2fSN)QL1uXiCms!N* zMfzj*Jk=9D8lJ5ratpJdE^rHZm?~JG6RmZrIP!dZlTHLxV~(AndkWhmyyyAmX6Y?c zGFWN}$)%hVmijG`>{BWHC`8t{KS-wBT&!@FsWyaf0!!AUp25G}gJ~Knc7lS#g2v0O zA;fyw@$m~C9FgFnK6XGUF4P=ovK^|$sDjESf3H7tzKfVm3SPUxU$jUNu|W>{BbJ-l z$20bow0RaWC8DdDacoj|5FK;WgA00c$fVdD7wRI%-0=MH zZ??wgXJRxN9?imAe>5|m7}~6BsphUxA%!G}F-Z+?vOJvKN)kP|a6R)3tjHVkm6U_i z$;TD52&7wo7MS)utouwJi`>=c8PY96vqIEoB-jt26A1|=mR25A9F#(`&F8ATT)z$D zOYlYziY#Yq%>s9!?^g5~4J6VORAgykM^N+VP%&AlBYJ~dkWEgRiMSxR? z@^~OjhAmxLTt^2#*aSLk{=XObEprjJIQ}SS5%Cm^ZY5Ej^48X>;$sk1VXa{~xN(A% z3?hH9XhdDTB2ZuRgVlXz1+h@uBVMEiiC`t#Dv5CZibA7M(?~S^6cmjmK}uK9 z@fneHsu5IG;%U%QbEsBGs8#?RD*i#i_WGL46=~300MV6>BLqzw`{p_mP^O7m53gm6 zD@jCgFVz?w3Dzd_sDCs$>;OLZeG#j%>4e_r4}>LAAU|CR`qO=*68iaQx4b0oTnd3M zHFnt9QnNd5JR-YRS?uJK3XHBNrXop^1iCq*2_RCibdjJ{X$+oaO4b;+V!N83&JJJy z#!B7Oz9Rk>mRx47p?JF7Kb_}fY-v2*?T7~Pmt7s6%ezFJRy-UyWWT~=A7UE~`wZ^s zRMJn`e#luzzJBFo$HFK|@8i$qn=ZylC{CTgNud|=vvflk%4DMQfQ+mxYF(AejfQ})urRQWS#?lR?m#u!Pz_2;d?k6AH7L*tY7uR^&>h8 zzI>XH-vnv2{F@Kh(o1rxQkf^9P1W0=a&nm; zerw`B2!gmyi0d#c~PeCA}|cWCLbvG$f*1FmG#W2>ob1r9!DDar9ieZm+8S^AlJbo)Vun?f zH(%EG(-YK!6>!jSiPrTfQxUtu>u0&y|(H z>gq;YTe+|nR;sZ{HXci~t#l!}u6?A=8D#=esFQSIX!9UC+`2RL5n7sEOd+;VYmw@H zGR)Cj%z*5=THz`Jc-KIz08ob48V&J1kFba-d#txO`R_;DsP2V5?_usWbY7yu;?F;mr%Ln4&I0&aAoVn{dnzh@d z)!%Afq}8jzKnhPe8`=zNsdTAPKu|6In2#gjB>F-Ijs5EoY3Kvl(=>zVB=)An8Boid zb_qerT+9!O$E$VXhOQsJE>+H{p9D2WL3qVT$>qli7(N_SW!nwb!zU6)*n=Dcqq~H*>ORa-&zwuN zxddZz17z@Xk~7>|TDKX(^>LOwvgnmDtlDfiWZu2K%L4{w5kb!2S_4g30NSH)??L?*ReB)CE|}hg@622nvcTLj2OOnOrWSW+s?W?v zOqw$`n zX9EXtgI;j6{DFok?epF~Co-iI1cPb#KXZN?gV&og?M~^s^N}+No>st2vAJu%=N9s5 ziZhz^>k+mdx;eALeRh1LQmXhV(*Ym7CN)w1zVUDkg2sXVadYPZnKEQ#O|bZGSLuE7 z4T!%BbCqcaX{NY{mk-TFqdzC2EKBEL*?_^b+Ci)PWpmnnW|y$26jrPv8Cg@x??dUl z+ek}C!JPWZ;W@-^Kc1CS?G*i2ZEk()_kjK(71({`+K^*tS{`pHY|-lq{8z6N`3m9l zQJBW-N{8{^tL!?9u^9V+;WSpMstBK-ZPC!*ykWTtXw@6LDX?t6#xb3o={%nG1O}C1 zeRG?!lxKc4otefvs;_+4d}YO^RqX^FU=)A?|0 zW{2O)S%47cy@o-qGE~Irs84c+ecF+ZhlhK|6o#X5NR%fs!Fr1B`YDKNW9wNI`MyP& zMqF^Uj zUX(nq&j)8r(5j`vMP0+re8ItJ@b4rP4p^TbVO@)^d$$LZKcIyJ(d+2io>bnF6>LL* ztLc;Bf0NkJC@P1|`MR6z>7&J#>)eR!sgD`1ixja7mml=QqD6&8DVIX+f;UwJCKP{9 zNi72l@+YPch*rDO+lyD)7)l)Uf<~8hs~tpYt@SjZr8yk*K-`}ylEU9&zIv<6;S!t} z+BDp5;b%_%+hbU_goP;O@5yn>6tHY#9t+E{XttO+MBdwKWOGnBumFn1Wu%70%5L6V z=1c3LYVvQTvZ$A&uxtwC$fb8#iXL6iFJ3 zlgAaam_8HL+V3+P<$WxYFMp&j{RejYBcQ{GjJj;vjX!~wmbf0>pJJUyNgPvGMgi%n zlUAHQ?359O8 zfOI1o#YYutIfd&p4D&PFhodZ3!uY6P-8$wei@bAPd~?+~th%r>J91e+>a6`@&4$+3 z5LsNiSniD5k1Y%_!dd`kP&=H5mTVLeGn|Er%WK%BFQ8{9s$q)<*Ffrdx>_qm$j$Ql zsd)bmfLt>NE*u{^^KAMt2%_O+R=>@k3g08)1J}vpm)(+nj z!;{}6i*|gv>sVwsukabJ6|!B6M=qfo25;b50+{2b}|hg#}!;B(gg}$l19fH(r+>x63{IX5F0$n2<(`+hH`);-#9#~X zPbAwf6nWe*j^j8KbV%}NwWq%(TMX-0h1^SPpM-sMs`*%aM0?Z41og~(?!tU=ntEk` zk_y9y-T<>^VR=c(8=>|f3y_SgT!|KbqvQToZC+@Z23ypt1|x=y_GR3V#Qg#vHYZt;S@AE0Rb} z2CXppiR7Sz!)s=XkS11K^7{HI_gu6MVm>n;;&tGF?>3o4{x#8)n==B^`!B(Biv#WE zoRF74-M&1X1U*P%@ROD$!Hl0Jm8i-yOMYcJ!I6&me>&kd-UBC*mRSh)ZMD^NsxSHx zcq_A&m!En7Hx3+rdWxVEkDr#Jl*ZD+^3(B-78n$V0Bf2D12xu-0*jxXf|$mV%8L8Q zjRLo~XH^xxVV^uzUt3#04ag;}H&y!xR1Ky%26Kxw3${~}oCrfnRZDK6q-alI)*@t5 z1E3z@B?T`zL31qLlI*ASk%8r)ZWCTKKuyC(qP@M&WmjD{T9@H{Lg<=B>KtIh^oz67 z3l^QmrU7~BfiAOs=8ZuitlOPtz9GqCK^gEMI|gVwg+T(&+phLy&Uu+zbti9uBH7G* zq#mmSmCI;89v&$o8W9yAa|5wbNHEKi7pkP~8_Fis&diQDk7rk{Cfb{l!6|Lx6JIKY zE-AIIS-F{|X^v?z3!4g!V$is?Ry?E-;{1*|Mqya^WUf^FdBw8($(}8x!fyyz#;tRH zTKia^>l9Zyf4S)BlYC@B{0BDGh3kOmSQf_K%*?TAsqE(jMktf}{kChMxO0XyQ;NUp z(&sL!^lm$7$=58etDP!_kBm;#Tcwbe4u_V~Y46HKWoATSdIX%03qN*rGNR%y(2FXMhY}(NT(S>PQKEtzkek%c0IAJeMGYCvVEzTOL~l|g>7a( zYd-XRYE7UP6${x-o=G6p%B*6RK})AC^k^W#1@ipo;X8HW@2i~zDPX8#zNLaIbs$7FHD4^UGS9C9;`LPGOGlPO*|p=~XBU}U>8G-WeCAEyFjo0|2y;^(e0L^$ZdZ~m;&ldWj0 zp|epx0Zf_FgI3P|S>=Qgb~_qyG3I4~9CD7yX^~M^EFyW7j)5wHvMXAk6I-aE?heR{ z6XTWipkaevDN=_lnR12FM;`n{{w_k`JY4|{9$7INtfPJPFNL;n_+a+&@?>c_jO#^K zvI^W_us#ipmX_U;#IrCXEs7^UctWNonu_hIC8GcKC+6r9CvAUv*6`x)J`F$gD5B32 zt`yFHVD~;>n07}(kp~0*soA@_X9727`lrA%P{_7Q<&|QwI9O7Bk`- z{GDEZ<0V28x4q?)ihkU1g_OyqshJPOBqh=^%-$D)df;~ZPw@Muxrn4x37#(0RxZLD z(is;Rm^bIj$Ei06BKSk6JGLONkiLZ6d~BzbNfeY*kR!51<;gMEaLerJR;~j`;ztRc z^91jQ5lU+Iad#?8DlZ6fz7NN*#$McPf&Nz6(WIw2j9WnrnU3_T?4S#Z;FG#4Ua+ZC zY4g;Udg@Z3NL`pn@T-e~eoIbKzxZy=pExm{4t63NOOiM-!k3L5D|qbSx4X(Fx)@m$ zg7N(yBUGEgP?G|m0-r$w577lJn+$F*58q1ySWpwYHD@1yw4hQe6@4y!&IN5nc7{ua zE7$)rH6nlJRd4dvqvHTDJO~Vdh=1F5BnPN%Ie}%nDa&Zf){D;x=s0bDRkm%HV(Lx6 z>ibQ{3Y*OY%pJ-3Wd_835xPy-OH66QK0u=lD97wcM$cCa~4Ra^5&)r%Y7 z{c1VLYMa!7u;-ERYKOKo0lg6*pXH$nmSQ*S$nvqh$REm zctiti#%M|G^m7P*aVi$uZgHOn-CR85j0d^f3rT=Hgm?;ScnTCnJSn|+sR^Aw*%Hwh zhFFyajChA+T#EPTcTSHCe}z<^@o z@0gW~jeQ<2ie#F)#0bJd4+E%8EVvlyxt69ht1)!=47Z6-2J@zvPQ(WEl|E0MZtuAs zey4r>KTxI%r8G9}mvJTiKL8_`y0u-6%U{J=Z`S7M^KX2f+i}RH&E9qs&6v&>Q768> zI{sDkq9MhAtkT$yusNcs26Pkor?f~+y*!xe0CA;{46K*4ak96$=cNZ2wfXl|C}6!r z{F}r0VVgtsHd$$&6NSTlKE~I1$AlslXetTi`z{!D4gV{b6zlZ$+vnssufN6RW zJcq*nNh@#U(eSAqFrz8;F0GbBsYP z`6A@RlW{F##As}gJoaLA*VqALayBj-$e7H@x2lICTwZ)K79Y$P3*z@@D6m8aGUTQS zbM8s30(bm{&&+z+&-{9rMLgmO2@(S=H=7mS#ih=-`S%61+p=~kE{g1Gm5H2NkAON( zPfJB0&o%+2jb9A1|J)-f1+Mg?cEH8nQm9txNlab@Hl;ip@S;JHPAcefa#kA@6K5Bn zW96c93=znr4dH1Ur)>RwtA^dvaK-ew76+hbeHmYI!-=s6sTrBScIh^fQo!F#&-1Q^ z@Yn4JxD}ZhdqdD?xCTqBPvkuHYNR`_Pgp zxQ+^Al4ZST4GrA|qT%KAAdT1vvQc8jc$QnpOzlrYWf@;{6J1hoFFW-Xp{+Y>Ut&2+ zO*#CsXdlqf6Sy{lv)+R5ZU@6ui<^TW+Oxm9W@Fh<5mrn|CY%vw?`bBJ+JHox0{C7s zLN`*ACZB&5^4ZrdQ#Q>9vWaTNI)m0<`6pBbHXlKVgG|Prs@E4x~tW+uSdGR9`>qSYZX8Bet>~-=!R9=`@-a5Q$ zW>I*@Pul>?&{2@<$G_gDC;|oAMNWG4G3oZ6X?|AeQS<*$#0kh)HSH@|Ub|>A#3E@? z5eoDEQqiQeSps-tz}gOSE!@4L0pQA8v@yh0h8x79E!^errItDMgTl>eGsUE2u8>(x zLE~BUB5{=}(eLdIDGHXG!t_)jc&E}3;~Wx#!f2$kGz*gYTx$5x3XJ@k;z|CE9US4b z@KUtfYFq1STN}c=v(!zI=?bY~%1-7!Hjvl~OmMG2=5D*nZWH&xb?ko7X~2MD309KE zJxiJ~St7(i4||yGzP)&)i80sSgankn^M`#fIL`D=`jTF)v#W zhpsO=7^p5`9jX@mAff4}S~HGA*{Rpl+-X;~xz1fNm}CjP;!`oU2F(eVI?t?VpEEY7PP<~o7dT`uK^1YuRS1% zUDZ+)?s>Rh#7V*lIJHajjyrp_*Kj@ zau%@9sSFwlBPZep?_6fji+yuj2SZv$DA+l}y9Hbr9@x8^(gJ3Ck`7<-e*RtWV4u05)iCNG!spp2S+G*;VuDE52NBKWLmD+l;D;c>)vOg$N zG*`=$K=E+}-YdoKR>tz5GGr5OaRhdvDUC}c5UYxwYOX}sMFsSKH~&iX8}um;V~?bd zv5_eU*_yaV^Mw}IycvUtrr@OHXa%PoyM%fSRh5q$vGhHjlP^uJl@p}D4AEY&;i3%p zJ=Jqlx97Q3a*m2}_@zmJWUNIdi4mO_zFLuS9*wGIx$g`{GI4?w?5qQHhgpSLTWbB{ zx8lb?KqVoa@<5&#x~=N&Z7|G^f37db`f} zv@6?(M?AZU!^*}tz0^TSvws=S`|UlE2#Qia!6>H1O{_G;4p%TvP&6U1aTCMA>)QpadEc5(%Yh_6W!*zkHJcf}!3UW7R< zxBS3gBq8a3VsF_HH_1C-8Ke|rCici-@%VnP6nyFW zx;EO&p{V|6M@KKoqHDE&aqTu9? z71*++Q*E?-bucGvVLbfI-j%(n9k}f5J_a?z2HtS%{>j4ysnCM9^t8ArY2y1Lp zWKwm}zxjl3O}A*%AvbSR9PWO@HOZ~(Ol@KlHZZUhjp_aY{PKt;mP}V%SB>UuR zraZa?j<9f1y^e3SHE%OaT6Hl{yYcQ!st^&1FMVMg+aVFNS!xMKLabE98_L~nO-g9M zUQ%^Ys8qT*X8z&85d!Oc!^=+*LkNCWs*`}XN8fdggp_DsHK8fw#Qh)GxLYWH5ABI; zy;dg#{{?Du$RF-2a^o=8A^V2hu=Wbt3Vd$|a8vYH<6X${H1dN&s{6CQ>2*m+u?pY~v?o==463M<4TpGz{nDRZ4wv^qep26p(c4VHWTe1G) zITenfz>w2l36Psc{awUK9YRH}pE@3~*=xrzYuQ!w?AVvf-w|#3w>27H8W}IbcQMiA zub_|73AinxNr!(9UbFb%JR4=kNavB_vIS1^4KY&b!r(9wB8t_brKcuelp%linf0Yo zqE1^VU8W`-t2TI+RQiI+g6mK6Qj4EYG!w5IWupB@^his_B&{oEOd9b;1NA3+aJ_@ zdodb5tAm06+aoPW!5X!qfrhk>;wa8`0^6EV=HhTm%`pfY*|i(m<)js+Wfi96Ri@C_ z=S&?f2h=vWE87>^(KhR~8|%AhODLxW8{;(;nB)92F+w%hF(fr?3%IM4$xFGVAX2iUp3h*V|*NH0&#V?YW5z zdMf%miqufog^$K6vd0LukCD;S;Fg;p#5N=3A*=aZ7;Ws6z+y+G?|s$->%mGu=?>lm zNkV$b#hfBPMemT7^XD=)^NM~GzUG}8$N=7*{B{q|To3e7idf$H^Q`=^ zr9Y(@kylFlXVZuRf)oNB>D>+vM|ChAG6T@*f4#P7;kY0wA0O@yj5q^cS*F?J>-=Z1 zr71_EaR6o7X&20(XAvXRu8y@gU7S!)(Tg|6`B~MQ4!{hw`2E&1X=QCN)w{fsXh(+L zQq?|>A&pV#^Jwm@ohnpIV<1IJo~1J4M8`9G;W?V|iA_!(i{8oDvu1E5MEX}ZCxvpg zQHAUeI%ChO_#GO5oqn|uY;Wy+p)gP!6!PT$n7<$2NavUAmdOqv4sst|4AWf@wcc~I z3FI5%s;^mY_)7&(&8@5yutVI9!q6?SM4P55$lm3~M#QK~RD2_(Hah;@VntMA)j-`s z;yG+`w}X^yS2;CH1rIedOT$A;1CPN&mPs$!)dWx-#2G05(kmL}@zWf|N=ldbTdVGp z*^H&o!751I_eEe4@E_PgyR1+oPa>zmt3~>Pqtn537HBLp;-cb zq%3h%J=;@yP?V%rCreROLPW*yV`pSRC5hLW50?DyG?4Gmv=F~hl*mcY5MokWQ51A& zTptppy`&huOMsdV8Bp=L?V(*S0^eG+Mdr>LVFKu$KE}YbMb00i8pF{tFp-@7XBz*`@ zGnED*w}7{DflH4U{wbD!vzRoia6xh1@eFlJ+L~@OJ}VU(fC53jy@~|03h&sS9<8MIF6cZajy|ZHvDhfr3z$4E!quF#}axoWjVHe?*AzO*R8?KuVAB z>+w<(_wI(ykAnGuN&C)HsC=M#_psZklgIc+Rv!3lhnI<)KNrQ(lx4y)k4+a}-l7*X z{ZBJ)b?ZJY>h>SC&U|e{R(iQP-0&BAoGqNDiNuY*zs6BQb^nVqntH zJylNLluJwQ^Oh?qB6)({azmw}Gh`F`P zzyiH1yQzVtsIGw};XoT(`m^T$Ie=wgR0QK7aZ&u{RK9jP?(d~je*_V{LC2EVqxB_f zqT3@5>VaE?T2dcRy4~^yoD2z)ob?XHzK*(3h+SeuP@YS~VwjVsGDM90mYcAc(oGOzQo5wxJNoHo`hmT^bUig60Q1s)7&4G+;Hqh{j!O z#mPb&0}4g+#?@6|-RLyG)|AC7DC5aD6>aGyqFG=U;#1?WrwsT+f8avEg-20o zF2gA*-3x5XhomGV@oujy+d^Rtr;agp@lFY9iyNj7WXP7-3Z&Xg;+v z4OGAMvB<2mPy|C*kq7Eet;}NPxCu1aMv-Zckms=eX=T!5{o~e9SE>5vic*YIiy7C z3kgqOsd(W^z$v5(Nq20HYb;h}qL8?e$lh{b(M=J2UX->}q`c%(GV0&VC2+fB6?1pV z^^JsiCv?Dv#pX4KxH>8=DO`IgE9YGM;KCUy3YnASlRqF#%j<7-K1ryL{%N2Q|ZkF1xUXIsbuK9n8tekLKDuLK;M* zt~n?TPB=U3+B;e5XN7(I?1H*mhudxuO5*B5ERcj~;>a;ZO4MdGDF}J+fX@^&ks#eJ zAQ73UYGG8$>Z(7pP27b4ea1DYtU5^}~E15UnmTq+g8pFY%o6@WLXi5Z&bUxqcqu z`1&K^s0?S%wzAKNQFF`g5*)(9J^gkD83D*|7JjGV!|Kr!r1bnz>VmPs&R~<0F-h5W zqk5F%P|-Aov5g`L0i>r}WH#W!3Y!yU*+1gIC9jybAWd90PJktQ?3Neh40x9}z+IDw z9>Stx1wV7-wIeAfi*5*mB}KGce7dGtkEdH`MwDKwFy&6kIM1y8dwSIkq|1-63UT%%+P*J(f&KmaqVo&uzrk@Iid68 zGaQB@Wx4R(9XMgiYMuIkcA1j5QjNDtr=~+6K1VBb;B6V>&yRON#T+?BD)V$y6WE;g zGsh>hkw$_Ebf? zHl&ayvReQ;KSrv-4La7XDVeV|aCUsY_D!U6VU0=R7pSk7zj3wK}t^;q>(yLzkzZsNqkx8A9XnU#$(ukT9ZpLtOpBQ{7icnDSq$Kfj~x%SCS zh%H9USsiH*itFpi`#%&{x3K+B4v=DJyBVfVkDSTLWNx;=h^s9+_{1%JVA3cNWwV|g zUKSH0w_sWl7Mm9q4g3aY7zanlj|wEhDv1jR3c|u39->DIqFw_z(WG#ouzui*D?fSL z^2_7nTsXr&X+!(*!Av@0Baz1huP}0g%l8jZbqy|E5b{I#aVd^?dCmY*1;Ta~f*z}i zVhHuscyd+&4m`P$%%*9=E4iO#atG7?QY|)s>mZd1bAY|JuYQ+mJNIjpq9t+b<^~!4 zW2YFdRMiwqCUvD*Sr$_mGlh#MXI8QC#YhW>5uavb!T*qm1qh71f&Mr^FwcYL8jWL| zHP24l;X)*kNc6nZ566R=)qvP^LWkU;JA6?BW&kQx@^IpN)d8@-xF4^LznjJaQg(?n zkR{VTawd#X98x0w-M%WG`#0nsJ$_)xB3y5nkI^yaOS(M4Im~ z6KQIEzwWfKNfr}$^uvEK$Y;w1UU@~@f}?OQTaBH?>c@`8afY`I%xx>o|ZMV1z9zGU5=jRi(rM{B^5++ z%rA95LmjIM`6cr5$n}jvZshT(oS)k(?HjFaTiAoyKk97s-x-`FQoDYS@puOez)S}MaI7}&^uaf7Q9_;noDvpO+0_VMEYKS2r@pg&wZNh&QkL) z;%i0uYrx;|dy0OQZ*_&|@>fGnakqv!M|hkbJ*IXT_Q;aK$z^Cmd;J?M%C_pS&eq=!wHU8zbY)a&^<#&eXcU+@c;?R=Ttz1oN18Gav8KDbITT;0xEc!_b{S7*i%6 z%U+RondSX>NsPiDqN(hN6;V8l4B7dxKs4b>WQi)8<6iCKKP($vxBK1B`f(TE$7@!{ zAkv*kGH&VcM3^+))`;Gy!~@nS{;2TI)hMl1?)sEym@>79$@2aADe+dTjBXL@0{$t& zR~1P16ymFKAt!kVW(`LD<3e_=^6W5)?bK`%f(JFYAOrV-QoKc5sEdZ3hwnOxf$zOu zK#K%0cm79wNus)iHFS4`K6C@n!ZO}f%N|BuQ7IjeIvVM<XeE89iH6Bm+E!{5 ztacpq{1}R`Nb&99-4yC0+*c<-5L?A|Gfsn6oTN4x4j8TanG8#NEc*y>y77S4%w1kx zQ0bB}r%IwOt#qd+JEmltEwM?6V>i3?CP;Wv4x_{Nx zURSW1E>16E2rqR!KodJJDtt3)XLQbAeQgX=2hv|@DA~Y0ABi!%syiXxqE{cNaohRu zW&*Nr#UiFJ=f@iP4{T@Z?=QF~wLS91Jj2msu(eB61S!?n&GKbZ zo8lcwGGT?hK$(cv$yW+{Rdb7Yuj}MX6-ePr6^)V_VQVIvF}clV(i(ApBvtaGO?ibm z6J+vD`Nzm={O2^BwnHh^cqk6)LEdz^O_y*EYgznOlqg$!!GJ2fhZ}7evm1MN4}Z&u zq(+nBCEy#H{LAFLSTOna!iJV86Jo^p=A`|dxr3$Pdb{pW7WaiKaouoAHl28&i-w| zGvG%wzYzM&`^@@(+thF%TQ2`H(CNdL9y_pWu}#q8>~}%QBUl z_2I;piE&HPP%Ho&xHO=1H?mARVD6(Gr7#|<-TViUK?X=THp7{($f+qvNyN@$j~Zzc zsXfGOnN#Y&kP(A35SF?YU_bunn|~AH)T~(=-w=u7qbBnwXS!7SfDeLB0~UxloIdzpLC>4q5^Pb^prk#x7?6)i#<0=yiQB@+<-6+z^ddqzjx=MM zD0BFFKSC)^mFYR>LNIAOjxh8BY(MH4LNSgoV{kbsLTS8QC4ED*B)DA34laH-DK3Fr z@v^b$d9$yJ1)^tgI0F5%R>o0twGdn2-c}TYDZ;)< z{HnP?n|%w%@GpiYvzZ!K5^Da&DJeHaGPDm=Rr5jFFOU`(NOmr4{V{Fc>Fs=AI+6qj zpV>8dy+x@AbJrq6{-Zg!(9Uyx=2**#UT!)@qG9b_-vlKdunM0|VlxeN8K zb8*ErM;)m37x-o~iW{UWX?1=_c{p)!<`qMUzwpS~X#(86-oVL;H_sdoIDoyLjs6DfD1=zLB%@)`X_) z0jz{HN{7^c*&bM?AA>M94uXbPS&A#a7+8DBUjbO;uXR#x#D`68Loy$rU`*l%gN*G! zTBD-ZTJ^p|K#0_XUQ^?1!(GRR8fM>NlAqLr&dp;Gwms8p-Ap*u7nKB;RnLP#LOgrx zgDc6(e_&Y5L7{AWOl#}Ugsnxa_eO!U0hYJ?=0*V^wdMGxF^8eE4=syt@;0)&J19TOMF{^2NA z;^3D@CdQo^&SvwD^6{x&z`|o;kS%2;Pk|4fqj>{@QXyB@h%mnX`-;?s0BUfXXa&e< zm3+L08d^4kq*2luhF7V+jiR9G| z+udrd4yMluFcQ;J;!p#L2!8+JJW}9{s&pU6K`tobH$IR{eNoCvV+ola8yh%?-g~jdT zyh9?~VE)0~{ZAlPEz`LGx4(rAmKwGGhWk$hvAvDyP$laFImBE=`B6{F>z`q)uK3Nr zA6?eP#I?Kg^iAEJ5^fWv?@w|n7JBfdn@qw_4u$ZQ$1Yk%iOzp4H5Vo1q#?AunkM2{ zNM8`Ixz{`X{PD`_`gDpL{~AnRwAi1zxp;`r(ss^Lf--R>ZO{1Zn7L%lTtYB;FrGE>(jZ7g@B-Svv4+O^s$mC_+!9ADCP4M>H#Fb{#VB= z+{OxC-%w{qT}JbD7ykpB!`J}0px@;RKN9E^8E%Y0kX-XHZ@8Rn zsUN}N(F3vVXJltsI|d|IlB!0j(F(^IUN+7n5uOE)>?>HK4 z?eFtDA6g9^6rf;7CsLajC!)iXs&3Y#W#}F%5?nb=gGlQpx7^j#Q|S%pj_v=IF_j48`lkL6I*5(H;uytUH z00;ZqSJq#p1)LEhP>xC$bo zHx;+9>6DZ7!!veOihhXPm(LgeO&4#4l!-fUYgIu}0*PC2h~FmY%6=i`XTXVyW7PTq zam6b|mmcgFABxWfrgEbDLz$H0jE7up=VY&L9YS_X+^6hfPfUvUaNL=29?!q7OGq%F zju#><#aVCl#CHC~b`W3z@vnes)K7xySG~dG|LRzX9;mKmYdSqv9B=%vewEZOMm6AP zf^ly$d-s-$$NjN@``UNs=RzBXOqGT<ob>*m5Ag(&4?J>r1+ zV)7=DZSh>h$hbIytx3C;_|%r0#`wwVBne^v}xtV)Nvf<+=y7C!WR z<74pmPJLrB?wIgoX<9(WvvDg+LU3{2i4>vkLF;E1TH=o^-PQv~i|4~0i(S}k7KRJM zkJe*R+lUrHz$auj=wS3d^hs#+e958&UITldkhUMOs|aWkc?9z5z)~3Mkal!rRtaY! z`^CwyXlXM@(A0y4$xv-c!IYgmlG>DzWakMrwLi5255y@^;;94UGyzBde@r!Y4RxzS zJeK#|=JfH=yZvti6nzlpZ_!-8PF~c30i) zHO4wQ_3<)$i8eHTM9yD(nq%s&2ZQ!6#+Vq4Aodd+I4{0Ej}t%H>I zef_MGJRk6`j&D5GX&fgOrRtWKf6B*2a}(d6+Z!EtBrYLnw~&_in=#I>ZPRM6DNYZwV& zHm47_>FmvA$sjK@rJQ+Z1n99E!h4Dl zZ+yyY!846v*_-8$Y3Jg)?Qg!7`m^?ORTH?!DbW~?m!)de3joS(MzqZN%l1b9e_VY9 zP#i(G_2L8w65QQ_yAxc3OK@KZ?(XjH?(Vu+aF;-E4-NqW1W52e{vr9E{I8~`r)Q^k ziz;fm?>+b2b3ftTz*i|>Ef72)-drhULv4L?(3ZfLWJCzFta1EU8HdI+p8f&@XX_cV+%SX)s4xSYm2u za+l8|S}El-=kle7kC2Tm=Lwjk86fwBMT%~syUs5!T z%3kaJLdDBhhxc@O;y_ajZ3JIY0fc^CoPHSyPI>b{QS02UAMr;zKR1>i3JGH=Nj>6r zQDDqK6bEndaKU%`1H~6X69Cmj?FrTVeE8QM5PI+w-TB?n5OU`Hl^Ipg*o+tQ)DWE; z0?{u+Cq|j#w>D88w@(9-yfLHIvf$TjvpXe{;scFK*07eyY`Gwk@cGn^CnrincQ@GOH9!~)w`2TliK!S~WzErz_OhMBn6 zJ^-w*7dKFIVzCT6!=A>_ojmpz?}9E+!+iLNJJBp@VFbzoQoyCAW<9{Q?Iy8Bv3b-w z>RX7H?biCWwpO%Y5f4{{dm=XGRbxxi!JHM_tuFKmu52|}VhY=$RAzN77p!m zv{!~@GY^a^K3w~}8ONek;QGOu>$ z*cy<M z8d{*-CTls#gc5SZA5i7QQ$3&o{0CIO`3Texk{Xdq0Q`9E+I=fEAoKQOGcz_kvPYO{ zd{O-2jYC>`+`W+Q6~q>o@8@wd*wpOeyyY&MXccd{?MC|mV+9?Hr;FaZ!Rc*~1LCa+ zrFg1yiKM_N6Rmu<+H^DyopBsuQ5gRVEl4k_M68;@K1HWAh`un1p54e# zSYqbg&3HA9PcKt^2c7sz($VwY8?j{@cfofDVwpQ|Dd7|C)el5pzJ?!5j70vNgZ8@?tnhT?6 zLc9ALt}maAoR#gaa=cV*F@lZ>Ds|d>9dB1{fqM)#B{f|{k04gkn`IeDncL0sZs_%A`@IG))Q-*i2WvY!jXnPpCeqN=1!qwzLgay>;@n5(innZWtu! zJ?%?&!E~r0L#+=$&4;Rk_Z^@pC{TpRTcETy^p2o}B1}yTpmp`~uloDSSE|PN7=zgh zE%gAp#t=~GD>^~(@;~78Q!P+__8m(bOB>~08n6=tCyO|XqQ*VeWv#R_MKs#zbAlUG zq7qG_C=B$7X1VE2k|M&$&`9PAzJpS%V51TS zO5m`ENYRHP6$jnWqF)9$+tDWj>~6YIkXTmK6+Ld5!%f>JWuufH;qMjS0Tn;H-DMRv6bjtqgs`SQT5)zam5+036gHQ)jM(|fWnDEf5ZSoC*hdCHd)?C!A7 zr;>&g0#)ic6;)W3P;SA>R_g|@;ak5UhU~1TgLa9L#WL`XDCbNURoe@J}O$^hn z#8{l}iXq#(pG_VVsjYNB_k7543Q=XADydCPzHDPnMi{Iv?3fMJ1KBB0d?^%jqHh*mOZcOvBOxiNT=}(dg`u`(jjSZqj8_D zOZ@^eTCs|{*+<-F+YnF=OW<9xTd{#m(VCF?ikzF`e5@Hli5v)#a3^!8zr6?{ZxXYn zcS&1<2nF`3f$PR+lN8tj1QBpPIeF{J77X}|<1^#V3j}NQW3PX0&yGKVBdZ0$1Q3u# zyf*SLHR(UYKt|82&}o~s>f>Cd@C4xA8o>9se{n|KKVw@h{&hq|0GGtDbD+tuEAL!x z?-yQyE4pv(cc+b*6m)MjQ^a-x^>w=TH;g!hlG|9Of5q5~U_IqsXLReGsB5dh$J=$~ zF8Vt#R`+Wy?@{5jH0lyd7pzWr1{x>PK5al)4nH?-d%*PxUACh?snKwQ!fF#NP4~YD zSk4Bw)3*HJiN<%SMTU!sJx3-Stfp?`NK25Tay2vMyGKRcg>mKqc6Qk*^#I-XE4c(~ z!G7FD^{F}m1`_1&XK(=b;V+rWwwsbrvyXtfEj6y)!jFzO4OhPZ&VO)@r>dm;1zi9w?1@$!>?%ENx86}YB6 zvdcx@xv08sXJ~eXB|9H=*Awf$?KW&H1()phBVSz;zv11BR$0)<*dxizX6uX7Cbo|& zjOdo}+h`Po$bBu9zTSYW$Y&zYc6jlyNc|1y9Bp*t8^lh|@p*}LlN-d;OC10qo;dj- zzZ=Hql^F4fWnzae@~HsaXjJ=vd@kAdCMR%Z(u)+|2ztFk{mZQ;T>Hrs@1uTGK7SYZ znojbn_1ZT-sC3R{)$RO-BrPtql*P!BA&xk@(Bh+y)FpiT;o6s7Vgt9nK^#cUFb7Hh zUFfiFnx<%9muuY#!Ksd4;e<9gif5AcjiWiNEK0+{M<8kk)SC2&9H>Xr8W`JJoWJv? zRgV}C^1wCFE~mt0pvC`2@!^D8$}_gytRr9G+Ks1wSxZNaODj(Y%Tvh#uFTVKkV56X zO(nJ9)>y6P17ImQ+BdoEKb&SUC+ht8rBehwsU}Lwe2gA@PLAS^CPaFfx6J)LWX_8-u*Qy`n{bgJK;7`co9Gv#wR!_E4{)7q_dE=Blrs^4Jm z-7Ueb6hno*_@qa+S&Ce84mR7)3yTNtS|#4#1`?G`Z4 zp-Pi*;Dh6*p6p z@m)S}K;;sPaGz0IXQ`7%W^O=iWs5Gl03RkcWdwv2N1OI0Yi>bHUp9aO!J=VV)3?rA4fRpc=qlng6l)1*RRlqJ7O{b1?cFOQnn`j?=Mq1;$^Ey< z!qpm#4)5eG(y`VF6dU~K*^CWkjc*c|^fq2=C9@0lZx#{iduSS9FGso->06}hP%nqN z?&^D_8&CtE0E2&z{`UZQwDiB`6u!&>CVNGs1HTgLy7TWo6n|IDL$Xqjlrl$XoIT^W zMMh*j)Lzs6-+{5JU8k8dMv_y%svMd;3gvF#%;(<;xeQGQYfVm z)wRFo2Hoh$V$3_q>PSHoM$!X`O3krCi5 zpRNv9j7S()QiU8xSH_J4*}8neM5`9o#cKn;Mv3Y3a!{KCpu-)VDmzM!oF+Y0>lGun8?hmLX5p(cL7t zs-F$>1Ij91d}C}XjyQ7hE$Pj-s`z`2!bwH*-^Gd|P%Fu8{oIhPBZ$P-P2pY&O%BFY z&_YkMr)BP?5uz4F1S&-d7G8uR>7EYu@jZ~u?i7-(5_0*t!^TVRgFR&QNXv3F084&O zx?bX$RR2|2>9lRaJ}AgMAxCjYDa*0cT{`hVe?~mR&~&Zm{5=1v2-*>@D1GO&@txe~ z5M7;DyaZ(=1!m}~lp6~_!%!)|X?4kEE`iOHmF8$Y+pHek@>7}VCg+{Ox%VDgifQs% zhOAJwO}*%&*RDUh&y1+&&G>EzscK^g*=5NAO;h{>1)z?BGn<%*nrS`C1UQQY)tD05 z)5M28es_c#->JO-3>S@D%Pb8W#W~s$hiVNWO5Rf%%K|fB zdHYSRjZcn8xi`q>3MSgTYyOKg+`e0%)cynN|AI*-_6HQjGfLKKBUue-tV2iB+vvah z$v89obFzYWCH9B+)Td;F!)$aV1;xlD?FcYGZl}!E)irJpbIEF!siW)m_#y`vCT3IF zm(OW5;GMl=yVi6b;)WJ{s&QruE1LV=-&1M?mMTx~OcsLsuRqb~egqC$;G_W#+P^)G zK3}?`S(7O~7Y)1bsdfw7O7>4C7u4t@{}qSwU$NS0CW!)v3>VRl05r1xTZXG}k5(wY z&uY|HC^e<;SWkmB0(=0|k9}XPR7bwd*247G=l(j^{GIlfbRIU+UJ5l@iWDbFUKAFa zjOHe-29CoC_E$@V0!0zWJk=|ewmFmepNg1B)?e`}m(}a+{hgePYI#l1%>o8Y|d@agRsJ@le z=0o2Tr<(U06nGOJ>ZWco;c!Qf47<7cE#avFDS2SsC2s*MVu%Kd`N|EJVu6#!D27;DV7Pq1<*<^V5^vn@z{Y`9x}!3RF zo`zcFtg&OlEjd@w;~!9mNmrAR`h^WsV!7i5p-2F7Fn3u1B^-R-wXUvJ&05nd$uuUe z*w-!I!HU*{1mZdtDNDg_^IM-J`Iei`J4Kj^QXB(*9nLYHi#h8dY6FQDZx+7c^6{eA zN^eS45&`0WAeSF|k~)L_a}70bSHuQw$8hS_0((1u5|(G6tTrKf6NYlDD>^7l=G=(C z)wnUJGkJgQRGdjya@v7(?W}X16nb)CP^a#6U{Iy*v`->rT46TPZ4&`>dX=kA_4-UI z*Gay)sT@^t>d)v4w6L)3`&Uf|6Y0iar>ig_*>HjNq`9V_S6L%zCMSF>(R*$-t(eVb z26a{jO{Tvq^(>{6>CSzDpK8LCT%A`IXIFiX?-b&6AT%?P>NT$XIfX@=oiCX@o6evK z_#4F8&A!t}Gn=SPWzbj+Xr{&R$Wk@(ZM7a3*#b|vVd`E zDsr5^obVQAZT4=A`a}TM+ac~p_NwhF^Q*2#4XM?(BV3cPhZ;5&&N+w`(5AG*{{zxl zYLJgZ)rGPm*W`{CO)HG82CIZtSqv~1La2YccJ<3P6pTmV;GGe z6!cW~kn_@RU?>%ym%wYkGl{m=W_y2LJ$mP#9lSu8w@?mb5fJ=U(OL7oagiI!1gWTO zZp0dT2>yP%X^5m)5d?y2j0A3^eag713Q4wT~yX$7n(ldmj6ER!|->_fAo){ ziiN=mGdvEXW5+X(wZhkRrc(aa*!Z~}RrUPsyx4EWWnZ_7DegCGS5T7OX@KYsdoZ#L zeSZ^=Q{)J~&c!kUC$E`6EkjN;;|)eJ!3uhar@XOsjbOOyylK(h7e3*QYx@%js*dj? zgVLdFqt3x2vbqX#VxXFZc5J9LseDg`r@CORJnAP;OS{)mxB~T1Ro7a-x<3j}l`n$b zkrxJTZ3)JWCq7Q=k+3Y&NeW4+{q|pBrTDi}bTC&2W3OM|AQ0zg;2y%=hx!?dN9daD zEH;>}1)_ogFF-6pH;N*hPH8BAyGXKj`B4;>(5iyo8(Gnj6Z1E!y!W2B!8FOzrR!&M zl!x^Z;rQg{5F@4_&t+VH24XRw=;QkioFGIFhZN=f87~JnG}!A~3P#W4S*{ zR4Q~;hW9Oqq1el$%AP{SQj*+;;!dbH%be2TnOjXRpvDI zS=WAi*ZkgQo4zT~Yb0sQn&2br+5%~Jj8n^Y>(9tG%R({1D)mzPfM`i~5Bqi;pq8r& zbP}P5woT<`YwgRHT?EJnych$vy6U!f1H*uvz_2aTFWD<;ytaof$&*XX>S2RweAn&2 zJ`~_F?ErTuG0uAnd#IC(V4CiDsHvyie`sXK^QO+1XEZsP!%lH~t$SO=l4rQ9U=PJ0MhbDrJBSJmg$mE6Ye0X{|0wxK8tm#wHARnyo# z^{RQBOx#g(QxM-(`4QO6$jSrkCr7Xhl3EiRjncAb9!+DvTf@{QNNj9*gF5HOGOOSt zHgF;llgLO<$)^$s$jaM!wOxAwo4-M7d675Nq|@@N8 zbEyj}M$usBXrp64RV*gf*H2QT77BCQ*8K!sOwrV__ROzgA5OrCPA2}LhCM^-o46SH z_Xb)AR56ip-aoGq4uxO|S8)Ku8oko^a59ql2D~qsjA;tI-81wY6BNS~uPee`ndaWk z^sYjAkVBV{ajN~MC4g_!s`K)5dGIskbFlQWEcrIiPO#Jf`kW)E*BbUEyUvopm4i}g zffa%Xdl!`eOMAhXhPS`KCKc^s7oHJdM{%+k5@ z=;&Ud;0M?&jNpdZ634K}?9}?|mjGTQPm#FA*tIUy#Sf3m8LSL#w zC_zR(#xD1jtj+&*_O#J@I?k*UV(0v|mAP3Kl@uLH&I6Q6dM zBt)moj+4VRhPM*9@d`PVf^!DjNb6p`p+Lu~8b7$yuaf+-nd5y62C4*qX*=D2)#{hW zQRW-T8UW9-{?_<1m9CWwr?$Mr+9a`!&<;aM1<5M0mN(-&HAIf0m5XncApPXPmh4h;b_M!e6~d)g+#|2EZ43w{wyfdb}l1X5h4~1DUc3C3!Z+@tXPnH z3&4ohwqQ<_45qyfZQCbz;O#G!0~Ua)zf@+8MNB`k#&F>6-*furfl^x^JK@*+9P091~dzANWbCoMagFXNT36 z7Q2 zer!;**70oT+P~9D7l39N>|ye$0bll_-Z{}5Wm()QDbDcv>mSLx@di;NFEqtY3UCWK zNTCW6z;o856X36DQ(mweFL2SZeT}YwvM{nTtrxHK)I!Ol_{sgmbYo5{&ZOX$s6Ju_ z7E@AMQ!dV%a24Rsk-7dsX!G$p2SLz|VCl*z&LU_2mNKpO$)Io&O*1wFFR|W6Dy|vN zV9jI^(r!A(v5PBN!b26n0tAkNIVLA(#(~AaD48$97 zF{R~<)ADTEmFsSp7%wsf%&0DFxg3x)H*Z~qchs>f0ewI?x_tvuq*DZ@<#a;?95302 zpI1UNJx3s0WfY~05-9FA@Aii{KMrKJD`#h?Rtt?^=wV{Pe{N&irMLF$l zk;Ri}eS^0&6R%H4`NyeinU$O=FHEVb9;3+dFKbo2g1QUcvJNrose*K{S2(zGNIOMeGBi0mfgGE228xTFQ!5u~B zCKex~R~#DK(RhjKN?G?!g+|DmSL(zb{aZX~X7d+wo+vKTwnJNq6~m0?-z=Z`7A34Z zdSKe41sinRqm>^?C>N63gZV`mzh{1Hyy-F10b~|&vWM{ZXY4vMRz=@jk`y-uLq0Ea zow4)dmEaT8=7%n`lfjolw|i)BFHIY=_%vCzM(rbJ5(74UUn)z-NO&piKcyTKu!(Oj9Vvsr=&Kw!kUBaE8hL=#9(ejR`b1lkJb< z9Hg{eejk#Kg9A`}ZZ~OVZCj&NTl3V5x2;NMAE;Fm{Ib;*+GvoF%b%n1YFc#%CPKC*1x>S%Mi2$mV2fZgY4OUy{NkFnwd4fczgQrDyDG_wzrMjoU4r%@mHuw~ zdz%A`ykXYgqGFL}W2B+H+c3Rc9?4>ax+6u4!rhD~`@F1n>LEGTETXAR-;-(;(*VBXP@XUbPM|&!_he zrz*Y52h|9fQeT^^a^B`GtuD&9PFJ}CHpzb-F1q}$b2*i|t0`MvE8GVy1s-Ruv#;}4 zE-F^Js=dus|86r;1^^T0|Bep{?e^|X*`FBml_=al_agRw`tsDYjg^$n-{9e-@gEYvYr_29VC+%I8FMR5p8Eb|m`XXQzZ`85(UB^#;^Z|{5o1hbef7L^XxV_Q%E*mA0_mp*f2UXa0#a|Xp<;qGkuK)hvp)ZB zroE%eC&#Y#*Q{_F90+`H!%Q!TC@vog%ZFb4)umyn6TBt}K|>01w$3wOv}dCI4yNm4 z0i9BH0GbcZI(rIW8EQvR&C2}+AlAkwmXRaC(tDck897P4uBFj+aY~e0EpIa5OT#^5 z>pi5yq-6G1hp7K9?A_zaSIBlb=lg*jLS#ML+5+52gZfT)$JN~I@kz@M;+eN%L_Iqn zIO&y)^2E%il}?WymfR8(jvHOR3^CH{;pc}|8ktKOMt7JV?Cv(aqtx0HVo)lCuN}&& ztG3P0-W=in$}P9wz@uG&FSc?2N!gJbT|KHHQjzYqbcaAvmBi9S+z#ydvi87!L8PC# z(8TqhU)}mt=C2!+gHymK>P@B5vI{S8dh4AA&LI&QcqU9MlN4(fu(*W%rkiVXD!}0Y zi}9?%z$4(5<$D;cBhvEIkubn7-~A0E2y`X$2V}wQ9-#cgvMAg=?bHhX*3d2FRmsj4 zWL?J40i6V7@$rD76sCt_Fc~9q80WqX+9xa(Pe`M@okNPJ)NMG_YRF5fhNVmcL&#vQ zZPxyjU#j^KA02x+5Put#jH)QOAF+xVK_{_qOm4$arU?*vR+M8>=eRqmUEUw1m@pW( zXlV>|T9*LZE3WITK6(hbmx~c%Unl)69HTfmEobXGTT_BL>ZmSK43-SJAcWin`iSd4 zC#=!G6aaltH?KZ?F%laV1!P7F8dpIMzo5wpJi>YNQQ`(6UX9>88_|kHU??{aUX5w% zroFY)!WL5*0fe29D(Q_EwS(fABIJMIQPIKdkpY5~P$sOb

      vYZSq7fWTY@T$` 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

      K*yH2v*rA$T~d{^^oniHY0llU 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

      LFw>*!~6c)cmKKn-E|kUW}i88GK9sPnSJ(t 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%0DTR<6o}m3!`JAqg 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
      DEgfsD%L7| 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

      @NWlW{Iiv_&36@=1NorUknj=I;F#+!wX(S> zl$95ypWpZCKn+@A-JBlHzFvl{-Z`wfq0zD|}7b?4`QL@b0r_n5h zBji$egnpk6bbZjC*Z|yfuiTcwIkCptx65yBcHQ%bf>y4Er7#SG?FZM-i#RjFC5w8) zQ_=?>SVE)(#NH{VQYJIYXsKD_`zgk|B{OBCg*AkwGGiTm)W-Q9*xE+m;POo(HPN_d z{4Qx7S~Z1nRMwzNwtivexw;4Cpi9|M5*}Cri>N2KqQLbr+!=!q+d2XfJG>?0Mr&xsavnNVY=nQzA71gB) zPt^7v4&{spF8Da;1ZtK=#}1J@KabS?k7w^e|*&(GGXm z(j=GWyg91fgx&cM$gt3jsmP8M-e68bddyrTG}4!_RwtC(R#Qb-c|Ha>5(igD-yHy* zO<-a3C z{{C#S4i<16Fkh$=_?G;;u6(iR2}a%*(4OH>Q+`P4UeYBTw&l=jf6ZMw&`#mWHzA+q z;pF7xG;hOyAGO-Rz%b z{hF&2nmD^_mR^2Gx@yE&G<$ZVl4%Tc_?BWzI>0^rD7&Lg`E<<668CVkP6YYb$1H>Y zrhL^%6MOFL#xTu@!O57q^{Xi5e%JBtw;wW@M23Nzx3|+6tX%IXE)3+^IB7e4^n_kg z#$<>E@GO7V0|2uC{Rygi3kK!1Dg}QWdP7k3J~b-wRLVxAD@9Ib4%60*nbF>m$@{{vC=LR7HR-P+%m_E0LM@PEOz{7L(@lh zZQF!K;Wy)Ib)h+@v)wybJH52%b5Og-Gb1#bXc}%GzCB$&gKQux zvAXn(Du!Q|kI~{|k)P56T0ZlQR~1V`^G92axyip0TnSF)(QLpsf%t{8K1@78Sbe1P4L?>`yn0#KP>xdduC#QPfw(_ znxL=5V^XH8{2G0HylDJDz4 z|FJxPba-k*oq|W(;rll@Pv}xgDw`(cL{VpXH zDx_E0WmIgmv}GaX-l!~=GMcU26(&-p!N^k@Bg02G#)puUD`PHYlJ6sL0w?Qrk%FSS z8Cpr?9Teb3=o+E?jY>89p|Wtn5#KPCQW)hF6KQEhFvNbYsN3NWsNbyVS^LhvOBhqZ z#4Bajjvk!EeR0Eo|5V%)cJ*_*Ln}BhO(WvFibSCKicY|%KcM8GpARa;R$uTY&ToNk zj~U-nrIom+5|VUcvOBtWlhCl*exUv>Io4ErNR^9GTlkhBuRVUoJQjr!R^=m0ZbV^* z3=8s^TLhETEHMzok2CpItFTUJOz_9Vw~8Gh5|APaTC(WL2LhAr0tY3(_zeR(7JVPb zi2o3L{SYCpJ5U+()0e#T`ZPx*D;;fOvR_GUvg9)vqNweNXC@_Y ze?VENkDW|s4jTBccL3qr|1+LaMgg-$&PXr14s+j^YrFqz4&MLGU>eY2e%36@p+ei}lW!=2bV~d#D+oVj z){{_Dft_wsO(FHjN{H89=@q)9Rnlb=AwD5J7Be$5T^F-}#Z?FqNhgVsmabksU@vi} zS)5>)1%WWg|1ySjDla_1-Y>s`p-Je$>1O3jgD>kTA=ST;!V-7 zS;JY37v}9SnTO%Bl49EReG-Cs-1y&ncG;M;0aT%fg?y4(0WMWElXw2l)PoehNYF#6 zTqd|pNdibef=uQv8kl+hDHF_|^Fw&rBuz^!QxeUY-B(dfs`U^5DG~sM_Lf;|{`mf@ zV8bK{ebyMyWn}7P(u=i%8BDuvty*4a)Vl3`J@far^=p83>Ss29nb;QyOt(ISX{iTl zRr`T>qE1zZ!RL#b9L_xj{Z!&$E~K0|ye*=Gx4l2&zR0_8K<4E3&{-IOQ7|>#HMTc~ z$#=~cf)I9xP2oiAE^Vj>+BCf6S1J>RDy8I89)yEcLNUR;yc!XO4G3Fo4|zCkdI+ar z>Sdq2L*!-8Ze?p0dr@RBtEaj>V2*wsnfk%Oe!{)E2nwa8XrKkLSf}<2a$wf`sAB+U z)R^fc!vDIreHLqN5#6SEy~mP~rs9Y-l}~zYoQ~10;|-8({4F3jdic-AtW&s* zN&2bXDR%tn#`N-5eQzvB9UbSzV(t?cqf`9LQ@%f-XXWq7=^V#dX1!%mtM@C9=kBxT z%8lOb>Gaw8)jGx;DFyiN(XX+}F)LkllT=oLZ0fP5s6}HR4*GG(3JAC>u?YbKAc0q7 zqxOUI;+bZ_$myK3I}acH0iEW(@*DRf$VkSvl17eL9(6b?xChZs&aMi(xSCu5cIAiS}7%j9C>-#osB0|BhbQgKb>op{a z!=}b4>nw#CI2`i0|4?Qm?ZE zK*s07D)voT{6Y#k%1E?KM6eNyxx0j({WXQ_{3R)niMd#qS+et!LHdzsvL}Hp$%w;8 zSD(;pa0&6-B=gZNQ1A=+T#=;WcYERyHN^lU{{y0I2E^PDA>i6RDSo;ioJtYH0!=EZ z1$54vE>?&_x(QI;l>`}EO?WhM?3HTHEV{*c_cJkKoCF)%(ZI#JK`DZ~R?}FHU5H;S z`^zdll39E&T;2VDeoHHT;J2Lk#Xu<(z&jqSM6>Bg6-TnTHq|pkr%HQ*sCoCC03--qY!TdP0QSDxOfGE<-;)DxLF;6F>z>Hb5NrY*ZnS4D@lZ}_S)JF%)y zO`ELHg^c4F-TJYCPQX^l#`3AcU8mi;c*@5&173Vnb5X|wep3JpwoRVFKO*D$zccB? zjzy$g*oBa15CEEAwNhl?7shkCeYwnmmVz$Ax>Fk56wNsP5@>q8`SShsrO&%xSQ;#Y zcjfbwM&Z3#yG>TVk$FsGDn5s-fhC1->cZ2)pVWtCX}s%^^n(Ba-I|Z1JbXpU@udo0E*;pYzepDXui;&NP1OvrWlmA<1hae~r(l-p z(K-QF-kAWhGo3I?=Sg!GeJ!5)+nLvl*ol*z29^Lb&DGt!0pxqgD*T^k9bIlqlJS-NxE*T6?(y}>kF`}}C3ngz~DIdyM& zklxgb1!_s5K=#di>1<`sQD-hvu6?;1xn1NM;>ix2S?0W3WC@APShq(lyPYzs5BM%U zxdcR$1ZjSEmSEhE%GvQ*0vdSuc}uOA%t({{dA3{Fjm%w9NA@GZ^4h z0*|@u?If?iQW1*#QGUpoGD3SpaM+=jc@NHyN-*LWZ%9XNMnQisq9%dZ0O^#eU??DqwTI7gYWls(eJz2(k=0B3Cm`bR&RjF4IM@{>nXb28>;mbQ zCY`xK$r2v%qqC&*joEpykNpjHX>ir;gWD(@Ru}IoRtONFV#1h;_WP{?Jjk zxDa`Tob56~Kl zVQ&A#vNd~Z^NIMDY3ffhY*(JMBqQl*>!L2!`%&2VO2MOJ(zC*X8ORT85Yk`={99R} zoR7ba^UeH4=h5SP-}44i`m%@Cey1~edRZ0)Vv1EG$T*K^r)65cekT^WmzCU6#5|t5 zArNdL!QETX>mDuGF zuws^KBAwuD!;AaOyTn5?%fdsc>k{DW646Jlq@`ZuS-YwL-YHLv3IN&Dd*pLi=Ws(0 zt{y221^{rB39hSqPEF6-m&Z8sy0Zqw-04RwjZCFU86%p#BRVjP_3rncK4;?nKHfi)0=2vKOOLR0 zC1Aal^8Sktfi2e_IhJCtPR_tz3IU>$K*BR(TGRZod~@8-brs_|67<}A z&e?nIwM-lX3B-rJe!?U)g}sFMu>Ws05~#*~C6o*Ra{-{xmjNjBK>>w6ls5*22d+kj zo>i9;rwU>#nNwAUK_Bm*Sh$G%oYg|v69q8&{h!uq^!UL zf_J-6Pzz_a{yPv2BEL;uPhr+Rhzd+lcvkBc6bO}7d<=+6s~1x~oAk7W#qbA&BRbx9 z%;v&uvUlWm%%jSx8VqsY6*H}~^dFzV1HbUuBiuBSV{LpC48rF2W0AB8D|jOT?k78A z0*QRf_^(t*-0WJeLBPAIJ7wxIng=$fOb^3I_rjJ6{G(qV*}lT|@Eq|`?d)CcCkh8O z$~oL`RIT_hu;$U&j;u=I$gBE!`z=SoDEsr+3#@7Wt0D0deaG0qq}~)&0pW;Cvg-5fg=Eyuw~Wt_W&#e zm@hg!)RrXlryutItVZ00YgcRRdA*3sD@8|t=Wt3U?~hM$jgE|5cj_lICe=(Fi+-_=n-cNz>n{gel4r zp6XscvyJRn&D)X!a<@c(?xVKGt|8s{$ukwj!bzyi51s$ymIKjG01}Vjd_Ew^nl<1n z3f%h?`$Y@g@%ZOOv96~hV9s2RsT`TaJl4$=H{C;j7BWyJ8#n}#tW%WGQ>wd}K@@xZ zzYHZ{tP}?l{(r5;*WPFQ`v&Qilt5yWdAM6#GqT^3D7XH(-eF6?D3 zbN@fn#!*&~Rel=9Gr8y7#d(hlcS}Q`q;~)2@QxYcY?GS1{oYK}46o#Ot6YmROX*=B z=%Aw+BUS;|K|e`hweh(<&F3U#tOY`b{q_u_S*e|#Q*%TSd2Vw z@768;nh&IY!2eHWdqI(jdYdXhEipx{RY=F@JUJ`Ls(xuARqJWS576S?HJUF$h2$q( zuOsgKx(FbUt@NWYhJ}F<{02&U#EC3o|nynOVC)={n zXU0?&eQcx|%}{@FDc+b6R!w3vuyI>A9OSm2K;E%p*4jD00?_r-0Sm)1eAA_D0rnHT$|-iClJgIl7lO zYEkI<+AZi#GpiZ>?wY^&$m-4awsj+Fznb8iBmEzyEN!X+WP2_)b2i_?JbAb7U+9>F zc>ZnZ(u76Ri*NV!78B#j;^Do297rB?X&!3JfVXhkQDYmky5=D7ZFh z6((7IN+2KgkuQ>q8RPz*A8A8+aX>i~>G)17XOV;_Ax?C->0{37D#2&e|6o;Ntu5p( z<}k0L9rpbxYNNh@EA=AND#l*Am?nVOspLk?g+R^3uQ5PcZIbn239p-yK;pH^`|3DT zv|O8#VmZ9n4Cg`pU`JY zd}WUqDt(+YABZj7=&WMp%KBA0Nm!$%M$Xz#?WaCjw>lbqn$b_wclR;#SL|pp%qDq9 z?n9b#y#j1(a}a^v$1U%slUkhL);eQcG_30BC3i|NHw$_xFPF-OnC!c4HeOD+8{O z-MM{g99nHrt!~<*|HC9&WH{a1rAQZ7ch^PDF`w`&(Y%V;tV*8$H}ekoxeg^ph-am5 zJYVT1ag3&)IXR(3C#O}LmaUxKDjwJx-<7z&m!E+C*V1(NDY9)Y(W+*2<*k4R=vUza z9>bWvE-mYcdby=)5*Np{>D*@0TVP8qA#o=gvV`+*!oWiGblcHot1a{`P*jdi)Yw(1 zy*OK28(iixIP%@IBfne~j}>6|tH<|yv&yO{C(?rk&lA}V2yX#4=sYKiRhm3Q8OV&E z^G05L0+TJec}$vnRn{qAx>=V%rHR&niUjzV*}{4qLc(;$UWBZTK;?xk6mfYmY0WHX z8DTxP+bV@$d(G-l>J2=@1|G)1 zmTHy#io|(ixLLzxv8d4(k;6$olx*Y}e(XF)%yP6sj7Vs5$sD;!GbVR{EL0^lU5GNl zAQ>^YsXR-vFbiQwul{NnIaW#m&{}aX1*bns05mj z<{Knl0cEE@Mcw@cMGH`h(>@lyYGrC=dxb+0BEE&Np2jLvAYXMC9SOHXxNsP)K;?0&URUsx62mH)1v|Tanl_Qrq@EF||1V)O)t6|B@imdN$H5=AK9Q_4*-;jO!zbC7h zZ;)Fi!0EnwzIy}ZFF7jJa9`>U&t}cUYc3~vWT^N)0=Mgfj$y}r1k)<$ynxbspM~bI zofNG}CUMAv8VEywNbYh3S>h}0Hu(+j!IrKGeJKP~WdPpcz6H?7v-9%aC7S)9Clt~< z6mv?AiLpJ8lN?J$Hju*m)al>T-*bMsUhbS(j=2^h?%Bj)Es4_aB4|1>zpGG?HI8~9 zbb!k(6)i8g-L8nMJ}1i)9oekxF+VIinRGW=P!`%yZx-!p7M0)9B7a&}SIy!d*+BSa zIJp>6g(|m#H7~~O)gp?Oa&Lnc!NK=kzp&CD98zQ+t#SG1XTLuveJRNSd%Fg%41>y( z^U2bDNzkrd6V&^0b1^ z5Nf-CdsmU3)iUp#;d$@3q*su0k7@yp*+{aoXbL^q^&Iq712`O@5&+h|J2_6a&eFwF zdJai_E>`;UxMpmbS*5nz#rUq25=cZT?rxP`_?2Jg@Gpwu^Ms35Xm zB+%CF!j8tCs^39QtSnr4p;g}BWaX*iwHZs!k${4FH(0kKw(emf+kQJ@~#;+yaZ_hv*t zZ%y{lu$cU;q-MmbvY7eJwdF_hVOldn0-E##$Tm}+J}C`C^rSy_*fPxeO%dIkeT~+F z9B0xa7yt4)l*jCB_CpfgPGI5936SKtcx@}?^vamZP`NlBDb1I^!{z|WxztBVSN>W) zVSg>31m(ZPKkN1Wx9L@Pft z*e#?Cn*j&mn`cIx{pPRBu48$J_~8sgaO-(qk&9a5EC@k;|4f_H2&R(9T_GE7Cj0 zH~TXTrXg+q9!)KTwIk<=^mw$vBHZAPCx=d}X0V9o=Yl>ypyhuqa`fUs@(GQXc5a}2 z-+3KlT*O9EC`9G#O{5%GJ^>S61SH&tzneZtpPGOH@kOQ5zv9dNw_!gJDQoJxuq`0w z=m*4CH?5BON8tha}D8+HnQTHj@+?^`}fAzB29HIrWMZx*P!~3|K4PpG~Q+ ztTolu!Ex$RbOhNcai~)di*y+mv@uU1WrLHcfyt%=1XQ~cDDTETH^lk9JiJfsPeNpQcn>eak zF0(MQdfu+O29wkFXrFUmw^I)ozawura@w+0BsYJu4mdRp$0(&LrSa}U8JqFQkC|z zC?|(i5+x#em6+NqAxcr=qnkQ23ygu_W zo7w@IppG@RnPR0Ww z?yg=}Nh#2Z%Xw@mY-oZioS!Q*ZSYVR`Xu4u6H@dxphA+2QpFq}#|PWFqIq z3#uzDb_@C>gF-z?KRhk!7Nxnm{Ukd@qD1&9L6=u~)yeov?(M%5b~wnOO+N7(p{`r( z$g1DzQ>14@n`X`o*LxJqkGAEk*SUC(%#8G{7j^~6uid5}kzrKI4Wn&`-rZ?-ADJ+% zp&0_=N51APh6NLsD8M2gSfZc+KAU2*_Nswu?q;t1r@Q?__YeO>j@&(qy99U<|Hr_` z5C?v&@5sA0(|2r?HTGtLc6A=WP;Umv1^$fmchAJD$m;Q*tC`wt83;YJ9UN6_(eY+5 zu0yHHURgou#8OLHSpx~SlHIwo(PR+Nx#4E>%(23r0`hz2m6 zfdMUa2LQ+r!+QIAqN)m3fN7mLizjIi+*oHAw2X+T8AE%Rx(FYDeEws`cyw*7{@!+k+EK=nZNY4j`t2z+1^edcJ;!$?D}Pje@N)Mu|UAf z^6E}GrPDP?NHCp|d5sKo``K|1P7iINXh|PXnxO>0K7{(1`fcU8>rm*y4TY6XggbrS zY6in-PO%O^PmnMUO=K@JPpdE{U4hjVEGbc}!;pchD^SR|Ej)&vdHOsQ&uk*Uu|;EVfE%arn+Lsj7FJkz2(HBF}Gns z4yPe5-I#JsU!D)=*S@I;8Hy#`6`uP*{Q-Mbe*>vOp?nwMKFg$r-!=s0OgTWJ&Zgo27a{Fz{iI znV&Z*&E)KyJHr+l*y5aNn3Y@^1%8BolM4LF#IXy<7iVvwp#o{s+F!qZhh&y7e9XF*DWA5V94l7!={8A20jbfatCQ;h9M2s2=`C^LD&*?yCskN#En zt$!* z-n$s9FlON=!xppJ`cfdc_5`gMrcS!xv2bwk^}5fmxP4pOC-R|}8`^WDUoLwDn%zo0 zVrOi*0(sOM@KKnJ>5~#yuAFfrPt;Gv0@}1J);@c;p#aak(IqYBOGRUInH~g88ZG z+LS%zQNFnExQ?IGesBu%cNPR7;7os5N)SSl1u@UnXVucplb+y>Hln*0>?Qu)Cu9J8 z)OaH2?w|Q3jGg~@>^MsZ3T%J>8^Yug^T%-u&=1zwDr5xNY3L3)`a4N$bQWzQ%U)3# zIW^f#28yw|%NlB`FOW`FT)ut}bZ{UoXvhAV!V$yJUrt7WPWjr>t#*Z<&y4im7k~ih zZpQBYEx+5bMtSs4O2B~g5= zyFi)_9^l8zR%D(L@|FtV^Ik<1l#WcbjBH#}E}J$*@eI*;{{j868M{>U>|wDgJ{O&w z8mCbH?A~Y8r~?)g08x*z&%)(O!@4zgplqMn*b+r8uaditJYJ(!HjVvyw5K~HG%_lg zl4KaEzosQnb)^XcC6ASl=~h7`8%hz<$YLH zYA1vRr628y>@1khc9b`U7<(TSjIOHY62cUS#Up=<)mPyra3u={BDG^d-U^K9@$$aC zhJ3JctL;K=`pR+YHONbmvFzlWKsXvW3N)U(VU!wJs9)mpLAZv4ydfI&rYE^nWiEp$ zZ`K7TQsoLy$2oBdQ!F%4G=-c!m9|7GX*dsEriFSY{75#!ZIqmpM0(z`OEm+u_TfP< zI$;{YiyL_S!w5kUPL&Im0DRXr4=||KU(ywRfIsrnSE4^M-2h;ZE>{k>=(%(>sh%7V z&%(HGw1qG@fhr(S$bBd)k7hJ!_(jkaw&Cb2wWlvW-PbxTJWW?0^aKT~Bt^FM&Y^1C{JZ(8tHeE?rF-X+E&nSXzH z2fboFXWn+K5!Sg6m}Mcg0j<#EpQ{#6M2@s+XsjBj2izKLKJ)1}h7P8RrAn?K?Q}1| zo#9?(Zgr<->ILz&3W6yeMP2ae@mUK4d7%bZqY1l{bo;|{`46SGiX&`z+X=dki1}>i z5iDVNrKZ!N&YD@8Y$hGW_W;UnMU;9f(=Sg`B?ayK`)vxVl*E6OeLG53w6o=weydej z#Xq1$xKnj=f;p5?MM^u9;M`g!OJhS8J^RTIE@3avtu$3Ku7FJ*b+sst z^kowo>IteC9at(=8oNu@l>m&Y>G=w{BSwDPl>8Z9oL8G7a+YhZP(&qK3NgniOOnmH zq7c1l?cqvg@s9Pbv%Q;9T6iam(C1fn#=gQ|qK~7RM!Ac;=Rls6+bH>P30UUzQbq~u zCUe=>ZdD0|^l=R{hY!@Sw=_jIpYEl*$S#E{87XjeYX&Vy81uGnLexS-h7>nMTCA`U zbKzQoy%Tq7cEl7`TIXWAK0cd!Tx&5CZhP!g;{lGV_WL>2<4Y7e5++~F14aHnC8?uL zBYA3M5F8*Lt)XEOLV&Gt__6ZZGmub6>cGPvt+$6pz9ZhId^8KY~|N zcx;tYR(|uAV2Ct8^RW%=$lzNvo1c7*FX}&YG>V=$BmP)*Bks%Glfz2o44|1ig!G-k z*Svkk7(KDHQXa6>&kU)bX$QT5_)-j60Bz=~p?}iNWQh!Kr#Q;5Yd&zNY$30T5r*Jw z4E#~2@}+NKMriRNO0#s!PNm%GhVXpM%e5c^tv)#vVBY%k;}r-Q8E){tC>{53>yVgH~+{sMH*sn{Hyf%MNHx=&{k0No&>ghOC#^_kE~s+`CE({o3=yUkb0 zuo?l0D|IZW3*y0T-Qi3)8oZ?Kr?3PKRgWin8{}`KgH`}WUpPhC7jNhjvRg-U7>2Z$ z0+g@)gLNO)`2-ga{hFE@!k1fH$I%?*$Q0)Ngp`&68)@l?_a11kW*sOm(hyLn#btme zvoW-(%Su~G8ZUlk@I&lXOh>1XteS<>I7q1uls{))vm{k5PMDoOxEk8+K@swV@ut9f zV7lwaYE)2WKFHb(2=ivbbjx*NzW5p;a@#arR%zPPNGN0(d0xleL(5z$8pkU5yI*EK zz(ER~ucb=pZ1%Hos2HU*qT9tp#qd?ZCPo}41^xaC5J!<3Y2Qv+TX0;NHNVH~%>$d# z(D*do(?NX(uq4ZyytGI+eu-k)_YoF^hG$1_R%YYdQ9aq z;BZg9Env!ff~6Pg(Y&A$Usr}w)PC3TE<1lvOOV>t!IKy5DPVtSAkUqtM`_8S;seVq zrPW$Sau_vickP4I(jw|PsJP%=#X6q8BUNS8>EqJ5x%L^AJh6k?E2|H9pikDaNd-RD zL9gSKFK&l9UvpYFGLlrdSSetpT}Wwu6N4?aB{w+rzwPhuFVYYAD_NKGfI-DR^V{dW z{8|S~@g?-*Ajm8KtL#^kaha{p?e$cE0%2I}a)A~1ECu&2RB9f_vQ9@{751>*I|JOf zj^qGh9xU)RRKj46+-WnoMezwC_;M4{vQxEvB72AfxX(t-*l%WgvSomEkVtaRDw3kQ z$;~SvkC;buv)|<93gJ2rr3orxlLZr}ge=mMi&C5&SnaD5**7HUa>&oJvY+nVi0jyx6Jwe%gFbq%R)+9^fFj()tnM7le_V z-%vixFJ_U!q|WJT#4@bN-xD~oQ#MaiA^C%MPO3=}6v8>3kiNsR&_ zU@$yNM)OiJQA6nFdvk$l2{hoByis))DLn0E;c~mZ-rq9&#-4-`9}$1`uaWs# z>vm><4Nt|zrN%;BJ@Mrnuk~rSjvvz2bYB0N4n4qdAf6YJ!uR#PuxH|NEydlN8H-Oo0a=ePqTHixxqyks zYqSS@a=VMSb}q>eP~9XRC;$L1(@gsY^o?Ic3ogBGtTL7K^;0LPQ*lUfI3K3C2UnRw z2U!7h)A^f##=0r75*Rz5I#s9ED+c58li9Vk8+%#2L z@+qVHs>-fene5<*k(pU_3*PezBM&lB z!*!j6?vxRNF8yb7WKc!i9990^908oXyZwV}_U0XJy#Jx)y;+svLzGbX7uUMq(cX@= zDPHMyF^ato+o94&)nW^1Grr1nn|S@E42Bwyzosz!!LeBJQ0ppKbi*|=AuE|9&5k8+ z-Ior$J-Vm#FzZ-Du^xb_xu<;XDbxF&gnCC*1IyJ1QgeDE{^cgu9MkfS^D5c~T&Eyz z@>s(CtWxn7Nc8e#v+lhE7h%D-%C%GXH`k#-;x^l~C=>H>;4`lTNv(|-Gv3YW=FJ0ur#HO$^NiKTtXYND zzIo&ex0%QbZ;%7Uh*vV+-e3kg&gx{EFaDNl1~CI48fgHE=6j|aAH`1a>BJQN*SY1w zb4B+|7X#0u?_6FjWZhCzKPgB4w%msoe?5;5JfC?F8FBC$eVZ{SJWsy4R)(7(hI=M|Am(2_d)L$bBeOYfj=H|(ofAM zi(?j*HlpG=WewWGWOPFmCg*7GM`~Bz4gwqfFpN*{^-E8;NnX>pFf38QpATse;k-TpB*Gi$4mZ7UhKO5{PKiUr{a5k)fsR-zYay?%G9mQf#FDJIh_U9xhP8(ZjG_U6`@x>Zcx8- z_Bs!#leOLnNj|sHEgCs)r!Ce_V3c%skDdJP)Fk`JAVfLipm4Dx-|)Nf7r^Ltul(eS zu*nP4Q}(oqTOz;dhNf$Q&|->}Epx)d$b&ngt7_fj{r0oHK|878x|q;KJ8+g*4<@n zyT4-##An|0VjG!Sd-`vYm*{WXpE_1T)Sfr-N#`e%48SR5s)g=EkJVw`fRuZD3Emcb z4r3gmWHAH6vou2u(*2TnqvSdZ6a-LUjRB-r5!l^pfP&$xe$7X%CwRp1W!5p~o|U)4 z^cc7s2MeH|%WgQscWg`TORh-{tYeS#Ot-z>Ql zXpA$Pi;cODS;IZq<=?X6W`3sGX>VbrVP&X{v;fz0X+k!vZiXsU0jpQ584FFoaL&Oa zY(~eKSIg^Fr3tysk1&h6I@;FCna>A$rE~4GH!RoceLA}j!Z6Zx46CFGWkx)n=EH*N z@q(IA8pO!7AU)oY1_A#@j;Fl0MYB-!4X=A|i(>(+5(-=pdtHOYcnjX{is!=qn5YI! zg5p1`dO4}2a%OzkWSVU{{~>7rC#eAY2wx4_h*4@36p$rKMzuhZ;=U;?m8n((^8yv# zs1|-{FF{=~cbU{uu%XE6>*pcBs%1WhhMh%5ySpx$PAT0S|3vfWP)!GS*7+nPosPgU zB4DFlEP*;Gw^P2)Jb8rRy4IkdpJx+DaQz^phq)#C-TNM=`%BXDUoafR(}jDQPJX9@Is_JRLS~vr zdenSLNom`4|IAfEK>^AYt~SGmdnWULO2i4)=`AAOmXH|1p#or%Xp})6MW)FvuV@5?^6+w8gZo<1{VCjUK~fJ=On-z&bBMaLVtoBJ&mmNYqqGK-+i=rkJXe^@l8MVTva>w6 zUnkw1O#0He1u8f|B0E}GiJO&;ELiOEM5-CVM*4{Oo>Ln5>Nw0i&J+OH~Vo)~ptG0PL{tMn-zD1Wgl z_v)ueNc15#NyvR$=t#%8?Fy%P`m15v8?FS~8<#~wboR&zuvpHh`QvvspFGoY6{{uR z4bAyS$Df?*BWg$P-Q^yHi)S3vYxpq>aq*(V{f8qEd3>^Cp9FP6ZeJMxBt{l_@Rm;O z+4SUFni1|%v?=tUR3@~eYIN(n!7UMfw@T5rbq^V#XDa^o^D(+OGz51h{m!ZhiT*19 zKf=otvk6Ebl5o5yj`cRZ|As$sHmT0oBu39fC7+6qy$y0$dGM{tm~-EM8XOKKYQGR+ zQ2-c{Hb+SIEq*4vqM`xpe>)A>=GGUcE^<%B@eTJp{>HH-Gwq6hjVvfu)%7Q4Ri<6D zQr|RP1T;C%he<~bq)6){P~x<-(M1^)8oU}%=6ZeARcw?&3J4WT|AJk12I7rMX*1DX zHMj^i@Lo0G$`JTlpii}EdIHKsJsUN#_U@_R_b*8#q<-i((Ov$VR)FfySBTG>&i%eU zo-&kqcWh*y4cy<O85Eoi@LLyfy?x9%x(}4c;bLsg*z^?i)6meH_FWc zMa|!R2O7TEAxr}|FKf3;ePH|?^mvLcSCrN>hvBIL1;?(609o9xv{a0DjA|>zg|zT` z?cl3h-jAx|lNB6HYfni&jOAIGMwi}Oi3%@>2!Rh?aM$Vkq+(_|D@eaG_VZC6{#1;! zSS7pYx?d-imFGFbc)mb7!+=+PeEO#Bqbh>=-kR1L$aA@>@_cubW3}$&;aGx%*;}p$ z;=P59(i&WgZgrHaEo#QClZL@I^fwiS*;?3vy$i~m$}K0>SPjjR$K(8EkJXvZY1KdTPnBt73#t45 zC590Bii45sB41(hIHS?HeSC&IJ%$bQQC1_4Ll~dZ+rLy@uq=ejy2jm|s}Icp*G@_Y zo{}Q3FAR^wH5e>va|?}xnvUm5`#&P5A%7!3Zew+oRsA%RP6x}z=yHM+TChvfO|k(UkkfUjkDUO~x_-}@sZMuKjiwJhW{v6 zh*3^FwEUiRWK6tHhs>zU} zG!d$GD2zOaBO9#FC}ee8dGWp975#fuJcaYYM%PK7+m631@#Ft~O)~P5caQf)N7F=n zaSDC>dfyZG;ZZ8paj#kJPX~g_1~XS_m^`n}Tc!}Mxet7Pc>aPbcSTxiYZOc_XONC16-yl&p|c{-eR5p*F_q=AGR3lpHJaj!S7J0t=Gp z1NN9Jzi~uz<;SCXQSXR}y!>g?w6u(JHKR(9puD3|O_nmJ6&v-2#q?(m@Tl7?&x6gL zpDCdHZd=l<-Rr;fE=e+JsNakUE_Z8VLBiNs1r;1`VCC0FX{^0;br{&ACpO`8ecQU4 zcX1v*i>d8UtYmET`BEfIi)&}H)HFG*iS{Qlpi}ga3@`OWxDNu4$-V6v<;y`nNZJSrAV#Gvoh$9N~Z`3b$%Dq6|&fRb2JC#Fz!P=l55O58{R7oI5Uvkg3NPw%U|aSHB0&!8PPbik zt|Weh3w@ZVXK#UYY`44aTgzPZu}ZPjWcsxGJ=QR#tQ}shIJ&NG6T6j_Ia2CK`>4#N zcm)WWFYfVZXT|0gUmOmCh7yJB`Ovr+z@&z{@xM<*iE$?3@^bQ(ZN&<5bzVhpW3IH= zm8CXCZ;gts0P=kx0q08lkv6dMHyI0%ZvQS>70?Wx&r{%25C#O|3^sfHADRTu7f$C- z7fu%xC)-ra$yI@BzE+brT#l(WEv->Aup%%I-5tE?j+viauhfbB!Sd#c70gyx$zdlu#q z7U)-tqMQRUH8&T*4{n5NK5s8+K2+TvZ7WF0J7iSKu4eR>%R4MEO{8K)7V_v6;Ct;z4KpIPaT2mn>vLE+bzH&%HMfYX)D2UUcJlfTTFCFdQSYjG_<(t}n(*KrAO#xMxDgL&(OtJFL_;UXbuzCzV!Jk=uYY4$TL9hHt z<@CyHHh5VEptQLI$XLbjxp*N~QQi(w}K&gh;k zk28?REc+~rC#Ofo{u;`+m#OCE`S^I)kH8^nGnQ1K0@*=1!V4|FEouc0ly8oZ%ji8K9(>eqtDRG zR<2eKu9k=%uTAs?paAySh^7KS+FQ9L6WITRET2U#mtjp2Fb#l@fcTm_TLXD`kOB}> zQj(mr7Z8AgB??mj@U>~?*Kfdf_11`$-#jLvBZddc$_~iZVqFr6BrM)f1 zJ6)zE&h^ev&uV-_-eN1yWoUIuj)@?qs{rE;E0h6#anM;B$Hf}%Fz(N zC><}gSJP;2G2=RdyQ;5$&Miv{k)!>p*r{dA zeKi_m(A(qQ6;;B4uFt5b(J5X`2olR57WOllH_cJYP|CkNqttnMMzs^PjBEH9^bKk4 z+WrGyv+=u9G*qpUAs`UL#l*%VMpF%QxDB$%nSR47mZfjN60eP0Sr=AP8XBvpPBV(x z1gaf@>b^HTap&W{8_koK8746IS4-i>23lJOFZuD+lWK-7FO>sa z|3#*T0Qj2d1aya~|5e-g4;&q+J;S8~0`t=VIz0jgfYgCjK%wh0l#{u&7+rYsFp!op z?`?7F?wHt*m)*9CbuWNt=i=#z8F*fkQoBmPLq7S&BGz)UHs8!h?6xxNo^Gd;=zCuNJsr3@xV8Tk^jH}bwu;fd0_s&EX#bHXF)8$`_{#*fUjU*kvm`3mIk+6nc~ z06#GDcPXW%dhRrXBHkpcBR7>1^IG!k-$I>-iS{~q*QYE|FLv@-QY=6}L(T+Sawdcc z1Q?#dM9`4^JmK72)eGrgy0l9sj%6U7YnzyYX_5*oN$!ASpS;Z*;Zs^hcXq|#=r8+G zJ20_e8M1(ED_7ag7LFqFrzRQ{4!$|QIyTH;qi_kz*|PU;JWI`XPct99d> z?VqB1;!L%&qInpQ*Wj#(M;83c*x@PLpI?%XC zVxEO5f}{L0Nz<2pOHJgo)$;p|$;-m7VxHRQnP@Q35^@w;twis3=PgwCMFf4kM@up9gyk;T;o}tLJV{66cI86 zbOoe<%Mt+=_St6D_Njqy%u4)K3KyIl#?g8Qf~$Uh}|LoNpw&1WGloTRx#DAtReSmF=y>CT7yM* z_8pns4kGw!KUt4uQ7L&MK2U11k#)` z7lm?_Huwxm%PY9VVT~Ttr_g4p&5z_x;zj}vC<$DyfFCTmuWaOeVA=Hr4;dG?wNNqGlMWtP~aBtsqh| zW^NVTkVD^g_+H6yh;Yy<&aNOSRF>Y8jZ%PkBM8wbK7hn?8mcrxo^Xwp1uVZbkh8mt z*{9|h)ATsJHiaNJ41iJ4eH9|_W1@-jGop!*Yse2{mWgdwu#wYG@7uoTaZYdX(xcj`?mg1nz5W$N2=v;<#u*^jXUSWiN#iNp~49 z#RZ&@sN}KaD|NmSd@z2es)ujb@|bQef8Ik{T%Psl zeFDmwV$t&IYnOx%axGA}0;8reXceiF{$ zFG}P^KGDYu&H}ZSW|X9hXU&@v$`idt&aJ=58M zYc1at4d=MWkUfAhEtm!?TV)q9hN0NL;l)2AxZV^g)M&U`6}QwNUs**KHEVp3qbr!9 zH}W!~G-RT(hrV&AHnai>!Dr|%`6E7Cxk*0p`9%{~MJ`)YdEw!4P^uKl!Zm*kWnrYG z70qq%S^G8bhdi(EW8XBB?9AT=f4Z4!Y|#w_h&Jr+!%`jLlxF3&-cXU0rWlGxo@L>V zP5QiL`+i0Q?hUGr1z8G;VmB6KL=3-urw$2BCXeuS2xgZrq@XKO#DE4}l8-(ZCqIBy z@_JQr8T7@MwfKY18G(b{;xln9R+*ze<|VDl|MCnB@F0azaGu{Gu)= z2jJ6`#8Qw$cmb0CSP+?)j$(1aecz(yjCqO4m>*21eDxkIFqrj}i^o6*GaF#KROAEf zn0m*Bc5&JwB7CgrDS%?@YBZ8MS~JyGn>TDo?;n!%#4abx!CskcOpnK<>+jw8)?2i4 z0wW7FxRQGC<ESnUpD;u%zIa#GoQZ5QLiMmV8!T2PQJW4%q@ojLls7!8+ zvRP@|`$Th)NR@V3fyLVM9wrX4Fm9>bZmRae?TN6mXG+W5Cp?3B*i=0855tHHr{-xy zk9Rm-^bGS#izm8BX8|u2G>YK&K`EjiACt{!+{<9tinxey2+SZ8S@SQ_rOHP*ymrhW zQ!@y;cI}&bi4Tfa_nZ2YP6Yqg3`zw9qyq`Q-la$f6^u?ghLUTI+@KUY%Fu}aB09AH z1YqrYwE%puM+8?Hm=>Zo08CAW@k~(uk-jxrTxY3z+;`}?<4SVdRIF}JQC}+Y(Algc ze~?=If*q50@OVAz3L}K4zM3rDMDrWdNFt(O=l>w?J)oNEx^~e3p(GT65HNsBCsb*n zi2|XQKw=^dmCh`fk^g5nDzcKyyq-|svBIp>aZ z$35eYd&A1!Yt1$1TswnJSbMEGpQlGti}qatZ#e6ZJQP)mJzxF8bZjkFb*2EOw`Ck* zQhlZxWoCwu)&kZZ{e984pQNfqc=8IQEf1tafb<^~2Hom&p6p4$e1q9Rf%L+Zw1zkA z4Q%$sK5r}i2D7*E*Q{;tN(;^8UCTb^udD%f-?VfA=hr;a1VD1bR&JoT%W+xyRcpkW zc{#xqFUchIqbj?+$b8hA9V%Oo-E3T&%XJ2LFeS^QA8oZ-xea){Em&9@#kVj75q@B^ z1k#m27gb(W3};qWl7PHH^wIpD8N-NGg;WAq%%OVKv>@!VMKC}nJk5Kj-|E3p@(S>x z76220^lQdZ9hwKBCb|wM0(1+gijiMK8Pmb@NLdS8<@5SB`S;GJ4i5X0)3h!{lPcuk zH81SF!7u;>750u>*y0xVJ77v>pw68%jK<1v{`w}cb)2a4lcR)FH2&9EN47X=$RE-zRw)_&oJDeR}p*0-NoE8aQ&EIwMe zUIBip7q`COppRHKigp@!ah9FICEqskzL9;M8q%j0SSTR(uxDPVtFaUSDXTIo4;9{3 z?jCo6S4n>Qan^EJykuLN>H8hw2~Quds~hl&XOa2hN**rkd}_9YnSh=Xs61L!qHs^y zmbS5vhRs&c;Yxs*vG}_$C@22oEyEM<8Z9X%h`*hF3^?JkCZ{VOn$n2(wk7~xlnz;7 zQtt1I(Gy8U@ zczyNC)E8k(_85I=E1D>N{#C5+N7r?UW3Naurc%A5vr;XWnN5{a>y%dPz4o$M1({jbaD6>cWc%)?)BEmkNHINuRHNU(d z3>nVg+u@h9C8}=dYgajkZdDtv#Go|RVo&jn9Ke-~MvsRLu9wA4nv3LwW|KJJyoklr zBn>l*a1q+E9<4ajDpQ*Dc#0%3hxj$8fHH#>oxmoZ9fjP{_WYV-e8_f?f@?J>RdI!W zDAt-T%xb!?a_XaGHzDmRX+krRNy%u9E;$`fye*ZLoB-A$=uu`b_7yy28sd1~Luu0Q zX`T&7^m_VY6c~T0VL0xbx-g^)kM~~5u4n0lQ{;c}ql(!P&j{KPil`K9-r+^;0H6PJ zhsU*C-hW*jZ2I!o;=E2}8_&0f_p9=-60@1v5(7m2Th>0IoZIAm^)}~#Yh?^}NOH1HtOXn;y36kW-%ptEaqxFNk|Z z?3Hj8wqIB71)eOjRcFQAD`eV2;YF-}y|Pv3e6oc)zZNri&+}NpJSGmX&IGI#IZM7@ zpn08+&3F5qNG!b0W5m;6#0kKNKd!1G0%*LwH%KE(ch6{VhStDIyGR6aT>^w#<$QVG zeJRc+k^VPswfZ!UM)Dgtf3p0XfqPWbu&G$<^F=$vw|{}$uyo)%ASCqN1UyCOIet>F zy!U|dJPQK0R;->)(Yu_M+wi42KP!ncD;5ID2pDe6rcYcS>C}87c}ybHVz&^_obfVK zDqOPf$&058>=w-Ky=c`UM*dBk9}mxQk4E0rNIBu7IXP>bwo>;p_9@X;;gPLO!c|!d z30u)b_hg3UYLEr9Ss@PGgj+6eH3^(^MJL00AiJ_iauRGAnyQtPvq2-pAIF$L)xPFB zjF>=Gqvo!RnD8Ta0RuHU!C%gs7SG4b$4!erj_gM6W>=uj6H=~h9>*91dvNq!oJ!TX zdR6Ym8hA6+2OfKGFJwJXOZ!@}^K@yJ)pm_VthNh^i=IriARAQJD-1#kbe_!a}#F= zitvOs=wCPIyqmPhibi~%EfYG(wAIv}o->yDtV+XRsRBII%~Dn<2by3b-mW|nZy<}n zjsgVC+Ql_Otq5J@_ZyA9VAUg^5Yyev;;Lzv9FfDqq_##A<*T z0V1Fo&9>EG07d=FF)%dT|Q3(d356qK8WaGm3pXq zdl`G*#a{41c0^acM(EZXeFhvVz2o^pEgWUfV+gHso{Bz}#ipfJ=GmMX&g#w*br*)K z%~OLiYtCVk#`iI!!I{*~2-C9dr>2%t6HuYgQkezY#2NC&kdzj{rjv!OK{u}RxzJMg zYs=ysVHeviV`L+9dLKCYOFBtN;I3?N#AXLPl$qODi!V%lixE}I#Gjf*IdX1)z$L8L zkAFhmxT};IEX%V(g|ofKrf))?=Zd!<1*H700>45E^~5O9t7RY)f5fr?NQ&FhSB~_6 z>K`SfNjUN9zYo9fgyf@pb)ffYzng`Iy)E;dP~n(kf56CTrlS9IXM%z#>>HSx7eoXU(d z>AvA~LGhcDt|bgxCdk09ODI2W7^7#$wDHC^jX0k9r8?)SM7WE3xpG+XOGX;YQ^QJp zU%G%u=yQA^Mi=a(os1keQ_9jMw7iGv9ZVonBL&kf!mi|7B6Y-V+_#<`Kjruk}@eSOReX< zGdG1XRNo1$yMk%M`<`2rS+c)|1OD%pmXiJ@_8>{!60@Awtq@SUFmB>G-fP1B%3hIj zQ}DRL?9*uNAZMABImPC(%Xy5Kc*`78N6UjHkSDxw-6b<+X%w--1-#m`(ez32OYc;z zf}ik=pw381Xe2iE8IZl9A_jL^1zK2I3{q$NTshky1a-cz`e`EX1b?zr^7dR$Ab#y5 zs;o!6VJmcuVdO1|`e9+f$Tr7HOCTp!K^jW;5EeU*KtiBKXk|9@2N?DPb8iGWwP$jP z&h4(gXW)f`6d4kGJxstWd{P(h9YK{7M&f+HNbW6;T3@WgG?ZOiRF4=|6p2*YUHsiW znS^z-?67M=Ds35ca+lqw9Z3_Wd#4zQz2U~OWqohrne#cZWxWNUaW$m;n|RLh_%fuW z4o}%p<9AnIBa_n9KbE(l*Bzn7}VblZ5)HWx3MsJb=%OYKM*otaoTJE^3*C`y4`@O zz)ZOEgiH?Xi5@1PxY92c;j1@nweQB}L=`0KtO-6~W(u77D7(0D*Hd6A zJ{7|Si{b~HkmM+7^VZo~wRI>zWLQkGNwdbO)ln)nc8aP>Bc|6AXHJCWy)pHF(S>&R z%gV`C)tf zBfyz97%n|~D><^yH0zAvfuPusA1LRI29MXKHlK`D6bI$&hpp=U9_EKhUnm6{e-ZdE3P)PaT8pfa9a-}=kSltz<7UD4yq!jyyha;=RC_wN{ zGD-^wFve#AVaC7#r~}cBz_xFek?^hp>+aC*c&N_O14nH8MVYx*qW&{vC1`J5-UHES zUUDlZ3Kd@7qVFk_KFkOT-_#$G=p+vSc%SdiYBxKiB-V`x;9gSD_!RE0o!ZC+;Ew z;U{B+=iaiLYs=0%9`5ADN56$00@=`vtxmWf7B;qVj%f`J{?PpsHO}RBjrQcphyEz{ z(S7!lvU`O4#Rwkv(ACy_cpKB1OndR6b{?G}2#@TRefZkA%#+|PQ?T{ z-mo77ZgC*b0C+(jii!|tO|7igh~8ugGK^)Trya=m;pMZ1S5N#!!5LF!-mEt@2m@>M zEfKZ;NFZ`3K#(6rGOKay~Hu$3$#HkzsazWAfii^r9KhW#&_wRz;Zra)3fqFZ7 z5<_)KY(K@~#zroG9=TrJSQcw1lw(-r9+ru6B#DJVh-dH7j%ww zB(vXD>GMeJ(Y6xc1KoO+_&Hdt+$-2xyh-hhZ!rM%$drPn{9qF^^ z#Il;w6-xKvpvYtbLrGIR8pg^?(ciLaOzC}gB8B7UO*!W)b~xk5nAUy~4PuW-iQ`Mp zP33(^A$QzpW+{7#e>hmV$T>(C1iOc5QwVKQg8Q>L^2<&#le*{DpQ#a^F^RFw@D!cw z{v=e%Rxt6&{zV_I=vc*H9jYv^E_AQeBgeUcn`?dt9@}uy&82w`?rK-#zW{I+L+68{ z2mF)wL;RlsDU<=)Pp&_B67irDJ(R4Ht*8rkLwi9Y#I1u}LqTSE z-oH62UP~}J%vw@Q?GzyaPFnbupjEKt3Z#6bd!vprKhk{AKt#Ov%D6dvw*j8q4cry) zTM?+TY_eOA&-&mJ5_2vx)MfU8UFujL^z#`4O`4PVz%?s3&{w5@P61R0JzW%+Z!{$H zA$RkPWGgQ9ymY|oc1a9@&)?eYF*GOFXlhl$OTo3QJ%`_qr8`i}b<}@IOrOQAdzsBD zPc-dhSe11rd}lZ@B4d#%9w%&ICTlcc>TF9KEibsmZS{w)A^Zq38fNkuG<+SfMFF1G`~8#q$1FF3#ZAvZ;~)*i?Fz_Y zaVY~{51-5TQG&hjr-b*sS!0Rryy9qBHrR5x*aIO$u^}aWXFWUL&lRDcux&n0&|`6u zogwdzR9M5`H9bmrWFK-WG_~iRoWT&y$JYSq$E>&ZN>$P=Z$LBFas%dGa%&zfazZ7` zsz6@7+Fl_HyQMs=f_?u)y1U9c(RVgXuYIQN#w=^MfT-e?5p_eMfnl#R687{3MTp4g zRlX$vHB%~9cvlp}rjc?7vLrTOT!8l*(Wv54QtVRKI)%7Qx60}_{Q->}#OVpJKypH{ zDT4|LraRcWSvjut;=t!U8msX7(<;8$p>6>wfU+XTa7$Akk?pJp%}{R4RXKJZ*7URb zL7*Q}qktrueNB~FL;jvJlaPt8@lrZhu4k2^D)eJ4Ky|$0|KxOyrnBu}tqH8=;#+7V zJ*+Q)@%#bTrBI))&Z_p%nBcZ=os`tJT~c<~oYm8BpgP9j@#Y7Uvy#g&m!f*%?4DdK~x@I)ybFI38906llzmnS{g_r`eYwIJXd7+21&7$Wd{#_>yZcy%7~?JjLV3 zH<>q)-clz+&44zcLbam2Z(EE_LsaQa8aPl=?;GVeO#Q9uRaw@#zu`ca;X=#S1)=TO(>71zdL0c6LuU=b4c6>iF3 zDAS151&~mtehWxG?}7LanVHZ|Uvb8ymQXUshl_WsXBa;uI56t9`C58!44&GA!lGqT zd-bG7ZQF=mLHDf@?pMLvgyc{If6(M}U7Hz6{CNAE$=`-K1sgaZoDjtq0L(Nb1xK}j zH5p*?cSI$=ZKM&O9A4TDN8ImT#1#h>H`}<1wv6n%yvt{j8BtH+BZVUP2+=_dxKgNy zh*n0CvviVJxr1I#>_zU>eZTMC&;&Pxq;KoFpee(g+1bf8+KC>+Ge?vNEz2c=i$}1p zL!nm2wRVWt`#%$+8tlW4GaI;a1U8pUz1CbeFV{n8HX^yD)Is#njaz*2NoYmahp~(a z(|eFuZb+j=QV8?2gDUPfK6Dxa1|&9$xagb6iZ(t1`^Y)RHIANISzxgcQ+|c$B%FhkRs zsElwxh;U?bd@l2(GKPu2C&w)5@S18XUV4!xIH3M_uRJ8dc}K``eH#H0%K5M*wJ@SI zR$@j?hrKk9;B9vd7bMR^r~`w+kgpL4JswxX+^yDKaE_d5-T)}vafV|`>Jl?FNF!zL z0)=)>Q$%Ogax+8wfxUBCqDD|NMhcN%YB<3tc#Q2;qlknWc(N7Dx~V~gZLO5|XxL|T ziy^q3J*zyN{3Cxcs3}phT>Gn7&)BE;j}X^JveYfCkWK^2`cSU*LM5tGoGiZ; zvuRwbYF!AXfb8yTL{;Z;5MhsXkg3(DqgcR#9YseBJPk$}$E$vHs&p%$_3iIb!6AH!9ao zW0d33iHk|hE;|w$XDB&4{55H4ztPRWEa-YYn?rW}y`OB)`yq1yA+j9ZQcF1eF%~HPV^uA~vKHglrgxLwturXYU$CY-$Nyl9%fN z=3_QvWm$Y6y^kT3J(hCu>rert78(+rWrA77?en7yNy<1!gz-arbo@f$Dl#d9Yf+0NcqlA^lES)5o*OOKikj~ezZ zCd?*?NI#K@%|0Px%8qY#lrR27{};%5r~Iexy^N2)?&;2c`(N5yj@M+CFzQxs?V9^^ zFTK;Oa~pt(UmMWL48}oKSw4OMIaVdL)wB0JagQ}<$qG;UBo&JqRezdrK!vcxf)?d6 zc?#Y{NS&9mI+1OJNL~S{`4YUxoM%825w)s}c9B?P_K(VH1F+-T$i7A zY1SnI&k%Jr4nj;uCi;$b4fa)*o={-M7nYA}uvhT0@w7X(+puDMIe<9>p6=UW=p7(u zA{2iu`D62=K4MM(g=9p$dm>NSvzTxv(OU4=vFn;#pr%Tr_6CS1z~;1v?B(q0C$#i!M-}8k{q!sg%7SFC6rVQ6fueq z(YzwVmCCaowO6%i4-n14ZjFn?7r}+dh&1R}kA!F+FJb}op;QNZUu9(5c&GnfE4wE# zZ$2kGjc~u;2}j2`xTMJ;!qT(-VjeS~OV#G287fDKqk-K^?mo7pW|{jkPZ<0Yt||;; z^d%zT92s#&5IP=fwdoF%X*VGcuo!T2cR?o9uFy@w;1Igu0fer2iplBb4(t~LBNsEI zayi%+`%r3}^AN3TI9~L zpIS&G^x(18QDXgr8!c_pE zk2e#SNS@l!Ua%pJRm(~U2y1!Ya`dyQ=1jth^^4Dloe$AcXSPfj9PJ(H1RlljMSAdG z(NXh^YrRJ~xxMmf0}_#X7xMCcjytdrY!6pgm<1rI#dX5V&fv_?5$RR?RsjheFweDzk#9CNI7raUHs}c%gEj@(rk* z`gcX>>Kp0+=#sK~v;H{)G+~GmESvs!oMkf1UCI!kBn2A}r6lRGtdZs&vd(lfdpJf)-&UFSuY?XI(%uWeR1 zOrC?M^0xy?_YU)G@0Wj0E*}zxQo_Sk&==jD&P=!4C%5IIwaDD#+VFVuhqlqTaK^3> zzO|@(>e;Eup{uDQ)jf#i)Ex~X&Um?kM7iJc%wI$d-s}QA|L=QUv?C|DshE63zm?_Z zQ#AG+HlGw(D!4Y42O;X1=H?qX%7J;8)5X>k@q)>-4mHN!ME}Mx#;^Ms3M0kO z@wYca^GGy(6aul#m?RN000C9#V{bc~QtGW=>w%}xk#W-mSpJ5hLG%?&KG9o<%FgJ% z)`pA)dB*zg8hbFav5sill|lMf$r8nK((V$&KVZSV^$-TbOqS;`aE|Sl6?{K&*YJ3v zx$N<){-Vv4T04q)c3^rU_$_#YNC?RLvTdDPB`zs_2KK3%+Wkh>wU7j(x)tv#zE9mt zs0y`v1=YEm5AJ)Cgbb&A5aw83<6NUERY0%h#}XnZvm1<#z1!Qr_VR~dfkjf*_0$!k z;IS)DjjOovaj)6bH@j3k5pXuMwM|REE;ViA9}qSNQBke;co4*NJ>{ASJKjsH$^s5w zS(b%akAf^)NSa(4+$EnjvahLIq1OvW*e$Dk96eObIwzFxYh3d8fCN?IWl~23@s-b% z_B zL?2Sx{8(P}i~2(^>yh%_$WocT)#tAp`S2O!Fhw=3l(3fC~8yp8=|KdvFTI!zHir04_|c$XMesdl@$=_XN>n4c!UPea z3ruP)7bd5VkdsHbdYjg@tQ*%`hkRghm@Kh5?mS~tO&+LtLvy(FGi%npN6??JfGfg0 zFWFDnRoh>v=a~suki*(U0)JYq$@53+A4lyA1l{y5*VbZ(DFD*nE4s)18a*@GY){+m z9IGWV)2p0F>)EC^YMaZS%m(lzY5J7fm(sl~w@4#<(SK9`<;}{uFXu;LTILd`QgZE2 zDADw`rF*uKnc8N1K<`aS!?+ooC_qqn0>#T}W_Uzf7zwDMPO{y3%x9|0ihOr!vK)QJ zBG=U9YaKvlm}`1giKf3T-Mt;pd#vZ>If36cB0rn~zwx|Bm!<6nxP$_i6eHu8L#XJ> ztsjK~V*@ORy(z4f~_OirBBzwOVP{EK-b8NoyWLl$_Re5#>6G`h1rL-MNd?u_?pBiRNYm!@Y|rsG*-?<9qCfB>t8&R{h;V zS`XvJ&jrcZj)9-u@=4t0`BF@8cI!=;^lq)QQYyQcdsd@d)oDz4MNyn7$xb^;8F6o8 z2_3P?dz@dXSR90>yl$3@yB^2<>6_iFXvUssv6<5RFOh`aC~ET)w~Q6!c)q$%sw%>h zj#mL&`xDCO40_mH)g3{eY&fO+8OU3OxH(?psJFJUr04~I52K`zVAh;k4t9(1eo_oL zvylWNv_Y8CSGrl67U9&cwE3rxBuE3jRP7n&pqF1LrHUhTCu8f*?yP{tsmz?>qIsH$1bDj>!0aO8u9QQxw#7?Cedj; zfMhiJqZ#8a>F?vx*;aXQAVc;7y+KxP&ORRKdp%ihh@&AJ$f<{dVyTBbn=s#*BR9!k zceAAn&mOq}(rKN4drl`ww@GVOb;j6SsOqFQ;7%w}ZbIc|R{?g87jm;zd4>sF&(A?9 z_r%Hw3>Mn`5d;D6lVURjHt%CtHjzZw$ipV!fo(!pa3zuFTI55bfAe$y&eXT}lP?#h zXSeKY%LWe4dB)FM`OI16Ra~f5Ra%cEA7W=+*tR?h%T?|71x&XP<4fa>T5~xZQLg~% zW`SJcPTJunYXkD!L~_Z`(UL>!&@ar~{h`A}=_R07RNgho+-IKS>{V{<$8USay)D2c z_9Lp4GG6&doa16`(mFR5ggJd>jTB&-Z(;e68kjnzzMlI0?)@fB#^)BCFEw)(+tuD; z$z5(2`rYA;AJY_GFAcn9zPAb1iHmuUU1ZP^urksMFoivizzVKU2ZUECdO->$7T+c_ zO-J`c>sg5>u19rNneBhE{srnRg1We+T`yv89^+CCkNr!{X{+zYM46iXnz3vKx`5d2 zylBYCUh&D2l#@;05<>9&iqWaqPH%;K9O~+{LJa6LvvD;jOuNxsXvRfrC)yaoIR^`R!a-W5jnGe6pw| zfiY?vQQqv^ui`&&DOI_g#h=EkJ)|G=Y4O^!CDH+(@6_ibw~5*m1kyi&Nu$8l{edXs zlmiD~)@by#cHadDAP7sOUg zR@32v`=DK3EV4`BmltEo^sOzccouw#0Ym9Im-D~{Tb&|QA-MH(ezRh43SOA_Gyi@v zpxHht(cV9v9hv)8KY4GsPBF(bu&|_dEAbwmDl0dCYR}*bc3kV=DZm4yPk)cNt@N!X zYaG&gQbH6d0lDr-hN#j#zMgf0>N z7enUmopyE6KTHdIl>64mo@D1Mj?^}%3O-4Ekb-4ai6|6E@U*4?sfu5%-EZ2qnb{{x zYV~(~1u~!hHZ20;YS#+b`nii1xN~PATTr3ytd`q2t1MN{yhGQB<6D|8&me;B5ide` zfVEDHibQOr<)xhqBbE$zU0Y~3WJ%x?P;1y0(phazg?xHIsi(MSHR}tz&6OA{>%d&! z@Z~*Vjk%TOYjxZ4@61682(816t%V{zv)Y0Fo@-`_VPi}iKs$Wl|>%}m-)QNtoD5_mh* zClnX`n}ZfAjkPMYZWLy`g~iFAVN_AY1qv}n4)VfVfh|lFO1QAY!zzvd{6lh~(SAxA zeKSw_m?y9;dm3lGBlFXUi#;jpXbV&yWzTG*%qwMC%&jY-`6@?@{^Zh|-|yR1-(=OE z6n(_KnTRms@=Kr67lhuO7QEs5viYQk^|-ubqZ7@3 z<*eMC3Kfp2jCuCuUeM{SCj)rDQq)eN<<|zA4xfqWO8mKi1!t3CNR}K+EF-~&w=54# zm(&L!XUzX;C<3)j=27-s0i+@p;P}xG|4+xC)+QU>=qNnsKWc#aA8o*e01{~NV3UtB zHUKaiFCa9`Qbgo~m{GvRoNIx*x(quB_Xi+?@rN%41bf?|6O>y&Iyemqh|h7s^M3b! zCkDdc#M4u?NRfzMxbREuc<;)x;vjcl28S+(R)+O&z}EDaI}lu=1W zW7r;A?;<|QS^4IPWSGeZVo$qLFc2RtHBzMq-S-a84V++eD)CG^H-|Sd@Bieyj(C(_&y%;0N?yNNYST} zmEjac-l;OKq91qz!5$GtT3SBdvLx^8&wTA(N9qVNB61?mvsT zGY4z*SnKN)AUj}1xlJXr|mxFs8F|RYGk{GWdq)}%{<5oWBBeZi0 zH7?0WO@`4F999wX&xNCKP14%_PwoKHng5QiRs|1QaD zL1skSZ&nITZ1l8h)t~nK>$S6)agJ7IknZmKVhEpo{$aD@z06lkGco` zzZ(C?&-}*XZh*d`6f73x2ZS^H$GfXd)Zn$TP|1mr;)%RF?DMd<0C7iSR;@+Cx_KGy zv6C$?SR+epOG#~vot1wfgD|{8?jM}+40aI8^xiVKb8WZ(`o_I$%;7J_!- zF3`V-Eef$J=mC*qk5l*c4)|2#?Jh(M4?DsWgY+*tJcT>lwf72#&fP?r`v!?>%7n;b z#Cge3-&MS0u}az{@KR=w-h@9YeD8a2jqDS2rwiEtpq$>W&)pSygSk%9XerXD?aYWi ztV$AQ=?`UcmE9@Qu_ab9a$bnPW^@v18n(50_sq0w;FF|ZrH@QUlRg1-jcp_6WF#LH zNuDK51GHE?Ye9ii*DD6wG#S3+^oe#{{bm^kPgc(Cqvnr z$1eAK0MJ-{MZw(`5m;b@w>Od)Syv<2;_cpK@8d5nheH(1aT}Zc)h1f1=E~yrW)xg# zYn&n=g&%f{tcu+DH_ltdcpHOeux8(9b#{C`&c2#n@`>3=^k z9(afZK95C_xFq%ou>S!^|0+NFq#64*r+0J*{$G-Dur^Lqv`=OYT1lT15>r|oie2*x z8i>+P`A`Ue>KT2t+_QnIIzM9+7FFXm&MNflM(Q{BPiQhk#_r=vv{G~3t)5@EQKv}y zB#(OKba+&A8;h%_NBc89c8`5e{!<9=$wZ(;o3nTL|Ig){KV&~5@h8HN4vqy!Y@9U8|>mQ?8?8VUJcRmGG2y<`=|)^mXxgtRt41BrJy5>9)R^!XAm?n~}zex%VW1A^-oGUFxE zGk5L-AMP{ms+?8M4XZ4H2)g7%fqnnA8wxh`gDrYD=Um#8 zn|zO#7A35DzK-<{e2o)BHo?YfFBI%Uwojf}`M&iwjI&VSgs4WmjAh}1l5?lk{vo@) zAq7s;@AI9q9cSKJiq;TU!7(R%(!^A)*&b($wfDBrU&tzc+_5Lzdy(yg$g-XlXQ-BC z*p!VHPg|<7YoR)b`)4Pv_p=Z|x3vOu+v64w9W;EkeF3rtE9|UNjWVwnuMM;C*Tv2Vm0~ zbBVo_u})KAC#V%8|BAYR(I`K5ikFd}#`{2`z9 zUeST?WHP%??lIeesB=;WYn`RAs67{e#SlQ8>|c!$$XO3L$3C*JQOdmWrRXW4OgC!J zhV}1rP{PmGJ=oIDFF-Qs4>;$~n^5AfCqVY~vo*T)+dUxd`X9lqO9bkZh92x+Kt~AB zp>g;{R_Gs#gd>Y11>OG(1)lFu3A9JI-q7p+`X(#>xs=)P%E1~v{iyNqpT_SVpkV;` zpdDS8321KBn$DX{vkn%MmcsS_DcX`H3v>qaU5he5-GiVW{;D`2 zDq!*hzK>ekZF~GM50tSfi+Qcrc}TCgUb)F;!A)Kw&aiB}HCjK9Daa)z<*& zLOu9BDrBa4^!FchV%E~uA&VD>>zyE?4)}~1~dn=gZ(wAqvA)sN?RpPq#5X+m@ z2d8~WtLJE5^n*}o{Y6^q)2NfF#ZoCD%MrtcuvUJte*0z~_hAQiQBV2!OdvDlcNLJP z@VLtxT0)laNujD>dwsSzQ>Fq#Ce!E1K?$#qnN@MqdQ)G3D2bOBJ4^ZdZe&|}GNc*= zzeIhvU!n5e*&})%D03ZGZ~NkouY46cH62^CeBy;a;jC(cEG#;g{}73J#a| zSORe#at~$$G(4)&C(M7>Fi(#9MdzpwtI!PQDE#WC%{m5|I%f|+`u0X1%jE%1O6Tm2e+#iLu46ySI){NIG5zDG zkkWcz_0Js}1+=l&w?7a7ZCF`MS?Zq?@#HOaz?h(P4r|Oh%GUk$$U>ZHljs`Ln0hS# z$S?N^g_D7&RsR{_9~~L(-`Z|}`~xR>WN6^*R_}qX{6DHL9)Ob{N8|i=|Lo&{SDv#c zeSs0cZ~k0bR6{ldb&*|8$0E^V5Um8+-iQmZ-`wA7cx zG=~ySXDiw@1oDx3Ba82np%jgjo_67~&{n;WZi^;$A+L%uvjsaPXJtbHUw`$<8DdpT ztw{pQUd7O)kAH$&v8&V!t=af3K>mV^r3i(%$NLS=q~p_ex?7N?5D^PSRxo&CL(1wB z(a&mFQ_Cp9=Q7oh_*ar)=eu^b;U&>4AH9v!7$A?}{vV;f5!P-7GL@hBm`+_WvjneG zQ+Qk#Ph)pGyev68@Z)I-6QTlg$))>Z`o*LKM`2ix&L_J5b5pEi#f=53RFPu40|^RTL@Z1(hT&Q&JroYu;)s3%dLW`B}1%gYev-b{{mJ17wqiQ z-vak+o&ea|cRm8x+Q0iOeiiA!|3~?+gln>wrk-+4c@K@cUqSWWlL*PTLGXqs@(0W6 zh`h)Nv!OXvunhlQh?da5UFn4&4iK}peHK|kZ&00o`PsY7(3MiTm8res=f~Y6 z@|UXL&t<70BiGP=n18~aH+gq}mGccIhgWx$9R6c?6mupyPM6>sqIuz#A4xImRa4^U zT1!?^*-CAVr$jxguHXx{JEW%)oYmtVR2`P0D)+?f?U3d6YsIhLYTuqet3*@IQ+<2K`ab(jPn=Fpe}SRy^Y) z8e0#e^u8-|hhZU4(~bv=8MsB#n0dY`%~_<_XR=(u)T*^kT6O2X-u{%B z1KNVDiAueyDATvvL5^3pKXMAc?!50?9FO*Ue%C7$so;kKCMOg!b7daD zkGXS&;Oy3tV}Y6D@nh$KRKSg6&(*DMC2IO zeGvhc4F2d~{5j8`2W(K)b$^b4;D2>N?Ym-DP(VqV0q~{(L-POV9~cU-0;u=!j{hFE zvXzA@6P9)mx^hFqtx+_OBO3^%++-3H9v({yH%X2Vi{nWU5$0V&WJ_Oz^3A%(=k5Db zKEB6pP4!5!(&^z}g60OAI9Z4O>=^m(gLoQ?g~8^6GJu912e&t8kX=w|R1DqxT8I1(!U zSK%ppKr`{T=H(;J8*b`$7HQAU9wxrW4|0raHuz`!s;)7CRm}qsu7_M^g%7M?W_dX+ zL{F|C!|4I>lPtzmsT7xk2y`I%w6=2?ijhr6r%0u{jc-a29Lo=4w)}Z_Uo>N=C1?Vi z?Fq6;eAr9 zl|h_|8C#L=A*-HNm2{Fc$XS*E>A(erQZgv=vtkA89R0~@>TQd&H(Fg%-4xz4<&I-e2Q>0IwcaLN{kFTO{vH&evmpYK*~l)G*vb{WeI1Y0 z8O>Y^mFa#bg0y_`t!g8ckw2v>+|BPil4l>YY7^Tn=9GYBOM8CnJT3DU3Fq@;hsmBR zN8_6GsBfYwPjuvz@EZhGlw^XW-!1pUF8&C!xeyQLippJQVd-g;X3e_pS(GEUMdq4H zAt<8#CVkuqCzbuM>l}glGa6Q=3=0hhmpqR+&>^j07#?qa1UV+#O(tWJBEXvu3ZdIT zk7P$LnY#c#Q7)8???~Sd03Mqm_yMc>N5Z)|=x+fTk3HfV&i#!{CPV*6Q_hEfX+x>~ z{*Mk=l z7nBwjQJk|K2&$Z}SjaY9G0T>+c2#-J=4XH@g;V{=U`9dXRW>O5UkY~F^rjAGoW~zR zP=*b+Y;Ss4+%Lv|OKF1uO=vn>3-^$?<+o>_p4Qz8{C!d>k~el#`>RgSXCY1X?WO1E zTKq~Ke=Qw0?3OyJJ*|UYT8KaW7F~E)d7d(RO>{$6J~+Wai3JZnse{f~I@@WTdHopD082;yv#yKvvq{*|~`t$~SH>RYp zEIfV)*gdQ%#Y@@Cj2XEf?yujd)ctnXt$!`!-mACHDcqx%`;H~M1+*-=ZCNTRegV$_ zxzv0LqHDz}yfv>b$xludX`JYG$5HAc?uxBP(rd?9rwd9vvAz2}1uDj_Kw6Q1@~&DI z2S?clre;FnT~+NA&P)wb&RvB+w6*r6s`+U#^$B zbz)AslI3S$E3^)C(X;f>$eKp$e36y1^m&#`qquB|F?iTikza>-#8j0s6~s|1`;%E? zomS{-gX=mMGYkQ*)G@1Aoi&$XLMMe}HX(|8(8HJK{jlr_112&=Ety7HYrmyd~s~3%6m;oS630jsIt;4lw*Eo0@<&o$p zS>Xqvezy^dO6G-rMwP{&T~}dFol>0JacTe;I4N1sceS7ZhE9ON(7vl=4dN8=?(grW z(#?{2i3LDr;>Z4@S5KGHkqr>rD)ncF!F9EO4+XF)L#V%@bV;N*W%YSZv?TzmTX%%4 z3+y?NZePRr1H&2bkzc$-J?eD@I)&!cdS}AczrvRJ+2K(^Df-r&m(%?;>}fp``oklM zs50GmPhhtn5(7g%;itos7lUrV^V^318(VK42-W}nj}K9ntYb)IH}=TBhOx^q!-OOu zd)X^XtI341uQ7%&ma&FXgo;RZSt|RIJ=r26^?Qzby}zG7eizrh&+Tr{`@H9Q&f}bi z?MyK$>b}s`-YX6MdfF<%;;r{$o*AMgeqiN;Mc0C6$(y9*U-HGq z171)gN`k!hn@L(E&AkzKY<}E>+c4oJulzeQnD~N{#H||3vuV5HAb#w5;r~;GbRe^i z{{1%tgnN6%pt`66jsgNYL1^zYw4)?dfI%b$*OhK~?^r^e-lWY@(*FL) zl|PV@;6@_)EgovSf!th+$z&5 zO`f=JjzAd&`HeHjvaAvxGd0#QP>8;+kp=L#k- zXx1YAWlgpYTp0(kzt+2d;0J1~jd32jgUwR-C8}&SAcaoZXvh(h!umlzi{Vou_00=+!;!manKLEA&mUwMGp+FXGlE7Vkx|`+gvXBC@Sm<-s8AiTe3n%(RvXNz4%~ zeK&@KU28hv_A6Tb$8QRg{FQ0Us#I>n_FBzYss+NAw2z~bBkZa^4kEjKl<~88?6Q2 z^?JTYaTVNGgxV(MN}>epTp?GYr>97}LE+B<%{td(w_RecKrM*b=ZQjs%ANj%7NEEFmds>& zD*VASAphr@`i^>tntTG4(|)A?Jc)Q!e4bC--+;DVL053)lkC7UyQ@DU zH-9!b^hmjLSZku?w^>|Ir8?QbZy_4vu0{l{#<}FbQ+pSDPHdIPcm%@i{jT@iOlHbJ z0YYv(S{k$16mn^Er2m%bX6AVRDV*iG=Zfdb$bwG?^1r9tOJx-@#tvu9_Pmw+>2@;* zO?>B(PCk3xb`|?`DbP3RO}T4l+}E_8p*xpp{mI9J;;NQ^a2K z`1%zWzy6}|B1-K+Bt2OWkUSO_M-_*u6sr^~DV;fU<`7Sz^zWY{4eN{&??Wne3g7$W z9z4o)ILF28IY*n`%@5AUgLh#xx8WQzvpMf*Cg-&s(|qMc-HB1mq|M6#0a3tcHw?z3dPr|i_ zvBmjE{4Ltm>FNxxC3Xbx*9`BVi1S}*)^Cc-?9z+hL!(AS^K;W~+NYm0sHR)rdNx5) z=UwxOE8sXs?518|5@b>Bevx<5Pa;;?F_)&V(#=WI%Ok~foeSilM|3I%zl@Z$L-N{ZFLY}KNanZsz&d1$3?Gb420#h%HEy~*Hg zug07JJT20ky+#NH8nL!Uj%X5(GDjbk6Jr7-2L zk!Bg!(AO$xU=gePMytYvYxc?Yb64wMRUT}IwyJl;mi`?Y8;+HHX}!|w-SflAnqkU1 z*J`@1{M6d>YxzIwiU=1jy8`@l2=nM|d{DZ-fXOd-1`%x{cp3Ih5E0Ae469UP5I(kb6JEX zzs_yPG-c%*!zQlALGq|&$_FaDtR{7)0fcXeNOFFP0>MlAwv_RemN$gT#+C$W&LWP@ zdmf`_wd)y_m=!NslM-IT`|byG0Rkpww{8O&9*fVyDc|!8T@}nx?7QL>;W~Y8Bzh{f zWZ5bV@ljWl*`mew_#v*xQAld>t*~b~bm~m)y${Wgwwn6$=xX2KZt;Ye7^^O+rY7y zHub>?W?IT*#|N>EB~Y_d1XgCx3685u_T)F;sc$hnv{gQyJ@_;F{YlJyE}G_nA&lF( z2~HfB$hby?WweS%)6trlnd^nvfn0+Gm8wsYa+=L|aEg`J5mAq1=(rOd*}s~-_wOHt z3DlZf&s;|uC8+D3Wk{Cu=Bks|lSKL}3s7InDwCE>+35AkXTOI-j@qNSg-soa5$dqMb47MDWO+~;Wt(`{Hw3!vddTKwo6TL|oC zXME#y9n{`G(ANgOO5=K9h^#s%InIHbP8^Ig48y5o`)6bVw4fND7_~vge{ejRunkbdJ z9-r;;)HAU{`13{}!B}_(rZ(aIv}Q{6adepISt)|zqnAUR8V>WOff>6{C6icK*s#Hq zTSRGOr3a@8ca|WH+lSi;0Pb!TZIA}hHKMAM$(T7X3rNilX!myeRx7FR@meTG7!wbn5Fk} zd%cG?eNa&eP@y5UQI|BU$T#9NNyrx|ZAZT~D%&bLV1xyH`qT!66_z;K=wch3!}Fp? zV=9riRSDm!loCHHM)Q&_j&PIV!R$GW=}SKerB5t-%_m6j%FJZ_G+TG4(;XiC(zNj29Q`tW+OTHG!+FHOS+ zL8>d_91AL|`c=Zy!v(=`AGzOwmN(28u^KUcWjJWITrI%q{rP-6C+Kx|BR?r%+S;1|8-{KR%|;i%>|u z_ql{IPF?}U%iK@?wMqNFmg&VWYLA2_wyFz1=*Nyex3n4=iq`gznYKL`TJyiw;mIv~ z(!~#*?lAhMa#dd59AaW=JC-xkH$x@=#uFi}0}-iu={L=qkg!+&}8{pgJ1^*DGZ5{oD|5~CLBbIGMQ{VC46`Vxcdtt-SHRiwFPU zcvd+B<1qyta|nc>qipPeo@Oy189FAW#&Z>(sJyP}aCC^{$b&M892_98^sJ7 z#vTz*M&&v-eCTnsjc3I!r81J5OoelYi(_Yzo1iu~}aL^xDb-`zmbaMS|i8&meuG7 z^oe_^TBM&C>+7bGJy8};zcEz1VqrZ)uq^hxr+Jj*TcMJGpvc@qyO}uo0MyW7i%C2( z6}d=$AZ(lz7%K5Lk9bT2q+6Wgn2(>caMv#moGntw%kIHPHvIx2`=zQ|KBj$Z;BOu7{n)a~_#n}} zSQLi`Cx_<#An|Q6#mz4%& zRc$0sArE7C-84A8sZ@W#<;kNHF1qQ0mf19sS;;T16%y?ixRbm^2ssf6ot@>0A~=Jw z^Sn3~v4=kkxuEDr0gaB zw*hlAYu||uz31ETZG&3rLO5)YaDKVo2pjuV;y}-|_VcR&5AvR=$ z^a2swp5gII?6C&igJ|n@-Y9CMWWtZI*pgJOS@9=+>FLyZGdVSdHcLH_2fK33=MuCa7z zE>_qrF}dph7>hSKof-K$#4NGRl)LX@%01S~HHKtPZdHDI$-qe7X-gAz7fsWMv>RDo zClzw(U+yq66t+M-LeepXs)1BL&~HZ7Zqjnz;+eq+Y9b5k-2?rRGJ<0Q7Os@Yoe~8U zJ_eMe2M0x^3ATVv^l$^y_cyID4CqCv3;%D{|H{nv|4a7#OX=`mA>=Xmp@vj1ek*(G zgQiIm&XE(6lS;qz#QTYE+mH4NGl_iGI`<#*)5{U@AY@Jo=7WB5@gVwf2@;w<69wd3 zi7^|I)t~mH`u6@zH`rudd<9D4%GR z()SUlefrk>%w!?B)|sUzW}zllkt_9~O=u%V1Mlihow9B@drtTIN|n zW#?+?MP@()uI#{Hn#7xhg8$k9F39#LW9eIMg^g!^ID=-R;*p_O6Dpe=6H!OTHOeLF zoU*VVobU6?2RxBvy%M`wW9~}izRGB@d}M4Yz+QAQs}@iL_Vvkkh{+}+@lT1?ewvja_v{9dAls{d~NINA14Uwoo23#F*7TEe!nqhSH zRImK^fZ(Qw@Uy zPo6v>DpTl*3+v|=>9*+ZjgXqnjaQU=*6St2dkt&1Qp|1`CFPD!5FgJujjpkcMda=i zdX(4my%Z3ZR}!m{x>Q<%s?Ju;!2sYsZoDnz+Ep%YjA83iGIcJkD%ofqZ(S-IZy_$3 zafiPZv$Mc*Dvx*Y59Ts0b1#YCvwRq8%Jb3`Y#QYQGOEj#51#g$ne9=4Z?6g%%k{?Q zSjzRjn(4`=T-}EQ?jqkCbjME_JaqXnDJ2$6_~&ZSkMYeX zPnw`#B>`Kl;ht&iR-NIVeN59c)~Msk>L%0OsvIJjGUWMsY96h5lVlzG=#l{S(}vwp zLzfYgvdf}ZbhoNbosG+DVampc5As6sgY`6iFis z3IkJ7nQU=tmbKmLU3qrhOrLS7;|mu@_wz4i2S%{oJCfKpEXFEpF266slr5us_zaxrO zerLNtrRrP!=C;+tJ)%k;;9O;vc&kXVDo_*K=J=iWc+hGOfA6m!h?X|F=>Mk4Um5u# z;O;~ytQx=+N?K8$#`Dl&ZRt}w;^!w9cpaJt&d3*&^3JO)NhY~`d}Mqi=f4)8ynJg7 zi{GdN4soTx&tG z<^qM(($6kC({w-YY3KcVUDX-JX*uv{Pg45*&L4<@J_xOBV0gHypFDu^o@ue&T$E;w2ZZz%~gD-Ojl1yZD7rabm=0zhinO@?Fs$aSQq<%OS=^x-p|+>CC>$ z30Wzhef_RhL5A+QA-_4q6McPG*-*Ml)C4T$VFD)1TohR#6ZM=F0E>S!=NfC|T)SlR zr7LCyp|jD_ZmVk(-NqsLY!Rj!Wxv9f-1+UK1V{$jeva1Tl-%57Y#Iwvb2&H$u1_=77rGUzF~vdsEgprQydvtzuNFz6 z$2EUmb|y4+r_LOftu|5|40;~)K2gaus3obGCWga+-HQ>~-%gO9{w&#C35c`+br7?F zU@QMv(U6*0P)FZFP-+vmUljTGCina}6;;Z$1iDdy#ysu4$F*lDmT80NkxS#={yu#b zfla5_TKC7lEN5yUUfoO)(ap39X!+Lu%H;WdX~Y=rmWf$rOI+AUt-(uemUpFF$60sJ z7pTTvvASOqs+6I3%EN?I9uT{G5uNHDrRix{=XQwHP%CayMQV!CPzY~?fp*ozgv~3! zulPO50T((u_C)Y?X!y7v)e(iAFXK(HI?o1wy>#IVb)LL_Ws@z82?Nf7Cy?PzHQe2f zTq3KjYd2xHGe2kUdeKo!Qk^kAH&kgGT0whnjh-WLmJ%ddM?!$3B#E+6nVge94-)}T zH@^UFUbesn)Y@?OL3;CNXRQN=aPB*hnP%#hrtp60bmZK7cD=tuPw!bO@&d0it7C%rStbZ(kO$FgN$vHU+c@go0zd zj4lMm8@Qna`3eI2s8zmV$_${092Yl^r9&dL*{LHO2h@r%Qp!A~YR~6W(A;TmDc-6w zDlm=wf-^UO+K;R8vvtBmD^{{ax-Y!&YTMt(#edMTt-GH*xtiK>u>AISf?602c(y-n zU)S*1%>~*Ut%WJJ89O}oepDI;+c&$nt?hTE^~y4DG_;^f8N__X0p;%*r89Dcg-FVV zo&+TYXoG3sgmjF2E_g2mos*oMoq$CREMJjkfQ$|-s19e>Flv)BH{R*xx6#jYGd8-_ z8ZztI60QmwzlRoaDE5l4BI!$cl3h`T7oinRXD=q>Ly|(qpdBHPn^eDl&Yq7k=9VOO zD%TjC;axdR-`@U-<0n?k4{a>QZK9eSQl~){6PqQvg!jPDYdqZlzTTBZG5DW%qx&dB zwq{FGCKrZ^L|uP2MXIeg_#|fBt!lAeb6HTSU8CyOIPQ|*=gN{TwS?z?AQzgP+F~~E zZ4Vb-ZaDb8WdCHM?AU=UMSK5r|Glkg$Qz+Wp@4jxW@Bua@{ zx>QoFEfQQ&{+b#Cck*5Fu2bUH&^3Jy^=4mN<|ox8j3l&<=Lp!#5+xc3P3ZJS56ch0TXd9aV~5B93R z0j~UvT(Ud|7Goz4m6Uay(wyAQr1Yz>MVp~JdYbN&nZYwLX)yIs*zgtgFX-~6Rtgsf zSTu_q@Jc7g?aOVPpZU+{W_u}Z`XK!SFS3ZXjJhm{7OhWTcIMr_3D4?qpQ?^%vIr1? z5WU21;2po)#?0jl#k`~Y{rS|%`apUbPdYl1HxA9m{8owK^m+!zFDkQJS!)n#O}+Or zPzb=YXX#!0nF9AQ6Q0TKR>X$s6n5+Jq`s$j$Hz7oaZAfQrE$AXZ%||wy4wB)=-g8D4>$hwBU;Z1x9?fP=O6dlLc$sixwQn(BNq2$j zXZhRUa>~!}1--mmqGiJ;0B?9cLuZ@Q8qdNkO3XycG9+&hpfl18$OB zuD9M`gwoAiD=Wk0hfauG>_=|W;F*sJ3>_JR^GC2h|Ml8loQyfHws; zxLpbI{((Q@!?Ld7amf8^88!6v7n(gwcv!uz+(MPXa~0{$=(;@1K1#u8`rVyfqJ7d* z%swPY!Tt`)UNugr-8^6YZ`(vpzCx)#kkR1j{nBIL{eHFWL>b6{TB~ez!y#rKmB8PK z8y@jyZlYIpICB{u-M7pk5Ia0l^U$wbEh18U z!>t&D?%~UAudm`78($vy953(E;cFN1kq}h4U3jA~al@ef1KZu%Q*~UcNUvntcgA~} z@74V@m!Yqt9(ouq#&dKkr+j5l7G5_{O}>92;DYg~cAP@FGNO(l8iV3+EY@bk1oryk z^E>b13wrP25W2Jl(AA8*x`>~xjWBkgf^|FS|VfQYl0)zI(b{QvMDfSO!f~zD> zAawHexK!%?(EV-8Sl5$yv4HH5gE{aeLJ?;)8Y0%v)+twat-tD|;2X{gjQ#Y#Md|1O zdwg;E$POK%oVy+j(}?G!n@+kHP~CJG)-sIbtEcGs8EVZ7-LqrqbX3nht)!13AITh% z-wMtwT7DpBrXl~Uuky=9`ES@Q{jGCeA3~b0{(BgXL%85U$+jKe-|Md_UAoS<(Uw_+ zWWO_{wf&%l0=hHL@uEHQI)=MQ)Bj5><&{j)`UAPdS4vWJqjhr!!>xm?JH_U>%=_Su zqkGJN_W92>qvsbfs$ng}56fR-z$YV9PR|{$?w;b0WKaDf*Ng8LTZS9VTcN@|2-8Bk%#M^K$LlX)mGHW6HFW*F`p+aJgfFkjj5 z$^N~SL^h+Li1HO1*XQ*KMrYm^(QJX3^k5kPzs-IY^h@pS?@8z{$2b&_c5${!W<5W< zMxwUvQPpQ?%|5vGL=AWH8)BvNS!i_rd3<;08@E(*eKb)vz4$gfv}g9> zez^bXL?fe9RV?pDS`j%|x|3kOM=|n;Q7rps6ye=qt(=o-+r^ioAXAzg;3v<7Ob-lr zjo}v*qo&34>56Y4a@E3Rj$R`#_%HOd8gFEF3 zg)Sa!gC1`qdFv0P;TYR`w&#-(VF2y9=XV7__!Qm|yBEjs)ukYym1FbM4Z{w6f6P}g z#c(gRdd}Jz-dI-<tnea{5>N3)WtWYgk z3@6LQ#Mct^%2vz*c5L7Us{x{v!;X`~nsd|TNZkt=vATf5R;Mskk;%*qDGo~klTv4A zcS|o{OJB;$i#`gcSXL}C*dJcvsoM@Ha%UMlZDkLp@9ysG7X-Wxt%RKm6%Lir7a9Z< zePXmigh)L(VYGpUV#*y%=+BV9ZGtzec2;)HOb6gF8-vGehlW|U^&+{-lAj zO`k>3b*h3ndwccZCn&q&($N>!(jt4mNhJk2@6-d~GV(VETtV94O3U=Ji!dq)7Rzf6 zCV`AQs@wcP%#;FR=6+0(5dLhPB16YmQLPj;fq9Ho0}EDnryjhZIaMnVBoG9z_e0*C zA_UP4)Eyao@PhUp;rgDd2Od19mF&(eij6x082~H zGYaqz=mk(CXu8Gy@6(Fd`dc2?GSz_W{$f0T5+#0LTzY50Hn4GOdRWoMvzsp2MmK#xpq^^6XN*V2;_S z2Fj1?`6P@!+`CbUN)wPHSQ*X&5g0{Z@|G~luq#Li&Ur!}1f97^%tmpRwMXLpd{naY zwX6_`XA*ly%=gm)bz(PVZ&jAQ@pW#_Vf|n|=QpzzKV}O9om(>EL~zsBi9e9*6&Kg6 zkNiHAYSO?EI!=n>q%Bf3FK)Mw{{so+FOfJHiYF_`{*Y!Trf|i1gdORpuUMjCF@|SN zD~&c^iEn{7u*}duS)w`BAhg8Gh`L_a{P4S0xo-2Y!{Di{vL^)=OICZB-zofOZYNzlyDOtRX?nC9>UAtwXU$7&Nq5{No}ZPlnxL~r$Cscx+RXfP0yIj?bRdup zEcvWvcRLYRcEUexVXy4z>V^DvB>V)a$h+%=-wCM6e){+&nzk+M)t9>rK4}jm-GzkN;Rd-oA6VXG zQ7M07>vg^{!um2N&aq30;T0`QoJ50%Na=3 ze%gKhtpzNi9AJKJey=w=uWT$EY5x@)-}nO~@;0;aPKOXes(!NJp+}kU#Y9HR;6k?I z&1uvPcsP>_qd$zdVvZVv@`e=VYJ5?mAH_eMqhE%mh>6Rh9CBX!BQ-mq<*4ymvN_5j zSKA-;xRz`IZ0)O(&=(wSG@n+1NkR<~0P1v5>X@U5guj`(P&^3ovJ6dTV4u=MZ=P7BYH_LgILB510zUQ9BKc+TgtHf6s<#1H)ORams(5n1 z9b3eb(o1X3FO$tcJZq&1)4W|6Ea~?X_3Lm;Rw6!`r76VhcDe&&hxbpp*OHs0yJoVq zb7wXMgJmUH5*aC(k(X2d715h*UU#tMhjYzQ*8JGb=(}dxv~z5mPP>x9|7%n{J{2@- zeBn39v!E0M!JUwl<6qQ-DN;_(@8>nl2jSlrVN#E=Lnfy<0eI9HlX(wUlDeg2c{dGw z`IJhMDB#y8z&DMO_Ua+|yLK~l^)rWg4(VF0_=^<~$_K5EjorfWEHOxrxNAUak<2Vv zK0iOgev&>N_3L^X$-Reziq+&6g}Tg6Nz=`BufF<`d(*FLAREq_{??+os>LoG%gCqA zCr(0Ty5`=7*gWj8<4lkH_MfeFE{m%;*QGcOTUP>IM zYW1qgtyxkW!C78${^T!NrSz8$vKkk}om-g-Z*joMPI4v)5Fmv{+zH|32zXtAhbox& zcoRGjV>#&@aB*EdpE;)b6oFhE9b6?K9MtgUr=@>RMxvU-hnR|EpE>4+e{eGM&g6g> z($XCkKQ4~&psHdhki^0sNCDPOw%3e-U5$Z8?7`)lhPnE)51%_5dHFMC)2e>(x{yr5n~-LAJLhny-C6D;MYHoBT|htrKyzA_vclu3^wq;k^z|KBb%Qen z2p90I=(8kG0G3HWv`ka@OGe_p>SUwI5?00CT{H`7WMXH<%}Pg z(gZu?YX>sjrKp+8(L~q;nU&X8Z$}XD5*VrefrKAgPVe2}UHb>CGN-l&m-~!Q;*IAE z4eOIXoF;ATw_QGNxnZlEwT#WJR_wl&c<`Xo4RbJGAM*vqbD+xx z1AFe~>UY(IGcC^Xth92QkHoo-D46w@(@(|z$khlYUJZdZogLhK!YQ@<%5;m$5Rlp@ zomLRNl*_no=U_UU^|^7ixzfWH&cRE-4CKQ~kqzd2B?^8sev+5>)+YJ>&&LahGv^Op zZyh`IiUh)ES#Yu0=c<{Qrq_c?g0gO>7ThloTpz~Vwz#!O9Glp6H={n(N9bj>Qod3 z9n_wG@;<-?l&9_C#fxn50ZJ$Fe&&GI3a|F?g|(OXAiDfL>4E`}a|hAph9tBBjBG<& z?K=CdNfTmLeGZQw@Tpoy5BE#TX?J1J{bv~zf>KZTN~#QELVlS>ZxHUzWUCa7*Juvg z>e5JQh8XZR<z{gnW6XO#{`8

      x|NtU3~v&@DSdGWv&tuEKtl)ehZpsXYc5(R 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�Ik0A0A zeN;?_t61Qta~g>lH`&j!abegaq21$xx-I%g0>kq}_F`fYoMhIG(fYD7#AVeV^}1tc z;Va~YoACh*Td*2-ngX?(d{GA3#WvwvQzR*86#2&&!?9~;mR+jOQC*dyF|WaE7G0Oa#Fx@#Vubj{oU1-E)3XIiZZHJ@eX6=D zLt`j`*DRJ~_q8(5e@^e(0gXkbZXsS8!rHXcxK!*~EOY%B0~I4O1~OiAjriEK72xwC zjDn0oNDnzuKOS)j@PUk%+3N{Cgki5jBlp5&yI7Y|Go>!=1Oo6IvKMxdSQXbLzl}LD z)Cn}lYmPOzX}6^QD`I=L`p#(Rb2W-DZ$6Hd>`90`_TM1FfvdUOp>-`fx%YA9S7X&z zHUzPCx=znXX zJo*Id8P7W9L1OYuPieHA;ry56bca_d<(@t=!0JMYo}}0crRH7$w~>p^NS%cmzcjz@ zfRIl~l_L*#R$+x$ReOD+^FCGAa=9t;z9|LO(pbA!;!gvI=I8HNB%_q=+Ok9zBF_ zA+FF10_E@<)hemUylRJ1CCDIY@Bgv)(;T7+PW_VX7qIc}p#0f&GJFb;Iw`%CN0l(U z)VC>wHP4kw0f^fta{GQGZ?Ur&Aygk*R?O8Yh(|amJI@dY2;5s;CWdI1?ilz5&fP?Rr7Wi8^kG<5)L9Gf%Il88BSOY|44mnj!m zLzf9EJuMC{x{JF|)HTarBoU^WfD8At2(07yQ3!d(F)0(o=$e&Oe zsX}|oUbG3_f!mS@bo%M~KHSuOH>D$#f}DVtLkhl2n6VxBx}yejTJf)2Twb~EXlmit z*tnC_eY}5>YedAbXRBG~bn$ZiM{#yqefzt%_1;IX^yocfFzW6M+3cmr;^?+OJ8q$G zmdS#r$5sptP1Jw}YTe*YnXM#L66ncRiPd-YGwR9FApkNjy? zI$1LH%RPXVAcMvZUVFB3K$ciV;PrZ@lWe}mVp_%oR#b`hJ=|9jf75I$6nlWx$~Au@ z-uKA8raFN1N*?Yc7S^nQ!!?R*08iM052`L`jEWY;^UL6%S;dO5k$6Jg^MWF+ia^dl z1YT#=>#nYtdIpZHC{s5k6dBil$kLpX&|p}s>t8N!lG0?BuL>k3RDTp0gzzt%?-^l) zbUS{QFMioPI69|Q@R210OD;%v;x`0YV4s%XiBA)xFsR^k z@zb+v@!uzFU6_mHR*WVBqO3G8?=<@jw-15;?39OH4p0{8Of(r+T*8C=Or{^=1-}c` zzv;}%ha~i~R!h`j=F{QV9jDiHb1YNZ4K;Ol8LyxG;_JbnDh?z0=^0?e$v~nxaF~4x zGEzqsq}13*{W5>M9%@ASA$a2)SPcn67&9--=YOP|u30qSmFJCOHr71!)e-OHqV8oF zMlIGB3^~N`B&3Dm^b{H5XKCC^{>`0x4&)vJKuQ(hE$9HFLNY$xg0JOKN)6==tjmwj zm}jkIn+@4}aKU)+pP1pkTXJ1`{srhnH)T5KIR4~k+^e!7>=HU%G8x!&E}@F0N?eGf zrhjGL!$m*3cIZbis?fl9-Zs9w!BM%Ol=^!&gh>hm#z`$uR7s1BGq#OvbRmM83Cc{# zsfS-~%;Y8VR?b-R+5i>AiNdNa6Pg70=o)A{>Yvfsi%L@P4^WvTy_1}b%7N1Qo|wSh z1kcR{4@$K~SE6&Votm@o_Cu9YeyI~CfiUJf@W!flB7X6`I1QCA0YkMxoK^i3z>nuC z-24)hK1Ddo)yT;JKV<%{{r*Ju$XaktG@F)~Y)Gz4)CdE6m)@L7jmR;NOgYR>k%T#) z^Q1OG51bK((Z)A0*3x(GrtPDH85&|a`4}Lp$SaM1YaeqOE;vFRAviP$D%{kM_{3hZ z$(b?l4u$v`aUR!a`q+6FXe)ZhipXTBcFW{PsP<6wbjuXg9s0GL#7Yse_uw1d?8(yT z44a$QnSK)L*n)L>bN}&q|LY*OkBZ0{-Vh=xfU@~M?XmOeF)KAHcEZ}O(T|M}%AatY zosg->=X&|@@Ysz`b#-U|_mm!#!){aqI7Rm7s<{7k6`9BT1E=*V_hPc#QQGDqy|yFermbR;$u36 zA|W}@Ph{*&6JfR^J&%>wQVt+v4V2dnq45NLO#iXtOG%@HnN*1AHQDm`;g6eR@Y690Ab))8k<&S4cEo*3=%YoB!$^J}JDXg#B3K`xeL(S-yk666 z*`7hVwU=gM>3>9wO;hRmh2G$)Y%&4v+;|aGcwFa3WG#kfM7Xt^_l(dT=$1F)Z=qS& z7=PWEo_j$F7Id?GD+ zz+p-KHwaNUOZN1Oa>(q(0Hy;wHO#8GS3PuS557Oc(s5!IPff5fXRWY#zAYSmfCkxI zBm&lPm2#2}#MB|ONMLkU1;K*=FGB?!GVh!>bPXgSa056hVv2yHTlbrDvlc7AOa{mh zGu=B+bLrnN6pCU?fH5`q)a0qmRzOgpx{eJQO=cvY%*u_6~%fwMw zWfeBlzv#B*dcgEUvLx{U62#NrYn6TO+npX}2x^P}=ZVx4bV;>&yDys9s^(ys?LH4C zvz02fy&as8mVh|@@qQ6|7mxYB`u13*GNkD^ijGQ>kb+C%?nZnPn6-<7M~$~IfaNXr9?%wf231f)lA*96TR339$@qIQ z4_`2Mpi_|2dlQj9H%rT#M5PMBsb)O7a|V}Kfa1wu8fl}*m|fpF@7+F?|Ap2rsmtOo zrE{B8_bL?3aM|wmI4w9eyf02Vkz6eQOhPZ2UjL@`;>0KCkn{sWIlm1{c{Z5~tl)kd z>IM!tSFjNqCBRoJxQBzVE-@nvj-5kuaD8~Dr#F;brpt+_I#V7cd@vXhu_I93+g|en zH3-bNX~g1D0In*9rn@4iAgAeBv}+MkrlvoVY1np zSvVjbs*g%_Og1?njnoK1)|oMCS`HyZl0PeoxL-QQ->lqmOy%S5b>Fu9w{vq2v~i3S zyz9Y$wMYv#I}3lU_C5mAHad;06%!qdvr)fwom7WEU-iH#)1Pvuc}^)VEZrL&>G>6b zvpCfC!iWHSch_8!^M9Xm)ot7S4N*bz6P$OoMK!8eR2fuD2 zYV7pI5@UEsd-k2&L|>`qK>#Pf11~%IO3p<-hsOrbyM>NH9Ef@`cfQ<&_TY2RYV6kJ z1jkYa=lzo>g{>E{t<0Bp{Hm*l@yCxXwY^rA$IIOb=ry{s8!P_#GLU+cOgZIBq=ZsJ zFNqb~@~DCIf_u{Kbn%HO3<-h$2mAr1odD<#?+=^&$4ESJbwv(YPn1VV0}rActDLx6 z!0m4^%d7BHie|ZCyGtfYn+-@(M82k{Ea7t^Z7=;Kl^u9PJUR{BB_ip|WK;uoKoqJM^>3HUT4rJ)u<{ zDy@*r*e(T%w(U6m$;?k<2Q?3Z?uHvPf~N-`#L{1eQh&G`$b0)?i{o($84!{v6V=KS zG+@vlfX9D(0Idr)GT(D-Hmj#!#jOM}Nw;UAg)SLFig;d}rzqD^r4V9c{cV7irj6Z~ zk`MVS{$afLXt(v|+u#h+;80259??|mILZi5&M!D*8TF(Bcnmz;_ucjP@+gzaK#QvQ zt{mq_9X~M91#DR;W4?1UQ$8s0cL?1+x17kPlHXt`ZE zoA=WFlO(j_QxG-`fU&di zl2r9UQ`g?i-)WymQ%MVB$cO&~htey}?#Xt$B<5!HUIpx3B!GHr-IDjHSL*XuDiljg z7$eT6CQIj!(_fadQ}qP+ws{a(d5#q;916P6?1^}ob(5c;ux;g7sP5(J!B-2tS4(Pq z;(0Yta+%4xiZZ390r;E;Mck)-rBl9$c!cz)y*IhpVIP{WtgqZ;*=M^s-)0N)o1w`d zqPLu7$C1#)Y{fa>mg5*2LgZaYyizrt%3*FjKaWuhDybm01v=3!2K!=3`5D$aV=RSY zCBA%koU=OydAuNg5b&fQbRg*h@po`)3D2nVk#+4C%F%u6b!n!3WeA!S|C3&~v)PJ= zvT_fn4J}W!%$N3k9TVhB(2x8x>%Dr$2^!UFLLcfQhqO%Jr}OZ=@$g`L8CG|NZ&Q27 zk*&O|r@2lxl#p_hI$44Q#(uAV61GBE4luRHKyXxm&53cEa{2_NL(*wK3sF1$$V>v4 z4wuc(M}S)R@4$syzL{nS_bHCqS=DVHLHefm>L|!`YM9fMq{Uz3JJQ>BL=KAlYTQx$ zXd^!T(0WL2(#kb{aePww+B7$V&LQ~yJlohOWi0B>QtFwE%f9699{*@y5L}6o?npO^ z*oPX~b$JU3K7qM7>5ZcQKGerkRByt;R&>F!NOy2vNobD_t5sp&s^Sz}Cyad5t}j2F z)$>GEMDSlX{f04lg>{8*;EINDA$4n1`dw+wfJ=xd?$cCDdE}r{DCpaOGcY~+;td!- z6i+U}BoW&`aX-#Su}7#w0XZ_v!%^>;FBvALRf+c4N}E-2WldBJ6je}O^fvjGl}J?H zNQM~O{jQrPogsXAJ^nyQ|9gV@*r&Oj_fIfo*h@1XsdnZtI5H#BkNW(~NUV zHc(}>#3gnM&Zlna-gx7Hv-W<`7j?DM{cNFuY%vpmlI$OqN}(n+FiNo!!>>-+RW1Ko zE1g5BcHJBYc}wHAh>sESC8)JKc^2Uau5~`A!A*a5xE6Xdsvr3e2Lr^S}$g*FD8I&nN*L^LXt96bCzS$ZDpRE zc;LMUAb!S&)M_p%uai8aj{j~CSs0{WYYNK~NB)X-uA43i5CZ&u4HjYPOW*QaZjS%B zmC=k%!>QUx!4y}uI0*G{xcLf5;jOT&4U?XLsj9c$%4&)@?x?*dsNfJH*;0nl(R47G z@OWcm(%=BoyHHz*C3(mv5Zpso_g3V8r9;x8*+hT9^Q(EMe1 zTmNctJQ^o9a-YLvKOq_SWLJM8XBk5awzW9L8W<$G!1pvm@M|iRSZGKo=j+WD8i*yS z0+$gZv_@3#l}fWXZv(YJRPRl-*8VI@-}J27hrYkilQTaoiO5t{r_PJUnFcX&LSu2%np>~rxucN30|`}E~bdwcTCz) z%d($r&J8*k(8tC^WuQ%<*dt;j8eet9)KF>H@>@5Z;5&x*++WRhItPO@7H4LQYYs&- zhz5`8UGQ~3SQRniiM{`t>W4io*Q(QS&ECx4i0{5AOvG|*@EB%YdxiT)S-sYZFt~f= zhxNa#i^o4F{g7~--jonP- z&;)lTa6*xKRhogU3H~LCZ0T#YbgC@>7f1Rohu0c0b<(j^qI|*i4e*nb(RphTZtF1$`6`+!eZD$xO{1#d&|CU@r<^fR`ja@ zw>0r>lPu}m<|hg}DxZ5(dM29Nd-}R9Jn_abFc;@i1!f(Qq{4Lr*5OYhcGWh&QD~oK zis7=o+SUIqgs=VXbvFjzKlevP%R5vA`w-b3s>5<}h#XX(xePxfb|r%|Z6O;>&$5;Q z@4$D=e!9lnH`rQ9&8VBKm(t^P09{snU3j4H-=L=FJyre@zdS{YWRmbHu*!ZBx^)!G`x$@K1!G1Pk{d;iV+FjoH(vqADcDlbb-Bb+}VNssva5*OJ(7l!LMo zV&!-F&VPd|3^j!hUWW=}dLv;HB`EHdEr%;&|3IU3mFc#&hDDc)lsFhL*BL`MC0UF1yja^Awcl zjlh7H{BnsYA|=Apk~R;e)eVs+j%MtQdlM+*hvR$L>uHDyYRKETrmkj~7iv~;Y#>S; zbuS>IQELVYi6@=zCYZ~Ed{K@2kkB`}y`CbPv+Oxk7dg%Lo|quCP#ik5<`%Aaf5UTt zNhakNAK@%cZxR~5RT4d|;Y}oDPgIEDhT)MZp*ZQFC;9AB{PQj3 z*^}JYzq`1{Cm9NslWaK0t{(A3t@_rbdG4I>i+-+;vsZ4_i@&Y%*gUOcDz&E}YEhQQ zzAs^izL72y#CsMzf}@{blN2pzu}>vIwc$O z;q6TZMeiDu{fE+uV4II%Z~iHN6E0x-OvrWJgu{6kuaUeioAN2@tHcZJ`tElh9rD0y z%q_8%my%=}gVx{lgW6aCBHiy^_(X@5QnV2>m|6#{kF5>4&H%1XAqQt*#yqd{)A1y| znPHhOBcsGnYd+T@MGE;P>|MhsMoK~?MFy?m*OG7VIPG71Q-Gy}-&E_UjEQ|1qEeow z^}q9zt4W46@6Et;<hwb$(wVXePvnht~&oFw%F2R zg0mIz82PEvcQk{|O|wltaoQjY^GZk8B&0-SKJ?GKiky@KICWG296G;}Ul)#m4!wPg zfFz67myVg?8oKx-Wq#<2bDMB!2=5+|vP=}KY$#CT9kx>%hrG*b6EuEqacMhl@2@(| zC$Ulw=E}q3nB?%mGBGDa-%>|XVrUTq$taK_8M04tGG;+So-qH@$D7Cjq@n#QbT}V`Ca* z%#)~68Z|^O(Iw>PfK#YAeO;8!r5*qMvYnqVb`LY^_D%sbR)6ii#J;Z zCBUo-h7fvc`um4biHGF>4Z3oDU*s@Jb~ea|O6nhR04m!sm~Ca0KA=`$IS)KBN!?Ig z-XuLGR4KW|HQ@Go(HtgU8YL4nf|*$Fbh`oL$38hOhXvC8AS#asvb_s;fK8Q#K#B(n z8S}|zl$N3TM6%`Ce-RloI1aRB2B?ANoKj+uOnHvvM!L&=*7IvVaa{Zy8gw)f;1<}D z4EH^9b?vMVA{}iRIikfE8dR!Xg;AM`#J?i{<^iDvwn1$!#H( zMhyw5ZfjZE;aC{cVHjBTXDhf_^_X+`8&k0NcB9ja0Dw8n)MRRw4k)1uDA5K>WUs{O z9j4o^mG9P6R9oQNt`#e;WsR+b*CWAvynllx6*t(pelk0(slRCf2!HLlZzj#Q zvdU}9UwS{euDh-gFGv9;hO3n>MU#KW#g8t^Hey8v%XSY#MV>ARsCoskEYmHC5H#S2 zqm&FEb28QEw|FPF@M_K1b6pfsFIIvX!n!aQ7rF zyP}OQUlB$g{kfNs1ka6(bWe(xl60i5R4MrvRXz>j`Cxhm)m}Jb?g_~g{JtCB5?wpK zq5|&#@{$nwbFzES_)d%fF#2OVJSCJb1pA?P@;dqJq+7>(go=Q6#4+rW*Ex{ncJ<1K z4p;>ui$(<6{4{vV7;>k98X<_)XG)?Ow*J(xsw@sI__^5{6|hLg@Ki0kJ4NNF@8V^A z;T&zKi7|cY$hC6|yZ{NwP6h-C=>ggdfVb5Ry}eRi9W}V;_wXDz4*cxrUE}Z<#>d25 zDs)~?7x2F1be0}amk|Y~tN=DhQH6GU=b5EKfEMyMi*$z@#3n<@a`S*d+x8nr@hz*w zmG@LDAj5xN=)M(jeK*PaEoAFfQrg^Qrn!|(tYPe?NRBn{knhbkxzu$h@$W0W??$zZ zLTInd)~`>As7V^cqXi}EV3$k$<3jni$WHXTDE?t(!J;WqBkSJZZJW-l|438xmv^w0 zGTn$b9uN}frj3+yuPAI-co@EnoWtQnUB*D`#sr5=2A2tUTaaIE0eP_8iUR6b_?$ar zm5O4o#}{xYTgdt4VE_}N#pskk)xRY16lhZB!dSFK^Of<>y8wU_L zxX1BbdB>ZvX(${U&WdE95{)=T8sF2iiF{?&4Rf|WX!y~}3G7>-!$8HviSbRKyw>RRwg|6aDh`a7raX9{;urF)phuH`EEO|fq*Q6PKd;Qy z9Aw5hv2UtLYY|;v_`%2i**>K$NB)fLjm@9BDo|}G&#)FlNAwtmuK=PJ_byy?qTro} z!%U(j6H-2^-N*hUjzHZ=1xQJsmYPxaZopvjw4Z$5YspR#jrb_nW#+ER@xw@rf3je- z4*Kl1ps=apbws?$qJ76u7g~bEnD$-6Y4442~}0ct-hor%mV^h&ewk~VevqRK1L28bq8j%U36$4v3&M9?ZS0jm9ks#{ya#brtS_2id@Z78I5u|b zS613zyeTbE;0Bq}SBi-&pZrIAt%1$c)lOH$$eVRM%xsj}^eC(oNN>0|$j{??-p*?F zCNG{))XwCLiIq{S5JzeAd87yz_Unont&}%mi_AhhtW``C4!1XF;8Ew@9h}%`%GERZ58jj z2g=SaD__a$o?a{#&p^B>*{*F^D=Z?J<3jPn-O!U?H2hrkPA~Amg*W}N9FHrg5@{}NCN$< zr~EPG$}R;`%FolSLNTa5L^JfPSspkXTu&=EbjGOM2 zd|-OQpRi_TDL{MIquFG@7uic2d#&@7wGBfFDMm5n?OR3lzI&H@ZbYQ2??qJ_y~4VT z7W^09A2$j#aio;+rSMUZzDF;k$UyVg`MgeamPmz0ni>e^sj5|0SFw1yy8$9-Bb~|o z%cqkM-N;X2M-HB&7w~a0y>pYpB4G(*l)tBkoXQ zFdDoS2+h;zsh3X_yHhfIGTkc?10{+*smeH$kvE+`00wDDAV#y$Cywlcf#U7MSF$bW z_mxIBN=c7)PX zktei#UH^Fk#^P~?kdAinI@`|>q=fDO9{eo`TZOGm%n4g92lJDsVc0H+!|4uIi|*KG%mQ6DhHmO&`r}+*$=YU|*B}`@({kXl{>u)V z7_V--#DPvRisK?Gbe&7UtZ`T->on+~A&{5mj7zYoIKlWa<(`Oo&Ph&xhArhS|ro1kiE&?`Q({~Z{`97ZMRW)TC%}b zM6#~QOgW@}-;cf)sk~}1$z$@X5V6S+<`@C2e z`o6Z|0coUDO1eXk4y8f5hVE{LE@_4aY3c458iqlTZjdfPX=w!kvG6_c^B>Rie&6+7 z-#K{Lv(Ml)*Q~SmUVE*3-FMlNupEJbQl(W6l~T>AEARJ5uT~W@0Sip+2NQV5#wlfG zck!2zUBix}G&IOb z%vLF$E9EzeqTAh#2QJ%myj@7lMol{=cGfvOg%49X6t6N}IHEJfm1&%+gOFK@j+Tus z1?H(3du$_nolT=T7#JB^E);nov*(yLdT9!f`!i%$642v880&XZQkGcPcGhiIYL z3)H9}cMUy*L4Ryrg^AJz+@WV_CB_eu@gWBQ^93ol6h4?eot)J=s5?nIW%{U}x>`dkQ71 z6<@@NK9doak%j`_z2)oCTfd_Y6_JrEE`p40ll-=7CmYX4%IE#1)`<@!IMowwy_<#e zYJk9@V-kZ7fthik@c=;u)BS*`-sNV(@^^(hXjG=->%Jf=^(QqJuhJfcJCNZqy~d;G z2Xt3-9Lkv>b46pMFUaudi7z%F7eGO5#~z@`vI?0iRb^`?o(qo(Q-8$Gt!i~a*x@Eb z*YxIK_%%M-@}cTu0ldNJlA~ z-*Q|{>q;}q%xaT*xrGZ8>bqXx&)uHAj_tvnsq}`baH(q`E+x|mfRHpcQ0Zd|uuDWb zC+RRuN+Ks|!7=ra=)E77Drk3i_oB6#p7+O9oNocBb*qb~MAiFcvqx_HS;|N+dAs38 z6y)nv)^x{yq}HE2T+F^S0KU=1LvDZ}Wc1YiEfddJ*z?Y@(h8OmT=evV+Mf)v2gRY! z2(Ox7re5It+6a}V*fWAw)|YC|Qs!%GLQ=5u{(yE>V6VdYl@k7dR)$3WfO@QzRtu?D zGQ;By?}{@83~Huy9b0rytpONzifgVnqyK6;B*~cLHO3w_uhT$6qrm=gq{kK&+>V>_ z_nGcad0#2F1y&)jv?nD`$+WN@c)GH|XfYRepNL>x8!Cvl3*k*Jd=tRY-2ZVMm6ZrA z*<)biQD)9(^%Ph7%QeH@x&lW{RgOmd@=}8^I=AtU>5dqh%5U~FwfaHZ#_-qNOcOC2 zu^!e%t?}I6;A?GMvKOJtQH0!F(K`FW*qPvkrsDb?$3;}@ z&s9z|g*C#f1`jc0Nz&_T*_)emIaDNN;8tLw^2$uX_PFYI8(cLb?M-LArY}}zUaD*O zwy*xkb0(EUmt9(~3@MI(Z%_P@rj#IN{&Afe@p)7ujfu|WLw}@-lSC5bl@s?oV^g3qYnTs~#FNNt`8ei6*i8 zjdA>^=t7h@gQ@d1j_8&nK}B9h|8$2|{X(rbyNmcVEiPKUw&p@y%nQz6u|};A!dp@- zIJ~s=zcd%Vi5rFLsd6T`o-TNs8@Dwy8ga9# z?*QG(YJ-e%(Kge;2o|U-k`g#CcX-SOGI)Y_T{#Yf0VExlQXG_JMl=6nC91PTwXODg%3$;FN^z0HDp&xr&3ta&N^Z6G=)4hRFxIft)2o6gx z=u0`I98wF#(CRqR2N8DxbUB_=0vzU38GtXv0i|o zX&p1%SJ?%ayyQ>2;mW%q%`5RaN~<3QIjL&^14s*#egx(5gpwyddCzhSH-y5f8AHlP zb>HP^>fvl`rN}JFS2}9+RifqMR%(ygu*3oe82VjvbeM1G{zE|~^h8c>`&CZm8=fsf z_S|7e&3VE<^IG}rk=+oH%Bv(L|LARi#Xqz2(gSxyj&)hiYqUH$o)3+WulHtsV6o0~ zD$;qhcir^*iOKxJ5Wo7v>yVq%{yr~V?2?053hcox!$~+n>(b555=d-i!o~usD>0<1 zG5Ct>{Mac(YT@~>v7=&DF|5@*nHsG5WOqo!JtWN-X^ksD$N)uvr0DSlq}iOV9lRzT zA8N1`hOPvl6G?En!u4>O%LOYcj)Pd)<6hv%`X*oLN$x;mrKkev<;ix_G}@rJaed>1 z%s!FZGosOrUIsgNCs3q)!H+?|6TE+k7MPoVBN_p@-x=(vfW^TTct(jmGr&^2|qIyn=?N zL_ggOH&Nk{KSz|uR@_!xARi_3jcL}1c&;m>QFQ%a+_UQ~o|GFJ`IaY4BAFm4WgfXS z@c;6O|6@sUD3B3L5FC3{gb~E9@ZMGz2??hFoyE^u)1Ts%9+jk|5x~ua5a#Tqv@}Kz z?2AVlj8zE&uann`kUt9^1K%;tooI*43!?p>!bI!_eru2|oWWMNKbME|x$)$tL1{P_SEVYIAA*GO zL6WY-HXQ9;oEldW+mF&PcLYkwE*`By>av;}t!8ecMLU(yIqEO4*k~~fBb8ICDQs7o z`?_Htg2c~4xrvh={#)C`6*?sH7}<{*^8_MlDH;J?s@EI1*?KTg>eA^*v;4LwhQiM+ znOO~Dk*;bKNs`^Ckm22^k^9bP>4_nL35do^g$|8_^6i~=LUZb$Y?=2o{3${wj znLC4-|I*dWsGf3_Bh?Vqc*)iXxJI6ti?=&ERqYSK#7!z8I}o0mbu1VXs?JPIFbN?_ z;?sL2c@OQEe6))5eph$uhzcL3Rcp`JLYeN=nXn$z04!D))Jkk4gkep)7#ApCCy);0 zDXsQ+LrCz30aa+WLIQ2Psj8$(wBQ%R8zOv>*Q)>(sYoTH`e$C{>Pe0^oj2-J(GD=T0Cd!*}2H~Pqjd1~9$6!gdSHRkH@`iFU^WKAKw%Lc& zYrBhh)+ zf|I?6|3*k7sU~_?wrmksE1cBWY8yGMyxX&B0AlNg?>+40l<23jqvZCt5Y0aAeAiGFzLa`xItPF)4Ia) zB-22CZbqu;M%%*M+snA>%46;Ax}%Pmk-ZG1)vKlJlB@2j^2`@yFH^PTmuKdP5Kz}* zqbl7a5}>iNgx>+FU%>W8-jK|tlImYMRZm*L#1=7#o8HAl+?h6gXPGFpH=SS?bM2x( zgdSMz{(#uxZ>nMmz$k$_C^=|Es=ELibH;1)eMXv?cq-~0cHD1l<<7h!XP)cd5DK$k zLRoc2BoB64&j{(<;Sk@_wX%o}Boon}(4oJx%t zA>r~kL337a<%uZWxR(sNPp5#)d!fcBG_11%KmG$^Lq+-uBUm3+WHTFjKBM%l^D8j9mj*nXx;N`7y~ ziX*`PAo&&4PzJ!E?+xke@m%pb@^*+6>Rgy~8&s;=Y>8K0z5NGNsYmu(6#n*b5#{52 zn#$;W&XP>Vo0gm0iN}G!ACB0u0@Qm{YJl2V*m5$7`zV$VHLq3OdDQ!hK_Cqy{RJ!{ z)>`9sI$IOMp#5__2Sg^wc#-x}fLv@?hx*J2{F^=|D6}CRxjg#DUH0!hh`Sn; zOE>cruVp+igC&ova^LYMki66UVI($9jA(L!Q7`Zb8v1Q{+04lwOge8|jl(z#z8EHC z;;`$Xi*Dx^8E?TY>$oao!~?>wP_?sy0c53?XNJSQxpp!Lq zDt_f=$y#>xr96N1x^j`B1-R;5>UgEev3l+^ z+Au6IdqTfW;UcaA!-qyXy4g zrURsKwc3WC-~!Fs3$inZ3>DQWou#RmCGF>}ZEk?zP>&1yZPgcT3mY5s0ummp&dPJ4 zjQrExwYSuH#hSnL-9wh}c11VmV-%94qPh8(C9N%Hb|5EG2b{wP`m}*tUtl zVz=B{lInPChhalEJVR7fq;*pmii0#$+8>N{G%}xbzE_QWMpim|3}>TzaN$xeK{`=7 z?mPWIM#~>i9KT6Mhuk%n+HA;`)G{|FjN4^_MqI6&#?W+`{SPRX{)Z-ZBj-N}u=^|+ zdteAUbCsCwH8K)4CG@_4#$-ZH=2O2OY15z#$A@L2{9~~t-;!@s+`4u^#Y-Mc*N!8@ zqeVpI?4i3(i9%b0u!~v3qGg@-8~jRT3<&Nvc^EDZ{i_|hFr?lHO(m3R0?~qa9~nPA zcBMxsbt%>XnNnWEWbLP3*{Tux);4P|(2F8FJ5z!XXam{V&`}OAWlye8I>V%inl$P@7g0pC7r&%#UcAchpP*G2{8fPS5`*kZb*r``F}r=q}6 z@jcB@O+`|qz|UYmo2?EbQCLbk|7j5BAJ9~p+5bK2oL>GNbybxPW8Xr7%@}eAe~6P) zxPu{3Ywvc8?ZMR& zPwa@CixJ*ysVUKoxXc!x%@NgYAA+0JF`ksM9uXk=GeVKpCa1w1xb`e%w#G39JJ;{C z4f-phYK6?#ZR2mZ6?@X3@t(eI8moz-W6P)vwcI3!qj4j}-#19PQR5>VQxiA%AOIz; zO`jTEWEmi;t&oqitgbdA&dw{(iYBe#t>ntSNxWjTemX)Z}W;!CkH z+@6JW9!3jE9yJkPMmTvyL0_Dgs0RWR<`f8XBy}#&4@Lmpuh@>Y&r_w1SuTTknYyfP zZe(t{GL#W~Y=~!)Fq>PQvVqeY!BLHVXDVX*Uzax7ELh*OUFXw64W+LWukgcI}vKc&lQb1gO-`F`1^Y zUuNr-jTgQ0CVB*{C*$tqDE{bTVwsCB2L;+3#%p?#_VNK(L&0H^CrwYN4~%9yiru6? zK)bO6NH4km^)m7h3B^KBemu;Z(?fQ1mFu=n1E)LP|3<1X`>)Bk5Tp19M13u~k`c~D z=iA=mr{eX8WP!nY=X4EGiHlb*>@dny~7`b3*1gB6~}%d?>4>L$sI ziu5&Mo;a-;esVUn;?e86ZFQvHJQTh>Z>!{{SbC$71em=_>KD^{l302|kT}qq} zh0uOEui!)PoT3tUicW-_!)W;F68PK5w@{#|sHr5tiJD4$x@v9@BvB)b+&ykaK_5u` zbgzo}qd`(~G}6@}Id^Ma*{bQR1yK1{W^_n;Ujq1_hP(p?9g zP+0x1!}&s0t8n}Tr}?UtUHr9(DgC4ydBWqNpLHLT35*TMq)Rwy_n0X&9$Bz(e0y214jgq4N)5#06AlA5M6zKU{AftQ#wh?xh@tMy&ub zUIA)%3ZU>*M#n!2=^thLuYEbUz*8L0*`Rd4wJaC;)Il2YD(QoT;vXN zRRfskO=DY^OI!pLnyw?*4?q0wmXiSU2Nu3qA*9JuD0Sfe-NDlx!|Ue8|dakkLJ%~e;7`d_2Jv-$vY?4eW(uKf+8$JpRM52XR9fj zmX*10qeO{05LP(-ivd0a0#B-U+aC?(YTp4)zBqlbD@fAJEvO6~9)((WE>qI)l*zX% z!vtlWtPwlq^6gGA!N5`@fn`8~-4?N9CtqW-52zLAn+UTmzq4NJG?;OphY8vYj?x$> zdiBDdd8=!Ed&8d!>cq296Y`ANo5TfTlPIQ$qV1AEAs4ABh#*kdqzCW}#InG7SLOG; zTYC(E3e$fvJpNbHM0e`Dl=_|zZaX-W1mB#6W0k=DjZ1>qd9u8*r$Cdj0d;>oQ<6+) z=bONuPLs|_H=55vI}w4>fe{7U7z~CcrTnB0;r5>r6sO8RQsnT-nC`b-=qNL~iZo}u zINvtX+a~d-3ZyDn{d^<83KH3zNOnc2Pjh3GJ%(uBqyrVidme%movHq95MPy4e}6 zX7*MWCT>u7Gkk08xluGN~g{xhDVq`B1ljt9P}e+YSZ8O0di13(N-!tRd} z-z70wgB_$QGaDSe4=7ix>E6A^Vaq^az}3)MONxiE2^m8T)~m@1!Ne7jRS-vv<2D66 z3Px8O+~3hu{8T>NC(;(x4fz9VH)aD$JyzsLAqnmVBblx7h##EC!Up}*Ep^ADe=qf^ zu69O>1Uj&W6SI}ox2$ZxV0}vyOEavIK_23ASs&=geRpW%MJ8u)hBB%b3^+aVr>3@n zEyC|%E5C0BZ>eZb8ar3CwcBCwte(arq+K?PuH_qD4!*9U)1uF7*I z(Hfc&%TpycyW>^KZTiFfQQ^u5fyEI4!k$2!N`P9k*XlB=syKG{hZHeCfRGY|KK!af z)-rdrT)x<#RBQTLx0}1(h25X+T5Ro$BnF%$y8|0w>bfnw-CgW>j#wz#nzh9i3#i0* zZP&XF2zE?b`uem9K01&;mX}`BP;GVypp%|=;>YwJ#j&#Ewp71y z?JpgcSoxWvbA9|yxpryx#-q4`RCgFCtG_!YterI4D@Sbw0RRd>_CEyB_X0N0h-+^C z=bP@mE?FU#=6%`VY>>D^5FN}XNdI}PK5Bb{k)5^|S8EjJMx>89el2VIBDN_ySXgm@ z5zjo3YD5IKGW$l*fCP*pz$iR_l0w|~c`fL?=o9C(iBkE^Is3r|lURft*9-RS3c=)G zQwHIq-@Kh6dC||#NV=e|B}P@5KqJ<*M77c?F&YiO!U`c2VN9`woSCOUSrB;~+yVSd z++W8svJEK`9Z9ZDi}Yx6O?>$Y2;ky(!)TEjU{v{~A@@+7b{0irJ{dqCehtwKaq+k< zh>CaNkk4K^o%arkd8)`eEB#x2d2J9BE_s7o+6Xrn#bg3Q1umET`@60ZP2MKTW=B63WQ7hp$u0LoNP`L>8LT|FZTgzwsjU79h z33fc!Iy-aggN(_zJ=rDfy+C>%#^KR{w^a0~Q|2U;^dh^{2Zt)oPLB{Nu4VFM)V|JU zmkmGg1M#FHU-P*4qAHqn(JuOpG@)nIIJ8`Xl3nT3#TlymYqynhzIuaqk6QmZhR~;AzCk# zlBMIvmJH~2bL>heiXtN}P@RolQZ0~cT0FourwCP`so6tTN}%#-Z{jHvz&-(_CN!7` zU16GMKuJa=asZGZ%dJg6+X-8K5C){E#f$|V#I9IeNvI<>B7-gPOMZSTzx4w=4nWrZ z-$&IOE|qrqRdmD!Xe5`i|C2}=Lc!*U;$&zFpb5#)QxaP7_=uAg!X^#4Cb;pO>~!QT z9D^cL+XU!$L-T8P31vLj1hEPZ+AwpfQfye+>N)?L3`&Y+V~YnS_M^uUc_&MtH|g^b ztXl87MI7FY&UkxDr|N@9XC8u46$`RXH{+}e?bu21cy7N$Ob*qTIY7RzNtH7!_t0{U z|Kd3tT_Q?O&bZzD=#ojXo#XU^>0*ABNbOVUJA5o4Ok4*HWuS1WLrjUJ6$Y{20}xFV zr7*gO&t89|RY-OSlaYPG`tO0bLNMRcF7+Iz`Stxz=1PQJi=CR~-Pl{~2)P@3-)04q zqy&H3)L&14J8^6@ZO3lksT2nqs(w4K|K$`y;f^}ZUKB6D+bdCam$sfQ;KM>B4J8gM zATjjeIo5r)C85CrfSb+@$(LI`8R^7^q#E&xG9YeU%}GO2$#}Ws;R$Y1U6oVvQ*B@Q zp5z6d=4i;^aoA!||QHo6}`7w3#Nr=?>YIh})@>)CI6U}Rk zM=)@B1G}sa_xgDvD|;bQ?$bmVdNoiEc-?hr^#%2DVwUUB7^#7-q%l>_dlLiYl|5q@ z#pq{~&%eC^ma^UhI3ye2=H!54Tgh700`A4--iiMNAF}nKBykdLA3aq^QzUZZOXoC` z0#VL!9^2Rx1!t=Hz|fHgUVXNqHN8xHLOn^7ahaavTCF20*P=8Fds(OiDB+LSHKf8$ znzjt{v5}hZK3%cO92wRE>t`EkK|OTzq5O8vvX(G0T_J>^us~AEl#?xrwi4bs$AN{# zgfnM7G^6p=*qD`F2J`BC8wDdSFWgtVSaQb(sb(wKMF-8AC||-gwks935UBKs_Fp(ndKk zuQ{Ubv5w1PjMg*JDnpv2Ss^C-K_2Raf)4J&;O)Q~A6=p8#?2(hCzCZ=G^%MdA+XcZ zw3p?Mfm%y9%5{Uoi%F9=&*pkkNXaktBncxV)g&}!(DLYS^=Wpdl-EAb#`of*d%Rc3 zZt}LuGe&$y5csyD+2I8^#plhH@oe;b?u`6s|I0RzQn-LgnQ}5Rynn+Dy7=8K@e2ZZ zf54MIZ1~BH6nduli=fh%lcWySRS#-EYI5~ii|FUg;b}}%tw@J>CTsd^9<37yT<*kt6$ z=T@l+yL0_U+q;kb9bf8yVTWMV$E7ys&%C{rK>hV3O2({OW%4ZK=?&z>3Q`LsO| z6~{B{Tgb?P-mhRN@Jr*ipcu|nkmrRsDybF4#Ynh!$y{nORUPAtcn$!Cny2O(le|=Hs7`z~}@Yhtt1ZBDoDcUW4$MoIz0Bef@iog8O7>uga21U$Av2ad2F2m zX&Y-B>*LCXJL*5DvgVC2d<23fjG71ORs?Zx*n2EOmM$W-5hCMj|ow?fp8h)dZ1^ zg~3Wo(^v4Ax%zijkSuGqX4Xh^4yQJbrry_#RLlt zjY)87a0)dzE!r5P_oyz3*wmOAAbf2d9xEB5k)DarSYY-+ePihkT|e!^V2Lb&ygh!a#{ocsh5;ePNyJ%#3l^I zn5DbU!LzW{in?Kqh?<(C!1ZLvxE3){)2YY7D>r28;oRV+F;)E3+jiFCjPNtg&gAag zg>&fhApCJ~PP`k0&G0d~XLFOa<>=tCF)XW1psvwCzZuXpGSr<53>~fRZ5i)8AW_g? z0b{RQcq(UM**Cw^v0-Ty*%H_qM+8~Q!3>OZDaVlH=SElNjM3_o05rkcd6_M-2Cl>j;7X{>75r z^B!q`+5UYaPGHq0o?;%-%5iJq+(4D}#$ntU;Q_yDeypG3g@oa$urX%({FK!OYl^)O zgy4>8>o73X^ptkW*_8wkeqJWX2Z^tx0p1UrS;E;WPo)Fc;)`8j)g2GfO-T+mT~_`g z&?kz>cjT%TfP`IhNq;j*mk$XIi^mY?b@%o=$S`TNDy1^{=o-Z;-tSk}4v9PcevwTQ zaf5_78LvN(-h1u3BMpoEMkN&G_Q+dxtjHZMMyUi4D#!>R^63dZKuh^U1@jKAJFed>T>DGK%FrCcu9}c)HV1ERlYwA z7TxMim0^ba*y}c(2BT@MN3qeqXN;r5yj?HJ*sPKx#X)+r0=|8!?Y-;%D>LNV#N&@l zA%V#<#%QH@z=I4>bgVDjZzvzYaF@|7SbUkt{QKP~)7tjAdQi;Lc&Drdu$~RqR8Qi+ zj`M#nZn2YT#_+qyxs2Ma1yq;9gxh4VgEEyl}#+)Ik(_m+*}? z*Zz$*iF$aWj^#{8s?7J!yP%Iy8~it$wX@`Foe5R8t`HKG)^pLbINk0JoRqQ^w!m=F zhm4DQEnji_$LYRzVB+oLHyuR0F9tp23orOM_E7fYX_+v6Z;Wu-ti-Y|*6?qJ2huH| zfK)8@XMI!NFI{2LOkbFg8^VMMqq$~;O^|DDiJxsfuS5^$bgHHncFOXxQI|uZCpV(F zJQ9Of0d)+SE$9wmKvfZ!rW`VNOUVhvnKE*7q=*%eo1i{ZoqdQ_bsPqa^&C%P$_08r zx5WV1^#MO(U~B1SzpjjoR#|rCPrx^p@=d-NNawfq@alMr#Ri09ps*cTgqmEor7oyQ zf^jR7w5YqwjE>}b{&Ok)`%-qJSP6uzRHN6$M>O~Q^C9VNirYcvZ7fzC)8Gt@8On!9 z2_IN+NM7R~tf`8e!AE;!;(WiQ93RrJgH61|(9t+6vgdi619|L%zrxvA2b|TizNAhO z89a*mKop_;`Lzf@$&OYyRCBb)Utdh{(v==G;M3(zkx>WYmtDs4X%iUA8KMnD()xya z`6LZ&_qOUUYldqO%x3O_!lk|)j?p9HCh;cwD|s;>_gS80?r;s%PS zIX&7W%G!H}FB$wL%m_f~y`Kl;iEsLj$e+{4Q{`~Zh$tP@Pq`}7lY}3RI!7~wH%dO_ z4g;IvlGp$x8UL?GjD{cm^}3Rft|Tolz#87%j0JGY|7!2cFHJ?fAK@IOtc?Vqy#u&0 z84z#g@#B(%It2YO?QsbVklcvp*42nbvej9d=8AkDlVy7QEY|%}`BkaTSFP#oC08po zYfds|rI4Z@A?@w?KU}S}-zhw}5Z86SAaZ2IJQ!)(KB=<}aFE8)AxxsYs97u9Xe1*O zPHWL$nrrJfjIn4BD(2+t5gGyT=Kp;_{)yQTuopB_5Bd*raqe~}l!xWG0JvwFpv3%5 zk05@$v!u8@VR05;l+E|v4(5`BnxnDiYFvVij3nyYjsSurqtb6Ly%tD5+5a-Es|!^> z^QeO^%tyC1;F?3qY%dg)wq0Ln*%!ZN_%XIlFk``<-&yRZ0El!8==Bsgkn+7b&L484 zxeJTe--X5RL*l2pca8kDe|j!oh+dlT9!AR&qh!&u6zpJcKKt^PO;5J?4CTf|fYZgT za=Kg8`*6NNJwM>(@%$&#Leb0b%av;XbgJbCcuQX%{`YIIFZVxoxA&Uth`S1!`_%^$OR9I!ZkD9N z5yt-s`>WOz6>&qVNom`DHB*A~E3_TE(-*~AZh5X0`$?q@+tRZFQym%<+R#|Z4D}s1 z#{4r`KrDgzIw3f%E3SZ!)766CoA&HIF;a3A9Z^bTMt?4pML_^C6*pXQ9Y$x&`fh*W zTHut+TlHyCP_l0S`t|UKp+>BNBG(=JT^33p&=KrWr|BS7nYq59q2XtxR+T4Qtj&9n zE8c%F#rIU*%aK{W#CuRh+tIcy{)icl*+#TB*1SMu{aA#4Xr6gWSlU1HR*Spi;vn+# zLB4oC>8gd?U}zM@#pxN{Wl3t9eixwlrNVsjM6BlSmq1%lX5 zz#>=`bWgFdXY13u$^?)VzcRnA36gS}0IPas=M8J=Dt>Ag`UBD&%f!%+)(S^;Ms!lj zG20(kPpF+|5W`|dg~yqOHR+7x6I}?FL~|702qgPly!fzZjoglNO8%SY=#jM@PRf<% z@a}0bFKwJ-HO)=Iy0uHcbz)nREhy`$7%$klby}`m9@l4!QzZim%OUGO76qPcGtj1+ zQ*8-&ah8?jeu8+(4XX~tmvfcA!?b>-agXgS2BtUtyyx_xDsHld+woLNoPyFEN0PV) zL`K)SkL6dwms1}!R550F&Ak03>wO?oM}XUwk#CJI37tg&oEOLDj4mdTNJ0V&UE!xq z)%l6)bTFn_+YUV>2jb2sEd~cCXH$@W-v%aCq3N%n^~E6TELsYZaL-;P zD-sP!+>7EAWsZDGOHXgYD`}&{Jj25V^pZ@z?e>>5b3JEq_WQ2(yOmKgzF+=Z1K>_W zO%m=$4_j(>#hDuySxz1s;r< zX>bspm0TUQ{q^k=(xH5rtbF1`?|jt<*^efdC@cH7x8=Z`O`Y#_bS@C`if^l`_g-pF zl1uxOstU2kiFYxkpDM*~ju)z9l;9BnRO@xzav`{9zTTR6wDu$^BlhL&^-r5doQ?&8}HGt;L=K$^8L-PkEYY znG%XkZ81R1FxG?Nxt1YXf(V9Y=iHF>%7+~rjs7uAjmGZnY1-~Vk24sC?ofUo4*Jua z<+dqrpTX)lUsuNRYP&RBXO_2|ZCpTBQ@SPeY5u!p$_ zejc}7BL%lkvd#Te|8?p2C_F7#We775`J;qeUdOxU>e9*@9HId3N%d7RLBS2a%-AGc zhnlp*uZrhZi?#uiSJ_9qcg2wR6_NiB7o-ujySo+g-%`88Ai6dlu!anDD5M27k9ODWG7Q*->j6%L{9t9W zXx(11k3D+=P@4bme90gG5yH6+LUx`_K~1v4>MjME@vGZ?(ffrgQEVc1D5mo=rXr}KAW5dR$eBRM@s>{b3eY=2 z2|JM}kzd8qfa}6Y1qS5dewo|E^l=+Py!De#o)qiD9YDigj$q!Cf>)M+fU~J+CCw_f z|LC%B@bM31+pTXCU5TzcM(|l{NkZTBT7RXE^ih5s-th$hUZG9QaFJ#|eR0xNQ*Ag# z#9qVDqwkX&5nsM^OKVvAiAtpBh@%9IhN0EKmET1x6Xh2q2Zxp$5>Eo`H#|-ft*z z_d~}Y2Hl}qE95q%j8~BBxiBX{+Mpp_9$H>Sg2+8 z5h}EQS?!MKA^WB63=U;~PAL()X?>pgEGIwx98Cyoq%)cD1ADPM7(1@Y7%Y8H@(Hhj z4(V|J?bLA#+(ez1UNy23VCegmtL$lkN^oEd0wEcwvQ?$*YVxlJ1nPkn4^K@C7VIe! zALxM=SSjFW4eE}U*D$2oP{$xzPkk~JE}K4V1BhiWHwO1ZZVW;=Z_aTzb_5cZB>V|n z5-#P$O>8&;r6wrH((Ce34AR+h_r{K|GB%OkKEki9Y8KE=mfHSAO-3eq|N00%4jtBk zaTjA%_cm@Hao>I5g}V>zjj^a>4^^2WrLvLUVb^=40UwX2)6=vWny%W*ddorivSino zrwvGID7g$Eb2t5($O6c)_`HV8*0|-xp2{>%-_819u(m}^@{5#Zo&;=R+3)(;2FbsZ zy>%AVD?{W*NB9ZAzn%y0A7;li@rKkT8MRzf%!t~uP2w&LZdE8$45}3umlh*9;YJ-n zt{c}YYowN42qH40(2@F8(M+TYy&yrMF8H9-Valk&?TG4A;)Af6;mdttw%tG!f8T!< zeRO=~0+cfOK2H9p0oqjc^ahqXnZoce)b!G;L07ORh1sz5buI&LE z&R3nQ$KEY7QIUt8MMnSXjtdaZBL8szNAZ=?u&iX{+Ve;ffLBiEYd&!g3(N61Kh@jM z8HkHQm|2~VTRv76HM8V+49%~^*JUtW-A*JOH3m|Y)E7+Cv=69~5|^E|+I9D_{7oJq z!2%0hb*?B&W{L`fvibB{s%K>ofzc83}M=iM05I&>Tq&z$f=P<>WY z7%OX0@5`shF#I#AK3hcF&`{_C95)m{BBTEhf)7!H9FQzoV=xiU5TuycHc#jLOvQ;- z{?sAm9Z0Y6K|0iap%Wd23L2|z4*+q704c)qFHbXTcSd0v5>ma6N$BuRPn>*O@$Qhz zcQ=sYA7wvLsqc+BsxjjMRLyEOu>I)0fGT{rR4VzdQT^^WoPYI{UCFO-QCT^qe3X|j zrL;C@W`kP_95l5b(OU;j-{I#IK*nbb#YdslR8#Y;w^3Rat)Q)W8-4uBvVZT1H@1&} zSJGR_5!|preC|4Ybjj_Nq4mQ8>uLIGtFFW`M3elc$-6w<1nZ%)4cJ>v^SVOYjthj< z5B)v%QU2dvuI1Cr$2y)t#aVT$(%wI6-kt|TJGsW3xu)D)0fXuBiDFb@&|-VjNiZVc=jlXtas;70LcP2X-|cAgBZEJHoo01o2>_B9oYu@2ABhj0*~Zm~Mi$Mm*IPt_!@ z*w3e7(5BE&ZQyLHbOKc6_~tQ2*Ej`%Clz_4m$F4OySI_h7OOW&0RT(MrJ5;lHNTDX1ZxN9Rm$>{JD>Z@ltWn2bne9-Uhjv-<<8LFgfvGXlLNR|Ver zyqa9b-{DXu))am5z=+BvL7=|o_HmU&SFjw~6*iAt2I-|5+W6=e|Eeg)-c%L)P2?vK zCVk1YDg*-WW!{#QdgvS%B3X!SZG{;~XO6NTW?QKjW*cS;{oki4Ne*!O>DuesgSQNd z^`NFCe&8(?XV;k#jAc%2;KZ8YY^;@T?r-j|$C~)}X?qruWO>`6bJH;QPZ(a-@p>zyf;JcnP5S(>igXIOwe# zn!BR7T0O}?VFWakjTw;A@d=dILxVf4OJ=ABgy=l%$0dgX8N|ND0f@P56 zOKoK1pUDC8KnezwW^Um}ZsQHB2)45DR_E5!-|i1@Li_<;4^VQjR8j+82-s&NjQ!|# z>$+%BdHuNu8Zx(24`){4Z@fFQ4-vC3TdJQiJU2|tF3}h-`)*lSJgBiK9^x_pQ+Da7 z7geQnPdFAjsmL^$XWa|3Wv@kqO0RE>Anyx$@hjavdj$duP4ttuL;hC4TudF(~8;q^x5N5C@-QHJExi* z*t4&LwT6Yj<`D*gHJuTUEUJ3FG^tJi`Z+1yvLcfDF>C3dv^LdqDEK`E>(7z3Xsxod z$DOJxz}PMPG4_m@{n>Vu&~9@FLQ|MVW|6?M@MV(vuIT-+%|MhSJwHxA=!qgYq<4+@ z#x4Lh8~7Gg-E8Y_LX?;i0GIpC6%m7^tWE_(Y+C&Y0>k;MV;6k+y@j-jSBSsQN8+qV2=}IiBSf$ixEj zzeyM#R8rTtpxO&zYzz1Cz_ed#YP+IzMSG85)-R|34kU1(ceB4%KS*E~%h3Ds+u{UA z+Nl|Fpuc(Q&K{g1UcYk|1_1noQM{$7pR7*%*tL1nVQ(UjqwDbN>K*~n@G>`@-H+s8 zlcr7g=e4+ZA7I>d2q0qw$e~_*DONq&f4_9)$&ID)aR#>)V+AQZVrB`8kq|c@QA_S7~BsYoXbMv7}%g=({eS zc~Fe53{71APeRx%3-b z7m4ps+8>aDwL~mnDZ%%vZ|VMke&CDN0(1_s0KHhD!?>gjRUzOjlzvXGI1U^6O*eMw z9{++UP(gT)W|chQ-egxJ!VAn{*@EBYahHi;gbB@WXdx7v?x0lAW_jB?B$2t)O#Kha zp|lp>kZ^KbY3_1T59%=B`HyI%D82ezVDHVYw)Hc8Bkt|?7<3pt^#*w8d4BNRKc@$erjxt|DrkF!}!8`(|5 zb!@JSZ2F!o8A5e*pMulp1cD15G5p{&2m41Sh`!*r>oZtGw+I!aC#e>VBo&6Q#18liff+eF%ID zAp>hP2iN2?#u2#|FQ>FX2>OPZEl!sdX!$v*c$Z=!xm4_gtoTA8Y^;LL;x)S ztOO8o^hEDHmv3rdD_?|hGy&n=-M37O!12B4Na-~^cu&X?cGGMD>{)^EgwM*V0dR5|t(MD~6T$}Q z;^G%n6GB*+o;H8lT5(=)WbqFQQ>oRtbj{-DwWc$i-0^%G)q{ zElPnFsm+13VDkb5!b*j2C*bQ2r=|EaoXca9-+JEK-jY#d*CcrKyhD2gQdq#Vsy&=| z(5(4xXcJ4cws>1aJsJI3g1%_gJ+PW6kOstxii}pYjvuVcMwB9rt=N4c%Zci}W3lcC zb0Xb*KocWpoU}a>f8Hu`DD^XAC1R3CM{t(eJ@~ZQ0o%%HGBZ4oyict4)-Y*kP^vE3 zCyv1Puv--{zlt#_?>pQGL~C4HgmRE9$b@0^&S8>V0tewh-K^@!ymrIxTGR_aev!EE zif#9=dfzT zhk8p8W6U%7l6qm4SakClj*(kaNT!k`;3yuSKg8-|!$0P zur{{^LMss6qTF~9f9X?G)_^SQb85SbD}JI1U^d$TzQw#{V#n;8ZRPX%_EAW-h5Zwj z^h~$aI?dmdAi2>paW~{&C^})G$cQNf9_F~zlEf`m*Xlh#Vkyd*zW6W9e5mqNlN-I; z=OA9XTXiT9qz{+)SnL@E-Yt?C&gULtwu|vsf_`bgq>58T-Pf}UzMR|V$LeHVYW`!s zGEQ-_pO#$v*&-q*yS2f?hxL_Xb3d+Ftibnf%DK0YEZEn;=z@>JIqDi?*_;p6JwO*z zz=COC5LGLIq?SaZ>8t8zIAlr?;8n8kbr8bpILp#J$^V5m;use@OgI7B1k>@{@tmk` zhIkNeWV0LXxKQ*?%`t)t0XVAf03il2_|}bcJQ-Rpw(o2ubd@SKdX=yTU42H z@kj0ql8?yn=w1Vt2gH_$9ovYTsS|AL3gy>=T%U)TLfE6`B&(0ka9Y|qpG?@hPEeCM zl83NVHTTq8Kpz52^)AcnN$6VNUZnmeJ#ep$_d2kB_=pdXHR+EMGU*7)vadFsYqzUt zlCWa|XqA4I>TavFc+jjKLr*){w{_2UZ{d)XE8~xE^(+J9G zWw*NDR$V<}@)6MwF7Wccu=K~7d&+e2!x>IdMyX_^*5!SkeJ!vFKV6%2o&hzhK!Qa2v zI(+5RzIgLm6(p4mainhnds_B*{%XmuZ!;YDTCt_nkEt4$evCCp-Z9E!uFLjI%uZg& zb{kDy&OFJ^M{v7}RR85_N+@-prtcE1Qu$u&yXE^rU~5}OeY?+pMLHT=0dRW}Ibfi}`sS7DPsVSAx0_~PC|6A|P^Eu9vHFudXGmEg z65kJV;J0Rk@+;C=47eo`$L;={#a!!|b_JslZ+6u8kc$pzVbwY64#j9*iNW#C7nhh{ zDA)$lGjRVZ{M7BzSjIr>Yar=Q)393mZqfBub~eiiR7L3gVJ)9GGAqe!Y>aE;lxE z)lJ{z7XmZKGy)F=u!A)o2?$_fFgz9_Rsh{{{A>)Kn`!*9q1x%akJ9-_D}X$D9^c%9 z{yaquNKQ>=H{V4fNF27~{25DaP6>iCCpDQ!`)TdlZSgT<0~_~)Rb2wSsJoNTmD2%A z@$Yl2OIM^eTJFn(N00>oNq)Rz!}!{>I?Z^9fC+o^0`Lm@@5dWN@>KSL4srel`lnYa zo80+?;jp~C3OC-p`)Ql}q9Kdt>_TH1O5F`fAn$(u@`Eu1B+sDA08OX*$)nU$mNf3$ zJfQxY^753!-{zvvX_>xBzrU2{kaG<=Rr96n_qXYr&yG`Yfx!7M{eIH!3`aNP52j&Z zK~;4Mk~b!w-;aW6l6X(4TnQfWue$ZtNYrHF`?~K{979j>R^cgsRhRgrW(V=-&E&^( z)TlB&hQq4U8}3H-!+ga%qDCE_9V*m;WYRbt6;dUoOd&+rj=RBhk*ye1#7CybBwk?OYena=#mOR zYzLynB;SiAxZkF%aO#QNvrZJ1=pFSm)dw4HTwJc0<{WU;1FL<+_Vtu&S58?;f&Xsi zc(WO~`tv!6jTw;n_*f0A3FG(4DRV2SyOh5so9LmsUT8`--{o^SVpR(#(jpPM>Z7{N zhtKaT74btK&Rrk{b`8J}ff9jl{j++BP$>n7o27)5Z>YohX_-+G${HGbUl>t% z(+x^>TGmZ}3e&Y$C(h*v2wLuIP4HU>nI3(wG-5vZZVTkAU3AT_zMu-@J`c#^PzpYt`Mh9lKQfINF@?p5u^3U{qo{rEb5e za$?r!tL6n6zJeRVlGoe=C|DH!A6O7(AL;02Fp+O94RG~0CMZt=-GghJ(ryL7U>KXO&s4pFfk9^JsH{Sw{Etb|d z!ekCSpT&nGc=iAU94Nc@mUbcGNbD#9Xy1PEA9E}=1mTAwA%DcM z{%)%+fvIaNSb%`Ls;4Io15{A)D0)UJAzP&7^inI&OV^9pt3hCuVoFAlaD|6%D*Ck5 za{!DKYlnfZuM;+WWxrX}V0meRkWjpxiz-!ZoRM)W=qlrd{SV?qRp9mxe5>pHs)za? z_6dQ`h23fw(&hc3%`Snz`$3G~s?B=AJf^JRubn^U;RLtG~-VJC` z6J(OsI^e;r6KO{4zPRkwW`A*xUwVRb0`#B2eJAGxg*mT>B0bV$-o=0cj|io_Oh4#h zw16VK)R=_8*iic8FWNOCYrq@@t0750U>C>)%LdUrf99h8?+X1NznZi98BE_P`@()q zezT#T%kH|a_<6x*xa6fD&cRfW&&LaR3Hz)PpHh?Y%OL_y&!P~iW@R*hpZy4 zXwCP8OksI|1#xKyw9kEm=@#;PTA-hU)W2mPZ*#g;zP|mmNb-HE*_zgeie0~#sEx2n z6`tkLd`*8|i~0qebT@(rHV(+|=PRVh-sFKDIM-mkY1nG8`(JOHzs^v9uaWe!LFy5W z*gtPteV=BkfI{`yoCaWo*AD3UK1?R39u{f6q=AmHUW!6vOLFSSG@S}#WSTa!20D_b zXpI*a5}2Zm0_nVgH@6K%=|>wf5O?x?*VsKTIR4c6<&E-=E#!L5%GRMh?A5%~cMfis3RZH(<#p~!h_wSDPufP8hGWZ)X@jpD>^dFuMPO-fI{a+UU z=hOtNuV6X;dHT}x*h(>Ng6F@D|F%DmXK{vOl^k@gre4sw^l={VI|pc(wY>dpRZ-gS9HTRUJ8f1CoC)i7{T#=Z>BG$d9OZ|k zw$k!5s?$y+PVuzpUz0p{c*_{w1}byw&u|vwM*Dw>(!Z(dmUu`^wWz0c?jUoX8uigq z&?oHLOZa8B4+N|lFA?9nbNXN9d=zV~xtWu5^MbZ9ScwT#IJRW)b>LV-Y^*xHca?ER zQ53W?xH{Wa`k@-;S@tn4c%t;~n?Hrzjv7p#s`_LlOEnNnL7F}* z{LkhWo!@DTKWF8CULObUO9*#SrIbhAs$3o)1StYUmiA&s`zPjnLY9s+W+{?vVcm%D z>}b&?wF4;q58#DR21L2OCGa?y0&?6ALk}c~qz;a65#go8(Hhl5G59LqEFs@%KRPmbX-){^Pr*maaf` z=r*-i^@?6i@RB=;p38EJ3mc#mHS#Ro1aZ`kE)Y2|x&L8v7SKfxNDUZ*0yWLx7;?wq z8BQKCg6=|(o?}fV{$ifLrnD~0PY!~I8aI{;X{_-;jw<|4Z*=Kft`EX#RPPIm%Ro4X z^(W<7No{+2N8X9>0~YArJ?TYCn`zZz#i7L33AoX1k!RURENoAy^8Ud+;fCw%{y!9# z5s_Bh3Kc(oeL%oLC`u>7zK}O#Qa8{5)3gDmv6*gPt3d97#I(oi`Za1UXESnTcn=y4=>WR0aFS6+agY#+St`GGKpt6 zkq$)aZ$9AU%yI3zDff-%tl2QvyGc@+jJF8_lm?<}zv;(&&(Qfh>RwlrXXdDiPvn5~ zf|^0}hwqSlvh;J7%WK}C*SqXd2-G#T%87D?J*eF;wi>-#j@^WBtVz2yXLC2IK|*6M z^BRy|hWPMKa3bgrkB_bV&m0 zaqbfEKL_hgL0v1BwPI6$V3{dcs0V7Zy*_1bZb4BPdcIu=Y|PtFLUosdP6MYLFFldr zR0Yyi5eTj%izEOFUw?nzRz=%AXlKz7=X7Yf2%$d^c92c5+vucH7?1RYJzWLc`KL9pHEqb=c-USB0&J zFYWxViuV)zHi_5@_CMdKhMc?Q{8RDw9_K&#`;96H_{raj&=BOSB;v+lov2}L9RgN} zPHZdCJt%AA1u`I)Z7c9FezRBwP|3(F;|=k?udqlOcFH2IC?!jr+$_%b1qXYxo2J@T zdUcmE@1mLtU|IQkHTi+?a_1n(Ni-@7vt<$4%MzRb7EF_q{W;*p!FyD1Me7_g~X5JO+6ZWLOXtwg&~&2x&J@^ph-x6Vh8>49YgLZ+kDrCx>y z5spkN&BXOYCYWEp;BUIKPClybNd+)Hgq8`%{!zf*;U7B*tL7U$;tS3U{^p3NxF4BF z{-(ngpcTl?kxqO_5$rvlyJoXOX}>BxemhZm%80*-Yd`qX?#0Ya%o)xm({k|BdLL`U zHY?nx*{!Y37T>pgRA&sBzE{=$(RKmqqBMVp)GiKx#uvz`BZJA_0l}T$MQ-M-+=`O4 zs?;!c%gF?!UN`|8OMl#DApp2=(4I6}dVGL0bP)pWqbl6>c2K7j5nqM&5FA8c=CE06 zj2+L9e-FyVdE|oU=_dj~x(N%glmn!v&?(9Nt+Do}qQDxJav|R$Yt?|7*cWx)Ff2`> zG`Ar4zf7hK#bniA0daI$ep=U{AlL6@)>PJjZXIt-Irbd}Fn-1h-CJMPA9P8$zGM`{aUXgof17fmzR@O)(hv$xsrL`xt=$g}v3wf9DPJ#eAmKKzKC3+}+Yn7@S z`jc4*T5lh0cywt@XbMP>b?}akv-dM%DJQ!B-uptPbckEEZivMk!_S3XbEF(barVw_ z^-rxISXnOImb-JErD57u=exJKKu+sn1zX_5J6Dic!e?4q*Vy9?1Bt=8sC8liod`i| z=YVbrT_m*iSWY57-AWn_&a|IMho^UVAmOi{e>}ASj~@L(?Exc} zygW+icS`eNsYSDwk!?z!S2EPNR6PM#AJ*(`RhV9dHj{pieZ^ZJ=I&SP=Th0LB}ykB z(}sA4&Qh=>QT^Z&%?7}n7ikx+8VH#Kuc&DR#+esx+fg>}JsfCNaK&9!-HY5?mBX_L zpuY}c;3UtHT&B6BecvCQ^8kh*kof(pJR-EKJ~rKm zQdaOj7xU3|zq^c$tqtPF2f#Q8#IeGCv^R-;!d2YetYf)jC;H1g(jjjgByaPB&Vr0Z z+>6d`C+1y5JpAnlRNR`U+PChS7E_%+>*~*xh^1Cwet%L9Sk0l*GNt`dG3Aq0=#Uo# zQbi@>X6v;5arGQ@+{(XbfJxLRGP1JmEe@cL6jcr@zV38 z-z(Uw&AXw?uUzTOFZHEKo3v`CwSH-j;8cu!5C;NK-5gQ5h`+P+a-{bYz5}PFwFfGl z{7E`C|^{L~y3nFvtvP@~>gVQ|H|2WC59c2gm zFCCw<|HEDXtR6>_80X@J3sJ;Ue*+n-7&$s2_1X4<&i_Ho4&P zOI5p%VKk2oU^TbI5Is{*AfIT(!2*!*l<5s_wc0Zj4&H@}7p{rotOp=f*m_I?xwT;( zWM+kuvHy7zFV7eCKh)X%xth1jmmf!AX&3F(MFq8;jRC>_&m;c-|2t^Kj>`oiUW79o z#Du9)&{Yr$<5GG<#pJ&qsC?dIIHc)oAxo4g+LFu&V;2fFpAA%^d*%ASt0c@-$lK=5 z&w72F<$O}mp-Iz~WmFLbkv8`rP~T;z!6@Ailb~zk%TMfeIHc)ST5*V_h;9#r#+W7E zN0yk%&wOAq_B(L)r)m~i4p3`Ot3MKy({;etYhGj0F;pChW)04(Iu;*ZA zb+k{LOA3!e-yvej)TKFyREeeYzI={Z%#|o7LDd|dPND-D3 zWQh^!Q+ViQduJ<{l}$2A@U^sM^V)-y;@PLNVMZ|w;PCAXr}(&(!B%T*-EZz!M9Yha zCO4QEy#IjYT~wGnhlHvw>Vc}dRK_S=wx#3b!0R$y=AqvU>?Y>SUT=I@1~1z-imN+} zYH|vNv1j9jWs5`acXHFd3Jjym4w-3s;!lxIBbRA66HD34KHKe|+*sT}WRBaol$?Fi z=vO6V-H*g*3efT1IV>pI4>w!Q$PBmPt@{0d&CNBVapy-W-G6Q`(}=Tz6@Gf3?zdi3AYZ1)Qkr3(Q|Olb_c#_=a9!)HPc{8zEp9CBT*W2-(V+=l-$aJB%xYjgr_5z>WWv&duflx>JBx~xC>d7ii4 z)i1u3;8<~+Z>{2<8~bQ>tdY=2ZKSn}#S0w_jzM+3|KofSx1= zELvGUGwnYrQmK?x4PURdpdHvd4bE^zqw_A?>ieIB9(lD;Bwmjp?+#p)+@WbM6l=(R z|71%4NI|f@Lvu-MM=$lIAnqGwYSV6IK}I8GY7@+-k0XK?{Ru>T->fEtaZ%%+_}oG` z$<+HKc#3_Pc5)kc;oH#XTJxNp+^2{xJ1mS^!xOvtnVR||p*C?nRyo~_FLP~IENQg5=l3%9KX^jT z=_sXi;6W9rm#~1h18z-C(n2PKkPKrBHPEK{r)U&Nr~SAk>IK3$oGpez#doM;Rjj5T zRapInkat5zZ>?jFq$$U*E`<$-QT(jy?h>W|_?K0e`AtX`UrWZC_A=k?fOE0Q;L{#L`!n29E49y zM^jxvI~QAdiOZwQtCo%wZ#XLw*wsZX1fn_$o8v4wv{L&vM8bdh!Dvzo+1>p$;MZkf zjUpUr5dw(TEAix=IX=-+Qe7$3rakffRNAzvl{0;TuXappt9JmOmTQ8o(QK1{``Iv0 z?dtd1;Jn1ig(n8;eC9d1T>Y>ms9r4%H6ApEgyyEtJR6hPX62^mLdTOo4YHmt+i%Yk z&uGKNgKloS5|#>C|FHSKoG^k6uVxbwOnB;<*}v|_>B9Z@tr>&&1K30Q8<%lWk2>{_7mQ;G{iKjsp-rZ(dp z#esJM-^fqjjDPie`-yYoe8gB9%Yf6%*fc6Um_^batcNo~+2+_lsc5FaO5T1Wr&2j< zq6Ln4^5ij6k=?Q<>Dt86zwK-+eVHuggMYgM{8#zl-vHa~nmEs;x!Yd=BmA=oopQL5 z(2a3M-kU6g8fv}#OpQOw8g-i*e}|KFls|{nn&VP+AYX6b{Ql@(3a{^s*F}qR_yUTD zjfkiYu`5;TZPBcTj6Bld^rwignK%27ocf_ zJOR1<$|h2|MfRFj2}}t}Yr{!y(!tJltO!au##qYF~p zMeItj?o1zq{wFf>A5&={VcTU!zyEU@S7-6((wwLJAr~rFXxXhMe|3ajeP_Z} z9`SXfGJ2(&LF$QhgeRu}F-&&5C2%XtzJJADTwEdyval5?ufqV>%L*^prZ=2dB;8=} zhdDWHW(iU~b`mjKb#EEjNNMBkp*RZbr|&e*aQdn`Pye*OjE=rr z{(JOuj!$}*E3RF;=0HNScwQs+NfJ~z{5gx-7swBvkTC;0$8a(WQPL9rMlg5vlzz$9s7dG5LECFN?v4k4(IQ^vL zZRb}V%7NYS%{2Xv7&OoL84e>=xS%wx9J6=RP}#h>GbX&rE#XK*nB2S}x{|L6+EzA% zkG@Y`ajdu8g&7;qdG9QsK5A%A?;DpdzRhv3;Xw0B98$OuzLP(H%IEI! z;y5_kYl-w66-nsuLTMxc%O}_nWz#jTn**riOb;o?--T4_mfiy3GmEAB0=E3A2KUl6 z0&B_#HSgT?4*daK&NpW?C$tThwCM(HcSlgZ0cPjL=$Z50+Iw2kAG-xaRPYoQrMcf( zPC)x#OOunDJ1EcDmkUv{Bqh-_4fH{+_f|eQ(x9T8OPdLonCp+P2#;2QEGz2Cwq@}< zGIFHO^@lqzX-Yx4d8oP3`aX8mifs8-|F!-0;3c?t6Nxxc-q~lIRf5-Ih4D?F3I6-9 z3Ga6j0vE59j~LFiC})eN45x6ZhUASSGL_e!KJiuV#HBl1H3-*v$sE}d7Iqq#P6Vyq zk!DJ@A{CV?$4o1=Dj9LYpw5!R!G1JkQPUG9}gfv8U1&OB4jw(1>r6=EIyoiF+WlB=R|(^QK|3cRE;mcb)y| z3v3zU02g5h>jQtgDR`*-0x z$vs1FqAlBdL6^J}IK$z6`t#-T$YC}ttpnyRbjvEvTwp^c+=9jLU73i;^))Hk3ilvr zd{kr4(;0^F7yVysp=2m=zAWBZ|2)5>Fop^mOW65=5nB5P2Wo2g53v-;Moc*o6cahWvc5^rGGdgm0%4Ila5rx@X-Ga$plDzN8jJE`3$ z%5sLo9_o-nMK;nP7l|C1MaktCp-=UvzoMI4^b!v5>cu3C*c6YYhA+$R0@6$a)EZQ9 zErg~S8)FH3xLImB`cm;hHiO8hq{3Ky1({W0>=A+8jhM>Mzc(aQ_Pv;O(ay#WvF5!+ z!-^bUBJ^>Gxv+O3z?pCC2Wo;m0adWnxbHd%HBnK~%XVO!qkoWN&5^<56@*gn^6TJ0 z(;!uYxM@yP5bm1=VJb7#)CDU;?kAV*-Qlgk*Mir?;f#bikx3e_B#J$78MHa`dRg*6Nn~v?Q;(UF z??^_-b88=rwim}dC)-;uSJlf`?7e6)_>qvj)6s3aFDmpBS$}Sg9ES=w6(yWN6 zW@9t6qi9el4+)Rv32mtRP||3no^mTs@}91l%UIeCde3Nx^L&1%XeXt5Wp9CH7L%h< z@<3P+sSD|h-e-&l%nO>}a?5cJr0xo>a1x|Xm6t)-F1O?jSgQ1b6A4)!sR=O&|LZ`> z|MD1ostxa>#!z+()m;@LYqhdGUNcZA@y2vQvlc&tK&jg>N{O7Dg)!9fSlMzmP@nGA zAY{vBcg$o^k1#Wd522QhBwdSfY$2Ji~|hzki!zjX4bkn_T|q z7V}XHL8EQ~hm$j$^v?U-1+QdXAY`cC^1c{7C>X|OCS<57_GO>pNURCKoD!6ocg4eP zgts3Yj%OW&@zFWaQ`ou@-~k7eunhB6EeALPDPI>`P7rUK>u<-9@|u((jg&}W6zz=s z*2oo=C1141HK4aKx8&g*V^fSQnwhKa8q+m6NyKgFZW+%5f#E3L9t8HFJ%OhiqgP$h zL1kCHZ%R#?bLaIVy+h4=Cpt~7_|<~t!rPN_ju9>__`ON{G`$|FgG~;p)wg76o@8`r zc1QF_=*V_En|}Hvs~c5wGF+|~lXmy6UfNWL{*gT24%2icMl9U-6a?IMQ@zp#8ppqoxEO{ z7VnwtEp-qOT2Puw${l03)ZN^7s< zu=35%m7JZcjaGCr#bF?Fdz^*NJ?D9I@$V~6(Y}IbI0{GVDCMK-;3?1;XYTHZ=#SSp zW9zPohLJ$qi`f=9V^(`I+JBhk3f;9FxF2<_ij+-XRoy;Ay%GD3`L4&Wn68l={ zfmi&BE>GR!U3a0;D>;&xt!l1Bnwo+v22Z*n!EN$A7!X*n)t>_Sr@V_G1<^7_(6{FWQ2NsKmr7D}m9!AM>*u>PtPJ}nK-oOHr;OXQ5J^g9g*X*_X=9A?ic6!+?+nUZyJW7(`4p z^}isnvHAYZ*wyUHR0>@arNogRraaBLM*BmMSt8|S$ z2S^Z!=~qoz<|KB&W?2MP>BZVB%}ILcbKZx^l7U$Ui6Vb<%CwyKQJ@SgnGG%oyJguM z&h!Uis6x%`s$P%lNbi&CK*)+b-BHQ<6jO_1Aisb$<;bhF9w7=%HwQ@=yWwDJxOqZi z3RLxzG;`Y!Ib{PD2I57r@`c~#N9k*owu-p>EZ?W5o|`#i7^}MTdV@7>%L_FgT>Q1?)LYl0rVKKIzs%?e7BP@-OwESN4Fm@0<;Y{k zFhJu|KvCHTy(-GjqIyhXmAjE=6FTh0ASEo*l!bp1Lzbv`GPC4wMIRd35oTNoJCsfA zdE6r!EAgi7&Mq5OPe|Ac$jGD){r0eqcs5-r!A4t4ytd-+t&PWM3TM%)yaz`Vi8C`^ zcer!A?v?H19;goIhrc+Q*rZDFyDGYPsVg zVmZkBLP{MhrMpOx!!*4#!mlPe*6jnn;&r+D+%abUxmlswp$?fyl}VWI&a6uDr1?{! zax$C#z$}xFd=AZjx)S|9A37a?+}bo!sSQhFuv3gSrFx-cNMl^#hR^z&3e)ewwav89 zR=fIR4ykTUAC!S=yQfqf^)$(n?VZS=7Rn>1py*iJ(0mWk=yCVzl1X^F86wn}rXv*& zB1(Wn!B3{h{^&It5LHA?MCnEQl9=ZKfzN+UQ#!) zR+hda{GI!^F%ik^#i6{F0DlpbIWIoM^)9^pX`94KZD-u&0mGX3>-%dr?ynmV7ZOG~ zMZ7#2C}+9-qz-ndmu29f#(HN6%DY8MHZC+aQm80Yib_B!@S1sa32s>|)UwYUgdzEk zs3I8|w6yy${aPcZnFWQ%%5P2gV72)005vnrh^n0&2YZ;W3fHoBi%W4K5vl3zqc^c% zHJ@tnH>rArkC0EC;ouhJS7Qip@s^c}6y!K#D|OqEK`<}&w1}jxx2D7m?x7Y(G=q}G z8KZ5MO65_5N%riyBJ(=0Jlac&j$Pk-9|iz}`_@5WM!`g7`3DlM3OoM`r2#gid+GgK zd2{2Nr6a>XS;wo9hBOoYtlVMk34$s)u{tamqcAm;?-f!+3_($$^p)bV4j$<7_n4-l z^{G?lp~WCx3o!JMLa85yXDbw)T#=e{Ch^EDOOKmo_b*BqK@YU3UX|vp=*>G&Dl>r+ z$&VevR2-)Gf(G>`Xg8T5y2`)fvk*T6U$ty%hbHLbZ9P>zw*8NH6`+Ss%dPhGlK6iw5-Q|0M5k?4^FY}f;yj{yjM|=R zm5Pr{sE(YBtd5%&iewaupHtpSEseBihQ!dRNWPCcxcCBB6PqHjc?hQoaz)Z&NHXHMQiaIbSeWHpE(p z{Ig?Kkn-i4IPRZbWUoulp?&}zqBtqot?4q=sVc2336ozeV6%A_fjSc63L@nT^_7x( zaQBXb(c7MXiw5#7BwG?cLxv>eTPT_L@AslP4cL;D2L!u6pBn`IB)~{sLhNP;7$681 z3IuH+1;3%)vh{1$9Yv-%+T5Kq((>0H*c6|prKz|xi_u9?zKw2k)JqIp~Jmu;)FbG&1+yH--Lt}EY@32#tvBv=Ydu9 z&IZ?4=YrAWJgp~4MkkLhpLP4JeWL_*rx0iiUWh;5A@=hy#5V>nBEULkx*y%%+%lFh zqK9SG<{n+@>zf@w!9-(*if<|Lbm-<=7T2;qwR85Au0hyFP~AYjOzvNG6nvoAq*~Bl z6c{Ewr$bX9T$$m0{Dx)Ic~+o$xorrSHAc>F^5Bhw*MM&xXt$@9y-U&SMnU*{(st)X zDXYR<{(i)1Lo}ML+Rj)mkEh1Cmf4QY%g*pPkZM%B_vf-DG`G!=oqmgyM8cmYy6Cao z5((Xx&oV_aF*Gt^52QqdTXdn{e{lS_xp49zbg{^6g1$d$nQ?IKUVOsuQ7+1p(W66=0a}-s$ z{HiO^&nB*$8`3{D55|jUH+y%ySN60 zf_Xc|I1GC?%%W3QL{kt&x!yE{Yqmzp+P&s*yW&BfuVpfM_g5cknHO0qFau+^MCX^^ zLw>MEWHaN7g`{c{+(8?bqnDgA#)_;Rb6&;7#Ds<;d7LyY&h_o`7AK_no@GhgNx;jl zaz#Bq$(HQZR%|oyH2bH#XT*mH?RG{@HjP}~+njh1`En}G%&d6oEhU33=*D$Jaq(a6 z8zym1N;W2Z%Ka&P8SFdOz|;9mfKA|W3X`3Htk*GoFl}bhqk3i4w%FLUz{7le?z4fUeRivs)e_`y(p?2d`fVUc^{Cxus%T{h3}>s_Z_JjjBrc@yf zy8htAXt<8k*pidW>)ojizj+ZY?i_yf(>CfU1Cn&nSR`-t=5B3XPx)Xl(NWT`p8DC* z1W~z4sXznTi;w7{KmBnQ5&h#SLRc9sf#q_FXEhb6)#3$;#<{T8WhG zfmSpXqmd|Q-6*=G4q~WSz`o4Ulp{24@$-9PnHeVTs?35=;R-UpcMfFa zI}qU6VjrWYXpkjSjEx#7n=us}TjE=DdK@{Sg!vY&RDwwGYAJtwnATy& zxZw|f6KxoF0v$}OuzYr+drk&i&7a?7YhwzL$0uzTt0Cs%GFVVGk4a8SKjo^+(%o42 zNZ=fcRGm0DngQ4c{Ya(hbpz0pu|KqtCXr?mf=g)0Ciw@#2g5EQps zQgYIw!CciAJ{w4IPqEfQRo)^Q(N`$P&XhD$0`a0txT29vvBP+I;_`TJhw|eNL1qqd z8cVaynNro=0lHG_zA^^a_| zB@Z?{A~kOC znj=4{o8E0{%jyV~HyIs{HfL!Vt1AgVls7~wE-1Nr#Xi(|Fj_AT+iu|94X>$HU}jAX(;crvt(vk$^tnuDm-m_fR?T*!Y=t#ivl>C{qzkDH1j(oyvMwUTk3Ur`P*VViQIt0d?**^pzme zTc^|_W@MUTwUI?=$T~;TQNix$iY6vpEd6%I+U?)zRF4N$!#hIQ^-{^_3*ttUE>v+x z=->JI-lk9?kI1`1p`rTdovpj=$lfTt(-)DC#1I+l+pWUU!jT?Li2SlW^?l0Ls+keZ zQ8$)jsOjm%hMOq*499y!(^6z`LLAuX?Ev9`Uzw;6=v5^w(En_n3KZPl*T1nY1Xe%| z_{xtibBmqf`27&9*4%Vn!YC-NZkQt#79&X9bSYci1FyOFW^b|4ML|wj+apZr4-Lu~ z|D>K|$J2f;9&-_pyv z`#utULn{n@5?kZ#q0oo4IKN{pUl_lc=O&nOW8%UD*>B;Prw1jWtKDkqlYw_UG7$(^ z#vZJ*ZS~xo!1~vmkW*E!J>ubqKpYbrf~ZLw(uKnwX+BVto3QWszt(U@tp7ccuR%#t zVwVL4om^s_1%h7&cyJC@a!4rS0VA&OKR5-yG%E{@;%yE`Dw2BBjx2QlND?1e6QJxe z?*`)$Co-aJHYznOk<5aO4p^rsgqo`SCUi8AXP>6Sqq$HY!Zx!{Lwp>HciQ~fb5@FV zS*{CCZ#)o&SZ>jFG%eEZo87P~f8Fbmy+%)%6CqI0Fc>ey5ust{P9Sg+%Z#^c0E^7k z@1eZIm!ek$)g?AE%X;Ask9os zg5`}bBpjmEAK8vqP1oCw6(&q%uW_ssDbCa(f&>$!fn>bmRsZ_iKS;2qMNf|k&%K77 z-Zn~;M&(TqM2+4hT;n6VBd7SThx5|N!T@ELNamjFu5@8nws4|{^6K_7)HF%WP3S1) zzhAs2S(BYHQIvY5?iPW58N<>o3EkECk-j*zB+S# zbxGnPHN~lEpCf3{p2(yE?5>$gzxU zdS)Lg=ISblTyhz)VZiDb_Z5{Ep?^Dx+$m_>0&_KbbhnLA({5t+)Gg1gDB#*{rk65e zl8=D%CUVaCLF=zxz6A)`?_IqFfidz|*LG<+QuS3H12vYle~m8kb#Ip`3!=lxwWlI7 z?aA$m$Yn6a*VPf_X;nBijRu_E6S^tkG`2a1VI^Nig1B}J8BQ)d1z+D+QZnBNMoOyC zXt~+%hrRs*v9NkN@F9jbJx=)m$9%+tDp&A3rM~gS>IpkFKzs&2_A$zwKi6 zx4lZlp?;%?kKN+v3f25qsz^?EmDnAZYW0cKe)NF1PWA44A+pfV_Ev>!!jRz#${wW? zS`5_uGz2VRcb4zh8Ry5G!?ht5@ zZx<*IMG}f{B)B^SNGa}4NpSbzF8yZc-bdbh|GBH_%E}@?m}{=F#+-AE=Xpkz(JC%s zYS}q5k(*!Sw9XAJ(&$H~H_k?pZuEz(>#`52o+nx8;^1lAQ)wJbC_fozWtn@BE2xzJ4M_+{@y7Cp7e1k)(&I9VXUcalDgT$wQD=vXM`UwYDzJRw2|W z+a>WpqG~8vYrTj>eRbW@N>n0md&nAQaeWI!Y9t}i6P?bAOto(1af`(OA)q*n_7Xg^ z-zT3|mw2%|%bPDG?1kmo5g=W!;n|gUl_m2+i{C^WKHD81RL-fqN=Uc1ewj;#vP`y7 z8yzYYQfS~$;2f^)eLr+ebo6T0j<456Qqhdkp~uaxad>IUIAL?2jI8529YHX&(5Lh* zAa_qVqHnDktsSjhddEB5GD^lJ{T55!LC^jVZT?`E!1v?pB7aWUK>|X-Xt+V&_3}yZ z^ZTqeX^f2l0NYPt-L1-~+WE*;MC@*J1|3N+xuIDc{-49inij?;8; zQ?Fn9L9&s+1a7407%7VjI-0hV=*TO1OEV2iMbwSft0f@vNH{{t22FKIz`8~{3g&S} z9;~JwR{4j`Z-0Yl-s`m_xaPLKwW8^^+TSe4;&$Qps?UsH%dkf`pA}saT!lE>0qm-H z7Y5vjJ|^OlINk6oqT3so8@lhDabo@iK>Y2HIk9FehjIv;)0kz61Y%}6?Y5i*o0iSu zL|VI3XgXNtjc)8Se{SP{RT>_4jdC)fsLG35Zg6s%S-n!DWUISCbc8E)GM}HC5BSQI*wNJ(zTk;9IujuY89hC+`FRe zb+5{vWucJWf4!?+ik_ebVyC~%dA?YNjyC@SI+JnnZhHZmQOg=)+sk!i@{r=>-s5g-rDl?{heyOs)QR17k#4DRE+gwVr3l`%i%cAk!qm~ZP&gn-+s5ji=w^wcdsUM zKY?8Mv=y*N+Q$Yo;(^cY&ZuaqM2Y)Umfk5}l<^lS85ED9vogYI)95sVz9z4^QQuso zd+YYZUpi!a)IHN0X8vkw7a-LRKZ;zprR`T+yw4<(C>(_3?M1zRuVXN7YD)O~udfew zB4Z%TdP)`XR@`G|1>L&Ha)>z?J)&$tCaWM+m;BdY62(8ESqmb(cmRF%fcC&Ij+2Jp z=ptu{8N*zJ42~tPuVvJ4o=fIc0>QY+w-+RKWgm))_+NZIu6L16 z&+dqE-Xo*L1oA^dmTh$xmMzih?aA2d`>sk3#&9zSf~WnpsVugDt?L>cIa+@=v>Ev@ zD5&$JaldEkeq{Ubx1cY2Qr#whAFg|iC$k~zKXcmp;WB!kK>TeWgEK-OqUW>_vC>%l%o z<=0ubXZwki*M6{Ax+>5_S~^|DEfn>#9_905ayfeptZ_>+ya-e*T60cQvaI4NBX-Ye zmW6bIcjK~G!^-A`(VAdQSM0p0M&+gS-ReCitcr$4oJD1GfEtt4ty@^{0P3vq8X>;K zka69?oHyl^jxlyTIQn|lRJ%nsnW(tYdF-T%4helw8f4jqHZtq_X^mTKfYtrT+7|1x zh(uvO=&R?p*0K0f*+cXI6ULu!&6^W;P?4N zJt<+%)**?vkH#t|k7Cpp+op_o2<}1kw!=Tj`#L+(`R+AH7X{@p-i6NLCXVBM+8d3wI3;rE)+0c_W*x0nM!2MeJ0rSdps-y{Ax>mz-QE+P}`GxWiZW5*gth z%%^unDH<8T^%_^Jc$I8K>1}AyTlY( z55Zv>RE{%!pFW5gun_NOs-IGV)%r;BAUmddr+@K8Y$)G8m==dHv`0HFTh*cK!Q^=f z-P0RC-!T-Sa{{Sh9(|xaQ0e`@cJ~Cd^$SVV-EiKtER*{HAf|+X>Nn-io85!9~r)cDOlNS;>d zl?WFP);MuR1B)%L~b|)A0STd z)a)L#CLG{}|GKgo703ezmd=8)CG|duXv}2)L(g!in*G;7L4~oWni-q07~Q`YjClI@#>V3O_mrRTZlNM1(v)qJx*O?J-9y)EC(6`0HjA-a?}-qv9di{A{m0- z>q$<-*{TzkI^DfUE74tZbOe~IFv)5TLl7_0(`~C2%ah#8hAY;j%i;<#6P!-Q6PY2GESV`sZv>(eZ&50O> zcE|RTo$K2%C*Sp`j(BrW4H8k=Y(Y_w01@Gms!IQkIh8u{ouNH~3v5T8)4dQ}x08^R z7)^1WJJ3G)xX^dl=*nMR;}vr66*dCI87xMl%h%g2M!_)^l{P6GTV`B$gBAXPG5X*v zL%mV{NJHh6c|O`?8lAE`*E?DC=a}eVoO3V9pGooNQ8$@Z+hotpR)5{4&SNnP-s0uK zg+Kwn_NVeMg>9Mn25i#Wy*g#nSP$sTCw4e8^vYh+!6Y6Vc$QwX(g?efw|_<{=K9jB zq$??tFmgje0-2!aX@Z9UnpGJ&Y`F*~+cAtYox})FVuTklZuKR1Q&$pO499!Sjugk$ z_r6C<<8-DeDy-pwa$ibUL)lsOLO3`85=Qqjr{r%WO#ha2Kq@ZufkY)azZ;;98l8Eo z8I*@HkIBhw#u6%Hqnl!i!Q((xX2Qu2_QeQaH{eN+2$294JHdeJ^1d)ZagsRby;^rPl^4y!RF@xt976Rpf*zEqUj4qkRE`do}~kff7dpVvF)+$GAuR&tT8DwjD@ul)k*Wtsw|CAIp(qw`k22ZJtka z`@2oi(;PxmxgqIKaumyc{7)3f!_T+?`GQ(M_<(ByHS*q2|j5wH)22OJ>_!RK{gZI zz_-(4K3Gd+(L>}$^DQ#dyuCN+pX534eOoGm;aq|bg(UN_FyRK%4R2dyWT}@loX$}nD+}RgP zp)vCp?Y`@Ye6r6$w{q2QQNFNn)o)&QIkS1>!9wZi5N}*p*6L;|^0E${nX7*x-5(U- z?r!R5{C!ub;emnRK6WMaO!bQeviI?2j z_0@W+*Q>aexI!%S`)28K5ulP%f#;iL z)G&f$Y}b@WB!Rl$C9yT-xcz~OYKIo%kgZmpsP}CQ4}<3G?7lqzIhMHJqNHNc2KNS$ zQErqxarx6O`aPviusvDkz3Dt;GjL!zN74K^r*rNrQxeqF60|SPZtgtr4EDb3`>ED zw4A@8rff%&MjN@f6RivhaIf!x6}LDc>tK>W>u5uLEMnSDicEdNlFbX9P9 z`@qPtaOx?{7Qa}sNKa}jlV91mUR_U>C?0xyd|xU$W+8?o%e&A|Jz*}okxzM)Vv9!eH_6Avbb!$%Xqbe>cT~8?u@2MAmV9Rcr(%K`= zqU~E~C$h&Y-r@OmRU}?gEiJnM`ohw(TT6_S4ZJ^nBvSAF;H8g6M_H<5mp6r(ctGqK zxyGulYML2mKvLX*!Awr7A|Qcm@1sSj$hvZ56fP?>j>!`+g%=K2OUpr3j<8pgZT#}F z*gK6QJ6rPV{*7@vm~XBVntR3>`YjV)Pu8dM9I_tixHQE%?T9lr$b!&3Wmuv{CYn1k z1d_BlVr11NNIS>uvbGeW5V5f>-Q`0Jh)h}1V;0*A9kb7&yyzIvl7IL z299!5M#TdwRnxXKR^ggwG`~JL2vsD=1KuxTYQXjP)PQCmA)uRtq~WrsvBoTaKnIP|ea`3Bb!Tr5==44|85-Ipo-7Gp-6<%VVn z>)m|Iy2aeRo=BUX^2m6y7qb0)vtH7E?>I^~gGo{~*+d75Y*nBA0U+lt&yS#eoQsJT zrcNR(<`)?kcu~h?{CtVauZ!4Oe5*#PaGzdMGANGjnso{WlfT|M9}q?%Hcpm_opz*kL=X??0-jp#)L_S2+fiYqY{f+q9cec21c1p@AAc#nyl($=06C-(ao#a6`RxIaD=A3t|W-|INv z(VPLH=AMIRi03mqBbPY{wge3N7Kr!$v+fI24q$!`r4!REm>U7G>6QH{GhT=IyNF!% zJ14l|P5Rt$gkV0ZnyDh%A(~02^8i1SeM)B7o66E4OD3ULPg!afDyo;VKxi8uI~Gjg zXBHOJofqPTe6)HJ$A54S$$Me1VP$2?QCj2HZ(MU`UU$T{bNa=-Zu~qXZW)=tupD%n zpDtxnII{k^E;`)PjvxawlEk_=vn-W%O#k*giq*Sg^AN&uwWvpcO$4eBfrT8$S&ZK) zx0=-4NM*T^5IwFNFWnF~84BkD(lSQQ5RREHIY(a&yW9CuZ8grV3%;Mv6_s3c7Zyw?kaV8IfJFGoU9BK>(La89|Hpih5czgmDZ$S`w|?b%N*-2do`ll`pQX` zjQn5m&K$j-$|yUlV{Y6q-mC!U65`|H)+-`zw30GnE1?`ovgtvs>_@vJ}%nqE% z`Utb`+qCI>wQ@nzhPhNd5eo%cCqHj|YD*1nFURF>c3aAJ=w55QriYNZOq`P!naw#8X?cC4qpW!O(D zYYE;?Spig_P~)F8dZk{TrxddgFW!x9HRbD+E|AC^3HTnNBuRctUNU%LB&^jLV5NxT z(+mULRW7QD{8O-uS4v*$u!e@Zc;j76vo~tKqYKY={}A*p=f-K;a`9NiePud3liBcx zI%FF`HMAt+*%Yr)hf<6vNrfl#F|LI@^U1hg0fywsdCSk+3nGVLI`Ggknz4i-CR_h& zgfrGp)F6;1fZu_8+Dr8qII|S7eEJ-lG}?Sx8ZMVvFZquNh%1^bEa%-VEf-k+EGl!YgXxT=Z$;j`j{=u3#B(<>YuIIzVhK&O7whIBA zp_l;YOFH2TeCUQB=Uk#-fhcwNj$-FjA!osSW`8%CYCc+#x^Km$c9*a1tgH4TcP?uY zgB>DI3$2^A;=-Fihd!w`bvDOEJqbcQpFnltANr-QIOhv-P}J)|ht$Fa%iu3tPrfL& zI-0|is#Bkyc<@nt=sZ^a$GqamNHwc=9Ti;eQaqG)?aGmkjxs7`gGaJ8hG)v-3`!nd z_h@TAP_rj&=VWFM-FL}FE~721#sbfP4vW-?KldnNpIzM{ zsF3kMsp+v-j0Nl2Y%kCCLw48pps6?ut#7!vRkkuMWwN7Y?nw4k$XDWcRFY5u{-VDl2DZ*! zYlNcdHxsg8&FVKTIj4s+1!75vLsWR>)qJ#SPWs2LT;kH13_K^ReFUA+-?tQ2N=2q| zr=;og7Je$*^S+O7XK+x=4+q=jjGh`-L~jX4r&{x(tl}j=;*=!sNkCx0g}!0FZ%#jv zjteh`p5Z-VHVubAgxs1f$U8FY?`BDg-IWF5brKmF4=;yag3}|(NaJGG$apyzyV~Vy zLbDJ~CZMKjMOu9Je!ghA$Q}VjC7>0b)CK`T1ZN;0p<8XC+F~0sD{RMdIjPSWpR@bK zpCRFek)IQzqqcLUL*J$Ifwa>~!)|j-Q!bU2AKk0jVf0CAGgvre6SWA>c2nk=g@ee^ z3lKT_{Y;v^>smL+sy^z&&3eVV+`TOGzx0G2l$?MmJJP83ua}{1*<}xSmF{~SW{3)X z=mGc1EIp5)Phgd;s$`#d@735>?n#0l|M(V2mUNSRD*}Li!2&K5bbxiE3SI)&Q)KY4 z6{s!MX1uB0$0hKqjZ)#vSTi>?T6xswIiIn|-LzzH$u;a-Sdh>!6!qCU(i2{{-}J3KfQUn-=i|J6G4 z?7Cst=ZDvJ(m1qhYKrc2xIezLYoL^|1|#D&#oL7Ut-wT5c@)vj1L0JLKjOPgZ7N54 z6Cz(sO%A4U7SfB@wDh~|rWRtUveoE*31!@hE4o#lNKV@7-e%{@_&Isc#N^AO5D7vr zmtDobP?#k3b?@c9E)nZgb5woq&l~R(cC*IZ>xi5(3Q5L=T&e1w#+(sB?{NB~2Ao$F zp!XEhUb?amh8P8w<=3uximAf2Y7h4 z%+W~_t#yHN>x}u&Q;Y&YuHtBqX1Yt9^3Z2?=-5agGG$`=T#v_to4Ywa&3NgyZo5NI zAg7Z0x})Ynd)D?t3W_-}0>P5c3^~Ht>z7-cnhu)}Ff4E~{6#P4ax_*EakDOH#AB}G zl6JYcBrJ2-t{Q>~UhHPvNQ46(j5x0H6hsru!pWUe&&8r?fqo8l^UHbmRljNAl*AF7 zLwxP$jk31;lu#quM6s0iP4ItH$oUzWe zP?b0h)X18fFil*3RMeS7FEqZd&uE3c-dp-{-ai|M9&G*p*frcgU>_)!{Oe7jT9~Pd zVAKUks}};oYM>`uGvmy2*@7qZwaq-3#fQUFt4T=9W5*R3#e`ko$kz6k%3F=-&mu??(j>eyhEXCEks=Y3dWXr~R&S+)Kzesc835 z$aXva2MU{i*glAN%>bPhDhH%nVoy^O5T_i0+AOk%Bo{K{HLb0wk3M1?t-MEPO&Aq_ zL+jE@b&}KpTnR-QL9!w6GP({y`Y}l__p(s_0tsRJcPj{88L<-5bSNmw<%oxg5?w?N zUMXC;yX++uxz6%2?n8IkmKAb;3}`8-=A^1WDEk*^ZQm^QS5&sYcj~%JTvY-phKkw9 z%iY{2B&P?(M?FdGb53kV&;1mqmckdbVvU}b@d}J66J7KwfZ(Y%-Cfyc5a?u(YT$Hr z1@fG1b#D>WFTc6D*$^ex|85ov^v@nm!`3_wiuM<34FqS$%gCP0^NQMdoRpbJ$euEY zWaznHEOv8Ewn`-^Vm!`_HxQ$(*DX=5%F}f-OH$+vQ|9?)U|#L62B^NI(3j-ufP5hb z$i)nPp*&9l-f$a45z^Z^bKSJfG9I3-$Y|z?yr$eag8wb`n3*HEUn}TJ`)|h0&0iX` zuolxi7~qO1DJ6_fMJhQj7uEvO3ljcB>%WWw`Jz+sI1raE0(Q-=l~7h4RPe`g(bagu zvl`xd_QxC_zZOZ7VY!wUS$sb~Qu`|z=fx`y*nw6sYaKpO;cE;3HF+dBoD=+)k|Kr| zFGSwNX$rZ4oqJtI0ck7uCt72(+QMuWg>pwD85L>p^qc8#9dok zsWu7big;!pxgPlP$9ji?&@0UAvE1-9tP={~I!st=l|GtJby(8wz? z-W;%uwCT}|oidI4hvYGUV7l=zg|Y&4=Ay$(K8rzDPeh$w6 zwJ1fwQi4CV zi=diCe>X(sNK`&sh4t&edjIDJLx_O;OYDW#LP-i%o|7V?x0RD^>%kDW~ zMP)Yi3^q;wTxL;9c#&z`we+gmFX2_7#hUOh=S6t#`|OuZ@g|IN@e=fgQo%+k`|LTd z8kP$@DPC>;`SV7@`{nq`MOKtr=2~;&E}3zy_svlb&x_F^>&Wm2s?3DJn8d2O_k)KZ zi83iG)5x0%KVap-gRJR42xFm|hL>sj>Ghy!lDCP%-;tKl^W+}>*D%SXg$6D5i2^fm zrclmhe{){>M~_ILGIik;z5*WaJNh4oU%l7@O9I5S3x*~9-b^xf8z>GSMI%Re^qTu( zDHVzkpeB4MB>L12*EZo!QamJ2rD;fkS+A~QZpZaiNPQ+yN&)2#yuFz(1}X%}GzsgpTx2xqM?lJYwJIZai^kt%AdK*dHH3TuaEmNQfj=rL6Y{Wkwr&N74bt>nu< zwnTF6hG0#gT=7e5H)rGH({IV@S#1RQ(IirwHjCku;0c|rGSeh=w=-TJK=LoixAoaH zbJavDn+N0H_w?UR*~(owu?9{Vtatf<$614}2+aKI@)wl_`b5v41i%=QyN*w5W>d`s zT9F}Y0jZ?!>Ro|mmv?1im(+M-Fn`c1`BT*!6Vj^0@}`JKinR^HGZ(U})kG(?GAgLB z&}(r79gql#>}8i5HIr)h)0$9$S>bCFrX@ZX5k}U3`<>PXw}sR;BQCJ#b##{FX#k~_Ey$v99(&QyY)zy2Q`hJIz&Za?bF7swQz(g;_b`$15{%i-JYplh@YjXgdx7=x^&D%v8a^b7@ zeFXhAjk%uDYkT(2OE$nb(4PxDd01e#hZ^n{vB0H76u*IRzBuAqf1-a2sGJgLc!YTW z@Ol7Ewi#!46S4Y5iJ5DTzR%Fa5pt%Y>JkOe4Hzr?I`S*&x>fyCa!f_Fk=53NEkI3r zYy;vV3j;?r2VzD4`2qaI`ageS9VrQZ*_CVsXW)Ol2(Sr^mEF0b1Ma{68WS!*--CvV zaDlfREnrJ9CtjFAuk&I1P6lCla7Memyu02WBWiyVvc|2gC(UhL zuo#5SuzJZU7Mr^~_`wq4u{kTuD36Jz);fxXW|swBi!u??+5a!4rvExgWk^*5NW4*+ zF3lZ1Ks=d&@_BoMhg!_!h1pu5)-GDs{RfwU@BM2J;zSrX30C|E5HY-4mLtav27`AX^V3#?@Ej1 zd|CxdV3d1hz!hWSKDQ1x1~MjNuCg6W3!PvLP@6_v=%eIM*~bTV@{v?UI#ZO%+I{}i zYWG~}IQ^M`h~!>=RM{36+Q#F@5j}m@!=g0B93X?5q()Fe1w4XlMbz1r5U6Cp%U`Fi z&ycV(GG42tK6>QJszI*k?oVgn&p`ouq)4N5scoaVdN_-f{rSi*DP}(tZ{F zyw`WTrtaz98|afCQhbAtT>o_dz!QWp0np*Rh+-=cHgX@?U6q_oei6et0uNy=`;-~NBf|4BH*(JkS)&{jZ%QlZz!QHABbo_HJ+>*aXJ1vxR|hk{9~#M&NHkv!4MS@bu+!eMZK-`0N=a zcztzz{9m`tOUmP;5!<`MO=|u5V|lf_!gS5e0WI}^p1oji;tumG?$8WbJjIt!?#ubt zT`Mn17sq!$7CFrVnY4fYS6WR<6p!G4%4g?s2;(@$icBzS_~C1#=GVdKOHc32E2pJt zYBt_eGND|g7?cxjp6Vp3vMg%r;XEm7jh0hPGe0ADUIqRA_qzp1ebs?elF)}C+lL&U zJcrQE4E8;E^<@;z&l@JrEZ@Ayu=5M0^kFuC{RgE;2Yn5|W zfH(r*Vxh4dPhcbf_~<~DJHz&xu8U)=sF3&;R)k5o6ev2mF%e~(Z;>!b%@0~VJ5;I+ zXI;+|F3d{xGMkEFcVQHn4+_&Syf%09u;KvA0J%JktPLr-hBM!<(pK&s<)`! zXmP(cl9~(ss+9Oik?o0d-Eh^OL04g@32(V-9nD%~y`9OV{?~nb{pBy+tpEK3@ZECu@phkJqA(=xsY*on+s*{| z{_-oZ61>0STstdCPNYf({DS&oKwz;an055@gv)hZgtOPKH59ga)Ywv{u|@~~$15`a zuMZInLGyxyor0K3zZz$bJkvagQBvd@RXT8MyQup1KQ;YIkfj8htry;YSr|dUPrbm1 zQcUeEDwdU_6y@ZHqik-?M#b=+FN9Kn)g%0Q8-Wp!Br*n`6ASlDD-44|W2L&~e@Lu* zOP&3aT33H`F~M;$o)d%hjm%|KOdir=1A_+Qbbg1Jc}!)Upj-z$Sj2PZ=?$Hf6((0} z!W8`GYjVp^e;17)Ovy`@J~sE^tq<%bE!;hLw7rC&TnX$lroCe4BFH=826&V218ruZ zkfE8fFsW)`q$m)E%uqh1)H<6!*1D2d3S{zQFP{`9F~JKNF-B|IMZ4`9$g4TO7(dF6 zRBwQJv}z>M*9d67exfNTn8nMh5zx08=pq=g?DVFoM-m{XXM3UPQn}T^l@j=fk#4qj zfsW1u@7)v*^iU%@99ZHmS`Szc%BXPL&1m6D$62R*(gROEc8xnAc~Wwv%k~1wL%Zar zuR?~~-Oxvbh!)97u^%!lvxR=3;9obV@K2C}xUrhB+5iUCht$y7QtLH41 zYd~}<@l-}SIkS#Y2c^|J;uzv7)0kbMjAE1^{r#SP_2r*0PBw>jo-S4R&F`!9cdm$`$%CcI+ zHKF!}Y)AB%s9nrlOSYy)9vT1p4w%^af}iNqkTYaZ0?ab1H{Dqa&1`jCrETWigxvCm z59KR`liSUArslx)X3fI|7Ok{@-Y`QO$#b1x!tCdRj%HK(R3w;n1>Lov?qk^%ZH@OZ zk{WScq94Ch8bY{^^lC2VyDdA1Dh!mhPk!D&QVW*1CZMCyF||@^LV5G{4OwiXENFPR z;-doLbos(0YR~D_7)aVN-Kgk2ZN!Cw05tnfuTc|G1e()M6RXpB>w3=B$z=3p;47}q zkGmGs-|Nmc*H$Tf3N0x0O1V=}cp9d_p3i($;M(wm*)l4Z+*;qA{G~@ckE)O4lV7^~ z1SQ62ukIRdttjaNU)fu%L9oIN+r-U_AplYpY0UnIiNW(KbJcPd3(|6%iaa{R#J3Du zv)sa*QQyeZ55u9Nx&^{oXIg8)!4bT6rDC8ah6-MXMM_y%cn62IlHu$AEZQmOOjX<~ za@r-}aW;p0eaO%CAf7}_)=M8J6Y`auBWNt07$m%ixD_y~6GBcT8cPiOEisNUSRx#bQ<$Ja_FGK9)^`cO1v-hM08oM~7aSj*Pm+g)WeObDhr7e7SB2vTK$x&aKq$!5? zcm)n3#NXOpg-4Rq#%>OiiO|e`0_6^#A62Tcw40Eq6xvFMBxX2oF<|GO?Qs;Gkvpox zjiafmt~ARe-mXe)%Ovjc<{y^vg~iE!&BIg~WJUhSF?+%G|Gg1Qoo>4#;)ZZL#CP)4#Zm01@%SW&~x8bWqT zF|)AI*zFkuh%DdEIqTJ!QP`}Z@gg&&zga0%xZ0114+1 z(knWEe&?{)%bq+zsW0wUD=f`)57o`AFJzkW%;=T7?ZPR;Md@%QZ@BjIrK7o7{SJxc z>~_xzbA;09M{O_!2sk(7^*v%r)ZbEcTiEzC#NJdk)}L!*0W$yVde}pV?HRHPh{B7b z3RBg`NO#OKKc)|fsaetFR77g($>u>AMu9|Qs2l(Y|8*d>Fyi&KP0s7y3rEOz3d&i1 zp#rwpC6{yq{aFPO_w0CwJL1#{Q*pli4Q754j^-t%MOf`O{7ksm4}p_@~(2~e|4a~hM6C{D&pVGBG>a9yNBk~rOz7Bm=EE&kYJk?7Q} zv}2NMgcON*&~18!i=TAEyHdOt_Ephg6)<_u9dEo+>+PHD$Z*^74Hg zZ%eS0OY5W&SV7Mhy|Mj7qN7%VV}Y$>lo~_=TOxB4r%nh@tTb`(^Qa(yy1V6(_p8~E z?uNdbE_#)X!!kxqdU0gL%w#yGGHguPZ=h+O}a;{QQGw#lwK#7X}=K$ap)b z^+c;7fL0#OW0Z8u>KgDDex+^`F6iKze^9hGw_bF~2xQ(6PbqEA9)tC`a9wc@kaJ%Z zXa8V1GN~6aZKl7Xo7L4ty0~_qJUM%!_>)k}Y(DwRmu$Sro?gA?sUI!ewYABt8=5=$ zC8^_uZ40H&RoKc@Vnx(L!&$N4gOhafPD|%(Z4;m8MLb-36j`?lsAe!CSe7(c&io~{ zPTx_gMw@rZec;_ZFFVqUKQu_Si9+7-{cR{Bi4|*eZmM@RMhH}sp-38kSSz0Ef>SD> zI84zJ&5&2^Y=S?poNrYjkvrG2s*yK8 zjjxpVh_Y9F7G5Q4^`W~)l&eD9DQxD{6|D$fKQY{Gf;fnQ~P$`P>5+Hu@h&Wgx0e>YypxJaZTW&gHgk5K#_M`z{_JoV2D0Qs9#(6jLaY{LUwe%PIkx{t49YsJ1V) z*WykZ=XM#^&5u78*;ICA=|B%M<4~Pib)qz@hgeqcz)G883feHPs}Kf;FoaV)10BsgKS=4%ok> zFh$PE(x7U4DU)ZWZfOT^qF{tO_wxohu(w}XsJ|@^^o|yRJnO`VuIwI!=29-XSFfVu z1pIh3+Vax#f>bEP`JSrlt9y+Oz)i|@IfD3S?nE0z+)IG(J@Jc%6tFuukpLjK=bM?d=lf1r@CGmRDX>8EHb`JM=Y&yDW7hMkY;bB^5*Q@+#V_J zC$}8I&;MCvJf16EL+GIlJV1A4Il%HZq!Jc;N^Nucf4JAAl4#qcrlZyQy0#o{5~^ST zND%-RJ#Q09z6Y3sOy68hqZs89Kv5%kb-C0-5iNQ3*xdUBBQwrV`@lb%?>~>w%kJ=B zxLbo_PAIk-PLO8B$)ud$#+uQ0NyieBgikeHEd%3e37m{>iB}pVAe})fg;jEoV5^WP zAA-ElDk9bEWNIQGV!^2w)82wEOjqj41eHZcFBsm{XTmyp4!#YyVa#Pk2%U{3n@86uJrs4E`<)EQr#3dUHd1@2x zAdrS&SK$jvqfjkbMQNXyTFXF>L9MAX4$d{jN*dlbsW_p_j8vS0ujK}XOzsI`1%tpP zZ`*v^-aVM6bI|;GgES|Z|B1RTci*c+v)I=!ycRCw zC-aM6+PodjtBr`yAZ;Fqu9c4s_gA`~5p`$lC$j0vXXz@H#hdYVzpTQVaYLl{JVQ;) z?h`Sl6YjVK{cuO}STwG)+JM7k+HOl)OCo9$d4JgA!?0;pO8a{ZWro$2o*nI6QH$A( zYk}TOdVBHXZ-H4HW7G;;s?PniDtjlLbzVit@itdawWoISgIRcU508Zt_!c{P%v}4> zmbNuU9V62^*lR`)tQcY!Hrzc<=6VLvlEf(EAurZh zEgW-DmGmw~R5wGtZV(w(VTy&IG9VO|on?eiUibKWkQ)XKzu9BXOJ zwh5Wo!+rxAa?g3M6o2D~qRzsdDA(K*8>t$8x1JVN*xXrz*^-z=>7dJ-3Ol#$VY+NnOH5@a^hDQInIzqyDc5l{$r#;uf8O>Dp zgG(B)W2fluD*3HTN{3pV#8fG=wF3!Su4Wbb29X1d+9LpO0kajqce@WBphbmM?vB@% zSq788+LzG*ovj9`VCsAr_iAM9l3dKJemDsbX1AUK&6!jw;T(nF)Zb|QUc8{jrU7w7 zP#j1+3+1PG;8Agm@o#|QK3pkm-QPU+Opx#7hf6b_(2qeM=(_%rVnhvqx{9DIh0D6g zYn+>OX16DsdFaQ>2WA76dl2n6IHOMb(dyTm#J5^{=3YOz?QsafYnxWCYRuHoaC%GS&c8wMoVncA1+?dP%<#@cH*;Ra3?ALfYcoG%e(EIr(-Vh1TUU-qvjH z>B;@cLlj5|*GQg1rPVvXI18IR-B2Fo86v~4d}OPd0F6WRLlX572+b0JIS8N`IX;fX z{kbd@VPW&(dz=%-Z{E>(erIXMS=-FroRDp%Mvk5GC#81s!pSg3psva0yG!3I*;4(( zpEpivx^3>TNG(o@W->;H$aBgY_kI{D0TnZLt-hVtUA4nlrQM>@b8iNrDf{xhqnDhn zCeFrh>=cb1Ld>JUa< z&HoA+X{}Td#SAXRwcv4bU$~5&#D$Zv?|PG)d9@#yY;}`^M;*vPfLj5-)V2%++O(u% zWRn60S~%qgqf>|r%~A1Rt*kEwO_X>HC76^h`b)`TODB7#bH?;;^c_tIS=UD6HGDUF2G^S=xFJn#Gd zzwi6U-QC%lxpVKGJ9*~JIlsf-m>1;I7F36efGAGZ)E2JajiYwLsSOE8QaPYmWo)6> z?j@6B87>Qz_RoYlhFX>-gIX&R^R`dQRD4x!sYofat9=c;o|l@JZ0RC|@heUnbs+vT z#IHC&pB~XzCLrVo4(Swj*&GBM8q16TB)jTgH!r1o=nhB&LZ@~cL>%frb~@J{x&trQ z*r9y#7ZN8R%46bwV{*y#HNZd^G!=52z#1@R25Tb@DxtIN(r z*+|aaY1RySioAY?$Z%{8a0^`ENY|B>3ipk$zUMr1L2Yh9MM3&}2sL}y@129cHxq6* zWY`*DI?jZ2Rl?Z&{DVC^AS`RDppKF9RI^d@=<1ooaBUlN_w~ru3D4Nt5o3m1qklJ+ z|2T3N*91HwP(B0B-S^9_&~DYW)634XV@-rS@8{+UB^f?@D^EqODF|D*AXbIkFi*_V zlr^a++L+E433{2yABORwEb*cs+gU2Ilumc_@%6IG+HD;N1HeAxl=DI!@O39FaU_?; zg%dQs0?I^Ug&p9DlCp_?35`odfr3S1X0|QLz+Pb|iuR=`-S#Kk%aWtx`__?g;c*H@ zl-$u+Hj}~1NE!Xk41`Fo>o#0uFE;du8m;PJDc{T}Wc4Z+SijvU#)7Jp*us3DM-5d* zXQ(Yk@EqaEk5Uh<-u34nJ?>6q?31`$eCSIGk+ zvM3)sG@$@QkE!i=J~g*(>ZXou4_96a9#9yW$F`1d?^_uz^LvtXF9ENjW6I45RPL8z zbFKnZYJQKPtzR5ZHrvRD+O&YP@$Hp;-8L0`OzJ{BcK2mo)&>wluc9iTIveW)6HhJ(7PhGs8`?UXqYq~(U-)= z3f8YIpN&yb?w3~L}kBE<|{ zGfi~z@RUgVekviWg->cAs45eK^Y6=^6OcNcgsdkIy1-7yF9+j5vmhCkrsyVvc zj=$-EE$}>rdehxLbIBD;Kx(!9)wdUGzR8vy9`0W0TmohzI05mt&R|Xq;;p?m zo-o}@Y;3LOE5=r%;#!FNic&=8CwZ+HNNk-+9+wuQi~{^Gq+MS_)!dN`F;MyoiBgzl zg+|CUl)0jNc6XSii9YOloJDB1OTIW-_j1VgLhpb7TCeDP5anHAr~o8(#UZ0UI{}Ss zA7B8N4!|>urqMep#vAA>KVog@<=`3!?R#BzN?8MQNW2bpiBWQtPJa9;#3e-D(Sx$r zc&60XwuNsd*n*_B+Tu(-eL8x3TrFmMC>H=&9VbN+JkMo4y%kQiQ5S_K%q09Q(4x?(IEb8}wGI$4_E$dtm6lhW^6SavFW*7(r z#MymXlbid4g7Fv`EL`NG>*>97+#*-!vR|ye1FTLoUBiL-tfJpN5^ELO-4OiFp8V7B zOf;j>*c2sYeOUD3=G%`mbX)ROdGbMDc+V^365VrJUMLeE#U9cFW=tW@ChnZ& z+RLBpT@0eKNE^eG@Br@LROw=#fonaFzO6SlkV6xq8qlj&G zVXS+>F@x9BqOw2KE-ls zX@3|{Qx(0J#b@?o?(<{bUdx~iry#%{X;d^|>KdIUC|X?GXOEIWhp)iP%Gur2yqXjn zTXBYDNXgcROYYMJu zz-bBoq`d2JZ8)18`@+v3)xvz|>9`53!M}0`xio6;I2nt||Zx z7x=3TybT$u*;3UK4P8Xr0`e>|h(||l!4s#qlqR5<#bsA^s~l@Pip^H>p8Ji|FO=iy zsA+t@RD=2y^YOO)>eASAZ*@@9|0tvW?I}oWZ9{-wVC3BZUvzmyE4G&n^Qx>Vi<&O~ z?PRPeh?-@pYmr*^*4E(}%Clz((BuoJ2WVkOpfI{KEew(6YepNkwsr1)Qfvmel;;45 z%*7deY`#*l@ywk(KqE~wH*upI9#&yUveh1}MO3ck@yBA4zEb8He_OaPhovRLjHNoD zAXw}o=lf11C?>KSvpK0T>^1lWbyjrmY6;S{ONFaAchB|P2<)Am@LlejG|u(ZXT76HpX^`@y8aP85bm^Uk5L+<-70%sDe^te zqW0TynRopz&dl)&gq!S^6v}WnKNWmwN^X|Y5*3#kmG}JZ*snS0oW10FlhFo%qjntx z*#5;^aeEU{Aq|^YYHuGq-LY?6tA}NJ>y+vA+SB)is48ss6x-qz<2i3Adp#IP6a2|2 z>bE|ae2$+gfrz@t7E0sv;w(0P8aUmXhR`s&$6e+2Z9=^F^Sq?>GTBJBr{CtMzmO7k z%yoD@CFfRs>RF`u#2;uSktt@2s*GRmK|mk(8>?x+YMkR|rB9)=N=1&eyGn{9Ks`H2 z)VgEZyVOTyy)_iZ5R6KA5ETQ_f#3oHZ#q&%5Pg=IoMEX6!04ON!=6UIIkqT!>#oVl z(yDnr$5`7diU-4)1!a*IuM^ePGE~0AX1NV*=b1OzLwc+oi_U2<*1y;(!lnxWy^?yi zZ@TY5)6HYO#?8L1&|fiDh)W%<`cMpow_mS> zSq2+g9bOtsl|I)H%r}qb6B>ZxSBKA}3h}xpVN+pN2q44^vze+ZH|TxyrLANciasRW zkhNt2EOH$;o#tOD-fQ*F?b$9~aQNK(lTR(HCDv+jzD?nu)gdW%TnRfUsHzgR z;4GBiJJey>hH$DmQBYZ0n@FzD^EMlu=Dos;h7_Yk zni{H@Mrurb_T<4f|FB&mpmFa33l3E6S5iSOTY4e5NR3olly!zgix=v#aQ#CcFxzMy zY+nCjSh<=&JYrg2Y78uw?UF}2_FZL3wwHiuN7l^v z5I#`NO8|1pJW%sgWgmXO0$`Yr@b!rL>9y=zurs1Js02Jb$Q)7P0n7vSxY^t2FEs$x zH7=KibX(&D_>b`9S?Ge;N0$0SzZ6@PMYn*`V~P~UdDDQLf|lOhmDf6A!`CA(qPaY% z;JH0`7Y^B=Zv}|1{hQP5H^AqAJn8d;)j!#W>^JlQq=CY^Y(PD}f{pFLK$}~m>W)xG z^|1y0u5h@4?40f?0FjGOD%f+gi+GOMk_X_Q%KD>R0SG7yfOU`1?{WIA-$T<4`>pB& zKt@T?Nk}Ix`OW6F5ZRX>6%Z6?b$rB!v={j&r+y0x%cvRNmo&GwqAlnDQt?R<0*lac zZC9^m$F)FD)QcYNyOGht5>3tG%p<(=o14PVV(o7D})O z6#Bmd3jK|MVLnelYyaf8VLpK0i!jV*3u)E(!~dORDSb z&mX!pXYn(_4T!dt`?B|S=5HZV) zLHU<*k~2M^pbJopbh)E7e@W$AZ|goSy|nC9UH}XJ_m)-1-@dk>g&C);p(cXHhq`V- zx;WwSo22Bj_+DL9a`SSx?8)b zeE!hnOB*Np&!=az!5aIqz%u}?tN$lwa_eMKE1f1UTB@uzVv|b=(_3=};LOkfSkx+( zAw?_+JA4)ut$im+V%*a_TW%zVsOXBV$dl#-@w!w-}msQ^*&hR0JN5?w#8Tu262BM~< zS!j+KUoLSXh=tJi5{12nKl;x-%9#Un-D?+3sOTCtonM3ZR2+6IQ?<>gR2 z!{Ggof^-~We%6CF^~bP^Lp`e9!!Og@7)mW9J7=*rZRn`K@0rianU-|9@=-60>^74N zV(t?2Di_Qp$d1fDg8xWaUR2nT(J^Nc9^zHZQd8dslmfGsqw^cFsT?$2^vG~qWBJky zIuH2(?6%B^?9sDGv#xja?su(f$qc(kgOOR4)6G*|&lVSk=vDBPB7H4Q9_bHic{2tU z128~2HQa_1BAq}+OAalFoOIG&21Nz)BvM$n1bNCDkSRY%wzWIQH>R$lKj`BRfunw-Bo{);=U|VFk5#mtb7Xp*q*JqGQ@Fj> z|LKQ7*Np1MH#sC}Cq9xEdT1KGJU=1QW?d4Z<6vCNlKjF^CYJyE;a*}S_6s+l?RW!7 z=kag54)%UF&MB^J$wySXG6W|JzFah1u9r{R^KkE%{Zo4Y^0eMA&pW2xCezm!35RqY zrz&QkrrTVrE&kZ;=lpqk?|lhq0s!C6VE+}py!(1YWLQD3Onz4lk4_50?X}1LD;H6R zAJ08cWe>yZ*JLAWk7jE=rKE#*80;HY=Xoh9o3?vIQx^K|j&}9mLFb)>y;^$7CQo_Z zad8ro5gm{|pZDx-vJw{Ynz|{Wx%JtKVokGoE@7`PgPqL_rEINSe?Ny-vhz=(TG?N6 zy-n=0ku@-OCKZQbiMf@V(njRFFJp7};e`9^8i6-FPn81g)_874+kgPKfh~&CE*mHE zh{4GzwbCy8;N@KeJ;>`%rkdEq`tCUy)?Jdp!67^pab7zna%A-uL|0i`h)48WFZ~Z{+TmE@hO2GIX zD~36MP#*EMm@Cg9g%8+`E;eb3-!#tw8c{+DP+cR40jL^8sSD%13O}6#iWpx2&*fK) zX+Vcu)amnRE)!Ccnc6US$bVc?9{`>YxY*6;oaM0KEK@#pc4u?}u#aIVoXf9y$~Azd z*EayPQOM1}ak|)ak+3{JQ$P|GEuI#!UX!)?QcliKu6;Rz05nod&dKz<^)ti>(J|D=AxYyw+5#k+wcLc?GuYRm`=eAQ7M_@0?S=jU1 zXlWGDAOC3~UV{^e0{rC}ipbnQ{lf5f=Kl4DH@OBkT*L#L!?)KUYWk+U{xt6wSca$E zoy|q{?1)J|0@&C5d$Nz%PC#_MoA>`czPEZI5}$bnGW;1O{){%a+5HPCu*S*!-}{g| zqI@kP-|e4bJ?}qls9($YGe#AC2ke;O7BBpLQ>(xG=FRw8w_bB*-?aAn6u>odSm{^! zx2|dbBckRfcl=x6y{;)2yAzszx3k-p0~EdGKezQhMYO?;MxskBor#Z1&uu12jWQ%bwdHXe<*GGntN#{)!uD)_+H8g^kOLB&|?$ z-Up@#V3Gg;r*ZrMJU#{n>IXp*#yAOhfTT?q0ESAtrnm0_1FUx>n62q~z`V^;6D$B+ zIH`sN4hF^Um_yV5$|J@g??NMu1CW=`d;k?R`qAIq>2BAXP?>ZLYqV)7k6!wHADR#s zz+4|=OIZ;!N=o0`W zXCvaG=7HJT42{#AU_=faZyGOvquu+f(b#6-U23f}sD0Ulj74XbaF+AJmv@&uArH~v z%)L%UuDw_LfSjk^R>I8`FS;Io$a-HV&3S%(*H-0w?J4lI+s@0)y@z;LzTZU<$Y6yS z2l_5jUUZ#49QdA)nA+%!c+FW=V3SZv>Sm+xPiDH`?3SNqoBz3#=XRh#Jd5osvDh1P zpb7!*>3j2VM0e)q-t~C*wD4*(0f4_bG8oFcnCC_$6=|hHBz<=|!DEG}vDw3GcfE^| zo9eo~`1`MfQ{m>M?{w_m$A}vF3u)m|2BLVq1~}G%`g0X~vsTUO)pC)(DcmR&|f52M*NARC35Nyx?2>sQD zB#4W2=PvSHG}OCyQIYPT-a$gTgM@q+1s4?u51-&MH77S3As3H0%@bZC+GlhUl2U4X z#Pq7_uN?oHM!J9J?wvdLkuJtBCe665$k(Wtf<2@ZduWW*@D79Gh!5QvSZ@pGeb?{NVjIBk%82Dg-4p^-ftb zAqn!b&qHf=W1tex#v@h zlVr1z_gW`2vT`Daa`Q;KQBy@RB^l*Qn3J3dMxjqm1(-$p^stw-E+CpVTyh=Qv|6t< z@)o%K`UJmO(w{je4$BZ;+b<{$^9Z2Ha<|Qws1m!Q`q0c9Z#WvK^mi9ICzHa+Q$%BF(wUT-kB`a3K`Z4Db?0yY1h*&01+A&7HUCn!aePX zu$gg?F1EMI`q)LVz~ijkT-WsM{grR)YASw%Ew(~7f`U1;EgJr6qXvn|=-E#{rgWCJ z7i<2kB;>#hiERzD{iH$2o5k~iR~2XiS0-ojHa$d5dKMoCN5`5FwRXQQ|By(SeIp| z=jLH?wnzp)`#Qc|YF5^+@wpvCj;>o~CvLbwR94{e13uhgd}DwlC9+-$zs?!rYb)`2 zfadd)eI)Rcs#i8&r~Jz?%!&HgJ_12;An3R8i`8{6iQug@Mk{>=bkBXd zuCA_0=UJi3{gmt+Yy1z^K>{-9(*X~*UgZR!Z3eW18FhV1t#IWveiDXwx-pW~Ou>*~DdxI-0Yk^PhkOACWP6gD2RbcLEal?j4b`b1Oms$C6H0pac% zO4@`-QIqEl9SI)cTt}p4YdpPukob=y9Guxk|Ho)kPITwtbT~70bW!F#w;U;>uFy(N z49K^lb6V>fg-4@YG+);bfM%om<3t5#%e(8?p?P^b0)?}(DWG1hAmO7W)S|PEv|O!lnijMruZjRmg!$k6t5;cYESa>zJbO5?@%PtFQ`5DKr~}ZeAUjuU49{9hPIhT7@l+b%;PYzC$l?(EBfD?YL(Lo&OTU(2Uz+nI?KpaJisye`k zC@mSNqWc$8c0^1{ga{{ZTT($mx-{%_#G5M>MXIxe|r)tJ)c(R5_?W8%aKE2>9SZhRMu$o85(X*pXhyzOZUa$_b1jo$1kvG8DNi9`Px0C$Rw;q`ijuVZ3rxq#tza-_ z+k)QB`1lbHj%*{t=M8lU9;0sw+u^B%B1(uWm z{XEl=6{mc3{^8OcH#42Zy}X2CN_m#t99W7(H?5_O%^f{GJ>{7en*ABlOS@=zyLCIg zb_a)0w8v=Zw@k@LaZyAE+SMVI4O&G@MfSW_J~9L30f2GNDUG7vj;ZFis3%MP){fHw z)vW4GRw4o4Vyf};O;WyW>o1)j5EkQtpG(_v5>~WnPvC&9j;o8o?M~l8v0FbrP6)oL z3Ei5fHH@3vR6BbCx-Jg;H1s-hN)|DUhIjLigS$y{s$;DAeDy3JBh{u@Sc1Fl0ff(S zTePyl1tgi3*&PfITJ4iVrAS>YTCMj61KgFgF}(KnbTl=nUfSAVbwOI~gKirS^FPdvii3=~Y4h{@A~q!2EM! z@%Drj;)*KLhWYj(v2d<++OWHL}+Di<2&w6(}%d-Fn9(eVvz|Wu(S?drO zyhgRtJWW;m81Hm_{wclZl~7GH@pxF(^8R~mwr3EA(fQI3*Ww|6Az9T4Qh=H5I!qmg z4Gg4s-|H&Mt1%&~fFxqv-roTlw1s+wW`QP1xkzY4wMeMq$Mda`0w7QU{AscgGL>$( z(Ewfc_6PwUTUXc2>-rW56OMgt<^?*0t3$Fll_{Ys;`qDSfbMN8MXx*nyBF1u+Ht(3 zTOksh^B4bizsAZGw{59`^H&e=5_VVphm@+K45BKw45Fb>FcE=xM0(f0^e#zh}%Y?(f(VEu9ERbCLu z#12T}P35*_$$0zg_#FZ%)O#gJXxWcVFixPKnMB^}Ss6E21F&Y^u4Uu;3D&^15btr# ztCCs}s+kQy^k6CEV&3)fi5}C!G`8072&go~`=HaL56dJcf?KPP^;?0|u~#ac^r7RK zD!ks1Zn!@5&^gNW7j+b^PyQ$96H&&2y9)^i&5?IccP?Cw0E2)!4Q2WK=#a2ME=g#} z;BonzsalBB!#B7hHpx}&;CpPou(qO5;1>+WtD=YKOR!lIb7`xUa^q%*=xNAYe+YYw zTW&SwpJp=(4|x1AqBx!6k)F(Ta!}1cf2NTw&5?&rQcuHot+ip6#7#y^$mf$qER1xg zmJ4pvJ^8NOr;;>@rQf$%0y5;M1j34-E-ibQ_5osoG7aLth|TYa@Y(Adw!Zh2=MuzD zPCsSU?Oe}S?QIibCPLkzTNEVFitbUK8Nc&Al_q;np?RrU6uCim+eF$pWiF)WzdgEq zp@PV~u6b7auq?nC&ng0Zl||P2KI256EBy@M@Jdi#|1>vJ4AR$4R37Bh1)xbW#*BW@ zVS)lJ$f;5fIkXTC6mqoFsKhw7s>Enrb`&zI0oyY&Q-wNun; zCWe)ISQD}dW_?uXKhLrsV;UcSi@sI-3E>BM=YfwE=JU0$)bn4tKJU;Wz4sRV-rHTK zS9I@n;siY;;}K4D%gPza)9bfsy*=a&e>)L4fSxO3u91prLrR*5h{WL=|CM9(s^Fh> z82fb*CAG3R5>JSt3JHCN34KbmzqNp$qP`4T(ef#P+why(;q~pP2TdbSRjt}2I1q66 z-#KS4FiwTJj$I(rh6VQQI0Yajf6>&!8==a6l)&?9TdR`nzWjY;Ib`3jlSR5%E=DN! zdU^}VJbd5czl>&IkQSp(bPT^VKNe@`$??ttA9Ky;!LFWHZ)r8F=ZBo2>9Yb#OElFc z2law7{g`*ieLA0(tP;__L88=VctLaGq-jR7!2 zLY)F1eveMUm96kdSSUzK=u2*eeJ*Zsp)kv{s?}iUZk zRV!>reYN9slZSJ%eA2neC+GcI#gniA;*6-C$>BtcB70G3e@;M5ZGVUKN<<0(*BpIENoE)3olww573~z{ z#Q1nv1Cp`=F+z4xwsYcZe<}J+ndz!koAcLJ92Zal1rLrD6E3*kke6^cYea8k?!613r=jGSz1Vt1enS zOf)vZ;@xm6F?lK6XqK(5AL^r(Y>Mi2qaT#spx{*&y@h4C=0e}XOV4UsS$vy`4@`E- z&pz&*PrcG2HJyaHES`0F$Caapr8YwUvQ@$g2}ohLCJg8hl+;ZB2GKeeV(v)AJaf?w-^v%5?g*$rPNM3u){fH; z#ZNL_DBZ(uc|o=szU@i5CZa(#6>Lo#GivLq{UAGP^}~rdV%?$H*sa4=3p7pmsynT# z>w9Ej+4}-#jCc-6PIqL!E}LOKeMXFVzfzQ_hIx_IP0E1v-c)xxRgH0nn27p^-ZrtV zLdG$U+1SC=51t{(YkP`Oy~~UoxECac?Oydd1S(G>`Fs%kl6{Ks8jb~D7yl`1GX-CYdZ(E)n%o!gfFr{eT^a5L; z7rYzq!n;oskXQb7A_6K1|W|OG}4aJAYqWx6uA3NUg)HYdw2aKKnf<>|7fIFyg~$ z;&w!woI5E5(JswQ?_i#Xa=xcW zF&99mBHiVD6Mz1;qtXLvb;Q!lgD`)T#{Wett0Hgy zRVao3jrIe;tZu1E%GH#5YG(S9zUKQtf_YUns;qojFM6?2r!S3}$!eYftR_ce%#CP9 z)PEsqy%MeUUP%dL#h%q%7kguLXXK_aBkIKXrfdI)0}R(df4_C$#c_mWPmt|samX)w zK6yZej!0eCG!aY81dZa`CFX53i|g&mGeLucD+hcD@(w0F)4sx+Uy{Y~b3Gy<{`fUN z->)AN1I1#3d$5c4i-JRw8^5eT2II$(=>arb)KJR~c9EunP?n zsbg9|FAEWZ(Hgzrm8#=q8Z7Cf*+Mu1u zDjP5#TP#rrZ)vc?-~^KBK1vjdW;6_WXPB@~qFPRS6K~EKT&U<8Y*)%QPG8qntqc2s zH}~q_qU2yeDr#^tin3g^57K-EhH#afl;Bg$wk>HtwtY?gQh6f{RdFnuT*U-QB%OO#>r9gwi?sogWiqls=!~=GN$z+pYjRXQ*U`Jw`u9?da1C(zSZ%@>7xp zxOZ3!B}0A@ycVanepBZIOLy025`N0LE*7O`U^vM@vdS1RZTBj-rCgWz$ZxSO3TOUk29S}WGcYqwgyf*qVTCZI zS)@LlK4pc7<(uK-v>%Gm5#keyYPy)OLF(WUSewUYB5 zua(v4ScUQEm|KyJ{>MsAYhwQlljDY5NonQEW!H6&fpr$S94_hAN81d3jO3(H=pg5%Z)Z2e1msFG)3M zc2bdqq3&8aCpEJCg%rA~_YlG4m~0Da7pdpA*L<@oR_Jx^eFc>`;*&k;I8ay_F|J>0*DS?#+!`J&#-ulks zdJcMiHBG)QdU2?O+imc93Ei`2T4=M37_26C;NKZF1?_vRfb}@1J6F%(v&WHh(O|>W zl#i^EJy;$GrZ%Xlj8mNZVA5Y+*HmLd;iR@k9;4@uB$_daDg_$3O+!tgd}PLCjeW6t zX|baNyC*wNbn~-kS1R|rdPBE7&dJE%D5rm7HVx7ii-Ke%oVd#Tc#ayou_&65ml>M4 zZ!^uw{4r4}R+TxI5+glWg+)2EZFr+)%NE<5^#^92nf~_#p2DAdt{9%Vx)?9?bk8!) zv6b@D4i^N#(z*JBeaOB@3^UY3bh|` z*QKY+z!bVlcFeC@?=uQm53RL&t)EgUV)X{=omSo{V4=65(aLKV5H`_I24cO&a|&t= zdo{*pv!XcR&dIKV?c5`+dYi(WVp64zccEj~V{9nL?04d7q%rwo*|baxqd3bt$xD6d zK0+x#F0y=_8q`8cwu-P*_2GN9Y3uRJb4JD zw5-Z)xxdE){bYx5{IJ-`u*e-`gUPN zwl~TW5*`FGGH&Shh&iHZXgA>nyJ>`V-OI}fOM5=($LWVe!4*GVvXMl_x9izW|BVBr zkNPU68oPZnODzr^qU3~%VCLcls|d%z)*8&TTTlp!0?Ub9Q^swwZ8V=q;pFGKb{pM8 zS{j)fDqk!O&6m@~NV)GWE4BD?EI5GN8aLUNv??4dQ&fOcY(^y3C{$0JUX*0xo=-5{ z!#Ol|FuO57ew}2flxfAQDGNW6s!pVr4{ud`WFn@)>z!?N^?d9+q2QQX(}+2M|A(ug zTtPdP05HX8v3&J%y6P6e(j~6R`)2nu_vbSLPsf%HRz@G zZ&s3x!elM*gO-9!wYzS)OEwBPK+yOm1)&CJhGTc}xx{!Sw6Mr3cdkLxDHxLOP)B9l zL&}nOq51I<1S^G)ivbcoYVWeTR*&yPRwa};9Xzm$4@)4KiN80!`z)?AN}S-Vq44qZ z^%hm)V^ z5!X;c{E>YTl;RNcH)ZBS-J=dr^|p+MA3zxto&dnHMJ~L3Vci5jqkE<;OCO`!e11)P zSe~AkU)u4i>}#iV^U*XKmb5YZh#}ak1nf}N^1wG7M!RRG>wvn`Ohweu?}!_b(*;roO8j4$RXnflJAmtnSYcfS#*mSB!Z~JDTSO*|}4Svk`}Wlw+8KsluwX%7$7)~rTE$huQ6-inVH`bG^)wew&!hC)Bhj>H@J`DL zx$EA22*ytHm))iPJ;!dQ2M-hP{VV{uYga7udD?#=DO8^W?6snEsQoA+_L#-XmGjlz zJL_s10HLjo8CsUk(8`xpz||nGOaH0l39$22{&fAej-X#_0QwiPPjtTqh{Y;oZ%3A)_LpyZ9JB(&u;x|-Lk0n1@ie%A2Qn&J>Op11Gw*D5oco+)S< z7^lkGv`U-^gTN!FO(?`&pTQqsokzI>9CT|8bu2Bz*^;_Xaf<;0nb9p_SznZVw~Ql5 z$g;_^5}A_n6_PETZH3FaLA{xE3_Tlh2El6O;6mRoD+XuVaCqX$VNJ{v{NA}^0(6LY z&(<$PN#T+P!8q3gO}$(^HdoiBONGQlw6EM>Yk?_RD`c$}Zk_UWbT-}b$zgEF>I+c8 zKE|vbR_^8g3qOEUrkxJg>Vc_|VT68Puc`fd<;0R=^6*2KFwXta4|MODa!+20oZKy% zfx145IFw~>u)}CIJonoUkmbNll6+qE4Q#!K5wuON`ljsYSZkd;jG-44 zkHm;S6767-gS@72>WqsgU)%ejGoJ~=#EYF;QTy(qnPht`%N;)bUkr`iZAr`)rncbLZrlvd!8wmY1{3eEGiS!M})Eskp>0F(3rBm&XL9Lk8e}38a=oy{ISUUI$6K` zo;v3)Ka$>ia-F&H&xbek1n-d@B zc1zO!L)~Tqe7u*w60r0XS_nP$aF>i@FP#cjL{b~C7Tb8fWtNMzVLQ!*91Wjjpco0RV~AS<)V0&IhZX)n4qoQ(R6aVhAT~cHi9240F$e7~o8hm#jb!&O z0Hwo`xo8y5y4XImh5NS=<8ed6NP0$PK66=dU_utdCU{bkj3ysX0{O|? zms**6p;AYhN^~O@0i$I?0@J!Xwpc`<#8PeGXE0Pl%*z}7ksg_SM6`?Vak@twI>V_j zVI4W(nKt+AJq_&N2ApIJAnrYsCOSwyc51yOo= zHduCei@oN+NqDIGoy9_~U(&^Cj@%z3>hl{r(o@1!_TdJ<V3R0LdY4y6bi|W45YD z_oVX|aBNhX2cL$TC{ypD3FRro1X4h))5c;K$dOd!Xbw zm5p9oN?N^@JC_44l32qG39O_9C^{{aJs;JRSI1AvAf#C_@I+b8Z$*|lE^4pEbdqq` zXpmn-5|lLAJdv}qF!3d|W|7y*Ot5-T=hv~AS;sWf*8#31YV+F8kEyKKpG;Q!jQn<* zckQ5}Vc=JgNAGcm{y)6UA$oVu+ z*UK>-x+mGj2~OQ&()s60LcB%tFG1iG5d1p^ILo9>t_j z21rKBz7O@24t^wK_!4(iEBU?C@Xxzr$#AXY+WdkY?hrki=onc5*AcfIkBqq%8f4rb zs;RjWkEeiOS*0-aeVx!~(l;qfdLLOv5N%s4p!fMs9y0ucj*jN!jKkzyRhuJvm_*(& zzQe20(xwDGNkj}Y2|q;Wj2WX!%d!%Q_^jZ zs>L{adX7OnZmgu6$4Z?%(7~)|>s3H?|v@+CvLof7Iq%om9G9PSb)gTtqNhum% zVwLCdQt)XL!iUSy0~+HvHRQ#~708KTEWRvl`)Bkyo-;ld zYdHcuc~%)Aa+6mE?FUR?Q8p#~2476cJFTn|hYvYD&`275AHK-hZ+k-igyV55an!5O zt|#p)B*upidCBiRr1wB0P41Oj`|v>vry(NEgF@m^ej-M>A;vXOO*Fc!asshYi|>&C zBseQY9#sppxi+|jSXX=~6Z>f&fIp4nZ5p9|`3mA6<@ zt9nk=ZW2rSKt}9r9W4~K=$kujKXy5-x07kw=erHO_L$&S?fo&pbI0EL4Y&tdFKcKc z;bQklTzK?|%ktHM@`c1C^oa5OWa#4=mxZdAUIl4TBU*BPYkHWxk-;@N*F_izXe`Bf z&M(w~He;o@;ksE*yIo;0L*4g2sPejHIoFy3qxFo0tf=k_5)u&wL+&%>6>$~PrZlq+ zh|)%B;H)KLfk@K}EIMq8;)5=Dw&KfU<K@-U5sGsC^6ZLvpscZnD=7-D$^t_3 zrw@AEn3lhlQF81LhOqVSxmtAR6^8iai@#bK+g*#m48lQZ{|T>e{YJDe3O60VJeDx|s+a7JtH+lnZGSx@A*6#=LR9gc)Byfguom6c~9 zHNF;rOGY^KNPy#+=SO{p$pt$3(dVyIsy@^VmI$m+GcnrgQ}WSrLk;UiD{S0Ux@QwZ ztH{1;aqeYnPw~8g8uI#ql<8mD?UI{R0fn&_1Pp-3POz!zWVy*b)gZUZ23Qc3Y4&?+ zJ(pE=gx|!qPWuwRz=JGWktni!>=}OW*{B>z(j70>_nuFxN2~`;v$OcAO8>s`RNHD# zh|fF2e*a5mha#gJL%fuE&n`5|T9M9=>9%^c@oW?->4n5%LK5Q@Yd!WGo#dTl)pGt6 zBXRNu(Uu)jI47$%cS?2^e7q-1t+T^3dxMTMyo^Y)XPR&b()DR(s5ZN2zxXS+-25Dm z_3>aF5bR^$LtUN3?3VseuA;9bwwvb@QbbV%7~R_1a**Zl(l=BCCG^YoL%ugE!_Jh$^;2ubP)6s6KYWlN_0{9Bmk?lZkLh@$; z(7g|2z3Y4##z@zT!A$U{;?SS5Z*ZfEsUr4IX2A@<&&ER_G7SBj!&(%^t{0&DQ|QaS zha-U1^^-f*u|bM}60p?bE%ujrB1zX;Dn$F_KKQ+jrq?p2nKRQNZTjSBeL-^5Tt>Mx9PYiV_RYhsi9|_N6Fg$uP z)}V)g`xshlgyAPJ&XA~%Ff6ouw37C;-p@Arz(0KTlIU+{A~8x&Uw<1Cr^*D{`sD@6 zd^!YXNd3%0N?pApJi+kl1?+j)kn&*G7z>OlDxqEgDJ-t24;JA4C>qotUzRRvHI@Kw zh0ON`uTQM`U+ljqdpIr?lGdz;kio5n2E}r|Qd413o7^FBeJ9bZsY92bi{92;Smhd& zlcR2bOmy8Nzia;oVQ@sL(%4m=Yxsq0!WNt8IAN=!J^r(*%;8g-6f8>owuI3Mmf5A; z+*=CvV}kxuCW{>mr@8!Hhg6FmkuH5YvVYKsI;SC1)zu$KP?f1JLx?GX0O)fD^q~Yb zrewQr&0m3~;sA7JZZQsn{vhII3bCq9t#+R`@P|HA>i<61nIqY}>!@kUJ9r2}+p;F{ z4OZFbyK3^NlpHy82LXQ7&)kQq*Nde(Nw0Ift5XvzW+Hb`-+CmiIxUYCBKS>q=5bWv zhdgOjhnH>wJihG+_1HUnMvURRFNXIOT5ZNG&5LWO*`0+&cdl~IX(foBTV5-$E|{ye)E6k;*45_#WVVq-G2!jY!36;z8@%DXmZxHxL4W@aE z71kzNV#XYBZNB=NA2R`oHCnR(f`KZ~z=2{}GZ&uJqTVabwxIa5X5sN3duUpL96fL5Os8Q3Zx{+!mk-Mjd|1hhP>W%|!_+9;0C!YcZ>;3SItYt3ZPn71In> zBonRlh9O;s_uK07v_8G1KQIjIzo`F$Upvgpv%B&nvkt#QrBRUK4~A8~A=Sy~VQEF} zDs5G9W;v68i1OEmwwQu6nTv)1V<#x+;i_wm<23ilZp!gA;!P14w5~^c_=(;P=>*TR zWEt){ElBzEwN*Do-eCFkQ+ML%2)i;vOi9i3VaA{t-}ktmJ02g{ZG!14>#M43UfIN< z2rcMZu*+(cP2y1Kt^^vbx&LVrGoI2phY9!Nh@`4Z1lpoI+MHJ311JeW5Ytt*V>Zn# z*PZ0yAoc?SMZTvf=d0L^y)-MJSin(OXCSf3XIXg4@AViJd}7hY>S@s?poII!_TlS2 zx?j6^dnLzwhfSGYIK|(Fx`$&`oW=U?9!AP&by}JTc$wnek#}PD#cDCC4M*+}F6dF} zi%ozKTvfhg!d2%UiUV3#J3?Ducl#i-d7j3E!blW63OqZYOTZSd$kPy;x|LxvqgxaI zuqqV>S1C4(ujd(9%Cv=YX8otNw!eCixow>-QWSGn zlwjQVdRH>+s!%Re7vuhFj3H^vQe$TWj<4q}1+LW=bW5TUajU=Qy!>AN8Wxcax_Ft> z;jANio<5-qVMB^QR~(^L=gt&#w6(RuP~<8&=P~9EwbYclwtN6REDmZqLP;4o?-Q_n zr)u%ea7l1JXX2XC|4!ZNoxvhC)qZuD|&Uth~|IdzuBo@e#zJIE@)?^9-*MI1e?zRGs02;owFg*{!jxSE_*X zS-{kXd!GG57NY}t5tIW9oA$Q9pjtm5YUjJuMh$kU0J>Rw#jC_lr*l`dj?TeM%q)u? zI)#1S<`AL$7ClGaP6tDe(!xBM3q&tTdd#eLf9G4T#B{giZUGL%FWGSlg~x1<$bm!C z&jMrXGIqOZsNZJET;$+9Ls?^+uKF-G1;34t^apqbS^({v;XTJ1%OlTsNB8WuUPTJ6 ze>oJ~=I>vLs!8OQBJ9az$r0{mkHbIcLF(ps)L)U8c*$vBRi>ceX?ocfktY8oUk(|o z^vUWOHeP954CvhPw4P*XPteX|@>M>xgTK*wc1gd?;AoEpO~)Eu_PGxtW`?&gqqv?* zTDCxM)xm;vgW%s)Rhgz(Hev~JECQyW`1x+WA5F-O(MwR<+krpOrj&%n%Nn{5#B#NZ zfh%6b988`j@3bxu#KRaQEitU_mkDSyYdo$;aJN7ka~l}E7z3-9f%~>4j1NGGOl9kg zr>z$Lq8*Y2$j_n1xeN+}JY!vpR8@aT^Z-Qqmw6F|SDJ_>%Z}I%R*F|>toJ81t8aIC z5M!aHknYW%E*I7RGwbFo)Z zS{Z##(FD@LF#7`kPJ;OJ!0dJmkf-Z5Vdk7=sT&ki1*C5xU=GI%sC5Oi7S8UcT?O zLC;Qa&F`;Hm9Cp(8!-XQ(c-XLvBf~7dimz&YeUM0M1wx`N8OhxMa!I=re6`+)#~%6 zvF~V%b+H+(+vewI!0OHM21Mu~pD&E~o?={-Vp4Ryj-U{rYv9Fq?n^30=E@(Lp|<6D^NyLOAmGt$I049jIJtw$$lMJ z>f3HDNqf9WK-M$?;7KMH-caJ9N&@g4V@*c&d5^U+LMW%bt}x`s`~4O10-XvEMn2)F?^NuVOYM+e{#{xRvux zr~oLYA~&?gUPJ?8%QuiSKQkkh`Oqjfv=!s4r(8%IGOmI!pkni443m^&P|=0+3o+uG zVi!{admZ)(U9V|ExR4;>KWJ@fihVCI>if@-?Hdce7>XV7Q#9x)Ic8r3T^1bET6bt_ z-z;u!ZZoQD9OVZh!(2UfDC5E`}=({BT9Q{=rzvZ?K#Mp)mpl0N7DhUnxxx>6vC= zmy~HWU$}v$EeF3%7RkQ@j*cNHgg)}@CB{`|zhRo$OAlnUfXs>D_Gh*>r3l8=NsczK zz9-c}tBR%6W=c3SJ@+#3<%mj?o@e3xr8i!%Ht-$!a{>c4ux4?a+p@{OCKnBhY7xsA zEZ(FktpK*$DmOn~es^P!FrizOn;L^>)|^wu>obVRn<0~wtI}NV9!gjc&aGNJdUf); zGSw?QUQs4WuX?_pz@62{N^EOJYQRt>+eF}$m{7oKK9iQsCsA1K+Y|1gqJ`FL%J#s| zQg*LyIj_2vSE53Ee^tG#y01Z7yZ@!9Emj47oih0~UWac-sA4*i$w!8!(ciF4OUdsf z%IEB~SF2RiJl9QiyBd#s7$E(GIPfI6S}XtZQB8kXhr zf=O75HRSt70C(Ott+ln>Mvgp>nMvzC{S35gZFOZla^O#u*n2Uu1rsLY~n-xV3 zdQ11qFat)Mn|;XhkUOx4Z#z!Em#C^_U7d2dJL218pp=LHAI6rV;jfa0FrL3%RB&T` zwzbLdmked@C0XhrzokZ~A`$OUK9jp)KUBi=1q2R`d35XnY z^rkN9MPf1Y9wcN~kD|?VPTJBkgz1<(&MaH8%F;&cd6c z`m)r%gnz{?Y{Y4uZ7olDrH$d<>kTT6dRW=KIFH}e>xfV#!u_yJ8W5Q?erqdmf9oi;MmhEc5OKI~Ld_IqgVx%8(!C8+b; z$#%EJW9cAH#U?0s7gvk-oWN?(TfO^6gLbzWST(1yqG&DQYw#p?>M+DHYx$Kn?x`UsS3rxwo_%b-WrIekeZ(~YgY_6#y|!}<%3EL;ttqSggJ;lh5xo3x#M z)kSr}6&*apvooZtFQywLYOozr%%|WWkV*TcD9+w7aCwC@sHk&JU^?GB@HhZwStPQ4 zn7gmjuI2o1IhOQ{Dk(lIWv4PM4f;;+Iz!@{G2(L45+s`#i35c^*lOP>Qi_b+6b-|Jwa~|c&s`EKIX$yP8IeVnf&o9cXNo5Nj6E?k6 zsE*j_wun6`;@P9b`MJc_B6=;X76#Pi-N=Elg%$=C{niG$6@-jQR8( zR*hTJGjfaBB4x-1j26dS&Ls^Wxi-)o%37M0umpW`=qU5rh#+^K zWT?2A({>3(dG?aR=%snti^ryvHXIMRzJm%rM@;ZJTPPymB({8&sX**`2g<=&;#H&Q zXQF|APj1GDTxcP9!ll8#_gI7V!CGcWGgHI4z3xE5_lt#@WYKjOTl(NI#A9dCb8pyL zkXCVSS#$rFZFM|EwT*xS!qryhSjBN+20Kn`2Gru{x6_RAxPZ~;#_3l9PJ7YEje(Df!IO=n>D;AfC( zikt@#vg_4|zD#L;ruaKDG3IuJ&k<(h6li{_KSj$_Q#h)7OtE#=TsGAI*mgMJ^mb+|} z*;7MKp18TxaI7pD|qJM$J%jrf{kT?feJpmu}tgjec> zO;KGAt{-Th);=+UpUUtEF#zTd;1~zdzUfRF=VFr)(u+T!l>&m@i#=Y3=*Nbywjt93 zIpt@rma)?7yo+0U?f5|*U{rsRbR60erIwcv1cE{ivPR85B(q3#ol|?$AsDlK)6_p? zGD!wS&68=9#34Smt_CK9!*?_og8(kFqC5UQwHvsx0`3WrK@UY_J2$L#;C88|4WKYD zTgw%C`oonD6gCz4qPw4$;jE-MH5uVgSWjhcEzaes?RvNBN|Z<&+VHD)kKK!`aoq&s z+Jxz!rJ`ObM-D{9iZr#U@ax1)#gqLs8xfUi?|Pmkn(Quad`4J?6dX@pQ_nbPl;q5X zrb@mJgeaUoMHGkAT33Z=txf56E8M)Js}BgtKXzdD`XuuIMTwA|Gy?u)^%Y!60Iv-f z58Th9kX>%1$K?cv{jl3x(D5NB|G-k+vx96a?L!Z6uF0~VzGmB~RH{>)rTe+6Ncf_9 zAP48?%z>n4Q*osb!D}TJgTZn`<0e47Lv&!65rsz+29cBwEqok@2Txb0l!$>p4};$^ zE!-+1;r#(3GJUe-ima(7^ioyS@#32gU{WX^nasL~GDEE~3*28=k&oQ>$TTM+F}Bg* z?}godCj4dw`?dMRAn3;?FM4U#Y~+cy?0?6{Uz{pU_VM7DZZ3N$u-Hrb(=aipKaRGa z81r2tE804dKo$(-nR8@qy%rlp$g-+Mko{0A>p{LIrg)Xl60MlrGBjm%nVgznbG%s& zAcs-PY)SW}bVa3~W=xJz84}tGdh;`nCVKkHP6HS$j%{mO9tKV5_OaUQFQ`3$Gb)KYQYnWN03krE(rS}I4 z_My@Yh__|-O-=kp`R9WZj0uZUua8XU%EVTkV@0RZXX`0g0icWQdT7BlPhMWlZ z4@;5p=cl{@i||?}*iE@T@<|X9Ic87YTtC&^?tb!GyAhG|^#gw$+p143%Vr4eu>)-? zX+f9s{}+N-cl$+%WpNUVz<28_bGH_y@|tEP_D3%bw%`Ydw39|4+`PDQPAWNEEjbRx zvers&7*Yx!4P+3>Dy=mFqx!6^s;k0n7Sz5=ORhWnagDp*G|vhPUxflk_gQ^^&`x|Y zI2(D3w2*c;agAj-a^pS9FZWdLzZxbuWZ+C0N}bC=I1fmYkVQ|L^?wra10r%g;2Ki&q&~av{-k;&e+0+F(!YF0#^BmTh7= zwEWnN?vSGRV*}qaSHkjz)!@mTgO2?=bg^r&m!?n(AE4oj1qvr=U`4dbWH1Ee`^APUs?_ms2E@;*1BhetA@Bw38*OY(I-V%C}6@WU$1J9-G>fdrX z$Qe_6UMvnZW|ng*HdBbceVk*tMqBAO*foosz+a_Id+F|i>h}321rAo~Lu?gy>7qOi z-C=OijvNMv@oXP+{{ZiH^`IMD7DaBHH3oxPRJL9P=KUxlzkNOI7@bMORp7$cVEPU( zDaVl}h!HO_gIJ4^^Z==PR7|d##=@Uyduh4PEoL*wYgw+|&X2P!Mr<_nE1MSBv`Qf5 z^l`s+0=SuH)u~3cTqWq>s%y1Wky-&EN2KJzWCtR7ysVm$8Z z`U&Lz*4C0&ijHj84io=w!xEsY7hD1z%=lva!BvRJ=jQWDj-QCA9m$s9b$Bu#ZD?Bo9%JTXuVYTC2&H! zl%Ltv{X~Epq%F+#1mE5LhcI_9UeV(tuE6)!MyG3*dUgmHO0v0l{HJ?WUHH+vBl!2R zJHyeZ(ie8y!d4@4g;455m9+dS)M18ddwrP8nAPa$)6ke*v(JdM38JADP5ma{O9}~N znk)|x&njjJjt%P}XneGWH*$Hj;g@#?Tk)g0EbM~pHquV&lF0K{wR|}!cLV92i=@Q& zXg*?mp$N+btqpgRuSN}SPT^0N-kWfWP9az;0m$=SFVyhC`=sWVA0LKPF+9PShy>4s zRsNH9k%SkLSko-c?Fil>=@!9h^vtYe2BaS(G8EAazEh8WRHeRRPhq>ST)LIFx(lHn zE5x|MMw?wocza-{g3zsaX7+%*_d{zo8X9KwiX|TguH+vw*Znosk@zwChh?YXjEBF( zdXH42bh!HtY+fngkN0_+2iX_pW`yrpFyIQSu=g6NyI4sSD5^#|UL^=we9zHcp(SFA zARXS%V+_eN_K1XsNX?Bk7fZmM86E8#ay|W%p6C=XBVM|@ zBlCYX-xNak#rme;msGsO?4~IWV!8p$s^)T(Izc28+lfeKdRP`2O}4@4dH`9y_b|%` z%aG3p{;;#yIAds7BGluXc!(tz&-bx}`O!V;@i^4CoJO71wgw|3AxDwZnsVP9sP2M% zul|u_yv;*uGI*tDe@M3?*4(Ucj@kTtlZoNzMn1(Xwr8KHIZ^&|fNRvUm)@A3 z&SD>K7{H;e_hV>6(<6#>(L^rAf1}3a+M>N{9&~K-9rzsTF+m-*`WV-Qqndy}0ZquE zZWDebWQ}9lazwj^;e-Mw1w~IgKyxUPye%4*jwQnV>FBtW-V;hNPh$+h%4_G>^bX0% z-A@$wKx$dcR@vv0v07rSbfhjsne^*lET^3e@00#21EI?ux}?AUccWcr-8J_Z^C}0- z8z0!L$_eFVu^O9(tt)CQ^n}*kPV|~wDdb{btm(<^%8f_F zd~#pFsgVDN%^$N7#U$+G1x-&TG;z2x37781SIp6KGQPM8`1%$jH6tGs*DEXA8XLAY zFkn)$am8{5X@BG>DBQ!IWbtk#2&%TMJq{}JZboVzBP{lsDgl{xouak@F1vBql1-~A zD(Ki6xGB6n<@)w%CZE4yq9v)BsXDiumJRCWl5;gq)h>Jz4r&}vw5xJ-2kqBXlT8Wt zM8kk-t4?zKK5TCzpDD@3wKhCUH)*G~)9Hb}1gL5i<_~|GK!+OB`(!BVtiK$8zWpL$ zk@?hK#c7tji;q|Rv=gniwzG!PnPe|y#GqRJTRNXvMHV?!G@H(6vOT@M{~xp(rZdId zf2U+4(Yhv5%`EF?Scl=v;HczK|GWRb?ty!9nOVGps^Rf{M{HDnqE;O?)o;RbC%Vbzt@(i<^-9cQl7RdTxX^e(b7!VoK(}@9A%Jp9jg*pR zEh!s18rn0`9bZZPfE73=;HhIjAk_zJjoI!{c#QH=r_TzqR@f-2b;o6dV$+piRXI6N zt@BcCX|&_3b}6I~^4ehMei*d-wJ*q|dp)B>5zs4sNWY#Op5fy!aHiTb8teEcctqfG z;<>+=&yS5N%lT?!jrLATnf>bg4B=%}^_wXH6|yew^Tz^v&fSx3nd>>N8D3SEp(Y!~ z-5PCIsO}mdInaukeSW&p9*^2O_F-Ea2b#ByyL)^D4fXc5hRX(=?NB3vRpSL+l$gJ9C3HWYR2kpcTZmzFfk#}uuy6+MSs%u zKyETPZ;rQ^Bj=prtGHTZT@;{2blL~RJOwoK77sH;nWEg?c8Cosz4MtC{_WcZvGCF~ z#jggXA-Ur3*gu9=8#y>n23P{Png`!s-VLN#){7pPj7mQ0dZ_M%Xh0@17ubs!&Q5ESPDH8VFQ zZ!iyNmM1ERrD12-%nAh>A6NSwM<44DeQEt@iO6%{)x+Ol%7tx(K(9O`> zV0s|me?WJACZI*cGvfbwoEZiiLr7er+S=$+vD%v$^zDW|j8=P}Y^6fXfpp%deO3Lo+AVr1!e>ZdUz z{OYAPv8 zy=Q8b2MTtrS_!^o*j6Upu^BVR1-s|DsQ8Z(X~Fx4-4kK9m0EW!?=&dme*^^7B$YY5 zOsgHotBf|$W(ZkOh6*-kEO5D@IW#{?a6m^Rb^YeP>vH!uSM=mDDiL@q$(9FwL84C-hSu_^;CT% zX#CLmwO{xs$5*_jCh1eX&%BF2b=t>+dcmlBJn8rzUy{CW)cfDYBh+bT*_pRpx*}ms zUXYguF=8QuD77a0TR`ELU_UT`Nd71(m))+bPK-+V3d;7Q%M`gdZ!I|4W*Uaa1mVA0 z0hi5}Exf!Q1Libd4_%TxfD^1o{ol0_k7T7_*{DXV!ov4Bs~)Hf*<3~jqwVH4MP&>M z1Dey?}7T!6mUA)@gVy?csK@P!VZB9gu(BYc~NjPixjNfwF1e z&*hOj%nY%a8_K%!jwJ5mEry5?J*mT^!W)UYMGlVF1vo_JqW)?ceT}$1DdIA&>ER5X zT+D618+{+JOOlA6I`Bdh(dfdWz1zcL-%fmO$nY#q5v`N`D~6@`N)(6p!FtxYODmS6 zge@<&F$34Bi$7SkF@weiopVYyD+P+g;{<>IqFnk#mP%^u@R@>^F-&z9(~*9iX&zVc z=71C1SVLz-%ZWHVh!7CjYW@AcncQj$!h-_AWbXk%oWGlEw-5d&e1{8{D&p=jC~=fDKaWIXYkY_@qmqX0{Vyq1W=8A{Yy~@@4vS{hA z-W}|bxZ>8tDDXtjlK)bbT*j!B@B?2%_U4A~eVkSW?%!p)5sQGGlTC76EBD(&DXSPk z=fvO%o~74VOo_9Rp5oJLroLiBJ@i6~zoUtD{eva5#agD~#NWRBtI0b2tH}Z^k7iMS za(wWlZsdOto>Os9Nf8ZIKLBC00R1tznc5+hxL zO4yr3nUVm^z-drs=}dsxbJt2g+U>BL~x z5tK%$zv|Hd0*?sW9WSks&p>s;NYEnZr+{hLd|jhvp#Al8Ntf;X0y$k<-i?aFKmY03 zms{-jo>*P)u)khL{e!k*Qyp;%N^7H34;p8hqqGg=LA1Rl(y1i$^>12-rl|`09SMKK zHr)V$6mD>64l$V+il=l1ER#*-m_AS;99+tfq@y`BbgQtSsSb66Ld|Wv27L}9wSUl9 zD`7`J*|wyX61ODpSY@LjcM!<4aE+B7&)m^+2I;S+{(HTZvx@ibO=yKn7=?KF?ttbe z;~MKs0aWc={Bli{($1RBB0ZK<6Cal|$&SNoM2y+bhwG zoSA;YhFEm&nVcO!)1N(+kXG%S6`0Pzm)5RO*J%Iu$vZH?$Ovfl4onWHw5(zqWOp*o z63!=5p)ig{ibov}yjToW=lGy8R&l6a?s}`##E3r_kz#Z)pk1@0Kt|EHY;Cq;;kui8y~zJFd>`Yh((*cH%R$=wGC2XpOBEu=gOie`t*bWL&@v@!u!lPnbC)lt29N zZmyfhaxslK2P$x-tZk+hK2b~IumjH3dO=zGA|{nKCUW4Wfhq<`gM~O1sx7v44y8B+ z#nG8jO+McoZ!%;tbOtkr_RKY1&5^+)!6aV>t=saDNn0p+#|Z}Hh%$Pldw)3 zvEMqN_>I}>kr_(;h$EsoN|!*8-UPVPF_f`e+l!1n^G(+^bt$O#67mVg&PV6@?4v-7 z_Mo0eBeb0Mz}@j%4l^oN_R|QfhbWVYFaAKf@(~BchQrWCacK4;bq|VU^ELJA2l~?d z%TD>qB=FORNI6CEFHjLIhT~EVS-^L3%QEu_g9Y0odlsnDcJ9^IX;`GZGB$NSxXsS8 zqN=X^XvnrOTDn=dNe3?8pYGRad1ja_3$j^M8ehZ(6@PP2x2WV!XCP1DtfIE!i<}SF zv%RDk{medKt{*u+=EyH8fMsnqtR~tlS0U&P8kan(Xv~xtV$b`Lvbr1f9j1K3MAoSP zQUd!V(bzh^p757jhJqyaH7ps+U>-YX9KW|euCj#SfplHfdrCnCW2MF5mOW2Nl*B8=Dd~EKn(T#~DEB^%p&9d@^9*M_`#A zs>3;rCQ1-dfDP$i@h;%Za<()Errg~yH6Ig``;fW$z4CbfjVSuWJ-^MZT_I-sRT3G1 z&>rtE8-Cz=L0A0|%)x2RWG^;hAg7AT2+{ZV(YgF6=Ij*sF;vWgM$V9L%>7N~0w~1K zA|%Fh;k5wlQCnWus>88cG79#nb^EAt8^&!TtNV$ACRW(;noTlRsHbvpBUF7dQ~y;} zN}iDAmluTgMh^2IlY9QK4J>QZanB zXA;!92*e)*^7`|%ETnZ}wHP4s}+Bkp|0oRKUTiTy8R1fg$yNxBBlj^$z zhUGb>eaaBgXXxt3uIhEVEF_70{vKU6o8(UY*mDyalL6>Vs`eco=10W0^mXer=}oJn&VMLrbKYObD}?bDeOetKxLZys$SD*BKG$r|eKFP}RecyRSeW%z{zCXZA4zJe9VB|K79h zFB=Np?t@M9Kq+2NNW{r58G7*kH5=t(mGX2~0s8`akX`K~C}ma`tcHC-ln+Z?biGgt zR)h6TdM~tmsIn%#HJjRJ#b;+~5^1F9h};hS0)vqsZIv-?96 zmn*IhSt1!E$QkeOZ5-(q#8zgO6UHLL_t+T0kqATR=enU0!!jD@mDwvsgrbLYz$sgC z!H2IH`gMenlRgBG{VPX=ijsZIQ|+I6+XThcOAUbiCRti2xg_GG&e`|_@Pu299Yf6X zRtp&Vp9%EXNW|u+bng?|1jN;z8iF+i_H)TWW z-xb7XmNZ>&eee;PO*ZIi`iZ}?ZPQ;BV!H+@4~0qAlTWzgE@LwL8jr(=VbMZEw@IqE zNh+U7uWsKNiM^=cyQa0R9=}sFjtH+|T9T|aU2C*2{cV zb~3`j$+prGZZ+^{>PT89M30E?UO~oD!5sU-!=eQVZm#QT6Ro{0>f$Mi>D2N!B$bHM zI1EyUnOY?xR-97r#_?AI;cIFHPY6$cXLYmz#=2BKZZ?e53V zYBtQ(8N6f2922n1MQQ1Thn$-eam%|_RNDMl88q6&V4_&A2@83V4nzb7re0a=Gq1~p zhWEwK+A5xQv|Pmw=2}mxmRv+rCe0eS2k0)O;U0i(|3Op4VfzQ|rwjSCp(|6`urZK} zQUA8(GdGz}2$oqle|g7U{?qC#91V|KAuX?TPWT72`M)Mu_(Hzpvd_`#d_E znJq$D6X7u)56vJomZev8*p>cZ`o}z)#N%b_0|plUDYto)Do~dEvEtGOA3wwXCyT)P zvFY|!aol@8d0=D1b42G|hm(O>Ndv-$`i88grk+v~7h!>@n4KU&J9uKs^({bSGa47` z-cEoF9v^PmtsRoDr87mC1+axC$Zt-kUI%O}io8OHrwX|{Cef(n?ZV-O7FOEmX-}Oh zCI}oK5_3D#t*ARWrg(laQkk%(YIIGZiNrR;-!rEWkpqW0g~5LBgu%XzeFFOjLnaFg zmiS(GD^2KPenrc&XCQxrv0T#_LSe&7$O2JJH2B~}bEl9RuW<2lm*c~5Zx??>#-&`n zGj#$>x>ycjxXsMoh1{v5c9CUT9}Pb|Q+@oq-0{FaXeZ?)JNQHmdwZ^Q1*$Jm?%ip4 zmyI9%EV<0muV!)4*dWh~0&zk1!J|}T34LaAH?L z;)4^x$dnoD&Yyl#EvjI{Lm9`jQ2_u^(FA~NUp&KTUu=Zay6{reZ zvZ_oiS0We{5SL1|i`k8PXUyOhTQ>DbEZc85P+vA{)M{smsvu6@(mR2OO6CDf7G5AA9BgRdOLn8CO{a-FPQUqX1$6!aVsRaQ5=X;>yHV@Zz%Z&nA38sF}jWa zWWpR*iOQxog-EyMUd1$WihFGk@|EaPL)C{+|zU%iwfQ$-XU37Fem=Q?u|co*}B=fKthwowoh-{2bhXx$2>&T1enW#R!V*|8BEW*`2rBEe1qT=6#<;AB?v8ri8l3~^)$u*g8 z4M-${nUyOVHI;$nCR<2UZY!&PYG&FV*5S7^l4W3%7OW*7xb5;w#gD`XjF!0?`(OI#xKcb~mNk ztIotI0sCGcN&x=v36LQFkMkq4W;UEeteOn9zKs^?zKnEueB^`nrGQLk(Rj)n%yISc z1{e;acZ%|JS<>*|PD9*=*)Ous4JZDv=`M^jr59Z!NN4xJcZq#jewneeG|d|?jCVPn zgdVvs4&utug~t4YX4saS&}V2dq_Md~Neurnp5MsPUXxl;Q>5CYBEnxy zG%+!f3`Fy@X82;qyOE0s%(AzuC3U^8_Tk3L2aWp5x}#NZ98`L&QJ^x#dzuK^g)|J; zyD5VL@w+mfkJ1 zQX)Jjc=q4kKOcU~(yjIW`;6#&2aHMJuQ2pA)IJ3)WLdrF&jIY z09cn49e}>aP{abyi@UO=Yr7DDkhGX%UWAy}IC8ld6O<*6iZV_8J#W7TG>0}c@$OCW z(04N=`RJrUHj)mmbxqX~I`G!X3 zCA<3XQp6c)Bz7L5oM;llbH&17l+#L4k1bZ`M+i7#%`{sT(%}4(I;8IMl~Ak%jQ>X; zjEzG{n8p~v!r=+TUMG=+Eag?_a+ZMMgtKRwPJ@+=m3S#RwiWqYVw}`=Tl5d1-^4?u zuJA#wnrKjf$na(SwlT9-#R>eY`z+YPoBWoKD@gyxSP4i$lR#5vXMX!pr{Ird#-Os% zK)`VqfA8@37k@de_zv>ksX30lM?i<$E>k>RGD?=M)-5bM1Em>E`)F027NdE->N~Q* z@QBjA#=bJlSW-Qcl0eF0GoZ5Bp>ICkz|P*qFvn~;RD;^QS30Dm-dzou!6Gp_Oveu> z0jXxv{0Tx^!SKng;!6~uV^F;LKqU1eX}zK@1if;bxD#*TD~ZCz`P1iXbL>a%xTTG@ zBlGpdFNE{4x4DHD3`H~?NMq3VeP{5|<*RL&|3UNk>or+=GF;dA=p?iq`By@4_cowU z826iau2OO*toN{nez2l={*s?>?HxB;eOAh}@uL=R-Rp;G5NRN@0K&VXH4_4!*%b^K z3Oqv~4~Oo1Q|F)t`w)bYxawrD(<#8d%hVmoi9X2=UC*8@K9?rhg6P!yP<6glvJ)C)`#~uyAWhD16 zKY@q&Gb&}xWxuH69ya_9zovaWTXH0&dRM)3mZJY-lpvj=e0G$A@qN)vyg@65XD^1! zc=o4V^##>qa9CVGm=e%~;sq2NWs=L}Iak;iM5>ZC7en)ia9elp;~$o^Q~`-n1`DST zroMjxY`{&;vVXZ3>*BKztO6$o84Eo-#c0lb!zX1vK5gRPoKsl4>+~2bYsICuj zd^i|j7rgWx{box*@jF86;`3#ahA`$e4Zi(Y zgSF*Qu<+l2EF61ANLb;VP4hlBB^4>Xs@X$4$YaNB!kThgz5?Ej4G%6Y+$0^F-kksq zeB-)}Q~9c}V{n*p6sL~#);j_=mvO2RNZf0~Sa!UW%>Zo0M{T8h8E?cqcx~urwKr_8 zb~pb)8`msJi3rplSeT4+0goz#p>GOs*HqDcX23-o7U4+|yX{IvA6u)b5U1&7d^e*_ zI)M?6xo=NkM21m+%~x8NlF{1FQ@%;Q>qukcOU5u>PCcqFSolZJv2^s}<1_LuCutyF z>KWc z#Z`iag@5De=h*0>D5Hz=2S#^k7V7Ew)p1jZcE?CsUuo@X~t@ zRLR5gmF0*Z1zYm5K1){>(8zC-cLEjFjcrRggfmv1GR(6dyFmiUjB(P(t&CrL&{~`r z<#Ne|!nhj3G(inNTnZ*=x>3m!^g+8RHf9UEDasGspHbnmgvz|h>U_w!Xrs6L2xBbI zT<}mw>P6N-)^Bbl^^eI01IosYX#+j^Ul~RI?CpdB+Sa5$PpU#fEA2BfBW-xk=eXv_ zKiav&)nGyGMYJ%sk^3xrcboXW+pmCbM>*58I_p{-(3r{2s)Ef9muZaoUODeiAZy+x z)6D7fP>&}@Hl9gi_aj_A&oS{?z&+GCfx20R5O1ocAk-u>Urb)>!8EReCzkRHI@_~b1=HQ9Pak=ng-Oe{z)bM&=w6$jAQXnk%tJbXTRP&EbmwU} zxo!9h+i>3{IKe42;wiWrFd_q=jEmX`Q>3{>fdXX_U71fvbV2c+vOgK6bvk*3fQcL{ z9TA2vijcT`Lr0#LrVT$j>|nt_l{xR{8ZPML0=gN^Fmr=|PL>{3yef>1jGGb9mO2E0 zb0YPoBm+BiDi`?{dQE`7`J|Wlp+j}xywYY7dLeCV1iG?Lpk}B?Tb6*Rmy6HoX2Vd2 zRh7qx-bo^jLP84M^)EMF-*naihV9eE^d%vN4@ruLJIM?z#Q7l9DLLQO^FWL*RW%FoMstj3}Ug~Dx0^)kWZDFCv>{hQHeeN7@#sCG=qdd{K;{{XRZ>eRVl zZtIlzJ#9t}V8KhRCbDUCQ97U2E7E58@?AV*gvaX0uA}BshtIdGzKJb;#n!8#3z|*< z1r#tv2C~!}y#qD|?L;??^k0f|m2pDwz($%nV?{jf1D9)#abO9x=^i!p$cQ)QWh_J| z(JLq5@JCCpN8A7Z6}8(qn{{_NYscmzY*0hm1n{gZ5)T!|6a;HN!TCz_y$TTe=KHBW zfG5LGUqz^&s}ThO;M0?WKlBRYO&XfC;p64G@rGMah~X7xr|HuhparkUS|&x5ZN(q) zsk)A^ee=luE;JpJU-bG5Rpc6-bA{vYVF49=F=Ku&d?@|}2DrF!f6QokbvCE#{&@vW z_#k8&kQ+lGK19GS>e_!FcElHQvA9J))>h4+Lb`UlU>fhAwR700mt{;7QAQFQD!!jI z#DtLo;a7-O9;T!jy2{ZBR8}t*3S`N?4{UsP_!k5b#2jV^N@2SIC|kfj#OMs@r|zQW zF67bBk{&Kpli3b|c^v1*^Y}T(V48ob-*a zb}RWTu)_m-+HCz8ZpTly@B(RB%c&|@52A$X>Z&~gL{@Y7ALSJ)MsJzB;D*G)m3u$n zseO!L?-?5U#}Y*T#}W)&T^dJDq0o=~baNEggPrIP{EJfbBBj$4Lo%0>Bc9~U2#HO=w4Da(i4dKtt2;Ht zJ|d{DumXu@9B241!rEHCvSuRHJvv)6)3kd)UcU}re;s0Y;G~s^rB1AJsmkB5C{<)+ z6cy;y&jKMmk<+D6V+{fm$2IbW2(FRA8yy)Ei6M*et(;a|p`60lJKI|{din7oUZ4*e zd}4&lK-~Ri&qC!m7&z|fq?3cE!L<1~5zG4xFhvsDe?6~?d*%LyO6Yk}x=MCiFQ7B| zNb(OXbYXeSO@hO;bZgGr$A+W>eSGY#TUEcRN1rZpmPBgZA3-h{$tBr)=)U1^wb)PT z91CICe-rfdN6?_Keh5cUeln1k+p;V{uDn~en3(Dn%T#Iw`u*#IS>jAGMS1y!SLpq9xU z18(u35C5ZR*5XZ{Hxx;A)+;7;SntXKD5uzt2hU$xdL2wM$XQcve%bfe$Sg|Pl=WXP z@Yl1HH~QmMX_R!a-_Cz;KfIU#@+B{E0SRS;_3Hx|GAj)B2`&On6Zc&!gff zya&qX1Jhr77_4PuMU~d$^%2;}I{S0Kpe4`8z**j1YUacM4Cnilf~w8K!TGJ~Do2*} z@s`G#;^kI|wwkCNC(d{KIStgHEuVKy;tCa$UNcAB3$(p+?r=CTzTh=;c#993)lyQ1 z2)1_ZLU~jm?z}XL;soNOB{W;01QgFhN^?D{;mb zv`q`+I2E^WEsL~yMZgkc9+>TSy>$g6aOH|(OASSA6vRi5)L#?&3YBrixKjK~R|9AjvVtaNaF$7GFR?{Q!J zrn-Ha_T&9Q(SaJP;i%Bi@WE?f$oP9TO!1y~$vU})SKoT5+c&(tPz_8J+~oA)RZT7& z8MuXA($N*+#L>FAYgpoLGBE*&2K=1|cE7#lcLq#M9EBoud}>Y5XBh8J7VIcBhbvX` z$})06VBco-2j-0F+0pdQYBX%trBh=2qp11S!lewtLXRvcpDcOZRGW*94RPN<`%B^TtA8vvyT_6%BdCbg8&B_z}D!14vU{e^FYdRuWT^L^2kBIh2m$L>t`aZ@M{+mb`>zIXu2uyQwogB1vbEBejGjC#; zRFD?IheI;&l$TW0v=>0lOYD3qYRYo}yI&0ftDN>62oU&Kffi7+?#uBa6yxTztS_Zh z^_w$<6r1lQU-Af17PDDxe>&Ihm`BhFWCy8ZR5+}sQ>aj!1hm>C{Ti=&_tkd0g633V zDK%Fum^MkON1DS5apH(E)uT@&^$oR?U~C=voHAx4B8|^UMOB&dVLH7r=>`?1e)EJF zYvYxiOZ%5nJ36yXGb(uRjP;mBAW*KQFJJ@+t_FR`m=$IOKD1Av?X;GC*h*;$o=IWnmesha7&W4tQ`64?mjaksFjCIK2;rkLu*Yap+d|E0~^@i|t zU#Ni_^96hoYHnBU9Vs*_ZZ>B|A}t4*&nyDoGn6?!s2=zL6_+7{{_I~$?ym|u6}HMi zc{?GM=VH&+r$Ur1(5;TKY6FxEAYONfp`~`*8ttw`WY*6#MZTj-)#BOjY@MazXw3QEZc%S*eD>F|m>8 zxU3sdnj^W|^6f#FkP3GajQvrd=+)$~Pb8WLscQGj{tdj%G3$UvafPb~_u+h-zvvl% zZ*eeOCoAFfP|#I5Hg*G=PgwmJiN6ZvVg3vF8g-x=?{WOu+a$JZyInQ#baFHF2Zll% zblL6uB|6R1b*_K4h~aQTQE$if2Zq5(+>*+;s02v>ujgF1stJ+Mq~MaZE-t^rq?zwPHU<6$a}aZ_hY9(*1ks`# zv5nlDSjOb=<_ixXhnS70NnS{KD1Mf|F*~!QxIYIa`DLD}R7UGgCOBCPeeJpg8L;Xxy#>4!!#O7G%98@U+l(XQcGC?mv=6yvty z_Av#Y03itxe}9#fG$Kb(6C}9mLO|MFt~renmzFAv`hoto2q{I)$eJJr0a&gSd*&P+N0S9Z8MMVu--cc2nrjP!| ztxEJT*o&i-`{TC3Q;P#T{hu>=p@Re(NVA(muwJ2N3ncR@G0SNF@L;KYJiK;`y6WVg z#P9q*XKL$-R9)JRe$^l*7dYDYjBaD6W*s|Dbp_+Bj91{fu4A)_c1Qn(z=FH>qjPoO zVG~VA7lAMT{rP1yIcm?wK1&^X3Rpm~Q(!gk8HeThu#))$<5Xcr&PiM%D@sz87LFvzhW(1n5?fqS^x}}H!!#|cyn<9>Q5!}J;KUU{0Zu4 z9ka8Bcys~o{PM5ca(&{-%*qSOJ;F~4)*_B$2xZATbz)mf^ zeI5kx1N4s3m0`^E@c?WY0i99H&>cVUC*;13)$G|5Lo-X_eCcJSSY5??Jr&Ttrt#p^5?B?`CV+)xi0qg}+TM{GtL zE9}zZ3=#$alBYz3F)18m8iY$tc~4gzn%{c|upLd-_~gjKoSY5=os#4H z$sG*IswM{A>i1j?zdDwNDCT-G&CFhcBzHt|JQ>k)-a&TB(nx}t~L*e}L*M)6jN zx7|ewn>6k__?j)hg5b+!;UF}UMA!&g5lHoNlu-k+wHChXM!EUUA;?svw^K0dK3;s2 zf>>S2*m&i^wd~$^s;v;4f6+P4{K}1&c&r=70+D)g-+{e47uff*-{PP7mKjg+Y}+s2 zs79pB%Cnx^8rZT^;J>waQo(&vL3_TG00H;;{`aaIUei^6Fb2#n2&#^oAMBJ`qQxW- zP+Aa7R@2fFQ!P_!aY%VHfpIc)~l(I)@&(6{YS3STdHU?A*iXcTclhRJ8MMb zGc^|}s=tj%F!wfq{;fNM?ERh%ibqw|u%w=Kn5PO@lRM}*Z3Q=iW>K~Z) zRp8d*kX?FbqhzR~z?G4oI_#R!3>w?}#T<{=Ru|(?g*2V#c()S+@APX zeoy?pH<=XYHP7eQ34hkVr~CH!-*dCI@$cEna*sC5UF+JE%hUJtOVReBILYu^h=8=E z)^6fD_9eU|{Kc2w%k<>U=ijTjn6+4=nuFBo@@6 zqSyu|KtvM%9fy8#M#Yk`AsfPd{iAHBwCDR zrWMJ_G_Xt`F*l$9XiiRAkTYzdp`kG|nRnXg@bwU0bDNNo_RdBNE&gurkQ!d@o^@4p zsO;N(CBGatk`6a!AhYEAQ=G&vh}lN>Bv9GSdd{Gg5!q_?CET$zySl6-5f_~A_lrvk z&w=@}nn!7StrQ=LO{$g(UJJs_3G=v>%{r{7ATUG5JIkQVYHm`OCD3ic1o z8@3NmHpsT34V2Fw^LbKqcs+i)i%t-)x2P?gHE^^VaFOA!Cn9}GNEU5HT*FNt9WJ3n6r5)GG}4;ShYhu~UZ+jRgSUup zIgA%(p-IPpNm8z9!IwI?MiObEweSiAWwTOT_yv24x;QHaHq{DRL^W*~s5~eiA|VH; zC!ebAa4~xGUxSrks*3ZjdoY$}Wvi+#m9#ioVN8yI6y-Alk&P1G>BH4vWT(Kao=@i! zKllrtHN)kuL{c#M)rXPk%8^CoH>I5%x9!MAWpslGjTG$u)epUR1!~r`1t=kqjV> zM=tW%S6+dA4e@Mw=Fnm)QR{NGE=u5*Bc3wI$k>pdavP2)T=|}DN}1e-nj~3+HN+tQ zF`mX@2?}uos=dn0?}3q?s_28=zs0Hk!ewnbTyZ|;;%_}HL|6dCf%a4eiuk-;ef9xRxvKe>KAWq)A!cRDa$W7FnyKKxk3nm=PQbt{k1H!xIH zOvAws{)&ZP?N}siTh5qTTIR38C~Yw3odEImp0i@l&&>^;o_PJ|kbs zC*XhS3jh9A|2sO|C-d{rz;1WC-O=9+`ntY7m$ZQAH{QK?bZ>27RRaoNTAFQV60C<& zT5?Q}raCU&jUf{2MRO91Ybr%xg+!5ws>jb*75is>!}7Op%z-izGkKcP5M>}n_>%@y ziOD?BKELll2$fpQSHq(_);mPyCn?PyO;Ft;0dv-YNyOxh!`;e`?3PG*O!~&JSTCf z4CDuhXP~*oQA#4@inBYGq3_irP-*K~VGyV*Pi{l^ko>;Lydv|I{xSMl(0>-NaMs?J zm{$^=>PB12w+;2FeU2CT3i389N*bZ1q)AU1oFX-{Zqe5oMZ6lLVzfv z(l=->452#>^u_jmF0ugpj?Vl#-X&iiP`e1lrVaEc&I`ut7R4V%{X!^^3_kaWf)u`! z18Ktq&&-kk5z!&Qm;_6r6TA*j|A(0lsQLW+NPCVfk$?~1y?^D?#A`ESxa(DXxAUXq zB5`MjWoeJR>QKiH-nl8|St%`d3o2XAk4;9XRY_=WqObU+4qw%A<@tu4O){EU2xlpq z9rc8w{t81miv2Afu<>fWxVn{={mn1WnRf^}N>rukapE=C_>aq2vW?x^=ozrz=*FwM z|G+dv{(%7k{_oa88%V3pMWVmbZ5fpDU!b6)y9y%nHqYvyl;{6gu2)iHV*R_8y!(Xq zY}{sgi)NpoZV|$NqXhns;oeP(4AcjRb)fREx5ve1bVug6Wo2t?)ARt0184yisVqr~ z`sr&}OGj{t2F2E}$H&HBm5{^o+aCkYu9F7Y^7T7A=$g8GY~^w7^W#6PJ+_O(uLWUM zA{v5(&DivuwT~&O?r&a}eN`H{#1m!%{)U04G!os%NaSZg)fK)O4j_-cS4;{sl+ELF zJ{t$}42br1ze9CrStX!0u4B3#$5}GdbUB$IW?G=mqJJ7o4+vDo9Wv7v!w{AN&X+{h4^G?yzTT@MNXQKzwt^ATbG+hOxSMg zmRtRd3&QC%ISw#gTaO48(6Gu#FI5hyeub^owzyIJs*bO{u&t&3RSP*VtNVQ)hzk4x zMuE-o3Q8`hu}>{W-tb{$<|AK4P#r+|+S`G2%$XZQB*2)S#0vAh?thGcw?DbOX$=Zr zhFG@TK2kRH`0&O7&-as0nbnjLEaQ===*V)7 z=$3?o>`BJd5PO>Ze8rOL;O09W*-bt$#3+%HRXl^At5aevkMdQjFef&d2HJpFxVY~7 z!ut`T?|lDECA9YocyC=Rw(PP>eXLaCd0llgoja>=0~SW8?gY{p^t!r4$G)PezRp+| z<+~vcJv=J?{`fx3n&IXA9_5ugjAN?loBBw<5Rb70{*e2#WD@qW^>b@i4Ci$`za*1A zgN-e77Rc&O^abKH2d5`-sjMEZ{LUfr3&&!2fX1G*yv@l*@eKNmS(VNDl%2-ju3diu zBaoV|?^IPebFNw`_UU=edR_hM25aKz6)?xv6UYH8<6{U6)P{icYNa_ zBSqnaHs39j>~Ab1X$Sk7@>*6`KkyHX71kdZmdutvFipsod@(;!8%wD{aszb3LKf)w zd52QCWssD-&#DC6>a&LLm6fdGOS)^JH+eLCGZu@>D@(yPbT=wzWmz&>_~BVo=p8LB z@xOCIIJl?JS%4YVM7rGY%GYYDOAqziI#Bh%=JGSNu}^|XJvUe%NCPkx+k%7Zvjo&{ zun13WNcA@sq)_x)OLS|((dRA;g?Xk!4f^Xs)QtrVg8k~g1ta(s-m{SMW0{eD$15j8 zCTMlX6LSV~;#JcJV|(WHn18UOhrjCh4W~KX=-m9x8)T5y?Bs74u0Lh)BP@fQ5QuD{ z;}1I69XVRn)MPY#4aj;^UkG-V1V$i83flz-*MEY!}C9nwQD@NvP4nbUT( zQPbnD!eT%pn$y!?$(Xb7@j`TAbPLknYuvNUA?iP2a$`Dqjqvgsx;{jdx+nr(S#mhU z5$#`^!@GvEo9Zpz8pS-95)PicbX1)JXB1%>BegbEb`ichacHdhJ*57@f%m7qd$Ghq zgQ*Ds@XU+4O$S!wSoz`T7$Ua0Nw{dd|Lyg8)mcOUK{(MoDJGR?sHfr6s| zI96_s9IvJK#)6Dfvz(M)yV8XB6`gyvBto^>&GclBDbhF#=(uIC-heKw9NCSt*l`QQG=Q z|19+p@1__KG~ST_R?tYVY$AqF;6AaR9wTDG69ehqo@uo{YIN>@0|ol3pK^1JmWhZK zJIb+N;reg{A3{D2Sv+MjQkv9i`J&sk#5#m!K9lAE3v7}@A)~EO+F{TGkLVoX7qsH~ zyWNj&nx(fwysod7@tzPZ%~LB4{CVe_uU00S%H0|EbC0=^=gt-$Lv$ZQNAHqUs%_PC0%j!3%* zZ)pUr38G&CKh}RGhlTWK!C-cGv1*dfB@reap9=v_4IHoN2LF!o&DczAY$mhxC9qEY#Eos&|EPf14g8w)-FUxssrdz_aCg}_sC2P z0eA|m_AG@}VJbMz$*h|C=$dk)aQnk+R;y`F;kOM7-?I{Rz1*P$6$QGI9N_*i#s0&# zq+F-i+FF3NQI*EsB%`2~h~5}4*Wj={@hv2$hqSTL^(O%k7K-?E13+j=R#jD%!B;Ro zq78na)hlv|%G#_Oh?%K%hW|Fg)_`kOSmWjq_Or97*DIqFb3@SH?%;U;a8T=aQ;XI6Z6EvTb-tEpXTXUz3+8Km76w&( z;+^-52TcjL`8tQ=RTU@u^#Dn}HEMaAuQeX{hEK*7?#5utRZXXz2I;Fo2+Nlk)DnWM z!)qAhE1elAyC(VoX<8s=mxO(+O3oDD3VD0oy^W*?nv_2SR;8{VPiD(qdt!tMu% zt^m6g$9!Psn`ey{HPj7*7(Ofk*`@s-=y912o{imaj`%B)%?^R0J5X9J9yl>lx*~2(FB90+m@*xxlaC9FVeDCZ;|G;RfMn=*1 zNGvjU(>VVw-b1OGxI;@M$$#ywfM0{UTJzyP*BA#T?cAX!8$jPp;EviNH^)aQGfIpyn@%guhULd?7#=A0O)v;%z3h^_cw(qNQt=KDqxRC=mMwXDl%^6}VDjOrfV#7_p#*wS^zo>2d%3?y||=9pyQ*-Zn4 z{?0P63^91;QQZRM!4BSXSO~AC;O~Z%_Jqhvp|oWEqh?;=b;A8=tG_A8P!sCNYbxko zvAn;**@cCZ(~?(!X$c3?KFp+yrCY+C0a(6fRy)1fnnGz1C0dO{qYk;jeH-aR?}3`; zkKAi5BDsuFubBYPw;mK?##A_t_7K~$G$rgS`j<~CiapwMb&HFRcYLHzYVwdyCA`Xg zCqcV_bR?j{urF4_mY@3gHIlpWjX;)@QRf~>v<=fjEHi>^a@QAPN)0mgO$SYly z@QKo#^e``lY^>}&V}tF)Vfy%0ryY1}6JA{t%P{u-7eYzz`87@zBqKCV>sRnJtkP=PViZt%K5;$w z=4rap3gaVXqJrxPUI|MMd_e$q`&94cWnSnUX1&n? z`m^o!-&=(|n|AM3L%T%-r{40n{Y_9(@kS{a3D^rwM$9E3462K_KSmBtZe}!clZmZcg7e$ zJzn!zw;ua_!`t-OfNJBfmY*F7e;UNw7$T7WH-t1xvSN$nxImg2+H(ztLc#qLBW%gl z112pg>?N`GFV_|S6P}Y%{-*^a?5 zxysTxdWW}xphW1J-k~Soe0uk2ym6w5wELryyv46%_y2FmH8$Gx8p$^sN!5Sqwq}12 zKn+7T!IhhBO2UAKZd574P}(6A-oOiZ8Q4LEroJwYKxLlR!a21o#Izajrb-a$#X< z+E|OTs5wUncE5ahLqeZ0eZM;rb`n&X?V-aZZ;rAlPX*l6IXQx!$QCP zNi4JiNQvZBpNg}`c&j?1lYOkC*todlW<3w+54ZiC1x8O9N-gLMVb^MH#&6Soe{k#f^wB z4sFg8=PDV3&{z%oye4Y{VAKAlDIo%6xb?Esvj8tGka>!(Xb>uY!VkLSh4~)HGNp&E zqL)#{X9$^;VC*l+irmyK=4qr9m4Nk03q{dkDgMx??eER)kktlEZdbr?)?k zL*dbnO8_LZOlpTjgg|673+sjF=@(Y(Z*l9w2UCV)HC`*CzbTSTk{fALMtZmVKzUS2 z$C0{J+SwZpZH?;)N}^JO)NhlC5P{xfX`KXc?N;?^#vrm^UsQ0y{+5F;>Grp(GU*f{k!Xvn+jjroE`w z2u(vunb4+6+tUlHW<5<{27^qdoSKH1=nc zLuMt2vJ&sH2ry^fDcBGo%n&iY;6LDFoAUq)tPPxnQbN)vJXqb`@#S1>TuN#tYbML) z@*O=`J>2ml51JD?wkTT_*ykp^T=!dfS{d1=<=RI-D$1Z5oNZ7z7JJcmLtoc|T|j}# zZv@wK+0&QCyRECrQiAoFe;4QK2-A-0$@_f+a!m10M}rP{FVf<&wOC1EwhuKe(_M)O zh2MOt1?WGe6++#*)Z=AGDwB_@H8ohh1l%i()1^002@kYeg~QtyX*BeNomkO$p$fGJ znyoBh>&j(0@!<|O@>~G)({=+iO1xXXVTokdYlhuAzP64pd3cT6C_f2mF}b2c1v_q! zpe1&4!Qn=)DWK~tC^b!OHe~N^_n3>GwYUsLf-1}w>1fdTiV2pLdoq`wn6vHzCA_D_ z8mzkkDl))!5EBJ2Aha65x_IxVJf|WhTHN3Bu}Js*d?{urm8OA29D=0I9{y?s z1!%aNgvH*X?ft90;ujju@Y_G={6A-qe2rW?vYzMp&|eyShsV#aBqgf1LhPy|IhC4Q z^;G?X>pG65pVSZ!6&4xFBS|r;JnC4Sv`64nQMhbhwUZxQoes53@hx!k1bMlsX_(RQ zsRu}|LT0Y&Fh4-QHzbaMT<0H6lj4d0!0Z=9h*>ywArQ^}<0#59a(Wh;&?SvXTbvCB z(791P`ajUX3GH?FTW^A+f53f5Np@FR_f1=vDrk#Wo~RIj8{`PWb2T3I1o+x7AON{Z z-iJ@=a@U0=<(}MaU||~_1g&9o>r-81h#VtGrwdE{_&`P#Ubc3+C0F+Ha91L(=-FSP z?W{u86iI}^X`_%kUy)C~C9QC5wOQ%-1uW8ycBrOBCzS`fdl6hXO$=q$)a?_ye^W6I zfQIS(wDC#2b^(3dN)NF+EI!o{!_X!GXts2xofwYs38^A<_q>Y0Ie%a@eo6L7`UHPC z`2!P0^!uYv_+Lr?_s0jI?fY}n0{|+4H*^UxJuI-W-TYNu$I3dsl3vGZrq@~HYpBz2 zkyJl>57(f_wB@1Casl`up5q2n=(Toi3iX>gBrks`uqBf<1wv#2O6k5eU-An!Ge^GU z7oDt1&^ph3FS!YQ`rooT80(m-5?Uw;c8u=sOpKmt$3Y53mhKMk&6(E{qPw)15d7Gw z!wZqp6Xvro$MnNLNXSB-N|gb!+iJ$g%}$Od9|F_~V)$`4vZDz9*EM}NnWLk1DUp&T zt@Kjb%n)Omiow=UVz%rHOf-F1^|KX!!|P=j2cEXOb~Y3TF$50L3A=+2{9xwZLkk~s zZ3GxpEd6#}hTT}qxJLmXo{g86hAz@D!$G$WOKXdA zH2G>zyVPnlf$2J$Sryiu;>RT+k=X;sQxpJ9`DK+6h3Z{6)l*CSGiJBA-4}!&OfJF2 zZbb@Z$0OC3n^hlKUwg+W+2Ytcvs=+tdu)+(R4~dVS#6me#uykA)8kD7R$Emi)~tS1 z58Z*%(^@Meu~PMxPoi!OX%t)coTFYoERJ;$ zZdLX4Bgz293%WQelplip*qu4Zjn}!v1P2Cu;lIie6wv$h(|1&M`3^ z0Jf0lW7M3wfpS2HR4wMA1AFV&=CYu{1dhcFsx9~(B`)M}L;ZUJDmC)1(>$+_`nj{U z?49h5c8>~M-e?15O#0&&oyk=LrE(5O!)k0TYDV!3Q+JP4KUPK|t}0Wr(KcLyJ`%Cf z1m!gW2ovLTH7vX1`r)U6`Ycfm1o^skP~l?nDf$5K;s{c?8wQ4*6$)*EBh+wph@H8= z>SiFYUSFTYT%<-t(F5F9JI1*fGf*t z8OT0gMMAaBu8C@~ofqpDsuC5G(>}pqw;_;wHDQeiSAINMKaRFm%=so=ua2e0OxLIr z0`=8(5Tx5r2}rQn_n-~YGtW#}uA{HfUG&0lTsOgq3p9p0Sr`-R4HHBSU>*p8xwpX>4V3xx<&f;h3<*iDe@r#V|qVXKHC`YR|TfOZLGQ1)mMJ3jH|tF zJ{J_ICEg+~QBx2#zPhPq?O!!jr%)2@DXNzhr3lK*NSyOwp~UPp*_(T0MKD;2;96I< zdATSlN zj4xT%VX53p;UfFTI4@^>B(HOp17Nl>NmfMp^ZG0l{=m2tPyYZR5z{S2DyWVk%n#dR zcn)12zi47ipL=C&u0o*0U*Eg#@Fr?~Uq=(EqayQH6a)u|WN1VZ^^O7mPet#_>#Znv;esJp@=0NxX{WH56P zxnSA`izUy%mlaLa3@LIAzsub6fJzIGkRP%D*WL8eml!fC`6K#CE+0Xb zgI=O4)fm*cy4wW%OrbWV17(#2(Q3~9&B2DFJQqezp{e1sm_YIPMIbD7o%TLnRND>$ zFK&PUP3Ba`H`dylwklYF_v^dp=&=p7I&p;A+8v!Z7G`1zUJ& z-0<1=?0Y9Ejk#FVk{C#pY7j3BGCdHd%lz-AvoN5ASDcEHXcG+@>5KL!4VT@hujm!f z=0&&RbWmsEnAJnu^hT>ng#(Hf*-3@={=g*Wy_Sd^Xhdkm*C9dBSQ}iA-$80_gO+a7 z-(!9$y@+f019R6sXug#+ZdM8qDdR1qK0Pmfav)NEjj?G*DGo@*hC~L@!>KxHnHrtC z)7yk1!iB->_c1whISaB?4kf{J_BTGrbZ+w92KUY^or8>tW+P}~%yhx&STVrXutr6@ zBCyDPIQ}fR;!(_0uq@xmYk{v^R6K%XB|=BI+=eiV4G*IiRBiPJ=42>`h>D2|t!h4SM{z zK-rxM3>8+srUN}kJ}k~ch_yzNPzePc0^A2#o_Dg-+4wVtQe=#GXuUN#1VN}%D3J*t zwNB^WQ6JtiDva<&1C-)RK(?(Y@52&#lb#i^W^siYBrG=X5G#&zh?kdGmP-V^dbmNS zRT{4e!=O}8B*LgL^`SeW>P1cTX_^^|ZhI9gq76{Hg-rrO5aJc2Mx8@J!~fDxm{FiM zxsouJaS{6~bKTPX8FE2odE8?5m7bLP7#_{Q6$5|41Um;F_L`19kDvGCdWMF<8f`>J zLQzEF>@?aNU9G2BSPwbJ;D733{waRs?A z*@~0XSxD6FgSQN`Upj$Ip%bBE>hN$I~SD@s63D_{u5&c&n!#n-) zvX4#%3Yio3aOJks)RPdquzBts?x0Np2>;8WMQ&lYm)1D)dxpKr5Q)aSn4D!H?GNq^ za;3av6^{T4S=N|q&jv+n9ma;PgAa31)DJn^@p&8X`Px@FR$$Ha<@ude6(@dYfu%hL zq#dYUIn_chfCIc|@5avQT(AMs5k~25@CM6g%0HF3Y?Z7~Qkgj98hED1?Oy9Yq|_3= zPpvR7IVDO}?97+jzvg627C}v~p;Mi56RXUvd*7ljhb%}IV>lTET^rG)yk2OxYk%!j zlQNxk4U6}>BvZ4#f33DM>QaL#hNyE0VTqHz$)d5L)dpV0J|_V5q=gth);MTSnUAgA zho7-h!dHNV)E*|3#ygcHR$3}(GzzUHKP-rl@p2ZHL^Kt>Ry#>nJ@E1bSyf75e>_F8 zKHn@pRpy3HSON}%z33Jnm7IYHZT=?g(sB=@VP2#T$en6BdRw4D4K33Z3&fknY>@S5 z+aH)iz5QSs%;+=Ba%VXmD=#w&48iEWr1pYjR{4vcAKc%`>1Y~i?jWkvd9=a}`F3fA z^@|Ec%YnA0%ZOiwFf=k(?&bwIP98H;&(mKKc>iR(z0n7t&8;i2+SGisb54LfOnkw8 z26jFGm=3_O)6dHh$l{Z zY2C3kMMz6|t3$#zy8u4@z>{B*osH?-9IhXI^9D!ez&gQ&t?{2U~+6xPqX1 zyPt`Go+B*^S7?gQYp#47oEtnuBdJDQydQo`Q0eSaH=Zo8MX+@%?kwm*l zQ4K#N+2O#N(g_OjYqvj4uzmdyr+ce4x*{Q?AA6PWpC)a|7On`N>X7HiR0Z!#sLt?~ z$s)y`jNIov1qFG)Un8y|9I)n4^!f>+ERvUGY+pBYv-~i)jxfkhd9lI6x)rntU~q{=c6$Yay9Vy5QYfh9|DAM8$RMK>|SsyJf30WvXKpW zwuNrs2i4(H9goLWsJr*(`MyCXl=vBTHZXDzA${PGhn*y8hoO)@(fzgmGtPgd9 zvR=?nu%rDr=f$WEr*_Xz>ij3B6u+|0U&T*ryB`xvb~<`Cd&JR#eR3Ou9adN*E{sT{ z8fXBYY2mqiOe1ZqlH`k$^U=;%XEkU8N48Sz`mMATZP@D=P8IbYstJyAfnutB4LZxa zAl!v+{hqWJST6l*&F%J@r2_&&kPo5*y5;M)II>cFH}vSDTA5Od}l^5_@*cz_|EL5 z;}_Q$2V(x(K$)F>uu#hEml6^1Vtv128YkAzH3EQ8Tc73h6yPR%K8k-Nyii$PWWl*5 zz#30_q7OjibdXb$!*7VBVlOo_R_<)f_O;=OVCdgs2Y#ooKYe;?FjxTRdg|_CQ53^? zny4D1s9Mbys7vk|A`gr(G5x9fl6+k*&qR;B_OlbEP)o$G{!D{KU>weyK&MwEp{!TRYF^l46_0v=;?kzHp@if<+1=_qrb`sq5KT)V z{vB!2?To<@Ulo2f4Mfx5kO8)$nq4`> z%Ps6qMp;m9AgZ%eSs|2Zv7?nUojE4T1xe8O^OqXz#Hd;1UwlwC`<0@5uE!^-Y{p?L%oro1Aih+&LsBSl_z zMC?{Kq=_I!@?Uk9$sh<9{Ym*{FSEZko5Xtfd&2 zMcKChq6kvbB_&-8(hbtx?9!ohHz=hNlG5GH!Y{c99n!Hh0s@NfdGP(d^FRNY z!|d#{&+g6+GuIv0eOid0}U8}nK?@dpwvKxGNRtQ*RieKM_v;TvFVAKCoFw%8}rTY&` znMd`#Y|2L@<2TClfQ3rTVp(GE(BG5Q{HzvSY_oBW%8Epwv8W$9?Fe{e^mJM-cJ?8K z+M5Uq-efigYAF;HW=FNjCrE<{MIFh_Tq1Js-I)GF^4?x4g0S{Ao5cZixQ|-gBMTI) zU^EVY$XVX3vcili0xcZYdvDVr(s*@97-6iO8zZkiVnG+IhT0=meVx)vpLc z0be_a-03m@DY8i(UHL%$vuah-(iSJACcQ6P4^vgoTSdrMuUEGw#fj-(%-7`AUkF&m zTlTSM9^LP^v&sMNf@xOI5*`X1AkP8aQj6@n{(~-zJ6CH=eLa#Z+7Q4FWS^N!sX9$e?Gk+nLQlk zdE!_;;;m~LnnM}6{d&rx*glZ070tzgMvf~~YwewupGWwwgmLg_^`9ZO=a%mAPqI+> z0|}5vXMptrJ(VCrdBDL6*{oC z90QX}Lglmo8kK?+=?2yco$)7-d#DTd17}~RnOyIIv#&EbQ17wIU|ek9;C^Tae8KJE z3*)rfrRJo%{6|)PAsreJA7@kZ`+^O9{Fedj`Ulo`hQ2x%jRH@mems{A8{@uP4rvTg z4Jh!H5hiUOyxJ}wZl%;z=BH_H5r}0}nkIW$92OrcIC;+_w~%EX@hh<=)d7Y(3XlB6 z-LVhIy0W^p-BuW_P!fgyjD1Hl;vIyjjja_QtjQ78b;4ZA`bUcm0BCZl zFcJ5SZvP48o5q*_m>@tC`6nM=9#2~uKTbDFwXV-$rN;18tEKuQJQYR{jmBHts4oY_ z*%jPIQB2WFQ)+Xp%Z2EnXBA!yR?kxNi`-vgmOxT(V{ROVh%X8PCj+^*A=pD@`UzUq z^!aA;GVM`8z9f$?*wMDhJuYxWKIHZ39~=pM$n7ILIN|{=`UfkVA98xRf;-qRSagJI_X#&}S&3;k}&Mbs}78nbVp7GO07VPTx=6u%)d{4VWHg2wrsJ;u@ zuKG-_6;o#5C3jb!FFB=Cp0A6rMXq;|%wD9-(K#3;uuT{YcX+0-`~;O}J)u%@En~+6 zU$}y^?@MhpSD)wA3ONs54(B$VQNe#P;j0c2Hw@-xl1nF&AH8S?=c-7}HMATb%(cw5 zOd-n|77^m?6S%X`{&9T8FT&Dh90VZ=9*5XTh%C!4pEP+$pxC21ixR9x{{H%!En}R-ZXE zI7yfmrKRDK!BMI@B{)R0F;dM;v32VZyNxM+nm z`XA59(uayGQnrcj?sFQuNJCR!hD8}#TCPSq4X`OlI}8lw^><|nhQ;r#4a%py%^@?aD&XK5~j6X z{%nkS$*aj2m8%~q_0}M+6@+IKrC|F34pmeYj}vCH=`FQ7!BHi(=H`+6*{PV;g;5b3 z+xfiMHiEk}#MUP&(CcFq15Kp3y1|M1Td~gxHeEymYc8hXh?Yd9GRCAjzeNcrvroJv z4;z&6|HW$pcf}HKxnx8X6(AM_3w7f9>7*Gf<3)O* zS#Xl%pL?A%rml$c_fVO-$Hcl?rmk)a2@w;-OZ*$eQ)7Iq^t(X+?SxIUrosmW7{(8@ zrN6bW{{k)^tn1EMuQSYBhM_hit_XhBt7nAd_jCt)4c{j0(;fm2HSOZV4-H3Ct#eJAs{$pfB^YM@(Jac*}A$#d;T0Dk`1bO-+Z?!dq)*F$oV)>r=tC z7etd+)@G31?BC7Qo6c~P{4o11xR342^!fVQB?vH0(T%Dd8F&!2iYi7Oqo`;|DXwI) z2a#WE8t5xu^mHWopvyhxFlqdPJyynxp(nxXEsO8DwPD&gD<{x5Wa`0Gy6=xQ&p6Ms%mPLg5%qn>@87zHxR7~-f8VE5M@Zcnn+TrXfj+j#dE!j3FsBL&Yt|)w+_=>lmje?pM zZPNVcZJKWY)e4#frRJO+z3(i|U>IM?ALHk{b3L-82@LxNKgoCym&c6H_l@fkwy^C4 zE_)zD&vIc%Lk?pWrEV&zX9fY8g&Z%jiQkY5Xd5`%dktB8a|n?(Vk*&hJdZVKdWRxZ>3K{r-`rav$fb#~2>PbWb@?|Mf;qoy{_>MAs; zN;~!0Q8x>Z;P-*HNmPsWWI0lFeU~vGa{ufzH32fO1IZafdQH@lGpxfWi6a5 zI^)px(alJ89pu%CI1B{09JGbn=t$a9u9c)ZMDgxtPftsiT%T3wuke_gZH$yJkJcP) zE-2D?s8d;-F12^>HKAc#>ZC3ALEz%wunU zkFdnWjgaeTgp7V#*sLN^7G`EjVvBGS6hmWZSk2^O7Xjf(P{!)ZWvB?+Ei~5}v|CCy z_(6mnS#RFU!`4kt#oLys?m<`!J?MeU^ud-vG)k$=9nm^kNY8A6;0w8iiiD+DCI%di zn9di!-{|dT&C-zNo3fVDUM1vn$esniz%v4p}1Df$gaZc^%X{R`*Rv>#qb_wj^{%8 zzXYf$YJjdI-@~HWWNqG+n#YjJ0u*b>SRYg4%dsc?a)rDa|SnD z5SVYrTU#1+qjYLCYX#q67<0%rki2Ms>iAJVz=X7m;fc_Kf(BjuSI$ehd^iMyF75K5 z16Fu0)uvw=jc@Qv^|bKk_Ld&!AG;#oe2)&Hi+?TRlXkBmPPP`xqTT&nOA+Do;c@Zr zGL3!V=ZDzj*E$?r^DhmA>ZqJ`1-Ny(51{?O<-=YD7YYY(nvG3PH#^doos*#PPlUPR zZ+b0!I%`A!y8}znA@(GlhjujAUbwi*rVVP}Eq8z5EkA0NJt>lcv)gLM&Du{HHrgv( z3zmJx=T;%%l;c&Ht0!8FKs$)LJgWe&2$+A^7%9$KvzBgf>Qx8_!Qr0bP7aPsKZ^C* zB#;TMdUrNzq?$gMV@4(gxX<>Clr#5m;FI^b&FE~Z4RH>$A^Mr=YOV$$vSkiIP=70E z=<(ORn1<1Cc3^DHk{1KzYT{D6m^U#4p_e==-Z1ti9XpNU$P+Gw#>)7HVOi`o6KnY5 zw_?NqWdJHfh-#PY z&XaF({wSC+0RWv>*79=mgVU!kEmA`(EVH@a$h(TXmksL7kE=NQji!97l{X1+k!GX) zSt|ZJ(##lta~kF6msMxW;yw+|=5yJraO|s_pLHdGfXCGNHZnT%ftmAg7RgbxU!3_F zzMM6=bDkvOv@QZ{u%A~IvZiz(oq5#oX=*^B3yi&!C^))D%}F>V^NSSGsjm!Gap_kD zD){EP8zZH_Le|-rqB#h zqtQV5nD>IcmQJtAz2UJk7;aDWRws{SVOCZgu~~#97O>@!g3~Aa3&6jJ+_wB?w6K{G z<6jC-W#bo;^W>@WEN5~YdMsSxXl4sfNlXpr6+y)=&DpaXP;&;U^s$ov=+LzgUP<~h zD`v5*FoUm!>DoYSUWb3ZwYeZ~)Msg#LFYBAQ)hu%6m#v_yy$J}WZ|7%%Vzeg;pXFc zP(T6l^-5Q(gegBu=m#aCOn|jS2l~Sm8uM$3Uvo}-h(0r_pZeX`_>%NMh*~07$+(@r zl7{0(JPA%kCbQCtUa7NozK&pbtF8o;%x2t8E*m>@nwMi617f-WNvOSkIe0L-g%g8^ z>+Nw)L%Jl)wj)J}_BUJ71N33p2Q()+gx4O2FR)e!UCdIE=hc)!XjW`=mF^=+s0M{I zV=M_OECecye-ZOWW}0vSfXcciDYg;YS+LxEarnm7DSA+(A5e(i#j}qsX*CaCCgoe$@pyS<) ze0Y(N7Wok|{<*W$gH8wA!dd4o9QD1l*xcWBtsLBji|)7dcb^QY0;gghg;VNBSxtSC zDDUM)H=kDS*<$6m6A5`QZNB!OEfUD#@S2637whNNP*Yx8LGjtimG7Lc+}zc}y^)uYh45PQd=` zj#d_KYW7pQZXROp#;rBJSmYVGT}siPFCq*r8;gqU?tqt^53~8s5J0@qF+-9}=J`ch z=fII0oEm7wA;FO2vdkIm>nq+N_~D!4I7rIu#hen=mFyapuZ`0ubZTvZ@tm24W?M?R z+Qw;h{-fkTOuFLnyVMptOSx#r;#|WlHk8H5G^$rTOjZQhA4+ZJbn45t`#?sr_M0$x zvOKZydoTCK&)B5_1R_=EL|@Y&{Mwy1jY|}B9TlG2xo?MdY%ai^C3V!o>Foq9H~!}Z zcHVR0rliRfE}vZ*m_O4$GLm_u`VUHc%0DP%y@M+OgDK^|;;_L^n&NUOH?!E}W}Amk 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:&!^KX#}19*GaOqfQ5)>W&t$c;Y^v4BoPMwi2;2N%=M`7r=cp1N<5nA)bZl~= zQ(?ubQ=O7u-!f~$NXtuNAKFi-`%T_Sh;-;xL%M$G?Oq&w7`YTuhbnOii!1v{1bAv> zrKHwX^>@!Po!vk6boQZl4;ft&RmCkny_e43*08+LIbe@^NV`iY|y**AbpibTs( z_dpPNPGVteK11;t8pnR3_DyIM1NVJR_-x{56~P~R*R*5FQzYtpvE<j9hE8IMp5{ z`&9Kws+Xc6u>ot$s?8qnoZHPg=_lWT^49rvn0twNLElm&-;(IgXQFWs`Bg?5Qw2A* zaO5dwk*gJ_@qz;Jsh{1-`xvQyMYEsf{;K64!n!0J_tJNb!z|+1t6Vj%zzvRdKGyq^ zaUVY{AhL@42qm7-W0%!?kn_$Z7+DCCT{0gxmv*disLN1a!{CSYbK%Q24_vOCej3q(lo_N=H z?Zv{>6=28%6m&%#VZCHoU3 zt@Wtn(>&je{XM_Tonf@Q0Z)NQe2mb*^h|SezN2f+#K0XL*^Cq5~L1;mFlPQJt zE=I?eSdqFOss?C97ts)uwGuEAyr{BspbXy;((g$9r`DQQTL`J&D-HZ%~;#xjQ{?}L8r3L zWZG}l%(UD|8*YQ*fT>i4SBP3q?miE$N=Lu`tE%yZ zz?MJe+DZed28NN2ffVrn>klzA3*mCd$NIh!4N;H~p}N(jjZ3c3>n_I2K9rf9w%b!PblO+L~T_c8%G(sHE5B# zOEi=+e8SRo@TeEp#uGr=&YP+dsQVLTKO@YuAHE;6Lv$1c$jcm!_^PNKV84(Vxn!{o z?Yqk4%4}G}lS*J5yJnUs@ET{i*K}DxeS_o$&Bflvu~WL3+Ps z6TW)6-ve1%gLD3AFBvA@4DG#aNRCJr|2e|F^w}mJbe^43>Fe?$o1|)D@*SD>^ z*B6-#%Jj)2ea=a`@d-gfqGeqs4qs$Oa77eICBfn?ehOOtUKAzV9JsHr#Q6z#Dt-&n z?o<_s{#>`wpYoi$a!s>S;5MVE-`0TkEqu;Cf!FY8i$m9e9XY_KQ_XN1|DLCPn8MRa^IAI^@1{$RSWNe6!Aw4-_Qq=~t3aHeB4T|BdBx;1PSf{QfQm*QDKs)B^4b;WaW#-{Xq{6kIhk% zT(4+kMx@wwu=}i(b2kK9Ua z=4Z9&Zzqk2mz7NOWDNQI5rt}E(wj;^m0Mt=60)(%~BD$RC}_@4H8AWsef`QeB%QBbjrYK!vsBoV%zIHJOsE=q+J301oAgi=QbPU5;(_}n8Z%2P^Os-mC< zS0swL*+F9+R)LDLw46c{TUrwFO;YTl8-1Q!aVS9Q58l6%nzdBG&iNC^rBL!tbBa6AGhybO2q>c=V zF?olAavfNfXxlng)@s;tkt`m|Xqzh&8VMap35q-0Jl%# zvh*r^<|trw@x&_kXJIt5$zzdMx7pQDwx?5FFJsb0qHc#`4DnOA7UzMhd>7zg9{lO? ze9$028WQ(r=j|h{1t2%I8GwGqBr&tWtDail(u#P3g`3mr4>#wv#rO8@at>U$26keh zwb~uJ(fserKfG7z!u{nIrYt$^z1p7b+tIkbV0L30N{8aaTIyIlbbzh(rwpaqP8gj& z+B?j0H5M*8T0G{lqf(vX@67SPr^FR{3c>5k&(3{B&q$9w${=9Rp&@b?Xf7twvdVfQ7~Fy~^_+ywVV-v)M3hF@2wk+g6ozV|oEptV zM(!iyPafA=OfDfW^d&HZLuYv+J>O>2bU}0y8&W>=l63Fr z%lweC$(yQuB5~J|S@_0pd;tF+q}3xuz|AXhfAZ!&AKr#0S@Qfzc>WUo4}@O9=EE=6 zW#2K~)diZiiB^bNl^G)8{CWY zA-@Rg5UrrDJEwZJlf3z8;}gdLXOf!L=K81~4gSq3GGjod1`y0;COl3jvo&o%!EDnF zqB#=NXa9oJ0hxEC5$6{8KCYpJfS;^%Rx8s7t~7h^duVnIGaD6@WfWtM;SXqLy#eWY zp>O0Md+YxcTVA+XPCf97|48jk{T-rR8ynK7^&+w4M>Z^mvY>Msl})KQNvP4b#+#2T zZGtIP^At_XoK1v6(r)W+a-&IbV5{W2S%7%XoJn|eO-*G$Q$>0_F}E34-}@!~z@93GFe48w|Kn4H(M61h1qDj<{w zI4Is@R=^Td`dMZ1P`}+Ji`mm_y@cy7_N}{bY-8sYf#S2cZ6Rbx>RPQW7T6eLs4E`J z)co%}kj!TtcNw{u;0gT9H9VXMr47-zY|=DowfK7l724!>VkJgcT>MmlqlZEyd4076 z9zOdQYTd`*gz0JVmVH6YK!i|%6fec&8=b*HZr@L*pxoiGpKH|~A;{)DMH!FQ z-|ptx@od^iV4J~OA8_)Gh@Zs3p=Qgzjf$#iB!M|DZ@IXR2|TgUtxxf{Nc4_Kx1{dV z^LmAWLpmdrN7utxDbi6pAgS%|3sN?h6xc4m!~s-eN7*0wks@#C2EM9qV)E+ElbbkD zv-0RekZZ%_&&Y9bC(kHEm-wf^iL;Duc5-w22VQLc{us~vs#JNb=XGBbLytJCx5&s9OSJcRio!LQ%^SiI1MBI69y{r^Rlr!)65I3N$vle|V>yl>7(83FXQT@v( z$W+qwz=^wdP1d0Kqx|luDQz^3f$HLBils!++{KpRAZhXFo@gtcLx&7yEnwa0s}x*u z8%J0#=sH_$>OS|UjMc7rzwtE-_qR!0HXyv<73G~b*TUJg@xFaGb`;Kgd+^7nle(oAcb)pU@%qnScwtCV{>nqj%f1M)(f5Oa z=5h>Z`>(x?kM_zDx%>;t%PKVy`H_re5(2n8{MN9@m@r1tl!F`z6vSqpVn2z3Gfho( z$%KPWvGbw$1ZZlmm&P__1{@PnCZjS~w?r2DWi2A#AO$HV&A>WdiB>m3&=&n0H?|}D z>kO4h#Z@XAQo>c$k9P`fM&ccV2b2q^+r{J=kIKvGI{fSt2~A=3e}Tdqf}13!d3vFK z216irU@p2s8>1{i|NIs|GLaueBLrEC_oKw~z`&$}GY3H2eQS>6Q+F})`};LbeP4E<^QQ7&t=nE_27mon;=qfr7)j%Nj*(Pq-u zi{1PQ(hL_-HbMno<D*c|6@@AB^xg|zc0%i!}4DjZFOhZ~!!E{JHaDV*z<@!alZ2W?4Vn3DId=emj-ZZK)e zFlXb3$hr@uGU9@6d#Xb?Vow)#@w9c~WFgo3-NZw?s%Lsm&TAWS0itR?Gqh9k++zj* zAbmuISa7|sYn~a#fwESVk@3FBW)bQo(WT??5>e4!djBG=yZu@Z*}!;Q`y8J`btK+C z%AcjOpGvpF|Dz(IL!a7fi(4UcTWGA2@=&)jGUjvk=eo@LH_1V+AA;FTl zypX7;2L}^-L@IQLLsHa2y!K(y(US0q@@L){^!Uv!$@&f?uMGp#IzlIt=L$`(tFpn8PvkaUoF zKn$KdGvdKPPkvqPqQ~NJwJn;y5vshp>@t=b+9JP9;t2=rl^#_FhhRX^VrJLlMHcx* z6U#K@cQk_GyVU!rR}EAm`z%4{dCC{jMAK=Sv^WwS^W8>#NA1*O(~GYv^$@u`^$$3% zJJsA)>n@gz6n#fVR7-xoulFEZZw6ZB$R1SLws=i!DE$uEi%70H>Trk*bVt>s9CzcZ z;gUgniJ(S(D@&FOK8Ol9y(tw8R$`wKz=fr4>yPT_Z(YN~!vx3V760Sdyu+#YX$9)e z*sm}>wu5ctiCw7IabYT9=#=K3bV}SU|Y#3}?e(q*rsU3AbS#*yV-OG$*Tsd#&%(K)p(5Z9+`Hc~vw>y~s0dnd2Rs6d=+| z#RX`JRhcOXE_p4&eChFa%u6G{lZZ+f_tIF4FwlcvK#Ac*0%47Z`Ph46gpfExCx1*D{N=8PRSPK-IHFQdeKgK5G*`k`ifUY@2p%I*5K_Wjx z=U2SGWevWSE{;!Z~$SGSnV8@fo`Pbb4aXS@oNan!!50F$$`3N@QP=smYQAk zJ|hYItn5D82l9IBDCYHQGUmjN@RN~u-pXGix4-yy#}zeW>`mISPgfU;Dl->WyxyK3{0Fqfv6&ai;F41V5Wt_i4a3t zctNTLXi*nHALOZjDO+=0CDuEq-^N(aNDy-*$t~MCj>BSgF(AtlPjXCL$VZ0Tu~!3G zu}feykb!$NgDb*%wP)m8mtyGT3oABP=Ni~{MB_&s341vEE~!=iKBq{T5nw8|RQR8& zmhu{QcFo+fN8M81-ggL2V7Xp~DH4Gc#1BsOaXrN(o4MN%&lw5rS*iUFuNM^>rtxO^ zPm%x4Vw(il9rCRD3DmFG^bM`ELWzgBsL>RX=&N?J(*r~u}MM|wN9`} zMG$69Ie}l)xjq;>Fsgkik{2TV95-d0sPTX^(Y(gS8<-9-@QW*Xr!eCVOrt2NAI54m zr3;Frr;z9v80ay+5|g}knHpO7Rmxr;-G24`Rn~LsKO8fX(cnM;IhoEsoliLekQ1p$ zlxVY-;VexU(52w_G-VDH+c0M|Co~!GgWBgXQYkdqUSNXwWbNK;*64zA=VjIxR$3P# z&w7QmFz@cP&Y|~Z^TNTrFFu?7sE9qAAwOkKJdHp)-Il;%zruc+0)fNhJQ#tIlfOfr zeXVU7zpyv9%yw{Ig}SHkouTXBblbN#*-Rx7_2^F&^b0mM@ZwzJ$)_x=G(a=DN|Iky z<#6r~6nB}|)wi%ldU~19&VypBB^J94wLl55Z zs^mkA(0O!JC#3{Kt9j2%iZA#80l9Oo72Ss9vwQmT3tL=@?>@11@xQzVG z%e%9h8Rdy5@ls#Mv;CkG>qZ*kT-)| z7+fnFRiKc__>v^&R$>zixtg?8nW^#>A*=fRp-LW_9!Cz7P+{GdhXS);4wy|ACX4{l z?+l^CV`EQB{cIt5ovjeU8K;#zPJ?pfvSI*M`p%x?{S2agRaQBzRodtuBpnoFRQS}4 z=FI#H(ybBu+)vOQ6r2?yh>sal}|OPFHf zYx=-ZNK{vnQ*N>5xoA4F5huExt;mz1Z;)SE?G1#q9@sK0@`eH6qjaSV33u)t=jE1ao z=mJ)kDnk5-B=iXntzdoBD;qVjLW(h8j<)(1ygKF|-MNDw8PFL_;z z5kl&?N+8XL`5+AN*`7<*W37t(gQNixnDH6E$`yV_T84RRnJdvR8a^i@A|D-DcbOfk z+V2;j_4bd1=7s%3dOw_u)yHRgb|`G%(C&AV>k1i(@*So@A`xX?uig;?N=9V z<4nFvd8cQ&kW|*)Nn5Ws&Q!8z5pSERisvUZhdTyaI8tY3vKC}WnPY!)_H6}uG#EF| zhID-?PHD$SU1S;xXq;BtZJG|)v5J^Fm;*# zgpVldH%FLbDfAKxjO*+81NDJ|)ZkT8H{fGjVu9j95hVJ0ckQ zXt_|l7NM=PJ$10C0PS9~9ZPl|i58w1o{Y!sb{=0}-m3!tSsN%ez+A)hCH0{+e2(xZ z^bXsZ7ovZsSnVl{bFyBmY3qhzhVY@>_V(!h3xd%8I9VC9f#&a~SfEp^89%e}5y#uxbZ$)JtJtIigAIM_)Xi52<_<_H~ zx?yOEp7w6#g%@vCna3_z3BktFCzp^7v{p$G8aV36dq&2-*@39rbGRO3pN_xJZQc0_ z^1qN%c1mmD+;pZZ0>wg2Hq_fgA~;ec)RT1O>+Y!Q2DItCPTwc4 zGRjEbBkBbx#q8LXLUuOf2t&Juz&>mz&Y79;-CfX3H&!;!%ZiMj+*PsH{LZ;;wfsEe zahKNyy4HN1!kP=>tEMA+E7>St8EoxSsy{BQAG=+*29l@;Qn8z97(Kpf30#$RhC9J2 zG$X#41(0v303671`-K=RJ@n1!6)3UT2h5O{{`MMzwt~+GBWT5mskC^OXeCVhTp-d{ zxry23J-2o#g4$M*)!qeypSKq%nQukE)HfR~*Gw~|bX#cJ4;_XQYfvRb?4zQh^!+B7 zunlHm=^^?86o4x9jvs+9jz0{`aRVk3f)EFRqg6LwmQQD=q4XSayaMb?@Z?&oG<+># zGI7}GnmVd&&w+^_;P|!Ml`A`O_Zi@ z6;G2v4NHOayOx1GJ4I{S`=&z{_W1VpbuaUjFIh&MxTBoJ{!-jqzpG6scBnfV1S_*? zc3@B&S1}6_s#vgCa%%YxXLt=c0j6IC0TM`c*(Qh}!dJMkj?0Y=mKig7jz}lTeRZBC zqrBpEN0*!sw{$zS$)xs8tnGGE`t1;2^Uvp$6-*c5d_lKOge1}N$n`K8ljBf#N_LfR z9BEHZzlm~n+ID^%93TG!O(cjnD7x^f?yrxtr$*%NRa56Qw^XPGj4*DgrT0rcbsz0+ zIZvpUQ`X$f-$sv|Rl@Wu#=`8{v9qp~WqfzudD;2|34aGDJ&MrMGySYD$2d{$_G&kl zL4waC)eBs37B?A0SYF0Ix*RBZWTVawp@*7gJJcwG64HD8=GQeJj^a#-TsMj=q1XJ) zimrB{?`sY{O(ApcSHgb7%t=Zg2Pk6JUvVQjE}3ce9mKE?tU3trNo)#zV$41fTZ#Eo0Q1hzrX=q&i62{r8W`}15jGG z;m6E#9shkeGGSrT!W*UJ*b+AJpQ zttEDa6?&Ou)n%D3IwYi{$hS<1ibdou|L*0GFsLtZpj#q(!*boDjRqMuB1rSev1$Pe`? zPq3*e^1NBdyZ7H3Cp7@qy#JU*5JGTs7#WW?QEBABuClru$ry_x-WKwIqy`}LOATtqlrdy zK^;4Po%Ef@Ps!5RC*BlZ=_$j{!A>MpsrlFe3Wg1;j&0t3889kz_t;4iI%glGcOv=@ zYLK_NRGvCM&=Bn~#RWL8p-@DMIcXYsqSh;JF71fa>*}l7HIg_gWG8p|0+}}2V-%w~ zzDlF~x%s+gqN7D!u1pLZKas@jlMpy>CsL}~HYY(X&&tFv76yEE@RvL{L`OX91 zg9g%0ksN0f_cU?tv!Un*af zrhUsPiy8TJj3gF$DGwT;Ql#(XQKwBY2Z>Vr95~Zyy$~uIk6S7eCaVchk^jdgtD1Z$ zl!?AqFhz!Eltwn$tOz;VkQ*7P$Sipnr0{UX(nzt1Jrp22oNTUyPHXqr+|{Ygj)8X6DffA=0p z7EEtG%VSIi3j?P}0`by3j9X4#c`4nznFgIDY4m8!;ZVovDg4O z@egWNPi{eydWYA7*c}d)`y$`6wtUTX3lPKg)CjfN$vmuIP%)Co#52+ieqW_a**!f(s?)6v}C7LLVRO;Co3)`kX-5{C7 z%=+v~qKy)?anH2CmA?Iwa4V|s17Yl$6%*CkA|Z|8_uL49J!PV%HDOcewEZ|sjzYbn z5KB&<;F3Y9ivV&9*RkFXPTPt_bGag?v_M(P-Ein>uFV4pp(N63}!|F>U}|lh&8|^5lB%V${^g zcC7;9D`W74ocCX2s&g#?7}LSGEaZ?>D9zYC1D z$#N_V((=yvr8+w=e)Rgd&4Xa5RqFR8Kw39PAkcz7#+Yz!@P^QUasHcS6IQFQn25!8 zAc&0AP&{`bjHfB7oY|!&d{{-Brc=dR?>9dxuItkkKTEch?lu&>7_L1Xg&_@&=}ExW z7WD+PgzNw)=W!SB|L&q$wlZT8gNXutHbbPH&KeWC!Ph`O!X4x+BCXFD|8^1K6 z++k6Y^(WH)gYd8bw5WV)3bq%SNbN{5SPQ~D=nXcB;aLKSIdmx#yHO!Z-yvs54Fg?7 zyN{B1@AIPnMY7rfN|OZ+*pqa+aR2#l&_Wz@jYd`Ky+ltw1LoUyJ_9}jE>?xD4TZO2lJ7Z%W&T9p1SkO(s~eD%v;@obwtRn!~v)3gIB`Q}?8~Az>Ac z2G1L4Xi&zs`MPT5-M)HDs)jz$NBM+V@e)_XT6AV+I;LdIoQBw^K{9}y6XD=g;dA;n zSVyUBwS)Ejy3E{lst(o#xoD-c({Vf-@_$l+}u&!x&{I$qzK z83jw)*fb3pM2$| z1+CZtwzf6MZ#B)4Nqu%uN=qW^GbI$A6&U$e*vx2bqRk{KUUS*{WX_R+(}em~1JXsO zMoDP*4Q3C$a1W|T91HmzL7<_fyiM+sI`C!JcRUYei$7P9dN{PS+Ea}$F5gYDx24n= z6*iMJstNqsZo6MX1%KJtjlQdUTdlOc31JT5v(A*`}+|Ns?b~%4IPEkW# zFxY$u*V56p9>y*$E|05_!z<)l@FdaZXrh#B8XYaq57^luvSc~w{kxf8%fCkg&FQE= zV7`pv+)tuG1J$<2(PU$NJ(B#k-UZbeaTcDxas|th3eKrG;MWGXot=w)nn~=Lgul?E z*&_Yulaa5I7?a*G*yV!mP0<1YQ>sG)ln$%>JwCpO>p{d)+IUdlfZS$U>bWmjLz+va zFreZo8q!N-TD1G?A0?8SW>gsyD72`Yt1#=7TSn8=3J@>r2F`H}ThmIdS8$H3_L@c8 z$ovqFl&GOOMwA=xra12+$1{`)bPvF!KfoG=0vrRzZ@0Dnhkjl*Iq?kkqvS;v6b~MU zZytx)`e2gZ*OX56<85e1LqnYrPFkCJYCRg&w$O-MT~wwGxQ9I2qBKetPWDvmH6%#X zKLlOEb$pZgnHsZXVi<<0c?UakGdSaiIiINDx}!~&_~w()QPYavk{(9trg{^Kw5s{y zQq=OW8`C7EkTPDOkmjEiIU;7z-YV{2*(_NLRlo!Z6*wrMkq(2L<0zIuU4g+sp@vhH z5N4E7M0uOEt$O|nAgccm{b}X-D*R20pW1ihAnp>37rb!|C?g4>#v{B>JFm!;%3MyS zx1UYQp^ul@A#6Mf3!OKhtExf{@901)YxD@&gjBjcHa0LHEDu&0dEz|ugP6=Cn|82s z-~)uv`F%k}>_z>lh>(9+p+pR`lY2$E&o)&aAwL3{49|Q~?3zoUxE!z?>GC{EUURN* z2Yl1j)L}3fbiyx#8sGtTl&E6=Jaw<@eJ!>CBx(-M8Pqp#M>y;s^W*=it>h*yS7c4T zoexWYy;@x{M(me}-Al+%h;mf_*^yc+cWx{32~94p4$5ecNg0I`r_>@Qaxn+8ofRS} z>mhBQ-X0tIOWK~~$@_&^deo2^P#`*q)_WHd%@ACYjyk z6TVayPEhzlbG0+HZ>~AAih1jz^69RxS9ggii}^W9@7E%dQqI7)v=$_^W>bj$qYEVN zH%ci7L>|Tz%C8D~__TGsl~(k58$Octq*|0m zJdOQ!;Dwqt18D8?8JWOzGb_+5>v=1Y$PDd(sou{;tCLv=gj)mm224|oIaB7E-n3JX zBXb3xX{*G9hyZ$%y?xq0vJW#4bL32?@2d>3$2FjOEB_j5A?Da|!>(J!{@-5|=qm>- z;$CA1`i&ZsDt70zd3a_I8OQuz5S*I2iMf9<42TqJ-0La;y`!8Z-ZU`Q!3mG& z&>;G~lvXYf7n^ghv}HWQC^B<-n5nC^lGr?dIaP@}I?|QWZ22y0YWt)Qf#46alS<$JIYhg@-kfH3BhpJ|D6JjygzuT3yw|c*jxyx=QdXUMW|1`u_2t zRbbAFrcB6Wt1i+DO;o0NiS$9k*LpZ@vy-M3n_kG(R=|vyha)2+mE8+I#!*}7xYyJ! z30B8a8s1)EX_SQQ4;vF1`8EG=>|f8A`d%{)3kKkQ(Eh_;97-w}law*RXKazd$Y+p2 z{>DrDNVapi^=~)HU7=F`XiZ~`vG^m=A#DnaLr=Ws)UHifnSa8TIaj@uBBTPd8fWr8m!=~yVA_NqMyD09jOPsH7f~tOX}OF=IA!XSJ)2i zuB75=A;y`zEwzt|ajw@KJALX!ZQcXx$@-N`{Tf5khe)uKGW=g(o$%mIXYeohdMHX! zv0jpy_vtgZ^YZ=QyPt22;j<_m0y5lLFDHOUMk^pvjn`dVIh7~NAC_#f&|7IWUxx!5 z8@D1UY7C*FsE%J4Jhr*A@kiU$iJXdI`IMp0>ByDu>0?HWs+_uU$DycB9*8GD`T-=`c4Pfs_Hz)4U)(lO>T0rMvh*s^D zA_8gt6uBftz^>jM?(k(4Hm3y?y5v0br#zm3aO|8nVF7%LR*tChKzUC3-ig`ZCu&{XmC!Rk>xFV_tzqD{t&hExx6plw#)d z!f=)HP|7!3c}^V0V?M`u(qng`!%pD^vlpc7R$$+&X>H#|l6>!Qg;y_m81kghghaGb z(R_70ox{Ts^%@>+8wX{zH6@h}uiO&vEW*6f>P?M)OT$%MKWCdtZ0Nw1!mYA$c-+9_ zX~V%gzw9wf zD#bfWU40_btM5MZ7fLa`ER4Bu$ul}ymH!}jxjdAl=d@~!*?--K|I3TieLI&C z)mUp2+~xt2mmZI`M`T7>|7#?EL$OQjgjrGtrt zm&j@z6SeQ|@yAeq3-MGITF8X!z_P2W?dGSDd^$P?|3RXA1`bXOqar2TY&YgU@R{ty z-^1L@M5&I$7&|D*pokteFohVpivYrZr3@NM`6`HE4)k(Ug39d8_7^)WDu-N57KM^I%BeuvoJKZKuC+}t8K<*KAlJM9fOD}8r60cZMEv_C@%q9GX#!?R^3NAK=yT>{Es)L*};c733?A{u~7C#VdU zWy#ViJ`bbUVE;goM+r+XHXb$3m($9~1Y#-rCRu|z>3j@wA(thiDDHf;?4zTn16HfmiS&iBw)w>T* z!YLdIvXxFyQ+32g-hTmQM$`PBCouj$biD;sTuZYy3EySqyW?(Xg| z41)y^5Zv88c+dom5IO&bbI!f*UH|*-oi*LNcF!!by1Tl%y6SoO^dmWc9I@-S@w~(= zj1HAbQ$A(#MtT@O+EbKT-B12Gpi`1DxFoM@y}OU9v{>vdg6|x|i~(Zu(?GDI%xIM6 zs(5&f5^;RX+&iN`h0R|G9RI}FX$$?6BUO&T9HBy6PqQFjS z{;FvMSAp^NCoWsG8$|CV)^Ts`bLCq;sG{s)(Dj58-=3cGHQHYaTB(Uc)e; zi(`t<^PYHvCSOHl=?ayfg?UEV$p%+fOm_dpPap8Z@^pYx&uE&gh!^ij?za=xmP#u# zJ+(1cJmz~ILq(}#oMr(FJg?1&mSbz9tgKW=YF+~a{Zhg5FoM05a>`U06XPf!z0VZ2 zahv#mgR%gyEJq!|Bi z$1af|bva3P!#KKwNa|xzhl_6#hRWWrX53cNN>5lgmC&jhTYUC>?%pMq`Zs>H+4wQ5 zZkY$xfKSOjXcKI=%Y2Zh{)H9yBM?^y*lSIyzGdE@FK`P<*BnRMEVnp?=Pyge-%(=w z#3G3uMdJ3qLa_XpQotg%0Awsv+EWiPdi?NrCg-)mkChL0!ejtf-M6u${feT=nAbQ$ zw99AQgMl$kulH(ZPNLCOdL3sGS8riR)C%`dmS8(g{m5(R#cxFBdE}h!+ceZTy~Lb>se;z@g<@_MO<0)@;7j& z8xZZ|!QwV4PR4!@*b!WnK}U%>20|kMf~@!W<_K>o z8pe_~u6yss)HbT;P}G1UAVjIJuXhO6ReOOhbE{-;zaQqN6cJaH*-HC>Muxs8CvA<7^Z_(5-NRB+-BFX{dy|N@x5))SePsJHAPN8!?7tLAp zc1AcXe;vVQogZ&!G>Nhzp&oPOIdzDF369~{jA;lSEDly{VT?DsGDUfQ0e0aya0p=; zp-pPDzbSaeByE#knyA#nZU4Ya*E0SoXF*{#9UomsgBJ)0WGlL2|3}5>Gk$Q@HTh&M zRIwK6Bj2F;jVK=cMLVSCXI$zJ>BvC1hOgW#7)yP_d|Q3je4m%eSxKB_65)9SZ&E;; zR0ON=EVL@a`qbEhi%sd;yGx6mNiHf!U$fZ4RbFw>+bH_vC6gZDG`{q8!n+k?nV^{C zNaY;JHM5mX3AKFBLK&i%SsY%lU|Bp_rr~RnHkE%;;QcwS_CZfiazLapu>q^aZqn@t zKO^la4&2|XS)k40)_r*=SDmG2yu5cPgS3Sa)B+{q#C zd#~_(n$Sl;`=w5RIjYQ6l{nIq7*7Dje1DkKf#|YF_|n>prSgqI4Bkf#tx!vP!AB)> zIOgq)fV;hA300q!a0288QgZ^v%_xgq`r5K88-bJ&qQulb5GJvDP~&PA>O=kM_eD#= zu|uVr-g>7Vik`ax-dqnZH>ntvi6%XoiM}vMZ{}p`3Zk$L1WTK* zE1w;LW!Q`W!IJEJn>434jFLalhK-Np zhNlQMaJ~ZUklWP^yI7&Jj?B^fFPtR>{(>1)LiuOd)MOYJMs;V8@su(wj5v|Qrfl@K z^zol&44a($$gU%wGXI?W$84DU#E~o=dGznFDM?HsgkfuF$o*{JDKzyoXn4AyNW2SO zjnL*On<+yy`vj7Nb2(NlcVE4qPSJk=+)ooC)<-I7JP;qey>qy=(jva#uiT?O-hwO zJfuIG9~oZ$@ zYMCt|&w@hr~ryJZAk?`cs8|RKSk!Bx|^_S{#*CPv~SRE8#2~m0kf$6=f4h&v`z_GqJGVAOrTsN0!!|uIljCtfP*b#6aWS~jf~3J= z13diRBz%*3lg`m$bENX{6@!9gg-;ps=rMwLzy->sDE>{}ec~TaB-+$H!Q!rWb#II( zuRk3UB|D$T-%$3Yq+ryIRI*i9@ASxYxM8zz4J-Nol0{QbbM!i1-p^_g#S?o6EUnU= z9It(UL9?;|U>dtwzVo!VKvsZ!4J-m8#8%1;U7A;tYHG+NZqTn5yyI9$Q2iKQ|Ld`2 zUR!+;H;!Sd^soy7Z}+=?jwAm5dS7?kln_prg7Ff92;R+EqQX?Y9cq}=V=P#7+Caze zWUu1u0<-8e*_%tXe8Dcn$blLDp9`=eUMTPS089oC%h1|Y4*VytLeJEog8QJ9LtS@-c8jwzE^2O#N@9brYR3LWP~fgxsv{+q5O^!9i4N!Me zOYIkhC&h0@T%zziiDPNk_WE7mk4Y=K1=^P;Ah~T_s_z^=uEUa9CNtwrUEdruEmep!^;l+4Jx}$J$?N zaYH0Qp&@D*;cZFmFsK;VYhk2R;{I&PZ7BT;0>Nb%>niRpli6Qgwc4Vy4h+@32z1GR zbTa*JRZ{nQN%Rf3Y#dUZ>`=1%76I4C=xNIB0y$DJnKWh38;1iK9N*MDW+Q;zVWW2mw2Acijk|ypcP1U`_obnpM=Yt8>T5 zU#zbQgMQ!|I$z2N);oN(G&)iaj&t*1|BT-|2(h-hs$qKpFd^dod9Z|dCF&X?@EXrJ ztzwARS;5j0~ejAs)e6CPcpdvFPQF^{U^H74WKD$?4&A1ioziz z_)_o84P>>D$LP*vS4`Tk&4gZZZ=~b`~&*FO(PhD-9D=t|PTr=zQNjZVG zhuu-IzugDT0dY&~ISuKsdyU6AV57Fz-@9E%Z%Oer_*9<%J;OCx>~vYbh6Geu13+HX zZC~p3cTYNSPk~wz5+xH9oTK#Fjm5gi^2+FHoV$)m(g`R)SsvF``zm>9$XYuqNV8+^ zRm|;mb0b(-Xrsk3$9IZU6bsj}AB|ln6dx(=V|Y_6sXBaY7`qZ!l7DUE6>ri5x->B; zZiR;?V2e1uP&A_p0}Mpqhson%;&UJ|cw2S=v#_d1Kc|j2;*T6!U6I4~lau+`(+qq# z^8fjJVQo56`Vn~Amt_m#HK?000Wn^YXQE+dg-xiUqDrg-$iM_&;IO37N2A#@ovd)y zrP?{4D**JqCVQe{lZ^2^WCzVP*b3-ZQ2<*q!VjXWgU?W2HqGN%PhXX)vXuPCw1c5* z+RJ#8#EM^o%vZV!U*XG_fe)@+)v-S&|!yOsrtS<`ZHl#!M_*Y`#rHVz+9vFU{1S2 z1~_oQ(~TH^xOgs3rgn^f9h4N5>SvHWl0?6QsRqZl$SWo-E>D=6P{x!NlV3Q+X|DA3 zl}$H(<#ieoeN0CFiOUcePA)+HzjHd>#`&_DGDx$C)CHS~;rBrdeo#R3)X*$kSAU7t zFgY-!Es~^{o6WqB)%Dm#%H<^Ev{Z>aJ~FNTkn5P_?OlL=PD1JC?bC$bCb?xg1y|@- zGq?3{Xnk7;vzP%HBG9&nnZ+j z^&JXLQin&C?Tn0|=xyDf!R&YA)W7=%bOh|RH#w| zmLaoMramlpV7(%xWL}oLJk3#hdHgilcma5Y4{c>5Y(QYwE#22iJx+(}z zU!7@(3{71Xm-S1qKCkG8PLs=vmMU}D&y&8etg$-NaKcfvFRcAhNZzV)58Mg)oOoYM zp8>d`UZbmAB`w3dvbqJ!qFSUQg}*=5Kkx2q#0%q*js%pD{xRAC>kEgyKmh><9U33% z`d0MHO1bER2J|t?ZJ9N+O!vbviHC4)VG@ITEr zibd(DwihdMhZz!$>g^F1rXU~IyX<%O?>Ng*mB_5=^7+II+a*|xz*<5|xz%p@385nw z9)a7Y9si|L>tI5b; zS3A9EzH=l$te7Z)6l<9F;o_@g^@k5J1I3$Qb(hThQ!I7ircyeeik>$$(pV#aeEtapAGfx znan%U?t*R|Cf;_wwo$p}sM&l;x(4?uf=IG+gz7*bkPxtU&Yos=*DrTG>~W^Yng_re z$NznNHO=~^uB#14h~j`HFu!%@`vMgY?9P74hL#NL{axt3X@-~*e_3`{U(e%S#@b^{ zk686LIrW1FTwM`X5kq%fl{1q2>*o$Md7lO|+X-r~SEL&olhe0c<<2Bu}TlONaPD*zBVnDV z!twBzs#Eq1W&SR&2mj2|@v>~GA@Gk)%Qi@C~LD-M=%W=FcMfCjRj zH4Iay7?yg|x2?Blh{O1;sP+W&?4@!N74A+AzSBmw?C%Ix;uf1)-)2#TEe|tB6IqyB ztNUgPPQ4&iVaXZ}+k-%CYDSo4oEvKvd=7-psy7C8&{wz-B@s*6v(v*svazkn+^J+* z9V#iV{$iBqs=}y6VOp8N;wmHx6qHp>YW-(?e9}Yr-I8WCXUz4(=<808)f_F@Y{%C3EAd6 zu>CQ6%ULjDlKY$R94K&$nu87|NKxEFtr#wIXWJt9ar=1p*Tl3i=`b8B_#8{9u=~vb zv@l|Nq>a%&L0zm3ci(K%rI(K__wb`klSi-|yi)gbj+5Tx`LXfw0YMluO8*D46?1?; zr|CI?r8UYN`1kY(LK)C!^IFH3zOot*3}0bM?Rg7Mei~CpUKXi52D90tr!JZKpLx-t z;h}wo1#OG$42wgW6Ms4?GOXEEsS;9N{tT?*Db-!(Z1AF~ju+(cJq!1(_qtty42Tyc zIdAr8em2(>iyv|l22a2d+#~;K&g=`XF9Yyns|=)j_dJvyYVR1IO@jHn^|C~BdQ*A*kTw& zXnyN#ZbU>dijcA-!4w$*my|eU8RXi~@K(QGb1ZIl^eI@^TFM+A%Br;3T8@x*?lshG z=+{50%4x!c;$K_wyIoIW;z%`XcUV1K8| zov|JA_1r1$u!HVg_yw+yCt@-!b(X=RT7qUStdG75pcWXj+*rl%;Bb{u4Lh6R7sX`z3?a-yzRaREZSjbx)u~m^6jYh82582gu-U%Y(^2O&g=|8FSi4|yrjO8+1GKjdSR>CJvue;XBQ0G3dz3{;upERc5`7F z{lKcXc3ThZn>ea)Ik21MSn(y;Ja!f-XVXInt!j~5U%@DvOJ29UQeZ#Ifs1u@LyvCy`zwA{NBr8Jo z5?|JZ+gfx+%BAH7^IeiA4Ws~$X>PYpeRb>pDAo{<&2OQOufJv zoVc9kBQ6lZgdpgjxP^&=amQ8tnezSXG7M$x4+~>)_i^SQ(`)4GK5PKf)0FN^u1EB; zavz9&{pUitApeT-)J1(#D_og9TiPn!vc+a@b=*vDi=ULOd>VAAJ!mz&vr(k(TvWWv z$``widu}sL=8zJY

      3Je@)OVwkiRS|#!d-*SZA%QdC(*u1Pp6$GG`*H^|mo%LKw zzr2vG*f=+9Sw1CQuS4)`<4TmPYY{H7F6v}gtY2T?s+zN!XuX0^ztJxdm7&!hrS*i# zuCwL){BhDo!b1x&^I_ zL@Z9nC@|y+I?Y9PMuiHejn~O>c?DYARr??~EN)3ZW3dDFOw7;&;krz{#`?*$LfVJ~ zH=tvUqa`&?XKjA5ZK#PENuIh)9_peJ!n_u{Hr{JF9RBg(P zp6`A#+MWu^bMs>VY|}g2(Utv;Yxm?oMAJ0^MNusPYqgfbx&KbQ9?$xZHpe^1m6H|7 z3_#_&+Q<(zbuo-)HaxWER8g3vcDcz4wlO2t8`Z%a&NpfECYmZ#+PTS!MfpBNtO=<8 zsbfI#5fhX?W#3JL{`^Y9sP^EO zB7AGnlIC2gg8Qz3KR=VwRCcuP{(H6kt3Yz8NJN>@D4)2taN9KCfHNe1Pn9i9b0Ib? zXnVD{ssU2zjnP^Cb>3Q>8_r90a#8p15S?@&Lh7jwOl<{>NmG$$wIKPtO|*WHX8?RV z;Xt7Ei-aM-h;sBI+PC9PGJmJSk*44Bj^|v-~B{Mf8sMW&R0?^b7+qzJ* zBL_T-+*iO;MyWv!v7PeZS;So=P?UsNoM*x=sCp~gl=`b?9pT1tE$mS6PO9f?$^K&0 ztl+C0x&VODjf(g?M+koGWBi-aiZe&QvI!`O6gxa=6FRz~qzYv_;ehH@o4%I{jND=@ zJZW=eM3CWyjIv0O$G04L970J2$ZA9C1A?L2 z%&6lexi*XJ)EVk4#F;z}Ue$}Pkque`oe6Q|=9M1qgwDz6uu9(qyT-|T#wEW`KwS&c zR~gaiqN0b31Bf7c^P&SIj8mJIZ5K6Uz}zoxvwnKBiFA`*G-^q zms2-V)$~#d_LcbePi(k1-cuCGZ7XTHz5?az2k|Ky71fv{BR7tbUjgK7Al&DnIS`Ex zR&G%dNT;KAHf?_`#Rx?noTU}A%}_^S^DMhp&J6w9_97=XB-62Q)0Q>04UbHNmP>aI zc3dE;zVtTP&+r|+4(S|2D5gs}nCYL67K@=iL*1(mgd<0JQu%pXj^CM!+8e|3PLYab zG@Q9<)bj<+2M}DcF?PD6egQz18xgXlRe_Cs*h~Msm&kv^#nJ z+6W(}k4f`zjD%l*`|l2apK*saa>IDR+%|v!K!>3nifzg(g{evvK;^TI z4y#NRY$p~Ra$>)AimLZ%y;Y~`%#u1_$OA9(W=ZrZ#Y#`c0lZ0Hr_Lo2aRfo(RH-Dc z!vU(orC?0Ae1)>wVvv*JC&N!_!&Od&ODE~nW*S#~`E}*~LwJbgjGUL*?d5U~t}j?= zi|tG35~KMQ9<|VY1Sz+<0etV*nSXXo|6S4jG2W2LH%M{={`9A8n1kyjeKRf9?B@(B zno$xIsK2}IzH$vpksQcH$yRZ3amm*KF&XZk5UI`T*mP8el=j*ZC3~$W3TXd$) zHX+O{N@4QBI8u=|e_I}@TNUu2boZF`X@zy}T(3l@Q4DMvqSf>GEIxl0*Zm_7 z(g{>d)a~Qv#FC`CmXDIhdMDBw;BRV5m=o2BaJ(N7q?Z!~6n{&OXG~33j<23RW=xI$ zsR55baH=v;%2 z_PXLuc&QSMF2^fY_!w1UV&&lQ47UzLiDB3||Gt?F zh|?-H3n_i22d~J$Zq#VZij!n!@fvi+w%c9)Dvw^9EY~z;W0rR?_vp+!xEiE1RE$tu> z$_4;{ZC;X72au3H(N{f@kV3M&ie^Ex=jXrppPmXKzaLCPDK6(SOMbwrkQ2rRUE3+R zp%5q6HYO8n2v!_2Jjmjj$DnJrV(wkfy>s-_Dh`dIo@Wdsi>Z3D)HnN3EFNLx%QPuB zEISvEmhKTkW#!(u)Rt6M2a>$iq^w|4pKqLz2@TKJ2~96-{$iKK9}?@08>{_m#wVp*675wIoVv3Q{W0yzS${%X-=lB>6) zu~@o7@qmGngB>RxtSAqFe}FX|=*%dUUkY6XsGgpnWaY`ydpOg~Ge})%2APS^lZg%q zY*Xv8iIeLF^jYD*=ib;UM{0@Z=D=t5cAoKBF1gOrs;j|q0C2e#F9=2wtcYO17FMQv zd~5(oZwB7rq5wub5d3A%SR0j%YCY0o>8;XAByHJX*z>i?Y4f2z<&s34XfPSFpyy8J_bHNDzD-NBTYEaiS_ zWeQDGE}D^Q0o++JVNTN*s#FEg%0UO^Qc+g1v);N?7}>9GB=|=G2c!r1JyIR9pc@ok z4vhCJLc8GA2epnmAAnt36RtMMj5Wbu5JLLODgUIa;s5#J3*;2cm=7nKR`+LlK2gm7 zeYM#DOo;zp!GH|%`}hAH8S{2h0U}gh0Gn;QJYTZHEpdd6yQXw>=O&ea2;TwImZgmc zU5)~YB*{!h;og#O9uiFG9@(ZfJM0T8RZMrJI1&`6s;2gZE3(Z`sqB7{YYK)i!pe9{ z%&_Pc+I*3okDGb4tsC7($kkGUhLQ{KrP$c1^!FL^I)F_(^}IDQss@l|Dw8o9$c$cx z%;2wtJD3RIaVw|-nB5(*Fnu~yU)c8R>N(csaTCgu##r*mCLMM+Y|`y=CSc%@`euT7 zmH`N#lj3qg3944?oKgAsU+?(Zrn5)~g5w!+0($px2E1Imn z4MtDw4-2&l%WJL85N%LGQ70`I8}o zAp@#Pf=aC{%Z5U`7PN3mW=f`3UWii-E7`JD>FI9wWZtUQ!=RpLMTNowBq3RVk4eTF z4jsWBWh3l~!x@{n)fm5&m8MC3Y9(ah7t3ETZ}duH-g6&o9Bc=t&P5$i+!HT!FK%EU z-bxPmAkR!2PV5MfE&#f2mgH`WjDm!+ndFUD5fFEYyc-@mwBI5R8vWa`h$8cGj-~(|x99sKRLh$-xHi}cO zGi@h5F}Y`ZvXNAKl$?o`&ui%UkGY+|Cu2VGH=3TF8B2b;BY2q8{9d5<_|yqNNp206E!CoG_W z;TL0%TB(*b-C*e0Wj*&B_;WEZ(S2#Puxo3uD_%ZZcpsK!z zO*6vr8`dmM^&VcGCihDz)iL%X7IRISp2~fxjH4$RX|2Enzm!OK^imz=y!!>dEMMtuw&!K%*xKB1|)e$Nj@jTQau zQB&F&EsC^cNlDsH*I}&a+F7^bVePffD%JY3~l^MgK6fZZRyj(CPw8+poz z*I^F;??oVd2P%B4pQW}7KGLMD8sI1iKXV0vpKcvFWzw!nX7Tsopa|OR)Cd6PC-bAS zZp#l;7>ErY!~8FY2aT=_=@Z@y)DWHYZogH*49g6q;?YTbUBPh65y`C#fk!sxM>{Xw z+mhB_U`N`dNFl*I)**e?GIGC7>+@XXPJFEDl>sMgU3F^~YB@Q?7=W0J?i#CrAsU(B z8}_*)?FaS)p3Pi0PZsb(T}=nmxn)rP0^I^nZv*aNfiBUJO%~J&HA)7>E{@(S2I;hM z#)$PO5DnUoMF*uvg%n1ESO5}8J>$tmPtSp*=D@1@C-;^C;NAi}U0JP9wN3p0BYS?Z z*GT=R9p(w3O3gMAhw-+sP&y~ie|Q1OQB~e9Ho)cF1%Z^x=`!4Xh!}zjw@Ns}T+sQ# zw{rb9UVO=}MQUUe19GHI!$3}a)U+TQGVt&;a7_Yi?Y4frHGweL*RWi|VTyLYtQ5)a zv1g!|qC7qDYX$m_{wKLpcXFIJ36AT+Af2Dnx3L??x#_pliUGECb!Qh~eR75yuDA!S z56Yy9hJoGbt${WlEg!z%GE8Xfdo)xLE|()+P(te_K^v$1f57OIH5Fj+O7j5t9DI;1 z2ppW$*Xw4*x3n~a{^w#DF@S-%Z$i(lh#QBQ4QbL1&$~kOg`uE}n?td)c$Ur1dSX6S z{S%_e^7H$t^P`iVdm4@C*7@6fvaNIpYJta2I=-|it!09?T82lX+;iODHvXaQWLBsl zB1?-?=*r+(Ua@0Yd^AlS&a(2?S`F1(k{*&YIVr_X6Hc;@S?> zaQ)I)C;avVR|uD^lH% z!~Is2NQvWkcuc`GtG)g&1sHgjfob+s08RemDgA9|<is*A8@^>KwFCs7TLCfOe zfr8?L=KjS40|oGOUI&`e7D@W4<8|KZ+6-dqNPqTk9M#97Og>#B`bP?ICx)X5(Kw29 zpZ1&J@g_~dpH4l=;ruGgfE{=3*gUq%J$xYEoPrsG{FbBpk+vu-CBT9MK#v?_Rxn`5 zGXyIA(C>OALvCi6dif11v*BY161>XI2Z$-D!vzeg(v`*wz=t^1nmW=PkBme6>Bp6d zsM}+_{be%_1ShAo=SXTcKhk&YBUL9%DKBRWRt%m|{Qvem{r{^l5HJ02fn-hT2v%-m zankIv!5$;gd-IE7-!6%6>@5A+xcje?h?ZzK56xv8E+FX%CfCa04xLD02=n|-os4{0 z zE(`5kzpTCzl@w{cZP9P4*AkJ!kwn6ZJ845}=u_(M?CzB8r;=S6L>#~c6za-gryf#q zf`&xoK{FZe&l#1=cGGg37AekxXMzn zoz-R3V&QLh&=GL9nFd<6nO`aK@C>IDODawm4MyIF;N$0OH=S#q-9GAUi{<1;N5?f# z4~B=KmPyB$ppXfoiDQ_WMQ?DU4@G^^e!Hm3&@S3-?WMW6D=`+tUb1YMhy&|Q3lA4N ze}Fd7Zh_{T(>5;Zh}7v}1dw_QMc7*(Tz|7oQVGbsyBB;h&PZ8V8h{Y07;}npRy_c$ zL*fd01k924fRBdfH#P2fbx9>_?c8ER1)m$c@e;YY?h@wW+b;b^KE-0pFNX1yf>y;l z@tLhUGRDmkzM6$mpV?L0*5zAAh$&_oHBKcUkYj7Z*6<=Ma*}VYMFOa%=GpQUK9+!^ z^2tm25BY;-y?Vh6oZg|=&Z_mCTV(zd5GUf4o7 z`Bev*i7QbH9#Kni29C9wceC$GR!d>%1(0LW(yT&Y<$2Pl7jqCVubU$+O;*@HM0#hS zs{Sr7M#!LD3$-iy8;NP)stPg11Oz=*DC_M@1Wr=MV`W`lwwZhumUY&O6~HPZh=#IC z7%HKms`HlB^3d%1lE9%M5WJn|`tALuf9he8Am!08LTbs|5FwlCn=n@0O8+7oZtUD4 zYsDavELt=${DNP^-s_s4=nUQSlvnz3VR=bPNm_3pEY-13K$rD-1x5dYL0$?`TSf|Y z!SF&lm9PhqWlWv~{sr@$BtSoWD?Q(k+{bsvkx;G0DeRnLi@mB}^2$g9mku5-GD+24 z55@H7a&ZR(+)3C(>-o{58+qBHPXuj5kq5O9ai+YEin#yvYJs#X8}>-+{VNRV|{VO21xvG!1`DE6?E1~^2b zN`Jxq)DN-X*93W*2O#nG*Gru+$4w!9gYJ!qzT>KfB%8yf^C=9D6}}RWb)bq_qH7-B zQHR#yc9oUluJAGwz^~amlap9EKV;SZfhBOP~~!tuc~WA zyS&cIDR}JcvAD28q3%npZ{%Z!NDt$6Py-pZ3r%DAS(P*xsmwbx&^(8MNcU-E{#JNaRkgl9sL3T zR`6JyQxXx@#-&du6u_I;y~MkXv4T3-Nz{q6t5wv41;DX$ahe0%>z}M{{(^Dk)YV4U zCdC)IQ;i1YSzcYM?*zh{PM(@@&ri?QzDD=1*J<7etKo6boq0T0NAsGZtX7)XWzY30 zSaP6w9Y7$c37V4?wuz6x3h#!cGk$DvDgqAGcD#%~ca;Ub@-v?AP3r|%jZim8%Y1-@ z?Wl$B;aGtvGfW^W(s*U2zN^9U*z0NY2Ruyz2(rL;pLU6Fsh;LCe*Xudq{1P_mO1mU${@g5sD&+A7ia2O$1`!BlIsmm$NwLOK71V9aje0=N1x z{p&A2OCheh!BN5dK;HfYu;|cIuj`}`qhLo+?HhpeFRegO`80)v-xM(<;_Jm6(-;AU zv;z}z0a(7w3|4sYNC@G&;EWhZ&a^9o{8X~5q+I~?3`G?8{C35?^==Hq{X}sh#H5ZS zq8RJ7;Y!sMkkQ8Gj;%8NmMWY$cDWTMc;&15FpF{Fx1OEpr8kf>mI0m)4Z|>1pIJ3N z8RwT_wUq=IFxz(g0=p^N!)t=cP6g6Qi&HQ7ZdSAvPls<#*1#$yJ(%*w|zLY(DdJ3P*2@_aM}>Tkz~~ zB(VeFN%%ja_6J`$xlYcnZ(=ui*ks96jxmc!rqCSP(QJ&jd$JcM{9R!|>8>LlZk{@D zn9h#$Pr)*)y#VY7$HeWppoo2XS3iR zCK`~Z7!4KqLMlx%n!%Z<6XSH}Y!T4FR1$vx8<}^6GshP37fd+7{s4dmZLCq%II`xy zOFidqHq$!M;|Y9SjN#A=K&z=@e4r)E?poB1)nhro$bXTZyjL4H@5a~}n2K`|ub=QK z3F24edRNzN;OE!1%3`JxU@>|b3Na^N-NPnb!qOn>i8lpXqL&!MUj)>@yIm3uEbC)t0d?uFF)!aQHD+?p|A+k z0&nptc{>-dB%PD(Tef;#cH6(GJr*j?6HK$`j;rj!82LfpFXWAAujptK67^i*YFOr0 zF1Ee>3{8t_ATk!`(3F1h!0UWyB(OTm0|Nv5%W{uB6!}v!V)$P$+%@VW#Ff$4Us|U^ zs*SF=K00LoRO#5X>04s|n&a)dzxLb=n@)zaR1*kryHoP}q1Gtvuo=|X6ucL{yrLy;O$ zef;}dji-lZ??P{*Gd{<1bau9JRJ;zK03WPQpyd>%PgRg-OUK8SdY^N%Z>}zG??`a!8X;6ZDbkN%d%towZ3%&qDfWaFlrXs#1g(oebNJ=0{k?8j%nKakLn8u*`EoGdsnLGRB8%Xai0+jG-fx5!d;?GK^b$%j(62 zs^NPNvgO9o100HI>HBvBydn+pHu5j%y{0;Ze7csPvqi2t7oIgnSwh?3)nl~|7N0I{ z=;Z%X=v8A>^wjdxKP`c;dtW>Y8Q9Sf{dh#y)78p+i%b84dGPoyflAd^`d0ognAIdT zb!V6Ma96#*U>5#@`J`6y7tErI&D_D2L~%IW0IN^v&JlY^z4lat9^H$y$25C#gz;nC zAJJl%N|~E}nU3aunj)~sWk`CR-rR$#v%3f)^%-hea#y_A<%UA}`5wz_OUcQ@dB6Lt zlj**sa0Ut_ex$Gxx+9(+w)t^KSQba>MU?u(l@|G&)gj*b`h6)?LR?Xu0p?9!h)a{Y zNUBKq2YN=2U;gUN5z$k}!s()Ty&Gaf#)f;+yQUX~O(^y(9t86I85YVDO;tzhTDQ*3 z0epBp1t_MfQLh;WbDmzfR~>a~jh&TN51Wzk=(a2>f;)XhM%x#ZQ^tvBKae}T-sqb3 zN+^mv(9u|uq4bDl*dFlt9DCOi> z21r_HEuk5BWI}$pzv4jSgBEXSrQ>fk!t+w>8wozO8wu72iB8rBfo?Gd1Wa5W{Ku?X z|Fi_uFqD`V&GmG73a3Xh+nU_&RvOCh|^Up|d^Ep#bitY|+9LOCV@(eY%~S zJ#h+dfMFO?K)ONZ-HfzR|F&!eYjIhyF~`Z=dyIHJ3%>RAgFMK-m`G2)xAon&E)MKk(Q51AyedW0vafizPXW}R<+el%Y> zAgN3l&(QHTxm;?jLPL9E%&M?M6TLR2;=aKxYe=)!p?)LL?OcS8X1Ve}JSvTnXto_R z$|{YrSa@`58V;2@SY$gF%cK>a%m34g;83B11bE3ln&zsL;8|sq#Io%GdJ+P^_ax*= z_~-WsfS)0e?b3Q~S=W`ATqpM~oG7uSg~Q$7*B5<=%DfwssWYn{D$7M=py%#?Y40qo5LKRBmP<@6b)^-D4<*ut4N(aLMkfmmJ|Ps$F5 zZSf~edotnyW0RS-f(Gf9S;F=AY0Ew~;a?x-yc$V$8psho_cf+L4)(mg#;9DeDDTq! z{(>nVfg@bHdkBU*oaft7q@qy`r>}yk4`q{G=x$b}yfGMqsB=1P1B=-{p-$CEKN>ew z>nS9z9I&>#yY!w+CCz_>(*8?nm|YbYw9#pwRJSjCB|ErHRRE6`pA>dDjoG9Y&+mf< z!%mL~fj_PAAZcx-nGcfy9Eeo_5&$d0gr{*DG1?`-=?6ldw(1TeVdH8CfeeX|s9Lck z1wzoXoD4TNqua*LP`2%;$Gk(gB$<5l{kl}n25t!_eyWYzius4inW5rb4P`T4vVh1g zmJEWyJJrQn;0kO>QbHO477f=t77$n|#wSsxw-dCr_A z*3ZSB2%HiM{vB~N!JX(f*I#aLD35wJIqlkhO&n=-iK`2*pD#_kM5wi<2~ASS-b!WF z)cZgsv>_r`TKc}}KI%a3E9-FMw=!{r9n=G`jgVkCR#DsyBtS2A#7Ytbx;H1~?rKbGg zE%&QLF?J1{dJuZ=lba0Pau2_EFKt%0&}#a+nTdZ}?OJP%Lb7oHgT#qV z8=;sPretGO4d2!;V6ddw)HZ8Nyp<8jQmPunJ;bnnz~c!FHn{Bmf*xx;M~3!q0+-iA z;d+7=ACLbK|BU)(rI>dp+1}A5JC&D}-ym1>qG~g@En}kfelDo1ox%B@_>>Hpjo;y2 z8;6&Q(@~Q%o@Dmx{Jiv*Q9}b7k-n6)n*F9esR%Z_NH*%w^KCxjiL}ot)&4eM4Pob+QWqdF{L#qJm?O9z+M9EDyVU=o<*H=!|YY9>|0f*I+l5SY> zz@R%<)Foh*#h1Nn8OyMO-xw9I>*wXbp3!a+TD{5Aup!fd01Sn%Z(=skNno}4W#(tRi|gq{&QN{-%rm`tbns05V8JGsu|GgS-wi= zX2ee_@yec0{XX-ff_!-ZMo_Xo<*`F5@fK}XR^QCzr*B`rLZWU^vUn`gT5BjE#nR=J z?wIf8To2G$m7U_)0Mg2RV=91tN*%f56|NJNKdEal%^ER&LOOH4#E6F=)jJke50+d$ zwQBrp&KZn5%Zr-#*uiQR+Yo|d{mS@qD)`Kl6(q-#s#LkbgQjl|;HM)eWrjuhUI~SK zVGP9-c78a>pYK6LF6c%T=?ZOW)ZR9;>TtB+c|?T)I?KF)f%x`z6c$B>;_f=fF56<~ zCk41FBPpaD15ba_Uc#LI+xXB+QMTXUC4zfXJ<}>K?Zx%irHzG7{p%sz|Btq}0H~_z z8ifztUDDkG(kb0ihnA9*ZV*K2lEm zW*_#RnKi3sX07#ix_!?GTQd=OxFl!`d{k6x)~iJow%n$&<(uEfSChc#%?9~D3vkE< zHRBMN*PlQp<#-J~I$56ox;el1dT4>stb%^EAHRRYfByeZ*X)~QwB(=K5B6A<*Bq5s z6S@uBY+4aorc-|aL(?hkhDkQ}2t(8K5bHv>=#v(rq_1zyBOr@k>SQ+JsY7~4k>|7+ z71SloKj|V78y3z%7K;ksdpn6i#;9|&%sLz&K$f~F-Meg5m{H3ucuB*M-yn0?5OH%) zB#b9i0;v*<(`kR>JCU1|-}_CjYhsFsCl~(UTP96~z>Ar7ZLz&I@mL20gOx^^p6>Yc zE#8j7rSjx^?I?FJyakpQy@iWVD3yY)iWpd`n3<_oiM@2!!hwt>*IY3aBLX8?&6yGx ztlsk}{2OlN#{@&EdrV!Am%iaX!;G)-7GB4S<}QQX`>41yY-Q*y&-{9{3qqX?V1ap?jSqaGd$>6C-pN)zAFGe0Uv$V`v^-n zuF|`Dh^tkWrMomvDxkVPf%W2I6dXit2f>qHFt{yWKazvT?m3DspdHZ+X{oer^l!qz z!x?**=x8W zyJX4L61WX$Gn}2fuo4K;KCw9mWTnqtonpQS?0WHPyji##kZL1DxYo09^9>XDxfBZ* zsf3|p#puoq&lThM7XcK3dDX6irGcr1n6%=A*)l3m!g5tcn_yB@>iX zeP+(uJxi|JzL2Iz5$SN99QPAOG+j4U!K@1$zhTR=-GZTrDE2}FE(}%G>0IJh25?5( zXL_}CdqQ>FV^*xQTX@CTH>r4;vJ1)(S^-DkkLRVDZ5rMd-q@gU3K~+t#PynclDJSB zJ4rgCX%a2!{+S}1E@EWtJ00di*_3fva=HmOnK3w0A=j8`*`?m$j*4ACus@B9l2B`G z>o>)uge{#A{=WQ``2MnBSnz~tO_SjHS$kbNIW?lJ9X3iMs5o9LJTavBh9oNCrDb!; zxe;5v^B5#bKYbbPRaq6wZn-O-1GyIK!IS|m5cNC%yt2wc(*m9ZR()h+zT`>|T& zuz|ye^}fMj9-RQQV^#hQ>dve#YRVXV+m^b)&XnXs%Ifs~2p&;xuQvCTQ{~4@dG?$v zgB}FBV+ho|%D3L)B!Gq<07re&V%dk8_dc`Sx4UrH^DtH_U|x*rTxYH542qmRf><@1 z^|B7Lv-S?QgIc)eve9%Q z1Djr67s>v35nBH*sp}~4I8wB9aYdZy4{|tH%P0$6#J@q~o=D&NkXd{EhmEK=oZt&`&fFD3P@eNR<;1+wCEBq57We+J+h@Udoh6~w>E(MWtt+JOhO!dxE!}-^ zdP3gCr;VWhP>cDAa(~znKBaHmt=ZH=OX)$D_KXN5wT}&=&WmwzsmI;_^*O?6Jh{z0;e_ z-q9rQ`xYVqZOt~cHAhg%ASv4N3h+;G#ryD3CRTzh=eJ1^02k(jUi~qf_y8alSXVI` z0I`65E+7XHfh+Aj(;_!j*>x4vr;Yv9VduBz0fP!j8Ll}z`3=IqFWYoArD`LV$^?b0 zNe0Qop#D@w?8Pc&jdPcH$wn^4U_tNZu6aDrek5taogos4Dibiz*3+z5Ca};3%IUB zKoqoQmC!>S)lQ)rtp^U3Ku?!wGyQeSL~(Qj2E$PVD!5c8@(DW9F2X4iAVP>8)@NXp zQ&xyxrOv{Sf^09A$$6GwYW5ub|@~V4K-i9 znSMdL*LVO5Ze&NWH%eo6aqUBH-a!^9iLD<0juZ>`WOADDCLM~ZEFTLVyMr71FxdY= zJ7W(sr%%lEdJ1T)a0$)|GS;{E9lEbtlo0#Vi6pn-oWcO4+Dg0nv&3oUfQ`lbxa28S z+Pm0~mvq$LM@n(cN^)FRr4-~cRp)P)tItFT`TGPO1OX_qp8THmB>!PbM#s0rLN9~d z;(Jy64BMX+K3x?)!wfQJ#Q=old9hAbY)p?~^QlsV{1+!?uQ6NEGiUU)pErIEln}?| z1)*YSYMtZ9U`EGu*M9`55@>QYX`1}ft;=qUMqE@p#N!*X=Naqgp1*94&l(^dm%q*8 zcuVzi4_MwKEAF>ol%6&x{Jffxj}I6GJL9YS#*^OYe|;r`@!ZVtT<{ZOQ2(y|ws3+| z%<9CMP0@bNrYZSR4IpZXVf&n(MiY6sqZ%+A?xAj5aeG8qV8Yyp^T1>(-4T zKO6{Em$PJz6w8IW3N;`h3f?%RUhcGxKa}=SQEQlnBw}xQ2K(m^Yue|Vbu|R*7#Wj9 zKDi~^dKsNvmuoe;`J!l?ysugA$j6iAhFAUK=Of9Y++c1-I#HcQ%k~hQe2^>?EbiSD z2r=8A69yFa;M@GPvA}hXgm&>n5hf!{fyFHHIX?Ph}F8tNnc@K7OId5Gn8NW zIo6q-tRCB;(CM8#PC}lBNkTuK5hCiX>l0Ez+Y}H|-q8w`QF5e4XK&X`QIi%vSnK;H zsw0-X0(<8Xzl1vdlVoyqw)bmT2g-MxKXgXQQyP6ke1@o((BSTh__TX{ktw(@1FG(V z)jd>TIz`)Wr!4_XLc36qS2o`L7cnvz--{J;S-Je4ma$q82;|FNlBerq%$1Rdf^K%%FFqs!%%^a!kv!D{|OC7f*3w=AD~#9CnTxHs21e_z-R7TxMm( z__n4szDdHNWUBV3mGD@gT^6-7y}jU!Z7tK6I~$@F+sY{xo3d4l)Y+SifHY?6!hZTx zc?+p5JjL{vff5d^;Zt>%(z7;slAxmlbR*Bv=K6Z*=TegMpH)PoP>gQxmXGI zWMfWQga|@@gHjG+mJ^LSf0db9WL1}EGdA2<8b@mvw~n5KFEc8xj^eq46wPN-<;`nr zzbt`O+@2$i#TqrVBMtGUP}uUP<{ zl(ht4uCa*tX_uYW~4dHI=P2p(iCFu00%f8pWp&r+wb+nJb$4fbvxah{sxNs6d0?K#g@`m+ z@xpJ_1Z|NAI^t*cNtzoes7Z(%_zX_FyI3F?4MH+7E1fn}$)Y~^k9EJ8-W*@iI$$5u zQsxzYLQj>&ciY2D!B{kU#ESSG-%2t%9N^mP;#9Fr9k}`LsC~teuAw@-sth1nnXRUsV^nK z)SpF~@bL_bQwVI^IZ^mHYd1!%Sqbdj>erh^c!Y}T15if;p@+Z#~) z2CQmK`RtSaOl+*AB>}QXn$cUh@v>9cdERH^)@!XujIwxEGU$^Rd?}+BB4C< z8j2ElZtT6lj%UQavN16rvJ|RAVSVLpTx1gvo)@$`(^6d z)Q+(@V@t~;%~q%_Dd?It%54lnC?K9fI5#fYrBqdTb|>TAQcu7Rok2whky`qjgJO(*ff01In#CIa$pTAW;gGw)WlK zTD;s}EEOK}1$mcO`)j;`aVEekuD{nI-1hQKJ==K4jmcv{R_ve)7JI2q&^_>RIpRUH){24 z9I`1Te`U0_!15*|oC!==Ao`7jffGUq5LgvByx_lyv+Jq)1FaRXr=4~RMTYkXbC%pd zskETUw~gC^D|(qprOx#hU#?GcU)4NbFN-+=ZH%D3+AL6%h z-!$+@KU5Su4UeeIxkH$E)#R0Xpn6AI@%Y(r*BWMVn315|FeP8E0r(E9g}DGSush;W zhHhK1uKnWi;j3+rxz=$xd2Jcl1m!Y zln;o}?9jmltobsg=3!=^zRCeK3Ocm+9Tz`{!R`syI%^ddhk#xJjZaO=(grlSF7)IW z^8`9uS~n)J1%AxJP~cX7Y!^B@8Jd~$ku4IVsSX|#EOxnuvR{LhjUIik>e8{>g_b%g zmh4K!9N1u6@r_o!kSVi$xe2X~T0eDJ1muKW8365Lq~2GI+;LYc9x7v~-KX3tnGF<6Be@!?L-SpWyVYVD>Y?If!7Na~?pMJMtqUJxd;VE~ST|70Vi z2t(M=A8P?e;lNg+3MuW75*|=3jSO=m<*yXl5v)dm2Tz+Dz~BR5KE)&E#}4=>wM|T1 z9RLeCnA#9X7a+q{64BYUIL+t)T_kdZ394!bv)siJ!TBA*a|^DtZ9GHhd$b+MeFO}< zmj90g&Rv!Xn_me6Bxda1VO8uqKve<5&!PSmXUs1~7STBkAt%ZP-)2wB5mTS> zO0g++xhr20UVwu=PI%9!NGIbnSnGFNQ=#R2sLLBC^%WKtudZ1Vk9&_WY1+7$a*+^5 z1oiiT$8!g+zjg(LG2vn<){i$apk3%7G2Se6yHa-jc`EhY^gMq{XG~-FViJB2^uI zuv$GStkf3$;Y}x6%=cKJ-VHbI^-NE!Y2qaj;rU`WDY4kURCEa-VC^k!``?pt;o`@U z4KOVM-TWC4;B84If1eY!8VI8E1MueX4Por&sp@Q!#IKYfU%0K1fAp<`V7~{ww3qr} zUOx8|!>es_!cM+Js7rmCB}YN72<`*-?a?NfwwRan+{IEH|I(;`BJXmsv_!tQ!}Klv z4dN=ugCbC*z<1@#u~OB2PM!_l1_zptT|Q{*4-t45<$+Ti$3B0d!lOZ~!}wKFu|fEw zlhN1JiXDb721x-;PXSLt&2KBHP>BQEaq1d?E#gD_(32P}(DykLkrM_&`QlH6-X;!& zygH^R3A&?g_i~CkSVndS$m4~X%I4bNxSa0d*p?+TXX>cJdFOGao6^7neTC}{3xHNQ zTm5`|hdk&zEF)eUVq(Xr)?gjMtXF$h_|mIq3l(I=B1cyG4FQTepEhJ>1}7Ees}@p= z60xgu@lT-Ted% ze^+GXv@CXiZC($L!gE0bK{TIg?36IO3;rDYP8rqLu>)?GwJ z`CpTH$y+F*aeOh%m-n8KabKJAR}v=7op^aGuf#TBTZ0<#0-&TSc$kse2juCPb+s1) zEUN)XJ&<>&clOE8k`)O?RM=SM0itKZ>Tk+=V_~1iGY%_D6zF!xdNNhrtA5 zIDSK37BTxcElBY4S}5@_5m0mBfG&SzgGZllJ)vqV@-Fvx?_5pMQG6G+rW4Dv7AUSW z-zot(_t{=~r&~bbffS16m0~UY$hT|Z6}g%Zffq4APv1bB8ZqaDQbYX`&o;9v=@aGa z$H4_Sg0|#L(m3l8frBEn%YTE!JiSj+OP@nxw*1_Y&qdg;Rvs2{9(mti4|ipIkbX#c zv{H&$X9J^bU-nfX6lJ-tY3^~-mv`N}Iz_|Xk+k`1++YDb{{+)jd9E?de(UQdw`_%KQ~VZrt36R^luuy;ySrbNg4RkX3?w&TsBTQIMUv}?{|8;A!(hsw6>{0TY`qq@iWMsc-53v^)@lx!}IJ&`06TXw9a^P zWohFU?jSDq7X9)R+MhssW{D{{lafC9%6z!h3ccA}q3kKYQuBf~XLhukmUWb zEpju>RR`#ERhRj5$zHkW3P@JVDY5fe#jm~VJM?BkE@iGNAvk)WeInk z@)qXMdA){X9Sq&+8#&rr#{Ckv(@Yjkg*Enx@yh3Q!;mIeai)OLZ=G8N7WY>o^JGuI zsW$L$qt<1*#ZGZLsh0H-P6F~tHLS+k?N$Ezu#NP8RcUuuebC2+W_i}n%`r{rbCraA zZtl--x6}Mu?Ht&wg=rdXUuzFkVFF?C1d$gb82+5GdNt0mOHi)$*Y^*kQIOQxEyW>C z<%NHsU#tHqd2gdNskLgHZKA>*?TyVsdXqMgfqrKy9<#mA@v7em;+LOSYSwATp%m4j);NI|)x2tTE-a*Kau zNiy@j(YY!Uh|3KH3dsHf{wet%0yet&oNa(vaNrtXc-`_ao+R2e6w6>wx1P4D9zWAxW1ug=@#n|@Rs|9bDWMDaI3r#~O@F3!<~?L?;S z`G0#Gw1TAXsXe|cYRcE+H?wJg_~C+--bzn_bMdznz-M`N4)p99C16FHU^|n|?my3p z!K4yO&!0kwUqCJ=9~Icdtvgprv59nL!z~{B+NJ;GsGWCE?V`3-=^Ux>sZVWL-V#nI zg%uLh0cw$Vu?cB^0%Zez^|W*ZF*b+8$@6rCph_p(ZQ)f`kyPlvsRisu zDBpM+tfo|1$w#9&>jxYG!m^@9-SzL4)7L24eJWXd$$ajzH>;T%*rk%XYm?o+&ayju zu}i>JJTC85C&!|$6v*QE65=oh#gQ1PSfyRj3#?x$zd=FF525+0PeY~EsBr<#Qw#w% z;Q%aScLNwm;EbN$WK9DN*b91`FMp#n_pUO0T+OAmmF1DA0B+D()uB6ha{0#}+jxt# zuexgr6`C@|?+Y$D5^kPq%qE3;Z7z$@9+Cmegc93g=12O6tK`Gko5*Y9TOAfm1rJ+% zG2j*llE7zOlME*Ngs&kfD)Cp=s$BXZi#>J2&vd2tMBpsLl`*t9O)jzAxJ~v5N%e>k zW4~+Y!XpU1hIFVk6u(BO`9Ro6Ww5Z(S7)!10C=)YT`F}%;4|GqtV*;#uB~)N-z9jM zm@=qwH28K$3{jaI`_{xJPUCoIHcZ({rd^Zic**Sh)ue6PSJYPnU+N+~Z7kAxng*x$ z{s#~_qJb6be6Za&3J^4WB>;`kGt`Z-NrP5hBjy8BpOL|qn-9s#_{zmE0$M#iaE($AYJes;Z!fcV^{mk6+ z^~1;cTe#oCUE1p%7%OA^(BiY)d+&d_zWwY}Rj}wOYA}-Wq0Rg_`e9K+WqEs{##0CuaNN0HxJTvbJggI7)MOZA{g$mQ|C({QjO~{HAZdF0nHMPZSo+x8B)+m9g z+PB)o%YcleB6am+@5P*#(@xSg>;1^Z%M-B_i3cs933u1`O5iuCX~WJ7Hh{;}a6zm( zvdmg62W`svjG)(I!CE^ufy01#=29~Lmha_>JUiZIqMN(Y_P9#cb4jf7xLHlCc!qoZ z^Bb;mIRi#bmBoCIzR}{BPx_IxCSZfLB%>RPictF&B>?}iLUrn1U|b{i+;g(RGhwE$ zX0*fWLdEWs?~u;>zauSBcBC|($ti^{G|f6{0@f={$_-t|R$~3bxkJ^7aP~1gA?kKd z`)nui_#jwvad zRLN$gQj#{{P%QO|EaWF|tX|)FeqQs-1 zSWkZsvUB8YlvI{eoR-bPgHymbM-QDAc_LPA&`IW@^MLR$@U;YR4n?ic{!;%cFo#C6 zt_}`rMRy?eF2_1~%D;fM^>f!WqP}}5lhMzaY_IA9Q=A6a6(I%{-H{*IUdfg_%sjlN z-L-K-rW}Fdr={Fn0;Xn52PAJge#J z4Hxi2-k~8>Dvo53>Vf|~R z9I(Uy;mZkwfq>?KlP2I)CgQ0~o;46&UOT=XA(st-H|L_ACPI>CW`_khv6(voy$@Q) zhNb}g015{eR$!Nk^+JiwmE7R~`zBMyt(`JiGZyxWpnq0#^qbah#_2KKSw1=2N zPz@e1TF6b}`vV~w_1RhoU!3M`RqXV)j!RJi+x|Q$NK5w?BOS=~eq?7L(W;zls9bh$ z$dT=T1_vLsdLzizNo#6ESC%Bg_Zq==bwsPFoN1Wj8J3uk4EOpwEoxX!0&%n=q(}!G znSPc6zV(|`q+*cH`!2AKWz9m2=EmIy+?<;a;;Ke@m}&JhZC#@roU4X-TfR3jO>U6P zul*^q`>!NxK)brewFtly$45EYgf6E#R00DC>wi(npyg>Ub7_7$`BH668eLC{X^lTEDE) z))%hRESwnsRp>1~*1MdcvO^BANC^BZ;dSQEI&DL?bht=-8?X*|{ZXAE3Z&0a#t^ez zRZf=m@#7hK&v8BrjzkDpsQwasG4}@SK^g}fwAJu_1)XUZD7Ti8o7~8o_+Oh!g*ko6 zoMV<}(A&7XyoVp&Lm8x!@=m)8rRkkqSgxPUb5oxQH4pj~%1%LGrR>rE^}M|Sh7`Xp zZdCCH{O%SL%luYsahcOwlnEhulm@B-YS{u+9Zf;Lyx9P5(nOZ9)T)}@*QLWS=;hA* z%B9Q+87!35vT!v~)^_5}j>ro2pS3%AXv{?OzQEICQCE0G2@&!ZhTOF6Ph!od>`|`V zIa8p#b5wg{x%y`vG#F*2TFjOYazK9 zgqZo=uVww2UIHuK@B9ULzW2A(_z%5SKc(*s-OL2>i%ruhjpsn#sm|t%_dvB)f|J&(TPjur zlTNLPi4){$Or$g2oCZzu87|_OMu8#sM@!1pS}4u|{IZhWrx|9l1!ZQ{f~4+Xa&jdX z*mC9~>OwiZ1;P|m=8wJ7N5j}r5G&q@Cst=7f0+R)2~eE z(=+fUutsPV7N0aUs_8XiD4UsmPF^TgoXTSLu(4ya#?CeP|SDk6(@7-Azw`Ue! zOn~LV5Z;*Wz}<4d9AZvRA7HzV8Wz8jNKudg1a#xjcX^H}fu$|AM;4+h=Awcfdb+Xy zRbnRMI{86`^g!-(bGHY{BFqgHP|Jah0a}0i9&)L6`QG}y!0{g4X1E84+BI%w3N_a? z+DSy#&D2@}wmbPrzk+l8caECRXFOpkU4Uf@$P8e#&~p2GY81Y;rTw(&oltI$JORmi z`HV?NiEK0t{00f*#Pk>LC3awz+od4yVQXpWyG7mU1#UA!-UORbj~0gvEoOa>X$GZ} znpN|p+=BsqzHYSSqwyK|6q{*YbyKy?qb^bSulEb4K-Ueo2m6R<23&8;_YdD#} zOvc*l$@&cn;{wdHZLe6f0p@hdig77*ed=pdvRC`wd-1Iq!*^cNkDZ>fE@$AIxc!#L z0q}))0$#p^(Ciz);$dU!<;WMF%C{lZ7ptTvZ}%&b6qNZljSgBgx&$9a)3+Dqsj)7d2n(*c{y~8T$!bcA~GmKB5A?HoH#-?Je+>jyLk$;OAgw; zT6JblJho;|bj~S#LXD{$Ku2v!_hce;CceIEr^0H+-)3Ppkd$D)DJ1Wi^Jt@z9?7Du zrww-~EF6?V9w>AQs3Lp|^C0r;jBzE-#Y!RiN%-onpYz`m zA~MVPCo>B&bg^|lgD6G|@-#D1dq%=v6=Lz*(kVqkTUPV9g$$Q)+~cwNyzfJ*~2(8*3aUI7HWseRFI4zC2$ zi)SGlNg70?b@^uQWGB0zK@q=*7aGs%2s9SB%3Y~ZlDKDjWQ6A@oBMP)-`13+@#!Q7 z*L&rDUbhndtY&74>9Y7FC@Oi6^pjd}Q+Hf0oj8%J2}N}q2&Q-pEQ>HKQ+6V6 z0oXwaU~N@3OnGN@ZTWP38Xi6 z(NcSuoTK( zVTlPf>YI56jT(_+jm9D65{ua^l|dO~;&;?|c7#AszJa77N1Xf%2%79c+LOqXs#V@b zvxm6WAS(2mC z)5s`HiI5H6;=W@d{44fhJSwU@yh^;hw`iuf2y`6JN#RpaYQDWx{&3-fBf2k}wb8?e z1g~pHn8JcB)l%*Y22{V3P{2&G^G2%NvEmR=veX`sW$qtN&dga3{}yx>EysC(p09|KaD4h4{PW)qI_+z3(`EpL%!2 z-C9U+=lL{V7fGHf25%;z4YClWYjW_E8dwpvH5$)#GG zomYq|16!Y}k=jmjI>;3HJE31a{1e~;I5fw$LcpAx!205KHQ-$rIt$Dqu}a@(XAj=A zfplhBZDZ7iN=>^K-!#~6poe{ZiuHlRzGZRM(38Lf(7bqTgP@Je_(oa3Msf+83g8y_ z|4}x9HR8$lkDNxPUpn4~pAu}c4(Ox;S@SPFe`QnBIJkgppS|{keew+S`d9h~p0Q8< zr|{nZo!{M{7dRjoSXe|vL}YjbICxkX1Q-|)EF2CtH78g-4jz|EBEI&SxQ2;y9u1eN ze|}xZ2%eRg7!)zkuV@{$!vBiRLqI9V zvt#m6OWim1AW0xg-5Yz=o&G>Kb<7~lGh=J3xq)+2I;|feyi?ik0bBBTY~I zko469W>e_?*2(axY;M83^nzy352XX5RKca*yD*~g1Tg!@)^i~Sn%ewa1Kul%^>@?Ozp)+8;W9QOR74nOyOhbKC-j?>)^)Z2$U@1QuQ}xC$KP5w6Y+|&+ zui1IC{5d<#0eJLMr>K;vYIlGJgD>_h?>eYY)r@#ULI>Z2QOLVP@Q(TCip(9;x8O%e z`bKChHK|Tdnrhm`Zc((oibHngK2cVbZqS}UF(8T|p~iX-X+VQ)%~g6bg4C~ykRL|x zsRL}i?mU83Z8PeKnG-?&_hnX@sCG@F!22ReADRC)p^)fq2~301q$M33lT%ggR5 zl?CAjOTts4ib(88Vl4}mYFGpy;kaNvjP@;U}eom|zH zCpnZ3arJjf4T1uUnPMGsUtBAH>cIUVoeyS8RHXk0P=?{Nsr~X$PHR9mBmYVPKRa#! zRIh|9k*Xa?<3BE1@igbHT6)JkeH}f<`KQ)nIV(XDRJYjDBq3BMWKG2^1Oa&T4;r~8 zSn#7I5-JO()*87Zey8Luk@^3&;DtUNB^SG4##?oc64xJ6%)8@nj-!2xSJ7~` zIY~G%vU^>5t}x>6dt*&_tDHoUgCwc3!=!0&03aTKWCIy$aJ_r6r+Vy4CO8v8u5u=A)cw(_Dse<9*S&`M3{Zq?e6p)Gi=@4+GsniJVj75ID`cj^X;mF*Ud`YVK z93+E}y{n8+;;g|&(30Y&jji2gCB{S99e9=S_pJT)0qL0Pf&RG~iB%NC1A8ehVi_b< zK7h3`-#q^s!J#yri@&7#jJpi!b>Jt7ncThMH&(*D#_xQUy9sHBHHVevHD9l1V%8#7 zrTD>t!20nNNX}@;Go2a|NJa(s!B**lFuC!YDie9zIcs_pA0BxB0$%P-M&uq58=bPR^@cW#ibxBwM$|5N}= z!HK@X5V6Oam_IdlfByui_-}p!{4L+$-keSbdqN@xKLkJb_Ha_r1L@uYzng%n?1ewW zEMtqbCCY8-d4iah^~XMI2dCz6;PKY7QZ3dFeR5=|!k%L8IGIQX`P_c@A11{+F;3aW3iUh*m8`H0xv~lgD;m`Awt&xFC7VQYK+3JI(ju1odZ6 z$VV<+ei4R5Tgj)LS>S_Z@HOH9df*Hrn{zQ4DY1(0d{~k0OfA?8&-HER2;Br?z^uNha4j2z;V23KUCThfoX-ekfU&kU>a&)bTxnI3!Jcwk6yObqDx&8Qe!8fd+ z`>BLp6YGu}#dQ#&aRn))ay+)1dQ>y5HDY7cK`~@ofRo1Vt zS?|ADANQC5z<)Cz$@XU-#l^XBDanXPfHOV(Z~(V`j~7R$HKU9Fw6}z zpHmH+OXhBvhAe{o>Qk=S=pSAv_{NXstp8i))nkVG;e|XecpS^29IKZ9S`N(0@CiN8dV?-M(!B)fS;z0 zd47w)*W~2%5V6UOXg{WLd_j^MVT9qZMcMm955YJOb{1Zb-z^!8)L%f4|fYt+Of}^cq1h zLMb_tNFaXQa?23nZwxE0#y3k`*w8@c-NVx`NGCulfp3gjC~LFJiIK^6b0)BQS7dBY z6IVM&A!Yl?7tnYU67y|xeoGf_R?se zF3TKN4ESycM#=73NCswiQWaYct&%tyeAtq@NnFzFh{>9f6%fV2iZS`dGu|i=Z>~H@ zi0{Upa>#0t6YNJ5EI+}5X8yt+xvTenvIIH{dhbU<<8Dh}Un5A0yAiQZia|E~3yfhy ze%igos2-f}-0u-x8Zi)hkxW@7FtlVRNFodfDZhTc{LXY&#ke!BKW;aBH%QA1Mi6Hg zhK!KaOQqeiVQ>2MOAF@IjbK{t)oVZtwr<&o2CDFZa@p7~ty1w;j_##F%b7TYjPT20 zELh!n*D-ZLs$aYl;ZkpzkT@^YFwORI2|$~o{c^yrA3s-03jl_|40tC;{|io><;PId zh(Y`Jq{cpxSq{5|fL?0xEJSE=ZQLW?MO9~5{`Gmql~>yi^X^dDSb2qQrdE|OAG}x^ z-gV6Jn?t7^SR}3L46*u2LKq2^kJ?@0^iiS4T-DYg-UrOptIR=H&84q!lwx_)`?lE) zD;<;i;oem1X#Af>?|tU~mGD9JfKM5Z)rYhmcp}j?A5o_Vc{3E%j+ra>a`8k>JXehg z9~A-CUpx;GTv6i9S(RYl$d9<#wbxGv8}E700yu2Nw2u##GoM6{QM(Jm9~OpiBekYv ziCePR6`-G1k?TZ|Wh}3lNYg|YK4avzR;COhuUvVjZ_sL@Z+PW!#2f6V;r@gqjH{?l zM-4mI?oI834*TF&BAfp>>`6;{&RK2KE~tbeOE*k*(lRsykQ>R)U23(|2{{kWTapkTS`>i(MBL$pKw-x~sKW(6<(2 z`~_J=M&dRtT5;TYO>%Fi!$D>R$-C#uuLcE&tP?IvT|`;skkt4brcx>yUHk-o&WMxw z*7*U^&MiRB4-gI4)n*7}TCsgrnbE94BxLIKfytZI9LMcya{7L(NkF7%d=x3(RPP*0 zz+?Z%#MJHed>@HDvjmJX1kOM=U}X_82)F|;BJ1h2bVyFx?{P~SO1(oKin4}l@mfHr zE3<`^{rnyhj})isgkj&PjH^(e)S*eGB4pm5A-*%c>rkk2trYZp+WhImk zWo2dl&lu3hU`HFCzC5!;v7dT;1ntp z!ntL;VUwY z2$47NfEN^0m=6Y}-`LQ8k`c7#Ft)W+A6+FV>;^B^hprRG?gd2e1%w$;>?n3)$4OA) zd(c|NNm>m~jkv&Pa3CVB99yT|(pU<=9$Fn^V|KLN=Mk+e>8>HU8 z7y)zx7gd|dY2Cl~!@o~~+0P~OTA_CCAnjApn3HC**4MK!tJ1CR483R|0+yiS=-Or) z5^iu#dgKF50p2Q%+SmPC{G&Cuy-R9!SbUA^jBnixzdqrqQJp0xR9gQ_T~cw`meI?@ zqC<~`PJ3loe`N_JFb@W-A3z4i$NAlKk$7eXB~R79jMJkHN-8Dh$mjLI^O15XrCrLJ z?`dHSO?WuD8}e6f`OtnrcmXQGz)syBs!T!YLu^+3CXOR_R(+lE!kgg(mY1>HdImF% z`DJZgQV6NLVmd%$l-O;>m>L^xswjk2N)cs>Bu7OFuoSK|nc@%Q12zyK_-`*2pk-+C zSDI|JD{3^chC=K0mK(QKye|3n;rX4y;i{@HuIp7o4zyNA zaqp;ZfUcsW(dIc|3oRDD@@u|LyeSTRh1bgz6cH?$Oo@w!!A=!{tc;`YyNN1*nNn`U zbP%U@0yY<(j70(KZorIwL5X1x=(IU1K>erd89oeIkqryxx{7c555lEerb+t=L!1Yt zoi0m9L=vsif(bSr@f1v+9=10w_c~vg7w5Y42QTTM3=8Y0e=8;PU)1!7J~a(feLof% z<7K6cOcem6cD`Gc@Qs#0Zlj^yPVRTI1$X+RIdb}1IkU3??aWyof7L-K}w zzKVxw^)<~u==i&_={M8h9yqwy{n8gG7zawEM~r?_eZC3qF(cc#cnDt^HK@6_{{H6H zVE2z2jMH`e)CKc9UbpR`HB}gWe}cpnE_phf)-m*;wo>({l5* zTqwf1zv9!eOPM+o`);DF%zy7t(|tH$1)~XP>8hP)d}!FyyZJh|)1@^28ze0nVF%dZ z9p(I7=k|q!$-ZZ06s6O3c&ie51T9P8!8?+ZeoH^T>k2OMXp4l+~Nk|F!jtLb{u}tYfFB$YpJ`Ku6e8H zaDfFaC0Z#SEdnh=bj?}oBYqko5qc7`V0|;IhomK8>-`wMeA_Yy)+XOU*|VEFg1mPk zte$u%@uc(XI=c^onccE9a%`%KPh6I z+OmgTgmu92A@hlR>-hisM3k=xUr`I@`e)sl^qW`+p2N@xc!#- zAHloebG3tZRs{bjHpyLFp_lNS`xB(+Uo1d=;#Anc3L6ZJ1Xa`utO}>&R~biod{0ye zZqDXXtw8KEN6Og(-ieoAJj2;!Q+TUj%@e5b0(08fSC%skR$nV{Gi1VMGWl!vsbYa( z4V#$;#$g?t>)EJ3f>ipT*vFSWF+Uq6fu^{>bgGU)@smEHbeaqWoO;UKD}Xm%z*(#j z=Y*hZAV2*sedP-=Ln9O1tzoKc6IpQQW8bloiqrEHCyu6TC|dVH0ss8Tx#e0naVom< zI6(Y){sM!YdKu^aZj(vZu`g%hxumnRa9@rz3!=r#S|h5+j%i*PuDsa6?!(!$8K0v} zH2G9&;FR#U(bp$FeH%aDW_*}N9F3C8rG~RK=xK0=tudcP4`7I6h~qp2XugJ~&bv5( zONORTh{}U_2NL|M1Q_9u@&UUsQ+hbmT&&UQsfw~9!WeWUo>!RoqoK2tg@risr%lQ0 z`X`f{${Yy8a(R<#SSoX95qs54dGG$jVSm&?9I@>7EZ?K*`!RlE)2g%_uP-Xm1E zZ|cmXmwx_b5bq&yEc1g_AWr+#TN~GN@h>IagpREBBHJ*cg*HY%={hCc%klj9a8q5C zPL%{pRT!4@5_{15o^7VOs%0wFphAY%oRacnS6HQ@IyH%S=53gR@T8yJzlO}Pk&hj# z0S4LsNm8D`1;Jlps3R!SsnX*z#(%);lm4)tFMT5GRZa6}lx}R3*^@gas*5&0S|d~= zN@M$x$aHosNo4G~USh$&e&gB#t1l*T`vpsN*O91#Z*%+g_rn|)-t=^S-p_tB1hIY~ zW_!PoUqZ{}U-P~|qE3a0z;4MfgO0+wkS}NcDC!QI=?Y3zHusWD6A}#sM&0~gKir?l z2v~6;@Ttwt@Qh50W{=#>2DRf+KjW;cMCsj(*%BE8J_!=IKsXkwyxhR%X$^DOb8{p8 zW>VNt>&#+t3S6~zI{CDO!Dq0i{P-Xo7_LJ!t$jAUW376xN?t$BXB5NoZ0j|NM3tuu zekhq=@W50eJQOs!6pUo<;*&Lr~$?sG7UyOYPR8(F2@6aVV14#EUfGE-(LnAek z4k0BBT>=6I-5m-;hje#J2na|w2nYyBhkyto?>*@Ie&2il_ujScti9%(z0W=@_MT_& zr+&|~?cjOL-1U|ccbSLt_{bO29m_Px=uMnmkmYGaDs(#;xc;1Yb|E9ZWh7;>`S!xW+hL?&}85Pf^z%+eCMPU7Q z!>{d?n7S3rv_~&b#w0QSW%Iu48nmpEz1}(y&R_^ z#7@hk2Q-kGED1R9&Y8wwf>X6%Ibi255xYV}jdeXOUGT7R+$_$!z>*o<1K{At?N87Q zWX6*5)*^(n3C{_;oKdh7Yl=rXx>G-v&aVhTSFSx{3z405PvzUrW+49yv|Tp`38&j& zH84A{cx{ib#P)exs0P&V4dQJt7_0XYFtK9##AwCcmAJ7AbzrMGW7DaZQ5JnBK)j^z zf4aftg>51>U6uxuWzgZVC!~2=UwF^W7TaE(2}?Cuzc950hVye%qlD-4uZc@gCI&n0 z9?WozUk`KsV_!6HPJY68$*thqIaj;*2Eox5JOqZ+Zf$oSP#hXk;Vf1^T}s)!F|34Z za`lQ9LJ(Snd;>~OY65PE5H-F5MH*Nh2gEA(R+3!8s{{c-kSbS>;BOj(NBTrv@_e^w zQs7O+^Kr`SQwb0kEgM!O6d-M58&kku_AkBAuKXq%yo zaTTm1Q`iunq^D~sg(&@?P4d$M?29FsofU=vGqFkNKs^-xncN*2Oq?!Ewae#439*|k zCz^(O(oQbEhk#2+OXR8vKibPr)bYsW8!?>9r=X;kX^Lc3qO~!EpeiY4MPo!c^_`h3 zdANEdGt2s4*q?}!Y=RRbT+7JZ>2S1Wg4|txK73(bBB=@wghr~l#({D5`*Ft*rd3g# zU&Pg>Q$krvtDA=|UV|#__NiE_lKqXRpBWDJwZEND_T%a95qBCwERZPYl@nrOsN!^( zL1v*hJVmx3iI9T&%-^*4r>Ip>M)TTqd1-V(zWj%0+KZ%5Bdh?3FF#cNAQjAVuAQz+ zCaHFd5ktwVr9$<52-j$1=r6&AK|)PlSkTL(N^!nm2MkwT_ zB?rW92pz)ebUsPpHGeu&44&mMSRZt4;S0M|#2ighnDp+tt?`3J8OMaWbT4PEq z22Z<)LHbikTW-dA|AfC@%`MqBlQ!@`S7yWMO<4*D_t}TJY@+)28x{e3-9g9k>fv!e z3m8mH9?|JiTSGW+3fP$5bf(UC5+c~s)6+|Q|IbIVX*XhH($fO4r%8A{^*UpbKD~hX zOTzpW2)WA~35x}h0kFJ!djh;=8?A3kOV%p74lY&Y>p0Y_i06re-g*HY7py{sU4SKx z0`zd8$C4-~Vf&pjuw{IA zKo~A?#52t=KjFnK1LL$KGWpDXqRDO-$kvq6FStuUwvyA;|7%KAjHx9QkL_H0W&Pz2 zJ$>wwd|>>~>`po})V4?yG-wP>mV6u4T%|Pqkej2_HLt;^ zaw4Hhk_W_IdQ0CuXUKN?w7_0{MkEa!Zjv~TALRQuHv#x0W!&Q+7-5}%tfD;Ic6Q%oQB`9Nd>?K;7^l09iE-g-C`HibgL?J z{8}5udpXRssA$AkWXsvf0)0b6WF_p&HuO}g>Vi(op6DwB=@W38r%3za% zJu_tY6br#gsH4%gt z1ZZOz!P3@ zxUM6b+ix)?bVW$R@Vp^;0N+=*MfnP)>;65mHT zhHnN?Jks}+Ttcxz4b%91p$%@IO+*kb`K&q^%<38hDu%Fw4P}QjY|%*KP`;dy26z4B zh4=G&8LIm)lfHP|9{eudF5mD<9Q(}pRvV#vP8RA#lBYyxU@b%Ru?xXS*o*jcBs2T6 zbzXM}$A!Y|G4<$A%t`sz#msY?zg|Zl+QN~eP*cu=y6#(Hm!RQegz6rorrl){T7#Po-l| zr+@H4+$Fn$PMDlytABiHz&Ka+bJQ7Kf6;r^yr_uCaVHM+6G%Ms5+J#oi*gDyP3pDdj~ zqd*rFfYQ(eFOwIwf4UtqfYDo1rXiKiwYRE3u@Dqgyw9M--yU13y`ME|NjAScZQtoC zEur7gko-zxJ_4{nlv&42*9|64oIh;}IM@xac)uiQO&k(R)dW>z7YPlxBN4H9T)QBW zx3}~^2YR!>k5gDnSgCt?Nhrjoq7|lEg}==&s~D|mv1sC+&PsuheI3Z*HGN7TwM7~0 z&`{UR^lN01ps@UOjZYoO!+4fVg%X=>NYsvW!$~IbT-N?2mQa7vK;|!#Q)8G5rhYPI zx}2g78Gl3U%=qllq0-B%+w6=T^lk8=| z7uC2s%vrRrS#G8nJe#Hk=MY`D8sjRfAM(^BdWM%x$&Vp$y(SFoGe%&*Mv|V!8A_Fba7#V-e-I@a+UOjie^ueK zYL(>U7KL@d4#ZCJmPc+;JFz*Zr2{esy|qq7oTlJes6MnOF!>j#(6{hlp4G_(mE{vo zzY79UqKsVh`spJpCYyHZjlJNsx%b3Zw}Ps95bC+fUouaZH;8V1Ow z)o2O*GXbt{tOS<4CAWR{KDXXi3X@*@z_XskWxl8@tzjx2E)q$`Q!idPTd4Y045F-9Ob}%Az4b@eYX9 z+|YCWS4}W<)oSl)bl$kW)CU8Aw^fN{{}9gy%tr1aM$kmNzd&kqMkGvusIJLnF-HNx zfgc8%++OWdmRyO>KH!8Jk7qoC-TK5?J4QA3;u1aWQ}11=i|%SKf_zn_&&U!mY#G-T z*3((wRJ|UVnBP)4=`1B?rEkM4Tz1*dE2cH}JDwpv0nT}sPi$}!tGL%T@1&>JC^-X}X^|@N(7Z#Dv zx5q!?HF)Sp?IY~dwn^E$&s+L}LH9QwrU5CAaEOC9I~nZ8)A7MYp>7<`FbP2hG|BMa zI2ng_V?^R(3Waj|t=<^-M@+`?Ws9=8xBRm|8rEs`qGC}Lc&fAFo$(GyN^L^lNF8Gi zm72@&^QsWa4m4@@a`UAadDDyc)G;91Bn+!WymrFkfrf@lO8kWucn?i4iW8euDNNqI z6^pBKhyzW~@fUC^aLxKq7Ghi#`f04|X#!BNrgzzRE{fG(%6 zO57hdwAf$%qcSL33VN3Bc#*)+i8A=LHig2(H1=NnMWKn(Q z`zf}c1BTf4SN0WK7EvCeMJ3-`_gt%R^6{Ozacd^EfLxUx1(~EvwwP>H@g*sSt4-y- zhHya~r>X>2x3Z_o<8;gk>V8Cu?l_01V&!+~Ue!^%C&bcxXpuiiIafQU{f1c9sFD{>4#tYH8015P zrF-Thh%2(J}sgM^-aYAQ_(M6!k_gz?_blw;&xD>sVN zRNZ%1u?o8$tIQ)s^aL9PpJw>~8dg8i)3EelLf@%H{tb@;=pd4&yh+lpE}HEs2B{Q( zt<1}&0^}8Y9iRUye&EIp#^!%Rks#kv5LUq@4zO+;md||tAw+0(|+zL@3}Vngoj)*)Jz~{PfN5ZnFndO zG2+vV5HDCO7a|lP^91H5tiMv{=+T{GQ0sLCzSW_7{&Rr$$rPC+CVz2St57Gk zXK7yz=|*Pni0z|%L2p&w{_zk!jW!IZJSrZeG!es)|v?MKM-y6cCi z_v7uuGu54%%I$V9nO#nQeJ>h)sx?HMMz>gomHjTtDX)=1p1^cgTu}rv&QsLj2gAYw48~J6ehm%T=)40(Y%+ynvN6?j*ul%z5?iN= zQbj+WQQ(k3C9Cr3F<#e%tHKPD6vw2O*62GDcX1tQdrV`>l(ZhcN_i-hBOk-~)$&dy zM^xqm_wfGU4nrnP%A8MLw9F~_T8{#X>!$Pr*0wa+?|1uT&lUa%YI^565<=Z$?{BYk z!Hcol`xhvJg-ONKo~|Ip2-2icP)yv32+f;dzz+~oaX4#@FISvJHQcTbIjL?+96N-- z?2eZoQQWpLFS* z4>}#!bGJg9RJ;p>86Gd{+DJ5^i`dDm@evAg?mbhseBo4eD!eA1nmS<0a2Ro#^16)2 zt?C-6!q7}zxcu~)EV!h2*i>wP5f$>aMu3QsW>@8q=tp=kL3zk4e8JrgJ@`{8yZ6TI zPq=9+Sy(@HA${vmcSEch=i35oI7rwGS*pw2dm=lprp%@2!l|ljQqU>0{LgzMoG3#S zC{l0-_MEq#Yo}IA%ey4RgY^T2NXSxfCvv*hxak>L|NkyranB;`u}o}jIed+`9Yr;l zmaw&j(6^Gz@`P+zY8&1b#E{jEcT=Su1^;~)M{uM`GIOIS8xAv+`eeMfIP=x}B>I|s zz_j(E%-0Z)xAkpxdnckf$(eh$O@u!PJw6^@--Z0}dSi?XI(3{SzcldbSjnZ)HL)eU z;*NE!OGV_UQ5{V&hKoKCVU@%CG{1NOt?BE9c=kQQK>%fNLXc@LFa-4uzC~saN+U$2 z=Yx_0Y*I8BRr3Y}y`iz}LhTB@6EBYFLugc5JKRThEc*c9{ql)=< zbHcOF!~-K~>ID9R*zngXLPEt+X%W%4V!p?psiR!DqWcR(SW^}waImMQrh2BP$TZZs zX+u(g58#aAk&^23gWf|ZH9xJ#zs!cp)r4yq_(aftPsLSpKM$gNM8O&*h&@Fnk9w%y zThF?e98_sY-0FpMkzs<3XeuM#m|WvR?^79Y!I&s0Qqqh4k73CCa4jSX0GLs-(qnIO zj(Iw6RgEu@+_3b#;#K-!k@06YyH>;<_b_;FF2OUvbV}I_d{J1eP|D(%FD#Du()rPp z4;Q-V_r6NB+ja~%dNERJLv#UvDH%>7Y8=MPzK^fU!aiTU%K*4=1eh-C?U^iyr7;1d zKbfY~iEW>a&#FKR0ug}7K=_9s(t|nB%$Gzp(9KF_k-fI1eC5crqq6(#sd7O_VN+@H zc7f7+ZpSJ~X)+oHfHn;r#V4Y%!Q4<>yoM4X5yeMeO;i|a#&6U#G%nvA@=0jB8 zsj)xiptzS1PCcLyxt^=|4Z(T=8)amMJou(0q$@Am0JOw z%MaA1XW!%%i>auc6}92@AP>}5p4@JDv za?Q>q^6*gT^`|9JpqfQE>>I}`V3czFqXy9aqZQl)fc#bxXaacyS;+xkGWLXS0Q>%T zM}U+B<5`}lG_o5dGZaqd>}AyZ>AaxkY2dr@`2!mF)YGqKU{Mcmn6w>eC>y&B6W!Y@ zXBV(I7$m@bdnlX3vrE?MZ2}fMuF9?WV&a_pO@%RPb@=dX${4uCQE)&^AJfN)@Ao!p zgRh1~_7<0YkrU*cTb~|+s`p43FA1dx;*}!Oh=V^Y)~C-Z+f>@7ewGg=!4S1h7npMy z2?b>?PWtl@WSgI$35B&bwi@E!^RiSwAK_fEA9Vv#12)s_9Y^t&AbYjqeh-4v z9E$L_1LZT`#JGB&mCZ>vwtfFYJ5DpK6|Y8o+?}%Nf(CED^m;35@a6d%%TtV^kthE^fWBwu=369cpP*_FRJ@@parf#!k6EAr?2-!Ke`*!V&nInT;3wQG(?-2) zs2v#gbSyY~LG566`S&Io7@w_8wxuv>rCmrpc`CqX!m`2*F}n4d@wHAklsIGc%TQsx zRPk`mu%?~6{yySseOPg-?cEC`I+z23(8Q0xw6lFY)wtodpE_*Z3h-a^oKDV0zRbnm z+tJiGZZ3=*Qq4i%H_1~@rDZGVSP1WC_7sqOv{sEn5R_z-3D_o6J1nH9BhZ4h8n}VV z9vFtm9tBJW}vkZMnIjvew>J zo_#ACu*p7fP{(&F7Je9lYaMUJNgqs3!`F$=`OE;vt)1M?*P&g}@l9dSUm(^@9!*?z z(8oT&s{v@}x92+YK3BJ|*cfc-honA37Yj+%GV*Rage=(@6D8(sz8p9@k+J&mD68iA zozZ#4z>+)ZgOOOQxt;w*Rs7uSw<7*i;X3MX(5UBsu__wt7P*daJtD{^8nzCAT1wj| z)2c%wd7cre2Od11c`a&;UYjKdv=RI)xENvYhiNramreS;=>=69(eec^H@JiYjDO$^$n<-WMYA|$DSB5`zQ=83L{g0(G%F>clInuJ;S!S%< zx8OOQ*2Xi~5ILV`1Rbs{LFLf*_^*=|5(vi6nDAI|SRsY85E>Kp+_GtAW>24ND$*f1 z2CksJhQE9(0(e{$<3gRF7ZoB%OXs`7*2 z4hv)U=4*2nv2xowY#eHy%PbF(`%Z?y!5h>k5aY^E_yAnc$y|@fWF^Rt0?Xl1l|lzB zCpx);T|J4tv1&Z%>GkNKaD_?X_#gNZ+LymoPPP14Nfz?K3hkzimIV>%QWfzcMLC-% zkRl&`^3uEhDKM;XK>}USAC}!Gd>3Xg{3l|L?O6u$WAH(^%#mLu zgh=BSY5$X8Fqijbn9F%(HTt(pXm7{n8!EW!(y z`!!|M9nwwMB9B2vT3m{3;m01%hIClJx_ZH2sa(CJplSN-Em??<)DSeX<(16_ouS&k zbOx!lfzwNb#@i7wR${ot#v>(5pR&Df=OPi9Lq8Nl)Ul>~Lu9D%0^6EXC~7?F;e@fe z9|8K9WP56wxQtp*6>fQ@Fp2MOe<%IxsyLEh_D!6+lWKH7RD`{69nG(SkKGy6kup-- zp8uo@Ut|QZ)`oq`K#r$R`s#X)d_gER#b7PA;yoWO{Pp=Q3CpkmHcQc-QG^TgoYF@> z%n9vTPu?!kH(-9$cj;CVm&^^Tu_BhX0*chyu<|EDW%aLX(C8T*rM@O6;0%_o!e^jo zBX7NT8WCQyD5%|2v}{h%*g_(hhhY_nM(QObEUZx3CiIw~e~F%s{I_ zIRZk&sRcDoac=@bMqLwr!^|-n*3@lE6bgL;mN{^0S(mJ23BC+ST7moIB(2DCkiz9) z9D?u}NGDTL-iinzF?&v%UDOWhXE^#?tGEIj@|M?AC(FuYCTBQ-9N~N$Wd= z*3T?O-Euw6h;Rew2)xFQplnT}c!tcH3Pb6;gQcJ)B)sSO#v+WFp%bQu9&(STUC?*4Cw8EOK%68H zapJTQPD|3YAVr=%fly=&eU&fV7!!7xXZUlg=SJL1MDu>Gf$cGz z2xpzY3{y|TEQ`NR5q_4O3zz1_5jc9>JY2g>cEs8(PHMRm(^W8Lr3TeFGQKK-h02X)ZJrQ8c;FaUdqi$C@RkeclQlk7q?v4= ze&&=%4)}UJNJb)q>AL&G>51ry`Ef?E*URV*;qpGkx+3FyFHqmFBS9NV5ZgXfAB^Xu zihc`B7eRp;_{gc~*hAMdG;YgzSCli^?pOQj-;=I*aVu@D9G2YfGlVlFwHA`#glVrB zH8VKTjXPR>Hb=+yLXI}1PhdR3tSQ>_7d&iY*u>EuyHXR+JrBU&MjSc3`gOg-<{@NL zE*5SY8AO#OSGWn-Yy98|6;e_^MReSHFI7)XY+Scv^8x&?Hsvm$(&x;Njir#G3_r;G zTY5<6XUO=7&*?_*)Rf{Fx5t(Hw$C;DZbd)*xMVZS}SX)l2G$Y=WwUQ$gjUfty)64Jlp(KKLQy@$U{DVKPTYDmxqh zed};aXh$U^F-x!2(mhtECGGXSvC4T0%uB8OJ0hp=O1UAXe-Ci)3j+yG^wf&vm~3{M za`jo>r^`E-Q81mGT}=H@ZbTv%19ga)Ur~=m$4odm=Rc2gr+r~Vr_!VYP+0b|?5=(s zs?px(Z~BUyj!-IY?k^eF#5lH=q{Vr16ORQVPt{CFOId%Ffj1fQGV{_HE1izzd7-Mo zQ+D7iSVIdBp3CH^H6ps^Gl}A6i=AM`*O%PX$s*oRzi>fxm!722_($V#>bZ!N1wW~d|L6&a98`4RZ=gArFZ z1z4EAuN3_dq2_+WliCX@*csv?;jBT!#dR2VW&mY`bSb6LDa8%V041JOC|`b9*}3J3 zG7TlYm9A?%qVRy5tx3)I|6SZi19dE{z!pbAbIsWO%{Uk*`Ln8Vdcq;?!+eoeodl`O zhb*!aO-AS1f)!N1CRs&vOnp{Jkp^G|kv0rnrSL4DC?ghr`fjkg!2!E!@y3V)7g5m2 z#yeCXn?(xidq+i|e7&{usY*dPd)D^sNdKIm*N3um2jqsonnP zM*OB3a8qv}asw1T6sS#D949jZshm@_ynlaDQ&UjgpL)wtEby#Z8dr5ehVVHFWQ(5b zQid=(kH&~OS9X=_NK_4I+-C}wQCpR0nB@9~UYScHP^K~=lu zpQ*bzu^*bsl0}6nfRF^R8F77~PMZGk0>3eZ(AJX0#xXMaTtMBGBhG8M0|`(19t^R{ z^M-u}jG9jP80C5f2;Ih098&n@9es*6wYr`0rn-wUDFeypIy+Fa4`Fg`)ORf3$oo|~ zZwh|L+LQo7s$!kDsv`It%x=8GN);;8ZOc(%)nqtZQ&itj%bn%3nU<&=Xe18fhuMPf z*J*TvAyevMWh@Ou;R0OQYIXC?gAy2vAa)o(ue*Q6^sQj%uITIfX$pwcqd7+$XSl3` zk$h*=xRF=pQA9F1w9|$xk^nfR?{W6lQA?O(KQm^Zcq#~ABUPI4UXHKk_1Uh_WX9H% zLfE@NZ2^c+IeU3$;-r@wgZ_rkGtF(G#7R*~#(9gQQse?EwTJpiI4S2<~no z>zJ;-3l2>>hN2A!@u(95RLEZ+TJQnpW6*TF?cKY{RzlfY9QhK*99z4%@zR$8cV=)E z>|k+Stq5@@%n8uJE$1m-o)w#U+gDi9A0P0uDrum^{FS6bF>WXp$h+}hniT|M7x%8- z+xo?e588vDZ24vIBwj^?L6i#f$`FNfm#3c(UI^dYI?%tLaNg|fLa;WfJE!CE*!7Z< zOVs|};Bh?R#1r|51Ta^C{R?x^`lEi9?%eG9^CpIebs|-CGL&8E1-gb9K|boXE}Sh^ zFpk8k1yX+q5NDko=kYrPNbuY`b8m79?P`Ds{&f4p!!jN^F2>a{Lpv#fJ>k7#5 zB65@A<(4Ky-)TVmxVFM0jDm*@){{eo|L>h0ohP&$6Ib1Z`zYL&8ShN zK>Iq0z4DK=bGQOS@!n#&`<0(zK{_k{{+BMMRy6@;a-k-yc%!ew#*L-C-c308SeXyT z9S~)pMXx-uJ2-G$iFWAjOSyB6D}%@~ zsDl>_{SlvJyp`Z?!>{gVk^L;(d3W5=6uhf4bZ_W`2w$UU1RE|`>ftUllZk?*&KM@M z&EG+-je*O|PKWQD@6D-ttXTppa-QbYJEtlL*aUq~%eObF97DwBbZ@xkwW9mP=g;i1 z3cv#NaXWJn*p4P+t6MHXPsA<=iYgGsxy_1h5$iT3Yy3tLRi%og{0ae?PZR^flh#*N z3A!*1azBmV6~iGN%0-60iygYwy|xZKRmaw}yA3dAFeXYCXZL<*FnwLT(E|p3Ii-6p zl!8LtHp_shyQX?5g)37i@3Kj~87dhqEEU`wjACcV`a@QVw>^K86~cZIlafgDo3j*t zlG5e3tL`YruhXr{?pp^+j?jiQ!fWmCj>CLS4Pd%5jT%A_iPY9L8}b{wh8dO_EXAe2 z3W+#1L1f3trLf46t5mP-BxB37`}7P2sj?3x%AHypJ~xJJzAt|m_@jb7pnHu-1@6S^ zL|Zfc#-|pkN%WjoQ%2FVLr#fhY}Ku4d}-K{0i`GOB=oJf?R}2>E8);@LE~{~Rz-5f zfQc};o`#x1$zZW_HDPzXu6C+M#Rj6OBtJ7VYK+Krp*81y?aSVnDVl;f<(Fd|Jz%lJ z>>sT8+IB7jl7(nuuRV}9YnCpAyIEK%p3m!^?p&@P=x#h1sRK~bmtQk!EG{9K6BeS& zx;BNqLoedPo~zl{Y7ZQ{-e84^&xgtxA^@x~-Wp6os6uM{7;tq_F(1bx((3{wjfC<6 zIX8@coOiWJ z3Fz4mP%w5wHDWNQHp6l2G;}%n$>Yhw34rs8D!vbYLWl7#l6>I+>uroAMb(#TVru@d9C9uy2>Q^10?ej@1)(E(IyM~fcdQE#KRkBL<9Xb3I z2ogofPp(?uxW2Mxy<5xmhMdF$O*DR6zRxs-g0?vug~*!=H3XBaV2qsB;}&(v&AKOT zK}TB8kZp-JD>_!~A8RCgNk9O)9QYewSTp&#zOV!LG!PqZMu==C_)nY_55DQ>5JYU3 zW{48!0T1c2p6=^Iv6G!ia;*h^}JL3_8XxS^{zsp7fJOnVY?pWtd zDJBbPi|WQK{e6b;1ZN^#WJMs9v-pyq{2e2?1PsG~B7hd4p4q57py8E`rjw%W8bB>|^ z^@*t{&UoOO`_*mE%qtA8!K%jw#X>EYVagZmzYLas85WP{oqKtw#rCp$O;>4#U01FQ zA}2zVbd*MXEnFbvhu%d$Q)-|HW7$t|;pbXwqyVOepP8l*Gaci7wbjY4tm9#(*)Lu2Ls~o18{IIPMulrRoc>}HH03aER@BgAAS7M0iIk}P5fE+2Y z%5$VCd4`%cgzlm`sofb;+MPIlM&pEV7uv3sNV#gUbXY9_`-IJCykMAOP-6HwXzLZO zZvPy+0mmrjNV_s+3j=CYyf2+3NJG$H#8;!8b5!K=Ls#@UR}|o=(g_|YpY}+E2^|x+ zc2Z-HN#Z>W>c+3gM{YW$#=|viYa_XP_)wr zcBd=~LN)W)+xGD$6U}zLyc8H~`7DCXUyZ4z@D_`FPQ0(6AN6Y521Kds?J?T!y;8i< z6eje^0V~9w)_two6GEwul+zb}7cs!Lv)$fN(EE#F@S~RB7O#0_=lu z;PHey63LNEYd5fXlff@ztN6MPYCWOib? z`5-+(!&dO$vql7dX+AMG$zRT)|HZxt#auGyaF7R3d{7y{G8p1Fxt5WVUjbc^F}8~7 zeokn@4I+d{X_gf0MFNr&F#LnR{CXXJeEm@o00=(Gy?RwM{!(Th)xoq^_c-=D^4`CC zDE#j6{8dfR?b{?5pQ>LeyDcJ8TpP{MTIG-CPL0BTfuC!h)Y=wB&f1>l5qxTi;xONt zqpJ^fa3I8C18|5Enoo!JG+&yFT?BpIB(Iv#zpwdKBI_X-YMg|Z>J*QpJCS*k(=obN zCvx%YbqH`0Qq9=suiv#ldZcSuz-??6E;K&?6skU+AiYvThg+JcA~i6g!P%C#0t0^d zaW9@&`Jg)*7oloU{CK_B8Hg48xy1>$idf5CC5jt8%~Lr=4ksG0P2Au5Nqz#6x@#oe zD4qS8uX5`kJ7B`zRy*oS2V~wd7S&ZX>AXRmWUT>8aKHd*GQ4-{3-=ua7Q49=2}RYJ z1Mxy#T{c-ZHkm9l7oqL|=xr4yM35O0hmXTd+pYP20Se6(?7w^MOFik<2VU0#pq&l5 zVr9-3u@AdWKYf2`Uc3Li&~pAFR6+QE`xWcNi8PD9&2=hyusmi?Uo+tv1!m9;Vm7xI zdtXy{eE;f0-d?Cc!lK2q6YddtyPoVAN(Va6UxbX-f6Iuq z*`&kD2mVFi2WX*Z@s;62Jnqp|j?)O*qr>z_OM)*U4AToJ8<@ze>@c4gmGhGy)Ai!Y zA`yuX%DL(X6+aD&5_ZDgSI;wAq&xoEnPY66R{XhQ2JX*8CD=b$rR*g#B!uimgzP1W zSmm^G5YNM$1~8?V)2p9)vF_`GtVCwzxCRCW`ZEknPyoJe0=sf>!iPx1I?D2ma!?tA z5tb)k#9erA0lro`nx31Rq+^vvG>}EY4jr-$c#j@d8uUu$(&zLqBhu0d7zW)-R13P= zo!o>7bjwrVI&}y$Fif3Bg*)odXnff^K!OCPJA3|6Q+$1w`kux+yKZPD#H%!*+3RHM z9>mP;@at5C=jYlJ;w<|O3C7VOVYtLtTsv{Tjrd4VK4CP8w&aof;7YO-vac#I~0JoR?R8(>7z29A7vOxO28Um)U&pl*k zU-_&;Vm=5QDRAEZaI{;N^tA&~M*g6&ZNe5d?xo1LwsTM}?AXIYbRv3ds|^95FkMZq zwv%xqi)E53uHU*h{K`ss2>bp{ry5Y*&E`r|WIrLRQez=IhlD)~P(3*sx-Ecsu4Y4+B~aCOQRq$2|&=4J8gDpu8&Tv?3jAfD+d z1_Rbvn9ZWjTJ=Z+kSWMsIp_nR6O-6!!W55K1y=l{GGilZ`^pl16X=gm4DM24_JXHE`6)PGl@ey)@?alry)B4 z0&ICZ?*JmK@EY=o0XQUC9#(PR0|^kTT!$BnQI*d$fs#@lAe{e@aZ*@B@{|5*z*Mq=r

      0#Z{Td+&juf`D6`LrjDgy-s<7vgTMR+|tQC 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 literal 0 HcmV?d00001 diff --git a/Export_DeviceSettings_202301131655289713.xlsx b/Export_DeviceSettings_202301131655289713.xlsx deleted file mode 100644 index 71f9dd3a12d00a0d541c8ce496901deba16d3039..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18225 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 V-_7zT$wC0&c+XYc7W{ej{{S*THQE3G diff --git a/Export_DeviceSettings_202304122238403461.xlsx b/Export_DeviceSettings_202304122238403461.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..47bb6365cef42420839ecfb0073d90a31d76c26f GIT binary patch literal 10870 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[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 literal 0 HcmV?d00001 diff --git a/IoTGateway.DataAccess/Migrations/20230412061736_IsUpload.Designer.cs b/IoTGateway.DataAccess/Migrations/20230412061736_IsUpload.Designer.cs new file mode 100644 index 00000000..d5305fd4 --- /dev/null +++ b/IoTGateway.DataAccess/Migrations/20230412061736_IsUpload.Designer.cs @@ -0,0 +1,871 @@ +// +using System; +using IoTGateway.DataAccess; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace IoTGateway.DataAccess.Migrations +{ + [DbContext(typeof(DataContext))] + [Migration("20230412061736_IsUpload")] + partial class IsUpload + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder.HasAnnotation("ProductVersion", "6.0.10"); + + modelBuilder.Entity("IoTGateway.Model.Device", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("AutoStart") + .HasColumnType("INTEGER"); + + b.Property("CgUpload") + .HasColumnType("INTEGER"); + + b.Property("CmdPeriod") + .HasColumnType("INTEGER"); + + b.Property("CreateBy") + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("Description") + .HasColumnType("TEXT"); + + b.Property("DeviceName") + .HasColumnType("TEXT"); + + b.Property("DeviceTypeEnum") + .HasColumnType("INTEGER"); + + b.Property("DriverId") + .HasColumnType("TEXT"); + + b.Property("EnforcePeriod") + .HasColumnType("INTEGER"); + + b.Property("Index") + .HasColumnType("INTEGER"); + + b.Property("ParentId") + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.HasIndex("DriverId"); + + b.HasIndex("ParentId"); + + b.ToTable("Devices"); + }); + + modelBuilder.Entity("IoTGateway.Model.DeviceConfig", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("DataSide") + .HasColumnType("INTEGER"); + + b.Property("Description") + .HasColumnType("TEXT"); + + b.Property("DeviceConfigName") + .HasColumnType("TEXT"); + + b.Property("DeviceId") + .HasColumnType("TEXT"); + + b.Property("EnumInfo") + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.Property("Value") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.HasIndex("DeviceId"); + + b.ToTable("DeviceConfigs"); + }); + + modelBuilder.Entity("IoTGateway.Model.DeviceVariable", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("Alias") + .HasColumnType("TEXT"); + + b.Property("DataType") + .HasColumnType("INTEGER"); + + b.Property("Description") + .HasColumnType("TEXT"); + + b.Property("DeviceAddress") + .HasColumnType("TEXT"); + + b.Property("DeviceId") + .HasColumnType("TEXT"); + + b.Property("EndianType") + .HasColumnType("INTEGER"); + + b.Property("Expressions") + .HasColumnType("TEXT"); + + b.Property("Index") + .HasColumnType("INTEGER"); + + b.Property("IsUpload") + .HasColumnType("INTEGER"); + + b.Property("Method") + .HasColumnType("TEXT"); + + b.Property("Name") + .HasColumnType("TEXT"); + + b.Property("ProtectType") + .HasColumnType("INTEGER"); + + b.HasKey("ID"); + + b.HasIndex("DeviceId"); + + b.ToTable("DeviceVariables"); + }); + + modelBuilder.Entity("IoTGateway.Model.Driver", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("AssembleName") + .HasColumnType("TEXT"); + + b.Property("AuthorizesNum") + .HasColumnType("INTEGER"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("DriverName") + .HasColumnType("TEXT"); + + b.Property("FileName") + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("Drivers"); + }); + + modelBuilder.Entity("IoTGateway.Model.RpcLog", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("Description") + .HasColumnType("TEXT"); + + b.Property("DeviceId") + .HasColumnType("TEXT"); + + b.Property("EndTime") + .HasColumnType("TEXT"); + + b.Property("IsSuccess") + .HasColumnType("INTEGER"); + + b.Property("Method") + .HasColumnType("TEXT"); + + b.Property("Params") + .HasColumnType("TEXT"); + + b.Property("RpcSide") + .HasColumnType("INTEGER"); + + b.Property("StartTime") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.HasIndex("DeviceId"); + + b.ToTable("RpcLogs"); + }); + + modelBuilder.Entity("IoTGateway.Model.SystemConfig", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("ClientId") + .HasColumnType("TEXT"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("GatewayName") + .HasColumnType("TEXT"); + + b.Property("IoTPlatformType") + .HasColumnType("INTEGER"); + + b.Property("MqttIp") + .HasColumnType("TEXT"); + + b.Property("MqttPort") + .HasColumnType("INTEGER"); + + b.Property("MqttUName") + .HasColumnType("TEXT"); + + b.Property("MqttUPwd") + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("SystemConfig"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.ActionLog", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("ActionName") + .HasMaxLength(255) + .HasColumnType("TEXT"); + + b.Property("ActionTime") + .HasColumnType("TEXT"); + + b.Property("ActionUrl") + .HasMaxLength(250) + .HasColumnType("TEXT"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("Duration") + .HasColumnType("REAL"); + + b.Property("IP") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("ITCode") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("LogType") + .HasColumnType("INTEGER"); + + b.Property("ModuleName") + .HasMaxLength(255) + .HasColumnType("TEXT"); + + b.Property("Remark") + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("ActionLogs"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.DataPrivilege", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("Domain") + .HasColumnType("TEXT"); + + b.Property("GroupCode") + .HasColumnType("TEXT"); + + b.Property("RelateId") + .HasColumnType("TEXT"); + + b.Property("TableName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.Property("UserCode") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("DataPrivileges"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FileAttachment", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("ExtraInfo") + .HasColumnType("TEXT"); + + b.Property("FileData") + .HasColumnType("BLOB"); + + b.Property("FileExt") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("TEXT"); + + b.Property("FileName") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("HandlerInfo") + .HasColumnType("TEXT"); + + b.Property("Length") + .HasColumnType("INTEGER"); + + b.Property("Path") + .HasColumnType("TEXT"); + + b.Property("SaveMode") + .HasColumnType("TEXT"); + + b.Property("UploadTime") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("FileAttachments"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkGroup", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("GroupCode") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("TEXT"); + + b.Property("GroupName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("GroupRemark") + .HasColumnType("TEXT"); + + b.Property("TenantCode") + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("FrameworkGroups"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkMenu", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("ActionName") + .HasColumnType("TEXT"); + + b.Property("ClassName") + .HasColumnType("TEXT"); + + b.Property("DisplayOrder") + .IsRequired() + .HasColumnType("INTEGER"); + + b.Property("Domain") + .HasColumnType("TEXT"); + + b.Property("FolderOnly") + .HasColumnType("INTEGER"); + + b.Property("Icon") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("IsInherit") + .HasColumnType("INTEGER"); + + b.Property("IsInside") + .IsRequired() + .HasColumnType("INTEGER"); + + b.Property("IsPublic") + .HasColumnType("INTEGER"); + + b.Property("MethodName") + .HasColumnType("TEXT"); + + b.Property("ModuleName") + .HasColumnType("TEXT"); + + b.Property("PageName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("ParentId") + .HasColumnType("TEXT"); + + b.Property("ShowOnMenu") + .HasColumnType("INTEGER"); + + b.Property("Url") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.HasIndex("ParentId"); + + b.ToTable("FrameworkMenus"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkRole", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("RoleCode") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("TEXT"); + + b.Property("RoleName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("RoleRemark") + .HasColumnType("TEXT"); + + b.Property("TenantCode") + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("FrameworkRoles"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkUser", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("Address") + .HasMaxLength(200) + .HasColumnType("TEXT"); + + b.Property("CellPhone") + .HasColumnType("TEXT"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("Email") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("Gender") + .HasColumnType("INTEGER"); + + b.Property("HomePhone") + .HasMaxLength(30) + .HasColumnType("TEXT"); + + b.Property("ITCode") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("IsValid") + .HasColumnType("INTEGER"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("Password") + .IsRequired() + .HasMaxLength(32) + .HasColumnType("TEXT"); + + b.Property("PhotoId") + .HasColumnType("TEXT"); + + b.Property("TenantCode") + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.Property("ZipCode") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.HasIndex("PhotoId"); + + b.ToTable("FrameworkUsers"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkUserGroup", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("GroupCode") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.Property("UserCode") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("FrameworkUserGroups"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkUserRole", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("RoleCode") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.Property("UserCode") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("FrameworkUserRoles"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FunctionPrivilege", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("Allowed") + .IsRequired() + .HasColumnType("INTEGER"); + + b.Property("CreateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("CreateTime") + .HasColumnType("TEXT"); + + b.Property("MenuItemId") + .HasColumnType("TEXT"); + + b.Property("RoleCode") + .HasColumnType("TEXT"); + + b.Property("UpdateBy") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UpdateTime") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.HasIndex("MenuItemId"); + + b.ToTable("FunctionPrivileges"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.PersistedGrant", b => + { + b.Property("ID") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT"); + + b.Property("CreationTime") + .HasColumnType("TEXT"); + + b.Property("Expiration") + .HasColumnType("TEXT"); + + b.Property("RefreshToken") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("Type") + .HasMaxLength(50) + .HasColumnType("TEXT"); + + b.Property("UserCode") + .HasColumnType("TEXT"); + + b.HasKey("ID"); + + b.ToTable("PersistedGrants"); + }); + + modelBuilder.Entity("IoTGateway.Model.Device", b => + { + b.HasOne("IoTGateway.Model.Driver", "Driver") + .WithMany() + .HasForeignKey("DriverId"); + + b.HasOne("IoTGateway.Model.Device", "Parent") + .WithMany("Children") + .HasForeignKey("ParentId"); + + b.Navigation("Driver"); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("IoTGateway.Model.DeviceConfig", b => + { + b.HasOne("IoTGateway.Model.Device", "Device") + .WithMany("DeviceConfigs") + .HasForeignKey("DeviceId"); + + b.Navigation("Device"); + }); + + modelBuilder.Entity("IoTGateway.Model.DeviceVariable", b => + { + b.HasOne("IoTGateway.Model.Device", "Device") + .WithMany("DeviceVariables") + .HasForeignKey("DeviceId"); + + b.Navigation("Device"); + }); + + modelBuilder.Entity("IoTGateway.Model.RpcLog", b => + { + b.HasOne("IoTGateway.Model.Device", "Device") + .WithMany() + .HasForeignKey("DeviceId"); + + b.Navigation("Device"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkMenu", b => + { + b.HasOne("WalkingTec.Mvvm.Core.FrameworkMenu", "Parent") + .WithMany("Children") + .HasForeignKey("ParentId"); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkUser", b => + { + b.HasOne("WalkingTec.Mvvm.Core.FileAttachment", "Photo") + .WithMany() + .HasForeignKey("PhotoId") + .OnDelete(DeleteBehavior.Restrict); + + b.Navigation("Photo"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FunctionPrivilege", b => + { + b.HasOne("WalkingTec.Mvvm.Core.FrameworkMenu", "MenuItem") + .WithMany("Privileges") + .HasForeignKey("MenuItemId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("MenuItem"); + }); + + modelBuilder.Entity("IoTGateway.Model.Device", b => + { + b.Navigation("Children"); + + b.Navigation("DeviceConfigs"); + + b.Navigation("DeviceVariables"); + }); + + modelBuilder.Entity("WalkingTec.Mvvm.Core.FrameworkMenu", b => + { + b.Navigation("Children"); + + b.Navigation("Privileges"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/IoTGateway.DataAccess/Migrations/20230412061736_IsUpload.cs b/IoTGateway.DataAccess/Migrations/20230412061736_IsUpload.cs new file mode 100644 index 00000000..441c322d --- /dev/null +++ b/IoTGateway.DataAccess/Migrations/20230412061736_IsUpload.cs @@ -0,0 +1,36 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace IoTGateway.DataAccess.Migrations +{ + public partial class IsUpload : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "Alias", + table: "DeviceVariables", + type: "TEXT", + nullable: true); + + migrationBuilder.AddColumn( + name: "IsUpload", + table: "DeviceVariables", + type: "INTEGER", + nullable: false, + defaultValue: false); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "Alias", + table: "DeviceVariables"); + + migrationBuilder.DropColumn( + name: "IsUpload", + table: "DeviceVariables"); + } + } +} diff --git a/IoTGateway.DataAccess/Migrations/DataContextModelSnapshot.cs b/IoTGateway.DataAccess/Migrations/DataContextModelSnapshot.cs index 73de5c25..64ded2b9 100644 --- a/IoTGateway.DataAccess/Migrations/DataContextModelSnapshot.cs +++ b/IoTGateway.DataAccess/Migrations/DataContextModelSnapshot.cs @@ -125,6 +125,9 @@ protected override void BuildModel(ModelBuilder modelBuilder) .ValueGeneratedOnAdd() .HasColumnType("TEXT"); + b.Property("Alias") + .HasColumnType("TEXT"); + b.Property("DataType") .HasColumnType("INTEGER"); @@ -146,6 +149,9 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.Property("Index") .HasColumnType("INTEGER"); + b.Property("IsUpload") + .HasColumnType("INTEGER"); + b.Property("Method") .HasColumnType("TEXT"); diff --git a/IoTGateway.Model/DeviceVariable.cs b/IoTGateway.Model/DeviceVariable.cs index 770ba456..c559fce3 100644 --- a/IoTGateway.Model/DeviceVariable.cs +++ b/IoTGateway.Model/DeviceVariable.cs @@ -1,6 +1,9 @@ using PluginInterface; using System; using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; using WalkingTec.Mvvm.Core; namespace IoTGateway.Model @@ -28,6 +31,9 @@ public class DeviceVariable : TopBasePoco, IVariable [Display(Name = "表达式")] public string Expressions { get; set; } + [Display(Name = "上传")] + public bool IsUpload { get; set; } + [Display(Name = "权限")] public ProtectTypeEnum ProtectType { get; set; } @@ -38,5 +44,24 @@ public class DeviceVariable : TopBasePoco, IVariable public Device Device { get; set; } [Display(Name = "设备")] public Guid? DeviceId { get; set; } + + [Display(Name = "别名")] + public string Alias { get; set; } + + [NotMapped] + [Display(Name = "原值")] + public object Value { get; set; } + [NotMapped] + [Display(Name = "值")] + public object CookedValue { get; set; } + [NotMapped] + public string Message { get; set; } + [NotMapped] + [Display(Name = "更新时间")] + public DateTime Timestamp { get; set; } + [NotMapped] + [Display(Name = "状态")] + [JsonConverter(typeof(StringEnumConverter))] + public VaribaleStatusTypeEnum StatusType { get; set; } = VaribaleStatusTypeEnum.UnKnow; } } \ No newline at end of file diff --git a/IoTGateway.Model/SystemConfig.cs b/IoTGateway.Model/SystemConfig.cs index b3ee9169..6a1e22ba 100644 --- a/IoTGateway.Model/SystemConfig.cs +++ b/IoTGateway.Model/SystemConfig.cs @@ -37,6 +37,6 @@ public enum IoTPlatformType [Display(Name = "ThingsCloud")] ThingsCloud = 6, [Display(Name = "华为云")] - HuaWei = 7, + HuaWei = 7 } } \ No newline at end of file diff --git a/IoTGateway.ViewModel/BasicData/DeviceConfigVMs/DeviceConfigListVM.cs b/IoTGateway.ViewModel/BasicData/DeviceConfigVMs/DeviceConfigListVM.cs index 26aaab97..ed772c89 100644 --- a/IoTGateway.ViewModel/BasicData/DeviceConfigVMs/DeviceConfigListVM.cs +++ b/IoTGateway.ViewModel/BasicData/DeviceConfigVMs/DeviceConfigListVM.cs @@ -58,7 +58,7 @@ protected override IEnumerable> InitGridHeader() return new List>{ this.MakeGridHeader(x => x.DeviceConfigName).SetWidth(100), this.MakeGridHeader(x => x.DataSide).SetWidth(100), - this.MakeGridHeader(x => x.Description).SetWidth(100), + this.MakeGridHeader(x => x.Description).SetWidth(120), this.MakeGridHeader(x => x.Value).SetWidth(100), this.MakeGridHeader(x => x.DeviceName_view).SetWidth(100), this.MakeGridHeader(x => x.EnumInfo), diff --git a/IoTGateway.ViewModel/BasicData/DeviceVMs/CopyVM.cs b/IoTGateway.ViewModel/BasicData/DeviceVMs/CopyVM.cs index 8bcd0f80..9ca4cedd 100644 --- a/IoTGateway.ViewModel/BasicData/DeviceVMs/CopyVM.cs +++ b/IoTGateway.ViewModel/BasicData/DeviceVMs/CopyVM.cs @@ -67,7 +67,7 @@ public void Copy() DC.Set().Add(newDeviceConfig); } - foreach (var deviceVariable in deviceVariables) + foreach (var deviceVariable in deviceVariables.OrderBy(x=>x.Index)) { var newDeviceVariable = new DeviceVariable { @@ -78,7 +78,9 @@ public void Copy() Method = deviceVariable.Method, ProtectType = deviceVariable.ProtectType, Expressions = deviceVariable.Expressions, - DeviceAddress = deviceVariable.DeviceAddress + DeviceAddress = deviceVariable.DeviceAddress, + Index = deviceVariable.Index, + IsUpload = deviceVariable.IsUpload }; DC.Set().Add(newDeviceVariable); diff --git a/IoTGateway.ViewModel/BasicData/DeviceVMs/DeleteDevices.cs b/IoTGateway.ViewModel/BasicData/DeviceVMs/DeleteDevices.cs index db5100f4..86689b60 100644 --- a/IoTGateway.ViewModel/BasicData/DeviceVMs/DeleteDevices.cs +++ b/IoTGateway.ViewModel/BasicData/DeviceVMs/DeleteDevices.cs @@ -38,10 +38,10 @@ public static DeleteRet doDelete(DeviceService pluginManager,IDataContext DC,Lis { var dapConfigs = DC.Set().Where(x => x.DeviceId == dap.ID).ToList(); var dapVariables = DC.Set().Where(x => x.DeviceId == dap.ID).ToList(); - var rpcLogs = DC.Set().Where(x => x.DeviceId == dap.ID).ToList(); + var rpcs = DC.Set().Where(x => x.DeviceId == dap.ID).ToList(); DC.Set().RemoveRange(dapConfigs); DC.Set().RemoveRange(dapVariables); - DC.Set().RemoveRange(rpcLogs); + DC.Set().RemoveRange(rpcs); } pluginManager.RemoveDeviceThread(dap); } diff --git a/IoTGateway.ViewModel/BasicData/DeviceVMs/DeviceListVM.cs b/IoTGateway.ViewModel/BasicData/DeviceVMs/DeviceListVM.cs index 0d4b2197..d59c266f 100644 --- a/IoTGateway.ViewModel/BasicData/DeviceVMs/DeviceListVM.cs +++ b/IoTGateway.ViewModel/BasicData/DeviceVMs/DeviceListVM.cs @@ -29,6 +29,7 @@ protected override List InitGridAction() this.MakeStandardAction("Device", GridActionStandardTypesEnum.BatchDelete, Localizer["Sys.BatchDelete"], "BasicData", dialogWidth: 800), //this.MakeStandardAction("Device", GridActionStandardTypesEnum.Import, Localizer["Sys.Import"], "BasicData", dialogWidth: 800), this.MakeStandardAction("Device", GridActionStandardTypesEnum.ExportExcel, Localizer["Sys.Export"], "BasicData"), + this.MakeAction("Device","ImportExcel","导入Excel","导入Excel", GridActionParameterTypesEnum.NoId,"BasicData",600).SetIconCls("layui-icon layui-icon-upload-circle").SetDialogTitle("导入Excel模板").SetHideOnToolBar(false).SetShowInRow(false), }; } @@ -36,15 +37,15 @@ protected override List InitGridAction() protected override IEnumerable> InitGridHeader() { return new List>{ - this.MakeGridHeader(x => x.DeviceName), - this.MakeGridHeader(x => x.Index), + this.MakeGridHeader(x => x.DeviceName).SetWidth(150), + this.MakeGridHeader(x => x.Index).SetWidth(60), //this.MakeGridHeader(x => x.Description), - this.MakeGridHeader(x => x.DriverName_view), - this.MakeGridHeader(x => x.AutoStart), - this.MakeGridHeader(x => x.CgUpload), - this.MakeGridHeader(x => x.EnforcePeriod), - this.MakeGridHeader(x => x.CmdPeriod), - this.MakeGridHeader(x => x.DeviceTypeEnum), + this.MakeGridHeader(x => x.DriverName_view).SetWidth(150), + this.MakeGridHeader(x => x.AutoStart).SetWidth(80), + this.MakeGridHeader(x => x.CgUpload).SetWidth(100), + this.MakeGridHeader(x => x.EnforcePeriod).SetWidth(110), + this.MakeGridHeader(x => x.CmdPeriod).SetWidth(110), + this.MakeGridHeader(x => x.DeviceTypeEnum).SetWidth(80), //this.MakeGridHeader(x => x.DeviceName_view), this.MakeGridHeader(x=>"copy").SetHide().SetFormat((a,b)=>{ if(a.DeviceTypeEnum== DeviceTypeEnum.Device) diff --git a/IoTGateway.ViewModel/BasicData/DeviceVMs/DeviceVM.cs b/IoTGateway.ViewModel/BasicData/DeviceVMs/DeviceVM.cs index d8d9a3f5..fafff7c1 100644 --- a/IoTGateway.ViewModel/BasicData/DeviceVMs/DeviceVM.cs +++ b/IoTGateway.ViewModel/BasicData/DeviceVMs/DeviceVM.cs @@ -22,7 +22,7 @@ public DeviceVM() protected override void InitVM() { - AllDrivers = DC.Set().GetSelectListItems(Wtm, y => y.DriverName); + AllDrivers = DC.Set().GetSelectListItems(Wtm, y => y.FileName); AllParents = DC.Set().Where(x=>x.DeviceTypeEnum== DeviceTypeEnum.Group).GetSelectListItems(Wtm, y => y.DeviceName); } diff --git a/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableBatchVM.cs b/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableBatchVM.cs index fa9bdfc0..be7a8213 100644 --- a/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableBatchVM.cs +++ b/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableBatchVM.cs @@ -59,6 +59,8 @@ public class DeviceVariable_BatchEdit : BaseVM public string Expression { get; set; } [Display(Name = "权限")] public ProtectTypeEnum? ProtectType { get; set; } + [Display(Name = "设备别名")] + public String Alias { get; set; } protected override void InitVM() { diff --git a/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableImportVM.cs b/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableImportVM.cs index dd941218..73f552d9 100644 --- a/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableImportVM.cs +++ b/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableImportVM.cs @@ -29,9 +29,13 @@ public partial class DeviceVariableTemplateVM : BaseTemplateVM public ExcelPropety EndianType_Excel = ExcelPropety.CreateProperty(x => x.EndianType); [Display(Name = "表达式")] public ExcelPropety Expressions_Excel = ExcelPropety.CreateProperty(x => x.Expressions); + [Display(Name = "上传")] + public ExcelPropety IsUpload_Excel = ExcelPropety.CreateProperty(x => x.IsUpload); [Display(Name = "权限")] public ExcelPropety ProtectType_Excel = ExcelPropety.CreateProperty(x => x.ProtectType); public ExcelPropety Device_Excel = ExcelPropety.CreateProperty(x => x.DeviceId); + [Display(Name = "设备别名")] + public ExcelPropety Alias_Excel = ExcelPropety.CreateProperty(x => x.Alias); protected override void InitVM() { diff --git a/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableListVM.cs b/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableListVM.cs index 73420e30..7b9576ad 100644 --- a/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableListVM.cs +++ b/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableListVM.cs @@ -63,22 +63,27 @@ protected override IEnumerable> InitGridHeader( return new List>{ this.MakeGridHeader(x => x.Name).SetSort(true).SetWidth(100), //this.MakeGridHeader(x => x.Description), - this.MakeGridHeader(x => x.Method).SetSort(true).SetWidth(160), - this.MakeGridHeader(x => x.DeviceAddress).SetSort(true).SetWidth(80), - this.MakeGridHeader(x => x.DataType).SetSort(true).SetWidth(80), - this.MakeGridHeader(x => x.EndianType).SetSort(true).SetWidth(120), - this.MakeGridHeader(x => x.Value).SetWidth(80).SetFormat((a,b)=>{ + this.MakeGridHeader(x => x.Method).SetSort(true).SetWidth(130), + this.MakeGridHeader(x => x.DeviceAddress).SetSort(true).SetWidth(100), + this.MakeGridHeader(x => x.DataType).SetSort(true).SetWidth(75), + this.MakeGridHeader(x => x.EndianType).SetSort(true).SetWidth(90), + this.MakeGridHeader(x => x.Value).SetWidth(95).SetFormat((a,b)=>{ return $"

      {a.Value}
      "; }), - this.MakeGridHeader(x => x.CookedValue).SetWidth(80).SetFormat((a,b)=>{ + this.MakeGridHeader(x => x.CookedValue).SetWidth(95).SetFormat((a,b)=>{ return $"
      {a.CookedValue}
      "; }), - this.MakeGridHeader(x => x.State).SetWidth(80).SetFormat((a,b)=>{ - return $"
      {a.State}
      "; + this.MakeGridHeader(x => x.StatusType).SetWidth(75).SetFormat((a,b)=>{ + return $"
      {a.StatusType}
      "; }), this.MakeGridHeader(x => x.Expressions).SetWidth(150), + this.MakeGridHeader(x => x.IsUpload).SetWidth(80), //this.MakeGridHeader(x => x.ProtectType).SetSort(true), this.MakeGridHeader(x => x.DeviceName_view).SetSort(true).SetWidth(90), + this.MakeGridHeader(x => x.Alias).SetSort(true).SetWidth(90), + this.MakeGridHeader(x => x.Timestamp).SetWidth(100).SetFormat((a,b)=>{ + return $"
      {a.Timestamp:HH:mm:ss.fff}
      "; + }), this.MakeGridHeader(x=> "detail").SetHide().SetFormat((a,b)=>{ return "false"; }), @@ -96,12 +101,15 @@ public override void AfterDoSearcher() var deviceService = Wtm.ServiceProvider.GetService(typeof(DeviceService)) as DeviceService; foreach (var item in EntityList) { - var DapThread = deviceService.DeviceThreads.Where(x => x.Device.ID == item.DeviceId).FirstOrDefault(); - if (DapThread?.DeviceValues != null && DapThread.DeviceValues.ContainsKey(item.ID)) + var dapThread = deviceService!.DeviceThreads.FirstOrDefault(x => x.Device.ID == item.DeviceId); + var variable = dapThread?.Device?.DeviceVariables?.FirstOrDefault(x => x.ID == item.ID); + + if (variable != null) { - item.Value = DapThread?.DeviceValues[item.ID]?.Value?.ToString(); - item.CookedValue = DapThread?.DeviceValues[item.ID]?.CookedValue?.ToString(); - item.State = DapThread?.DeviceValues[item.ID]?.StatusType.ToString(); + item.Value = variable.Value; + item.CookedValue = variable.CookedValue; + item.StatusType = variable.StatusType; + item.Timestamp = variable.Timestamp; } } @@ -113,6 +121,7 @@ public override IOrderedQueryable GetSearchQuery() var query = DC.Set().Include(x => x.Device) .CheckContain(Searcher.Name, x => x.Name) + .CheckContain(Searcher.Alias, x => x.Alias) .CheckContain(Searcher.Method, x => x.Method) .CheckContain(Searcher.DeviceAddress, x => x.DeviceAddress) .CheckEqual(Searcher.DataType, x => x.DataType) @@ -129,11 +138,13 @@ public override IOrderedQueryable GetSearchQuery() DataType = x.DataType, EndianType = x.EndianType, Expressions = x.Expressions, + IsUpload=x.IsUpload, ProtectType = x.ProtectType, DeviceName_view = x.Device.DeviceName, + Alias = x.Alias, Device = x.Device }) - .OrderBy(x => x.DeviceName_view).ThenBy(x => x.Index); + .OrderBy(x => x.Index).ThenBy(x => x.DeviceName_view).ThenBy(x => x.Alias).ThenBy(x => x.Method).ThenBy(x => x.DeviceAddress); return query; } @@ -196,13 +207,6 @@ public class LayuiTreeItem public class DeviceVariable_View : DeviceVariable { [Display(Name = "设备名")] - public String DeviceName_view { get; set; } - [Display(Name = "原值")] - public String Value { get; set; } - [Display(Name = "值")] - public String CookedValue { get; set; } - [Display(Name = "状态")] - public String State { get; set; } - + public string DeviceName_view { get; set; } } } diff --git a/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableSearcher.cs b/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableSearcher.cs index 33082782..849fa811 100644 --- a/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableSearcher.cs +++ b/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableSearcher.cs @@ -24,6 +24,8 @@ public partial class DeviceVariableSearcher : BaseSearcher public List AllDevices { get; set; } [Display(Name = "设备名")] public Guid? DeviceId { get; set; } + [Display(Name = "设备别名")] + public String Alias { get; set; } protected override void InitVM() { diff --git a/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableVM.cs b/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableVM.cs index 8e46c1e8..5fb9b273 100644 --- a/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableVM.cs +++ b/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/DeviceVariableVM.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Threading.Tasks; using System.ComponentModel.DataAnnotations; +using IoTGateway.DataAccess.Migrations; using WalkingTec.Mvvm.Core; using WalkingTec.Mvvm.Core.Extensions; using IoTGateway.Model; @@ -24,6 +25,7 @@ public DeviceVariableVM() protected override void InitVM() { + this.Entity.IsUpload = true; AllDevices = DC.Set().AsNoTracking().Where(x => x.DeviceTypeEnum == DeviceTypeEnum.Device) .OrderBy(x => x.Parent.Index).ThenBy(x => x.Parent.DeviceName) .OrderBy(x => x.Index).ThenBy(x => x.DeviceName) @@ -74,7 +76,7 @@ private void UpdateVaribale() } public override DuplicatedInfo SetDuplicatedCheck() { - var rv = CreateFieldsInfo(SimpleField(x => x.DeviceId), SimpleField(x => x.Name)); + var rv = CreateFieldsInfo(SimpleField(x => x.DeviceId), SimpleField(x => x.Name), SimpleField(x => x.Alias)); return rv; } } diff --git a/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/SetValueVM.cs b/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/SetValueVM.cs index 62fe29b1..ec089893 100644 --- a/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/SetValueVM.cs +++ b/IoTGateway.ViewModel/BasicData/DeviceVariableVMs/SetValueVM.cs @@ -62,12 +62,16 @@ public void Set() string deviceName = dapThread.Device.DeviceName; foreach (var variable in deviceVariables) { - if (dapThread.DeviceValues.ContainsKey(variable.ID)) + var currentVariable = dapThread!.Device.DeviceVariables.FirstOrDefault(x => x.ID == variable.ID); + + if (currentVariable!=null) { - variable.DeviceName = deviceName; - variable.RawValue = dapThread.DeviceValues[variable.ID].Value?.ToString(); - variable.Value = dapThread.DeviceValues[variable.ID].CookedValue?.ToString(); - variable.Status = dapThread.DeviceValues[variable.ID].StatusType.ToString(); + variable.DeviceName = deviceName + (!string.IsNullOrEmpty(variable.Alias) + ? $"->{variable.Alias}" + : ""); + variable.RawValue = currentVariable.Value?.ToString(); + variable.Value = currentVariable.CookedValue?.ToString(); + variable.Status = currentVariable.StatusType.ToString(); variable.SetRawValue = kv[variable.ID.ToString()]; } } @@ -123,12 +127,13 @@ protected override void InitVM() string deviceName = dapThread.Device.DeviceName; foreach (var variable in deviceVariables) { - if (dapThread.DeviceValues.ContainsKey(variable.ID)) + var currentVariable = dapThread!.Device.DeviceVariables.FirstOrDefault(x => x.ID == variable.ID); + if (currentVariable != null) { variable.DeviceName = deviceName; - variable.RawValue = dapThread.DeviceValues[variable.ID].Value?.ToString(); - variable.Value = dapThread.DeviceValues[variable.ID].CookedValue?.ToString(); - variable.Status = dapThread.DeviceValues[variable.ID].StatusType.ToString(); + variable.RawValue = currentVariable.Value?.ToString(); + variable.Value = currentVariable.CookedValue?.ToString(); + variable.Status = currentVariable.StatusType.ToString(); } } } diff --git a/IoTGateway.ViewModel/BasicData/DriverVMs/DriverListVM.cs b/IoTGateway.ViewModel/BasicData/DriverVMs/DriverListVM.cs index d8b016bd..216ac05c 100644 --- a/IoTGateway.ViewModel/BasicData/DriverVMs/DriverListVM.cs +++ b/IoTGateway.ViewModel/BasicData/DriverVMs/DriverListVM.cs @@ -52,7 +52,7 @@ public override IOrderedQueryable GetSearchQuery() AssembleName = x.AssembleName, AuthorizesNum = x.AuthorizesNum, }) - .OrderBy(x => x.ID); + .OrderBy(x => x.FileName); return query; } diff --git a/IoTGateway.ViewModel/BasicData/ExportDevicesSetting.cs b/IoTGateway.ViewModel/BasicData/ExportDevicesSetting.cs new file mode 100644 index 00000000..5c5499be --- /dev/null +++ b/IoTGateway.ViewModel/BasicData/ExportDevicesSetting.cs @@ -0,0 +1,304 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using WalkingTec.Mvvm.Core; +using WalkingTec.Mvvm.Core.Extensions; +using Microsoft.EntityFrameworkCore; +using System.ComponentModel.DataAnnotations; +using IoTGateway.Model; +using PluginInterface; +using Plugin; +using Newtonsoft.Json; +using IoTGateway.DataAccess.Migrations; +using NPOI.HSSF.Util; +using NPOI.SS.UserModel; +using NPOI.XSSF.UserModel; +using IoTGateway.ViewModel.BasicData.DeviceVariableVMs; +using IoTGateway.ViewModel.BasicData.DeviceConfigVMs; +using System.IO; +using System.Reflection; +using IoTGateway.ViewModel.Config.SystemConfigVMs; +using IoTGateway.ViewModel.BasicData.DeviceVMs; + +namespace IoTGateway.ViewModel.BasicData +{ + public class ExportDevicesSetting : BaseVM + { + #region GetData + private List GetAllDevices() + { + var queryResult = DC.Set().AsNoTracking().AsNoTracking() + .Include(x => x.Parent).Include(x => x.Driver) + .OrderBy(x => x.ParentId).ToList(); + + return queryResult; + } + + private List GetAllDeviceConfigs() + { + var queryResult = DC.Set().AsNoTracking().Include(x=>x.Device) + .OrderBy(x => x.Device.DeviceName).ThenBy(x => x.DeviceConfigName).ToList(); + return queryResult; + } + + + private List GetAllDeviceVariables() + { + var queryResult = DC.Set().AsNoTracking().Include(x => x.Device) + .OrderBy(x => x.Device.DeviceName).ThenBy(x => x.Alias).ThenBy(x => x.Method).ThenBy(x => x.Index).ThenBy(x => x.DeviceAddress).ToList(); + return queryResult; + } + + private List GetAllSystemConfigs() + { + var queryResult = DC.Set().AsNoTracking() + .AsNoTracking() + .OrderBy(x => x.ID).ToList(); + return queryResult; + } + #endregion + + #region GenerateWorkSheet + private IWorkbook GenerateDevicesSheet(IWorkbook book, List devices) + { + if (book == null) + { + book = new XSSFWorkbook(); + } + ISheet sheet = book.CreateSheet("设备维护"); + + int currentRow = 0; + + #region 生成表头 + + string[] colName = { "名称", "排序", "驱动名", "启动", "变化上传", "归档周期ms", "指令间隔ms", "类型" ,"所属组"}; + IRow row = sheet.CreateRow(currentRow); + row.HeightInPoints = 20; + + for (int i = 0; i < colName.Length; i++) + { + row.CreateCell(i).SetCellValue(colName[i]); + } + + currentRow++; + #endregion + + #region 生成数据 + foreach (var device in devices) + { + int currentCol = 0; + IRow rowData = sheet.CreateRow(currentRow); + rowData.CreateCell(currentCol).SetCellValue(device.DeviceName); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(device.Index); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(device.Driver?.DriverName); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(device.AutoStart); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(device.CgUpload); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(device.EnforcePeriod); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(device.CmdPeriod); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(PropertyHelper.GetEnumDisplayName(device.DeviceTypeEnum)); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(device.Parent?.DeviceName); + currentRow++; + } + + #endregion + + return book; + } + + private IWorkbook GenerateDeviceConfigsSheet(IWorkbook book, List deviceConfigs) + { + if (book == null) + { + book = new XSSFWorkbook(); + } + ISheet sheet = book.CreateSheet("通讯配置"); + + int currentRow = 0; + + #region 生成表头 + + string[] colName = { "设备名", "名称", "属性侧", "描述", "值", "备注" }; + IRow row = sheet.CreateRow(currentRow); + row.HeightInPoints = 20; + + for (int i = 0; i < colName.Length; i++) + { + row.CreateCell(i).SetCellValue(colName[i]); + } + + currentRow++; + #endregion + + #region 生成数据 + foreach (var deviceConfig in deviceConfigs) + { + int currentCol = 0; + IRow rowData = sheet.CreateRow(currentRow); + rowData.CreateCell(currentCol).SetCellValue(deviceConfig.Device?.DeviceName); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(deviceConfig.DeviceConfigName); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(PropertyHelper.GetEnumDisplayName(deviceConfig.DataSide)); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(deviceConfig.Description); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(deviceConfig.Value); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(deviceConfig.EnumInfo); + + currentRow++; + } + + #endregion + + return book; + } + + private IWorkbook GenerateDeviceVariablesSheet(IWorkbook book, List deviceVariables) + { + if (book == null) + { + book = new XSSFWorkbook(); + } + ISheet sheet = book.CreateSheet("变量配置"); + + int currentRow = 0; + + #region 生成表头 + + string[] colName = { "设备名", "变量名", "方法", "地址", "类型", "大小端", "表达式", "别名","上传", "排序" }; + IRow row = sheet.CreateRow(currentRow); + row.HeightInPoints = 20; + + for (int i = 0; i < colName.Length; i++) + { + row.CreateCell(i).SetCellValue(colName[i]); + } + + currentRow++; + #endregion + + #region 生成数据 + foreach (var deviceVariable in deviceVariables) + { + int currentCol = 0; + IRow rowData = sheet.CreateRow(currentRow); + rowData.CreateCell(currentCol).SetCellValue(deviceVariable.Device.DeviceName); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(deviceVariable.Name); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(deviceVariable.Method); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(deviceVariable.DeviceAddress); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(PropertyHelper.GetEnumDisplayName(deviceVariable.DataType)); //deviceVariable.DataType.ToString(); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(PropertyHelper.GetEnumDisplayName(deviceVariable.EndianType)); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(deviceVariable.Expressions); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(deviceVariable.Alias); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(deviceVariable.IsUpload); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(deviceVariable.Index); + + currentRow++; + } + + #endregion + + return book; + } + + private IWorkbook GenerateSystemConfigSheet(IWorkbook book, List systemConfigs) + { + if (book == null) + { + book = new XSSFWorkbook(); + } + ISheet sheet = book.CreateSheet("传输配置"); + + int currentRow = 0; + + #region 生成表头 + + string[] colName = { "网关名称", "ClientId", "输出平台", "Mqtt服务器", "Mqtt端口", "Mqtt用户名", "Mqtt密码" }; + IRow row = sheet.CreateRow(currentRow); + row.HeightInPoints = 20; + + for (int i = 0; i < colName.Length; i++) + { + row.CreateCell(i).SetCellValue(colName[i]); + } + + currentRow++; + #endregion + + #region 生成数据 + foreach (var systemConfig in systemConfigs) + { + int currentCol = 0; + IRow rowData = sheet.CreateRow(currentRow); + rowData.CreateCell(currentCol).SetCellValue(systemConfig.GatewayName); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(systemConfig.ClientId); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(PropertyHelper.GetEnumDisplayName(systemConfig.IoTPlatformType)); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(systemConfig.MqttIp); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(systemConfig.MqttPort); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(systemConfig.MqttUName); + currentCol++; + rowData.CreateCell(currentCol).SetCellValue(systemConfig.MqttUPwd); + currentRow++; + } + + #endregion + + return book; + } + + #endregion + + public byte[] Export() + { + byte[] result = null; + + IWorkbook book = new XSSFWorkbook(); + + //Sheet1-设备维护 + var allDevices = GetAllDevices(); + book = GenerateDevicesSheet(book, allDevices); + + //Sheet2-通讯设置 + var allDeviceVariables = GetAllDeviceVariables(); + book = GenerateDeviceVariablesSheet(book, allDeviceVariables); + + //Sheet3-变量配置 + var allDeviceConfigs = GetAllDeviceConfigs(); + book = GenerateDeviceConfigsSheet(book, allDeviceConfigs); + + //Sheet4-传输配置 + var allSystemConfigs = GetAllSystemConfigs(); + book = GenerateSystemConfigSheet(book, allSystemConfigs); + + using MemoryStream ms = new MemoryStream(); + book.Write(ms); + result = ms.ToArray(); + + return result; + } + } +} diff --git a/IoTGateway.ViewModel/BasicData/ImportExcelVM.cs b/IoTGateway.ViewModel/BasicData/ImportExcelVM.cs new file mode 100644 index 00000000..6b1c24ca --- /dev/null +++ b/IoTGateway.ViewModel/BasicData/ImportExcelVM.cs @@ -0,0 +1,284 @@ +using Microsoft.EntityFrameworkCore; +using Plugin; +using System; +using System.Collections.Generic; +using System.Linq; +using WalkingTec.Mvvm.Core; +using WalkingTec.Mvvm.Core.Extensions; +using IoTGateway.Model; +using System.ComponentModel.DataAnnotations; +using Microsoft.Extensions.DependencyInjection; +using WalkingTec.Mvvm.Core.Support.FileHandlers; +using NPOI.XSSF.UserModel; +using NPOI.SS.UserModel; +using PluginInterface; +using IoTGateway.ViewModel.BasicData.DeviceVMs; +using Microsoft.Extensions.Logging; + +namespace IoTGateway.ViewModel.BasicData +{ + public class ImportExcelVM : BaseVM + { + + [Display(Name = "全部覆盖")] + public bool Cover { get; set; } + public string 导入结果 { get; set; } + + + [Display(Name = "Excel模板文件")] + public Guid ExcelFileId { get; set; } + public FileAttachment ExcelFile { get; set; } + + private List _drivers; + private List _devices; + private List _deviceVariables; + + private Dictionary dateTypeNameMapping; + private Dictionary endianTypeNameMapping; + + public void Import() + { + using var transaction = DC.BeginTransaction(); + _drivers = DC.Set().AsNoTracking().ToList(); + var deviceService = Wtm.ServiceProvider.GetService(typeof(DeviceService)) as DeviceService; + try + { + var oldDevices = DC.Set().ToList(); + + if (true)//Cover + { + foreach (var device in oldDevices) + { + var dapConfigs = DC.Set().Where(x => x.DeviceId == device.ID).ToList(); + var dapVariables = DC.Set().Where(x => x.DeviceId == device.ID).ToList(); + var rpcs = DC.Set().Where(x => x.DeviceId == device.ID).ToList(); + //var dapGroups = DC.Set().Where(x => x.DeviceId == dap.ID).ToList(); + DC.Set().RemoveRange(dapConfigs); + DC.Set().RemoveRange(dapVariables); + DC.Set().RemoveRange(rpcs); + + deviceService.RemoveDeviceThread(device); + } + DC.Set().RemoveRange(oldDevices); + DC.SaveChanges(); + DeleteDevices.doDelete(deviceService, DC, oldDevices.Select(x => x.ID).ToList()); + } + var fp = Wtm.ServiceProvider.GetRequiredService(); + var file = fp.GetFile(ExcelFileId.ToString(), true, DC); + var xssfworkbook = new XSSFWorkbook(file.DataStream); + file.DataStream.Dispose(); + + //获取数据的Sheet页信息 + var sheetDevice = xssfworkbook.GetSheet("设备维护"); + var devices = GetDevices(sheetDevice); + DC.Set().AddRange(devices); + + var sheetVariables = xssfworkbook.GetSheet("变量配置"); + var deviceVariables = GetVariables(sheetVariables); + DC.Set().AddRange(deviceVariables); + + + var sheetDeviceConfigs = xssfworkbook.GetSheet("通讯配置"); + var deviceConfigs = GetDeviceConfigs(sheetDeviceConfigs); + DC.Set().AddRange(deviceConfigs); + + + var sheetSystemConfig = xssfworkbook.GetSheet("传输配置"); + var newSystemConfig = GetSystemConfig(sheetSystemConfig); + var systemConfig = DC.Set().First(); + systemConfig.GatewayName = newSystemConfig.GatewayName; + systemConfig.ClientId = newSystemConfig.ClientId; + systemConfig.IoTPlatformType = newSystemConfig.IoTPlatformType; + systemConfig.MqttIp = newSystemConfig.MqttIp; + systemConfig.MqttPort = newSystemConfig.MqttPort; + systemConfig.MqttUName = newSystemConfig.MqttUName; + systemConfig.MqttUPwd = newSystemConfig.MqttUPwd; + DC.SaveChanges(); + + transaction.Commit(); + + var myMqttClient = Wtm.ServiceProvider.GetService(typeof(MyMqttClient)) as MyMqttClient; + myMqttClient.StartClientAsync().Wait(); + + //重新启动采集 + foreach (var device in devices.Where(x => x.DeviceTypeEnum == DeviceTypeEnum.Device && x.DriverId != null)) + { + device.Driver = _drivers.FirstOrDefault(x => x.ID == device.DriverId); + deviceService.CreateDeviceThread(device); + } + 导入结果 = + $"成功导入{devices.Count(x => x.DeviceTypeEnum == DeviceTypeEnum.Device)}个设备,{devices.Count(x => x.DeviceTypeEnum == DeviceTypeEnum.Group)}个组"; + } + catch (Exception ex) + { + transaction.Rollback(); + 导入结果 = $"导入失败,已经回滚。{ex}"; + Console.WriteLine($"{导入结果},{ex.Message}"); + } + } + + + private List GetDevices(ISheet sheetDevice) + { + var devices = new List(); + for (int i = 1; i <= sheetDevice.LastRowNum; i++) + { + try + { + var row = sheetDevice.GetRow(i); + Device device = new Device(); + device.ID = Guid.NewGuid(); + device.DeviceName = row.GetCell(0)?.ToString(); + device.Index = uint.Parse(row.GetCell(1)?.ToString()); + device.ParentId = devices.FirstOrDefault(x => x.DeviceName == row.GetCell(8)?.ToString() && x.DeviceTypeEnum == DeviceTypeEnum.Group)?.ID; + device.DeviceTypeEnum = device.ParentId == null ? DeviceTypeEnum.Group : DeviceTypeEnum.Device; + + if (device.DeviceTypeEnum == DeviceTypeEnum.Device) + { + device.DriverId = _drivers.FirstOrDefault(x => x.DriverName == row.GetCell(2)?.ToString())?.ID; + device.AutoStart = row.GetCell(3).BooleanCellValue; + device.CgUpload = row.GetCell(4).BooleanCellValue; + device.EnforcePeriod = uint.Parse(row.GetCell(5)?.ToString()); + device.CmdPeriod = uint.Parse(row.GetCell(6)?.ToString()); + } + devices.Add(device); + } + catch (Exception e) + { + Console.WriteLine(e); + } + } + + _devices = devices; + return devices; + } + + private List GetVariables(ISheet sheet) + { + DateTypeNameMapping(); + EndianNameMapping(); + + var deviceVariables = new List(); + for (int i = 1; i <= sheet.LastRowNum; i++) + { + try + { + var row = sheet.GetRow(i); + var variable = new DeviceVariable(); + variable.ID = Guid.NewGuid(); + variable.DeviceId = _devices.FirstOrDefault(x => x.DeviceName == row.GetCell(0)?.ToString())?.ID; + variable.Name = row.GetCell(1)?.ToString(); + variable.Method = row.GetCell(2)?.ToString(); + variable.DeviceAddress = row.GetCell(3)?.ToString(); + variable.DataType = dateTypeNameMapping.ContainsKey(row.GetCell(4)?.ToString()) ? dateTypeNameMapping[row.GetCell(4)?.ToString()] : DataTypeEnum.Any; + variable.EndianType = endianTypeNameMapping.ContainsKey(row.GetCell(5)?.ToString()) ? endianTypeNameMapping[row.GetCell(5)?.ToString()] : EndianEnum.None; + variable.Expressions = row.GetCell(6)?.ToString(); + variable.Alias = row.GetCell(7)?.ToString(); + variable.IsUpload = row.GetCell(8)?.ToString().ToLower() == "false" ? false : true; + variable.Index = string.IsNullOrWhiteSpace(row.GetCell(9)?.ToString()) + ? 999 + : uint.Parse(row.GetCell(9).ToString()); + + deviceVariables.Add(variable); + } + catch (Exception e) + { + Console.WriteLine(e); + } + } + + _deviceVariables = deviceVariables; + return deviceVariables; + } + + private List GetDeviceConfigs(ISheet sheet) + { + var deviceConfigs = new List(); + for (int i = 1; i <= sheet.LastRowNum; i++) + { + try + { + var row = sheet.GetRow(i); + var config = new DeviceConfig(); + config.ID = Guid.NewGuid(); + config.DeviceId = _devices.FirstOrDefault(x => x.DeviceName == row.GetCell(0)?.ToString())?.ID; + config.DeviceConfigName = row.GetCell(1)?.ToString(); + config.DataSide = row.GetCell(2)?.ToString() == "共享属性" ? DataSide.AnySide : DataSide.ClientSide; + config.Description = row.GetCell(3)?.ToString(); + config.Value = row.GetCell(4)?.ToString(); + config.EnumInfo = row.GetCell(5)?.ToString(); + + deviceConfigs.Add(config); + } + catch (Exception e) + { + Console.WriteLine(e); + } + } + + + return deviceConfigs; + } + + private SystemConfig GetSystemConfig(ISheet sheet) + { + var systemConfig = new SystemConfig(); + for (int i = 1; i <= 1; i++) + { + try + { + var row = sheet.GetRow(i); + systemConfig.GatewayName = row.GetCell(0)?.ToString(); + systemConfig.ClientId = row.GetCell(1)?.ToString(); + systemConfig.IoTPlatformType = IoTPlatformType.IoTSharp; + systemConfig.MqttIp = row.GetCell(3)?.ToString(); + systemConfig.MqttPort = int.Parse(row.GetCell(4)?.ToString()); + systemConfig.MqttUName = row.GetCell(5)?.ToString(); + systemConfig.MqttUPwd = row.GetCell(6)?.ToString(); + } + catch (Exception e) + { + Console.WriteLine(e); + } + } + + + return systemConfig; + } + + protected void DateTypeNameMapping() + { + dateTypeNameMapping = new Dictionary(); + + var enumType = typeof(DataTypeEnum); + var displayAttributeType = typeof(DisplayAttribute); + DataTypeEnum? found = null; + + foreach (var name in Enum.GetNames(enumType)) + { + var member = enumType.GetMember(name).First(); + var displayAttrib = (DisplayAttribute)member.GetCustomAttributes(displayAttributeType, false).First(); + dateTypeNameMapping.Add(displayAttrib.Name, (DataTypeEnum)Enum.Parse(enumType, name)); + } + + } + + protected void EndianNameMapping() + { + endianTypeNameMapping = new Dictionary(); + + var enumType = typeof(EndianEnum); + var displayAttributeType = typeof(DisplayAttribute); + EndianEnum? found = null; + + Enum.GetNames(enumType).ToList().ForEach(name => + { + var member = enumType.GetMember(name).First(); + var displayAttrib = (DisplayAttribute)member.GetCustomAttributes(displayAttributeType, false).First(); + endianTypeNameMapping.Add(displayAttrib.Name, (EndianEnum)Enum.Parse(enumType, name)); + }); + + } + + } +} diff --git a/IoTGateway.sln b/IoTGateway.sln index d491364d..9ba8878f 100644 --- a/IoTGateway.sln +++ b/IoTGateway.sln @@ -27,27 +27,43 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PluginInterface", "Plugins\ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Drivers", "Drivers", "{D05CFF72-D58C-418A-8F52-B06848DAC4F1}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DriverAllenBradley", "Plugins\Drivers\DriverAllenBradley\DriverAllenBradley.csproj", "{3106F31C-0502-42D3-A27B-BDD2199D72CC}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PLC.ModBusMaster", "Plugins\Drivers\PLC.ModBusMaster\PLC.ModBusMaster.csproj", "{B6D55C31-E1B9-4A59-9BD1-A531EC5306A9}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DriverMitsubishi", "Plugins\Drivers\DriverMitsubishi\DriverMitsubishi.csproj", "{8919CDA5-23A6-4C04-87F9-C83DF4BEF357}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CNC.Fanuc", "Plugins\Drivers\CNC.Fanuc\CNC.Fanuc.csproj", "{C7C873AE-1346-454F-B37C-F278524452EA}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DriverModbusMaster", "Plugins\Drivers\DriverModbusMaster\DriverModbusMaster.csproj", "{8E2D91DC-DEE4-4843-8D09-6FC06651527E}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PLC.AllenBradley", "Plugins\Drivers\PLC.AllenBradley\PLC.AllenBradley.csproj", "{42E1D556-D4B4-4DE0-BFAC-EC18EFC85AE7}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DriverMTConnect", "Plugins\Drivers\DriverMTConnect\DriverMTConnect.csproj", "{64D4C755-33DD-4103-908B-82FA63C5BFB2}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PLC", "PLC", "{1606D516-3865-4F57-9199-93091CF546F5}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DriverOPCUaClient", "Plugins\Drivers\DriverOPCUaClient\DriverOPCUaClient.csproj", "{AAC81E6C-C62E-4F52-85B5-1EA8D54AE9F6}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Building", "Building", "{FFE700D9-F02F-4973-9D9E-0B370D00D5C1}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DriverSiemensS7", "Plugins\Drivers\DriverSiemensS7\DriverSiemensS7.csproj", "{28FEF3AF-4CAA-4B5C-B16F-E74BAD70BCE2}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CNC", "CNC", "{789C3203-3CE0-466C-A4F0-4B405406B94A}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DriverOmronFins", "Plugins\Drivers\DriverOmronFins\DriverOmronFins.csproj", "{FE2BFDBD-E021-45EA-B327-C56F6114D7A1}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Energy", "Energy", "{49BBB20D-6453-40C2-A9C7-F77DBCB95974}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DriverSimTcpClient", "Plugins\Drivers\DriverSimTcpClient\DriverSimTcpClient.csproj", "{F8EC5EDE-9A2C-443B-B125-E39C748EBB2F}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Other", "Other", "{912978D3-65E6-4029-ABEF-9673F3225605}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DriverFanucHsl", "Plugins\Drivers\DriverFanucHsl\DriverFanucHsl.csproj", "{10D22B6E-DE30-4F11-A005-8188DF549F72}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Other.Toledo", "Plugins\Drivers\Other.Toledo\Other.Toledo.csproj", "{22938881-111F-438C-8FE2-2053BD2C97AA}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DriverFanuc", "Plugins\Drivers\DriverFanuc\DriverFanuc.csproj", "{41F81606-1728-4A03-AE64-FA2CCF49BE5A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CNC.Fanuc.H", "Plugins\Drivers\CNC.Fanuc.H\CNC.Fanuc.H.csproj", "{FBB004B6-2422-472B-AE5F-46CBE841EFF8}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DriverOPCDaClient", "Plugins\Drivers\DriverOPCDaClient\DriverOPCDaClient.csproj", "{00FDB860-1A25-40D0-B29E-BAF2253713D6}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PLC.MelsecMc", "Plugins\Drivers\PLC.MelsecMc\PLC.MelsecMc.csproj", "{35074354-AF67-468D-A0F3-4DA9000912D3}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PLC.SiemensS7", "Plugins\Drivers\PLC.SiemensS7\PLC.SiemensS7.csproj", "{DACBF090-B59F-4962-9B93-B00F9E031F57}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CNC.MTConnect", "Plugins\Drivers\CNC.MTConnect\CNC.MTConnect.csproj", "{4CE60A0C-0B7D-49D6-880E-D28782693586}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PLC.OmronFins", "Plugins\Drivers\PLC.OmronFins\PLC.OmronFins.csproj", "{F5CAB900-BB39-48F4-A1AF-AD84491BECF8}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OPC", "OPC", "{F8957F78-9D5D-4905-9EFC-EEEBA3A3A13F}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OPC.DaClient", "Plugins\Drivers\OPC.DaClient\OPC.DaClient.csproj", "{43732FDC-59DD-4D16-9BF0-B9CD431CA8A4}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OPC.UaClient", "Plugins\Drivers\OPC.UaClient\OPC.UaClient.csproj", "{0C82F208-B9B3-485D-A6DD-9ADC59FBF831}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Mock", "Mock", "{87954B15-5C35-4454-AFC7-9DCE8066D5A0}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mock.TcpClient", "Plugins\Drivers\Mock.TcpClient\Mock.TcpClient.csproj", "{1DE34C11-5461-442B-8C67-FCB0247C09D3}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -129,94 +145,102 @@ Global {7752AD8C-04BF-4BD2-9272-CDA4F78FA954}.Release|Any CPU.Build.0 = Release|Any CPU {7752AD8C-04BF-4BD2-9272-CDA4F78FA954}.Release|x86.ActiveCfg = Release|Any CPU {7752AD8C-04BF-4BD2-9272-CDA4F78FA954}.Release|x86.Build.0 = Release|Any CPU - {3106F31C-0502-42D3-A27B-BDD2199D72CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3106F31C-0502-42D3-A27B-BDD2199D72CC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3106F31C-0502-42D3-A27B-BDD2199D72CC}.Debug|x86.ActiveCfg = Debug|Any CPU - {3106F31C-0502-42D3-A27B-BDD2199D72CC}.Debug|x86.Build.0 = Debug|Any CPU - {3106F31C-0502-42D3-A27B-BDD2199D72CC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3106F31C-0502-42D3-A27B-BDD2199D72CC}.Release|Any CPU.Build.0 = Release|Any CPU - {3106F31C-0502-42D3-A27B-BDD2199D72CC}.Release|x86.ActiveCfg = Release|Any CPU - {3106F31C-0502-42D3-A27B-BDD2199D72CC}.Release|x86.Build.0 = Release|Any CPU - {8919CDA5-23A6-4C04-87F9-C83DF4BEF357}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8919CDA5-23A6-4C04-87F9-C83DF4BEF357}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8919CDA5-23A6-4C04-87F9-C83DF4BEF357}.Debug|x86.ActiveCfg = Debug|Any CPU - {8919CDA5-23A6-4C04-87F9-C83DF4BEF357}.Debug|x86.Build.0 = Debug|Any CPU - {8919CDA5-23A6-4C04-87F9-C83DF4BEF357}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8919CDA5-23A6-4C04-87F9-C83DF4BEF357}.Release|Any CPU.Build.0 = Release|Any CPU - {8919CDA5-23A6-4C04-87F9-C83DF4BEF357}.Release|x86.ActiveCfg = Release|Any CPU - {8919CDA5-23A6-4C04-87F9-C83DF4BEF357}.Release|x86.Build.0 = Release|Any CPU - {8E2D91DC-DEE4-4843-8D09-6FC06651527E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8E2D91DC-DEE4-4843-8D09-6FC06651527E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8E2D91DC-DEE4-4843-8D09-6FC06651527E}.Debug|x86.ActiveCfg = Debug|Any CPU - {8E2D91DC-DEE4-4843-8D09-6FC06651527E}.Debug|x86.Build.0 = Debug|Any CPU - {8E2D91DC-DEE4-4843-8D09-6FC06651527E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8E2D91DC-DEE4-4843-8D09-6FC06651527E}.Release|Any CPU.Build.0 = Release|Any CPU - {8E2D91DC-DEE4-4843-8D09-6FC06651527E}.Release|x86.ActiveCfg = Release|Any CPU - {8E2D91DC-DEE4-4843-8D09-6FC06651527E}.Release|x86.Build.0 = Release|Any CPU - {64D4C755-33DD-4103-908B-82FA63C5BFB2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {64D4C755-33DD-4103-908B-82FA63C5BFB2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {64D4C755-33DD-4103-908B-82FA63C5BFB2}.Debug|x86.ActiveCfg = Debug|Any CPU - {64D4C755-33DD-4103-908B-82FA63C5BFB2}.Debug|x86.Build.0 = Debug|Any CPU - {64D4C755-33DD-4103-908B-82FA63C5BFB2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {64D4C755-33DD-4103-908B-82FA63C5BFB2}.Release|Any CPU.Build.0 = Release|Any CPU - {64D4C755-33DD-4103-908B-82FA63C5BFB2}.Release|x86.ActiveCfg = Release|Any CPU - {64D4C755-33DD-4103-908B-82FA63C5BFB2}.Release|x86.Build.0 = Release|Any CPU - {AAC81E6C-C62E-4F52-85B5-1EA8D54AE9F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {AAC81E6C-C62E-4F52-85B5-1EA8D54AE9F6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AAC81E6C-C62E-4F52-85B5-1EA8D54AE9F6}.Debug|x86.ActiveCfg = Debug|Any CPU - {AAC81E6C-C62E-4F52-85B5-1EA8D54AE9F6}.Debug|x86.Build.0 = Debug|Any CPU - {AAC81E6C-C62E-4F52-85B5-1EA8D54AE9F6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {AAC81E6C-C62E-4F52-85B5-1EA8D54AE9F6}.Release|Any CPU.Build.0 = Release|Any CPU - {AAC81E6C-C62E-4F52-85B5-1EA8D54AE9F6}.Release|x86.ActiveCfg = Release|Any CPU - {AAC81E6C-C62E-4F52-85B5-1EA8D54AE9F6}.Release|x86.Build.0 = Release|Any CPU - {28FEF3AF-4CAA-4B5C-B16F-E74BAD70BCE2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {28FEF3AF-4CAA-4B5C-B16F-E74BAD70BCE2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {28FEF3AF-4CAA-4B5C-B16F-E74BAD70BCE2}.Debug|x86.ActiveCfg = Debug|Any CPU - {28FEF3AF-4CAA-4B5C-B16F-E74BAD70BCE2}.Debug|x86.Build.0 = Debug|Any CPU - {28FEF3AF-4CAA-4B5C-B16F-E74BAD70BCE2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {28FEF3AF-4CAA-4B5C-B16F-E74BAD70BCE2}.Release|Any CPU.Build.0 = Release|Any CPU - {28FEF3AF-4CAA-4B5C-B16F-E74BAD70BCE2}.Release|x86.ActiveCfg = Release|Any CPU - {28FEF3AF-4CAA-4B5C-B16F-E74BAD70BCE2}.Release|x86.Build.0 = Release|Any CPU - {FE2BFDBD-E021-45EA-B327-C56F6114D7A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {FE2BFDBD-E021-45EA-B327-C56F6114D7A1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FE2BFDBD-E021-45EA-B327-C56F6114D7A1}.Debug|x86.ActiveCfg = Debug|Any CPU - {FE2BFDBD-E021-45EA-B327-C56F6114D7A1}.Debug|x86.Build.0 = Debug|Any CPU - {FE2BFDBD-E021-45EA-B327-C56F6114D7A1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {FE2BFDBD-E021-45EA-B327-C56F6114D7A1}.Release|Any CPU.Build.0 = Release|Any CPU - {FE2BFDBD-E021-45EA-B327-C56F6114D7A1}.Release|x86.ActiveCfg = Release|Any CPU - {FE2BFDBD-E021-45EA-B327-C56F6114D7A1}.Release|x86.Build.0 = Release|Any CPU - {F8EC5EDE-9A2C-443B-B125-E39C748EBB2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F8EC5EDE-9A2C-443B-B125-E39C748EBB2F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F8EC5EDE-9A2C-443B-B125-E39C748EBB2F}.Debug|x86.ActiveCfg = Debug|Any CPU - {F8EC5EDE-9A2C-443B-B125-E39C748EBB2F}.Debug|x86.Build.0 = Debug|Any CPU - {F8EC5EDE-9A2C-443B-B125-E39C748EBB2F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F8EC5EDE-9A2C-443B-B125-E39C748EBB2F}.Release|Any CPU.Build.0 = Release|Any CPU - {F8EC5EDE-9A2C-443B-B125-E39C748EBB2F}.Release|x86.ActiveCfg = Release|Any CPU - {F8EC5EDE-9A2C-443B-B125-E39C748EBB2F}.Release|x86.Build.0 = Release|Any CPU - {10D22B6E-DE30-4F11-A005-8188DF549F72}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {10D22B6E-DE30-4F11-A005-8188DF549F72}.Debug|Any CPU.Build.0 = Debug|Any CPU - {10D22B6E-DE30-4F11-A005-8188DF549F72}.Debug|x86.ActiveCfg = Debug|Any CPU - {10D22B6E-DE30-4F11-A005-8188DF549F72}.Debug|x86.Build.0 = Debug|Any CPU - {10D22B6E-DE30-4F11-A005-8188DF549F72}.Release|Any CPU.ActiveCfg = Release|Any CPU - {10D22B6E-DE30-4F11-A005-8188DF549F72}.Release|Any CPU.Build.0 = Release|Any CPU - {10D22B6E-DE30-4F11-A005-8188DF549F72}.Release|x86.ActiveCfg = Release|x86 - {10D22B6E-DE30-4F11-A005-8188DF549F72}.Release|x86.Build.0 = Release|x86 - {41F81606-1728-4A03-AE64-FA2CCF49BE5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {41F81606-1728-4A03-AE64-FA2CCF49BE5A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {41F81606-1728-4A03-AE64-FA2CCF49BE5A}.Debug|x86.ActiveCfg = Debug|Any CPU - {41F81606-1728-4A03-AE64-FA2CCF49BE5A}.Debug|x86.Build.0 = Debug|Any CPU - {41F81606-1728-4A03-AE64-FA2CCF49BE5A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {41F81606-1728-4A03-AE64-FA2CCF49BE5A}.Release|Any CPU.Build.0 = Release|Any CPU - {41F81606-1728-4A03-AE64-FA2CCF49BE5A}.Release|x86.ActiveCfg = Release|Any CPU - {41F81606-1728-4A03-AE64-FA2CCF49BE5A}.Release|x86.Build.0 = Release|Any CPU - {00FDB860-1A25-40D0-B29E-BAF2253713D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {00FDB860-1A25-40D0-B29E-BAF2253713D6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {00FDB860-1A25-40D0-B29E-BAF2253713D6}.Debug|x86.ActiveCfg = Debug|Any CPU - {00FDB860-1A25-40D0-B29E-BAF2253713D6}.Debug|x86.Build.0 = Debug|Any CPU - {00FDB860-1A25-40D0-B29E-BAF2253713D6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {00FDB860-1A25-40D0-B29E-BAF2253713D6}.Release|Any CPU.Build.0 = Release|Any CPU - {00FDB860-1A25-40D0-B29E-BAF2253713D6}.Release|x86.ActiveCfg = Release|Any CPU - {00FDB860-1A25-40D0-B29E-BAF2253713D6}.Release|x86.Build.0 = Release|Any CPU + {B6D55C31-E1B9-4A59-9BD1-A531EC5306A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B6D55C31-E1B9-4A59-9BD1-A531EC5306A9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B6D55C31-E1B9-4A59-9BD1-A531EC5306A9}.Debug|x86.ActiveCfg = Debug|Any CPU + {B6D55C31-E1B9-4A59-9BD1-A531EC5306A9}.Debug|x86.Build.0 = Debug|Any CPU + {B6D55C31-E1B9-4A59-9BD1-A531EC5306A9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B6D55C31-E1B9-4A59-9BD1-A531EC5306A9}.Release|Any CPU.Build.0 = Release|Any CPU + {B6D55C31-E1B9-4A59-9BD1-A531EC5306A9}.Release|x86.ActiveCfg = Release|Any CPU + {B6D55C31-E1B9-4A59-9BD1-A531EC5306A9}.Release|x86.Build.0 = Release|Any CPU + {C7C873AE-1346-454F-B37C-F278524452EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C7C873AE-1346-454F-B37C-F278524452EA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C7C873AE-1346-454F-B37C-F278524452EA}.Debug|x86.ActiveCfg = Debug|Any CPU + {C7C873AE-1346-454F-B37C-F278524452EA}.Debug|x86.Build.0 = Debug|Any CPU + {C7C873AE-1346-454F-B37C-F278524452EA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C7C873AE-1346-454F-B37C-F278524452EA}.Release|Any CPU.Build.0 = Release|Any CPU + {C7C873AE-1346-454F-B37C-F278524452EA}.Release|x86.ActiveCfg = Release|Any CPU + {C7C873AE-1346-454F-B37C-F278524452EA}.Release|x86.Build.0 = Release|Any CPU + {42E1D556-D4B4-4DE0-BFAC-EC18EFC85AE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {42E1D556-D4B4-4DE0-BFAC-EC18EFC85AE7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {42E1D556-D4B4-4DE0-BFAC-EC18EFC85AE7}.Debug|x86.ActiveCfg = Debug|Any CPU + {42E1D556-D4B4-4DE0-BFAC-EC18EFC85AE7}.Debug|x86.Build.0 = Debug|Any CPU + {42E1D556-D4B4-4DE0-BFAC-EC18EFC85AE7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {42E1D556-D4B4-4DE0-BFAC-EC18EFC85AE7}.Release|Any CPU.Build.0 = Release|Any CPU + {42E1D556-D4B4-4DE0-BFAC-EC18EFC85AE7}.Release|x86.ActiveCfg = Release|Any CPU + {42E1D556-D4B4-4DE0-BFAC-EC18EFC85AE7}.Release|x86.Build.0 = Release|Any CPU + {22938881-111F-438C-8FE2-2053BD2C97AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {22938881-111F-438C-8FE2-2053BD2C97AA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {22938881-111F-438C-8FE2-2053BD2C97AA}.Debug|x86.ActiveCfg = Debug|Any CPU + {22938881-111F-438C-8FE2-2053BD2C97AA}.Debug|x86.Build.0 = Debug|Any CPU + {22938881-111F-438C-8FE2-2053BD2C97AA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {22938881-111F-438C-8FE2-2053BD2C97AA}.Release|Any CPU.Build.0 = Release|Any CPU + {22938881-111F-438C-8FE2-2053BD2C97AA}.Release|x86.ActiveCfg = Release|Any CPU + {22938881-111F-438C-8FE2-2053BD2C97AA}.Release|x86.Build.0 = Release|Any CPU + {FBB004B6-2422-472B-AE5F-46CBE841EFF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FBB004B6-2422-472B-AE5F-46CBE841EFF8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FBB004B6-2422-472B-AE5F-46CBE841EFF8}.Debug|x86.ActiveCfg = Debug|Any CPU + {FBB004B6-2422-472B-AE5F-46CBE841EFF8}.Debug|x86.Build.0 = Debug|Any CPU + {FBB004B6-2422-472B-AE5F-46CBE841EFF8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FBB004B6-2422-472B-AE5F-46CBE841EFF8}.Release|Any CPU.Build.0 = Release|Any CPU + {FBB004B6-2422-472B-AE5F-46CBE841EFF8}.Release|x86.ActiveCfg = Release|Any CPU + {FBB004B6-2422-472B-AE5F-46CBE841EFF8}.Release|x86.Build.0 = Release|Any CPU + {35074354-AF67-468D-A0F3-4DA9000912D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {35074354-AF67-468D-A0F3-4DA9000912D3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {35074354-AF67-468D-A0F3-4DA9000912D3}.Debug|x86.ActiveCfg = Debug|Any CPU + {35074354-AF67-468D-A0F3-4DA9000912D3}.Debug|x86.Build.0 = Debug|Any CPU + {35074354-AF67-468D-A0F3-4DA9000912D3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {35074354-AF67-468D-A0F3-4DA9000912D3}.Release|Any CPU.Build.0 = Release|Any CPU + {35074354-AF67-468D-A0F3-4DA9000912D3}.Release|x86.ActiveCfg = Release|Any CPU + {35074354-AF67-468D-A0F3-4DA9000912D3}.Release|x86.Build.0 = Release|Any CPU + {DACBF090-B59F-4962-9B93-B00F9E031F57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DACBF090-B59F-4962-9B93-B00F9E031F57}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DACBF090-B59F-4962-9B93-B00F9E031F57}.Debug|x86.ActiveCfg = Debug|Any CPU + {DACBF090-B59F-4962-9B93-B00F9E031F57}.Debug|x86.Build.0 = Debug|Any CPU + {DACBF090-B59F-4962-9B93-B00F9E031F57}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DACBF090-B59F-4962-9B93-B00F9E031F57}.Release|Any CPU.Build.0 = Release|Any CPU + {DACBF090-B59F-4962-9B93-B00F9E031F57}.Release|x86.ActiveCfg = Release|Any CPU + {DACBF090-B59F-4962-9B93-B00F9E031F57}.Release|x86.Build.0 = Release|Any CPU + {4CE60A0C-0B7D-49D6-880E-D28782693586}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4CE60A0C-0B7D-49D6-880E-D28782693586}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4CE60A0C-0B7D-49D6-880E-D28782693586}.Debug|x86.ActiveCfg = Debug|Any CPU + {4CE60A0C-0B7D-49D6-880E-D28782693586}.Debug|x86.Build.0 = Debug|Any CPU + {4CE60A0C-0B7D-49D6-880E-D28782693586}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4CE60A0C-0B7D-49D6-880E-D28782693586}.Release|Any CPU.Build.0 = Release|Any CPU + {4CE60A0C-0B7D-49D6-880E-D28782693586}.Release|x86.ActiveCfg = Release|Any CPU + {4CE60A0C-0B7D-49D6-880E-D28782693586}.Release|x86.Build.0 = Release|Any CPU + {F5CAB900-BB39-48F4-A1AF-AD84491BECF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F5CAB900-BB39-48F4-A1AF-AD84491BECF8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F5CAB900-BB39-48F4-A1AF-AD84491BECF8}.Debug|x86.ActiveCfg = Debug|Any CPU + {F5CAB900-BB39-48F4-A1AF-AD84491BECF8}.Debug|x86.Build.0 = Debug|Any CPU + {F5CAB900-BB39-48F4-A1AF-AD84491BECF8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F5CAB900-BB39-48F4-A1AF-AD84491BECF8}.Release|Any CPU.Build.0 = Release|Any CPU + {F5CAB900-BB39-48F4-A1AF-AD84491BECF8}.Release|x86.ActiveCfg = Release|Any CPU + {F5CAB900-BB39-48F4-A1AF-AD84491BECF8}.Release|x86.Build.0 = Release|Any CPU + {43732FDC-59DD-4D16-9BF0-B9CD431CA8A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {43732FDC-59DD-4D16-9BF0-B9CD431CA8A4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {43732FDC-59DD-4D16-9BF0-B9CD431CA8A4}.Debug|x86.ActiveCfg = Debug|Any CPU + {43732FDC-59DD-4D16-9BF0-B9CD431CA8A4}.Debug|x86.Build.0 = Debug|Any CPU + {43732FDC-59DD-4D16-9BF0-B9CD431CA8A4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {43732FDC-59DD-4D16-9BF0-B9CD431CA8A4}.Release|Any CPU.Build.0 = Release|Any CPU + {43732FDC-59DD-4D16-9BF0-B9CD431CA8A4}.Release|x86.ActiveCfg = Release|Any CPU + {43732FDC-59DD-4D16-9BF0-B9CD431CA8A4}.Release|x86.Build.0 = Release|Any CPU + {0C82F208-B9B3-485D-A6DD-9ADC59FBF831}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0C82F208-B9B3-485D-A6DD-9ADC59FBF831}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0C82F208-B9B3-485D-A6DD-9ADC59FBF831}.Debug|x86.ActiveCfg = Debug|Any CPU + {0C82F208-B9B3-485D-A6DD-9ADC59FBF831}.Debug|x86.Build.0 = Debug|Any CPU + {0C82F208-B9B3-485D-A6DD-9ADC59FBF831}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0C82F208-B9B3-485D-A6DD-9ADC59FBF831}.Release|Any CPU.Build.0 = Release|Any CPU + {0C82F208-B9B3-485D-A6DD-9ADC59FBF831}.Release|x86.ActiveCfg = Release|Any CPU + {0C82F208-B9B3-485D-A6DD-9ADC59FBF831}.Release|x86.Build.0 = Release|Any CPU + {1DE34C11-5461-442B-8C67-FCB0247C09D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1DE34C11-5461-442B-8C67-FCB0247C09D3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1DE34C11-5461-442B-8C67-FCB0247C09D3}.Debug|x86.ActiveCfg = Debug|Any CPU + {1DE34C11-5461-442B-8C67-FCB0247C09D3}.Debug|x86.Build.0 = Debug|Any CPU + {1DE34C11-5461-442B-8C67-FCB0247C09D3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1DE34C11-5461-442B-8C67-FCB0247C09D3}.Release|Any CPU.Build.0 = Release|Any CPU + {1DE34C11-5461-442B-8C67-FCB0247C09D3}.Release|x86.ActiveCfg = Release|Any CPU + {1DE34C11-5461-442B-8C67-FCB0247C09D3}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -228,17 +252,25 @@ Global {5C12EBFB-B152-48C6-AA52-71128F246594} = {2C665127-D9D0-445E-80A9-FD459673D454} {7752AD8C-04BF-4BD2-9272-CDA4F78FA954} = {2C665127-D9D0-445E-80A9-FD459673D454} {D05CFF72-D58C-418A-8F52-B06848DAC4F1} = {2C665127-D9D0-445E-80A9-FD459673D454} - {3106F31C-0502-42D3-A27B-BDD2199D72CC} = {D05CFF72-D58C-418A-8F52-B06848DAC4F1} - {8919CDA5-23A6-4C04-87F9-C83DF4BEF357} = {D05CFF72-D58C-418A-8F52-B06848DAC4F1} - {8E2D91DC-DEE4-4843-8D09-6FC06651527E} = {D05CFF72-D58C-418A-8F52-B06848DAC4F1} - {64D4C755-33DD-4103-908B-82FA63C5BFB2} = {D05CFF72-D58C-418A-8F52-B06848DAC4F1} - {AAC81E6C-C62E-4F52-85B5-1EA8D54AE9F6} = {D05CFF72-D58C-418A-8F52-B06848DAC4F1} - {28FEF3AF-4CAA-4B5C-B16F-E74BAD70BCE2} = {D05CFF72-D58C-418A-8F52-B06848DAC4F1} - {FE2BFDBD-E021-45EA-B327-C56F6114D7A1} = {D05CFF72-D58C-418A-8F52-B06848DAC4F1} - {F8EC5EDE-9A2C-443B-B125-E39C748EBB2F} = {D05CFF72-D58C-418A-8F52-B06848DAC4F1} - {10D22B6E-DE30-4F11-A005-8188DF549F72} = {D05CFF72-D58C-418A-8F52-B06848DAC4F1} - {41F81606-1728-4A03-AE64-FA2CCF49BE5A} = {D05CFF72-D58C-418A-8F52-B06848DAC4F1} - {00FDB860-1A25-40D0-B29E-BAF2253713D6} = {D05CFF72-D58C-418A-8F52-B06848DAC4F1} + {B6D55C31-E1B9-4A59-9BD1-A531EC5306A9} = {1606D516-3865-4F57-9199-93091CF546F5} + {C7C873AE-1346-454F-B37C-F278524452EA} = {789C3203-3CE0-466C-A4F0-4B405406B94A} + {42E1D556-D4B4-4DE0-BFAC-EC18EFC85AE7} = {1606D516-3865-4F57-9199-93091CF546F5} + {1606D516-3865-4F57-9199-93091CF546F5} = {D05CFF72-D58C-418A-8F52-B06848DAC4F1} + {FFE700D9-F02F-4973-9D9E-0B370D00D5C1} = {D05CFF72-D58C-418A-8F52-B06848DAC4F1} + {789C3203-3CE0-466C-A4F0-4B405406B94A} = {D05CFF72-D58C-418A-8F52-B06848DAC4F1} + {49BBB20D-6453-40C2-A9C7-F77DBCB95974} = {D05CFF72-D58C-418A-8F52-B06848DAC4F1} + {912978D3-65E6-4029-ABEF-9673F3225605} = {D05CFF72-D58C-418A-8F52-B06848DAC4F1} + {22938881-111F-438C-8FE2-2053BD2C97AA} = {912978D3-65E6-4029-ABEF-9673F3225605} + {FBB004B6-2422-472B-AE5F-46CBE841EFF8} = {789C3203-3CE0-466C-A4F0-4B405406B94A} + {35074354-AF67-468D-A0F3-4DA9000912D3} = {1606D516-3865-4F57-9199-93091CF546F5} + {DACBF090-B59F-4962-9B93-B00F9E031F57} = {1606D516-3865-4F57-9199-93091CF546F5} + {4CE60A0C-0B7D-49D6-880E-D28782693586} = {789C3203-3CE0-466C-A4F0-4B405406B94A} + {F5CAB900-BB39-48F4-A1AF-AD84491BECF8} = {1606D516-3865-4F57-9199-93091CF546F5} + {F8957F78-9D5D-4905-9EFC-EEEBA3A3A13F} = {D05CFF72-D58C-418A-8F52-B06848DAC4F1} + {43732FDC-59DD-4D16-9BF0-B9CD431CA8A4} = {F8957F78-9D5D-4905-9EFC-EEEBA3A3A13F} + {0C82F208-B9B3-485D-A6DD-9ADC59FBF831} = {F8957F78-9D5D-4905-9EFC-EEEBA3A3A13F} + {87954B15-5C35-4454-AFC7-9DCE8066D5A0} = {D05CFF72-D58C-418A-8F52-B06848DAC4F1} + {1DE34C11-5461-442B-8C67-FCB0247C09D3} = {87954B15-5C35-4454-AFC7-9DCE8066D5A0} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {1F219808-E6E8-4C1D-B846-41F2F7CF20FA} diff --git a/IoTGateway/Areas/BasicData/Controllers/DeviceController.cs b/IoTGateway/Areas/BasicData/Controllers/DeviceController.cs index c3b83b81..7fe64cce 100644 --- a/IoTGateway/Areas/BasicData/Controllers/DeviceController.cs +++ b/IoTGateway/Areas/BasicData/Controllers/DeviceController.cs @@ -6,6 +6,7 @@ using WalkingTec.Mvvm.Core.Extensions; using IoTGateway.ViewModel.BasicData.DeviceVMs; using Plugin; +using IoTGateway.ViewModel.BasicData; namespace IoTGateway.Controllers { @@ -253,7 +254,18 @@ public ActionResult Import(DeviceImportVM vm, IFormCollection nouse) [HttpPost] public IActionResult ExportExcel(DeviceListVM vm) { - return vm.GetExportData(); + ExportDevicesSetting myExporter = new ExportDevicesSetting(); + myExporter.DC = vm.DC; + var data = myExporter.Export(); + + string ContentType = "application/vnd.ms-excel"; + string exportName = "DeviceSettings"; + exportName = $"Export_{exportName}_{DateTime.Now.ToString("yyyyMMddHHmmssffff")}.xlsx"; + FileContentResult Result = new FileContentResult(data, ContentType); + Result.FileDownloadName = exportName; + return Result; + + //return vm.GetExportData(); } #region 设备复制 @@ -307,5 +319,30 @@ public IActionResult GetMethods(Guid? ID) { return JsonMore(_DeviceService.GetDriverMethods(ID)); } + + + #region 导入Excel + [ActionDescription("导入Excel")] + public ActionResult ImportExcel() + { + var vm = Wtm.CreateVM(); + return PartialView(vm); + } + + [HttpPost] + [ActionDescription("导入Excel")] + public ActionResult ImportExcel(ImportExcelVM vm) + { + if (!ModelState.IsValid) + { + return PartialView(vm); + } + else + { + vm.Import(); + return FFResult().CloseDialog().RefreshGrid().Alert($"{vm.导入结果}"); + } + } + #endregion } } diff --git a/IoTGateway/Areas/BasicData/Views/Device/ImportExcel.cshtml b/IoTGateway/Areas/BasicData/Views/Device/ImportExcel.cshtml new file mode 100644 index 00000000..e23308d3 --- /dev/null +++ b/IoTGateway/Areas/BasicData/Views/Device/ImportExcel.cshtml @@ -0,0 +1,18 @@ +@model IoTGateway.ViewModel.BasicData.ImportExcelVM +@inject IStringLocalizer Localizer; + + + + + 导入会删除系统内所有设备 + + + @**@ + + + + + + + + diff --git a/IoTGateway/Areas/BasicData/Views/DeviceVariable/BatchEdit.cshtml b/IoTGateway/Areas/BasicData/Views/DeviceVariable/BatchEdit.cshtml index d902dba8..af545499 100644 --- a/IoTGateway/Areas/BasicData/Views/DeviceVariable/BatchEdit.cshtml +++ b/IoTGateway/Areas/BasicData/Views/DeviceVariable/BatchEdit.cshtml @@ -10,6 +10,7 @@ + diff --git a/IoTGateway/Areas/BasicData/Views/DeviceVariable/Create.cshtml b/IoTGateway/Areas/BasicData/Views/DeviceVariable/Create.cshtml index 3c606e5e..73af4120 100644 --- a/IoTGateway/Areas/BasicData/Views/DeviceVariable/Create.cshtml +++ b/IoTGateway/Areas/BasicData/Views/DeviceVariable/Create.cshtml @@ -11,8 +11,10 @@ - + + + 表达式可以进行简单的数学计算,其中raw为原值参与计算 diff --git a/IoTGateway/Areas/BasicData/Views/DeviceVariable/Details.cshtml b/IoTGateway/Areas/BasicData/Views/DeviceVariable/Details.cshtml index f71ed932..cf51744a 100644 --- a/IoTGateway/Areas/BasicData/Views/DeviceVariable/Details.cshtml +++ b/IoTGateway/Areas/BasicData/Views/DeviceVariable/Details.cshtml @@ -12,6 +12,7 @@ + diff --git a/IoTGateway/Areas/BasicData/Views/DeviceVariable/Edit.cshtml b/IoTGateway/Areas/BasicData/Views/DeviceVariable/Edit.cshtml index a425d323..5f209671 100644 --- a/IoTGateway/Areas/BasicData/Views/DeviceVariable/Edit.cshtml +++ b/IoTGateway/Areas/BasicData/Views/DeviceVariable/Edit.cshtml @@ -12,7 +12,9 @@ + + 表达式可以进行简单的数学计算,其中raw为原值参与计算 diff --git a/IoTGateway/Areas/BasicData/Views/DeviceVariable/Index.cshtml b/IoTGateway/Areas/BasicData/Views/DeviceVariable/Index.cshtml index aaf96abb..5f07d168 100644 --- a/IoTGateway/Areas/BasicData/Views/DeviceVariable/Index.cshtml +++ b/IoTGateway/Areas/BasicData/Views/DeviceVariable/Index.cshtml @@ -10,6 +10,7 @@ + Modbus驱动已支持大小端 @@ -22,39 +23,53 @@ clientId: 'mqttjs_' + (Math.random() * 10000000).toString() } var client = mqtt.connect('ws://' + window.location.host + '/mqtt', options); - client.on('connect', function () { - client.subscribe('internal/v1/gateway/telemetry/+/+', function (err) { - if (!err) { - console.log("订阅成功!") - } else { - console.log(err) - } - }) - }) + client.on('connect', + function() { + client.subscribe('internal/v1/gateway/telemetry/+/+', + function(err) { + if (!err) { + console.log("订阅成功!"); + } else { + console.log(err); + } + }); + }); - client.on('message', function (topic, message) { - var objmsg = $.parseJSON(message.toString()); + client.on('message', + function(topic, message) { + var objmsg = $.parseJSON(message.toString()); - //原值 - $('#id' + objmsg.VarId + '_Value').text(objmsg.Value); - $('#id' + objmsg.VarId + '_Value').addClass('animated bounceIn'); - setTimeout(function(){ - $('#id' + objmsg.VarId + '_Value').removeClass('bounceIn'); - }, 1500); + //原值 + $('#id' + objmsg.VarId + '_Value').text(objmsg.Value); + $('#id' + objmsg.VarId + '_Value').addClass('animated bounceIn'); + setTimeout(function() { + $('#id' + objmsg.VarId + '_Value').removeClass('bounceIn'); + }, + 1500); - //加工值 - $('#id' + objmsg.VarId + '_CookedValue').text(objmsg.CookedValue); - $('#id' + objmsg.VarId + '_CookedValue').addClass('animated bounceIn'); - setTimeout(function(){ - $('#id' + objmsg.VarId + '_CookedValue').removeClass('bounceIn'); - }, 1500); + //加工值 + $('#id' + objmsg.VarId + '_CookedValue').text(objmsg.CookedValue); + $('#id' + objmsg.VarId + '_CookedValue').addClass('animated bounceIn'); + setTimeout(function() { + $('#id' + objmsg.VarId + '_CookedValue').removeClass('bounceIn'); + }, + 1500); - //状态 - $('#id' + objmsg.VarId + '_State').text(objmsg.StatusType); - $('#id' + objmsg.VarId + '_State').addClass('animated bounceIn'); - setTimeout(function(){ - $('#id' + objmsg.VarId + '_State').removeClass('bounceIn'); - }, 1500); - }) + //状态 + $('#id' + objmsg.VarId + '_State').text(objmsg.StatusType); + $('#id' + objmsg.VarId + '_State').addClass('animated bounceIn'); + setTimeout(function() { + $('#id' + objmsg.VarId + '_State').removeClass('bounceIn'); + }, + 1500); + + //时间 + $('#id' + objmsg.VarId + '_Timestamp').text(objmsg.Timestamp); + $('#id' + objmsg.VarId + '_Timestamp').addClass('animated bounceIn'); + setTimeout(function () { + $('#id' + objmsg.VarId + '_Timestamp').removeClass('bounceIn'); + }, + 1500); + }); } \ No newline at end of file diff --git a/IoTGateway/Areas/Config/Views/SystemConfig/Index.cshtml b/IoTGateway/Areas/Config/Views/SystemConfig/Index.cshtml index 5adf3968..33eef27a 100644 --- a/IoTGateway/Areas/Config/Views/SystemConfig/Index.cshtml +++ b/IoTGateway/Areas/Config/Views/SystemConfig/Index.cshtml @@ -5,5 +5,5 @@ -注意:目前实现了iotsharp、thingsboard、thingscloud、iotdb的遥测、属性上传以及RPC功能 +注意:目前实现了iotsharp、thingsboard、thingscloud的遥测、属性上传以及RPC功能 diff --git a/IoTGateway/Controllers/HomeController.cs b/IoTGateway/Controllers/HomeController.cs index 5d8a0251..ace7a915 100644 --- a/IoTGateway/Controllers/HomeController.cs +++ b/IoTGateway/Controllers/HomeController.cs @@ -83,14 +83,14 @@ public IActionResult GetDeviceVariableChart() data.Add(new ChartData { Category = deviceThread.Device.DeviceName, - Value = deviceThread.DeviceValues.Where(x => x.Value.StatusType != VaribaleStatusTypeEnum.Good).Count(), + Value = deviceThread.Device.DeviceVariables.Count(x => x.StatusType != VaribaleStatusTypeEnum.Good), Series = "Others" }); data.Add(new ChartData { Category = deviceThread.Device.DeviceName, - Value = deviceThread.DeviceValues.Where(x => x.Value.StatusType == VaribaleStatusTypeEnum.Good).Count(), + Value = deviceThread.Device.DeviceVariables.Count(x => x.StatusType == VaribaleStatusTypeEnum.Good), Series = "Good" }); diff --git a/IoTGateway/IoTGateway.csproj b/IoTGateway/IoTGateway.csproj index d9091a41..efddc811 100644 --- a/IoTGateway/IoTGateway.csproj +++ b/IoTGateway/IoTGateway.csproj @@ -1,50 +1,33 @@ - - - - net6.0 - true - InProcess - zh-Hans,en - true - Linux - x86 - - - - - - - - - + + + + net6.0 + true + InProcess + zh-Hans,en + true + Linux + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/IoTGateway/Properties/PublishProfiles/FolderProfile.pubxml b/IoTGateway/Properties/PublishProfiles/FolderProfile.pubxml index 627b19d7..8c620795 100644 --- a/IoTGateway/Properties/PublishProfiles/FolderProfile.pubxml +++ b/IoTGateway/Properties/PublishProfiles/FolderProfile.pubxml @@ -15,8 +15,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. net6.0 68abbdf2-1485-4756-9a94-6afa874d69a3 - false + true win-x64 - false \ No newline at end of file diff --git a/IoTGateway/Properties/PublishProfiles/FolderProfile.pubxml.user b/IoTGateway/Properties/PublishProfiles/FolderProfile.pubxml.user index 51e9e2e8..18471ff3 100644 --- a/IoTGateway/Properties/PublishProfiles/FolderProfile.pubxml.user +++ b/IoTGateway/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. <_PublishTargetUrl>D:\000000-IIoTGateway\00000-iotgateway\IoTGateway\bin\Release\net6.0\publish\ - True|2022-08-30T12:02:03.8144013Z;True|2022-08-30T19:59:49.6042620+08:00;True|2022-08-30T19:52:02.8823029+08:00;True|2022-08-30T19:36:54.3646619+08:00;True|2022-07-15T22:49:16.0563176+08:00;True|2022-07-15T22:48:07.3189129+08:00;True|2022-07-15T22:44:35.7670375+08:00;True|2022-07-15T22:40:17.0184184+08:00;True|2022-06-09T15:43:47.6180879+08:00;True|2022-06-09T15:42:06.6021355+08:00;False|2022-06-09T15:41:10.3444145+08:00;False|2022-06-09T15:39:22.0048230+08:00;False|2022-06-09T15:37:35.5049088+08:00;True|2022-06-09T15:34:27.8095097+08:00;True|2022-06-09T15:33:30.9577399+08:00;False|2022-06-09T15:29:58.9432537+08:00;False|2022-06-09T15:29:15.9735490+08:00;True|2022-06-09T15:27:02.3333134+08:00;True|2022-06-09T15:18:02.0623963+08:00;True|2022-01-24T23:31:28.3620602+08:00;True|2022-01-24T23:30:03.8991942+08:00;True|2022-01-24T23:23:16.4288882+08:00;True|2021-12-24T19:18:19.0736393+08:00;True|2021-12-24T16:46:49.1192015+08:00;True|2021-12-24T16:23:28.9214784+08:00;True|2021-12-24T15:20:08.6401847+08:00;True|2021-12-17T19:11:07.1655146+08:00;True|2021-12-12T14:11:08.8380502+08:00; + True|2023-02-27T03:39:28.6812515Z;True|2023-02-20T16:42:44.7526644+08:00;True|2023-02-20T16:12:12.9091659+08:00;True|2023-02-20T09:51:20.5504880+08:00;True|2023-02-20T09:35:31.1757073+08:00;True|2023-01-13T15:48:56.7869969+08:00;True|2022-11-21T15:59:03.8927175+08:00;True|2022-11-21T15:58:06.9464735+08:00;True|2022-11-21T15:57:24.8426888+08:00;True|2022-11-21T15:55:06.1675530+08:00;True|2022-10-20T22:40:01.3534004+08:00;True|2022-08-30T20:02:03.8144013+08:00;True|2022-08-30T19:59:49.6042620+08:00;True|2022-08-30T19:52:02.8823029+08:00;True|2022-08-30T19:36:54.3646619+08:00;True|2022-07-15T22:49:16.0563176+08:00;True|2022-07-15T22:48:07.3189129+08:00;True|2022-07-15T22:44:35.7670375+08:00;True|2022-07-15T22:40:17.0184184+08:00;True|2022-06-09T15:43:47.6180879+08:00;True|2022-06-09T15:42:06.6021355+08:00;False|2022-06-09T15:41:10.3444145+08:00;False|2022-06-09T15:39:22.0048230+08:00;False|2022-06-09T15:37:35.5049088+08:00;True|2022-06-09T15:34:27.8095097+08:00;True|2022-06-09T15:33:30.9577399+08:00;False|2022-06-09T15:29:58.9432537+08:00;False|2022-06-09T15:29:15.9735490+08:00;True|2022-06-09T15:27:02.3333134+08:00;True|2022-06-09T15:18:02.0623963+08:00;True|2022-01-24T23:31:28.3620602+08:00;True|2022-01-24T23:30:03.8991942+08:00;True|2022-01-24T23:23:16.4288882+08:00;True|2021-12-24T19:18:19.0736393+08:00;True|2021-12-24T16:46:49.1192015+08:00;True|2021-12-24T16:23:28.9214784+08:00;True|2021-12-24T15:20:08.6401847+08:00;True|2021-12-17T19:11:07.1655146+08:00;True|2021-12-12T14:11:08.8380502+08:00; \ No newline at end of file diff --git a/IoTGateway/Views/Home/FrontPage.cshtml b/IoTGateway/Views/Home/FrontPage.cshtml index 3372db14..ebe00e96 100644 --- a/IoTGateway/Views/Home/FrontPage.cshtml +++ b/IoTGateway/Views/Home/FrontPage.cshtml @@ -56,14 +56,6 @@ -
      -
      -
      技术支持
      -
      - -
      -
      -
      设备状态
      @@ -72,7 +64,7 @@
      -
      +
      设备变量状态
      @@ -80,15 +72,6 @@
      - -
      -
      -
      公众号
      -
      - -
      -
      -
      访问分布TODO
      diff --git a/IoTGateway/Views/Login/Login.cshtml b/IoTGateway/Views/Login/Login.cshtml index b7627345..1e7654fb 100644 --- a/IoTGateway/Views/Login/Login.cshtml +++ b/IoTGateway/Views/Login/Login.cshtml @@ -37,8 +37,8 @@

      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%0D#*dLX*eM?mL#!aVpCtM-N#KrKO#|}(d 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 gEv(-%%5O{J)WekufewbqvhIJq^liEXNe_z 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%0DPAV{f3%8yUys=IsIc6mtacdVG$EzxnV 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