@infernus/core 0.13.2 → 0.13.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/dist/bundle.d.ts +100 -81
- package/dist/bundle.js +3 -3
- package/dist/bundle.mjs +3 -3
- package/package.json +2 -2
package/dist/bundle.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";var Hi=require("node:util"),Ui=require("iconv-lite"),vt=(e=>(e[e.DOWNLOAD_REQUEST_EMPTY=0]="DOWNLOAD_REQUEST_EMPTY",e[e.DOWNLOAD_REQUEST_MODEL_FILE=1]="DOWNLOAD_REQUEST_MODEL_FILE",e[e.DOWNLOAD_REQUEST_TEXTURE_FILE=2]="DOWNLOAD_REQUEST_TEXTURE_FILE",e))(vt||{}),bt=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(bt||{}),ct=(e=>(e[e.MSGBOX=0]="MSGBOX",e[e.INPUT=1]="INPUT",e[e.LIST=2]="LIST",e[e.PASSWORD=3]="PASSWORD",e[e.TABLIST=4]="TABLIST",e[e.TABLIST_HEADERS=5]="TABLIST_HEADERS",e))(ct||{}),Lt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(Lt||{}),wt=(e=>(e[e.NO_ACTION=0]="NO_ACTION",e[e.DISCONNECT_ASAP=1]="DISCONNECT_ASAP",e[e.DISCONNECT_ASAP_SILENTLY=2]="DISCONNECT_ASAP_SILENTLY",e[e.DISCONNECT_ON_NO_ACK=3]="DISCONNECT_ON_NO_ACK",e[e.REQUESTED_CONNECTION=4]="REQUESTED_CONNECTION",e[e.HANDLING_CONNECTION_REQUEST=5]="HANDLING_CONNECTION_REQUEST",e[e.UNVERIFIED_SENDER=6]="UNVERIFIED_SENDER",e[e.SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET=7]="SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET",e[e.CONNECTED=8]="CONNECTED",e))(wt||{}),l=(e=>(e[e.NO_TEAM=255]="NO_TEAM",e[e.PLAYER_ID=65535]="PLAYER_ID",e[e.NPC_ID=-1]="NPC_ID",e[e.PATH_ID=-1]="PATH_ID",e[e.NODE_ID=-1]="NODE_ID",e[e.RECORD_ID=-1]="RECORD_ID",e[e.VEHICLE_ID=65535]="VEHICLE_ID",e[e.ACTOR_ID=65535]="ACTOR_ID",e[e.OBJECT_ID=65535]="OBJECT_ID",e[e.MENU=-1]="MENU",e[e.TEXT_DRAW=65535]="TEXT_DRAW",e[e.PLAYER_TEXT_DRAW=65535]="PLAYER_TEXT_DRAW",e[e.GANG_ZONE=-1]="GANG_ZONE",e[e._3DTEXT_ID=65535]="_3DTEXT_ID",e[e.PLAYER_3DTEXT_ID=65535]="PLAYER_3DTEXT_ID",e[e.PICKUP_ID=-1]="PICKUP_ID",e))(l||{}),Rt=(e=>(e[e.NONE=0]="NONE",e[e.ACTION=1]="ACTION",e[e.CROUCH=2]="CROUCH",e[e.FIRE=4]="FIRE",e[e.SPRINT=8]="SPRINT",e[e.SECONDARY_ATTACK=16]="SECONDARY_ATTACK",e[e.JUMP=32]="JUMP",e[e.LOOK_RIGHT=64]="LOOK_RIGHT",e[e.HANDBRAKE=128]="HANDBRAKE",e[e.LOOK_LEFT=256]="LOOK_LEFT",e[e.SUBMISSION=512]="SUBMISSION",e[e.LOOK_BEHIND=512]="LOOK_BEHIND",e[e.WALK=1024]="WALK",e[e.ANALOG_UP=2048]="ANALOG_UP",e[e.ANALOG_DOWN=4096]="ANALOG_DOWN",e[e.ANALOG_LEFT=8192]="ANALOG_LEFT",e[e.ANALOG_RIGHT=16384]="ANALOG_RIGHT",e[e.YES=65536]="YES",e[e.NO=131072]="NO",e[e.CTRL_BACK=262144]="CTRL_BACK",e[e.KEY_UP=-128]="KEY_UP",e[e.KEY_DOWN=128]="KEY_DOWN",e[e.KEY_LEFT=-128]="KEY_LEFT",e[e.KEY_RIGHT=128]="KEY_RIGHT",e))(Rt||{}),H=(e=>(e[e.MAX_PLAYER_NAME=24]="MAX_PLAYER_NAME",e[e.MAX_PLAYERS=1e3]="MAX_PLAYERS",e[e.MAX_VEHICLES=2e3]="MAX_VEHICLES",e[e.MAX_ACTORS=1e3]="MAX_ACTORS",e[e.MAX_OBJECTS=1e3]="MAX_OBJECTS",e[e.MAX_GANG_ZONES=1024]="MAX_GANG_ZONES",e[e.MAX_TEXT_DRAWS=2048]="MAX_TEXT_DRAWS",e[e.MAX_PLAYER_TEXT_DRAWS=256]="MAX_PLAYER_TEXT_DRAWS",e[e.MAX_MENUS=128]="MAX_MENUS",e[e.MAX_MENU_ROW=12]="MAX_MENU_ROW",e[e.MAX_MENU_COL=2]="MAX_MENU_COL",e[e.MAX_3DTEXT_GLOBAL=1024]="MAX_3DTEXT_GLOBAL",e[e.MAX_3DTEXT_PLAYER=1024]="MAX_3DTEXT_PLAYER",e[e.MAX_PICKUPS=4096]="MAX_PICKUPS",e[e.MAX_PLAYER_ATTACHED_OBJECTS=10]="MAX_PLAYER_ATTACHED_OBJECTS",e[e.MAX_CHATBUBBLE_LENGTH=144]="MAX_CHATBUBBLE_LENGTH",e[e.NPC_MAX_NODES=64]="NPC_MAX_NODES",e[e.MAX_NPCS=1e3]="MAX_NPCS",e[e.MAX_WORLD_BOUNDS=2e4]="MAX_WORLD_BOUNDS",e[e.MIN_WORLD_BOUNDS=-2e4]="MIN_WORLD_BOUNDS",e[e.MAX_TEXTDRAW_STR_LENGTH=800]="MAX_TEXTDRAW_STR_LENGTH",e[e.MAX_VEHICLE_CARRIAGES=3]="MAX_VEHICLE_CARRIAGES",e[e.MAX_GAMETEXT_STYLES=16]="MAX_GAMETEXT_STYLES",e[e.MIN_CUSTOM_SKIN_ID=20001]="MIN_CUSTOM_SKIN_ID",e[e.MAX_CUSTOM_SKIN_ID=3e4]="MAX_CUSTOM_SKIN_ID",e[e.MIN_CUSTOM_OBJECT_ID=-3e4]="MIN_CUSTOM_OBJECT_ID",e[e.MAX_CUSTOM_OBJECT_ID=-1e3]="MAX_CUSTOM_OBJECT_ID",e))(H||{}),Ot=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(Ot||{}),Gt=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(Gt||{}),jt=(e=>(e[e.NONE=0]="NONE",e[e.START=1]="START",e[e.PAUSE=2]="PAUSE",e))(jt||{}),it=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.WALK=1]="WALK",e[e.JOG=2]="JOG",e[e.SPRINT=3]="SPRINT",e[e.DRIVE=4]="DRIVE",e[e.AUTO=5]="AUTO",e))(it||{}),Xe=(e=>(e[e.NONE=0]="NONE",e[e.PLAYER=1]="PLAYER",e[e.NPC=2]="NPC",e[e.ACTOR=4]="ACTOR",e[e.VEHICLE=8]="VEHICLE",e[e.OBJECT=16]="OBJECT",e[e.POBJECT_ORIG=32]="POBJECT_ORIG",e[e.POBJECT_TARG=64]="POBJECT_TARG",e[e.MAP=128]="MAP",e[e.ALL=255]="ALL",e))(Xe||{}),Re=(e=>(e[e.AUTO=-1]="AUTO",e[e.WALK=.1552086]="WALK",e[e.JOG=.56444]="JOG",e[e.SPRINT=.926784]="SPRINT",e))(Re||{}),Ft=(e=>(e[e._32x32=10]="_32x32",e[e._64x32=20]="_64x32",e[e._64x64=30]="_64x64",e[e._128x32=40]="_128x32",e[e._128x64=50]="_128x64",e[e._128x128=60]="_128x128",e[e._256x32=70]="_256x32",e[e._256x64=80]="_256x64",e[e._256x128=90]="_256x128",e[e._256x256=100]="_256x256",e[e._512x64=110]="_512x64",e[e._512x128=120]="_512x128",e[e._512x256=130]="_512x256",e[e._512x512=140]="_512x512",e))(Ft||{}),Mt=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Mt||{}),ge=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(ge||{}),dt=(e=>(e[e.NORMAL=0]="NORMAL",e[e.BOXING=1]="BOXING",e[e.KUNGFU=2]="KUNGFU",e[e.KNEEHEAD=3]="KNEEHEAD",e[e.GRABKICK=4]="GRABKICK",e[e.ELBOW=5]="ELBOW",e))(dt||{}),Bt=(e=>(e[e.LOCAL=0]="LOCAL",e[e.GLOBAL=1]="GLOBAL",e[e.LOCAL_CHECKPOINT=2]="LOCAL_CHECKPOINT",e[e.GLOBAL_CHECKPOINT=3]="GLOBAL_CHECKPOINT",e))(Bt||{}),Ze=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(Ze||{}),Vt=(e=>(e[e.BEHINDCAR=3]="BEHINDCAR",e[e.FOLLOWPED=4]="FOLLOWPED",e[e.SNIPER=7]="SNIPER",e[e.ROCKETLAUNCHER=8]="ROCKETLAUNCHER",e[e.FIXED=15]="FIXED",e[e._1STPERSON=16]="_1STPERSON",e[e.CAM_ON_A_STRING=18]="CAM_ON_A_STRING",e[e.BEHINDBOAT=22]="BEHINDBOAT",e[e.CAMERA=46]="CAMERA",e[e.ROCKETLAUNCHER_HS=51]="ROCKETLAUNCHER_HS",e[e.AIMWEAPON=53]="AIMWEAPON",e[e.AIMWEAPON_FROMCAR=55]="AIMWEAPON_FROMCAR",e[e.DW_HELI_CHASE=56]="DW_HELI_CHASE",e[e.DW_CAM_MAN=57]="DW_CAM_MAN",e[e.DW_BIRDY=58]="DW_BIRDY",e[e.DW_PLANE_SPOTTER=59]="DW_PLANE_SPOTTER",e[e.DW_PLANECAM1=62]="DW_PLANECAM1",e[e.DW_PLANECAM2=63]="DW_PLANECAM2",e[e.DW_PLANECAM3=64]="DW_PLANECAM3",e))(Vt||{}),at=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(at||{}),Ye=(e=>(e[e.NONE=0]="NONE",e[e.ONFOOT=1]="ONFOOT",e[e.DRIVER=2]="DRIVER",e[e.PASSENGER=3]="PASSENGER",e[e.EXIT_VEHICLE=4]="EXIT_VEHICLE",e[e.ENTER_VEHICLE_DRIVER=5]="ENTER_VEHICLE_DRIVER",e[e.ENTER_VEHICLE_PASSENGER=6]="ENTER_VEHICLE_PASSENGER",e[e.WASTED=7]="WASTED",e[e.SPAWNED=8]="SPAWNED",e[e.SPECTATING=9]="SPECTATING",e))(Ye||{}),kt=(e=>(e[e.TORSO=3]="TORSO",e[e.GROIN=4]="GROIN",e[e.LEFT_ARM=5]="LEFT_ARM",e[e.RIGHT_ARM=6]="RIGHT_ARM",e[e.LEFT_LEG=7]="LEFT_LEG",e[e.RIGHT_LEG=8]="RIGHT_LEG",e[e.HEAD=9]="HEAD",e))(kt||{}),xt=(e=>(e[e.Spine=1]="Spine",e[e.Head=2]="Head",e[e.LeftUpperArm=3]="LeftUpperArm",e[e.RightUpperArm=4]="RightUpperArm",e[e.LeftHand=5]="LeftHand",e[e.RightHand=6]="RightHand",e[e.LeftThigh=7]="LeftThigh",e[e.RightThigh=8]="RightThigh",e[e.LeftFoot=9]="LeftFoot",e[e.RightFoot=10]="RightFoot",e[e.RightCalf=11]="RightCalf",e[e.LeftCalf=12]="LeftCalf",e[e.LeftForearm=13]="LeftForearm",e[e.RightForearm=14]="RightForearm",e[e.LeftClavicle=15]="LeftClavicle",e[e.RightClavicle=16]="RightClavicle",e[e.Neck=17]="Neck",e[e.Jaw=18]="Jaw",e))(xt||{}),Ht=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.ALL=1]="ALL",e[e.OTHER=2]="OTHER",e))(Ht||{}),ht=(e=>(e[e.NONE=0]="NONE",e[e.DUCK=1]="DUCK",e[e.USEJETPACK=2]="USEJETPACK",e[e.ENTER_VEHICLE=3]="ENTER_VEHICLE",e[e.EXIT_VEHICLE=4]="EXIT_VEHICLE",e[e.DANCE1=5]="DANCE1",e[e.DANCE2=6]="DANCE2",e[e.DANCE3=7]="DANCE3",e[e.DANCE4=8]="DANCE4",e[e.HANDSUP=10]="HANDSUP",e[e.USECELLPHONE=11]="USECELLPHONE",e[e.SITTING=12]="SITTING",e[e.STOPUSECELLPHONE=13]="STOPUSECELLPHONE",e[e.DRINK_BEER=20]="DRINK_BEER",e[e.SMOKE_CIGGY=21]="SMOKE_CIGGY",e[e.DRINK_WINE=22]="DRINK_WINE",e[e.DRINK_SPRUNK=23]="DRINK_SPRUNK",e[e.CUFFED=24]="CUFFED",e[e.CARRY=25]="CARRY",e[e.PISSING=68]="PISSING",e))(ht||{}),ze=(e=>(e[e.FONT_0=0]="FONT_0",e[e.FONT_1=1]="FONT_1",e[e.FONT_2=2]="FONT_2",e[e.FONT_3=3]="FONT_3",e[e.SPRITE_DRAW=4]="SPRITE_DRAW",e[e.MODEL_PREVIEW=5]="MODEL_PREVIEW",e[e.BANK=0]="BANK",e[e.STANDARD=1]="STANDARD",e[e.SPACEAGE=2]="SPACEAGE",e[e.HEADING=3]="HEADING",e[e.BECKETT_REGULAR=0]="BECKETT_REGULAR",e[e.AHARONI_BOLD=1]="AHARONI_BOLD",e[e.BANK_GOTHIC=2]="BANK_GOTHIC",e[e.PRICEDOWN=3]="PRICEDOWN",e[e.SPRITE=4]="SPRITE",e[e.PREVIEW=5]="PREVIEW",e))(ze||{}),Ut=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(Ut||{}),Wt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=-1]="NONE",e[e.SPOILER=0]="SPOILER",e[e.HOOD=1]="HOOD",e[e.ROOF=2]="ROOF",e[e.SIDESKIRT=3]="SIDESKIRT",e[e.LAMPS=4]="LAMPS",e[e.NITRO=5]="NITRO",e[e.EXHAUST=6]="EXHAUST",e[e.WHEELS=7]="WHEELS",e[e.STEREO=8]="STEREO",e[e.HYDRAULICS=9]="HYDRAULICS",e[e.FRONT_BUMPER=10]="FRONT_BUMPER",e[e.REAR_BUMPER=11]="REAR_BUMPER",e[e.VENT_RIGHT=12]="VENT_RIGHT",e[e.VENT_LEFT=13]="VENT_LEFT",e[e.FRONT_BULLBAR=14]="FRONT_BULLBAR",e[e.REAR_BULLBAR=15]="REAR_BULLBAR",e))(Wt||{}),Kt=(e=>(e[e.UNSET=-1]="UNSET",e[e.OFF=0]="OFF",e[e.ON=1]="ON",e))(Kt||{}),Xt=(e=>(e[e.SIZE=1]="SIZE",e[e.FRONTSEAT=2]="FRONTSEAT",e[e.REARSEAT=3]="REARSEAT",e[e.PETROLCAP=4]="PETROLCAP",e[e.WHEELSFRONT=5]="WHEELSFRONT",e[e.WHEELSREAR=6]="WHEELSREAR",e[e.WHEELSMID=7]="WHEELSMID",e[e.FRONT_BUMPER_Z=8]="FRONT_BUMPER_Z",e[e.REAR_BUMPER_Z=9]="REAR_BUMPER_Z",e))(Xt||{}),Zt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.REASON_VEHICLE=49]="REASON_VEHICLE",e[e.REASON_DROWN=53]="REASON_DROWN",e[e.REASON_COLLISION=54]="REASON_COLLISION",e[e.REASON_SPLAT=54]="REASON_SPLAT",e[e.REASON_CONNECT=200]="REASON_CONNECT",e[e.REASON_DISCONNECT=200]="REASON_DISCONNECT",e[e.REASON_SUICIDE=255]="REASON_SUICIDE",e[e.FIST=0]="FIST",e[e.BRASSKNUCKLE=1]="BRASSKNUCKLE",e[e.GOLFCLUB=2]="GOLFCLUB",e[e.NIGHTSTICK=3]="NIGHTSTICK",e[e.KNIFE=4]="KNIFE",e[e.BAT=5]="BAT",e[e.SHOVEL=6]="SHOVEL",e[e.POOLSTICK=7]="POOLSTICK",e[e.KATANA=8]="KATANA",e[e.CHAINSAW=9]="CHAINSAW",e[e.DILDO=10]="DILDO",e[e.DILDO2=11]="DILDO2",e[e.VIBRATOR=12]="VIBRATOR",e[e.VIBRATOR2=13]="VIBRATOR2",e[e.FLOWER=14]="FLOWER",e[e.CANE=15]="CANE",e[e.GRENADE=16]="GRENADE",e[e.TEARGAS=17]="TEARGAS",e[e.MOLTOV=18]="MOLTOV",e[e.COLT45=22]="COLT45",e[e.SILENCED=23]="SILENCED",e[e.DEAGLE=24]="DEAGLE",e[e.SHOTGUN=25]="SHOTGUN",e[e.SAWEDOFF=26]="SAWEDOFF",e[e.SHOTGSPA=27]="SHOTGSPA",e[e.UZI=28]="UZI",e[e.MP5=29]="MP5",e[e.AK47=30]="AK47",e[e.M4=31]="M4",e[e.TEC9=32]="TEC9",e[e.RIFLE=33]="RIFLE",e[e.SNIPER=34]="SNIPER",e[e.ROCKETLAUNCHER=35]="ROCKETLAUNCHER",e[e.HEATSEEKER=36]="HEATSEEKER",e[e.FLAMETHROWER=37]="FLAMETHROWER",e[e.MINIGUN=38]="MINIGUN",e[e.SATCHEL=39]="SATCHEL",e[e.BOMB=40]="BOMB",e[e.SPRAYCAN=41]="SPRAYCAN",e[e.FIREEXTINGUISHER=42]="FIREEXTINGUISHER",e[e.CAMERA=43]="CAMERA",e[e.NIGHT_VISION_GOGGLES=44]="NIGHT_VISION_GOGGLES",e[e.THERMAL_GOGGLES=45]="THERMAL_GOGGLES",e[e.PARACHUTE=46]="PARACHUTE",e))(Zt||{}),Yt=(e=>(e[e.PISTOL=0]="PISTOL",e[e.PISTOL_SILENCED=1]="PISTOL_SILENCED",e[e.DESERT_EAGLE=2]="DESERT_EAGLE",e[e.SHOTGUN=3]="SHOTGUN",e[e.SAWNOFF_SHOTGUN=4]="SAWNOFF_SHOTGUN",e[e.SPAS12_SHOTGUN=5]="SPAS12_SHOTGUN",e[e.MICRO_UZI=6]="MICRO_UZI",e[e.MP5=7]="MP5",e[e.AK47=8]="AK47",e[e.M4=9]="M4",e[e.SNIPERRIFLE=10]="SNIPERRIFLE",e))(Yt||{}),zt=(e=>(e[e.NONE=0]="NONE",e[e.PLAYER=1]="PLAYER",e[e.VEHICLE=2]="VEHICLE",e[e.OBJECT=3]="OBJECT",e[e.PLAYER_OBJECT=4]="PLAYER_OBJECT",e))(zt||{}),ut=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NO_BULLETS=0]="NO_BULLETS",e[e.LAST_BULLET=1]="LAST_BULLET",e[e.MORE_BULLETS=2]="MORE_BULLETS",e[e.RELOADING=3]="RELOADING",e))(ut||{}),gt=(e=>(e[e.VEHICLE=49]="VEHICLE",e[e.HELICOPTERBLADES=50]="HELICOPTERBLADES",e[e.EXPLOSION=51]="EXPLOSION",e[e.DROWN=53]="DROWN",e[e.COLLISION=54]="COLLISION",e[e.CONNECT=200]="CONNECT",e[e.DISCONNECT=201]="DISCONNECT",e[e.SUICIDE=255]="SUICIDE",e))(gt||{}),Jt=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(Jt||{}),$t=(e=>(e[e.CIRCLE=0]="CIRCLE",e[e.CYLINDER=1]="CYLINDER",e[e.SPHERE=2]="SPHERE",e[e.RECTANGLE=3]="RECTANGLE",e[e.CUBOID=4]="CUBOID",e[e.POLYGON=5]="POLYGON",e))($t||{}),B=(e=>(e[e.OBJECT_SD=300]="OBJECT_SD",e[e.OBJECT_DD=0]="OBJECT_DD",e[e.PICKUP_SD=200]="PICKUP_SD",e[e.CP_SD=200]="CP_SD",e[e.RACE_CP_SD=200]="RACE_CP_SD",e[e.MAP_ICON_SD=200]="MAP_ICON_SD",e[e.TEXT_3D_LABEL_SD=200]="TEXT_3D_LABEL_SD",e[e.ACTOR_SD=200]="ACTOR_SD",e))(B||{}),T=(e=>(e[e.OBJECT=0]="OBJECT",e[e.PICKUP=1]="PICKUP",e[e.CP=2]="CP",e[e.RACE_CP=3]="RACE_CP",e[e.MAP_ICON=4]="MAP_ICON",e[e.TEXT_3D_LABEL=5]="TEXT_3D_LABEL",e[e.AREA=6]="AREA",e[e.ACTOR=7]="ACTOR",e))(T||{}),P=(e=>(e[e.MAX_TYPES=8]="MAX_TYPES",e[e.MAX_AREA_TYPES=5]="MAX_AREA_TYPES",e[e.MAX_OBJECT_TYPES=3]="MAX_OBJECT_TYPES",e[e.INVALID_ID=0]="INVALID_ID",e))(P||{}),rt=(e=>(e[e.GLOBAL=0]="GLOBAL",e[e.PLAYER=1]="PLAYER",e[e.DYNAMIC=2]="DYNAMIC",e))(rt||{}),le=(e=>(e[e.AREA_ID=0]="AREA_ID",e[e.ATTACHED_OBJECT=1]="ATTACHED_OBJECT",e[e.ATTACHED_PLAYER=2]="ATTACHED_PLAYER",e[e.ATTACHED_VEHICLE=3]="ATTACHED_VEHICLE",e[e.ATTACH_OFFSET_X=4]="ATTACH_OFFSET_X",e[e.ATTACH_OFFSET_Y=5]="ATTACH_OFFSET_Y",e[e.ATTACH_OFFSET_Z=6]="ATTACH_OFFSET_Z",e[e.ATTACH_R_X=7]="ATTACH_R_X",e[e.ATTACH_R_Y=8]="ATTACH_R_Y",e[e.ATTACH_R_Z=9]="ATTACH_R_Z",e[e.ATTACH_X=10]="ATTACH_X",e[e.ATTACH_Y=11]="ATTACH_Y",e[e.ATTACH_Z=12]="ATTACH_Z",e[e.COLOR=13]="COLOR",e[e.DRAW_DISTANCE=14]="DRAW_DISTANCE",e[e.EXTRA_ID=15]="EXTRA_ID",e[e.HEALTH=16]="HEALTH",e[e.INTERIOR_ID=17]="INTERIOR_ID",e[e.INVULNERABLE=18]="INVULNERABLE",e[e.MAX_X=19]="MAX_X",e[e.MAX_Y=20]="MAX_Y",e[e.MAX_Z=21]="MAX_Z",e[e.MIN_X=22]="MIN_X",e[e.MIN_Y=23]="MIN_Y",e[e.MIN_Z=24]="MIN_Z",e[e.MODEL_ID=25]="MODEL_ID",e[e.MOVE_R_X=26]="MOVE_R_X",e[e.MOVE_R_Y=27]="MOVE_R_Y",e[e.MOVE_R_Z=28]="MOVE_R_Z",e[e.MOVE_SPEED=29]="MOVE_SPEED",e[e.MOVE_X=30]="MOVE_X",e[e.MOVE_Y=31]="MOVE_Y",e[e.MOVE_Z=32]="MOVE_Z",e[e.NEXT_X=33]="NEXT_X",e[e.NEXT_Y=34]="NEXT_Y",e[e.NEXT_Z=35]="NEXT_Z",e[e.PLAYER_ID=36]="PLAYER_ID",e[e.PRIORITY=37]="PRIORITY",e[e.ROTATION=38]="ROTATION",e[e.R_X=39]="R_X",e[e.R_Y=40]="R_Y",e[e.R_Z=41]="R_Z",e[e.SIZE=42]="SIZE",e[e.STREAM_DISTANCE=43]="STREAM_DISTANCE",e[e.STYLE=44]="STYLE",e[e.SYNC_ROTATION=45]="SYNC_ROTATION",e[e.TEST_LOS=46]="TEST_LOS",e[e.TYPE=47]="TYPE",e[e.WORLD_ID=48]="WORLD_ID",e[e.X=49]="X",e[e.Y=50]="Y",e[e.Z=51]="Z",e))(le||{}),Qt=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Qt||{}),nt=(e=>(e[e.SIZE_32x32=10]="SIZE_32x32",e[e.SIZE_64x32=20]="SIZE_64x32",e[e.SIZE_64x64=30]="SIZE_64x64",e[e.SIZE_128x32=40]="SIZE_128x32",e[e.SIZE_128x64=50]="SIZE_128x64",e[e.SIZE_128x128=60]="SIZE_128x128",e[e.SIZE_256x32=70]="SIZE_256x32",e[e.SIZE_256x64=80]="SIZE_256x64",e[e.SIZE_256x128=90]="SIZE_256x128",e[e.SIZE_256x256=100]="SIZE_256x256",e[e.SIZE_512x64=110]="SIZE_512x64",e[e.SIZE_512x128=120]="SIZE_512x128",e[e.SIZE_512x256=130]="SIZE_512x256",e[e.SIZE_512x512=140]="SIZE_512x512",e))(nt||{});const qt=-1,Wi=-1,Ki=-1,Xi=-1,Zi=0,Yi=-1e3,zi=-1e3,Ji=-1e3,$i=0,ei=32,Qi=300,qi=!0,st=1,ea=e=>samp.callNative("DestroyDynamic3DTextLabel","i",e),ti=e=>!!samp.callNative("IsValidDynamic3DTextLabel","i",e),ta=(e,t,i,a,r,n=!0,s=100,o=0,_=-1,d=-1,h=B.ACTOR_SD,g=-1,I=0)=>samp.callNative("CreateDynamicActor","iffffifiiifii",e,t,i,a,r,n,s,o,_,d,h,g,I),ia=e=>samp.callNative("DestroyDynamicActor","i",e),aa=e=>!!samp.callNative("IsValidDynamicActor","i",e),ra=(e,t)=>!!samp.callNative("IsDynamicActorStreamedIn","ii",e,t),na=e=>samp.callNative("GetDynamicActorVirtualWorld","i",e),sa=(e,t)=>samp.callNative("SetDynamicActorVirtualWorld","ii",e,t),la=(e,t,i,a,r,n,s,o,_)=>samp.callNative("ApplyDynamicActorAnimation","issfiiiii",e,t,i,a,r,n,s,o,_),oa=e=>samp.callNative("ClearDynamicActorAnimations","i",e),_a=e=>{const[t,i]=samp.callNative("GetDynamicActorFacingAngle","iF",e);return{angle:t,ret:i}},ca=(e,t)=>samp.callNative("SetDynamicActorFacingAngle","if",e,t),da=e=>{const[t,i,a,r]=samp.callNative("GetDynamicActorPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},ha=(e,t,i,a)=>samp.callNative("SetDynamicActorPos","ifff",e,t,i,a),ua=e=>{const[t,i]=samp.callNative("GetDynamicActorHealth","iF",e);return{health:t,ret:i}},ga=(e,t)=>samp.callNative("SetDynamicActorHealth","if",e,t),ma=(e,t=!0)=>samp.callNative("SetDynamicActorInvulnerable","ii",e,t),fa=e=>!!samp.callNative("IsDynamicActorInvulnerable","i",e),Pa=e=>samp.callNative("GetPlayerTargetDynamicActor","i",e),pa=e=>samp.callNative("GetPlayerCameraTargetDynActor","i",e),Ia=e=>{const[t,i,a=0,r=0,n=0,s=0,o=0,_=0,d]=samp.callNative("GetDynamicActorAnimation","iSSFIIIIIii",e,32,32);return{animLib:t,animName:i,fDelta:a,loop:r,lockX:n,lockY:s,freeze:o,time:_,ret:d}},Sa=(e,t,i,a=-1,r=-1,n=-1,s=0)=>samp.callNative("CreateDynamicCircle","fffiiii",e,t,i,a,r,n,s),ya=(e,t,i,a,r,n=-1,s=-1,o=-1,_=0)=>samp.callNative("CreateDynamicCylinder","fffffiiii",e,t,i,a,r,n,s,o,_),Ca=(e,t,i,a,r=-1,n=-1,s=-1,o=0)=>samp.callNative("CreateDynamicSphere","ffffiiii",e,t,i,a,r,n,s,o),Ea=(e,t,i,a,r=-1,n=-1,s=-1,o=0)=>samp.callNative("CreateDynamicRectangle","ffffiiii",e,t,i,a,r,n,s,o),Aa=(e,t,i,a,r,n,s=-1,o=-1,_=-1,d=0)=>samp.callNative("CreateDynamicCuboid","ffffffiiii",e,t,i,a,r,n,s,o,_,d),Na=(e,t=Number.MIN_VALUE,i=Number.MAX_VALUE,a=-1,r=-1,n=-1,s=0)=>samp.callNative("CreateDynamicPolygon","affiiiii",e,t,i,e.length,a,r,n,s),Da=e=>samp.callNative("DestroyDynamicArea","i",e),Ta=e=>!!samp.callNative("IsValidDynamicArea","i",e),va=e=>samp.callNative("GetDynamicAreaType","i",e),ba=e=>{const[t,i]=samp.callNative("GetDynamicPolygonPoints","iAi",e,ii(e));return{points:t,ret:i}},ii=e=>samp.callNative("GetDynamicPolygonNumberPoints","i",e),La=(e,t,i=!1)=>!!samp.callNative("IsPlayerInDynamicArea","iii",e,t,i),wa=(e,t=!1)=>!!samp.callNative("IsPlayerInAnyDynamicArea","ii",e,t),Ra=(e,t=!1)=>!!samp.callNative("IsAnyPlayerInDynamicArea","ii",e,t),Oa=(e=!1)=>!!samp.callNative("IsAnyPlayerInAnyDynamicArea","i",e),Ga=e=>{const[t,i]=samp.callNative("GetPlayerDynamicAreas","iAi",e,ai(e));return{areas:t,ret:i}},ai=e=>samp.callNative("GetPlayerNumberDynamicAreas","i",e),ja=(e,t,i,a)=>!!samp.callNative("IsPointInDynamicArea","ifff",e,t,i,a),Fa=(e,t,i)=>!!samp.callNative("IsPointInAnyDynamicArea","fff",e,t,i),Ma=(e,t,i,a,r,n,s)=>!!samp.callNative("IsLineInDynamicArea","iffffff",e,t,i,a,r,n,s),Ba=(e,t,i,a,r,n)=>!!samp.callNative("IsLineInAnyDynamicArea","ffffff",e,t,i,a,r,n),Va=(e,t,i)=>{const[a,r]=samp.callNative("GetDynamicAreasForPoint","fffAi",e,t,i,ri(e,t,i));return{areas:a,ret:r}},ri=(e,t,i)=>samp.callNative("GetNumberDynamicAreasForPoint","fff",e,t,i),ka=(e,t,i,a,r,n)=>{const[s,o]=samp.callNative("GetDynamicAreasForLine","ffffffAi",e,t,i,a,r,n,ni(e,t,i,a,r,n));return{areas:s,ret:o}},ni=(e,t,i,a,r,n)=>samp.callNative("GetNumberDynamicAreasForLine","ffffff",e,t,i,a,r,n),xa=(e,t,i=rt.DYNAMIC,a=65535,r=0,n=0,s=0)=>samp.callNative("AttachDynamicAreaToObject","iiiifff",e,t,i,a,r,n,s),Ha=(e,t,i=0,a=0,r=0)=>samp.callNative("AttachDynamicAreaToPlayer","iifff",e,t,i,a,r),Ua=(e,t,i=0,a=0,r=0)=>samp.callNative("AttachDynamicAreaToVehicle","iifff",e,t,i,a,r),Wa=(e,t)=>samp.callNative("ToggleDynAreaSpectateMode","ii",e,t),Ka=e=>!!samp.callNative("IsToggleDynAreaSpectateMode","i",e),Xa=(e,t,i,a,r=-1,n=-1,s=-1,o=B.CP_SD,_=-1,d=0)=>samp.callNative("CreateDynamicCP","ffffiiifii",e,t,i,a,r,n,s,o,_,d),Za=e=>samp.callNative("DestroyDynamicCP","i",e),mt=e=>!!samp.callNative("IsValidDynamicCP","i",e),Ya=(e,t,i)=>samp.callNative("TogglePlayerDynamicCP","iii",e,t,i),za=(e,t)=>samp.callNative("TogglePlayerAllDynamicCPs","ii",e,t),Ja=(e,t)=>!!samp.callNative("IsPlayerInDynamicCP","ii",e,t),$a=e=>samp.callNative("GetPlayerVisibleDynamicCP","i",e),Qa=(e,t,i)=>{const[a,r]=samp.callNative("Streamer_GetFloatData","iiiF",e,t,i);return{val:a,ret:r}},qa=(e,t,i,a)=>samp.callNative("Streamer_SetFloatData","iiif",e,t,i,a),er=(e,t,i)=>samp.callNative("Streamer_GetIntData","iii",e,t,i),tr=(e,t,i,a)=>samp.callNative("Streamer_SetIntData","iiii",e,t,i,a),ir=(e,t,i)=>{const[a,r]=samp.callNative("Streamer_GetArrayData","iiiAi",e,t,i,si(e,t,i));return{arrayData:a,ret:r}},ar=(e,t,i,a)=>samp.callNative("Streamer_SetArrayData","iiiai",e,t,i,a,a.length),rr=(e,t,i,a)=>!!samp.callNative("Streamer_IsInArrayData","iiii",e,t,i,a),nr=(e,t,i,a)=>samp.callNative("Streamer_AppendArrayData","iiii",e,t,i,a),sr=(e,t,i,a)=>samp.callNative("Streamer_RemoveArrayData","iiii",e,t,i,a),si=(e,t,i)=>samp.callNative("Streamer_GetArrayDataLength","iii",e,t,i),lr=e=>samp.callNative("Streamer_GetUpperBound","i",e);var lt=(e=>(e[e.LOCAL=0]="LOCAL",e[e.GLOBAL=1]="GLOBAL",e[e.LOCAL_CHECKPOINT=2]="LOCAL_CHECKPOINT",e[e.GLOBAL_CHECKPOINT=3]="GLOBAL_CHECKPOINT",e))(lt||{});const or=(e,t,i,a,r,n=-1,s=-1,o=-1,_=B.MAP_ICON_SD,d=0,h=-1,g=0)=>samp.callNative("CreateDynamicMapIcon","fffiiiiifiii",e,t,i,a,r,n,s,o,_,d,h,g),_r=e=>samp.callNative("DestroyDynamicMapIcon","i",e),cr=e=>!!samp.callNative("IsValidDynamicMapIcon","i",e),dr=(e,t,i,a,r,n,s,o=B.OBJECT_SD,_=B.OBJECT_DD,d=[-1],h=[-1],g=[-1],I=[-1],C=0)=>samp.callNative("CreateDynamicObjectEx","iffffffffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,g,I,C,d.length,h.length,g.length,I.length),hr=(e,t,i,a,r,n=B.PICKUP_SD,s=[-1],o=[-1],_=[-1],d=[-1],h=0)=>samp.callNative("CreateDynamicPickupEx","iiffffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,s.length,o.length,_.length,d.length),ur=(e,t,i,a,r=B.CP_SD,n=[-1],s=[-1],o=[-1],_=[-1],d=0)=>samp.callNative("CreateDynamicCPEx","fffffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,n.length,s.length,o.length,_.length),gr=(e,t,i,a,r,n,s,o,_=B.RACE_CP_SD,d=[-1],h=[-1],g=[-1],I=[-1],C=0)=>samp.callNative("CreateDynamicRaceCPEx","iffffffffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,g,I,C,d.length,h.length,g.length,I.length),mr=(e,t,i,a,r,n=lt.LOCAL,s=B.MAP_ICON_SD,o=[-1],_=[-1],d=[-1],h=[-1],g=0)=>samp.callNative("CreateDynamicMapIconEx","fffiiifaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,g,o.length,_.length,d.length,h.length),fr=(e,t,i,a=[-1],r=[-1],n=[-1],s=0)=>samp.callNative("CreateDynamicCircleEx","fffaaaiiii",e,t,i,a,r,n,a.length,r.length,n.length,s),Pr=(e,t,i,a,r,n=[-1],s=[-1],o=[-1],_=0)=>samp.callNative("CreateDynamicCylinderEx","fffffaaaiiii",e,t,i,a,r,n,s,o,n.length,s.length,o.length,_),pr=(e,t,i,a,r=[-1],n=[-1],s=[-1],o=0)=>samp.callNative("CreateDynamicSphereEx","ffffaaaiiii",e,t,i,a,r,n,s,r.length,n.length,s.length,o),Ir=(e,t,i,a,r=[-1],n=[-1],s=[-1],o=0)=>samp.callNative("CreateDynamicRectangleEx","ffffaaaiiii",e,t,i,a,r,n,s,r.length,n.length,s.length,o),Sr=(e,t,i,a,r,n,s=[-1],o=[-1],_=[-1],d=0)=>samp.callNative("CreateDynamicCuboidEx","ffffffaaaiiii",e,t,i,a,r,n,s,o,_,s.length,o.length,_.length,d),yr=(e,t=Number.MIN_VALUE,i=Number.MAX_VALUE,a=[-1],r=[-1],n=[-1],s=0)=>samp.callNative("CreateDynamicPolygonEx","affiaaaiiii",e,t,i,e.length,a,r,n,a.length,r.length,n.length,s),Cr=(e,t,i,a,r,n=!0,s=100,o=B.ACTOR_SD,_=[0],d=[-1],h=[-1],g=[-1],I=0)=>samp.callNative("CreateDynamicActorEx","iffffiffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,g,I,_.length,d.length,h.length,g.length),Er=(e,t,i,a,r,n=3)=>{const[s,o]=samp.callNative("Streamer_GetDistanceToItem","fffiiFi",e,t,i,a,r,n);return{distance:s,ret:o}},Ar=(e,t,i,a)=>samp.callNative("Streamer_ToggleItem","iiii",e,t,i,a),Nr=(e,t,i)=>!!samp.callNative("Streamer_IsToggleItem","iii",e,t,i),Dr=(e,t,i,a=[-1])=>samp.callNative("Streamer_ToggleAllItems","iiiai",e,t,i,a,a.length),Tr=(e,t,i)=>samp.callNative("Streamer_GetItemInternalID","iii",e,t,i),vr=(e,t,i)=>samp.callNative("Streamer_GetItemStreamerID","iii",e,t,i),br=(e,t,i)=>!!samp.callNative("Streamer_IsItemVisible","iii",e,t,i),Lr=(e,t,i=st)=>samp.callNative("Streamer_DestroyAllVisibleItems","iii",e,t,i),wr=(e,t,i=st)=>samp.callNative("Streamer_CountVisibleItems","iii",e,t,i),Rr=(e,t=st)=>samp.callNative("Streamer_DestroyAllItems","ii",e,t),Or=(e,t=st)=>samp.callNative("Streamer_CountItems","ii",e,t),Gr=(e,t,i,a,r=ei,n=Qi,s=qt)=>{const[o=[],_=0]=samp.callNative("Streamer_GetNearbyItems","fffiAifi",e,t,i,a,r,n,s);return o.slice(0,_)},jr=(e,t,i=ei)=>{const[a=[],r=0]=samp.callNative("Streamer_GetAllVisibleItems","iiAi",e,t,i);return a.slice(0,r)},Fr=(e,t)=>{const[i,a,r,n]=samp.callNative("Streamer_GetItemPos","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},Mr=(e,t,i,a,r)=>samp.callNative("Streamer_SetItemPos","iifff",e,t,i,a,r),Br=(e,t)=>{const[i,a,r,n]=samp.callNative("Streamer_GetItemOffset","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},Vr=(e,t,i,a,r)=>samp.callNative("Streamer_SetItemOffset","iifff",e,t,i,a,r),kr=(e,t,i,a,r,n,s,o=qt,_=Wi,d=Ki,h=B.OBJECT_SD,g=B.OBJECT_DD,I=Xi,C=Zi)=>samp.callNative("CreateDynamicObject","iffffffiiiffii",e,t,i,a,r,n,s,o,_,d,h,g,I,C),xr=e=>samp.callNative("DestroyDynamicObject","i",e),Hr=e=>!!samp.callNative("IsValidDynamicObject","i",e),Ur=e=>{const[t,i,a,r]=samp.callNative("GetDynamicObjectPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},Wr=(e,t,i,a)=>samp.callNative("SetDynamicObjectPos","ifff",e,t,i,a),Kr=e=>{const[t,i,a,r]=samp.callNative("GetDynamicObjectRot","iFFF",e);return{rx:t,ry:i,rz:a,ret:r}},Xr=(e,t,i,a)=>samp.callNative("SetDynamicObjectRot","ifff",e,t,i,a),Zr=(e,t,i,a,r,n=Yi,s=zi,o=Ji)=>samp.callNative("MoveDynamicObject","ifffffff",e,t,i,a,r,n,s,o),Yr=e=>samp.callNative("StopDynamicObject","i",e),zr=e=>!!samp.callNative("IsDynamicObjectMoving","i",e),Jr=(e,t)=>samp.callNative("AttachCameraToDynamicObject","ii",e,t),$r=(e,t,i,a,r,n,s,o,_=qi)=>samp.callNative("AttachDynamicObjectToObject","iiffffffi",e,t,i,a,r,n,s,o,_),Qr=(e,t,i,a,r,n,s,o)=>samp.callNative("AttachDynamicObjectToPlayer","iiffffff",e,t,i,a,r,n,s,o),qr=(e,t,i,a,r,n,s,o)=>samp.callNative("AttachDynamicObjectToVehicle","iiffffff",e,t,i,a,r,n,s,o),en=(e,t)=>samp.callNative("EditDynamicObject","ii",e,t),tn=(e,t)=>!!samp.callNative("IsDynamicObjectMaterialUsed","ii",e,t),an=(e,t)=>samp.callNative("RemoveDynamicObjectMaterial","ii",e,t),rn=(e,t,i,a,r,n=$i)=>samp.callNative("SetDynamicObjectMaterial","iiissi",e,t,i,a,r,n),nn=(e,t)=>!!samp.callNative("IsDynamicObjectMaterialTextUsed","ii",e,t),sn=(e,t)=>samp.callNative("RemoveDynamicObjectMaterialText","ii",e,t),ln=e=>samp.callNative("GetPlayerCameraTargetDynObject","i",e),on=e=>!!samp.callNative("SetDynamicObjectNoCameraCol","i",e),_n=e=>!!samp.callNative("GetDynamicObjectNoCameraCol","i",e),cn=(e,t,i,a,r,n=-1,s=-1,o=-1,_=B.PICKUP_SD,d=-1,h=0)=>samp.callNative("CreateDynamicPickup","iifffiiifii",e,t,i,a,r,n,s,o,_,d,h),dn=e=>!!samp.callNative("DestroyDynamicPickup","i",e),hn=e=>!!samp.callNative("IsValidDynamicPickup","i",e),un=(e,t,i,a,r,n,s,o,_=-1,d=-1,h=-1,g=B.RACE_CP_SD,I=-1,C=0)=>samp.callNative("CreateDynamicRaceCP","ifffffffiiifii",e,t,i,a,r,n,s,o,_,d,h,g,I,C),gn=e=>samp.callNative("DestroyDynamicRaceCP","i",e),mn=(e,t,i)=>samp.callNative("TogglePlayerDynamicRaceCP","iii",e,t,i),fn=(e,t)=>samp.callNative("TogglePlayerAllDynamicRaceCPs","ii",e,t),Pn=(e,t)=>!!samp.callNative("IsPlayerInDynamicRaceCP","ii",e,t),pn=e=>samp.callNative("GetPlayerVisibleDynamicRaceCP","i",e),In=()=>samp.callNative("Streamer_GetTickRate",""),Sn=(e=50)=>samp.callNative("Streamer_SetTickRate","i",e),yn=e=>samp.callNative("Streamer_GetPlayerTickRate","i",e),Cn=(e,t=50)=>samp.callNative("Streamer_SetPlayerTickRate","ii",e,t),En=(e=!1)=>samp.callNative("Streamer_ToggleChunkStream","i",e),An=()=>!!samp.callNative("Streamer_IsToggleChunkStream",""),li=(e,t=-1)=>samp.callNative("Streamer_GetChunkTickRate","ii",e,t),oi=(e,t,i=-1)=>samp.callNative("Streamer_SetChunkTickRate","iii",e,t,i),Nn=e=>samp.callNative("Streamer_GetChunkSize","i",e),Dn=(e,t)=>samp.callNative("Streamer_SetChunkSize","ii",e,t),Tn=e=>samp.callNative("Streamer_GetMaxItems","i",e),vn=(e,t)=>samp.callNative("Streamer_SetMaxItems","ii",e,t),_i=(e,t=-1)=>samp.callNative("Streamer_GetVisibleItems","ii",e,t),ci=(e,t,i=-1)=>samp.callNative("Streamer_SetVisibleItems","iii",e,t,i),di=(e,t=-1)=>{const[i,a]=samp.callNative("Streamer_GetRadiusMultiplier","iFi",e,t);return{multiplier:i,ret:a}},hi=(e,t,i=-1)=>samp.callNative("Streamer_SetRadiusMultiplier","ifi",e,t,i),bn=()=>{const[e,t]=samp.callNative("Streamer_GetTypePriority","Ai",P.MAX_TYPES);return{priority:e,ret:t}},Ln=e=>samp.callNative("Streamer_SetTypePriority","ai",e,P.MAX_TYPES),wn=()=>{const[e,t]=samp.callNative("Streamer_GetCellDistance","F");return{distance:e,ret:t}},Rn=(e=600)=>samp.callNative("Streamer_SetCellDistance","f",e),On=()=>{const[e,t]=samp.callNative("Streamer_GetCellSize","F");return{size:e,ret:t}},Gn=(e=300)=>samp.callNative("Streamer_SetCellSize","f",e),jn=(e,t,i)=>samp.callNative("Streamer_ToggleItemStatic","iii",e,t,i),Fn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemStatic","ii",e,t),Mn=(e,t,i)=>samp.callNative("Streamer_ToggleItemInvAreas","iii",e,t,i),Bn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemInvAreas","ii",e,t),Vn=(e,t,i)=>samp.callNative("Streamer_ToggleItemCallbacks","iii",e,t,i),kn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemCallbacks","ii",e,t),xn=e=>samp.callNative("Streamer_ToggleErrorCallback","i",e),Hn=()=>!!samp.callNative("Streamer_IsToggleErrorCallback",""),Un=e=>samp.callNative("Streamer_AmxUnloadDestroyItems","i",e),Wn=()=>samp.callNative("Streamer_ProcessActiveItems",""),Kn=(e,t)=>samp.callNative("Streamer_ToggleIdleUpdate","ii",e,t),Xn=e=>!!samp.callNative("Streamer_IsToggleIdleUpdate","i",e),Zn=(e,t)=>samp.callNative("Streamer_ToggleCameraUpdate","ii",e,t),Yn=e=>!!samp.callNative("Streamer_IsToggleCameraUpdate","i",e),zn=(e,t,i)=>samp.callNative("Streamer_ToggleItemUpdate","iii",e,t,i),Jn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemUpdate","ii",e,t),$n=()=>{const[e,t]=samp.callNative("Streamer_GetLastUpdateTime","F");return{time:e,ret:t}},Qn=(e,t=-1)=>samp.callNative("Streamer_Update","ii",e,t),qn=(e,t,i,a,r=-1,n=-1,s=-1,o=-1,_=!0)=>samp.callNative("Streamer_UpdateEx","ifffiiiii",e,t,i,a,r,n,s,o,_),Q=new Map,ui=new Map;function es(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function gi(e,t,...i){const{defaultValue:a=!0,name:r,beforeEach:n,afterEach:s,throwOnError:o=!1}=e,_=Q.get(r);if(!_||!_.length)return+a;const d=n?n(...i):{},h=[];let g=t;const I=()=>{s&&(h.length?Promise.allSettled(h).then(()=>s(d)):s(d))},C=y=>{if(g++,g<_.length){try{y&&Object.assign(d,y);const b={next:C,defaultValue:a,...d},j=_[g](b);return j instanceof Promise?(h.push(j),a):j}catch(b){const j=`executing event [name:${r},index:${g}]`;if(o)throw new Error(j);console.log(j),b instanceof Error?console.log(b):console.log(JSON.stringify(b)),I()}return a}return I(),a};return es(C(),a)}function m(e){const{name:t,identifier:i,isNative:a=!0}=e;if(Q.has(t)){const o=`event [name:${t}] error: already defined.`;throw new Error(o)}function r(...o){if(o.length===1&&typeof o[0]=="object"&&o[0].__trigger__){const _=o[0];let d=-1;if(_.skipToNext){const h=Q.get(t);if(h&&h.length){const g=h.indexOf(_.skipToNext);g>-1&&(d=g)}}return gi(e,d,..._.args)}return gi(e,-1,...o)}function n(o,_=!1){Q.has(t)||Q.set(t,[]);const d=Q.get(t),h=(_?d.unshift(o):d.push(o))-1;return()=>{const g=Q.get(t);if(!g)return;const I=g.length-1,C=I<h?I:h;for(let y=C;y>=0;y--)if(g[y]===o){g.splice(y,1);break}return g.length===0&&Q.delete(t),g.length}}const s=[n,r];return a&&(typeof i<"u"&&samp.registerEvent(t,i),samp.on(t,r)),ui.set(t,r),s}function ts(e){return ui.get(e)}function is(e){return Object.assign(e,{__trigger__:!0})}function mi(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t===null||t===Object.prototype||Object.getPrototypeOf(t)===null?Object.prototype.toString.call(e)==="[object Object]":!1}function as(e,t){const i={},a=Object.keys(e);for(let r=0;r<a.length;r++){const n=a[r],s=e[n];i[t(s,n,e)]=s}return i}function ot(e){return e==="__proto__"}function Je(e,t){const i=Object.keys(t);for(let a=0;a<i.length;a++){const r=i[a];if(ot(r))continue;const n=t[r],s=e[r];Array.isArray(n)?Array.isArray(s)?e[r]=Je(s,n):e[r]=Je([],n):mi(n)?mi(s)?e[r]=Je(s,n):e[r]=Je({},n):(s===void 0||n!==void 0)&&(e[r]=n)}return e}function rs(e,t){const i={...e};for(let a=0;a<t.length;a++){const r=t[a];delete i[r]}return i}const ns=new RegExp("\\p{Lu}?\\p{Ll}+|[0-9]+|\\p{Lu}+(?!\\p{Ll})|\\p{Emoji_Presentation}|\\p{Extended_Pictographic}|\\p{L}+","gu");function ss(e){return Array.from(e.match(ns)??[])}function ft(e){return ss(e).map(i=>i.toLowerCase()).join("_")}function ls(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function fi(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function Pi(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(Pi).join(",");const t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function os(e){if(Array.isArray(e))return e.map(fi);if(typeof e=="symbol")return[e];e=Pi(e);const t=[],i=e.length;if(i===0)return t;let a=0,r="",n="",s=!1;for(e.charCodeAt(0)===46&&(t.push(""),a++);a<i;){const o=e[a];n?o==="\\"&&a+1<i?(a++,r+=e[a]):o===n?n="":r+=o:s?o==='"'||o==="'"?n=o:o==="]"?(s=!1,t.push(r),r=""):r+=o:o==="["?(s=!0,r&&(t.push(r),r="")):o==="."?r&&(t.push(r),r=""):r+=o,a++}return r&&t.push(r),t}function Pt(e,t,i){if(e==null)return i;switch(typeof t){case"string":{if(ot(t))return i;const a=e[t];return a===void 0?ls(t)?Pt(e,os(t),i):i:a}case"number":case"symbol":{typeof t=="number"&&(t=fi(t));const a=e[t];return a===void 0?i:a}default:{if(Array.isArray(t))return _s(e,t,i);if(Object.is(t?.valueOf(),-0)?t="-0":t=String(t),ot(t))return i;const a=e[t];return a===void 0?i:a}}}function _s(e,t,i){if(t.length===0)return i;let a=e;for(let r=0;r<t.length;r++){if(a==null||ot(t[r]))return i;a=a[t[r]]}return a===void 0?i:a}const{encode:cs,decode:ds,encodingExists:hs}=Ui;function us(e){return e instanceof Buffer}class E{constructor(t,i){this.defaultLocale=t,this.locales=i,this.defaultLocale=ft(t),this.locales=E.snakeLocaleKeys(i)}addLocales=t=>{Je(this.locales,E.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=rs(this.locales,t)};$t=(t,i,a=this.defaultLocale)=>{const r=this.locales[ft(a)],n=Pt(this.locales[this.defaultLocale],t),s=Pt(r,t,n);if(typeof s>"u")throw new Error(`[i18n]: cannot find ${a}["${t}"]`);if(typeof s!="string")return JSON.stringify(s);let o=s;return i&&i.length&&(o=Hi.format(o,...i)),o};static isValidate(t){if(!hs(t))throw new Error(`[i18n]: unknown charset ${t}`)}static encodeToBuf(t,i){return E.isValidate(i),[...cs(t,i),0]}static decodeFromBuf(t,i="utf8"){E.isValidate(i);const a=us(t)?t:Buffer.from(E.getValidStr(t));return ds(a,i)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return as(t,(i,a)=>ft(a))}static convertSpecialChar(t){const i={\u00E0:"\x97",\u00E1:"\x98",\u00E2:"\x99",\u00E4:"\x9A",\u00C0:"\x80",\u00C1:"\x81",\u00C2:"\x82",\u00C4:"\x83",\u00E8:"\x9D",\u00E9:"\x9E",\u00EA:"\x9F",\u00EB:"\xA0",\u00C8:"\x86",\u00C9:"\x87",\u00CA:"\x88",\u00CB:"\x89",\u00EC:"\xA1",\u00ED:"\xA2",\u00EE:"\xA3",\u00EF:"\xA4",\u00CC:"\x8A",\u00CD:"\x8B",\u00CE:"\x8C",\u00CF:"\x8D",\u00F2:"\xA5",\u00F3:"\xA6",\u00F4:"\xA7",\u00F6:"\xA8",\u00D2:"\x8E",\u00D3:"\x8F",\u00D4:"\x90",\u00D6:"\x91",\u00F9:"\xA9",\u00FA:"\xAA",\u00FB:"\xAB",\u00FC:"\xAC",\u00D9:"\x92",\u00DA:"\x93",\u00DB:"\x94",\u00DC:"\x95",\u00F1:"\xAE",\u00D1:"\xAD","\xA1":"@","\xBF":"\xAF","`":"\xB1"};return t.split("").map(a=>a in i?i[a]:a).join("")}}const gs=e=>!!samp.callNative("IsValidNickName","s",e),ms=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},fs=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),Ps=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),ps=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),Is=e=>!!samp.callNative("IsValidServerRule","s",e),Ss=e=>!!samp.callNative("RemoveServerRule","s",e),ys=e=>{samp.callNative("AllowAdminTeleport","i",e)},Cs=()=>!!samp.callNative("IsAdminTeleportAllowed",""),Es=e=>{samp.callNative("AllowInteriorWeapons","i",e)},As=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),Ns=()=>!!samp.callNative("AreAllAnimationsEnabled",""),Ds=e=>{samp.callNative("EnableAllAnimations","i",e)},Ts=e=>{const[t,i]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return{consoleVarBuf:t,ret:i}},vs=e=>samp.callNative("GetConsoleVarAsInt","s",e),bs=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),Ls=()=>samp.callNative("GetWeather",""),ws=e=>samp.callNative("GetServerRuleFlags","s",e),Rs=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),Os=e=>!!samp.callNative("SetModeRestartTime","f",e),Gs=()=>samp.callNativeFloat("GetModeRestartTime",""),js=(e,t,i)=>samp.callNative("GameTextForAll","aii",e,t,i),Fs=e=>{samp.callNative("HideGameTextForAll","i",e)},Ms=(e,t,i)=>samp.callNative("SendDeathMessage","iii",e,t,i),Bs=()=>samp.callNative("GetMaxPlayers",""),pt=(e,t,i)=>Math.sqrt(e*e+t*t+i*i),Vs=e=>samp.callNative("SetGameModeText","s",e),ks=e=>samp.callNative("ShowNameTags","i",e),xs=e=>samp.callNative("ShowPlayerMarkers","i",e),Hs=e=>samp.callNative("SetWorldTime","i",e),Us=()=>samp.callNative("GetWorldTime",""),Ws=()=>!!samp.callNative("EnableVehicleFriendlyFire",""),Ks=e=>samp.callNative("SetWeather","i",e),Xs=()=>samp.callNativeFloat("GetGravity",""),Zs=e=>samp.callNative("SetGravity","f",e),Ys=(e,t,i,a,r)=>samp.callNative("CreateExplosion","fffif",e,t,i,a,r),zs=e=>samp.callNative("EnableZoneNames","i",e),Js=()=>!!samp.callNative("UsePlayerPedAnims",""),$s=()=>!!samp.callNative("DisableInteriorEnterExits",""),Qs=e=>samp.callNative("SetNameTagDrawDistance","f",e),qs=()=>samp.callNative("DisableNameTagLOS",""),el=e=>samp.callNative("LimitGlobalChatRadius","f",e),tl=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),il=()=>samp.callNative("GetServerTickRate",""),al=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),rl=e=>!!samp.callNative("EnableStuntBonusForAll","i",e),nl=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},sl=()=>!!samp.callNative("ChatTextReplacementToggled",""),ll=e=>samp.callNative("GetWeaponSlot","i",e),ol=e=>{const[t,i]=samp.callNative("GetWeaponName","iSi",e,32);return{name:t,ret:i}},_l=()=>samp.callNative("GetAvailableClasses",""),cl=e=>{const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[i,a=0,r=0,n=0,s=0,o=0,_=0,d=0,h=0,g=0,I=0,C=0,y]=t;return{teamId:i,modelId:a,spawnX:r,spawnY:n,spawnZ:s,zAngle:o,weapon1:_,weapon1Ammo:d,weapon2:h,weapon2Ammo:g,weapon3:I,weapon3Ammo:C,ret:y}},dl=(e,t,i,a,r,n,s,o,_,d,h,g,I)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,i,a,r,n,s,o,_,d,h,g,I),hl=e=>samp.callNative("SetTeamCount","i",e),ul=(e,t,i,a,r,n,s,o,_,d,h)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,i,a,r,n,s,o,_,d,h),gl=(e,t,i,a,r,n,s,o,_,d,h,g)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,i,a,r,n,s,o,_,d,h,g),ml=(e,t,i,a,r,n,s,o,_,d,h,g,I)=>!!samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,i,a,r,n,s,o,_,d,h,g,I),fl=e=>!!samp.callNative("SpawnPlayer","i",e),Pl=e=>{const[t,i=0,a=0,r=0,n=0,s=0,o=0,_=0,d=0,h=0,g=0,I=0,C]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:i,spawnX:a,spawnY:r,spawnZ:n,zAngle:s,weapon1:o,weapon1Ammo:_,weapon2:d,weapon2Ammo:h,weapon3:g,weapon3Ammo:I,ret:C}},pl=e=>samp.callNative("NetStats_GetConnectedTime","i",e),Il=e=>samp.callNative("NetStats_MessagesReceived","i",e),Sl=e=>samp.callNative("NetStats_BytesReceived","i",e),yl=e=>samp.callNative("NetStats_MessagesSent","i",e),Cl=e=>samp.callNative("NetStats_BytesSent","i",e),El=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),Al=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),Nl=e=>samp.callNative("NetStats_ConnectionStatus","i",e),Dl=e=>{const[t,i]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return{ipPort:t,ret:i}},Tl=e=>!!samp.callNative("IsPlayerAdmin","i",e),vl=(e,t)=>!!samp.callNative("SetPlayerAdmin","ii",e,t),bl=e=>!!samp.callNative("Kick","i",e),Ll=e=>!!samp.callNative("Ban","i",e),wl=e=>{const[t,i]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return{stats:t,ret:i}},Rl=()=>{const[e,t]=samp.callNative("GetNetworkStats","Si",1024);return{stats:e,ret:t}},Ol=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),Gl=e=>samp.callNative("UnBlockIpAddress","s",e),jl=(e,t)=>{const[i,a]=samp.callNative("gpci","iAi",e,41);return{val:E.decodeFromBuf(E.getValidStr(i),t),ret:a}},Fl=(e,t,i,a,r)=>samp.callNative("SendClientCheck","iiiii",e,t,i,a,r),Ml=()=>{samp.callNative("ClearBanList","")},Bl=e=>!!samp.callNative("IsBanned","s",e),Vl=e=>samp.callNative("GetPlayerRawIp","i",e),kl=e=>{const[t,i]=samp.callNative("GetPlayerIp","iSi",e,128);return{ip:t,ret:i}},xl=e=>{const[t,i]=samp.callNative("GetPlayerVersion","iSi",e,24);return{version:t,ret:i}},N=e=>{if(typeof e=="number")return e;if(typeof+e=="number"&&!isNaN(+e))return+e;if(e.charAt(0)==="#")return e.length===4?parseInt(e.charAt(1)+e.charAt(1)+e.charAt(2)+e.charAt(2)+e.charAt(3)+e.charAt(3)+"FF",16):e.length===7?parseInt(e.slice(1,e.length)+"FF",16):e.length===9?parseInt(e.slice(1,e.length),16):255;const t=(e.match(/([0-9])+/g)||[]).map(a=>parseInt(a,10));if(t.length!==4&&t.length!==3)return 255;t.length===3?t.push(255):t[3]=t[3]<1?Math.floor(t[3]*255):255;let i=0;return t.reverse().forEach((a,r)=>{a!==0&&(i+=Math.pow(16,r*2)*a)}),i},Hl=(e,t)=>!!samp.callNative("TogglePlayerWidescreen","ii",e,t),Ul=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),Wl=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),Kl=e=>samp.callNative("GetPlayerWeather","i",e),Xl=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{xMax:t,xMin:i,yMax:a,yMin:r,ret:n}},Zl=e=>samp.callNativeFloat("GetPlayerZAim","i",e),Yl=e=>{const[t=0,i=0,a=0,r]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:i,fOffsetZ:a,ret:r}},zl=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:i,y:a,z:r,ret:n}},Jl=e=>samp.callNative("GetPlayerDialogID","i",e),$l=e=>samp.callNative("GetPlayerSpectateID","i",e),Ql=e=>samp.callNative("GetPlayerSpectateType","i",e),ql=(e,t)=>!!samp.callNative("SetPlayerGravity","if",e,t),eo=e=>samp.callNativeFloat("GetPlayerGravity","i",e),to=e=>!!samp.callNative("IsPlayerSpawned","i",e),io=e=>!!samp.callNative("IsPlayerControllable","i",e),ao=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),ro=(e,t)=>!!samp.callNative("TogglePlayerGhostMode","ii",e,t),no=e=>!!samp.callNative("GetPlayerGhostMode","i",e),so=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),lo=(e,t)=>!!samp.callNative("RemovePlayerWeapon","ii",e,t),oo=e=>!!samp.callNative("HidePlayerDialog","i",e),_o=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),co=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),ho=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),uo=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),go=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),mo=(e,t,i,a)=>!!samp.callNative("GameTextForPlayer","iaii",e,t,i,a),fo=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),Po=(e,t,i,a)=>!!samp.callNative("SendDeathMessageToPlayer","iiii",e,t,i,a),po=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),Io=e=>!!samp.callNative("IsPlayerNPC","i",e),So=(e,t,i,a)=>!!samp.callNative("SetPlayerPos","ifff",e,t,i,a),yo=(e,t,i,a)=>!!samp.callNative("SetPlayerPosFindZ","ifff",e,t,i,a),Co=e=>{const[t,i,a,r]=samp.callNative("GetPlayerPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},Eo=(e,t)=>!!samp.callNative("SetPlayerFacingAngle","if",e,t),Ao=e=>{const[t,i]=samp.callNative("GetPlayerFacingAngle","iF",e);return{angle:t,ret:i}},No=(e,t,i,a,r)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,i,a,r),Do=(e,t,i,a)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,i,a),To=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),vo=(e,t)=>!!samp.callNative("SetPlayerInterior","ii",e,t),bo=e=>samp.callNative("GetPlayerInterior","i",e),Lo=(e,t)=>!!samp.callNative("SetPlayerHealth","if",e,t),wo=e=>{const[t,i]=samp.callNative("GetPlayerHealth","iF",e);return{health:t,ret:i}},Ro=(e,t)=>!!samp.callNative("SetPlayerArmour","if",e,t),Oo=e=>{const[t,i]=samp.callNative("GetPlayerArmour","iF",e);return{armour:t,ret:i}},Go=(e,t,i)=>!!samp.callNative("SetPlayerAmmo","iii",e,t,i),jo=e=>samp.callNative("GetPlayerAmmo","i",e),Fo=e=>samp.callNative("GetPlayerWeaponState","i",e),Mo=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Bo=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},Vo=e=>samp.callNative("GetPlayerTeam","i",e),ko=(e,t)=>!!samp.callNative("SetPlayerScore","ii",e,t),xo=e=>samp.callNative("GetPlayerScore","i",e),Ho=e=>samp.callNative("GetPlayerDrunkLevel","i",e),Uo=(e,t)=>!!samp.callNative("SetPlayerDrunkLevel","ii",e,t),Wo=(e,t)=>!!samp.callNative("SetPlayerColor","ii",e,N(t)),Ko=e=>samp.callNative("GetPlayerColor","i",e),Xo=(e,t)=>!!samp.callNative("SetPlayerSkin","ii",e,t),Zo=e=>samp.callNative("GetPlayerSkin","i",e),Yo=(e,t,i)=>!!samp.callNative("GivePlayerWeapon","iii",e,t,i),zo=e=>!!samp.callNative("ResetPlayerWeapons","i",e),Jo=(e,t)=>!!samp.callNative("SetPlayerArmedWeapon","ii",e,t),$o=(e,t)=>{const[i,a,r]=samp.callNative("GetPlayerWeaponData","iiII",e,t);return{weapons:i,ammo:a,ret:r}},Qo=(e,t)=>!!samp.callNative("GivePlayerMoney","ii",e,t),qo=e=>!!samp.callNative("ResetPlayerMoney","i",e),e_=e=>samp.callNative("GetPlayerMoney","i",e),t_=e=>samp.callNative("GetPlayerState","i",e),i_=e=>samp.callNative("GetPlayerPing","i",e),a_=e=>samp.callNative("GetPlayerWeapon","i",e),r_=e=>{const[t,i,a,r]=samp.callNative("GetPlayerKeys","iIII",e);return{keys:t,upDown:i,leftRight:a,ret:r}},n_=(e,t,i)=>!!samp.callNative("SetPlayerTime","iii",e,t,i),s_=e=>{const[t,i,a]=samp.callNative("GetPlayerTime","iII",e);return{hour:t,minute:i,ret:a}},l_=(e,t)=>!!samp.callNative("TogglePlayerClock","ii",e,t),o_=(e,t)=>!!samp.callNative("SetPlayerWeather","ii",e,t),__=e=>!!samp.callNative("ForceClassSelection","i",e),c_=(e,t)=>!!samp.callNative("SetPlayerWantedLevel","ii",e,t),d_=e=>samp.callNative("GetPlayerWantedLevel","i",e),h_=(e,t)=>!!samp.callNative("SetPlayerFightingStyle","ii",e,t),u_=e=>samp.callNative("GetPlayerFightingStyle","i",e),g_=(e,t,i,a)=>!!samp.callNative("SetPlayerVelocity","ifff",e,t,i,a),m_=e=>{const[t,i,a,r]=samp.callNative("GetPlayerVelocity","iFFF",e);return{x:t,y:i,z:a,ret:r}},f_=(e,t,i)=>!!samp.callNative("PlayCrimeReportForPlayer","iii",e,t,i),P_=(e,t,i,a,r,n,s=!1)=>!!samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,i,a,r,n,s),p_=e=>!!samp.callNative("StopAudioStreamForPlayer","i",e),I_=(e,t)=>!!samp.callNative("SetPlayerShopName","is",e,t),S_=(e,t,i)=>!!samp.callNative("SetPlayerSkillLevel","iii",e,t,i),y_=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),C_=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),E_=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),A_=(e,t,i,a,r,n)=>!!samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,i,a,r,n),N_=e=>{const[t,i,a,r,n,s,o]=samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e);return{fOriginX:t,fOriginY:i,fOriginZ:a,fHitPosX:r,fHitPosY:n,fHitPosZ:s,ret:o}},D_=(e,t,i)=>!!samp.callNative("PutPlayerInVehicle","iii",e,t,i),T_=e=>samp.callNative("GetPlayerVehicleID","i",e),v_=e=>samp.callNative("GetPlayerVehicleSeat","i",e),b_=e=>!!samp.callNative("RemovePlayerFromVehicle","i",e),L_=(e,t)=>!!samp.callNative("TogglePlayerControllable","ii",e,t),w_=(e,t,i,a,r)=>!!samp.callNative("PlayerPlaySound","iifff",e,t,i,a,r),R_=(e,t,i,a,r,n,s,o,_,d)=>!!samp.callNative("ApplyAnimation","issfiiiiii",e,t,i,a,r,n,s,o,_,d),O_=(e,t)=>!!samp.callNative("ClearAnimations","ii",e,t),G_=e=>samp.callNative("GetPlayerAnimationIndex","i",e),j_=e=>samp.callNative("GetPlayerSpecialAction","i",e),F_=(e,t)=>!!samp.callNative("SetPlayerSpecialAction","ii",e,t),M_=(e,t)=>!!samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),B_=(e,t)=>!!samp.callNative("SetPlayerVirtualWorld","ii",e,t),V_=e=>samp.callNative("GetPlayerVirtualWorld","i",e),k_=(e,t)=>!!samp.callNative("EnableStuntBonusForPlayer","ii",e,t),x_=e=>samp.callNative("GetPlayerCustomSkin","i",e),H_=(e,t,i,a,r,n)=>!!samp.callNative("CreateExplosionForPlayer","ifffif",e,t,i,a,r,n),U_=(e,t,i)=>!!samp.callNative("StartRecordingPlayerData","iis",e,t,i),W_=e=>!!samp.callNative("StopRecordingPlayerData","i",e),K_=(e,t)=>!!samp.callNative("TogglePlayerSpectating","ii",e,t),X_=(e,t,i)=>!!samp.callNative("PlayerSpectatePlayer","iii",e,t,i),Z_=(e,t,i)=>!!samp.callNative("PlayerSpectateVehicle","iii",e,t,i),Y_=e=>!!samp.callNative("IsPlayerConnected","i",e),z_=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),J_=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),$_=(e,t,i,a,r)=>!!samp.callNative("SetPlayerWorldBounds","iffff",e,t,i,a,r),Q_=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),q_=(e,t,i)=>{samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,N(i))};function ec(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",e,t)}const tc=(e,t,i)=>!!samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,i),ic=(e,t,i,a,r,n,s,o)=>!!samp.callNative("SetPlayerMapIcon","iifffiii",e,t,i,a,r,n,N(s),o),ac=(e,t)=>!!samp.callNative("RemovePlayerMapIcon","ii",e,t),rc=(e,t,i,a)=>!!samp.callNative("SetPlayerCameraPos","ifff",e,t,i,a),nc=(e,t,i,a,r)=>!!samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,i,a,r),sc=e=>!!samp.callNative("SetCameraBehindPlayer","i",e),lc=e=>{const[t,i,a,r]=samp.callNative("GetPlayerCameraPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},oc=e=>{const[t,i,a,r]=samp.callNative("GetPlayerCameraFrontVector","iFFF",e);return{x:t,y:i,z:a,ret:r}},_c=e=>samp.callNative("GetPlayerCameraMode","i",e),cc=(e,t)=>!!samp.callNative("EnablePlayerCameraTarget","ii",e,t),dc=e=>samp.callNative("GetPlayerCameraTargetObject","i",e),hc=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),uc=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),gc=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),mc=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),fc=(e,t)=>!!samp.callNative("AttachCameraToObject","ii",e,t),Pc=(e,t)=>!!samp.callNative("AttachCameraToPlayerObject","ii",e,t),pc=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("InterpolateCameraPos","iffffffii",e,t,i,a,r,n,s,o,_),Ic=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,i,a,r,n,s,o,_),Sc=e=>!!samp.callNative("IsPlayerCuffed","i",e),yc=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),Cc=e=>!!samp.callNative("IsPlayerUsingOmp","i",e),Ec=e=>samp.callNative("GetActorSkin","i",e),Ac=(e,t)=>!!samp.callNative("SetActorSkin","ii",e,t),Nc=e=>{const[t=0,i=0,a=0,r=0,n=0,s]=samp.callNative("GetActorSpawnInfo","iIFFFF",e);return{skinId:t,fX:i,fY:a,fZ:r,fAngle:n,ret:s}},Dc=e=>{const[t,i,a=0,r=0,n=0,s=0,o=0,_=0,d]=samp.callNative("GetActorAnimation","iSiSiFIIIII",e,32,32);return{animLib:t,animName:i,fDelta:a,loop:r,lockX:n,lockY:s,freeze:o,time:_,ret:d}},Tc=(e,t,i,a,r)=>samp.callNative("CreateActor","iffff",e,t,i,a,r),vc=e=>!!samp.callNative("DestroyActor","i",e),bc=(e,t)=>!!samp.callNative("IsActorStreamedIn","ii",e,t),Lc=(e,t)=>!!samp.callNative("SetActorVirtualWorld","ii",e,t),wc=e=>samp.callNative("GetActorVirtualWorld","i",e),Rc=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("ApplyActorAnimation","issfiiiii",e,t,i,a,r,n,s,o,_),Oc=e=>!!samp.callNative("ClearActorAnimations","i",e),Gc=(e,t,i,a)=>!!samp.callNative("SetActorPos","ifff",e,t,i,a),jc=e=>{const[t,i,a,r]=samp.callNative("GetActorPos","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},Fc=(e,t)=>!!samp.callNative("SetActorFacingAngle","if",e,t),Mc=e=>{const[t,i]=samp.callNative("GetActorFacingAngle","iF",e);return{angle:t,ret:!!i}},Bc=(e,t)=>!!samp.callNative("SetActorHealth","if",e,t),Vc=e=>{const[t,i]=samp.callNative("GetActorHealth","iF",e);return{health:t,ret:!!i}},kc=(e,t)=>!!samp.callNative("SetActorInvulnerable","ii",e,t),xc=e=>!!samp.callNative("IsActorInvulnerable","i",e),Hc=e=>!!samp.callNative("IsValidActor","i",e),Uc=e=>samp.callNative("NPC_Create","s",e),Wc=e=>samp.callNative("NPC_Destroy","i",e),Kc=e=>!!samp.callNative("NPC_IsValid","i",e),Xc=e=>samp.callNative("NPC_Spawn","i",e),Zc=e=>samp.callNative("NPC_Respawn","i",e),Yc=(e,t,i,a)=>samp.callNative("NPC_SetPos","ifff",e,t,i,a),zc=(e,t,i,a)=>samp.callNative("NPC_SetRot","ifff",e,t,i,a),Jc=e=>{const[t,i,a,r]=samp.callNative("NPC_GetRot","iFFF",e);return{rX:t,rY:i,rZ:a,ret:r}},$c=(e,t)=>samp.callNative("NPC_SetFacingAngle","if",e,t),Qc=e=>{const[t,i]=samp.callNative("NPC_GetFacingAngle","iF",e);return{angle:t,ret:i}},qc=(e,t)=>samp.callNative("NPC_SetVirtualWorld","ii",e,t),ed=e=>samp.callNative("NPC_GetVirtualWorld","i",e),td=(e,t,i,a,r,n)=>!!samp.callNative("NPC_Move","ifffif",e,t,i,a,r,n),id=(e,t,i,a)=>!!samp.callNative("NPC_MoveToPlayer","iiif",e,t,i,a),ad=e=>samp.callNative("NPC_StopMove","i",e),rd=e=>!!samp.callNative("NPC_IsMoving","i",e),nd=(e,t)=>!!samp.callNative("NPC_IsMovingToPlayer","ii",e,t),sd=(e,t)=>samp.callNative("NPC_SetSkin","ii",e,t),ld=e=>samp.callNative("NPC_GetSkin","i",e),od=(e,t)=>!!samp.callNative("NPC_IsStreamedIn","ii",e,t),_d=e=>!!samp.callNative("NPC_IsAnyStreamedIn","i",e),cd=(e,t)=>samp.callNative("NPC_SetInterior","ii",e,t),dd=e=>samp.callNative("NPC_GetInterior","i",e),hd=(e,t)=>samp.callNative("NPC_SetHealth","if",e,t),ud=e=>samp.callNativeFloat("NPC_GetHealth","i",e),gd=(e,t)=>samp.callNative("NPC_SetArmour","if",e,t),md=e=>samp.callNativeFloat("NPC_GetArmour","i",e),fd=e=>!!samp.callNative("NPC_IsDead","i",e),Pd=(e,t,i,a,r,n,s,o,_,d)=>samp.callNative("NPC_ApplyAnimation","issfiiiiii",e,t,i,a,r,n,s,o,_,d),pd=(e,t)=>samp.callNative("NPC_SetWeapon","ii",e,t),Id=e=>samp.callNative("NPC_GetWeapon","i",e),Sd=(e,t)=>samp.callNative("NPC_SetAmmo","ii",e,t),yd=e=>samp.callNative("NPC_GetAmmo","i",e),Cd=(e,t,i,a)=>samp.callNative("NPC_SetKeys","iiii",e,t,i,a),Ed=e=>{const[t,i,a,r]=samp.callNative("NPC_GetKeys","iIII",e);return{upAndDown:t,leftAndDown:i,keys:a,ret:r}},Ad=(e,t,i)=>samp.callNative("NPC_SetWeaponSkillLevel","iii",e,t,i),Nd=(e,t)=>samp.callNative("NPC_GetWeaponSkillLevel","ii",e,t),Dd=(e,t,i)=>samp.callNative("NPC_MeleeAttack","iii",e,t,i),Td=e=>samp.callNative("NPC_StopMeleeAttack","i",e),vd=e=>!!samp.callNative("NPC_IsMeleeAttacking","i",e),bd=(e,t)=>samp.callNative("NPC_SetFightingStyle","ii",e,t),Ld=e=>samp.callNative("NPC_GetFightingStyle","i",e),wd=(e,t)=>samp.callNative("NPC_EnableReloading","ii",e,t),Rd=e=>!!samp.callNative("NPC_IsReloadEnabled","i",e),Od=e=>!!samp.callNative("NPC_IsReloading","i",e),Gd=(e,t)=>samp.callNative("NPC_EnableInfiniteAmmo","ii",e,t),jd=e=>!!samp.callNative("NPC_IsInfiniteAmmoEnabled","i",e),Fd=(e,t)=>!!samp.callNative("NPC_SetWeaponState","ii",e,t),Md=e=>samp.callNative("NPC_GetWeaponState","i",e),Bd=(e,t)=>samp.callNative("NPC_SetAmmoInClip","ii",e,t),Vd=e=>samp.callNative("NPC_GetAmmoInClip","i",e),kd=(e,t,i,a,r,n,s,o,_,d,h,g)=>samp.callNative("NPC_Shoot","iiiffffffii",e,t,i,a,r,n,s,o,_,d,h,g),xd=e=>!!samp.callNative("NPC_IsShooting","i",e),Hd=(e,t,i,a,r,n,s,o,_,d,h)=>samp.callNative("NPC_AimAt","ifffiiifffi",e,t,i,a,r,n,s,o,_,d,h),Ud=(e,t,i,a,r,n,s,o,_,d,h,g)=>samp.callNative("NPC_AimAtPlayer","iiiiiffffffi",e,t,i,a,r,n,s,o,_,d,h,g),Wd=e=>samp.callNative("NPC_StopAim","i",e),Kd=e=>!!samp.callNative("NPC_IsAiming","i",e),Xd=(e,t)=>!!samp.callNative("NPC_IsAimingAtPlayer","ii",e,t),Zd=(e,t,i)=>samp.callNative("NPC_SetWeaponAccuracy","iif",e,t,i),Yd=(e,t)=>samp.callNativeFloat("NPC_GetWeaponAccuracy","ii",e,t),zd=(e,t,i)=>samp.callNative("NPC_SetWeaponReloadTime","iii",e,t,i),Jd=(e,t)=>samp.callNative("NPC_GetWeaponReloadTime","ii",e,t),$d=(e,t)=>samp.callNative("NPC_GetWeaponActualReloadTime","ii",e,t),Qd=(e,t,i)=>samp.callNative("NPC_SetWeaponShootTime","iii",e,t,i),qd=(e,t)=>samp.callNative("NPC_GetWeaponShootTime","ii",e,t),eh=(e,t,i)=>samp.callNative("NPC_SetWeaponClipSize","iii",e,t,i),th=(e,t)=>samp.callNative("NPC_GetWeaponClipSize","ii",e,t),ih=(e,t)=>samp.callNative("NPC_GetWeaponActualClipSize","ii",e,t),ah=(e,t,i,a)=>samp.callNative("NPC_EnterVehicle","iiii",e,t,i,a),rh=e=>samp.callNative("NPC_ExitVehicle","i",e),nh=(e,t,i)=>samp.callNative("NPC_PutInVehicle","iii",e,t,i),sh=e=>samp.callNative("NPC_RemoveFromVehicle","i",e),lh=e=>samp.callNative("NPC_GetVehicle","i",e),oh=e=>samp.callNative("NPC_GetVehicleSeat","i",e),_h=e=>samp.callNative("NPC_GetEnteringVehicle","i",e),ch=e=>samp.callNative("NPC_GetEnteringVehicleSeat","i",e),dh=e=>!!samp.callNative("NPC_IsEnteringVehicle","i",e),hh=(e,t)=>samp.callNative("NPC_UseVehicleSiren","ii",e,t),uh=e=>!!samp.callNative("NPC_IsVehicleSirenUsed","i",e),gh=(e,t)=>samp.callNative("NPC_SetVehicleHealth","if",e,t),mh=e=>samp.callNativeFloat("NPC_GetVehicleHealth","i",e),fh=(e,t)=>samp.callNative("NPC_SetVehicleHydraThrusters","ii",e,t),Ph=e=>samp.callNative("NPC_GetVehicleHydraThrusters","i",e),ph=(e,t)=>samp.callNative("NPC_SetVehicleGearState","ii",e,t),Ih=e=>samp.callNative("NPC_GetVehicleGearState","i",e),Sh=(e,t)=>samp.callNative("NPC_SetVehicleTrainSpeed","if",e,t),yh=e=>samp.callNativeFloat("NPC_GetVehicleTrainSpeed","i",e),Ch=e=>samp.callNative("NPC_ResetAnimation","i",e),Eh=(e,t,i,a,r,n,s,o)=>samp.callNative("NPC_SetAnimation","iifiiiii",e,t,i,a,r,n,s,o),Ah=e=>{const[t,i,a,r,n,s,o,_]=samp.callNative("NPC_GetAnimation","iIFIIIII",e);return{animationId:t,delta:i,loop:!!a,lockX:!!r,lockY:!!n,freeze:!!s,time:o,ret:_}},Nh=e=>samp.callNative("NPC_ClearAnimations","i",e),Dh=(e,t)=>samp.callNative("NPC_SetSpecialAction","ii",e,t),Th=e=>samp.callNative("NPC_GetSpecialAction","i",e),vh=(e,t,i,a,r,n,s,o,_)=>samp.callNative("NPC_StartPlayback","isiffffff",e,t,i,a,r,n,s,o,_),bh=(e,t,i,a,r,n,s,o,_)=>samp.callNative("NPC_StartPlaybackEx","iiiffffff",e,t,i,a,r,n,s,o,_),Lh=e=>samp.callNative("NPC_StopPlayback","i",e),wh=(e,t)=>samp.callNative("NPC_PausePlayback","ii",e,t),Rh=e=>!!samp.callNative("NPC_IsPlayingPlayback","i",e),Oh=e=>!!samp.callNative("NPC_IsPlaybackPaused","i",e),Gh=(e,t,i,a,r,n)=>!!samp.callNative("NPC_PlayNode","iiiffi",e,t,i,a,r,n),jh=e=>!!samp.callNative("NPC_StopPlayingNode","i",e),Fh=e=>!!samp.callNative("NPC_PausePlayingNode","i",e),Mh=e=>!!samp.callNative("NPC_ResumePlayingNode","i",e),Bh=e=>!!samp.callNative("NPC_IsPlayingNodePaused","i",e),Vh=e=>!!samp.callNative("NPC_IsPlayingNode","i",e),kh=(e,t,i)=>samp.callNative("NPC_ChangeNode","iii",e,t,i),xh=(e,t)=>!!samp.callNative("NPC_UpdateNodePoint","ii",e,t),Hh=(e,t)=>samp.callNative("NPC_SetInvulnerable","ii",e,t),Uh=e=>!!samp.callNative("NPC_IsInvulnerable","i",e),Wh=(e,t,i,a)=>samp.callNative("NPC_SetSurfingOffsets","ifff",e,t,i,a),Kh=e=>{const[t,i,a,r]=samp.callNative("NPC_GetSurfingOffsets","iFFF",e);return{x:t,y:i,z:a,ret:r}},Xh=(e,t)=>samp.callNative("NPC_SetSurfingVehicle","ii",e,t),Zh=e=>samp.callNative("NPC_GetSurfingVehicle","i",e),Yh=(e,t)=>samp.callNative("NPC_SetSurfingObject","ii",e,t),zh=e=>samp.callNative("NPC_GetSurfingObject","i",e),Jh=(e,t)=>samp.callNative("NPC_SetSurfingPlayerObject","ii",e,t),$h=e=>samp.callNative("NPC_GetSurfingPlayerObject","i",e),Qh=e=>samp.callNative("NPC_ResetSurfingData","i",e),qh=e=>!!samp.callNative("NPC_IsSpawned","i",e),eu=(e,t,i)=>!!samp.callNative("NPC_Kill","iii",e,t,i),tu=(e,t,i,a)=>!!samp.callNative("NPC_SetVelocity","ifff",e,t,i,a),iu=e=>{const[t,i,a,r]=samp.callNative("NPC_GetVelocity","iFFF",e);return{x:t,y:i,z:a,ret:r}},au=e=>samp.callNative("NPC_GetPlayerAimingAt","i",e),ru=e=>samp.callNative("NPC_GetPlayerMovingTo","i",e),nu=e=>{const[t=0,i=0,a=0,r=0,n=0,s=0,o]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:i,fZ:a,fRot:r,color1:n,color2:s,ret:o}},su=(e,t,i,a,r,n,s,o,_=-2,d=-2)=>samp.callNative("SetVehicleSpawnInfo","iiffffiiii",e,t,i,a,r,n,s,o,_,d),lu=e=>{const[t=0,i=0,a]=samp.callNative("GetVehicleColor","iII",e);return{color1:t,color2:i,ret:a}},ou=e=>samp.callNative("GetVehiclePaintjob","i",e),_u=e=>samp.callNative("GetVehicleInterior","i",e),cu=e=>{const[t,i]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return{plate:t,ret:i}},du=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),hu=e=>samp.callNative("GetVehicleRespawnDelay","i",e),uu=e=>samp.callNative("GetVehicleCab","i",e),gu=e=>samp.callNative("GetVehicleOccupiedTick","i",e),mu=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),fu=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),Pu=e=>!!samp.callNative("IsVehicleOccupied","i",e),pu=e=>samp.callNative("GetVehicleRespawnTick","i",e),Iu=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),Su=e=>!!samp.callNative("IsVehicleDead","i",e),yu=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),Cu=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),Eu=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),Au=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),Nu=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),Du=e=>samp.callNative("GetVehicleModelCount","i",e),pi=e=>samp.callNative("GetVehicleLastDriver","i",e),Ii=e=>samp.callNative("GetVehicleDriver","i",e),Tu=()=>samp.callNative("GetVehicleModelsUsed",""),vu=e=>samp.callNative("GetVehicleSirenState","i",e),bu=e=>samp.callNative("GetVehicleLandingGearState","i",e),Lu=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),wu=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),Ru=e=>{const[t=0,i=0,a=0,r=0,n=0,s=0,o=0,_=0,d=0,h]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:i,rightZ:a,upX:r,upY:n,upZ:s,atX:o,atY:_,atZ:d,ret:h}},Ou=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,i,a,r],ret:n}},Gu=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),ju=(e,t,i,a,r,n,s,o,_)=>samp.callNative("CreateVehicle","iffffiiii",e,t,i,a,r,N(n),N(s),o,_),Fu=e=>samp.callNative("DestroyVehicle","i",e),Mu=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),Bu=e=>{const[t,i,a,r]=samp.callNative("GetVehiclePos","iFFF",e);return{x:t,y:i,z:a,ret:r}},Vu=(e,t,i,a)=>!!samp.callNative("SetVehiclePos","ifff",e,t,i,a),ku=e=>{const[t,i]=samp.callNative("GetVehicleZAngle","iF",e);return{angle:t,ret:i}},xu=e=>{const[t,i,a,r]=samp.callNative("GetVehicleRotation","iFFF",e);return{x:t,y:i,z:a,ret:r}},Hu=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleRotationQuat","iFFFF",e);return{w:t,x:i,y:a,z:r,ret:n}},Uu=(e,t,i,a)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,i,a),Wu=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),Ku=(e,t,i,a)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,i,a),Xu=()=>samp.callNative("ManualVehicleEngineAndLights",""),Zu=(e,t,i,a,r,n,s,o)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,i,a,r,n,s,o),Yu=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),zu=e=>samp.callNative("GetVehicleParamsSirenState","i",e),Ju=(e,t,i,a,r)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,i,a,r),$u=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t,passenger:i,backLeft:a,backRight:r,ret:n}},Qu=(e,t,i,a,r)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,i,a,r),qu=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t,passenger:i,backLeft:a,backRight:r,ret:n}},eg=e=>samp.callNative("SetVehicleToRespawn","i",e),tg=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),ig=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),ag=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),rg=(e,t,i)=>samp.callNative("ChangeVehicleColor","iii",e,N(t),N(i)),ng=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),sg=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),lg=e=>{const[t,i]=samp.callNative("GetVehicleHealth","iF",e);return{health:t,ret:i}},og=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),_g=e=>samp.callNative("DetachTrailerFromVehicle","i",e),cg=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),dg=e=>samp.callNative("GetVehicleTrailer","i",e),hg=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),ug=e=>samp.callNative("GetVehicleModel","i",e),gg=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),mg=e=>samp.callNative("GetVehicleComponentType","i",e),fg=e=>samp.callNative("RepairVehicle","i",e),Pg=e=>{const[t,i,a,r]=samp.callNative("GetVehicleVelocity","iFFF",e);return{x:t,y:i,z:a,ret:r}},pg=(e,t,i,a)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,i,a),Ig=(e,t,i,a)=>!!samp.callNative("SetVehicleAngularVelocity","ifff",e,t,i,a),Sg=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleDamageStatus","iIIII",e);return{panels:t,doors:i,lights:a,tires:r,ret:n}},yg=(e,t,i,a,r)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,i,a,r),Cg=(e,t)=>{const[i,a,r,n]=samp.callNative("GetVehicleModelInfo","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},Eg=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),Ag=e=>samp.callNative("GetVehicleVirtualWorld","i",e),Ng=e=>!!samp.callNative("IsValidVehicle","i",e),Dg=(e,t,i,a,r,n,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,i,a,r,N(n),N(s)),Tg=(e,t,i,a,r,n,s,o,_)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,i,a,r,N(n),N(s),o,_),vg=e=>!!samp.callNative("ShowVehicle","i",e),bg=e=>!!samp.callNative("HideVehicle","i",e),Lg=e=>!!samp.callNative("IsVehicleHidden","i",e),wg=e=>!!samp.callNative("IsPlayerInModShop","i",e),Rg=e=>samp.callNative("GetPlayerSirenState","i",e),Og=e=>samp.callNative("GetPlayerLandingGearState","i",e),Gg=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),jg=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),Fg=(e,t)=>samp.callNative("GetVehicleOccupant","ii",e,t),Mg=e=>samp.callNative("GetVehicleMaxPassengers","i",e),Bg=e=>samp.callNative("CountVehicleOccupants","i",e),Vg=(e,t,i,a,r)=>!!samp.callNative("SetPlayerCheckpoint","iffff",e,t,i,a,r),kg=e=>!!samp.callNative("DisablePlayerCheckpoint","i",e),xg=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("SetPlayerRaceCheckpoint","iifffffff",e,t,i,a,r,n,s,o,_),Hg=e=>!!samp.callNative("DisablePlayerRaceCheckpoint","i",e),Ug=e=>!!samp.callNative("IsPlayerInCheckpoint","i",e),Wg=e=>!!samp.callNative("IsPlayerInRaceCheckpoint","i",e),Si=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),yi=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:i,fZ:a,fSize:r,ret:n}},Ci=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),Ei=e=>{const[t=0,i=0,a=0,r=0,n=0,s=0,o=0,_]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:i,fZ:a,fNextX:r,fNextY:n,fNextZ:s,fSize:o,ret:_}},Kg=e=>!!samp.callNative("IsMenuDisabled","i",e),Xg=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),Zg=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),Yg=e=>{const[t=0,i=0,a]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:i,ret:a}},zg=e=>{const[t=0,i=0,a]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:i,ret:a}},Jg=e=>samp.callNative("DestroyMenu","i",e),$g=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),Qg=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),qg=e=>!!samp.callNative("IsValidMenu","i",e),em=e=>samp.callNative("DisableMenu","i",e),tm=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),Ai=e=>samp.callNative("GetPlayerMenu","i",e),im=e=>!!samp.callNative("IsValid3DTextLabel","i",e),am=(e,t)=>!!samp.callNative("Is3DTextLabelStreamedIn","ii",e,t),rm=e=>samp.callNative("Get3DTextLabelColor","i",e),nm=e=>{const[t=0,i=0,a=0,r]=samp.callNative("Get3DTextLabelPos","iFFF",e);return{fX:t,fY:i,fZ:a,ret:r}},sm=(e,t)=>!!samp.callNative("Set3DTextLabelDrawDistance","ii",e,t),lm=e=>samp.callNativeFloat("Get3DTextLabelDrawDistance","i",e),om=e=>!!samp.callNative("Get3DTextLabelLOS","i",e),_m=(e,t)=>!!samp.callNative("Set3DTextLabelLOS","ii",e,t),cm=(e,t)=>!!samp.callNative("Set3DTextLabelVirtualWorld","ii",e,t),dm=e=>samp.callNative("Get3DTextLabelVirtualWorld","i",e),hm=e=>{const[t=0,i=0]=samp.callNative("Get3DTextLabelAttachedData","i",e);return{attachedPlayerId:t,attachedVehicleId:i}},um=e=>samp.callNative("Delete3DTextLabel","i",e),gm=(e,t,i,a,r)=>!!samp.callNative("Attach3DTextLabelToPlayer","iifff",e,t,i,a,r),mm=(e,t,i,a,r)=>!!samp.callNative("Attach3DTextLabelToVehicle","iifff",e,t,i,a,r),fm=(e,t)=>!!samp.callNative("IsValidPlayer3DTextLabel","ii",e,t),Pm=(e,t)=>samp.callNative("GetPlayer3DTextLabelColor","ii",e,t),pm=(e,t)=>{const[i=0,a=0,r=0,n]=samp.callNative("GetPlayer3DTextLabelPos","iiFFF",e,t);return{fX:i,fY:a,fZ:r,ret:n}},Im=(e,t,i)=>!!samp.callNative("SetPlayer3DTextLabelDrawDistance","iii",e,t,i),Sm=(e,t)=>samp.callNativeFloat("GetPlayer3DTextLabelDrawDistance","ii",e,t),ym=(e,t)=>!!samp.callNative("GetPlayer3DTextLabelLOS","ii",e,t),Cm=(e,t,i)=>!!samp.callNative("SetPlayer3DTextLabelLOS","iii",e,t,i),Em=(e,t)=>samp.callNative("GetPlayer3DTextLabelVirtualWorld","ii",e,t),Am=(e,t,i)=>!!samp.callNative("SetPlayer3DTextLabelVirtualWorld","iii",e,t,i),Nm=(e,t)=>{const[i=0,a=0]=samp.callNative("GetPlayer3DTextLabelAttachedData","ii",e,t);return{attachedPlayerId:i,attachedVehicleId:a}},Dm=(e,t)=>samp.callNative("DeletePlayer3DTextLabel","ii",e,t),Tm=e=>!!samp.callNative("IsValidGangZone","i",e),vm=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),bm=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),Lm=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),wm=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),Rm=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),Om=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:i,fMaxX:a,fMaxY:r,ret:n}},Gm=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},jm=(e,t,i,a)=>samp.callNative("GangZoneCreate","ffff",e,t,i,a),Fm=e=>samp.callNative("GangZoneDestroy","i",e),Mm=(e,t,i)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,N(i)),Bm=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,N(t)),Vm=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),km=e=>samp.callNative("GangZoneHideForAll","i",e),xm=(e,t,i)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,N(i)),Hm=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,N(t)),Um=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),Wm=e=>samp.callNative("GangZoneStopFlashForAll","i",e),Km=(e,t,i,a,r)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,i,a,r),Xm=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),Zm=(e,t,i)=>samp.callNative("PlayerGangZoneShow","iii",e,t,i),Ym=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),zm=(e,t,i)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,i),Jm=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),$m=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),Qm=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),qm=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),ef=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),tf=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),af=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),rf=(e,t)=>{const[i=0,a=0,r=0,n=0,s]=samp.callNative("PlayerGangZoneGetPos","iiFFFF",e,t);return{fMinX:i,fMinY:a,fMaxX:r,fMaxY:n,ret:s}},nf=(e,t,i)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,i)},sf=e=>!!samp.callNative("IsValidTextDraw","i",e),lf=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),of=e=>{const[t,i]=samp.callNative("TextDrawGetString","iSi",e,1024);return{str:t,ret:i}},_f=(e,t,i)=>{samp.callNative("TextDrawSetPos","iff",e,t,i)},cf=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:i,ret:a}},df=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:i,ret:a}},hf=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:i,ret:a}},uf=e=>samp.callNative("TextDrawGetColor","i",e),gf=e=>samp.callNative("TextDrawGetBoxColor","i",e),mf=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),ff=e=>samp.callNative("TextDrawGetShadow","i",e),Pf=e=>samp.callNative("TextDrawGetOutline","i",e),pf=e=>samp.callNative("TextDrawGetFont","i",e),If=e=>!!samp.callNative("TextDrawIsBox","i",e),Sf=e=>!!samp.callNative("TextDrawIsProportional","i",e),yf=e=>!!samp.callNative("TextDrawIsSelectable","i",e),Cf=e=>samp.callNative("TextDrawGetAlignment","i",e),Ef=e=>samp.callNative("TextDrawGetPreviewModel","i",e),Af=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:i,fRotZ:a,fZoom:r,ret:n}},Nf=e=>{const[t,i,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:i,ret:a}},Df=(e,t,i)=>{samp.callNative("TextDrawSetStringForPlayer","iia",e,t,i)},Tf=(e,t,i)=>samp.callNative("TextDrawCreate","ffa",e,t,i),vf=e=>samp.callNative("TextDrawDestroy","i",e),bf=(e,t,i)=>samp.callNative("TextDrawLetterSize","iff",e,t,i),Lf=(e,t,i)=>samp.callNative("TextDrawTextSize","iff",e,t,i),wf=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),Rf=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,N(t)),Of=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),Gf=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,N(t)),jf=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),Ff=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),Mf=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,N(t)),Bf=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),Vf=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),kf=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),xf=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),Hf=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),Uf=e=>samp.callNative("TextDrawShowForAll","i",e),Wf=e=>samp.callNative("TextDrawHideForAll","i",e),Kf=(e,t)=>samp.callNative("TextDrawSetString","ia",e,t),Xf=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),Zf=(e,t,i,a,r=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,i,a,r)},Yf=(e,t,i)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,N(t),N(i)),zf=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,N(t))},Jf=e=>{samp.callNative("CancelSelectTextDraw","i",e)},$f=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),Qf=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),qf=(e,t)=>{const[i,a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return{str:i,ret:a}},eP=(e,t,i,a)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,i,a)},tP=(e,t)=>{const[i=0,a=0,r]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:i,fY:a,ret:r}},iP=(e,t)=>{const[i=0,a=0,r]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:i,fY:a,ret:r}},aP=(e,t)=>{const[i=0,a=0,r]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:i,fY:a,ret:r}},rP=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),nP=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),sP=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),lP=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),oP=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),_P=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),cP=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),dP=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),hP=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),uP=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),gP=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),mP=(e,t)=>{const[i=0,a=0,r=0,n=0]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:i,fRotY:a,fRotZ:r,fZoom:n}},fP=(e,t)=>{const[i,a,r]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:i,color2:a,ret:r}},PP=(e,t,i,a)=>samp.callNative("CreatePlayerTextDraw","iffa",e,t,i,a),pP=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},IP=(e,t,i,a)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,i,a),SP=(e,t,i,a)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,i,a),yP=(e,t,i)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,i),CP=(e,t,i)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,N(i)),EP=(e,t,i)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,i),AP=(e,t,i)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,N(i)),NP=(e,t,i)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,i),DP=(e,t,i)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,i),TP=(e,t,i)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,N(i)),vP=(e,t,i)=>samp.callNative("PlayerTextDrawFont","iii",e,t,i),bP=(e,t,i)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,i),LP=(e,t,i)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,i),wP=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),RP=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),OP=(e,t,i)=>samp.callNative("PlayerTextDrawSetString","iia",e,t,i),GP=(e,t,i)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,i),jP=(e,t,i,a,r,n)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,i,a,r,n),FP=(e,t,i,a)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,i,a),MP=e=>samp.callNativeFloat("GetObjectDrawDistance","i",e),BP=e=>samp.callNativeFloat("GetObjectMoveSpeed","i",e),VP=(e,t)=>!!samp.callNativeFloat("SetObjectMoveSpeed","if",e,t),kP=e=>{const[t=0,i=0,a=0,r]=samp.callNative("GetObjectMovingTargetPos","iFFF",e);return{fX:t,fY:i,fZ:a,ret:r}},xP=e=>{const[t=0,i=0,a=0,r]=samp.callNative("GetObjectTarget","iFFF",e);return{fX:t,fY:i,fZ:a,ret:r}},HP=e=>{const[t=0,i=0,a=0,r=0,n=0,s=0]=samp.callNative("GetObjectAttachedOffset","i",e);return{fX:t,fY:i,fZ:a,fRotX:r,fRotY:n,fRotZ:s}},UP=e=>samp.callNative("GetObjectSyncRotation","i",e),WP=(e,t)=>!!samp.callNative("IsObjectMaterialSlotUsed","ii",e,t),KP=(e,t)=>{const[i=0,a,r,n=0,s]=samp.callNative("GetObjectMaterial","iiISiSiI",e,t,64,64);return{modelId:i,txdName:a,textureName:r,materialColor:n,ret:s}},XP=(e,t,i,a,r,n,s,o=0)=>samp.callNative("CreateObject","ifffffff",e,t,i,a,r,n,s,o),ZP=(e,t,i,a,r,n,s,o)=>!!samp.callNative("AttachObjectToVehicle","iiffffff",e,t,i,a,r,n,s,o),YP=(e,t,i,a,r,n,s,o,_,d=!0)=>!!samp.callNative("AttachPlayerObjectToObject","iiiffffffi",e,t,i,a,r,n,s,o,_,d),zP=(e,t,i,a,r,n,s,o,_=!0)=>!!samp.callNative("AttachObjectToObject","iiffffffi",e,t,i,a,r,n,s,o,_),JP=(e,t,i,a,r,n,s,o)=>!!samp.callNative("AttachObjectToPlayer","iiffffff",e,t,i,a,r,n,s,o),$P=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),QP=(e,t,i,a)=>!!samp.callNative("SetObjectPos","ifff",e,t,i,a),qP=e=>{const[t,i,a,r]=samp.callNative("GetObjectPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},ep=(e,t,i,a)=>!!samp.callNative("SetObjectRot","ifff",e,t,i,a),tp=e=>{const[t,i,a,r]=samp.callNative("GetObjectRot","iFFF",e);return{x:t,y:i,z:a,ret:r}},ip=e=>samp.callNative("GetObjectModel","i",e),ap=e=>!!samp.callNative("SetObjectNoCameraCol","i",e),rp=e=>!!samp.callNative("IsObjectNoCameraCol","i",e),np=e=>!!samp.callNative("IsValidObject","i",e),sp=e=>samp.callNative("DestroyObject","i",e),lp=(e,t,i,a,r,n,s,o)=>samp.callNative("MoveObject","ifffffff",e,t,i,a,r,n,s,o),op=e=>samp.callNative("StopObject","i",e),_p=e=>!!samp.callNative("IsObjectMoving","i",e),cp=(e,t)=>!!samp.callNative("BeginObjectEditing","ii",e,t),dp=e=>!!samp.callNative("BeginObjectSelecting","i",e),Ni=e=>!!samp.callNative("EndObjectEditing","i",e),hp=(e,t,i,a,r,n)=>!!samp.callNative("SetObjectMaterial","iiissi",e,t,i,a,r,N(n)),up=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),gp=(e,t,i,a,r)=>!!samp.callNative("AddSimpleModel","iiiss",e,t,i,a,r),mp=(e,t,i,a,r,n,s)=>!!samp.callNative("AddSimpleModelTimed","iiissii",e,t,i,a,r,n,s),fp=(e,t)=>!!samp.callNative("RedirectDownload","is",e,t),Pp=e=>{const[t,i]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return{name:t,ret:i}},pp=e=>{const[t,i]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return{name:t,ret:i}},Ip=(e,t)=>{const[i=0,a=0,r=0,n=0,s=0,o=0,_=0,d=0,h=0,g=0,I=0,C=0,y=0,b]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:i,bone:a,fX:r,fY:n,fZ:s,fRotX:o,fRotY:_,fRotZ:d,fScaleX:h,fScaleY:g,fScaleZ:I,materialColor1:C,materialColor2:y,ret:b}},Sp=(e,t,i,a,r,n,s,o,_,d,h,g,I,C,y)=>!!samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,i,a,r,n,s,o,_,d,h,g,I,N(C),N(y)),yp=(e,t)=>!!samp.callNative("RemovePlayerAttachedObject","ii",e,t),Cp=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),Di=e=>!!samp.callNative("IsValidCustomModel","i",e),Ep=e=>{if(!Di(e))return null;const[t,i,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:i,ret:a}},Ap=(e,t)=>samp.callNativeFloat("GetPlayerObjectDrawDistance","ii",e,t),Np=(e,t,i)=>!!samp.callNativeFloat("SetPlayerObjectMoveSpeed","iif",e,t,i),Dp=(e,t)=>samp.callNativeFloat("GetPlayerObjectMoveSpeed","ii",e,t),Tp=(e,t)=>{const[i=0,a=0,r=0,n]=samp.callNative("GetPlayerObjectTarget","iiFFF",e,t);return{fX:i,fY:a,fZ:r,ret:n}},vp=(e,t)=>{const[i=0,a=0,r=0,n]=samp.callNative("GetPlayerObjectMovingTargetPos","iiFFF",e,t);return{fX:i,fY:a,fZ:r,ret:n}},bp=(e,t)=>{const[i=0,a=0,r=0,n=0,s=0,o=0,_]=samp.callNative("GetPlayerObjectAttachedOffset","iiFFFFFF",e,t);return{fX:i,fY:a,fZ:r,fRotX:n,fRotY:s,fRotZ:o,ret:_}},Lp=(e,t)=>!!samp.callNative("GetPlayerObjectSyncRotation","ii",e,t),wp=(e,t,i)=>!!samp.callNative("IsPlayerObjectMaterialSlotUsed","iii",e,t,i),Rp=(e,t,i)=>{const[a=0,r,n,s=0,o]=samp.callNative("GetPlayerObjectMaterial","iiiISiSiI",e,t,i,64,64);return{modelId:a,txdName:r,textureName:n,materialColor:s,ret:o}},Op=(e,t)=>!!samp.callNative("IsPlayerObjectNoCameraCol","ii",e,t),Gp=e=>samp.callNative("GetPlayerCameraTargetPlayerObj","i",e),jp=(e,t)=>!!samp.callNative("BeginPlayerObjectEditing","ii",e,t),Fp=(e,t,i,a,r,n,s,o,_=0)=>samp.callNative("CreatePlayerObject","iifffffff",e,t,i,a,r,n,s,o,_),Mp=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("AttachPlayerObjectToVehicle","iiiffffff",e,t,i,a,r,n,s,o,_),Bp=(e,t,i,a,r)=>samp.callNative("SetPlayerObjectPos","iifff",e,t,i,a,r),Vp=(e,t)=>{const[i,a,r,n]=samp.callNative("GetPlayerObjectPos","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},kp=(e,t,i,a,r)=>samp.callNative("SetPlayerObjectRot","iifff",e,t,i,a,r),xp=(e,t)=>{const[i,a,r,n]=samp.callNative("GetPlayerObjectRot","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},Hp=(e,t)=>samp.callNative("GetPlayerObjectModel","ii",e,t),Up=(e,t)=>!!samp.callNative("SetPlayerObjectNoCameraCollision","ii",e,t),Wp=(e,t)=>!!samp.callNative("IsValidPlayerObject","ii",e,t),Kp=(e,t)=>samp.callNative("DestroyPlayerObject","ii",e,t),Xp=(e,t,i,a,r,n,s,o,_)=>samp.callNative("MovePlayerObject","iifffffff",e,t,i,a,r,n,s,o,_),Zp=(e,t)=>samp.callNative("StopPlayerObject","ii",e,t),Yp=(e,t)=>!!samp.callNative("IsPlayerObjectMoving","ii",e,t),zp=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("AttachPlayerObjectToPlayer","iiiffffff",e,t,i,a,r,n,s,o,_),Jp=(e,t,i,a,r,n,s)=>!!samp.callNative("SetPlayerObjectMaterial","iiiissi",e,t,i,a,r,n,N(s)),$p=e=>!!samp.callNative("IsValidPickup","i",e),Qp=(e,t)=>!!samp.callNative("IsPickupStreamedIn","ii",e,t),qp=e=>{const[t,i,a,r]=samp.callNative("GetPickupPos","iFFF",e);return{fX:t,fY:i,fZ:a,ret:r}},eI=e=>samp.callNative("GetPickupModel","i",e),tI=e=>samp.callNative("GetPickupType","i",e),iI=e=>samp.callNative("GetPickupVirtualWorld","i",e),aI=(e,t,i,a,r=!0)=>!!samp.callNative("SetPickupPos","ifffi",e,t,i,a,r),rI=(e,t,i=!0)=>!!samp.callNative("SetPickupModel","iii",e,t,i),nI=(e,t,i=!0)=>!!samp.callNative("SetPickupType","iii",e,t,i),sI=(e,t)=>!!samp.callNative("SetPickupVirtualWorld","ii",e,t),lI=(e,t)=>!!samp.callNative("ShowPickupForPlayer","ii",e,t),oI=(e,t)=>!!samp.callNative("HidePickupForPlayer","ii",e,t),_I=(e,t)=>!!samp.callNative("IsPickupHiddenForPlayer","ii",e,t),cI=(e,t,i,a,r,n)=>samp.callNative("AddStaticPickup","iifffi",e,t,i,a,r,n),dI=(e,t,i,a,r,n)=>samp.callNative("CreatePickup","iifffi",e,t,i,a,r,n),hI=e=>!!samp.callNative("DestroyPickup","i",e),Ti=new Map([["AIRPORT",[{n:"thrw_barl_thrw",d:2}]],["ATTRACTORS",[{n:"Stepsit_in",d:1.67},{n:"Stepsit_loop",d:3.33},{n:"Stepsit_out",d:1.67}]],["BAR",[{n:"Barcustom_get",d:3},{n:"Barcustom_loop",d:2},{n:"Barcustom_order",d:3.67},{n:"BARman_idle",d:8.33},{n:"Barserve_bottle",d:3},{n:"Barserve_give",d:2.33},{n:"Barserve_glass",d:3.67},{n:"Barserve_in",d:1.67},{n:"Barserve_loop",d:2.33},{n:"Barserve_order",d:3.67},{n:"dnk_stndF_loop",d:2.33},{n:"dnk_stndM_loop",d:2.33}]],["BASEBALL",[{n:"Bat_1",d:.9},{n:"Bat_2",d:1.13},{n:"Bat_3",d:1.2},{n:"Bat_4",d:1},{n:"Bat_block",d:.47},{n:"Bat_Hit_1",d:.83},{n:"Bat_Hit_2",d:1.07},{n:"Bat_Hit_3",d:1.13},{n:"Bat_IDLE",d:.93},{n:"Bat_M",d:.53},{n:"BAT_PART",d:.53}]],["BD_FIRE",[{n:"BD_Fire1",d:1.83},{n:"BD_Fire2",d:1.67},{n:"BD_Fire3",d:1.83},{n:"BD_GF_Wave",d:5.07},{n:"BD_Panic_01",d:3.33},{n:"BD_Panic_02",d:3.33},{n:"BD_Panic_03",d:3.33},{n:"BD_Panic_04",d:3.33},{n:"BD_Panic_Loop",d:3.33},{n:"Grlfrd_Kiss_03",d:7},{n:"M_smklean_loop",d:5},{n:"Playa_Kiss_03",d:7},{n:"wash_up",d:3}]],["BEACH",[{n:"bather",d:4.2},{n:"Lay_Bac_Loop",d:2.67},{n:"ParkSit_M_loop",d:3.67},{n:"ParkSit_W_loop",d:3.33},{n:"SitnWait_loop_W",d:1.33}]],["benchpress",[{n:"gym_bp_celebrate",d:5},{n:"gym_bp_down",d:1},{n:"gym_bp_getoff",d:8.67},{n:"gym_bp_geton",d:5.33},{n:"gym_bp_up_A",d:2.33},{n:"gym_bp_up_B",d:2.67},{n:"gym_bp_up_smooth",d:1.33}]],["BF_injection",[{n:"BF_getin_LHS",d:1},{n:"BF_getin_RHS",d:1},{n:"BF_getout_LHS",d:1.13},{n:"BF_getout_RHS",d:1.13}]],["BIKED",[{n:"BIKEd_Back",d:.1},{n:"BIKEd_drivebyFT",d:.2},{n:"BIKEd_drivebyLHS",d:.2},{n:"BIKEd_drivebyRHS",d:.2},{n:"BIKEd_Fwd",d:.2},{n:"BIKEd_getoffBACK",d:1.47},{n:"BIKEd_getoffLHS",d:1},{n:"BIKEd_getoffRHS",d:1},{n:"BIKEd_hit",d:.03},{n:"BIKEd_jumponL",d:.97},{n:"BIKEd_jumponR",d:.97},{n:"BIKEd_kick",d:1.07},{n:"BIKEd_Left",d:.1},{n:"BIKEd_passenger",d:.03},{n:"BIKEd_pushes",d:.8},{n:"BIKEd_Ride",d:.03},{n:"BIKEd_Right",d:.1},{n:"BIKEd_shuffle",d:.43},{n:"BIKEd_Still",d:.03}]],["BIKEH",[{n:"BIKEh_Back",d:.1},{n:"BIKEh_drivebyFT",d:.2},{n:"BIKEh_drivebyLHS",d:.2},{n:"BIKEh_drivebyRHS",d:.2},{n:"BIKEh_Fwd",d:.2},{n:"BIKEh_getoffBACK",d:1.7},{n:"BIKEh_getoffLHS",d:.77},{n:"BIKEh_getoffRHS",d:.73},{n:"BIKEh_hit",d:.03},{n:"BIKEh_jumponL",d:1.47},{n:"BIKEh_jumponR",d:1.5},{n:"BIKEh_kick",d:1.07},{n:"BIKEh_Left",d:.13},{n:"BIKEh_passenger",d:.03},{n:"BIKEh_pushes",d:.97},{n:"BIKEh_Ride",d:.03},{n:"BIKEh_Right",d:.13},{n:"BIKEh_Still",d:.03}]],["BIKELEAP",[{n:"bk_blnce_in",d:1.9},{n:"bk_blnce_out",d:1},{n:"bk_jmp",d:.4},{n:"bk_rdy_in",d:.5},{n:"bk_rdy_out",d:.4},{n:"struggle_cesar",d:.47},{n:"struggle_driver",d:.47},{n:"truck_driver",d:.73},{n:"truck_getin",d:2.5}]],["BIKES",[{n:"BIKEs_Back",d:.1},{n:"BIKEs_drivebyFT",d:.2},{n:"BIKEs_drivebyLHS",d:.2},{n:"BIKEs_drivebyRHS",d:.2},{n:"BIKEs_Fwd",d:.2},{n:"BIKEs_getoffBACK",d:2.43},{n:"BIKEs_getoffLHS",d:1.1},{n:"BIKEs_getoffRHS",d:1.1},{n:"BIKEs_hit",d:.03},{n:"BIKEs_jumponL",d:.9},{n:"BIKEs_jumponR",d:.9},{n:"BIKEs_kick",d:1},{n:"BIKEs_Left",d:.1},{n:"BIKEs_passenger",d:.03},{n:"BIKEs_pushes",d:.73},{n:"BIKEs_Ride",d:.03},{n:"BIKEs_Right",d:.1},{n:"BIKEs_Snatch_L",d:.43},{n:"BIKEs_Snatch_R",d:.43},{n:"BIKEs_Still",d:.03}]],["BIKEV",[{n:"BIKEv_Back",d:.17},{n:"BIKEv_drivebyFT",d:.17},{n:"BIKEv_drivebyLHS",d:.23},{n:"BIKEv_drivebyRHS",d:.2},{n:"BIKEv_Fwd",d:.2},{n:"BIKEv_getoffBACK",d:1.7},{n:"BIKEv_getoffLHS",d:.67},{n:"BIKEv_getoffRHS",d:.67},{n:"BIKEv_hit",d:.03},{n:"BIKEv_jumponL",d:.67},{n:"BIKEv_jumponR",d:.67},{n:"BIKEv_kick",d:1},{n:"BIKEv_Left",d:.1},{n:"BIKEv_passenger",d:.03},{n:"BIKEv_pushes",d:.73},{n:"BIKEv_Ride",d:.03},{n:"BIKEv_Right",d:.1},{n:"BIKEv_Still",d:.03}]],["BIKE_DBZ",[{n:"Pass_Driveby_BWD",d:.83},{n:"Pass_Driveby_FWD",d:.83},{n:"Pass_Driveby_LHS",d:.83},{n:"Pass_Driveby_RHS",d:.83}]],["BLOWJOBZ",[{n:"BJ_Car_End_P",d:4.13},{n:"BJ_Car_End_W",d:3.67},{n:"BJ_Car_Loop_P",d:.67},{n:"BJ_Car_Loop_W",d:.67},{n:"BJ_Car_Start_P",d:2.33},{n:"BJ_Car_Start_W",d:2.33},{n:"BJ_Couch_End_P",d:7.67},{n:"BJ_Couch_End_W",d:7.67},{n:"BJ_Couch_Loop_P",d:2},{n:"BJ_Couch_Loop_W",d:2},{n:"BJ_Couch_Start_P",d:5.33},{n:"BJ_Couch_Start_W",d:5.33},{n:"BJ_Stand_End_P",d:4.87},{n:"BJ_Stand_End_W",d:5.33},{n:"BJ_Stand_Loop_P",d:.67},{n:"BJ_Stand_Loop_W",d:.67},{n:"BJ_Stand_Start_P",d:2},{n:"BJ_Stand_Start_W",d:2}]],["BMX",[{n:"BMX_back",d:.1},{n:"BMX_bunnyhop",d:.33},{n:"BMX_drivebyFT",d:.2},{n:"BMX_driveby_LHS",d:.2},{n:"BMX_driveby_RHS",d:.2},{n:"BMX_fwd",d:.13},{n:"BMX_getoffBACK",d:1.37},{n:"BMX_getoffLHS",d:.73},{n:"BMX_getoffRHS",d:.63},{n:"BMX_jumponL",d:.9},{n:"BMX_jumponR",d:.9},{n:"BMX_Left",d:.13},{n:"BMX_pedal",d:.73},{n:"BMX_pushes",d:.8},{n:"BMX_Ride",d:.03},{n:"BMX_Right",d:.13},{n:"BMX_sprint",d:.67},{n:"BMX_still",d:.03}]],["BOMBER",[{n:"BOM_Plant",d:2.67},{n:"BOM_Plant_2Idle",d:1},{n:"BOM_Plant_Crouch_In",d:.8},{n:"BOM_Plant_Crouch_Out",d:.8},{n:"BOM_Plant_In",d:.87},{n:"BOM_Plant_Loop",d:.8}]],["BOX",[{n:"boxhipin",d:6.53},{n:"boxhipup",d:5},{n:"boxshdwn",d:6.1},{n:"boxshup",d:5.2},{n:"bxhipwlk",d:1.5},{n:"bxhwlki",d:.97},{n:"bxshwlk",d:2.5},{n:"bxshwlki",d:.97},{n:"bxwlko",d:.53},{n:"catch_box",d:1.5}]],["BSKTBALL",[{n:"BBALL_def_jump_shot",d:1.17},{n:"BBALL_def_loop",d:1},{n:"BBALL_def_stepL",d:.6},{n:"BBALL_def_stepR",d:.6},{n:"BBALL_Dnk",d:1.4},{n:"BBALL_Dnk_Gli",d:.37},{n:"BBALL_Dnk_Gli_O",d:.37},{n:"BBALL_Dnk_Lnch",d:.2},{n:"BBALL_Dnk_Lnch_O",d:.2},{n:"BBALL_Dnk_Lnd",d:.93},{n:"BBALL_Dnk_O",d:.1},{n:"BBALL_idle",d:2.43},{n:"BBALL_idle2",d:2.67},{n:"BBALL_idle2_O",d:2.67},{n:"BBALL_idleloop",d:.67},{n:"BBALL_idleloop_O",d:.67},{n:"BBALL_idle_O",d:2.43},{n:"BBALL_Jump_Cancel",d:1.07},{n:"BBALL_Jump_Cancel_O",d:1.07},{n:"BBALL_Jump_End",d:.93},{n:"BBALL_Jump_Shot",d:1.67},{n:"BBALL_Jump_Shot_O",d:.67},{n:"BBALL_Net_Dnk_O",d:1.83},{n:"BBALL_pickup",d:1.83},{n:"BBALL_pickup_O",d:1.83},{n:"BBALL_react_miss",d:.8},{n:"BBALL_react_score",d:1.1},{n:"BBALL_run",d:.9},{n:"BBALL_run_O",d:.9},{n:"BBALL_SkidStop_L",d:.5},{n:"BBALL_SkidStop_L_O",d:.5},{n:"BBALL_SkidStop_R",d:.5},{n:"BBALL_SkidStop_R_O",d:.5},{n:"BBALL_walk",d:1.07},{n:"BBALL_WalkStop_L",d:.5},{n:"BBALL_WalkStop_L_O",d:.5},{n:"BBALL_WalkStop_R",d:.5},{n:"BBALL_WalkStop_R_O",d:.5},{n:"BBALL_walk_O",d:1.07},{n:"BBALL_walk_start",d:.2},{n:"BBALL_walk_start_O",d:.2}]],["BUDDY",[{n:"buddy_crouchfire",d:.87},{n:"buddy_crouchreload",d:1.1},{n:"buddy_fire",d:.8},{n:"buddy_fire_poor",d:1.33},{n:"buddy_reload",d:1.3}]],["BUS",[{n:"BUS_close",d:.4},{n:"BUS_getin_LHS",d:.33},{n:"BUS_getin_RHS",d:2.17},{n:"BUS_getout_LHS",d:.8},{n:"BUS_getout_RHS",d:1.87},{n:"BUS_jacked_LHS",d:1.13},{n:"BUS_open",d:1.47},{n:"BUS_open_RHS",d:1.2},{n:"BUS_pullout_LHS",d:.8}]],["CAMERA",[{n:"camcrch_cmon",d:2.33},{n:"camcrch_idleloop",d:2},{n:"camcrch_stay",d:2},{n:"camcrch_to_camstnd",d:1.33},{n:"camstnd_cmon",d:3},{n:"camstnd_idleloop",d:2},{n:"camstnd_lkabt",d:4.33},{n:"camstnd_to_camcrch",d:1},{n:"piccrch_in",d:1.33},{n:"piccrch_out",d:2},{n:"piccrch_take",d:1},{n:"picstnd_in",d:1},{n:"picstnd_out",d:.67},{n:"picstnd_take",d:1}]],["CAR",[{n:"Fixn_Car_Loop",d:5},{n:"Fixn_Car_Out",d:2.33},{n:"flag_drop",d:4.5},{n:"Sit_relaxed",d:.03},{n:"Tap_hand",d:.33},{n:"Tyd2car_bump",d:.83},{n:"Tyd2car_high",d:8},{n:"Tyd2car_low",d:6.67},{n:"Tyd2car_med",d:6.67},{n:"Tyd2car_TurnL",d:1},{n:"Tyd2car_TurnR",d:1}]],["CARRY",[{n:"crry_prtial",d:.03},{n:"liftup",d:1.53},{n:"liftup05",d:.63},{n:"liftup105",d:.67},{n:"putdwn",d:1.13},{n:"putdwn05",d:.67},{n:"putdwn105",d:.53}]],["CAR_CHAT",[{n:"carfone_in",d:6},{n:"carfone_loopA",d:4},{n:"carfone_loopA_to_B",d:1},{n:"carfone_loopB",d:5},{n:"carfone_loopB_to_A",d:.67},{n:"carfone_out",d:3},{n:"CAR_Sc1_BL",d:11.67},{n:"CAR_Sc1_BR",d:11.67},{n:"CAR_Sc1_FL",d:11.67},{n:"CAR_Sc1_FR",d:11.67},{n:"CAR_Sc2_FL",d:5},{n:"CAR_Sc3_BR",d:10.83},{n:"CAR_Sc3_FL",d:10.83},{n:"CAR_Sc3_FR",d:10.83},{n:"CAR_Sc4_BL",d:4.4},{n:"CAR_Sc4_BR",d:6.53},{n:"CAR_Sc4_FL",d:10},{n:"CAR_Sc4_FR",d:10},{n:"car_talkm_in",d:1.67},{n:"car_talkm_loop",d:4.33},{n:"car_talkm_out",d:7.33}]],["CASINO",[{n:"cards_in",d:.67},{n:"cards_loop",d:3.33},{n:"cards_lose",d:3.33},{n:"cards_out",d:.67},{n:"cards_pick_01",d:4.67},{n:"cards_pick_02",d:5.33},{n:"cards_raise",d:1.67},{n:"cards_win",d:3},{n:"dealone",d:.8},{n:"manwinb",d:1.5},{n:"manwind",d:1.67},{n:"Roulette_bet",d:2.33},{n:"Roulette_in",d:.67},{n:"Roulette_loop",d:3.67},{n:"Roulette_lose",d:2.67},{n:"Roulette_out",d:.67},{n:"Roulette_win",d:2.33},{n:"Slot_bet_01",d:4.67},{n:"Slot_bet_02",d:2},{n:"Slot_in",d:3.67},{n:"Slot_lose_out",d:4},{n:"Slot_Plyr",d:1.33},{n:"Slot_wait",d:3.67},{n:"Slot_win_out",d:9.33},{n:"wof",d:1.47}]],["CHAINSAW",[{n:"CSAW_1",d:1},{n:"CSAW_2",d:1.03},{n:"CSAW_3",d:.87},{n:"CSAW_G",d:1.17},{n:"CSAW_Hit_1",d:.83},{n:"CSAW_Hit_2",d:1.07},{n:"CSAW_Hit_3",d:1.13},{n:"csaw_part",d:.13},{n:"IDLE_csaw",d:1.5},{n:"WEAPON_csaw",d:1.33},{n:"WEAPON_csawlo",d:1.9}]],["CHOPPA",[{n:"CHOPPA_back",d:.1},{n:"CHOPPA_bunnyhop",d:.33},{n:"CHOPPA_drivebyFT",d:.2},{n:"CHOPPA_driveby_LHS",d:.2},{n:"CHOPPA_driveby_RHS",d:.2},{n:"CHOPPA_fwd",d:.2},{n:"CHOPPA_getoffBACK",d:1.27},{n:"CHOPPA_getoffLHS",d:.73},{n:"CHOPPA_getoffRHS",d:.63},{n:"CHOPPA_jumponL",d:.7},{n:"CHOPPA_jumponR",d:.8},{n:"CHOPPA_Left",d:.13},{n:"CHOPPA_pedal",d:.73},{n:"CHOPPA_Pushes",d:.8},{n:"CHOPPA_ride",d:.03},{n:"CHOPPA_Right",d:.13},{n:"CHOPPA_sprint",d:.67},{n:"CHOPPA_Still",d:.03}]],["CLOTHES",[{n:"CLO_Buy",d:2.07},{n:"CLO_In",d:4},{n:"CLO_Out",d:2.67},{n:"CLO_Pose_Hat",d:3.33},{n:"CLO_Pose_In",d:3.13},{n:"CLO_Pose_In_O",d:4},{n:"CLO_Pose_Legs",d:3.33},{n:"CLO_Pose_Loop",d:6},{n:"CLO_Pose_Out",d:4},{n:"CLO_Pose_Out_O",d:4},{n:"CLO_Pose_Shoes",d:3.33},{n:"CLO_Pose_Torso",d:3.33},{n:"CLO_Pose_Watch",d:3.33}]],["COACH",[{n:"COACH_inL",d:2.17},{n:"COACH_inR",d:2.2},{n:"COACH_opnL",d:1.2},{n:"COACH_opnR",d:1.2},{n:"COACH_outL",d:1.73},{n:"COACH_outR",d:1.83}]],["COLT45",[{n:"2guns_crouchfire",d:.8},{n:"colt45_crouchfire",d:.8},{n:"colt45_crouchreload",d:1},{n:"colt45_fire",d:.73},{n:"colt45_fire_2hands",d:.87},{n:"colt45_reload",d:.93},{n:"sawnoff_reload",d:.93}]],["COP_AMBIENT",[{n:"Copbrowse_in",d:5},{n:"Copbrowse_loop",d:2.33},{n:"Copbrowse_nod",d:4},{n:"Copbrowse_out",d:2.67},{n:"Copbrowse_shake",d:1.83},{n:"Coplook_in",d:1.33},{n:"Coplook_loop",d:2.67},{n:"Coplook_nod",d:5.33},{n:"Coplook_out",d:.67},{n:"Coplook_shake",d:4},{n:"Coplook_think",d:3.33},{n:"Coplook_watch",d:2}]],["COP_DVBYZ",[{n:"COP_Dvby_B",d:.83},{n:"COP_Dvby_FT",d:.83},{n:"COP_Dvby_L",d:.83},{n:"COP_Dvby_R",d:.83}]],["CRACK",[{n:"Bbalbat_Idle_01",d:6.67},{n:"Bbalbat_Idle_02",d:10},{n:"crckdeth1",d:2.17},{n:"crckdeth2",d:3},{n:"crckdeth3",d:2.17},{n:"crckdeth4",d:1.67},{n:"crckidle1",d:3.5},{n:"crckidle2",d:3.33},{n:"crckidle3",d:3.33},{n:"crckidle4",d:2.67}]],["CRIB",[{n:"CRIB_Console_Loop",d:3},{n:"CRIB_Use_Switch",d:1.17},{n:"PED_Console_Loop",d:3},{n:"PED_Console_Loose",d:3.5},{n:"PED_Console_Win",d:3.5}]],["DAM_JUMP",[{n:"DAM_Dive_Loop",d:1.33},{n:"DAM_Land",d:2.6},{n:"DAM_Launch",d:2.4},{n:"Jump_Roll",d:3.17},{n:"SF_JumpWall",d:3}]],["DANCING",[{n:"bd_clap",d:3.2},{n:"bd_clap1",d:2.63},{n:"dance_loop",d:1.17},{n:"DAN_Down_A",d:1},{n:"DAN_Left_A",d:1},{n:"DAN_Loop_A",d:2},{n:"DAN_Right_A",d:1},{n:"DAN_Up_A",d:1},{n:"dnce_M_a",d:2.13},{n:"dnce_M_b",d:1.93},{n:"dnce_M_c",d:1.93},{n:"dnce_M_d",d:2.43},{n:"dnce_M_e",d:.9}]],["DEALER",[{n:"DEALER_DEAL",d:3.17},{n:"DEALER_IDLE",d:6.67},{n:"DEALER_IDLE_01",d:5},{n:"DEALER_IDLE_02",d:4},{n:"DEALER_IDLE_03",d:4.67},{n:"DRUGS_BUY",d:3.17},{n:"shop_pay",d:4.67}]],["DILDO",[{n:"DILDO_1",d:.97},{n:"DILDO_2",d:1.1},{n:"DILDO_3",d:1.17},{n:"DILDO_block",d:.47},{n:"DILDO_G",d:1.47},{n:"DILDO_Hit_1",d:.77},{n:"DILDO_Hit_2",d:1.03},{n:"DILDO_Hit_3",d:.9},{n:"DILDO_IDLE",d:.87}]],["DODGE",[{n:"Cover_Dive_01",d:6},{n:"Cover_Dive_02",d:6},{n:"Crushed",d:.93},{n:"Crush_Jump",d:3.17}]],["DOZER",[{n:"DOZER_Align_LHS",d:.97},{n:"DOZER_Align_RHS",d:.93},{n:"DOZER_getin_LHS",d:.43},{n:"DOZER_getin_RHS",d:.43},{n:"DOZER_getout_LHS",d:1.07},{n:"DOZER_getout_RHS",d:.77},{n:"DOZER_Jacked_LHS",d:1.27},{n:"DOZER_Jacked_RHS",d:1.07},{n:"DOZER_pullout_LHS",d:.73},{n:"DOZER_pullout_RHS",d:.7}]],["DRIVEBYS",[{n:"Gang_DrivebyLHS",d:.83},{n:"Gang_DrivebyLHS_Bwd",d:.83},{n:"Gang_DrivebyLHS_Fwd",d:.83},{n:"Gang_DrivebyRHS",d:.83},{n:"Gang_DrivebyRHS_Bwd",d:.83},{n:"Gang_DrivebyRHS_Fwd",d:.83},{n:"Gang_DrivebyTop_LHS",d:.83},{n:"Gang_DrivebyTop_RHS",d:.83}]],["FAT",[{n:"FatIdle",d:1.5},{n:"FatIdle_armed",d:1.53},{n:"FatIdle_Csaw",d:1.5},{n:"FatIdle_Rocket",d:1.6},{n:"FatRun",d:.77},{n:"FatRun_armed",d:.77},{n:"FatRun_Csaw",d:.77},{n:"FatRun_Rocket",d:.77},{n:"FatSprint",d:.6},{n:"FatWalk",d:1.17},{n:"FatWalkstart",d:.2},{n:"FatWalkstart_Csaw",d:.2},{n:"FatWalkSt_armed",d:.2},{n:"FatWalkSt_Rocket",d:.2},{n:"FatWalk_armed",d:1.17},{n:"FatWalk_Csaw",d:1.17},{n:"FatWalk_Rocket",d:1.17},{n:"IDLE_tired",d:1.07}]],["FIGHT_B",[{n:"FightB_1",d:.73},{n:"FightB_2",d:1.1},{n:"FightB_3",d:1.2},{n:"FightB_block",d:.47},{n:"FightB_G",d:1.07},{n:"FightB_IDLE",d:.8},{n:"FightB_M",d:.5},{n:"HitB_1",d:.73},{n:"HitB_2",d:.83},{n:"HitB_3",d:1.43}]],["FIGHT_C",[{n:"FightC_1",d:.83},{n:"FightC_2",d:1.03},{n:"FightC_3",d:1},{n:"FightC_block",d:.47},{n:"FightC_blocking",d:3.2},{n:"FightC_G",d:.77},{n:"FightC_IDLE",d:1},{n:"FightC_M",d:.9},{n:"FightC_Spar",d:3.2},{n:"HitC_1",d:.3},{n:"HitC_2",d:.67},{n:"HitC_3",d:.83}]],["FIGHT_D",[{n:"FightD_1",d:.93},{n:"FightD_2",d:1.87},{n:"FightD_3",d:.9},{n:"FightD_block",d:.47},{n:"FightD_G",d:.83},{n:"FightD_IDLE",d:1.53},{n:"FightD_M",d:1.07},{n:"HitD_1",d:.67},{n:"HitD_2",d:1.83},{n:"HitD_3",d:.97}]],["FIGHT_E",[{n:"FightKick",d:.77},{n:"FightKick_B",d:1.03},{n:"Hit_fightkick",d:.5},{n:"Hit_fightkick_B",d:1.13}]],["FINALE",[{n:"FIN_Climb_In",d:2.9},{n:"FIN_Cop1_ClimbOut2",d:6},{n:"FIN_Cop1_Loop",d:2},{n:"FIN_Cop1_Stomp",d:1},{n:"FIN_Hang_L",d:.57},{n:"FIN_Hang_Loop",d:4},{n:"FIN_Hang_R",d:.57},{n:"FIN_Hang_Slip",d:3.33},{n:"FIN_Jump_On",d:5.6},{n:"FIN_Land_Car",d:.67},{n:"FIN_Land_Die",d:2.37},{n:"FIN_LegsUp",d:1},{n:"FIN_LegsUp_L",d:.5},{n:"FIN_LegsUp_Loop",d:1.33},{n:"FIN_LegsUp_R",d:.5},{n:"FIN_Let_Go",d:.17}]],["FINALE2",[{n:"FIN_Cop1_ClimbOut",d:4},{n:"FIN_Cop1_Fall",d:.43},{n:"FIN_Cop1_Loop",d:2},{n:"FIN_Cop1_Shot",d:2.07},{n:"FIN_Cop1_Swing",d:1.17},{n:"FIN_Cop2_ClimbOut",d:5.33},{n:"FIN_Switch_P",d:3.97},{n:"FIN_Switch_S",d:2.17}]],["FLAME",[{n:"FLAME_fire",d:.8}]],["Flowers",[{n:"Flower_attack",d:.8},{n:"Flower_attack_M",d:1.23},{n:"Flower_Hit",d:.83}]],["FOOD",[{n:"EAT_Burger",d:5},{n:"EAT_Chicken",d:5},{n:"EAT_Pizza",d:5},{n:"EAT_Vomit_P",d:8},{n:"EAT_Vomit_SK",d:8},{n:"FF_Dam_Bkw",d:.67},{n:"FF_Dam_Fwd",d:.67},{n:"FF_Dam_Left",d:.67},{n:"FF_Dam_Right",d:.67},{n:"FF_Die_Bkw",d:.67},{n:"FF_Die_Fwd",d:.67},{n:"FF_Die_Left",d:.67},{n:"FF_Die_Right",d:.67},{n:"FF_Sit_Eat1",d:2.83},{n:"FF_Sit_Eat2",d:2.67},{n:"FF_Sit_Eat3",d:2.67},{n:"FF_Sit_In",d:3},{n:"FF_Sit_In_L",d:2},{n:"FF_Sit_In_R",d:2},{n:"FF_Sit_Look",d:8},{n:"FF_Sit_Loop",d:2.67},{n:"FF_Sit_Out_180",d:2.83},{n:"FF_Sit_Out_L_180",d:1.33},{n:"FF_Sit_Out_R_180",d:1.33},{n:"SHP_Thank",d:1.17},{n:"SHP_Tray_In",d:.67},{n:"SHP_Tray_Lift",d:1.67},{n:"SHP_Tray_Lift_In",d:.5},{n:"SHP_Tray_Lift_Loop",d:8},{n:"SHP_Tray_Lift_Out",d:.5},{n:"SHP_Tray_Out",d:.67},{n:"SHP_Tray_Pose",d:.67},{n:"SHP_Tray_Return",d:1.33}]],["Freeweights",[{n:"gym_barbell",d:2.37},{n:"gym_free_A",d:1.93},{n:"gym_free_B",d:2.33},{n:"gym_free_celebrate",d:3.33},{n:"gym_free_down",d:.57},{n:"gym_free_loop",d:.67},{n:"gym_free_pickup",d:3.17},{n:"gym_free_putdown",d:3.17},{n:"gym_free_up_smooth",d:1}]],["GANGS",[{n:"DEALER_DEAL",d:1.17},{n:"DEALER_IDLE",d:2},{n:"drnkbr_prtl",d:2.67},{n:"drnkbr_prtl_F",d:2.67},{n:"DRUGS_BUY",d:1.17},{n:"hndshkaa",d:4},{n:"hndshkba",d:2.33},{n:"hndshkca",d:3.33},{n:"hndshkcb",d:3.33},{n:"hndshkda",d:2},{n:"hndshkea",d:1},{n:"hndshkfa",d:4.17},{n:"hndshkfa_swt",d:4.17},{n:"Invite_No",d:3.33},{n:"Invite_Yes",d:4.33},{n:"leanIDLE",d:1},{n:"leanIN",d:1},{n:"leanOUT",d:1},{n:"prtial_gngtlkA",d:4},{n:"prtial_gngtlkB",d:6.17},{n:"prtial_gngtlkC",d:7.33},{n:"prtial_gngtlkD",d:3},{n:"prtial_gngtlkE",d:2.83},{n:"prtial_gngtlkF",d:5.17},{n:"prtial_gngtlkG",d:7},{n:"prtial_gngtlkH",d:6},{n:"prtial_hndshk_01",d:1.67},{n:"prtial_hndshk_biz_01",d:2.33},{n:"shake_cara",d:1.67},{n:"shake_carK",d:1.27},{n:"shake_carSH",d:1.5},{n:"smkcig_prtl",d:7.5},{n:"smkcig_prtl_F",d:7.5}]],["GFUNK",[{n:"Dance_B1",d:1.27},{n:"Dance_B2",d:1.27},{n:"Dance_B3",d:1.27},{n:"Dance_B4",d:1.27},{n:"Dance_B5",d:1.27},{n:"Dance_B6",d:1.27},{n:"Dance_B7",d:1.27},{n:"Dance_B8",d:1.27},{n:"Dance_B9",d:1.27},{n:"Dance_B10",d:1.27},{n:"Dance_B11",d:1.27},{n:"Dance_B12",d:1.27},{n:"Dance_B13",d:1.27},{n:"Dance_B14",d:1.27},{n:"Dance_B15",d:1.27},{n:"Dance_B16",d:1.27},{n:"Dance_G1",d:1.27},{n:"Dance_G2",d:1.27},{n:"Dance_G3",d:1.27},{n:"Dance_G4",d:1.27},{n:"Dance_G5",d:1.27},{n:"Dance_G6",d:1.27},{n:"Dance_G7",d:1.27},{n:"Dance_G8",d:1.27},{n:"Dance_G9",d:1.27},{n:"Dance_G10",d:1.27},{n:"Dance_G11",d:1.27},{n:"Dance_G12",d:1.27},{n:"Dance_G13",d:1.27},{n:"Dance_G14",d:1.27},{n:"Dance_G15",d:1.27},{n:"Dance_G16",d:1.27},{n:"dance_loop",d:1.17}]],["GHANDS",[{n:"gsign1",d:4.77},{n:"gsign1LH",d:2.73},{n:"gsign2",d:2.13},{n:"gsign2LH",d:2.33},{n:"gsign3",d:4.67},{n:"gsign3LH",d:2},{n:"gsign4",d:4.17},{n:"gsign4LH",d:4.67},{n:"gsign5",d:6.2},{n:"gsign5LH",d:2},{n:"LHGsign1",d:2},{n:"LHGsign2",d:2},{n:"LHGsign3",d:2},{n:"LHGsign4",d:2},{n:"LHGsign5",d:2},{n:"RHGsign1",d:2},{n:"RHGsign2",d:2},{n:"RHGsign3",d:2},{n:"RHGsign4",d:2},{n:"RHGsign5",d:2}]],["GHETTO_DB",[{n:"GDB_Car2_PLY",d:9.5},{n:"GDB_Car2_SMO",d:9.5},{n:"GDB_Car2_SWE",d:9.5},{n:"GDB_Car_PLY",d:13.33},{n:"GDB_Car_RYD",d:13.33},{n:"GDB_Car_SMO",d:13.33},{n:"GDB_Car_SWE",d:13.33}]],["goggles",[{n:"goggles_put_on",d:.8}]],["GRAFFITI",[{n:"graffiti_Chkout",d:4.67},{n:"spraycan_fire",d:2.33}]],["GRAVEYARD",[{n:"mrnF_loop",d:4.67},{n:"mrnM_loop",d:2.67},{n:"prst_loopa",d:4}]],["GRENADE",[{n:"WEAPON_start_throw",d:.2},{n:"WEAPON_throw",d:.87},{n:"WEAPON_throwu",d:.67}]],["GYMNASIUM",[{n:"GYMshadowbox",d:5.1},{n:"gym_bike_celebrate",d:1.93},{n:"gym_bike_fast",d:.4},{n:"gym_bike_faster",d:.4},{n:"gym_bike_getoff",d:1.67},{n:"gym_bike_geton",d:1.67},{n:"gym_bike_pedal",d:.4},{n:"gym_bike_slow",d:.43},{n:"gym_bike_still",d:1.67},{n:"gym_jog_falloff",d:2.17},{n:"gym_shadowbox",d:5.1},{n:"gym_tread_celebrate",d:2.5},{n:"gym_tread_falloff",d:2},{n:"gym_tread_getoff",d:3.33},{n:"gym_tread_geton",d:2.5},{n:"gym_tread_jog",d:.77},{n:"gym_tread_sprint",d:.67},{n:"gym_tread_tired",d:1.33},{n:"gym_tread_walk",d:1.07},{n:"gym_walk_falloff",d:3.33},{n:"Pedals_fast",d:.4},{n:"Pedals_med",d:.4},{n:"Pedals_slow",d:.43},{n:"Pedals_still",d:.43}]],["HAIRCUTS",[{n:"BRB_Beard_01",d:4.5},{n:"BRB_Buy",d:4.17},{n:"BRB_Cut",d:1.7},{n:"BRB_Cut_In",d:.83},{n:"BRB_Cut_Out",d:1.33},{n:"BRB_Hair_01",d:3.83},{n:"BRB_Hair_02",d:4.5},{n:"BRB_In",d:1.33},{n:"BRB_Loop",d:2.67},{n:"BRB_Out",d:.67},{n:"BRB_Sit_In",d:2.07},{n:"BRB_Sit_Loop",d:7},{n:"BRB_Sit_Out",d:3}]],["HEIST9",[{n:"CAS_G2_GasKO",d:3.33},{n:"swt_wllpk_L",d:2.67},{n:"swt_wllpk_L_back",d:.5},{n:"swt_wllpk_R",d:3.67},{n:"swt_wllpk_R_back",d:.43},{n:"swt_wllshoot_in_L",d:1},{n:"swt_wllshoot_in_R",d:1.3},{n:"swt_wllshoot_out_L",d:2},{n:"swt_wllshoot_out_R",d:1.43},{n:"Use_SwipeCard",d:1.17}]],["INT_HOUSE",[{n:"BED_In_L",d:3.33},{n:"BED_In_R",d:3.33},{n:"BED_Loop_L",d:3.33},{n:"BED_Loop_R",d:3.33},{n:"BED_Out_L",d:3.33},{n:"BED_Out_R",d:3.33},{n:"LOU_In",d:1.83},{n:"LOU_Loop",d:3.33},{n:"LOU_Out",d:2},{n:"wash_up",d:3}]],["INT_OFFICE",[{n:"FF_Dam_Fwd",d:.67},{n:"OFF_Sit_2Idle_180",d:2.83},{n:"OFF_Sit_Bored_Loop",d:2.83},{n:"OFF_Sit_Crash",d:3.33},{n:"OFF_Sit_Drink",d:4.17},{n:"OFF_Sit_Idle_Loop",d:2.07},{n:"OFF_Sit_In",d:2.77},{n:"OFF_Sit_Read",d:3.33},{n:"OFF_Sit_Type_Loop",d:3.33},{n:"OFF_Sit_Watch",d:2}]],["INT_SHOP",[{n:"shop_cashier",d:6.67},{n:"shop_in",d:1},{n:"shop_lookA",d:2},{n:"shop_lookB",d:3},{n:"shop_loop",d:2},{n:"shop_out",d:1.33},{n:"shop_pay",d:6.67},{n:"shop_shelf",d:2.33}]],["JST_BUISNESS",[{n:"girl_01",d:3.33},{n:"girl_02",d:11.33},{n:"player_01",d:24.83},{n:"smoke_01",d:25}]],["KART",[{n:"KART_getin_LHS",d:.83},{n:"KART_getin_RHS",d:.83},{n:"KART_getout_LHS",d:.83},{n:"KART_getout_RHS",d:.83}]],["KISSING",[{n:"BD_GF_Wave",d:5.07},{n:"gfwave2",d:2.67},{n:"GF_CarArgue_01",d:5},{n:"GF_CarArgue_02",d:5},{n:"GF_CarSpot",d:5},{n:"GF_StreetArgue_01",d:5},{n:"GF_StreetArgue_02",d:5},{n:"gift_get",d:5.33},{n:"gift_give",d:5.33},{n:"Grlfrd_Kiss_01",d:4.17},{n:"Grlfrd_Kiss_02",d:5.77},{n:"Grlfrd_Kiss_03",d:7},{n:"Playa_Kiss_01",d:5},{n:"Playa_Kiss_02",d:5.77},{n:"Playa_Kiss_03",d:7}]],["KNIFE",[{n:"KILL_Knife_Ped_Damage",d:2.23},{n:"KILL_Knife_Ped_Die",d:1.93},{n:"KILL_Knife_Player",d:2.67},{n:"KILL_Partial",d:.03},{n:"knife_1",d:1},{n:"knife_2",d:.93},{n:"knife_3",d:.87},{n:"Knife_4",d:.9},{n:"knife_block",d:.47},{n:"Knife_G",d:.9},{n:"knife_hit_1",d:.57},{n:"knife_hit_2",d:.63},{n:"knife_hit_3",d:1.6},{n:"knife_IDLE",d:1.3},{n:"knife_part",d:.53},{n:"WEAPON_knifeidle",d:1.3}]],["LAPDAN1",[{n:"LAPDAN_D",d:37.73},{n:"LAPDAN_P",d:37.73}]],["LAPDAN2",[{n:"LAPDAN_D",d:46.83},{n:"LAPDAN_P",d:46.83}]],["LAPDAN3",[{n:"LAPDAN_D",d:51.47},{n:"LAPDAN_P",d:51.47}]],["LOWRIDER",[{n:"F_smklean_loop",d:4},{n:"lrgirl_bdbnce",d:2.67},{n:"lrgirl_hair",d:2.33},{n:"lrgirl_hurry",d:2.83},{n:"lrgirl_idleloop",d:2.17},{n:"lrgirl_idle_to_l0",d:2.17},{n:"lrgirl_l0_bnce",d:.67},{n:"lrgirl_l0_loop",d:2},{n:"lrgirl_l0_to_l1",d:3.67},{n:"lrgirl_l12_to_l0",d:2},{n:"lrgirl_l1_bnce",d:.67},{n:"lrgirl_l1_loop",d:2},{n:"lrgirl_l1_to_l2",d:1.33},{n:"lrgirl_l2_bnce",d:.67},{n:"lrgirl_l2_loop",d:1.5},{n:"lrgirl_l2_to_l3",d:1.5},{n:"lrgirl_l345_to_l1",d:1},{n:"lrgirl_l3_bnce",d:.67},{n:"lrgirl_l3_loop",d:2},{n:"lrgirl_l3_to_l4",d:.67},{n:"lrgirl_l4_bnce",d:.67},{n:"lrgirl_l4_loop",d:2.33},{n:"lrgirl_l4_to_l5",d:1},{n:"lrgirl_l5_bnce",d:.83},{n:"lrgirl_l5_loop",d:1.67},{n:"M_smklean_loop",d:5},{n:"M_smkstnd_loop",d:5.33},{n:"prtial_gngtlkB",d:1.47},{n:"prtial_gngtlkC",d:1.5},{n:"prtial_gngtlkD",d:2.47},{n:"prtial_gngtlkE",d:3},{n:"prtial_gngtlkF",d:2.67},{n:"prtial_gngtlkG",d:2.67},{n:"prtial_gngtlkH",d:3.33},{n:"RAP_A_Loop",d:2.67},{n:"RAP_B_Loop",d:2.67},{n:"RAP_C_Loop",d:3},{n:"Sit_relaxed",d:.03},{n:"Tap_hand",d:.33}]],["MD_CHASE",[{n:"Carhit_Hangon",d:1.53},{n:"Carhit_Tumble",d:2.03},{n:"donutdrop",d:1.5},{n:"Fen_Choppa_L1",d:1.43},{n:"Fen_Choppa_L2",d:1.3},{n:"Fen_Choppa_L3",d:1.3},{n:"Fen_Choppa_R1",d:1.3},{n:"Fen_Choppa_R2",d:1.3},{n:"Fen_Choppa_R3",d:1.3},{n:"Hangon_Stun_loop",d:4.67},{n:"Hangon_Stun_Turn",d:4},{n:"MD_BIKE_2_HANG",d:1.37},{n:"MD_BIKE_Jmp_BL",d:1.1},{n:"MD_BIKE_Jmp_F",d:1},{n:"MD_BIKE_Lnd_BL",d:.9},{n:"MD_BIKE_Lnd_Die_BL",d:1.53},{n:"MD_BIKE_Lnd_Die_F",d:.8},{n:"MD_BIKE_Lnd_F",d:1.17},{n:"MD_BIKE_Lnd_Roll",d:2.7},{n:"MD_BIKE_Lnd_Roll_F",d:1.03},{n:"MD_BIKE_Punch",d:1.83},{n:"MD_BIKE_Punch_F",d:1.83},{n:"MD_BIKE_Shot_F",d:1.33},{n:"MD_HANG_Lnd_Roll",d:2.7},{n:"MD_HANG_Loop",d:1}]],["MD_END",[{n:"END_SC1_PLY",d:5},{n:"END_SC1_RYD",d:5},{n:"END_SC1_SMO",d:5},{n:"END_SC1_SWE",d:5},{n:"END_SC2_PLY",d:9},{n:"END_SC2_RYD",d:9},{n:"END_SC2_SMO",d:9},{n:"END_SC2_SWE",d:9}]],["MEDIC",[{n:"CPR",d:8.33}]],["MISC",[{n:"bitchslap",d:1.17},{n:"BMX_celebrate",d:1.57},{n:"BMX_comeon",d:.77},{n:"bmx_idleloop_01",d:3.33},{n:"bmx_idleloop_02",d:6.67},{n:"bmx_talkleft_in",d:.67},{n:"bmx_talkleft_loop",d:6.67},{n:"bmx_talkleft_out",d:.67},{n:"bmx_talkright_in",d:.67},{n:"bmx_talkright_loop",d:7.33},{n:"bmx_talkright_out",d:.67},{n:"bng_wndw",d:7.33},{n:"bng_wndw_02",d:7.33},{n:"Case_pickup",d:1},{n:"door_jet",d:5.33},{n:"GRAB_L",d:.4},{n:"GRAB_R",d:.4},{n:"Hiker_Pose",d:.33},{n:"Hiker_Pose_L",d:.33},{n:"Idle_Chat_02",d:7.23},{n:"KAT_Throw_K",d:3.33},{n:"KAT_Throw_O",d:3.33},{n:"KAT_Throw_P",d:3.33},{n:"PASS_Rifle_O",d:1.33},{n:"PASS_Rifle_Ped",d:1.33},{n:"PASS_Rifle_Ply",d:1.33},{n:"pickup_box",d:.4},{n:"Plane_door",d:5.33},{n:"Plane_exit",d:5.33},{n:"Plane_hijack",d:5.33},{n:"Plunger_01",d:3.33},{n:"Plyrlean_loop",d:2.67},{n:"plyr_shkhead",d:1.67},{n:"Run_Dive",d:8.27},{n:"Scratchballs_01",d:8.33},{n:"SEAT_LR",d:3.67},{n:"Seat_talk_01",d:3.67},{n:"Seat_talk_02",d:3.33},{n:"SEAT_watch",d:2.33},{n:"smalplane_door",d:6.33},{n:"smlplane_door",d:5.33},{n:"MTB_back",d:.1},{n:"MTB_bunnyhop",d:.33},{n:"MTB_drivebyFT",d:.2},{n:"MTB_driveby_LHS",d:.2},{n:"MTB_driveby_RHS",d:.2},{n:"MTB_fwd",d:.2},{n:"MTB_getoffBACK",d:1.53},{n:"MTB_getoffLHS",d:.73},{n:"MTB_getoffRHS",d:.73},{n:"MTB_jumponL",d:.8},{n:"MTB_jumponR",d:.83},{n:"MTB_Left",d:.13},{n:"MTB_pedal",d:.67},{n:"MTB_pushes",d:.8},{n:"MTB_Ride",d:.03},{n:"MTB_Right",d:.13},{n:"MTB_sprint",d:.8},{n:"MTB_still",d:.03},{n:"MscleWalkst_armed",d:.2},{n:"MscleWalkst_Csaw",d:.2},{n:"Mscle_rckt_run",d:.8},{n:"Mscle_rckt_walkst",d:.2},{n:"Mscle_run_Csaw",d:.8},{n:"MuscleIdle",d:1.5},{n:"MuscleIdle_armed",d:1.5},{n:"MuscleIdle_Csaw",d:1.5},{n:"MuscleIdle_rocket",d:1.5},{n:"MuscleRun",d:.8},{n:"MuscleRun_armed",d:.8},{n:"MuscleSprint",d:.57},{n:"MuscleWalk",d:1.07},{n:"MuscleWalkstart",d:.27},{n:"MuscleWalk_armed",d:1.07},{n:"Musclewalk_Csaw",d:1.07},{n:"Musclewalk_rocket",d:1.07}]],["NEVADA",[{n:"NEVADA_getin",d:1.87},{n:"NEVADA_getout",d:.93}]],["ON_LOOKERS",[{n:"lkaround_in",d:.33},{n:"lkaround_loop",d:7},{n:"lkaround_out",d:.33},{n:"lkup_in",d:1.67},{n:"lkup_loop",d:5.33},{n:"lkup_out",d:1},{n:"lkup_point",d:3.33},{n:"panic_cower",d:6.67},{n:"panic_hide",d:6.33},{n:"panic_in",d:.83},{n:"panic_loop",d:1.67},{n:"panic_out",d:.67},{n:"panic_point",d:6},{n:"panic_shout",d:8.67},{n:"Pointup_in",d:1},{n:"Pointup_loop",d:2.67},{n:"Pointup_out",d:1},{n:"Pointup_shout",d:3},{n:"point_in",d:.5},{n:"point_loop",d:3},{n:"point_out",d:.33},{n:"shout_01",d:2.67},{n:"shout_02",d:4},{n:"shout_in",d:1.67},{n:"shout_loop",d:2},{n:"shout_out",d:.33},{n:"wave_in",d:.83},{n:"wave_loop",d:1.5},{n:"wave_out",d:.83}]],["OTB",[{n:"betslp_in",d:1.33},{n:"betslp_lkabt",d:2.67},{n:"betslp_loop",d:2.67},{n:"betslp_out",d:1},{n:"betslp_tnk",d:5.6},{n:"wtchrace_cmon",d:5},{n:"wtchrace_in",d:1.67},{n:"wtchrace_loop",d:2.67},{n:"wtchrace_lose",d:4},{n:"wtchrace_out",d:1},{n:"wtchrace_win",d:4.33}]],["PARACHUTE",[{n:"FALL_skyDive",d:1.33},{n:"FALL_SkyDive_Accel",d:1.33},{n:"FALL_skyDive_DIE",d:1},{n:"FALL_SkyDive_L",d:1.33},{n:"FALL_SkyDive_R",d:1.33},{n:"PARA_decel",d:2},{n:"PARA_decel_O",d:2},{n:"PARA_float",d:2},{n:"PARA_float_O",d:2},{n:"PARA_Land",d:1.67},{n:"PARA_Land_O",d:2.17},{n:"PARA_Land_Water",d:2.33},{n:"PARA_Land_Water_O",d:2.17},{n:"PARA_open",d:2.83},{n:"PARA_open_O",d:2.33},{n:"PARA_Rip_Land_O",d:.9},{n:"PARA_Rip_Loop_O",d:1},{n:"PARA_Rip_O",d:.23},{n:"PARA_steerL",d:2},{n:"PARA_steerL_O",d:2},{n:"PARA_steerR",d:2},{n:"PARA_steerR_O",d:2}]],["PARK",[{n:"Tai_Chi_in",d:2.17},{n:"Tai_Chi_Loop",d:12},{n:"Tai_Chi_Out",d:.83}]],["PAULNMAC",[{n:"Piss_in",d:9},{n:"Piss_loop",d:6.67},{n:"Piss_out",d:11},{n:"PnM_Argue1_A",d:4.33},{n:"PnM_Argue1_B",d:4.33},{n:"PnM_Argue2_A",d:4.33},{n:"PnM_Argue2_B",d:4.33},{n:"PnM_Loop_A",d:5.33},{n:"PnM_Loop_B",d:5.33},{n:"wank_in",d:7.33},{n:"wank_loop",d:2.67},{n:"wank_out",d:11.67}]],["PED",[{n:"abseil",d:.03},{n:"ARRESTgun",d:.67},{n:"ATM",d:12.17},{n:"BIKE_elbowL",d:.97},{n:"BIKE_elbowR",d:.97},{n:"BIKE_fallR",d:1.63},{n:"BIKE_fall_off",d:1.07},{n:"BIKE_pickupL",d:1.07},{n:"BIKE_pickupR",d:1.07},{n:"BIKE_pullupL",d:1},{n:"BIKE_pullupR",d:1},{n:"bomber",d:.6},{n:"CAR_alignHI_LHS",d:.73},{n:"CAR_alignHI_RHS",d:.73},{n:"CAR_align_LHS",d:.13},{n:"CAR_align_RHS",d:.13},{n:"CAR_closedoorL_LHS",d:.6},{n:"CAR_closedoorL_RHS",d:.4},{n:"CAR_closedoor_LHS",d:.6},{n:"CAR_closedoor_RHS",d:.4},{n:"CAR_close_LHS",d:.73},{n:"CAR_close_RHS",d:.73},{n:"CAR_crawloutRHS",d:2.17},{n:"CAR_dead_LHS",d:.03},{n:"CAR_dead_RHS",d:.03},{n:"CAR_doorlocked_LHS",d:1.33},{n:"CAR_doorlocked_RHS",d:1.27},{n:"CAR_fallout_LHS",d:.57},{n:"CAR_fallout_RHS",d:.57},{n:"CAR_getinL_LHS",d:1},{n:"CAR_getinL_RHS",d:1},{n:"CAR_getin_LHS",d:1},{n:"CAR_getin_RHS",d:1},{n:"CAR_getoutL_LHS",d:.93},{n:"CAR_getoutL_RHS",d:1},{n:"CAR_getout_LHS",d:1.13},{n:"CAR_getout_RHS",d:.8},{n:"car_hookertalk",d:4.3},{n:"CAR_jackedLHS",d:2.9},{n:"CAR_jackedRHS",d:3.43},{n:"CAR_jumpin_LHS",d:1},{n:"CAR_LB",d:.23},{n:"CAR_LB_pro",d:.1},{n:"CAR_LB_weak",d:.23},{n:"CAR_LjackedLHS",d:3.57},{n:"CAR_LjackedRHS",d:3.47},{n:"CAR_Lshuffle_RHS",d:.4},{n:"CAR_Lsit",d:.03},{n:"CAR_open_LHS",d:1.1},{n:"CAR_open_RHS",d:1.1},{n:"CAR_pulloutL_LHS",d:2.93},{n:"CAR_pulloutL_RHS",d:2.93},{n:"CAR_pullout_LHS",d:2.3},{n:"CAR_pullout_RHS",d:2.8},{n:"CAR_Qjacked",d:3.3},{n:"CAR_rolldoor",d:.6},{n:"CAR_rolldoorLO",d:.6},{n:"CAR_rollout_LHS",d:1.63},{n:"CAR_rollout_RHS",d:1.27},{n:"CAR_shuffle_RHS",d:.4},{n:"CAR_sit",d:.03},{n:"CAR_sitp",d:.03},{n:"CAR_sitpLO",d:.03},{n:"CAR_sit_pro",d:.03},{n:"CAR_sit_weak",d:.03},{n:"CAR_tune_radio",d:.63},{n:"CLIMB_idle",d:.8},{n:"CLIMB_jump",d:.57},{n:"CLIMB_jump2fall",d:.03},{n:"CLIMB_jump_B",d:.97},{n:"CLIMB_Pull",d:.87},{n:"CLIMB_Stand",d:.8},{n:"CLIMB_Stand_finish",d:.2},{n:"cower",d:.8},{n:"Crouch_Roll_L",d:.93},{n:"Crouch_Roll_R",d:.93},{n:"DAM_armL_frmBK",d:.83},{n:"DAM_armL_frmFT",d:.83},{n:"DAM_armL_frmLT",d:.67},{n:"DAM_armR_frmBK",d:.83},{n:"DAM_armR_frmFT",d:.5},{n:"DAM_armR_frmRT",d:.27},{n:"DAM_LegL_frmBK",d:.83},{n:"DAM_LegL_frmFT",d:.83},{n:"DAM_LegL_frmLT",d:.83},{n:"DAM_LegR_frmBK",d:.83},{n:"DAM_LegR_frmFT",d:.83},{n:"DAM_LegR_frmRT",d:.83},{n:"DAM_stomach_frmBK",d:.83},{n:"DAM_stomach_frmFT",d:.83},{n:"DAM_stomach_frmLT",d:.83},{n:"DAM_stomach_frmRT",d:.83},{n:"DOOR_LHinge_O",d:1.07},{n:"DOOR_RHinge_O",d:1.07},{n:"DrivebyL_L",d:.2},{n:"DrivebyL_R",d:.2},{n:"Driveby_L",d:.2},{n:"Driveby_R",d:.2},{n:"DRIVE_BOAT",d:.03},{n:"DRIVE_BOAT_back",d:.1},{n:"DRIVE_BOAT_L",d:.1},{n:"DRIVE_BOAT_R",d:.1},{n:"Drive_L",d:.13},{n:"Drive_LO_l",d:.13},{n:"Drive_LO_R",d:.13},{n:"Drive_L_pro",d:.13},{n:"Drive_L_pro_slow",d:.13},{n:"Drive_L_slow",d:.13},{n:"Drive_L_weak",d:.13},{n:"Drive_L_weak_slow",d:.13},{n:"Drive_R",d:.13},{n:"Drive_R_pro",d:.13},{n:"Drive_R_pro_slow",d:.13},{n:"Drive_R_slow",d:.13},{n:"Drive_R_weak",d:.13},{n:"Drive_R_weak_slow",d:.13},{n:"Drive_truck",d:.03},{n:"DRIVE_truck_back",d:.1},{n:"DRIVE_truck_L",d:.13},{n:"DRIVE_truck_R",d:.13},{n:"Drown",d:2.5},{n:"DUCK_cower",d:.8},{n:"endchat_01",d:2},{n:"endchat_02",d:2},{n:"endchat_03",d:2.33},{n:"EV_dive",d:2.33},{n:"EV_step",d:1.07},{n:"facanger",d:.13},{n:"facgum",d:1.03},{n:"facsurp",d:.13},{n:"facsurpm",d:.13},{n:"factalk",d:2.33},{n:"facurios",d:.13},{n:"FALL_back",d:.73},{n:"FALL_collapse",d:1},{n:"FALL_fall",d:.73},{n:"FALL_front",d:.73},{n:"FALL_glide",d:.8},{n:"FALL_land",d:.47},{n:"FALL_skyDive",d:1.33},{n:"Fight2Idle",d:.33},{n:"FightA_1",d:.43},{n:"FightA_2",d:.77},{n:"FightA_3",d:.87},{n:"FightA_block",d:.47},{n:"FightA_G",d:.93},{n:"FightA_M",d:.4},{n:"FIGHTIDLE",d:1.3},{n:"FightShB",d:.47},{n:"FightShF",d:.53},{n:"FightSh_BWD",d:.67},{n:"FightSh_FWD",d:.67},{n:"FightSh_Left",d:.67},{n:"FightSh_Right",d:.67},{n:"flee_lkaround_01",d:2},{n:"FLOOR_hit",d:.37},{n:"FLOOR_hit_f",d:.4},{n:"fucku",d:1.33},{n:"gang_gunstand",d:.03},{n:"gas_cwr",d:1},{n:"getup",d:1.37},{n:"getup_front",d:1.37},{n:"gum_eat",d:5.33},{n:"GunCrouchBwd",d:1},{n:"GunCrouchFwd",d:.73},{n:"GunMove_BWD",d:1.03},{n:"GunMove_FWD",d:1},{n:"GunMove_L",d:1},{n:"GunMove_R",d:1},{n:"Gun_2_IDLE",d:.27},{n:"GUN_BUTT",d:.43},{n:"GUN_BUTT_crouch",d:.43},{n:"Gun_stand",d:.03},{n:"handscower",d:1.93},{n:"handsup",d:.6},{n:"HitA_1",d:.3},{n:"HitA_2",d:.53},{n:"HitA_3",d:.57},{n:"HIT_back",d:.5},{n:"HIT_behind",d:.67},{n:"HIT_front",d:.6},{n:"HIT_GUN_BUTT",d:.5},{n:"HIT_L",d:.7},{n:"HIT_R",d:.6},{n:"HIT_walk",d:.33},{n:"HIT_wall",d:.7},{n:"Idlestance_fat",d:1.67},{n:"idlestance_old",d:2},{n:"IDLE_armed",d:1.47},{n:"IDLE_chat",d:6.67},{n:"IDLE_csaw",d:1.53},{n:"Idle_Gang1",d:1.67},{n:"IDLE_HBHB",d:2.67},{n:"IDLE_ROCKET",d:1.57},{n:"IDLE_stance",d:1.5},{n:"IDLE_taxi",d:.87},{n:"IDLE_tired",d:1},{n:"Jetpack_Idle",d:.03},{n:"JOG_femaleA",d:.77},{n:"JOG_maleA",d:.77},{n:"JUMP_glide",d:.5},{n:"JUMP_land",d:.23},{n:"JUMP_launch",d:.2},{n:"JUMP_launch_R",d:.2},{n:"KART_drive",d:.03},{n:"KART_L",d:.13},{n:"KART_LB",d:.03},{n:"KART_R",d:.13},{n:"KD_left",d:.9},{n:"KD_right",d:.9},{n:"KO_shot_face",d:2.1},{n:"KO_shot_front",d:.57},{n:"KO_shot_stom",d:3.17},{n:"KO_skid_back",d:.97},{n:"KO_skid_front",d:1.13},{n:"KO_spin_L",d:.87},{n:"KO_spin_R",d:.93},{n:"pass_Smoke_in_car",d:1.73},{n:"phone_in",d:2.33},{n:"phone_out",d:2},{n:"phone_talk",d:2},{n:"Player_Sneak",d:1.33},{n:"Player_Sneak_walkstart",d:.3},{n:"roadcross",d:2},{n:"roadcross_female",d:4},{n:"roadcross_gang",d:2},{n:"roadcross_old",d:4},{n:"run_1armed",d:.77},{n:"run_armed",d:.7},{n:"run_civi",d:.73},{n:"run_csaw",d:.7},{n:"run_fat",d:.8},{n:"run_fatold",d:.8},{n:"run_gang1",d:.83},{n:"run_left",d:.67},{n:"run_old",d:.8},{n:"run_player",d:.73},{n:"run_right",d:.67},{n:"run_rocket",d:.77},{n:"Run_stop",d:.87},{n:"Run_stopR",d:.8},{n:"Run_Wuzi",d:.77},{n:"SEAT_down",d:1.5},{n:"SEAT_idle",d:2},{n:"SEAT_up",d:1.17},{n:"SHOT_leftP",d:.3},{n:"SHOT_partial",d:.37},{n:"SHOT_partial_B",d:.33},{n:"SHOT_rightP",d:.33},{n:"Shove_Partial",d:.53},{n:"Smoke_in_car",d:1.73},{n:"sprint_civi",d:.53},{n:"sprint_panic",d:.6},{n:"Sprint_Wuzi",d:.67},{n:"swat_run",d:.67},{n:"Swim_Tread",d:1.3},{n:"Tap_hand",d:.03},{n:"Tap_handP",d:.03},{n:"turn_180",d:.63},{n:"Turn_L",d:.8},{n:"Turn_R",d:.8},{n:"WALK_armed",d:1.07},{n:"WALK_civi",d:1.13},{n:"WALK_csaw",d:1.07},{n:"Walk_DoorPartial",d:.8},{n:"WALK_drunk",d:3.93},{n:"WALK_fat",d:1.33},{n:"WALK_fatold",d:1.17},{n:"WALK_gang1",d:1.4},{n:"WALK_gang2",d:1.4},{n:"WALK_old",d:1.4},{n:"WALK_player",d:1.2},{n:"WALK_rocket",d:1.07},{n:"WALK_shuffle",d:1.2},{n:"WALK_start",d:.27},{n:"WALK_start_armed",d:.2},{n:"WALK_start_csaw",d:.2},{n:"WALK_start_rocket",d:.2},{n:"Walk_Wuzi",d:1.17},{n:"WEAPON_crouch",d:.8},{n:"woman_idlestance",d:5.33},{n:"woman_run",d:.77},{n:"WOMAN_runbusy",d:.67},{n:"WOMAN_runfatold",d:1.2},{n:"woman_runpanic",d:.6},{n:"WOMAN_runsexy",d:.7},{n:"WOMAN_walkbusy",d:1},{n:"WOMAN_walkfatold",d:1.2},{n:"WOMAN_walknorm",d:1.13},{n:"WOMAN_walkold",d:1.2},{n:"WOMAN_walkpro",d:1.33},{n:"WOMAN_walksexy",d:1.17},{n:"WOMAN_walkshop",d:.97},{n:"XPRESSscratch",d:3.97}]],["PLAYER_DVBYS",[{n:"Plyr_DrivebyBwd",d:.83},{n:"Plyr_DrivebyFwd",d:.83},{n:"Plyr_DrivebyLHS",d:.83},{n:"Plyr_DrivebyRHS",d:.83}]],["PLAYIDLES",[{n:"shift",d:3.6},{n:"shldr",d:2.17},{n:"stretch",d:4.6},{n:"strleg",d:3.67},{n:"time",d:5.2}]],["POLICE",[{n:"CopTraf_Away",d:1.47},{n:"CopTraf_Come",d:2.87},{n:"CopTraf_Left",d:2},{n:"CopTraf_Stop",d:2},{n:"COP_getoutcar_LHS",d:.83},{n:"Cop_move_FWD",d:1},{n:"crm_drgbst_01",d:18.57},{n:"Door_Kick",d:1.33},{n:"plc_drgbst_01",d:20.6},{n:"plc_drgbst_02",d:7.57}]],["POOL",[{n:"POOL_ChalkCue",d:4.83},{n:"POOL_Idle_Stance",d:2},{n:"POOL_Long_Shot",d:1.67},{n:"POOL_Long_Shot_O",d:1.67},{n:"POOL_Long_Start",d:.67},{n:"POOL_Long_Start_O",d:.67},{n:"POOL_Med_Shot",d:1.67},{n:"POOL_Med_Shot_O",d:1.67},{n:"POOL_Med_Start",d:.67},{n:"POOL_Med_Start_O",d:.67},{n:"POOL_Place_White",d:2.5},{n:"POOL_Short_Shot",d:1.67},{n:"POOL_Short_Shot_O",d:1.67},{n:"POOL_Short_Start",d:.67},{n:"POOL_Short_Start_O",d:.67},{n:"POOL_Walk",d:1.27},{n:"POOL_Walk_Start",d:.2},{n:"POOL_XLong_Shot",d:1.67},{n:"POOL_XLong_Shot_O",d:1.67},{n:"POOL_XLong_Start",d:.67},{n:"POOL_XLong_Start_O",d:.67}]],["POOR",[{n:"WINWASH_Start",d:.43},{n:"WINWASH_Wash2Beg",d:2.13}]],["PYTHON",[{n:"python_crouchfire",d:1.2},{n:"python_crouchreload",d:1},{n:"python_fire",d:1.17},{n:"python_fire_poor",d:1.47},{n:"python_reload",d:.93}]],["QUAD",[{n:"QUAD_back",d:.1},{n:"QUAD_driveby_FT",d:.2},{n:"QUAD_driveby_LHS",d:.2},{n:"QUAD_driveby_RHS",d:.2},{n:"QUAD_FWD",d:.2},{n:"QUAD_getoff_B",d:1.63},{n:"QUAD_getoff_LHS",d:.67},{n:"QUAD_getoff_RHS",d:.7},{n:"QUAD_geton_LHS",d:.73},{n:"QUAD_geton_RHS",d:.73},{n:"QUAD_hit",d:.03},{n:"QUAD_kick",d:1.13},{n:"QUAD_Left",d:.13},{n:"QUAD_passenger",d:.03},{n:"QUAD_reverse",d:.17},{n:"QUAD_ride",d:.03},{n:"QUAD_Right",d:.13}]],["QUAD_DBZ",[{n:"Pass_Driveby_BWD",d:.83},{n:"Pass_Driveby_FWD",d:.83},{n:"Pass_Driveby_LHS",d:.83},{n:"Pass_Driveby_RHS",d:.83}]],["RAPPING",[{n:"Laugh_01",d:5.33},{n:"RAP_A_IN",d:.83},{n:"RAP_A_Loop",d:2.67},{n:"RAP_A_OUT",d:.33},{n:"RAP_B_IN",d:1},{n:"RAP_B_Loop",d:2.67},{n:"RAP_B_OUT",d:.87},{n:"RAP_C_Loop",d:3}]],["RIFLE",[{n:"RIFLE_crouchfire",d:.87},{n:"RIFLE_crouchload",d:1.27},{n:"RIFLE_fire",d:.8},{n:"RIFLE_fire_poor",d:.8},{n:"RIFLE_load",d:1.4}]],["RIOT",[{n:"RIOT_ANGRY",d:5},{n:"RIOT_ANGRY_B",d:.63},{n:"RIOT_challenge",d:3.23},{n:"RIOT_CHANT",d:1.73},{n:"RIOT_FUKU",d:.67},{n:"RIOT_PUNCHES",d:.67},{n:"RIOT_shout",d:1}]],["ROB_BANK",[{n:"CAT_Safe_End",d:.5},{n:"CAT_Safe_Open",d:3.33},{n:"CAT_Safe_Open_O",d:3.33},{n:"CAT_Safe_Rob",d:1.83},{n:"SHP_HandsUp_Scr",d:.67}]],["ROCKET",[{n:"idle_rocket",d:1.6},{n:"RocketFire",d:.97},{n:"run_rocket",d:.77},{n:"walk_rocket",d:1.07},{n:"WALK_start_rocket",d:.2}]],["RUNNINGMAN",[{n:"Dance_B1",d:.53},{n:"Dance_B2",d:.57},{n:"Dance_B3",d:.53},{n:"Dance_B4",d:.57},{n:"Dance_B5",d:.53},{n:"Dance_B6",d:.57},{n:"Dance_B7",d:.53},{n:"Dance_B8",d:.57},{n:"Dance_B9",d:.53},{n:"Dance_B10",d:.57},{n:"Dance_B11",d:.53},{n:"Dance_B12",d:.57},{n:"Dance_B13",d:.53},{n:"Dance_B14",d:.57},{n:"Dance_B15",d:.53},{n:"Dance_B16",d:.57},{n:"Dance_G1",d:.53},{n:"Dance_G2",d:.57},{n:"Dance_G3",d:.53},{n:"Dance_G4",d:.57},{n:"Dance_G5",d:.53},{n:"Dance_G6",d:.57},{n:"Dance_G7",d:.53},{n:"Dance_G8",d:.57},{n:"Dance_G9",d:.53},{n:"Dance_G10",d:.57},{n:"Dance_G11",d:.53},{n:"Dance_G12",d:.57},{n:"Dance_G13",d:.53},{n:"Dance_G14",d:.57},{n:"Dance_G15",d:.53},{n:"Dance_G16",d:.57},{n:"dance_loop",d:1.17}]],["RUSTLER",[{n:"Plane_align_LHS",d:.73},{n:"Plane_close",d:.4},{n:"Plane_getin",d:.8},{n:"Plane_getout",d:1.57},{n:"Plane_open",d:.7}]],["RYDER",[{n:"RYD_Beckon_01",d:1.23},{n:"RYD_Beckon_02",d:1},{n:"RYD_Beckon_03",d:1.07},{n:"RYD_Die_PT1",d:4},{n:"RYD_Die_PT2",d:7.93},{n:"Van_Crate_L",d:.67},{n:"Van_Crate_R",d:.67},{n:"Van_Fall_L",d:.47},{n:"Van_Fall_R",d:.93},{n:"Van_Lean_L",d:.67},{n:"Van_Lean_R",d:.67},{n:"VAN_PickUp_E",d:1.83},{n:"VAN_PickUp_S",d:1.5},{n:"Van_Stand",d:.67},{n:"Van_Stand_Crate",d:.67},{n:"Van_Throw",d:1.37}]],["SAMP",[{n:"FishingIdle",d:1}]],["SCRATCHING",[{n:"scdldlp",d:.67},{n:"scdlulp",d:.67},{n:"scdrdlp",d:.67},{n:"scdrulp",d:.67},{n:"sclng_l",d:1},{n:"sclng_r",d:1},{n:"scmid_l",d:.47},{n:"scmid_r",d:.47},{n:"scshrtl",d:.2},{n:"scshrtr",d:.2},{n:"sc_ltor",d:.67},{n:"sc_rtol",d:.67}]],["SHAMAL",[{n:"SHAMAL_align",d:.2},{n:"SHAMAL_getin_LHS",d:1.4},{n:"SHAMAL_getout_LHS",d:1.37},{n:"SHAMAL_open",d:.6}]],["SHOP",[{n:"ROB_2Idle",d:1.17},{n:"ROB_Loop",d:2.67},{n:"ROB_Loop_Threat",d:2},{n:"ROB_Shifty",d:5.67},{n:"ROB_StickUp_In",d:.53},{n:"SHP_Duck",d:.67},{n:"SHP_Duck_Aim",d:.33},{n:"SHP_Duck_Fire",d:.83},{n:"SHP_Gun_Aim",d:.63},{n:"SHP_Gun_Duck",d:.5},{n:"SHP_Gun_Fire",d:.87},{n:"SHP_Gun_Grab",d:.87},{n:"SHP_Gun_Threat",d:.83},{n:"SHP_HandsUp_Scr",d:.67},{n:"SHP_Jump_Glide",d:.33},{n:"SHP_Jump_Land",d:.7},{n:"SHP_Jump_Launch",d:.57},{n:"SHP_Rob_GiveCash",d:3.83},{n:"SHP_Rob_HandsUp",d:2.67},{n:"SHP_Rob_React",d:2.67},{n:"SHP_Serve_End",d:5.5},{n:"SHP_Serve_Idle",d:5},{n:"SHP_Serve_Loop",d:4.17},{n:"SHP_Serve_Start",d:1.33},{n:"Smoke_RYD",d:6.67}]],["SHOTGUN",[{n:"shotgun_crouchfire",d:1.47},{n:"shotgun_fire",d:1.47},{n:"shotgun_fire_poor",d:1.5}]],["SILENCED",[{n:"CrouchReload",d:1},{n:"SilenceCrouchfire",d:.93},{n:"Silence_fire",d:.87},{n:"Silence_reload",d:.93}]],["SKATE",[{n:"skate_idle",d:1},{n:"skate_run",d:.83},{n:"skate_sprint",d:.67}]],["SMOKING",[{n:"F_smklean_loop",d:4},{n:"M_smklean_loop",d:5},{n:"M_smkstnd_loop",d:5.33},{n:"M_smk_drag",d:3.67},{n:"M_smk_in",d:6.67},{n:"M_smk_loop",d:3.33},{n:"M_smk_out",d:3},{n:"M_smk_tap",d:3}]],["SNIPER",[{n:"WEAPON_sniper",d:1.47}]],["SnM",[{n:"SnM_Caned_Idle_P",d:2},{n:"SnM_Caned_Idle_W",d:2},{n:"SnM_Caned_P",d:1.33},{n:"SnM_Caned_W",d:1.33},{n:"SnM_Cane_Idle_P",d:2},{n:"SnM_Cane_Idle_W",d:2},{n:"SnM_Cane_P",d:1.33},{n:"SnM_Cane_W",d:1.33},{n:"SpankedP",d:1.33},{n:"SpankedW",d:1.33},{n:"Spanked_IdleP",d:1.33},{n:"Spanked_IdleW",d:1.33},{n:"SpankingP",d:1.33},{n:"SpankingW",d:1.33},{n:"Spanking_endP",d:6.67},{n:"Spanking_endW",d:6.67},{n:"Spanking_IdleP",d:1.33},{n:"Spanking_IdleW",d:1.33},{n:"Spanking_SittingIdleP",d:1.33},{n:"Spanking_SittingIdleW",d:1.33},{n:"Spanking_SittingP",d:1},{n:"Spanking_SittingW",d:1}]],["SPRAYCAN",[{n:"spraycan_fire",d:2.33},{n:"spraycan_full",d:4.5}]],["STRIP",[{n:"PLY_CASH",d:1.67},{n:"PUN_CASH",d:3.33},{n:"PUN_HOLLER",d:5},{n:"PUN_LOOP",d:1.93},{n:"strip_A",d:2.07},{n:"strip_B",d:1},{n:"strip_C",d:.97},{n:"strip_D",d:1.9},{n:"strip_E",d:3.33},{n:"strip_F",d:1.03},{n:"strip_G",d:2.27},{n:"STR_A2B",d:4},{n:"STR_B2A",d:.5},{n:"STR_B2C",d:5},{n:"STR_C1",d:6},{n:"STR_C2",d:6},{n:"STR_C2B",d:1},{n:"STR_Loop_A",d:1},{n:"STR_Loop_B",d:2},{n:"STR_Loop_C",d:3}]],["SUNBATHE",[{n:"batherdown",d:3.93},{n:"batherup",d:12.3},{n:"Lay_Bac_in",d:2.33},{n:"Lay_Bac_out",d:3},{n:"ParkSit_M_IdleA",d:3.33},{n:"ParkSit_M_IdleB",d:2.67},{n:"ParkSit_M_IdleC",d:4.33},{n:"ParkSit_M_in",d:2.33},{n:"ParkSit_M_out",d:2},{n:"ParkSit_W_idleA",d:3.33},{n:"ParkSit_W_idleB",d:5},{n:"ParkSit_W_idleC",d:3},{n:"ParkSit_W_in",d:4},{n:"ParkSit_W_out",d:2.67},{n:"SBATHE_F_LieB2Sit",d:1.67},{n:"SBATHE_F_Out",d:2},{n:"SitnWait_in_W",d:4.67},{n:"SitnWait_out_W",d:2.67}]],["SWAT",[{n:"gnstwall_injurd",d:2},{n:"JMP_Wall1m_180",d:1.17},{n:"Rail_fall",d:3},{n:"Rail_fall_crawl",d:5.67},{n:"swt_breach_01",d:5.47},{n:"swt_breach_02",d:5.33},{n:"swt_breach_03",d:4.3},{n:"swt_go",d:1.67},{n:"swt_lkt",d:3},{n:"swt_sty",d:1.17},{n:"swt_vent_01",d:4.73},{n:"swt_vent_02",d:4.43},{n:"swt_vnt_sht_die",d:.67},{n:"swt_vnt_sht_in",d:1.6},{n:"swt_vnt_sht_loop",d:.27},{n:"swt_wllpk_L",d:2.67},{n:"swt_wllpk_L_back",d:.5},{n:"swt_wllpk_R",d:3.67},{n:"swt_wllpk_R_back",d:.43},{n:"swt_wllshoot_in_L",d:1},{n:"swt_wllshoot_in_R",d:1.3},{n:"swt_wllshoot_out_L",d:2},{n:"swt_wllshoot_out_R",d:1.43}]],["SWEET",[{n:"ho_ass_slapped",d:2},{n:"LaFin_Player",d:26.67},{n:"LaFin_Sweet",d:26.67},{n:"plyr_hndshldr_01",d:4},{n:"sweet_ass_slap",d:2},{n:"sweet_hndshldr_01",d:4},{n:"Sweet_injuredloop",d:2}]],["SWIM",[{n:"Swim_Breast",d:1.3},{n:"SWIM_crawl",d:.9},{n:"Swim_Dive_Under",d:1.07},{n:"Swim_Glide",d:1.47},{n:"Swim_jumpout",d:.33},{n:"Swim_Tread",d:1.3},{n:"Swim_Under",d:1.5}]],["SWORD",[{n:"sword_1",d:.87},{n:"sword_2",d:1.07},{n:"sword_3",d:.8},{n:"sword_4",d:1.1},{n:"sword_block",d:.47},{n:"Sword_Hit_1",d:.83},{n:"Sword_Hit_2",d:1.03},{n:"Sword_Hit_3",d:.87},{n:"sword_IDLE",d:1},{n:"sword_part",d:.67}]],["TANK",[{n:"TANK_align_LHS",d:1.43},{n:"TANK_close_LHS",d:.33},{n:"TANK_doorlocked",d:.53},{n:"TANK_getin_LHS",d:.43},{n:"TANK_getout_LHS",d:1.97},{n:"TANK_open_LHS",d:.3}]],["TATTOOS",[{n:"TAT_ArmL_In_O",d:.83},{n:"TAT_ArmL_In_P",d:.83},{n:"TAT_ArmL_In_T",d:.83},{n:"TAT_ArmL_Out_O",d:.93},{n:"TAT_ArmL_Out_P",d:2.5},{n:"TAT_ArmL_Out_T",d:.93},{n:"TAT_ArmL_Pose_O",d:.83},{n:"TAT_ArmL_Pose_P",d:.83},{n:"TAT_ArmL_Pose_T",d:.83},{n:"TAT_ArmR_In_O",d:.83},{n:"TAT_ArmR_In_P",d:.83},{n:"TAT_ArmR_In_T",d:.83},{n:"TAT_ArmR_Out_O",d:1},{n:"TAT_ArmR_Out_P",d:2.5},{n:"TAT_ArmR_Out_T",d:1},{n:"TAT_ArmR_Pose_O",d:.83},{n:"TAT_ArmR_Pose_P",d:.83},{n:"TAT_ArmR_Pose_T",d:.83},{n:"TAT_Back_In_O",d:.83},{n:"TAT_Back_In_P",d:.83},{n:"TAT_Back_In_T",d:.83},{n:"TAT_Back_Out_O",d:.93},{n:"TAT_Back_Out_P",d:2.5},{n:"TAT_Back_Out_T",d:.93},{n:"TAT_Back_Pose_O",d:.83},{n:"TAT_Back_Pose_P",d:.83},{n:"TAT_Back_Pose_T",d:.83},{n:"TAT_Back_Sit_In_P",d:.83},{n:"TAT_Back_Sit_Loop_P",d:2.67},{n:"TAT_Back_Sit_Out_P",d:.83},{n:"TAT_Bel_In_O",d:.83},{n:"TAT_Bel_In_T",d:.83},{n:"TAT_Bel_Out_O",d:.97},{n:"TAT_Bel_Out_T",d:.97},{n:"TAT_Bel_Pose_O",d:.83},{n:"TAT_Bel_Pose_T",d:.83},{n:"TAT_Che_In_O",d:.83},{n:"TAT_Che_In_P",d:.83},{n:"TAT_Che_In_T",d:.83},{n:"TAT_Che_Out_O",d:.93},{n:"TAT_Che_Out_P",d:2.5},{n:"TAT_Che_Out_T",d:.93},{n:"TAT_Che_Pose_O",d:.83},{n:"TAT_Che_Pose_P",d:.83},{n:"TAT_Che_Pose_T",d:.83},{n:"TAT_Drop_O",d:.5},{n:"TAT_Idle_Loop_O",d:2.67},{n:"TAT_Idle_Loop_T",d:2.67},{n:"TAT_Sit_In_O",d:2.33},{n:"TAT_Sit_In_P",d:2.33},{n:"TAT_Sit_In_T",d:2.33},{n:"TAT_Sit_Loop_O",d:2.67},{n:"TAT_Sit_Loop_P",d:2.67},{n:"TAT_Sit_Loop_T",d:2.67},{n:"TAT_Sit_Out_O",d:2.83},{n:"TAT_Sit_Out_P",d:2.17},{n:"TAT_Sit_Out_T",d:2.83}]],["TEC",[{n:"TEC_crouchfire",d:.97},{n:"TEC_crouchreload",d:1.33},{n:"TEC_fire",d:1.1},{n:"TEC_reload",d:1.5}]],["TRAIN",[{n:"tran_gtup",d:3.17},{n:"tran_hng",d:2.33},{n:"tran_ouch",d:1.17},{n:"tran_stmb",d:2.33}]],["TRUCK",[{n:"TRUCK_ALIGN_LHS",d:.57},{n:"TRUCK_ALIGN_RHS",d:.57},{n:"TRUCK_closedoor_LHS",d:.4},{n:"TRUCK_closedoor_RHS",d:.4},{n:"TRUCK_close_LHS",d:.73},{n:"TRUCK_close_RHS",d:.73},{n:"TRUCK_getin_LHS",d:.6},{n:"TRUCK_getin_RHS",d:.6},{n:"TRUCK_getout_LHS",d:.8},{n:"TRUCK_getout_RHS",d:.8},{n:"TRUCK_jackedLHS",d:1.73},{n:"TRUCK_jackedRHS",d:1.5},{n:"TRUCK_open_LHS",d:.53},{n:"TRUCK_open_RHS",d:.53},{n:"TRUCK_pullout_LHS",d:.9},{n:"TRUCK_pullout_RHS",d:.9},{n:"TRUCK_Shuffle",d:.4}]],["UZI",[{n:"UZI_crouchfire",d:.63},{n:"UZI_crouchreload",d:1.37},{n:"UZI_fire",d:.57},{n:"UZI_fire_poor",d:.53},{n:"UZI_reload",d:1.4}]],["VAN",[{n:"VAN_close_back_LHS",d:.33},{n:"VAN_close_back_RHS",d:.33},{n:"VAN_getin_Back_LHS",d:.6},{n:"VAN_getin_Back_RHS",d:.6},{n:"VAN_getout_back_LHS",d:.63},{n:"VAN_getout_back_RHS",d:.63},{n:"VAN_open_back_LHS",d:.97},{n:"VAN_open_back_RHS",d:.97}]],["VENDING",[{n:"VEND_Drink2_P",d:3.33},{n:"VEND_Drink_P",d:1.33},{n:"vend_eat1_P",d:4.33},{n:"VEND_Eat_P",d:1.67},{n:"VEND_Use",d:2.6},{n:"VEND_Use_pt2",d:.4}]],["VORTEX",[{n:"CAR_jumpin_LHS",d:1},{n:"CAR_jumpin_RHS",d:.93},{n:"vortex_getout_LHS",d:1},{n:"vortex_getout_RHS",d:1}]],["WAYFARER",[{n:"WF_Back",d:.1},{n:"WF_drivebyFT",d:.2},{n:"WF_drivebyLHS",d:.2},{n:"WF_drivebyRHS",d:.2},{n:"WF_Fwd",d:.2},{n:"WF_getoffBACK",d:1.73},{n:"WF_getoffLHS",d:.9},{n:"WF_getoffRHS",d:.9},{n:"WF_hit",d:.03},{n:"WF_jumponL",d:.9},{n:"WF_jumponR",d:.9},{n:"WF_kick",d:1.03},{n:"WF_Left",d:.13},{n:"WF_passenger",d:.03},{n:"WF_pushes",d:.97},{n:"WF_Ride",d:.03},{n:"WF_Right",d:.13},{n:"WF_Still",d:.03}]],["WEAPONS",[{n:"SHP_1H_Lift",d:1},{n:"SHP_1H_Lift_End",d:.33},{n:"SHP_1H_Ret",d:.83},{n:"SHP_1H_Ret_S",d:.33},{n:"SHP_2H_Lift",d:.93},{n:"SHP_2H_Lift_End",d:.33},{n:"SHP_2H_Ret",d:.9},{n:"SHP_2H_Ret_S",d:.33},{n:"SHP_Ar_Lift",d:1},{n:"SHP_Ar_Lift_End",d:.33},{n:"SHP_Ar_Ret",d:1.17},{n:"SHP_Ar_Ret_S",d:.33},{n:"SHP_G_Lift_In",d:.67},{n:"SHP_G_Lift_Out",d:.67},{n:"SHP_Tray_In",d:.67},{n:"SHP_Tray_Out",d:.67},{n:"SHP_Tray_Pose",d:2.67}]],["WOP",[{n:"Dance_B1",d:1.13},{n:"Dance_B2",d:1.17},{n:"Dance_B3",d:1.13},{n:"Dance_B4",d:1.17},{n:"Dance_B5",d:1.13},{n:"Dance_B6",d:1.17},{n:"Dance_B7",d:1.13},{n:"Dance_B8",d:1.17},{n:"Dance_B9",d:1.13},{n:"Dance_B10",d:1.17},{n:"Dance_B11",d:1.13},{n:"Dance_B12",d:1.17},{n:"Dance_B13",d:1.13},{n:"Dance_B14",d:1.17},{n:"Dance_B15",d:1.13},{n:"Dance_B16",d:1.17},{n:"Dance_G1",d:1.13},{n:"Dance_G2",d:1.17},{n:"Dance_G3",d:1.13},{n:"Dance_G4",d:1.17},{n:"Dance_G5",d:1.13},{n:"Dance_G6",d:1.17},{n:"Dance_G7",d:1.13},{n:"Dance_G8",d:1.17},{n:"Dance_G9",d:1.13},{n:"Dance_G10",d:1.17},{n:"Dance_G11",d:1.13},{n:"Dance_G12",d:1.17},{n:"Dance_G13",d:1.13},{n:"Dance_G14",d:1.17},{n:"Dance_G15",d:1.13},{n:"Dance_G16",d:1.17},{n:"dance_loop",d:1.17}]],["WUZI",[{n:"CS_Dead_Guy",d:5.07},{n:"CS_Plyr_pt1",d:3.77},{n:"CS_Plyr_pt2",d:9.67},{n:"CS_Wuzi_pt1",d:3.77},{n:"CS_Wuzi_pt2",d:9.67},{n:"Walkstart_Idle_01",d:3.17},{n:"Wuzi_follow",d:3},{n:"Wuzi_Greet_Plyr",d:4},{n:"Wuzi_Greet_Wuzi",d:4},{n:"Wuzi_grnd_chk",d:4},{n:"Wuzi_stand_loop",d:2.67},{n:"Wuzi_Walk",d:1.17}]]]),It=e=>{const t=Ti.get(e.toUpperCase());return typeof t>"u"?!1:t},St=(e,t)=>{const i=It(e);if(i)return t==="null"?!0:i.some(a=>a.n===t)},uI=(e,t)=>{const i=It(e);if(i)return i.find(a=>a.n===t)?.d},me=(e,t)=>{const i=t.replace("-","")==="utf8"?e:E.encodeToBuf(e,t);return[i instanceof Array?"a":"s",i]},vi=(e,t,i)=>{const a=me(i,e.charset);return samp.callNative("SendClientMessage",`ii${a[0]}`,e.id,N(t),a[1])},gI=(e,t,i)=>(e.forEach(a=>vi(a,t,i)),1),bi=(e,t,i)=>{const a=me(i,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${a[0]}`,e.id,t,a[1])},mI=(e,t,i)=>(e.forEach(a=>{bi(a,t,i)}),1),fI=(e,t,i)=>{const{charset:a}=e,{style:r,caption:n,info:s,button1:o,button2:_}=i,[d,h]=me(n||"",a),[,g]=me(s||"",a),[,I]=me(o||"",a),[,C]=me(_||"",a);return!!samp.callNative("ShowPlayerDialog",`iii${d.repeat(4)}`,e.id,t,r,h,g,I,C)},PI=e=>{const[t,i]=samp.callNative("GetPlayerName","iAi",e.id,H.MAX_PLAYER_NAME);return{name:E.decodeFromBuf(E.getValidStr(t),e.charset),ret:i}},pI=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,E.encodeToBuf(t,e.charset)),II=(e,t,i)=>{const a=E.encodeToBuf(t,i);return samp.callNative("BanEx","ia",e,a)},SI=(e,t="utf8")=>{const[i,a]=me(e,t);return samp.callNative("SendRconCommand",i,a)},yI=(e,t,i,a,r,n,s,o,_,d,h,g,I,C,y,b)=>{const j=E.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",j,i,a,r,n,s,o,_,d,h,g,I,C,y,b)},CI=(e,t,i,a,r,n,s,o,_,d,h,g,I,C,y,b)=>{const j=E.encodeToBuf(e,b);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",j,t,i,a,r,n,s,o,_,d,h,g,I,C,y,h.length,g.length,I.length,C.length)},EI=(e,t,i,a)=>{const r=E.encodeToBuf(i,a);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,r)},AI=(e,t)=>{const[i,a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return{text:E.decodeFromBuf(E.getValidStr(i),t),ret:a}},NI=(e,t,i,a,r,n,s,o,_,d,h)=>{const g=E.encodeToBuf(a,e),I=E.encodeToBuf(n,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,i,g,r,I,s,o,_,d,h)},DI=(e,t,i="utf8")=>{const[a,r,n,s,o]=samp.callNative("GetDynamicObjectMaterial","iiIAAIii",e,t,64,64);return{modelId:a,txdName:E.decodeFromBuf(E.getValidStr(r),i),textureName:E.decodeFromBuf(E.getValidStr(n),i),materialColor:s,ret:o}},TI=(e,t,i)=>{const[a,r,n,s,o,_,d,h,g]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),I=E.decodeFromBuf(a,i),C=E.decodeFromBuf(n,i);return{text:I,materialSize:r,fontFace:C,fontSize:s,bold:o,fontColor:_,backColor:d,textAlignment:h,ret:g}},vI=(e,t,i,a,r,n)=>{const s=E.encodeToBuf(t,n);return!!samp.callNative("SetPlayerChatBubble","iaifi",e,s,N(i),a,r)},Li=(e,t,i,a,r,n,s,o=!0,_,d,h)=>{const g=E.encodeToBuf(i,e),I=E.encodeToBuf(n,e);return!!samp.callNative("SetObjectMaterialText","iaiiaiiiii",t,g,a,r,I,s,o,N(_),N(d),h)},bI=(e,t,i)=>{const[a,r=0,n,s=0,o=0,_=0,d=0,h=0,g]=samp.callNative("GetObjectMaterialText","iiAiIAiIIIII",e,t,2048,32),I=E.decodeFromBuf(a,i),C=E.decodeFromBuf(n,i);return{text:I,materialSize:r,fontFace:C,fontSize:s,bold:o,fontColor:_,backColor:d,textAlignment:h,ret:g}},wi=(e,t,i,a,r,n,s,o,_=!0,d,h,g)=>{const I=E.encodeToBuf(a,e),C=E.encodeToBuf(s,e);return!!samp.callNative("SetPlayerObjectMaterialText","iiaiiaiiiii",t,i,I,r,n,C,o,_,N(d),N(h),g)},LI=(e,t,i,a)=>{const[r,n=0,s,o=0,_=0,d=0,h=0,g=0,I]=samp.callNative("GetPlayerObjectMaterialText","iiiAiIAiIIIII",e,t,i,2048,32),C=E.decodeFromBuf(r,a),y=E.decodeFromBuf(s,a);return{text:C,materialSize:n,fontFace:y,fontSize:o,bold:_,fontColor:d,backColor:h,textAlignment:g,ret:I}},wI=(e,t,i,a,r,n,s,o,_=!1)=>{const d=E.encodeToBuf(t,e);return samp.callNative("Create3DTextLabel","aiffffii",d,N(i),a,r,n,s,o,_)},RI=(e,t,i,a,r,n,s,o,_,d,h)=>{const g=E.encodeToBuf(i,e);return samp.callNative("CreatePlayer3DTextLabel","iaiffffiii",t,g,N(a),r,n,s,o,_,d,h)},OI=(e,t,i,a)=>{const r=E.encodeToBuf(a,e);return!!samp.callNative("Update3DTextLabelText","iia",t,N(i),r)},GI=(e,t,i,a,r)=>{const n=E.encodeToBuf(r,e);return!!samp.callNative("UpdatePlayer3DTextLabelText","iiia",t,i,N(a),n)},jI=(e,t)=>{const[i,a]=samp.callNative("Get3DTextLabelText","iAi",t,144);return{text:E.decodeFromBuf(i,e),buf:i,ret:a}},FI=(e,t,i)=>{const[a,r]=samp.callNative("GetPlayer3DTextLabelText","iiAi",t,i,144);return{text:E.decodeFromBuf(a,e),buf:a,ret:r}},MI=(e,t,i)=>{const[a,r]=samp.callNative("GetMenuColumnHeader","iiAi",e,t,31);return{header:E.decodeFromBuf(a,i),buf:a,ret:r}},BI=(e,t,i,a)=>{const[r,n]=samp.callNative("GetMenuItem","iiiAi",e,t,i,31);return{item:E.decodeFromBuf(r,a),buf:r,ret:n}},VI=(e,t,i,a,r,n,s)=>samp.callNative("CreateMenu","aiffff",E.encodeToBuf(e,s),t,i,a,r,n),kI=(e,t,i,a)=>samp.callNative("AddMenuItem","iia",e,t,E.encodeToBuf(i,a)),xI=(e,t,i,a)=>samp.callNative("SetMenuColumnHeader","iia",e,t,E.encodeToBuf(i,a)),V=Symbol("internalPlayerProps"),oe=new Map,_e=new Map,Oe=new Map,Z=new Map,Ge=new Map,fe=new Map,re=new Map,Pe=new Map,he=new Map,je=new Map,Y=new Map,pe=new Map,Fe=new Map,ue=new Map,Ie=new Map,Se=new Map,ye=new Map,Me=new Map,Ce=new Map,Ee=new Map,z=new Map,$e=new Map,Be=new Map,Ve=new Map,J=new Map,ce=new Uint32Array(65536),HI=(e,t)=>{const i=e.length,a=t.length,r=1<<i-1;let n=-1,s=0,o=i,_=i;for(;_--;)ce[e.charCodeAt(_)]|=1<<_;for(_=0;_<a;_++){let d=ce[t.charCodeAt(_)];const h=d|s;d|=(d&n)+n^n,s|=~(d|n),n&=d,s&r&&o++,n&r&&o--,s=s<<1|1,n=n<<1|~(h|s),s&=h}for(_=i;_--;)ce[e.charCodeAt(_)]=0;return o},UI=(e,t)=>{const i=t.length,a=e.length,r=[],n=[],s=Math.ceil(i/32),o=Math.ceil(a/32);for(let y=0;y<s;y++)n[y]=-1,r[y]=0;let _=0;for(;_<o-1;_++){let y=0,b=-1;const j=_*32,X=Math.min(32,a)+j;for(let F=j;F<X;F++)ce[e.charCodeAt(F)]|=1<<F;for(let F=0;F<i;F++){const de=ce[t.charCodeAt(F)],se=n[F/32|0]>>>F&1,ae=r[F/32|0]>>>F&1,Dt=de|y,Tt=((de|ae)&b)+b^b|de|ae;let Ke=y|~(Tt|b),tt=b&Tt;Ke>>>31^se&&(n[F/32|0]^=1<<F),tt>>>31^ae&&(r[F/32|0]^=1<<F),Ke=Ke<<1|se,tt=tt<<1|ae,b=tt|~(Dt|Ke),y=Ke&Dt}for(let F=j;F<X;F++)ce[e.charCodeAt(F)]=0}let d=0,h=-1;const g=_*32,I=Math.min(32,a-g)+g;for(let y=g;y<I;y++)ce[e.charCodeAt(y)]|=1<<y;let C=a;for(let y=0;y<i;y++){const b=ce[t.charCodeAt(y)],j=n[y/32|0]>>>y&1,X=r[y/32|0]>>>y&1,F=b|d,de=((b|X)&h)+h^h|b|X;let se=d|~(de|h),ae=h&de;C+=se>>>a-1&1,C-=ae>>>a-1&1,se>>>31^j&&(n[y/32|0]^=1<<y),ae>>>31^X&&(r[y/32|0]^=1<<y),se=se<<1|j,ae=ae<<1|X,h=ae|~(F|se),d=se&F}for(let y=g;y<I;y++)ce[e.charCodeAt(y)]=0;return C},Ri=(e,t)=>{if(e.length<t.length){const i=t;t=e,e=i}return t.length===0?e.length:e.length<=32?HI(e,t):UI(e,t)},WI=(e,t)=>{let i=1/0,a=0;for(let r=0;r<t.length;r++){const n=Ri(e,t[r]);n<i&&(i=n,a=r)}return t[a]},Ae=new Map,Ne=new Map,Oi=/[^/\s]+/gi,Qe={NOT_EXIST:{code:1,msg:"command does not exist"},REJECTED:{code:2,msg:"An event registered through onCommandText returned false"},PERFORMED:{code:3,msg:"An event registered through onCommandPerformed returned false"},RECEIVED_THROW:{code:4,msg:"An event registered through onCommandReceived throw an error"},RECEIVED_REJECTED:{code:5,msg:"An event registered through onCommandReceived returned false"}},[KI,XI]=m({name:"OnCommandReceived",isNative:!1,throwOnError:!0,beforeEach(e,t,i,a,r,n,s,o,_){return{player:e,command:t,cmdText:i,buffer:a,strictMainCmd:r,noStrictMainCmd:n,hasStrict:s,hasNoStrict:o,subcommand:_}}}),[ZI,YI]=m({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t,i,a,r,n,s,o,_){return{player:e,command:t,cmdText:i,buffer:a,strictMainCmd:r,noStrictMainCmd:n,hasStrict:s,hasNoStrict:o,subcommand:_}}}),[zI,qe]=m({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_,d){return{player:e,error:t,command:i,cmdText:a,buffer:r,strictMainCmd:n,noStrictMainCmd:s,hasStrict:o,hasNoStrict:_,subcommand:d,getSuggestion(){const h=WI(a,[...Ae.keys(),...Ne.keys()]),g=Ri(a,h);return{suggestion:h,distance:g}}}}}),[JI,$I]=m({name:"OnPlayerCommandTextI18n",identifier:"iai",defaultValue:!1,beforeEach(e,t){const i=oe.get(e);let a=t,r="";return typeof t=="string"?(r=t,a=E.encodeToBuf(r,"utf-8")):r=E.decodeFromBuf(t,i.charset),{player:i,buffer:a,cmdText:r}}}),[QI,qI]=m({name:"OnPlayerCommandTextRaw",isNative:!1,defaultValue:!1,beforeEach(e,t,i){return{player:e,buffer:t,cmdText:i}}});function eS(e){const t=[];let i="";for(let a=0;a<e.length;a++)i+=e[a]+" ",t.push(i.trimEnd());return t.reverse()}JI(({player:e,buffer:t,cmdText:i,next:a})=>{const r=qI(e,t,i);if(r)return r;const n=i.match(Oi),s=eS(n),o=s.find(b=>Ae.has(b)),_=s.map(b=>b.toLowerCase()).find(b=>Ne.has(b)),d=!!o,h=!!_,g=n.join(" ");let I=[];const C=[[o,Ae,!0],[_,Ne,!1]],y=[g,i,t,o,_,d,h,I];if(d||h){const b=C[0][0]||C[1][0];I=g.replace(b,"").trim().split(" ")}else return qe(e,Qe.NOT_EXIST,...y);try{if(!XI(e,...y))return qe(e,Qe.RECEIVED_REJECTED,...y)}catch(b){const j=typeof b=="object"?b:{error:b};return qe(e,{...Qe.RECEIVED_THROW,...j},...y)}for(const[b,j,X]of C){if(!b)continue;const F=j.get(b),[,de]=F;if(!de(e,b,I,i,t,X))return qe(e,Qe.REJECTED,...y)}return YI(e,g,i,t,o,_,d,h,I)?(a(),!0):qe(e,Qe.PERFORMED,...y)});function tS(e,t,i,a,r,n){return{player:e,mainCommand:t,subcommand:i,cmdText:a,buffer:r,isStrict:n}}class te{static caseSensitive=!1;constructor(){}static on(t,i){let a=te.caseSensitive,r,n;typeof t=="string"||t instanceof Array?(r=t,n=i):(r=t.command,n=t.run,typeof t.caseSensitive<"u"&&(a=t.caseSensitive));const s=Array.isArray(r)?r:[r],o=s.find(h=>!h.match(Oi));if(o)return console.log(`error command ${o} format`),()=>{};const _=a?Ae:Ne,d=s.map(h=>{const g=h.replaceAll("/",""),I=a?g:g.toLowerCase();if(!_.has(I)){const y=m({name:a?"$"+I:I,isNative:!1,beforeEach:tS});_.set(I,y)}const[C]=_.get(I);return[I,C(n)]});return()=>{d.forEach(h=>{const[g,I]=h;I()===0&&_.delete(g)})}}static off(t){(Array.isArray(t)?t:[t]).forEach(i=>{let a=i.replaceAll("/","");Ae.has(a)&&(Q.has(a)&&Q.delete(a),Ae.has(a)&&Ae.delete(a)),a=a.toLowerCase(),Ne.has(a)&&(Q.has(a)&&Q.delete(a),Ne.has(a)&&Ne.delete(a))})}static enableCaseSensitive(){te.caseSensitive=!0}static disableCaseSensitive(){te.caseSensitive=!1}static isCaseSensitive(){return te.caseSensitive}static simulate(t,i){return $I(t.id,i)}}const[iS]=m({name:"OnGameModeInit",identifier:""}),[Gi,aS]=m({name:"OnGameModeInitReal",isNative:!1});iS(()=>{Promise.resolve().then(aS)});const[ji]=m({name:"OnGameModeExit",identifier:""}),[rS]=m({name:"OnIncomingConnection",identifier:"isi",defaultValue:!1,beforeEach(e,t,i){return{playerId:e,ipAddress:t,port:i}}}),[nS]=m({name:"OnRconCommandI18n",identifier:"ai",defaultValue:!1,beforeEach(e){return{buffer:e,cmd:E.decodeFromBuf(e)}}}),[sS]=m({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,i){return{ip:E.decodeFromBuf(e),password:E.decodeFromBuf(t),success:!!i,ipBuffer:e,passwordBuffer:t}}}),De=[],ke=[],_t=new Map,yt=async e=>{try{return await new Promise((t,i)=>{const a=De.findIndex(o=>o.name===e);if(a===-1)return;const r=De[a];function n(o){o.length&&_t.set(e,o),De.splice(a,1),ke.push(r),setTimeout(t)}const s=r.load();s instanceof Promise?s.then(n).catch(i):n(s)})}catch(t){throw new Error(`[GameMode]: script ${e} load fail
|
|
2
|
-
err:${t}`)}},
|
|
3
|
-
${t}`)}},lS=async e=>{await Ct(e),await yt(e)},oS=e=>_t.has(e);Gi(async({next:e})=>{const t=De.map(i=>i.name);for(const i of t)await yt(i);return e()}),ji(async({next:e})=>{const t=ke.map(i=>i.name);for(const i of t)await Ct(i);return e()});const _S=function(e,...t){if(De.some(i=>i.name===e.name)||ke.some(i=>i.name===e.name))throw new Error(`[GameMode]: script ${e.name} has already been applied`);e.load=e.load.bind(e,...t),De.push(e)};class x{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=Gi;static onExit=ji;static onIncomingConnection=rS;static onRconCommand=nS;static onRconLoginAttempt=sS;static use(t,...i){return _S(t,...i),this}static loadUseScript=yt;static reloadUseScript=lS;static unloadUseScript=Ct;static isUseScriptLoaded=oS;static enableCmdCaseSensitive=te.enableCaseSensitive;static disableCmdCaseSensitive=te.disableCaseSensitive;static isCmdCaseSensitive=te.isCaseSensitive;static supportAllNickname(){for(let t=0;t<=255;t++)this.isNickNameCharacterAllowed(t)||this.allowNickNameCharacter(t,!0)}static setWeather(t){if(t<0||t>255)throw new Error("[GameMode]: The valid weather value is only 0 to 255");return Ks(t)}static setWorldTime(t){if(t<0||t>23)throw new Error("[GameMode]: The valid hour value is only 0 to 23");return Hs(t)}static getWorldTime=Us;static setTeamCount=hl;static sendRconCommand=SI;static addPlayerClass=ul;static addPlayerClassEx=gl;static createExplosion(t,i,a,r,n){if(r<0||r>13)throw new Error("[GameMode]: The valid explosion type value is only 0 to 13");return Ys(t,i,a,r,n)}static manualVehicleEngineAndLights=Xu;static blockIpAddress=Ol;static unBlockIpAddress=Gl;static getServerTickRate=il;static addSimpleModel(t,i,a,r,n){return this.checkSimpleModel(t,i,a,r,n)?gp(t,i,a,r,n):!1}static addSimpleModelTimed(t,i,a,r,n,s,o){return this.checkSimpleModel(t,i,a,r,n,s,o)?mp(t,i,a,r,n,s,o):!1}static checkSimpleModel(t,i,a,r,n,s,o){if(t<-1)throw new Error("[GameMode]: AddSimpleModel - Error virtual world");if(i<0)throw new Error("[GameMode]: AddSimpleModel - Error baseId");if(a>H.MAX_CUSTOM_OBJECT_ID||a<H.MIN_CUSTOM_OBJECT_ID)throw new Error("[GameMode]: AddSimpleModel - Error newId range");if(r.trim().length===0)throw new Error("[GameMode]: AddSimpleModel - Empty dffName");if(n.trim().length===0)throw new Error("[GameMode]: AddSimpleModel - Empty txdName");if(s!==void 0&&(s<0||s>23))throw new Error("[GameMode]: AddSimpleModel - Error time on range");if(o!==void 0&&(o<0||o>23))throw new Error("[GameMode]: AddSimpleModel - Error time off range");return!0}static isValidCustomModel=Di;static getCustomModePath=Ep;static getConsoleVarAsString(t,i="utf8"){const{consoleVarBuf:a,ret:r}=Ts(t);return{consoleVar:E.decodeFromBuf(E.getValidStr(a),i),ret:r}}static getRestartTime=Gs;static setRestartTime=Os;static allowAdminTeleport=ys;static isAdminTeleportAllowed=Cs;static allowInteriorWeapons=Es;static areInteriorWeaponsAllowed=As;static areAllAnimationsEnabled=Ns;static enableAllAnimations=Ds;static enableStuntBonusForAll=rl;static enableVehicleFriendlyFire=Ws;static enableZoneNames=zs;static disableInteriorEnterExits=$s;static setGameModeText=Vs;static getGravity=Xs;static setGravity=Zs;static showNameTags=ks;static disableNameTagLOS=qs;static usePlayerPedAnims=Js;static showPlayerMarkers=xs;static limitPlayerMarkerRadius=tl;static limitGlobalChatRadius=el;static setNameTagDrawDistance=Qs;static findModelFileNameFromCRC=Pp;static findTextureFileNameFromCRC=pp;static getWeaponName=ol;static setObjectsDefaultCameraCollision=up;static vectorSize=pt;static clearBanList=Ml;static isBanned=Bl;static isValidNickName=gs;static allowNickNameCharacter=ms;static isNickNameCharacterAllowed=fs;static addServerRule=Ps;static setServerRule=ps;static isValidServerRule=Is;static removeServerRule=Ss;static getWeaponSlot=ll;static getAvailableClasses=_l;static getPlayerClass=cl;static editPlayerClass=dl;static toggleChatTextReplacement=nl;static chatTextReplacementToggled=sl;static getConsoleVarAsInt=vs;static getConsoleVarAsBool=bs;static getWeather=Ls;static getServerRuleFlag=ws;static setServerRuleFlags=Rs}const D={skip:!1};x.onInit(({next:e})=>(D.skip=!1,e())),x.onExit(({next:e})=>(D.skip=!0,e()));class S{sourceInfo=null;_id=l.OBJECT_ID;_player=null;get id(){return this._id}constructor(t,i){if(typeof t=="number"){i&&(this._player=i);const a=S.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?Ee.set(this._id,this):i&&(z.has(i)||z.set(i,new Map),z.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[ObjectMp]: Unable to create with only id");if(this.id!==l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to create again");const{modelId:t,x:i,y:a,z:r,rx:n,ry:s,rz:o,drawDistance:_=0}=this.sourceInfo;if(this.isGlobal()){if(this._id=S.__inject__.create(t,i,a,r,n,s,o,_),this.id===l.OBJECT_ID||S.getInstances().length===H.MAX_OBJECTS)throw new Error("[ObjectMp]: Unable to create object");return Ee.set(this._id,this),this}const d=this.getPlayerId();if(d===l.PLAYER_ID)return this;const h=this.getPlayer();if(this._id=S.__inject__.createPlayer(d,t,i,a,r,n,s,o,_),this.id===l.OBJECT_ID||S.getInstances(h).length===H.MAX_OBJECTS)throw new Error("[ObjectMp]: Unable to create player object");return z.has(h)||z.set(h,new Map),z.get(this.getPlayer()).set(this.id,this),this}destroy(){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to destroy before create");if(this.isGlobal())D.skip||S.__inject__.destroy(this.id),Ee.delete(this.id);else{const t=this.getPlayerId();if(t===l.PLAYER_ID)return this;const i=this.getPlayer();if(D.skip||S.__inject__.destroyPlayer(t,this.id),z.has(i)){const a=z.get(i);a.delete(this.id),a.size===0&&z.delete(i)}}return this._id=l.OBJECT_ID,this}isGlobal(){return!(this.sourceInfo?this.sourceInfo.player:this._player)}isPlayer(){return!this.isGlobal()}getPlayer(){return this._player?this._player:this.sourceInfo&&this.sourceInfo.player?this.sourceInfo.player:null}getPlayerId(){const t=this.getPlayer();return t?t.id:l.PLAYER_ID}isValid(){return D.skip&&this.id!==l.OBJECT_ID?!0:this.isGlobal()?S.isValid(this.id):S.isValid(this.id,this.getPlayerId())}getModel(){return this.sourceInfo?this.sourceInfo.modelId:this.isGlobal()?S.__inject__.getModel(this.id):S.__inject__.getModelPlayer(this.getPlayerId(),this.id)}getPos(){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot get position before create");return this.isGlobal()?S.__inject__.getPos(this.id):S.__inject__.getPosPlayer(this.getPlayerId(),this.id)}setPos(t,i,a){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot set position before create");return this.isGlobal()?S.__inject__.setPos(this.id,t,i,a):S.__inject__.setPosPlayer(this.getPlayerId(),this.id,t,i,a)}getRot(){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot get rotation before create");return this.isGlobal()?S.__inject__.getRot(this.id):S.__inject__.getRotPlayer(this.getPlayerId(),this.id)}setRot(t,i,a){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot set rotation before create");return this.isGlobal()?S.__inject__.setRot(this.id,t,i,a):S.__inject__.setRotPlayer(this.getPlayerId(),this.id,t,i,a)}move(t,i,a,r,n,s,o){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot start moving before create");if(r<0)throw new Error("[ObjectMp]: speed must not be less than 0");if(r>120*1e3)throw new Error("[ObjectMp]: speed more than 120 seconds, warn if it's not intentional");return this.isMoving()&&this.stop(),this.isGlobal()?S.__inject__.move(this.id,t,i,a,r,n,s,o):S.__inject__.movePlayer(this.getPlayerId(),this.id,t,i,a,r,n,s,o)}stop(){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot stop moving before create");return this.isGlobal()?S.__inject__.stop(this.id):S.__inject__.stopPlayer(this.getPlayerId(),this.id)}isMoving(){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.isMoving(this.id):S.__inject__.isMovingPlayer(this.getPlayerId(),this.id)}attachCamera(t){if(this.id===l.OBJECT_ID)return!1;if(this.isGlobal()){if(!t)throw new Error("[ObjectMp]: Cannot attachCamera without player");return S.__inject__.attachCamera(t.id,this.id)}return S.__inject__.attachCameraPlayer(this.getPlayerId(),this.id)}attachToObject(t,i,a,r,n,s,o,_=!0){if(this.id===l.OBJECT_ID||t.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot attachToObject before both are created");if(this.isGlobal()&&t.isGlobal())return S.__inject__.attachToObject(this.id,t.id,i,a,r,n,s,o,_);if(!this.isGlobal()&&!t.isGlobal())return S.__inject__.attachPlayerToObject(this.getPlayerId(),this.id,t.id,i,a,r,n,s,o,_);throw new Error("[ObjectMp]: Cannot attachToObject with global and player object")}attachToPlayer(t,i,a,r,n,s,o){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.attachToPlayer(this.id,t.id,i,a,r,n,s,o):S.__inject__.attachPlayerToPlayer(this.getPlayerId(),this.id,t.id,i,a,r,n,s,o)}attachToVehicle(t,i,a,r,n,s,o){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.attachToVehicle(this.id,t.id,i,a,r,n,s,o):S.__inject__.attachPlayerToVehicle(this.getPlayerId(),this.id,t.id,i,a,r,n,s,o)}edit(t){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to edit before create");return t.endObjectEditing(),this.isGlobal()?S.__inject__.beginEditing(t.id,this.id):S.__inject__.beginEditingPlayer(t.id,this.id)}isMaterialUsed(t){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.isMaterialSlotUsed(this.id,t):S.__inject__.isMaterialSlotUsedPlayer(this.getPlayerId(),this.id,t)}getMaterial(t){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to get material before create");return this.isGlobal()?S.__inject__.getMaterial(this.id,t):S.__inject__.getMaterialPlayer(this.getPlayerId(),this.id,t)}setMaterial(t,i,a,r,n="#000"){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to set material before create");return this.isGlobal()?S.__inject__.setMaterial(this.id,t,i,a,r,N(n)):S.__inject__.setMaterialPlayer(this.getPlayerId(),this.id,t,i,a,r,N(n))}getMaterialText(t){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to get material text before create");return this.isGlobal()?S.__inject__.getMaterialText(this.id,t,this.sourceInfo?.charset||"utf8"):S.__inject__.getMaterialTextPlayer(this.getPlayerId(),this.id,t,this.sourceInfo?.charset||"utf8")}setMaterialText(t=this.sourceInfo?.charset,i,a,r=nt.SIZE_256x128,n="Arial",s=24,o=!0,_="#fff",d="#000",h=0){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to set material text before create");return this.sourceInfo&&(this.sourceInfo.charset=t),this.isGlobal()?Li(t||"utf8",this.id,i,a,r,n,s,o,N(_),N(d),h):wi(t||"utf8",this.getPlayerId(),this.id,i,a,r,n,s,o,N(_),N(d),h)}static getPlayerCameraTarget(t,i=!0){if(i){const r=S.__inject__.getCameraTarget(t.id);return r===l.OBJECT_ID?void 0:Ee.get(r)}const a=S.__inject__.getCameraTargetPlayer(t.id);if(a!==l.OBJECT_ID)return S.getPlayersInstances().map(([,r])=>r).flat().find(r=>r.id===a)}setNoCameraCollision(){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.setNoCameraCollision(this.id):S.__inject__.setNoCameraCollisionPlayer(this.getPlayerId(),this.id)}isNoCameraCol(){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.isNoCameraCol(this.id):S.__inject__.isNoCameraColPlayer(this.getPlayerId(),this.id)}hasCameraCollision(){return!this.isNoCameraCol()}getDrawDistance(){return this.id===l.OBJECT_ID?0:this.isGlobal()?S.__inject__.getDrawDistance(this.id):S.__inject__.getDrawDistancePlayer(this.getPlayerId(),this.id)}setMoveSpeed(t){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.setMoveSpeed(this.id,t):S.__inject__.setMoveSpeedPlayer(this.getPlayerId(),this.id,t)}getMoveSpeed(){return this.id===l.OBJECT_ID?0:this.isGlobal()?S.__inject__.getMoveSpeed(this.id):S.__inject__.getMoveSpeedPlayer(this.getPlayerId(),this.id)}getMovingTargetPos(){return this.isGlobal()?S.__inject__.getMovingTargetPos(this.id):S.__inject__.getMovingTargetPosPlayer(this.getPlayerId(),this.id)}getSyncRotation(){return this.isGlobal()?S.__inject__.getSyncRotation(this.id):S.__inject__.getSyncRotationPlayer(this.getPlayerId(),this.id)}getAttachedOffset(){return this.isGlobal()?S.__inject__.getAttachedOffset(this.id):S.__inject__.getAttachedOffsetPlayer(this.getPlayerId(),this.id)}getTarget(){return this.isGlobal()?S.__inject__.getTarget(this.id):S.__inject__.getTargetPlayer(this.getPlayerId(),this.id)}static isValid(t,i){return i===l.PLAYER_ID?!1:typeof i>"u"?S.__inject__.isValid(t):S.__inject__.isValidPlayer(i,t)}static getInstance(t,i){if(!i)return Ee.get(t);if(i.id!==l.PLAYER_ID)return z.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...z.get(t)?.values()||[]]:[...Ee.values()]}static getPlayersInstances(){return Array.from(z.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:XP,createPlayer:Fp,destroy:sp,destroyPlayer:Kp,setMaterialText:Li,setMaterialTextPlayer:wi,setNoCameraCollision:ap,setNoCameraCollisionPlayer:Up,isNoCameraCol:rp,isNoCameraColPlayer:Op,getDrawDistance:MP,getDrawDistancePlayer:Ap,setMoveSpeed:VP,setMoveSpeedPlayer:Np,getMoveSpeed:BP,getMoveSpeedPlayer:Dp,getMovingTargetPos:kP,getMovingTargetPosPlayer:vp,getSyncRotation:UP,getSyncRotationPlayer:Lp,getAttachedOffset:HP,getAttachedOffsetPlayer:bp,getTarget:xP,getTargetPlayer:Tp,isValid:np,isValidPlayer:Wp,getCameraTarget:dc,getCameraTargetPlayer:Gp,getModel:ip,getModelPlayer:Hp,getPos:qP,getPosPlayer:Vp,getRot:tp,getRotPlayer:xp,setPos:QP,setPosPlayer:Bp,setRot:ep,setRotPlayer:kp,move:lp,movePlayer:Xp,setMaterial:hp,setMaterialPlayer:Jp,stop:op,stopPlayer:Zp,isMoving:_p,isMovingPlayer:Yp,attachCamera:fc,attachCameraPlayer:Pc,attachToObject:zP,attachToPlayer:JP,attachToVehicle:ZP,attachPlayerToObject:YP,attachPlayerToPlayer:zp,attachPlayerToVehicle:Mp,beginEditing:cp,beginEditingPlayer:jp,endEditing:Ni,getMaterial:KP,getMaterialPlayer:Rp,isMaterialSlotUsed:WP,isMaterialSlotUsedPlayer:wp,getMaterialText:bI,getMaterialTextPlayer:LI}}const[Fi]=m({name:"OnClientCheckResponse",identifier:"iiii",beforeEach(e,t,i,a){return{player:c.getInstance(e),actionId:t,memAddr:i,data:a}}}),[cS,dS]=m({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,i){return{player:e,newLocale:t,oldLocale:i}}}),[hS,uS]=m({name:"OnPlayerCharsetChange",isNative:!1,beforeEach(e,t,i){return{player:e,newCharset:t,oldCharset:i}}});class c{constructor(t){if(this.id=t,t<0||t>=H.MAX_PLAYERS)throw new Error(`Invalid player ID: ${t} (valid range: 0-${H.MAX_PLAYERS-1})`);const i=c.getInstance(t);if(i)return i;oe.set(t,this)}static MAX_CHECK_ANDROID_DELAY=10;static SKIP_CHECK_ANDROID=!1;_charset="ISO-8859-1";_locale="en_US";[V]={isAndroid:!0,lastDrunkLevel:0,lastFps:0,lastUpdateTick:0,lastUpdateFpsTick:0,isPaused:!1,isRecording:!1};get lastDrunkLevel(){return this[V].lastDrunkLevel}get lastFps(){return this[V].lastFps}get lastUpdateTick(){return this[V].lastUpdateTick}get lastUpdateFpsTick(){return this[V].lastUpdateFpsTick}get isPaused(){return this[V].isPaused}get isRecording(){return this[V].isRecording}get charset(){return this._charset}set charset(t){const i=this._charset;this._charset=t,uS(this,t,i)}get locale(){return this._locale}set locale(t){const i=this._locale;this._locale=t,dS(this,t,i)}sendClientMessage(t,i){return c.__inject__.sendClientMessage(this,t,i)}static sendClientMessageToAll(t,i){c.__inject__.sendClientMessageToAll(c.getInstances(),t,i)}sendMessageToPlayer(t,i){return c.__inject__.sendMessageToPlayer(t,this.id,i)}sendMessageToAll(t){return c.__inject__.sendMessageToAll(c.getInstances(),this.id,t)}isNpc(){return c.__inject__.isNpc(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return c.__inject__.getDrunkLevel(this.id)}setDrunkLevel(t){if(t<0||t>5e4)throw new Error("[Player]: player's drunk level ranges from 0 to 50000");return c.__inject__.setDrunkLevel(this.id,t)}allowTeleport(t){return c.__inject__.allowTeleport(this.id,t)}isTeleportAllowed(){return c.__inject__.isTeleportAllowed(this.id)}enableCameraTarget(t){return c.__inject__.enableCameraTarget(this.id,t)}enableStuntBonus(t){return c.__inject__.enableStuntBonus(this.id,t)}getInterior(){return c.__inject__.getInterior(this.id)}setInterior(t){return c.__inject__.setInterior(this.id,t)}showNameTag(t,i){return c.__inject__.showNameTag(this.id,t.id,i)}setColor(t){return c.__inject__.setColor(this.id,t)}getColor(){return c.__inject__.getColor(this.id)}setMapIcon(t,i,a,r,n,s,o){return c.__inject__.setMapIcon(this.id,t,i,a,r,n,s,o)}removeMapIcon(t){return c.__inject__.removeMapIcon(this.id,t)}setMarker(t,i){c.__inject__.setMarker(this.id,t.id,i)}getMarker(t){return c.__inject__.getMarker(this.id,t.id)}resetMoney(){return c.__inject__.resetMoney(this.id)}getMoney(){return c.__inject__.getMoney(this.id)}giveMoney(t){return c.__inject__.giveMoney(this.id,t)}resetWeapons(){return c.__inject__.resetWeapons(this.id)}spawn(){return c.__inject__.spawn(this.id)}setHealth(t){return c.__inject__.setHealth(this.id,t)}getHealth(){return c.__inject__.getHealth(this.id)}toggleClock(t){return c.__inject__.toggleClock(this.id,t)}toggleControllable(t){return c.__inject__.toggleControllable(this.id,t)}toggleSpectating(t){return c.__inject__.toggleSpectating(this.id,t)}spectatePlayer(t,i=at.NORMAL){return c.__inject__.spectatePlayer(this.id,t.id,i)}spectateVehicle(t,i=at.NORMAL){return c.__inject__.spectateVehicle(this.id,t.id,i)}forceClassSelection(){return c.__inject__.forceClassSelection(this.id)}kick(){return c.__inject__.kick(this.id)}ban(){return c.__inject__.ban(this.id)}banEx(t,i){return c.__inject__.banEx(this.id,t,i)}isAdmin(){return c.__inject__.isAdmin(this.id)}isInRangeOfPoint(t,i,a,r){return c.__inject__.isInRangeOfPoint(this.id,t,i,a,r)}isStreamedIn(t){return c.__inject__.isStreamedIn(this.id,t.id)}setSkin(t,i=!1){return!i&&(t<0||t>311||t===74)||this.getHealth().health<=0||this.isInAnyVehicle()||this.getSpecialAction()===ht.DUCK?!1:c.__inject__.setSkin(this.id,t)}getSkin(){return c.__inject__.getSkin(this.id)}isInAnyVehicle(){return c.__inject__.isInAnyVehicle(this.id)}getSpecialAction(){return c.__inject__.getSpecialAction(this.id)}setSpecialAction(t){return c.__inject__.setSpecialAction(this.id,t)}setScore(t){return c.__inject__.setScore(this.id,t)}getScore(){return c.__inject__.getScore(this.id)}getPing(){return c.__inject__.getPing(this.id)||0}setPos(t,i,a){return c.__inject__.setPos(this.id,t,i,a)}getPos(){return c.__inject__.getPos(this.id)}isSpectating(){return this.getState()===Ye.SPECTATING}isWasted(){return this.getState()===Ye.WASTED}getState(){return c.__inject__.getState(this.id)}getVersion(){return c.__inject__.getVersion(this.id)}setVirtualWorld(t){return c.__inject__.setVirtualWorld(this.id,t)}getVirtualWorld(){return c.__inject__.getVirtualWorld(this.id)}removeFromVehicle(){return c.__inject__.removeFromVehicle(this.id)}setWantedLevel(t){if(t<0||t>6)throw new Error("[Player]: player's wanted level ranges from 0 to 6");return c.__inject__.setWantedLevel(this.id,t)}getWantedLevel(){return c.__inject__.getWantedLevel(this.id)}setFacingAngle(t){return c.__inject__.setFacingAngle(this.id,t)}getFacingAngle(){return c.__inject__.getFacingAngle(this.id)}setWeather(t){if(t<0||t>255)throw new Error("[Player]: The valid weather value is only 0 to 255");return c.__inject__.setWeather(this.id,t)}getWeather(){return c.__inject__.getWeather(this.id)}setTime(t,i){if(t<0||t>23)throw new Error("[Player]: The valid hour value is only 0 to 23");if(i<0||i>59)throw new Error("[Player]: The valid minute value is only 0 to 59");return c.__inject__.setTime(this.id,t,i)}getTime(){return c.__inject__.getTime(this.id)}removeBuilding(t,i,a,r,n){return c.__inject__.removeBuilding(this.id,t,i,a,r,n)}setTeam(t){t<0||t>l.NO_TEAM||c.__inject__.setTeam(this.id,t)}getTeam(){return c.__inject__.getTeam(this.id)}setSkillLevel(t,i){if(i<0||i>999)throw new Error("[Player]: The valid skill level is only 0 to 999");return c.__inject__.setSkillLevel(this.id,t,i)}getName(){return c.__inject__.getName(this)}setName(t){return c.__inject__.setName(this,t)}setVelocity(t,i,a){return c.__inject__.setVelocity(this.id,t,i,a)}getVelocity(){return c.__inject__.getVelocity(this.id)}getSpeed(t=180){if(this.id===-1)return 0;const{x:i,y:a,z:r}=this.getVelocity();return pt(i,a,r)*t}getKeys(){return c.__inject__.getKeys(this.id)}getIp(){return c.__inject__.getIp(this.id)}getFightingStyle(){return c.__inject__.getFightingStyle(this.id)}setFightingStyle(t){return c.__inject__.setFightingStyle(this.id,t)}setArmour(t){return c.__inject__.setArmour(this.id,t)}getArmour(){return c.__inject__.getArmour(this.id)}setCameraBehind(){return c.__inject__.setCameraBehind(this.id)}setCameraPos(t,i,a){return c.__inject__.setCameraPos(this.id,t,i,a)}setCameraLookAt(t,i,a,r=Ze.CUT){return c.__inject__.setCameraLookAt(this.id,t,i,a,r)}getCameraAspectRatio(){return c.__inject__.getCameraAspectRatio(this.id)}getCameraFrontVector(){return c.__inject__.getCameraFrontVector(this.id)}getCameraMode(){return c.__inject__.getCameraMode(this.id)}getCameraPos(){return c.__inject__.getCameraPos(this.id)}getCameraTargetPlayer(){const t=c.__inject__.getCameraTargetPlayer(this.id);return c.getInstances().find(i=>i.id===t)}getCameraTargetVehicle(){const t=c.__inject__.getCameraTargetVehicle(this.id);return[..._e.values()].find(i=>i.id===t)}getCameraZoom(){return c.__inject__.getCameraZoom(this.id)}playAudioStream(t,i=0,a=0,r=0,n=5){let s=!1;return(i!==0||a!==0||r!==0)&&(s=!0),c.__inject__.playAudioStream(this.id,t,i,a,r,n,s)}stopAudioStream(){return c.__inject__.stopAudioStream(this.id)}playSound(t,i=0,a=0,r=0){return c.__inject__.playSound(this.id,t,i,a,r)}static getMaxPlayers(){return c.__inject__.getMaxPlayers()}playCrimeReport(t,i){if(i<3||i>22)throw new Error("[Player]: Available crime ids range from 3 to 22");return c.__inject__.playCrimeReport(this.id,t.id,i)}interpolateCameraPos(t,i,a,r,n,s,o,_=Ze.CUT){return c.__inject__.interpolateCameraPos(this.id,t,i,a,r,n,s,o,_)}interpolateCameraLookAt(t,i,a,r,n,s,o,_=Ze.CUT){return c.__inject__.interpolateCameraLookAt(this.id,t,i,a,r,n,s,o,_)}createExplosion(t,i,a,r,n){if(r<0||r>13)throw new Error("[Player]: The valid explosion type value is only 0 to 13");return c.__inject__.createExplosion(this.id,t,i,a,r,n)}static isConnected(t){return c.__inject__.isConnected(t)}isConnected(){return c.isConnected(this.id)}disableRemoteVehicleCollisions(t){return c.__inject__.disableRemoteVehicleCollisions(this.id,t)}getVehicle(){if(!this.isInAnyVehicle())return;const t=c.__inject__.getVehicleID(this.id);return[..._e.values()].find(i=>i.id===t)}getVehicleSeat(){return c.__inject__.getVehicleSeat(this.id)}getSurfingVehicle(){const t=c.__inject__.getSurfingVehicleID(this.id);if(t!==l.VEHICLE_ID)return[..._e.values()].find(i=>i.id===t)}applyAnimation(t,i,a=4.1,r=!1,n=!0,s=!0,o=!1,_=0,d=!1){if(!St(t,i))throw new Error(`[Player]: Invalid anim library or name ${t} ${i}`);return c.__inject__.applyAnimation(this.id,t,i,a,r,n,s,o,_,+d)}clearAnimations(t=!1){return c.__inject__.clearAnimations(this.id,t)}getAnimationIndex(){return c.__inject__.getAnimationIndex(this.id)}getAnimationName(t=this.getAnimationIndex()){const[i,a]=c.__inject__.getAnimationName(t);return{index:t,animLib:i,animName:a}}setShopName(t){return c.__inject__.setShopName(this.id,t)}setPosFindZ(t,i,a){return c.__inject__.setPosFindZ(this.id,t,i,a)}setWorldBounds(t,i,a,r){return c.__inject__.setWorldBounds(this.id,t,i,a,r)}clearWorldBounds(){return c.__inject__.clearWorldBounds(this.id)}setChatBubble(t,i,a,r,n=this.charset){return c.__inject__.setChatBubble(this.id,t,i,a,r,n)}getDistanceFromPoint(t,i,a){return c.__inject__.getDistanceFromPoint(this.id,t,i,a)}getCustomSkin(){return c.__inject__.getCustomSkin(this.id)}getTargetPlayer(){const t=c.__inject__.getTargetPlayer(this.id);if(t!==l.PLAYER_ID)return c.getInstances().find(i=>i.id===t)}getLastShotVectors(){return c.__inject__.getLastShotVectors(this.id)}getWeapon(){return c.__inject__.getWeapon(this.id)}getWeaponData(t){return c.__inject__.getWeaponData(this.id,t)}getWeaponState(){return c.__inject__.getWeaponState(this.id)}giveWeapon(t,i){return c.__inject__.giveWeapon(this.id,t,i)}setAmmo(t,i){return c.__inject__.setAmmo(this.id,t,i)}getAmmo(){return c.__inject__.getAmmo(this.id)}setArmedWeapon(t){return c.__inject__.setArmedWeapon(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(l.PLAYER_ID,l.PLAYER_ID,gt.CONNECT)}sendDeathMessage(t,i){return c.__inject__.sendDeathMessage(t===l.PLAYER_ID?t:t.id,this.id,i)}sendDeathMessageToPlayer(t,i,a){return c.__inject__.sendDeathMessageToPlayer(this.id,t===l.PLAYER_ID?t:t.id,i===l.PLAYER_ID?i:i.id,a)}setSpawnInfo(t,i,a,r,n,s,o,_,d,h,g,I){return t<0||t>l.NO_TEAM||i<0||i>311||i===74||_<0||h<0||I<0?!1:c.__inject__.setSpawnInfo(this.id,t,i,a,r,n,s,o,_,d,h,g,I)}redirectDownload(t){return c.__inject__.redirectDownload(this.id,t)}sendClientCheck(t,i,a,r){const n=[2,5,69,70,71,72];if(!n.includes(t))throw new Error(`[Player]: sendClientCheck valid types are ${n.toString()}`);return new Promise((s,o)=>{if(this.isPaused)return o("[Player]: An attempt to check player client response, but player paused game");const _="[Player]: An attempt to check player client response timed out",d=this.getPing(),h=(d>=200?0:d)+200;let g=null;const I=Fi(({player:C,actionId:y,memAddr:b,data:j,next:X})=>(C!==this||(g&&(clearTimeout(g),g=null),s({actionId:y,memAddr:b,data:j})),X()));g=setTimeout(()=>{I(),o(_)},h),c.__inject__.sendClientCheck(this.id,t,i,a,r)})}selectTextDraw(t){c.__inject__.selectTextDraw(this.id,t)}cancelSelectTextDraw(){c.__inject__.cancelSelectTextDraw(this.id)}beginObjectSelecting(){return c.__inject__.beginObjectSelecting(this.id)}endObjectEditing(){return c.__inject__.endObjectEditing(this.id)}getSurfingObject(){const t=c.__inject__.getSurfingObjectID(this.id);if(t!==l.OBJECT_ID)return S.getInstance(t)}getSurfingPlayerObject(){const t=c.__inject__.getSurfingPlayerObjectID(this.id);if(t!==l.OBJECT_ID)return S.getInstance(t,this)}isAttachedObjectSlotUsed(t){return c.__inject__.isAttachedObjectSlotUsed(this.id,t)}editAttachedObject(t){return c.__inject__.editAttachedObject(this.id,t)}setAttachedObject(t,i,a,r=0,n=0,s=0,o=0,_=0,d=0,h=1,g=1,I=1,C=0,y=0){return this.isAttachedObjectSlotUsed(t)?0:c.__inject__.setAttachedObject(this.id,t,i,a,r,n,s,o,_,d,h,g,I,C,y)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?c.__inject__.removeAttachedObject(this.id,t):!1}getAnimationFlags(){return samp.callNative("GetPlayerAnimationFlags","i",this.id)}getLastSyncedTrailerID(){return samp.callNative("GetPlayerLastSyncedTrailerID","i",this.id)}getLastSyncedVehicleID(){return samp.callNative("GetPlayerLastSyncedVehicleID","i",this.id)}toggleWidescreen(t){return c.__inject__.toggleWidescreen(this.id,t)}isWidescreenToggled(){return c.__inject__.isWidescreenToggled(this.id)}getSpawnInfo(){return c.__inject__.getSpawnInfo(this.id)}getSkillLevel(t){return c.__inject__.getSkillLevel(this.id,t)}isCheckpointActive(){return c.__inject__.isCheckpointActive(this.id)}getCheckpoint(){return c.__inject__.getCheckpoint(this.id)}isRaceCheckpointActive(){return c.__inject__.isRaceCheckpointActive(this.id)}getRaceCheckpoint(){return c.__inject__.getRaceCheckpoint(this.id)}getWorldBounds(){return c.__inject__.getWorldBounds(this.id)}isInModShop(){return c.__inject__.isInModShop(this.id)}getSirenState(){return c.__inject__.getSirenState(this.id)}getLandingGearState(){return c.__inject__.getLandingGearState(this.id)}getHydraReactorAngle(){return c.__inject__.getHydraReactorAngle(this.id)}getTrainSpeed(){return c.__inject__.getTrainSpeed(this.id)}getZAim(){return c.__inject__.getZAim(this.id)}getSurfingOffsets(){return c.__inject__.getSurfingOffsets(this.id)}getRotationQuat(){return c.__inject__.getRotationQuat(this.id)}getDialogID(){return c.__inject__.getDialogID(this.id)}getSpectateID(){return c.__inject__.getSpectateID(this.id)}getSpectateType(){return c.__inject__.getSpectateType(this.id)}getRawIp(){return c.__inject__.getRawIp(this.id)}setGravity(t){return c.__inject__.setGravity(this.id,t)}getGravity(){return c.__inject__.getGravity(this.id)}setAdmin(t){return c.__inject__.setAdmin(this.id,t)}isSpawned(){return c.__inject__.isSpawned(this.id)}isControllable(){return c.__inject__.isControllable(this.id)}isCameraTargetEnabled(){return c.__inject__.isCameraTargetEnabled(this.id)}toggleGhostMode(t){return c.__inject__.toggleGhostMode(this.id,t)}getGhostMode(){return c.__inject__.getGhostMode(this.id)}getBuildingsRemoved(){return c.__inject__.getBuildingsRemoved(this.id)}getAttachedObject(t){return c.__inject__.getAttachedObject(this.id,t)}removeWeapon(t){return c.__inject__.removeWeapon(this.id,t)}isUsingOfficialClient(){return c.__inject__.isUsingOfficialClient(this.id)}allowWeapons(t){return c.__inject__.allowWeapons(this.id,t)}areWeaponsAllowed(){return c.__inject__.areWeaponsAllowed(this.id)}gpci(t=this.charset){return c.__inject__.gpci(this.id,t)}isCuffed(){return c.__inject__.isCuffed(this.id)}isInDriveByMode(){return c.__inject__.isInDriveByMode(this.id)}isAndroid(){return this.isConnected()&&this[V].isAndroid}isPC(){return this.isConnected()&&!this[V].isAndroid}isUsingOmp(){return c.__inject__.isUsingOmp(this.id)}simulateCommand(t){return te.simulate(this,t)}static getInstance(t){return oe.get(t)}static getInstances(){return[...oe.values()]}static __inject__={sendClientMessage:vi,sendClientMessageToAll:gI,sendMessageToPlayer:bi,sendMessageToAll:mI,banEx:II,getName:PI,setName:pI,setChatBubble:vI,isNpc:Io,getDrunkLevel:Ho,setDrunkLevel:Uo,allowTeleport:co,isTeleportAllowed:ho,enableCameraTarget:cc,enableStuntBonus:k_,getInterior:bo,setInterior:vo,showNameTag:tc,setColor:Wo,getColor:Ko,setMapIcon:ic,removeMapIcon:ac,setMarker:q_,getMarker:ec,resetMoney:qo,getMoney:e_,giveMoney:Qo,resetWeapons:zo,spawn:fl,setHealth:Lo,getHealth:wo,toggleClock:l_,toggleControllable:L_,toggleSpectating:K_,spectatePlayer:X_,spectateVehicle:Z_,forceClassSelection:__,kick:bl,ban:Ll,isAdmin:Tl,isInRangeOfPoint:No,isStreamedIn:To,setSkin:Xo,getSkin:Zo,isInAnyVehicle:J_,getSpecialAction:j_,setSpecialAction:F_,setScore:ko,getScore:xo,getPing:i_,setPos:So,getPos:Co,getState:t_,getVersion:xl,setVirtualWorld:B_,getVirtualWorld:V_,removeFromVehicle:b_,setWantedLevel:c_,getWantedLevel:d_,setFacingAngle:Eo,getFacingAngle:Ao,setWeather:o_,getWeather:Kl,setTime:n_,getTime:s_,removeBuilding:A_,setTeam:Bo,getTeam:Vo,setSkillLevel:S_,setVelocity:g_,getVelocity:m_,getKeys:r_,getIp:kl,getFightingStyle:u_,setFightingStyle:h_,setArmour:Ro,getArmour:Oo,setCameraBehind:sc,setCameraPos:rc,setCameraLookAt:nc,getCameraAspectRatio:gc,getCameraFrontVector:oc,getCameraMode:_c,getCameraPos:lc,getCameraTargetPlayer:uc,getCameraTargetVehicle:hc,getCameraZoom:mc,playAudioStream:P_,stopAudioStream:p_,playSound:w_,getMaxPlayers:Bs,playCrimeReport:f_,interpolateCameraPos:pc,interpolateCameraLookAt:Ic,createExplosion:H_,isConnected:Y_,disableRemoteVehicleCollisions:M_,getVehicleID:T_,getVehicleSeat:v_,getSurfingVehicleID:y_,applyAnimation:R_,clearAnimations:O_,getAnimationIndex:G_,getAnimationName:al,setShopName:I_,setPosFindZ:yo,setWorldBounds:$_,clearWorldBounds:Q_,getDistanceFromPoint:Do,getCustomSkin:x_,getTargetPlayer:Mo,getLastShotVectors:N_,getWeapon:a_,getWeaponData:$o,getWeaponState:Fo,giveWeapon:Yo,setAmmo:Go,getAmmo:jo,setArmedWeapon:Jo,sendDeathMessage:Ms,sendDeathMessageToPlayer:Po,setSpawnInfo:ml,redirectDownload:fp,sendClientCheck:Fl,selectTextDraw:zf,cancelSelectTextDraw:Jf,beginObjectSelecting:dp,endObjectEditing:Ni,getSurfingObjectID:C_,getSurfingPlayerObjectID:E_,isAttachedObjectSlotUsed:Cp,editAttachedObject:$P,setAttachedObject:Sp,removeAttachedObject:yp,toggleWidescreen:Hl,isWidescreenToggled:Ul,getSpawnInfo:Pl,getSkillLevel:Wl,isCheckpointActive:Si,getCheckpoint:yi,isRaceCheckpointActive:Ci,getRaceCheckpoint:Ei,getWorldBounds:Xl,isInModShop:wg,getSirenState:Rg,getLandingGearState:Og,getHydraReactorAngle:Gg,getTrainSpeed:jg,getZAim:Zl,getSurfingOffsets:Yl,getRotationQuat:zl,getDialogID:Jl,getSpectateID:$l,getSpectateType:Ql,getRawIp:Vl,setGravity:ql,getGravity:eo,setAdmin:vl,isSpawned:to,isControllable:io,isCameraTargetEnabled:ao,toggleGhostMode:ro,getGhostMode:no,getBuildingsRemoved:so,getAttachedObject:Ip,removeWeapon:lo,isUsingOfficialClient:_o,allowWeapons:uo,areWeaponsAllowed:go,gpci:jl,isCuffed:Sc,isInDriveByMode:yc,isUsingOmp:Cc}}const[Mi]=m({name:"OnDialogResponseI18n",identifier:"iiiiai",defaultValue:!1,beforeEach(e,t,i,a,r){const n=c.getInstance(e),s=E.decodeFromBuf(r,n.charset);return{player:n,dialogId:t,response:i,listItem:a,buffer:r,inputText:s}}});Mi(({next:e,player:t,dialogId:i,response:a,listItem:r,buffer:n,inputText:s})=>{const o=U.waitingQueue.get(t);return!o||o.showId!==i||o.resolve({response:a,listItem:r,buffer:n,inputText:s}),e()});class U{_id=-1;static showingIds=[];static maxDialogId=32767;dialog;static waitingQueue=new WeakMap;constructor(t={style:ct.MSGBOX,caption:"",info:"",button1:"",button2:""}){this.dialog=t}get style(){return this.dialog.style}set style(t){this.dialog.style=t}get caption(){return this.dialog.caption}set caption(t){this.dialog.caption=t}get info(){return this.dialog.info}set info(t){this.dialog.info=t}get button1(){return this.dialog.button1}set button1(t){this.dialog.button1=t}get button2(){return this.dialog.button2}set button2(t){this.dialog.button2=t}static delDialogTask(t,i=!1){const a=U.waitingQueue.get(t);if(!a)return!1;i&&a.reject("[Dialog]: player timeout does not respond or second request show dialog"),U.waitingQueue.delete(t);const r=U.showingIds.indexOf(a.showId);return r>-1&&U.showingIds.splice(r,1),!0}show(t){return new Promise((i,a)=>{for(U.close(t);this._id===-1||U.showingIds.includes(this._id);){if(U.showingIds.length>=U.maxDialogId){this._id=-1;break}this._id=Math.floor(Math.random()*(U.maxDialogId+1))}if(this._id===-1){a("[Dialog]: Unable to create dialog");return}U.showingIds.push(this._id),U.waitingQueue.set(t,{resolve:i,reject:a,showId:this._id}),U.__inject__.show(t,this._id,this.dialog)}).catch(i=>Promise.reject(i)).finally(()=>U.delDialogTask(t))}static close(t){U.delDialogTask(t,!0),U.__inject__.hide(t.id)}static __inject__={show:fI,hide:oo}}const[Bi]=m({name:"OnPlayerConnect",identifier:"i",beforeEach(e){const t=new c(e);return oe.set(e,t),U.close(t),{player:t}}}),[Vi]=m({name:"OnPlayerDisconnect",identifier:"ii",beforeEach(e,t){return{player:oe.get(e),reason:t}},afterEach({player:e}){oe.delete(e.id)}}),[ki]=m({name:"OnPlayerUpdate",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[gS]=m({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const i=c.getInstance(e);return{player:i,text:E.decodeFromBuf(t,i.charset),buffer:t}}}),[mS]=m({name:"OnPlayerEnterExitModShop",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),enterExit:t,interior:i}}}),[fS]=m({name:"OnPlayerClickMap",identifier:"ifff",defaultValue:!1,beforeEach(e,t,i,a){return{player:c.getInstance(e),fX:t,fY:i,fZ:a}}}),[PS]=m({name:"OnPlayerClickPlayer",identifier:"iii",defaultValue:!1,beforeEach(e,t,i){return{player:c.getInstance(e),clickedPlayer:c.getInstance(t),source:i}}}),[pS]=m({name:"OnPlayerDeath",identifier:"iii",beforeEach(e,t,i){const a=c.getInstance(t)||l.PLAYER_ID;return{player:c.getInstance(e),killer:a,reason:i}}}),[IS]=m({name:"OnPlayerGiveDamage",identifier:"iiiii",defaultValue:!1,beforeEach(e,t,i,a,r){return{player:c.getInstance(e),damage:c.getInstance(t),amount:i,weapon:a,bodyPart:r}}}),[SS]=m({name:"OnPlayerKeyStateChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newKeys:t,oldKeys:i}}}),[yS]=m({name:"OnPlayerRequestClass",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),classId:t}}}),[CS]=m({name:"OnPlayerRequestSpawn",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[ES]=m({name:"OnPlayerSpawn",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[AS]=m({name:"OnPlayerStateChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newState:t,oldState:i}}}),[NS]=m({name:"OnPlayerStreamIn",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),forPlayer:c.getInstance(t)}}}),[DS]=m({name:"OnPlayerStreamOut",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),forPlayer:c.getInstance(t)}}}),[TS]=m({name:"OnPlayerTakeDamage",identifier:"iiiii",defaultValue:!1,beforeEach(e,t,i,a,r){const n=c.getInstance(t)||l.PLAYER_ID;return{player:c.getInstance(e),damage:n,amount:i,weapon:a,bodyPart:r}}}),[vS]=m({name:"OnPlayerInteriorChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newInteriorId:t,oldInteriorId:i}}}),[bS]=m({name:"OnPlayerRequestDownload",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),type:t,crc:i}}}),[LS]=m({name:"OnPlayerFinishedDownloading",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),virtualWorld:t}}}),[wS]=m({name:"OnPlayerWeaponShot",identifier:"iiiifff",beforeEach(e,t,i,a,r,n,s){return{player:c.getInstance(e),weapon:t,hitType:i,hitId:a,fX:r,fY:n,fZ:s}}});let et=null;const q=new Map,xe=new Map;function xi(e){if(!e.isConnected()){q.has(e)&&(clearInterval(q.get(e)),q.delete(e),xe.delete(e));return}let t=xe.get(e)||1;if(t>=c.MAX_CHECK_ANDROID_DELAY){clearInterval(q.get(e)),q.delete(e),xe.delete(e),Et(e,!0);return}e.sendClientCheck(72,0,0,2).then(({actionId:i})=>{i===72&&(e[V].isAndroid=!1,q.has(e)&&(clearInterval(q.get(e)),q.delete(e),xe.delete(e)),Et(e,!1))}).catch(()=>{}),t++,xe.set(e,t)}const[RS,OS]=m({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[GS,jS]=m({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,i,a){return{player:e,pausedAt:t,now:i,diff:a}}}),[FS,MS]=m({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,i){return{player:e,newFps:t,oldFps:i}}}),[BS,Et]=m({name:"OnAndroidCheck",isNative:!1,beforeEach(e,t){return{player:e,result:t}}});Bi(({player:e,next:t})=>{if(!et&&c.getInstances().length&&(et=setInterval(()=>{c.getInstances().filter(a=>{const r=a.getState()!==Ye.NONE;return!a.isPaused&&!a.isNpc()&&r}).forEach(a=>{Date.now()-a.lastUpdateTick>1e3&&(a[V].isPaused=!0,OS(a,a.lastUpdateTick))})},500)),e.isNpc())return e[V].isAndroid=!1,t();if(c.SKIP_CHECK_ANDROID)return e[V].isAndroid=!e.isUsingOfficialClient(),Et(e,e[V].isAndroid),t();xi(e);const i=setInterval(()=>xi(e),1e3);return q.set(e,i),t()}),Vi(({player:e,next:t})=>(et&&c.getInstances().length<=1&&(clearInterval(et),et=null),q.has(e)&&(clearInterval(q.get(e)),q.delete(e),xe.delete(e)),t()));function VS(e){if(!c.isConnected(e.id))return;const t=Date.now();if(t-e.lastUpdateFpsTick>=1e3){const i=e.getDrunkLevel();if(i<100){e.setDrunkLevel(2e3),e[V].lastDrunkLevel=2e3,e[V].lastFps=0;return}e[V].lastUpdateFpsTick=t;const a=e.lastFps,r=e.lastDrunkLevel-i-1;e[V].lastFps=r,e[V].lastDrunkLevel=i,MS(e,r,a)}}ki(({player:e,next:t})=>{if(!e.isNpc()){const i=Date.now();e.isPaused&&(e[V].isPaused=!1,jS(e,e.lastUpdateTick,i,i-e.lastUpdateTick)),e[V].lastUpdateTick=i,VS(e)}return t()});const At=Object.freeze({onConnect:Bi,onDisconnect:Vi,onPause:RS,onResume:GS,onUpdate:ki,onText:gS,onEnterExitModShop:mS,onClickMap:fS,onClickPlayer:PS,onDeath:pS,onGiveDamage:IS,onKeyStateChange:SS,onRequestClass:yS,onRequestSpawn:CS,onSpawn:ES,onStateChange:AS,onStreamIn:NS,onStreamOut:DS,onTakeDamage:TS,onInteriorChange:vS,onRequestDownload:bS,onFinishedDownloading:LS,onCheckResponse:Fi,onCommandReceived:KI,onCommandPerformed:ZI,onCommandError:zI,onCommandText:te.on,offCommandText:te.off,onDialogResponse:Mi,onLocaleChange:cS,onCharsetChange:hS,onFpsUpdate:FS,onWeaponShot:wS,onAndroidCheck:BS,onCommandTextRaw:QI}),kS=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],xS=[[13,18,19,20,21,24],[1,3,4,5,6,7,13,17,19,20,142,143,144,145],[],[],[0,2,7,13,16,17,19,20,21],[0,1,14,18,19,20,21,23],[],[],[],[],[1,3,7,13,17,19,20,21,23,24],[],[],[],[],[1,3,7,17,18,19,23],[],[],[2,6,16,20,21],[],[1,3,4,5,19,21],[0,14,16,18,19,20,21,23],[7,13,17,19,20,21],[],[],[],[1,3,4,5,6,19,21],[],[],[],null,[],[],[],[],[],[1,3,6,7,13,17,19,20,21,22],[],[],[1,3,7,13,17,23,142,143,144,145],[],[],[],[],[],[],null,[],null,null,[],[],null,null,null,[],[],[],[],[],[],null,null,null,[],[],[],[],null,[],[],[],null,null,[],[],[],[6,7,17,18,19,20,21],[4,5,12,13,20,21,22,24],[],[],null,[],[],null,[],[],[],[],[0,2,4,5,6,13,16,18,19,20,24],[],[3,7,14,17,18,19,20,21,23,142,143,144,145],[0,4,5,6,16],null,[],[],[1,2,3,6,7,11,17,19,20,23,142,143],[],[],[],[13,19,20,21,24],[],[],[],[],[],[],[],[],null,null,[],[],[],[],[],[0,2,4,7,15,16,17,18,19,20,21],[2,3,7,16,17,18,19,20,23,142,143,144,145],[1,3,5,6,7,13,17,18,20,23,142,143,144,145],[],[],null,null,null,[],[],[],[1,7,14,15,17,18,20,21],[],[1,3,6,7,11,12,17,18,19,20,23],[],[],[],[],[100,101,106,122,123,124,125,126,127,178,179,180,185],[109,110,113,114,115,116,117,118,119,120,121],[103,104,105,107,108,128,181,182,183,184],null,null,[],[1,4,6,7,17,18,19,20,23,24,142,143,144,145],[],[14,15,18,19,20,21,144,145],[],[],[],[1,2,4,6,7,17,18,19,23,24,142,143,144,145],[0,3,16,18,19,20,21,142,143],[],[1,3,7,11,12,17,18,19,20,23,142,143,144,145],[1,3,4,5,6,18,19,20,23,142,143,144,145],[2,3,5,6,16,18,19,20,21,23],[],[],[],[],[],[],[88,89,90,91,92,93,94,95,163,164,165,166,167,168],[65,66,67,68,69,70,71,72,158,159,160,161,162,173],[26,27,28,29,30,31,32,33,138,139,140,141,169,170],[55,56,57,58,59,60,61,62,63,64,154,155,156,157],[34,35,36,37,38,39,40,41,146,147,148,149,171,172],[],[],[45,46,47,48,49,50,51,52,53,54,150,151,152,153],[],[102,129,130,131,132,133,186,187,188,189],[],null,null,[],[],[],[],[42,43,44,99,174,175,176,177],[134,135,136,137,190,191,192,193],[],[],[],[1,6,7,17,18,20,23],null,[],[],[],[0,1,2,3,6,7,13,14,15,16,17,18,19,20,21,22,23,24,142,143,144,145],null,[],[],[0,4,5,6,7,13,16,17,18,20,24,144,145],null,[],[],[],[],null,[],[],[],[],[4,5,6,7,13,17,18,20,22],[],[],[1,6,7,17,18,19,20,23,24,142,143,144,145],[],[],[],[],[],[],[],[]],HS=(e,t)=>{if(!Nt(e))return!1;const i=xS[e-400];if(i===null)return!1;const a=t-1e3;return kS.includes(a)||i.includes(a)},Nt=e=>e>=400&&e<=611,US=(e,t)=>{if(t<0||t>2)return!1;const i=new Map([[483,0],[534,2],[535,2],[536,2],[558,2],[559,2],[560,2],[561,2],[562,2],[565,2],[567,2],[575,1],[576,2]]).get(e);return typeof i>"u"?!1:t<=i};class p{sourceInfo=null;isStatic=!1;static createdCount=0;_id=l.VEHICLE_ID;get id(){return this._id}constructor(t,i=!1){if(typeof t=="number"){const a=p.getInstance(t);if(a)return a;this._id=t,_e.set(this._id,this),this.isValid()&&p.createdCount++}else this.sourceInfo=t,this.isStatic=i}create(t=!1){if(this.id!==l.VEHICLE_ID)throw new Error("[Vehicle]: Unable to create again");if(!this.sourceInfo)throw new Error("[Vehicle]: Unable to create with only id");const{modelId:i,x:a,y:r,z:n,zAngle:s,color:o,respawnDelay:_,addSiren:d}=this.sourceInfo;if(!(!t&&!Nt(i))){if(this.isStatic){if(typeof _>"u"){this._id=p.__inject__.addStatic(i,a,r,n,s,o[0],o[1]);return}this._id=p.__inject__.addStaticEx(i,a,r,n,s,o[0],o[1],_||-1,d||!1)}else this._id=p.__inject__.create(i,a,r,n,s,o[0],o[1],_||-1,d||!1);if(this._id===l.VEHICLE_ID||p.createdCount===H.MAX_VEHICLES)throw new Error("[Vehicle]: Unable to create vehicle");p.createdCount++,_e.set(this._id,this)}}destroy(){if(this.id===l.VEHICLE_ID&&!D.skip)throw new Error("[Vehicle]: Unable to destroy the vehicle before create");D.skip||p.__inject__.destroy(this._id),p.createdCount--,_e.delete(this._id),this._id=l.VEHICLE_ID,p.getInstances().length||(p.createdCount=0)}addComponent(t){if(this.id===l.VEHICLE_ID)return 0;if(!HS(this.getModel(),t))throw new Error(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`);return p.__inject__.addComponent(this.id,t)}removeComponent(t){if(this.getComponentInSlot(p.getComponentType(t))===0)throw new Error(`[Vehicle]: component id ${t} does not exist on this vehicle`);return p.__inject__.removeComponent(this.id,t)}getComponentInSlot(t){return p.__inject__.getComponentInSlot(this.id,t)}linkToInterior(t){return this.id===l.VEHICLE_ID?0:p.__inject__.linkToInterior(this.id,t)}setVirtualWorld(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setVirtualWorld(this.id,t)}getVirtualWorld(){return this.id===l.VEHICLE_ID?0:p.__inject__.getVirtualWorld(this.id)}repair(){return this.id===l.VEHICLE_ID?0:p.__inject__.repair(this.id)}setPos(t,i,a){return this.id===l.VEHICLE_ID?!1:p.__inject__.setPos(this.id,t,i,a)}getPos(){return p.__inject__.getPos(this.id)}getHealth(){return p.__inject__.getHealth(this.id)}setHealth(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setHealth(this.id,t)}isPlayerIn(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.isPlayerIn(t.id,this.id)}putPlayerIn(t,i){if(this.id===l.VEHICLE_ID||i<0)return 0;if(i>4)throw new Error("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle.");return p.__inject__.putPlayerIn(t.id,this.id,i)}getZAngle(){return p.__inject__.getZAngle(this.id)}setZAngle(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setZAngle(this.id,t)}setNumberPlate(t){if(this.id===l.VEHICLE_ID)return 0;if(t.length<1||t.length>32)throw new Error("[Vehicle]: The length of the number plate ranges up to 32 characters");if(!/^[a-zA-Z0-9]+$/.test(t))throw new Error("[Vehicle]: number plates only allow letters and numbers");return p.__inject__.setNumberPlate(this.id,t)}changeColors(t,i){return this.id===l.VEHICLE_ID?0:p.__inject__.changeColors(this.id,t,i)}setVelocity(t,i,a){return this.id===l.VEHICLE_ID?!1:p.__inject__.setVelocity(this.id,t,i,a)}getVelocity(){return p.__inject__.getVelocity(this.id)}getSpeed(t=180){if(this.id===l.VEHICLE_ID)return 0;const{x:i,y:a,z:r}=this.getVelocity();return pt(i,a,r)*t}setAngularVelocity(t,i,a){return this.id===l.VEHICLE_ID?!1:p.__inject__.setAngularVelocity(this.id,t,i,a)}getDamageStatus(){return p.__inject__.getDamageStatus(this.id)}updateDamageStatus(t,i,a,r){return p.__inject__.updateDamageStatus(this.id,t,i,a,r)}getDistanceFromPoint(t,i,a){return p.__inject__.getDistanceFromPoint(this.id,t,i,a)}getModel(){return p.__inject__.getModel(this.id)}static getModelInfo(t,i){return p.__inject__.getModelInfo(t,i)}getModelInfo(t){return p.getModelInfo(this.getModel(),t)}getRotation(){return p.__inject__.getRotation(this.id)}getRotationQuat(){return p.__inject__.getRotationQuat(this.id)}setRespawn(){return this.id===l.VEHICLE_ID?0:p.__inject__.setRespawn(this.id)}isStreamedIn(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.isStreamedIn(this.id,t.id)}setParamsCarDoors(t,i,a,r){return this.id===l.VEHICLE_ID?0:p.__inject__.setParamsCarDoors(this.id,t,i,a,r)}setParamsCarWindows(t,i,a,r){return this.id===l.VEHICLE_ID?0:p.__inject__.setParamsCarWindows(this.id,t,i,a,r)}getParamsCarDoors(){return p.__inject__.getParamsCarDoors(this.id)}getParamsCarWindows(){return p.__inject__.getParamsCarWindows(this.id)}setParamsEx(t,i,a,r,n,s,o){return this.id===l.VEHICLE_ID?0:p.__inject__.setParamsEx(this.id,t,i,a,r,n,s,o)}getParamsEx(){if(this.id===l.VEHICLE_ID)return{engine:-1,lights:-1,alarm:-1,doors:-1,bonnet:-1,boot:-1,objective:-1};const[t,i,a,r,n,s,o]=p.__inject__.getParamsEx(this.id);return{engine:t,lights:i,alarm:a,doors:r,bonnet:n,boot:s,objective:o}}toggleEngine(t){if(this.id===l.VEHICLE_ID)return 0;const{lights:i,alarm:a,doors:r,bonnet:n,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(t,i,a,r,n,s,o)}toggleLights(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,alarm:a,doors:r,bonnet:n,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(i,t,a,r,n,s,o)}toggleAlarm(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,lights:a,doors:r,bonnet:n,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(i,a,t,r,n,s,o)}toggleDoors(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,lights:a,alarm:r,bonnet:n,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(i,a,r,t,n,s,o)}toggleBonnet(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,lights:a,alarm:r,doors:n,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(i,a,r,n,t,s,o)}toggleBoot(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,lights:a,alarm:r,doors:n,bonnet:s,objective:o}=this.getParamsEx();return this.setParamsEx(i,a,r,n,s,t,o)}toggleObjective(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,lights:a,alarm:r,doors:n,bonnet:s,boot:o}=this.getParamsEx();return this.setParamsEx(i,a,r,n,s,o,t)}getParamsSirenState(){return this.id===l.VEHICLE_ID?-2:p.__inject__.getParamsSirenState(this.id)}setParamsForPlayer(t,i,a){return this.id===l.VEHICLE_ID?0:p.__inject__.setParamsForPlayer(this.id,t.id,i,a)}isTrailerAttached(){return this.id===l.VEHICLE_ID?!1:p.__inject__.isTrailerAttached(this.id)}changePaintjob(t){return this.id===l.VEHICLE_ID||!US(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),p.__inject__.changePaintjob(this.id,t),1)}attachTrailer(t){return this.id===l.VEHICLE_ID?0:p.__inject__.attachTrailer(t.id,this.id)}detachTrailer(){this.isTrailerAttached()&&p.__inject__.detachTrailer(this.id)}getTrailer(){return p.getInstance(dg(this.id))}isValid(){return D.skip&&this.id!==l.VEHICLE_ID?!0:p.isValid(this.id)}getMatrix(){return p.__inject__.getMatrix(this.id)}getTrainSpeed(){return this.id===l.VEHICLE_ID?0:p.__inject__.getTrainSpeed(this.id)}getHydraReactorAngle(){return this.id===l.VEHICLE_ID?0:p.__inject__.getHydraReactorAngle(this.id)}getLandingGearState(){return this.id===l.VEHICLE_ID?0:p.__inject__.getLandingGearState(this.id)}getSirenState(){return this.id===l.VEHICLE_ID?0:p.__inject__.getSirenState(this.id)}getDriver(){return oe.get(Ii(this.id))}getLastDriver(){return oe.get(pi(this.id))}isSirenEnabled(){return p.__inject__.isSirenEnabled(this.id)}toggleSirenEnabled(t){return this.id===l.VEHICLE_ID?0:p.__inject__.toggleSirenEnabled(this.id,t)}setParamsSirenState(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setParamsSirenState(this.id,t)}isDead(){return this.id===l.VEHICLE_ID?!0:p.__inject__.isDead(this.id)}setDead(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.setDead(this.id,t)}setBeenOccupied(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.setBeenOccupied(this.id,t)}getRespawnTick(){return this.id===l.VEHICLE_ID?0:p.__inject__.getRespawnTick(this.id)}setRespawnTick(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.setRespawnTick(this.id,t)}isOccupied(){return this.id===l.VEHICLE_ID?!1:p.__inject__.isOccupied(this.id)}hasBeenOccupied(){return this.id===l.VEHICLE_ID?!1:p.__inject__.hasBeenOccupied(this.id)}getOccupiedTick(){return this.id===l.VEHICLE_ID?0:p.__inject__.getOccupiedTick(this.id)}setOccupiedTick(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setOccupiedTick(this.id,t)}getCab(){return this.id===l.VEHICLE_ID?0:p.__inject__.getCab(this.id)}getRespawnDelay(){return this.id===l.VEHICLE_ID?0:p.__inject__.getRespawnDelay(this.id)}setRespawnDelay(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setRespawnDelay(this.id,t)}getNumberPlate(){return p.__inject__.getNumberPlate(this.id)}getInterior(){return this.id===l.VEHICLE_ID?0:p.__inject__.getInterior(this.id)}getPaintjob(){return this.id===l.VEHICLE_ID?l.VEHICLE_ID:p.__inject__.getPaintjob(this.id)}getColors(){return p.__inject__.getColors(this.id)}setSpawnInfo(t,i,a,r,n,s,o,_=-2,d=-2,h=!1){return this.id===l.VEHICLE_ID||!h&&!Nt(t)?0:p.__inject__.setSpawnInfo(this.id,t,i,a,r,n,N(s),N(o),_,d)}getSpawnInfo(){return p.__inject__.getSpawnInfo(this.id)}getRandomColorPair(){return p.__inject__.getRandomColorPair(this.getModel())}show(){return this.id===l.VEHICLE_ID?!1:p.__inject__.show(this.id)}hide(){return this.id===l.VEHICLE_ID?!1:p.__inject__.hide(this.id)}isHidden(){return this.id===l.VEHICLE_ID?!1:p.__inject__.isHidden(this.id)}getOccupant(t){return p.__inject__.getOccupant(this.id,t)}getMaxPassengers(){return p.__inject__.getMaxPassengers(this.getModel())}countOccupants(){return p.__inject__.countOccupants(this.getModel())}static getMaxPassengers(t){return p.__inject__.getMaxPassengers(t)}static getRandomColorPair(t){return p.__inject__.getRandomColorPair(t)}static getComponentType(t){return p.__inject__.getComponentType(t)}static colorIndexToColor(t,i=255){return p.__inject__.colorIndexToColor(t,i)}static isValid(t){return p.__inject__.isValid(t)}static getModelsUsed(){return p.__inject__.getModelsUsed()}static getModelCount(t){return p.__inject__.getModelCount(t)}static getInstance(t){return _e.get(t)}static getInstances(){return[..._e.values()]}static __inject__={addStatic:Dg,addStaticEx:Tg,create:ju,destroy:Fu,addComponent:ig,removeComponent:ag,getComponentInSlot:gg,linkToInterior:tg,setVirtualWorld:Eg,getVirtualWorld:Ag,repair:fg,setPos:Vu,getPos:Bu,getHealth:lg,setHealth:sg,isPlayerIn:z_,putPlayerIn:D_,getZAngle:ku,setZAngle:Wu,setNumberPlate:hg,changeColors:rg,setVelocity:pg,getVelocity:Pg,setAngularVelocity:Ig,getDamageStatus:Sg,updateDamageStatus:yg,getDistanceFromPoint:Uu,getModel:ug,getModelInfo:Cg,getRotation:xu,getRotationQuat:Hu,setRespawn:eg,isStreamedIn:Mu,setParamsCarDoors:Ju,setParamsCarWindows:Qu,getParamsCarDoors:$u,getParamsCarWindows:qu,setParamsEx:Zu,getParamsEx:Yu,getParamsSirenState:zu,setParamsForPlayer:Ku,isTrailerAttached:cg,changePaintjob:ng,attachTrailer:og,detachTrailer:_g,getMatrix:Ru,getTrainSpeed:wu,getHydraReactorAngle:Lu,getLandingGearState:bu,getSirenState:vu,getDriver:Ii,getLastDriver:pi,isSirenEnabled:Nu,toggleSirenEnabled:Eu,setParamsSirenState:Au,isDead:Su,setDead:yu,setBeenOccupied:Cu,getRespawnTick:pu,setRespawnTick:Iu,isOccupied:Pu,hasBeenOccupied:fu,getOccupiedTick:gu,setOccupiedTick:mu,getCab:uu,getRespawnDelay:hu,setRespawnDelay:du,getNumberPlate:cu,getInterior:_u,getPaintjob:ou,getColors:lu,setSpawnInfo:su,getSpawnInfo:nu,getRandomColorPair:Ou,show:vg,hide:bg,isHidden:Lg,getOccupant:Fg,getMaxPassengers:Mg,countOccupants:Bg,getComponentType:mg,colorIndexToColor:Gu,isValid:Ng,getModelsUsed:Tu,getModelCount:Du}}x.onExit(({next:e})=>(p.getInstances().forEach(t=>t.destroy()),_e.clear(),e()));const[WS]=m({name:"OnVehicleDamageStatusUpdate",identifier:"ii",defaultValue:!1,beforeEach(e,t){return{vehicle:p.getInstance(e),player:c.getInstance(t)}}}),[KS]=m({name:"OnVehicleDeath",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),killer:c.getInstance(t)}}}),[XS]=m({name:"OnVehicleMod",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),componentId:i}}}),[ZS]=m({name:"OnVehiclePaintjob",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),paintjobId:i}}}),[YS]=m({name:"OnVehicleRespray",identifier:"iiii",beforeEach(e,t,i,a){return{player:c.getInstance(e),vehicle:p.getInstance(t),color:[i,a]}}}),[zS]=m({name:"OnVehicleSirenStateChange",identifier:"iii",defaultValue:!1,beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),state:!!i}}}),[JS]=m({name:"OnVehicleSpawn",identifier:"i",beforeEach(e){return{vehicle:p.getInstance(e)}}}),[$S]=m({name:"OnVehicleStreamIn",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),forPlayer:c.getInstance(t)}}}),[QS]=m({name:"OnVehicleStreamOut",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),forPlayer:c.getInstance(t)}}}),[qS]=m({name:"OnPlayerEnterVehicle",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),isPassenger:!!i}}}),[ey]=m({name:"OnPlayerExitVehicle",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),vehicle:p.getInstance(t)}}}),[ty]=m({name:"OnTrailerUpdate",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),vehicle:p.getInstance(t)}}}),[iy]=m({name:"OnUnoccupiedVehicleUpdate",identifier:"iiiffffff",beforeEach(e,t,i,a,r,n,s,o,_){return{vehicle:p.getInstance(e),player:c.getInstance(t),passengerSeat:i,newX:a,newY:r,newZ:n,velX:s,velY:o,velZ:_}}}),ay=Object.freeze({onDamageStatusUpdate:WS,onDeath:KS,onMod:XS,onPaintjob:ZS,onRespray:YS,onSirenStateChange:zS,onSpawn:JS,onStreamIn:$S,onStreamOut:QS,onPlayerEnter:qS,onPlayerExit:ey,onTrailerUpdate:ty,onUnoccupiedUpdate:iy}),[Te]=m({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,i){return{type:e,id:t,forPlayer:c.getInstance(i)}}}),[ve]=m({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,i){return{type:e,id:t,forPlayer:c.getInstance(i)}}}),[ry]=m({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class A{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getTickRate=In;static setTickRate=Sn;static getPlayerTickRate(t){return yn(t.id)}static setPlayerTickRate(t,i=50){return Cn(t.id,i)}static toggleChunkStream=En;static isToggleChunkStream=An;static getChunkTickRate(t,i=-1){return i instanceof c?li(t,i.id):li(t,i)}static setChunkTickRate(t,i,a=-1){return a instanceof c?oi(t,i,a.id):oi(t,i,a)}static getChunkSize=Nn;static setChunkSize=Dn;static getMaxItems=Tn;static setMaxItems=vn;static getVisibleItems(t,i=-1){return i instanceof c?_i(t,i.id):_i(t,i)}static setVisibleItems(t,i,a=-1){return a instanceof c?ci(t,i,a.id):ci(t,i,a)}static getRadiusMultiplier(t,i=-1){return i instanceof c?di(t,i.id):di(t,i)}static setRadiusMultiplier(t,i,a=-1){return a instanceof c?hi(t,i,a.id):hi(t,i,a)}static getTypePriority=bn;static setTypePriority=Ln;static getCellDistance=wn;static setCellDistance=Rn;static getCellSize=On;static setCellSize=Gn;static toggleItemStatic=jn;static isToggleItemStatic=Fn;static toggleItemInvAreas=Mn;static isToggleItemInvAreas=Bn;static toggleItemCallbacks=Vn;static isToggleItemCallbacks=kn;static toggleErrorCallback=xn;static isToggleErrorCallback=Hn;static amxUnloadDestroyItems=Un;static processActiveItems=Wn;static toggleIdleUpdate(t,i){return Kn(t.id,i)}static isToggleIdleUpdate(t){return Xn(t.id)}static toggleCameraUpdate(t,i){return Zn(t.id,i)}static isToggleCameraUpdate(t){return Yn(t.id)}static toggleItemUpdate(t,i,a){return zn(t.id,i,a)}static isToggleItemUpdate(t,i){return Jn(t.id,i)}static getLastUpdateTime(){return $n()}static update(t,i=-1){return Qn(t.id,i)}static updateEx(t,i,a,r,n,s,o,_,d){return qn(t.id,i,a,r,n,s,o,_,d)}static getDistanceToItem=Er;static toggleItem(t,i,a,r){return Ar(t.id,i,a,r)}static isToggleItem(t,i,a){return Nr(t.id,i,a)}static toggleAllItems(t,i,a,r=[-1]){return Dr(t.id,i,a,r)}static getItemInternalID(t,i,a){return Tr(t.id,i,a)}static getItemStreamerID(t,i,a){return vr(t.id,i,a)}static isItemVisible(t,i,a){return br(t.id,i,a)}static destroyAllVisibleItems(t,i,a=1){return Lr(t.id,i,a)}static countVisibleItems(t,i,a=1){return wr(t.id,i,a)}static destroyAllItems=Rr;static countItems=Or;static getNearbyItems=Gr;static getAllVisibleItems(t,i,a){return jr(t.id,i,a)}static getItemPos=Fr;static setItemPos=Mr;static getItemOffset=Br;static setItemOffset=Vr;static getFloatData=Qa;static setFloatData=qa;static getIntData=er;static setIntData=tr;static getArrayData=ir;static setArrayData=ar;static isInArrayData=rr;static appendArrayData=nr;static removeArrayData=sr;static getArrayDataLength=si;static getUpperBound=lr;static onPluginError=ry}class R{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=R.getInstance(t);if(i)return i;this._id=t,pe.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerObject]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerObject]: Unable to create with only id");let{streamDistance:t,drawDistance:i,worldId:a,interiorId:r,playerId:n,areaId:s,priority:o}=this.sourceInfo;const{modelId:_,x:d,y:h,z:g,rx:I,ry:C,rz:y,extended:b}=this.sourceInfo;return t??=B.OBJECT_SD,i??=B.OBJECT_DD,o??=0,b?(typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=R.__inject__.createEx(_,d,h,g,I,C,y,t,i,a,r,n,s,o)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=R.__inject__.create(_,d,h,g,I,C,y,a,r,n,t,i,s,o)),pe.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerObject]: Unable to destroy object before create");return D.skip||R.__inject__.destroy(this.id),pe.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:R.isValid(this.id)}getModel(){return this.sourceInfo?this.sourceInfo.modelId:A.getIntData(T.OBJECT,this._id,le.MODEL_ID)}getPos(){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot get position before create");return R.__inject__.getPos(this.id)}setPos(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot set position before create");return R.__inject__.setPos(this.id,t,i,a)}getRot(){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot get rotation before create");return R.__inject__.getRot(this.id)}setRot(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot set rotation before create");return R.__inject__.setRot(this.id,t,i,a)}move(t,i,a,r,n=-1e3,s=-1e3,o=-1e3){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot start moving before create");if(r<0)throw new Error("[StreamerObject]: speed must not be less than 0");if(r>120*1e3)throw new Error("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional");return this.isMoving()&&this.stop(),R.__inject__.move(this.id,t,i,a,r,n,s,o)}stop(){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot stop moving before create");return R.__inject__.stop(this.id)}isMoving(){return this.id===P.INVALID_ID?!1:R.__inject__.isMoving(this.id)}attachCamera(t){if(this.id===P.INVALID_ID||t.id===l.PLAYER_ID)throw new Error("[StreamerObject]: Cannot attachCamera before both are created");return R.__inject__.attachCamera(t.id,this.id)}attachToObject(t,i,a,r,n,s,o,_=!0){if(this.id===P.INVALID_ID||t.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot attachToObject before both are created");return R.__inject__.attachToObject(this.id,t.id,i,a,r,n,s,o,_)}attachToPlayer(t,i,a,r,n,s,o){if(this.id===P.INVALID_ID||t.id===l.PLAYER_ID)throw new Error("[StreamerObject]: Cannot attachToPlayer before both are created");return R.__inject__.attachToPlayer(this.id,t.id,i,a,r,n,s,o)}attachToVehicle(t,i,a,r,n,s,o){if(this.id===P.INVALID_ID||t.id===l.VEHICLE_ID)throw new Error("[StreamerObject]: Cannot attachToVehicle before both are created");return R.__inject__.attachToVehicle(this.id,t.id,i,a,r,n,s,o)}edit(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to edit before create");return t.endObjectEditing(),R.__inject__.edit(t.id,this.id)}isMaterialUsed(t){return this.id===P.INVALID_ID?!1:R.__inject__.isMaterialUsed(this.id,t)}removeMaterial(t){return this.id===P.INVALID_ID||!this.isMaterialUsed(t)?0:R.__inject__.removeMaterial(this.id,t)}getMaterial(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to get material before create");return R.__inject__.getMaterial(this.id,t)}setMaterial(t,i,a,r,n="#000"){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to set material before create");return R.__inject__.setMaterial(this.id,t,i,a,r,N(n))}isMaterialTextUsed(t){return this.id===P.INVALID_ID?!1:R.__inject__.isMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.id===P.INVALID_ID||!this.isMaterialTextUsed(t)?0:R.__inject__.removeMaterialText(this.id,t)}getMaterialText(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to get material text before create");return R.__inject__.getMaterialText(this.id,t,this.sourceInfo?.charset||"utf8")}setMaterialText(t=this.sourceInfo?.charset,i,a,r=nt.SIZE_256x128,n="Arial",s=24,o=1,_="#fff",d="#000",h=0){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to set material text before create");return this.sourceInfo&&(this.sourceInfo.charset=t),R.__inject__.setMaterialText(t||"utf8",this.id,i,a,r,n,s,o,N(_),N(d),h)}getPlayerCameraTarget(t){const i=R.__inject__.getPlayerCameraTarget(t.id);if(i!==P.INVALID_ID)return pe.get(i)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to toggle callbacks before create");return A.toggleItemCallbacks(T.OBJECT,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:A.isToggleItemCallbacks(T.OBJECT,this.id)}setNoCameraCollision(){return R.__inject__.setNoCameraCol(this.id)}getNoCameraCollision(){return R.__inject__.getNoCameraCol(this.id)}static isValid=Hr;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.OBJECT,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return pe.get(t)}static getInstances(){return[...pe.values()]}static __inject__={createEx:dr,create:kr,destroy:xr,getPos:Ur,setPos:Wr,getRot:Kr,setRot:Xr,move:Zr,stop:Yr,isMoving:zr,attachCamera:Jr,attachToObject:$r,attachToPlayer:Qr,attachToVehicle:qr,edit:en,isMaterialUsed:tn,removeMaterial:an,getMaterial:DI,setMaterial:rn,isMaterialTextUsed:nn,removeMaterialText:sn,getMaterialText:TI,setMaterialText:NI,getPlayerCameraTarget:ln,setNoCameraCol:on,getNoCameraCol:_n}}x.onExit(({next:e})=>(R.getInstances().forEach(t=>t.destroy()),pe.clear(),e()));const[ny,sy]=m({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[ly,oy]=m({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.OBJECT?sy(i,R.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.OBJECT?oy(i,R.getInstance(t)):a());const[_y]=m({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:R.getInstance(e)}}}),[cy]=m({name:"OnPlayerEditDynamicObject",identifier:"iiiffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_){return{player:c.getInstance(e),object:R.getInstance(t),response:i,x:a,y:r,z:n,rX:s,rY:o,rZ:_}}}),[dy]=m({name:"OnPlayerSelectDynamicObject",identifier:"iiifff",beforeEach(e,t,i,a,r,n){return{player:c.getInstance(e),object:R.getInstance(t),modelId:i,x:a,y:r,z:n}}}),[hy]=m({name:"OnPlayerShootDynamicObject",identifier:"iiifff",beforeEach(e,t,i,a,r,n){return{player:c.getInstance(e),object:R.getInstance(i),weapon:t,x:a,y:r,z:n}}}),uy=Object.freeze({onMoved:_y,onPlayerEdit:cy,onPlayerSelect:dy,onPlayerShoot:hy,onStreamIn:ny,onStreamOut:ly});class ne{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=ne.getInstance(t);if(i)return i;this._id=t,ye.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerMapIcon]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerMapIcon]: Unable to create with only id");let{style:t,streamDistance:i,worldId:a,interiorId:r,playerId:n,areaId:s,priority:o}=this.sourceInfo;const{x:_,y:d,z:h,type:g,color:I,extended:C}=this.sourceInfo;if(g<0||g>63)throw new Error("[StreamerMapIcon]: Invalid map icon type");return t??=lt.LOCAL,i??=B.MAP_ICON_SD,o??=0,C?(typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=ne.__inject__.createEx(_,d,h,g,N(I),t,i,a,r,n,s,o),ye.set(this._id,this),this):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=ne.__inject__.create(_,d,h,g,N(I),a,r,n,i,t,s,o),ye.set(this._id,this),this)}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerMapIcon]: Unable to destroy the map icon before create");return D.skip||ne.__inject__.destroy(this.id),ye.delete(this._id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:ne.isValid(this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerMapIcon]: Unable to toggle callbacks before create");return A.toggleItemCallbacks(T.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:A.isToggleItemCallbacks(T.MAP_ICON,this.id)}static isValid=cr;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.MAP_ICON,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return ye.get(t)}static getInstances(){return[...ye.values()]}static __inject__={createEx:mr,create:or,destroy:_r}}x.onExit(({next:e})=>(ne.getInstances().forEach(t=>t.destroy()),ye.clear(),e()));const[gy,my]=m({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[fy,Py]=m({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.MAP_ICON?my(i,ne.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.MAP_ICON?Py(i,ne.getInstance(t)):a());const py=Object.freeze({onStreamIn:gy,onStreamOut:fy});class ie{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=ie.getInstance(t);if(i)return i;this._id=t,Me.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerPickup]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerPickup]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:r,areaId:n,priority:s}=this.sourceInfo;const{type:o,modelId:_,x:d,y:h,z:g,extended:I}=this.sourceInfo;if(o<0)throw new Error("[StreamerPickup]: Invalid pickup type");return t??=B.PICKUP_SD,s??=0,I?(typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],this._id=ie.__inject__.createEx(_,o,d,h,g,t,i,a,r,n,s)):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,this._id=ie.__inject__.create(_,o,d,h,g,i,a,r,t,n,s)),Me.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerPickup]: Unable to destroy pickup before create");return D.skip||ie.__inject__.destroy(this.id),Me.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:ie.isValid(this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerPickup]: Unable to toggle callbacks before create");return A.toggleItemCallbacks(T.PICKUP,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:A.isToggleItemCallbacks(T.PICKUP,this.id)}static isValid=hn;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.PICKUP,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Me.get(t)}static getInstances(){return[...Me.values()]}static __inject__={create:cn,createEx:hr,destroy:dn}}x.onExit(({next:e})=>(ie.getInstances().forEach(t=>t.destroy()),Me.clear(),e()));const[Iy,Sy]=m({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[yy,Cy]=m({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.PICKUP?Sy(i,ie.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.PICKUP?Cy(i,ie.getInstance(t)):a());const[Ey]=m({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:ie.getInstance(t)}}}),Ay=Object.freeze({onPlayerPickUp:Ey,onStreamIn:Iy,onStreamOut:yy});class W{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=W.getInstance(t);if(i)return i;this._id=t,Se.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerCheckpoint]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerCheckpoint]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:r,areaId:n,priority:s}=this.sourceInfo;const{size:o,x:_,y:d,z:h,extended:g}=this.sourceInfo;if(o<0)throw new Error("[StreamerCheckpoint]: Invalid checkpoint size");return t??=B.CP_SD,s??=0,g?(typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],this._id=W.__inject__.createEx(_,d,h,o,t,i,a,r,n,s)):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,this._id=W.__inject__.create(_,d,h,o,i,a,r,t,n,s)),Se.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerCheckpoint]: Unable to destroy the checkpoint before create");return D.skip||W.__inject__.destroy(this.id),Se.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:W.isValid(this.id)}togglePlayer(t,i){if(this.id===P.INVALID_ID)throw new Error("[StreamerCheckpoint]: Unable to toggle the player before create");return W.__inject__.togglePlayer(t.id,this.id,i),this}isPlayerIn(t){return this.id===P.INVALID_ID?!1:W.__inject__.isPlayerIn(t.id,this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerCheckpoint]: Unable to toggle callbacks before create");return A.toggleItemCallbacks(T.CP,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:A.isToggleItemCallbacks(T.CP,this.id)}static isValid=mt;static togglePlayerAll(t,i){return W.__inject__.togglePlayerAll(t.id,i)}static getPlayerVisible(t){return Se.get(W.__inject__.getPlayerVisible(t.id))}static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.CP,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Se.get(t)}static getInstances(){return[...Se.values()]}static __inject__={create:Xa,createEx:ur,destroy:Za,getPlayerVisible:$a,isPlayerIn:Ja,togglePlayerAll:za,togglePlayer:Ya}}x.onExit(({next:e})=>(W.getInstances().forEach(t=>t.destroy()),Se.clear(),e()));const[Ny,Dy]=m({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Ty,vy]=m({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.CP?Dy(i,W.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.CP?vy(i,W.getInstance(t)):a());const[by]=m({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),cp:W.getInstance(t)}}}),[Ly]=m({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),cp:W.getInstance(t)}}}),wy=Object.freeze({onPlayerEnter:by,onPlayerLeave:Ly,onStreamIn:Ny,onStreamOut:Ty});class K{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=K.getInstance(t);if(i)return i;this._id=t,Ce.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerRaceCP]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerRaceCP]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:r,areaId:n,priority:s}=this.sourceInfo;const{type:o,size:_,x:d,y:h,z:g,nextX:I,nextY:C,nextZ:y,extended:b}=this.sourceInfo;if(o<0||o>8)throw new Error("[StreamerRaceCP]: Invalid type");if(_<0)throw new Error("[StreamerRaceCP]: Invalid size");return t??=B.RACE_CP_SD,s??=0,b?(typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],this._id=K.__inject__.createEx(o,d,h,g,I,C,y,_,t,i,a,r,n,s)):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,this._id=K.__inject__.create(o,d,h,g,I,C,y,_,i,a,r,t,n,s)),Ce.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerRaceCP]: Unable to destroy the checkpoint before create");return D.skip||K.__inject__.destroy(this.id),Ce.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:K.isValid(this.id)}togglePlayer(t,i){if(this.id===P.INVALID_ID)throw new Error("[StreamerRaceCP]: Unable to toggle player before create");return K.__inject__.togglePlayer(t.id,this.id,i),this}static togglePlayerAll(t,i){return K.__inject__.togglePlayerAll(t.id,i)}isPlayerIn(t){return this.id===P.INVALID_ID?!1:K.__inject__.isPlayerIn(t.id,this.id)}static getPlayerVisible(t){return Ce.get(K.__inject__.getPlayerVisible(t.id))}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerRaceCP]: Unable to toggle callbacks before create");return A.toggleItemCallbacks(T.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:A.isToggleItemCallbacks(T.RACE_CP,this.id)}static isValid=mt;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.RACE_CP,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Ce.get(t)}static getInstances(){return[...Ce.values()]}static __inject__={create:un,createEx:gr,destroy:gn,getPlayerVisible:pn,isPlayerIn:Pn,isValid:mt,togglePlayerAll:fn,togglePlayer:mn}}x.onExit(({next:e})=>(K.getInstances().forEach(t=>t.destroy()),Ce.clear(),e()));const[Ry,Oy]=m({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Gy,jy]=m({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.RACE_CP?Oy(i,K.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.RACE_CP?jy(i,K.getInstance(t)):a());const[Fy]=m({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),raceCP:K.getInstance(t)}}}),[My]=m({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),raceCp:K.getInstance(t)}}}),By=Object.freeze({onPlayerEnter:Fy,onPlayerLeave:My,onStreamIn:Ry,onStreamOut:Gy});class G{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=G.getInstance(t);if(i)return i;this._id=t,ue.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerActor]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerActor]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:r,areaId:n,priority:s}=this.sourceInfo;const{modelId:o,x:_,y:d,z:h,r:g,invulnerable:I,health:C,extended:y}=this.sourceInfo;return t??=B.ACTOR_SD,s??=0,y?(typeof i=="number"?i=[0]:i??=[0],typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],this._id=G.__inject__.createEx(o,_,d,h,g,I,C,t,i,a,r,n,s)):(Array.isArray(i)?i=0:i??=0,Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,this._id=G.__inject__.create(o,_,d,h,g,I,C,i,a,r,t,n,s)),ue.set(this.id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerActor]: Unable to destroy to actor before create");return D.skip||G.__inject__.destroy(this.id),ue.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:G.isValid(this.id)}isStreamedIn(t){return this.id===P.INVALID_ID?!1:G.__inject__.isStreamedIn(this.id,t.id)}getVirtualWorld(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to get virtual world before create");return G.__inject__.getVirtualWorld(this.id)}setVirtualWorld(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to set virtual world before create");return G.__inject__.setVirtualWorld(this.id,t)}applyAnimation(t,i,a=4.1,r=!1,n=!0,s=!0,o=!1,_=0){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to apply animation before create");if(!St(t,i))throw new Error(`[StreamerActor]: Invalid anim library or name ${t} ${i}`);return G.__inject__.applyAnimation(this.id,t,i,a,r,n,s,o,_)}clearAnimations(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to clear animation before create");return G.__inject__.clearAnimations(this.id)}getFacingAngle(){return G.__inject__.getFacingAngle(this.id)}setFacingAngle(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to set facing angle before create");return G.__inject__.setFacingAngle(this.id,t)}getPos(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to get pos before create");return G.__inject__.getPos(this.id)}setPos(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to set pos before create");return G.__inject__.setPos(this.id,t,i,a)}getHealth(){return G.__inject__.getHealth(this.id)}setHealth(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to set health before create");return G.__inject__.setHealth(this.id,t)}isInvulnerable(){return this.id===P.INVALID_ID?!1:G.__inject__.isInvulnerable(this.id)}setInvulnerable(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to set invulnerable before create");return G.__inject__.setInvulnerable(this.id,t)}getPlayerTarget(t){const i=G.__inject__.getPlayerTarget(t.id);return ue.get(i)}getPlayerCameraTarget(t){const i=G.__inject__.getPlayerCameraTarget(t.id);return ue.get(i)}getAnimation(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to get animation before create");return G.__inject__.getAnimation(this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to toggle callbacks before create");return A.toggleItemCallbacks(T.ACTOR,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:A.isToggleItemCallbacks(T.ACTOR,this.id)}static isValid=aa;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.ACTOR,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return ue.get(t)}static getInstances(){return[...ue.values()]}static __inject__={createEx:Cr,create:ta,destroy:ia,getPlayerTarget:Pa,getPlayerCameraTarget:pa,isStreamedIn:ra,getVirtualWorld:na,setVirtualWorld:sa,applyAnimation:la,clearAnimations:oa,getFacingAngle:_a,setFacingAngle:ca,getPos:da,setPos:ha,getHealth:ua,setHealth:ga,isInvulnerable:fa,setInvulnerable:ma,getAnimation:Ia}}x.onExit(({next:e})=>(G.getInstances().forEach(t=>t.destroy()),ue.clear(),e()));const[Vy]=m({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:G.getInstance(e),forPlayer:c.getInstance(t)}}}),[ky]=m({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:G.getInstance(e),forPlayer:c.getInstance(t)}}}),[xy]=m({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",defaultValue:!1,beforeEach(e,t,i,a,r){return{player:c.getInstance(e),actor:G.getInstance(t),amount:i,weapon:a,bodyPart:r}}}),Hy=Object.freeze({onStreamIn:Vy,onStreamOut:ky,onPlayerGiveDamage:xy});class ee{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=ee.getInstance(t);if(i)return i;this._id=t,Fe.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Unable to create again");if(!this.sourceInfo)throw new Error("[Streamer3DTextLabel]: Unable to create with only id");let{attachedPlayer:t,attachedVehicle:i,testLOS:a,streamDistance:r,worldId:n,interiorId:s,playerId:o,areaId:_,priority:d}=this.sourceInfo;const{charset:h,text:g,color:I,drawDistance:C,x:y,y:b,z:j,extended:X}=this.sourceInfo;return t??=l.PLAYER_ID,i??=l.VEHICLE_ID,r??=B.TEXT_3D_LABEL_SD,a??=!1,d??=0,X?(typeof n=="number"?n=[-1]:n??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof o=="number"?o=[-1]:o??=[-1],typeof _=="number"?_=[-1]:_??=[-1],this._id=ee.__inject__.createEx(g,N(I),y,b,j,C,t,i,a,r,n,s,o,_,d,h||"utf8")):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(o)?o=-1:o??=-1,Array.isArray(_)?_=-1:_??=-1,this._id=ee.__inject__.create(h||"utf8",g,N(I),y,b,j,C,t,i,a,n,s,o,r,_,d)),Fe.set(this.id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[Streamer3DTextLabel]: Unable to destroy before create");return D.skip||ee.__inject__.destroy(this.id),Fe.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:ee.isValid(this.id)}getColor(){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Unable to get color before create");return this.sourceInfo?this.sourceInfo.color:A.getIntData(T.TEXT_3D_LABEL,this._id,le.COLOR)}getCharset(){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Unable to get charset before create");return this.sourceInfo?.charset}getText(){return ee.__inject__.getText(this.id,this.sourceInfo?.charset||"utf8")}updateText(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Unable to update text before create");let r="";return this.sourceInfo&&(r=a||this.sourceInfo.charset||"utf8",this.sourceInfo.charset=r),ee.__inject__.updateText(this.id,N(t),i,r)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Unable to toggle callbacks before create");return A.toggleItemCallbacks(T.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:A.isToggleItemCallbacks(T.TEXT_3D_LABEL,this.id)}setOffsets(t,i,a){if(this.id===P.INVALID_ID)return 0;const r=A.setFloatData(T.TEXT_3D_LABEL,this.id,le.ATTACH_OFFSET_X,t);return A.setFloatData(T.TEXT_3D_LABEL,this.id,le.ATTACH_OFFSET_Y,i),A.setFloatData(T.TEXT_3D_LABEL,this.id,le.ATTACH_OFFSET_Z,a),this.sourceInfo&&(this.sourceInfo.x=t,this.sourceInfo.y=i,this.sourceInfo.z=a),r}attachToPlayer(t,i,a,r){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot attachToPlayer before created");const n=typeof t=="number"?t:t.id,s=A.setIntData(T.TEXT_3D_LABEL,this.id,le.ATTACHED_PLAYER,n);return n!==l.PLAYER_ID&&this.setOffsets(i,a,r),this.sourceInfo&&(this.sourceInfo.attachedPlayer=n),s}attachToVehicle(t,i,a,r){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot attachToVehicle before created");const n=typeof t=="number"?t:t.id,s=A.setIntData(T.TEXT_3D_LABEL,this.id,le.ATTACHED_VEHICLE,n);return n!==l.VEHICLE_ID&&this.setOffsets(i,a,r),this.sourceInfo&&(this.sourceInfo.attachedVehicle=n),s}static isValid=ti;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.TEXT_3D_LABEL,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Fe.get(t)}static getInstances(){return[...Fe.values()]}static __inject__={create:yI,createEx:CI,getText:AI,updateText:EI,destroy:ea,isValid:ti}}x.onExit(({next:e})=>(ee.getInstances().forEach(t=>t.destroy()),Fe.clear(),e()));const[Uy,Wy]=m({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Ky,Xy]=m({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.TEXT_3D_LABEL?Wy(i,ee.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.TEXT_3D_LABEL?Xy(i,ee.getInstance(t)):a());const Zy=Object.freeze({onStreamIn:Uy,onStreamOut:Ky});class v{sourceInfo=null;_id=P.INVALID_ID;get type(){return this.sourceInfo?.type??void 0}get id(){return this._id}constructor(t){if(typeof t=="number"){const i=v.getInstance(t);if(i)return i;this._id=t,Ie.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerArea]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerArea]: Unable to create with only id");let{worldId:t,interiorId:i,playerId:a,priority:r}=this.sourceInfo;r??=0;const{type:n,extended:s}=this.sourceInfo;if(s)if(typeof t=="number"?t=[-1]:t??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],n==="circle"){const{x:o,y:_,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid circle extend size");this._id=v.__inject__.createCircleEx(o,_,d,t,i,a,r)}else if(n==="cuboid"){const{minX:o,minY:_,minZ:d,maxX:h,maxY:g,maxZ:I}=this.sourceInfo;this._id=v.__inject__.createCuboidEx(o,_,d,h,g,I,t,i,a,r)}else if(n==="cylinder"){const{x:o,y:_,minZ:d,maxZ:h,size:g}=this.sourceInfo;if(g<0)throw new Error("[StreamerArea]: Invalid cylinder extend size");this._id=v.__inject__.createCylinderEx(o,_,d,h,g,t,i,a,r)}else if(n==="polygon"){const{points:o,minZ:_,maxZ:d}=this.sourceInfo;if(o.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=v.__inject__.createPolygonEx(o,_,d,t,i,a,r)}else if(n==="rectangle"){const{minX:o,minY:_,maxX:d,maxY:h}=this.sourceInfo;this._id=v.__inject__.createRectangleEx(o,_,d,h,t,i,a,r)}else{const{x:o,y:_,z:d,size:h}=this.sourceInfo;if(h<0)throw new Error("[StreamerArea]: Invalid sphere extended size");this._id=v.__inject__.createSphereEx(o,_,d,h,t,i,a,r)}else if(Array.isArray(t)?t=-1:t??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,n==="circle"){const{x:o,y:_,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid circle size");this._id=v.__inject__.createCircle(o,_,d,t,i,a,r)}else if(n==="cuboid"){const{minX:o,minY:_,minZ:d,maxX:h,maxY:g,maxZ:I}=this.sourceInfo;this._id=v.__inject__.createCuboid(o,_,d,h,g,I,t,i,a,r)}else if(n==="cylinder"){const{x:o,y:_,minZ:d,maxZ:h,size:g}=this.sourceInfo;if(g<0)throw new Error("[StreamerArea]: Invalid cylinder size");this._id=v.__inject__.createCylinder(o,_,d,h,g,t,i,a,r)}else if(n==="polygon"){const{points:o,minZ:_,maxZ:d}=this.sourceInfo;if(o.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=v.__inject__.createPolygon(o,_,d,t,i,a,r)}else if(n==="rectangle"){const{minX:o,minY:_,maxX:d,maxY:h}=this.sourceInfo;this._id=v.__inject__.createRectangle(o,_,d,h,t,i,a,r)}else{const{x:o,y:_,z:d,size:h}=this.sourceInfo;if(h<0)throw new Error("[StreamerArea]: Invalid sphere size");this._id=v.__inject__.createSphere(o,_,d,h,t,i,a,r)}return Ie.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerArea]: Unable to destroy the area before create");return D.skip||v.__inject__.destroy(this.id),Ie.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:v.isValid(this.id)}getType(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerArea]: Unable to get type before create");return v.__inject__.getType(this.id)}getPolygonPoints(){return v.__inject__.getPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerArea]: Unable to getPolygonNumberPoints number before create");if(this.type!=="polygon")throw new Error("[StreamerArea]: getPolygonNumberPoints invalid area type");return v.__inject__.getPolygonNumberPoints(this.id)}isPlayerIn(t,i=!1){return this.id===P.INVALID_ID?!1:v.__inject__.isPlayerIn(t.id,this.id,i)}static isPlayerInAny(t,i=!1){return v.__inject__.isPlayerInAny(t.id,i)}isAnyPlayerIn(t=!1){return this.id===P.INVALID_ID?!1:v.__inject__.isAnyPlayerIn(this.id,t)}static isAnyPlayerInAny(t=!1){return v.__inject__.isAnyPlayerInAny(t)}static getPlayerAreas(t){return v.getPlayerAreasNumber(t)?v.__inject__.getPlayerAreas(t.id).areas.map(i=>Ie.get(i)):[]}static getPlayerAreasNumber(t){return v.__inject__.getPlayerAreasNumber(t.id)}isPointIn(t,i,a){return this.id===P.INVALID_ID?!1:v.__inject__.isPointIn(this.id,t,i,a)}static isPointInAny(t,i,a){return v.__inject__.isPointInAny(t,i,a)}isLineIn(t,i,a,r,n,s){return this.id===P.INVALID_ID?!1:v.__inject__.isLineIn(this.id,t,i,a,r,n,s)}static isLineInAny(t,i,a,r,n,s){return v.__inject__.isLineInAny(t,i,a,r,n,s)}static getForPoint(t,i,a){return v.getNumberForPoint(t,i,a)?v.__inject__.getForPoint(t,i,a).areas.map(r=>v.getInstance(r)).filter(Boolean):[]}static getNumberForPoint(t,i,a){return v.__inject__.getNumberForPoint(t,i,a)}static getForLine(t,i,a,r,n,s){return v.getNumberForLine(t,i,a,r,n,s)?v.__inject__.getForLine(t,i,a,r,n,s).areas.map(o=>v.getInstance(o)).filter(Boolean):[]}static getNumberForLine(t,i,a,r,n,s){return v.__inject__.getNumberForLine(t,i,a,r,n,s)}attachToObject(t,i=0,a=0,r=0){if(this.id===P.INVALID_ID||t.id===P.INVALID_ID)throw new Error("[StreamerArea]: Unable to toggle attach to object before create");return v.__inject__.attachToObject(this.id,t.id,rt.DYNAMIC,l.PLAYER_ID,i,a,r)}attachToPlayer(t,i=0,a=0,r=0){if(this.id===P.INVALID_ID||t.id===l.PLAYER_ID)throw new Error("[StreamerArea]: Unable to toggle attach to player before create");return v.__inject__.attachToPlayer(this.id,t.id,i,a,r)}attachToVehicle(t,i=0,a=0,r=0){if(this.id===P.INVALID_ID||t.id===l.VEHICLE_ID)throw new Error("[StreamerArea]: Unable to toggle attach to vehicle before create");return v.__inject__.attachToVehicle(this.id,t.id,i,a,r)}toggleSpectateMode(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerArea]: Unable to toggle spectate mode before create");return v.__inject__.toggleSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===P.INVALID_ID?!1:v.__inject__.isToggleSpectateMode(this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerArea]: Unable to toggle callbacks before create");return A.toggleItemCallbacks(T.AREA,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:A.isToggleItemCallbacks(T.AREA,this.id)}static isValid=Ta;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.AREA,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Ie.get(t)}static getInstances(){return[...Ie.values()]}static __inject__={createCircleEx:fr,createCuboidEx:Sr,createCylinderEx:Pr,createPolygonEx:yr,createRectangleEx:Ir,createSphereEx:pr,createCircle:Sa,createCuboid:Aa,createCylinder:ya,createPolygon:Na,createRectangle:Ea,createSphere:Ca,destroy:Da,getType:va,getPolygonPoints:ba,getPolygonNumberPoints:ii,isPlayerIn:La,isPlayerInAny:wa,isAnyPlayerIn:Ra,isAnyPlayerInAny:Oa,getPlayerAreas:Ga,getPlayerAreasNumber:ai,isPointIn:ja,isPointInAny:Fa,isLineIn:Ma,isLineInAny:Ba,getForPoint:Va,getNumberForPoint:ri,getForLine:ka,getNumberForLine:ni,attachToObject:xa,attachToPlayer:Ha,attachToVehicle:Ua,toggleSpectateMode:Wa,isToggleSpectateMode:Ka}}x.onExit(({next:e})=>(v.getInstances().forEach(t=>t.destroy()),Ie.clear(),e()));const[Yy,zy]=m({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Jy,$y]=m({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.AREA?zy(i,v.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.AREA?$y(i,v.getInstance(t)):a());const[Qy]=m({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),area:v.getInstance(t)}}}),[qy]=m({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),area:v.getInstance(t)}}}),eC=Object.freeze({onStreamIn:Yy,onStreamOut:Jy,onPlayerEnter:Qy,onPlayerLeave:qy});class u{_id=l.NPC_ID;_name="";get id(){return this._id}constructor(t){if(typeof t=="string"&&(this._name=t),typeof t=="number"){this._id=t;const i=u.getInstance(this._id);if(i)return i;fe.set(this._id,this)}return this}create(){if(this.id!==l.NPC_ID)throw new Error("[Npc]: Unable to create again");return this._id=u.__inject__.create(this._name),this._id!==l.NPC_ID&&(this.getPlayer()||new c(this._id),fe.set(this._id,this)),this}destroy(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to destroy before create");return D.skip||u.__inject__.destroy(this._id),fe.delete(this._id),this._id=l.NPC_ID,this}getPlayer(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getPlayer before create");return c.getInstance(this._id)}getName(){if(this._id===l.NPC_ID)throw new Error("[Npc]: Unable to getName before create");return this._name?this._name:this.getPlayer().getName().name}isValid(){return this.id===l.NPC_ID?!1:D.skip&&this._id!==l.NPC_ID?!0:u.isValid(this._id)}spawn(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to spawn before create");return u.__inject__.spawn(this._id),this}respawn(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to respawn before create");return u.__inject__.respawn(this._id),this}setPos(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setPos before create");return u.__inject__.setPos(this._id,t,i,a),this}setRot(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setRot before create");return u.__inject__.setRot(this._id,t,i,a),this}getRot(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getRot before create");return u.__inject__.getRot(this._id)}setFacingAngle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setFacingAngle before create");return u.__inject__.setFacingAngle(this._id,t),this}getFacingAngle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getFacingAngle before create");return u.__inject__.getFacingAngle(this._id)}setVirtualWorld(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVirtualWorld before create");return u.__inject__.setVirtualWorld(this._id,t),this}getVirtualWorld(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getVirtualWorld before create");return u.__inject__.getVirtualWorld(this._id)}move(t,i,a,r,n=Re.AUTO){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to move before create");return u.__inject__.move(this._id,t,i,a,r,n)}moveToPlayer(t,i,a=Re.AUTO){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to moveToPlayer before create");return u.__inject__.moveToPlayer(this._id,t.id,i,a)}stopMove(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to stopMove before create");return u.__inject__.stopMove(this._id),this}isMoving(){return this.id===l.NPC_ID?!1:u.__inject__.isMoving(this._id)}isMovingToPlayer(t){return this.id===l.NPC_ID?!1:u.__inject__.isMovingToPlayer(this._id,t.id)}setSkin(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSkin before create");return u.__inject__.setSkin(this._id,t),this}getSkin(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getSkin before create");return u.__inject__.getSkin(this._id)}isStreamedIn(t){return this.id===l.NPC_ID?!1:u.__inject__.isStreamedIn(this._id,t.id)}isAnyStreamedIn(){return this.id===l.NPC_ID?!1:u.__inject__.isAnyStreamedIn(this._id)}setInterior(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setInterior before create");return u.__inject__.setInterior(this._id,t),this}getInterior(){return this.id===l.NPC_ID?0:u.__inject__.getInterior(this._id)}setHealth(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setHealth before create");return u.__inject__.setHealth(this._id,t),this}getHealth(){return this.id===l.NPC_ID?0:u.__inject__.getHealth(this._id)}setArmour(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setArmour before create");return u.__inject__.setArmour(this._id,t),this}getArmour(){return this.id===l.NPC_ID?0:u.__inject__.getArmour(this._id)}isDead(){return this.id===l.NPC_ID?!1:u.__inject__.isDead(this._id)}applyAnimation(t,i,a,r,n,s,o,_,d){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to applyAnimation before create");return u.__inject__.applyAnimation(this._id,t,i,a,r,n,s,o,_,d),this}setWeapon(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeapon before create");return u.__inject__.setWeapon(this._id,t),this}getWeapon(){return this.id===l.NPC_ID?0:u.__inject__.getWeapon(this._id)}setAmmo(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setAmmo before create");return u.__inject__.setAmmo(this._id,t),this}getAmmo(){return this.id===l.NPC_ID?0:u.__inject__.getAmmo(this._id)}setKeys(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setKeys before create");return u.__inject__.setKeys(this._id,t,i,a),this}getKeys(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getKeys before create");return u.__inject__.getKeys(this._id)}setWeaponSkillLevel(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponSkillLevel before create");return u.__inject__.setWeaponSkillLevel(this._id,t,i),this}getWeaponSkillLevel(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getWeaponSkillLevel before create");return u.__inject__.getWeaponSkillLevel(this._id,t)}meleeAttack(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to meleeAttack before create");return u.__inject__.meleeAttack(this._id,t,i),this}stopMeleeAttack(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to stopMeleeAttack before create");return u.__inject__.stopMeleeAttack(this._id),this}isMeleeAttacking(){return this.id===l.NPC_ID?!1:u.__inject__.isMeleeAttacking(this._id)}setFightingStyle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setFightingStyle before create");return u.__inject__.setFightingStyle(this._id,t),this}getFightingStyle(){return this.id===l.NPC_ID?dt.NORMAL:u.__inject__.getFightingStyle(this._id)}enableReloading(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to enableReloading before create");return u.__inject__.enableReloading(this._id,t),this}isReloadEnabled(){return this.id===l.NPC_ID?!1:u.__inject__.isReloadEnabled(this._id)}isReloading(){return this.id===l.NPC_ID?!1:u.__inject__.isReloading(this._id)}enableInfiniteAmmo(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to enableInfiniteAmmo before create");return u.__inject__.enableInfiniteAmmo(this._id,t),this}isInfiniteAmmoEnabled(){return this.id===l.NPC_ID?!1:u.__inject__.isInfiniteAmmoEnabled(this._id)}setWeaponState(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponState before create");return u.__inject__.setWeaponState(this._id,t)}getWeaponState(){return this.id===l.NPC_ID?ut.UNKNOWN:u.__inject__.getWeaponState(this._id)}setAmmoInClip(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setAmmoInClip before create");return u.__inject__.setAmmoInClip(this._id,t),this}getAmmoInClip(){return this.id===l.NPC_ID?0:u.__inject__.getAmmoInClip(this._id)}shoot(t,i,a,r,n,s,o,_,d,h,g=Xe.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to shoot before create");return u.__inject__.shoot(this._id,t,i,a,r,n,s,o,_,d,h,g),this}isShooting(){return this.id===l.NPC_ID?!1:u.__inject__.isShooting(this._id)}aimAt(t,i,a,r,n,s,o,_,d,h=Xe.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to aimAt before create");return u.__inject__.aimAt(this._id,t,i,a,r,n,s,o,_,d,h),this}aimAtPlayer(t,i,a,r,n,s,o,_,d,h,g=Xe.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to aimAtPlayer before create");return u.__inject__.aimAtPlayer(this._id,t.id,i,a,r,n,s,o,_,d,h,g),this}stopAim(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to stopAim before create");return u.__inject__.stopAim(this._id),this}isAiming(){return this.id===l.NPC_ID?!1:u.__inject__.isAiming(this._id)}isAimingAtPlayer(t){return this.id===l.NPC_ID?!1:u.__inject__.isAimingAtPlayer(this._id,t.id)}setWeaponAccuracy(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponAccuracy before create");return u.__inject__.setWeaponAccuracy(this._id,t,i),this}getWeaponAccuracy(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponAccuracy(this._id,t)}setWeaponReloadTime(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponReloadTime before create");return u.__inject__.setWeaponReloadTime(this._id,t,i)}getWeaponReloadTime(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponReloadTime(this._id,t)}getWeaponActualReloadTime(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponActualReloadTime(this._id,t)}setWeaponShootTime(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponShootTime before create");return u.__inject__.setWeaponShootTime(this._id,t,i)}getWeaponShootTime(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponShootTime(this._id,t)}setWeaponClipSize(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponClipSize before create");return u.__inject__.setWeaponClipSize(this._id,t,i)}getWeaponClipSize(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponClipSize(this._id,t)}getWeaponActualClipSize(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponActualClipSize(this._id,t)}enterVehicle(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to enterVehicle before create");return u.__inject__.enterVehicle(this._id,t.id,i,a),this}exitVehicle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to exitVehicle before create");return u.__inject__.exitVehicle(this._id),this}putInVehicle(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to putInVehicle before create");return u.__inject__.putInVehicle(this._id,t.id,i)}removeFromVehicle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to removeFromVehicle before create");return u.__inject__.removeFromVehicle(this._id)}getVehicle(){return p.getInstance(this.getVehicleID())}getVehicleID(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getVehicle before create");return u.__inject__.getVehicle(this._id)}getVehicleSeat(){return this.id===l.NPC_ID?0:u.__inject__.getVehicleSeat(this._id)}getEnteringVehicle(){return p.getInstance(this.getEnteringVehicleId())}getEnteringVehicleId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getEnteringVehicle before create");return u.__inject__.getEnteringVehicle(this._id)}getEnteringVehicleSeat(){return this.id===l.NPC_ID?0:u.__inject__.getEnteringVehicleSeat(this._id)}isEnteringVehicle(){return this.id===l.NPC_ID?!1:u.__inject__.isEnteringVehicle(this._id)}useVehicleSiren(t=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to useVehicleSiren before create");return u.__inject__.useVehicleSiren(this._id,t)}isVehicleSirenUsed(){return this.id===l.NPC_ID?!1:u.__inject__.isVehicleSirenUsed(this._id)}setVehicleHealth(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVehicleHealth before create");return u.__inject__.setVehicleHealth(this._id,t)}getVehicleHealth(){return this.id===l.NPC_ID?0:u.__inject__.getVehicleHealth(this._id)}setVehicleHydraThrusters(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVehicleHydraThrusters before create");return u.__inject__.setVehicleHydraThrusters(this._id,t)}getVehicleHydraThrusters(){return this.id===l.NPC_ID?0:u.__inject__.getVehicleHydraThrusters(this._id)}setVehicleGearState(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVehicleGearState before create");return u.__inject__.setVehicleGearState(this._id,t)}getVehicleGearState(){return this.id===l.NPC_ID?0:u.__inject__.getVehicleGearState(this._id)}setVehicleTrainSpeed(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVehicleTrainSpeed before create");return u.__inject__.setVehicleTrainSpeed(this._id,t)}getVehicleTrainSpeed(){return this.id===l.NPC_ID?0:u.__inject__.getVehicleTrainSpeed(this._id)}resetAnimation(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to resetAnimation before create");return u.__inject__.resetAnimation(this._id)}setAnimation(t,i,a,r,n,s,o){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setAnimation before create");return u.__inject__.setAnimation(this._id,t,i,a,r,n,s,o)}getAnimation(){return this.id===l.NPC_ID?0:u.__inject__.getAnimation(this._id)}clearAnimations(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to clearAnimations before create");return u.__inject__.clearAnimations(this._id)}setSpecialAction(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSpecialAction before create");return u.__inject__.setSpecialAction(this._id,t)}getSpecialAction(){return this.id===l.NPC_ID?0:u.__inject__.getSpecialAction(this._id)}startPlayback(t,i,a,r,n,s,o,_){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to startPlayback before create");return u.__inject__.startPlayback(this._id,t,i,a,r,n,s,o,_)}startPlaybackEx(t,i,a,r,n,s,o,_){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to startPlaybackEx before create");return u.__inject__.startPlaybackEx(this._id,t.id,i,a,r,n,s,o,_)}stopPlayback(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to stopPlayback before create");return u.__inject__.stopPlayback(this._id)}pausePlayback(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to pausePlayback before create");return u.__inject__.pausePlayback(this._id,t)}isPlayingPlayback(){return this.id===l.NPC_ID?!1:u.__inject__.isPlayingPlayback(this._id)}isPlaybackPaused(){return this.id===l.NPC_ID?!1:u.__inject__.isPlaybackPaused(this._id)}playNode(t,i=it.JOG,a=Re.AUTO,r=0,n=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to playNode before create");return u.__inject__.playNode(this._id,t.id,i,a,r,n)}stopPlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to stopPlayingNode before create");return u.__inject__.stopPlayingNode(this._id)}pausePlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to pausePlayingNode before create");return u.__inject__.pausePlayingNode(this._id)}resumePlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to resumePlayingNode before create");return u.__inject__.resumePlayingNode(this._id)}isPlayingNodePaused(){return this.id===l.NPC_ID?!1:u.__inject__.isPlayingNodePaused(this._id)}isPlayingNode(){return this.id===l.NPC_ID?!1:u.__inject__.isPlayingNode(this._id)}changeNode(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to changeNode before create");return u.__inject__.changeNode(this._id,t.id,i)}updateNodePoint(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to updateNodePoint before create");return u.__inject__.updateNodePoint(this._id,t)}setInvulnerable(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setInvulnerable before create");return u.__inject__.setInvulnerable(this._id,t)}isInvulnerable(){return this.id===l.NPC_ID?!1:u.__inject__.isInvulnerable(this._id)}setSurfingOffsets(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSurfingOffsets before create");return u.__inject__.setSurfingOffsets(this._id,t,i,a)}getSurfingOffsets(){return u.__inject__.getSurfingOffsets(this._id)}setSurfingVehicle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSurfingVehicle before create");return u.__inject__.setSurfingVehicle(this._id,t.id)}getSurfingVehicle(){return p.getInstance(this.getSurfingVehicleId())}getSurfingVehicleId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getSurfingVehicle before create");return u.__inject__.getSurfingVehicle(this._id)}setSurfingObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSurfingObject before create");return t.isGlobal()?u.__inject__.setSurfingObject(this._id,t.id):0}getSurfingObject(){return S.getInstance(this.getSurfingObjectId())}getSurfingObjectId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getSurfingObject before create");return u.__inject__.getSurfingObject(this._id)}setSurfingPlayerObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSurfingPlayerObject before create");return t.isGlobal()?0:this._setSurfingPlayerObject(t.id)}getSurfingPlayerObject(){return S.getInstance(this.getSurfingPlayerObjectId(),this.getPlayer())}_setSurfingPlayerObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSurfingPlayerObject before create");return u.__inject__.setSurfingPlayerObject(this._id,t)}getSurfingPlayerObjectId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getSurfingPlayerObject before create");return u.__inject__.getSurfingPlayerObject(this._id)}resetSurfingData(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to resetSurfingData before create");return u.__inject__.resetSurfingData(this._id)}setSurfingDynamicObject(t){return this._setSurfingPlayerObject(A.getItemInternalID(new c(this._id),T.OBJECT,t.id))}getSurfingDynamicObject(){return R.getInstance(this.getSurfingDynamicObjectId())}getSurfingDynamicObjectId(){return A.getItemStreamerID(new c(this._id),T.OBJECT,this.getSurfingPlayerObjectId())}isSpawned(){return this.id===l.NPC_ID?!1:u.__inject__.isSpawned(this._id)}kill(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to kill before create");return u.__inject__.kill(this._id,typeof t=="number"?t:t.id,i)}setVelocity(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVelocity before create");return u.__inject__.setVelocity(this._id,t,i,a)}getVelocity(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getVelocity before create");return u.__inject__.getVelocity(this._id)}getPlayerAimingAt(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getPlayerAimingAt before create");const t=u.__inject__.getPlayerAimingAt(this._id);return t!==l.PLAYER_ID?c.getInstance(t):null}getPlayerMovingTo(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getPlayerMovingTo before create");const t=u.__inject__.getPlayerMovingTo(this._id);return t!==l.PLAYER_ID?c.getInstance(t):null}static startRecordingPlayerData(t,i,a){if(t.isRecording)throw new Error("[NpcFunc]: It should be stopped before recording");u.__inject__.startRecordingPlayerData(t.id,i,a),t[V].isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)throw new Error("[NpcFunc]: It should be started before stop");u.__inject__.stopRecordingPlayerData(t.id),t[V].isRecording=!1}static isValid(t){return u.__inject__.isValid(t)}static getInstance(t){return fe.get(t)}static getInstances(){return[...fe.values()]}static __inject__={create:Uc,destroy:Wc,isValid:Kc,spawn:Xc,respawn:Zc,setPos:Yc,setRot:zc,getRot:Jc,setFacingAngle:$c,getFacingAngle:Qc,setVirtualWorld:qc,getVirtualWorld:ed,move:td,moveToPlayer:id,stopMove:ad,isMoving:rd,isMovingToPlayer:nd,setSkin:sd,getSkin:ld,isStreamedIn:od,isAnyStreamedIn:_d,setInterior:cd,getInterior:dd,setHealth:hd,getHealth:ud,setArmour:gd,getArmour:md,isDead:fd,applyAnimation:Pd,setWeapon:pd,getWeapon:Id,setAmmo:Sd,getAmmo:yd,setKeys:Cd,getKeys:Ed,setWeaponSkillLevel:Ad,getWeaponSkillLevel:Nd,meleeAttack:Dd,stopMeleeAttack:Td,isMeleeAttacking:vd,setFightingStyle:bd,getFightingStyle:Ld,enableReloading:wd,isReloadEnabled:Rd,isReloading:Od,enableInfiniteAmmo:Gd,isInfiniteAmmoEnabled:jd,setWeaponState:Fd,getWeaponState:Md,setAmmoInClip:Bd,getAmmoInClip:Vd,shoot:kd,isShooting:xd,aimAt:Hd,aimAtPlayer:Ud,stopAim:Wd,isAiming:Kd,isAimingAtPlayer:Xd,setWeaponAccuracy:Zd,getWeaponAccuracy:Yd,setWeaponReloadTime:zd,getWeaponReloadTime:Jd,getWeaponActualReloadTime:$d,setWeaponShootTime:Qd,getWeaponShootTime:qd,setWeaponClipSize:eh,getWeaponClipSize:th,getWeaponActualClipSize:ih,enterVehicle:ah,exitVehicle:rh,putInVehicle:nh,removeFromVehicle:sh,getVehicle:lh,getVehicleSeat:oh,getEnteringVehicle:_h,getEnteringVehicleSeat:ch,isEnteringVehicle:dh,useVehicleSiren:hh,isVehicleSirenUsed:uh,setVehicleHealth:gh,getVehicleHealth:mh,setVehicleHydraThrusters:fh,getVehicleHydraThrusters:Ph,setVehicleGearState:ph,getVehicleGearState:Ih,setVehicleTrainSpeed:Sh,getVehicleTrainSpeed:yh,resetAnimation:Ch,setAnimation:Eh,getAnimation:Ah,clearAnimations:Nh,setSpecialAction:Dh,getSpecialAction:Th,startPlayback:vh,startPlaybackEx:bh,stopPlayback:Lh,pausePlayback:wh,isPlayingPlayback:Rh,isPlaybackPaused:Oh,playNode:Gh,stopPlayingNode:jh,pausePlayingNode:Fh,resumePlayingNode:Mh,isPlayingNodePaused:Bh,isPlayingNode:Vh,changeNode:kh,updateNodePoint:xh,setInvulnerable:Hh,isInvulnerable:Uh,setSurfingOffsets:Wh,getSurfingOffsets:Kh,setSurfingVehicle:Xh,getSurfingVehicle:Zh,setSurfingObject:Yh,getSurfingObject:zh,setSurfingPlayerObject:Jh,getSurfingPlayerObject:$h,resetSurfingData:Qh,isSpawned:qh,kill:eu,setVelocity:tu,getVelocity:iu,getPlayerAimingAt:au,getPlayerMovingTo:ru,startRecordingPlayerData:U_,stopRecordingPlayerData:W_}}class Ue{_filePath="";_id=l.RECORD_ID;get id(){return this._id}get filePath(){return this._filePath}constructor(t){if(typeof t=="string"?(this._filePath=t,this._id=samp.callNative("NPC_LoadRecord","s",this._filePath)):this._id=t,he.has(this._id))return he.get(this._id)}unload(){const t=this._id;if(!D.skip){const i=!!samp.callNative("NPC_UnloadRecord","i",this._id);return i&&(this._id=l.RECORD_ID,this._filePath="",he.delete(t)),i}return this._id=l.RECORD_ID,this._filePath="",he.delete(t),!0}isValid(){return D.skip&&this._id!==l.RECORD_ID?!0:Ue.isValid(this._id)}static isValid(t){return!!samp.callNative("NPC_IsValidRecord","i",t)}static getCount(){return samp.callNative("NPC_GetRecordCount","")}static unloadAll(){const t=!!samp.callNative("NPC_UnloadAllRecords","");return t&&he.clear(),t}static getInstance(t){return he.get(t)}static getInstances(){return[...he.values()]}}class He{_id=l.NODE_ID;get id(){return this._id}constructor(t){if(this._id=t,re.has(this._id))return re.get(this._id);re.set(this._id,this)}open(){samp.callNative("NPC_OpenNode","i",this._id)&&!re.has(this._id)&&re.set(this._id,this)}close(){if(!D.skip){const t=!!samp.callNative("NPC_CloseNode","i",this._id);return t&&(re.delete(this._id),this._id=l.NODE_ID),t}return re.delete(this._id),this._id=l.NODE_ID,!0}isOpen(){return D.skip&&this._id!==l.NODE_ID?!0:!!samp.callNative("NPC_IsNodeOpen","i",this._id)}getType(){return samp.callNative("NPC_GetNodeType","i",this._id)}setPoint(t){return!!samp.callNative("NPC_SetNodePoint","ii",this._id,t)}getPointPosition(){const[t,i,a,r]=samp.callNative("NPC_GetNodePointPosition","iFFF",this._id);return{x:t,y:i,z:a,ret:!!r}}getPointCount(){return samp.callNative("NPC_GetNodePointCount","i",this._id)}getInfo(){const[t,i,a,r]=samp.callNative("NPC_GetNodeInfo","iIII",this._id);return{vehNodes:t,pedNodes:i,naviNode:a,ret:!!r}}static getInstance(t){return re.get(t)}static getInstances(){return[...re.values()]}}class We{_id=l.PATH_ID;get id(){return this._id}constructor(t){if(typeof t<"u"){if(Pe.has(t))return Pe.get(t);this._id=t}else this._id=samp.callNative("NPC_CreatePath","")}destroy(){const t=!!samp.callNative("NPC_DestroyPath","i",this._id);return t&&(this._id=l.PATH_ID,Pe.delete(this._id)),t}addPoint(t,i,a,r){return!!samp.callNative("NPC_AddPointToPath","iffff",this._id,t,i,a,r)}removePoint(t){return!!samp.callNative("NPC_RemovePointFromPath","ii",this._id,t)}clear(){return!!samp.callNative("NPC_ClearPath","i",this._id)}getPointCount(){return samp.callNative("NPC_GetPathPointCount","i",this._id)}getPoint(t){const[i,a,r,n,s]=samp.callNative("NPC_GetPathPoint","ii",this._id,t);return{x:i,y:a,z:r,stopRange:n,ret:s}}isValid(){return We.isValid(this._id)}getCurrentPointIndex(){return samp.callNative("NPC_GetCurrentPathPointIndex","i",this._id)}move(t=it.JOG,i=Re.AUTO,a=!1){return!!samp.callNative("NPC_MoveByPath","iiifi",this._id,this._id,t,i,a)}hasPointInRadius(t,i,a,r){return!!samp.callNative("NPC_HasPathPointInRange","iiffff",this._id,this._id,t,i,a,r)}static destroyAll(){const t=!!samp.callNative("NPC_DestroyAllPath","");return t&&Pe.clear(),t}static getCount(){return samp.callNative("NPC_GetPathCount","")}static isValid(t){return!!samp.callNative("NPC_IsValidPath","i",t)}static getInstance(t){return Pe.get(t)}static getInstances(){return[...Pe.values()]}}x.onExit(({next:e})=>(u.getInstances().forEach(t=>{t.isValid()&&t.destroy()}),fe.clear(),He.getInstances().forEach(t=>{t.isOpen()&&t.close()}),re.clear(),We.destroyAll(),Pe.clear(),Ue.getInstances().forEach(t=>{t.isValid()&&t.unload()}),he.clear(),e()));const[tC]=m({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:E.decodeFromBuf(t)}}}),[iC]=m({name:"OnNPCFinishMove",identifier:"i",beforeEach(e){return{npc:u.getInstance(e)}}}),[aC]=m({name:"OnNPCCreate",identifier:"i",beforeEach(e){return{npc:u.getInstance(e)}}}),[rC]=m({name:"OnNPCDestroy",identifier:"i",beforeEach(e){return{npc:u.getInstance(e)}},afterEach({npc:e}){fe.delete(e.id)}}),[nC]=m({name:"OnNPCWeaponStateChange",identifier:"iii",beforeEach(e,t,i){return{npc:u.getInstance(e),newState:t,oldState:i}}}),[sC]=m({name:"OnNPCTakeDamage",identifier:"iiiii",beforeEach(e,t,i,a,r){return{npc:u.getInstance(e),damager:c.getInstance(t),damage:i,weapon:a,bodyPart:r}}}),[lC]=m({name:"OnNPCGiveDamage",identifier:"iiiii",beforeEach(e,t,i,a,r){return{npc:u.getInstance(e),damager:c.getInstance(t),damage:i,weapon:a,bodyPart:r}}}),[oC]=m({name:"OnNPCDeath",identifier:"iii",beforeEach(e,t,i){const a=c.getInstance(t)||l.PLAYER_ID;return{npc:u.getInstance(e),killer:a,reason:i}}}),[_C]=m({name:"OnNPCSpawn",identifier:"i",beforeEach(e){return{npc:u.getInstance(e)}}}),[cC]=m({name:"OnNPCRespawn",identifier:"i",beforeEach(e){return{npc:u.getInstance(e)}}}),[dC]=m({name:"OnNPCPlaybackStart",identifier:"ii",beforeEach(e,t){return{npc:u.getInstance(e),record:Ue.getInstance(t),recordId:t}}}),[hC]=m({name:"OnNPCPlaybackEnd",identifier:"ii",beforeEach(e,t){return{npc:u.getInstance(e),record:Ue.getInstance(t),recordId:t}}}),[uC]=m({name:"OnNPCWeaponShot",identifier:"iiiifff",beforeEach(e,t,i,a,r,n,s){return{npc:u.getInstance(e),weapon:t,hitType:i,hitId:a,fX:r,fY:n,fZ:s}}}),[gC]=m({name:"OnNPCFinishNodePoint",identifier:"iii",beforeEach(e,t,i){return{npc:u.getInstance(e),node:He.getInstance(t),nodeId:t,pointId:i}}}),[mC]=m({name:"OnNPCFinishNode",identifier:"ii",beforeEach(e,t){return{npc:u.getInstance(e),node:He.getInstance(t),nodeId:t}}}),[fC]=m({name:"OnNPCChangeNode",identifier:"iii",beforeEach(e,t,i){return{npc:u.getInstance(e),newNode:He.getInstance(t),oldNode:He.getInstance(i),newNodeId:t,oldNodeId:i}}}),[PC]=m({name:"OnNPCFinishMovePath",identifier:"ii",beforeEach(e,t){return{npc:u.getInstance(e),path:We.getInstance(t),pathId:t}}}),[pC]=m({name:"OnNPCFinishMovePathPoint",identifier:"iii",beforeEach(e,t,i){return{npc:u.getInstance(e),path:We.getInstance(t),pathId:t,pointIndex:i}}}),IC=Object.freeze({onClientMessage:tC,onFinishMove:iC,onCreate:aC,onDestroy:rC,onSpawn:_C,onRespawn:cC,onWeaponStateChange:nC,onTakeDamage:sC,onGiveDamage:lC,onDeath:oC,onPlaybackStart:dC,onPlaybackEnd:hC,onWeaponShot:uC,onFinishNodePoint:gC,onFinishNode:mC,onChangeNode:fC,onFinishMovePath:PC,onFinishMovePathPoint:pC});class ${constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return $.__inject__.getNetworkStats()}static getPlayerNetworkStats(t){return $.__inject__.getPlayerNetworkStats(t.id)}static getBytesReceived(t){return $.__inject__.getBytesReceived(t.id)}static getBytesSent(t){return $.__inject__.getBytesSent(t.id)}static getConnectionStatus(t){return $.__inject__.getConnectionStatus(t.id)}static getConnectedTime(t){return $.__inject__.getConnectedTime(t.id)}static getIpPort(t){return $.__inject__.getIpPort(t.id)}static getMessagesReceived(t){return $.__inject__.getMessagesReceived(t.id)}static getMessagesRecvPerSecond(t){return $.__inject__.getMessagesRecvPerSecond(t.id)}static getMessagesSent(t){return $.__inject__.getMessagesSent(t.id)}static getPacketLossPercent(t){return $.__inject__.getPacketLossPercent(t.id)}static __inject__={getNetworkStats:Rl,getPlayerNetworkStats:wl,getBytesReceived:Sl,getBytesSent:Cl,getConnectionStatus:Nl,getConnectedTime:pl,getIpPort:Dl,getMessagesReceived:Il,getMessagesRecvPerSecond:El,getMessagesSent:yl,getPacketLossPercent:Al}}class be{_text;_time;_style;get text(){return this._text}set text(t){this._text=t}get time(){return this._time}set time(t){this._time=t}get style(){return this._style}set style(t){this._style=t}constructor(t,i,a){this._text=t,this._time=i,this._style=a}static hideForAll(t){be.__inject__.hideForAll(t)}static has(t,i){return be.__inject__.has(t.id,i)}forAll(t="win1252"){be.__inject__.forAll(E.encodeToBuf(E.convertSpecialChar(this.text),t),this.time,this.style)}forPlayer(t,i="win1252"){be.__inject__.forPlayer(t.id,E.encodeToBuf(E.convertSpecialChar(this.text),i),this.time,this.style)}hideForPlayer(t){return be.__inject__.hideForPlayer(t.id,this.style)}static __inject__={hideForAll:Fs,has:fo,forAll:js,forPlayer:mo,hideForPlayer:po}}class k{sourceInfo=null;_id=l.MENU;get id(){return this._id}constructor(t){if(typeof t=="number"){this._id=t;const i=k.getInstance(this._id);if(i)return i;Ge.set(this.id,this)}else this.sourceInfo=t}create(){if(!this.sourceInfo)throw new Error("[Menu]: Unable to create with only id");if(this._id!==l.MENU)throw new Error("[Menu]: Cannot be created twice");const{title:t,columns:i,x:a,y:r,colWidth:n,charset:s="ISO-8859-1"}=this.sourceInfo,[o,_]=n;if(this._id=k.__inject__.create(t,i,a,r,o,_,s),this.id===l.MENU||k.getInstances().length===H.MAX_MENUS)throw new Error("[Menu]: Unable to create menu");return Ge.set(this._id,this),this}destroy(){if(this._id===l.MENU)throw new Error("[Menu]: Cannot destroy before create");return D.skip||k.__inject__.destroy(this.id),Ge.delete(this._id),this._id=l.MENU,this}addItem(t,i){if(this._id===l.MENU)throw new Error("[Menu]: Cannot addItem before create");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return k.__inject__.addItem(this.id,t,i,this.sourceInfo?.charset||"ISO-8859-1"),this}setColumnHeader(t,i){if(this._id===l.MENU)throw new Error("[Menu]: Cannot setColumnHeader before create");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return k.__inject__.setColumnHeader(this.id,t,i,this.sourceInfo?.charset||"ISO-8859-1"),this}disable(){if(this._id===l.MENU)throw new Error("[Menu]: Cannot disable menu before create");return k.__inject__.disable(this.id),this}disableRow(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot disable row before create");return k.__inject__.disableRow(this.id,t)}isValid(){return D.skip&&this.id!==l.MENU?!0:k.isValid(this.id)}showForPlayer(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot show menu before create");return k.__inject__.showForPlayer(this.id,t.id)}hideForPlayer(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot hide menu before create");return k.__inject__.hideForPlayer(this.id,t.id)}isDisabled(){return this._id===l.MENU?!1:k.__inject__.isDisabled(this.id)}isRowDisabled(t){return this._id===l.MENU?!1:k.__inject__.isRowDisabled(this.id,t)}getItems(t){return this._id===l.MENU?0:k.__inject__.getItems(this.id,t)}getPos(){return k.__inject__.getPos(this.id)}getColumnWidth(){return k.__inject__.getColumnWidth(this.id)}getColumnHeader(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot get column header before create");return k.__inject__.getColumnHeader(this.id,t,this.sourceInfo?.charset||"ISO-8859-1")}getItem(t,i){if(this._id===l.MENU)throw new Error("[Menu]: Cannot get item before create");if(i<0||i>this.getItems(t)-1)throw new Error("[Menu]: invalid getItem range");return k.__inject__.getItem(this.id,t,i,this.sourceInfo?.charset||"ISO-8859-1")}static isValid(t){return k.__inject__.isValid(t)}static getInstance(t){return Ge.get(t)}static getInstances(){return[...Ge.values()]}static getInstanceByPlayer(t){return this.getInstances().find(i=>i.id===Ai(t.id))}static __inject__={create:VI,destroy:Jg,addItem:kI,setColumnHeader:xI,disable:em,disableRow:tm,isValid:qg,showForPlayer:$g,hideForPlayer:Qg,isDisabled:Kg,isRowDisabled:Xg,getItems:Zg,getPos:Yg,getColumnWidth:zg,getColumnHeader:MI,getItem:BI,getPlayerMenu:Ai}}x.onExit(({next:e})=>(k.getInstances().forEach(t=>t.destroy()),Ge.clear(),e()));const[SC]=m({name:"OnPlayerExitedMenu",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[yC]=m({name:"OnPlayerSelectedMenuRow",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e),a=k.getInstanceByPlayer(i);return{player:i,menu:a,row:t}}}),CC=Object.freeze({onPlayerExited:SC,onPlayerSelectedRow:yC});class L{sourceInfo=null;_player=null;_id=l.GANG_ZONE;get id(){return this._id}constructor(t,i){if(typeof t=="number"){i&&(this._player=i);const a=L.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?Oe.set(this._id,this):i&&(Z.has(i)||Z.set(i,new Map),Z.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[GangZone]: Unable to create with only id");if(this.id!==l.GANG_ZONE)throw new Error("[GangZone]: Unable to create again");const{player:t}=this.sourceInfo;if(t){const{minX:i,minY:a,maxX:r,maxY:n}=this.sourceInfo;if(this._id=L.__inject__.createPlayer(t.id,i,a,r,n),this.id===l.GANG_ZONE||L.getInstances(t).length===H.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to create playerGangZone");const s=At.onDisconnect(({player:o,next:_})=>{_();const d=this.getPlayer();d&&o===d&&(this.isValid()&&this.destroy(),s())});Z.has(t)||Z.set(t,new Map),Z.get(t).set(this._id,this)}else{const{minX:i,minY:a,maxX:r,maxY:n}=this.sourceInfo;if(this._id=L.__inject__.create(i,a,r,n),this.id===l.GANG_ZONE||L.getInstances().length===H.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to create gangZone");Oe.set(this.id,this)}return this}destroy(){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to destroy before create");const t=this.getPlayer();if(!t)D.skip||L.__inject__.destroy(this.id),Oe.delete(this.id);else if(D.skip||L.__inject__.destroyPlayer(t.id,this.id),Z.has(t)){const i=Z.get(t);i.delete(this.id),i.size||Z.delete(t)}this._id=l.GANG_ZONE}isGlobal(){return!(this.sourceInfo?this.sourceInfo.player:this._player)}isPlayer(){return!this.isGlobal()}getPlayer(){return this._player?this._player:this.sourceInfo&&this.sourceInfo.player?this.sourceInfo.player:null}getPlayerId(){const t=this.getPlayer();return t?t.id:l.PLAYER_ID}showForAll(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to show gangzone before create");if(!this.getPlayer())return L.__inject__.showForAll(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be show for all.")}showForPlayer(t,i){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to show gangzone before create");const a=this.getPlayer();if(a)L.__inject__.showPlayer(a.id,this.id,N(t));else if(i)L.__inject__.showForPlayer(i.id,this.id,t);else throw new Error("[GangZone]: invalid player for show");return this}hideForAll(){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to hide gangzone before create");if(!this.getPlayer())return L.__inject__.hideForAll(this.id),this;throw new Error("[GangZone]: player's gangzone should not be hide for all.")}hideForPlayer(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to hide gangzone before create");const i=this.getPlayer();if(i)L.__inject__.hidePlayer(i.id,this.id);else if(t)L.__inject__.hideForPlayer(t.id,this.id);else throw new Error("[GangZone]: invalid player for hide");return this}flashForAll(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to flash gangzone before create");if(!this.getPlayer())return L.__inject__.flashForAll(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be flash for all.")}flashForPlayer(t,i){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to flash gangzone before create");const a=this.getPlayer();if(a)L.__inject__.flashPlayer(a.id,this.id,N(i));else if(t)L.__inject__.flashForPlayer(t.id,this.id,i);else throw new Error("[GangZone]: invalid player for flash");return this}stopFlashForAll(){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to stop flash gangzone before create");if(!this.getPlayer())return L.__inject__.stopFlashForAll(this.id),this;throw new Error("[GangZone]: player's gangzone should not be stop flash for all.")}stopFlashForPlayer(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to stop flash gangzone before create");const i=this.getPlayer();if(i)L.__inject__.stopFlashPlayer(i.id,this.id);else if(t)L.__inject__.stopFlashForPlayer(t.id,this.id);else throw new Error("[GangZone]: invalid player for flash");return this}isValid(){if(D.skip&&this.id!==l.GANG_ZONE)return!0;if(this.id===l.GANG_ZONE)return!1;const t=this.getPlayer();return t?L.isValidPlayer(t.id,this.id):L.isValidGlobal(this.id)}isPlayerIn(t){if(this.id===l.GANG_ZONE)return!1;const i=this.getPlayer();return i?L.__inject__.isPlayerInPlayer(i.id,this.id):L.__inject__.isPlayerIn(t.id,this.id)}isVisibleForPlayer(t){if(this.id===l.GANG_ZONE)return!1;const i=this.getPlayer();return i?L.__inject__.isVisiblePlayer(i.id,this.id):L.__inject__.isVisibleForPlayer(t.id,this.id)}getColorForPlayer(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to get color before create");const i=this.getPlayer();return i?L.__inject__.getColorPlayer(i.id,this.id):L.__inject__.getColorForPlayer(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to get flash color before create");const i=this.getPlayer();return i?L.__inject__.getFlashColorPlayer(i.id,this.id):L.__inject__.getFlashColorForPlayer(t.id,this.id)}isFlashingForPlayer(t){if(this.id===l.GANG_ZONE)return!1;const i=this.getPlayer();return i?L.__inject__.isFlashingPlayer(i.id,this.id):L.__inject__.isFlashingForPlayer(t.id,this.id)}getPos(){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to get position before create");const t=this.getPlayer();return t?L.__inject__.getPosPlayer(t.id,this.id):L.__inject__.getPos(this.id)}useCheck(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to use check before create");const i=this.getPlayer();return i?L.__inject__.useCheckPlayer(i.id,this.id,t):L.__inject__.useCheck(this.id,t),this}static isValidPlayer(t,i){return L.__inject__.isValidPlayer(t,i)}static isValidGlobal(t){return L.__inject__.isValidGlobal(t)}static getInstance(t,i){if(!i)return Oe.get(t);if(i.id!==l.PLAYER_ID)return Z.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...Z.get(t)?.values()||[]]:[...Oe.values()]}static getPlayersInstances(){return Array.from(Z.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:jm,destroy:Fm,showForAll:Bm,hideForAll:km,flashForAll:Hm,stopFlashForAll:Wm,getPos:Om,useCheck:Gm,createPlayer:Km,destroyPlayer:Xm,showPlayer:Zm,showForPlayer:Mm,hidePlayer:Ym,hideForPlayer:Vm,flashPlayer:zm,flashForPlayer:xm,stopFlashPlayer:Jm,stopFlashForPlayer:Um,getPosPlayer:rf,useCheckPlayer:nf,isPlayerIn:vm,isPlayerInPlayer:Qm,isVisibleForPlayer:bm,isVisiblePlayer:qm,getColorForPlayer:Lm,getColorPlayer:ef,getFlashColorForPlayer:wm,getFlashColorPlayer:tf,isFlashingForPlayer:Rm,isFlashingPlayer:af,isValidPlayer:$m,isValidGlobal:Tm}}x.onExit(({next:e})=>(L.getInstances().forEach(t=>t.destroy()),L.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),Oe.clear(),Z.clear(),e()));const[EC]=m({name:"OnPlayerEnterGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:L.getInstance(t)}}}),[AC]=m({name:"OnPlayerLeaveGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:L.getInstance(t)}}}),[NC]=m({name:"OnPlayerEnterPlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:L.getInstance(t,i)}}}),[DC]=m({name:"OnPlayerLeavePlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:L.getInstance(t,i)}}}),[TC]=m({name:"OnPlayerClickGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:L.getInstance(t)}}}),[vC]=m({name:"OnPlayerClickPlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:L.getInstance(t,i)}}}),bC=Object.freeze({onPlayerEnterGlobal:EC,onPlayerLeaveGlobal:AC,onPlayerEnterPlayer:NC,onPlayerLeavePlayer:DC,onPlayerClickGlobal:TC,onPlayerClickPlayer:vC});class f{sourceInfo=null;_player=null;_id=l.TEXT_DRAW;get id(){return this._id}constructor(t,i){if(typeof t=="number"){i&&(this._player=i);const a=f.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?je.set(this._id,this):i&&(Y.has(i)||Y.set(i,new Map),Y.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[TextDraw]: Unable to create with only id");if(this.id!==l.TEXT_DRAW)throw new Error("[TextDraw]: Unable to create again");const{x:t,y:i,text:a,player:r,charset:n="ISO-8859-1"}=this.sourceInfo,s=E.encodeToBuf(E.convertSpecialChar(a),n);if(r){if(this._id=f.__inject__.createPlayer(r.id,t,i,s),this.id===l.TEXT_DRAW||f.getInstances(r).length===H.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to create player textdraw");const o=At.onDisconnect(({player:_,next:d})=>{const h=d();return _===r&&(this.isValid()&&this.destroy(),o()),h});Y.has(r)||Y.set(r,new Map),Y.get(r).set(this._id,this)}else{if(this._id=f.__inject__.create(t,i,s),this.id===l.TEXT_DRAW||f.getInstances().length===H.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to create textdraw");je.set(this.id,this)}return this}destroy(){this.id===l.TEXT_DRAW&&f.beforeCreateWarn("destroy textdraw");const t=this.getPlayer();if(!t)D.skip||f.__inject__.destroy(this.id),je.delete(this.id);else if(D.skip||f.__inject__.destroyPlayer(t.id,this.id),Y.has(t)){const i=Y.get(t);i.delete(this.id),i.size||Y.delete(t)}return this._id=l.TEXT_DRAW,this}setFont(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set font"),this;const i=this.getPlayer();return i?f.__inject__.setFontPlayer(i.id,this.id,t):f.__inject__.setFont(this.id,t),this}setColor(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set color"),this;const i=this.getPlayer();return i?f.__inject__.setColorPlayer(i.id,this.id,t):f.__inject__.setColor(this.id,t),this}setBoxColors(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set box color"),this;const i=this.getPlayer();return i?f.__inject__.setBoxColorPlayer(i.id,this.id,t):f.__inject__.setBoxColor(this.id,t),this}setBackgroundColors(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set background color"),this;const i=this.getPlayer();return i?f.__inject__.setBackgroundColorPlayer(i.id,this.id,t):f.__inject__.setBackgroundColor(this.id,t),this}setAlignment(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set alignment"),this;const i=this.getPlayer();return i?f.__inject__.setAlignmentPlayer(i.id,this.id,t):f.__inject__.setAlignment(this.id,t),this}setLetterSize(t,i){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set letter size"),this;const a=this.getPlayer();return a?f.__inject__.setLetterSizePlayer(a.id,this.id,t,i):f.__inject__.setLetterSize(this.id,t,i),this}setOutline(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set outline model"),this;if(t<0)throw new Error("[TextDraw]: Invalid outline value");const i=this.getPlayer();return i?f.__inject__.setOutlinePlayer(i.id,this.id,t):f.__inject__.setOutline(this.id,t),this}setPreviewModel(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set preview model"),this;this.setFont(ze.MODEL_PREVIEW);const i=this.getPlayer();return i?f.__inject__.setPreviewModelPlayer(i.id,this.id,t):f.__inject__.setPreviewModel(this.id,t),this}setPreviewRot(t,i,a,r=1){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set preview rot"),this;this.setFont(ze.MODEL_PREVIEW);const n=this.getPlayer();return n?f.__inject__.setPreviewRotPlayer(n.id,this.id,t,i,a,r):f.__inject__.setPreviewRot(this.id,t,i,a,r),this}setPreviewVehColors(t,i){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set preview veh col"),this;this.setFont(ze.MODEL_PREVIEW);const a=this.getPlayer();return a?f.__inject__.setPreviewVehicleColorsPlayer(a.id,this.id,t,i):f.__inject__.setPreviewVehicleColors(this.id,t,i),this}setProportional(t=!0){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set Proportional"),this;const i=this.getPlayer();return i?f.__inject__.setProportionalPlayer(i.id,this.id,t):f.__inject__.setProportional(this.id,t),this}setSelectable(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set Selectable"),this;const i=this.getPlayer();return i?f.__inject__.setSelectablePlayer(i.id,this.id,t):f.__inject__.setSelectable(this.id,t),this}setShadow(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set shadow"),this;if(t<0)throw new Error("[TextDraw]: Invalid shadow value");const i=this.getPlayer();return i?f.__inject__.setShadowPlayer(i.id,this.id,t):f.__inject__.setShadow(this.id,t),this}setString(t,i){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set string"),this;if(t.length===0||t.length>1024)throw new Error("[TextDraw]: Invalid text length");const a=this.sourceInfo?.charset||"ISO-8859-1",r=E.encodeToBuf(E.convertSpecialChar(t),a),n=this.getPlayer();return n?f.__inject__.setStringPlayer(n.id,this.id,r):i?f.__inject__.setStringForPlayer(this.id,i.id,r):f.__inject__.setString(this.id,r),this}setTextSize(t,i){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set TextSize"),this;const a=this.getPlayer();return a?f.__inject__.setTextSizePlayer(a.id,this.id,t,i):f.__inject__.setTextSize(this.id,t,i),this}useBox(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set TextSize"),this;const i=this.getPlayer();return i?f.__inject__.useBoxPlayer(i.id,this.id,t):f.__inject__.useBox(this.id,t),this}static beforeCreateWarn(t){throw new Error(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("show"),this;const i=this.getPlayer();if(i)f.__inject__.showPlayer(i.id,this.id);else if(t)f.__inject__.showForPlayer(t.id,this.id);else throw new Error("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("hide"),this;const i=this.getPlayer();if(i)f.__inject__.hidePlayer(i.id,this.id);else if(t)f.__inject__.hideForPlayer(t.id,this.id);else throw new Error("[TextDraw]: invalid player for hide");return this}showAll(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("show"),this;if(!this.getPlayer())return f.__inject__.showForAll(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be show for all.")}hideAll(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("hideAll"),this;if(!this.getPlayer())return f.__inject__.hideForAll(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be hide for all.")}isValid(){if(D.skip&&this.id!==l.TEXT_DRAW)return!0;const t=this.getPlayer();return t?f.__inject__.isValidPlayer(t.id,this.id):f.__inject__.isValid(this.id)}isVisibleForPlayer(t){if(this.id===l.TEXT_DRAW)return!1;const i=this.getPlayer();return i?f.__inject__.isVisiblePlayer(i.id,this.id):t?f.__inject__.isVisibleForPlayer(t.id,this.id):!1}getString(){this.id===l.TEXT_DRAW&&f.beforeCreateWarn("getString");const t=this.getPlayer();return t?f.__inject__.getStringPlayer(t.id,this.id).str:f.__inject__.getString(this.id).str}setPos(t,i){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set position"),this;const a=this.getPlayer();return a?f.__inject__.setPosPlayer(a.id,this.id,t,i):f.__inject__.setPos(this.id,t,i),this}getLetterSize(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get letter size");const t=this.getPlayer();return t?f.__inject__.getLetterSizePlayer(t.id,this.id):f.__inject__.getLetterSize(this.id)}getTextSize(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get text size");const t=this.getPlayer();return t?f.__inject__.getTextSizePlayer(t.id,this.id):f.__inject__.getTextSize(this.id)}getPos(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get position");const t=this.getPlayer();return t?f.__inject__.getPosPlayer(t.id,this.id):f.__inject__.getPos(this.id)}getColor(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get color");const t=this.getPlayer();return t?f.__inject__.getColorPlayer(t.id,this.id):f.__inject__.getColor(this.id)}getBoxColor(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get box color");const t=this.getPlayer();return t?f.__inject__.getBoxColorPlayer(t.id,this.id):f.__inject__.getBoxColor(this.id)}getBackgroundColor(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get bg color");const t=this.getPlayer();return t?f.__inject__.getBackgroundColorPlayer(t.id,this.id):f.__inject__.getBackgroundColor(this.id)}getShadow(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get shadow");const t=this.getPlayer();return t?f.__inject__.getShadowPlayer(t.id,this.id):f.__inject__.getShadow(this.id)}getOutline(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get outline");const t=this.getPlayer();return t?f.__inject__.getOutlinePlayer(t.id,this.id):f.__inject__.getOutline(this.id)}getFont(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get font");const t=this.getPlayer();return t?f.__inject__.getFontPlayer(t.id,this.id):f.__inject__.getFont(this.id)}isBox(){if(this.id===l.TEXT_DRAW)return!1;const t=this.getPlayer();return t?f.__inject__.isBoxPlayer(t.id,this.id):f.__inject__.isBox(this.id)}isProportional(){if(this.id===l.TEXT_DRAW)return!1;const t=this.getPlayer();return t?f.__inject__.isProportionalPlayer(t.id,this.id):f.__inject__.isProportional(this.id)}isSelectable(){if(this.id===l.TEXT_DRAW)return!1;const t=this.getPlayer();return t?f.__inject__.isSelectablePlayer(t.id,this.id):f.__inject__.isSelectable(this.id)}getAlignment(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get alignment");const t=this.getPlayer();return t?f.__inject__.getAlignmentPlayer(t.id,this.id):f.__inject__.getAlignment(this.id)}getPreviewModel(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get preview model");const t=this.getPlayer();return t?f.__inject__.getPreviewModelPlayer(t.id,this.id):f.__inject__.getPreviewModel(this.id)}getPreviewRot(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get preview rotation");const t=this.getPlayer();return t?f.__inject__.getPreviewRotPlayer(t.id,this.id):f.__inject__.getPreviewRot(this.id)}getPreviewVehColors(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get preview vel colors");const t=this.getPlayer();return t?f.__inject__.getPreviewVehicleColorsPlayer(t.id,this.id):f.__inject__.getPreviewVehicleColors(this.id)}isGlobal(){return!this.getPlayer()}isPlayer(){return!this.isGlobal()}getPlayer(){return this._player?this._player:this.sourceInfo&&this.sourceInfo.player?this.sourceInfo.player:null}getPlayerId(){const t=this.getPlayer();return t?t.id:l.PLAYER_ID}static getInstance(t,i){if(!i)return je.get(t);if(i.id!==l.PLAYER_ID)return Y.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...Y.get(t)?.values()||[]]:[...je.values()]}static getPlayersInstances(){return Array.from(Y.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:Tf,createPlayer:PP,destroy:vf,destroyPlayer:pP,setFont:Bf,setFontPlayer:vP,setColor:Rf,setColorPlayer:CP,setBoxColor:Gf,setBoxColorPlayer:AP,setBackgroundColor:Mf,setBackgroundColorPlayer:TP,setAlignment:wf,setAlignmentPlayer:yP,setLetterSize:bf,setLetterSizePlayer:IP,setOutline:Ff,setOutlinePlayer:DP,setPreviewModel:Xf,setPreviewModelPlayer:GP,setPreviewRot:Zf,setPreviewRotPlayer:jP,setPreviewVehicleColors:Yf,setPreviewVehicleColorsPlayer:FP,setProportional:Vf,setProportionalPlayer:bP,setSelectable:kf,setSelectablePlayer:LP,setShadow:jf,setShadowPlayer:NP,setStringPlayer:OP,setStringForPlayer:Df,setString:Kf,setTextSize:Lf,setTextSizePlayer:SP,useBoxPlayer:EP,useBox:Of,showPlayer:wP,showForPlayer:xf,hidePlayer:RP,hideForPlayer:Hf,showForAll:Uf,hideForAll:Wf,isValidPlayer:$f,isValid:sf,isVisiblePlayer:Qf,isVisibleForPlayer:lf,getStringPlayer:qf,getString:of,setPosPlayer:eP,setPos:_f,getLetterSizePlayer:tP,getLetterSize:cf,getTextSizePlayer:iP,getTextSize:df,getPosPlayer:aP,getPos:hf,getColorPlayer:rP,getColor:uf,getBoxColorPlayer:nP,getBoxColor:gf,getBackgroundColorPlayer:sP,getBackgroundColor:mf,getShadowPlayer:lP,getShadow:ff,getOutlinePlayer:oP,getOutline:Pf,getFontPlayer:_P,getFont:pf,isBoxPlayer:cP,isBox:If,isProportionalPlayer:dP,isProportional:Sf,isSelectablePlayer:hP,isSelectable:yf,getAlignmentPlayer:uP,getAlignment:Cf,getPreviewModelPlayer:gP,getPreviewModel:Ef,getPreviewRotPlayer:mP,getPreviewRot:Af,getPreviewVehicleColors:Nf,getPreviewVehicleColorsPlayer:fP}}x.onExit(({next:e})=>(f.getInstances().forEach(t=>t.destroy()),f.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),je.clear(),Y.clear(),e()));const[LC]=m({name:"OnPlayerClickTextDraw",identifier:"ii",defaultValue:!1,beforeEach(e,t){return{player:c.getInstance(e),textDraw:t===l.TEXT_DRAW?t:f.getInstance(t)}}}),[wC]=m({name:"OnPlayerClickPlayerTextDraw",identifier:"ii",defaultValue:!1,beforeEach(e,t){const i=c.getInstance(e);return{player:i,textDraw:t===l.TEXT_DRAW?t:f.getInstance(t,i)}}}),RC=Object.freeze({onPlayerClickGlobal:LC,onPlayerClickPlayer:wC});x.onExit(({next:e})=>(S.getInstances().forEach(t=>t.destroy()),S.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),Ee.clear(),z.clear(),e()));const[OC]=m({name:"OnPlayerSelectObject",identifier:"iiiifff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s){const o=c.getInstance(e),_=t!==ge.UNKNOWN&&t===ge.PLAYER_OBJECT,d=t!==ge.UNKNOWN&&t===ge.GLOBAL_OBJECT;return{player:o,type:t,isPlayerObject:_,isGlobal:d,objectMp:t===ge.GLOBAL_OBJECT?S.getInstance(i):S.getInstance(i,o),modelId:a,fX:r,fY:n,fZ:s}}}),[GC]=m({name:"OnPlayerEditObject",identifier:"iiiiffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_,d){const h=c.getInstance(e),g=t===1;return{player:h,isPlayerObject:g,isGlobal:!g,objectMp:g?S.getInstance(i,h):S.getInstance(i),response:a,fX:r,fY:n,fZ:s,fRotX:o,fRotY:_,fRotZ:d}}}),[jC]=m({name:"OnPlayerEditAttachedObject",identifier:"iiiiifffffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_,d,h,g,I,C){return{player:c.getInstance(e),response:t,index:i,modelId:a,boneId:r,fOffsetX:n,fOffsetY:s,fOffsetZ:o,fRotX:_,fRotY:d,fRotZ:h,fScaleX:g,fScaleY:I,fScaleZ:C}}}),[FC]=m({name:"OnObjectMoved",identifier:"i",beforeEach(e){return{objectMp:S.getInstance(e)}}}),[MC]=m({name:"OnPlayerObjectMoved",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,playerObject:S.getInstance(t,i)}}}),BC=Object.freeze({onPlayerSelect:OC,onPlayerEdit:GC,onPlayerEditAttached:jC,onGlobalMoved:FC,onPlayerMoved:MC});class O{_id=l.ACTOR_ID;sourceInfo=null;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=O.getInstance(t);if(i)return i;this._id=t}else this.sourceInfo=t}create(){if(this._id!==l.ACTOR_ID)throw new Error("[Actor]: Cannot be created twice");const{skin:t,x:i,y:a,z:r,rotation:n}=this.sourceInfo;if(this._id=O.__inject__.create(t,i,a,r,n),this._id===l.ACTOR_ID||O.getInstances().length===H.MAX_ACTORS)throw new Error("[Actor]: Unable to create actor");return $e.set(this._id,this),this}destroy(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot before create");return D.skip||O.__inject__.destroy(this._id),$e.delete(this._id),this._id=l.ACTOR_ID,this}isStreamIn(t){return this._id===l.ACTOR_ID?!1:O.__inject__.isStreamedIn(this.id,t.id)}setVirtualWorld(t){return this._id===l.ACTOR_ID?!1:O.__inject__.setVirtualWorld(this.id,t)}getVirtualWorld(){return this._id===l.ACTOR_ID?0:O.__inject__.getVirtualWorld(this.id)}applyAnimation(t,i,a,r,n,s,o,_){return this._id===l.ACTOR_ID?!1:O.__inject__.applyAnimation(this.id,t,i,a,r,n,s,o,_)}clearAnimations(){return this._id===l.ACTOR_ID?!1:O.__inject__.clearAnimations(this.id)}setPos(t,i,a){return this._id===l.ACTOR_ID?!1:O.__inject__.setPos(this.id,t,i,a)}getPos(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getPos before create");return O.__inject__.getPos(this.id)}setFacingAngle(t){return this._id===l.ACTOR_ID?!1:O.__inject__.setFacingAngle(this.id,t)}getFacingAngle(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getFacingAngle before create");return O.__inject__.getFacingAngle(this.id)}setHealth(t){return this._id===l.ACTOR_ID?!1:O.__inject__.setHealth(this.id,t)}getHealth(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getHealth before create");return O.__inject__.getHealth(this.id)}setInvulnerable(t){return this._id===l.ACTOR_ID?!1:O.__inject__.setInvulnerable(this.id,t)}isInvulnerable(){return this._id===l.ACTOR_ID?!1:O.__inject__.isInvulnerable(this.id)}isValid(){return O.isValid(this._id)}setSkin(t){return this._id===l.ACTOR_ID?!1:O.__inject__.setSkin(this.id,t)}getSkin(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getSkin before create");return this.sourceInfo?this.sourceInfo.skin:O.__inject__.getSkin(this.id)}getAnimation(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getAnimation before create");return O.__inject__.getAnimation(this.id)}getSpawnInfo(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getSpawnInfo before create");return O.__inject__.getSpawnInfo(this.id)}static isValid(t){return O.__inject__.isValid(t)}static getInstance(t){return $e.get(t)}static getInstances(){return[...$e.values()]}static __inject__={create:Tc,destroy:vc,applyAnimation:Rc,clearAnimations:Oc,getAnimation:Dc,getFacingAngle:Mc,getHealth:Vc,getPos:jc,getSkin:Ec,getSpawnInfo:Nc,getVirtualWorld:wc,isInvulnerable:xc,isStreamedIn:bc,isValid:Hc,setFacingAngle:Fc,setHealth:Bc,setInvulnerable:kc,setPos:Gc,setSkin:Ac,setVirtualWorld:Lc}}x.onExit(({next:e})=>(O.getInstances().forEach(t=>t.destroy()),$e.clear(),e()));const[VC]=m({name:"OnPlayerGiveDamageActor",identifier:"iifii",defaultValue:!1,beforeEach(e,t,i,a,r){return{player:c.getInstance(e),actor:O.getInstance(t),amount:i,weapon:a,bodyPart:r}}}),[kC]=m({name:"OnActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:O.getInstance(e),player:c.getInstance(t)}}}),[xC]=m({name:"OnActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:O.getInstance(e),player:c.getInstance(t)}}}),HC=Object.freeze({onPlayerGiveDamage:VC,onStreamIn:kC,onStreamOut:xC});class Le{static set(t,i,a,r,n){return Le.__inject__.set(t.id,i,a,r,n)}static disable(t){return Le.__inject__.disable(t.id)}static isPlayerIn(t){return Le.__inject__.isPlayerIn(t.id)}static isActive(t){return Le.__inject__.isActive(t.id)}static get(t){return Le.__inject__.get(t.id)}static __inject__={disable:kg,get:yi,isActive:Si,isPlayerIn:Ug,set:Vg}}const[UC]=m({name:"OnPlayerEnterCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[WC]=m({name:"OnPlayerLeaveCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),KC=Object.freeze({onPlayerEnter:UC,onPlayerLeave:WC});class we{static set(t,i,a,r,n,s,o,_,d){return we.__inject__.set(t.id,i,a,r,n,s,o,_,d)}static disable(t){return we.__inject__.disable(t.id)}static isPlayerIn(t){return we.__inject__.isPlayerIn(t.id)}static isActive(t){return we.__inject__.isActive(t.id)}static get(t){return we.__inject__.get(t.id)}static __inject__={disable:Hg,get:Ei,isActive:Ci,isPlayerIn:Wg,set:xg}}const[XC]=m({name:"OnPlayerEnterRaceCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[ZC]=m({name:"OnPlayerLeaveRaceCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),YC=Object.freeze({onPlayerEnter:XC,onPlayerLeave:ZC});class M{sourceInfo=null;_id=l.PICKUP_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){this._id=t;const i=M.getInstance(this._id);if(i)return i;Be.set(this.id,this)}else this.sourceInfo=t}create(){if(!this.sourceInfo)throw new Error("[Pickup]: Unable to create with only id");if(this.id!==l.PICKUP_ID)throw new Error("[Pickup]: Cannot be created twice");const{model:t,type:i,virtualWorld:a,x:r,y:n,z:s,isStatic:o}=this.sourceInfo;if(o)M.__inject__.addStatic(t,i,r,n,s,a);else{if(this._id=M.__inject__.create(t,i,r,n,s,a),M.getInstances().length===H.MAX_PICKUPS||this._id===l.PICKUP_ID)throw new Error("[Pickup]: Unable to create pickup");Be.set(this.id,this)}return this}destroy(){if(this.sourceInfo&&this.sourceInfo.isStatic)throw new Error("[Pickup]: Cannot destroy static pickups");if(this.id===l.PICKUP_ID)throw new Error("[Pickup]: Cannot be destroyed twice");D.skip||M.__inject__.destroy(this.id),Be.delete(this.id)}isValid(){return this.id===l.PICKUP_ID?!1:M.isValid(this.id)}isStreamedIn(t){return this.id===l.PICKUP_ID?!1:M.__inject__.isStreamedIn(t.id,this.id)}getPos(){return M.__inject__.getPos(this.id)}getModel(){return this.id===l.PICKUP_ID?0:M.__inject__.getModel(this.id)}getType(){return this.id===l.PICKUP_ID?0:M.__inject__.getType(this.id)}getVirtualWorld(){return this.id===l.PICKUP_ID?0:M.__inject__.getVirtualWorld(this.id)}setPos(t,i,a,r){return this.id===l.PICKUP_ID?!1:M.__inject__.setPos(this.id,t,i,a,r)}setModel(t,i=!0){return this.id===l.PICKUP_ID?!1:M.__inject__.setModel(this.id,t,i)}setType(t,i=!0){return this.id===l.PICKUP_ID?!1:M.__inject__.setType(this.id,t,i)}setVirtualWorld(t){return this.id===l.PICKUP_ID?!1:M.__inject__.setVirtualWorld(this.id,t)}showForPlayer(t){return this.id===l.PICKUP_ID?!1:M.__inject__.showForPlayer(t.id,this.id)}hideForPlayer(t){return this.id===l.PICKUP_ID?!1:M.__inject__.hideForPlayer(t.id,this.id)}isHiddenForPlayer(t){return this.id===l.PICKUP_ID?!1:M.__inject__.isHiddenForPlayer(t.id,this.id)}static isValid(t){return t===l.PICKUP_ID?!1:M.__inject__.isValid(t)}static getInstance(t){return Be.get(t)}static getInstances(){return[...Be.values()]}static __inject__={create:dI,addStatic:cI,destroy:hI,isStreamedIn:Qp,getPos:qp,getModel:eI,getType:tI,getVirtualWorld:iI,setPos:aI,setModel:rI,setType:nI,setVirtualWorld:sI,showForPlayer:lI,hideForPlayer:oI,isHiddenForPlayer:_I,isValid:$p}}x.onExit(({next:e})=>(M.getInstances().forEach(t=>t.destroy()),Be.clear(),e()));const[zC]=m({name:"OnPlayerPickUpPickup",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:M.getInstance(t)}}}),[JC]=m({name:"OnPickupStreamIn",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:M.getInstance(t)}}}),[$C]=m({name:"OnPickupStreamOut",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:M.getInstance(t)}}}),QC=Object.freeze({onPlayerPickUp:zC,onStreamIn:JC,onStreamOut:$C});class w{sourceInfo=null;_id=l._3DTEXT_ID;_player=null;get id(){return this._id}constructor(t,i){if(typeof t=="number"){i&&(this._player=i);const a=w.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?Ve.set(this._id,this):i&&(J.has(i)||J.set(i,new Map),J.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[TextLabel]: Unable to create with only id");if(this.id!==l._3DTEXT_ID)throw new Error("[TextLabel]: Unable to create again");const{charset:t="utf8",text:i,color:a,x:r,y:n,z:s,drawDistance:o,virtualWorld:_,testLOS:d,attachedPlayer:h,attachedVehicle:g}=this.sourceInfo;if(this.isGlobal()){if(this._id=w.__inject__.create(t,i,a,r,n,s,o,_,d),this.id===l._3DTEXT_ID||w.getInstances().length===H.MAX_3DTEXT_GLOBAL)throw new Error("[TextLabel]: Unable to create textLabel");return Ve.set(this._id,this),this}const I=this.getPlayerId();if(I===l.PLAYER_ID)return this;const C=this.getPlayer();if(this._id=w.__inject__.createPlayer(t,I,i,a,r,n,s,o,typeof h>"u"?l.PLAYER_ID:h.id,typeof g>"u"?l.VEHICLE_ID:g.id,d),this.id===l._3DTEXT_ID||w.getInstances(C).length===H.MAX_3DTEXT_PLAYER)throw new Error("[TextLabel]: Unable to create playerTextLabel");return J.has(C)||J.set(C,new Map),J.get(this.getPlayer()).set(this.id,this),this}destroy(){if(this.id===l._3DTEXT_ID)throw new Error("[TextLabel]: Unable to destroy the textLabel before create");if(this.isGlobal())D.skip||w.__inject__.delete(this.id),Ve.delete(this.id);else{const t=this.getPlayerId();if(t===l.PLAYER_ID)return this;const i=this.getPlayer();if(D.skip||w.__inject__.deletePlayer(t,this.id),J.has(i)){const a=J.get(i);a.delete(this.id),a.size===0&&J.delete(i)}}return this._id=l._3DTEXT_ID,this}isGlobal(){return!(this.sourceInfo?this.sourceInfo.player:this._player)}isPlayer(){return!this.isGlobal()}getPlayer(){return this._player?this._player:this.sourceInfo&&this.sourceInfo.player?this.sourceInfo.player:null}getPlayerId(){const t=this.getPlayer();return t?t.id:l.PLAYER_ID}isValid(){return D.skip&&this.id!==l._3DTEXT_ID?!0:this.isGlobal()?w.isValid(this.id):w.isValid(this.id,this.getPlayerId())}attachToPlayer(t,i,a,r){if(this.id===l._3DTEXT_ID)return!1;if(!this.isGlobal())throw new Error("[TextLabel]: Unable to attach to player, textLabel is not global");return w.__inject__.attachToPlayer(this.id,t.id,i,a,r)}attachToVehicle(t,i,a,r){if(this.id===l._3DTEXT_ID)return!1;if(!this.isGlobal())throw new Error("[TextLabel]: Unable to attach to vehicle, textLabel is not global");return w.__inject__.attachToVehicle(this.id,t.id,i,a,r)}updateText(t,i,a="utf8"){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?w.__inject__.updateText(a,this.id,t,i):w.__inject__.updatePlayerText(a,this.getPlayerId(),this.id,t,i)}isStreamedIn(t){if(this.id===l._3DTEXT_ID)return!1;if(!this.isGlobal())throw new Error("[TextLabel]: Unable to check stream in, textLabel is not global");return w.__inject__.isStreamedIn(this.id,t.id)}getText(t=this.sourceInfo?.charset||"utf8"){return this.isGlobal()?w.__inject__.getText(t,this.id):w.__inject__.getPlayerText(t,this.getPlayerId(),this.id)}getColor(){return this.isGlobal()?w.__inject__.getColor(this.id):w.__inject__.getPlayerColor(this.getPlayerId(),this.id)}getPos(){return this.isGlobal()?w.__inject__.getPos(this.id):w.__inject__.getPlayerPos(this.getPlayerId(),this.id)}setDrawDistance(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?w.__inject__.setDrawDistance(this.id,t):w.__inject__.setPlayerDrawDistance(this.getPlayerId(),this.id,t)}getDrawDistance(){return this.isGlobal()?w.__inject__.getDrawDistance(this.id):w.__inject__.getPlayerDrawDistance(this.getPlayerId(),this.id)}getLOS(){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?w.__inject__.getLOS(this.id):w.__inject__.getPlayerLOS(this.getPlayerId(),this.id)}setLOS(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?w.__inject__.setLOS(this.id,t):w.__inject__.setPlayerLOS(this.getPlayerId(),this.id,t)}getVirtualWorld(){return this.id===l._3DTEXT_ID?0:this.isGlobal()?w.__inject__.getVirtualWorld(this.id):w.__inject__.getPlayerVirtualWorld(this.getPlayerId(),this.id)}setVirtualWorld(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?w.__inject__.setVirtualWorld(this.id,t):w.__inject__.setPlayerVirtualWorld(this.getPlayerId(),this.id,t)}getAttachedData(){return this.isGlobal()?w.__inject__.getAttachedData(this.id):w.__inject__.getPlayerAttachedData(this.getPlayerId(),this.id)}static isValid(t,i){return i===l.PLAYER_ID?!1:typeof i>"u"?w.__inject__.isValid(t):w.__inject__.isValidPlayer(i,t)}static getInstance(t,i){if(!i)return Ve.get(t);if(i.id!==l.PLAYER_ID)return J.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...J.get(t)?.values()||[]]:[...Ve.values()]}static getPlayersInstances(){return Array.from(J.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:wI,createPlayer:RI,getText:jI,getPlayerText:FI,updateText:OI,updatePlayerText:GI,delete:um,attachToPlayer:gm,attachToVehicle:mm,isStreamedIn:am,getColor:rm,getPos:nm,setDrawDistance:sm,getDrawDistance:lm,getLOS:om,setLOS:_m,getVirtualWorld:dm,setVirtualWorld:cm,getAttachedData:hm,isValid:im,deletePlayer:Dm,getPlayerColor:Pm,getPlayerPos:pm,setPlayerDrawDistance:Im,getPlayerDrawDistance:Sm,getPlayerLOS:ym,setPlayerLOS:Cm,getPlayerVirtualWorld:Em,setPlayerVirtualWorld:Am,getPlayerAttachedData:Nm,isValidPlayer:fm}}x.onExit(({next:e})=>(w.getInstances().forEach(t=>t.destroy()),w.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),Ve.clear(),J.clear(),e()));function qC(e,t){return(e&t)===t}function eE(e,t,i){return(e&i)===i&&(t&i)!==i}function tE(e,t){return!!(e&t)}function iE(e,t,i){return(e&i)!==i&&(t&i)===i}function aE(e){const t=new Set,i=e.prototype,a=Object.getOwnPropertyNames(i).filter(n=>typeof i[n]=="function"&&n!=="constructor").reduce((n,s)=>(n[s]=i[s],n),{});function r(n,s){if(t.has(n))throw new Error(`Method '${String(n)}' of class '${e.name}' has already been hooked. Each method can only be hooked once per defineHooks call. `);if(typeof Reflect.get(i,n)!="function")throw new Error(`Invalid method: ${String(n)}`);return Reflect.set(i,n,s),t.add(n),s}return[a,r]}exports.Actor=O,exports.ActorEvent=HC,exports.ArtworkEnum=vt,exports.BodyPartsEnum=kt,exports.BoneIdsEnum=xt,exports.BulletHitTypesEnum=zt,exports.CameraCutStylesEnum=Ze,exports.CameraModesEnum=Vt,exports.CarModTypeEnum=Wt,exports.CheckPointEvent=KC,exports.Checkpoint=Le,exports.ClickSourcesEnum=bt,exports.ConnectionStatusEnum=wt,exports.DamageDeathReasonEnum=gt,exports.Dialog=U,exports.DialogStylesEnum=ct,exports.Dynamic3DTextLabel=ee,exports.Dynamic3DTextLabelEvent=Zy,exports.DynamicActor=G,exports.DynamicActorEvent=Hy,exports.DynamicArea=v,exports.DynamicAreaEvent=eC,exports.DynamicCheckPointEvent=wy,exports.DynamicCheckpoint=W,exports.DynamicMapIcon=ne,exports.DynamicMapIconEvent=py,exports.DynamicObject=R,exports.DynamicObjectEvent=uy,exports.DynamicPickup=ie,exports.DynamicPickupEvent=Ay,exports.DynamicRaceCP=K,exports.DynamicRaceCPEvent=By,exports.E_STREAMER=le,exports.EditResponseTypesEnum=Lt,exports.FightingStylesEnum=dt,exports.ForceSyncEnum=Ht,exports.GameMode=x,exports.GameText=be,exports.GangZone=L,exports.GangZoneEvent=bC,exports.I18n=E,exports.InvalidEnum=l,exports.KeysEnum=Rt,exports.LimitsEnum=H,exports.MapIconStyles=lt,exports.MapIconStylesEnum=Bt,exports.MarkerModesEnum=Ot,exports.MaterialTextAlign=Qt,exports.MaterialTextSizes=nt,exports.Menu=k,exports.MenuEvent=CC,exports.NPCEntityCheckEnum=Xe,exports.NPCMoveSpeedEnum=Re,exports.NPCMoveTypeEnum=it,exports.NPCPlaybackEnum=Gt,exports.NPCRecordStatusEnum=jt,exports.NetStats=$,exports.Npc=u,exports.NpcEvent=IC,exports.NpcNode=He,exports.NpcPath=We,exports.NpcRecord=Ue,exports.ObjectMaterialAlignmentEnum=Mt,exports.ObjectMaterialTextSizeEnum=Ft,exports.ObjectMp=S,exports.ObjectMpEvent=BC,exports.PickUpEvent=QC,exports.Pickup=M,exports.Player=c,exports.PlayerEvent=At,exports.PlayerStateEnum=Ye,exports.RaceCheckpoint=we,exports.RaceCpEvent=YC,exports.RecordTypesEnum=Jt,exports.SelectObjectTypesEnum=ge,exports.SpecialActionsEnum=ht,exports.SpectateModesEnum=at,exports.Streamer=A,exports.StreamerAreaTypes=$t,exports.StreamerDistances=B,exports.StreamerItemTypes=T,exports.StreamerMiscellaneous=P,exports.StreamerObjectTypes=rt,exports.TextDraw=f,exports.TextDrawAlignEnum=Ut,exports.TextDrawEvent=RC,exports.TextDrawFontsEnum=ze,exports.TextLabel=w,exports.Vehicle=p,exports.VehicleEvent=ay,exports.VehicleModelInfoEnum=Xt,exports.VehicleParamsEnum=Kt,exports.WeaponEnum=Zt,exports.WeaponSkillsEnum=Yt,exports.WeaponStatesEnum=ut,exports.animateLib=Ti,exports.defineEvent=m,exports.defineHooks=aE,exports.getAnimateDurationByLibName=uI,exports.isHolding=qC,exports.isPressed=eE,exports.isPressing=tE,exports.isReleased=iE,exports.isValidAnimateLib=It,exports.isValidAnimateName=St,exports.rgba=N,exports.useTrigger=ts,exports.withTriggerOptions=is;
|
|
1
|
+
"use strict";var Hi=require("node:util"),Ui=require("iconv-lite"),vt=(e=>(e[e.DOWNLOAD_REQUEST_EMPTY=0]="DOWNLOAD_REQUEST_EMPTY",e[e.DOWNLOAD_REQUEST_MODEL_FILE=1]="DOWNLOAD_REQUEST_MODEL_FILE",e[e.DOWNLOAD_REQUEST_TEXTURE_FILE=2]="DOWNLOAD_REQUEST_TEXTURE_FILE",e))(vt||{}),bt=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(bt||{}),dt=(e=>(e[e.MSGBOX=0]="MSGBOX",e[e.INPUT=1]="INPUT",e[e.LIST=2]="LIST",e[e.PASSWORD=3]="PASSWORD",e[e.TABLIST=4]="TABLIST",e[e.TABLIST_HEADERS=5]="TABLIST_HEADERS",e))(dt||{}),Lt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(Lt||{}),wt=(e=>(e[e.NO_ACTION=0]="NO_ACTION",e[e.DISCONNECT_ASAP=1]="DISCONNECT_ASAP",e[e.DISCONNECT_ASAP_SILENTLY=2]="DISCONNECT_ASAP_SILENTLY",e[e.DISCONNECT_ON_NO_ACK=3]="DISCONNECT_ON_NO_ACK",e[e.REQUESTED_CONNECTION=4]="REQUESTED_CONNECTION",e[e.HANDLING_CONNECTION_REQUEST=5]="HANDLING_CONNECTION_REQUEST",e[e.UNVERIFIED_SENDER=6]="UNVERIFIED_SENDER",e[e.SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET=7]="SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET",e[e.CONNECTED=8]="CONNECTED",e))(wt||{}),l=(e=>(e[e.NO_TEAM=255]="NO_TEAM",e[e.PLAYER_ID=65535]="PLAYER_ID",e[e.NPC_ID=-1]="NPC_ID",e[e.PATH_ID=-1]="PATH_ID",e[e.NODE_ID=-1]="NODE_ID",e[e.RECORD_ID=-1]="RECORD_ID",e[e.VEHICLE_ID=65535]="VEHICLE_ID",e[e.ACTOR_ID=65535]="ACTOR_ID",e[e.OBJECT_ID=65535]="OBJECT_ID",e[e.MENU=-1]="MENU",e[e.TEXT_DRAW=65535]="TEXT_DRAW",e[e.PLAYER_TEXT_DRAW=65535]="PLAYER_TEXT_DRAW",e[e.GANG_ZONE=-1]="GANG_ZONE",e[e._3DTEXT_ID=65535]="_3DTEXT_ID",e[e.PLAYER_3DTEXT_ID=65535]="PLAYER_3DTEXT_ID",e[e.PICKUP_ID=-1]="PICKUP_ID",e))(l||{}),Rt=(e=>(e[e.NONE=0]="NONE",e[e.ACTION=1]="ACTION",e[e.CROUCH=2]="CROUCH",e[e.FIRE=4]="FIRE",e[e.SPRINT=8]="SPRINT",e[e.SECONDARY_ATTACK=16]="SECONDARY_ATTACK",e[e.JUMP=32]="JUMP",e[e.LOOK_RIGHT=64]="LOOK_RIGHT",e[e.HANDBRAKE=128]="HANDBRAKE",e[e.LOOK_LEFT=256]="LOOK_LEFT",e[e.SUBMISSION=512]="SUBMISSION",e[e.LOOK_BEHIND=512]="LOOK_BEHIND",e[e.WALK=1024]="WALK",e[e.ANALOG_UP=2048]="ANALOG_UP",e[e.ANALOG_DOWN=4096]="ANALOG_DOWN",e[e.ANALOG_LEFT=8192]="ANALOG_LEFT",e[e.ANALOG_RIGHT=16384]="ANALOG_RIGHT",e[e.YES=65536]="YES",e[e.NO=131072]="NO",e[e.CTRL_BACK=262144]="CTRL_BACK",e[e.KEY_UP=-128]="KEY_UP",e[e.KEY_DOWN=128]="KEY_DOWN",e[e.KEY_LEFT=-128]="KEY_LEFT",e[e.KEY_RIGHT=128]="KEY_RIGHT",e))(Rt||{}),H=(e=>(e[e.MAX_PLAYER_NAME=24]="MAX_PLAYER_NAME",e[e.MAX_PLAYERS=1e3]="MAX_PLAYERS",e[e.MAX_VEHICLES=2e3]="MAX_VEHICLES",e[e.MAX_ACTORS=1e3]="MAX_ACTORS",e[e.MAX_OBJECTS=1e3]="MAX_OBJECTS",e[e.MAX_GANG_ZONES=1024]="MAX_GANG_ZONES",e[e.MAX_TEXT_DRAWS=2048]="MAX_TEXT_DRAWS",e[e.MAX_PLAYER_TEXT_DRAWS=256]="MAX_PLAYER_TEXT_DRAWS",e[e.MAX_MENUS=128]="MAX_MENUS",e[e.MAX_MENU_ROW=12]="MAX_MENU_ROW",e[e.MAX_MENU_COL=2]="MAX_MENU_COL",e[e.MAX_3DTEXT_GLOBAL=1024]="MAX_3DTEXT_GLOBAL",e[e.MAX_3DTEXT_PLAYER=1024]="MAX_3DTEXT_PLAYER",e[e.MAX_PICKUPS=4096]="MAX_PICKUPS",e[e.MAX_PLAYER_ATTACHED_OBJECTS=10]="MAX_PLAYER_ATTACHED_OBJECTS",e[e.MAX_CHATBUBBLE_LENGTH=144]="MAX_CHATBUBBLE_LENGTH",e[e.NPC_MAX_NODES=64]="NPC_MAX_NODES",e[e.MAX_NPCS=1e3]="MAX_NPCS",e[e.MAX_WORLD_BOUNDS=2e4]="MAX_WORLD_BOUNDS",e[e.MIN_WORLD_BOUNDS=-2e4]="MIN_WORLD_BOUNDS",e[e.MAX_TEXTDRAW_STR_LENGTH=800]="MAX_TEXTDRAW_STR_LENGTH",e[e.MAX_VEHICLE_CARRIAGES=3]="MAX_VEHICLE_CARRIAGES",e[e.MAX_GAMETEXT_STYLES=16]="MAX_GAMETEXT_STYLES",e[e.MIN_CUSTOM_SKIN_ID=20001]="MIN_CUSTOM_SKIN_ID",e[e.MAX_CUSTOM_SKIN_ID=3e4]="MAX_CUSTOM_SKIN_ID",e[e.MIN_CUSTOM_OBJECT_ID=-3e4]="MIN_CUSTOM_OBJECT_ID",e[e.MAX_CUSTOM_OBJECT_ID=-1e3]="MAX_CUSTOM_OBJECT_ID",e))(H||{}),Ot=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(Ot||{}),Gt=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(Gt||{}),jt=(e=>(e[e.NONE=0]="NONE",e[e.START=1]="START",e[e.PAUSE=2]="PAUSE",e))(jt||{}),at=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.WALK=1]="WALK",e[e.JOG=2]="JOG",e[e.SPRINT=3]="SPRINT",e[e.DRIVE=4]="DRIVE",e[e.AUTO=5]="AUTO",e))(at||{}),Ze=(e=>(e[e.NONE=0]="NONE",e[e.PLAYER=1]="PLAYER",e[e.NPC=2]="NPC",e[e.ACTOR=4]="ACTOR",e[e.VEHICLE=8]="VEHICLE",e[e.OBJECT=16]="OBJECT",e[e.POBJECT_ORIG=32]="POBJECT_ORIG",e[e.POBJECT_TARG=64]="POBJECT_TARG",e[e.MAP=128]="MAP",e[e.ALL=255]="ALL",e))(Ze||{}),Re=(e=>(e[e.AUTO=-1]="AUTO",e[e.WALK=.1552086]="WALK",e[e.JOG=.56444]="JOG",e[e.SPRINT=.926784]="SPRINT",e))(Re||{}),Ft=(e=>(e[e._32x32=10]="_32x32",e[e._64x32=20]="_64x32",e[e._64x64=30]="_64x64",e[e._128x32=40]="_128x32",e[e._128x64=50]="_128x64",e[e._128x128=60]="_128x128",e[e._256x32=70]="_256x32",e[e._256x64=80]="_256x64",e[e._256x128=90]="_256x128",e[e._256x256=100]="_256x256",e[e._512x64=110]="_512x64",e[e._512x128=120]="_512x128",e[e._512x256=130]="_512x256",e[e._512x512=140]="_512x512",e))(Ft||{}),Mt=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Mt||{}),ue=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(ue||{}),ht=(e=>(e[e.NORMAL=0]="NORMAL",e[e.BOXING=1]="BOXING",e[e.KUNGFU=2]="KUNGFU",e[e.KNEEHEAD=3]="KNEEHEAD",e[e.GRABKICK=4]="GRABKICK",e[e.ELBOW=5]="ELBOW",e))(ht||{}),Vt=(e=>(e[e.LOCAL=0]="LOCAL",e[e.GLOBAL=1]="GLOBAL",e[e.LOCAL_CHECKPOINT=2]="LOCAL_CHECKPOINT",e[e.GLOBAL_CHECKPOINT=3]="GLOBAL_CHECKPOINT",e))(Vt||{}),Ye=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(Ye||{}),Bt=(e=>(e[e.BEHINDCAR=3]="BEHINDCAR",e[e.FOLLOWPED=4]="FOLLOWPED",e[e.SNIPER=7]="SNIPER",e[e.ROCKETLAUNCHER=8]="ROCKETLAUNCHER",e[e.FIXED=15]="FIXED",e[e._1STPERSON=16]="_1STPERSON",e[e.CAM_ON_A_STRING=18]="CAM_ON_A_STRING",e[e.BEHINDBOAT=22]="BEHINDBOAT",e[e.CAMERA=46]="CAMERA",e[e.ROCKETLAUNCHER_HS=51]="ROCKETLAUNCHER_HS",e[e.AIMWEAPON=53]="AIMWEAPON",e[e.AIMWEAPON_FROMCAR=55]="AIMWEAPON_FROMCAR",e[e.DW_HELI_CHASE=56]="DW_HELI_CHASE",e[e.DW_CAM_MAN=57]="DW_CAM_MAN",e[e.DW_BIRDY=58]="DW_BIRDY",e[e.DW_PLANE_SPOTTER=59]="DW_PLANE_SPOTTER",e[e.DW_PLANECAM1=62]="DW_PLANECAM1",e[e.DW_PLANECAM2=63]="DW_PLANECAM2",e[e.DW_PLANECAM3=64]="DW_PLANECAM3",e))(Bt||{}),rt=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(rt||{}),ze=(e=>(e[e.NONE=0]="NONE",e[e.ONFOOT=1]="ONFOOT",e[e.DRIVER=2]="DRIVER",e[e.PASSENGER=3]="PASSENGER",e[e.EXIT_VEHICLE=4]="EXIT_VEHICLE",e[e.ENTER_VEHICLE_DRIVER=5]="ENTER_VEHICLE_DRIVER",e[e.ENTER_VEHICLE_PASSENGER=6]="ENTER_VEHICLE_PASSENGER",e[e.WASTED=7]="WASTED",e[e.SPAWNED=8]="SPAWNED",e[e.SPECTATING=9]="SPECTATING",e))(ze||{}),kt=(e=>(e[e.TORSO=3]="TORSO",e[e.GROIN=4]="GROIN",e[e.LEFT_ARM=5]="LEFT_ARM",e[e.RIGHT_ARM=6]="RIGHT_ARM",e[e.LEFT_LEG=7]="LEFT_LEG",e[e.RIGHT_LEG=8]="RIGHT_LEG",e[e.HEAD=9]="HEAD",e))(kt||{}),xt=(e=>(e[e.Spine=1]="Spine",e[e.Head=2]="Head",e[e.LeftUpperArm=3]="LeftUpperArm",e[e.RightUpperArm=4]="RightUpperArm",e[e.LeftHand=5]="LeftHand",e[e.RightHand=6]="RightHand",e[e.LeftThigh=7]="LeftThigh",e[e.RightThigh=8]="RightThigh",e[e.LeftFoot=9]="LeftFoot",e[e.RightFoot=10]="RightFoot",e[e.RightCalf=11]="RightCalf",e[e.LeftCalf=12]="LeftCalf",e[e.LeftForearm=13]="LeftForearm",e[e.RightForearm=14]="RightForearm",e[e.LeftClavicle=15]="LeftClavicle",e[e.RightClavicle=16]="RightClavicle",e[e.Neck=17]="Neck",e[e.Jaw=18]="Jaw",e))(xt||{}),Ht=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.ALL=1]="ALL",e[e.OTHER=2]="OTHER",e))(Ht||{}),ut=(e=>(e[e.NONE=0]="NONE",e[e.DUCK=1]="DUCK",e[e.USEJETPACK=2]="USEJETPACK",e[e.ENTER_VEHICLE=3]="ENTER_VEHICLE",e[e.EXIT_VEHICLE=4]="EXIT_VEHICLE",e[e.DANCE1=5]="DANCE1",e[e.DANCE2=6]="DANCE2",e[e.DANCE3=7]="DANCE3",e[e.DANCE4=8]="DANCE4",e[e.HANDSUP=10]="HANDSUP",e[e.USECELLPHONE=11]="USECELLPHONE",e[e.SITTING=12]="SITTING",e[e.STOPUSECELLPHONE=13]="STOPUSECELLPHONE",e[e.DRINK_BEER=20]="DRINK_BEER",e[e.SMOKE_CIGGY=21]="SMOKE_CIGGY",e[e.DRINK_WINE=22]="DRINK_WINE",e[e.DRINK_SPRUNK=23]="DRINK_SPRUNK",e[e.CUFFED=24]="CUFFED",e[e.CARRY=25]="CARRY",e[e.PISSING=68]="PISSING",e))(ut||{}),Je=(e=>(e[e.FONT_0=0]="FONT_0",e[e.FONT_1=1]="FONT_1",e[e.FONT_2=2]="FONT_2",e[e.FONT_3=3]="FONT_3",e[e.SPRITE_DRAW=4]="SPRITE_DRAW",e[e.MODEL_PREVIEW=5]="MODEL_PREVIEW",e[e.BANK=0]="BANK",e[e.STANDARD=1]="STANDARD",e[e.SPACEAGE=2]="SPACEAGE",e[e.HEADING=3]="HEADING",e[e.BECKETT_REGULAR=0]="BECKETT_REGULAR",e[e.AHARONI_BOLD=1]="AHARONI_BOLD",e[e.BANK_GOTHIC=2]="BANK_GOTHIC",e[e.PRICEDOWN=3]="PRICEDOWN",e[e.SPRITE=4]="SPRITE",e[e.PREVIEW=5]="PREVIEW",e))(Je||{}),Ut=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(Ut||{}),Wt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=-1]="NONE",e[e.SPOILER=0]="SPOILER",e[e.HOOD=1]="HOOD",e[e.ROOF=2]="ROOF",e[e.SIDESKIRT=3]="SIDESKIRT",e[e.LAMPS=4]="LAMPS",e[e.NITRO=5]="NITRO",e[e.EXHAUST=6]="EXHAUST",e[e.WHEELS=7]="WHEELS",e[e.STEREO=8]="STEREO",e[e.HYDRAULICS=9]="HYDRAULICS",e[e.FRONT_BUMPER=10]="FRONT_BUMPER",e[e.REAR_BUMPER=11]="REAR_BUMPER",e[e.VENT_RIGHT=12]="VENT_RIGHT",e[e.VENT_LEFT=13]="VENT_LEFT",e[e.FRONT_BULLBAR=14]="FRONT_BULLBAR",e[e.REAR_BULLBAR=15]="REAR_BULLBAR",e))(Wt||{}),Kt=(e=>(e[e.UNSET=-1]="UNSET",e[e.OFF=0]="OFF",e[e.ON=1]="ON",e))(Kt||{}),Xt=(e=>(e[e.SIZE=1]="SIZE",e[e.FRONTSEAT=2]="FRONTSEAT",e[e.REARSEAT=3]="REARSEAT",e[e.PETROLCAP=4]="PETROLCAP",e[e.WHEELSFRONT=5]="WHEELSFRONT",e[e.WHEELSREAR=6]="WHEELSREAR",e[e.WHEELSMID=7]="WHEELSMID",e[e.FRONT_BUMPER_Z=8]="FRONT_BUMPER_Z",e[e.REAR_BUMPER_Z=9]="REAR_BUMPER_Z",e))(Xt||{}),Zt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.REASON_VEHICLE=49]="REASON_VEHICLE",e[e.REASON_DROWN=53]="REASON_DROWN",e[e.REASON_COLLISION=54]="REASON_COLLISION",e[e.REASON_SPLAT=54]="REASON_SPLAT",e[e.REASON_CONNECT=200]="REASON_CONNECT",e[e.REASON_DISCONNECT=200]="REASON_DISCONNECT",e[e.REASON_SUICIDE=255]="REASON_SUICIDE",e[e.FIST=0]="FIST",e[e.BRASSKNUCKLE=1]="BRASSKNUCKLE",e[e.GOLFCLUB=2]="GOLFCLUB",e[e.NIGHTSTICK=3]="NIGHTSTICK",e[e.KNIFE=4]="KNIFE",e[e.BAT=5]="BAT",e[e.SHOVEL=6]="SHOVEL",e[e.POOLSTICK=7]="POOLSTICK",e[e.KATANA=8]="KATANA",e[e.CHAINSAW=9]="CHAINSAW",e[e.DILDO=10]="DILDO",e[e.DILDO2=11]="DILDO2",e[e.VIBRATOR=12]="VIBRATOR",e[e.VIBRATOR2=13]="VIBRATOR2",e[e.FLOWER=14]="FLOWER",e[e.CANE=15]="CANE",e[e.GRENADE=16]="GRENADE",e[e.TEARGAS=17]="TEARGAS",e[e.MOLTOV=18]="MOLTOV",e[e.COLT45=22]="COLT45",e[e.SILENCED=23]="SILENCED",e[e.DEAGLE=24]="DEAGLE",e[e.SHOTGUN=25]="SHOTGUN",e[e.SAWEDOFF=26]="SAWEDOFF",e[e.SHOTGSPA=27]="SHOTGSPA",e[e.UZI=28]="UZI",e[e.MP5=29]="MP5",e[e.AK47=30]="AK47",e[e.M4=31]="M4",e[e.TEC9=32]="TEC9",e[e.RIFLE=33]="RIFLE",e[e.SNIPER=34]="SNIPER",e[e.ROCKETLAUNCHER=35]="ROCKETLAUNCHER",e[e.HEATSEEKER=36]="HEATSEEKER",e[e.FLAMETHROWER=37]="FLAMETHROWER",e[e.MINIGUN=38]="MINIGUN",e[e.SATCHEL=39]="SATCHEL",e[e.BOMB=40]="BOMB",e[e.SPRAYCAN=41]="SPRAYCAN",e[e.FIREEXTINGUISHER=42]="FIREEXTINGUISHER",e[e.CAMERA=43]="CAMERA",e[e.NIGHT_VISION_GOGGLES=44]="NIGHT_VISION_GOGGLES",e[e.THERMAL_GOGGLES=45]="THERMAL_GOGGLES",e[e.PARACHUTE=46]="PARACHUTE",e))(Zt||{}),Yt=(e=>(e[e.PISTOL=0]="PISTOL",e[e.PISTOL_SILENCED=1]="PISTOL_SILENCED",e[e.DESERT_EAGLE=2]="DESERT_EAGLE",e[e.SHOTGUN=3]="SHOTGUN",e[e.SAWNOFF_SHOTGUN=4]="SAWNOFF_SHOTGUN",e[e.SPAS12_SHOTGUN=5]="SPAS12_SHOTGUN",e[e.MICRO_UZI=6]="MICRO_UZI",e[e.MP5=7]="MP5",e[e.AK47=8]="AK47",e[e.M4=9]="M4",e[e.SNIPERRIFLE=10]="SNIPERRIFLE",e))(Yt||{}),zt=(e=>(e[e.NONE=0]="NONE",e[e.PLAYER=1]="PLAYER",e[e.VEHICLE=2]="VEHICLE",e[e.OBJECT=3]="OBJECT",e[e.PLAYER_OBJECT=4]="PLAYER_OBJECT",e))(zt||{}),gt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NO_BULLETS=0]="NO_BULLETS",e[e.LAST_BULLET=1]="LAST_BULLET",e[e.MORE_BULLETS=2]="MORE_BULLETS",e[e.RELOADING=3]="RELOADING",e))(gt||{}),mt=(e=>(e[e.VEHICLE=49]="VEHICLE",e[e.HELICOPTERBLADES=50]="HELICOPTERBLADES",e[e.EXPLOSION=51]="EXPLOSION",e[e.DROWN=53]="DROWN",e[e.COLLISION=54]="COLLISION",e[e.CONNECT=200]="CONNECT",e[e.DISCONNECT=201]="DISCONNECT",e[e.SUICIDE=255]="SUICIDE",e))(mt||{}),Jt=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(Jt||{}),$t=(e=>(e[e.CIRCLE=0]="CIRCLE",e[e.CYLINDER=1]="CYLINDER",e[e.SPHERE=2]="SPHERE",e[e.RECTANGLE=3]="RECTANGLE",e[e.CUBOID=4]="CUBOID",e[e.POLYGON=5]="POLYGON",e))($t||{}),V=(e=>(e[e.OBJECT_SD=300]="OBJECT_SD",e[e.OBJECT_DD=0]="OBJECT_DD",e[e.PICKUP_SD=200]="PICKUP_SD",e[e.CP_SD=200]="CP_SD",e[e.RACE_CP_SD=200]="RACE_CP_SD",e[e.MAP_ICON_SD=200]="MAP_ICON_SD",e[e.TEXT_3D_LABEL_SD=200]="TEXT_3D_LABEL_SD",e[e.ACTOR_SD=200]="ACTOR_SD",e))(V||{}),T=(e=>(e[e.OBJECT=0]="OBJECT",e[e.PICKUP=1]="PICKUP",e[e.CP=2]="CP",e[e.RACE_CP=3]="RACE_CP",e[e.MAP_ICON=4]="MAP_ICON",e[e.TEXT_3D_LABEL=5]="TEXT_3D_LABEL",e[e.AREA=6]="AREA",e[e.ACTOR=7]="ACTOR",e))(T||{}),P=(e=>(e[e.MAX_TYPES=8]="MAX_TYPES",e[e.MAX_AREA_TYPES=5]="MAX_AREA_TYPES",e[e.MAX_OBJECT_TYPES=3]="MAX_OBJECT_TYPES",e[e.INVALID_ID=0]="INVALID_ID",e))(P||{}),nt=(e=>(e[e.GLOBAL=0]="GLOBAL",e[e.PLAYER=1]="PLAYER",e[e.DYNAMIC=2]="DYNAMIC",e))(nt||{}),le=(e=>(e[e.AREA_ID=0]="AREA_ID",e[e.ATTACHED_OBJECT=1]="ATTACHED_OBJECT",e[e.ATTACHED_PLAYER=2]="ATTACHED_PLAYER",e[e.ATTACHED_VEHICLE=3]="ATTACHED_VEHICLE",e[e.ATTACH_OFFSET_X=4]="ATTACH_OFFSET_X",e[e.ATTACH_OFFSET_Y=5]="ATTACH_OFFSET_Y",e[e.ATTACH_OFFSET_Z=6]="ATTACH_OFFSET_Z",e[e.ATTACH_R_X=7]="ATTACH_R_X",e[e.ATTACH_R_Y=8]="ATTACH_R_Y",e[e.ATTACH_R_Z=9]="ATTACH_R_Z",e[e.ATTACH_X=10]="ATTACH_X",e[e.ATTACH_Y=11]="ATTACH_Y",e[e.ATTACH_Z=12]="ATTACH_Z",e[e.COLOR=13]="COLOR",e[e.DRAW_DISTANCE=14]="DRAW_DISTANCE",e[e.EXTRA_ID=15]="EXTRA_ID",e[e.HEALTH=16]="HEALTH",e[e.INTERIOR_ID=17]="INTERIOR_ID",e[e.INVULNERABLE=18]="INVULNERABLE",e[e.MAX_X=19]="MAX_X",e[e.MAX_Y=20]="MAX_Y",e[e.MAX_Z=21]="MAX_Z",e[e.MIN_X=22]="MIN_X",e[e.MIN_Y=23]="MIN_Y",e[e.MIN_Z=24]="MIN_Z",e[e.MODEL_ID=25]="MODEL_ID",e[e.MOVE_R_X=26]="MOVE_R_X",e[e.MOVE_R_Y=27]="MOVE_R_Y",e[e.MOVE_R_Z=28]="MOVE_R_Z",e[e.MOVE_SPEED=29]="MOVE_SPEED",e[e.MOVE_X=30]="MOVE_X",e[e.MOVE_Y=31]="MOVE_Y",e[e.MOVE_Z=32]="MOVE_Z",e[e.NEXT_X=33]="NEXT_X",e[e.NEXT_Y=34]="NEXT_Y",e[e.NEXT_Z=35]="NEXT_Z",e[e.PLAYER_ID=36]="PLAYER_ID",e[e.PRIORITY=37]="PRIORITY",e[e.ROTATION=38]="ROTATION",e[e.R_X=39]="R_X",e[e.R_Y=40]="R_Y",e[e.R_Z=41]="R_Z",e[e.SIZE=42]="SIZE",e[e.STREAM_DISTANCE=43]="STREAM_DISTANCE",e[e.STYLE=44]="STYLE",e[e.SYNC_ROTATION=45]="SYNC_ROTATION",e[e.TEST_LOS=46]="TEST_LOS",e[e.TYPE=47]="TYPE",e[e.WORLD_ID=48]="WORLD_ID",e[e.X=49]="X",e[e.Y=50]="Y",e[e.Z=51]="Z",e))(le||{}),Qt=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Qt||{}),st=(e=>(e[e.SIZE_32x32=10]="SIZE_32x32",e[e.SIZE_64x32=20]="SIZE_64x32",e[e.SIZE_64x64=30]="SIZE_64x64",e[e.SIZE_128x32=40]="SIZE_128x32",e[e.SIZE_128x64=50]="SIZE_128x64",e[e.SIZE_128x128=60]="SIZE_128x128",e[e.SIZE_256x32=70]="SIZE_256x32",e[e.SIZE_256x64=80]="SIZE_256x64",e[e.SIZE_256x128=90]="SIZE_256x128",e[e.SIZE_256x256=100]="SIZE_256x256",e[e.SIZE_512x64=110]="SIZE_512x64",e[e.SIZE_512x128=120]="SIZE_512x128",e[e.SIZE_512x256=130]="SIZE_512x256",e[e.SIZE_512x512=140]="SIZE_512x512",e))(st||{});const qt=-1,Wi=-1,Ki=-1,Xi=-1,Zi=0,Yi=-1e3,zi=-1e3,Ji=-1e3,$i=0,ei=32,Qi=300,qi=!0,lt=1,ea=e=>samp.callNative("DestroyDynamic3DTextLabel","i",e),ti=e=>!!samp.callNative("IsValidDynamic3DTextLabel","i",e),ta=(e,t,i,a,r,n=!0,s=100,o=0,_=-1,d=-1,h=V.ACTOR_SD,g=-1,I=0)=>samp.callNative("CreateDynamicActor","iffffifiiifii",e,t,i,a,r,n,s,o,_,d,h,g,I),ia=e=>samp.callNative("DestroyDynamicActor","i",e),aa=e=>!!samp.callNative("IsValidDynamicActor","i",e),ra=(e,t)=>!!samp.callNative("IsDynamicActorStreamedIn","ii",e,t),na=e=>samp.callNative("GetDynamicActorVirtualWorld","i",e),sa=(e,t)=>samp.callNative("SetDynamicActorVirtualWorld","ii",e,t),la=(e,t,i,a,r,n,s,o,_)=>samp.callNative("ApplyDynamicActorAnimation","issfiiiii",e,t,i,a,r,n,s,o,_),oa=e=>samp.callNative("ClearDynamicActorAnimations","i",e),_a=e=>{const[t,i]=samp.callNative("GetDynamicActorFacingAngle","iF",e);return{angle:t,ret:i}},ca=(e,t)=>samp.callNative("SetDynamicActorFacingAngle","if",e,t),da=e=>{const[t,i,a,r]=samp.callNative("GetDynamicActorPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},ha=(e,t,i,a)=>samp.callNative("SetDynamicActorPos","ifff",e,t,i,a),ua=e=>{const[t,i]=samp.callNative("GetDynamicActorHealth","iF",e);return{health:t,ret:i}},ga=(e,t)=>samp.callNative("SetDynamicActorHealth","if",e,t),ma=(e,t=!0)=>samp.callNative("SetDynamicActorInvulnerable","ii",e,t),fa=e=>!!samp.callNative("IsDynamicActorInvulnerable","i",e),Pa=e=>samp.callNative("GetPlayerTargetDynamicActor","i",e),pa=e=>samp.callNative("GetPlayerCameraTargetDynActor","i",e),Ia=e=>{const[t,i,a=0,r=0,n=0,s=0,o=0,_=0,d]=samp.callNative("GetDynamicActorAnimation","iSSFIIIIIii",e,32,32);return{animLib:t,animName:i,fDelta:a,loop:r,lockX:n,lockY:s,freeze:o,time:_,ret:d}},Sa=(e,t,i,a=-1,r=-1,n=-1,s=0)=>samp.callNative("CreateDynamicCircle","fffiiii",e,t,i,a,r,n,s),ya=(e,t,i,a,r,n=-1,s=-1,o=-1,_=0)=>samp.callNative("CreateDynamicCylinder","fffffiiii",e,t,i,a,r,n,s,o,_),Ca=(e,t,i,a,r=-1,n=-1,s=-1,o=0)=>samp.callNative("CreateDynamicSphere","ffffiiii",e,t,i,a,r,n,s,o),Ea=(e,t,i,a,r=-1,n=-1,s=-1,o=0)=>samp.callNative("CreateDynamicRectangle","ffffiiii",e,t,i,a,r,n,s,o),Aa=(e,t,i,a,r,n,s=-1,o=-1,_=-1,d=0)=>samp.callNative("CreateDynamicCuboid","ffffffiiii",e,t,i,a,r,n,s,o,_,d),Na=(e,t=Number.MIN_VALUE,i=Number.MAX_VALUE,a=-1,r=-1,n=-1,s=0)=>samp.callNative("CreateDynamicPolygon","affiiiii",e,t,i,e.length,a,r,n,s),Da=e=>samp.callNative("DestroyDynamicArea","i",e),Ta=e=>!!samp.callNative("IsValidDynamicArea","i",e),va=e=>samp.callNative("GetDynamicAreaType","i",e),ba=e=>{const[t,i]=samp.callNative("GetDynamicPolygonPoints","iAi",e,ii(e));return{points:t,ret:i}},ii=e=>samp.callNative("GetDynamicPolygonNumberPoints","i",e),La=(e,t,i=!1)=>!!samp.callNative("IsPlayerInDynamicArea","iii",e,t,i),wa=(e,t=!1)=>!!samp.callNative("IsPlayerInAnyDynamicArea","ii",e,t),Ra=(e,t=!1)=>!!samp.callNative("IsAnyPlayerInDynamicArea","ii",e,t),Oa=(e=!1)=>!!samp.callNative("IsAnyPlayerInAnyDynamicArea","i",e),Ga=e=>{const[t,i]=samp.callNative("GetPlayerDynamicAreas","iAi",e,ai(e));return{areas:t,ret:i}},ai=e=>samp.callNative("GetPlayerNumberDynamicAreas","i",e),ja=(e,t,i,a)=>!!samp.callNative("IsPointInDynamicArea","ifff",e,t,i,a),Fa=(e,t,i)=>!!samp.callNative("IsPointInAnyDynamicArea","fff",e,t,i),Ma=(e,t,i,a,r,n,s)=>!!samp.callNative("IsLineInDynamicArea","iffffff",e,t,i,a,r,n,s),Va=(e,t,i,a,r,n)=>!!samp.callNative("IsLineInAnyDynamicArea","ffffff",e,t,i,a,r,n),Ba=(e,t,i)=>{const[a,r]=samp.callNative("GetDynamicAreasForPoint","fffAi",e,t,i,ri(e,t,i));return{areas:a,ret:r}},ri=(e,t,i)=>samp.callNative("GetNumberDynamicAreasForPoint","fff",e,t,i),ka=(e,t,i,a,r,n)=>{const[s,o]=samp.callNative("GetDynamicAreasForLine","ffffffAi",e,t,i,a,r,n,ni(e,t,i,a,r,n));return{areas:s,ret:o}},ni=(e,t,i,a,r,n)=>samp.callNative("GetNumberDynamicAreasForLine","ffffff",e,t,i,a,r,n),xa=(e,t,i=nt.DYNAMIC,a=65535,r=0,n=0,s=0)=>samp.callNative("AttachDynamicAreaToObject","iiiifff",e,t,i,a,r,n,s),Ha=(e,t,i=0,a=0,r=0)=>samp.callNative("AttachDynamicAreaToPlayer","iifff",e,t,i,a,r),Ua=(e,t,i=0,a=0,r=0)=>samp.callNative("AttachDynamicAreaToVehicle","iifff",e,t,i,a,r),Wa=(e,t)=>samp.callNative("ToggleDynAreaSpectateMode","ii",e,t),Ka=e=>!!samp.callNative("IsToggleDynAreaSpectateMode","i",e),Xa=(e,t,i,a,r=-1,n=-1,s=-1,o=V.CP_SD,_=-1,d=0)=>samp.callNative("CreateDynamicCP","ffffiiifii",e,t,i,a,r,n,s,o,_,d),Za=e=>samp.callNative("DestroyDynamicCP","i",e),ft=e=>!!samp.callNative("IsValidDynamicCP","i",e),Ya=(e,t,i)=>samp.callNative("TogglePlayerDynamicCP","iii",e,t,i),za=(e,t)=>samp.callNative("TogglePlayerAllDynamicCPs","ii",e,t),Ja=(e,t)=>!!samp.callNative("IsPlayerInDynamicCP","ii",e,t),$a=e=>samp.callNative("GetPlayerVisibleDynamicCP","i",e),Qa=(e,t,i)=>{const[a,r]=samp.callNative("Streamer_GetFloatData","iiiF",e,t,i);return{val:a,ret:r}},qa=(e,t,i,a)=>samp.callNative("Streamer_SetFloatData","iiif",e,t,i,a),er=(e,t,i)=>samp.callNative("Streamer_GetIntData","iii",e,t,i),tr=(e,t,i,a)=>samp.callNative("Streamer_SetIntData","iiii",e,t,i,a),ir=(e,t,i)=>{const[a,r]=samp.callNative("Streamer_GetArrayData","iiiAi",e,t,i,si(e,t,i));return{arrayData:a,ret:r}},ar=(e,t,i,a)=>samp.callNative("Streamer_SetArrayData","iiiai",e,t,i,a,a.length),rr=(e,t,i,a)=>!!samp.callNative("Streamer_IsInArrayData","iiii",e,t,i,a),nr=(e,t,i,a)=>samp.callNative("Streamer_AppendArrayData","iiii",e,t,i,a),sr=(e,t,i,a)=>samp.callNative("Streamer_RemoveArrayData","iiii",e,t,i,a),si=(e,t,i)=>samp.callNative("Streamer_GetArrayDataLength","iii",e,t,i),lr=e=>samp.callNative("Streamer_GetUpperBound","i",e);var ot=(e=>(e[e.LOCAL=0]="LOCAL",e[e.GLOBAL=1]="GLOBAL",e[e.LOCAL_CHECKPOINT=2]="LOCAL_CHECKPOINT",e[e.GLOBAL_CHECKPOINT=3]="GLOBAL_CHECKPOINT",e))(ot||{});const or=(e,t,i,a,r,n=-1,s=-1,o=-1,_=V.MAP_ICON_SD,d=0,h=-1,g=0)=>samp.callNative("CreateDynamicMapIcon","fffiiiiifiii",e,t,i,a,r,n,s,o,_,d,h,g),_r=e=>samp.callNative("DestroyDynamicMapIcon","i",e),cr=e=>!!samp.callNative("IsValidDynamicMapIcon","i",e),dr=(e,t,i,a,r,n,s,o=V.OBJECT_SD,_=V.OBJECT_DD,d=[-1],h=[-1],g=[-1],I=[-1],C=0)=>samp.callNative("CreateDynamicObjectEx","iffffffffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,g,I,C,d.length,h.length,g.length,I.length),hr=(e,t,i,a,r,n=V.PICKUP_SD,s=[-1],o=[-1],_=[-1],d=[-1],h=0)=>samp.callNative("CreateDynamicPickupEx","iiffffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,s.length,o.length,_.length,d.length),ur=(e,t,i,a,r=V.CP_SD,n=[-1],s=[-1],o=[-1],_=[-1],d=0)=>samp.callNative("CreateDynamicCPEx","fffffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,n.length,s.length,o.length,_.length),gr=(e,t,i,a,r,n,s,o,_=V.RACE_CP_SD,d=[-1],h=[-1],g=[-1],I=[-1],C=0)=>samp.callNative("CreateDynamicRaceCPEx","iffffffffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,g,I,C,d.length,h.length,g.length,I.length),mr=(e,t,i,a,r,n=ot.LOCAL,s=V.MAP_ICON_SD,o=[-1],_=[-1],d=[-1],h=[-1],g=0)=>samp.callNative("CreateDynamicMapIconEx","fffiiifaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,g,o.length,_.length,d.length,h.length),fr=(e,t,i,a=[-1],r=[-1],n=[-1],s=0)=>samp.callNative("CreateDynamicCircleEx","fffaaaiiii",e,t,i,a,r,n,a.length,r.length,n.length,s),Pr=(e,t,i,a,r,n=[-1],s=[-1],o=[-1],_=0)=>samp.callNative("CreateDynamicCylinderEx","fffffaaaiiii",e,t,i,a,r,n,s,o,n.length,s.length,o.length,_),pr=(e,t,i,a,r=[-1],n=[-1],s=[-1],o=0)=>samp.callNative("CreateDynamicSphereEx","ffffaaaiiii",e,t,i,a,r,n,s,r.length,n.length,s.length,o),Ir=(e,t,i,a,r=[-1],n=[-1],s=[-1],o=0)=>samp.callNative("CreateDynamicRectangleEx","ffffaaaiiii",e,t,i,a,r,n,s,r.length,n.length,s.length,o),Sr=(e,t,i,a,r,n,s=[-1],o=[-1],_=[-1],d=0)=>samp.callNative("CreateDynamicCuboidEx","ffffffaaaiiii",e,t,i,a,r,n,s,o,_,s.length,o.length,_.length,d),yr=(e,t=Number.MIN_VALUE,i=Number.MAX_VALUE,a=[-1],r=[-1],n=[-1],s=0)=>samp.callNative("CreateDynamicPolygonEx","affiaaaiiii",e,t,i,e.length,a,r,n,a.length,r.length,n.length,s),Cr=(e,t,i,a,r,n=!0,s=100,o=V.ACTOR_SD,_=[0],d=[-1],h=[-1],g=[-1],I=0)=>samp.callNative("CreateDynamicActorEx","iffffiffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,g,I,_.length,d.length,h.length,g.length),Er=(e,t,i,a,r,n=3)=>{const[s,o]=samp.callNative("Streamer_GetDistanceToItem","fffiiFi",e,t,i,a,r,n);return{distance:s,ret:o}},Ar=(e,t,i,a)=>samp.callNative("Streamer_ToggleItem","iiii",e,t,i,a),Nr=(e,t,i)=>!!samp.callNative("Streamer_IsToggleItem","iii",e,t,i),Dr=(e,t,i,a=[-1])=>samp.callNative("Streamer_ToggleAllItems","iiiai",e,t,i,a,a.length),Tr=(e,t,i)=>samp.callNative("Streamer_GetItemInternalID","iii",e,t,i),vr=(e,t,i)=>samp.callNative("Streamer_GetItemStreamerID","iii",e,t,i),br=(e,t,i)=>!!samp.callNative("Streamer_IsItemVisible","iii",e,t,i),Lr=(e,t,i=lt)=>samp.callNative("Streamer_DestroyAllVisibleItems","iii",e,t,i),wr=(e,t,i=lt)=>samp.callNative("Streamer_CountVisibleItems","iii",e,t,i),Rr=(e,t=lt)=>samp.callNative("Streamer_DestroyAllItems","ii",e,t),Or=(e,t=lt)=>samp.callNative("Streamer_CountItems","ii",e,t),Gr=(e,t,i,a,r=ei,n=Qi,s=qt)=>{const[o=[],_=0]=samp.callNative("Streamer_GetNearbyItems","fffiAifi",e,t,i,a,r,n,s);return o.slice(0,_)},jr=(e,t,i=ei)=>{const[a=[],r=0]=samp.callNative("Streamer_GetAllVisibleItems","iiAi",e,t,i);return a.slice(0,r)},Fr=(e,t)=>{const[i,a,r,n]=samp.callNative("Streamer_GetItemPos","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},Mr=(e,t,i,a,r)=>samp.callNative("Streamer_SetItemPos","iifff",e,t,i,a,r),Vr=(e,t)=>{const[i,a,r,n]=samp.callNative("Streamer_GetItemOffset","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},Br=(e,t,i,a,r)=>samp.callNative("Streamer_SetItemOffset","iifff",e,t,i,a,r),kr=(e,t,i,a,r,n,s,o=qt,_=Wi,d=Ki,h=V.OBJECT_SD,g=V.OBJECT_DD,I=Xi,C=Zi)=>samp.callNative("CreateDynamicObject","iffffffiiiffii",e,t,i,a,r,n,s,o,_,d,h,g,I,C),xr=e=>samp.callNative("DestroyDynamicObject","i",e),Hr=e=>!!samp.callNative("IsValidDynamicObject","i",e),Ur=e=>{const[t,i,a,r]=samp.callNative("GetDynamicObjectPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},Wr=(e,t,i,a)=>samp.callNative("SetDynamicObjectPos","ifff",e,t,i,a),Kr=e=>{const[t,i,a,r]=samp.callNative("GetDynamicObjectRot","iFFF",e);return{rx:t,ry:i,rz:a,ret:r}},Xr=(e,t,i,a)=>samp.callNative("SetDynamicObjectRot","ifff",e,t,i,a),Zr=(e,t,i,a,r,n=Yi,s=zi,o=Ji)=>samp.callNative("MoveDynamicObject","ifffffff",e,t,i,a,r,n,s,o),Yr=e=>samp.callNative("StopDynamicObject","i",e),zr=e=>!!samp.callNative("IsDynamicObjectMoving","i",e),Jr=(e,t)=>samp.callNative("AttachCameraToDynamicObject","ii",e,t),$r=(e,t,i,a,r,n,s,o,_=qi)=>samp.callNative("AttachDynamicObjectToObject","iiffffffi",e,t,i,a,r,n,s,o,_),Qr=(e,t,i,a,r,n,s,o)=>samp.callNative("AttachDynamicObjectToPlayer","iiffffff",e,t,i,a,r,n,s,o),qr=(e,t,i,a,r,n,s,o)=>samp.callNative("AttachDynamicObjectToVehicle","iiffffff",e,t,i,a,r,n,s,o),en=(e,t)=>samp.callNative("EditDynamicObject","ii",e,t),tn=(e,t)=>!!samp.callNative("IsDynamicObjectMaterialUsed","ii",e,t),an=(e,t)=>samp.callNative("RemoveDynamicObjectMaterial","ii",e,t),rn=(e,t,i,a,r,n=$i)=>samp.callNative("SetDynamicObjectMaterial","iiissi",e,t,i,a,r,n),nn=(e,t)=>!!samp.callNative("IsDynamicObjectMaterialTextUsed","ii",e,t),sn=(e,t)=>samp.callNative("RemoveDynamicObjectMaterialText","ii",e,t),ln=e=>samp.callNative("GetPlayerCameraTargetDynObject","i",e),on=e=>!!samp.callNative("SetDynamicObjectNoCameraCol","i",e),_n=e=>!!samp.callNative("GetDynamicObjectNoCameraCol","i",e),cn=(e,t,i,a,r,n=-1,s=-1,o=-1,_=V.PICKUP_SD,d=-1,h=0)=>samp.callNative("CreateDynamicPickup","iifffiiifii",e,t,i,a,r,n,s,o,_,d,h),dn=e=>!!samp.callNative("DestroyDynamicPickup","i",e),hn=e=>!!samp.callNative("IsValidDynamicPickup","i",e),un=(e,t,i,a,r,n,s,o,_=-1,d=-1,h=-1,g=V.RACE_CP_SD,I=-1,C=0)=>samp.callNative("CreateDynamicRaceCP","ifffffffiiifii",e,t,i,a,r,n,s,o,_,d,h,g,I,C),gn=e=>samp.callNative("DestroyDynamicRaceCP","i",e),mn=(e,t,i)=>samp.callNative("TogglePlayerDynamicRaceCP","iii",e,t,i),fn=(e,t)=>samp.callNative("TogglePlayerAllDynamicRaceCPs","ii",e,t),Pn=(e,t)=>!!samp.callNative("IsPlayerInDynamicRaceCP","ii",e,t),pn=e=>samp.callNative("GetPlayerVisibleDynamicRaceCP","i",e),In=()=>samp.callNative("Streamer_GetTickRate",""),Sn=(e=50)=>samp.callNative("Streamer_SetTickRate","i",e),yn=e=>samp.callNative("Streamer_GetPlayerTickRate","i",e),Cn=(e,t=50)=>samp.callNative("Streamer_SetPlayerTickRate","ii",e,t),En=(e=!1)=>samp.callNative("Streamer_ToggleChunkStream","i",e),An=()=>!!samp.callNative("Streamer_IsToggleChunkStream",""),li=(e,t=-1)=>samp.callNative("Streamer_GetChunkTickRate","ii",e,t),oi=(e,t,i=-1)=>samp.callNative("Streamer_SetChunkTickRate","iii",e,t,i),Nn=e=>samp.callNative("Streamer_GetChunkSize","i",e),Dn=(e,t)=>samp.callNative("Streamer_SetChunkSize","ii",e,t),Tn=e=>samp.callNative("Streamer_GetMaxItems","i",e),vn=(e,t)=>samp.callNative("Streamer_SetMaxItems","ii",e,t),_i=(e,t=-1)=>samp.callNative("Streamer_GetVisibleItems","ii",e,t),ci=(e,t,i=-1)=>samp.callNative("Streamer_SetVisibleItems","iii",e,t,i),di=(e,t=-1)=>{const[i,a]=samp.callNative("Streamer_GetRadiusMultiplier","iFi",e,t);return{multiplier:i,ret:a}},hi=(e,t,i=-1)=>samp.callNative("Streamer_SetRadiusMultiplier","ifi",e,t,i),bn=()=>{const[e,t]=samp.callNative("Streamer_GetTypePriority","Ai",P.MAX_TYPES);return{priority:e,ret:t}},Ln=e=>samp.callNative("Streamer_SetTypePriority","ai",e,P.MAX_TYPES),wn=()=>{const[e,t]=samp.callNative("Streamer_GetCellDistance","F");return{distance:e,ret:t}},Rn=(e=600)=>samp.callNative("Streamer_SetCellDistance","f",e),On=()=>{const[e,t]=samp.callNative("Streamer_GetCellSize","F");return{size:e,ret:t}},Gn=(e=300)=>samp.callNative("Streamer_SetCellSize","f",e),jn=(e,t,i)=>samp.callNative("Streamer_ToggleItemStatic","iii",e,t,i),Fn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemStatic","ii",e,t),Mn=(e,t,i)=>samp.callNative("Streamer_ToggleItemInvAreas","iii",e,t,i),Vn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemInvAreas","ii",e,t),Bn=(e,t,i)=>samp.callNative("Streamer_ToggleItemCallbacks","iii",e,t,i),kn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemCallbacks","ii",e,t),xn=e=>samp.callNative("Streamer_ToggleErrorCallback","i",e),Hn=()=>!!samp.callNative("Streamer_IsToggleErrorCallback",""),Un=e=>samp.callNative("Streamer_AmxUnloadDestroyItems","i",e),Wn=()=>samp.callNative("Streamer_ProcessActiveItems",""),Kn=(e,t)=>samp.callNative("Streamer_ToggleIdleUpdate","ii",e,t),Xn=e=>!!samp.callNative("Streamer_IsToggleIdleUpdate","i",e),Zn=(e,t)=>samp.callNative("Streamer_ToggleCameraUpdate","ii",e,t),Yn=e=>!!samp.callNative("Streamer_IsToggleCameraUpdate","i",e),zn=(e,t,i)=>samp.callNative("Streamer_ToggleItemUpdate","iii",e,t,i),Jn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemUpdate","ii",e,t),$n=()=>{const[e,t]=samp.callNative("Streamer_GetLastUpdateTime","F");return{time:e,ret:t}},Qn=(e,t=-1)=>samp.callNative("Streamer_Update","ii",e,t),qn=(e,t,i,a,r=-1,n=-1,s=-1,o=-1,_=!0)=>samp.callNative("Streamer_UpdateEx","ifffiiiii",e,t,i,a,r,n,s,o,_),Q=new Map,ui=new Map;function es(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function gi(e,t,...i){const{defaultValue:a=!0,name:r,beforeEach:n,afterEach:s,throwOnError:o=!1}=e,_=Q.get(r);if(!_||!_.length)return+a;const d=n?n(...i):{},h=[];let g=t;const I=()=>{s&&(h.length?Promise.allSettled(h).then(()=>s(d)):s(d))},C=y=>{if(g++,g<_.length){try{y&&Object.assign(d,y);const L={next:C,defaultValue:a,...d},j=_[g](L);return j instanceof Promise?(h.push(j),a):j}catch(L){const j=`executing event [name:${r},index:${g}]`;if(o)throw new Error(j);console.log(j),L instanceof Error?console.log(L):console.log(JSON.stringify(L)),I()}return a}return I(),a};return es(C(),a)}function m(e){const{name:t,identifier:i,isNative:a=!0}=e;if(Q.has(t)){const o=`event [name:${t}] error: already defined.`;throw new Error(o)}function r(...o){if(o.length===1&&typeof o[0]=="object"&&o[0].__trigger__){const _=o[0];let d=-1;if(_.skipToNext){const h=Q.get(t);if(h&&h.length){const g=h.indexOf(_.skipToNext);g>-1&&(d=g)}}return gi(e,d,..._.args)}return gi(e,-1,...o)}function n(o,_=!1){Q.has(t)||Q.set(t,[]);const d=Q.get(t),h=(_?d.unshift(o):d.push(o))-1;return()=>{const g=Q.get(t);if(!g)return;const I=g.length-1,C=I<h?I:h;for(let y=C;y>=0;y--)if(g[y]===o){g.splice(y,1);break}return g.length===0&&Q.delete(t),g.length}}const s=[n,r];return a&&(typeof i<"u"&&samp.registerEvent(t,i),samp.on(t,r)),ui.set(t,r),s}function ts(e){return ui.get(e)}function is(e){return Object.assign(e,{__trigger__:!0})}function mi(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t===null||t===Object.prototype||Object.getPrototypeOf(t)===null?Object.prototype.toString.call(e)==="[object Object]":!1}function as(e,t){const i={},a=Object.keys(e);for(let r=0;r<a.length;r++){const n=a[r],s=e[n];i[t(s,n,e)]=s}return i}function _t(e){return e==="__proto__"}function $e(e,t){const i=Object.keys(t);for(let a=0;a<i.length;a++){const r=i[a];if(_t(r))continue;const n=t[r],s=e[r];Array.isArray(n)?Array.isArray(s)?e[r]=$e(s,n):e[r]=$e([],n):mi(n)?mi(s)?e[r]=$e(s,n):e[r]=$e({},n):(s===void 0||n!==void 0)&&(e[r]=n)}return e}function rs(e,t){const i={...e};for(let a=0;a<t.length;a++){const r=t[a];delete i[r]}return i}const ns=new RegExp("\\p{Lu}?\\p{Ll}+|[0-9]+|\\p{Lu}+(?!\\p{Ll})|\\p{Emoji_Presentation}|\\p{Extended_Pictographic}|\\p{L}+","gu");function ss(e){return Array.from(e.match(ns)??[])}function Pt(e){return ss(e).map(i=>i.toLowerCase()).join("_")}function ls(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function fi(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function Pi(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(Pi).join(",");const t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function os(e){if(Array.isArray(e))return e.map(fi);if(typeof e=="symbol")return[e];e=Pi(e);const t=[],i=e.length;if(i===0)return t;let a=0,r="",n="",s=!1;for(e.charCodeAt(0)===46&&(t.push(""),a++);a<i;){const o=e[a];n?o==="\\"&&a+1<i?(a++,r+=e[a]):o===n?n="":r+=o:s?o==='"'||o==="'"?n=o:o==="]"?(s=!1,t.push(r),r=""):r+=o:o==="["?(s=!0,r&&(t.push(r),r="")):o==="."?r&&(t.push(r),r=""):r+=o,a++}return r&&t.push(r),t}function pt(e,t,i){if(e==null)return i;switch(typeof t){case"string":{if(_t(t))return i;const a=e[t];return a===void 0?ls(t)?pt(e,os(t),i):i:a}case"number":case"symbol":{typeof t=="number"&&(t=fi(t));const a=e[t];return a===void 0?i:a}default:{if(Array.isArray(t))return _s(e,t,i);if(Object.is(t?.valueOf(),-0)?t="-0":t=String(t),_t(t))return i;const a=e[t];return a===void 0?i:a}}}function _s(e,t,i){if(t.length===0)return i;let a=e;for(let r=0;r<t.length;r++){if(a==null||_t(t[r]))return i;a=a[t[r]]}return a===void 0?i:a}const{encode:cs,decode:ds,encodingExists:hs}=Ui;function us(e){return e instanceof Buffer}class E{constructor(t,i){this.defaultLocale=t,this.locales=i,this.defaultLocale=Pt(t),this.locales=E.snakeLocaleKeys(i)}addLocales=t=>{$e(this.locales,E.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=rs(this.locales,t)};$t=(t,i,a=this.defaultLocale)=>{const r=this.locales[Pt(a)],n=pt(this.locales[this.defaultLocale],t),s=pt(r,t,n);if(typeof s>"u")throw new Error(`[i18n]: cannot find ${a}["${t}"]`);if(typeof s!="string")return JSON.stringify(s);let o=s;return i&&i.length&&(o=Hi.format(o,...i)),o};static isValidate(t){if(!hs(t))throw new Error(`[i18n]: unknown charset ${t}`)}static encodeToBuf(t,i){return E.isValidate(i),[...cs(t,i),0]}static decodeFromBuf(t,i="utf8"){E.isValidate(i);const a=us(t)?t:Buffer.from(E.getValidStr(t));return ds(a,i)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return as(t,(i,a)=>Pt(a))}static convertSpecialChar(t){const i={\u00E0:"\x97",\u00E1:"\x98",\u00E2:"\x99",\u00E4:"\x9A",\u00C0:"\x80",\u00C1:"\x81",\u00C2:"\x82",\u00C4:"\x83",\u00E8:"\x9D",\u00E9:"\x9E",\u00EA:"\x9F",\u00EB:"\xA0",\u00C8:"\x86",\u00C9:"\x87",\u00CA:"\x88",\u00CB:"\x89",\u00EC:"\xA1",\u00ED:"\xA2",\u00EE:"\xA3",\u00EF:"\xA4",\u00CC:"\x8A",\u00CD:"\x8B",\u00CE:"\x8C",\u00CF:"\x8D",\u00F2:"\xA5",\u00F3:"\xA6",\u00F4:"\xA7",\u00F6:"\xA8",\u00D2:"\x8E",\u00D3:"\x8F",\u00D4:"\x90",\u00D6:"\x91",\u00F9:"\xA9",\u00FA:"\xAA",\u00FB:"\xAB",\u00FC:"\xAC",\u00D9:"\x92",\u00DA:"\x93",\u00DB:"\x94",\u00DC:"\x95",\u00F1:"\xAE",\u00D1:"\xAD","\xA1":"@","\xBF":"\xAF","`":"\xB1"};return t.split("").map(a=>a in i?i[a]:a).join("")}}const gs=e=>!!samp.callNative("IsValidNickName","s",e),ms=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},fs=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),Ps=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),ps=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),Is=e=>!!samp.callNative("IsValidServerRule","s",e),Ss=e=>!!samp.callNative("RemoveServerRule","s",e),ys=e=>{samp.callNative("AllowAdminTeleport","i",e)},Cs=()=>!!samp.callNative("IsAdminTeleportAllowed",""),Es=e=>{samp.callNative("AllowInteriorWeapons","i",e)},As=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),Ns=()=>!!samp.callNative("AreAllAnimationsEnabled",""),Ds=e=>{samp.callNative("EnableAllAnimations","i",e)},Ts=e=>{const[t,i]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return{consoleVarBuf:t,ret:i}},vs=e=>samp.callNative("GetConsoleVarAsInt","s",e),bs=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),Ls=()=>samp.callNative("GetWeather",""),ws=e=>samp.callNative("GetServerRuleFlags","s",e),Rs=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),Os=e=>!!samp.callNative("SetModeRestartTime","f",e),Gs=()=>samp.callNativeFloat("GetModeRestartTime",""),js=(e,t,i)=>samp.callNative("GameTextForAll","aii",e,t,i),Fs=e=>{samp.callNative("HideGameTextForAll","i",e)},Ms=(e,t,i)=>samp.callNative("SendDeathMessage","iii",e,t,i),Vs=()=>samp.callNative("GetMaxPlayers",""),It=(e,t,i)=>Math.sqrt(e*e+t*t+i*i),Bs=e=>samp.callNative("SetGameModeText","s",e),ks=e=>samp.callNative("ShowNameTags","i",e),xs=e=>samp.callNative("ShowPlayerMarkers","i",e),Hs=e=>samp.callNative("SetWorldTime","i",e),Us=()=>samp.callNative("GetWorldTime",""),Ws=()=>!!samp.callNative("EnableVehicleFriendlyFire",""),Ks=e=>samp.callNative("SetWeather","i",e),Xs=()=>samp.callNativeFloat("GetGravity",""),Zs=e=>samp.callNative("SetGravity","f",e),Ys=(e,t,i,a,r)=>samp.callNative("CreateExplosion","fffif",e,t,i,a,r),zs=e=>samp.callNative("EnableZoneNames","i",e),Js=()=>!!samp.callNative("UsePlayerPedAnims",""),$s=()=>!!samp.callNative("DisableInteriorEnterExits",""),Qs=e=>samp.callNative("SetNameTagDrawDistance","f",e),qs=()=>samp.callNative("DisableNameTagLOS",""),el=e=>samp.callNative("LimitGlobalChatRadius","f",e),tl=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),il=()=>samp.callNative("GetServerTickRate",""),al=e=>{const[t,i]=samp.callNative("GetAnimationName","iSiSi",e,32,32);return{animLib:t,animName:i}},rl=e=>!!samp.callNative("EnableStuntBonusForAll","i",e),nl=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},sl=()=>!!samp.callNative("ChatTextReplacementToggled",""),ll=e=>samp.callNative("GetWeaponSlot","i",e),ol=e=>{const[t,i]=samp.callNative("GetWeaponName","iSi",e,32);return{name:t,ret:i}},_l=()=>samp.callNative("GetAvailableClasses",""),cl=e=>{const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[i,a=0,r=0,n=0,s=0,o=0,_=0,d=0,h=0,g=0,I=0,C=0,y]=t;return{teamId:i,modelId:a,spawnX:r,spawnY:n,spawnZ:s,zAngle:o,weapon1:_,weapon1Ammo:d,weapon2:h,weapon2Ammo:g,weapon3:I,weapon3Ammo:C,ret:y}},dl=(e,t,i,a,r,n,s,o,_,d,h,g,I)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,i,a,r,n,s,o,_,d,h,g,I),hl=e=>samp.callNative("SetTeamCount","i",e),ul=(e,t,i,a,r,n,s,o,_,d,h)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,i,a,r,n,s,o,_,d,h),gl=(e,t,i,a,r,n,s,o,_,d,h,g)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,i,a,r,n,s,o,_,d,h,g),ml=(e,t,i,a,r,n,s,o,_,d,h,g,I)=>!!samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,i,a,r,n,s,o,_,d,h,g,I),fl=e=>!!samp.callNative("SpawnPlayer","i",e),Pl=e=>{const[t,i=0,a=0,r=0,n=0,s=0,o=0,_=0,d=0,h=0,g=0,I=0,C]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:i,spawnX:a,spawnY:r,spawnZ:n,zAngle:s,weapon1:o,weapon1Ammo:_,weapon2:d,weapon2Ammo:h,weapon3:g,weapon3Ammo:I,ret:C}},pl=e=>samp.callNative("NetStats_GetConnectedTime","i",e),Il=e=>samp.callNative("NetStats_MessagesReceived","i",e),Sl=e=>samp.callNative("NetStats_BytesReceived","i",e),yl=e=>samp.callNative("NetStats_MessagesSent","i",e),Cl=e=>samp.callNative("NetStats_BytesSent","i",e),El=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),Al=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),Nl=e=>samp.callNative("NetStats_ConnectionStatus","i",e),Dl=e=>{const[t,i]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return{ipPort:t,ret:i}},Tl=e=>!!samp.callNative("IsPlayerAdmin","i",e),vl=(e,t)=>!!samp.callNative("SetPlayerAdmin","ii",e,t),bl=e=>!!samp.callNative("Kick","i",e),Ll=e=>!!samp.callNative("Ban","i",e),wl=e=>{const[t,i]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return{stats:t,ret:i}},Rl=()=>{const[e,t]=samp.callNative("GetNetworkStats","Si",1024);return{stats:e,ret:t}},Ol=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),Gl=e=>samp.callNative("UnBlockIpAddress","s",e),jl=(e,t)=>{const[i,a]=samp.callNative("gpci","iAi",e,41);return{val:E.decodeFromBuf(E.getValidStr(i),t),ret:a}},Fl=(e,t,i,a,r)=>samp.callNative("SendClientCheck","iiiii",e,t,i,a,r),Ml=()=>{samp.callNative("ClearBanList","")},Vl=e=>!!samp.callNative("IsBanned","s",e),Bl=e=>samp.callNative("GetPlayerRawIp","i",e),kl=e=>{const[t,i]=samp.callNative("GetPlayerIp","iSi",e,128);return{ip:t,ret:i}},xl=e=>{const[t,i]=samp.callNative("GetPlayerVersion","iSi",e,24);return{version:t,ret:i}},N=e=>{if(typeof e=="number")return e;if(typeof+e=="number"&&!isNaN(+e))return+e;if(e.charAt(0)==="#")return e.length===4?parseInt(e.charAt(1)+e.charAt(1)+e.charAt(2)+e.charAt(2)+e.charAt(3)+e.charAt(3)+"FF",16):e.length===7?parseInt(e.slice(1,e.length)+"FF",16):e.length===9?parseInt(e.slice(1,e.length),16):255;const t=(e.match(/([0-9])+/g)||[]).map(a=>parseInt(a,10));if(t.length!==4&&t.length!==3)return 255;t.length===3?t.push(255):t[3]=t[3]<1?Math.floor(t[3]*255):255;let i=0;return t.reverse().forEach((a,r)=>{a!==0&&(i+=Math.pow(16,r*2)*a)}),i},Hl=(e,t)=>!!samp.callNative("TogglePlayerWidescreen","ii",e,t),Ul=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),Wl=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),Kl=e=>samp.callNative("GetPlayerWeather","i",e),Xl=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{xMax:t,xMin:i,yMax:a,yMin:r,ret:n}},Zl=e=>samp.callNativeFloat("GetPlayerZAim","i",e),Yl=e=>{const[t=0,i=0,a=0,r]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:i,fOffsetZ:a,ret:r}},zl=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:i,y:a,z:r,ret:n}},Jl=e=>samp.callNative("GetPlayerDialogID","i",e),$l=e=>samp.callNative("GetPlayerSpectateID","i",e),Ql=e=>samp.callNative("GetPlayerSpectateType","i",e),ql=(e,t)=>!!samp.callNative("SetPlayerGravity","if",e,t),eo=e=>samp.callNativeFloat("GetPlayerGravity","i",e),to=e=>!!samp.callNative("IsPlayerSpawned","i",e),io=e=>!!samp.callNative("IsPlayerControllable","i",e),ao=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),ro=(e,t)=>!!samp.callNative("TogglePlayerGhostMode","ii",e,t),no=e=>!!samp.callNative("GetPlayerGhostMode","i",e),so=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),lo=(e,t)=>!!samp.callNative("RemovePlayerWeapon","ii",e,t),oo=e=>!!samp.callNative("HidePlayerDialog","i",e),_o=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),co=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),ho=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),uo=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),go=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),mo=(e,t,i,a)=>!!samp.callNative("GameTextForPlayer","iaii",e,t,i,a),fo=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),Po=(e,t,i,a)=>!!samp.callNative("SendDeathMessageToPlayer","iiii",e,t,i,a),po=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),Io=e=>!!samp.callNative("IsPlayerNPC","i",e),So=(e,t,i,a)=>!!samp.callNative("SetPlayerPos","ifff",e,t,i,a),yo=(e,t,i,a)=>!!samp.callNative("SetPlayerPosFindZ","ifff",e,t,i,a),Co=e=>{const[t,i,a,r]=samp.callNative("GetPlayerPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},Eo=(e,t)=>!!samp.callNative("SetPlayerFacingAngle","if",e,t),Ao=e=>{const[t,i]=samp.callNative("GetPlayerFacingAngle","iF",e);return{angle:t,ret:i}},No=(e,t,i,a,r)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,i,a,r),Do=(e,t,i,a)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,i,a),To=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),vo=(e,t)=>!!samp.callNative("SetPlayerInterior","ii",e,t),bo=e=>samp.callNative("GetPlayerInterior","i",e),Lo=(e,t)=>!!samp.callNative("SetPlayerHealth","if",e,t),wo=e=>{const[t,i]=samp.callNative("GetPlayerHealth","iF",e);return{health:t,ret:i}},Ro=(e,t)=>!!samp.callNative("SetPlayerArmour","if",e,t),Oo=e=>{const[t,i]=samp.callNative("GetPlayerArmour","iF",e);return{armour:t,ret:i}},Go=(e,t,i)=>!!samp.callNative("SetPlayerAmmo","iii",e,t,i),jo=e=>samp.callNative("GetPlayerAmmo","i",e),Fo=e=>samp.callNative("GetPlayerWeaponState","i",e),Mo=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Vo=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},Bo=e=>samp.callNative("GetPlayerTeam","i",e),ko=(e,t)=>!!samp.callNative("SetPlayerScore","ii",e,t),xo=e=>samp.callNative("GetPlayerScore","i",e),Ho=e=>samp.callNative("GetPlayerDrunkLevel","i",e),Uo=(e,t)=>!!samp.callNative("SetPlayerDrunkLevel","ii",e,t),Wo=(e,t)=>!!samp.callNative("SetPlayerColor","ii",e,N(t)),Ko=e=>samp.callNative("GetPlayerColor","i",e),Xo=(e,t)=>!!samp.callNative("SetPlayerSkin","ii",e,t),Zo=e=>samp.callNative("GetPlayerSkin","i",e),Yo=(e,t,i)=>!!samp.callNative("GivePlayerWeapon","iii",e,t,i),zo=e=>!!samp.callNative("ResetPlayerWeapons","i",e),Jo=(e,t)=>!!samp.callNative("SetPlayerArmedWeapon","ii",e,t),$o=(e,t)=>{const[i,a,r]=samp.callNative("GetPlayerWeaponData","iiII",e,t);return{weapons:i,ammo:a,ret:r}},Qo=(e,t)=>!!samp.callNative("GivePlayerMoney","ii",e,t),qo=e=>!!samp.callNative("ResetPlayerMoney","i",e),e_=e=>samp.callNative("GetPlayerMoney","i",e),t_=e=>samp.callNative("GetPlayerState","i",e),i_=e=>samp.callNative("GetPlayerPing","i",e),a_=e=>samp.callNative("GetPlayerWeapon","i",e),r_=e=>{const[t,i,a,r]=samp.callNative("GetPlayerKeys","iIII",e);return{keys:t,upDown:i,leftRight:a,ret:r}},n_=(e,t,i)=>!!samp.callNative("SetPlayerTime","iii",e,t,i),s_=e=>{const[t,i,a]=samp.callNative("GetPlayerTime","iII",e);return{hour:t,minute:i,ret:a}},l_=(e,t)=>!!samp.callNative("TogglePlayerClock","ii",e,t),o_=(e,t)=>!!samp.callNative("SetPlayerWeather","ii",e,t),__=e=>!!samp.callNative("ForceClassSelection","i",e),c_=(e,t)=>!!samp.callNative("SetPlayerWantedLevel","ii",e,t),d_=e=>samp.callNative("GetPlayerWantedLevel","i",e),h_=(e,t)=>!!samp.callNative("SetPlayerFightingStyle","ii",e,t),u_=e=>samp.callNative("GetPlayerFightingStyle","i",e),g_=(e,t,i,a)=>!!samp.callNative("SetPlayerVelocity","ifff",e,t,i,a),m_=e=>{const[t,i,a,r]=samp.callNative("GetPlayerVelocity","iFFF",e);return{x:t,y:i,z:a,ret:r}},f_=(e,t,i)=>!!samp.callNative("PlayCrimeReportForPlayer","iii",e,t,i),P_=(e,t,i,a,r,n,s=!1)=>!!samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,i,a,r,n,s),p_=e=>!!samp.callNative("StopAudioStreamForPlayer","i",e),I_=(e,t)=>!!samp.callNative("SetPlayerShopName","is",e,t),S_=(e,t,i)=>!!samp.callNative("SetPlayerSkillLevel","iii",e,t,i),y_=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),C_=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),E_=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),A_=(e,t,i,a,r,n)=>!!samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,i,a,r,n),N_=e=>{const[t,i,a,r,n,s,o]=samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e);return{fOriginX:t,fOriginY:i,fOriginZ:a,fHitPosX:r,fHitPosY:n,fHitPosZ:s,ret:o}},D_=(e,t,i)=>!!samp.callNative("PutPlayerInVehicle","iii",e,t,i),T_=e=>samp.callNative("GetPlayerVehicleID","i",e),v_=e=>samp.callNative("GetPlayerVehicleSeat","i",e),b_=e=>!!samp.callNative("RemovePlayerFromVehicle","i",e),L_=(e,t)=>!!samp.callNative("TogglePlayerControllable","ii",e,t),w_=(e,t,i,a,r)=>!!samp.callNative("PlayerPlaySound","iifff",e,t,i,a,r),R_=(e,t,i,a,r,n,s,o,_,d)=>!!samp.callNative("ApplyAnimation","issfiiiiii",e,t,i,a,r,n,s,o,_,d),O_=(e,t)=>!!samp.callNative("ClearAnimations","ii",e,t),G_=e=>samp.callNative("GetPlayerAnimationIndex","i",e),j_=e=>samp.callNative("GetPlayerSpecialAction","i",e),F_=(e,t)=>!!samp.callNative("SetPlayerSpecialAction","ii",e,t),M_=(e,t)=>!!samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),V_=(e,t)=>!!samp.callNative("SetPlayerVirtualWorld","ii",e,t),B_=e=>samp.callNative("GetPlayerVirtualWorld","i",e),k_=(e,t)=>!!samp.callNative("EnableStuntBonusForPlayer","ii",e,t),x_=e=>samp.callNative("GetPlayerCustomSkin","i",e),H_=(e,t,i,a,r,n)=>!!samp.callNative("CreateExplosionForPlayer","ifffif",e,t,i,a,r,n),U_=(e,t,i)=>!!samp.callNative("StartRecordingPlayerData","iis",e,t,i),W_=e=>!!samp.callNative("StopRecordingPlayerData","i",e),K_=(e,t)=>!!samp.callNative("TogglePlayerSpectating","ii",e,t),X_=(e,t,i)=>!!samp.callNative("PlayerSpectatePlayer","iii",e,t,i),Z_=(e,t,i)=>!!samp.callNative("PlayerSpectateVehicle","iii",e,t,i),Y_=e=>!!samp.callNative("IsPlayerConnected","i",e),z_=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),J_=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),$_=(e,t,i,a,r)=>!!samp.callNative("SetPlayerWorldBounds","iffff",e,t,i,a,r),Q_=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),q_=(e,t,i)=>{samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,N(i))};function ec(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",e,t)}const tc=(e,t,i)=>!!samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,i),ic=(e,t,i,a,r,n,s,o)=>!!samp.callNative("SetPlayerMapIcon","iifffiii",e,t,i,a,r,n,N(s),o),ac=(e,t)=>!!samp.callNative("RemovePlayerMapIcon","ii",e,t),rc=(e,t,i,a)=>!!samp.callNative("SetPlayerCameraPos","ifff",e,t,i,a),nc=(e,t,i,a,r)=>!!samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,i,a,r),sc=e=>!!samp.callNative("SetCameraBehindPlayer","i",e),lc=e=>{const[t,i,a,r]=samp.callNative("GetPlayerCameraPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},oc=e=>{const[t,i,a,r]=samp.callNative("GetPlayerCameraFrontVector","iFFF",e);return{x:t,y:i,z:a,ret:r}},_c=e=>samp.callNative("GetPlayerCameraMode","i",e),cc=(e,t)=>!!samp.callNative("EnablePlayerCameraTarget","ii",e,t),dc=e=>samp.callNative("GetPlayerCameraTargetObject","i",e),hc=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),uc=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),gc=e=>samp.callNative("GetPlayerCameraTargetActor","i",e),mc=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),fc=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),Pc=(e,t)=>!!samp.callNative("AttachCameraToObject","ii",e,t),pc=(e,t)=>!!samp.callNative("AttachCameraToPlayerObject","ii",e,t),Ic=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("InterpolateCameraPos","iffffffii",e,t,i,a,r,n,s,o,_),Sc=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,i,a,r,n,s,o,_),yc=e=>!!samp.callNative("IsPlayerCuffed","i",e),Cc=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),Ec=e=>!!samp.callNative("IsPlayerUsingOmp","i",e),Ac=e=>samp.callNative("GetActorSkin","i",e),Nc=(e,t)=>!!samp.callNative("SetActorSkin","ii",e,t),Dc=e=>{const[t=0,i=0,a=0,r=0,n=0,s]=samp.callNative("GetActorSpawnInfo","iIFFFF",e);return{skinId:t,fX:i,fY:a,fZ:r,fAngle:n,ret:s}},Tc=e=>{const[t,i,a=0,r=0,n=0,s=0,o=0,_=0,d]=samp.callNative("GetActorAnimation","iSiSiFIIIII",e,32,32);return{animLib:t,animName:i,fDelta:a,loop:r,lockX:n,lockY:s,freeze:o,time:_,ret:d}},vc=(e,t,i,a,r)=>samp.callNative("CreateActor","iffff",e,t,i,a,r),bc=e=>!!samp.callNative("DestroyActor","i",e),Lc=(e,t)=>!!samp.callNative("IsActorStreamedIn","ii",e,t),wc=(e,t)=>!!samp.callNative("SetActorVirtualWorld","ii",e,t),Rc=e=>samp.callNative("GetActorVirtualWorld","i",e),Oc=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("ApplyActorAnimation","issfiiiii",e,t,i,a,r,n,s,o,_),Gc=e=>!!samp.callNative("ClearActorAnimations","i",e),jc=(e,t,i,a)=>!!samp.callNative("SetActorPos","ifff",e,t,i,a),Fc=e=>{const[t,i,a,r]=samp.callNative("GetActorPos","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},Mc=(e,t)=>!!samp.callNative("SetActorFacingAngle","if",e,t),Vc=e=>{const[t,i]=samp.callNative("GetActorFacingAngle","iF",e);return{angle:t,ret:!!i}},Bc=(e,t)=>!!samp.callNative("SetActorHealth","if",e,t),kc=e=>{const[t,i]=samp.callNative("GetActorHealth","iF",e);return{health:t,ret:!!i}},xc=(e,t)=>!!samp.callNative("SetActorInvulnerable","ii",e,t),Hc=e=>!!samp.callNative("IsActorInvulnerable","i",e),Uc=e=>!!samp.callNative("IsValidActor","i",e),Wc=e=>samp.callNative("NPC_Create","s",e),Kc=e=>samp.callNative("NPC_Destroy","i",e),Xc=e=>!!samp.callNative("NPC_IsValid","i",e),Zc=e=>samp.callNative("NPC_Spawn","i",e),Yc=e=>samp.callNative("NPC_Respawn","i",e),zc=(e,t,i,a)=>samp.callNative("NPC_SetPos","ifff",e,t,i,a),Jc=(e,t,i,a)=>samp.callNative("NPC_SetRot","ifff",e,t,i,a),$c=e=>{const[t,i,a,r]=samp.callNative("NPC_GetRot","iFFF",e);return{rX:t,rY:i,rZ:a,ret:r}},Qc=(e,t)=>samp.callNative("NPC_SetFacingAngle","if",e,t),qc=e=>{const[t,i]=samp.callNative("NPC_GetFacingAngle","iF",e);return{angle:t,ret:i}},ed=(e,t)=>samp.callNative("NPC_SetVirtualWorld","ii",e,t),td=e=>samp.callNative("NPC_GetVirtualWorld","i",e),id=(e,t,i,a,r,n)=>!!samp.callNative("NPC_Move","ifffif",e,t,i,a,r,n),ad=(e,t,i,a)=>!!samp.callNative("NPC_MoveToPlayer","iiif",e,t,i,a),rd=e=>samp.callNative("NPC_StopMove","i",e),nd=e=>!!samp.callNative("NPC_IsMoving","i",e),sd=(e,t)=>!!samp.callNative("NPC_IsMovingToPlayer","ii",e,t),ld=(e,t)=>samp.callNative("NPC_SetSkin","ii",e,t),od=e=>samp.callNative("NPC_GetSkin","i",e),_d=(e,t)=>!!samp.callNative("NPC_IsStreamedIn","ii",e,t),cd=e=>!!samp.callNative("NPC_IsAnyStreamedIn","i",e),dd=(e,t)=>samp.callNative("NPC_SetInterior","ii",e,t),hd=e=>samp.callNative("NPC_GetInterior","i",e),ud=(e,t)=>samp.callNative("NPC_SetHealth","if",e,t),gd=e=>samp.callNativeFloat("NPC_GetHealth","i",e),md=(e,t)=>samp.callNative("NPC_SetArmour","if",e,t),fd=e=>samp.callNativeFloat("NPC_GetArmour","i",e),Pd=e=>!!samp.callNative("NPC_IsDead","i",e),pd=(e,t,i,a,r,n,s,o,_,d)=>samp.callNative("NPC_ApplyAnimation","issfiiiiii",e,t,i,a,r,n,s,o,_,d),Id=(e,t)=>samp.callNative("NPC_SetWeapon","ii",e,t),Sd=e=>samp.callNative("NPC_GetWeapon","i",e),yd=(e,t)=>samp.callNative("NPC_SetAmmo","ii",e,t),Cd=e=>samp.callNative("NPC_GetAmmo","i",e),Ed=(e,t,i,a)=>samp.callNative("NPC_SetKeys","iiii",e,t,i,a),Ad=e=>{const[t,i,a,r]=samp.callNative("NPC_GetKeys","iIII",e);return{upAndDown:t,leftAndDown:i,keys:a,ret:r}},Nd=(e,t,i)=>samp.callNative("NPC_SetWeaponSkillLevel","iii",e,t,i),Dd=(e,t)=>samp.callNative("NPC_GetWeaponSkillLevel","ii",e,t),Td=(e,t,i)=>samp.callNative("NPC_MeleeAttack","iii",e,t,i),vd=e=>samp.callNative("NPC_StopMeleeAttack","i",e),bd=e=>!!samp.callNative("NPC_IsMeleeAttacking","i",e),Ld=(e,t)=>samp.callNative("NPC_SetFightingStyle","ii",e,t),wd=e=>samp.callNative("NPC_GetFightingStyle","i",e),Rd=(e,t)=>samp.callNative("NPC_EnableReloading","ii",e,t),Od=e=>!!samp.callNative("NPC_IsReloadEnabled","i",e),Gd=e=>!!samp.callNative("NPC_IsReloading","i",e),jd=(e,t)=>samp.callNative("NPC_EnableInfiniteAmmo","ii",e,t),Fd=e=>!!samp.callNative("NPC_IsInfiniteAmmoEnabled","i",e),Md=(e,t)=>!!samp.callNative("NPC_SetWeaponState","ii",e,t),Vd=e=>samp.callNative("NPC_GetWeaponState","i",e),Bd=(e,t)=>samp.callNative("NPC_SetAmmoInClip","ii",e,t),kd=e=>samp.callNative("NPC_GetAmmoInClip","i",e),xd=(e,t,i,a,r,n,s,o,_,d,h,g)=>samp.callNative("NPC_Shoot","iiiffffffii",e,t,i,a,r,n,s,o,_,d,h,g),Hd=e=>!!samp.callNative("NPC_IsShooting","i",e),Ud=(e,t,i,a,r,n,s,o,_,d,h)=>samp.callNative("NPC_AimAt","ifffiiifffi",e,t,i,a,r,n,s,o,_,d,h),Wd=(e,t,i,a,r,n,s,o,_,d,h,g)=>samp.callNative("NPC_AimAtPlayer","iiiiiffffffi",e,t,i,a,r,n,s,o,_,d,h,g),Kd=e=>samp.callNative("NPC_StopAim","i",e),Xd=e=>!!samp.callNative("NPC_IsAiming","i",e),Zd=(e,t)=>!!samp.callNative("NPC_IsAimingAtPlayer","ii",e,t),Yd=(e,t,i)=>samp.callNative("NPC_SetWeaponAccuracy","iif",e,t,i),zd=(e,t)=>samp.callNativeFloat("NPC_GetWeaponAccuracy","ii",e,t),Jd=(e,t,i)=>samp.callNative("NPC_SetWeaponReloadTime","iii",e,t,i),$d=(e,t)=>samp.callNative("NPC_GetWeaponReloadTime","ii",e,t),Qd=(e,t)=>samp.callNative("NPC_GetWeaponActualReloadTime","ii",e,t),qd=(e,t,i)=>samp.callNative("NPC_SetWeaponShootTime","iii",e,t,i),eh=(e,t)=>samp.callNative("NPC_GetWeaponShootTime","ii",e,t),th=(e,t,i)=>samp.callNative("NPC_SetWeaponClipSize","iii",e,t,i),ih=(e,t)=>samp.callNative("NPC_GetWeaponClipSize","ii",e,t),ah=(e,t)=>samp.callNative("NPC_GetWeaponActualClipSize","ii",e,t),rh=(e,t,i,a)=>samp.callNative("NPC_EnterVehicle","iiii",e,t,i,a),nh=e=>samp.callNative("NPC_ExitVehicle","i",e),sh=(e,t,i)=>samp.callNative("NPC_PutInVehicle","iii",e,t,i),lh=e=>samp.callNative("NPC_RemoveFromVehicle","i",e),oh=e=>samp.callNative("NPC_GetVehicle","i",e),_h=e=>samp.callNative("NPC_GetVehicleSeat","i",e),ch=e=>samp.callNative("NPC_GetEnteringVehicle","i",e),dh=e=>samp.callNative("NPC_GetEnteringVehicleSeat","i",e),hh=e=>!!samp.callNative("NPC_IsEnteringVehicle","i",e),uh=(e,t)=>samp.callNative("NPC_UseVehicleSiren","ii",e,t),gh=e=>!!samp.callNative("NPC_IsVehicleSirenUsed","i",e),mh=(e,t)=>samp.callNative("NPC_SetVehicleHealth","if",e,t),fh=e=>samp.callNativeFloat("NPC_GetVehicleHealth","i",e),Ph=(e,t)=>samp.callNative("NPC_SetVehicleHydraThrusters","ii",e,t),ph=e=>samp.callNative("NPC_GetVehicleHydraThrusters","i",e),Ih=(e,t)=>samp.callNative("NPC_SetVehicleGearState","ii",e,t),Sh=e=>samp.callNative("NPC_GetVehicleGearState","i",e),yh=(e,t)=>samp.callNative("NPC_SetVehicleTrainSpeed","if",e,t),Ch=e=>samp.callNativeFloat("NPC_GetVehicleTrainSpeed","i",e),Eh=e=>samp.callNative("NPC_ResetAnimation","i",e),Ah=(e,t,i,a,r,n,s,o)=>samp.callNative("NPC_SetAnimation","iifiiiii",e,t,i,a,r,n,s,o),Nh=e=>{const[t,i,a,r,n,s,o,_]=samp.callNative("NPC_GetAnimation","iIFIIIII",e);return{animationId:t,delta:i,loop:!!a,lockX:!!r,lockY:!!n,freeze:!!s,time:o,ret:_}},Dh=e=>samp.callNative("NPC_ClearAnimations","i",e),Th=(e,t)=>samp.callNative("NPC_SetSpecialAction","ii",e,t),vh=e=>samp.callNative("NPC_GetSpecialAction","i",e),bh=(e,t,i,a,r,n,s,o,_)=>samp.callNative("NPC_StartPlayback","isiffffff",e,t,i,a,r,n,s,o,_),Lh=(e,t,i,a,r,n,s,o,_)=>samp.callNative("NPC_StartPlaybackEx","iiiffffff",e,t,i,a,r,n,s,o,_),wh=e=>samp.callNative("NPC_StopPlayback","i",e),Rh=(e,t)=>samp.callNative("NPC_PausePlayback","ii",e,t),Oh=e=>!!samp.callNative("NPC_IsPlayingPlayback","i",e),Gh=e=>!!samp.callNative("NPC_IsPlaybackPaused","i",e),jh=(e,t,i,a,r,n)=>!!samp.callNative("NPC_PlayNode","iiiffi",e,t,i,a,r,n),Fh=e=>!!samp.callNative("NPC_StopPlayingNode","i",e),Mh=e=>!!samp.callNative("NPC_PausePlayingNode","i",e),Vh=e=>!!samp.callNative("NPC_ResumePlayingNode","i",e),Bh=e=>!!samp.callNative("NPC_IsPlayingNodePaused","i",e),kh=e=>!!samp.callNative("NPC_IsPlayingNode","i",e),xh=(e,t,i)=>samp.callNative("NPC_ChangeNode","iii",e,t,i),Hh=(e,t)=>!!samp.callNative("NPC_UpdateNodePoint","ii",e,t),Uh=(e,t)=>samp.callNative("NPC_SetInvulnerable","ii",e,t),Wh=e=>!!samp.callNative("NPC_IsInvulnerable","i",e),Kh=(e,t,i,a)=>samp.callNative("NPC_SetSurfingOffsets","ifff",e,t,i,a),Xh=e=>{const[t,i,a,r]=samp.callNative("NPC_GetSurfingOffsets","iFFF",e);return{x:t,y:i,z:a,ret:r}},Zh=(e,t)=>samp.callNative("NPC_SetSurfingVehicle","ii",e,t),Yh=e=>samp.callNative("NPC_GetSurfingVehicle","i",e),zh=(e,t)=>samp.callNative("NPC_SetSurfingObject","ii",e,t),Jh=e=>samp.callNative("NPC_GetSurfingObject","i",e),$h=(e,t)=>samp.callNative("NPC_SetSurfingPlayerObject","ii",e,t),Qh=e=>samp.callNative("NPC_GetSurfingPlayerObject","i",e),qh=e=>samp.callNative("NPC_ResetSurfingData","i",e),eu=e=>!!samp.callNative("NPC_IsSpawned","i",e),tu=(e,t,i)=>!!samp.callNative("NPC_Kill","iii",e,t,i),iu=(e,t,i,a)=>!!samp.callNative("NPC_SetVelocity","ifff",e,t,i,a),au=e=>{const[t,i,a,r]=samp.callNative("NPC_GetVelocity","iFFF",e);return{x:t,y:i,z:a,ret:r}},ru=e=>samp.callNative("NPC_GetPlayerAimingAt","i",e),nu=e=>samp.callNative("NPC_GetPlayerMovingTo","i",e),su=e=>{const[t,i,a,r]=samp.callNative("NPC_GetPosMovingTo","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},lu=e=>samp.callNative("NPC_GetCustomSkin","i",e),ou=e=>{const[t=0,i=0,a=0,r=0,n=0,s=0,o]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:i,fZ:a,fRot:r,color1:n,color2:s,ret:o}},_u=(e,t,i,a,r,n,s,o,_=-2,d=-2)=>samp.callNative("SetVehicleSpawnInfo","iiffffiiii",e,t,i,a,r,n,s,o,_,d),cu=e=>{const[t=0,i=0,a]=samp.callNative("GetVehicleColor","iII",e);return{color1:t,color2:i,ret:a}},du=e=>samp.callNative("GetVehiclePaintjob","i",e),hu=e=>samp.callNative("GetVehicleInterior","i",e),uu=e=>{const[t,i]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return{plate:t,ret:i}},gu=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),mu=e=>samp.callNative("GetVehicleRespawnDelay","i",e),fu=e=>samp.callNative("GetVehicleCab","i",e),Pu=e=>samp.callNative("GetVehicleOccupiedTick","i",e),pu=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),Iu=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),Su=e=>!!samp.callNative("IsVehicleOccupied","i",e),yu=e=>samp.callNative("GetVehicleRespawnTick","i",e),Cu=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),Eu=e=>!!samp.callNative("IsVehicleDead","i",e),Au=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),Nu=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),Du=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),Tu=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),vu=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),bu=e=>samp.callNative("GetVehicleModelCount","i",e),pi=e=>samp.callNative("GetVehicleLastDriver","i",e),Ii=e=>samp.callNative("GetVehicleDriver","i",e),Lu=()=>samp.callNative("GetVehicleModelsUsed",""),wu=e=>samp.callNative("GetVehicleSirenState","i",e),Ru=e=>samp.callNative("GetVehicleLandingGearState","i",e),Ou=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),Gu=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),ju=e=>{const[t=0,i=0,a=0,r=0,n=0,s=0,o=0,_=0,d=0,h]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:i,rightZ:a,upX:r,upY:n,upZ:s,atX:o,atY:_,atZ:d,ret:h}},Fu=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,i,a,r],ret:n}},Mu=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),Vu=(e,t,i,a,r,n,s,o,_)=>samp.callNative("CreateVehicle","iffffiiii",e,t,i,a,r,N(n),N(s),o,_),Bu=e=>samp.callNative("DestroyVehicle","i",e),ku=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),xu=e=>{const[t,i,a,r]=samp.callNative("GetVehiclePos","iFFF",e);return{x:t,y:i,z:a,ret:r}},Hu=(e,t,i,a)=>!!samp.callNative("SetVehiclePos","ifff",e,t,i,a),Uu=e=>{const[t,i]=samp.callNative("GetVehicleZAngle","iF",e);return{angle:t,ret:i}},Wu=e=>{const[t,i,a,r]=samp.callNative("GetVehicleRotation","iFFF",e);return{x:t,y:i,z:a,ret:r}},Ku=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleRotationQuat","iFFFF",e);return{w:t,x:i,y:a,z:r,ret:n}},Xu=(e,t,i,a)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,i,a),Zu=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),Yu=(e,t,i,a)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,i,a),zu=()=>samp.callNative("ManualVehicleEngineAndLights",""),Ju=(e,t,i,a,r,n,s,o)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,i,a,r,n,s,o),$u=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),Qu=e=>samp.callNative("GetVehicleParamsSirenState","i",e),qu=(e,t,i,a,r)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,i,a,r),eg=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t,passenger:i,backLeft:a,backRight:r,ret:n}},tg=(e,t,i,a,r)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,i,a,r),ig=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t,passenger:i,backLeft:a,backRight:r,ret:n}},ag=e=>samp.callNative("SetVehicleToRespawn","i",e),rg=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),ng=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),sg=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),lg=(e,t,i)=>samp.callNative("ChangeVehicleColor","iii",e,N(t),N(i)),og=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),_g=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),cg=e=>{const[t,i]=samp.callNative("GetVehicleHealth","iF",e);return{health:t,ret:i}},dg=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),hg=e=>samp.callNative("DetachTrailerFromVehicle","i",e),ug=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),gg=e=>samp.callNative("GetVehicleTrailer","i",e),mg=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),fg=e=>samp.callNative("GetVehicleModel","i",e),Pg=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),pg=e=>samp.callNative("GetVehicleComponentType","i",e),Ig=e=>samp.callNative("RepairVehicle","i",e),Sg=e=>{const[t,i,a,r]=samp.callNative("GetVehicleVelocity","iFFF",e);return{x:t,y:i,z:a,ret:r}},yg=(e,t,i,a)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,i,a),Cg=(e,t,i,a)=>!!samp.callNative("SetVehicleAngularVelocity","ifff",e,t,i,a),Eg=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleDamageStatus","iIIII",e);return{panels:t,doors:i,lights:a,tires:r,ret:n}},Ag=(e,t,i,a,r)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,i,a,r),Ng=(e,t)=>{const[i,a,r,n]=samp.callNative("GetVehicleModelInfo","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},Dg=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),Tg=e=>samp.callNative("GetVehicleVirtualWorld","i",e),vg=e=>!!samp.callNative("IsValidVehicle","i",e),bg=(e,t,i,a,r,n,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,i,a,r,N(n),N(s)),Lg=(e,t,i,a,r,n,s,o,_)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,i,a,r,N(n),N(s),o,_),wg=e=>!!samp.callNative("ShowVehicle","i",e),Rg=e=>!!samp.callNative("HideVehicle","i",e),Og=e=>!!samp.callNative("IsVehicleHidden","i",e),Gg=e=>!!samp.callNative("IsPlayerInModShop","i",e),jg=e=>samp.callNative("GetPlayerSirenState","i",e),Fg=e=>samp.callNative("GetPlayerLandingGearState","i",e),Mg=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),Vg=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),Bg=(e,t)=>samp.callNative("GetVehicleOccupant","ii",e,t),kg=e=>samp.callNative("GetVehicleMaxPassengers","i",e),xg=e=>samp.callNative("CountVehicleOccupants","i",e),Hg=(e,t,i,a,r)=>!!samp.callNative("SetPlayerCheckpoint","iffff",e,t,i,a,r),Ug=e=>!!samp.callNative("DisablePlayerCheckpoint","i",e),Wg=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("SetPlayerRaceCheckpoint","iifffffff",e,t,i,a,r,n,s,o,_),Kg=e=>!!samp.callNative("DisablePlayerRaceCheckpoint","i",e),Xg=e=>!!samp.callNative("IsPlayerInCheckpoint","i",e),Zg=e=>!!samp.callNative("IsPlayerInRaceCheckpoint","i",e),Si=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),yi=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:i,fZ:a,fSize:r,ret:n}},Ci=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),Ei=e=>{const[t=0,i=0,a=0,r=0,n=0,s=0,o=0,_]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:i,fZ:a,fNextX:r,fNextY:n,fNextZ:s,fSize:o,ret:_}},Yg=e=>!!samp.callNative("IsMenuDisabled","i",e),zg=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),Jg=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),$g=e=>{const[t=0,i=0,a]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:i,ret:a}},Qg=e=>{const[t=0,i=0,a]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:i,ret:a}},qg=e=>samp.callNative("DestroyMenu","i",e),em=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),tm=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),im=e=>!!samp.callNative("IsValidMenu","i",e),am=e=>samp.callNative("DisableMenu","i",e),rm=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),Ai=e=>samp.callNative("GetPlayerMenu","i",e),nm=e=>!!samp.callNative("IsValid3DTextLabel","i",e),sm=(e,t)=>!!samp.callNative("Is3DTextLabelStreamedIn","ii",e,t),lm=e=>samp.callNative("Get3DTextLabelColor","i",e),om=e=>{const[t=0,i=0,a=0,r]=samp.callNative("Get3DTextLabelPos","iFFF",e);return{fX:t,fY:i,fZ:a,ret:r}},_m=(e,t)=>!!samp.callNative("Set3DTextLabelDrawDistance","ii",e,t),cm=e=>samp.callNativeFloat("Get3DTextLabelDrawDistance","i",e),dm=e=>!!samp.callNative("Get3DTextLabelLOS","i",e),hm=(e,t)=>!!samp.callNative("Set3DTextLabelLOS","ii",e,t),um=(e,t)=>!!samp.callNative("Set3DTextLabelVirtualWorld","ii",e,t),gm=e=>samp.callNative("Get3DTextLabelVirtualWorld","i",e),mm=e=>{const[t=0,i=0]=samp.callNative("Get3DTextLabelAttachedData","i",e);return{attachedPlayerId:t,attachedVehicleId:i}},fm=e=>samp.callNative("Delete3DTextLabel","i",e),Pm=(e,t,i,a,r)=>!!samp.callNative("Attach3DTextLabelToPlayer","iifff",e,t,i,a,r),pm=(e,t,i,a,r)=>!!samp.callNative("Attach3DTextLabelToVehicle","iifff",e,t,i,a,r),Im=(e,t)=>!!samp.callNative("IsValidPlayer3DTextLabel","ii",e,t),Sm=(e,t)=>samp.callNative("GetPlayer3DTextLabelColor","ii",e,t),ym=(e,t)=>{const[i=0,a=0,r=0,n]=samp.callNative("GetPlayer3DTextLabelPos","iiFFF",e,t);return{fX:i,fY:a,fZ:r,ret:n}},Cm=(e,t,i)=>!!samp.callNative("SetPlayer3DTextLabelDrawDistance","iii",e,t,i),Em=(e,t)=>samp.callNativeFloat("GetPlayer3DTextLabelDrawDistance","ii",e,t),Am=(e,t)=>!!samp.callNative("GetPlayer3DTextLabelLOS","ii",e,t),Nm=(e,t,i)=>!!samp.callNative("SetPlayer3DTextLabelLOS","iii",e,t,i),Dm=(e,t)=>samp.callNative("GetPlayer3DTextLabelVirtualWorld","ii",e,t),Tm=(e,t,i)=>!!samp.callNative("SetPlayer3DTextLabelVirtualWorld","iii",e,t,i),vm=(e,t)=>{const[i=0,a=0]=samp.callNative("GetPlayer3DTextLabelAttachedData","ii",e,t);return{attachedPlayerId:i,attachedVehicleId:a}},bm=(e,t)=>samp.callNative("DeletePlayer3DTextLabel","ii",e,t),Lm=e=>!!samp.callNative("IsValidGangZone","i",e),wm=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),Rm=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),Om=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),Gm=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),jm=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),Fm=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:i,fMaxX:a,fMaxY:r,ret:n}},Mm=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},Vm=(e,t,i,a)=>samp.callNative("GangZoneCreate","ffff",e,t,i,a),Bm=e=>samp.callNative("GangZoneDestroy","i",e),km=(e,t,i)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,N(i)),xm=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,N(t)),Hm=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),Um=e=>samp.callNative("GangZoneHideForAll","i",e),Wm=(e,t,i)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,N(i)),Km=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,N(t)),Xm=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),Zm=e=>samp.callNative("GangZoneStopFlashForAll","i",e),Ym=(e,t,i,a,r)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,i,a,r),zm=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),Jm=(e,t,i)=>samp.callNative("PlayerGangZoneShow","iii",e,t,i),$m=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),Qm=(e,t,i)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,i),qm=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),ef=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),tf=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),af=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),rf=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),nf=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),sf=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),lf=(e,t)=>{const[i=0,a=0,r=0,n=0,s]=samp.callNative("PlayerGangZoneGetPos","iiFFFF",e,t);return{fMinX:i,fMinY:a,fMaxX:r,fMaxY:n,ret:s}},of=(e,t,i)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,i)},_f=e=>!!samp.callNative("IsValidTextDraw","i",e),cf=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),df=e=>{const[t,i]=samp.callNative("TextDrawGetString","iSi",e,1024);return{str:t,ret:i}},hf=(e,t,i)=>{samp.callNative("TextDrawSetPos","iff",e,t,i)},uf=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:i,ret:a}},gf=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:i,ret:a}},mf=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:i,ret:a}},ff=e=>samp.callNative("TextDrawGetColor","i",e),Pf=e=>samp.callNative("TextDrawGetBoxColor","i",e),pf=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),If=e=>samp.callNative("TextDrawGetShadow","i",e),Sf=e=>samp.callNative("TextDrawGetOutline","i",e),yf=e=>samp.callNative("TextDrawGetFont","i",e),Cf=e=>!!samp.callNative("TextDrawIsBox","i",e),Ef=e=>!!samp.callNative("TextDrawIsProportional","i",e),Af=e=>!!samp.callNative("TextDrawIsSelectable","i",e),Nf=e=>samp.callNative("TextDrawGetAlignment","i",e),Df=e=>samp.callNative("TextDrawGetPreviewModel","i",e),Tf=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:i,fRotZ:a,fZoom:r,ret:n}},vf=e=>{const[t,i,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:i,ret:a}},bf=(e,t,i)=>{samp.callNative("TextDrawSetStringForPlayer","iia",e,t,i)},Lf=(e,t,i)=>samp.callNative("TextDrawCreate","ffa",e,t,i),wf=e=>samp.callNative("TextDrawDestroy","i",e),Rf=(e,t,i)=>samp.callNative("TextDrawLetterSize","iff",e,t,i),Of=(e,t,i)=>samp.callNative("TextDrawTextSize","iff",e,t,i),Gf=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),jf=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,N(t)),Ff=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),Mf=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,N(t)),Vf=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),Bf=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),kf=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,N(t)),xf=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),Hf=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),Uf=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),Wf=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),Kf=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),Xf=e=>samp.callNative("TextDrawShowForAll","i",e),Zf=e=>samp.callNative("TextDrawHideForAll","i",e),Yf=(e,t)=>samp.callNative("TextDrawSetString","ia",e,t),zf=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),Jf=(e,t,i,a,r=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,i,a,r)},$f=(e,t,i)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,N(t),N(i)),Qf=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,N(t))},qf=e=>{samp.callNative("CancelSelectTextDraw","i",e)},eP=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),tP=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),iP=(e,t)=>{const[i,a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return{str:i,ret:a}},aP=(e,t,i,a)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,i,a)},rP=(e,t)=>{const[i=0,a=0,r]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:i,fY:a,ret:r}},nP=(e,t)=>{const[i=0,a=0,r]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:i,fY:a,ret:r}},sP=(e,t)=>{const[i=0,a=0,r]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:i,fY:a,ret:r}},lP=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),oP=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),_P=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),cP=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),dP=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),hP=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),uP=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),gP=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),mP=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),fP=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),PP=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),pP=(e,t)=>{const[i=0,a=0,r=0,n=0]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:i,fRotY:a,fRotZ:r,fZoom:n}},IP=(e,t)=>{const[i,a,r]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:i,color2:a,ret:r}},SP=(e,t,i,a)=>samp.callNative("CreatePlayerTextDraw","iffa",e,t,i,a),yP=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},CP=(e,t,i,a)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,i,a),EP=(e,t,i,a)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,i,a),AP=(e,t,i)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,i),NP=(e,t,i)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,N(i)),DP=(e,t,i)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,i),TP=(e,t,i)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,N(i)),vP=(e,t,i)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,i),bP=(e,t,i)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,i),LP=(e,t,i)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,N(i)),wP=(e,t,i)=>samp.callNative("PlayerTextDrawFont","iii",e,t,i),RP=(e,t,i)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,i),OP=(e,t,i)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,i),GP=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),jP=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),FP=(e,t,i)=>samp.callNative("PlayerTextDrawSetString","iia",e,t,i),MP=(e,t,i)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,i),VP=(e,t,i,a,r,n)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,i,a,r,n),BP=(e,t,i,a)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,i,a),kP=e=>samp.callNativeFloat("GetObjectDrawDistance","i",e),xP=e=>samp.callNativeFloat("GetObjectMoveSpeed","i",e),HP=(e,t)=>!!samp.callNativeFloat("SetObjectMoveSpeed","if",e,t),UP=e=>{const[t=0,i=0,a=0,r]=samp.callNative("GetObjectMovingTargetPos","iFFF",e);return{fX:t,fY:i,fZ:a,ret:r}},WP=e=>{const[t=0,i=0,a=0,r]=samp.callNative("GetObjectTarget","iFFF",e);return{fX:t,fY:i,fZ:a,ret:r}},KP=e=>{const[t=0,i=0,a=0,r=0,n=0,s=0]=samp.callNative("GetObjectAttachedOffset","i",e);return{fX:t,fY:i,fZ:a,fRotX:r,fRotY:n,fRotZ:s}},XP=e=>samp.callNative("GetObjectSyncRotation","i",e),ZP=(e,t)=>!!samp.callNative("IsObjectMaterialSlotUsed","ii",e,t),YP=(e,t)=>{const[i=0,a,r,n=0,s]=samp.callNative("GetObjectMaterial","iiISiSiI",e,t,64,64);return{modelId:i,txdName:a,textureName:r,materialColor:n,ret:s}},zP=(e,t,i,a,r,n,s,o=0)=>samp.callNative("CreateObject","ifffffff",e,t,i,a,r,n,s,o),JP=(e,t,i,a,r,n,s,o)=>!!samp.callNative("AttachObjectToVehicle","iiffffff",e,t,i,a,r,n,s,o),$P=(e,t,i,a,r,n,s,o,_,d=!0)=>!!samp.callNative("AttachPlayerObjectToObject","iiiffffffi",e,t,i,a,r,n,s,o,_,d),QP=(e,t,i,a,r,n,s,o,_=!0)=>!!samp.callNative("AttachObjectToObject","iiffffffi",e,t,i,a,r,n,s,o,_),qP=(e,t,i,a,r,n,s,o)=>!!samp.callNative("AttachObjectToPlayer","iiffffff",e,t,i,a,r,n,s,o),ep=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),tp=(e,t,i,a)=>!!samp.callNative("SetObjectPos","ifff",e,t,i,a),ip=e=>{const[t,i,a,r]=samp.callNative("GetObjectPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},ap=(e,t,i,a)=>!!samp.callNative("SetObjectRot","ifff",e,t,i,a),rp=e=>{const[t,i,a,r]=samp.callNative("GetObjectRot","iFFF",e);return{x:t,y:i,z:a,ret:r}},np=e=>samp.callNative("GetObjectModel","i",e),sp=e=>!!samp.callNative("SetObjectNoCameraCol","i",e),lp=e=>!!samp.callNative("IsObjectNoCameraCol","i",e),op=e=>!!samp.callNative("IsValidObject","i",e),_p=e=>samp.callNative("DestroyObject","i",e),cp=(e,t,i,a,r,n,s,o)=>samp.callNative("MoveObject","ifffffff",e,t,i,a,r,n,s,o),dp=e=>samp.callNative("StopObject","i",e),hp=e=>!!samp.callNative("IsObjectMoving","i",e),up=(e,t)=>!!samp.callNative("BeginObjectEditing","ii",e,t),gp=e=>!!samp.callNative("BeginObjectSelecting","i",e),Ni=e=>!!samp.callNative("EndObjectEditing","i",e),mp=(e,t,i,a,r,n)=>!!samp.callNative("SetObjectMaterial","iiissi",e,t,i,a,r,N(n)),fp=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),Pp=(e,t,i,a,r)=>!!samp.callNative("AddSimpleModel","iiiss",e,t,i,a,r),pp=(e,t,i,a,r,n,s)=>!!samp.callNative("AddSimpleModelTimed","iiissii",e,t,i,a,r,n,s),Ip=(e,t)=>!!samp.callNative("RedirectDownload","is",e,t),Sp=e=>{const[t,i]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return{name:t,ret:i}},yp=e=>{const[t,i]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return{name:t,ret:i}},Cp=(e,t)=>{const[i=0,a=0,r=0,n=0,s=0,o=0,_=0,d=0,h=0,g=0,I=0,C=0,y=0,L]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:i,bone:a,fX:r,fY:n,fZ:s,fRotX:o,fRotY:_,fRotZ:d,fScaleX:h,fScaleY:g,fScaleZ:I,materialColor1:C,materialColor2:y,ret:L}},Ep=(e,t,i,a,r,n,s,o,_,d,h,g,I,C,y)=>!!samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,i,a,r,n,s,o,_,d,h,g,I,N(C),N(y)),Ap=(e,t)=>!!samp.callNative("RemovePlayerAttachedObject","ii",e,t),Np=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),Di=e=>!!samp.callNative("IsValidCustomModel","i",e),Dp=e=>{if(!Di(e))return null;const[t,i,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:i,ret:a}},Tp=(e,t)=>samp.callNativeFloat("GetPlayerObjectDrawDistance","ii",e,t),vp=(e,t,i)=>!!samp.callNativeFloat("SetPlayerObjectMoveSpeed","iif",e,t,i),bp=(e,t)=>samp.callNativeFloat("GetPlayerObjectMoveSpeed","ii",e,t),Lp=(e,t)=>{const[i=0,a=0,r=0,n]=samp.callNative("GetPlayerObjectTarget","iiFFF",e,t);return{fX:i,fY:a,fZ:r,ret:n}},wp=(e,t)=>{const[i=0,a=0,r=0,n]=samp.callNative("GetPlayerObjectMovingTargetPos","iiFFF",e,t);return{fX:i,fY:a,fZ:r,ret:n}},Rp=(e,t)=>{const[i=0,a=0,r=0,n=0,s=0,o=0,_]=samp.callNative("GetPlayerObjectAttachedOffset","iiFFFFFF",e,t);return{fX:i,fY:a,fZ:r,fRotX:n,fRotY:s,fRotZ:o,ret:_}},Op=(e,t)=>!!samp.callNative("GetPlayerObjectSyncRotation","ii",e,t),Gp=(e,t,i)=>!!samp.callNative("IsPlayerObjectMaterialSlotUsed","iii",e,t,i),jp=(e,t,i)=>{const[a=0,r,n,s=0,o]=samp.callNative("GetPlayerObjectMaterial","iiiISiSiI",e,t,i,64,64);return{modelId:a,txdName:r,textureName:n,materialColor:s,ret:o}},Fp=(e,t)=>!!samp.callNative("IsPlayerObjectNoCameraCol","ii",e,t),Mp=e=>samp.callNative("GetPlayerCameraTargetPlayerObj","i",e),Vp=(e,t)=>!!samp.callNative("BeginPlayerObjectEditing","ii",e,t),Bp=(e,t,i,a,r,n,s,o,_=0)=>samp.callNative("CreatePlayerObject","iifffffff",e,t,i,a,r,n,s,o,_),kp=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("AttachPlayerObjectToVehicle","iiiffffff",e,t,i,a,r,n,s,o,_),xp=(e,t,i,a,r)=>samp.callNative("SetPlayerObjectPos","iifff",e,t,i,a,r),Hp=(e,t)=>{const[i,a,r,n]=samp.callNative("GetPlayerObjectPos","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},Up=(e,t,i,a,r)=>samp.callNative("SetPlayerObjectRot","iifff",e,t,i,a,r),Wp=(e,t)=>{const[i,a,r,n]=samp.callNative("GetPlayerObjectRot","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},Kp=(e,t)=>samp.callNative("GetPlayerObjectModel","ii",e,t),Xp=(e,t)=>!!samp.callNative("SetPlayerObjectNoCameraCollision","ii",e,t),Zp=(e,t)=>!!samp.callNative("IsValidPlayerObject","ii",e,t),Yp=(e,t)=>samp.callNative("DestroyPlayerObject","ii",e,t),zp=(e,t,i,a,r,n,s,o,_)=>samp.callNative("MovePlayerObject","iifffffff",e,t,i,a,r,n,s,o,_),Jp=(e,t)=>samp.callNative("StopPlayerObject","ii",e,t),$p=(e,t)=>!!samp.callNative("IsPlayerObjectMoving","ii",e,t),Qp=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("AttachPlayerObjectToPlayer","iiiffffff",e,t,i,a,r,n,s,o,_),qp=(e,t,i,a,r,n,s)=>!!samp.callNative("SetPlayerObjectMaterial","iiiissi",e,t,i,a,r,n,N(s)),eI=e=>!!samp.callNative("IsValidPickup","i",e),tI=(e,t)=>!!samp.callNative("IsPickupStreamedIn","ii",e,t),iI=e=>{const[t,i,a,r]=samp.callNative("GetPickupPos","iFFF",e);return{fX:t,fY:i,fZ:a,ret:r}},aI=e=>samp.callNative("GetPickupModel","i",e),rI=e=>samp.callNative("GetPickupType","i",e),nI=e=>samp.callNative("GetPickupVirtualWorld","i",e),sI=(e,t,i,a,r=!0)=>!!samp.callNative("SetPickupPos","ifffi",e,t,i,a,r),lI=(e,t,i=!0)=>!!samp.callNative("SetPickupModel","iii",e,t,i),oI=(e,t,i=!0)=>!!samp.callNative("SetPickupType","iii",e,t,i),_I=(e,t)=>!!samp.callNative("SetPickupVirtualWorld","ii",e,t),cI=(e,t)=>!!samp.callNative("ShowPickupForPlayer","ii",e,t),dI=(e,t)=>!!samp.callNative("HidePickupForPlayer","ii",e,t),hI=(e,t)=>!!samp.callNative("IsPickupHiddenForPlayer","ii",e,t),uI=(e,t,i,a,r,n)=>samp.callNative("AddStaticPickup","iifffi",e,t,i,a,r,n),gI=(e,t,i,a,r,n)=>samp.callNative("CreatePickup","iifffi",e,t,i,a,r,n),mI=e=>!!samp.callNative("DestroyPickup","i",e),Ti=new Map([["AIRPORT",[{n:"thrw_barl_thrw",d:2}]],["ATTRACTORS",[{n:"Stepsit_in",d:1.67},{n:"Stepsit_loop",d:3.33},{n:"Stepsit_out",d:1.67}]],["BAR",[{n:"Barcustom_get",d:3},{n:"Barcustom_loop",d:2},{n:"Barcustom_order",d:3.67},{n:"BARman_idle",d:8.33},{n:"Barserve_bottle",d:3},{n:"Barserve_give",d:2.33},{n:"Barserve_glass",d:3.67},{n:"Barserve_in",d:1.67},{n:"Barserve_loop",d:2.33},{n:"Barserve_order",d:3.67},{n:"dnk_stndF_loop",d:2.33},{n:"dnk_stndM_loop",d:2.33}]],["BASEBALL",[{n:"Bat_1",d:.9},{n:"Bat_2",d:1.13},{n:"Bat_3",d:1.2},{n:"Bat_4",d:1},{n:"Bat_block",d:.47},{n:"Bat_Hit_1",d:.83},{n:"Bat_Hit_2",d:1.07},{n:"Bat_Hit_3",d:1.13},{n:"Bat_IDLE",d:.93},{n:"Bat_M",d:.53},{n:"BAT_PART",d:.53}]],["BD_FIRE",[{n:"BD_Fire1",d:1.83},{n:"BD_Fire2",d:1.67},{n:"BD_Fire3",d:1.83},{n:"BD_GF_Wave",d:5.07},{n:"BD_Panic_01",d:3.33},{n:"BD_Panic_02",d:3.33},{n:"BD_Panic_03",d:3.33},{n:"BD_Panic_04",d:3.33},{n:"BD_Panic_Loop",d:3.33},{n:"Grlfrd_Kiss_03",d:7},{n:"M_smklean_loop",d:5},{n:"Playa_Kiss_03",d:7},{n:"wash_up",d:3}]],["BEACH",[{n:"bather",d:4.2},{n:"Lay_Bac_Loop",d:2.67},{n:"ParkSit_M_loop",d:3.67},{n:"ParkSit_W_loop",d:3.33},{n:"SitnWait_loop_W",d:1.33}]],["benchpress",[{n:"gym_bp_celebrate",d:5},{n:"gym_bp_down",d:1},{n:"gym_bp_getoff",d:8.67},{n:"gym_bp_geton",d:5.33},{n:"gym_bp_up_A",d:2.33},{n:"gym_bp_up_B",d:2.67},{n:"gym_bp_up_smooth",d:1.33}]],["BF_injection",[{n:"BF_getin_LHS",d:1},{n:"BF_getin_RHS",d:1},{n:"BF_getout_LHS",d:1.13},{n:"BF_getout_RHS",d:1.13}]],["BIKED",[{n:"BIKEd_Back",d:.1},{n:"BIKEd_drivebyFT",d:.2},{n:"BIKEd_drivebyLHS",d:.2},{n:"BIKEd_drivebyRHS",d:.2},{n:"BIKEd_Fwd",d:.2},{n:"BIKEd_getoffBACK",d:1.47},{n:"BIKEd_getoffLHS",d:1},{n:"BIKEd_getoffRHS",d:1},{n:"BIKEd_hit",d:.03},{n:"BIKEd_jumponL",d:.97},{n:"BIKEd_jumponR",d:.97},{n:"BIKEd_kick",d:1.07},{n:"BIKEd_Left",d:.1},{n:"BIKEd_passenger",d:.03},{n:"BIKEd_pushes",d:.8},{n:"BIKEd_Ride",d:.03},{n:"BIKEd_Right",d:.1},{n:"BIKEd_shuffle",d:.43},{n:"BIKEd_Still",d:.03}]],["BIKEH",[{n:"BIKEh_Back",d:.1},{n:"BIKEh_drivebyFT",d:.2},{n:"BIKEh_drivebyLHS",d:.2},{n:"BIKEh_drivebyRHS",d:.2},{n:"BIKEh_Fwd",d:.2},{n:"BIKEh_getoffBACK",d:1.7},{n:"BIKEh_getoffLHS",d:.77},{n:"BIKEh_getoffRHS",d:.73},{n:"BIKEh_hit",d:.03},{n:"BIKEh_jumponL",d:1.47},{n:"BIKEh_jumponR",d:1.5},{n:"BIKEh_kick",d:1.07},{n:"BIKEh_Left",d:.13},{n:"BIKEh_passenger",d:.03},{n:"BIKEh_pushes",d:.97},{n:"BIKEh_Ride",d:.03},{n:"BIKEh_Right",d:.13},{n:"BIKEh_Still",d:.03}]],["BIKELEAP",[{n:"bk_blnce_in",d:1.9},{n:"bk_blnce_out",d:1},{n:"bk_jmp",d:.4},{n:"bk_rdy_in",d:.5},{n:"bk_rdy_out",d:.4},{n:"struggle_cesar",d:.47},{n:"struggle_driver",d:.47},{n:"truck_driver",d:.73},{n:"truck_getin",d:2.5}]],["BIKES",[{n:"BIKEs_Back",d:.1},{n:"BIKEs_drivebyFT",d:.2},{n:"BIKEs_drivebyLHS",d:.2},{n:"BIKEs_drivebyRHS",d:.2},{n:"BIKEs_Fwd",d:.2},{n:"BIKEs_getoffBACK",d:2.43},{n:"BIKEs_getoffLHS",d:1.1},{n:"BIKEs_getoffRHS",d:1.1},{n:"BIKEs_hit",d:.03},{n:"BIKEs_jumponL",d:.9},{n:"BIKEs_jumponR",d:.9},{n:"BIKEs_kick",d:1},{n:"BIKEs_Left",d:.1},{n:"BIKEs_passenger",d:.03},{n:"BIKEs_pushes",d:.73},{n:"BIKEs_Ride",d:.03},{n:"BIKEs_Right",d:.1},{n:"BIKEs_Snatch_L",d:.43},{n:"BIKEs_Snatch_R",d:.43},{n:"BIKEs_Still",d:.03}]],["BIKEV",[{n:"BIKEv_Back",d:.17},{n:"BIKEv_drivebyFT",d:.17},{n:"BIKEv_drivebyLHS",d:.23},{n:"BIKEv_drivebyRHS",d:.2},{n:"BIKEv_Fwd",d:.2},{n:"BIKEv_getoffBACK",d:1.7},{n:"BIKEv_getoffLHS",d:.67},{n:"BIKEv_getoffRHS",d:.67},{n:"BIKEv_hit",d:.03},{n:"BIKEv_jumponL",d:.67},{n:"BIKEv_jumponR",d:.67},{n:"BIKEv_kick",d:1},{n:"BIKEv_Left",d:.1},{n:"BIKEv_passenger",d:.03},{n:"BIKEv_pushes",d:.73},{n:"BIKEv_Ride",d:.03},{n:"BIKEv_Right",d:.1},{n:"BIKEv_Still",d:.03}]],["BIKE_DBZ",[{n:"Pass_Driveby_BWD",d:.83},{n:"Pass_Driveby_FWD",d:.83},{n:"Pass_Driveby_LHS",d:.83},{n:"Pass_Driveby_RHS",d:.83}]],["BLOWJOBZ",[{n:"BJ_Car_End_P",d:4.13},{n:"BJ_Car_End_W",d:3.67},{n:"BJ_Car_Loop_P",d:.67},{n:"BJ_Car_Loop_W",d:.67},{n:"BJ_Car_Start_P",d:2.33},{n:"BJ_Car_Start_W",d:2.33},{n:"BJ_Couch_End_P",d:7.67},{n:"BJ_Couch_End_W",d:7.67},{n:"BJ_Couch_Loop_P",d:2},{n:"BJ_Couch_Loop_W",d:2},{n:"BJ_Couch_Start_P",d:5.33},{n:"BJ_Couch_Start_W",d:5.33},{n:"BJ_Stand_End_P",d:4.87},{n:"BJ_Stand_End_W",d:5.33},{n:"BJ_Stand_Loop_P",d:.67},{n:"BJ_Stand_Loop_W",d:.67},{n:"BJ_Stand_Start_P",d:2},{n:"BJ_Stand_Start_W",d:2}]],["BMX",[{n:"BMX_back",d:.1},{n:"BMX_bunnyhop",d:.33},{n:"BMX_drivebyFT",d:.2},{n:"BMX_driveby_LHS",d:.2},{n:"BMX_driveby_RHS",d:.2},{n:"BMX_fwd",d:.13},{n:"BMX_getoffBACK",d:1.37},{n:"BMX_getoffLHS",d:.73},{n:"BMX_getoffRHS",d:.63},{n:"BMX_jumponL",d:.9},{n:"BMX_jumponR",d:.9},{n:"BMX_Left",d:.13},{n:"BMX_pedal",d:.73},{n:"BMX_pushes",d:.8},{n:"BMX_Ride",d:.03},{n:"BMX_Right",d:.13},{n:"BMX_sprint",d:.67},{n:"BMX_still",d:.03}]],["BOMBER",[{n:"BOM_Plant",d:2.67},{n:"BOM_Plant_2Idle",d:1},{n:"BOM_Plant_Crouch_In",d:.8},{n:"BOM_Plant_Crouch_Out",d:.8},{n:"BOM_Plant_In",d:.87},{n:"BOM_Plant_Loop",d:.8}]],["BOX",[{n:"boxhipin",d:6.53},{n:"boxhipup",d:5},{n:"boxshdwn",d:6.1},{n:"boxshup",d:5.2},{n:"bxhipwlk",d:1.5},{n:"bxhwlki",d:.97},{n:"bxshwlk",d:2.5},{n:"bxshwlki",d:.97},{n:"bxwlko",d:.53},{n:"catch_box",d:1.5}]],["BSKTBALL",[{n:"BBALL_def_jump_shot",d:1.17},{n:"BBALL_def_loop",d:1},{n:"BBALL_def_stepL",d:.6},{n:"BBALL_def_stepR",d:.6},{n:"BBALL_Dnk",d:1.4},{n:"BBALL_Dnk_Gli",d:.37},{n:"BBALL_Dnk_Gli_O",d:.37},{n:"BBALL_Dnk_Lnch",d:.2},{n:"BBALL_Dnk_Lnch_O",d:.2},{n:"BBALL_Dnk_Lnd",d:.93},{n:"BBALL_Dnk_O",d:.1},{n:"BBALL_idle",d:2.43},{n:"BBALL_idle2",d:2.67},{n:"BBALL_idle2_O",d:2.67},{n:"BBALL_idleloop",d:.67},{n:"BBALL_idleloop_O",d:.67},{n:"BBALL_idle_O",d:2.43},{n:"BBALL_Jump_Cancel",d:1.07},{n:"BBALL_Jump_Cancel_O",d:1.07},{n:"BBALL_Jump_End",d:.93},{n:"BBALL_Jump_Shot",d:1.67},{n:"BBALL_Jump_Shot_O",d:.67},{n:"BBALL_Net_Dnk_O",d:1.83},{n:"BBALL_pickup",d:1.83},{n:"BBALL_pickup_O",d:1.83},{n:"BBALL_react_miss",d:.8},{n:"BBALL_react_score",d:1.1},{n:"BBALL_run",d:.9},{n:"BBALL_run_O",d:.9},{n:"BBALL_SkidStop_L",d:.5},{n:"BBALL_SkidStop_L_O",d:.5},{n:"BBALL_SkidStop_R",d:.5},{n:"BBALL_SkidStop_R_O",d:.5},{n:"BBALL_walk",d:1.07},{n:"BBALL_WalkStop_L",d:.5},{n:"BBALL_WalkStop_L_O",d:.5},{n:"BBALL_WalkStop_R",d:.5},{n:"BBALL_WalkStop_R_O",d:.5},{n:"BBALL_walk_O",d:1.07},{n:"BBALL_walk_start",d:.2},{n:"BBALL_walk_start_O",d:.2}]],["BUDDY",[{n:"buddy_crouchfire",d:.87},{n:"buddy_crouchreload",d:1.1},{n:"buddy_fire",d:.8},{n:"buddy_fire_poor",d:1.33},{n:"buddy_reload",d:1.3}]],["BUS",[{n:"BUS_close",d:.4},{n:"BUS_getin_LHS",d:.33},{n:"BUS_getin_RHS",d:2.17},{n:"BUS_getout_LHS",d:.8},{n:"BUS_getout_RHS",d:1.87},{n:"BUS_jacked_LHS",d:1.13},{n:"BUS_open",d:1.47},{n:"BUS_open_RHS",d:1.2},{n:"BUS_pullout_LHS",d:.8}]],["CAMERA",[{n:"camcrch_cmon",d:2.33},{n:"camcrch_idleloop",d:2},{n:"camcrch_stay",d:2},{n:"camcrch_to_camstnd",d:1.33},{n:"camstnd_cmon",d:3},{n:"camstnd_idleloop",d:2},{n:"camstnd_lkabt",d:4.33},{n:"camstnd_to_camcrch",d:1},{n:"piccrch_in",d:1.33},{n:"piccrch_out",d:2},{n:"piccrch_take",d:1},{n:"picstnd_in",d:1},{n:"picstnd_out",d:.67},{n:"picstnd_take",d:1}]],["CAR",[{n:"Fixn_Car_Loop",d:5},{n:"Fixn_Car_Out",d:2.33},{n:"flag_drop",d:4.5},{n:"Sit_relaxed",d:.03},{n:"Tap_hand",d:.33},{n:"Tyd2car_bump",d:.83},{n:"Tyd2car_high",d:8},{n:"Tyd2car_low",d:6.67},{n:"Tyd2car_med",d:6.67},{n:"Tyd2car_TurnL",d:1},{n:"Tyd2car_TurnR",d:1}]],["CARRY",[{n:"crry_prtial",d:.03},{n:"liftup",d:1.53},{n:"liftup05",d:.63},{n:"liftup105",d:.67},{n:"putdwn",d:1.13},{n:"putdwn05",d:.67},{n:"putdwn105",d:.53}]],["CAR_CHAT",[{n:"carfone_in",d:6},{n:"carfone_loopA",d:4},{n:"carfone_loopA_to_B",d:1},{n:"carfone_loopB",d:5},{n:"carfone_loopB_to_A",d:.67},{n:"carfone_out",d:3},{n:"CAR_Sc1_BL",d:11.67},{n:"CAR_Sc1_BR",d:11.67},{n:"CAR_Sc1_FL",d:11.67},{n:"CAR_Sc1_FR",d:11.67},{n:"CAR_Sc2_FL",d:5},{n:"CAR_Sc3_BR",d:10.83},{n:"CAR_Sc3_FL",d:10.83},{n:"CAR_Sc3_FR",d:10.83},{n:"CAR_Sc4_BL",d:4.4},{n:"CAR_Sc4_BR",d:6.53},{n:"CAR_Sc4_FL",d:10},{n:"CAR_Sc4_FR",d:10},{n:"car_talkm_in",d:1.67},{n:"car_talkm_loop",d:4.33},{n:"car_talkm_out",d:7.33}]],["CASINO",[{n:"cards_in",d:.67},{n:"cards_loop",d:3.33},{n:"cards_lose",d:3.33},{n:"cards_out",d:.67},{n:"cards_pick_01",d:4.67},{n:"cards_pick_02",d:5.33},{n:"cards_raise",d:1.67},{n:"cards_win",d:3},{n:"dealone",d:.8},{n:"manwinb",d:1.5},{n:"manwind",d:1.67},{n:"Roulette_bet",d:2.33},{n:"Roulette_in",d:.67},{n:"Roulette_loop",d:3.67},{n:"Roulette_lose",d:2.67},{n:"Roulette_out",d:.67},{n:"Roulette_win",d:2.33},{n:"Slot_bet_01",d:4.67},{n:"Slot_bet_02",d:2},{n:"Slot_in",d:3.67},{n:"Slot_lose_out",d:4},{n:"Slot_Plyr",d:1.33},{n:"Slot_wait",d:3.67},{n:"Slot_win_out",d:9.33},{n:"wof",d:1.47}]],["CHAINSAW",[{n:"CSAW_1",d:1},{n:"CSAW_2",d:1.03},{n:"CSAW_3",d:.87},{n:"CSAW_G",d:1.17},{n:"CSAW_Hit_1",d:.83},{n:"CSAW_Hit_2",d:1.07},{n:"CSAW_Hit_3",d:1.13},{n:"csaw_part",d:.13},{n:"IDLE_csaw",d:1.5},{n:"WEAPON_csaw",d:1.33},{n:"WEAPON_csawlo",d:1.9}]],["CHOPPA",[{n:"CHOPPA_back",d:.1},{n:"CHOPPA_bunnyhop",d:.33},{n:"CHOPPA_drivebyFT",d:.2},{n:"CHOPPA_driveby_LHS",d:.2},{n:"CHOPPA_driveby_RHS",d:.2},{n:"CHOPPA_fwd",d:.2},{n:"CHOPPA_getoffBACK",d:1.27},{n:"CHOPPA_getoffLHS",d:.73},{n:"CHOPPA_getoffRHS",d:.63},{n:"CHOPPA_jumponL",d:.7},{n:"CHOPPA_jumponR",d:.8},{n:"CHOPPA_Left",d:.13},{n:"CHOPPA_pedal",d:.73},{n:"CHOPPA_Pushes",d:.8},{n:"CHOPPA_ride",d:.03},{n:"CHOPPA_Right",d:.13},{n:"CHOPPA_sprint",d:.67},{n:"CHOPPA_Still",d:.03}]],["CLOTHES",[{n:"CLO_Buy",d:2.07},{n:"CLO_In",d:4},{n:"CLO_Out",d:2.67},{n:"CLO_Pose_Hat",d:3.33},{n:"CLO_Pose_In",d:3.13},{n:"CLO_Pose_In_O",d:4},{n:"CLO_Pose_Legs",d:3.33},{n:"CLO_Pose_Loop",d:6},{n:"CLO_Pose_Out",d:4},{n:"CLO_Pose_Out_O",d:4},{n:"CLO_Pose_Shoes",d:3.33},{n:"CLO_Pose_Torso",d:3.33},{n:"CLO_Pose_Watch",d:3.33}]],["COACH",[{n:"COACH_inL",d:2.17},{n:"COACH_inR",d:2.2},{n:"COACH_opnL",d:1.2},{n:"COACH_opnR",d:1.2},{n:"COACH_outL",d:1.73},{n:"COACH_outR",d:1.83}]],["COLT45",[{n:"2guns_crouchfire",d:.8},{n:"colt45_crouchfire",d:.8},{n:"colt45_crouchreload",d:1},{n:"colt45_fire",d:.73},{n:"colt45_fire_2hands",d:.87},{n:"colt45_reload",d:.93},{n:"sawnoff_reload",d:.93}]],["COP_AMBIENT",[{n:"Copbrowse_in",d:5},{n:"Copbrowse_loop",d:2.33},{n:"Copbrowse_nod",d:4},{n:"Copbrowse_out",d:2.67},{n:"Copbrowse_shake",d:1.83},{n:"Coplook_in",d:1.33},{n:"Coplook_loop",d:2.67},{n:"Coplook_nod",d:5.33},{n:"Coplook_out",d:.67},{n:"Coplook_shake",d:4},{n:"Coplook_think",d:3.33},{n:"Coplook_watch",d:2}]],["COP_DVBYZ",[{n:"COP_Dvby_B",d:.83},{n:"COP_Dvby_FT",d:.83},{n:"COP_Dvby_L",d:.83},{n:"COP_Dvby_R",d:.83}]],["CRACK",[{n:"Bbalbat_Idle_01",d:6.67},{n:"Bbalbat_Idle_02",d:10},{n:"crckdeth1",d:2.17},{n:"crckdeth2",d:3},{n:"crckdeth3",d:2.17},{n:"crckdeth4",d:1.67},{n:"crckidle1",d:3.5},{n:"crckidle2",d:3.33},{n:"crckidle3",d:3.33},{n:"crckidle4",d:2.67}]],["CRIB",[{n:"CRIB_Console_Loop",d:3},{n:"CRIB_Use_Switch",d:1.17},{n:"PED_Console_Loop",d:3},{n:"PED_Console_Loose",d:3.5},{n:"PED_Console_Win",d:3.5}]],["DAM_JUMP",[{n:"DAM_Dive_Loop",d:1.33},{n:"DAM_Land",d:2.6},{n:"DAM_Launch",d:2.4},{n:"Jump_Roll",d:3.17},{n:"SF_JumpWall",d:3}]],["DANCING",[{n:"bd_clap",d:3.2},{n:"bd_clap1",d:2.63},{n:"dance_loop",d:1.17},{n:"DAN_Down_A",d:1},{n:"DAN_Left_A",d:1},{n:"DAN_Loop_A",d:2},{n:"DAN_Right_A",d:1},{n:"DAN_Up_A",d:1},{n:"dnce_M_a",d:2.13},{n:"dnce_M_b",d:1.93},{n:"dnce_M_c",d:1.93},{n:"dnce_M_d",d:2.43},{n:"dnce_M_e",d:.9}]],["DEALER",[{n:"DEALER_DEAL",d:3.17},{n:"DEALER_IDLE",d:6.67},{n:"DEALER_IDLE_01",d:5},{n:"DEALER_IDLE_02",d:4},{n:"DEALER_IDLE_03",d:4.67},{n:"DRUGS_BUY",d:3.17},{n:"shop_pay",d:4.67}]],["DILDO",[{n:"DILDO_1",d:.97},{n:"DILDO_2",d:1.1},{n:"DILDO_3",d:1.17},{n:"DILDO_block",d:.47},{n:"DILDO_G",d:1.47},{n:"DILDO_Hit_1",d:.77},{n:"DILDO_Hit_2",d:1.03},{n:"DILDO_Hit_3",d:.9},{n:"DILDO_IDLE",d:.87}]],["DODGE",[{n:"Cover_Dive_01",d:6},{n:"Cover_Dive_02",d:6},{n:"Crushed",d:.93},{n:"Crush_Jump",d:3.17}]],["DOZER",[{n:"DOZER_Align_LHS",d:.97},{n:"DOZER_Align_RHS",d:.93},{n:"DOZER_getin_LHS",d:.43},{n:"DOZER_getin_RHS",d:.43},{n:"DOZER_getout_LHS",d:1.07},{n:"DOZER_getout_RHS",d:.77},{n:"DOZER_Jacked_LHS",d:1.27},{n:"DOZER_Jacked_RHS",d:1.07},{n:"DOZER_pullout_LHS",d:.73},{n:"DOZER_pullout_RHS",d:.7}]],["DRIVEBYS",[{n:"Gang_DrivebyLHS",d:.83},{n:"Gang_DrivebyLHS_Bwd",d:.83},{n:"Gang_DrivebyLHS_Fwd",d:.83},{n:"Gang_DrivebyRHS",d:.83},{n:"Gang_DrivebyRHS_Bwd",d:.83},{n:"Gang_DrivebyRHS_Fwd",d:.83},{n:"Gang_DrivebyTop_LHS",d:.83},{n:"Gang_DrivebyTop_RHS",d:.83}]],["FAT",[{n:"FatIdle",d:1.5},{n:"FatIdle_armed",d:1.53},{n:"FatIdle_Csaw",d:1.5},{n:"FatIdle_Rocket",d:1.6},{n:"FatRun",d:.77},{n:"FatRun_armed",d:.77},{n:"FatRun_Csaw",d:.77},{n:"FatRun_Rocket",d:.77},{n:"FatSprint",d:.6},{n:"FatWalk",d:1.17},{n:"FatWalkstart",d:.2},{n:"FatWalkstart_Csaw",d:.2},{n:"FatWalkSt_armed",d:.2},{n:"FatWalkSt_Rocket",d:.2},{n:"FatWalk_armed",d:1.17},{n:"FatWalk_Csaw",d:1.17},{n:"FatWalk_Rocket",d:1.17},{n:"IDLE_tired",d:1.07}]],["FIGHT_B",[{n:"FightB_1",d:.73},{n:"FightB_2",d:1.1},{n:"FightB_3",d:1.2},{n:"FightB_block",d:.47},{n:"FightB_G",d:1.07},{n:"FightB_IDLE",d:.8},{n:"FightB_M",d:.5},{n:"HitB_1",d:.73},{n:"HitB_2",d:.83},{n:"HitB_3",d:1.43}]],["FIGHT_C",[{n:"FightC_1",d:.83},{n:"FightC_2",d:1.03},{n:"FightC_3",d:1},{n:"FightC_block",d:.47},{n:"FightC_blocking",d:3.2},{n:"FightC_G",d:.77},{n:"FightC_IDLE",d:1},{n:"FightC_M",d:.9},{n:"FightC_Spar",d:3.2},{n:"HitC_1",d:.3},{n:"HitC_2",d:.67},{n:"HitC_3",d:.83}]],["FIGHT_D",[{n:"FightD_1",d:.93},{n:"FightD_2",d:1.87},{n:"FightD_3",d:.9},{n:"FightD_block",d:.47},{n:"FightD_G",d:.83},{n:"FightD_IDLE",d:1.53},{n:"FightD_M",d:1.07},{n:"HitD_1",d:.67},{n:"HitD_2",d:1.83},{n:"HitD_3",d:.97}]],["FIGHT_E",[{n:"FightKick",d:.77},{n:"FightKick_B",d:1.03},{n:"Hit_fightkick",d:.5},{n:"Hit_fightkick_B",d:1.13}]],["FINALE",[{n:"FIN_Climb_In",d:2.9},{n:"FIN_Cop1_ClimbOut2",d:6},{n:"FIN_Cop1_Loop",d:2},{n:"FIN_Cop1_Stomp",d:1},{n:"FIN_Hang_L",d:.57},{n:"FIN_Hang_Loop",d:4},{n:"FIN_Hang_R",d:.57},{n:"FIN_Hang_Slip",d:3.33},{n:"FIN_Jump_On",d:5.6},{n:"FIN_Land_Car",d:.67},{n:"FIN_Land_Die",d:2.37},{n:"FIN_LegsUp",d:1},{n:"FIN_LegsUp_L",d:.5},{n:"FIN_LegsUp_Loop",d:1.33},{n:"FIN_LegsUp_R",d:.5},{n:"FIN_Let_Go",d:.17}]],["FINALE2",[{n:"FIN_Cop1_ClimbOut",d:4},{n:"FIN_Cop1_Fall",d:.43},{n:"FIN_Cop1_Loop",d:2},{n:"FIN_Cop1_Shot",d:2.07},{n:"FIN_Cop1_Swing",d:1.17},{n:"FIN_Cop2_ClimbOut",d:5.33},{n:"FIN_Switch_P",d:3.97},{n:"FIN_Switch_S",d:2.17}]],["FLAME",[{n:"FLAME_fire",d:.8}]],["Flowers",[{n:"Flower_attack",d:.8},{n:"Flower_attack_M",d:1.23},{n:"Flower_Hit",d:.83}]],["FOOD",[{n:"EAT_Burger",d:5},{n:"EAT_Chicken",d:5},{n:"EAT_Pizza",d:5},{n:"EAT_Vomit_P",d:8},{n:"EAT_Vomit_SK",d:8},{n:"FF_Dam_Bkw",d:.67},{n:"FF_Dam_Fwd",d:.67},{n:"FF_Dam_Left",d:.67},{n:"FF_Dam_Right",d:.67},{n:"FF_Die_Bkw",d:.67},{n:"FF_Die_Fwd",d:.67},{n:"FF_Die_Left",d:.67},{n:"FF_Die_Right",d:.67},{n:"FF_Sit_Eat1",d:2.83},{n:"FF_Sit_Eat2",d:2.67},{n:"FF_Sit_Eat3",d:2.67},{n:"FF_Sit_In",d:3},{n:"FF_Sit_In_L",d:2},{n:"FF_Sit_In_R",d:2},{n:"FF_Sit_Look",d:8},{n:"FF_Sit_Loop",d:2.67},{n:"FF_Sit_Out_180",d:2.83},{n:"FF_Sit_Out_L_180",d:1.33},{n:"FF_Sit_Out_R_180",d:1.33},{n:"SHP_Thank",d:1.17},{n:"SHP_Tray_In",d:.67},{n:"SHP_Tray_Lift",d:1.67},{n:"SHP_Tray_Lift_In",d:.5},{n:"SHP_Tray_Lift_Loop",d:8},{n:"SHP_Tray_Lift_Out",d:.5},{n:"SHP_Tray_Out",d:.67},{n:"SHP_Tray_Pose",d:.67},{n:"SHP_Tray_Return",d:1.33}]],["Freeweights",[{n:"gym_barbell",d:2.37},{n:"gym_free_A",d:1.93},{n:"gym_free_B",d:2.33},{n:"gym_free_celebrate",d:3.33},{n:"gym_free_down",d:.57},{n:"gym_free_loop",d:.67},{n:"gym_free_pickup",d:3.17},{n:"gym_free_putdown",d:3.17},{n:"gym_free_up_smooth",d:1}]],["GANGS",[{n:"DEALER_DEAL",d:1.17},{n:"DEALER_IDLE",d:2},{n:"drnkbr_prtl",d:2.67},{n:"drnkbr_prtl_F",d:2.67},{n:"DRUGS_BUY",d:1.17},{n:"hndshkaa",d:4},{n:"hndshkba",d:2.33},{n:"hndshkca",d:3.33},{n:"hndshkcb",d:3.33},{n:"hndshkda",d:2},{n:"hndshkea",d:1},{n:"hndshkfa",d:4.17},{n:"hndshkfa_swt",d:4.17},{n:"Invite_No",d:3.33},{n:"Invite_Yes",d:4.33},{n:"leanIDLE",d:1},{n:"leanIN",d:1},{n:"leanOUT",d:1},{n:"prtial_gngtlkA",d:4},{n:"prtial_gngtlkB",d:6.17},{n:"prtial_gngtlkC",d:7.33},{n:"prtial_gngtlkD",d:3},{n:"prtial_gngtlkE",d:2.83},{n:"prtial_gngtlkF",d:5.17},{n:"prtial_gngtlkG",d:7},{n:"prtial_gngtlkH",d:6},{n:"prtial_hndshk_01",d:1.67},{n:"prtial_hndshk_biz_01",d:2.33},{n:"shake_cara",d:1.67},{n:"shake_carK",d:1.27},{n:"shake_carSH",d:1.5},{n:"smkcig_prtl",d:7.5},{n:"smkcig_prtl_F",d:7.5}]],["GFUNK",[{n:"Dance_B1",d:1.27},{n:"Dance_B2",d:1.27},{n:"Dance_B3",d:1.27},{n:"Dance_B4",d:1.27},{n:"Dance_B5",d:1.27},{n:"Dance_B6",d:1.27},{n:"Dance_B7",d:1.27},{n:"Dance_B8",d:1.27},{n:"Dance_B9",d:1.27},{n:"Dance_B10",d:1.27},{n:"Dance_B11",d:1.27},{n:"Dance_B12",d:1.27},{n:"Dance_B13",d:1.27},{n:"Dance_B14",d:1.27},{n:"Dance_B15",d:1.27},{n:"Dance_B16",d:1.27},{n:"Dance_G1",d:1.27},{n:"Dance_G2",d:1.27},{n:"Dance_G3",d:1.27},{n:"Dance_G4",d:1.27},{n:"Dance_G5",d:1.27},{n:"Dance_G6",d:1.27},{n:"Dance_G7",d:1.27},{n:"Dance_G8",d:1.27},{n:"Dance_G9",d:1.27},{n:"Dance_G10",d:1.27},{n:"Dance_G11",d:1.27},{n:"Dance_G12",d:1.27},{n:"Dance_G13",d:1.27},{n:"Dance_G14",d:1.27},{n:"Dance_G15",d:1.27},{n:"Dance_G16",d:1.27},{n:"dance_loop",d:1.17}]],["GHANDS",[{n:"gsign1",d:4.77},{n:"gsign1LH",d:2.73},{n:"gsign2",d:2.13},{n:"gsign2LH",d:2.33},{n:"gsign3",d:4.67},{n:"gsign3LH",d:2},{n:"gsign4",d:4.17},{n:"gsign4LH",d:4.67},{n:"gsign5",d:6.2},{n:"gsign5LH",d:2},{n:"LHGsign1",d:2},{n:"LHGsign2",d:2},{n:"LHGsign3",d:2},{n:"LHGsign4",d:2},{n:"LHGsign5",d:2},{n:"RHGsign1",d:2},{n:"RHGsign2",d:2},{n:"RHGsign3",d:2},{n:"RHGsign4",d:2},{n:"RHGsign5",d:2}]],["GHETTO_DB",[{n:"GDB_Car2_PLY",d:9.5},{n:"GDB_Car2_SMO",d:9.5},{n:"GDB_Car2_SWE",d:9.5},{n:"GDB_Car_PLY",d:13.33},{n:"GDB_Car_RYD",d:13.33},{n:"GDB_Car_SMO",d:13.33},{n:"GDB_Car_SWE",d:13.33}]],["goggles",[{n:"goggles_put_on",d:.8}]],["GRAFFITI",[{n:"graffiti_Chkout",d:4.67},{n:"spraycan_fire",d:2.33}]],["GRAVEYARD",[{n:"mrnF_loop",d:4.67},{n:"mrnM_loop",d:2.67},{n:"prst_loopa",d:4}]],["GRENADE",[{n:"WEAPON_start_throw",d:.2},{n:"WEAPON_throw",d:.87},{n:"WEAPON_throwu",d:.67}]],["GYMNASIUM",[{n:"GYMshadowbox",d:5.1},{n:"gym_bike_celebrate",d:1.93},{n:"gym_bike_fast",d:.4},{n:"gym_bike_faster",d:.4},{n:"gym_bike_getoff",d:1.67},{n:"gym_bike_geton",d:1.67},{n:"gym_bike_pedal",d:.4},{n:"gym_bike_slow",d:.43},{n:"gym_bike_still",d:1.67},{n:"gym_jog_falloff",d:2.17},{n:"gym_shadowbox",d:5.1},{n:"gym_tread_celebrate",d:2.5},{n:"gym_tread_falloff",d:2},{n:"gym_tread_getoff",d:3.33},{n:"gym_tread_geton",d:2.5},{n:"gym_tread_jog",d:.77},{n:"gym_tread_sprint",d:.67},{n:"gym_tread_tired",d:1.33},{n:"gym_tread_walk",d:1.07},{n:"gym_walk_falloff",d:3.33},{n:"Pedals_fast",d:.4},{n:"Pedals_med",d:.4},{n:"Pedals_slow",d:.43},{n:"Pedals_still",d:.43}]],["HAIRCUTS",[{n:"BRB_Beard_01",d:4.5},{n:"BRB_Buy",d:4.17},{n:"BRB_Cut",d:1.7},{n:"BRB_Cut_In",d:.83},{n:"BRB_Cut_Out",d:1.33},{n:"BRB_Hair_01",d:3.83},{n:"BRB_Hair_02",d:4.5},{n:"BRB_In",d:1.33},{n:"BRB_Loop",d:2.67},{n:"BRB_Out",d:.67},{n:"BRB_Sit_In",d:2.07},{n:"BRB_Sit_Loop",d:7},{n:"BRB_Sit_Out",d:3}]],["HEIST9",[{n:"CAS_G2_GasKO",d:3.33},{n:"swt_wllpk_L",d:2.67},{n:"swt_wllpk_L_back",d:.5},{n:"swt_wllpk_R",d:3.67},{n:"swt_wllpk_R_back",d:.43},{n:"swt_wllshoot_in_L",d:1},{n:"swt_wllshoot_in_R",d:1.3},{n:"swt_wllshoot_out_L",d:2},{n:"swt_wllshoot_out_R",d:1.43},{n:"Use_SwipeCard",d:1.17}]],["INT_HOUSE",[{n:"BED_In_L",d:3.33},{n:"BED_In_R",d:3.33},{n:"BED_Loop_L",d:3.33},{n:"BED_Loop_R",d:3.33},{n:"BED_Out_L",d:3.33},{n:"BED_Out_R",d:3.33},{n:"LOU_In",d:1.83},{n:"LOU_Loop",d:3.33},{n:"LOU_Out",d:2},{n:"wash_up",d:3}]],["INT_OFFICE",[{n:"FF_Dam_Fwd",d:.67},{n:"OFF_Sit_2Idle_180",d:2.83},{n:"OFF_Sit_Bored_Loop",d:2.83},{n:"OFF_Sit_Crash",d:3.33},{n:"OFF_Sit_Drink",d:4.17},{n:"OFF_Sit_Idle_Loop",d:2.07},{n:"OFF_Sit_In",d:2.77},{n:"OFF_Sit_Read",d:3.33},{n:"OFF_Sit_Type_Loop",d:3.33},{n:"OFF_Sit_Watch",d:2}]],["INT_SHOP",[{n:"shop_cashier",d:6.67},{n:"shop_in",d:1},{n:"shop_lookA",d:2},{n:"shop_lookB",d:3},{n:"shop_loop",d:2},{n:"shop_out",d:1.33},{n:"shop_pay",d:6.67},{n:"shop_shelf",d:2.33}]],["JST_BUISNESS",[{n:"girl_01",d:3.33},{n:"girl_02",d:11.33},{n:"player_01",d:24.83},{n:"smoke_01",d:25}]],["KART",[{n:"KART_getin_LHS",d:.83},{n:"KART_getin_RHS",d:.83},{n:"KART_getout_LHS",d:.83},{n:"KART_getout_RHS",d:.83}]],["KISSING",[{n:"BD_GF_Wave",d:5.07},{n:"gfwave2",d:2.67},{n:"GF_CarArgue_01",d:5},{n:"GF_CarArgue_02",d:5},{n:"GF_CarSpot",d:5},{n:"GF_StreetArgue_01",d:5},{n:"GF_StreetArgue_02",d:5},{n:"gift_get",d:5.33},{n:"gift_give",d:5.33},{n:"Grlfrd_Kiss_01",d:4.17},{n:"Grlfrd_Kiss_02",d:5.77},{n:"Grlfrd_Kiss_03",d:7},{n:"Playa_Kiss_01",d:5},{n:"Playa_Kiss_02",d:5.77},{n:"Playa_Kiss_03",d:7}]],["KNIFE",[{n:"KILL_Knife_Ped_Damage",d:2.23},{n:"KILL_Knife_Ped_Die",d:1.93},{n:"KILL_Knife_Player",d:2.67},{n:"KILL_Partial",d:.03},{n:"knife_1",d:1},{n:"knife_2",d:.93},{n:"knife_3",d:.87},{n:"Knife_4",d:.9},{n:"knife_block",d:.47},{n:"Knife_G",d:.9},{n:"knife_hit_1",d:.57},{n:"knife_hit_2",d:.63},{n:"knife_hit_3",d:1.6},{n:"knife_IDLE",d:1.3},{n:"knife_part",d:.53},{n:"WEAPON_knifeidle",d:1.3}]],["LAPDAN1",[{n:"LAPDAN_D",d:37.73},{n:"LAPDAN_P",d:37.73}]],["LAPDAN2",[{n:"LAPDAN_D",d:46.83},{n:"LAPDAN_P",d:46.83}]],["LAPDAN3",[{n:"LAPDAN_D",d:51.47},{n:"LAPDAN_P",d:51.47}]],["LOWRIDER",[{n:"F_smklean_loop",d:4},{n:"lrgirl_bdbnce",d:2.67},{n:"lrgirl_hair",d:2.33},{n:"lrgirl_hurry",d:2.83},{n:"lrgirl_idleloop",d:2.17},{n:"lrgirl_idle_to_l0",d:2.17},{n:"lrgirl_l0_bnce",d:.67},{n:"lrgirl_l0_loop",d:2},{n:"lrgirl_l0_to_l1",d:3.67},{n:"lrgirl_l12_to_l0",d:2},{n:"lrgirl_l1_bnce",d:.67},{n:"lrgirl_l1_loop",d:2},{n:"lrgirl_l1_to_l2",d:1.33},{n:"lrgirl_l2_bnce",d:.67},{n:"lrgirl_l2_loop",d:1.5},{n:"lrgirl_l2_to_l3",d:1.5},{n:"lrgirl_l345_to_l1",d:1},{n:"lrgirl_l3_bnce",d:.67},{n:"lrgirl_l3_loop",d:2},{n:"lrgirl_l3_to_l4",d:.67},{n:"lrgirl_l4_bnce",d:.67},{n:"lrgirl_l4_loop",d:2.33},{n:"lrgirl_l4_to_l5",d:1},{n:"lrgirl_l5_bnce",d:.83},{n:"lrgirl_l5_loop",d:1.67},{n:"M_smklean_loop",d:5},{n:"M_smkstnd_loop",d:5.33},{n:"prtial_gngtlkB",d:1.47},{n:"prtial_gngtlkC",d:1.5},{n:"prtial_gngtlkD",d:2.47},{n:"prtial_gngtlkE",d:3},{n:"prtial_gngtlkF",d:2.67},{n:"prtial_gngtlkG",d:2.67},{n:"prtial_gngtlkH",d:3.33},{n:"RAP_A_Loop",d:2.67},{n:"RAP_B_Loop",d:2.67},{n:"RAP_C_Loop",d:3},{n:"Sit_relaxed",d:.03},{n:"Tap_hand",d:.33}]],["MD_CHASE",[{n:"Carhit_Hangon",d:1.53},{n:"Carhit_Tumble",d:2.03},{n:"donutdrop",d:1.5},{n:"Fen_Choppa_L1",d:1.43},{n:"Fen_Choppa_L2",d:1.3},{n:"Fen_Choppa_L3",d:1.3},{n:"Fen_Choppa_R1",d:1.3},{n:"Fen_Choppa_R2",d:1.3},{n:"Fen_Choppa_R3",d:1.3},{n:"Hangon_Stun_loop",d:4.67},{n:"Hangon_Stun_Turn",d:4},{n:"MD_BIKE_2_HANG",d:1.37},{n:"MD_BIKE_Jmp_BL",d:1.1},{n:"MD_BIKE_Jmp_F",d:1},{n:"MD_BIKE_Lnd_BL",d:.9},{n:"MD_BIKE_Lnd_Die_BL",d:1.53},{n:"MD_BIKE_Lnd_Die_F",d:.8},{n:"MD_BIKE_Lnd_F",d:1.17},{n:"MD_BIKE_Lnd_Roll",d:2.7},{n:"MD_BIKE_Lnd_Roll_F",d:1.03},{n:"MD_BIKE_Punch",d:1.83},{n:"MD_BIKE_Punch_F",d:1.83},{n:"MD_BIKE_Shot_F",d:1.33},{n:"MD_HANG_Lnd_Roll",d:2.7},{n:"MD_HANG_Loop",d:1}]],["MD_END",[{n:"END_SC1_PLY",d:5},{n:"END_SC1_RYD",d:5},{n:"END_SC1_SMO",d:5},{n:"END_SC1_SWE",d:5},{n:"END_SC2_PLY",d:9},{n:"END_SC2_RYD",d:9},{n:"END_SC2_SMO",d:9},{n:"END_SC2_SWE",d:9}]],["MEDIC",[{n:"CPR",d:8.33}]],["MISC",[{n:"bitchslap",d:1.17},{n:"BMX_celebrate",d:1.57},{n:"BMX_comeon",d:.77},{n:"bmx_idleloop_01",d:3.33},{n:"bmx_idleloop_02",d:6.67},{n:"bmx_talkleft_in",d:.67},{n:"bmx_talkleft_loop",d:6.67},{n:"bmx_talkleft_out",d:.67},{n:"bmx_talkright_in",d:.67},{n:"bmx_talkright_loop",d:7.33},{n:"bmx_talkright_out",d:.67},{n:"bng_wndw",d:7.33},{n:"bng_wndw_02",d:7.33},{n:"Case_pickup",d:1},{n:"door_jet",d:5.33},{n:"GRAB_L",d:.4},{n:"GRAB_R",d:.4},{n:"Hiker_Pose",d:.33},{n:"Hiker_Pose_L",d:.33},{n:"Idle_Chat_02",d:7.23},{n:"KAT_Throw_K",d:3.33},{n:"KAT_Throw_O",d:3.33},{n:"KAT_Throw_P",d:3.33},{n:"PASS_Rifle_O",d:1.33},{n:"PASS_Rifle_Ped",d:1.33},{n:"PASS_Rifle_Ply",d:1.33},{n:"pickup_box",d:.4},{n:"Plane_door",d:5.33},{n:"Plane_exit",d:5.33},{n:"Plane_hijack",d:5.33},{n:"Plunger_01",d:3.33},{n:"Plyrlean_loop",d:2.67},{n:"plyr_shkhead",d:1.67},{n:"Run_Dive",d:8.27},{n:"Scratchballs_01",d:8.33},{n:"SEAT_LR",d:3.67},{n:"Seat_talk_01",d:3.67},{n:"Seat_talk_02",d:3.33},{n:"SEAT_watch",d:2.33},{n:"smalplane_door",d:6.33},{n:"smlplane_door",d:5.33},{n:"MTB_back",d:.1},{n:"MTB_bunnyhop",d:.33},{n:"MTB_drivebyFT",d:.2},{n:"MTB_driveby_LHS",d:.2},{n:"MTB_driveby_RHS",d:.2},{n:"MTB_fwd",d:.2},{n:"MTB_getoffBACK",d:1.53},{n:"MTB_getoffLHS",d:.73},{n:"MTB_getoffRHS",d:.73},{n:"MTB_jumponL",d:.8},{n:"MTB_jumponR",d:.83},{n:"MTB_Left",d:.13},{n:"MTB_pedal",d:.67},{n:"MTB_pushes",d:.8},{n:"MTB_Ride",d:.03},{n:"MTB_Right",d:.13},{n:"MTB_sprint",d:.8},{n:"MTB_still",d:.03},{n:"MscleWalkst_armed",d:.2},{n:"MscleWalkst_Csaw",d:.2},{n:"Mscle_rckt_run",d:.8},{n:"Mscle_rckt_walkst",d:.2},{n:"Mscle_run_Csaw",d:.8},{n:"MuscleIdle",d:1.5},{n:"MuscleIdle_armed",d:1.5},{n:"MuscleIdle_Csaw",d:1.5},{n:"MuscleIdle_rocket",d:1.5},{n:"MuscleRun",d:.8},{n:"MuscleRun_armed",d:.8},{n:"MuscleSprint",d:.57},{n:"MuscleWalk",d:1.07},{n:"MuscleWalkstart",d:.27},{n:"MuscleWalk_armed",d:1.07},{n:"Musclewalk_Csaw",d:1.07},{n:"Musclewalk_rocket",d:1.07}]],["NEVADA",[{n:"NEVADA_getin",d:1.87},{n:"NEVADA_getout",d:.93}]],["ON_LOOKERS",[{n:"lkaround_in",d:.33},{n:"lkaround_loop",d:7},{n:"lkaround_out",d:.33},{n:"lkup_in",d:1.67},{n:"lkup_loop",d:5.33},{n:"lkup_out",d:1},{n:"lkup_point",d:3.33},{n:"panic_cower",d:6.67},{n:"panic_hide",d:6.33},{n:"panic_in",d:.83},{n:"panic_loop",d:1.67},{n:"panic_out",d:.67},{n:"panic_point",d:6},{n:"panic_shout",d:8.67},{n:"Pointup_in",d:1},{n:"Pointup_loop",d:2.67},{n:"Pointup_out",d:1},{n:"Pointup_shout",d:3},{n:"point_in",d:.5},{n:"point_loop",d:3},{n:"point_out",d:.33},{n:"shout_01",d:2.67},{n:"shout_02",d:4},{n:"shout_in",d:1.67},{n:"shout_loop",d:2},{n:"shout_out",d:.33},{n:"wave_in",d:.83},{n:"wave_loop",d:1.5},{n:"wave_out",d:.83}]],["OTB",[{n:"betslp_in",d:1.33},{n:"betslp_lkabt",d:2.67},{n:"betslp_loop",d:2.67},{n:"betslp_out",d:1},{n:"betslp_tnk",d:5.6},{n:"wtchrace_cmon",d:5},{n:"wtchrace_in",d:1.67},{n:"wtchrace_loop",d:2.67},{n:"wtchrace_lose",d:4},{n:"wtchrace_out",d:1},{n:"wtchrace_win",d:4.33}]],["PARACHUTE",[{n:"FALL_skyDive",d:1.33},{n:"FALL_SkyDive_Accel",d:1.33},{n:"FALL_skyDive_DIE",d:1},{n:"FALL_SkyDive_L",d:1.33},{n:"FALL_SkyDive_R",d:1.33},{n:"PARA_decel",d:2},{n:"PARA_decel_O",d:2},{n:"PARA_float",d:2},{n:"PARA_float_O",d:2},{n:"PARA_Land",d:1.67},{n:"PARA_Land_O",d:2.17},{n:"PARA_Land_Water",d:2.33},{n:"PARA_Land_Water_O",d:2.17},{n:"PARA_open",d:2.83},{n:"PARA_open_O",d:2.33},{n:"PARA_Rip_Land_O",d:.9},{n:"PARA_Rip_Loop_O",d:1},{n:"PARA_Rip_O",d:.23},{n:"PARA_steerL",d:2},{n:"PARA_steerL_O",d:2},{n:"PARA_steerR",d:2},{n:"PARA_steerR_O",d:2}]],["PARK",[{n:"Tai_Chi_in",d:2.17},{n:"Tai_Chi_Loop",d:12},{n:"Tai_Chi_Out",d:.83}]],["PAULNMAC",[{n:"Piss_in",d:9},{n:"Piss_loop",d:6.67},{n:"Piss_out",d:11},{n:"PnM_Argue1_A",d:4.33},{n:"PnM_Argue1_B",d:4.33},{n:"PnM_Argue2_A",d:4.33},{n:"PnM_Argue2_B",d:4.33},{n:"PnM_Loop_A",d:5.33},{n:"PnM_Loop_B",d:5.33},{n:"wank_in",d:7.33},{n:"wank_loop",d:2.67},{n:"wank_out",d:11.67}]],["PED",[{n:"abseil",d:.03},{n:"ARRESTgun",d:.67},{n:"ATM",d:12.17},{n:"BIKE_elbowL",d:.97},{n:"BIKE_elbowR",d:.97},{n:"BIKE_fallR",d:1.63},{n:"BIKE_fall_off",d:1.07},{n:"BIKE_pickupL",d:1.07},{n:"BIKE_pickupR",d:1.07},{n:"BIKE_pullupL",d:1},{n:"BIKE_pullupR",d:1},{n:"bomber",d:.6},{n:"CAR_alignHI_LHS",d:.73},{n:"CAR_alignHI_RHS",d:.73},{n:"CAR_align_LHS",d:.13},{n:"CAR_align_RHS",d:.13},{n:"CAR_closedoorL_LHS",d:.6},{n:"CAR_closedoorL_RHS",d:.4},{n:"CAR_closedoor_LHS",d:.6},{n:"CAR_closedoor_RHS",d:.4},{n:"CAR_close_LHS",d:.73},{n:"CAR_close_RHS",d:.73},{n:"CAR_crawloutRHS",d:2.17},{n:"CAR_dead_LHS",d:.03},{n:"CAR_dead_RHS",d:.03},{n:"CAR_doorlocked_LHS",d:1.33},{n:"CAR_doorlocked_RHS",d:1.27},{n:"CAR_fallout_LHS",d:.57},{n:"CAR_fallout_RHS",d:.57},{n:"CAR_getinL_LHS",d:1},{n:"CAR_getinL_RHS",d:1},{n:"CAR_getin_LHS",d:1},{n:"CAR_getin_RHS",d:1},{n:"CAR_getoutL_LHS",d:.93},{n:"CAR_getoutL_RHS",d:1},{n:"CAR_getout_LHS",d:1.13},{n:"CAR_getout_RHS",d:.8},{n:"car_hookertalk",d:4.3},{n:"CAR_jackedLHS",d:2.9},{n:"CAR_jackedRHS",d:3.43},{n:"CAR_jumpin_LHS",d:1},{n:"CAR_LB",d:.23},{n:"CAR_LB_pro",d:.1},{n:"CAR_LB_weak",d:.23},{n:"CAR_LjackedLHS",d:3.57},{n:"CAR_LjackedRHS",d:3.47},{n:"CAR_Lshuffle_RHS",d:.4},{n:"CAR_Lsit",d:.03},{n:"CAR_open_LHS",d:1.1},{n:"CAR_open_RHS",d:1.1},{n:"CAR_pulloutL_LHS",d:2.93},{n:"CAR_pulloutL_RHS",d:2.93},{n:"CAR_pullout_LHS",d:2.3},{n:"CAR_pullout_RHS",d:2.8},{n:"CAR_Qjacked",d:3.3},{n:"CAR_rolldoor",d:.6},{n:"CAR_rolldoorLO",d:.6},{n:"CAR_rollout_LHS",d:1.63},{n:"CAR_rollout_RHS",d:1.27},{n:"CAR_shuffle_RHS",d:.4},{n:"CAR_sit",d:.03},{n:"CAR_sitp",d:.03},{n:"CAR_sitpLO",d:.03},{n:"CAR_sit_pro",d:.03},{n:"CAR_sit_weak",d:.03},{n:"CAR_tune_radio",d:.63},{n:"CLIMB_idle",d:.8},{n:"CLIMB_jump",d:.57},{n:"CLIMB_jump2fall",d:.03},{n:"CLIMB_jump_B",d:.97},{n:"CLIMB_Pull",d:.87},{n:"CLIMB_Stand",d:.8},{n:"CLIMB_Stand_finish",d:.2},{n:"cower",d:.8},{n:"Crouch_Roll_L",d:.93},{n:"Crouch_Roll_R",d:.93},{n:"DAM_armL_frmBK",d:.83},{n:"DAM_armL_frmFT",d:.83},{n:"DAM_armL_frmLT",d:.67},{n:"DAM_armR_frmBK",d:.83},{n:"DAM_armR_frmFT",d:.5},{n:"DAM_armR_frmRT",d:.27},{n:"DAM_LegL_frmBK",d:.83},{n:"DAM_LegL_frmFT",d:.83},{n:"DAM_LegL_frmLT",d:.83},{n:"DAM_LegR_frmBK",d:.83},{n:"DAM_LegR_frmFT",d:.83},{n:"DAM_LegR_frmRT",d:.83},{n:"DAM_stomach_frmBK",d:.83},{n:"DAM_stomach_frmFT",d:.83},{n:"DAM_stomach_frmLT",d:.83},{n:"DAM_stomach_frmRT",d:.83},{n:"DOOR_LHinge_O",d:1.07},{n:"DOOR_RHinge_O",d:1.07},{n:"DrivebyL_L",d:.2},{n:"DrivebyL_R",d:.2},{n:"Driveby_L",d:.2},{n:"Driveby_R",d:.2},{n:"DRIVE_BOAT",d:.03},{n:"DRIVE_BOAT_back",d:.1},{n:"DRIVE_BOAT_L",d:.1},{n:"DRIVE_BOAT_R",d:.1},{n:"Drive_L",d:.13},{n:"Drive_LO_l",d:.13},{n:"Drive_LO_R",d:.13},{n:"Drive_L_pro",d:.13},{n:"Drive_L_pro_slow",d:.13},{n:"Drive_L_slow",d:.13},{n:"Drive_L_weak",d:.13},{n:"Drive_L_weak_slow",d:.13},{n:"Drive_R",d:.13},{n:"Drive_R_pro",d:.13},{n:"Drive_R_pro_slow",d:.13},{n:"Drive_R_slow",d:.13},{n:"Drive_R_weak",d:.13},{n:"Drive_R_weak_slow",d:.13},{n:"Drive_truck",d:.03},{n:"DRIVE_truck_back",d:.1},{n:"DRIVE_truck_L",d:.13},{n:"DRIVE_truck_R",d:.13},{n:"Drown",d:2.5},{n:"DUCK_cower",d:.8},{n:"endchat_01",d:2},{n:"endchat_02",d:2},{n:"endchat_03",d:2.33},{n:"EV_dive",d:2.33},{n:"EV_step",d:1.07},{n:"facanger",d:.13},{n:"facgum",d:1.03},{n:"facsurp",d:.13},{n:"facsurpm",d:.13},{n:"factalk",d:2.33},{n:"facurios",d:.13},{n:"FALL_back",d:.73},{n:"FALL_collapse",d:1},{n:"FALL_fall",d:.73},{n:"FALL_front",d:.73},{n:"FALL_glide",d:.8},{n:"FALL_land",d:.47},{n:"FALL_skyDive",d:1.33},{n:"Fight2Idle",d:.33},{n:"FightA_1",d:.43},{n:"FightA_2",d:.77},{n:"FightA_3",d:.87},{n:"FightA_block",d:.47},{n:"FightA_G",d:.93},{n:"FightA_M",d:.4},{n:"FIGHTIDLE",d:1.3},{n:"FightShB",d:.47},{n:"FightShF",d:.53},{n:"FightSh_BWD",d:.67},{n:"FightSh_FWD",d:.67},{n:"FightSh_Left",d:.67},{n:"FightSh_Right",d:.67},{n:"flee_lkaround_01",d:2},{n:"FLOOR_hit",d:.37},{n:"FLOOR_hit_f",d:.4},{n:"fucku",d:1.33},{n:"gang_gunstand",d:.03},{n:"gas_cwr",d:1},{n:"getup",d:1.37},{n:"getup_front",d:1.37},{n:"gum_eat",d:5.33},{n:"GunCrouchBwd",d:1},{n:"GunCrouchFwd",d:.73},{n:"GunMove_BWD",d:1.03},{n:"GunMove_FWD",d:1},{n:"GunMove_L",d:1},{n:"GunMove_R",d:1},{n:"Gun_2_IDLE",d:.27},{n:"GUN_BUTT",d:.43},{n:"GUN_BUTT_crouch",d:.43},{n:"Gun_stand",d:.03},{n:"handscower",d:1.93},{n:"handsup",d:.6},{n:"HitA_1",d:.3},{n:"HitA_2",d:.53},{n:"HitA_3",d:.57},{n:"HIT_back",d:.5},{n:"HIT_behind",d:.67},{n:"HIT_front",d:.6},{n:"HIT_GUN_BUTT",d:.5},{n:"HIT_L",d:.7},{n:"HIT_R",d:.6},{n:"HIT_walk",d:.33},{n:"HIT_wall",d:.7},{n:"Idlestance_fat",d:1.67},{n:"idlestance_old",d:2},{n:"IDLE_armed",d:1.47},{n:"IDLE_chat",d:6.67},{n:"IDLE_csaw",d:1.53},{n:"Idle_Gang1",d:1.67},{n:"IDLE_HBHB",d:2.67},{n:"IDLE_ROCKET",d:1.57},{n:"IDLE_stance",d:1.5},{n:"IDLE_taxi",d:.87},{n:"IDLE_tired",d:1},{n:"Jetpack_Idle",d:.03},{n:"JOG_femaleA",d:.77},{n:"JOG_maleA",d:.77},{n:"JUMP_glide",d:.5},{n:"JUMP_land",d:.23},{n:"JUMP_launch",d:.2},{n:"JUMP_launch_R",d:.2},{n:"KART_drive",d:.03},{n:"KART_L",d:.13},{n:"KART_LB",d:.03},{n:"KART_R",d:.13},{n:"KD_left",d:.9},{n:"KD_right",d:.9},{n:"KO_shot_face",d:2.1},{n:"KO_shot_front",d:.57},{n:"KO_shot_stom",d:3.17},{n:"KO_skid_back",d:.97},{n:"KO_skid_front",d:1.13},{n:"KO_spin_L",d:.87},{n:"KO_spin_R",d:.93},{n:"pass_Smoke_in_car",d:1.73},{n:"phone_in",d:2.33},{n:"phone_out",d:2},{n:"phone_talk",d:2},{n:"Player_Sneak",d:1.33},{n:"Player_Sneak_walkstart",d:.3},{n:"roadcross",d:2},{n:"roadcross_female",d:4},{n:"roadcross_gang",d:2},{n:"roadcross_old",d:4},{n:"run_1armed",d:.77},{n:"run_armed",d:.7},{n:"run_civi",d:.73},{n:"run_csaw",d:.7},{n:"run_fat",d:.8},{n:"run_fatold",d:.8},{n:"run_gang1",d:.83},{n:"run_left",d:.67},{n:"run_old",d:.8},{n:"run_player",d:.73},{n:"run_right",d:.67},{n:"run_rocket",d:.77},{n:"Run_stop",d:.87},{n:"Run_stopR",d:.8},{n:"Run_Wuzi",d:.77},{n:"SEAT_down",d:1.5},{n:"SEAT_idle",d:2},{n:"SEAT_up",d:1.17},{n:"SHOT_leftP",d:.3},{n:"SHOT_partial",d:.37},{n:"SHOT_partial_B",d:.33},{n:"SHOT_rightP",d:.33},{n:"Shove_Partial",d:.53},{n:"Smoke_in_car",d:1.73},{n:"sprint_civi",d:.53},{n:"sprint_panic",d:.6},{n:"Sprint_Wuzi",d:.67},{n:"swat_run",d:.67},{n:"Swim_Tread",d:1.3},{n:"Tap_hand",d:.03},{n:"Tap_handP",d:.03},{n:"turn_180",d:.63},{n:"Turn_L",d:.8},{n:"Turn_R",d:.8},{n:"WALK_armed",d:1.07},{n:"WALK_civi",d:1.13},{n:"WALK_csaw",d:1.07},{n:"Walk_DoorPartial",d:.8},{n:"WALK_drunk",d:3.93},{n:"WALK_fat",d:1.33},{n:"WALK_fatold",d:1.17},{n:"WALK_gang1",d:1.4},{n:"WALK_gang2",d:1.4},{n:"WALK_old",d:1.4},{n:"WALK_player",d:1.2},{n:"WALK_rocket",d:1.07},{n:"WALK_shuffle",d:1.2},{n:"WALK_start",d:.27},{n:"WALK_start_armed",d:.2},{n:"WALK_start_csaw",d:.2},{n:"WALK_start_rocket",d:.2},{n:"Walk_Wuzi",d:1.17},{n:"WEAPON_crouch",d:.8},{n:"woman_idlestance",d:5.33},{n:"woman_run",d:.77},{n:"WOMAN_runbusy",d:.67},{n:"WOMAN_runfatold",d:1.2},{n:"woman_runpanic",d:.6},{n:"WOMAN_runsexy",d:.7},{n:"WOMAN_walkbusy",d:1},{n:"WOMAN_walkfatold",d:1.2},{n:"WOMAN_walknorm",d:1.13},{n:"WOMAN_walkold",d:1.2},{n:"WOMAN_walkpro",d:1.33},{n:"WOMAN_walksexy",d:1.17},{n:"WOMAN_walkshop",d:.97},{n:"XPRESSscratch",d:3.97}]],["PLAYER_DVBYS",[{n:"Plyr_DrivebyBwd",d:.83},{n:"Plyr_DrivebyFwd",d:.83},{n:"Plyr_DrivebyLHS",d:.83},{n:"Plyr_DrivebyRHS",d:.83}]],["PLAYIDLES",[{n:"shift",d:3.6},{n:"shldr",d:2.17},{n:"stretch",d:4.6},{n:"strleg",d:3.67},{n:"time",d:5.2}]],["POLICE",[{n:"CopTraf_Away",d:1.47},{n:"CopTraf_Come",d:2.87},{n:"CopTraf_Left",d:2},{n:"CopTraf_Stop",d:2},{n:"COP_getoutcar_LHS",d:.83},{n:"Cop_move_FWD",d:1},{n:"crm_drgbst_01",d:18.57},{n:"Door_Kick",d:1.33},{n:"plc_drgbst_01",d:20.6},{n:"plc_drgbst_02",d:7.57}]],["POOL",[{n:"POOL_ChalkCue",d:4.83},{n:"POOL_Idle_Stance",d:2},{n:"POOL_Long_Shot",d:1.67},{n:"POOL_Long_Shot_O",d:1.67},{n:"POOL_Long_Start",d:.67},{n:"POOL_Long_Start_O",d:.67},{n:"POOL_Med_Shot",d:1.67},{n:"POOL_Med_Shot_O",d:1.67},{n:"POOL_Med_Start",d:.67},{n:"POOL_Med_Start_O",d:.67},{n:"POOL_Place_White",d:2.5},{n:"POOL_Short_Shot",d:1.67},{n:"POOL_Short_Shot_O",d:1.67},{n:"POOL_Short_Start",d:.67},{n:"POOL_Short_Start_O",d:.67},{n:"POOL_Walk",d:1.27},{n:"POOL_Walk_Start",d:.2},{n:"POOL_XLong_Shot",d:1.67},{n:"POOL_XLong_Shot_O",d:1.67},{n:"POOL_XLong_Start",d:.67},{n:"POOL_XLong_Start_O",d:.67}]],["POOR",[{n:"WINWASH_Start",d:.43},{n:"WINWASH_Wash2Beg",d:2.13}]],["PYTHON",[{n:"python_crouchfire",d:1.2},{n:"python_crouchreload",d:1},{n:"python_fire",d:1.17},{n:"python_fire_poor",d:1.47},{n:"python_reload",d:.93}]],["QUAD",[{n:"QUAD_back",d:.1},{n:"QUAD_driveby_FT",d:.2},{n:"QUAD_driveby_LHS",d:.2},{n:"QUAD_driveby_RHS",d:.2},{n:"QUAD_FWD",d:.2},{n:"QUAD_getoff_B",d:1.63},{n:"QUAD_getoff_LHS",d:.67},{n:"QUAD_getoff_RHS",d:.7},{n:"QUAD_geton_LHS",d:.73},{n:"QUAD_geton_RHS",d:.73},{n:"QUAD_hit",d:.03},{n:"QUAD_kick",d:1.13},{n:"QUAD_Left",d:.13},{n:"QUAD_passenger",d:.03},{n:"QUAD_reverse",d:.17},{n:"QUAD_ride",d:.03},{n:"QUAD_Right",d:.13}]],["QUAD_DBZ",[{n:"Pass_Driveby_BWD",d:.83},{n:"Pass_Driveby_FWD",d:.83},{n:"Pass_Driveby_LHS",d:.83},{n:"Pass_Driveby_RHS",d:.83}]],["RAPPING",[{n:"Laugh_01",d:5.33},{n:"RAP_A_IN",d:.83},{n:"RAP_A_Loop",d:2.67},{n:"RAP_A_OUT",d:.33},{n:"RAP_B_IN",d:1},{n:"RAP_B_Loop",d:2.67},{n:"RAP_B_OUT",d:.87},{n:"RAP_C_Loop",d:3}]],["RIFLE",[{n:"RIFLE_crouchfire",d:.87},{n:"RIFLE_crouchload",d:1.27},{n:"RIFLE_fire",d:.8},{n:"RIFLE_fire_poor",d:.8},{n:"RIFLE_load",d:1.4}]],["RIOT",[{n:"RIOT_ANGRY",d:5},{n:"RIOT_ANGRY_B",d:.63},{n:"RIOT_challenge",d:3.23},{n:"RIOT_CHANT",d:1.73},{n:"RIOT_FUKU",d:.67},{n:"RIOT_PUNCHES",d:.67},{n:"RIOT_shout",d:1}]],["ROB_BANK",[{n:"CAT_Safe_End",d:.5},{n:"CAT_Safe_Open",d:3.33},{n:"CAT_Safe_Open_O",d:3.33},{n:"CAT_Safe_Rob",d:1.83},{n:"SHP_HandsUp_Scr",d:.67}]],["ROCKET",[{n:"idle_rocket",d:1.6},{n:"RocketFire",d:.97},{n:"run_rocket",d:.77},{n:"walk_rocket",d:1.07},{n:"WALK_start_rocket",d:.2}]],["RUNNINGMAN",[{n:"Dance_B1",d:.53},{n:"Dance_B2",d:.57},{n:"Dance_B3",d:.53},{n:"Dance_B4",d:.57},{n:"Dance_B5",d:.53},{n:"Dance_B6",d:.57},{n:"Dance_B7",d:.53},{n:"Dance_B8",d:.57},{n:"Dance_B9",d:.53},{n:"Dance_B10",d:.57},{n:"Dance_B11",d:.53},{n:"Dance_B12",d:.57},{n:"Dance_B13",d:.53},{n:"Dance_B14",d:.57},{n:"Dance_B15",d:.53},{n:"Dance_B16",d:.57},{n:"Dance_G1",d:.53},{n:"Dance_G2",d:.57},{n:"Dance_G3",d:.53},{n:"Dance_G4",d:.57},{n:"Dance_G5",d:.53},{n:"Dance_G6",d:.57},{n:"Dance_G7",d:.53},{n:"Dance_G8",d:.57},{n:"Dance_G9",d:.53},{n:"Dance_G10",d:.57},{n:"Dance_G11",d:.53},{n:"Dance_G12",d:.57},{n:"Dance_G13",d:.53},{n:"Dance_G14",d:.57},{n:"Dance_G15",d:.53},{n:"Dance_G16",d:.57},{n:"dance_loop",d:1.17}]],["RUSTLER",[{n:"Plane_align_LHS",d:.73},{n:"Plane_close",d:.4},{n:"Plane_getin",d:.8},{n:"Plane_getout",d:1.57},{n:"Plane_open",d:.7}]],["RYDER",[{n:"RYD_Beckon_01",d:1.23},{n:"RYD_Beckon_02",d:1},{n:"RYD_Beckon_03",d:1.07},{n:"RYD_Die_PT1",d:4},{n:"RYD_Die_PT2",d:7.93},{n:"Van_Crate_L",d:.67},{n:"Van_Crate_R",d:.67},{n:"Van_Fall_L",d:.47},{n:"Van_Fall_R",d:.93},{n:"Van_Lean_L",d:.67},{n:"Van_Lean_R",d:.67},{n:"VAN_PickUp_E",d:1.83},{n:"VAN_PickUp_S",d:1.5},{n:"Van_Stand",d:.67},{n:"Van_Stand_Crate",d:.67},{n:"Van_Throw",d:1.37}]],["SAMP",[{n:"FishingIdle",d:1}]],["SCRATCHING",[{n:"scdldlp",d:.67},{n:"scdlulp",d:.67},{n:"scdrdlp",d:.67},{n:"scdrulp",d:.67},{n:"sclng_l",d:1},{n:"sclng_r",d:1},{n:"scmid_l",d:.47},{n:"scmid_r",d:.47},{n:"scshrtl",d:.2},{n:"scshrtr",d:.2},{n:"sc_ltor",d:.67},{n:"sc_rtol",d:.67}]],["SHAMAL",[{n:"SHAMAL_align",d:.2},{n:"SHAMAL_getin_LHS",d:1.4},{n:"SHAMAL_getout_LHS",d:1.37},{n:"SHAMAL_open",d:.6}]],["SHOP",[{n:"ROB_2Idle",d:1.17},{n:"ROB_Loop",d:2.67},{n:"ROB_Loop_Threat",d:2},{n:"ROB_Shifty",d:5.67},{n:"ROB_StickUp_In",d:.53},{n:"SHP_Duck",d:.67},{n:"SHP_Duck_Aim",d:.33},{n:"SHP_Duck_Fire",d:.83},{n:"SHP_Gun_Aim",d:.63},{n:"SHP_Gun_Duck",d:.5},{n:"SHP_Gun_Fire",d:.87},{n:"SHP_Gun_Grab",d:.87},{n:"SHP_Gun_Threat",d:.83},{n:"SHP_HandsUp_Scr",d:.67},{n:"SHP_Jump_Glide",d:.33},{n:"SHP_Jump_Land",d:.7},{n:"SHP_Jump_Launch",d:.57},{n:"SHP_Rob_GiveCash",d:3.83},{n:"SHP_Rob_HandsUp",d:2.67},{n:"SHP_Rob_React",d:2.67},{n:"SHP_Serve_End",d:5.5},{n:"SHP_Serve_Idle",d:5},{n:"SHP_Serve_Loop",d:4.17},{n:"SHP_Serve_Start",d:1.33},{n:"Smoke_RYD",d:6.67}]],["SHOTGUN",[{n:"shotgun_crouchfire",d:1.47},{n:"shotgun_fire",d:1.47},{n:"shotgun_fire_poor",d:1.5}]],["SILENCED",[{n:"CrouchReload",d:1},{n:"SilenceCrouchfire",d:.93},{n:"Silence_fire",d:.87},{n:"Silence_reload",d:.93}]],["SKATE",[{n:"skate_idle",d:1},{n:"skate_run",d:.83},{n:"skate_sprint",d:.67}]],["SMOKING",[{n:"F_smklean_loop",d:4},{n:"M_smklean_loop",d:5},{n:"M_smkstnd_loop",d:5.33},{n:"M_smk_drag",d:3.67},{n:"M_smk_in",d:6.67},{n:"M_smk_loop",d:3.33},{n:"M_smk_out",d:3},{n:"M_smk_tap",d:3}]],["SNIPER",[{n:"WEAPON_sniper",d:1.47}]],["SnM",[{n:"SnM_Caned_Idle_P",d:2},{n:"SnM_Caned_Idle_W",d:2},{n:"SnM_Caned_P",d:1.33},{n:"SnM_Caned_W",d:1.33},{n:"SnM_Cane_Idle_P",d:2},{n:"SnM_Cane_Idle_W",d:2},{n:"SnM_Cane_P",d:1.33},{n:"SnM_Cane_W",d:1.33},{n:"SpankedP",d:1.33},{n:"SpankedW",d:1.33},{n:"Spanked_IdleP",d:1.33},{n:"Spanked_IdleW",d:1.33},{n:"SpankingP",d:1.33},{n:"SpankingW",d:1.33},{n:"Spanking_endP",d:6.67},{n:"Spanking_endW",d:6.67},{n:"Spanking_IdleP",d:1.33},{n:"Spanking_IdleW",d:1.33},{n:"Spanking_SittingIdleP",d:1.33},{n:"Spanking_SittingIdleW",d:1.33},{n:"Spanking_SittingP",d:1},{n:"Spanking_SittingW",d:1}]],["SPRAYCAN",[{n:"spraycan_fire",d:2.33},{n:"spraycan_full",d:4.5}]],["STRIP",[{n:"PLY_CASH",d:1.67},{n:"PUN_CASH",d:3.33},{n:"PUN_HOLLER",d:5},{n:"PUN_LOOP",d:1.93},{n:"strip_A",d:2.07},{n:"strip_B",d:1},{n:"strip_C",d:.97},{n:"strip_D",d:1.9},{n:"strip_E",d:3.33},{n:"strip_F",d:1.03},{n:"strip_G",d:2.27},{n:"STR_A2B",d:4},{n:"STR_B2A",d:.5},{n:"STR_B2C",d:5},{n:"STR_C1",d:6},{n:"STR_C2",d:6},{n:"STR_C2B",d:1},{n:"STR_Loop_A",d:1},{n:"STR_Loop_B",d:2},{n:"STR_Loop_C",d:3}]],["SUNBATHE",[{n:"batherdown",d:3.93},{n:"batherup",d:12.3},{n:"Lay_Bac_in",d:2.33},{n:"Lay_Bac_out",d:3},{n:"ParkSit_M_IdleA",d:3.33},{n:"ParkSit_M_IdleB",d:2.67},{n:"ParkSit_M_IdleC",d:4.33},{n:"ParkSit_M_in",d:2.33},{n:"ParkSit_M_out",d:2},{n:"ParkSit_W_idleA",d:3.33},{n:"ParkSit_W_idleB",d:5},{n:"ParkSit_W_idleC",d:3},{n:"ParkSit_W_in",d:4},{n:"ParkSit_W_out",d:2.67},{n:"SBATHE_F_LieB2Sit",d:1.67},{n:"SBATHE_F_Out",d:2},{n:"SitnWait_in_W",d:4.67},{n:"SitnWait_out_W",d:2.67}]],["SWAT",[{n:"gnstwall_injurd",d:2},{n:"JMP_Wall1m_180",d:1.17},{n:"Rail_fall",d:3},{n:"Rail_fall_crawl",d:5.67},{n:"swt_breach_01",d:5.47},{n:"swt_breach_02",d:5.33},{n:"swt_breach_03",d:4.3},{n:"swt_go",d:1.67},{n:"swt_lkt",d:3},{n:"swt_sty",d:1.17},{n:"swt_vent_01",d:4.73},{n:"swt_vent_02",d:4.43},{n:"swt_vnt_sht_die",d:.67},{n:"swt_vnt_sht_in",d:1.6},{n:"swt_vnt_sht_loop",d:.27},{n:"swt_wllpk_L",d:2.67},{n:"swt_wllpk_L_back",d:.5},{n:"swt_wllpk_R",d:3.67},{n:"swt_wllpk_R_back",d:.43},{n:"swt_wllshoot_in_L",d:1},{n:"swt_wllshoot_in_R",d:1.3},{n:"swt_wllshoot_out_L",d:2},{n:"swt_wllshoot_out_R",d:1.43}]],["SWEET",[{n:"ho_ass_slapped",d:2},{n:"LaFin_Player",d:26.67},{n:"LaFin_Sweet",d:26.67},{n:"plyr_hndshldr_01",d:4},{n:"sweet_ass_slap",d:2},{n:"sweet_hndshldr_01",d:4},{n:"Sweet_injuredloop",d:2}]],["SWIM",[{n:"Swim_Breast",d:1.3},{n:"SWIM_crawl",d:.9},{n:"Swim_Dive_Under",d:1.07},{n:"Swim_Glide",d:1.47},{n:"Swim_jumpout",d:.33},{n:"Swim_Tread",d:1.3},{n:"Swim_Under",d:1.5}]],["SWORD",[{n:"sword_1",d:.87},{n:"sword_2",d:1.07},{n:"sword_3",d:.8},{n:"sword_4",d:1.1},{n:"sword_block",d:.47},{n:"Sword_Hit_1",d:.83},{n:"Sword_Hit_2",d:1.03},{n:"Sword_Hit_3",d:.87},{n:"sword_IDLE",d:1},{n:"sword_part",d:.67}]],["TANK",[{n:"TANK_align_LHS",d:1.43},{n:"TANK_close_LHS",d:.33},{n:"TANK_doorlocked",d:.53},{n:"TANK_getin_LHS",d:.43},{n:"TANK_getout_LHS",d:1.97},{n:"TANK_open_LHS",d:.3}]],["TATTOOS",[{n:"TAT_ArmL_In_O",d:.83},{n:"TAT_ArmL_In_P",d:.83},{n:"TAT_ArmL_In_T",d:.83},{n:"TAT_ArmL_Out_O",d:.93},{n:"TAT_ArmL_Out_P",d:2.5},{n:"TAT_ArmL_Out_T",d:.93},{n:"TAT_ArmL_Pose_O",d:.83},{n:"TAT_ArmL_Pose_P",d:.83},{n:"TAT_ArmL_Pose_T",d:.83},{n:"TAT_ArmR_In_O",d:.83},{n:"TAT_ArmR_In_P",d:.83},{n:"TAT_ArmR_In_T",d:.83},{n:"TAT_ArmR_Out_O",d:1},{n:"TAT_ArmR_Out_P",d:2.5},{n:"TAT_ArmR_Out_T",d:1},{n:"TAT_ArmR_Pose_O",d:.83},{n:"TAT_ArmR_Pose_P",d:.83},{n:"TAT_ArmR_Pose_T",d:.83},{n:"TAT_Back_In_O",d:.83},{n:"TAT_Back_In_P",d:.83},{n:"TAT_Back_In_T",d:.83},{n:"TAT_Back_Out_O",d:.93},{n:"TAT_Back_Out_P",d:2.5},{n:"TAT_Back_Out_T",d:.93},{n:"TAT_Back_Pose_O",d:.83},{n:"TAT_Back_Pose_P",d:.83},{n:"TAT_Back_Pose_T",d:.83},{n:"TAT_Back_Sit_In_P",d:.83},{n:"TAT_Back_Sit_Loop_P",d:2.67},{n:"TAT_Back_Sit_Out_P",d:.83},{n:"TAT_Bel_In_O",d:.83},{n:"TAT_Bel_In_T",d:.83},{n:"TAT_Bel_Out_O",d:.97},{n:"TAT_Bel_Out_T",d:.97},{n:"TAT_Bel_Pose_O",d:.83},{n:"TAT_Bel_Pose_T",d:.83},{n:"TAT_Che_In_O",d:.83},{n:"TAT_Che_In_P",d:.83},{n:"TAT_Che_In_T",d:.83},{n:"TAT_Che_Out_O",d:.93},{n:"TAT_Che_Out_P",d:2.5},{n:"TAT_Che_Out_T",d:.93},{n:"TAT_Che_Pose_O",d:.83},{n:"TAT_Che_Pose_P",d:.83},{n:"TAT_Che_Pose_T",d:.83},{n:"TAT_Drop_O",d:.5},{n:"TAT_Idle_Loop_O",d:2.67},{n:"TAT_Idle_Loop_T",d:2.67},{n:"TAT_Sit_In_O",d:2.33},{n:"TAT_Sit_In_P",d:2.33},{n:"TAT_Sit_In_T",d:2.33},{n:"TAT_Sit_Loop_O",d:2.67},{n:"TAT_Sit_Loop_P",d:2.67},{n:"TAT_Sit_Loop_T",d:2.67},{n:"TAT_Sit_Out_O",d:2.83},{n:"TAT_Sit_Out_P",d:2.17},{n:"TAT_Sit_Out_T",d:2.83}]],["TEC",[{n:"TEC_crouchfire",d:.97},{n:"TEC_crouchreload",d:1.33},{n:"TEC_fire",d:1.1},{n:"TEC_reload",d:1.5}]],["TRAIN",[{n:"tran_gtup",d:3.17},{n:"tran_hng",d:2.33},{n:"tran_ouch",d:1.17},{n:"tran_stmb",d:2.33}]],["TRUCK",[{n:"TRUCK_ALIGN_LHS",d:.57},{n:"TRUCK_ALIGN_RHS",d:.57},{n:"TRUCK_closedoor_LHS",d:.4},{n:"TRUCK_closedoor_RHS",d:.4},{n:"TRUCK_close_LHS",d:.73},{n:"TRUCK_close_RHS",d:.73},{n:"TRUCK_getin_LHS",d:.6},{n:"TRUCK_getin_RHS",d:.6},{n:"TRUCK_getout_LHS",d:.8},{n:"TRUCK_getout_RHS",d:.8},{n:"TRUCK_jackedLHS",d:1.73},{n:"TRUCK_jackedRHS",d:1.5},{n:"TRUCK_open_LHS",d:.53},{n:"TRUCK_open_RHS",d:.53},{n:"TRUCK_pullout_LHS",d:.9},{n:"TRUCK_pullout_RHS",d:.9},{n:"TRUCK_Shuffle",d:.4}]],["UZI",[{n:"UZI_crouchfire",d:.63},{n:"UZI_crouchreload",d:1.37},{n:"UZI_fire",d:.57},{n:"UZI_fire_poor",d:.53},{n:"UZI_reload",d:1.4}]],["VAN",[{n:"VAN_close_back_LHS",d:.33},{n:"VAN_close_back_RHS",d:.33},{n:"VAN_getin_Back_LHS",d:.6},{n:"VAN_getin_Back_RHS",d:.6},{n:"VAN_getout_back_LHS",d:.63},{n:"VAN_getout_back_RHS",d:.63},{n:"VAN_open_back_LHS",d:.97},{n:"VAN_open_back_RHS",d:.97}]],["VENDING",[{n:"VEND_Drink2_P",d:3.33},{n:"VEND_Drink_P",d:1.33},{n:"vend_eat1_P",d:4.33},{n:"VEND_Eat_P",d:1.67},{n:"VEND_Use",d:2.6},{n:"VEND_Use_pt2",d:.4}]],["VORTEX",[{n:"CAR_jumpin_LHS",d:1},{n:"CAR_jumpin_RHS",d:.93},{n:"vortex_getout_LHS",d:1},{n:"vortex_getout_RHS",d:1}]],["WAYFARER",[{n:"WF_Back",d:.1},{n:"WF_drivebyFT",d:.2},{n:"WF_drivebyLHS",d:.2},{n:"WF_drivebyRHS",d:.2},{n:"WF_Fwd",d:.2},{n:"WF_getoffBACK",d:1.73},{n:"WF_getoffLHS",d:.9},{n:"WF_getoffRHS",d:.9},{n:"WF_hit",d:.03},{n:"WF_jumponL",d:.9},{n:"WF_jumponR",d:.9},{n:"WF_kick",d:1.03},{n:"WF_Left",d:.13},{n:"WF_passenger",d:.03},{n:"WF_pushes",d:.97},{n:"WF_Ride",d:.03},{n:"WF_Right",d:.13},{n:"WF_Still",d:.03}]],["WEAPONS",[{n:"SHP_1H_Lift",d:1},{n:"SHP_1H_Lift_End",d:.33},{n:"SHP_1H_Ret",d:.83},{n:"SHP_1H_Ret_S",d:.33},{n:"SHP_2H_Lift",d:.93},{n:"SHP_2H_Lift_End",d:.33},{n:"SHP_2H_Ret",d:.9},{n:"SHP_2H_Ret_S",d:.33},{n:"SHP_Ar_Lift",d:1},{n:"SHP_Ar_Lift_End",d:.33},{n:"SHP_Ar_Ret",d:1.17},{n:"SHP_Ar_Ret_S",d:.33},{n:"SHP_G_Lift_In",d:.67},{n:"SHP_G_Lift_Out",d:.67},{n:"SHP_Tray_In",d:.67},{n:"SHP_Tray_Out",d:.67},{n:"SHP_Tray_Pose",d:2.67}]],["WOP",[{n:"Dance_B1",d:1.13},{n:"Dance_B2",d:1.17},{n:"Dance_B3",d:1.13},{n:"Dance_B4",d:1.17},{n:"Dance_B5",d:1.13},{n:"Dance_B6",d:1.17},{n:"Dance_B7",d:1.13},{n:"Dance_B8",d:1.17},{n:"Dance_B9",d:1.13},{n:"Dance_B10",d:1.17},{n:"Dance_B11",d:1.13},{n:"Dance_B12",d:1.17},{n:"Dance_B13",d:1.13},{n:"Dance_B14",d:1.17},{n:"Dance_B15",d:1.13},{n:"Dance_B16",d:1.17},{n:"Dance_G1",d:1.13},{n:"Dance_G2",d:1.17},{n:"Dance_G3",d:1.13},{n:"Dance_G4",d:1.17},{n:"Dance_G5",d:1.13},{n:"Dance_G6",d:1.17},{n:"Dance_G7",d:1.13},{n:"Dance_G8",d:1.17},{n:"Dance_G9",d:1.13},{n:"Dance_G10",d:1.17},{n:"Dance_G11",d:1.13},{n:"Dance_G12",d:1.17},{n:"Dance_G13",d:1.13},{n:"Dance_G14",d:1.17},{n:"Dance_G15",d:1.13},{n:"Dance_G16",d:1.17},{n:"dance_loop",d:1.17}]],["WUZI",[{n:"CS_Dead_Guy",d:5.07},{n:"CS_Plyr_pt1",d:3.77},{n:"CS_Plyr_pt2",d:9.67},{n:"CS_Wuzi_pt1",d:3.77},{n:"CS_Wuzi_pt2",d:9.67},{n:"Walkstart_Idle_01",d:3.17},{n:"Wuzi_follow",d:3},{n:"Wuzi_Greet_Plyr",d:4},{n:"Wuzi_Greet_Wuzi",d:4},{n:"Wuzi_grnd_chk",d:4},{n:"Wuzi_stand_loop",d:2.67},{n:"Wuzi_Walk",d:1.17}]]]),St=e=>{const t=Ti.get(e.toUpperCase());return typeof t>"u"?!1:t},yt=(e,t)=>{const i=St(e);if(i)return t==="null"?!0:i.some(a=>a.n===t)},fI=(e,t)=>{const i=St(e);if(i)return i.find(a=>a.n===t)?.d},ge=(e,t)=>{const i=t.replace("-","")==="utf8"?e:E.encodeToBuf(e,t);return[i instanceof Array?"a":"s",i]},vi=(e,t,i)=>{const a=ge(i,e.charset);return samp.callNative("SendClientMessage",`ii${a[0]}`,e.id,N(t),a[1])},PI=(e,t,i)=>(e.forEach(a=>vi(a,t,i)),1),bi=(e,t,i)=>{const a=ge(i,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${a[0]}`,e.id,t,a[1])},pI=(e,t,i)=>(e.forEach(a=>{bi(a,t,i)}),1),II=(e,t,i)=>{const{charset:a}=e,{style:r,caption:n,info:s,button1:o,button2:_}=i,[d,h]=ge(n||"",a),[,g]=ge(s||"",a),[,I]=ge(o||"",a),[,C]=ge(_||"",a);return!!samp.callNative("ShowPlayerDialog",`iii${d.repeat(4)}`,e.id,t,r,h,g,I,C)},SI=e=>{const[t,i]=samp.callNative("GetPlayerName","iAi",e.id,H.MAX_PLAYER_NAME);return{name:E.decodeFromBuf(E.getValidStr(t),e.charset),ret:i}},yI=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,E.encodeToBuf(t,e.charset)),CI=(e,t,i)=>{const a=E.encodeToBuf(t,i);return samp.callNative("BanEx","ia",e,a)},EI=(e,t="utf8")=>{const[i,a]=ge(e,t);return samp.callNative("SendRconCommand",i,a)},AI=(e,t,i,a,r,n,s,o,_,d,h,g,I,C,y,L)=>{const j=E.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",j,i,a,r,n,s,o,_,d,h,g,I,C,y,L)},NI=(e,t,i,a,r,n,s,o,_,d,h,g,I,C,y,L)=>{const j=E.encodeToBuf(e,L);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",j,t,i,a,r,n,s,o,_,d,h,g,I,C,y,h.length,g.length,I.length,C.length)},DI=(e,t,i,a)=>{const r=E.encodeToBuf(i,a);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,r)},TI=(e,t)=>{const[i,a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return{text:E.decodeFromBuf(E.getValidStr(i),t),ret:a}},vI=(e,t,i,a,r,n,s,o,_,d,h)=>{const g=E.encodeToBuf(a,e),I=E.encodeToBuf(n,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,i,g,r,I,s,o,_,d,h)},bI=(e,t,i="utf8")=>{const[a,r,n,s,o]=samp.callNative("GetDynamicObjectMaterial","iiIAAIii",e,t,64,64);return{modelId:a,txdName:E.decodeFromBuf(E.getValidStr(r),i),textureName:E.decodeFromBuf(E.getValidStr(n),i),materialColor:s,ret:o}},LI=(e,t,i)=>{const[a,r,n,s,o,_,d,h,g]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),I=E.decodeFromBuf(a,i),C=E.decodeFromBuf(n,i);return{text:I,materialSize:r,fontFace:C,fontSize:s,bold:o,fontColor:_,backColor:d,textAlignment:h,ret:g}},wI=(e,t,i,a,r,n)=>{const s=E.encodeToBuf(t,n);return!!samp.callNative("SetPlayerChatBubble","iaifi",e,s,N(i),a,r)},Li=(e,t,i,a,r,n,s,o=!0,_,d,h)=>{const g=E.encodeToBuf(i,e),I=E.encodeToBuf(n,e);return!!samp.callNative("SetObjectMaterialText","iaiiaiiiii",t,g,a,r,I,s,o,N(_),N(d),h)},RI=(e,t,i)=>{const[a,r=0,n,s=0,o=0,_=0,d=0,h=0,g]=samp.callNative("GetObjectMaterialText","iiAiIAiIIIII",e,t,2048,32),I=E.decodeFromBuf(a,i),C=E.decodeFromBuf(n,i);return{text:I,materialSize:r,fontFace:C,fontSize:s,bold:o,fontColor:_,backColor:d,textAlignment:h,ret:g}},wi=(e,t,i,a,r,n,s,o,_=!0,d,h,g)=>{const I=E.encodeToBuf(a,e),C=E.encodeToBuf(s,e);return!!samp.callNative("SetPlayerObjectMaterialText","iiaiiaiiiii",t,i,I,r,n,C,o,_,N(d),N(h),g)},OI=(e,t,i,a)=>{const[r,n=0,s,o=0,_=0,d=0,h=0,g=0,I]=samp.callNative("GetPlayerObjectMaterialText","iiiAiIAiIIIII",e,t,i,2048,32),C=E.decodeFromBuf(r,a),y=E.decodeFromBuf(s,a);return{text:C,materialSize:n,fontFace:y,fontSize:o,bold:_,fontColor:d,backColor:h,textAlignment:g,ret:I}},GI=(e,t,i,a,r,n,s,o,_=!1)=>{const d=E.encodeToBuf(t,e);return samp.callNative("Create3DTextLabel","aiffffii",d,N(i),a,r,n,s,o,_)},jI=(e,t,i,a,r,n,s,o,_,d,h)=>{const g=E.encodeToBuf(i,e);return samp.callNative("CreatePlayer3DTextLabel","iaiffffiii",t,g,N(a),r,n,s,o,_,d,h)},FI=(e,t,i,a)=>{const r=E.encodeToBuf(a,e);return!!samp.callNative("Update3DTextLabelText","iia",t,N(i),r)},MI=(e,t,i,a,r)=>{const n=E.encodeToBuf(r,e);return!!samp.callNative("UpdatePlayer3DTextLabelText","iiia",t,i,N(a),n)},VI=(e,t)=>{const[i,a]=samp.callNative("Get3DTextLabelText","iAi",t,144);return{text:E.decodeFromBuf(i,e),buf:i,ret:a}},BI=(e,t,i)=>{const[a,r]=samp.callNative("GetPlayer3DTextLabelText","iiAi",t,i,144);return{text:E.decodeFromBuf(a,e),buf:a,ret:r}},kI=(e,t,i)=>{const[a,r]=samp.callNative("GetMenuColumnHeader","iiAi",e,t,31);return{header:E.decodeFromBuf(a,i),buf:a,ret:r}},xI=(e,t,i,a)=>{const[r,n]=samp.callNative("GetMenuItem","iiiAi",e,t,i,31);return{item:E.decodeFromBuf(r,a),buf:r,ret:n}},HI=(e,t,i,a,r,n,s)=>samp.callNative("CreateMenu","aiffff",E.encodeToBuf(e,s),t,i,a,r,n),UI=(e,t,i,a)=>samp.callNative("AddMenuItem","iia",e,t,E.encodeToBuf(i,a)),WI=(e,t,i,a)=>samp.callNative("SetMenuColumnHeader","iia",e,t,E.encodeToBuf(i,a)),KI=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],XI=[[13,18,19,20,21,24],[1,3,4,5,6,7,13,17,19,20,142,143,144,145],[],[],[0,2,7,13,16,17,19,20,21],[0,1,14,18,19,20,21,23],[],[],[],[],[1,3,7,13,17,19,20,21,23,24],[],[],[],[],[1,3,7,17,18,19,23],[],[],[2,6,16,20,21],[],[1,3,4,5,19,21],[0,14,16,18,19,20,21,23],[7,13,17,19,20,21],[],[],[],[1,3,4,5,6,19,21],[],[],[],null,[],[],[],[],[],[1,3,6,7,13,17,19,20,21,22],[],[],[1,3,7,13,17,23,142,143,144,145],[],[],[],[],[],[],null,[],null,null,[],[],null,null,null,[],[],[],[],[],[],null,null,null,[],[],[],[],null,[],[],[],null,null,[],[],[],[6,7,17,18,19,20,21],[4,5,12,13,20,21,22,24],[],[],null,[],[],null,[],[],[],[],[0,2,4,5,6,13,16,18,19,20,24],[],[3,7,14,17,18,19,20,21,23,142,143,144,145],[0,4,5,6,16],null,[],[],[1,2,3,6,7,11,17,19,20,23,142,143],[],[],[],[13,19,20,21,24],[],[],[],[],[],[],[],[],null,null,[],[],[],[],[],[0,2,4,7,15,16,17,18,19,20,21],[2,3,7,16,17,18,19,20,23,142,143,144,145],[1,3,5,6,7,13,17,18,20,23,142,143,144,145],[],[],null,null,null,[],[],[],[1,7,14,15,17,18,20,21],[],[1,3,6,7,11,12,17,18,19,20,23],[],[],[],[],[100,101,106,122,123,124,125,126,127,178,179,180,185],[109,110,113,114,115,116,117,118,119,120,121],[103,104,105,107,108,128,181,182,183,184],null,null,[],[1,4,6,7,17,18,19,20,23,24,142,143,144,145],[],[14,15,18,19,20,21,144,145],[],[],[],[1,2,4,6,7,17,18,19,23,24,142,143,144,145],[0,3,16,18,19,20,21,142,143],[],[1,3,7,11,12,17,18,19,20,23,142,143,144,145],[1,3,4,5,6,18,19,20,23,142,143,144,145],[2,3,5,6,16,18,19,20,21,23],[],[],[],[],[],[],[88,89,90,91,92,93,94,95,163,164,165,166,167,168],[65,66,67,68,69,70,71,72,158,159,160,161,162,173],[26,27,28,29,30,31,32,33,138,139,140,141,169,170],[55,56,57,58,59,60,61,62,63,64,154,155,156,157],[34,35,36,37,38,39,40,41,146,147,148,149,171,172],[],[],[45,46,47,48,49,50,51,52,53,54,150,151,152,153],[],[102,129,130,131,132,133,186,187,188,189],[],null,null,[],[],[],[],[42,43,44,99,174,175,176,177],[134,135,136,137,190,191,192,193],[],[],[],[1,6,7,17,18,20,23],null,[],[],[],[0,1,2,3,6,7,13,14,15,16,17,18,19,20,21,22,23,24,142,143,144,145],null,[],[],[0,4,5,6,7,13,16,17,18,20,24,144,145],null,[],[],[],[],null,[],[],[],[],[4,5,6,7,13,17,18,20,22],[],[],[1,6,7,17,18,19,20,23,24,142,143,144,145],[],[],[],[],[],[],[],[]],ZI=(e,t)=>{if(!Ct(e))return!1;const i=XI[e-400];if(i===null)return!1;const a=t-1e3;return KI.includes(a)||i.includes(a)},Ct=e=>e>=400&&e<=611,YI=(e,t)=>{if(t<0||t>2)return!1;const i=new Map([[483,0],[534,2],[535,2],[536,2],[558,2],[559,2],[560,2],[561,2],[562,2],[565,2],[567,2],[575,1],[576,2]]).get(e);return typeof i>"u"?!1:t<=i},B=Symbol("internalPlayerProps"),oe=new Map,me=new Map,Oe=new Map,Z=new Map,Ge=new Map,fe=new Map,re=new Map,Pe=new Map,de=new Map,je=new Map,Y=new Map,pe=new Map,Fe=new Map,he=new Map,Ie=new Map,Se=new Map,ye=new Map,Me=new Map,Ce=new Map,Ee=new Map,W=new Map,Ve=new Map,Be=new Map,ke=new Map,z=new Map,[zI]=m({name:"OnGameModeInit",identifier:""}),[Ri,JI]=m({name:"OnGameModeInitReal",isNative:!1});zI(()=>{Promise.resolve().then(JI)});const[Oi]=m({name:"OnGameModeExit",identifier:""}),[$I]=m({name:"OnIncomingConnection",identifier:"isi",defaultValue:!1,beforeEach(e,t,i){return{playerId:e,ipAddress:t,port:i}}}),[QI]=m({name:"OnRconCommandI18n",identifier:"ai",defaultValue:!1,beforeEach(e){return{buffer:e,cmd:E.decodeFromBuf(e)}}}),[qI]=m({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,i){return{ip:E.decodeFromBuf(e),password:E.decodeFromBuf(t),success:!!i,ipBuffer:e,passwordBuffer:t}}}),Ae=[],xe=[],ct=new Map,Et=async e=>{try{return await new Promise((t,i)=>{const a=Ae.findIndex(o=>o.name===e);if(a===-1)return;const r=Ae[a];function n(o){o.length&&ct.set(e,o),Ae.splice(a,1),xe.push(r),setTimeout(t)}const s=r.load();s instanceof Promise?s.then(n).catch(i):n(s)})}catch(t){throw new Error(`[GameMode]: script ${e} load fail
|
|
2
|
+
err:${t}`)}},At=async e=>{try{return await new Promise((t,i)=>{const a=xe.findIndex(_=>_.name===e);if(a===-1)return;const r=xe[a],n=ct.get(e);n&&(n.forEach(_=>_()),ct.delete(e));function s(){xe.splice(a,1),Ae.push(r),setTimeout(t)}const o=r.unload();o instanceof Promise?o.then(s).catch(i):s()})}catch(t){throw new Error(`[GameMode]: script ${e} unload fail
|
|
3
|
+
${t}`)}},eS=async e=>{await At(e),await Et(e)},tS=e=>ct.has(e);Ri(async({next:e})=>{const t=Ae.map(i=>i.name);for(const i of t)await Et(i);return e()}),Oi(async({next:e})=>{const t=xe.map(i=>i.name);for(const i of t)await At(i);return e()});const iS=function(e,...t){if(Ae.some(i=>i.name===e.name)||xe.some(i=>i.name===e.name))throw new Error(`[GameMode]: script ${e.name} has already been applied`);e.load=e.load.bind(e,...t),Ae.push(e)},_e=new Uint32Array(65536),aS=(e,t)=>{const i=e.length,a=t.length,r=1<<i-1;let n=-1,s=0,o=i,_=i;for(;_--;)_e[e.charCodeAt(_)]|=1<<_;for(_=0;_<a;_++){let d=_e[t.charCodeAt(_)];const h=d|s;d|=(d&n)+n^n,s|=~(d|n),n&=d,s&r&&o++,n&r&&o--,s=s<<1|1,n=n<<1|~(h|s),s&=h}for(_=i;_--;)_e[e.charCodeAt(_)]=0;return o},rS=(e,t)=>{const i=t.length,a=e.length,r=[],n=[],s=Math.ceil(i/32),o=Math.ceil(a/32);for(let y=0;y<s;y++)n[y]=-1,r[y]=0;let _=0;for(;_<o-1;_++){let y=0,L=-1;const j=_*32,J=Math.min(32,a)+j;for(let F=j;F<J;F++)_e[e.charCodeAt(F)]|=1<<F;for(let F=0;F<i;F++){const ce=_e[t.charCodeAt(F)],se=n[F/32|0]>>>F&1,ae=r[F/32|0]>>>F&1,Dt=ce|y,Tt=((ce|ae)&L)+L^L|ce|ae;let Xe=y|~(Tt|L),it=L&Tt;Xe>>>31^se&&(n[F/32|0]^=1<<F),it>>>31^ae&&(r[F/32|0]^=1<<F),Xe=Xe<<1|se,it=it<<1|ae,L=it|~(Dt|Xe),y=Xe&Dt}for(let F=j;F<J;F++)_e[e.charCodeAt(F)]=0}let d=0,h=-1;const g=_*32,I=Math.min(32,a-g)+g;for(let y=g;y<I;y++)_e[e.charCodeAt(y)]|=1<<y;let C=a;for(let y=0;y<i;y++){const L=_e[t.charCodeAt(y)],j=n[y/32|0]>>>y&1,J=r[y/32|0]>>>y&1,F=L|d,ce=((L|J)&h)+h^h|L|J;let se=d|~(ce|h),ae=h&ce;C+=se>>>a-1&1,C-=ae>>>a-1&1,se>>>31^j&&(n[y/32|0]^=1<<y),ae>>>31^J&&(r[y/32|0]^=1<<y),se=se<<1|j,ae=ae<<1|J,h=ae|~(F|se),d=se&F}for(let y=g;y<I;y++)_e[e.charCodeAt(y)]=0;return C},Gi=(e,t)=>{if(e.length<t.length){const i=t;t=e,e=i}return t.length===0?e.length:e.length<=32?aS(e,t):rS(e,t)},nS=(e,t)=>{let i=1/0,a=0;for(let r=0;r<t.length;r++){const n=Gi(e,t[r]);n<i&&(i=n,a=r)}return t[a]},Ne=new Map,De=new Map,ji=/[^/\s]+/gi,Qe={NOT_EXIST:{code:1,msg:"command does not exist"},REJECTED:{code:2,msg:"An event registered through onCommandText returned false"},PERFORMED:{code:3,msg:"An event registered through onCommandPerformed returned false"},RECEIVED_THROW:{code:4,msg:"An event registered through onCommandReceived throw an error"},RECEIVED_REJECTED:{code:5,msg:"An event registered through onCommandReceived returned false"}},[sS,lS]=m({name:"OnCommandReceived",isNative:!1,throwOnError:!0,beforeEach(e,t,i,a,r,n,s,o,_){return{player:e,command:t,cmdText:i,buffer:a,strictMainCmd:r,noStrictMainCmd:n,hasStrict:s,hasNoStrict:o,subcommand:_}}}),[oS,_S]=m({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t,i,a,r,n,s,o,_){return{player:e,command:t,cmdText:i,buffer:a,strictMainCmd:r,noStrictMainCmd:n,hasStrict:s,hasNoStrict:o,subcommand:_}}}),[cS,qe]=m({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_,d){return{player:e,error:t,command:i,cmdText:a,buffer:r,strictMainCmd:n,noStrictMainCmd:s,hasStrict:o,hasNoStrict:_,subcommand:d,getSuggestion(){const h=nS(a,[...Ne.keys(),...De.keys()]),g=Gi(a,h);return{suggestion:h,distance:g}}}}}),[dS,hS]=m({name:"OnPlayerCommandTextI18n",identifier:"iai",defaultValue:!1,beforeEach(e,t){const i=oe.get(e);let a=t,r="";return typeof t=="string"?(r=t,a=E.encodeToBuf(r,"utf-8")):r=E.decodeFromBuf(t,i.charset),{player:i,buffer:a,cmdText:r}}}),[uS,gS]=m({name:"OnPlayerCommandTextRaw",isNative:!1,defaultValue:!1,beforeEach(e,t,i){return{player:e,buffer:t,cmdText:i}}});function mS(e){const t=[];let i="";for(let a=0;a<e.length;a++)i+=e[a]+" ",t.push(i.trimEnd());return t.reverse()}dS(({player:e,buffer:t,cmdText:i,next:a})=>{const r=gS(e,t,i);if(r)return r;const n=i.match(ji),s=mS(n),o=s.find(L=>Ne.has(L)),_=s.map(L=>L.toLowerCase()).find(L=>De.has(L)),d=!!o,h=!!_,g=n.join(" ");let I=[];const C=[[o,Ne,!0],[_,De,!1]],y=[g,i,t,o,_,d,h,I];if(d||h){const L=C[0][0]||C[1][0];I=g.replace(L,"").trim().split(" ")}else return qe(e,Qe.NOT_EXIST,...y);try{if(!lS(e,...y))return qe(e,Qe.RECEIVED_REJECTED,...y)}catch(L){const j=typeof L=="object"?L:{error:L};return qe(e,{...Qe.RECEIVED_THROW,...j},...y)}for(const[L,j,J]of C){if(!L)continue;const F=j.get(L),[,ce]=F;if(!ce(e,L,I,i,t,J))return qe(e,Qe.REJECTED,...y)}return _S(e,g,i,t,o,_,d,h,I)?(a(),!0):qe(e,Qe.PERFORMED,...y)});function fS(e,t,i,a,r,n){return{player:e,mainCommand:t,subcommand:i,cmdText:a,buffer:r,isStrict:n}}class te{static caseSensitive=!1;constructor(){}static on(t,i){let a=te.caseSensitive,r,n;typeof t=="string"||t instanceof Array?(r=t,n=i):(r=t.command,n=t.run,typeof t.caseSensitive<"u"&&(a=t.caseSensitive));const s=Array.isArray(r)?r:[r],o=s.find(h=>!h.match(ji));if(o)return console.log(`error command ${o} format`),()=>{};const _=a?Ne:De,d=s.map(h=>{const g=h.replaceAll("/",""),I=a?g:g.toLowerCase();if(!_.has(I)){const y=m({name:a?"$"+I:I,isNative:!1,beforeEach:fS});_.set(I,y)}const[C]=_.get(I);return[I,C(n)]});return()=>{d.forEach(h=>{const[g,I]=h;I()===0&&_.delete(g)})}}static off(t){(Array.isArray(t)?t:[t]).forEach(i=>{let a=i.replaceAll("/","");Ne.has(a)&&(Q.has(a)&&Q.delete(a),Ne.has(a)&&Ne.delete(a)),a=a.toLowerCase(),De.has(a)&&(Q.has(a)&&Q.delete(a),De.has(a)&&De.delete(a))})}static enableCaseSensitive(){te.caseSensitive=!0}static disableCaseSensitive(){te.caseSensitive=!1}static isCaseSensitive(){return te.caseSensitive}static simulate(t,i){return hS(t.id,i)}}class x{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=Ri;static onExit=Oi;static onIncomingConnection=$I;static onRconCommand=QI;static onRconLoginAttempt=qI;static use(t,...i){return iS(t,...i),this}static loadUseScript=Et;static reloadUseScript=eS;static unloadUseScript=At;static isUseScriptLoaded=tS;static enableCmdCaseSensitive=te.enableCaseSensitive;static disableCmdCaseSensitive=te.disableCaseSensitive;static isCmdCaseSensitive=te.isCaseSensitive;static supportAllNickname(){for(let t=0;t<=255;t++)this.isNickNameCharacterAllowed(t)||this.allowNickNameCharacter(t,!0)}static setWeather(t){if(t<0||t>255)throw new Error("[GameMode]: The valid weather value is only 0 to 255");return Ks(t)}static setWorldTime(t){if(t<0||t>23)throw new Error("[GameMode]: The valid hour value is only 0 to 23");return Hs(t)}static getWorldTime=Us;static setTeamCount=hl;static sendRconCommand=EI;static addPlayerClass=ul;static addPlayerClassEx=gl;static createExplosion(t,i,a,r,n){if(r<0||r>13)throw new Error("[GameMode]: The valid explosion type value is only 0 to 13");return Ys(t,i,a,r,n)}static manualVehicleEngineAndLights=zu;static blockIpAddress=Ol;static unBlockIpAddress=Gl;static getServerTickRate=il;static addSimpleModel(t,i,a,r,n){return this.checkSimpleModel(t,i,a,r,n)?Pp(t,i,a,r,n):!1}static addSimpleModelTimed(t,i,a,r,n,s,o){return this.checkSimpleModel(t,i,a,r,n,s,o)?pp(t,i,a,r,n,s,o):!1}static checkSimpleModel(t,i,a,r,n,s,o){if(t<-1)throw new Error("[GameMode]: AddSimpleModel - Error virtual world");if(i<0)throw new Error("[GameMode]: AddSimpleModel - Error baseId");if(a>H.MAX_CUSTOM_OBJECT_ID||a<H.MIN_CUSTOM_OBJECT_ID)throw new Error("[GameMode]: AddSimpleModel - Error newId range");if(r.trim().length===0)throw new Error("[GameMode]: AddSimpleModel - Empty dffName");if(n.trim().length===0)throw new Error("[GameMode]: AddSimpleModel - Empty txdName");if(s!==void 0&&(s<0||s>23))throw new Error("[GameMode]: AddSimpleModel - Error time on range");if(o!==void 0&&(o<0||o>23))throw new Error("[GameMode]: AddSimpleModel - Error time off range");return!0}static isValidCustomModel=Di;static getCustomModePath=Dp;static getConsoleVarAsString(t,i="utf8"){const{consoleVarBuf:a,ret:r}=Ts(t);return{consoleVar:E.decodeFromBuf(E.getValidStr(a),i),ret:r}}static getRestartTime=Gs;static setRestartTime=Os;static allowAdminTeleport=ys;static isAdminTeleportAllowed=Cs;static allowInteriorWeapons=Es;static areInteriorWeaponsAllowed=As;static areAllAnimationsEnabled=Ns;static enableAllAnimations=Ds;static enableStuntBonusForAll=rl;static enableVehicleFriendlyFire=Ws;static enableZoneNames=zs;static disableInteriorEnterExits=$s;static setGameModeText=Bs;static getGravity=Xs;static setGravity=Zs;static showNameTags=ks;static disableNameTagLOS=qs;static usePlayerPedAnims=Js;static showPlayerMarkers=xs;static limitPlayerMarkerRadius=tl;static limitGlobalChatRadius=el;static setNameTagDrawDistance=Qs;static findModelFileNameFromCRC=Sp;static findTextureFileNameFromCRC=yp;static getWeaponName=ol;static setObjectsDefaultCameraCollision=fp;static vectorSize=It;static clearBanList=Ml;static isBanned=Vl;static isValidNickName=gs;static allowNickNameCharacter=ms;static isNickNameCharacterAllowed=fs;static addServerRule=Ps;static setServerRule=ps;static isValidServerRule=Is;static removeServerRule=Ss;static getWeaponSlot=ll;static getAvailableClasses=_l;static getPlayerClass=cl;static editPlayerClass=dl;static toggleChatTextReplacement=nl;static chatTextReplacementToggled=sl;static getConsoleVarAsInt=vs;static getConsoleVarAsBool=bs;static getWeather=Ls;static getServerRuleFlag=ws;static setServerRuleFlags=Rs;static getAnimationName=al}const D={skip:!1};x.onInit(({next:e})=>(D.skip=!1,e())),x.onExit(({next:e})=>(D.skip=!0,e()));class p{sourceInfo=null;isStatic=!1;static createdCount=0;_id=l.VEHICLE_ID;get id(){return this._id}constructor(t,i=!1){if(typeof t=="number"){if(t===l.VEHICLE_ID)throw new Error("[Vehicle]: Invalid id");const a=p.getInstance(t);if(a)return a;this._id=t,me.set(this._id,this),this.isValid()&&p.createdCount++}else this.sourceInfo=t,this.isStatic=i}create(t=!1){if(this.id!==l.VEHICLE_ID)throw new Error("[Vehicle]: Unable to create again");if(!this.sourceInfo)throw new Error("[Vehicle]: Unable to create with only id");const{modelId:i,x:a,y:r,z:n,zAngle:s,color:o,respawnDelay:_,addSiren:d}=this.sourceInfo;if(!(!t&&!Ct(i))){if(this.isStatic){if(typeof _>"u"){this._id=p.__inject__.addStatic(i,a,r,n,s,o[0],o[1]);return}this._id=p.__inject__.addStaticEx(i,a,r,n,s,o[0],o[1],_||-1,d||!1)}else this._id=p.__inject__.create(i,a,r,n,s,o[0],o[1],_||-1,d||!1);if(this._id===l.VEHICLE_ID||p.createdCount===H.MAX_VEHICLES)throw new Error("[Vehicle]: Unable to create vehicle");p.createdCount++,me.set(this._id,this)}}destroy(){if(this.id===l.VEHICLE_ID&&!D.skip)throw new Error("[Vehicle]: Unable to destroy the vehicle before create");D.skip||p.__inject__.destroy(this._id),p.createdCount--,me.delete(this._id),this._id=l.VEHICLE_ID,p.getInstances().length||(p.createdCount=0)}addComponent(t){if(this.id===l.VEHICLE_ID)return 0;if(!ZI(this.getModel(),t))throw new Error(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`);return p.__inject__.addComponent(this.id,t)}removeComponent(t){if(this.getComponentInSlot(p.getComponentType(t))===0)throw new Error(`[Vehicle]: component id ${t} does not exist on this vehicle`);return p.__inject__.removeComponent(this.id,t)}getComponentInSlot(t){return p.__inject__.getComponentInSlot(this.id,t)}linkToInterior(t){return this.id===l.VEHICLE_ID?0:p.__inject__.linkToInterior(this.id,t)}setVirtualWorld(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setVirtualWorld(this.id,t)}getVirtualWorld(){return this.id===l.VEHICLE_ID?0:p.__inject__.getVirtualWorld(this.id)}repair(){return this.id===l.VEHICLE_ID?0:p.__inject__.repair(this.id)}setPos(t,i,a){return this.id===l.VEHICLE_ID?!1:p.__inject__.setPos(this.id,t,i,a)}getPos(){return p.__inject__.getPos(this.id)}getHealth(){return p.__inject__.getHealth(this.id)}setHealth(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setHealth(this.id,t)}isPlayerIn(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.isPlayerIn(t.id,this.id)}putPlayerIn(t,i){if(this.id===l.VEHICLE_ID||i<0)return 0;if(i>4)throw new Error("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle.");return p.__inject__.putPlayerIn(t.id,this.id,i)}getZAngle(){return p.__inject__.getZAngle(this.id)}setZAngle(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setZAngle(this.id,t)}setNumberPlate(t){if(this.id===l.VEHICLE_ID)return 0;if(t.length<1||t.length>32)throw new Error("[Vehicle]: The length of the number plate ranges up to 32 characters");if(!/^[a-zA-Z0-9]+$/.test(t))throw new Error("[Vehicle]: number plates only allow letters and numbers");return p.__inject__.setNumberPlate(this.id,t)}changeColors(t,i){return this.id===l.VEHICLE_ID?0:p.__inject__.changeColors(this.id,t,i)}setVelocity(t,i,a){return this.id===l.VEHICLE_ID?!1:p.__inject__.setVelocity(this.id,t,i,a)}getVelocity(){return p.__inject__.getVelocity(this.id)}getSpeed(t=180){if(this.id===l.VEHICLE_ID)return 0;const{x:i,y:a,z:r}=this.getVelocity();return It(i,a,r)*t}setAngularVelocity(t,i,a){return this.id===l.VEHICLE_ID?!1:p.__inject__.setAngularVelocity(this.id,t,i,a)}getDamageStatus(){return p.__inject__.getDamageStatus(this.id)}updateDamageStatus(t,i,a,r){return p.__inject__.updateDamageStatus(this.id,t,i,a,r)}getDistanceFromPoint(t,i,a){return p.__inject__.getDistanceFromPoint(this.id,t,i,a)}getModel(){return p.__inject__.getModel(this.id)}static getModelInfo(t,i){return p.__inject__.getModelInfo(t,i)}getModelInfo(t){return p.getModelInfo(this.getModel(),t)}getRotation(){return p.__inject__.getRotation(this.id)}getRotationQuat(){return p.__inject__.getRotationQuat(this.id)}setRespawn(){return this.id===l.VEHICLE_ID?0:p.__inject__.setRespawn(this.id)}isStreamedIn(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.isStreamedIn(this.id,t.id)}setParamsCarDoors(t,i,a,r){return this.id===l.VEHICLE_ID?0:p.__inject__.setParamsCarDoors(this.id,t,i,a,r)}setParamsCarWindows(t,i,a,r){return this.id===l.VEHICLE_ID?0:p.__inject__.setParamsCarWindows(this.id,t,i,a,r)}getParamsCarDoors(){return p.__inject__.getParamsCarDoors(this.id)}getParamsCarWindows(){return p.__inject__.getParamsCarWindows(this.id)}setParamsEx(t,i,a,r,n,s,o){return this.id===l.VEHICLE_ID?0:p.__inject__.setParamsEx(this.id,t,i,a,r,n,s,o)}getParamsEx(){if(this.id===l.VEHICLE_ID)return{engine:-1,lights:-1,alarm:-1,doors:-1,bonnet:-1,boot:-1,objective:-1};const[t,i,a,r,n,s,o]=p.__inject__.getParamsEx(this.id);return{engine:t,lights:i,alarm:a,doors:r,bonnet:n,boot:s,objective:o}}toggleEngine(t){if(this.id===l.VEHICLE_ID)return 0;const{lights:i,alarm:a,doors:r,bonnet:n,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(t,i,a,r,n,s,o)}toggleLights(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,alarm:a,doors:r,bonnet:n,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(i,t,a,r,n,s,o)}toggleAlarm(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,lights:a,doors:r,bonnet:n,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(i,a,t,r,n,s,o)}toggleDoors(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,lights:a,alarm:r,bonnet:n,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(i,a,r,t,n,s,o)}toggleBonnet(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,lights:a,alarm:r,doors:n,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(i,a,r,n,t,s,o)}toggleBoot(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,lights:a,alarm:r,doors:n,bonnet:s,objective:o}=this.getParamsEx();return this.setParamsEx(i,a,r,n,s,t,o)}toggleObjective(t){if(this.id===l.VEHICLE_ID)return 0;const{engine:i,lights:a,alarm:r,doors:n,bonnet:s,boot:o}=this.getParamsEx();return this.setParamsEx(i,a,r,n,s,o,t)}getParamsSirenState(){return this.id===l.VEHICLE_ID?-2:p.__inject__.getParamsSirenState(this.id)}setParamsForPlayer(t,i,a){return this.id===l.VEHICLE_ID?0:p.__inject__.setParamsForPlayer(this.id,t.id,i,a)}isTrailerAttached(){return this.id===l.VEHICLE_ID?!1:p.__inject__.isTrailerAttached(this.id)}changePaintjob(t){return this.id===l.VEHICLE_ID||!YI(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),p.__inject__.changePaintjob(this.id,t),1)}attachTrailer(t){return this.id===l.VEHICLE_ID?0:p.__inject__.attachTrailer(t.id,this.id)}detachTrailer(){this.isTrailerAttached()&&p.__inject__.detachTrailer(this.id)}getTrailer(){return p.getInstance(gg(this.id))}isValid(){return D.skip&&this.id!==l.VEHICLE_ID?!0:p.isValid(this.id)}getMatrix(){return p.__inject__.getMatrix(this.id)}getTrainSpeed(){return this.id===l.VEHICLE_ID?0:p.__inject__.getTrainSpeed(this.id)}getHydraReactorAngle(){return this.id===l.VEHICLE_ID?0:p.__inject__.getHydraReactorAngle(this.id)}getLandingGearState(){return this.id===l.VEHICLE_ID?0:p.__inject__.getLandingGearState(this.id)}getSirenState(){return this.id===l.VEHICLE_ID?0:p.__inject__.getSirenState(this.id)}getDriver(){return oe.get(Ii(this.id))}getLastDriver(){return oe.get(pi(this.id))}isSirenEnabled(){return p.__inject__.isSirenEnabled(this.id)}toggleSirenEnabled(t){return this.id===l.VEHICLE_ID?0:p.__inject__.toggleSirenEnabled(this.id,t)}setParamsSirenState(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setParamsSirenState(this.id,t)}isDead(){return this.id===l.VEHICLE_ID?!0:p.__inject__.isDead(this.id)}setDead(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.setDead(this.id,t)}setBeenOccupied(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.setBeenOccupied(this.id,t)}getRespawnTick(){return this.id===l.VEHICLE_ID?0:p.__inject__.getRespawnTick(this.id)}setRespawnTick(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.setRespawnTick(this.id,t)}isOccupied(){return this.id===l.VEHICLE_ID?!1:p.__inject__.isOccupied(this.id)}hasBeenOccupied(){return this.id===l.VEHICLE_ID?!1:p.__inject__.hasBeenOccupied(this.id)}getOccupiedTick(){return this.id===l.VEHICLE_ID?0:p.__inject__.getOccupiedTick(this.id)}setOccupiedTick(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setOccupiedTick(this.id,t)}getCab(){return this.id===l.VEHICLE_ID?0:p.__inject__.getCab(this.id)}getRespawnDelay(){return this.id===l.VEHICLE_ID?0:p.__inject__.getRespawnDelay(this.id)}setRespawnDelay(t){return this.id===l.VEHICLE_ID?0:p.__inject__.setRespawnDelay(this.id,t)}getNumberPlate(){return p.__inject__.getNumberPlate(this.id)}getInterior(){return this.id===l.VEHICLE_ID?0:p.__inject__.getInterior(this.id)}getPaintjob(){return this.id===l.VEHICLE_ID?l.VEHICLE_ID:p.__inject__.getPaintjob(this.id)}getColors(){return p.__inject__.getColors(this.id)}setSpawnInfo(t,i,a,r,n,s,o,_=-2,d=-2,h=!1){return this.id===l.VEHICLE_ID||!h&&!Ct(t)?0:p.__inject__.setSpawnInfo(this.id,t,i,a,r,n,N(s),N(o),_,d)}getSpawnInfo(){return p.__inject__.getSpawnInfo(this.id)}getRandomColorPair(){return p.__inject__.getRandomColorPair(this.getModel())}show(){return this.id===l.VEHICLE_ID?!1:p.__inject__.show(this.id)}hide(){return this.id===l.VEHICLE_ID?!1:p.__inject__.hide(this.id)}isHidden(){return this.id===l.VEHICLE_ID?!1:p.__inject__.isHidden(this.id)}getOccupant(t){return p.__inject__.getOccupant(this.id,t)}getMaxPassengers(){return p.__inject__.getMaxPassengers(this.getModel())}countOccupants(){return p.__inject__.countOccupants(this.getModel())}static getMaxPassengers(t){return p.__inject__.getMaxPassengers(t)}static getRandomColorPair(t){return p.__inject__.getRandomColorPair(t)}static getComponentType(t){return p.__inject__.getComponentType(t)}static colorIndexToColor(t,i=255){return p.__inject__.colorIndexToColor(t,i)}static isValid(t){return p.__inject__.isValid(t)}static getModelsUsed(){return p.__inject__.getModelsUsed()}static getModelCount(t){return p.__inject__.getModelCount(t)}static getInstance(t){return me.get(t)}static getInstances(){return[...me.values()]}static __inject__={addStatic:bg,addStaticEx:Lg,create:Vu,destroy:Bu,addComponent:ng,removeComponent:sg,getComponentInSlot:Pg,linkToInterior:rg,setVirtualWorld:Dg,getVirtualWorld:Tg,repair:Ig,setPos:Hu,getPos:xu,getHealth:cg,setHealth:_g,isPlayerIn:z_,putPlayerIn:D_,getZAngle:Uu,setZAngle:Zu,setNumberPlate:mg,changeColors:lg,setVelocity:yg,getVelocity:Sg,setAngularVelocity:Cg,getDamageStatus:Eg,updateDamageStatus:Ag,getDistanceFromPoint:Xu,getModel:fg,getModelInfo:Ng,getRotation:Wu,getRotationQuat:Ku,setRespawn:ag,isStreamedIn:ku,setParamsCarDoors:qu,setParamsCarWindows:tg,getParamsCarDoors:eg,getParamsCarWindows:ig,setParamsEx:Ju,getParamsEx:$u,getParamsSirenState:Qu,setParamsForPlayer:Yu,isTrailerAttached:ug,changePaintjob:og,attachTrailer:dg,detachTrailer:hg,getMatrix:ju,getTrainSpeed:Gu,getHydraReactorAngle:Ou,getLandingGearState:Ru,getSirenState:wu,getDriver:Ii,getLastDriver:pi,isSirenEnabled:vu,toggleSirenEnabled:Du,setParamsSirenState:Tu,isDead:Eu,setDead:Au,setBeenOccupied:Nu,getRespawnTick:yu,setRespawnTick:Cu,isOccupied:Su,hasBeenOccupied:Iu,getOccupiedTick:Pu,setOccupiedTick:pu,getCab:fu,getRespawnDelay:mu,setRespawnDelay:gu,getNumberPlate:uu,getInterior:hu,getPaintjob:du,getColors:cu,setSpawnInfo:_u,getSpawnInfo:ou,getRandomColorPair:Fu,show:wg,hide:Rg,isHidden:Og,getOccupant:Bg,getMaxPassengers:kg,countOccupants:xg,getComponentType:pg,colorIndexToColor:Mu,isValid:vg,getModelsUsed:Lu,getModelCount:bu}}class S{sourceInfo=null;_id=l.OBJECT_ID;_player=null;get id(){return this._id}constructor(t,i){if(typeof t=="number"){if(t===l.OBJECT_ID)throw new Error("[ObjectMp]: Invalid id");i&&(this._player=i);const a=S.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?Ee.set(this._id,this):i&&(W.has(i)||W.set(i,new Map),W.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[ObjectMp]: Unable to create with only id");if(this.id!==l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to create again");const{modelId:t,x:i,y:a,z:r,rx:n,ry:s,rz:o,drawDistance:_=0}=this.sourceInfo;if(this.isGlobal()){if(this._id=S.__inject__.create(t,i,a,r,n,s,o,_),this.id===l.OBJECT_ID||S.getInstances().length===H.MAX_OBJECTS)throw new Error("[ObjectMp]: Unable to create object");return Ee.set(this._id,this),this}const d=this.getPlayerId();if(d===l.PLAYER_ID)return this;const h=this.getPlayer();if(this._id=S.__inject__.createPlayer(d,t,i,a,r,n,s,o,_),this.id===l.OBJECT_ID||S.getInstances(h).length===H.MAX_OBJECTS)throw new Error("[ObjectMp]: Unable to create player object");return W.has(h)||W.set(h,new Map),W.get(this.getPlayer()).set(this.id,this),this}destroy(){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to destroy before create");if(this.isGlobal())D.skip||S.__inject__.destroy(this.id),Ee.delete(this.id);else{const t=this.getPlayerId();if(t===l.PLAYER_ID)return this;const i=this.getPlayer();if(D.skip||S.__inject__.destroyPlayer(t,this.id),W.has(i)){const a=W.get(i);a.delete(this.id),a.size===0&&W.delete(i)}}return this._id=l.OBJECT_ID,this}isGlobal(){return!(this.sourceInfo?this.sourceInfo.player:this._player)}isPlayer(){return!this.isGlobal()}getPlayer(){return this._player?this._player:this.sourceInfo&&this.sourceInfo.player?this.sourceInfo.player:null}getPlayerId(){const t=this.getPlayer();return t?t.id:l.PLAYER_ID}isValid(){return D.skip&&this.id!==l.OBJECT_ID?!0:this.isGlobal()?S.isValid(this.id):S.isValid(this.id,this.getPlayerId())}getModel(){return this.sourceInfo?this.sourceInfo.modelId:this.isGlobal()?S.__inject__.getModel(this.id):S.__inject__.getModelPlayer(this.getPlayerId(),this.id)}getPos(){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot get position before create");return this.isGlobal()?S.__inject__.getPos(this.id):S.__inject__.getPosPlayer(this.getPlayerId(),this.id)}setPos(t,i,a){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot set position before create");return this.isGlobal()?S.__inject__.setPos(this.id,t,i,a):S.__inject__.setPosPlayer(this.getPlayerId(),this.id,t,i,a)}getRot(){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot get rotation before create");return this.isGlobal()?S.__inject__.getRot(this.id):S.__inject__.getRotPlayer(this.getPlayerId(),this.id)}setRot(t,i,a){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot set rotation before create");return this.isGlobal()?S.__inject__.setRot(this.id,t,i,a):S.__inject__.setRotPlayer(this.getPlayerId(),this.id,t,i,a)}move(t,i,a,r,n,s,o){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot start moving before create");if(r<0)throw new Error("[ObjectMp]: speed must not be less than 0");if(r>120*1e3)throw new Error("[ObjectMp]: speed more than 120 seconds, warn if it's not intentional");return this.isMoving()&&this.stop(),this.isGlobal()?S.__inject__.move(this.id,t,i,a,r,n,s,o):S.__inject__.movePlayer(this.getPlayerId(),this.id,t,i,a,r,n,s,o)}stop(){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot stop moving before create");return this.isGlobal()?S.__inject__.stop(this.id):S.__inject__.stopPlayer(this.getPlayerId(),this.id)}isMoving(){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.isMoving(this.id):S.__inject__.isMovingPlayer(this.getPlayerId(),this.id)}attachCamera(t){if(this.id===l.OBJECT_ID)return!1;if(this.isGlobal()){if(!t)throw new Error("[ObjectMp]: Cannot attachCamera without player");return S.__inject__.attachCamera(t.id,this.id)}return S.__inject__.attachCameraPlayer(this.getPlayerId(),this.id)}attachToObject(t,i,a,r,n,s,o,_=!0){if(this.id===l.OBJECT_ID||t.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot attachToObject before both are created");if(this.isGlobal()&&t.isGlobal())return S.__inject__.attachToObject(this.id,t.id,i,a,r,n,s,o,_);if(!this.isGlobal()&&!t.isGlobal())return S.__inject__.attachPlayerToObject(this.getPlayerId(),this.id,t.id,i,a,r,n,s,o,_);throw new Error("[ObjectMp]: Cannot attachToObject with global and player object")}attachToPlayer(t,i,a,r,n,s,o){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.attachToPlayer(this.id,t.id,i,a,r,n,s,o):S.__inject__.attachPlayerToPlayer(this.getPlayerId(),this.id,t.id,i,a,r,n,s,o)}attachToVehicle(t,i,a,r,n,s,o){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.attachToVehicle(this.id,t.id,i,a,r,n,s,o):S.__inject__.attachPlayerToVehicle(this.getPlayerId(),this.id,t.id,i,a,r,n,s,o)}edit(t){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to edit before create");if(this.isGlobal()){if(!t)throw new Error("[ObjectMp]: Cannot edit without player");return t.endObjectEditing(),S.__inject__.beginEditing(t.id,this.id)}const i=this.getPlayer();return i.endObjectEditing(),S.__inject__.beginEditingPlayer(i.id,this.id)}isMaterialUsed(t){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.isMaterialSlotUsed(this.id,t):S.__inject__.isMaterialSlotUsedPlayer(this.getPlayerId(),this.id,t)}getMaterial(t){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to get material before create");return this.isGlobal()?S.__inject__.getMaterial(this.id,t):S.__inject__.getMaterialPlayer(this.getPlayerId(),this.id,t)}setMaterial(t,i,a,r,n="#000"){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to set material before create");return this.isGlobal()?S.__inject__.setMaterial(this.id,t,i,a,r,N(n)):S.__inject__.setMaterialPlayer(this.getPlayerId(),this.id,t,i,a,r,N(n))}getMaterialText(t){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to get material text before create");return this.isGlobal()?S.__inject__.getMaterialText(this.id,t,this.sourceInfo?.charset||"utf8"):S.__inject__.getMaterialTextPlayer(this.getPlayerId(),this.id,t,this.sourceInfo?.charset||"utf8")}setMaterialText(t=this.sourceInfo?.charset,i,a,r=st.SIZE_256x128,n="Arial",s=24,o=!0,_="#fff",d="#000",h=0){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Unable to set material text before create");return this.sourceInfo&&(this.sourceInfo.charset=t),this.isGlobal()?Li(t||"utf8",this.id,i,a,r,n,s,o,N(_),N(d),h):wi(t||"utf8",this.getPlayerId(),this.id,i,a,r,n,s,o,N(_),N(d),h)}setNoCameraCollision(){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.setNoCameraCollision(this.id):S.__inject__.setNoCameraCollisionPlayer(this.getPlayerId(),this.id)}isNoCameraCol(){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.isNoCameraCol(this.id):S.__inject__.isNoCameraColPlayer(this.getPlayerId(),this.id)}hasCameraCollision(){return!this.isNoCameraCol()}getDrawDistance(){return this.id===l.OBJECT_ID?0:this.isGlobal()?S.__inject__.getDrawDistance(this.id):S.__inject__.getDrawDistancePlayer(this.getPlayerId(),this.id)}setMoveSpeed(t){return this.id===l.OBJECT_ID?!1:this.isGlobal()?S.__inject__.setMoveSpeed(this.id,t):S.__inject__.setMoveSpeedPlayer(this.getPlayerId(),this.id,t)}getMoveSpeed(){return this.id===l.OBJECT_ID?0:this.isGlobal()?S.__inject__.getMoveSpeed(this.id):S.__inject__.getMoveSpeedPlayer(this.getPlayerId(),this.id)}getMovingTargetPos(){return this.isGlobal()?S.__inject__.getMovingTargetPos(this.id):S.__inject__.getMovingTargetPosPlayer(this.getPlayerId(),this.id)}getSyncRotation(){return this.isGlobal()?S.__inject__.getSyncRotation(this.id):S.__inject__.getSyncRotationPlayer(this.getPlayerId(),this.id)}getAttachedOffset(){return this.isGlobal()?S.__inject__.getAttachedOffset(this.id):S.__inject__.getAttachedOffsetPlayer(this.getPlayerId(),this.id)}getTarget(){return this.isGlobal()?S.__inject__.getTarget(this.id):S.__inject__.getTargetPlayer(this.getPlayerId(),this.id)}static isValid(t,i){return i===l.PLAYER_ID?!1:typeof i>"u"?S.__inject__.isValid(t):S.__inject__.isValidPlayer(i,t)}static getInstance(t,i){if(!i)return Ee.get(t);if(i.id!==l.PLAYER_ID)return W.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...W.get(t)?.values()||[]]:[...Ee.values()]}static getPlayersInstances(){return Array.from(W.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:zP,createPlayer:Bp,destroy:_p,destroyPlayer:Yp,setMaterialText:Li,setMaterialTextPlayer:wi,setNoCameraCollision:sp,setNoCameraCollisionPlayer:Xp,isNoCameraCol:lp,isNoCameraColPlayer:Fp,getDrawDistance:kP,getDrawDistancePlayer:Tp,setMoveSpeed:HP,setMoveSpeedPlayer:vp,getMoveSpeed:xP,getMoveSpeedPlayer:bp,getMovingTargetPos:UP,getMovingTargetPosPlayer:wp,getSyncRotation:XP,getSyncRotationPlayer:Op,getAttachedOffset:KP,getAttachedOffsetPlayer:Rp,getTarget:WP,getTargetPlayer:Lp,isValid:op,isValidPlayer:Zp,getModel:np,getModelPlayer:Kp,getPos:ip,getPosPlayer:Hp,getRot:rp,getRotPlayer:Wp,setPos:tp,setPosPlayer:xp,setRot:ap,setRotPlayer:Up,move:cp,movePlayer:zp,setMaterial:mp,setMaterialPlayer:qp,stop:dp,stopPlayer:Jp,isMoving:hp,isMovingPlayer:$p,attachCamera:Pc,attachCameraPlayer:pc,attachToObject:QP,attachToPlayer:qP,attachToVehicle:JP,attachPlayerToObject:$P,attachPlayerToPlayer:Qp,attachPlayerToVehicle:kp,beginEditing:up,beginEditingPlayer:Vp,endEditing:Ni,getMaterial:YP,getMaterialPlayer:jp,isMaterialSlotUsed:ZP,isMaterialSlotUsedPlayer:Gp,getMaterialText:RI,getMaterialTextPlayer:OI}}const[Fi]=m({name:"OnClientCheckResponse",identifier:"iiii",beforeEach(e,t,i,a){return{player:c.getInstance(e),actionId:t,memAddr:i,data:a}}}),[PS,pS]=m({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,i){return{player:e,newLocale:t,oldLocale:i}}}),[IS,SS]=m({name:"OnPlayerCharsetChange",isNative:!1,beforeEach(e,t,i){return{player:e,newCharset:t,oldCharset:i}}});class c{constructor(t){if(this.id=t,t<0||t>=H.MAX_PLAYERS)throw new Error(`Invalid player ID: ${t} (valid range: 0-${H.MAX_PLAYERS-1})`);const i=c.getInstance(t);if(i)return i;oe.set(t,this)}static MAX_CHECK_ANDROID_DELAY=10;static SKIP_CHECK_ANDROID=!1;_charset="ISO-8859-1";_locale="en_US";[B]={isAndroid:!0,lastDrunkLevel:0,lastFps:0,lastUpdateTick:0,lastUpdateFpsTick:0,isPaused:!1,isRecording:!1};get lastDrunkLevel(){return this[B].lastDrunkLevel}get lastFps(){return this[B].lastFps}get lastUpdateTick(){return this[B].lastUpdateTick}get lastUpdateFpsTick(){return this[B].lastUpdateFpsTick}get isPaused(){return this[B].isPaused}get isRecording(){return this[B].isRecording}get charset(){return this._charset}set charset(t){const i=this._charset;this._charset=t,SS(this,t,i)}get locale(){return this._locale}set locale(t){const i=this._locale;this._locale=t,pS(this,t,i)}sendClientMessage(t,i){return c.__inject__.sendClientMessage(this,t,i)}static sendClientMessageToAll(t,i){c.__inject__.sendClientMessageToAll(c.getInstances(),t,i)}sendMessageToPlayer(t,i){return c.__inject__.sendMessageToPlayer(t,this.id,i)}sendMessageToAll(t){return c.__inject__.sendMessageToAll(c.getInstances(),this.id,t)}isNpc(){return c.__inject__.isNpc(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return c.__inject__.getDrunkLevel(this.id)}setDrunkLevel(t){if(t<0||t>5e4)throw new Error("[Player]: player's drunk level ranges from 0 to 50000");return c.__inject__.setDrunkLevel(this.id,t)}allowTeleport(t){return c.__inject__.allowTeleport(this.id,t)}isTeleportAllowed(){return c.__inject__.isTeleportAllowed(this.id)}enableCameraTarget(t){return c.__inject__.enableCameraTarget(this.id,t)}enableStuntBonus(t){return c.__inject__.enableStuntBonus(this.id,t)}getInterior(){return c.__inject__.getInterior(this.id)}setInterior(t){return c.__inject__.setInterior(this.id,t)}showNameTag(t,i){return c.__inject__.showNameTag(this.id,t.id,i)}setColor(t){return c.__inject__.setColor(this.id,t)}getColor(){return c.__inject__.getColor(this.id)}setMapIcon(t,i,a,r,n,s,o){return c.__inject__.setMapIcon(this.id,t,i,a,r,n,s,o)}removeMapIcon(t){return c.__inject__.removeMapIcon(this.id,t)}setMarker(t,i){c.__inject__.setMarker(this.id,t.id,i)}getMarker(t){return c.__inject__.getMarker(this.id,t.id)}resetMoney(){return c.__inject__.resetMoney(this.id)}getMoney(){return c.__inject__.getMoney(this.id)}giveMoney(t){return c.__inject__.giveMoney(this.id,t)}resetWeapons(){return c.__inject__.resetWeapons(this.id)}spawn(){return c.__inject__.spawn(this.id)}setHealth(t){return c.__inject__.setHealth(this.id,t)}getHealth(){return c.__inject__.getHealth(this.id)}toggleClock(t){return c.__inject__.toggleClock(this.id,t)}toggleControllable(t){return c.__inject__.toggleControllable(this.id,t)}toggleSpectating(t){return c.__inject__.toggleSpectating(this.id,t)}spectatePlayer(t,i=rt.NORMAL){return c.__inject__.spectatePlayer(this.id,t.id,i)}spectateVehicle(t,i=rt.NORMAL){return c.__inject__.spectateVehicle(this.id,t.id,i)}forceClassSelection(){return c.__inject__.forceClassSelection(this.id)}kick(){return c.__inject__.kick(this.id)}ban(){return c.__inject__.ban(this.id)}banEx(t,i){return c.__inject__.banEx(this.id,t,i)}isAdmin(){return c.__inject__.isAdmin(this.id)}isInRangeOfPoint(t,i,a,r){return c.__inject__.isInRangeOfPoint(this.id,t,i,a,r)}isStreamedIn(t){return c.__inject__.isStreamedIn(this.id,t.id)}setSkin(t,i=!1){return!i&&(t<0||t>311||t===74)||this.getHealth().health<=0||this.isInAnyVehicle()||this.getSpecialAction()===ut.DUCK?!1:c.__inject__.setSkin(this.id,t)}getSkin(){return c.__inject__.getSkin(this.id)}isInAnyVehicle(){return c.__inject__.isInAnyVehicle(this.id)}getSpecialAction(){return c.__inject__.getSpecialAction(this.id)}setSpecialAction(t){return c.__inject__.setSpecialAction(this.id,t)}setScore(t){return c.__inject__.setScore(this.id,t)}getScore(){return c.__inject__.getScore(this.id)}getPing(){return c.__inject__.getPing(this.id)||0}setPos(t,i,a){return c.__inject__.setPos(this.id,t,i,a)}getPos(){return c.__inject__.getPos(this.id)}isSpectating(){return this.getState()===ze.SPECTATING}isWasted(){return this.getState()===ze.WASTED}getState(){return c.__inject__.getState(this.id)}getVersion(){return c.__inject__.getVersion(this.id)}setVirtualWorld(t){return c.__inject__.setVirtualWorld(this.id,t)}getVirtualWorld(){return c.__inject__.getVirtualWorld(this.id)}removeFromVehicle(){return c.__inject__.removeFromVehicle(this.id)}setWantedLevel(t){if(t<0||t>6)throw new Error("[Player]: player's wanted level ranges from 0 to 6");return c.__inject__.setWantedLevel(this.id,t)}getWantedLevel(){return c.__inject__.getWantedLevel(this.id)}setFacingAngle(t){return c.__inject__.setFacingAngle(this.id,t)}getFacingAngle(){return c.__inject__.getFacingAngle(this.id)}setWeather(t){if(t<0||t>255)throw new Error("[Player]: The valid weather value is only 0 to 255");return c.__inject__.setWeather(this.id,t)}getWeather(){return c.__inject__.getWeather(this.id)}setTime(t,i){if(t<0||t>23)throw new Error("[Player]: The valid hour value is only 0 to 23");if(i<0||i>59)throw new Error("[Player]: The valid minute value is only 0 to 59");return c.__inject__.setTime(this.id,t,i)}getTime(){return c.__inject__.getTime(this.id)}removeBuilding(t,i,a,r,n){return c.__inject__.removeBuilding(this.id,t,i,a,r,n)}setTeam(t){t<0||t>l.NO_TEAM||c.__inject__.setTeam(this.id,t)}getTeam(){return c.__inject__.getTeam(this.id)}setSkillLevel(t,i){if(i<0||i>999)throw new Error("[Player]: The valid skill level is only 0 to 999");return c.__inject__.setSkillLevel(this.id,t,i)}getName(){return c.__inject__.getName(this)}setName(t){return c.__inject__.setName(this,t)}setVelocity(t,i,a){return c.__inject__.setVelocity(this.id,t,i,a)}getVelocity(){return c.__inject__.getVelocity(this.id)}getSpeed(t=180){if(this.id===-1)return 0;const{x:i,y:a,z:r}=this.getVelocity();return It(i,a,r)*t}getKeys(){return c.__inject__.getKeys(this.id)}getIp(){return c.__inject__.getIp(this.id)}getFightingStyle(){return c.__inject__.getFightingStyle(this.id)}setFightingStyle(t){return c.__inject__.setFightingStyle(this.id,t)}setArmour(t){return c.__inject__.setArmour(this.id,t)}getArmour(){return c.__inject__.getArmour(this.id)}setCameraBehind(){return c.__inject__.setCameraBehind(this.id)}setCameraPos(t,i,a){return c.__inject__.setCameraPos(this.id,t,i,a)}setCameraLookAt(t,i,a,r=Ye.CUT){return c.__inject__.setCameraLookAt(this.id,t,i,a,r)}getCameraAspectRatio(){return c.__inject__.getCameraAspectRatio(this.id)}getCameraFrontVector(){return c.__inject__.getCameraFrontVector(this.id)}getCameraMode(){return c.__inject__.getCameraMode(this.id)}getCameraPos(){return c.__inject__.getCameraPos(this.id)}getCameraTargetPlayer(){const t=c.__inject__.getCameraTargetPlayer(this.id);return c.getInstance(t)}getCameraTargetVehicle(){const t=c.__inject__.getCameraTargetVehicle(this.id);return me.get(t)}getCameraTargetActor(){const t=c.__inject__.getCameraTargetActor(this.id);return Ve.get(t)}getCameraTargetObject(){const t=c.__inject__.getCameraTargetObject(this.id);return Ee.get(t)}getCameraTargetPlayerObject(){const t=c.__inject__.getCameraTargetPlayerObject(this.id);return W.get(this)?.get(t)}getCameraZoom(){return c.__inject__.getCameraZoom(this.id)}playAudioStream(t,i=0,a=0,r=0,n=5){let s=!1;return(i!==0||a!==0||r!==0)&&(s=!0),c.__inject__.playAudioStream(this.id,t,i,a,r,n,s)}stopAudioStream(){return c.__inject__.stopAudioStream(this.id)}playSound(t,i=0,a=0,r=0){return c.__inject__.playSound(this.id,t,i,a,r)}static getMaxPlayers(){return c.__inject__.getMaxPlayers()}playCrimeReport(t,i){if(i<3||i>22)throw new Error("[Player]: Available crime ids range from 3 to 22");return c.__inject__.playCrimeReport(this.id,t.id,i)}interpolateCameraPos(t,i,a,r,n,s,o,_=Ye.CUT){return c.__inject__.interpolateCameraPos(this.id,t,i,a,r,n,s,o,_)}interpolateCameraLookAt(t,i,a,r,n,s,o,_=Ye.CUT){return c.__inject__.interpolateCameraLookAt(this.id,t,i,a,r,n,s,o,_)}createExplosion(t,i,a,r,n){if(r<0||r>13)throw new Error("[Player]: The valid explosion type value is only 0 to 13");return c.__inject__.createExplosion(this.id,t,i,a,r,n)}static isConnected(t){return c.__inject__.isConnected(t)}isConnected(){return c.isConnected(this.id)}disableRemoteVehicleCollisions(t){return c.__inject__.disableRemoteVehicleCollisions(this.id,t)}getVehicle(){if(!this.isInAnyVehicle())return;const t=c.__inject__.getVehicleID(this.id);return p.getInstance(t)}getVehicleSeat(){return c.__inject__.getVehicleSeat(this.id)}getSurfingVehicle(){const t=c.__inject__.getSurfingVehicleID(this.id);return p.getInstance(t)}applyAnimation(t,i,a=4.1,r=!1,n=!0,s=!0,o=!1,_=0,d=!1){if(!yt(t,i))throw new Error(`[Player]: Invalid anim library or name ${t} ${i}`);return c.__inject__.applyAnimation(this.id,t,i,a,r,n,s,o,_,+d)}clearAnimations(t=!1){return c.__inject__.clearAnimations(this.id,t)}getAnimationIndex(){return c.__inject__.getAnimationIndex(this.id)}getAnimationName(){return x.getAnimationName(this.getAnimationIndex())}setShopName(t){return c.__inject__.setShopName(this.id,t)}setPosFindZ(t,i,a){return c.__inject__.setPosFindZ(this.id,t,i,a)}setWorldBounds(t,i,a,r){return c.__inject__.setWorldBounds(this.id,t,i,a,r)}clearWorldBounds(){return c.__inject__.clearWorldBounds(this.id)}setChatBubble(t,i,a,r,n=this.charset){return c.__inject__.setChatBubble(this.id,t,i,a,r,n)}getDistanceFromPoint(t,i,a){return c.__inject__.getDistanceFromPoint(this.id,t,i,a)}getCustomSkin(){return c.__inject__.getCustomSkin(this.id)}getTargetPlayer(){const t=c.__inject__.getTargetPlayer(this.id);return c.getInstance(t)}getLastShotVectors(){return c.__inject__.getLastShotVectors(this.id)}getWeapon(){return c.__inject__.getWeapon(this.id)}getWeaponData(t){return c.__inject__.getWeaponData(this.id,t)}getWeaponState(){return c.__inject__.getWeaponState(this.id)}giveWeapon(t,i){return c.__inject__.giveWeapon(this.id,t,i)}setAmmo(t,i){return c.__inject__.setAmmo(this.id,t,i)}getAmmo(){return c.__inject__.getAmmo(this.id)}setArmedWeapon(t){return c.__inject__.setArmedWeapon(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(l.PLAYER_ID,l.PLAYER_ID,mt.CONNECT)}sendDeathMessage(t,i){return c.__inject__.sendDeathMessage(t===l.PLAYER_ID?t:t.id,this.id,i)}sendDeathMessageToPlayer(t,i,a){return c.__inject__.sendDeathMessageToPlayer(this.id,t===l.PLAYER_ID?t:t.id,i===l.PLAYER_ID?i:i.id,a)}setSpawnInfo(t,i,a,r,n,s,o,_,d,h,g,I){return t<0||t>l.NO_TEAM||i<0||i>311||i===74||_<0||h<0||I<0?!1:c.__inject__.setSpawnInfo(this.id,t,i,a,r,n,s,o,_,d,h,g,I)}redirectDownload(t){return c.__inject__.redirectDownload(this.id,t)}sendClientCheck(t,i,a,r){const n=[2,5,69,70,71,72];if(!n.includes(t))throw new Error(`[Player]: sendClientCheck valid types are ${n.toString()}`);return new Promise((s,o)=>{if(this.isPaused)return o("[Player]: An attempt to check player client response, but player paused game");const _="[Player]: An attempt to check player client response timed out",d=this.getPing(),h=(d>=200?0:d)+200;let g=null;const I=Fi(({player:C,actionId:y,memAddr:L,data:j,next:J})=>(C!==this||(g&&(clearTimeout(g),g=null),s({actionId:y,memAddr:L,data:j})),J()));g=setTimeout(()=>{I(),o(_)},h),c.__inject__.sendClientCheck(this.id,t,i,a,r)})}selectTextDraw(t){c.__inject__.selectTextDraw(this.id,t)}cancelSelectTextDraw(){c.__inject__.cancelSelectTextDraw(this.id)}beginObjectSelecting(){return c.__inject__.beginObjectSelecting(this.id)}endObjectEditing(){return c.__inject__.endObjectEditing(this.id)}getSurfingObject(){const t=c.__inject__.getSurfingObjectID(this.id);if(t!==l.OBJECT_ID)return S.getInstance(t)}getSurfingPlayerObject(){const t=c.__inject__.getSurfingPlayerObjectID(this.id);if(t!==l.OBJECT_ID)return S.getInstance(t,this)}isAttachedObjectSlotUsed(t){return c.__inject__.isAttachedObjectSlotUsed(this.id,t)}editAttachedObject(t){return c.__inject__.editAttachedObject(this.id,t)}setAttachedObject(t,i,a,r=0,n=0,s=0,o=0,_=0,d=0,h=1,g=1,I=1,C=0,y=0){return this.isAttachedObjectSlotUsed(t)?0:c.__inject__.setAttachedObject(this.id,t,i,a,r,n,s,o,_,d,h,g,I,C,y)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?c.__inject__.removeAttachedObject(this.id,t):!1}getAnimationFlags(){return samp.callNative("GetPlayerAnimationFlags","i",this.id)}getLastSyncedTrailerID(){return samp.callNative("GetPlayerLastSyncedTrailerID","i",this.id)}getLastSyncedVehicleID(){return samp.callNative("GetPlayerLastSyncedVehicleID","i",this.id)}toggleWidescreen(t){return c.__inject__.toggleWidescreen(this.id,t)}isWidescreenToggled(){return c.__inject__.isWidescreenToggled(this.id)}getSpawnInfo(){return c.__inject__.getSpawnInfo(this.id)}getSkillLevel(t){return c.__inject__.getSkillLevel(this.id,t)}isCheckpointActive(){return c.__inject__.isCheckpointActive(this.id)}getCheckpoint(){return c.__inject__.getCheckpoint(this.id)}isRaceCheckpointActive(){return c.__inject__.isRaceCheckpointActive(this.id)}getRaceCheckpoint(){return c.__inject__.getRaceCheckpoint(this.id)}getWorldBounds(){return c.__inject__.getWorldBounds(this.id)}isInModShop(){return c.__inject__.isInModShop(this.id)}getSirenState(){return c.__inject__.getSirenState(this.id)}getLandingGearState(){return c.__inject__.getLandingGearState(this.id)}getHydraReactorAngle(){return c.__inject__.getHydraReactorAngle(this.id)}getTrainSpeed(){return c.__inject__.getTrainSpeed(this.id)}getZAim(){return c.__inject__.getZAim(this.id)}getSurfingOffsets(){return c.__inject__.getSurfingOffsets(this.id)}getRotationQuat(){return c.__inject__.getRotationQuat(this.id)}getDialogID(){return c.__inject__.getDialogID(this.id)}getSpectateID(){return c.__inject__.getSpectateID(this.id)}getSpectateType(){return c.__inject__.getSpectateType(this.id)}getRawIp(){return c.__inject__.getRawIp(this.id)}setGravity(t){return c.__inject__.setGravity(this.id,t)}getGravity(){return c.__inject__.getGravity(this.id)}setAdmin(t){return c.__inject__.setAdmin(this.id,t)}isSpawned(){return c.__inject__.isSpawned(this.id)}isControllable(){return c.__inject__.isControllable(this.id)}isCameraTargetEnabled(){return c.__inject__.isCameraTargetEnabled(this.id)}toggleGhostMode(t){return c.__inject__.toggleGhostMode(this.id,t)}getGhostMode(){return c.__inject__.getGhostMode(this.id)}getBuildingsRemoved(){return c.__inject__.getBuildingsRemoved(this.id)}getAttachedObject(t){return c.__inject__.getAttachedObject(this.id,t)}removeWeapon(t){return c.__inject__.removeWeapon(this.id,t)}isUsingOfficialClient(){return c.__inject__.isUsingOfficialClient(this.id)}allowWeapons(t){return c.__inject__.allowWeapons(this.id,t)}areWeaponsAllowed(){return c.__inject__.areWeaponsAllowed(this.id)}gpci(t=this.charset){return c.__inject__.gpci(this.id,t)}isCuffed(){return c.__inject__.isCuffed(this.id)}isInDriveByMode(){return c.__inject__.isInDriveByMode(this.id)}isAndroid(){return this.isConnected()&&this[B].isAndroid}isPC(){return this.isConnected()&&!this[B].isAndroid}isUsingOmp(){return c.__inject__.isUsingOmp(this.id)}simulateCommand(t){return te.simulate(this,t)}static getInstance(t){return oe.get(t)}static getInstances(){return[...oe.values()]}static __inject__={sendClientMessage:vi,sendClientMessageToAll:PI,sendMessageToPlayer:bi,sendMessageToAll:pI,banEx:CI,getName:SI,setName:yI,setChatBubble:wI,isNpc:Io,getDrunkLevel:Ho,setDrunkLevel:Uo,allowTeleport:co,isTeleportAllowed:ho,enableCameraTarget:cc,enableStuntBonus:k_,getInterior:bo,setInterior:vo,showNameTag:tc,setColor:Wo,getColor:Ko,setMapIcon:ic,removeMapIcon:ac,setMarker:q_,getMarker:ec,resetMoney:qo,getMoney:e_,giveMoney:Qo,resetWeapons:zo,spawn:fl,setHealth:Lo,getHealth:wo,toggleClock:l_,toggleControllable:L_,toggleSpectating:K_,spectatePlayer:X_,spectateVehicle:Z_,forceClassSelection:__,kick:bl,ban:Ll,isAdmin:Tl,isInRangeOfPoint:No,isStreamedIn:To,setSkin:Xo,getSkin:Zo,isInAnyVehicle:J_,getSpecialAction:j_,setSpecialAction:F_,setScore:ko,getScore:xo,getPing:i_,setPos:So,getPos:Co,getState:t_,getVersion:xl,setVirtualWorld:V_,getVirtualWorld:B_,removeFromVehicle:b_,setWantedLevel:c_,getWantedLevel:d_,setFacingAngle:Eo,getFacingAngle:Ao,setWeather:o_,getWeather:Kl,setTime:n_,getTime:s_,removeBuilding:A_,setTeam:Vo,getTeam:Bo,setSkillLevel:S_,setVelocity:g_,getVelocity:m_,getKeys:r_,getIp:kl,getFightingStyle:u_,setFightingStyle:h_,setArmour:Ro,getArmour:Oo,setCameraBehind:sc,setCameraPos:rc,setCameraLookAt:nc,getCameraAspectRatio:mc,getCameraFrontVector:oc,getCameraMode:_c,getCameraPos:lc,getCameraTargetPlayer:uc,getCameraTargetVehicle:hc,getCameraTargetActor:gc,getCameraTargetObject:dc,getCameraTargetPlayerObject:Mp,getCameraZoom:fc,playAudioStream:P_,stopAudioStream:p_,playSound:w_,getMaxPlayers:Vs,playCrimeReport:f_,interpolateCameraPos:Ic,interpolateCameraLookAt:Sc,createExplosion:H_,isConnected:Y_,disableRemoteVehicleCollisions:M_,getVehicleID:T_,getVehicleSeat:v_,getSurfingVehicleID:y_,applyAnimation:R_,clearAnimations:O_,getAnimationIndex:G_,setShopName:I_,setPosFindZ:yo,setWorldBounds:$_,clearWorldBounds:Q_,getDistanceFromPoint:Do,getCustomSkin:x_,getTargetPlayer:Mo,getLastShotVectors:N_,getWeapon:a_,getWeaponData:$o,getWeaponState:Fo,giveWeapon:Yo,setAmmo:Go,getAmmo:jo,setArmedWeapon:Jo,sendDeathMessage:Ms,sendDeathMessageToPlayer:Po,setSpawnInfo:ml,redirectDownload:Ip,sendClientCheck:Fl,selectTextDraw:Qf,cancelSelectTextDraw:qf,beginObjectSelecting:gp,endObjectEditing:Ni,getSurfingObjectID:C_,getSurfingPlayerObjectID:E_,isAttachedObjectSlotUsed:Np,editAttachedObject:ep,setAttachedObject:Ep,removeAttachedObject:Ap,toggleWidescreen:Hl,isWidescreenToggled:Ul,getSpawnInfo:Pl,getSkillLevel:Wl,isCheckpointActive:Si,getCheckpoint:yi,isRaceCheckpointActive:Ci,getRaceCheckpoint:Ei,getWorldBounds:Xl,isInModShop:Gg,getSirenState:jg,getLandingGearState:Fg,getHydraReactorAngle:Mg,getTrainSpeed:Vg,getZAim:Zl,getSurfingOffsets:Yl,getRotationQuat:zl,getDialogID:Jl,getSpectateID:$l,getSpectateType:Ql,getRawIp:Bl,setGravity:ql,getGravity:eo,setAdmin:vl,isSpawned:to,isControllable:io,isCameraTargetEnabled:ao,toggleGhostMode:ro,getGhostMode:no,getBuildingsRemoved:so,getAttachedObject:Cp,removeWeapon:lo,isUsingOfficialClient:_o,allowWeapons:uo,areWeaponsAllowed:go,gpci:jl,isCuffed:yc,isInDriveByMode:Cc,isUsingOmp:Ec}}const[Mi]=m({name:"OnDialogResponseI18n",identifier:"iiiiai",defaultValue:!1,beforeEach(e,t,i,a,r){const n=c.getInstance(e),s=E.decodeFromBuf(r,n.charset);return{player:n,dialogId:t,response:i,listItem:a,buffer:r,inputText:s}}});Mi(({next:e,player:t,dialogId:i,response:a,listItem:r,buffer:n,inputText:s})=>{const o=U.waitingQueue.get(t);return!o||o.showId!==i||o.resolve({response:a,listItem:r,buffer:n,inputText:s}),e()});class U{_id=-1;static showingIds=[];static maxDialogId=32767;dialog;static waitingQueue=new WeakMap;constructor(t={style:dt.MSGBOX,caption:"",info:"",button1:"",button2:""}){this.dialog=t}get style(){return this.dialog.style}set style(t){this.dialog.style=t}get caption(){return this.dialog.caption}set caption(t){this.dialog.caption=t}get info(){return this.dialog.info}set info(t){this.dialog.info=t}get button1(){return this.dialog.button1}set button1(t){this.dialog.button1=t}get button2(){return this.dialog.button2}set button2(t){this.dialog.button2=t}static delDialogTask(t,i=!1){const a=U.waitingQueue.get(t);if(!a)return!1;i&&a.reject("[Dialog]: player timeout does not respond or second request show dialog"),U.waitingQueue.delete(t);const r=U.showingIds.indexOf(a.showId);return r>-1&&U.showingIds.splice(r,1),!0}show(t){return new Promise((i,a)=>{for(U.close(t);this._id===-1||U.showingIds.includes(this._id);){if(U.showingIds.length>=U.maxDialogId){this._id=-1;break}this._id=Math.floor(Math.random()*(U.maxDialogId+1))}if(this._id===-1){a("[Dialog]: Unable to create dialog");return}U.showingIds.push(this._id),U.waitingQueue.set(t,{resolve:i,reject:a,showId:this._id}),U.__inject__.show(t,this._id,this.dialog)}).catch(i=>Promise.reject(i)).finally(()=>U.delDialogTask(t))}static close(t){U.delDialogTask(t,!0),U.__inject__.hide(t.id)}static __inject__={show:II,hide:oo}}const[Vi]=m({name:"OnPlayerConnect",identifier:"i",beforeEach(e){const t=new c(e);return oe.set(e,t),U.close(t),{player:t}}}),[Bi]=m({name:"OnPlayerDisconnect",identifier:"ii",beforeEach(e,t){return{player:oe.get(e),reason:t}},afterEach({player:e}){oe.delete(e.id)}}),[ki]=m({name:"OnPlayerUpdate",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[yS]=m({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const i=c.getInstance(e);return{player:i,text:E.decodeFromBuf(t,i.charset),buffer:t}}}),[CS]=m({name:"OnPlayerEnterExitModShop",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),enterExit:t,interior:i}}}),[ES]=m({name:"OnPlayerClickMap",identifier:"ifff",defaultValue:!1,beforeEach(e,t,i,a){return{player:c.getInstance(e),fX:t,fY:i,fZ:a}}}),[AS]=m({name:"OnPlayerClickPlayer",identifier:"iii",defaultValue:!1,beforeEach(e,t,i){return{player:c.getInstance(e),clickedPlayer:c.getInstance(t),source:i}}}),[NS]=m({name:"OnPlayerDeath",identifier:"iii",beforeEach(e,t,i){const a=c.getInstance(t)||l.PLAYER_ID;return{player:c.getInstance(e),killer:a,reason:i}}}),[DS]=m({name:"OnPlayerGiveDamage",identifier:"iiiii",defaultValue:!1,beforeEach(e,t,i,a,r){return{player:c.getInstance(e),damage:c.getInstance(t),amount:i,weapon:a,bodyPart:r}}}),[TS]=m({name:"OnPlayerKeyStateChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newKeys:t,oldKeys:i}}}),[vS]=m({name:"OnPlayerRequestClass",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),classId:t}}}),[bS]=m({name:"OnPlayerRequestSpawn",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[LS]=m({name:"OnPlayerSpawn",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[wS]=m({name:"OnPlayerStateChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newState:t,oldState:i}}}),[RS]=m({name:"OnPlayerStreamIn",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),forPlayer:c.getInstance(t)}}}),[OS]=m({name:"OnPlayerStreamOut",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),forPlayer:c.getInstance(t)}}}),[GS]=m({name:"OnPlayerTakeDamage",identifier:"iiiii",defaultValue:!1,beforeEach(e,t,i,a,r){const n=c.getInstance(t)||l.PLAYER_ID;return{player:c.getInstance(e),damage:n,amount:i,weapon:a,bodyPart:r}}}),[jS]=m({name:"OnPlayerInteriorChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newInteriorId:t,oldInteriorId:i}}}),[FS]=m({name:"OnPlayerRequestDownload",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),type:t,crc:i}}}),[MS]=m({name:"OnPlayerFinishedDownloading",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),virtualWorld:t}}}),[VS]=m({name:"OnPlayerWeaponShot",identifier:"iiiifff",beforeEach(e,t,i,a,r,n,s){return{player:c.getInstance(e),weapon:t,hitType:i,hitId:a,fX:r,fY:n,fZ:s}}});let et=null;const q=new Map,He=new Map;function xi(e){if(!e.isConnected()){q.has(e)&&(clearInterval(q.get(e)),q.delete(e),He.delete(e));return}let t=He.get(e)||1;if(t>=c.MAX_CHECK_ANDROID_DELAY){clearInterval(q.get(e)),q.delete(e),He.delete(e),Nt(e,!0);return}e.sendClientCheck(72,0,0,2).then(({actionId:i})=>{i===72&&(e[B].isAndroid=!1,q.has(e)&&(clearInterval(q.get(e)),q.delete(e),He.delete(e)),Nt(e,!1))}).catch(()=>{}),t++,He.set(e,t)}const[BS,kS]=m({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[xS,HS]=m({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,i,a){return{player:e,pausedAt:t,now:i,diff:a}}}),[US,WS]=m({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,i){return{player:e,newFps:t,oldFps:i}}}),[KS,Nt]=m({name:"OnAndroidCheck",isNative:!1,beforeEach(e,t){return{player:e,result:t}}});Vi(({player:e,next:t})=>{if(!et&&c.getInstances().length&&(et=setInterval(()=>{c.getInstances().filter(a=>{const r=a.getState()!==ze.NONE;return!a.isPaused&&!a.isNpc()&&r}).forEach(a=>{Date.now()-a.lastUpdateTick>1e3&&(a[B].isPaused=!0,kS(a,a.lastUpdateTick))})},500)),e.isNpc())return e[B].isAndroid=!1,t();if(c.SKIP_CHECK_ANDROID)return e[B].isAndroid=!e.isUsingOfficialClient(),Nt(e,e[B].isAndroid),t();xi(e);const i=setInterval(()=>xi(e),1e3);return q.set(e,i),t()}),Bi(({player:e,next:t})=>(et&&c.getInstances().length<=1&&(clearInterval(et),et=null),q.has(e)&&(clearInterval(q.get(e)),q.delete(e),He.delete(e)),t()));function XS(e){if(!c.isConnected(e.id))return;const t=Date.now();if(t-e.lastUpdateFpsTick>=1e3){const i=e.getDrunkLevel();if(i<100){e.setDrunkLevel(2e3),e[B].lastDrunkLevel=2e3,e[B].lastFps=0;return}e[B].lastUpdateFpsTick=t;const a=e.lastFps,r=e.lastDrunkLevel-i-1;e[B].lastFps=r,e[B].lastDrunkLevel=i,WS(e,r,a)}}ki(({player:e,next:t})=>{if(!e.isNpc()){const i=Date.now();e.isPaused&&(e[B].isPaused=!1,HS(e,e.lastUpdateTick,i,i-e.lastUpdateTick)),e[B].lastUpdateTick=i,XS(e)}return t()});const tt=Object.freeze({onConnect:Vi,onDisconnect:Bi,onPause:BS,onResume:xS,onUpdate:ki,onText:yS,onEnterExitModShop:CS,onClickMap:ES,onClickPlayer:AS,onDeath:NS,onGiveDamage:DS,onKeyStateChange:TS,onRequestClass:vS,onRequestSpawn:bS,onSpawn:LS,onStateChange:wS,onStreamIn:RS,onStreamOut:OS,onTakeDamage:GS,onInteriorChange:jS,onRequestDownload:FS,onFinishedDownloading:MS,onCheckResponse:Fi,onCommandReceived:sS,onCommandPerformed:oS,onCommandError:cS,onCommandText:te.on,offCommandText:te.off,onDialogResponse:Mi,onLocaleChange:PS,onCharsetChange:IS,onFpsUpdate:US,onWeaponShot:VS,onAndroidCheck:KS,onCommandTextRaw:uS});x.onExit(({next:e})=>(p.getInstances().forEach(t=>t.destroy()),me.clear(),e()));const[ZS]=m({name:"OnVehicleDamageStatusUpdate",identifier:"ii",defaultValue:!1,beforeEach(e,t){return{vehicle:p.getInstance(e),player:c.getInstance(t)}}}),[YS]=m({name:"OnVehicleDeath",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),killer:c.getInstance(t)}}}),[zS]=m({name:"OnVehicleMod",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),componentId:i}}}),[JS]=m({name:"OnVehiclePaintjob",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),paintjobId:i}}}),[$S]=m({name:"OnVehicleRespray",identifier:"iiii",beforeEach(e,t,i,a){return{player:c.getInstance(e),vehicle:p.getInstance(t),color:[i,a]}}}),[QS]=m({name:"OnVehicleSirenStateChange",identifier:"iii",defaultValue:!1,beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),state:!!i}}}),[qS]=m({name:"OnVehicleSpawn",identifier:"i",beforeEach(e){return{vehicle:p.getInstance(e)}}}),[ey]=m({name:"OnVehicleStreamIn",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),forPlayer:c.getInstance(t)}}}),[ty]=m({name:"OnVehicleStreamOut",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),forPlayer:c.getInstance(t)}}}),[iy]=m({name:"OnPlayerEnterVehicle",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),isPassenger:!!i}}}),[ay]=m({name:"OnPlayerExitVehicle",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),vehicle:p.getInstance(t)}}}),[ry]=m({name:"OnTrailerUpdate",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),vehicle:p.getInstance(t)}}}),[ny]=m({name:"OnUnoccupiedVehicleUpdate",identifier:"iiiffffff",beforeEach(e,t,i,a,r,n,s,o,_){return{vehicle:p.getInstance(e),player:c.getInstance(t),passengerSeat:i,newX:a,newY:r,newZ:n,velX:s,velY:o,velZ:_}}}),sy=Object.freeze({onDamageStatusUpdate:ZS,onDeath:YS,onMod:zS,onPaintjob:JS,onRespray:$S,onSirenStateChange:QS,onSpawn:qS,onStreamIn:ey,onStreamOut:ty,onPlayerEnter:iy,onPlayerExit:ay,onTrailerUpdate:ry,onUnoccupiedUpdate:ny}),[Te]=m({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,i){return{type:e,id:t,forPlayer:c.getInstance(i)}}}),[ve]=m({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,i){return{type:e,id:t,forPlayer:c.getInstance(i)}}}),[ly]=m({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class A{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getTickRate=In;static setTickRate=Sn;static getPlayerTickRate(t){return yn(t.id)}static setPlayerTickRate(t,i=50){return Cn(t.id,i)}static toggleChunkStream=En;static isToggleChunkStream=An;static getChunkTickRate(t,i=-1){return i instanceof c?li(t,i.id):li(t,i)}static setChunkTickRate(t,i,a=-1){return a instanceof c?oi(t,i,a.id):oi(t,i,a)}static getChunkSize=Nn;static setChunkSize=Dn;static getMaxItems=Tn;static setMaxItems=vn;static getVisibleItems(t,i=-1){return i instanceof c?_i(t,i.id):_i(t,i)}static setVisibleItems(t,i,a=-1){return a instanceof c?ci(t,i,a.id):ci(t,i,a)}static getRadiusMultiplier(t,i=-1){return i instanceof c?di(t,i.id):di(t,i)}static setRadiusMultiplier(t,i,a=-1){return a instanceof c?hi(t,i,a.id):hi(t,i,a)}static getTypePriority=bn;static setTypePriority=Ln;static getCellDistance=wn;static setCellDistance=Rn;static getCellSize=On;static setCellSize=Gn;static toggleItemStatic=jn;static isToggleItemStatic=Fn;static toggleItemInvAreas=Mn;static isToggleItemInvAreas=Vn;static toggleItemCallbacks=Bn;static isToggleItemCallbacks=kn;static toggleErrorCallback=xn;static isToggleErrorCallback=Hn;static amxUnloadDestroyItems=Un;static processActiveItems=Wn;static toggleIdleUpdate(t,i){return Kn(t.id,i)}static isToggleIdleUpdate(t){return Xn(t.id)}static toggleCameraUpdate(t,i){return Zn(t.id,i)}static isToggleCameraUpdate(t){return Yn(t.id)}static toggleItemUpdate(t,i,a){return zn(t.id,i,a)}static isToggleItemUpdate(t,i){return Jn(t.id,i)}static getLastUpdateTime(){return $n()}static update(t,i=-1){return Qn(t.id,i)}static updateEx(t,i,a,r,n,s,o,_,d){return qn(t.id,i,a,r,n,s,o,_,d)}static getDistanceToItem=Er;static toggleItem(t,i,a,r){return Ar(t.id,i,a,r)}static isToggleItem(t,i,a){return Nr(t.id,i,a)}static toggleAllItems(t,i,a,r=[-1]){return Dr(t.id,i,a,r)}static getItemInternalID(t,i,a){return Tr(t.id,i,a)}static getItemStreamerID(t,i,a){return vr(t.id,i,a)}static isItemVisible(t,i,a){return br(t.id,i,a)}static destroyAllVisibleItems(t,i,a=1){return Lr(t.id,i,a)}static countVisibleItems(t,i,a=1){return wr(t.id,i,a)}static destroyAllItems=Rr;static countItems=Or;static getNearbyItems=Gr;static getAllVisibleItems(t,i,a){return jr(t.id,i,a)}static getItemPos=Fr;static setItemPos=Mr;static getItemOffset=Vr;static setItemOffset=Br;static getFloatData=Qa;static setFloatData=qa;static getIntData=er;static setIntData=tr;static getArrayData=ir;static setArrayData=ar;static isInArrayData=rr;static appendArrayData=nr;static removeArrayData=sr;static getArrayDataLength=si;static getUpperBound=lr;static onPluginError=ly}class R{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=R.getInstance(t);if(i)return i;this._id=t,pe.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerObject]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerObject]: Unable to create with only id");let{streamDistance:t,drawDistance:i,worldId:a,interiorId:r,playerId:n,areaId:s,priority:o}=this.sourceInfo;const{modelId:_,x:d,y:h,z:g,rx:I,ry:C,rz:y,extended:L}=this.sourceInfo;return t??=V.OBJECT_SD,i??=V.OBJECT_DD,o??=0,L?(typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=R.__inject__.createEx(_,d,h,g,I,C,y,t,i,a,r,n,s,o)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=R.__inject__.create(_,d,h,g,I,C,y,a,r,n,t,i,s,o)),pe.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerObject]: Unable to destroy object before create");return D.skip||R.__inject__.destroy(this.id),pe.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:R.isValid(this.id)}getModel(){return this.sourceInfo?this.sourceInfo.modelId:A.getIntData(T.OBJECT,this._id,le.MODEL_ID)}getPos(){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot get position before create");return R.__inject__.getPos(this.id)}setPos(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot set position before create");return R.__inject__.setPos(this.id,t,i,a)}getRot(){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot get rotation before create");return R.__inject__.getRot(this.id)}setRot(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot set rotation before create");return R.__inject__.setRot(this.id,t,i,a)}move(t,i,a,r,n=-1e3,s=-1e3,o=-1e3){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot start moving before create");if(r<0)throw new Error("[StreamerObject]: speed must not be less than 0");if(r>120*1e3)throw new Error("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional");return this.isMoving()&&this.stop(),R.__inject__.move(this.id,t,i,a,r,n,s,o)}stop(){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot stop moving before create");return R.__inject__.stop(this.id)}isMoving(){return this.id===P.INVALID_ID?!1:R.__inject__.isMoving(this.id)}attachCamera(t){if(this.id===P.INVALID_ID||t.id===l.PLAYER_ID)throw new Error("[StreamerObject]: Cannot attachCamera before both are created");return R.__inject__.attachCamera(t.id,this.id)}attachToObject(t,i,a,r,n,s,o,_=!0){if(this.id===P.INVALID_ID||t.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot attachToObject before both are created");return R.__inject__.attachToObject(this.id,t.id,i,a,r,n,s,o,_)}attachToPlayer(t,i,a,r,n,s,o){if(this.id===P.INVALID_ID||t.id===l.PLAYER_ID)throw new Error("[StreamerObject]: Cannot attachToPlayer before both are created");return R.__inject__.attachToPlayer(this.id,t.id,i,a,r,n,s,o)}attachToVehicle(t,i,a,r,n,s,o){if(this.id===P.INVALID_ID||t.id===l.VEHICLE_ID)throw new Error("[StreamerObject]: Cannot attachToVehicle before both are created");return R.__inject__.attachToVehicle(this.id,t.id,i,a,r,n,s,o)}edit(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to edit before create");return t.endObjectEditing(),R.__inject__.edit(t.id,this.id)}isMaterialUsed(t){return this.id===P.INVALID_ID?!1:R.__inject__.isMaterialUsed(this.id,t)}removeMaterial(t){return this.id===P.INVALID_ID||!this.isMaterialUsed(t)?0:R.__inject__.removeMaterial(this.id,t)}getMaterial(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to get material before create");return R.__inject__.getMaterial(this.id,t)}setMaterial(t,i,a,r,n="#000"){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to set material before create");return R.__inject__.setMaterial(this.id,t,i,a,r,N(n))}isMaterialTextUsed(t){return this.id===P.INVALID_ID?!1:R.__inject__.isMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.id===P.INVALID_ID||!this.isMaterialTextUsed(t)?0:R.__inject__.removeMaterialText(this.id,t)}getMaterialText(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to get material text before create");return R.__inject__.getMaterialText(this.id,t,this.sourceInfo?.charset||"utf8")}setMaterialText(t=this.sourceInfo?.charset,i,a,r=st.SIZE_256x128,n="Arial",s=24,o=1,_="#fff",d="#000",h=0){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to set material text before create");return this.sourceInfo&&(this.sourceInfo.charset=t),R.__inject__.setMaterialText(t||"utf8",this.id,i,a,r,n,s,o,N(_),N(d),h)}getPlayerCameraTarget(t){const i=R.__inject__.getPlayerCameraTarget(t.id);if(i!==P.INVALID_ID)return pe.get(i)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Unable to toggle callbacks before create");return A.toggleItemCallbacks(T.OBJECT,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:A.isToggleItemCallbacks(T.OBJECT,this.id)}setNoCameraCollision(){return R.__inject__.setNoCameraCol(this.id)}getNoCameraCollision(){return R.__inject__.getNoCameraCol(this.id)}static isValid=Hr;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.OBJECT,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return pe.get(t)}static getInstances(){return[...pe.values()]}static __inject__={createEx:dr,create:kr,destroy:xr,getPos:Ur,setPos:Wr,getRot:Kr,setRot:Xr,move:Zr,stop:Yr,isMoving:zr,attachCamera:Jr,attachToObject:$r,attachToPlayer:Qr,attachToVehicle:qr,edit:en,isMaterialUsed:tn,removeMaterial:an,getMaterial:bI,setMaterial:rn,isMaterialTextUsed:nn,removeMaterialText:sn,getMaterialText:LI,setMaterialText:vI,getPlayerCameraTarget:ln,setNoCameraCol:on,getNoCameraCol:_n}}x.onExit(({next:e})=>(R.getInstances().forEach(t=>t.destroy()),pe.clear(),e()));const[oy,_y]=m({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[cy,dy]=m({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.OBJECT?_y(i,R.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.OBJECT?dy(i,R.getInstance(t)):a());const[hy]=m({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:R.getInstance(e)}}}),[uy]=m({name:"OnPlayerEditDynamicObject",identifier:"iiiffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_){return{player:c.getInstance(e),object:R.getInstance(t),response:i,x:a,y:r,z:n,rX:s,rY:o,rZ:_}}}),[gy]=m({name:"OnPlayerSelectDynamicObject",identifier:"iiifff",beforeEach(e,t,i,a,r,n){return{player:c.getInstance(e),object:R.getInstance(t),modelId:i,x:a,y:r,z:n}}}),[my]=m({name:"OnPlayerShootDynamicObject",identifier:"iiifff",beforeEach(e,t,i,a,r,n){return{player:c.getInstance(e),object:R.getInstance(i),weapon:t,x:a,y:r,z:n}}}),fy=Object.freeze({onMoved:hy,onPlayerEdit:uy,onPlayerSelect:gy,onPlayerShoot:my,onStreamIn:oy,onStreamOut:cy});class ne{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===P.INVALID_ID)throw new Error("[StreamerMapIcon]: Invalid id");const i=ne.getInstance(t);if(i)return i;this._id=t,ye.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerMapIcon]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerMapIcon]: Unable to create with only id");let{style:t,streamDistance:i,worldId:a,interiorId:r,playerId:n,areaId:s,priority:o}=this.sourceInfo;const{x:_,y:d,z:h,type:g,color:I,extended:C}=this.sourceInfo;if(g<0||g>63)throw new Error("[StreamerMapIcon]: Invalid map icon type");return t??=ot.LOCAL,i??=V.MAP_ICON_SD,o??=0,C?(typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=ne.__inject__.createEx(_,d,h,g,N(I),t,i,a,r,n,s,o),ye.set(this._id,this),this):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=ne.__inject__.create(_,d,h,g,N(I),a,r,n,i,t,s,o),ye.set(this._id,this),this)}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerMapIcon]: Unable to destroy the map icon before create");return D.skip||ne.__inject__.destroy(this.id),ye.delete(this._id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:ne.isValid(this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerMapIcon]: Unable to toggle callbacks before create");return A.toggleItemCallbacks(T.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:A.isToggleItemCallbacks(T.MAP_ICON,this.id)}static isValid=cr;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.MAP_ICON,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return ye.get(t)}static getInstances(){return[...ye.values()]}static __inject__={createEx:mr,create:or,destroy:_r}}x.onExit(({next:e})=>(ne.getInstances().forEach(t=>t.destroy()),ye.clear(),e()));const[Py,py]=m({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Iy,Sy]=m({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.MAP_ICON?py(i,ne.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.MAP_ICON?Sy(i,ne.getInstance(t)):a());const yy=Object.freeze({onStreamIn:Py,onStreamOut:Iy});class ie{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===P.INVALID_ID)throw new Error("[StreamerPickup]: Invalid id");const i=ie.getInstance(t);if(i)return i;this._id=t,Me.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerPickup]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerPickup]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:r,areaId:n,priority:s}=this.sourceInfo;const{type:o,modelId:_,x:d,y:h,z:g,extended:I}=this.sourceInfo;if(o<0)throw new Error("[StreamerPickup]: Invalid pickup type");return t??=V.PICKUP_SD,s??=0,I?(typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],this._id=ie.__inject__.createEx(_,o,d,h,g,t,i,a,r,n,s)):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,this._id=ie.__inject__.create(_,o,d,h,g,i,a,r,t,n,s)),Me.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerPickup]: Unable to destroy pickup before create");return D.skip||ie.__inject__.destroy(this.id),Me.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:ie.isValid(this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerPickup]: Unable to toggle callbacks before create");return A.toggleItemCallbacks(T.PICKUP,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:A.isToggleItemCallbacks(T.PICKUP,this.id)}static isValid=hn;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.PICKUP,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Me.get(t)}static getInstances(){return[...Me.values()]}static __inject__={create:cn,createEx:hr,destroy:dn}}x.onExit(({next:e})=>(ie.getInstances().forEach(t=>t.destroy()),Me.clear(),e()));const[Cy,Ey]=m({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Ay,Ny]=m({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.PICKUP?Ey(i,ie.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.PICKUP?Ny(i,ie.getInstance(t)):a());const[Dy]=m({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:ie.getInstance(t)}}}),Ty=Object.freeze({onPlayerPickUp:Dy,onStreamIn:Cy,onStreamOut:Ay});class K{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===P.INVALID_ID)throw new Error("[StreamerCheckpoint]: Invalid id");const i=K.getInstance(t);if(i)return i;this._id=t,Se.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerCheckpoint]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerCheckpoint]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:r,areaId:n,priority:s}=this.sourceInfo;const{size:o,x:_,y:d,z:h,extended:g}=this.sourceInfo;if(o<0)throw new Error("[StreamerCheckpoint]: Invalid checkpoint size");return t??=V.CP_SD,s??=0,g?(typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],this._id=K.__inject__.createEx(_,d,h,o,t,i,a,r,n,s)):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,this._id=K.__inject__.create(_,d,h,o,i,a,r,t,n,s)),Se.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerCheckpoint]: Unable to destroy the checkpoint before create");return D.skip||K.__inject__.destroy(this.id),Se.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:K.isValid(this.id)}togglePlayer(t,i){if(this.id===P.INVALID_ID)throw new Error("[StreamerCheckpoint]: Unable to toggle the player before create");return K.__inject__.togglePlayer(t.id,this.id,i),this}isPlayerIn(t){return this.id===P.INVALID_ID?!1:K.__inject__.isPlayerIn(t.id,this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerCheckpoint]: Unable to toggle callbacks before create");return A.toggleItemCallbacks(T.CP,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:A.isToggleItemCallbacks(T.CP,this.id)}static isValid=ft;static togglePlayerAll(t,i){return K.__inject__.togglePlayerAll(t.id,i)}static getPlayerVisible(t){return Se.get(K.__inject__.getPlayerVisible(t.id))}static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.CP,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Se.get(t)}static getInstances(){return[...Se.values()]}static __inject__={create:Xa,createEx:ur,destroy:Za,getPlayerVisible:$a,isPlayerIn:Ja,togglePlayerAll:za,togglePlayer:Ya}}x.onExit(({next:e})=>(K.getInstances().forEach(t=>t.destroy()),Se.clear(),e()));const[vy,by]=m({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Ly,wy]=m({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.CP?by(i,K.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.CP?wy(i,K.getInstance(t)):a());const[Ry]=m({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),cp:K.getInstance(t)}}}),[Oy]=m({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),cp:K.getInstance(t)}}}),Gy=Object.freeze({onPlayerEnter:Ry,onPlayerLeave:Oy,onStreamIn:vy,onStreamOut:Ly});class X{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===P.INVALID_ID)throw new Error("[StreamerRaceCP]: Invalid id");const i=X.getInstance(t);if(i)return i;this._id=t,Ce.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerRaceCP]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerRaceCP]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:r,areaId:n,priority:s}=this.sourceInfo;const{type:o,size:_,x:d,y:h,z:g,nextX:I,nextY:C,nextZ:y,extended:L}=this.sourceInfo;if(o<0||o>8)throw new Error("[StreamerRaceCP]: Invalid type");if(_<0)throw new Error("[StreamerRaceCP]: Invalid size");return t??=V.RACE_CP_SD,s??=0,L?(typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],this._id=X.__inject__.createEx(o,d,h,g,I,C,y,_,t,i,a,r,n,s)):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,this._id=X.__inject__.create(o,d,h,g,I,C,y,_,i,a,r,t,n,s)),Ce.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerRaceCP]: Unable to destroy the checkpoint before create");return D.skip||X.__inject__.destroy(this.id),Ce.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:X.isValid(this.id)}togglePlayer(t,i){if(this.id===P.INVALID_ID)throw new Error("[StreamerRaceCP]: Unable to toggle player before create");return X.__inject__.togglePlayer(t.id,this.id,i),this}static togglePlayerAll(t,i){return X.__inject__.togglePlayerAll(t.id,i)}isPlayerIn(t){return this.id===P.INVALID_ID?!1:X.__inject__.isPlayerIn(t.id,this.id)}static getPlayerVisible(t){return Ce.get(X.__inject__.getPlayerVisible(t.id))}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerRaceCP]: Unable to toggle callbacks before create");return A.toggleItemCallbacks(T.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:A.isToggleItemCallbacks(T.RACE_CP,this.id)}static isValid=ft;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.RACE_CP,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Ce.get(t)}static getInstances(){return[...Ce.values()]}static __inject__={create:un,createEx:gr,destroy:gn,getPlayerVisible:pn,isPlayerIn:Pn,isValid:ft,togglePlayerAll:fn,togglePlayer:mn}}x.onExit(({next:e})=>(X.getInstances().forEach(t=>t.destroy()),Ce.clear(),e()));const[jy,Fy]=m({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[My,Vy]=m({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.RACE_CP?Fy(i,X.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.RACE_CP?Vy(i,X.getInstance(t)):a());const[By]=m({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),raceCP:X.getInstance(t)}}}),[ky]=m({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),raceCp:X.getInstance(t)}}}),xy=Object.freeze({onPlayerEnter:By,onPlayerLeave:ky,onStreamIn:jy,onStreamOut:My});class G{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===P.INVALID_ID)throw new Error("[StreamerActor]: Invalid id");const i=G.getInstance(t);if(i)return i;this._id=t,he.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerActor]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerActor]: Unable to create with only id");let{streamDistance:t,worldId:i,interiorId:a,playerId:r,areaId:n,priority:s}=this.sourceInfo;const{modelId:o,x:_,y:d,z:h,r:g,invulnerable:I,health:C,extended:y}=this.sourceInfo;return t??=V.ACTOR_SD,s??=0,y?(typeof i=="number"?i=[0]:i??=[0],typeof a=="number"?a=[-1]:a??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof n=="number"?n=[-1]:n??=[-1],this._id=G.__inject__.createEx(o,_,d,h,g,I,C,t,i,a,r,n,s)):(Array.isArray(i)?i=0:i??=0,Array.isArray(a)?a=-1:a??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(n)?n=-1:n??=-1,this._id=G.__inject__.create(o,_,d,h,g,I,C,i,a,r,t,n,s)),he.set(this.id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerActor]: Unable to destroy to actor before create");return D.skip||G.__inject__.destroy(this.id),he.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:G.isValid(this.id)}isStreamedIn(t){return this.id===P.INVALID_ID?!1:G.__inject__.isStreamedIn(this.id,t.id)}getVirtualWorld(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to get virtual world before create");return G.__inject__.getVirtualWorld(this.id)}setVirtualWorld(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to set virtual world before create");return G.__inject__.setVirtualWorld(this.id,t)}applyAnimation(t,i,a=4.1,r=!1,n=!0,s=!0,o=!1,_=0){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to apply animation before create");if(!yt(t,i))throw new Error(`[StreamerActor]: Invalid anim library or name ${t} ${i}`);return G.__inject__.applyAnimation(this.id,t,i,a,r,n,s,o,_)}clearAnimations(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to clear animation before create");return G.__inject__.clearAnimations(this.id)}getFacingAngle(){return G.__inject__.getFacingAngle(this.id)}setFacingAngle(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to set facing angle before create");return G.__inject__.setFacingAngle(this.id,t)}getPos(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to get pos before create");return G.__inject__.getPos(this.id)}setPos(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to set pos before create");return G.__inject__.setPos(this.id,t,i,a)}getHealth(){return G.__inject__.getHealth(this.id)}setHealth(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to set health before create");return G.__inject__.setHealth(this.id,t)}isInvulnerable(){return this.id===P.INVALID_ID?!1:G.__inject__.isInvulnerable(this.id)}setInvulnerable(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to set invulnerable before create");return G.__inject__.setInvulnerable(this.id,t)}getPlayerTarget(t){const i=G.__inject__.getPlayerTarget(t.id);return he.get(i)}getPlayerCameraTarget(t){const i=G.__inject__.getPlayerCameraTarget(t.id);return he.get(i)}getAnimation(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to get animation before create");return G.__inject__.getAnimation(this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Unable to toggle callbacks before create");return A.toggleItemCallbacks(T.ACTOR,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:A.isToggleItemCallbacks(T.ACTOR,this.id)}static isValid=aa;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.ACTOR,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return he.get(t)}static getInstances(){return[...he.values()]}static __inject__={createEx:Cr,create:ta,destroy:ia,getPlayerTarget:Pa,getPlayerCameraTarget:pa,isStreamedIn:ra,getVirtualWorld:na,setVirtualWorld:sa,applyAnimation:la,clearAnimations:oa,getFacingAngle:_a,setFacingAngle:ca,getPos:da,setPos:ha,getHealth:ua,setHealth:ga,isInvulnerable:fa,setInvulnerable:ma,getAnimation:Ia}}x.onExit(({next:e})=>(G.getInstances().forEach(t=>t.destroy()),he.clear(),e()));const[Hy]=m({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:G.getInstance(e),forPlayer:c.getInstance(t)}}}),[Uy]=m({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:G.getInstance(e),forPlayer:c.getInstance(t)}}}),[Wy]=m({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",defaultValue:!1,beforeEach(e,t,i,a,r){return{player:c.getInstance(e),actor:G.getInstance(t),amount:i,weapon:a,bodyPart:r}}}),Ky=Object.freeze({onStreamIn:Hy,onStreamOut:Uy,onPlayerGiveDamage:Wy});class ee{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Invalid id");const i=ee.getInstance(t);if(i)return i;this._id=t,Fe.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Unable to create again");if(!this.sourceInfo)throw new Error("[Streamer3DTextLabel]: Unable to create with only id");let{attachedPlayer:t,attachedVehicle:i,testLOS:a,streamDistance:r,worldId:n,interiorId:s,playerId:o,areaId:_,priority:d}=this.sourceInfo;const{charset:h,text:g,color:I,drawDistance:C,x:y,y:L,z:j,extended:J}=this.sourceInfo;return t??=l.PLAYER_ID,i??=l.VEHICLE_ID,r??=V.TEXT_3D_LABEL_SD,a??=!1,d??=0,J?(typeof n=="number"?n=[-1]:n??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof o=="number"?o=[-1]:o??=[-1],typeof _=="number"?_=[-1]:_??=[-1],this._id=ee.__inject__.createEx(g,N(I),y,L,j,C,t,i,a,r,n,s,o,_,d,h||"utf8")):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(o)?o=-1:o??=-1,Array.isArray(_)?_=-1:_??=-1,this._id=ee.__inject__.create(h||"utf8",g,N(I),y,L,j,C,t,i,a,n,s,o,r,_,d)),Fe.set(this.id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[Streamer3DTextLabel]: Unable to destroy before create");return D.skip||ee.__inject__.destroy(this.id),Fe.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:ee.isValid(this.id)}getColor(){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Unable to get color before create");return this.sourceInfo?this.sourceInfo.color:A.getIntData(T.TEXT_3D_LABEL,this._id,le.COLOR)}getCharset(){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Unable to get charset before create");return this.sourceInfo?.charset}getText(){return ee.__inject__.getText(this.id,this.sourceInfo?.charset||"utf8")}updateText(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Unable to update text before create");let r="";return this.sourceInfo&&(r=a||this.sourceInfo.charset||"utf8",this.sourceInfo.charset=r),ee.__inject__.updateText(this.id,N(t),i,r)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Unable to toggle callbacks before create");return A.toggleItemCallbacks(T.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:A.isToggleItemCallbacks(T.TEXT_3D_LABEL,this.id)}setOffsets(t,i,a){if(this.id===P.INVALID_ID)return 0;const r=A.setFloatData(T.TEXT_3D_LABEL,this.id,le.ATTACH_OFFSET_X,t);return A.setFloatData(T.TEXT_3D_LABEL,this.id,le.ATTACH_OFFSET_Y,i),A.setFloatData(T.TEXT_3D_LABEL,this.id,le.ATTACH_OFFSET_Z,a),this.sourceInfo&&(this.sourceInfo.x=t,this.sourceInfo.y=i,this.sourceInfo.z=a),r}attachToPlayer(t,i,a,r){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot attachToPlayer before created");const n=typeof t=="number"?t:t.id,s=A.setIntData(T.TEXT_3D_LABEL,this.id,le.ATTACHED_PLAYER,n);return n!==l.PLAYER_ID&&this.setOffsets(i,a,r),this.sourceInfo&&(this.sourceInfo.attachedPlayer=n),s}attachToVehicle(t,i,a,r){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot attachToVehicle before created");const n=typeof t=="number"?t:t.id,s=A.setIntData(T.TEXT_3D_LABEL,this.id,le.ATTACHED_VEHICLE,n);return n!==l.VEHICLE_ID&&this.setOffsets(i,a,r),this.sourceInfo&&(this.sourceInfo.attachedVehicle=n),s}static isValid=ti;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.TEXT_3D_LABEL,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Fe.get(t)}static getInstances(){return[...Fe.values()]}static __inject__={create:AI,createEx:NI,getText:TI,updateText:DI,destroy:ea,isValid:ti}}x.onExit(({next:e})=>(ee.getInstances().forEach(t=>t.destroy()),Fe.clear(),e()));const[Xy,Zy]=m({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Yy,zy]=m({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.TEXT_3D_LABEL?Zy(i,ee.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.TEXT_3D_LABEL?zy(i,ee.getInstance(t)):a());const Jy=Object.freeze({onStreamIn:Xy,onStreamOut:Yy});class v{sourceInfo=null;_id=P.INVALID_ID;get type(){return this.sourceInfo?.type??void 0}get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===P.INVALID_ID)throw new Error("[StreamerArea]: Invalid id");const i=v.getInstance(t);if(i)return i;this._id=t,Ie.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerArea]: Unable to create again");if(!this.sourceInfo)throw new Error("[StreamerArea]: Unable to create with only id");let{worldId:t,interiorId:i,playerId:a,priority:r}=this.sourceInfo;r??=0;const{type:n,extended:s}=this.sourceInfo;if(s)if(typeof t=="number"?t=[-1]:t??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],n==="circle"){const{x:o,y:_,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid circle extend size");this._id=v.__inject__.createCircleEx(o,_,d,t,i,a,r)}else if(n==="cuboid"){const{minX:o,minY:_,minZ:d,maxX:h,maxY:g,maxZ:I}=this.sourceInfo;this._id=v.__inject__.createCuboidEx(o,_,d,h,g,I,t,i,a,r)}else if(n==="cylinder"){const{x:o,y:_,minZ:d,maxZ:h,size:g}=this.sourceInfo;if(g<0)throw new Error("[StreamerArea]: Invalid cylinder extend size");this._id=v.__inject__.createCylinderEx(o,_,d,h,g,t,i,a,r)}else if(n==="polygon"){const{points:o,minZ:_,maxZ:d}=this.sourceInfo;if(o.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=v.__inject__.createPolygonEx(o,_,d,t,i,a,r)}else if(n==="rectangle"){const{minX:o,minY:_,maxX:d,maxY:h}=this.sourceInfo;this._id=v.__inject__.createRectangleEx(o,_,d,h,t,i,a,r)}else{const{x:o,y:_,z:d,size:h}=this.sourceInfo;if(h<0)throw new Error("[StreamerArea]: Invalid sphere extended size");this._id=v.__inject__.createSphereEx(o,_,d,h,t,i,a,r)}else if(Array.isArray(t)?t=-1:t??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,n==="circle"){const{x:o,y:_,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid circle size");this._id=v.__inject__.createCircle(o,_,d,t,i,a,r)}else if(n==="cuboid"){const{minX:o,minY:_,minZ:d,maxX:h,maxY:g,maxZ:I}=this.sourceInfo;this._id=v.__inject__.createCuboid(o,_,d,h,g,I,t,i,a,r)}else if(n==="cylinder"){const{x:o,y:_,minZ:d,maxZ:h,size:g}=this.sourceInfo;if(g<0)throw new Error("[StreamerArea]: Invalid cylinder size");this._id=v.__inject__.createCylinder(o,_,d,h,g,t,i,a,r)}else if(n==="polygon"){const{points:o,minZ:_,maxZ:d}=this.sourceInfo;if(o.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=v.__inject__.createPolygon(o,_,d,t,i,a,r)}else if(n==="rectangle"){const{minX:o,minY:_,maxX:d,maxY:h}=this.sourceInfo;this._id=v.__inject__.createRectangle(o,_,d,h,t,i,a,r)}else{const{x:o,y:_,z:d,size:h}=this.sourceInfo;if(h<0)throw new Error("[StreamerArea]: Invalid sphere size");this._id=v.__inject__.createSphere(o,_,d,h,t,i,a,r)}return Ie.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerArea]: Unable to destroy the area before create");return D.skip||v.__inject__.destroy(this.id),Ie.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:v.isValid(this.id)}getType(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerArea]: Unable to get type before create");return v.__inject__.getType(this.id)}getPolygonPoints(){return v.__inject__.getPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerArea]: Unable to getPolygonNumberPoints number before create");if(this.type!=="polygon")throw new Error("[StreamerArea]: getPolygonNumberPoints invalid area type");return v.__inject__.getPolygonNumberPoints(this.id)}isPlayerIn(t,i=!1){return this.id===P.INVALID_ID?!1:v.__inject__.isPlayerIn(t.id,this.id,i)}static isPlayerInAny(t,i=!1){return v.__inject__.isPlayerInAny(t.id,i)}isAnyPlayerIn(t=!1){return this.id===P.INVALID_ID?!1:v.__inject__.isAnyPlayerIn(this.id,t)}static isAnyPlayerInAny(t=!1){return v.__inject__.isAnyPlayerInAny(t)}static getPlayerAreas(t){return v.getPlayerAreasNumber(t)?v.__inject__.getPlayerAreas(t.id).areas.map(i=>Ie.get(i)):[]}static getPlayerAreasNumber(t){return v.__inject__.getPlayerAreasNumber(t.id)}isPointIn(t,i,a){return this.id===P.INVALID_ID?!1:v.__inject__.isPointIn(this.id,t,i,a)}static isPointInAny(t,i,a){return v.__inject__.isPointInAny(t,i,a)}isLineIn(t,i,a,r,n,s){return this.id===P.INVALID_ID?!1:v.__inject__.isLineIn(this.id,t,i,a,r,n,s)}static isLineInAny(t,i,a,r,n,s){return v.__inject__.isLineInAny(t,i,a,r,n,s)}static getForPoint(t,i,a){return v.getNumberForPoint(t,i,a)?v.__inject__.getForPoint(t,i,a).areas.map(r=>v.getInstance(r)).filter(Boolean):[]}static getNumberForPoint(t,i,a){return v.__inject__.getNumberForPoint(t,i,a)}static getForLine(t,i,a,r,n,s){return v.getNumberForLine(t,i,a,r,n,s)?v.__inject__.getForLine(t,i,a,r,n,s).areas.map(o=>v.getInstance(o)).filter(Boolean):[]}static getNumberForLine(t,i,a,r,n,s){return v.__inject__.getNumberForLine(t,i,a,r,n,s)}attachToObject(t,i=0,a=0,r=0){if(this.id===P.INVALID_ID||t.id===P.INVALID_ID)throw new Error("[StreamerArea]: Unable to toggle attach to object before create");return v.__inject__.attachToObject(this.id,t.id,nt.DYNAMIC,l.PLAYER_ID,i,a,r)}attachToPlayer(t,i=0,a=0,r=0){if(this.id===P.INVALID_ID||t.id===l.PLAYER_ID)throw new Error("[StreamerArea]: Unable to toggle attach to player before create");return v.__inject__.attachToPlayer(this.id,t.id,i,a,r)}attachToVehicle(t,i=0,a=0,r=0){if(this.id===P.INVALID_ID||t.id===l.VEHICLE_ID)throw new Error("[StreamerArea]: Unable to toggle attach to vehicle before create");return v.__inject__.attachToVehicle(this.id,t.id,i,a,r)}toggleSpectateMode(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerArea]: Unable to toggle spectate mode before create");return v.__inject__.toggleSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===P.INVALID_ID?!1:v.__inject__.isToggleSpectateMode(this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerArea]: Unable to toggle callbacks before create");return A.toggleItemCallbacks(T.AREA,this.id,t)}isToggleCallbacks(){return this.id===P.INVALID_ID?!1:A.isToggleItemCallbacks(T.AREA,this.id)}static isValid=Ta;static togglePlayerUpdate(t,i=!0){return A.toggleItemUpdate(t,T.AREA,i)}static hideForPlayer(t,i=-5e4){return A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,i=-5e4){const a=t.getPos();return a.ret?A.updateEx(t,a.x,a.y,a.z):A.updateEx(t,0,0,i),this.togglePlayerUpdate(t,!0)}static getInstance(t){return Ie.get(t)}static getInstances(){return[...Ie.values()]}static __inject__={createCircleEx:fr,createCuboidEx:Sr,createCylinderEx:Pr,createPolygonEx:yr,createRectangleEx:Ir,createSphereEx:pr,createCircle:Sa,createCuboid:Aa,createCylinder:ya,createPolygon:Na,createRectangle:Ea,createSphere:Ca,destroy:Da,getType:va,getPolygonPoints:ba,getPolygonNumberPoints:ii,isPlayerIn:La,isPlayerInAny:wa,isAnyPlayerIn:Ra,isAnyPlayerInAny:Oa,getPlayerAreas:Ga,getPlayerAreasNumber:ai,isPointIn:ja,isPointInAny:Fa,isLineIn:Ma,isLineInAny:Va,getForPoint:Ba,getNumberForPoint:ri,getForLine:ka,getNumberForLine:ni,attachToObject:xa,attachToPlayer:Ha,attachToVehicle:Ua,toggleSpectateMode:Wa,isToggleSpectateMode:Ka}}x.onExit(({next:e})=>(v.getInstances().forEach(t=>t.destroy()),Ie.clear(),e()));const[$y,Qy]=m({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[qy,eC]=m({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Te(({type:e,id:t,forPlayer:i,next:a})=>e===T.AREA?Qy(i,v.getInstance(t)):a()),ve(({type:e,id:t,forPlayer:i,next:a})=>e===T.AREA?eC(i,v.getInstance(t)):a());const[tC]=m({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),area:v.getInstance(t)}}}),[iC]=m({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),area:v.getInstance(t)}}}),aC=Object.freeze({onStreamIn:$y,onStreamOut:qy,onPlayerEnter:tC,onPlayerLeave:iC});class u{_id=l.NPC_ID;_name="";get id(){return this._id}constructor(t){if(typeof t=="string"&&(this._name=t),typeof t=="number"){if(t===l.NPC_ID)throw new Error("[Npc]: Invalid id");this._id=t;const i=u.getInstance(this._id);if(i)return i;fe.set(this._id,this)}return this}create(){if(this.id!==l.NPC_ID)throw new Error("[Npc]: Unable to create again");return this._id=u.__inject__.create(this._name),this._id!==l.NPC_ID&&(this.getPlayer()||new c(this._id),fe.set(this._id,this)),this}destroy(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to destroy before create");return D.skip||u.__inject__.destroy(this._id),fe.delete(this._id),this._id=l.NPC_ID,this}getPlayer(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getPlayer before create");return c.getInstance(this._id)}getName(){if(this._id===l.NPC_ID)throw new Error("[Npc]: Unable to getName before create");return this._name?this._name:this.getPlayer().getName().name}isValid(){return this.id===l.NPC_ID?!1:D.skip&&this._id!==l.NPC_ID?!0:u.isValid(this._id)}spawn(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to spawn before create");return u.__inject__.spawn(this._id),this}respawn(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to respawn before create");return u.__inject__.respawn(this._id),this}setPos(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setPos before create");return u.__inject__.setPos(this._id,t,i,a),this}setRot(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setRot before create");return u.__inject__.setRot(this._id,t,i,a),this}getRot(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getRot before create");return u.__inject__.getRot(this._id)}setFacingAngle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setFacingAngle before create");return u.__inject__.setFacingAngle(this._id,t),this}getFacingAngle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getFacingAngle before create");return u.__inject__.getFacingAngle(this._id)}setVirtualWorld(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVirtualWorld before create");return u.__inject__.setVirtualWorld(this._id,t),this}getVirtualWorld(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getVirtualWorld before create");return u.__inject__.getVirtualWorld(this._id)}move(t,i,a,r,n=Re.AUTO){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to move before create");return u.__inject__.move(this._id,t,i,a,r,n)}moveToPlayer(t,i,a=Re.AUTO){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to moveToPlayer before create");return u.__inject__.moveToPlayer(this._id,t.id,i,a)}stopMove(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to stopMove before create");return u.__inject__.stopMove(this._id),this}isMoving(){return this.id===l.NPC_ID?!1:u.__inject__.isMoving(this._id)}isMovingToPlayer(t){return this.id===l.NPC_ID?!1:u.__inject__.isMovingToPlayer(this._id,t.id)}setSkin(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSkin before create");return u.__inject__.setSkin(this._id,t),this}getSkin(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getSkin before create");return u.__inject__.getSkin(this._id)}isStreamedIn(t){return this.id===l.NPC_ID?!1:u.__inject__.isStreamedIn(this._id,t.id)}isAnyStreamedIn(){return this.id===l.NPC_ID?!1:u.__inject__.isAnyStreamedIn(this._id)}setInterior(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setInterior before create");return u.__inject__.setInterior(this._id,t),this}getInterior(){return this.id===l.NPC_ID?0:u.__inject__.getInterior(this._id)}setHealth(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setHealth before create");return u.__inject__.setHealth(this._id,t),this}getHealth(){return this.id===l.NPC_ID?0:u.__inject__.getHealth(this._id)}setArmour(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setArmour before create");return u.__inject__.setArmour(this._id,t),this}getArmour(){return this.id===l.NPC_ID?0:u.__inject__.getArmour(this._id)}isDead(){return this.id===l.NPC_ID?!1:u.__inject__.isDead(this._id)}applyAnimation(t,i,a,r,n,s,o,_,d){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to applyAnimation before create");return u.__inject__.applyAnimation(this._id,t,i,a,r,n,s,o,_,d),this}setWeapon(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeapon before create");return u.__inject__.setWeapon(this._id,t),this}getWeapon(){return this.id===l.NPC_ID?0:u.__inject__.getWeapon(this._id)}setAmmo(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setAmmo before create");return u.__inject__.setAmmo(this._id,t),this}getAmmo(){return this.id===l.NPC_ID?0:u.__inject__.getAmmo(this._id)}setKeys(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setKeys before create");return u.__inject__.setKeys(this._id,t,i,a),this}getKeys(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getKeys before create");return u.__inject__.getKeys(this._id)}setWeaponSkillLevel(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponSkillLevel before create");return u.__inject__.setWeaponSkillLevel(this._id,t,i),this}getWeaponSkillLevel(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getWeaponSkillLevel before create");return u.__inject__.getWeaponSkillLevel(this._id,t)}meleeAttack(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to meleeAttack before create");return u.__inject__.meleeAttack(this._id,t,i),this}stopMeleeAttack(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to stopMeleeAttack before create");return u.__inject__.stopMeleeAttack(this._id),this}isMeleeAttacking(){return this.id===l.NPC_ID?!1:u.__inject__.isMeleeAttacking(this._id)}setFightingStyle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setFightingStyle before create");return u.__inject__.setFightingStyle(this._id,t),this}getFightingStyle(){return this.id===l.NPC_ID?ht.NORMAL:u.__inject__.getFightingStyle(this._id)}enableReloading(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to enableReloading before create");return u.__inject__.enableReloading(this._id,t),this}isReloadEnabled(){return this.id===l.NPC_ID?!1:u.__inject__.isReloadEnabled(this._id)}isReloading(){return this.id===l.NPC_ID?!1:u.__inject__.isReloading(this._id)}enableInfiniteAmmo(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to enableInfiniteAmmo before create");return u.__inject__.enableInfiniteAmmo(this._id,t),this}isInfiniteAmmoEnabled(){return this.id===l.NPC_ID?!1:u.__inject__.isInfiniteAmmoEnabled(this._id)}setWeaponState(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponState before create");return u.__inject__.setWeaponState(this._id,t)}getWeaponState(){return this.id===l.NPC_ID?gt.UNKNOWN:u.__inject__.getWeaponState(this._id)}setAmmoInClip(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setAmmoInClip before create");return u.__inject__.setAmmoInClip(this._id,t),this}getAmmoInClip(){return this.id===l.NPC_ID?0:u.__inject__.getAmmoInClip(this._id)}shoot(t,i,a,r,n,s,o,_,d,h,g=Ze.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to shoot before create");return u.__inject__.shoot(this._id,t,i,a,r,n,s,o,_,d,h,g),this}isShooting(){return this.id===l.NPC_ID?!1:u.__inject__.isShooting(this._id)}aimAt(t,i,a,r,n,s,o,_,d,h=Ze.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to aimAt before create");return u.__inject__.aimAt(this._id,t,i,a,r,n,s,o,_,d,h),this}aimAtPlayer(t,i,a,r,n,s,o,_,d,h,g=Ze.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to aimAtPlayer before create");return u.__inject__.aimAtPlayer(this._id,t.id,i,a,r,n,s,o,_,d,h,g),this}stopAim(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to stopAim before create");return u.__inject__.stopAim(this._id),this}isAiming(){return this.id===l.NPC_ID?!1:u.__inject__.isAiming(this._id)}isAimingAtPlayer(t){return this.id===l.NPC_ID?!1:u.__inject__.isAimingAtPlayer(this._id,t.id)}setWeaponAccuracy(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponAccuracy before create");return u.__inject__.setWeaponAccuracy(this._id,t,i),this}getWeaponAccuracy(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponAccuracy(this._id,t)}setWeaponReloadTime(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponReloadTime before create");return u.__inject__.setWeaponReloadTime(this._id,t,i)}getWeaponReloadTime(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponReloadTime(this._id,t)}getWeaponActualReloadTime(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponActualReloadTime(this._id,t)}setWeaponShootTime(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponShootTime before create");return u.__inject__.setWeaponShootTime(this._id,t,i)}getWeaponShootTime(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponShootTime(this._id,t)}setWeaponClipSize(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setWeaponClipSize before create");return u.__inject__.setWeaponClipSize(this._id,t,i)}getWeaponClipSize(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponClipSize(this._id,t)}getWeaponActualClipSize(t){return this.id===l.NPC_ID?0:u.__inject__.getWeaponActualClipSize(this._id,t)}enterVehicle(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to enterVehicle before create");return u.__inject__.enterVehicle(this._id,t.id,i,a),this}exitVehicle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to exitVehicle before create");return u.__inject__.exitVehicle(this._id),this}putInVehicle(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to putInVehicle before create");return u.__inject__.putInVehicle(this._id,t.id,i)}removeFromVehicle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to removeFromVehicle before create");return u.__inject__.removeFromVehicle(this._id)}getVehicle(){return p.getInstance(this.getVehicleID())}getVehicleID(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getVehicle before create");return u.__inject__.getVehicle(this._id)}getVehicleSeat(){return this.id===l.NPC_ID?0:u.__inject__.getVehicleSeat(this._id)}getEnteringVehicle(){return p.getInstance(this.getEnteringVehicleId())}getEnteringVehicleId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getEnteringVehicle before create");return u.__inject__.getEnteringVehicle(this._id)}getEnteringVehicleSeat(){return this.id===l.NPC_ID?0:u.__inject__.getEnteringVehicleSeat(this._id)}isEnteringVehicle(){return this.id===l.NPC_ID?!1:u.__inject__.isEnteringVehicle(this._id)}useVehicleSiren(t=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to useVehicleSiren before create");return u.__inject__.useVehicleSiren(this._id,t)}isVehicleSirenUsed(){return this.id===l.NPC_ID?!1:u.__inject__.isVehicleSirenUsed(this._id)}setVehicleHealth(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVehicleHealth before create");return u.__inject__.setVehicleHealth(this._id,t)}getVehicleHealth(){return this.id===l.NPC_ID?0:u.__inject__.getVehicleHealth(this._id)}setVehicleHydraThrusters(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVehicleHydraThrusters before create");return u.__inject__.setVehicleHydraThrusters(this._id,t)}getVehicleHydraThrusters(){return this.id===l.NPC_ID?0:u.__inject__.getVehicleHydraThrusters(this._id)}setVehicleGearState(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVehicleGearState before create");return u.__inject__.setVehicleGearState(this._id,t)}getVehicleGearState(){return this.id===l.NPC_ID?0:u.__inject__.getVehicleGearState(this._id)}setVehicleTrainSpeed(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVehicleTrainSpeed before create");return u.__inject__.setVehicleTrainSpeed(this._id,t)}getVehicleTrainSpeed(){return this.id===l.NPC_ID?0:u.__inject__.getVehicleTrainSpeed(this._id)}resetAnimation(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to resetAnimation before create");return u.__inject__.resetAnimation(this._id)}setAnimation(t,i,a,r,n,s,o){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setAnimation before create");return u.__inject__.setAnimation(this._id,t,i,a,r,n,s,o)}getAnimation(){return this.id===l.NPC_ID?0:u.__inject__.getAnimation(this._id)}clearAnimations(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to clearAnimations before create");return u.__inject__.clearAnimations(this._id)}setSpecialAction(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSpecialAction before create");return u.__inject__.setSpecialAction(this._id,t)}getSpecialAction(){return this.id===l.NPC_ID?0:u.__inject__.getSpecialAction(this._id)}startPlayback(t,i,a,r,n,s,o,_){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to startPlayback before create");return u.__inject__.startPlayback(this._id,t,i,a,r,n,s,o,_)}startPlaybackEx(t,i,a,r,n,s,o,_){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to startPlaybackEx before create");return u.__inject__.startPlaybackEx(this._id,t.id,i,a,r,n,s,o,_)}stopPlayback(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to stopPlayback before create");return u.__inject__.stopPlayback(this._id)}pausePlayback(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to pausePlayback before create");return u.__inject__.pausePlayback(this._id,t)}isPlayingPlayback(){return this.id===l.NPC_ID?!1:u.__inject__.isPlayingPlayback(this._id)}isPlaybackPaused(){return this.id===l.NPC_ID?!1:u.__inject__.isPlaybackPaused(this._id)}playNode(t,i=at.JOG,a=Re.AUTO,r=0,n=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to playNode before create");return u.__inject__.playNode(this._id,t.id,i,a,r,n)}stopPlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to stopPlayingNode before create");return u.__inject__.stopPlayingNode(this._id)}pausePlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to pausePlayingNode before create");return u.__inject__.pausePlayingNode(this._id)}resumePlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to resumePlayingNode before create");return u.__inject__.resumePlayingNode(this._id)}isPlayingNodePaused(){return this.id===l.NPC_ID?!1:u.__inject__.isPlayingNodePaused(this._id)}isPlayingNode(){return this.id===l.NPC_ID?!1:u.__inject__.isPlayingNode(this._id)}changeNode(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to changeNode before create");return u.__inject__.changeNode(this._id,t.id,i)}updateNodePoint(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to updateNodePoint before create");return u.__inject__.updateNodePoint(this._id,t)}setInvulnerable(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setInvulnerable before create");return u.__inject__.setInvulnerable(this._id,t)}isInvulnerable(){return this.id===l.NPC_ID?!1:u.__inject__.isInvulnerable(this._id)}setSurfingOffsets(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSurfingOffsets before create");return u.__inject__.setSurfingOffsets(this._id,t,i,a)}getSurfingOffsets(){return u.__inject__.getSurfingOffsets(this._id)}setSurfingVehicle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSurfingVehicle before create");return u.__inject__.setSurfingVehicle(this._id,t.id)}getSurfingVehicle(){return p.getInstance(this.getSurfingVehicleId())}getSurfingVehicleId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getSurfingVehicle before create");return u.__inject__.getSurfingVehicle(this._id)}setSurfingObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSurfingObject before create");return t.isGlobal()?u.__inject__.setSurfingObject(this._id,t.id):0}getSurfingObject(){return S.getInstance(this.getSurfingObjectId())}getSurfingObjectId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getSurfingObject before create");return u.__inject__.getSurfingObject(this._id)}setSurfingPlayerObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSurfingPlayerObject before create");return t.isGlobal()?0:this._setSurfingPlayerObject(t.id)}getSurfingPlayerObject(){return S.getInstance(this.getSurfingPlayerObjectId(),this.getPlayer())}_setSurfingPlayerObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setSurfingPlayerObject before create");return u.__inject__.setSurfingPlayerObject(this._id,t)}getSurfingPlayerObjectId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getSurfingPlayerObject before create");return u.__inject__.getSurfingPlayerObject(this._id)}resetSurfingData(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to resetSurfingData before create");return u.__inject__.resetSurfingData(this._id)}setSurfingDynamicObject(t){return this._setSurfingPlayerObject(A.getItemInternalID(new c(this._id),T.OBJECT,t.id))}getSurfingDynamicObject(){return R.getInstance(this.getSurfingDynamicObjectId())}getSurfingDynamicObjectId(){return A.getItemStreamerID(new c(this._id),T.OBJECT,this.getSurfingPlayerObjectId())}isSpawned(){return this.id===l.NPC_ID?!1:u.__inject__.isSpawned(this._id)}kill(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to kill before create");return u.__inject__.kill(this._id,typeof t=="number"?t:t.id,i)}setVelocity(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to setVelocity before create");return u.__inject__.setVelocity(this._id,t,i,a)}getVelocity(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getVelocity before create");return u.__inject__.getVelocity(this._id)}getPlayerAimingAt(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getPlayerAimingAt before create");const t=u.__inject__.getPlayerAimingAt(this._id);return t!==l.PLAYER_ID?c.getInstance(t):null}getPlayerMovingTo(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getPlayerMovingTo before create");const t=u.__inject__.getPlayerMovingTo(this._id);return t!==l.PLAYER_ID?c.getInstance(t):null}getPosMovingTo(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getPosMovingTo before create");return u.__inject__.getPosMovingTo(this._id)}getCustomSkin(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Unable to getCustomSkin before create");return u.__inject__.getCustomSkin(this._id)}static startRecordingPlayerData(t,i,a){if(t.isRecording)throw new Error("[NpcFunc]: It should be stopped before recording");u.__inject__.startRecordingPlayerData(t.id,i,a),t[B].isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)throw new Error("[NpcFunc]: It should be started before stop");u.__inject__.stopRecordingPlayerData(t.id),t[B].isRecording=!1}static isValid(t){return u.__inject__.isValid(t)}static getInstance(t){return fe.get(t)}static getInstances(){return[...fe.values()]}static __inject__={create:Wc,destroy:Kc,isValid:Xc,spawn:Zc,respawn:Yc,setPos:zc,setRot:Jc,getRot:$c,setFacingAngle:Qc,getFacingAngle:qc,setVirtualWorld:ed,getVirtualWorld:td,move:id,moveToPlayer:ad,stopMove:rd,isMoving:nd,isMovingToPlayer:sd,setSkin:ld,getSkin:od,isStreamedIn:_d,isAnyStreamedIn:cd,setInterior:dd,getInterior:hd,setHealth:ud,getHealth:gd,setArmour:md,getArmour:fd,isDead:Pd,applyAnimation:pd,setWeapon:Id,getWeapon:Sd,setAmmo:yd,getAmmo:Cd,setKeys:Ed,getKeys:Ad,setWeaponSkillLevel:Nd,getWeaponSkillLevel:Dd,meleeAttack:Td,stopMeleeAttack:vd,isMeleeAttacking:bd,setFightingStyle:Ld,getFightingStyle:wd,enableReloading:Rd,isReloadEnabled:Od,isReloading:Gd,enableInfiniteAmmo:jd,isInfiniteAmmoEnabled:Fd,setWeaponState:Md,getWeaponState:Vd,setAmmoInClip:Bd,getAmmoInClip:kd,shoot:xd,isShooting:Hd,aimAt:Ud,aimAtPlayer:Wd,stopAim:Kd,isAiming:Xd,isAimingAtPlayer:Zd,setWeaponAccuracy:Yd,getWeaponAccuracy:zd,setWeaponReloadTime:Jd,getWeaponReloadTime:$d,getWeaponActualReloadTime:Qd,setWeaponShootTime:qd,getWeaponShootTime:eh,setWeaponClipSize:th,getWeaponClipSize:ih,getWeaponActualClipSize:ah,enterVehicle:rh,exitVehicle:nh,putInVehicle:sh,removeFromVehicle:lh,getVehicle:oh,getVehicleSeat:_h,getEnteringVehicle:ch,getEnteringVehicleSeat:dh,isEnteringVehicle:hh,useVehicleSiren:uh,isVehicleSirenUsed:gh,setVehicleHealth:mh,getVehicleHealth:fh,setVehicleHydraThrusters:Ph,getVehicleHydraThrusters:ph,setVehicleGearState:Ih,getVehicleGearState:Sh,setVehicleTrainSpeed:yh,getVehicleTrainSpeed:Ch,resetAnimation:Eh,setAnimation:Ah,getAnimation:Nh,clearAnimations:Dh,setSpecialAction:Th,getSpecialAction:vh,startPlayback:bh,startPlaybackEx:Lh,stopPlayback:wh,pausePlayback:Rh,isPlayingPlayback:Oh,isPlaybackPaused:Gh,playNode:jh,stopPlayingNode:Fh,pausePlayingNode:Mh,resumePlayingNode:Vh,isPlayingNodePaused:Bh,isPlayingNode:kh,changeNode:xh,updateNodePoint:Hh,setInvulnerable:Uh,isInvulnerable:Wh,setSurfingOffsets:Kh,getSurfingOffsets:Xh,setSurfingVehicle:Zh,getSurfingVehicle:Yh,setSurfingObject:zh,getSurfingObject:Jh,setSurfingPlayerObject:$h,getSurfingPlayerObject:Qh,resetSurfingData:qh,isSpawned:eu,kill:tu,setVelocity:iu,getVelocity:au,getPlayerAimingAt:ru,getPlayerMovingTo:nu,getPosMovingTo:su,getCustomSkin:lu,startRecordingPlayerData:U_,stopRecordingPlayerData:W_}}class We{_filePath="";_id=l.RECORD_ID;get id(){return this._id}get filePath(){return this._filePath}constructor(t){if(typeof t=="string"?(this._filePath=t,this._id=samp.callNative("NPC_LoadRecord","s",this._filePath)):this._id=t,de.has(this._id))return de.get(this._id)}unload(){const t=this._id;if(!D.skip){const i=!!samp.callNative("NPC_UnloadRecord","i",this._id);return i&&(this._id=l.RECORD_ID,this._filePath="",de.delete(t)),i}return this._id=l.RECORD_ID,this._filePath="",de.delete(t),!0}isValid(){return D.skip&&this._id!==l.RECORD_ID?!0:We.isValid(this._id)}static isValid(t){return!!samp.callNative("NPC_IsValidRecord","i",t)}static getCount(){return samp.callNative("NPC_GetRecordCount","")}static unloadAll(){const t=!!samp.callNative("NPC_UnloadAllRecords","");return t&&de.clear(),t}static getInstance(t){return de.get(t)}static getInstances(){return[...de.values()]}}class Ue{_id=l.NODE_ID;get id(){return this._id}constructor(t){if(this._id=t,re.has(this._id))return re.get(this._id);re.set(this._id,this)}open(){samp.callNative("NPC_OpenNode","i",this._id)&&!re.has(this._id)&&re.set(this._id,this)}close(){if(!D.skip){const t=!!samp.callNative("NPC_CloseNode","i",this._id);return t&&(re.delete(this._id),this._id=l.NODE_ID),t}return re.delete(this._id),this._id=l.NODE_ID,!0}isOpen(){return D.skip&&this._id!==l.NODE_ID?!0:!!samp.callNative("NPC_IsNodeOpen","i",this._id)}getType(){return samp.callNative("NPC_GetNodeType","i",this._id)}setPoint(t){return!!samp.callNative("NPC_SetNodePoint","ii",this._id,t)}getPointPosition(){const[t,i,a,r]=samp.callNative("NPC_GetNodePointPosition","iFFF",this._id);return{x:t,y:i,z:a,ret:!!r}}getPointCount(){return samp.callNative("NPC_GetNodePointCount","i",this._id)}getInfo(){const[t,i,a,r]=samp.callNative("NPC_GetNodeInfo","iIII",this._id);return{vehNodes:t,pedNodes:i,naviNode:a,ret:!!r}}static getInstance(t){return re.get(t)}static getInstances(){return[...re.values()]}}class Ke{_id=l.PATH_ID;get id(){return this._id}constructor(t){if(typeof t<"u"){if(Pe.has(t))return Pe.get(t);this._id=t}else this._id=samp.callNative("NPC_CreatePath","")}destroy(){const t=!!samp.callNative("NPC_DestroyPath","i",this._id);return t&&(this._id=l.PATH_ID,Pe.delete(this._id)),t}addPoint(t,i,a,r){return!!samp.callNative("NPC_AddPointToPath","iffff",this._id,t,i,a,r)}removePoint(t){return!!samp.callNative("NPC_RemovePointFromPath","ii",this._id,t)}clear(){return!!samp.callNative("NPC_ClearPath","i",this._id)}getPointCount(){return samp.callNative("NPC_GetPathPointCount","i",this._id)}getPoint(t){const[i,a,r,n,s]=samp.callNative("NPC_GetPathPoint","ii",this._id,t);return{x:i,y:a,z:r,stopRange:n,ret:s}}isValid(){return Ke.isValid(this._id)}getCurrentPointIndex(){return samp.callNative("NPC_GetCurrentPathPointIndex","i",this._id)}move(t=at.JOG,i=Re.AUTO,a=!1){return!!samp.callNative("NPC_MoveByPath","iiifi",this._id,this._id,t,i,a)}hasPointInRadius(t,i,a,r){return!!samp.callNative("NPC_HasPathPointInRange","iiffff",this._id,this._id,t,i,a,r)}static destroyAll(){const t=!!samp.callNative("NPC_DestroyAllPath","");return t&&Pe.clear(),t}static getCount(){return samp.callNative("NPC_GetPathCount","")}static isValid(t){return!!samp.callNative("NPC_IsValidPath","i",t)}static getInstance(t){return Pe.get(t)}static getInstances(){return[...Pe.values()]}}x.onExit(({next:e})=>(u.getInstances().forEach(t=>{t.isValid()&&t.destroy()}),fe.clear(),Ue.getInstances().forEach(t=>{t.isOpen()&&t.close()}),re.clear(),Ke.destroyAll(),Pe.clear(),We.getInstances().forEach(t=>{t.isValid()&&t.unload()}),de.clear(),e()));const[rC]=m({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:E.decodeFromBuf(t)}}}),[nC]=m({name:"OnNPCFinishMove",identifier:"i",beforeEach(e){return{npc:u.getInstance(e)}}}),[sC]=m({name:"OnNPCCreate",identifier:"i",beforeEach(e){return{npc:u.getInstance(e)}}}),[lC]=m({name:"OnNPCDestroy",identifier:"i",beforeEach(e){return{npc:u.getInstance(e)}},afterEach({npc:e}){fe.delete(e.id)}}),[oC]=m({name:"OnNPCWeaponStateChange",identifier:"iii",beforeEach(e,t,i){return{npc:u.getInstance(e),newState:t,oldState:i}}}),[_C]=m({name:"OnNPCTakeDamage",identifier:"iiiii",beforeEach(e,t,i,a,r){return{npc:u.getInstance(e),damager:c.getInstance(t),damage:i,weapon:a,bodyPart:r}}}),[cC]=m({name:"OnNPCGiveDamage",identifier:"iiiii",beforeEach(e,t,i,a,r){return{npc:u.getInstance(e),damager:c.getInstance(t),damage:i,weapon:a,bodyPart:r}}}),[dC]=m({name:"OnNPCDeath",identifier:"iii",beforeEach(e,t,i){const a=c.getInstance(t)||l.PLAYER_ID;return{npc:u.getInstance(e),killer:a,reason:i}}}),[hC]=m({name:"OnNPCSpawn",identifier:"i",beforeEach(e){return{npc:u.getInstance(e)}}}),[uC]=m({name:"OnNPCRespawn",identifier:"i",beforeEach(e){return{npc:u.getInstance(e)}}}),[gC]=m({name:"OnNPCPlaybackStart",identifier:"ii",beforeEach(e,t){return{npc:u.getInstance(e),record:We.getInstance(t),recordId:t}}}),[mC]=m({name:"OnNPCPlaybackEnd",identifier:"ii",beforeEach(e,t){return{npc:u.getInstance(e),record:We.getInstance(t),recordId:t}}}),[fC]=m({name:"OnNPCWeaponShot",identifier:"iiiifff",beforeEach(e,t,i,a,r,n,s){return{npc:u.getInstance(e),weapon:t,hitType:i,hitId:a,fX:r,fY:n,fZ:s}}}),[PC]=m({name:"OnNPCFinishNodePoint",identifier:"iii",beforeEach(e,t,i){return{npc:u.getInstance(e),node:Ue.getInstance(t),nodeId:t,pointId:i}}}),[pC]=m({name:"OnNPCFinishNode",identifier:"ii",beforeEach(e,t){return{npc:u.getInstance(e),node:Ue.getInstance(t),nodeId:t}}}),[IC]=m({name:"OnNPCChangeNode",identifier:"iii",beforeEach(e,t,i){return{npc:u.getInstance(e),newNode:Ue.getInstance(t),oldNode:Ue.getInstance(i),newNodeId:t,oldNodeId:i}}}),[SC]=m({name:"OnNPCFinishMovePath",identifier:"ii",beforeEach(e,t){return{npc:u.getInstance(e),path:Ke.getInstance(t),pathId:t}}}),[yC]=m({name:"OnNPCFinishMovePathPoint",identifier:"iii",beforeEach(e,t,i){return{npc:u.getInstance(e),path:Ke.getInstance(t),pathId:t,pointIndex:i}}}),CC=Object.freeze({onClientMessage:rC,onFinishMove:nC,onCreate:sC,onDestroy:lC,onSpawn:hC,onRespawn:uC,onWeaponStateChange:oC,onTakeDamage:_C,onGiveDamage:cC,onDeath:dC,onPlaybackStart:gC,onPlaybackEnd:mC,onWeaponShot:fC,onFinishNodePoint:PC,onFinishNode:pC,onChangeNode:IC,onFinishMovePath:SC,onFinishMovePathPoint:yC});class ${constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return $.__inject__.getNetworkStats()}static getPlayerNetworkStats(t){return $.__inject__.getPlayerNetworkStats(t.id)}static getBytesReceived(t){return $.__inject__.getBytesReceived(t.id)}static getBytesSent(t){return $.__inject__.getBytesSent(t.id)}static getConnectionStatus(t){return $.__inject__.getConnectionStatus(t.id)}static getConnectedTime(t){return $.__inject__.getConnectedTime(t.id)}static getIpPort(t){return $.__inject__.getIpPort(t.id)}static getMessagesReceived(t){return $.__inject__.getMessagesReceived(t.id)}static getMessagesRecvPerSecond(t){return $.__inject__.getMessagesRecvPerSecond(t.id)}static getMessagesSent(t){return $.__inject__.getMessagesSent(t.id)}static getPacketLossPercent(t){return $.__inject__.getPacketLossPercent(t.id)}static __inject__={getNetworkStats:Rl,getPlayerNetworkStats:wl,getBytesReceived:Sl,getBytesSent:Cl,getConnectionStatus:Nl,getConnectedTime:pl,getIpPort:Dl,getMessagesReceived:Il,getMessagesRecvPerSecond:El,getMessagesSent:yl,getPacketLossPercent:Al}}class be{_text;_time;_style;get text(){return this._text}set text(t){this._text=t}get time(){return this._time}set time(t){this._time=t}get style(){return this._style}set style(t){this._style=t}constructor(t,i,a){this._text=t,this._time=i,this._style=a}static hideForAll(t){be.__inject__.hideForAll(t)}static has(t,i){return be.__inject__.has(t.id,i)}forAll(t="win1252"){be.__inject__.forAll(E.encodeToBuf(E.convertSpecialChar(this.text),t),this.time,this.style)}forPlayer(t,i="win1252"){be.__inject__.forPlayer(t.id,E.encodeToBuf(E.convertSpecialChar(this.text),i),this.time,this.style)}hideForPlayer(t){return be.__inject__.hideForPlayer(t.id,this.style)}static __inject__={hideForAll:Fs,has:fo,forAll:js,forPlayer:mo,hideForPlayer:po}}class k{sourceInfo=null;_id=l.MENU;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===l.MENU)throw new Error("[Menu]: Invalid id");this._id=t;const i=k.getInstance(this._id);if(i)return i;Ge.set(this.id,this)}else this.sourceInfo=t}create(){if(!this.sourceInfo)throw new Error("[Menu]: Unable to create with only id");if(this._id!==l.MENU)throw new Error("[Menu]: Cannot be created twice");const{title:t,columns:i,x:a,y:r,colWidth:n,charset:s="ISO-8859-1"}=this.sourceInfo,[o,_]=n;if(this._id=k.__inject__.create(t,i,a,r,o,_,s),this.id===l.MENU||k.getInstances().length===H.MAX_MENUS)throw new Error("[Menu]: Unable to create menu");return Ge.set(this._id,this),this}destroy(){if(this._id===l.MENU)throw new Error("[Menu]: Cannot destroy before create");return D.skip||k.__inject__.destroy(this.id),Ge.delete(this._id),this._id=l.MENU,this}addItem(t,i){if(this._id===l.MENU)throw new Error("[Menu]: Cannot addItem before create");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return k.__inject__.addItem(this.id,t,i,this.sourceInfo?.charset||"ISO-8859-1"),this}setColumnHeader(t,i){if(this._id===l.MENU)throw new Error("[Menu]: Cannot setColumnHeader before create");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return k.__inject__.setColumnHeader(this.id,t,i,this.sourceInfo?.charset||"ISO-8859-1"),this}disable(){if(this._id===l.MENU)throw new Error("[Menu]: Cannot disable menu before create");return k.__inject__.disable(this.id),this}disableRow(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot disable row before create");return k.__inject__.disableRow(this.id,t)}isValid(){return D.skip&&this.id!==l.MENU?!0:k.isValid(this.id)}showForPlayer(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot show menu before create");return k.__inject__.showForPlayer(this.id,t.id)}hideForPlayer(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot hide menu before create");return k.__inject__.hideForPlayer(this.id,t.id)}isDisabled(){return this._id===l.MENU?!1:k.__inject__.isDisabled(this.id)}isRowDisabled(t){return this._id===l.MENU?!1:k.__inject__.isRowDisabled(this.id,t)}getItems(t){return this._id===l.MENU?0:k.__inject__.getItems(this.id,t)}getPos(){return k.__inject__.getPos(this.id)}getColumnWidth(){return k.__inject__.getColumnWidth(this.id)}getColumnHeader(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot get column header before create");return k.__inject__.getColumnHeader(this.id,t,this.sourceInfo?.charset||"ISO-8859-1")}getItem(t,i){if(this._id===l.MENU)throw new Error("[Menu]: Cannot get item before create");if(i<0||i>this.getItems(t)-1)throw new Error("[Menu]: invalid getItem range");return k.__inject__.getItem(this.id,t,i,this.sourceInfo?.charset||"ISO-8859-1")}static isValid(t){return k.__inject__.isValid(t)}static getInstance(t){return Ge.get(t)}static getInstances(){return[...Ge.values()]}static getInstanceByPlayer(t){return this.getInstance(Ai(t.id))}static __inject__={create:HI,destroy:qg,addItem:UI,setColumnHeader:WI,disable:am,disableRow:rm,isValid:im,showForPlayer:em,hideForPlayer:tm,isDisabled:Yg,isRowDisabled:zg,getItems:Jg,getPos:$g,getColumnWidth:Qg,getColumnHeader:kI,getItem:xI,getPlayerMenu:Ai}}x.onExit(({next:e})=>(k.getInstances().forEach(t=>t.destroy()),Ge.clear(),e()));const[EC]=m({name:"OnPlayerExitedMenu",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[AC]=m({name:"OnPlayerSelectedMenuRow",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e),a=k.getInstanceByPlayer(i);return{player:i,menu:a,row:t}}}),NC=Object.freeze({onPlayerExited:EC,onPlayerSelectedRow:AC});class b{sourceInfo=null;_player=null;_id=l.GANG_ZONE;get id(){return this._id}constructor(t,i){if(typeof t=="number"){if(t===l.GANG_ZONE)throw new Error("[GangZone]: Invalid id");i&&(this._player=i);const a=b.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?Oe.set(this._id,this):i&&(Z.has(i)||Z.set(i,new Map),Z.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[GangZone]: Unable to create with only id");if(this.id!==l.GANG_ZONE)throw new Error("[GangZone]: Unable to create again");const{player:t}=this.sourceInfo;if(t){const{minX:i,minY:a,maxX:r,maxY:n}=this.sourceInfo;if(this._id=b.__inject__.createPlayer(t.id,i,a,r,n),this.id===l.GANG_ZONE||b.getInstances(t).length===H.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to create playerGangZone");Z.has(t)||Z.set(t,new Map),Z.get(t).set(this._id,this)}else{const{minX:i,minY:a,maxX:r,maxY:n}=this.sourceInfo;if(this._id=b.__inject__.create(i,a,r,n),this.id===l.GANG_ZONE||b.getInstances().length===H.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to create gangZone");Oe.set(this.id,this)}return this}destroy(){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to destroy before create");const t=this.getPlayer();if(!t)D.skip||b.__inject__.destroy(this.id),Oe.delete(this.id);else if(D.skip||b.__inject__.destroyPlayer(t.id,this.id),Z.has(t)){const i=Z.get(t);i.delete(this.id),i.size||Z.delete(t)}this._id=l.GANG_ZONE}isGlobal(){return!(this.sourceInfo?this.sourceInfo.player:this._player)}isPlayer(){return!this.isGlobal()}getPlayer(){return this._player?this._player:this.sourceInfo&&this.sourceInfo.player?this.sourceInfo.player:null}getPlayerId(){const t=this.getPlayer();return t?t.id:l.PLAYER_ID}showForAll(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to show gangzone before create");if(!this.getPlayer())return b.__inject__.showForAll(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be show for all.")}showForPlayer(t,i){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to show gangzone before create");const a=this.getPlayer();if(a)b.__inject__.showPlayer(a.id,this.id,N(t));else if(i)b.__inject__.showForPlayer(i.id,this.id,t);else throw new Error("[GangZone]: invalid player for show");return this}hideForAll(){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to hide gangzone before create");if(!this.getPlayer())return b.__inject__.hideForAll(this.id),this;throw new Error("[GangZone]: player's gangzone should not be hide for all.")}hideForPlayer(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to hide gangzone before create");const i=this.getPlayer();if(i)b.__inject__.hidePlayer(i.id,this.id);else if(t)b.__inject__.hideForPlayer(t.id,this.id);else throw new Error("[GangZone]: invalid player for hide");return this}flashForAll(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to flash gangzone before create");if(!this.getPlayer())return b.__inject__.flashForAll(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be flash for all.")}flashForPlayer(t,i){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to flash gangzone before create");const a=this.getPlayer();if(a)b.__inject__.flashPlayer(a.id,this.id,N(i));else if(t)b.__inject__.flashForPlayer(t.id,this.id,i);else throw new Error("[GangZone]: invalid player for flash");return this}stopFlashForAll(){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to stop flash gangzone before create");if(!this.getPlayer())return b.__inject__.stopFlashForAll(this.id),this;throw new Error("[GangZone]: player's gangzone should not be stop flash for all.")}stopFlashForPlayer(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to stop flash gangzone before create");const i=this.getPlayer();if(i)b.__inject__.stopFlashPlayer(i.id,this.id);else if(t)b.__inject__.stopFlashForPlayer(t.id,this.id);else throw new Error("[GangZone]: invalid player for flash");return this}isValid(){if(D.skip&&this.id!==l.GANG_ZONE)return!0;if(this.id===l.GANG_ZONE)return!1;const t=this.getPlayer();return t?b.isValidPlayer(t.id,this.id):b.isValidGlobal(this.id)}isPlayerIn(t){if(this.id===l.GANG_ZONE)return!1;const i=this.getPlayer();return i?b.__inject__.isPlayerInPlayer(i.id,this.id):b.__inject__.isPlayerIn(t.id,this.id)}isVisibleForPlayer(t){if(this.id===l.GANG_ZONE)return!1;const i=this.getPlayer();return i?b.__inject__.isVisiblePlayer(i.id,this.id):b.__inject__.isVisibleForPlayer(t.id,this.id)}getColorForPlayer(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to get color before create");const i=this.getPlayer();return i?b.__inject__.getColorPlayer(i.id,this.id):b.__inject__.getColorForPlayer(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to get flash color before create");const i=this.getPlayer();return i?b.__inject__.getFlashColorPlayer(i.id,this.id):b.__inject__.getFlashColorForPlayer(t.id,this.id)}isFlashingForPlayer(t){if(this.id===l.GANG_ZONE)return!1;const i=this.getPlayer();return i?b.__inject__.isFlashingPlayer(i.id,this.id):b.__inject__.isFlashingForPlayer(t.id,this.id)}getPos(){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to get position before create");const t=this.getPlayer();return t?b.__inject__.getPosPlayer(t.id,this.id):b.__inject__.getPos(this.id)}useCheck(t){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Unable to use check before create");const i=this.getPlayer();return i?b.__inject__.useCheckPlayer(i.id,this.id,t):b.__inject__.useCheck(this.id,t),this}static isValidPlayer(t,i){return b.__inject__.isValidPlayer(t,i)}static isValidGlobal(t){return b.__inject__.isValidGlobal(t)}static getInstance(t,i){if(!i)return Oe.get(t);if(i.id!==l.PLAYER_ID)return Z.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...Z.get(t)?.values()||[]]:[...Oe.values()]}static getPlayersInstances(){return Array.from(Z.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:Vm,destroy:Bm,showForAll:xm,hideForAll:Um,flashForAll:Km,stopFlashForAll:Zm,getPos:Fm,useCheck:Mm,createPlayer:Ym,destroyPlayer:zm,showPlayer:Jm,showForPlayer:km,hidePlayer:$m,hideForPlayer:Hm,flashPlayer:Qm,flashForPlayer:Wm,stopFlashPlayer:qm,stopFlashForPlayer:Xm,getPosPlayer:lf,useCheckPlayer:of,isPlayerIn:wm,isPlayerInPlayer:tf,isVisibleForPlayer:Rm,isVisiblePlayer:af,getColorForPlayer:Om,getColorPlayer:rf,getFlashColorForPlayer:Gm,getFlashColorPlayer:nf,isFlashingForPlayer:jm,isFlashingPlayer:sf,isValidPlayer:ef,isValidGlobal:Lm}}tt.onDisconnect(({player:e,next:t})=>(Z.has(e)&&(b.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),Z.delete(e)),t())),x.onExit(({next:e})=>(b.getInstances().forEach(t=>t.destroy()),b.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),Oe.clear(),Z.clear(),e()));const[DC]=m({name:"OnPlayerEnterGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:b.getInstance(t)}}}),[TC]=m({name:"OnPlayerLeaveGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:b.getInstance(t)}}}),[vC]=m({name:"OnPlayerEnterPlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:b.getInstance(t,i)}}}),[bC]=m({name:"OnPlayerLeavePlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:b.getInstance(t,i)}}}),[LC]=m({name:"OnPlayerClickGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:b.getInstance(t)}}}),[wC]=m({name:"OnPlayerClickPlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:b.getInstance(t,i)}}}),RC=Object.freeze({onPlayerEnterGlobal:DC,onPlayerLeaveGlobal:TC,onPlayerEnterPlayer:vC,onPlayerLeavePlayer:bC,onPlayerClickGlobal:LC,onPlayerClickPlayer:wC});class f{sourceInfo=null;_player=null;_id=l.TEXT_DRAW;get id(){return this._id}constructor(t,i){if(typeof t=="number"){if(t===l.TEXT_DRAW||t===l.PLAYER_TEXT_DRAW)throw new Error("[TextDraw]: Invalid id");i&&(this._player=i);const a=f.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?je.set(this._id,this):i&&(Y.has(i)||Y.set(i,new Map),Y.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[TextDraw]: Unable to create with only id");if(this.id!==l.TEXT_DRAW)throw new Error("[TextDraw]: Unable to create again");const{x:t,y:i,text:a,player:r,charset:n="ISO-8859-1"}=this.sourceInfo,s=E.encodeToBuf(E.convertSpecialChar(a),n);if(r){if(this._id=f.__inject__.createPlayer(r.id,t,i,s),this.id===l.TEXT_DRAW||f.getInstances(r).length===H.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to create player textdraw");Y.has(r)||Y.set(r,new Map),Y.get(r).set(this._id,this)}else{if(this._id=f.__inject__.create(t,i,s),this.id===l.TEXT_DRAW||f.getInstances().length===H.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to create textdraw");je.set(this.id,this)}return this}destroy(){this.id===l.TEXT_DRAW&&f.beforeCreateWarn("destroy textdraw");const t=this.getPlayer();if(!t)D.skip||f.__inject__.destroy(this.id),je.delete(this.id);else if(D.skip||f.__inject__.destroyPlayer(t.id,this.id),Y.has(t)){const i=Y.get(t);i.delete(this.id),i.size||Y.delete(t)}return this._id=l.TEXT_DRAW,this}setFont(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set font"),this;const i=this.getPlayer();return i?f.__inject__.setFontPlayer(i.id,this.id,t):f.__inject__.setFont(this.id,t),this}setColor(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set color"),this;const i=this.getPlayer();return i?f.__inject__.setColorPlayer(i.id,this.id,t):f.__inject__.setColor(this.id,t),this}setBoxColors(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set box color"),this;const i=this.getPlayer();return i?f.__inject__.setBoxColorPlayer(i.id,this.id,t):f.__inject__.setBoxColor(this.id,t),this}setBackgroundColors(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set background color"),this;const i=this.getPlayer();return i?f.__inject__.setBackgroundColorPlayer(i.id,this.id,t):f.__inject__.setBackgroundColor(this.id,t),this}setAlignment(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set alignment"),this;const i=this.getPlayer();return i?f.__inject__.setAlignmentPlayer(i.id,this.id,t):f.__inject__.setAlignment(this.id,t),this}setLetterSize(t,i){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set letter size"),this;const a=this.getPlayer();return a?f.__inject__.setLetterSizePlayer(a.id,this.id,t,i):f.__inject__.setLetterSize(this.id,t,i),this}setOutline(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set outline model"),this;if(t<0)throw new Error("[TextDraw]: Invalid outline value");const i=this.getPlayer();return i?f.__inject__.setOutlinePlayer(i.id,this.id,t):f.__inject__.setOutline(this.id,t),this}setPreviewModel(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set preview model"),this;this.setFont(Je.MODEL_PREVIEW);const i=this.getPlayer();return i?f.__inject__.setPreviewModelPlayer(i.id,this.id,t):f.__inject__.setPreviewModel(this.id,t),this}setPreviewRot(t,i,a,r=1){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set preview rot"),this;this.setFont(Je.MODEL_PREVIEW);const n=this.getPlayer();return n?f.__inject__.setPreviewRotPlayer(n.id,this.id,t,i,a,r):f.__inject__.setPreviewRot(this.id,t,i,a,r),this}setPreviewVehColors(t,i){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set preview veh col"),this;this.setFont(Je.MODEL_PREVIEW);const a=this.getPlayer();return a?f.__inject__.setPreviewVehicleColorsPlayer(a.id,this.id,t,i):f.__inject__.setPreviewVehicleColors(this.id,t,i),this}setProportional(t=!0){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set Proportional"),this;const i=this.getPlayer();return i?f.__inject__.setProportionalPlayer(i.id,this.id,t):f.__inject__.setProportional(this.id,t),this}setSelectable(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set Selectable"),this;const i=this.getPlayer();return i?f.__inject__.setSelectablePlayer(i.id,this.id,t):f.__inject__.setSelectable(this.id,t),this}setShadow(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set shadow"),this;if(t<0)throw new Error("[TextDraw]: Invalid shadow value");const i=this.getPlayer();return i?f.__inject__.setShadowPlayer(i.id,this.id,t):f.__inject__.setShadow(this.id,t),this}setString(t,i){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set string"),this;if(t.length===0||t.length>1024)throw new Error("[TextDraw]: Invalid text length");const a=this.sourceInfo?.charset||"ISO-8859-1",r=E.encodeToBuf(E.convertSpecialChar(t),a),n=this.getPlayer();return n?f.__inject__.setStringPlayer(n.id,this.id,r):i?f.__inject__.setStringForPlayer(this.id,i.id,r):f.__inject__.setString(this.id,r),this}setTextSize(t,i){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set TextSize"),this;const a=this.getPlayer();return a?f.__inject__.setTextSizePlayer(a.id,this.id,t,i):f.__inject__.setTextSize(this.id,t,i),this}useBox(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set TextSize"),this;const i=this.getPlayer();return i?f.__inject__.useBoxPlayer(i.id,this.id,t):f.__inject__.useBox(this.id,t),this}static beforeCreateWarn(t){throw new Error(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("show"),this;const i=this.getPlayer();if(i)f.__inject__.showPlayer(i.id,this.id);else if(t)f.__inject__.showForPlayer(t.id,this.id);else throw new Error("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("hide"),this;const i=this.getPlayer();if(i)f.__inject__.hidePlayer(i.id,this.id);else if(t)f.__inject__.hideForPlayer(t.id,this.id);else throw new Error("[TextDraw]: invalid player for hide");return this}showAll(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("show"),this;if(!this.getPlayer())return f.__inject__.showForAll(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be show for all.")}hideAll(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("hideAll"),this;if(!this.getPlayer())return f.__inject__.hideForAll(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be hide for all.")}isValid(){if(D.skip&&this.id!==l.TEXT_DRAW)return!0;const t=this.getPlayer();return t?f.__inject__.isValidPlayer(t.id,this.id):f.__inject__.isValid(this.id)}isVisibleForPlayer(t){if(this.id===l.TEXT_DRAW)return!1;const i=this.getPlayer();return i?f.__inject__.isVisiblePlayer(i.id,this.id):t?f.__inject__.isVisibleForPlayer(t.id,this.id):!1}getString(){this.id===l.TEXT_DRAW&&f.beforeCreateWarn("getString");const t=this.getPlayer();return t?f.__inject__.getStringPlayer(t.id,this.id).str:f.__inject__.getString(this.id).str}setPos(t,i){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("set position"),this;const a=this.getPlayer();return a?f.__inject__.setPosPlayer(a.id,this.id,t,i):f.__inject__.setPos(this.id,t,i),this}getLetterSize(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get letter size");const t=this.getPlayer();return t?f.__inject__.getLetterSizePlayer(t.id,this.id):f.__inject__.getLetterSize(this.id)}getTextSize(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get text size");const t=this.getPlayer();return t?f.__inject__.getTextSizePlayer(t.id,this.id):f.__inject__.getTextSize(this.id)}getPos(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get position");const t=this.getPlayer();return t?f.__inject__.getPosPlayer(t.id,this.id):f.__inject__.getPos(this.id)}getColor(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get color");const t=this.getPlayer();return t?f.__inject__.getColorPlayer(t.id,this.id):f.__inject__.getColor(this.id)}getBoxColor(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get box color");const t=this.getPlayer();return t?f.__inject__.getBoxColorPlayer(t.id,this.id):f.__inject__.getBoxColor(this.id)}getBackgroundColor(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get bg color");const t=this.getPlayer();return t?f.__inject__.getBackgroundColorPlayer(t.id,this.id):f.__inject__.getBackgroundColor(this.id)}getShadow(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get shadow");const t=this.getPlayer();return t?f.__inject__.getShadowPlayer(t.id,this.id):f.__inject__.getShadow(this.id)}getOutline(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get outline");const t=this.getPlayer();return t?f.__inject__.getOutlinePlayer(t.id,this.id):f.__inject__.getOutline(this.id)}getFont(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get font");const t=this.getPlayer();return t?f.__inject__.getFontPlayer(t.id,this.id):f.__inject__.getFont(this.id)}isBox(){if(this.id===l.TEXT_DRAW)return!1;const t=this.getPlayer();return t?f.__inject__.isBoxPlayer(t.id,this.id):f.__inject__.isBox(this.id)}isProportional(){if(this.id===l.TEXT_DRAW)return!1;const t=this.getPlayer();return t?f.__inject__.isProportionalPlayer(t.id,this.id):f.__inject__.isProportional(this.id)}isSelectable(){if(this.id===l.TEXT_DRAW)return!1;const t=this.getPlayer();return t?f.__inject__.isSelectablePlayer(t.id,this.id):f.__inject__.isSelectable(this.id)}getAlignment(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get alignment");const t=this.getPlayer();return t?f.__inject__.getAlignmentPlayer(t.id,this.id):f.__inject__.getAlignment(this.id)}getPreviewModel(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get preview model");const t=this.getPlayer();return t?f.__inject__.getPreviewModelPlayer(t.id,this.id):f.__inject__.getPreviewModel(this.id)}getPreviewRot(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get preview rotation");const t=this.getPlayer();return t?f.__inject__.getPreviewRotPlayer(t.id,this.id):f.__inject__.getPreviewRot(this.id)}getPreviewVehColors(){if(this.id===l.TEXT_DRAW)return f.beforeCreateWarn("get preview vel colors");const t=this.getPlayer();return t?f.__inject__.getPreviewVehicleColorsPlayer(t.id,this.id):f.__inject__.getPreviewVehicleColors(this.id)}isGlobal(){return!this.getPlayer()}isPlayer(){return!this.isGlobal()}getPlayer(){return this._player?this._player:this.sourceInfo&&this.sourceInfo.player?this.sourceInfo.player:null}getPlayerId(){const t=this.getPlayer();return t?t.id:l.PLAYER_ID}static getInstance(t,i){if(!i)return je.get(t);if(i.id!==l.PLAYER_ID)return Y.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...Y.get(t)?.values()||[]]:[...je.values()]}static getPlayersInstances(){return Array.from(Y.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:Lf,createPlayer:SP,destroy:wf,destroyPlayer:yP,setFont:xf,setFontPlayer:wP,setColor:jf,setColorPlayer:NP,setBoxColor:Mf,setBoxColorPlayer:TP,setBackgroundColor:kf,setBackgroundColorPlayer:LP,setAlignment:Gf,setAlignmentPlayer:AP,setLetterSize:Rf,setLetterSizePlayer:CP,setOutline:Bf,setOutlinePlayer:bP,setPreviewModel:zf,setPreviewModelPlayer:MP,setPreviewRot:Jf,setPreviewRotPlayer:VP,setPreviewVehicleColors:$f,setPreviewVehicleColorsPlayer:BP,setProportional:Hf,setProportionalPlayer:RP,setSelectable:Uf,setSelectablePlayer:OP,setShadow:Vf,setShadowPlayer:vP,setStringPlayer:FP,setStringForPlayer:bf,setString:Yf,setTextSize:Of,setTextSizePlayer:EP,useBoxPlayer:DP,useBox:Ff,showPlayer:GP,showForPlayer:Wf,hidePlayer:jP,hideForPlayer:Kf,showForAll:Xf,hideForAll:Zf,isValidPlayer:eP,isValid:_f,isVisiblePlayer:tP,isVisibleForPlayer:cf,getStringPlayer:iP,getString:df,setPosPlayer:aP,setPos:hf,getLetterSizePlayer:rP,getLetterSize:uf,getTextSizePlayer:nP,getTextSize:gf,getPosPlayer:sP,getPos:mf,getColorPlayer:lP,getColor:ff,getBoxColorPlayer:oP,getBoxColor:Pf,getBackgroundColorPlayer:_P,getBackgroundColor:pf,getShadowPlayer:cP,getShadow:If,getOutlinePlayer:dP,getOutline:Sf,getFontPlayer:hP,getFont:yf,isBoxPlayer:uP,isBox:Cf,isProportionalPlayer:gP,isProportional:Ef,isSelectablePlayer:mP,isSelectable:Af,getAlignmentPlayer:fP,getAlignment:Nf,getPreviewModelPlayer:PP,getPreviewModel:Df,getPreviewRotPlayer:pP,getPreviewRot:Tf,getPreviewVehicleColors:vf,getPreviewVehicleColorsPlayer:IP}}tt.onDisconnect(({player:e,next:t})=>(Y.has(e)&&(f.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),Y.delete(e)),t())),x.onExit(({next:e})=>(f.getInstances().forEach(t=>t.destroy()),f.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),je.clear(),Y.clear(),e()));const[OC]=m({name:"OnPlayerClickTextDraw",identifier:"ii",defaultValue:!1,beforeEach(e,t){return{player:c.getInstance(e),textDraw:t===l.TEXT_DRAW?t:f.getInstance(t)}}}),[GC]=m({name:"OnPlayerClickPlayerTextDraw",identifier:"ii",defaultValue:!1,beforeEach(e,t){const i=c.getInstance(e);return{player:i,textDraw:t===l.TEXT_DRAW?t:f.getInstance(t,i)}}}),jC=Object.freeze({onPlayerClickGlobal:OC,onPlayerClickPlayer:GC});tt.onDisconnect(({player:e,next:t})=>(W.has(e)&&(S.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),W.delete(e)),t())),x.onExit(({next:e})=>(S.getInstances().forEach(t=>t.destroy()),S.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),Ee.clear(),W.clear(),e()));const[FC]=m({name:"OnPlayerSelectObject",identifier:"iiiifff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s){const o=c.getInstance(e),_=t!==ue.UNKNOWN&&t===ue.PLAYER_OBJECT,d=t!==ue.UNKNOWN&&t===ue.GLOBAL_OBJECT;return{player:o,type:t,isPlayerObject:_,isGlobal:d,objectMp:t===ue.GLOBAL_OBJECT?S.getInstance(i):S.getInstance(i,o),modelId:a,fX:r,fY:n,fZ:s}}}),[MC]=m({name:"OnPlayerEditObject",identifier:"iiiiffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_,d){const h=c.getInstance(e),g=t===1;return{player:h,isPlayerObject:g,isGlobal:!g,objectMp:g?S.getInstance(i,h):S.getInstance(i),response:a,fX:r,fY:n,fZ:s,fRotX:o,fRotY:_,fRotZ:d}}}),[VC]=m({name:"OnPlayerEditAttachedObject",identifier:"iiiiifffffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_,d,h,g,I,C){return{player:c.getInstance(e),response:t,index:i,modelId:a,boneId:r,fOffsetX:n,fOffsetY:s,fOffsetZ:o,fRotX:_,fRotY:d,fRotZ:h,fScaleX:g,fScaleY:I,fScaleZ:C}}}),[BC]=m({name:"OnObjectMoved",identifier:"i",beforeEach(e){return{objectMp:S.getInstance(e)}}}),[kC]=m({name:"OnPlayerObjectMoved",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,playerObject:S.getInstance(t,i)}}}),xC=Object.freeze({onPlayerSelect:FC,onPlayerEdit:MC,onPlayerEditAttached:VC,onGlobalMoved:BC,onPlayerMoved:kC});class O{_id=l.ACTOR_ID;sourceInfo=null;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===l.ACTOR_ID)throw new Error("[Actor]: Invalid id");const i=O.getInstance(t);if(i)return i;this._id=t}else this.sourceInfo=t}create(){if(this._id!==l.ACTOR_ID)throw new Error("[Actor]: Cannot be created twice");const{skin:t,x:i,y:a,z:r,rotation:n}=this.sourceInfo;if(this._id=O.__inject__.create(t,i,a,r,n),this._id===l.ACTOR_ID||O.getInstances().length===H.MAX_ACTORS)throw new Error("[Actor]: Unable to create actor");return Ve.set(this._id,this),this}destroy(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot before create");return D.skip||O.__inject__.destroy(this._id),Ve.delete(this._id),this._id=l.ACTOR_ID,this}isStreamIn(t){return this._id===l.ACTOR_ID?!1:O.__inject__.isStreamedIn(this.id,t.id)}setVirtualWorld(t){return this._id===l.ACTOR_ID?!1:O.__inject__.setVirtualWorld(this.id,t)}getVirtualWorld(){return this._id===l.ACTOR_ID?0:O.__inject__.getVirtualWorld(this.id)}applyAnimation(t,i,a,r,n,s,o,_){return this._id===l.ACTOR_ID?!1:O.__inject__.applyAnimation(this.id,t,i,a,r,n,s,o,_)}clearAnimations(){return this._id===l.ACTOR_ID?!1:O.__inject__.clearAnimations(this.id)}setPos(t,i,a){return this._id===l.ACTOR_ID?!1:O.__inject__.setPos(this.id,t,i,a)}getPos(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getPos before create");return O.__inject__.getPos(this.id)}setFacingAngle(t){return this._id===l.ACTOR_ID?!1:O.__inject__.setFacingAngle(this.id,t)}getFacingAngle(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getFacingAngle before create");return O.__inject__.getFacingAngle(this.id)}setHealth(t){return this._id===l.ACTOR_ID?!1:O.__inject__.setHealth(this.id,t)}getHealth(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getHealth before create");return O.__inject__.getHealth(this.id)}setInvulnerable(t){return this._id===l.ACTOR_ID?!1:O.__inject__.setInvulnerable(this.id,t)}isInvulnerable(){return this._id===l.ACTOR_ID?!1:O.__inject__.isInvulnerable(this.id)}isValid(){return O.isValid(this._id)}setSkin(t){return this._id===l.ACTOR_ID?!1:O.__inject__.setSkin(this.id,t)}getSkin(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getSkin before create");return this.sourceInfo?this.sourceInfo.skin:O.__inject__.getSkin(this.id)}getAnimation(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getAnimation before create");return O.__inject__.getAnimation(this.id)}getSpawnInfo(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getSpawnInfo before create");return O.__inject__.getSpawnInfo(this.id)}static isValid(t){return O.__inject__.isValid(t)}static getInstance(t){return Ve.get(t)}static getInstances(){return[...Ve.values()]}static __inject__={create:vc,destroy:bc,applyAnimation:Oc,clearAnimations:Gc,getAnimation:Tc,getFacingAngle:Vc,getHealth:kc,getPos:Fc,getSkin:Ac,getSpawnInfo:Dc,getVirtualWorld:Rc,isInvulnerable:Hc,isStreamedIn:Lc,isValid:Uc,setFacingAngle:Mc,setHealth:Bc,setInvulnerable:xc,setPos:jc,setSkin:Nc,setVirtualWorld:wc}}x.onExit(({next:e})=>(O.getInstances().forEach(t=>t.destroy()),Ve.clear(),e()));const[HC]=m({name:"OnPlayerGiveDamageActor",identifier:"iifii",defaultValue:!1,beforeEach(e,t,i,a,r){return{player:c.getInstance(e),actor:O.getInstance(t),amount:i,weapon:a,bodyPart:r}}}),[UC]=m({name:"OnActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:O.getInstance(e),player:c.getInstance(t)}}}),[WC]=m({name:"OnActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:O.getInstance(e),player:c.getInstance(t)}}}),KC=Object.freeze({onPlayerGiveDamage:HC,onStreamIn:UC,onStreamOut:WC});class Le{static set(t,i,a,r,n){return Le.__inject__.set(t.id,i,a,r,n)}static disable(t){return Le.__inject__.disable(t.id)}static isPlayerIn(t){return Le.__inject__.isPlayerIn(t.id)}static isActive(t){return Le.__inject__.isActive(t.id)}static get(t){return Le.__inject__.get(t.id)}static __inject__={disable:Ug,get:yi,isActive:Si,isPlayerIn:Xg,set:Hg}}const[XC]=m({name:"OnPlayerEnterCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[ZC]=m({name:"OnPlayerLeaveCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),YC=Object.freeze({onPlayerEnter:XC,onPlayerLeave:ZC});class we{static set(t,i,a,r,n,s,o,_,d){return we.__inject__.set(t.id,i,a,r,n,s,o,_,d)}static disable(t){return we.__inject__.disable(t.id)}static isPlayerIn(t){return we.__inject__.isPlayerIn(t.id)}static isActive(t){return we.__inject__.isActive(t.id)}static get(t){return we.__inject__.get(t.id)}static __inject__={disable:Kg,get:Ei,isActive:Ci,isPlayerIn:Zg,set:Wg}}const[zC]=m({name:"OnPlayerEnterRaceCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[JC]=m({name:"OnPlayerLeaveRaceCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),$C=Object.freeze({onPlayerEnter:zC,onPlayerLeave:JC});class M{sourceInfo=null;_id=l.PICKUP_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){if(t===l.PICKUP_ID)throw new Error("[Pickup]: Invalid id");this._id=t;const i=M.getInstance(this._id);if(i)return i;Be.set(this.id,this)}else this.sourceInfo=t}create(){if(!this.sourceInfo)throw new Error("[Pickup]: Unable to create with only id");if(this.id!==l.PICKUP_ID)throw new Error("[Pickup]: Cannot be created twice");const{model:t,type:i,virtualWorld:a,x:r,y:n,z:s,isStatic:o}=this.sourceInfo;if(o)M.__inject__.addStatic(t,i,r,n,s,a);else{if(this._id=M.__inject__.create(t,i,r,n,s,a),M.getInstances().length===H.MAX_PICKUPS||this._id===l.PICKUP_ID)throw new Error("[Pickup]: Unable to create pickup");Be.set(this.id,this)}return this}destroy(){if(this.sourceInfo&&this.sourceInfo.isStatic)throw new Error("[Pickup]: Cannot destroy static pickups");if(this.id===l.PICKUP_ID)throw new Error("[Pickup]: Cannot be destroyed twice");D.skip||M.__inject__.destroy(this.id),Be.delete(this.id)}isValid(){return this.id===l.PICKUP_ID?!1:M.isValid(this.id)}isStreamedIn(t){return this.id===l.PICKUP_ID?!1:M.__inject__.isStreamedIn(t.id,this.id)}getPos(){return M.__inject__.getPos(this.id)}getModel(){return this.id===l.PICKUP_ID?0:M.__inject__.getModel(this.id)}getType(){return this.id===l.PICKUP_ID?0:M.__inject__.getType(this.id)}getVirtualWorld(){return this.id===l.PICKUP_ID?0:M.__inject__.getVirtualWorld(this.id)}setPos(t,i,a,r){return this.id===l.PICKUP_ID?!1:M.__inject__.setPos(this.id,t,i,a,r)}setModel(t,i=!0){return this.id===l.PICKUP_ID?!1:M.__inject__.setModel(this.id,t,i)}setType(t,i=!0){return this.id===l.PICKUP_ID?!1:M.__inject__.setType(this.id,t,i)}setVirtualWorld(t){return this.id===l.PICKUP_ID?!1:M.__inject__.setVirtualWorld(this.id,t)}showForPlayer(t){return this.id===l.PICKUP_ID?!1:M.__inject__.showForPlayer(t.id,this.id)}hideForPlayer(t){return this.id===l.PICKUP_ID?!1:M.__inject__.hideForPlayer(t.id,this.id)}isHiddenForPlayer(t){return this.id===l.PICKUP_ID?!1:M.__inject__.isHiddenForPlayer(t.id,this.id)}static isValid(t){return t===l.PICKUP_ID?!1:M.__inject__.isValid(t)}static getInstance(t){return Be.get(t)}static getInstances(){return[...Be.values()]}static __inject__={create:gI,addStatic:uI,destroy:mI,isStreamedIn:tI,getPos:iI,getModel:aI,getType:rI,getVirtualWorld:nI,setPos:sI,setModel:lI,setType:oI,setVirtualWorld:_I,showForPlayer:cI,hideForPlayer:dI,isHiddenForPlayer:hI,isValid:eI}}x.onExit(({next:e})=>(M.getInstances().forEach(t=>t.destroy()),Be.clear(),e()));const[QC]=m({name:"OnPlayerPickUpPickup",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:M.getInstance(t)}}}),[qC]=m({name:"OnPickupStreamIn",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:M.getInstance(t)}}}),[eE]=m({name:"OnPickupStreamOut",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:M.getInstance(t)}}}),tE=Object.freeze({onPlayerPickUp:QC,onStreamIn:qC,onStreamOut:eE});class w{sourceInfo=null;_id=l._3DTEXT_ID;_player=null;get id(){return this._id}constructor(t,i){if(typeof t=="number"){if(t===l.PLAYER_3DTEXT_ID)throw new Error("[TextLabel]: Invalid id");i&&(this._player=i);const a=w.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?ke.set(this._id,this):i&&(z.has(i)||z.set(i,new Map),z.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[TextLabel]: Unable to create with only id");if(this.id!==l._3DTEXT_ID)throw new Error("[TextLabel]: Unable to create again");const{charset:t="utf8",text:i,color:a,x:r,y:n,z:s,drawDistance:o,virtualWorld:_,testLOS:d,attachedPlayer:h,attachedVehicle:g}=this.sourceInfo;if(this.isGlobal()){if(this._id=w.__inject__.create(t,i,a,r,n,s,o,_,d),this.id===l._3DTEXT_ID||w.getInstances().length===H.MAX_3DTEXT_GLOBAL)throw new Error("[TextLabel]: Unable to create textLabel");return ke.set(this._id,this),this}const I=this.getPlayerId();if(I===l.PLAYER_ID)return this;const C=this.getPlayer();if(this._id=w.__inject__.createPlayer(t,I,i,a,r,n,s,o,typeof h>"u"?l.PLAYER_ID:h.id,typeof g>"u"?l.VEHICLE_ID:g.id,d),this.id===l._3DTEXT_ID||w.getInstances(C).length===H.MAX_3DTEXT_PLAYER)throw new Error("[TextLabel]: Unable to create playerTextLabel");return z.has(C)||z.set(C,new Map),z.get(this.getPlayer()).set(this.id,this),this}destroy(){if(this.id===l._3DTEXT_ID)throw new Error("[TextLabel]: Unable to destroy the textLabel before create");if(this.isGlobal())D.skip||w.__inject__.delete(this.id),ke.delete(this.id);else{const t=this.getPlayerId();if(t===l.PLAYER_ID)return this;const i=this.getPlayer();if(D.skip||w.__inject__.deletePlayer(t,this.id),z.has(i)){const a=z.get(i);a.delete(this.id),a.size===0&&z.delete(i)}}return this._id=l._3DTEXT_ID,this}isGlobal(){return!(this.sourceInfo?this.sourceInfo.player:this._player)}isPlayer(){return!this.isGlobal()}getPlayer(){return this._player?this._player:this.sourceInfo&&this.sourceInfo.player?this.sourceInfo.player:null}getPlayerId(){const t=this.getPlayer();return t?t.id:l.PLAYER_ID}isValid(){return D.skip&&this.id!==l._3DTEXT_ID?!0:this.isGlobal()?w.isValid(this.id):w.isValid(this.id,this.getPlayerId())}attachToPlayer(t,i,a,r){if(this.id===l._3DTEXT_ID)return!1;if(!this.isGlobal())throw new Error("[TextLabel]: Unable to attach to player, textLabel is not global");return w.__inject__.attachToPlayer(this.id,t.id,i,a,r)}attachToVehicle(t,i,a,r){if(this.id===l._3DTEXT_ID)return!1;if(!this.isGlobal())throw new Error("[TextLabel]: Unable to attach to vehicle, textLabel is not global");return w.__inject__.attachToVehicle(this.id,t.id,i,a,r)}updateText(t,i,a="utf8"){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?w.__inject__.updateText(a,this.id,t,i):w.__inject__.updatePlayerText(a,this.getPlayerId(),this.id,t,i)}isStreamedIn(t){if(this.id===l._3DTEXT_ID)return!1;if(!this.isGlobal())throw new Error("[TextLabel]: Unable to check stream in, textLabel is not global");return w.__inject__.isStreamedIn(this.id,t.id)}getText(t=this.sourceInfo?.charset||"utf8"){return this.isGlobal()?w.__inject__.getText(t,this.id):w.__inject__.getPlayerText(t,this.getPlayerId(),this.id)}getColor(){return this.isGlobal()?w.__inject__.getColor(this.id):w.__inject__.getPlayerColor(this.getPlayerId(),this.id)}getPos(){return this.isGlobal()?w.__inject__.getPos(this.id):w.__inject__.getPlayerPos(this.getPlayerId(),this.id)}setDrawDistance(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?w.__inject__.setDrawDistance(this.id,t):w.__inject__.setPlayerDrawDistance(this.getPlayerId(),this.id,t)}getDrawDistance(){return this.isGlobal()?w.__inject__.getDrawDistance(this.id):w.__inject__.getPlayerDrawDistance(this.getPlayerId(),this.id)}getLOS(){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?w.__inject__.getLOS(this.id):w.__inject__.getPlayerLOS(this.getPlayerId(),this.id)}setLOS(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?w.__inject__.setLOS(this.id,t):w.__inject__.setPlayerLOS(this.getPlayerId(),this.id,t)}getVirtualWorld(){return this.id===l._3DTEXT_ID?0:this.isGlobal()?w.__inject__.getVirtualWorld(this.id):w.__inject__.getPlayerVirtualWorld(this.getPlayerId(),this.id)}setVirtualWorld(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?w.__inject__.setVirtualWorld(this.id,t):w.__inject__.setPlayerVirtualWorld(this.getPlayerId(),this.id,t)}getAttachedData(){return this.isGlobal()?w.__inject__.getAttachedData(this.id):w.__inject__.getPlayerAttachedData(this.getPlayerId(),this.id)}static isValid(t,i){return i===l.PLAYER_ID?!1:typeof i>"u"?w.__inject__.isValid(t):w.__inject__.isValidPlayer(i,t)}static getInstance(t,i){if(!i)return ke.get(t);if(i.id!==l.PLAYER_ID)return z.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...z.get(t)?.values()||[]]:[...ke.values()]}static getPlayersInstances(){return Array.from(z.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:GI,createPlayer:jI,getText:VI,getPlayerText:BI,updateText:FI,updatePlayerText:MI,delete:fm,attachToPlayer:Pm,attachToVehicle:pm,isStreamedIn:sm,getColor:lm,getPos:om,setDrawDistance:_m,getDrawDistance:cm,getLOS:dm,setLOS:hm,getVirtualWorld:gm,setVirtualWorld:um,getAttachedData:mm,isValid:nm,deletePlayer:bm,getPlayerColor:Sm,getPlayerPos:ym,setPlayerDrawDistance:Cm,getPlayerDrawDistance:Em,getPlayerLOS:Am,setPlayerLOS:Nm,getPlayerVirtualWorld:Dm,setPlayerVirtualWorld:Tm,getPlayerAttachedData:vm,isValidPlayer:Im}}tt.onDisconnect(({player:e,next:t})=>(z.has(e)&&(w.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),z.delete(e)),t())),x.onExit(({next:e})=>(w.getInstances().forEach(t=>t.destroy()),w.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),ke.clear(),z.clear(),e()));function iE(e,t){return(e&t)===t}function aE(e,t,i){return(e&i)===i&&(t&i)!==i}function rE(e,t){return!!(e&t)}function nE(e,t,i){return(e&i)!==i&&(t&i)===i}function sE(e){const t=new Set,i=e.prototype,a=Object.getOwnPropertyNames(i).filter(n=>typeof i[n]=="function"&&n!=="constructor").reduce((n,s)=>(n[s]=i[s],n),{});function r(n,s){if(t.has(n))throw new Error(`Method '${String(n)}' of class '${e.name}' has already been hooked. Each method can only be hooked once per defineHooks call. `);if(typeof Reflect.get(i,n)!="function")throw new Error(`Invalid method: ${String(n)}`);return Reflect.set(i,n,s),t.add(n),s}return[a,r]}exports.Actor=O,exports.ActorEvent=KC,exports.ArtworkEnum=vt,exports.BodyPartsEnum=kt,exports.BoneIdsEnum=xt,exports.BulletHitTypesEnum=zt,exports.CameraCutStylesEnum=Ye,exports.CameraModesEnum=Bt,exports.CarModTypeEnum=Wt,exports.CheckPointEvent=YC,exports.Checkpoint=Le,exports.ClickSourcesEnum=bt,exports.ConnectionStatusEnum=wt,exports.DamageDeathReasonEnum=mt,exports.Dialog=U,exports.DialogStylesEnum=dt,exports.Dynamic3DTextLabel=ee,exports.Dynamic3DTextLabelEvent=Jy,exports.DynamicActor=G,exports.DynamicActorEvent=Ky,exports.DynamicArea=v,exports.DynamicAreaEvent=aC,exports.DynamicCheckPointEvent=Gy,exports.DynamicCheckpoint=K,exports.DynamicMapIcon=ne,exports.DynamicMapIconEvent=yy,exports.DynamicObject=R,exports.DynamicObjectEvent=fy,exports.DynamicPickup=ie,exports.DynamicPickupEvent=Ty,exports.DynamicRaceCP=X,exports.DynamicRaceCPEvent=xy,exports.E_STREAMER=le,exports.EditResponseTypesEnum=Lt,exports.FightingStylesEnum=ht,exports.ForceSyncEnum=Ht,exports.GameMode=x,exports.GameText=be,exports.GangZone=b,exports.GangZoneEvent=RC,exports.I18n=E,exports.InvalidEnum=l,exports.KeysEnum=Rt,exports.LimitsEnum=H,exports.MapIconStyles=ot,exports.MapIconStylesEnum=Vt,exports.MarkerModesEnum=Ot,exports.MaterialTextAlign=Qt,exports.MaterialTextSizes=st,exports.Menu=k,exports.MenuEvent=NC,exports.NPCEntityCheckEnum=Ze,exports.NPCMoveSpeedEnum=Re,exports.NPCMoveTypeEnum=at,exports.NPCPlaybackEnum=Gt,exports.NPCRecordStatusEnum=jt,exports.NetStats=$,exports.Npc=u,exports.NpcEvent=CC,exports.NpcNode=Ue,exports.NpcPath=Ke,exports.NpcRecord=We,exports.ObjectMaterialAlignmentEnum=Mt,exports.ObjectMaterialTextSizeEnum=Ft,exports.ObjectMp=S,exports.ObjectMpEvent=xC,exports.PickUpEvent=tE,exports.Pickup=M,exports.Player=c,exports.PlayerEvent=tt,exports.PlayerStateEnum=ze,exports.RaceCheckpoint=we,exports.RaceCpEvent=$C,exports.RecordTypesEnum=Jt,exports.SelectObjectTypesEnum=ue,exports.SpecialActionsEnum=ut,exports.SpectateModesEnum=rt,exports.Streamer=A,exports.StreamerAreaTypes=$t,exports.StreamerDistances=V,exports.StreamerItemTypes=T,exports.StreamerMiscellaneous=P,exports.StreamerObjectTypes=nt,exports.TextDraw=f,exports.TextDrawAlignEnum=Ut,exports.TextDrawEvent=jC,exports.TextDrawFontsEnum=Je,exports.TextLabel=w,exports.Vehicle=p,exports.VehicleEvent=sy,exports.VehicleModelInfoEnum=Xt,exports.VehicleParamsEnum=Kt,exports.WeaponEnum=Zt,exports.WeaponSkillsEnum=Yt,exports.WeaponStatesEnum=gt,exports.animateLib=Ti,exports.defineEvent=m,exports.defineHooks=sE,exports.getAnimateDurationByLibName=fI,exports.isHolding=iE,exports.isPressed=aE,exports.isPressing=rE,exports.isReleased=nE,exports.isValidAnimateLib=St,exports.isValidAnimateName=yt,exports.rgba=N,exports.useTrigger=ts,exports.withTriggerOptions=is;
|