@infernus/core 0.14.1 → 0.14.2

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/dist/bundle.mjs CHANGED
@@ -1,3 +1,3 @@
1
1
  import Wi from"node:util";import Ui from"iconv-lite";var 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||{}),gt=(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))(gt||{}),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||{}),W=(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))(W||{}),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||{}),fe=(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))(fe||{}),ge=(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))(ge||{}),Fe=(e=>(e[e.AUTO=-1]="AUTO",e[e.WALK=.1552086]="WALK",e[e.JOG=.56444]="JOG",e[e.SPRINT=.926784]="SPRINT",e))(Fe||{}),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||{}),Pe=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(Pe||{}),ut=(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))(ut||{}),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||{}),Qe=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(Qe||{}),kt=(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))(kt||{}),st=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(st||{}),qe=(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))(qe||{}),Bt=(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))(Bt||{}),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||{}),Wt=(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))(Wt||{}),et=(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))(et||{}),Ut=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(Ut||{}),Kt=(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))(Kt||{}),G=(e=>(e[e.UNSET=-1]="UNSET",e[e.OFF=0]="OFF",e[e.ON=1]="ON",e))(G||{}),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.DOWN=0]="DOWN",e[e.UP=1]="UP",e))(Zt||{}),Yt=(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))(Yt||{}),zt=(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))(zt||{}),Jt=(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))(Jt||{}),mt=(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))(mt||{}),ft=(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))(ft||{}),$t=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))($t||{}),Qt=(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))(Qt||{}),k=(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))(k||{}),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||{}),lt=(e=>(e[e.GLOBAL=0]="GLOBAL",e[e.PLAYER=1]="PLAYER",e[e.DYNAMIC=2]="DYNAMIC",e))(lt||{}),_e=(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))(_e||{}),qt=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(qt||{}),ot=(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))(ot||{});const ei=-1,Ki=-1,Xi=-1,Zi=-1,Yi=0,zi=-1e3,Ji=-1e3,$i=-1e3,Qi=0,ti=32,qi=300,ea=!0,_t=1,ta=e=>samp.callNative("DestroyDynamic3DTextLabel","i",e),ii=e=>!!samp.callNative("IsValidDynamic3DTextLabel","i",e),ia=(e,t,i,a,r,n=!0,s=100,o=0,_=-1,d=-1,h=k.ACTOR_SD,u=-1,I=0)=>samp.callNative("CreateDynamicActor","iffffifiiifii",e,t,i,a,r,n,s,o,_,d,h,u,I),aa=e=>samp.callNative("DestroyDynamicActor","i",e),ra=e=>!!samp.callNative("IsValidDynamicActor","i",e),na=(e,t)=>!!samp.callNative("IsDynamicActorStreamedIn","ii",e,t),sa=e=>samp.callNative("GetDynamicActorVirtualWorld","i",e),la=(e,t)=>samp.callNative("SetDynamicActorVirtualWorld","ii",e,t),oa=(e,t,i,a,r,n,s,o,_)=>samp.callNative("ApplyDynamicActorAnimation","issfiiiii",e,t,i,a,r,n,s,o,_),_a=e=>samp.callNative("ClearDynamicActorAnimations","i",e),ca=e=>{const[t,i]=samp.callNative("GetDynamicActorFacingAngle","iF",e);return{angle:t,ret:i}},da=(e,t)=>samp.callNative("SetDynamicActorFacingAngle","if",e,t),ha=e=>{const[t,i,a,r]=samp.callNative("GetDynamicActorPos","iFFF",e);return{x:t,y:i,z:a,ret:r}},ga=(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}},ma=(e,t)=>samp.callNative("SetDynamicActorHealth","if",e,t),fa=(e,t=!0)=>samp.callNative("SetDynamicActorInvulnerable","ii",e,t),Pa=e=>!!samp.callNative("IsDynamicActorInvulnerable","i",e),pa=e=>samp.callNative("GetPlayerTargetDynamicActor","i",e),Ia=e=>samp.callNative("GetPlayerCameraTargetDynActor","i",e),Ca=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}},ya=(e,t,i,a=-1,r=-1,n=-1,s=0)=>samp.callNative("CreateDynamicCircle","fffiiii",e,t,i,a,r,n,s),Sa=(e,t,i,a,r,n=-1,s=-1,o=-1,_=0)=>samp.callNative("CreateDynamicCylinder","fffffiiii",e,t,i,a,r,n,s,o,_),Ea=(e,t,i,a,r=-1,n=-1,s=-1,o=0)=>samp.callNative("CreateDynamicSphere","ffffiiii",e,t,i,a,r,n,s,o),Aa=(e,t,i,a,r=-1,n=-1,s=-1,o=0)=>samp.callNative("CreateDynamicRectangle","ffffiiii",e,t,i,a,r,n,s,o),Na=(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),Da=(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),Ta=e=>samp.callNative("DestroyDynamicArea","i",e),va=e=>!!samp.callNative("IsValidDynamicArea","i",e),ba=e=>samp.callNative("GetDynamicAreaType","i",e),La=e=>{const[t,i]=samp.callNative("GetDynamicPolygonPoints","iAi",e,ai(e));return{points:t,ret:i}},ai=e=>samp.callNative("GetDynamicPolygonNumberPoints","i",e),wa=(e,t,i=!1)=>!!samp.callNative("IsPlayerInDynamicArea","iii",e,t,i),Ra=(e,t=!1)=>!!samp.callNative("IsPlayerInAnyDynamicArea","ii",e,t),Oa=(e,t=!1)=>!!samp.callNative("IsAnyPlayerInDynamicArea","ii",e,t),Ga=(e=!1)=>!!samp.callNative("IsAnyPlayerInAnyDynamicArea","i",e),ja=e=>{const[t,i]=samp.callNative("GetPlayerDynamicAreas","iAi",e,ri(e));return{areas:t,ret:i}},ri=e=>samp.callNative("GetPlayerNumberDynamicAreas","i",e),Fa=(e,t,i,a)=>!!samp.callNative("IsPointInDynamicArea","ifff",e,t,i,a),Ma=(e,t,i)=>!!samp.callNative("IsPointInAnyDynamicArea","fff",e,t,i),Va=(e,t,i,a,r,n,s)=>!!samp.callNative("IsLineInDynamicArea","iffffff",e,t,i,a,r,n,s),ka=(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,ni(e,t,i));return{areas:a,ret:r}},ni=(e,t,i)=>samp.callNative("GetNumberDynamicAreasForPoint","fff",e,t,i),xa=(e,t,i,a,r,n)=>{const[s,o]=samp.callNative("GetDynamicAreasForLine","ffffffAi",e,t,i,a,r,n,si(e,t,i,a,r,n));return{areas:s,ret:o}},si=(e,t,i,a,r,n)=>samp.callNative("GetNumberDynamicAreasForLine","ffffff",e,t,i,a,r,n),Ha=(e,t,i=lt.DYNAMIC,a=65535,r=0,n=0,s=0)=>samp.callNative("AttachDynamicAreaToObject","iiiifff",e,t,i,a,r,n,s),Wa=(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),Ka=(e,t)=>samp.callNative("ToggleDynAreaSpectateMode","ii",e,t),Xa=e=>!!samp.callNative("IsToggleDynAreaSpectateMode","i",e),Za=(e,t,i,a,r=-1,n=-1,s=-1,o=k.CP_SD,_=-1,d=0)=>samp.callNative("CreateDynamicCP","ffffiiifii",e,t,i,a,r,n,s,o,_,d),Ya=e=>samp.callNative("DestroyDynamicCP","i",e),Pt=e=>!!samp.callNative("IsValidDynamicCP","i",e),za=(e,t,i)=>samp.callNative("TogglePlayerDynamicCP","iii",e,t,i),Ja=(e,t)=>samp.callNative("TogglePlayerAllDynamicCPs","ii",e,t),$a=(e,t)=>!!samp.callNative("IsPlayerInDynamicCP","ii",e,t),Qa=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}},er=(e,t,i,a)=>samp.callNative("Streamer_SetFloatData","iiif",e,t,i,a),tr=(e,t,i)=>samp.callNative("Streamer_GetIntData","iii",e,t,i),ir=(e,t,i,a)=>samp.callNative("Streamer_SetIntData","iiii",e,t,i,a),ar=(e,t,i)=>{const[a,r]=samp.callNative("Streamer_GetArrayData","iiiAi",e,t,i,li(e,t,i));return{arrayData:a,ret:r}},rr=(e,t,i,a)=>samp.callNative("Streamer_SetArrayData","iiiai",e,t,i,a,a.length),nr=(e,t,i,a)=>!!samp.callNative("Streamer_IsInArrayData","iiii",e,t,i,a),sr=(e,t,i,a)=>samp.callNative("Streamer_AppendArrayData","iiii",e,t,i,a),lr=(e,t,i,a)=>samp.callNative("Streamer_RemoveArrayData","iiii",e,t,i,a),li=(e,t,i)=>samp.callNative("Streamer_GetArrayDataLength","iii",e,t,i),or=e=>samp.callNative("Streamer_GetUpperBound","i",e);var ct=(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))(ct||{});const _r=(e,t,i,a,r,n=-1,s=-1,o=-1,_=k.MAP_ICON_SD,d=0,h=-1,u=0)=>samp.callNative("CreateDynamicMapIcon","fffiiiiifiii",e,t,i,a,r,n,s,o,_,d,h,u),cr=e=>samp.callNative("DestroyDynamicMapIcon","i",e),dr=e=>!!samp.callNative("IsValidDynamicMapIcon","i",e),hr=(e,t,i,a,r,n,s,o=k.OBJECT_SD,_=k.OBJECT_DD,d=[-1],h=[-1],u=[-1],I=[-1],S=0)=>samp.callNative("CreateDynamicObjectEx","iffffffffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,u,I,S,d.length,h.length,u.length,I.length),gr=(e,t,i,a,r,n=k.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=k.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),mr=(e,t,i,a,r,n,s,o,_=k.RACE_CP_SD,d=[-1],h=[-1],u=[-1],I=[-1],S=0)=>samp.callNative("CreateDynamicRaceCPEx","iffffffffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,u,I,S,d.length,h.length,u.length,I.length),fr=(e,t,i,a,r,n=ct.LOCAL,s=k.MAP_ICON_SD,o=[-1],_=[-1],d=[-1],h=[-1],u=0)=>samp.callNative("CreateDynamicMapIconEx","fffiiifaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,u,o.length,_.length,d.length,h.length),Pr=(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,_),Ir=(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),Cr=(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),yr=(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),Sr=(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),Er=(e,t,i,a,r,n=!0,s=100,o=k.ACTOR_SD,_=[0],d=[-1],h=[-1],u=[-1],I=0)=>samp.callNative("CreateDynamicActorEx","iffffiffaaaaiiiii",e,t,i,a,r,n,s,o,_,d,h,u,I,_.length,d.length,h.length,u.length),Ar=(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}},Nr=(e,t,i,a)=>samp.callNative("Streamer_ToggleItem","iiii",e,t,i,a),Dr=(e,t,i)=>!!samp.callNative("Streamer_IsToggleItem","iii",e,t,i),Tr=(e,t,i,a=[-1])=>samp.callNative("Streamer_ToggleAllItems","iiiai",e,t,i,a,a.length),vr=(e,t,i)=>samp.callNative("Streamer_GetItemInternalID","iii",e,t,i),br=(e,t,i)=>samp.callNative("Streamer_GetItemStreamerID","iii",e,t,i),Lr=(e,t,i)=>!!samp.callNative("Streamer_IsItemVisible","iii",e,t,i),wr=(e,t,i=_t)=>samp.callNative("Streamer_DestroyAllVisibleItems","iii",e,t,i),Rr=(e,t,i=_t)=>samp.callNative("Streamer_CountVisibleItems","iii",e,t,i),Or=(e,t=_t)=>samp.callNative("Streamer_DestroyAllItems","ii",e,t),Gr=(e,t=_t)=>samp.callNative("Streamer_CountItems","ii",e,t),jr=(e,t,i,a,r=ti,n=qi,s=ei)=>{const[o=[],_=0]=samp.callNative("Streamer_GetNearbyItems","fffiAifi",e,t,i,a,r,n,s);return o.slice(0,_)},Fr=(e,t,i=ti)=>{const[a=[],r=0]=samp.callNative("Streamer_GetAllVisibleItems","iiAi",e,t,i);return a.slice(0,r)},Mr=(e,t)=>{const[i,a,r,n]=samp.callNative("Streamer_GetItemPos","iiFFF",e,t);return{x:i,y:a,z:r,ret:n}},Vr=(e,t,i,a,r)=>samp.callNative("Streamer_SetItemPos","iifff",e,t,i,a,r),kr=(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),xr=(e,t,i,a,r,n,s,o=ei,_=Ki,d=Xi,h=k.OBJECT_SD,u=k.OBJECT_DD,I=Zi,S=Yi)=>samp.callNative("CreateDynamicObject","iffffffiiiffii",e,t,i,a,r,n,s,o,_,d,h,u,I,S),Hr=e=>samp.callNative("DestroyDynamicObject","i",e),Wr=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}},Kr=(e,t,i,a)=>samp.callNative("SetDynamicObjectPos","ifff",e,t,i,a),Xr=e=>{const[t,i,a,r]=samp.callNative("GetDynamicObjectRot","iFFF",e);return{rx:t,ry:i,rz:a,ret:r}},Zr=(e,t,i,a)=>samp.callNative("SetDynamicObjectRot","ifff",e,t,i,a),Yr=(e,t,i,a,r,n=zi,s=Ji,o=$i)=>samp.callNative("MoveDynamicObject","ifffffff",e,t,i,a,r,n,s,o),zr=e=>samp.callNative("StopDynamicObject","i",e),Jr=e=>!!samp.callNative("IsDynamicObjectMoving","i",e),$r=(e,t)=>samp.callNative("AttachCameraToDynamicObject","ii",e,t),Qr=(e,t,i,a,r,n,s,o,_=ea)=>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),en=(e,t,i,a,r,n,s,o)=>samp.callNative("AttachDynamicObjectToVehicle","iiffffff",e,t,i,a,r,n,s,o),tn=(e,t)=>samp.callNative("EditDynamicObject","ii",e,t),an=(e,t)=>!!samp.callNative("IsDynamicObjectMaterialUsed","ii",e,t),rn=(e,t)=>samp.callNative("RemoveDynamicObjectMaterial","ii",e,t),nn=(e,t,i,a,r,n=Qi)=>samp.callNative("SetDynamicObjectMaterial","iiissi",e,t,i,a,r,n),sn=(e,t)=>!!samp.callNative("IsDynamicObjectMaterialTextUsed","ii",e,t),ln=(e,t)=>samp.callNative("RemoveDynamicObjectMaterialText","ii",e,t),on=e=>samp.callNative("GetPlayerCameraTargetDynObject","i",e),_n=e=>!!samp.callNative("SetDynamicObjectNoCameraCol","i",e),cn=e=>!!samp.callNative("GetDynamicObjectNoCameraCol","i",e),dn=(e,t,i,a,r,n=-1,s=-1,o=-1,_=k.PICKUP_SD,d=-1,h=0)=>samp.callNative("CreateDynamicPickup","iifffiiifii",e,t,i,a,r,n,s,o,_,d,h),hn=e=>!!samp.callNative("DestroyDynamicPickup","i",e),gn=e=>!!samp.callNative("IsValidDynamicPickup","i",e),un=(e,t,i,a,r,n,s,o,_=-1,d=-1,h=-1,u=k.RACE_CP_SD,I=-1,S=0)=>samp.callNative("CreateDynamicRaceCP","ifffffffiiifii",e,t,i,a,r,n,s,o,_,d,h,u,I,S),mn=e=>samp.callNative("DestroyDynamicRaceCP","i",e),fn=(e,t,i)=>samp.callNative("TogglePlayerDynamicRaceCP","iii",e,t,i),Pn=(e,t)=>samp.callNative("TogglePlayerAllDynamicRaceCPs","ii",e,t),pn=(e,t)=>!!samp.callNative("IsPlayerInDynamicRaceCP","ii",e,t),In=e=>samp.callNative("GetPlayerVisibleDynamicRaceCP","i",e),Cn=()=>samp.callNative("Streamer_GetTickRate",""),yn=(e=50)=>samp.callNative("Streamer_SetTickRate","i",e),Sn=e=>samp.callNative("Streamer_GetPlayerTickRate","i",e),En=(e,t=50)=>samp.callNative("Streamer_SetPlayerTickRate","ii",e,t),An=(e=!1)=>samp.callNative("Streamer_ToggleChunkStream","i",e),Nn=()=>!!samp.callNative("Streamer_IsToggleChunkStream",""),oi=(e,t=-1)=>samp.callNative("Streamer_GetChunkTickRate","ii",e,t),_i=(e,t,i=-1)=>samp.callNative("Streamer_SetChunkTickRate","iii",e,t,i),Dn=e=>samp.callNative("Streamer_GetChunkSize","i",e),Tn=(e,t)=>samp.callNative("Streamer_SetChunkSize","ii",e,t),vn=e=>samp.callNative("Streamer_GetMaxItems","i",e),bn=(e,t)=>samp.callNative("Streamer_SetMaxItems","ii",e,t),ci=(e,t=-1)=>samp.callNative("Streamer_GetVisibleItems","ii",e,t),di=(e,t,i=-1)=>samp.callNative("Streamer_SetVisibleItems","iii",e,t,i),hi=(e,t=-1)=>{const[i,a]=samp.callNative("Streamer_GetRadiusMultiplier","iFi",e,t);return{multiplier:i,ret:a}},gi=(e,t,i=-1)=>samp.callNative("Streamer_SetRadiusMultiplier","ifi",e,t,i),Ln=()=>{const[e,t]=samp.callNative("Streamer_GetTypePriority","Ai",P.MAX_TYPES);return{priority:e,ret:t}},wn=e=>samp.callNative("Streamer_SetTypePriority","ai",e,P.MAX_TYPES),Rn=()=>{const[e,t]=samp.callNative("Streamer_GetCellDistance","F");return{distance:e,ret:t}},On=(e=600)=>samp.callNative("Streamer_SetCellDistance","f",e),Gn=()=>{const[e,t]=samp.callNative("Streamer_GetCellSize","F");return{size:e,ret:t}},jn=(e=300)=>samp.callNative("Streamer_SetCellSize","f",e),Fn=(e,t,i)=>samp.callNative("Streamer_ToggleItemStatic","iii",e,t,i),Mn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemStatic","ii",e,t),Vn=(e,t,i)=>samp.callNative("Streamer_ToggleItemInvAreas","iii",e,t,i),kn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemInvAreas","ii",e,t),Bn=(e,t,i)=>samp.callNative("Streamer_ToggleItemCallbacks","iii",e,t,i),xn=(e,t)=>!!samp.callNative("Streamer_IsToggleItemCallbacks","ii",e,t),Hn=e=>samp.callNative("Streamer_ToggleErrorCallback","i",e),Wn=()=>!!samp.callNative("Streamer_IsToggleErrorCallback",""),Un=e=>samp.callNative("Streamer_AmxUnloadDestroyItems","i",e),Kn=()=>samp.callNative("Streamer_ProcessActiveItems",""),Xn=(e,t)=>samp.callNative("Streamer_ToggleIdleUpdate","ii",e,t),Zn=e=>!!samp.callNative("Streamer_IsToggleIdleUpdate","i",e),Yn=(e,t)=>samp.callNative("Streamer_ToggleCameraUpdate","ii",e,t),zn=e=>!!samp.callNative("Streamer_IsToggleCameraUpdate","i",e),Jn=(e,t,i)=>samp.callNative("Streamer_ToggleItemUpdate","iii",e,t,i),$n=(e,t)=>!!samp.callNative("Streamer_IsToggleItemUpdate","ii",e,t),Qn=()=>{const[e,t]=samp.callNative("Streamer_GetLastUpdateTime","F");return{time:e,ret:t}},qn=(e,t=-1)=>samp.callNative("Streamer_Update","ii",e,t),es=(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,_),ee=new Map,ui=new Map;function ts(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function mi(e,t,...i){const{defaultValue:a=!0,name:r,beforeEach:n,afterEach:s,throwOnError:o=!1}=e,_=ee.get(r);if(!_||!_.length)return+a;const d=n?n(...i):{},h=[];let u=t;const I=()=>{s&&(h.length?Promise.allSettled(h).then(()=>s(d)):s(d))},S=y=>{if(u++,u<_.length){try{y&&Object.assign(d,y);const L={next:S,defaultValue:a,...d},M=_[u](L);return M instanceof Promise?(h.push(M),a):M}catch(L){const M=`executing event [name:${r},index:${u}]`;if(o)throw new Error(M);console.log(M),L instanceof Error?console.log(L):console.log(JSON.stringify(L)),I()}return a}return I(),a};return ts(S(),a)}function m(e){const{name:t,identifier:i,isNative:a=!0}=e;if(ee.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=ee.get(t);if(h&&h.length){const u=h.indexOf(_.skipToNext);u>-1&&(d=u)}}return mi(e,d,..._.args)}return mi(e,-1,...o)}function n(o,_=!1){ee.has(t)||ee.set(t,[]);const d=ee.get(t),h=(_?d.unshift(o):d.push(o))-1;return()=>{const u=ee.get(t);if(!u)return;const I=u.length-1,S=I<h?I:h;for(let y=S;y>=0;y--)if(u[y]===o){u.splice(y,1);break}return u.length===0&&ee.delete(t),u.length}}const s=[n,r];return a&&(typeof i<"u"&&samp.registerEvent(t,i),samp.on(t,r)),ui.set(t,r),s}function is(e){return ui.get(e)}function as(e){return Object.assign(e,{__trigger__:!0})}function fi(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 rs(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 dt(e){return e==="__proto__"}function tt(e,t){const i=Object.keys(t);for(let a=0;a<i.length;a++){const r=i[a];if(dt(r))continue;const n=t[r],s=e[r];Array.isArray(n)?Array.isArray(s)?e[r]=tt(s,n):e[r]=tt([],n):fi(n)?fi(s)?e[r]=tt(s,n):e[r]=tt({},n):(s===void 0||n!==void 0)&&(e[r]=n)}return e}function ns(e,t){const i={...e};for(let a=0;a<t.length;a++){const r=t[a];delete i[r]}return i}const ss=new RegExp("\\p{Lu}?\\p{Ll}+|[0-9]+|\\p{Lu}+(?!\\p{Ll})|\\p{Emoji_Presentation}|\\p{Extended_Pictographic}|\\p{L}+","gu");function ls(e){return Array.from(e.match(ss)??[])}function pt(e){return ls(e).map(i=>i.toLowerCase()).join("_")}function os(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function Pi(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 _s(e){if(Array.isArray(e))return e.map(Pi);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 It(e,t,i){if(e==null)return i;switch(typeof t){case"string":{if(dt(t))return i;const a=e[t];return a===void 0?os(t)?It(e,_s(t),i):i:a}case"number":case"symbol":{typeof t=="number"&&(t=Pi(t));const a=e[t];return a===void 0?i:a}default:{if(Array.isArray(t))return cs(e,t,i);if(Object.is(t?.valueOf(),-0)?t="-0":t=String(t),dt(t))return i;const a=e[t];return a===void 0?i:a}}}function cs(e,t,i){if(t.length===0)return i;let a=e;for(let r=0;r<t.length;r++){if(a==null||dt(t[r]))return i;a=a[t[r]]}return a===void 0?i:a}const{encode:ds,decode:hs,encodingExists:gs}=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=>{tt(this.locales,E.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=ns(this.locales,t)};$t=(t,i,a=this.defaultLocale)=>{const r=this.locales[pt(a)],n=It(this.locales[this.defaultLocale],t),s=It(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=Wi.format(o,...i)),o};static isValidate(t){if(!gs(t))throw new Error(`[i18n]: unknown charset ${t}`)}static encodeToBuf(t,i){return E.isValidate(i),[...ds(t,i),0]}static decodeFromBuf(t,i="utf8"){E.isValidate(i);const a=us(t)?t:Buffer.from(E.getValidStr(t));return hs(a,i)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return rs(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 ms=e=>!!samp.callNative("IsValidNickName","s",e),fs=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},Ps=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),ps=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),Is=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),Cs=e=>!!samp.callNative("IsValidServerRule","s",e),ys=e=>!!samp.callNative("RemoveServerRule","s",e),Ss=e=>{samp.callNative("AllowAdminTeleport","i",e)},Es=()=>!!samp.callNative("IsAdminTeleportAllowed",""),As=e=>{samp.callNative("AllowInteriorWeapons","i",e)},Ns=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),Ds=()=>!!samp.callNative("AreAllAnimationsEnabled",""),Ts=e=>{samp.callNative("EnableAllAnimations","i",e)},vs=e=>{const[t,i]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return{consoleVarBuf:t,ret:i}},bs=e=>samp.callNative("GetConsoleVarAsInt","s",e),Ls=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),ws=()=>samp.callNative("GetWeather",""),Rs=e=>samp.callNative("GetServerRuleFlags","s",e),Os=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),Gs=e=>!!samp.callNative("SetModeRestartTime","f",e),js=()=>samp.callNativeFloat("GetModeRestartTime",""),Fs=(e,t,i)=>!!samp.callNative("GameTextForAll","aii",e,t,i),Ms=e=>!!samp.callNative("HideGameTextForAll","i",e),Vs=(e,t,i)=>!!samp.callNative("SendDeathMessage","iii",e,t,i),ks=()=>samp.callNative("GetMaxPlayers",""),Ct=(e,t,i)=>Math.sqrt(e*e+t*t+i*i),Bs=e=>!!samp.callNative("SetGameModeText","s",e),xs=e=>{samp.callNative("ShowNameTags","i",e)},Hs=e=>{samp.callNative("ShowPlayerMarkers","i",e)},Ws=e=>{samp.callNative("SetWorldTime","i",e)},Us=()=>samp.callNative("GetWorldTime",""),Ks=()=>{samp.callNative("EnableVehicleFriendlyFire","")},Xs=e=>{samp.callNative("SetWeather","i",e)},Zs=()=>samp.callNativeFloat("GetGravity",""),Ys=e=>{samp.callNative("SetGravity","f",e)},zs=(e,t,i,a,r)=>!!samp.callNative("CreateExplosion","fffif",e,t,i,a,r),Js=e=>{samp.callNative("EnableZoneNames","i",e)},$s=()=>{samp.callNative("UsePlayerPedAnims","")},Qs=()=>{samp.callNative("DisableInteriorEnterExits","")},qs=e=>{samp.callNative("SetNameTagDrawDistance","f",e)},el=()=>{samp.callNative("DisableNameTagLOS","")},tl=e=>!!samp.callNative("LimitGlobalChatRadius","f",e),il=e=>!!samp.callNative("LimitPlayerMarkerRadius","f",e),al=()=>samp.callNative("GetServerTickRate",""),rl=e=>{const[t,i,a]=samp.callNative("GetAnimationName","iSiSi",e,32,32);return{animLib:t,animName:i,ret:!!a}},nl=e=>{samp.callNative("EnableStuntBonusForAll","i",e)},sl=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},ll=()=>!!samp.callNative("ChatTextReplacementToggled",""),ol=e=>samp.callNative("GetWeaponSlot","i",e),_l=e=>{const[t,i]=samp.callNative("GetWeaponName","iSi",e,32);return{name:t,ret:!!i}},cl=()=>samp.callNative("GetAvailableClasses",""),dl=e=>{const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[i,a=0,r=0,n=0,s=0,o=0,_=0,d=0,h=0,u=0,I=0,S=0,y]=t;return{teamId:i,modelId:a,spawnX:r,spawnY:n,spawnZ:s,zAngle:o,weapon1:_,weapon1Ammo:d,weapon2:h,weapon2Ammo:u,weapon3:I,weapon3Ammo:S,ret:!!y}},hl=(e,t,i,a,r,n,s,o,_,d,h,u,I)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,i,a,r,n,s,o,_,d,h,u,I),gl=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),ml=(e,t,i,a,r,n,s,o,_,d,h,u)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,i,a,r,n,s,o,_,d,h,u),fl=(e,t,i,a,r,n,s,o,_,d,h,u,I)=>!!samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,i,a,r,n,s,o,_,d,h,u,I),Pl=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,u=0,I=0,S]=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:u,weapon3Ammo:I,ret:!!S}},Il=e=>samp.callNative("NetStats_GetConnectedTime","i",e),Cl=e=>samp.callNative("NetStats_MessagesReceived","i",e),yl=e=>samp.callNative("NetStats_BytesReceived","i",e),Sl=e=>samp.callNative("NetStats_MessagesSent","i",e),El=e=>samp.callNative("NetStats_BytesSent","i",e),Al=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),Nl=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),Dl=e=>samp.callNative("NetStats_ConnectionStatus","i",e),Tl=e=>{const[t,i]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return{ipPort:t,ret:i}},vl=e=>!!samp.callNative("IsPlayerAdmin","i",e),bl=(e,t)=>!!samp.callNative("SetPlayerAdmin","ii",e,t),Ll=e=>!!samp.callNative("Kick","i",e),wl=e=>!!samp.callNative("Ban","i",e),Rl=e=>{const[t,i]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return{stats:t,ret:!!i}},Ol=()=>{const[e,t]=samp.callNative("GetNetworkStats","Si",1024);return{stats:e,ret:!!t}},Gl=(e,t)=>!!samp.callNative("BlockIpAddress","si",e,t),jl=e=>!!samp.callNative("UnBlockIpAddress","s",e),Fl=(e,t)=>{const[i,a]=samp.callNative("gpci","iAi",e,41);return{val:E.decodeFromBuf(E.getValidStr(i),t),ret:a}},Ml=(e,t,i,a,r)=>!!samp.callNative("SendClientCheck","iiiii",e,t,i,a,r),Vl=()=>!!samp.callNative("ClearBanList",""),kl=e=>!!samp.callNative("IsBanned","s",e),Bl=e=>samp.callNative("GetPlayerRawIp","i",e),xl=e=>{const[t,i]=samp.callNative("GetPlayerIp","iSi",e,128);return{ip:t,ret:i}},Hl=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},Wl=(e,t)=>!!samp.callNative("TogglePlayerWidescreen","ii",e,t),Ul=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),Kl=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),Xl=e=>samp.callNative("GetPlayerWeather","i",e),Zl=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}},Yl=e=>samp.callNativeFloat("GetPlayerZAim","i",e),zl=e=>{const[t=0,i=0,a=0,r]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:i,fOffsetZ:a,ret:!!r}},Jl=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}},$l=e=>samp.callNative("GetPlayerDialogID","i",e),Ql=e=>samp.callNative("GetPlayerSpectateID","i",e),ql=e=>samp.callNative("GetPlayerSpectateType","i",e),eo=(e,t)=>!!samp.callNative("SetPlayerGravity","if",e,t),to=e=>samp.callNativeFloat("GetPlayerGravity","i",e),io=e=>!!samp.callNative("IsPlayerSpawned","i",e),ao=e=>!!samp.callNative("IsPlayerControllable","i",e),ro=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),no=(e,t)=>!!samp.callNative("TogglePlayerGhostMode","ii",e,t),so=e=>!!samp.callNative("GetPlayerGhostMode","i",e),lo=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),oo=(e,t)=>!!samp.callNative("RemovePlayerWeapon","ii",e,t),_o=e=>!!samp.callNative("HidePlayerDialog","i",e),co=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),ho=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),go=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),uo=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),mo=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),fo=(e,t,i,a)=>!!samp.callNative("GameTextForPlayer","iaii",e,t,i,a),Po=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),po=(e,t,i,a)=>!!samp.callNative("SendDeathMessageToPlayer","iiii",e,t,i,a),Io=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),Co=e=>!!samp.callNative("IsPlayerNPC","i",e),yo=(e,t,i,a)=>!!samp.callNative("SetPlayerPos","ifff",e,t,i,a),So=(e,t,i,a)=>!!samp.callNative("SetPlayerPosFindZ","ifff",e,t,i,a),Eo=e=>{const[t,i,a,r]=samp.callNative("GetPlayerPos","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},Ao=(e,t)=>!!samp.callNative("SetPlayerFacingAngle","if",e,t),No=e=>{const[t,i]=samp.callNative("GetPlayerFacingAngle","iF",e);return{angle:t,ret:!!i}},Do=(e,t,i,a,r)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,i,a,r),To=(e,t,i,a)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,i,a),vo=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),bo=(e,t)=>!!samp.callNative("SetPlayerInterior","ii",e,t),Lo=e=>samp.callNative("GetPlayerInterior","i",e),wo=(e,t)=>!!samp.callNative("SetPlayerHealth","if",e,t),Ro=e=>{const[t,i]=samp.callNative("GetPlayerHealth","iF",e);return{health:t,ret:!!i}},Oo=(e,t)=>!!samp.callNative("SetPlayerArmour","if",e,t),Go=e=>{const[t,i]=samp.callNative("GetPlayerArmour","iF",e);return{armour:t,ret:!!i}},jo=(e,t,i)=>!!samp.callNative("SetPlayerAmmo","iii",e,t,i),Fo=e=>samp.callNative("GetPlayerAmmo","i",e),Mo=e=>samp.callNative("GetPlayerWeaponState","i",e),Vo=e=>samp.callNative("GetPlayerTargetPlayer","i",e),ko=(e,t)=>!!samp.callNative("SetPlayerTeam","ii",e,t),Bo=e=>samp.callNative("GetPlayerTeam","i",e),xo=(e,t)=>!!samp.callNative("SetPlayerScore","ii",e,t),Ho=e=>samp.callNative("GetPlayerScore","i",e),Wo=e=>samp.callNative("GetPlayerDrunkLevel","i",e),Uo=(e,t)=>!!samp.callNative("SetPlayerDrunkLevel","ii",e,t),Ko=(e,t)=>!!samp.callNative("SetPlayerColor","ii",e,N(t)),Xo=e=>samp.callNative("GetPlayerColor","i",e),Zo=(e,t)=>!!samp.callNative("SetPlayerSkin","ii",e,t),Yo=e=>samp.callNative("GetPlayerSkin","i",e),zo=(e,t,i)=>!!samp.callNative("GivePlayerWeapon","iii",e,t,i),Jo=e=>!!samp.callNative("ResetPlayerWeapons","i",e),$o=(e,t)=>!!samp.callNative("SetPlayerArmedWeapon","ii",e,t),Qo=(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),e_=e=>!!samp.callNative("ResetPlayerMoney","i",e),t_=e=>samp.callNative("GetPlayerMoney","i",e),i_=e=>samp.callNative("GetPlayerState","i",e),a_=e=>samp.callNative("GetPlayerPing","i",e),r_=e=>samp.callNative("GetPlayerWeapon","i",e),n_=e=>{const[t,i,a,r]=samp.callNative("GetPlayerKeys","iIII",e);return{keys:t,upDown:i,leftRight:a,ret:!!r}},s_=(e,t,i)=>!!samp.callNative("SetPlayerTime","iii",e,t,i),l_=e=>{const[t,i,a]=samp.callNative("GetPlayerTime","iII",e);return{hour:t,minute:i,ret:!!a}},o_=(e,t)=>!!samp.callNative("TogglePlayerClock","ii",e,t),__=(e,t)=>!!samp.callNative("SetPlayerWeather","ii",e,t),c_=e=>!!samp.callNative("ForceClassSelection","i",e),d_=(e,t)=>!!samp.callNative("SetPlayerWantedLevel","ii",e,t),h_=e=>samp.callNative("GetPlayerWantedLevel","i",e),g_=(e,t)=>!!samp.callNative("SetPlayerFightingStyle","ii",e,t),u_=e=>samp.callNative("GetPlayerFightingStyle","i",e),m_=(e,t,i,a)=>!!samp.callNative("SetPlayerVelocity","ifff",e,t,i,a),f_=e=>{const[t,i,a,r]=samp.callNative("GetPlayerVelocity","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},P_=(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),I_=e=>!!samp.callNative("StopAudioStreamForPlayer","i",e),C_=(e,t)=>!!samp.callNative("SetPlayerShopName","is",e,t),y_=(e,t,i)=>!!samp.callNative("SetPlayerSkillLevel","iii",e,t,i),S_=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),E_=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),A_=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),N_=(e,t,i,a,r,n)=>!!samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,i,a,r,n),D_=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}},T_=(e,t,i)=>!!samp.callNative("PutPlayerInVehicle","iii",e,t,i),v_=e=>samp.callNative("GetPlayerVehicleID","i",e),b_=e=>samp.callNative("GetPlayerVehicleSeat","i",e),L_=e=>!!samp.callNative("RemovePlayerFromVehicle","i",e),w_=(e,t)=>!!samp.callNative("TogglePlayerControllable","ii",e,t),R_=(e,t,i,a,r)=>!!samp.callNative("PlayerPlaySound","iifff",e,t,i,a,r),O_=(e,t,i,a,r,n,s,o,_,d)=>!!samp.callNative("ApplyAnimation","issfiiiiii",e,t,i,a,r,n,s,o,_,d),G_=(e,t)=>!!samp.callNative("ClearAnimations","ii",e,t),j_=e=>samp.callNative("GetPlayerAnimationIndex","i",e),F_=e=>samp.callNative("GetPlayerSpecialAction","i",e),M_=(e,t)=>!!samp.callNative("SetPlayerSpecialAction","ii",e,t),V_=(e,t)=>!!samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),k_=(e,t)=>!!samp.callNative("SetPlayerVirtualWorld","ii",e,t),B_=e=>samp.callNative("GetPlayerVirtualWorld","i",e),x_=(e,t)=>!!samp.callNative("EnableStuntBonusForPlayer","ii",e,t),H_=e=>samp.callNative("GetPlayerCustomSkin","i",e),W_=(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),K_=e=>!!samp.callNative("StopRecordingPlayerData","i",e),X_=(e,t)=>!!samp.callNative("TogglePlayerSpectating","ii",e,t),Z_=(e,t,i)=>!!samp.callNative("PlayerSpectatePlayer","iii",e,t,i),Y_=(e,t,i)=>!!samp.callNative("PlayerSpectateVehicle","iii",e,t,i),z_=e=>!!samp.callNative("IsPlayerConnected","i",e),J_=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),$_=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),Q_=(e,t,i,a,r)=>!!samp.callNative("SetPlayerWorldBounds","iffff",e,t,i,a,r),q_=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),ec=(e,t,i)=>!!samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,N(i));function tc(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",e,t)}const ic=(e,t,i)=>!!samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,i),ac=(e,t,i,a,r,n,s,o)=>!!samp.callNative("SetPlayerMapIcon","iifffiii",e,t,i,a,r,n,N(s),o),rc=(e,t)=>!!samp.callNative("RemovePlayerMapIcon","ii",e,t),nc=(e,t,i,a)=>!!samp.callNative("SetPlayerCameraPos","ifff",e,t,i,a),sc=(e,t,i,a,r)=>!!samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,i,a,r),lc=e=>!!samp.callNative("SetCameraBehindPlayer","i",e),oc=e=>{const[t,i,a,r]=samp.callNative("GetPlayerCameraPos","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},_c=e=>{const[t,i,a,r]=samp.callNative("GetPlayerCameraFrontVector","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},cc=e=>samp.callNative("GetPlayerCameraMode","i",e),dc=(e,t)=>!!samp.callNative("EnablePlayerCameraTarget","ii",e,t),hc=e=>samp.callNative("GetPlayerCameraTargetObject","i",e),gc=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),uc=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),mc=e=>samp.callNative("GetPlayerCameraTargetActor","i",e),fc=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),Pc=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),pc=(e,t)=>!!samp.callNative("AttachCameraToObject","ii",e,t),Ic=(e,t)=>!!samp.callNative("AttachCameraToPlayerObject","ii",e,t),Cc=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("InterpolateCameraPos","iffffffii",e,t,i,a,r,n,s,o,_),yc=(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),Ec=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),Ac=e=>!!samp.callNative("IsPlayerUsingOmp","i",e),Nc=e=>!!samp.callNative("PlayerHasClockEnabled","i",e),Dc=e=>samp.callNative("GetActorSkin","i",e),Tc=(e,t)=>!!samp.callNative("SetActorSkin","ii",e,t),vc=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}},bc=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}},Lc=(e,t,i,a,r)=>samp.callNative("CreateActor","iffff",e,t,i,a,r),wc=e=>!!samp.callNative("DestroyActor","i",e),Rc=(e,t)=>!!samp.callNative("IsActorStreamedIn","ii",e,t),Oc=(e,t)=>!!samp.callNative("SetActorVirtualWorld","ii",e,t),Gc=e=>samp.callNative("GetActorVirtualWorld","i",e),jc=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("ApplyActorAnimation","issfiiiii",e,t,i,a,r,n,s,o,_),Fc=e=>!!samp.callNative("ClearActorAnimations","i",e),Mc=(e,t,i,a)=>!!samp.callNative("SetActorPos","ifff",e,t,i,a),Vc=e=>{const[t,i,a,r]=samp.callNative("GetActorPos","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},kc=(e,t)=>!!samp.callNative("SetActorFacingAngle","if",e,t),Bc=e=>{const[t,i]=samp.callNative("GetActorFacingAngle","iF",e);return{angle:t,ret:!!i}},xc=(e,t)=>!!samp.callNative("SetActorHealth","if",e,t),Hc=e=>{const[t,i]=samp.callNative("GetActorHealth","iF",e);return{health:t,ret:!!i}},Wc=(e,t)=>!!samp.callNative("SetActorInvulnerable","ii",e,t),Uc=e=>!!samp.callNative("IsActorInvulnerable","i",e),Kc=e=>!!samp.callNative("IsValidActor","i",e),Xc=e=>samp.callNative("NPC_Create","s",e),Zc=e=>!!samp.callNative("NPC_Destroy","i",e),Yc=e=>!!samp.callNative("NPC_IsValid","i",e),zc=e=>!!samp.callNative("NPC_Spawn","i",e),Jc=e=>!!samp.callNative("NPC_Respawn","i",e),$c=(e,t,i,a)=>!!samp.callNative("NPC_SetPos","ifff",e,t,i,a),Qc=(e,t,i,a)=>!!samp.callNative("NPC_SetRot","ifff",e,t,i,a),qc=e=>{const[t,i,a,r]=samp.callNative("NPC_GetRot","iFFF",e);return{rX:t,rY:i,rZ:a,ret:!!r}},ed=(e,t)=>!!samp.callNative("NPC_SetFacingAngle","if",e,t),td=e=>{const[t,i]=samp.callNative("NPC_GetFacingAngle","iF",e);return{angle:t,ret:!!i}},id=(e,t)=>!!samp.callNative("NPC_SetVirtualWorld","ii",e,t),ad=e=>samp.callNative("NPC_GetVirtualWorld","i",e),rd=(e,t,i,a,r,n)=>!!samp.callNative("NPC_Move","ifffif",e,t,i,a,r,n),nd=(e,t,i,a)=>!!samp.callNative("NPC_MoveToPlayer","iiif",e,t,i,a),sd=e=>!!samp.callNative("NPC_StopMove","i",e),ld=e=>!!samp.callNative("NPC_IsMoving","i",e),od=(e,t)=>!!samp.callNative("NPC_IsMovingToPlayer","ii",e,t),_d=(e,t)=>!!samp.callNative("NPC_SetSkin","ii",e,t),cd=e=>samp.callNative("NPC_GetSkin","i",e),dd=(e,t)=>!!samp.callNative("NPC_IsStreamedIn","ii",e,t),hd=e=>!!samp.callNative("NPC_IsAnyStreamedIn","i",e),gd=(e,t)=>!!samp.callNative("NPC_SetInterior","ii",e,t),ud=e=>samp.callNative("NPC_GetInterior","i",e),md=(e,t)=>!!samp.callNative("NPC_SetHealth","if",e,t),fd=e=>samp.callNativeFloat("NPC_GetHealth","i",e),Pd=(e,t)=>!!samp.callNative("NPC_SetArmour","if",e,t),pd=e=>samp.callNativeFloat("NPC_GetArmour","i",e),Id=e=>!!samp.callNative("NPC_IsDead","i",e),Cd=(e,t,i,a,r,n,s,o,_,d)=>!!samp.callNative("NPC_ApplyAnimation","issfiiiiii",e,t,i,a,r,n,s,o,_,d),yd=(e,t)=>!!samp.callNative("NPC_SetWeapon","ii",e,t),Sd=e=>samp.callNative("NPC_GetWeapon","i",e),Ed=(e,t)=>!!samp.callNative("NPC_SetAmmo","ii",e,t),Ad=e=>samp.callNative("NPC_GetAmmo","i",e),Nd=(e,t,i,a)=>!!samp.callNative("NPC_SetKeys","iiii",e,t,i,a),Dd=e=>{const[t,i,a,r]=samp.callNative("NPC_GetKeys","iIII",e);return{upAndDown:t,leftAndDown:i,keys:a,ret:!!r}},Td=(e,t,i)=>!!samp.callNative("NPC_SetWeaponSkillLevel","iii",e,t,i),vd=(e,t)=>samp.callNative("NPC_GetWeaponSkillLevel","ii",e,t),bd=(e,t=-1,i=!1)=>!!samp.callNative("NPC_MeleeAttack","iii",e,t,i),Ld=e=>!!samp.callNative("NPC_StopMeleeAttack","i",e),wd=e=>!!samp.callNative("NPC_IsMeleeAttacking","i",e),Rd=(e,t)=>!!samp.callNative("NPC_SetFightingStyle","ii",e,t),Od=e=>samp.callNative("NPC_GetFightingStyle","i",e),Gd=(e,t=!0)=>!!samp.callNative("NPC_EnableReloading","ii",e,t),jd=e=>!!samp.callNative("NPC_IsReloadEnabled","i",e),Fd=e=>!!samp.callNative("NPC_IsReloading","i",e),Md=(e,t=!0)=>!!samp.callNative("NPC_EnableInfiniteAmmo","ii",e,t),Vd=e=>!!samp.callNative("NPC_IsInfiniteAmmoEnabled","i",e),kd=(e,t)=>!!samp.callNative("NPC_SetWeaponState","ii",e,t),Bd=e=>samp.callNative("NPC_GetWeaponState","i",e),xd=(e,t)=>!!samp.callNative("NPC_SetAmmoInClip","ii",e,t),Hd=e=>samp.callNative("NPC_GetAmmoInClip","i",e),Wd=(e,t,i,a,r,n,s,o=0,_=0,d=0,h=!0,u=ge.ALL)=>!!samp.callNative("NPC_Shoot","iiiffffffii",e,t,i,a,r,n,s,o,_,d,h,u),Ud=e=>!!samp.callNative("NPC_IsShooting","i",e),Kd=(e,t,i,a,r=!1,n=-1,s=!0,o=0,_=0,d=0,h=ge.ALL)=>!!samp.callNative("NPC_AimAt","ifffiiifffi",e,t,i,a,r,n,s,o,_,d,h),Xd=(e,t,i=!1,a=-1,r=!0,n=0,s=0,o=0,_=0,d=0,h=0,u=ge.ALL)=>!!samp.callNative("NPC_AimAtPlayer","iiiiiffffffi",e,t,i,a,r,n,s,o,_,d,h,u),Zd=e=>!!samp.callNative("NPC_StopAim","i",e),Yd=e=>!!samp.callNative("NPC_IsAiming","i",e),zd=(e,t)=>!!samp.callNative("NPC_IsAimingAtPlayer","ii",e,t),Jd=(e,t,i)=>!!samp.callNative("NPC_SetWeaponAccuracy","iif",e,t,i),$d=(e,t)=>samp.callNativeFloat("NPC_GetWeaponAccuracy","ii",e,t),Qd=(e,t,i)=>!!samp.callNative("NPC_SetWeaponReloadTime","iii",e,t,i),qd=(e,t)=>samp.callNative("NPC_GetWeaponReloadTime","ii",e,t),eh=(e,t)=>samp.callNative("NPC_GetWeaponActualReloadTime","ii",e,t),th=(e,t,i)=>!!samp.callNative("NPC_SetWeaponShootTime","iii",e,t,i),ih=(e,t)=>samp.callNative("NPC_GetWeaponShootTime","ii",e,t),ah=(e,t,i)=>!!samp.callNative("NPC_SetWeaponClipSize","iii",e,t,i),rh=(e,t)=>samp.callNative("NPC_GetWeaponClipSize","ii",e,t),nh=(e,t)=>samp.callNative("NPC_GetWeaponActualClipSize","ii",e,t),sh=(e,t,i,a)=>!!samp.callNative("NPC_EnterVehicle","iiii",e,t,i,a),lh=e=>!!samp.callNative("NPC_ExitVehicle","i",e),oh=(e,t,i)=>!!samp.callNative("NPC_PutInVehicle","iii",e,t,i),_h=e=>!!samp.callNative("NPC_RemoveFromVehicle","i",e),ch=e=>samp.callNative("NPC_GetVehicle","i",e),dh=e=>samp.callNative("NPC_GetVehicleSeat","i",e),hh=e=>samp.callNative("NPC_GetEnteringVehicle","i",e),gh=e=>samp.callNative("NPC_GetEnteringVehicleSeat","i",e),uh=e=>!!samp.callNative("NPC_IsEnteringVehicle","i",e),mh=(e,t)=>!!samp.callNative("NPC_UseVehicleSiren","ii",e,t),fh=e=>!!samp.callNative("NPC_IsVehicleSirenUsed","i",e),Ph=(e,t)=>!!samp.callNative("NPC_SetVehicleHealth","if",e,t),ph=e=>samp.callNativeFloat("NPC_GetVehicleHealth","i",e),Ih=(e,t)=>!!samp.callNative("NPC_SetVehicleHydraThrusters","ii",e,t),Ch=e=>samp.callNative("NPC_GetVehicleHydraThrusters","i",e),yh=(e,t)=>!!samp.callNative("NPC_SetVehicleGearState","ii",e,t),Sh=e=>samp.callNative("NPC_GetVehicleGearState","i",e),Eh=(e,t)=>!!samp.callNative("NPC_SetVehicleTrainSpeed","if",e,t),Ah=e=>samp.callNativeFloat("NPC_GetVehicleTrainSpeed","i",e),Nh=e=>!!samp.callNative("NPC_ResetAnimation","i",e),Dh=(e,t,i,a,r,n,s,o)=>!!samp.callNative("NPC_SetAnimation","iifiiiii",e,t,i,a,r,n,s,o),Th=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:!!_}},vh=e=>!!samp.callNative("NPC_ClearAnimations","i",e),bh=(e,t)=>!!samp.callNative("NPC_SetSpecialAction","ii",e,t),Lh=e=>samp.callNative("NPC_GetSpecialAction","i",e),wh=(e,t,i=!1,a=0,r=0,n=0,s=0,o=0,_=0)=>!!samp.callNative("NPC_StartPlayback","isiffffff",e,t,i,a,r,n,s,o,_),Rh=(e,t,i=!1,a=0,r=0,n=0,s=0,o=0,_=0)=>!!samp.callNative("NPC_StartPlaybackEx","iiiffffff",e,t,i,a,r,n,s,o,_),Oh=e=>!!samp.callNative("NPC_StopPlayback","i",e),Gh=(e,t=!0)=>!!samp.callNative("NPC_PausePlayback","ii",e,t),jh=e=>!!samp.callNative("NPC_IsPlayingPlayback","i",e),Fh=e=>!!samp.callNative("NPC_IsPlaybackPaused","i",e),Mh=(e,t,i,a,r,n)=>!!samp.callNative("NPC_PlayNode","iiiffi",e,t,i,a,r,n),Vh=e=>!!samp.callNative("NPC_StopPlayingNode","i",e),kh=e=>!!samp.callNative("NPC_PausePlayingNode","i",e),Bh=e=>!!samp.callNative("NPC_ResumePlayingNode","i",e),xh=e=>!!samp.callNative("NPC_IsPlayingNodePaused","i",e),Hh=e=>!!samp.callNative("NPC_IsPlayingNode","i",e),Wh=(e,t,i)=>!!samp.callNative("NPC_ChangeNode","iii",e,t,i),Uh=(e,t)=>!!samp.callNative("NPC_UpdateNodePoint","ii",e,t),Kh=(e,t=!0)=>!!samp.callNative("NPC_SetInvulnerable","ii",e,t),Xh=e=>!!samp.callNative("NPC_IsInvulnerable","i",e),Zh=(e,t,i,a)=>!!samp.callNative("NPC_SetSurfingOffsets","ifff",e,t,i,a),Yh=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),Jh=e=>samp.callNative("NPC_GetSurfingVehicle","i",e),$h=(e,t)=>!!samp.callNative("NPC_SetSurfingObject","ii",e,t),Qh=e=>samp.callNative("NPC_GetSurfingObject","i",e),qh=(e,t)=>!!samp.callNative("NPC_SetSurfingPlayerObject","ii",e,t),eg=e=>samp.callNative("NPC_GetSurfingPlayerObject","i",e),tg=e=>!!samp.callNative("NPC_ResetSurfingData","i",e),ig=e=>!!samp.callNative("NPC_IsSpawned","i",e),ag=(e,t,i)=>!!samp.callNative("NPC_Kill","iii",e,t,i),rg=(e,t,i,a)=>!!samp.callNative("NPC_SetVelocity","ifff",e,t,i,a),ng=e=>{const[t,i,a,r]=samp.callNative("NPC_GetVelocity","iFFF",e);return{x:t,y:i,z:a,ret:r}},sg=e=>samp.callNative("NPC_GetPlayerAimingAt","i",e),lg=e=>samp.callNative("NPC_GetPlayerMovingTo","i",e),og=e=>{const[t,i,a,r]=samp.callNative("NPC_GetPosMovingTo","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},_g=e=>samp.callNative("NPC_GetCustomSkin","i",e),cg=(e,t,i,a)=>!!samp.callNative("NPC_SetAngleToPos","ifff",e,t,i,a),dg=(e,t)=>!!samp.callNative("NPC_SetAngleToPlayer","ii",e,t),hg=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}},gg=(e,t,i,a,r,n,s,o,_=-2,d=-2)=>!!samp.callNative("SetVehicleSpawnInfo","iiffffiiii",e,t,i,a,r,n,s,o,_,d),ug=e=>{const[t=0,i=0,a]=samp.callNative("GetVehicleColor","iII",e);return{color1:t,color2:i,ret:!!a}},mg=e=>samp.callNative("GetVehiclePaintjob","i",e),fg=e=>samp.callNative("GetVehicleInterior","i",e),Pg=e=>{const[t,i]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return{plate:t,ret:!!i}},pg=(e,t)=>!!samp.callNative("SetVehicleRespawnDelay","ii",e,t),Ig=e=>samp.callNative("GetVehicleRespawnDelay","i",e),Cg=e=>samp.callNative("GetVehicleCab","i",e),yg=e=>samp.callNative("GetVehicleOccupiedTick","i",e),Sg=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),Eg=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),Ag=e=>!!samp.callNative("IsVehicleOccupied","i",e),Ng=e=>samp.callNative("GetVehicleRespawnTick","i",e),Dg=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),Tg=e=>!!samp.callNative("IsVehicleDead","i",e),vg=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),bg=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),Lg=(e,t)=>!!samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),wg=(e,t)=>!!samp.callNative("SetVehicleParamsSirenState","ii",e,+t),Rg=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),Og=e=>samp.callNative("GetVehicleModelCount","i",e),Ii=e=>samp.callNative("GetVehicleLastDriver","i",e),Ci=e=>samp.callNative("GetVehicleDriver","i",e),Gg=()=>samp.callNative("GetVehicleModelsUsed",""),jg=e=>!!samp.callNative("GetVehicleSirenState","i",e),Fg=e=>samp.callNative("GetVehicleLandingGearState","i",e),Mg=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),Vg=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),kg=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}},Bg=e=>{const[t=0,i=0,a=0,r=0,n]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,i,a,r],ret:!!n}},xg=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),Hg=(e,t,i,a,r,n,s,o,_)=>samp.callNative("CreateVehicle","iffffiiii",e,t,i,a,r,N(n),N(s),o,_),Wg=e=>!!samp.callNative("DestroyVehicle","i",e),Ug=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),Kg=e=>{const[t,i,a,r]=samp.callNative("GetVehiclePos","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},Xg=(e,t,i,a)=>!!samp.callNative("SetVehiclePos","ifff",e,t,i,a),Zg=e=>{const[t,i]=samp.callNative("GetVehicleZAngle","iF",e);return{angle:t,ret:!!i}},Yg=e=>{const[t,i,a,r]=samp.callNative("GetVehicleRotation","iFFF",e);return{x:t,y:i,z:a,ret:r}},zg=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleRotationQuat","iFFFF",e);return{w:t,x:i,y:a,z:r,ret:!!n}},Jg=(e,t,i,a)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,i,a),$g=(e,t)=>!!samp.callNative("SetVehicleZAngle","if",e,t),Qg=(e,t,i=G.UNSET,a=G.UNSET)=>!!samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,i,a),qg=()=>{samp.callNative("ManualVehicleEngineAndLights","")},eu=(e,t,i,a,r,n,s,o)=>!!samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,i,a,r,n,s,o),tu=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),iu=e=>samp.callNative("GetVehicleParamsSirenState","i",e),au=(e,t=G.UNSET,i=G.UNSET,a=G.UNSET,r=G.UNSET)=>!!samp.callNative("SetVehicleParamsCarDoors","iiiii",e,+t,+i,+a,+r),ru=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t,passenger:i,backLeft:a,backRight:r,ret:!!n}},nu=(e,t=G.UNSET,i=G.UNSET,a=G.UNSET,r=G.UNSET)=>!!samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,i,a,r),su=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t,passenger:i,backLeft:a,backRight:r,ret:!!n}},lu=e=>!!samp.callNative("SetVehicleToRespawn","i",e),ou=(e,t)=>!!samp.callNative("LinkVehicleToInterior","ii",e,t),_u=(e,t)=>!!samp.callNative("AddVehicleComponent","ii",e,t),cu=(e,t)=>!!samp.callNative("RemoveVehicleComponent","ii",e,t),du=(e,t,i)=>!!samp.callNative("ChangeVehicleColor","iii",e,N(t),N(i)),hu=(e,t)=>!!samp.callNative("ChangeVehiclePaintjob","ii",e,t),gu=(e,t)=>!!samp.callNative("SetVehicleHealth","if",e,t),uu=e=>{const[t,i]=samp.callNative("GetVehicleHealth","iF",e);return{health:t,ret:!!i}},mu=(e,t)=>!!samp.callNative("AttachTrailerToVehicle","ii",e,t),fu=e=>!!samp.callNative("DetachTrailerFromVehicle","i",e),Pu=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),pu=e=>samp.callNative("GetVehicleTrailer","i",e),Iu=(e,t)=>!!samp.callNative("SetVehicleNumberPlate","is",e,t),Cu=e=>samp.callNative("GetVehicleModel","i",e),yu=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),Su=e=>samp.callNative("GetVehicleComponentType","i",e),Eu=e=>!!samp.callNative("RepairVehicle","i",e),Au=e=>{const[t,i,a,r]=samp.callNative("GetVehicleVelocity","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},Nu=(e,t,i,a)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,i,a),Du=(e,t,i,a)=>!!samp.callNative("SetVehicleAngularVelocity","ifff",e,t,i,a),Tu=e=>{const[t,i,a,r,n]=samp.callNative("GetVehicleDamageStatus","iIIII",e);return{panels:t,doors:i,lights:a,tires:r,ret:!!n}},vu=(e,t,i,a,r)=>!!samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,i,a,r),bu=(e,t)=>{const[i,a,r,n]=samp.callNative("GetVehicleModelInfo","iiFFF",e,t);return{x:i,y:a,z:r,ret:!!n}},Lu=(e,t)=>!!samp.callNative("SetVehicleVirtualWorld","ii",e,t),wu=e=>samp.callNative("GetVehicleVirtualWorld","i",e),Ru=e=>!!samp.callNative("IsValidVehicle","i",e),Ou=(e,t,i,a,r,n,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,i,a,r,N(n),N(s)),Gu=(e,t,i,a,r,n,s,o,_)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,i,a,r,N(n),N(s),o,_),ju=e=>!!samp.callNative("ShowVehicle","i",e),Fu=e=>!!samp.callNative("HideVehicle","i",e),Mu=e=>!!samp.callNative("IsVehicleHidden","i",e),Vu=e=>!!samp.callNative("IsPlayerInModShop","i",e),ku=e=>!!samp.callNative("GetPlayerSirenState","i",e),Bu=e=>samp.callNative("GetPlayerLandingGearState","i",e),xu=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),Hu=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),Wu=(e,t)=>samp.callNative("GetVehicleOccupant","ii",e,t),Uu=e=>samp.callNative("GetVehicleMaxPassengers","i",e),Ku=e=>samp.callNative("CountVehicleOccupants","i",e),Xu=(e,t)=>!!samp.callNative("VehicleCanHaveComponent","ii",e,t),Zu=e=>samp.callNative("GetVehicleSeats","i",e),Yu=(e,t,i,a,r)=>!!samp.callNative("SetPlayerCheckpoint","iffff",e,t,i,a,r),zu=e=>!!samp.callNative("DisablePlayerCheckpoint","i",e),Ju=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("SetPlayerRaceCheckpoint","iifffffff",e,t,i,a,r,n,s,o,_),$u=e=>!!samp.callNative("DisablePlayerRaceCheckpoint","i",e),Qu=e=>!!samp.callNative("IsPlayerInCheckpoint","i",e),qu=e=>!!samp.callNative("IsPlayerInRaceCheckpoint","i",e),yi=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),Si=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}},Ei=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),Ai=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:!!_}},em=e=>!!samp.callNative("IsMenuDisabled","i",e),tm=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),im=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),am=e=>{const[t=0,i=0,a]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:i,ret:!!a}},rm=e=>{const[t=0,i=0,a]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:i,ret:!!a}},nm=e=>!!samp.callNative("DestroyMenu","i",e),sm=(e,t)=>!!samp.callNative("ShowMenuForPlayer","ii",e,t),lm=(e,t)=>!!samp.callNative("HideMenuForPlayer","ii",e,t),om=e=>!!samp.callNative("IsValidMenu","i",e),_m=e=>!!samp.callNative("DisableMenu","i",e),cm=(e,t)=>!!samp.callNative("DisableMenuRow","ii",e,t),Ni=e=>samp.callNative("GetPlayerMenu","i",e),dm=e=>!!samp.callNative("IsValid3DTextLabel","i",e),hm=(e,t)=>!!samp.callNative("Is3DTextLabelStreamedIn","ii",e,t),gm=e=>samp.callNative("Get3DTextLabelColor","i",e),um=e=>{const[t=0,i=0,a=0,r]=samp.callNative("Get3DTextLabelPos","iFFF",e);return{fX:t,fY:i,fZ:a,ret:!!r}},mm=(e,t)=>!!samp.callNative("Set3DTextLabelDrawDistance","ii",e,t),fm=e=>samp.callNativeFloat("Get3DTextLabelDrawDistance","i",e),Pm=e=>!!samp.callNative("Get3DTextLabelLOS","i",e),pm=(e,t)=>!!samp.callNative("Set3DTextLabelLOS","ii",e,t),Im=(e,t)=>!!samp.callNative("Set3DTextLabelVirtualWorld","ii",e,t),Cm=e=>samp.callNative("Get3DTextLabelVirtualWorld","i",e),ym=e=>{const[t=0,i=0,a]=samp.callNative("Get3DTextLabelAttachedData","i",e);return{attachedPlayerId:t,attachedVehicleId:i,ret:!!a}},Sm=e=>!!samp.callNative("Delete3DTextLabel","i",e),Em=(e,t,i,a,r)=>!!samp.callNative("Attach3DTextLabelToPlayer","iifff",e,t,i,a,r),Am=(e,t,i,a,r)=>!!samp.callNative("Attach3DTextLabelToVehicle","iifff",e,t,i,a,r),Nm=(e,t)=>!!samp.callNative("IsValidPlayer3DTextLabel","ii",e,t),Dm=(e,t)=>samp.callNative("GetPlayer3DTextLabelColor","ii",e,t),Tm=(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}},vm=(e,t,i)=>!!samp.callNative("SetPlayer3DTextLabelDrawDistance","iii",e,t,i),bm=(e,t)=>samp.callNativeFloat("GetPlayer3DTextLabelDrawDistance","ii",e,t),Lm=(e,t)=>!!samp.callNative("GetPlayer3DTextLabelLOS","ii",e,t),wm=(e,t,i)=>!!samp.callNative("SetPlayer3DTextLabelLOS","iii",e,t,i),Rm=(e,t)=>samp.callNative("GetPlayer3DTextLabelVirtualWorld","ii",e,t),Om=(e,t,i)=>!!samp.callNative("SetPlayer3DTextLabelVirtualWorld","iii",e,t,i),Gm=(e,t)=>{const[i=0,a=0,r]=samp.callNative("GetPlayer3DTextLabelAttachedData","ii",e,t);return{attachedPlayerId:i,attachedVehicleId:a,ret:!!r}},jm=(e,t)=>!!samp.callNative("DeletePlayer3DTextLabel","ii",e,t),Fm=e=>!!samp.callNative("IsValidGangZone","i",e),Mm=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),Vm=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),km=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),Bm=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),xm=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),Hm=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}},Wm=(e,t)=>!!samp.callNative("UseGangZoneCheck","ii",e,t),Um=(e,t,i,a)=>samp.callNative("GangZoneCreate","ffff",e,t,i,a),Km=e=>!!samp.callNative("GangZoneDestroy","i",e),Xm=(e,t,i)=>!!samp.callNative("GangZoneShowForPlayer","iii",e,t,N(i)),Zm=(e,t)=>!!samp.callNative("GangZoneShowForAll","ii",e,N(t)),Ym=(e,t)=>!!samp.callNative("GangZoneHideForPlayer","ii",e,t),zm=e=>!!samp.callNative("GangZoneHideForAll","i",e),Jm=(e,t,i)=>!!samp.callNative("GangZoneFlashForPlayer","iii",e,t,N(i)),$m=(e,t)=>!!samp.callNative("GangZoneFlashForAll","ii",e,N(t)),Qm=(e,t)=>!!samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),qm=e=>!!samp.callNative("GangZoneStopFlashForAll","i",e),ef=(e,t,i,a,r)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,i,a,r),tf=(e,t)=>!!samp.callNative("PlayerGangZoneDestroy","ii",e,t),af=(e,t,i)=>!!samp.callNative("PlayerGangZoneShow","iii",e,t,i),rf=(e,t)=>!!samp.callNative("PlayerGangZoneHide","ii",e,t),nf=(e,t,i)=>!!samp.callNative("PlayerGangZoneFlash","iii",e,t,i),sf=(e,t)=>!!samp.callNative("PlayerGangZoneStopFlash","ii",e,t),lf=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),of=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),_f=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),cf=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),df=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),hf=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),gf=(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}},uf=(e,t,i)=>!!samp.callNative("UsePlayerGangZoneCheck","iii",e,t,i),mf=e=>!!samp.callNative("IsValidTextDraw","i",e),ff=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),Pf=e=>{const[t,i]=samp.callNative("TextDrawGetString","iSi",e,1024);return{str:t,ret:!!i}},pf=(e,t,i)=>{samp.callNative("TextDrawSetPos","iff",e,t,i)},If=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:i,ret:!!a}},Cf=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:i,ret:!!a}},yf=e=>{const[t=0,i=0,a]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:i,ret:!!a}},Sf=e=>samp.callNative("TextDrawGetColor","i",e),Ef=e=>samp.callNative("TextDrawGetBoxColor","i",e),Af=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),Nf=e=>samp.callNative("TextDrawGetShadow","i",e),Df=e=>samp.callNative("TextDrawGetOutline","i",e),Tf=e=>samp.callNative("TextDrawGetFont","i",e),vf=e=>!!samp.callNative("TextDrawIsBox","i",e),bf=e=>!!samp.callNative("TextDrawIsProportional","i",e),Lf=e=>!!samp.callNative("TextDrawIsSelectable","i",e),wf=e=>samp.callNative("TextDrawGetAlignment","i",e),Rf=e=>samp.callNative("TextDrawGetPreviewModel","i",e),Of=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}},Gf=e=>{const[t,i,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:i,ret:!!a}},jf=(e,t,i)=>!!samp.callNative("TextDrawSetStringForPlayer","iia",e,t,i),Ff=(e,t,i)=>samp.callNative("TextDrawCreate","ffa",e,t,i),Mf=e=>!!samp.callNative("TextDrawDestroy","i",e),Vf=(e,t,i)=>!!samp.callNative("TextDrawLetterSize","iff",e,t,i),kf=(e,t,i)=>!!samp.callNative("TextDrawTextSize","iff",e,t,i),Bf=(e,t)=>!!samp.callNative("TextDrawAlignment","ii",e,t),xf=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,N(t)),Hf=(e,t)=>!!samp.callNative("TextDrawUseBox","ii",e,t),Wf=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,N(t)),Uf=(e,t)=>!!samp.callNative("TextDrawSetShadow","ii",e,t),Kf=(e,t)=>!!samp.callNative("TextDrawSetOutline","ii",e,t),Xf=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,N(t)),Zf=(e,t)=>!!samp.callNative("TextDrawFont","ii",e,t),Yf=(e,t)=>!!samp.callNative("TextDrawSetProportional","ii",e,t),zf=(e,t)=>!!samp.callNative("TextDrawSetSelectable","ii",e,t),Jf=(e,t)=>!!samp.callNative("TextDrawShowForPlayer","ii",e,t),$f=(e,t)=>!!samp.callNative("TextDrawHideForPlayer","ii",e,t),Qf=e=>!!samp.callNative("TextDrawShowForAll","i",e),qf=e=>!!samp.callNative("TextDrawHideForAll","i",e),eP=(e,t)=>!!samp.callNative("TextDrawSetString","ia",e,t),tP=(e,t)=>!!samp.callNative("TextDrawSetPreviewModel","ii",e,t),iP=(e,t,i,a,r=1)=>!!samp.callNative("TextDrawSetPreviewRot","iffff",e,t,i,a,r),aP=(e,t,i)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,N(t),N(i)),rP=(e,t)=>!!samp.callNative("SelectTextDraw","ii",e,N(t)),nP=e=>!!samp.callNative("CancelSelectTextDraw","i",e),sP=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),lP=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),oP=(e,t)=>{const[i,a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return{str:i,ret:!!a}},_P=(e,t,i,a)=>!!samp.callNative("PlayerTextDrawSetPos","iiff",e,t,i,a),cP=(e,t)=>{const[i=0,a=0,r]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:i,fY:a,ret:!!r}},dP=(e,t)=>{const[i=0,a=0,r]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:i,fY:a,ret:!!r}},hP=(e,t)=>{const[i=0,a=0,r]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:i,fY:a,ret:!!r}},gP=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),uP=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),mP=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),fP=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),PP=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),pP=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),IP=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),CP=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),yP=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),SP=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),EP=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),AP=(e,t)=>{const[i=0,a=0,r=0,n=0,s]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:i,fRotY:a,fRotZ:r,fZoom:n,ret:!!s}},NP=(e,t)=>{const[i,a,r]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:i,color2:a,ret:!!r}},DP=(e,t,i,a)=>samp.callNative("CreatePlayerTextDraw","iffa",e,t,i,a),TP=(e,t)=>!!samp.callNative("PlayerTextDrawDestroy","ii",e,t),vP=(e,t,i,a)=>!!samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,i,a),bP=(e,t,i,a)=>!!samp.callNative("PlayerTextDrawTextSize","iiff",e,t,i,a),LP=(e,t,i)=>!!samp.callNative("PlayerTextDrawAlignment","iii",e,t,i),wP=(e,t,i)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,N(i)),RP=(e,t,i)=>!!samp.callNative("PlayerTextDrawUseBox","iii",e,t,i),OP=(e,t,i)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,N(i)),GP=(e,t,i)=>!!samp.callNative("PlayerTextDrawSetShadow","iii",e,t,i),jP=(e,t,i)=>!!samp.callNative("PlayerTextDrawSetOutline","iii",e,t,i),FP=(e,t,i)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,N(i)),MP=(e,t,i)=>!!samp.callNative("PlayerTextDrawFont","iii",e,t,i),VP=(e,t,i)=>!!samp.callNative("PlayerTextDrawSetProportional","iii",e,t,i),kP=(e,t,i)=>!!samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,i),BP=(e,t)=>!!samp.callNative("PlayerTextDrawShow","ii",e,t),xP=(e,t)=>!!samp.callNative("PlayerTextDrawHide","ii",e,t),HP=(e,t,i)=>!!samp.callNative("PlayerTextDrawSetString","iia",e,t,i),WP=(e,t,i)=>!!samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,i),UP=(e,t,i,a,r,n)=>!!samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,i,a,r,n),KP=(e,t,i,a)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,i,a),XP=e=>samp.callNativeFloat("GetObjectDrawDistance","i",e),ZP=e=>samp.callNativeFloat("GetObjectMoveSpeed","i",e),YP=(e,t)=>!!samp.callNativeFloat("SetObjectMoveSpeed","if",e,t),zP=e=>{const[t=0,i=0,a=0,r]=samp.callNative("GetObjectMovingTargetPos","iFFF",e);return{fX:t,fY:i,fZ:a,ret:!!r}},JP=e=>{const[t=0,i=0,a=0,r]=samp.callNative("GetObjectTarget","iFFF",e);return{fX:t,fY:i,fZ:a,ret:!!r}},$P=e=>{const[t=0,i=0,a=0,r=0,n=0,s=0,o]=samp.callNative("GetObjectAttachedOffset","i",e);return{fX:t,fY:i,fZ:a,fRotX:r,fRotY:n,fRotZ:s,ret:!!o}},QP=e=>!!samp.callNative("GetObjectSyncRotation","i",e),qP=(e,t)=>!!samp.callNative("IsObjectMaterialSlotUsed","ii",e,t),ep=(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}},tp=(e,t,i,a,r,n,s,o=0)=>samp.callNative("CreateObject","ifffffff",e,t,i,a,r,n,s,o),ip=(e,t,i,a,r,n,s,o)=>!!samp.callNative("AttachObjectToVehicle","iiffffff",e,t,i,a,r,n,s,o),ap=(e,t,i,a,r,n,s,o,_,d=!0)=>!!samp.callNative("AttachPlayerObjectToObject","iiiffffffi",e,t,i,a,r,n,s,o,_,d),rp=(e,t,i,a,r,n,s,o,_=!0)=>!!samp.callNative("AttachObjectToObject","iiffffffi",e,t,i,a,r,n,s,o,_),np=(e,t,i,a,r,n,s,o)=>!!samp.callNative("AttachObjectToPlayer","iiffffff",e,t,i,a,r,n,s,o),sp=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),lp=(e,t,i,a)=>!!samp.callNative("SetObjectPos","ifff",e,t,i,a),op=e=>{const[t,i,a,r]=samp.callNative("GetObjectPos","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},_p=(e,t,i,a)=>!!samp.callNative("SetObjectRot","ifff",e,t,i,a),cp=e=>{const[t,i,a,r]=samp.callNative("GetObjectRot","iFFF",e);return{x:t,y:i,z:a,ret:!!r}},dp=e=>samp.callNative("GetObjectModel","i",e),hp=e=>!!samp.callNative("SetObjectNoCameraCol","i",e),gp=e=>!!samp.callNative("IsObjectNoCameraCol","i",e),up=e=>!!samp.callNative("IsValidObject","i",e),mp=e=>!!samp.callNative("DestroyObject","i",e),fp=(e,t,i,a,r,n,s,o)=>!!samp.callNative("MoveObject","ifffffff",e,t,i,a,r,n,s,o),Pp=e=>!!samp.callNative("StopObject","i",e),pp=e=>!!samp.callNative("IsObjectMoving","i",e),Ip=(e,t)=>!!samp.callNative("BeginObjectEditing","ii",e,t),Cp=e=>!!samp.callNative("BeginObjectSelecting","i",e),Di=e=>!!samp.callNative("EndObjectEditing","i",e),yp=(e,t,i,a,r,n)=>!!samp.callNative("SetObjectMaterial","iiissi",e,t,i,a,r,N(n)),Sp=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),Ep=(e,t,i,a)=>!!samp.callNative("AddCharModel","iiss",e,t,i,a),Ap=(e,t,i,a,r)=>!!samp.callNative("AddSimpleModel","iiiss",e,t,i,a,r),Np=(e,t,i,a,r,n,s)=>!!samp.callNative("AddSimpleModelTimed","iiissii",e,t,i,a,r,n,s),Dp=(e,t)=>!!samp.callNative("RedirectDownload","is",e,t),Tp=e=>{const[t,i,a]=samp.callNative("GetCustomModelPath","iSiSi",e,255,255);return{dffPath:t,txdPath:i,ret:!!a}},vp=e=>{const[t,i]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return{name:t,ret:i}},bp=e=>{const[t,i]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return{name:t,ret:i}},Lp=(e,t)=>{const[i=0,a=0,r=0,n=0,s=0,o=0,_=0,d=0,h=0,u=0,I=0,S=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:u,fScaleZ:I,materialColor1:S,materialColor2:y,ret:!!L}},wp=(e,t,i,a,r,n,s,o,_,d,h,u,I,S,y)=>!!samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,i,a,r,n,s,o,_,d,h,u,I,N(S),N(y)),Rp=(e,t)=>!!samp.callNative("RemovePlayerAttachedObject","ii",e,t),Op=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),Ti=e=>!!samp.callNative("IsValidCustomModel","i",e),Gp=e=>{if(!Ti(e))return null;const[t,i,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:i,ret:a}},jp=(e,t)=>samp.callNativeFloat("GetPlayerObjectDrawDistance","ii",e,t),Fp=(e,t,i)=>!!samp.callNativeFloat("SetPlayerObjectMoveSpeed","iif",e,t,i),Mp=(e,t)=>samp.callNativeFloat("GetPlayerObjectMoveSpeed","ii",e,t),Vp=(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}},kp=(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:!!_}},xp=(e,t)=>!!samp.callNative("GetPlayerObjectSyncRotation","ii",e,t),Hp=(e,t,i)=>!!samp.callNative("IsPlayerObjectMaterialSlotUsed","iii",e,t,i),Wp=(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}},Up=(e,t)=>!!samp.callNative("IsPlayerObjectNoCameraCol","ii",e,t),Kp=e=>samp.callNative("GetPlayerCameraTargetPlayerObj","i",e),Xp=(e,t)=>!!samp.callNative("BeginPlayerObjectEditing","ii",e,t),Zp=(e,t,i,a,r,n,s,o,_=0)=>samp.callNative("CreatePlayerObject","iifffffff",e,t,i,a,r,n,s,o,_),Yp=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("AttachPlayerObjectToVehicle","iiiffffff",e,t,i,a,r,n,s,o,_),zp=(e,t,i,a,r)=>samp.callNative("SetPlayerObjectPos","iifff",e,t,i,a,r),Jp=(e,t)=>{const[i,a,r,n]=samp.callNative("GetPlayerObjectPos","iiFFF",e,t);return{x:i,y:a,z:r,ret:!!n}},$p=(e,t,i,a,r)=>samp.callNative("SetPlayerObjectRot","iifff",e,t,i,a,r),Qp=(e,t)=>{const[i,a,r,n]=samp.callNative("GetPlayerObjectRot","iiFFF",e,t);return{x:i,y:a,z:r,ret:!!n}},qp=(e,t)=>samp.callNative("GetPlayerObjectModel","ii",e,t),eI=(e,t)=>!!samp.callNative("SetPlayerObjectNoCameraCollision","ii",e,t),tI=(e,t)=>!!samp.callNative("IsValidPlayerObject","ii",e,t),iI=(e,t)=>!!samp.callNative("DestroyPlayerObject","ii",e,t),aI=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("MovePlayerObject","iifffffff",e,t,i,a,r,n,s,o,_),rI=(e,t)=>!!samp.callNative("StopPlayerObject","ii",e,t),nI=(e,t)=>!!samp.callNative("IsPlayerObjectMoving","ii",e,t),sI=(e,t,i,a,r,n,s,o,_)=>!!samp.callNative("AttachPlayerObjectToPlayer","iiiffffff",e,t,i,a,r,n,s,o,_),lI=(e,t,i,a,r,n,s)=>!!samp.callNative("SetPlayerObjectMaterial","iiiissi",e,t,i,a,r,n,N(s)),oI=e=>!!samp.callNative("IsValidPickup","i",e),_I=(e,t)=>!!samp.callNative("IsPickupStreamedIn","ii",e,t),cI=e=>{const[t,i,a,r]=samp.callNative("GetPickupPos","iFFF",e);return{fX:t,fY:i,fZ:a,ret:!!r}},dI=e=>samp.callNative("GetPickupModel","i",e),hI=e=>samp.callNative("GetPickupType","i",e),gI=e=>samp.callNative("GetPickupVirtualWorld","i",e),uI=(e,t,i,a,r=!0)=>!!samp.callNative("SetPickupPos","ifffi",e,t,i,a,r),mI=(e,t,i=!0)=>!!samp.callNative("SetPickupModel","iii",e,t,i),fI=(e,t,i=!0)=>!!samp.callNative("SetPickupType","iii",e,t,i),PI=(e,t)=>!!samp.callNative("SetPickupVirtualWorld","ii",e,t),pI=(e,t)=>!!samp.callNative("ShowPickupForPlayer","ii",e,t),II=(e,t)=>!!samp.callNative("HidePickupForPlayer","ii",e,t),CI=(e,t)=>!!samp.callNative("IsPickupHiddenForPlayer","ii",e,t),yI=(e,t,i,a,r,n)=>samp.callNative("AddStaticPickup","iifffi",e,t,i,a,r,n),SI=(e,t,i,a,r,n)=>samp.callNative("CreatePickup","iifffi",e,t,i,a,r,n),EI=e=>!!samp.callNative("DestroyPickup","i",e);function AI(e,t,i,a,r,n,s=0){return samp.callNative("CreatePlayerPickup","iiifffi",e,t,i,a,r,n,s)}function NI(e,t){return!!samp.callNative("DestroyPlayerPickup","ii",e,t)}function DI(e,t){return!!samp.callNative("IsValidPlayerPickup","ii",e,t)}function TI(e,t){return!!samp.callNative("IsPlayerPickupStreamedIn","ii",e,t)}function vI(e,t){const[i,a,r,n]=samp.callNative("GetPlayerPickupPos","iiFFF",e,t);return{x:i,y:a,z:r,ret:!!n}}function bI(e,t,i,a,r,n=!0){return!!samp.callNative("SetPlayerPickupPos","iifffi",e,t,i,a,r,n)}function LI(e,t,i,a=!0){return!!samp.callNative("SetPlayerPickupModel","iiii",e,t,i,a)}function wI(e,t,i,a=!0){return!!samp.callNative("SetPlayerPickupType","iiii",e,t,i,a)}function RI(e,t,i){return!!samp.callNative("SetPlayerPickupVirtualWorld","iii",e,t,i)}function OI(e,t){return samp.callNative("GetPlayerPickupModel","ii",e,t)}function GI(e,t){return samp.callNative("GetPlayerPickupType","ii",e,t)}function jI(e,t){return samp.callNative("GetPlayerPickupVirtualWorld","ii",e,t)}const vi=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}]]]),yt=e=>{const t=vi.get(e.toUpperCase());return typeof t>"u"?!1:t},St=(e,t)=>{const i=yt(e);if(i)return t==="null"?!0:i.some(a=>a.n===t)},FI=(e,t)=>{const i=yt(e);if(i)return i.find(a=>a.n===t)?.d},pe=(e,t)=>{const i=t.replace("-","")==="utf8"?e:E.encodeToBuf(e,t);return[i instanceof Array?"a":"s",i]},bi=(e,t,i)=>{const a=pe(i,e.charset);return!!samp.callNative("SendClientMessage",`ii${a[0]}`,e.id,N(t),a[1])},MI=(e,t,i)=>e.map(a=>bi(a,t,i)).every(a=>a===!0),Li=(e,t,i)=>{const a=pe(i,e.charset);return!!samp.callNative("SendPlayerMessageToPlayer",`ii${a[0]}`,e.id,t,a[1])},VI=(e,t,i)=>e.map(a=>Li(a,t,i)).every(a=>a===!0),kI=(e,t,i)=>{const{charset:a}=e,{style:r,caption:n,info:s,button1:o,button2:_}=i,[d,h]=pe(n||"",a),[,u]=pe(s||"",a),[,I]=pe(o||"",a),[,S]=pe(_||"",a);return!!samp.callNative("ShowPlayerDialog",`iii${d.repeat(4)}`,e.id,t,r,h,u,I,S)},BI=e=>{const[t,i]=samp.callNative("GetPlayerName","iAi",e.id,W.MAX_PLAYER_NAME);return{name:E.decodeFromBuf(E.getValidStr(t),e.charset),ret:i}},xI=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,E.encodeToBuf(t,e.charset)),HI=(e,t,i)=>{const a=E.encodeToBuf(t,i);return!!samp.callNative("BanEx","ia",e,a)},WI=(e,t="utf8")=>{const[i,a]=pe(e,t);return!!samp.callNative("SendRconCommand",i,a)},UI=(e,t,i,a,r,n,s,o,_,d,h,u,I,S,y,L)=>{const M=E.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",M,i,a,r,n,s,o,_,d,h,u,I,S,y,L)},KI=(e,t,i,a,r,n,s,o,_,d,h,u,I,S,y,L)=>{const M=E.encodeToBuf(e,L);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",M,t,i,a,r,n,s,o,_,d,h,u,I,S,y,h.length,u.length,I.length,S.length)},XI=(e,t,i,a)=>{const r=E.encodeToBuf(i,a);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,r)},ZI=(e,t)=>{const[i,a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return{text:E.decodeFromBuf(E.getValidStr(i),t),ret:a}},YI=(e,t,i,a,r,n,s,o,_,d,h)=>{const u=E.encodeToBuf(a,e),I=E.encodeToBuf(n,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,i,u,r,I,s,o,_,d,h)},zI=(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}},JI=(e,t,i)=>{const[a,r,n,s,o,_,d,h,u]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),I=E.decodeFromBuf(a,i),S=E.decodeFromBuf(n,i);return{text:I,materialSize:r,fontFace:S,fontSize:s,bold:o,fontColor:_,backColor:d,textAlignment:h,ret:u}},$I=(e,t,i,a,r,n)=>{const s=E.encodeToBuf(t,n);return!!samp.callNative("SetPlayerChatBubble","iaifi",e,s,N(i),a,r)},wi=(e,t,i,a,r,n,s,o=!0,_,d,h)=>{const u=E.encodeToBuf(i,e),I=E.encodeToBuf(n,e);return!!samp.callNative("SetObjectMaterialText","iaiiaiiiii",t,u,a,r,I,s,o,N(_),N(d),h)},QI=(e,t,i)=>{const[a,r=0,n,s=0,o=0,_=0,d=0,h=0,u]=samp.callNative("GetObjectMaterialText","iiAiIAiIIIII",e,t,2048,32),I=E.decodeFromBuf(a,i),S=E.decodeFromBuf(n,i);return{text:I,materialSize:r,fontFace:S,fontSize:s,bold:o,fontColor:_,backColor:d,textAlignment:h,ret:!!u}},Ri=(e,t,i,a,r,n,s,o,_=!0,d,h,u)=>{const I=E.encodeToBuf(a,e),S=E.encodeToBuf(s,e);return!!samp.callNative("SetPlayerObjectMaterialText","iiaiiaiiiii",t,i,I,r,n,S,o,_,N(d),N(h),u)},qI=(e,t,i,a)=>{const[r,n=0,s,o=0,_=0,d=0,h=0,u=0,I]=samp.callNative("GetPlayerObjectMaterialText","iiiAiIAiIIIII",e,t,i,2048,32),S=E.decodeFromBuf(r,a),y=E.decodeFromBuf(s,a);return{text:S,materialSize:n,fontFace:y,fontSize:o,bold:_,fontColor:d,backColor:h,textAlignment:u,ret:!!I}},eC=(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,_)},tC=(e,t,i,a,r,n,s,o,_,d,h)=>{const u=E.encodeToBuf(i,e);return samp.callNative("CreatePlayer3DTextLabel","iaiffffiii",t,u,N(a),r,n,s,o,_,d,h)},iC=(e,t,i,a)=>{const r=E.encodeToBuf(a,e);return!!samp.callNative("Update3DTextLabelText","iia",t,N(i),r)},aC=(e,t,i,a,r)=>{const n=E.encodeToBuf(r,e);return!!samp.callNative("UpdatePlayer3DTextLabelText","iiia",t,i,N(a),n)},rC=(e,t)=>{const[i,a]=samp.callNative("Get3DTextLabelText","iAi",t,144);return{text:E.decodeFromBuf(i,e),buf:i,ret:!!a}},nC=(e,t,i)=>{const[a,r]=samp.callNative("GetPlayer3DTextLabelText","iiAi",t,i,144);return{text:E.decodeFromBuf(a,e),buf:a,ret:!!r}},sC=(e,t,i)=>{const[a,r]=samp.callNative("GetMenuColumnHeader","iiAi",e,t,31);return{header:E.decodeFromBuf(a,i),buf:a,ret:!!r}},lC=(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}},oC=(e,t,i,a,r,n,s)=>samp.callNative("CreateMenu","aiffff",E.encodeToBuf(e,s),t,i,a,r,n),_C=(e,t,i,a)=>samp.callNative("AddMenuItem","iia",e,t,E.encodeToBuf(i,a)),cC=(e,t,i,a)=>!!samp.callNative("SetMenuColumnHeader","iia",e,t,E.encodeToBuf(i,a)),B=Symbol("internalPlayerProps"),ce=new Map,Ie=new Map,Me=new Map,Y=new Map,Ve=new Map,Ce=new Map,se=new Map,ye=new Map,ue=new Map,ke=new Map,z=new Map,Se=new Map,Be=new Map,me=new Map,Ee=new Map,Ae=new Map,Ne=new Map,xe=new Map,De=new Map,Te=new Map,K=new Map,He=new Map,We=new Map,J=new Map,Ue=new Map,$=new Map,[dC]=m({name:"OnGameModeInit",identifier:""}),[Oi,hC]=m({name:"OnGameModeInitReal",isNative:!1});dC(()=>{Promise.resolve().then(hC)});const[Gi]=m({name:"OnGameModeExit",identifier:""}),[gC]=m({name:"OnIncomingConnection",identifier:"isi",defaultValue:!1,beforeEach(e,t,i){return{playerId:e,ipAddress:t,port:i}}}),[uC]=m({name:"OnRconCommandI18n",identifier:"ai",defaultValue:!1,beforeEach(e){return{buffer:e,cmd:E.decodeFromBuf(e)}}}),[mC]=m({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,i){return{ip:E.decodeFromBuf(e),password:E.decodeFromBuf(t),success:!!i,ipBuffer:e,passwordBuffer:t}}}),ve=[],Ke=[],ht=new Map,Et=async e=>{try{return await new Promise((t,i)=>{const a=ve.findIndex(o=>o.name===e);if(a===-1)return;const r=ve[a];function n(o){o.length&&ht.set(e,o),ve.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
2
  err:${t}`)}},At=async e=>{try{return await new Promise((t,i)=>{const a=Ke.findIndex(_=>_.name===e);if(a===-1)return;const r=Ke[a],n=ht.get(e);n&&(n.forEach(_=>_()),ht.delete(e));function s(){Ke.splice(a,1),ve.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}`)}},fC=async e=>{await At(e),await Et(e)},PC=e=>ht.has(e);Oi(async({next:e})=>{const t=ve.map(i=>i.name);for(const i of t)await Et(i);return e()}),Gi(async({next:e})=>{const t=Ke.map(i=>i.name);for(const i of t)await At(i);return e()});const pC=function(e,...t){if(ve.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),ve.push(e)},de=new Uint32Array(65536),IC=(e,t)=>{const i=e.length,a=t.length,r=1<<i-1;let n=-1,s=0,o=i,_=i;for(;_--;)de[e.charCodeAt(_)]|=1<<_;for(_=0;_<a;_++){let d=de[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;_--;)de[e.charCodeAt(_)]=0;return o},CC=(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 M=_*32,Q=Math.min(32,a)+M;for(let V=M;V<Q;V++)de[e.charCodeAt(V)]|=1<<V;for(let V=0;V<i;V++){const he=de[t.charCodeAt(V)],oe=n[V/32|0]>>>V&1,ne=r[V/32|0]>>>V&1,Dt=he|y,Tt=((he|ne)&L)+L^L|he|ne;let $e=y|~(Tt|L),nt=L&Tt;$e>>>31^oe&&(n[V/32|0]^=1<<V),nt>>>31^ne&&(r[V/32|0]^=1<<V),$e=$e<<1|oe,nt=nt<<1|ne,L=nt|~(Dt|$e),y=$e&Dt}for(let V=M;V<Q;V++)de[e.charCodeAt(V)]=0}let d=0,h=-1;const u=_*32,I=Math.min(32,a-u)+u;for(let y=u;y<I;y++)de[e.charCodeAt(y)]|=1<<y;let S=a;for(let y=0;y<i;y++){const L=de[t.charCodeAt(y)],M=n[y/32|0]>>>y&1,Q=r[y/32|0]>>>y&1,V=L|d,he=((L|Q)&h)+h^h|L|Q;let oe=d|~(he|h),ne=h&he;S+=oe>>>a-1&1,S-=ne>>>a-1&1,oe>>>31^M&&(n[y/32|0]^=1<<y),ne>>>31^Q&&(r[y/32|0]^=1<<y),oe=oe<<1|M,ne=ne<<1|Q,h=ne|~(V|oe),d=oe&V}for(let y=u;y<I;y++)de[e.charCodeAt(y)]=0;return S},ji=(e,t)=>{if(e.length<t.length){const i=t;t=e,e=i}return t.length===0?e.length:e.length<=32?IC(e,t):CC(e,t)},yC=(e,t)=>{let i=1/0,a=0;for(let r=0;r<t.length;r++){const n=ji(e,t[r]);n<i&&(i=n,a=r)}return t[a]},be=new Map,Le=new Map,Fi=/[^/\s]+/gi,it={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"}},[SC,EC]=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:_}}}),[AC,NC]=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:_}}}),[DC,at]=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=yC(a,[...be.keys(),...Le.keys()]),u=ji(a,h);return{suggestion:h,distance:u}}}}}),[TC,vC]=m({name:"OnPlayerCommandTextI18n",identifier:"iai",defaultValue:!1,beforeEach(e,t){const i=ce.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}}}),[bC,LC]=m({name:"OnPlayerCommandTextRaw",isNative:!1,defaultValue:!1,beforeEach(e,t,i){return{player:e,buffer:t,cmdText:i}}});function wC(e){const t=[];let i="";for(let a=0;a<e.length;a++)i+=e[a]+" ",t.push(i.trimEnd());return t.reverse()}TC(({player:e,buffer:t,cmdText:i,next:a})=>{const r=LC(e,t,i);if(r)return r;const n=i.match(Fi),s=wC(n),o=s.find(L=>be.has(L)),_=s.map(L=>L.toLowerCase()).find(L=>Le.has(L)),d=!!o,h=!!_,u=n.join(" ");let I=[];const S=[[o,be,!0],[_,Le,!1]],y=[u,i,t,o,_,d,h,I];if(d||h){const L=S[0][0]||S[1][0];I=u.replace(L,"").trim().split(" ")}else return at(e,it.NOT_EXIST,...y);try{if(!EC(e,...y))return at(e,it.RECEIVED_REJECTED,...y)}catch(L){const M=typeof L=="object"?L:{error:L};return at(e,{...it.RECEIVED_THROW,...M},...y)}for(const[L,M,Q]of S){if(!L)continue;const V=M.get(L),[,he]=V;if(!he(e,L,I,i,t,Q))return at(e,it.REJECTED,...y)}return NC(e,u,i,t,o,_,d,h,I)?(a(),!0):at(e,it.PERFORMED,...y)});function RC(e,t,i,a,r,n){return{player:e,mainCommand:t,subcommand:i,cmdText:a,buffer:r,isStrict:n}}class ae{static caseSensitive=!1;constructor(){}static on(t,i){let a=ae.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(Fi));if(o)return console.log(`error command ${o} format`),()=>{};const _=a?be:Le,d=s.map(h=>{const u=h.replaceAll("/",""),I=a?u:u.toLowerCase();if(!_.has(I)){const y=m({name:a?"$"+I:I,isNative:!1,beforeEach:RC});_.set(I,y)}const[S]=_.get(I);return[I,S(n)]});return()=>{d.forEach(h=>{const[u,I]=h;I()===0&&_.delete(u)})}}static off(t){(Array.isArray(t)?t:[t]).forEach(i=>{let a=i.replaceAll("/","");be.has(a)&&(ee.has(a)&&ee.delete(a),be.has(a)&&be.delete(a)),a=a.toLowerCase(),Le.has(a)&&(ee.has(a)&&ee.delete(a),Le.has(a)&&Le.delete(a))})}static enableCaseSensitive(){ae.caseSensitive=!0}static disableCaseSensitive(){ae.caseSensitive=!1}static isCaseSensitive(){return ae.caseSensitive}static simulate(t,i){return vC(t.id,i)}}class H{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=Oi;static onExit=Gi;static onIncomingConnection=gC;static onRconCommand=uC;static onRconLoginAttempt=mC;static use(t,...i){return pC(t,...i),this}static loadUseScript=Et;static reloadUseScript=fC;static unloadUseScript=At;static isUseScriptLoaded=PC;static enableCmdCaseSensitive=ae.enableCaseSensitive;static disableCmdCaseSensitive=ae.disableCaseSensitive;static isCmdCaseSensitive=ae.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");Xs(t)}static setWorldTime(t){if(t<0||t>23)throw new Error("[GameMode]: The valid hour value is only 0 to 23");Ws(t)}static getWorldTime=Us;static setTeamCount=gl;static sendRconCommand=WI;static addPlayerClass=ul;static addPlayerClassEx=ml;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 zs(t,i,a,r,n)}static manualVehicleEngineAndLights=qg;static blockIpAddress=Gl;static unBlockIpAddress=jl;static getServerTickRate=al;static addCharModel=Ep;static getCustomModelPath=Tp;static addSimpleModel(t,i,a,r,n){return this.checkSimpleModel(t,i,a,r,n)?Ap(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)?Np(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>W.MAX_CUSTOM_OBJECT_ID||a<W.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=Ti;static getCustomModePath=Gp;static getConsoleVarAsString(t,i="utf8"){const{consoleVarBuf:a,ret:r}=vs(t);return{consoleVar:E.decodeFromBuf(E.getValidStr(a),i),ret:r}}static getRestartTime=js;static setRestartTime=Gs;static allowAdminTeleport=Ss;static isAdminTeleportAllowed=Es;static allowInteriorWeapons=As;static areInteriorWeaponsAllowed=Ns;static areAllAnimationsEnabled=Ds;static enableAllAnimations=Ts;static enableStuntBonusForAll=nl;static enableVehicleFriendlyFire=Ks;static enableZoneNames=Js;static disableInteriorEnterExits=Qs;static setGameModeText=Bs;static getGravity=Zs;static setGravity=Ys;static showNameTags=xs;static disableNameTagLOS=el;static usePlayerPedAnims=$s;static showPlayerMarkers=Hs;static limitPlayerMarkerRadius=il;static limitGlobalChatRadius=tl;static setNameTagDrawDistance=qs;static findModelFileNameFromCRC=vp;static findTextureFileNameFromCRC=bp;static getWeaponName=_l;static setObjectsDefaultCameraCollision=Sp;static vectorSize=Ct;static clearBanList=Vl;static isBanned=kl;static isValidNickName=ms;static allowNickNameCharacter=fs;static isNickNameCharacterAllowed=Ps;static addServerRule=ps;static setServerRule=Is;static isValidServerRule=Cs;static removeServerRule=ys;static getWeaponSlot=ol;static getAvailableClasses=cl;static getPlayerClass=dl;static editPlayerClass=hl;static toggleChatTextReplacement=sl;static chatTextReplacementToggled=ll;static getConsoleVarAsInt=bs;static getConsoleVarAsBool=Ls;static getWeather=ws;static getServerRuleFlag=Rs;static setServerRuleFlags=Os;static getAnimationName=rl}const D={skip:!1};H.onInit(({next:e})=>(D.skip=!1,e())),H.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,Ie.set(this._id,this),this.isValid()&&p.createdCount++}else this.sourceInfo=t,this.isStatic=i}create(){if(this.id!==l.VEHICLE_ID)throw new Error("[Vehicle]: Cannot create again");if(!this.sourceInfo)throw new Error("[Vehicle]: Cannot create with only id");const{modelId:t,x:i,y:a,z:r,zAngle:n,color:s,respawnDelay:o,addSiren:_}=this.sourceInfo;if(this.isStatic){if(typeof o>"u"){this._id=p.__inject__.addStatic(t,i,a,r,n,s[0],s[1]);return}this._id=p.__inject__.addStaticEx(t,i,a,r,n,s[0],s[1],o||-1,_||!1)}else this._id=p.__inject__.create(t,i,a,r,n,s[0],s[1],o||-1,_||!1);if(this._id===l.VEHICLE_ID||p.createdCount===W.MAX_VEHICLES)throw new Error("[Vehicle]: Cannot create vehicle");p.createdCount++,Ie.set(this._id,this)}destroy(){if(this.id===l.VEHICLE_ID&&!D.skip)throw new Error("[Vehicle]: Cannot destroy the vehicle before create");D.skip||p.__inject__.destroy(this._id),p.createdCount--,Ie.delete(this._id),this._id=l.VEHICLE_ID,p.getInstances().length||(p.createdCount=0)}addComponent(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.addComponent(this.id,t)}removeComponent(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.removeComponent(this.id,t)}getComponentInSlot(t){return this.id===l.VEHICLE_ID?0:p.__inject__.getComponentInSlot(this.id,t)}linkToInterior(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.linkToInterior(this.id,t)}setVirtualWorld(t){return this.id===l.VEHICLE_ID?!1: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?!1: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?!1: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?!1:p.__inject__.setZAngle(this.id,t)}setNumberPlate(t){if(this.id===l.VEHICLE_ID)return!1;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?!1: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 Ct(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?!1:p.__inject__.setRespawn(this.id)}isStreamedIn(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.isStreamedIn(this.id,t.id)}setParamsCarDoors(t=G.UNSET,i=G.UNSET,a=G.UNSET,r=G.UNSET){return this.id===l.VEHICLE_ID?!1:p.__inject__.setParamsCarDoors(this.id,t,i,a,r)}setParamsCarWindows(t=G.UNSET,i=G.UNSET,a=G.UNSET,r=G.UNSET){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?!1:p.__inject__.setParamsEx(this.id,t,i,a,r,n,s,o)}getParamsEx(){if(this.id===l.VEHICLE_ID)return{engine:G.UNSET,lights:G.UNSET,alarm:G.UNSET,doors:G.UNSET,bonnet:G.UNSET,boot:G.UNSET,objective:G.UNSET,ret:!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,ret:!!_}}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?G.UNSET:p.__inject__.getParamsSirenState(this.id)}setParamsForPlayer(t,i=G.UNSET,a=G.UNSET){return this.id===l.VEHICLE_ID?!1: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?!1:p.__inject__.changePaintjob(this.id,t)}attachTrailer(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.attachTrailer(t.id,this.id)}detachTrailer(){this.isTrailerAttached()&&p.__inject__.detachTrailer(this.id)}getTrailer(){return p.getInstance(pu(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?!1:p.__inject__.getSirenState(this.id)}getDriver(){return ce.get(Ci(this.id))}getLastDriver(){return ce.get(Ii(this.id))}isSirenEnabled(){return p.__inject__.isSirenEnabled(this.id)}toggleSirenEnabled(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.toggleSirenEnabled(this.id,t)}setParamsSirenState(t){return this.id===l.VEHICLE_ID?!1: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?!1: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){return this.id===l.VEHICLE_ID?!1: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())}canHaveComponent(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.canHaveComponent(this.getModel(),t)}getSeats(){return p.__inject__.getSeats(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 canHaveComponent(t,i){return p.__inject__.canHaveComponent(t,i)}static getSeats(t){return p.__inject__.getSeats(t)}static getInstance(t){return Ie.get(t)}static getInstances(){return[...Ie.values()]}static __inject__={addStatic:Ou,addStaticEx:Gu,create:Hg,destroy:Wg,addComponent:_u,removeComponent:cu,getComponentInSlot:yu,linkToInterior:ou,setVirtualWorld:Lu,getVirtualWorld:wu,repair:Eu,setPos:Xg,getPos:Kg,getHealth:uu,setHealth:gu,isPlayerIn:J_,putPlayerIn:T_,getZAngle:Zg,setZAngle:$g,setNumberPlate:Iu,changeColors:du,setVelocity:Nu,getVelocity:Au,setAngularVelocity:Du,getDamageStatus:Tu,updateDamageStatus:vu,getDistanceFromPoint:Jg,getModel:Cu,getModelInfo:bu,getRotation:Yg,getRotationQuat:zg,setRespawn:lu,isStreamedIn:Ug,setParamsCarDoors:au,setParamsCarWindows:nu,getParamsCarDoors:ru,getParamsCarWindows:su,setParamsEx:eu,getParamsEx:tu,getParamsSirenState:iu,setParamsForPlayer:Qg,isTrailerAttached:Pu,changePaintjob:hu,attachTrailer:mu,detachTrailer:fu,getMatrix:kg,getTrainSpeed:Vg,getHydraReactorAngle:Mg,getLandingGearState:Fg,getSirenState:jg,getDriver:Ci,getLastDriver:Ii,isSirenEnabled:Rg,toggleSirenEnabled:Lg,setParamsSirenState:wg,isDead:Tg,setDead:vg,setBeenOccupied:bg,getRespawnTick:Ng,setRespawnTick:Dg,isOccupied:Ag,hasBeenOccupied:Eg,getOccupiedTick:yg,setOccupiedTick:Sg,getCab:Cg,getRespawnDelay:Ig,setRespawnDelay:pg,getNumberPlate:Pg,getInterior:fg,getPaintjob:mg,getColors:ug,setSpawnInfo:gg,getSpawnInfo:hg,getRandomColorPair:Bg,show:ju,hide:Fu,isHidden:Mu,getOccupant:Wu,getMaxPassengers:Uu,countOccupants:Ku,getComponentType:Su,colorIndexToColor:xg,isValid:Ru,getModelsUsed:Gg,getModelCount:Og,canHaveComponent:Xu,getSeats:Zu}}class C{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=C.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?Te.set(this._id,this):i&&(K.has(i)||K.set(i,new Map),K.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[ObjectMp]: Cannot create with only id");if(this.id!==l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot 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=C.__inject__.create(t,i,a,r,n,s,o,_),this.id===l.OBJECT_ID||C.getInstances().length===W.MAX_OBJECTS)throw new Error("[ObjectMp]: Cannot create object");return Te.set(this._id,this),this}const d=this.getPlayerId();if(d===l.PLAYER_ID)return this;const h=this.getPlayer();if(this._id=C.__inject__.createPlayer(d,t,i,a,r,n,s,o,_),this.id===l.OBJECT_ID||C.getInstances(h).length===W.MAX_OBJECTS)throw new Error("[ObjectMp]: Cannot create player object");return K.has(h)||K.set(h,new Map),K.get(this.getPlayer()).set(this.id,this),this}destroy(){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot destroy before create");if(this.isGlobal())D.skip||C.__inject__.destroy(this.id),Te.delete(this.id);else{const t=this.getPlayerId();if(t===l.PLAYER_ID)return this;const i=this.getPlayer();if(D.skip||C.__inject__.destroyPlayer(t,this.id),K.has(i)){const a=K.get(i);a.delete(this.id),a.size===0&&K.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()?C.isValid(this.id):C.isValid(this.id,this.getPlayerId())}getModel(){return this.sourceInfo?this.sourceInfo.modelId:this.isGlobal()?C.__inject__.getModel(this.id):C.__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()?C.__inject__.getPos(this.id):C.__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()?C.__inject__.setPos(this.id,t,i,a):C.__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()?C.__inject__.getRot(this.id):C.__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()?C.__inject__.setRot(this.id,t,i,a):C.__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()?C.__inject__.move(this.id,t,i,a,r,n,s,o):C.__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()?C.__inject__.stop(this.id):C.__inject__.stopPlayer(this.getPlayerId(),this.id)}isMoving(){return this.id===l.OBJECT_ID?!1:this.isGlobal()?C.__inject__.isMoving(this.id):C.__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 C.__inject__.attachCamera(t.id,this.id)}return C.__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 C.__inject__.attachToObject(this.id,t.id,i,a,r,n,s,o,_);if(!this.isGlobal()&&!t.isGlobal())return C.__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()?C.__inject__.attachToPlayer(this.id,t.id,i,a,r,n,s,o):C.__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()?C.__inject__.attachToVehicle(this.id,t.id,i,a,r,n,s,o):C.__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]: Cannot edit before create");if(this.isGlobal()){if(!t)throw new Error("[ObjectMp]: Cannot edit without player");return t.endObjectEditing(),C.__inject__.beginEditing(t.id,this.id)}const i=this.getPlayer();return i.endObjectEditing(),C.__inject__.beginEditingPlayer(i.id,this.id)}isMaterialUsed(t){return this.id===l.OBJECT_ID?!1:this.isGlobal()?C.__inject__.isMaterialSlotUsed(this.id,t):C.__inject__.isMaterialSlotUsedPlayer(this.getPlayerId(),this.id,t)}getMaterial(t){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot get material before create");return this.isGlobal()?C.__inject__.getMaterial(this.id,t):C.__inject__.getMaterialPlayer(this.getPlayerId(),this.id,t)}setMaterial(t,i,a,r,n="#000"){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot set material before create");return this.isGlobal()?C.__inject__.setMaterial(this.id,t,i,a,r,N(n)):C.__inject__.setMaterialPlayer(this.getPlayerId(),this.id,t,i,a,r,N(n))}getMaterialText(t){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot get material text before create");return this.isGlobal()?C.__inject__.getMaterialText(this.id,t,this.sourceInfo?.charset||"utf8"):C.__inject__.getMaterialTextPlayer(this.getPlayerId(),this.id,t,this.sourceInfo?.charset||"utf8")}setMaterialText(t=this.sourceInfo?.charset,i,a,r=ot.SIZE_256x128,n="Arial",s=24,o=!0,_="#fff",d="#000",h=0){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot set material text before create");return this.sourceInfo&&(this.sourceInfo.charset=t),this.isGlobal()?wi(t||"utf8",this.id,i,a,r,n,s,o,N(_),N(d),h):Ri(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()?C.__inject__.setNoCameraCollision(this.id):C.__inject__.setNoCameraCollisionPlayer(this.getPlayerId(),this.id)}isNoCameraCol(){return this.id===l.OBJECT_ID?!1:this.isGlobal()?C.__inject__.isNoCameraCol(this.id):C.__inject__.isNoCameraColPlayer(this.getPlayerId(),this.id)}hasCameraCollision(){return!this.isNoCameraCol()}getDrawDistance(){return this.id===l.OBJECT_ID?0:this.isGlobal()?C.__inject__.getDrawDistance(this.id):C.__inject__.getDrawDistancePlayer(this.getPlayerId(),this.id)}setMoveSpeed(t){return this.id===l.OBJECT_ID?!1:this.isGlobal()?C.__inject__.setMoveSpeed(this.id,t):C.__inject__.setMoveSpeedPlayer(this.getPlayerId(),this.id,t)}getMoveSpeed(){return this.id===l.OBJECT_ID?0:this.isGlobal()?C.__inject__.getMoveSpeed(this.id):C.__inject__.getMoveSpeedPlayer(this.getPlayerId(),this.id)}getMovingTargetPos(){return this.isGlobal()?C.__inject__.getMovingTargetPos(this.id):C.__inject__.getMovingTargetPosPlayer(this.getPlayerId(),this.id)}getSyncRotation(){return this.isGlobal()?C.__inject__.getSyncRotation(this.id):C.__inject__.getSyncRotationPlayer(this.getPlayerId(),this.id)}getAttachedOffset(){return this.isGlobal()?C.__inject__.getAttachedOffset(this.id):C.__inject__.getAttachedOffsetPlayer(this.getPlayerId(),this.id)}getTarget(){return this.isGlobal()?C.__inject__.getTarget(this.id):C.__inject__.getTargetPlayer(this.getPlayerId(),this.id)}static isValid(t,i){return i===l.PLAYER_ID?!1:typeof i>"u"?C.__inject__.isValid(t):C.__inject__.isValidPlayer(i,t)}static getInstance(t,i){if(!i)return Te.get(t);if(i.id!==l.PLAYER_ID)return K.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...K.get(t)?.values()||[]]:[...Te.values()]}static getPlayersInstances(){return Array.from(K.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:tp,createPlayer:Zp,destroy:mp,destroyPlayer:iI,setMaterialText:wi,setMaterialTextPlayer:Ri,setNoCameraCollision:hp,setNoCameraCollisionPlayer:eI,isNoCameraCol:gp,isNoCameraColPlayer:Up,getDrawDistance:XP,getDrawDistancePlayer:jp,setMoveSpeed:YP,setMoveSpeedPlayer:Fp,getMoveSpeed:ZP,getMoveSpeedPlayer:Mp,getMovingTargetPos:zP,getMovingTargetPosPlayer:kp,getSyncRotation:QP,getSyncRotationPlayer:xp,getAttachedOffset:$P,getAttachedOffsetPlayer:Bp,getTarget:JP,getTargetPlayer:Vp,isValid:up,isValidPlayer:tI,getModel:dp,getModelPlayer:qp,getPos:op,getPosPlayer:Jp,getRot:cp,getRotPlayer:Qp,setPos:lp,setPosPlayer:zp,setRot:_p,setRotPlayer:$p,move:fp,movePlayer:aI,setMaterial:yp,setMaterialPlayer:lI,stop:Pp,stopPlayer:rI,isMoving:pp,isMovingPlayer:nI,attachCamera:pc,attachCameraPlayer:Ic,attachToObject:rp,attachToPlayer:np,attachToVehicle:ip,attachPlayerToObject:ap,attachPlayerToPlayer:sI,attachPlayerToVehicle:Yp,beginEditing:Ip,beginEditingPlayer:Xp,endEditing:Di,getMaterial:ep,getMaterialPlayer:Wp,isMaterialSlotUsed:qP,isMaterialSlotUsedPlayer:Hp,getMaterialText:QI,getMaterialTextPlayer:qI}}const[Mi]=m({name:"OnClientCheckResponse",identifier:"iiii",beforeEach(e,t,i,a){return{player:c.getInstance(e),actionId:t,memAddr:i,data:a}}}),[OC,GC]=m({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,i){return{player:e,newLocale:t,oldLocale:i}}}),[jC,FC]=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>=W.MAX_PLAYERS)throw new Error(`Invalid player ID: ${t} (valid range: 0-${W.MAX_PLAYERS-1})`);const i=c.getInstance(t);if(i)return i;ce.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,FC(this,t,i)}get locale(){return this._locale}set locale(t){const i=this._locale;this._locale=t,GC(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=st.NORMAL){return c.__inject__.spectatePlayer(this.id,t.id,i)}spectateVehicle(t,i=st.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){return 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()===qe.SPECTATING}isWasted(){return this.getState()===qe.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){return c.__inject__.setWeather(this.id,t)}getWeather(){return c.__inject__.getWeather(this.id)}setTime(t,i){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 Ct(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=Qe.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 Ie.get(t)}getCameraTargetActor(){const t=c.__inject__.getCameraTargetActor(this.id);return He.get(t)}getCameraTargetObject(){const t=c.__inject__.getCameraTargetObject(this.id);return Te.get(t)}getCameraTargetPlayerObject(){const t=c.__inject__.getCameraTargetPlayerObject(this.id);return K.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,_=Qe.CUT){return c.__inject__.interpolateCameraPos(this.id,t,i,a,r,n,s,o,_)}interpolateCameraLookAt(t,i,a,r,n,s,o,_=Qe.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(!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(){return H.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,ft.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,u,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,u,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 u=null;const I=Mi(({player:S,actionId:y,memAddr:L,data:M,next:Q})=>(S!==this||(u&&(clearTimeout(u),u=null),s({actionId:y,memAddr:L,data:M})),Q()));u=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 C.getInstance(t)}getSurfingPlayerObject(){const t=c.__inject__.getSurfingPlayerObjectID(this.id);if(t!==l.OBJECT_ID)return C.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,u=1,I=1,S=0,y=0){return this.isAttachedObjectSlotUsed(t)?0:c.__inject__.setAttachedObject(this.id,t,i,a,r,n,s,o,_,d,h,u,I,S,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 ae.simulate(this,t)}hasClockEnabled(){return c.__inject__.hasClockEnabled(this.id)}static getInstance(t){return ce.get(t)}static getInstances(){return[...ce.values()]}static __inject__={sendClientMessage:bi,sendClientMessageToAll:MI,sendMessageToPlayer:Li,sendMessageToAll:VI,banEx:HI,getName:BI,setName:xI,setChatBubble:$I,isNpc:Co,getDrunkLevel:Wo,setDrunkLevel:Uo,allowTeleport:ho,isTeleportAllowed:go,enableCameraTarget:dc,enableStuntBonus:x_,getInterior:Lo,setInterior:bo,showNameTag:ic,setColor:Ko,getColor:Xo,setMapIcon:ac,removeMapIcon:rc,setMarker:ec,getMarker:tc,resetMoney:e_,getMoney:t_,giveMoney:qo,resetWeapons:Jo,spawn:Pl,setHealth:wo,getHealth:Ro,toggleClock:o_,toggleControllable:w_,toggleSpectating:X_,spectatePlayer:Z_,spectateVehicle:Y_,forceClassSelection:c_,kick:Ll,ban:wl,isAdmin:vl,isInRangeOfPoint:Do,isStreamedIn:vo,setSkin:Zo,getSkin:Yo,isInAnyVehicle:$_,getSpecialAction:F_,setSpecialAction:M_,setScore:xo,getScore:Ho,getPing:a_,setPos:yo,getPos:Eo,getState:i_,getVersion:Hl,setVirtualWorld:k_,getVirtualWorld:B_,removeFromVehicle:L_,setWantedLevel:d_,getWantedLevel:h_,setFacingAngle:Ao,getFacingAngle:No,setWeather:__,getWeather:Xl,setTime:s_,getTime:l_,removeBuilding:N_,setTeam:ko,getTeam:Bo,setSkillLevel:y_,setVelocity:m_,getVelocity:f_,getKeys:n_,getIp:xl,getFightingStyle:u_,setFightingStyle:g_,setArmour:Oo,getArmour:Go,setCameraBehind:lc,setCameraPos:nc,setCameraLookAt:sc,getCameraAspectRatio:fc,getCameraFrontVector:_c,getCameraMode:cc,getCameraPos:oc,getCameraTargetPlayer:uc,getCameraTargetVehicle:gc,getCameraTargetActor:mc,getCameraTargetObject:hc,getCameraTargetPlayerObject:Kp,getCameraZoom:Pc,playAudioStream:p_,stopAudioStream:I_,playSound:R_,getMaxPlayers:ks,playCrimeReport:P_,interpolateCameraPos:Cc,interpolateCameraLookAt:yc,createExplosion:W_,isConnected:z_,disableRemoteVehicleCollisions:V_,getVehicleID:v_,getVehicleSeat:b_,getSurfingVehicleID:S_,applyAnimation:O_,clearAnimations:G_,getAnimationIndex:j_,setShopName:C_,setPosFindZ:So,setWorldBounds:Q_,clearWorldBounds:q_,getDistanceFromPoint:To,getCustomSkin:H_,getTargetPlayer:Vo,getLastShotVectors:D_,getWeapon:r_,getWeaponData:Qo,getWeaponState:Mo,giveWeapon:zo,setAmmo:jo,getAmmo:Fo,setArmedWeapon:$o,sendDeathMessage:Vs,sendDeathMessageToPlayer:po,setSpawnInfo:fl,redirectDownload:Dp,sendClientCheck:Ml,selectTextDraw:rP,cancelSelectTextDraw:nP,beginObjectSelecting:Cp,endObjectEditing:Di,getSurfingObjectID:E_,getSurfingPlayerObjectID:A_,isAttachedObjectSlotUsed:Op,editAttachedObject:sp,setAttachedObject:wp,removeAttachedObject:Rp,toggleWidescreen:Wl,isWidescreenToggled:Ul,getSpawnInfo:pl,getSkillLevel:Kl,isCheckpointActive:yi,getCheckpoint:Si,isRaceCheckpointActive:Ei,getRaceCheckpoint:Ai,getWorldBounds:Zl,isInModShop:Vu,getSirenState:ku,getLandingGearState:Bu,getHydraReactorAngle:xu,getTrainSpeed:Hu,getZAim:Yl,getSurfingOffsets:zl,getRotationQuat:Jl,getDialogID:$l,getSpectateID:Ql,getSpectateType:ql,getRawIp:Bl,setGravity:eo,getGravity:to,setAdmin:bl,isSpawned:io,isControllable:ao,isCameraTargetEnabled:ro,toggleGhostMode:no,getGhostMode:so,getBuildingsRemoved:lo,getAttachedObject:Lp,removeWeapon:oo,isUsingOfficialClient:co,allowWeapons:uo,areWeaponsAllowed:mo,gpci:Fl,isCuffed:Sc,isInDriveByMode:Ec,isUsingOmp:Ac,hasClockEnabled:Nc}}const[Vi]=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}}});Vi(({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:gt.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]: Cannot 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:kI,hide:_o}}const[ki]=m({name:"OnPlayerConnect",identifier:"i",beforeEach(e){const t=new c(e);return ce.set(e,t),U.close(t),{player:t}}}),[Bi]=m({name:"OnPlayerDisconnect",identifier:"ii",beforeEach(e,t){return{player:ce.get(e),reason:t}},afterEach({player:e}){ce.delete(e.id)}}),[xi]=m({name:"OnPlayerUpdate",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[MC]=m({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const i=c.getInstance(e);return{player:i,text:E.decodeFromBuf(t,i.charset),buffer:t}}}),[VC]=m({name:"OnPlayerEnterExitModShop",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),enterExit:t,interior:i}}}),[kC]=m({name:"OnPlayerClickMap",identifier:"ifff",defaultValue:!1,beforeEach(e,t,i,a){return{player:c.getInstance(e),fX:t,fY:i,fZ:a}}}),[BC]=m({name:"OnPlayerClickPlayer",identifier:"iii",defaultValue:!1,beforeEach(e,t,i){return{player:c.getInstance(e),clickedPlayer:c.getInstance(t),source:i}}}),[xC]=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}}}),[HC]=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}}}),[WC]=m({name:"OnPlayerKeyStateChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newKeys:t,oldKeys:i}}}),[UC]=m({name:"OnPlayerRequestClass",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),classId:t}}}),[KC]=m({name:"OnPlayerRequestSpawn",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[XC]=m({name:"OnPlayerSpawn",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[ZC]=m({name:"OnPlayerStateChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newState:t,oldState:i}}}),[YC]=m({name:"OnPlayerStreamIn",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),forPlayer:c.getInstance(t)}}}),[zC]=m({name:"OnPlayerStreamOut",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),forPlayer:c.getInstance(t)}}}),[JC]=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}}}),[$C]=m({name:"OnPlayerInteriorChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newInteriorId:t,oldInteriorId:i}}}),[QC]=m({name:"OnPlayerRequestDownload",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),type:t,crc:i}}}),[qC]=m({name:"OnPlayerFinishedDownloading",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),virtualWorld:t}}}),[ey]=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 rt=null;const te=new Map,Xe=new Map;function Hi(e){if(!e.isConnected()){te.has(e)&&(clearInterval(te.get(e)),te.delete(e),Xe.delete(e));return}let t=Xe.get(e)||1;if(t>=c.MAX_CHECK_ANDROID_DELAY){clearInterval(te.get(e)),te.delete(e),Xe.delete(e),Nt(e,!0);return}e.sendClientCheck(72,0,0,2).then(({actionId:i})=>{i===72&&(e[B].isAndroid=!1,te.has(e)&&(clearInterval(te.get(e)),te.delete(e),Xe.delete(e)),Nt(e,!1))}).catch(()=>{}),t++,Xe.set(e,t)}const[ty,iy]=m({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[ay,ry]=m({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,i,a){return{player:e,pausedAt:t,now:i,diff:a}}}),[ny,sy]=m({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,i){return{player:e,newFps:t,oldFps:i}}}),[ly,Nt]=m({name:"OnAndroidCheck",isNative:!1,beforeEach(e,t){return{player:e,result:t}}});ki(({player:e,next:t})=>{if(!rt&&c.getInstances().length&&(rt=setInterval(()=>{c.getInstances().filter(a=>{const r=a.getState()!==qe.NONE;return!a.isPaused&&!a.isNpc()&&r}).forEach(a=>{Date.now()-a.lastUpdateTick>1e3&&(a[B].isPaused=!0,iy(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();Hi(e);const i=setInterval(()=>Hi(e),1e3);return te.set(e,i),t()}),Bi(({player:e,next:t})=>(rt&&c.getInstances().length<=1&&(clearInterval(rt),rt=null),te.has(e)&&(clearInterval(te.get(e)),te.delete(e),Xe.delete(e)),t()));function oy(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,sy(e,r,a)}}xi(({player:e,next:t})=>{if(!e.isNpc()){const i=Date.now();e.isPaused&&(e[B].isPaused=!1,ry(e,e.lastUpdateTick,i,i-e.lastUpdateTick)),e[B].lastUpdateTick=i,oy(e)}return t()});const Ze=Object.freeze({onConnect:ki,onDisconnect:Bi,onPause:ty,onResume:ay,onUpdate:xi,onText:MC,onEnterExitModShop:VC,onClickMap:kC,onClickPlayer:BC,onDeath:xC,onGiveDamage:HC,onKeyStateChange:WC,onRequestClass:UC,onRequestSpawn:KC,onSpawn:XC,onStateChange:ZC,onStreamIn:YC,onStreamOut:zC,onTakeDamage:JC,onInteriorChange:$C,onRequestDownload:QC,onFinishedDownloading:qC,onCheckResponse:Mi,onCommandReceived:SC,onCommandPerformed:AC,onCommandError:DC,onCommandText:ae.on,offCommandText:ae.off,onDialogResponse:Vi,onLocaleChange:OC,onCharsetChange:jC,onFpsUpdate:ny,onWeaponShot:ey,onAndroidCheck:ly,onCommandTextRaw:bC});H.onExit(({next:e})=>(p.getInstances().forEach(t=>t.destroy()),Ie.clear(),e()));const[_y]=m({name:"OnVehicleDamageStatusUpdate",identifier:"ii",defaultValue:!1,beforeEach(e,t){return{vehicle:p.getInstance(e),player:c.getInstance(t)}}}),[cy]=m({name:"OnVehicleDeath",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),killer:c.getInstance(t)}}}),[dy]=m({name:"OnVehicleMod",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),componentId:i}}}),[hy]=m({name:"OnVehiclePaintjob",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),paintjobId:i}}}),[gy]=m({name:"OnVehicleRespray",identifier:"iiii",beforeEach(e,t,i,a){return{player:c.getInstance(e),vehicle:p.getInstance(t),color:[i,a]}}}),[uy]=m({name:"OnVehicleSirenStateChange",identifier:"iii",defaultValue:!1,beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),state:!!i}}}),[my]=m({name:"OnVehicleSpawn",identifier:"i",beforeEach(e){return{vehicle:p.getInstance(e)}}}),[fy]=m({name:"OnVehicleStreamIn",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),forPlayer:c.getInstance(t)}}}),[Py]=m({name:"OnVehicleStreamOut",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),forPlayer:c.getInstance(t)}}}),[py]=m({name:"OnPlayerEnterVehicle",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),isPassenger:!!i}}}),[Iy]=m({name:"OnPlayerExitVehicle",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),vehicle:p.getInstance(t)}}}),[Cy]=m({name:"OnTrailerUpdate",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),vehicle:p.getInstance(t)}}}),[yy]=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:_y,onDeath:cy,onMod:dy,onPaintjob:hy,onRespray:gy,onSirenStateChange:uy,onSpawn:my,onStreamIn:fy,onStreamOut:Py,onPlayerEnter:py,onPlayerExit:Iy,onTrailerUpdate:Cy,onUnoccupiedUpdate:yy}),[we]=m({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,i){return{type:e,id:t,forPlayer:c.getInstance(i)}}}),[Re]=m({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,i){return{type:e,id:t,forPlayer:c.getInstance(i)}}}),[Ey]=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=Cn;static setTickRate=yn;static getPlayerTickRate(t){return Sn(t.id)}static setPlayerTickRate(t,i=50){return En(t.id,i)}static toggleChunkStream=An;static isToggleChunkStream=Nn;static getChunkTickRate(t,i=-1){return i instanceof c?oi(t,i.id):oi(t,i)}static setChunkTickRate(t,i,a=-1){return a instanceof c?_i(t,i,a.id):_i(t,i,a)}static getChunkSize=Dn;static setChunkSize=Tn;static getMaxItems=vn;static setMaxItems=bn;static getVisibleItems(t,i=-1){return i instanceof c?ci(t,i.id):ci(t,i)}static setVisibleItems(t,i,a=-1){return a instanceof c?di(t,i,a.id):di(t,i,a)}static getRadiusMultiplier(t,i=-1){return i instanceof c?hi(t,i.id):hi(t,i)}static setRadiusMultiplier(t,i,a=-1){return a instanceof c?gi(t,i,a.id):gi(t,i,a)}static getTypePriority=Ln;static setTypePriority=wn;static getCellDistance=Rn;static setCellDistance=On;static getCellSize=Gn;static setCellSize=jn;static toggleItemStatic=Fn;static isToggleItemStatic=Mn;static toggleItemInvAreas=Vn;static isToggleItemInvAreas=kn;static toggleItemCallbacks=Bn;static isToggleItemCallbacks=xn;static toggleErrorCallback=Hn;static isToggleErrorCallback=Wn;static amxUnloadDestroyItems=Un;static processActiveItems=Kn;static toggleIdleUpdate(t,i){return Xn(t.id,i)}static isToggleIdleUpdate(t){return Zn(t.id)}static toggleCameraUpdate(t,i){return Yn(t.id,i)}static isToggleCameraUpdate(t){return zn(t.id)}static toggleItemUpdate(t,i,a){return Jn(t.id,i,a)}static isToggleItemUpdate(t,i){return $n(t.id,i)}static getLastUpdateTime(){return Qn()}static update(t,i=-1){return qn(t.id,i)}static updateEx(t,i,a,r,n,s,o,_,d){return es(t.id,i,a,r,n,s,o,_,d)}static getDistanceToItem=Ar;static toggleItem(t,i,a,r){return Nr(t.id,i,a,r)}static isToggleItem(t,i,a){return Dr(t.id,i,a)}static toggleAllItems(t,i,a,r=[-1]){return Tr(t.id,i,a,r)}static getItemInternalID(t,i,a){return vr(t.id,i,a)}static getItemStreamerID(t,i,a){return br(t.id,i,a)}static isItemVisible(t,i,a){return Lr(t.id,i,a)}static destroyAllVisibleItems(t,i,a=1){return wr(t.id,i,a)}static countVisibleItems(t,i,a=1){return Rr(t.id,i,a)}static destroyAllItems=Or;static countItems=Gr;static getNearbyItems=jr;static getAllVisibleItems(t,i,a){return Fr(t.id,i,a)}static getItemPos=Mr;static setItemPos=Vr;static getItemOffset=kr;static setItemOffset=Br;static getFloatData=qa;static setFloatData=er;static getIntData=tr;static setIntData=ir;static getArrayData=ar;static setArrayData=rr;static isInArrayData=nr;static appendArrayData=sr;static removeArrayData=lr;static getArrayDataLength=li;static getUpperBound=or;static onPluginError=Ey}class O{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=O.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("[StreamerObject]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerObject]: Cannot 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:u,rx:I,ry:S,rz:y,extended:L}=this.sourceInfo;return t??=k.OBJECT_SD,i??=k.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=O.__inject__.createEx(_,d,h,u,I,S,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=O.__inject__.create(_,d,h,u,I,S,y,a,r,n,t,i,s,o)),Se.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerObject]: Cannot destroy object before create");return D.skip||O.__inject__.destroy(this.id),Se.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:O.isValid(this.id)}getModel(){return this.sourceInfo?this.sourceInfo.modelId:A.getIntData(T.OBJECT,this._id,_e.MODEL_ID)}getPos(){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot get position before create");return O.__inject__.getPos(this.id)}setPos(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot set position before create");return O.__inject__.setPos(this.id,t,i,a)}getRot(){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot get rotation before create");return O.__inject__.getRot(this.id)}setRot(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot set rotation before create");return O.__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(),O.__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 O.__inject__.stop(this.id)}isMoving(){return this.id===P.INVALID_ID?!1:O.__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 O.__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 O.__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 O.__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 O.__inject__.attachToVehicle(this.id,t.id,i,a,r,n,s,o)}edit(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot edit before create");return t.endObjectEditing(),O.__inject__.edit(t.id,this.id)}isMaterialUsed(t){return this.id===P.INVALID_ID?!1:O.__inject__.isMaterialUsed(this.id,t)}removeMaterial(t){return this.id===P.INVALID_ID||!this.isMaterialUsed(t)?0:O.__inject__.removeMaterial(this.id,t)}getMaterial(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot get material before create");return O.__inject__.getMaterial(this.id,t)}setMaterial(t,i,a,r,n="#000"){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot set material before create");return O.__inject__.setMaterial(this.id,t,i,a,r,N(n))}isMaterialTextUsed(t){return this.id===P.INVALID_ID?!1:O.__inject__.isMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.id===P.INVALID_ID||!this.isMaterialTextUsed(t)?0:O.__inject__.removeMaterialText(this.id,t)}getMaterialText(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot get material text before create");return O.__inject__.getMaterialText(this.id,t,this.sourceInfo?.charset||"utf8")}setMaterialText(t=this.sourceInfo?.charset,i,a,r=ot.SIZE_256x128,n="Arial",s=24,o=1,_="#fff",d="#000",h=0){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot set material text before create");return this.sourceInfo&&(this.sourceInfo.charset=t),O.__inject__.setMaterialText(t||"utf8",this.id,i,a,r,n,s,o,N(_),N(d),h)}getPlayerCameraTarget(t){const i=O.__inject__.getPlayerCameraTarget(t.id);if(i!==P.INVALID_ID)return Se.get(i)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot 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 O.__inject__.setNoCameraCol(this.id)}getNoCameraCollision(){return O.__inject__.getNoCameraCol(this.id)}static isValid=Wr;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 Se.get(t)}static getInstances(){return[...Se.values()]}static __inject__={createEx:hr,create:xr,destroy:Hr,getPos:Ur,setPos:Kr,getRot:Xr,setRot:Zr,move:Yr,stop:zr,isMoving:Jr,attachCamera:$r,attachToObject:Qr,attachToPlayer:qr,attachToVehicle:en,edit:tn,isMaterialUsed:an,removeMaterial:rn,getMaterial:zI,setMaterial:nn,isMaterialTextUsed:sn,removeMaterialText:ln,getMaterialText:JI,setMaterialText:YI,getPlayerCameraTarget:on,setNoCameraCol:_n,getNoCameraCol:cn}}H.onExit(({next:e})=>(O.getInstances().forEach(t=>t.destroy()),Se.clear(),e()));const[Ay,Ny]=m({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Dy,Ty]=m({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});we(({type:e,id:t,forPlayer:i,next:a})=>e===T.OBJECT?Ny(i,O.getInstance(t)):a()),Re(({type:e,id:t,forPlayer:i,next:a})=>e===T.OBJECT?Ty(i,O.getInstance(t)):a());const[vy]=m({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:O.getInstance(e)}}}),[by]=m({name:"OnPlayerEditDynamicObject",identifier:"iiiffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_){return{player:c.getInstance(e),object:O.getInstance(t),response:i,x:a,y:r,z:n,rX:s,rY:o,rZ:_}}}),[Ly]=m({name:"OnPlayerSelectDynamicObject",identifier:"iiifff",beforeEach(e,t,i,a,r,n){return{player:c.getInstance(e),object:O.getInstance(t),modelId:i,x:a,y:r,z:n}}}),[wy]=m({name:"OnPlayerShootDynamicObject",identifier:"iiifff",beforeEach(e,t,i,a,r,n){return{player:c.getInstance(e),object:O.getInstance(i),weapon:t,x:a,y:r,z:n}}}),Ry=Object.freeze({onMoved:vy,onPlayerEdit:by,onPlayerSelect:Ly,onPlayerShoot:wy,onStreamIn:Ay,onStreamOut:Dy});class le{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=le.getInstance(t);if(i)return i;this._id=t,Ne.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerMapIcon]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerMapIcon]: Cannot 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:u,color:I,extended:S}=this.sourceInfo;if(u<0||u>63)throw new Error("[StreamerMapIcon]: Invalid map icon type");return t??=ct.LOCAL,i??=k.MAP_ICON_SD,o??=0,S?(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=le.__inject__.createEx(_,d,h,u,N(I),t,i,a,r,n,s,o),Ne.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=le.__inject__.create(_,d,h,u,N(I),a,r,n,i,t,s,o),Ne.set(this._id,this),this)}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerMapIcon]: Cannot destroy the map icon before create");return D.skip||le.__inject__.destroy(this.id),Ne.delete(this._id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:le.isValid(this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerMapIcon]: Cannot 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=dr;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 Ne.get(t)}static getInstances(){return[...Ne.values()]}static __inject__={createEx:fr,create:_r,destroy:cr}}H.onExit(({next:e})=>(le.getInstances().forEach(t=>t.destroy()),Ne.clear(),e()));const[Oy,Gy]=m({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[jy,Fy]=m({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});we(({type:e,id:t,forPlayer:i,next:a})=>e===T.MAP_ICON?Gy(i,le.getInstance(t)):a()),Re(({type:e,id:t,forPlayer:i,next:a})=>e===T.MAP_ICON?Fy(i,le.getInstance(t)):a());const My=Object.freeze({onStreamIn:Oy,onStreamOut:jy});class re{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=re.getInstance(t);if(i)return i;this._id=t,xe.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerPickup]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerPickup]: Cannot 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:u,extended:I}=this.sourceInfo;if(o<0)throw new Error("[StreamerPickup]: Invalid pickup type");return t??=k.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=re.__inject__.createEx(_,o,d,h,u,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=re.__inject__.create(_,o,d,h,u,i,a,r,t,n,s)),xe.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerPickup]: Cannot destroy pickup before create");return D.skip||re.__inject__.destroy(this.id),xe.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:re.isValid(this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerPickup]: Cannot 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=gn;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 xe.get(t)}static getInstances(){return[...xe.values()]}static __inject__={create:dn,createEx:gr,destroy:hn}}H.onExit(({next:e})=>(re.getInstances().forEach(t=>t.destroy()),xe.clear(),e()));const[Vy,ky]=m({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[By,xy]=m({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});we(({type:e,id:t,forPlayer:i,next:a})=>e===T.PICKUP?ky(i,re.getInstance(t)):a()),Re(({type:e,id:t,forPlayer:i,next:a})=>e===T.PICKUP?xy(i,re.getInstance(t)):a());const[Hy]=m({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:re.getInstance(t)}}}),Wy=Object.freeze({onPlayerPickUp:Hy,onStreamIn:Vy,onStreamOut:By});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("[StreamerCheckpoint]: Invalid id");const i=X.getInstance(t);if(i)return i;this._id=t,Ae.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerCheckpoint]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerCheckpoint]: Cannot 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:u}=this.sourceInfo;if(o<0)throw new Error("[StreamerCheckpoint]: Invalid checkpoint size");return t??=k.CP_SD,s??=0,u?(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(_,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=X.__inject__.create(_,d,h,o,i,a,r,t,n,s)),Ae.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerCheckpoint]: Cannot destroy the checkpoint before create");return D.skip||X.__inject__.destroy(this.id),Ae.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("[StreamerCheckpoint]: Cannot toggle the player before create");return X.__inject__.togglePlayer(t.id,this.id,i),this}isPlayerIn(t){return this.id===P.INVALID_ID?!1:X.__inject__.isPlayerIn(t.id,this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerCheckpoint]: Cannot 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=Pt;static togglePlayerAll(t,i){return X.__inject__.togglePlayerAll(t.id,i)}static getPlayerVisible(t){return Ae.get(X.__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 Ae.get(t)}static getInstances(){return[...Ae.values()]}static __inject__={create:Za,createEx:ur,destroy:Ya,getPlayerVisible:Qa,isPlayerIn:$a,togglePlayerAll:Ja,togglePlayer:za}}H.onExit(({next:e})=>(X.getInstances().forEach(t=>t.destroy()),Ae.clear(),e()));const[Uy,Ky]=m({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Xy,Zy]=m({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});we(({type:e,id:t,forPlayer:i,next:a})=>e===T.CP?Ky(i,X.getInstance(t)):a()),Re(({type:e,id:t,forPlayer:i,next:a})=>e===T.CP?Zy(i,X.getInstance(t)):a());const[Yy]=m({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),cp:X.getInstance(t)}}}),[zy]=m({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),cp:X.getInstance(t)}}}),Jy=Object.freeze({onPlayerEnter:Yy,onPlayerLeave:zy,onStreamIn:Uy,onStreamOut:Xy});class Z{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=Z.getInstance(t);if(i)return i;this._id=t,De.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerRaceCP]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerRaceCP]: Cannot 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:u,nextX:I,nextY:S,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??=k.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=Z.__inject__.createEx(o,d,h,u,I,S,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=Z.__inject__.create(o,d,h,u,I,S,y,_,i,a,r,t,n,s)),De.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerRaceCP]: Cannot destroy the checkpoint before create");return D.skip||Z.__inject__.destroy(this.id),De.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:Z.isValid(this.id)}togglePlayer(t,i){if(this.id===P.INVALID_ID)throw new Error("[StreamerRaceCP]: Cannot toggle player before create");return Z.__inject__.togglePlayer(t.id,this.id,i),this}static togglePlayerAll(t,i){return Z.__inject__.togglePlayerAll(t.id,i)}isPlayerIn(t){return this.id===P.INVALID_ID?!1:Z.__inject__.isPlayerIn(t.id,this.id)}static getPlayerVisible(t){return De.get(Z.__inject__.getPlayerVisible(t.id))}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerRaceCP]: Cannot 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=Pt;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 De.get(t)}static getInstances(){return[...De.values()]}static __inject__={create:un,createEx:mr,destroy:mn,getPlayerVisible:In,isPlayerIn:pn,isValid:Pt,togglePlayerAll:Pn,togglePlayer:fn}}H.onExit(({next:e})=>(Z.getInstances().forEach(t=>t.destroy()),De.clear(),e()));const[$y,Qy]=m({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[qy,eS]=m({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});we(({type:e,id:t,forPlayer:i,next:a})=>e===T.RACE_CP?Qy(i,Z.getInstance(t)):a()),Re(({type:e,id:t,forPlayer:i,next:a})=>e===T.RACE_CP?eS(i,Z.getInstance(t)):a());const[tS]=m({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),raceCP:Z.getInstance(t)}}}),[iS]=m({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),raceCp:Z.getInstance(t)}}}),aS=Object.freeze({onPlayerEnter:tS,onPlayerLeave:iS,onStreamIn:$y,onStreamOut:qy});class F{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=F.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("[StreamerActor]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerActor]: Cannot 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:u,invulnerable:I,health:S,extended:y}=this.sourceInfo;return t??=k.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=F.__inject__.createEx(o,_,d,h,u,I,S,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=F.__inject__.create(o,_,d,h,u,I,S,i,a,r,t,n,s)),me.set(this.id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerActor]: Cannot destroy to actor before create");return D.skip||F.__inject__.destroy(this.id),me.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:F.isValid(this.id)}isStreamedIn(t){return this.id===P.INVALID_ID?!1:F.__inject__.isStreamedIn(this.id,t.id)}getVirtualWorld(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Cannot get virtual world before create");return F.__inject__.getVirtualWorld(this.id)}setVirtualWorld(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Cannot set virtual world before create");return F.__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]: Cannot apply animation before create");if(!St(t,i))throw new Error(`[StreamerActor]: Invalid anim library or name ${t} ${i}`);return F.__inject__.applyAnimation(this.id,t,i,a,r,n,s,o,_)}clearAnimations(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Cannot clear animation before create");return F.__inject__.clearAnimations(this.id)}getFacingAngle(){return F.__inject__.getFacingAngle(this.id)}setFacingAngle(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Cannot set facing angle before create");return F.__inject__.setFacingAngle(this.id,t)}getPos(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Cannot get pos before create");return F.__inject__.getPos(this.id)}setPos(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Cannot set pos before create");return F.__inject__.setPos(this.id,t,i,a)}getHealth(){return F.__inject__.getHealth(this.id)}setHealth(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Cannot set health before create");return F.__inject__.setHealth(this.id,t)}isInvulnerable(){return this.id===P.INVALID_ID?!1:F.__inject__.isInvulnerable(this.id)}setInvulnerable(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Cannot set invulnerable before create");return F.__inject__.setInvulnerable(this.id,t)}getPlayerTarget(t){const i=F.__inject__.getPlayerTarget(t.id);return me.get(i)}getPlayerCameraTarget(t){const i=F.__inject__.getPlayerCameraTarget(t.id);return me.get(i)}getAnimation(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Cannot get animation before create");return F.__inject__.getAnimation(this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Cannot 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=ra;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 me.get(t)}static getInstances(){return[...me.values()]}static __inject__={createEx:Er,create:ia,destroy:aa,getPlayerTarget:pa,getPlayerCameraTarget:Ia,isStreamedIn:na,getVirtualWorld:sa,setVirtualWorld:la,applyAnimation:oa,clearAnimations:_a,getFacingAngle:ca,setFacingAngle:da,getPos:ha,setPos:ga,getHealth:ua,setHealth:ma,isInvulnerable:Pa,setInvulnerable:fa,getAnimation:Ca}}H.onExit(({next:e})=>(F.getInstances().forEach(t=>t.destroy()),me.clear(),e()));const[rS]=m({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:F.getInstance(e),forPlayer:c.getInstance(t)}}}),[nS]=m({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:F.getInstance(e),forPlayer:c.getInstance(t)}}}),[sS]=m({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",defaultValue:!1,beforeEach(e,t,i,a,r){return{player:c.getInstance(e),actor:F.getInstance(t),amount:i,weapon:a,bodyPart:r}}}),lS=Object.freeze({onStreamIn:rS,onStreamOut:nS,onPlayerGiveDamage:sS});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("[Streamer3DTextLabel]: Invalid id");const i=ie.getInstance(t);if(i)return i;this._id=t,Be.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot create again");if(!this.sourceInfo)throw new Error("[Streamer3DTextLabel]: Cannot 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:u,color:I,drawDistance:S,x:y,y:L,z:M,extended:Q}=this.sourceInfo;return t??=l.PLAYER_ID,i??=l.VEHICLE_ID,r??=k.TEXT_3D_LABEL_SD,a??=!1,d??=0,Q?(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=ie.__inject__.createEx(u,N(I),y,L,M,S,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=ie.__inject__.create(h||"utf8",u,N(I),y,L,M,S,t,i,a,n,s,o,r,_,d)),Be.set(this.id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[Streamer3DTextLabel]: Cannot destroy before create");return D.skip||ie.__inject__.destroy(this.id),Be.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:ie.isValid(this.id)}getColor(){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot get color before create");return this.sourceInfo?this.sourceInfo.color:A.getIntData(T.TEXT_3D_LABEL,this._id,_e.COLOR)}getCharset(){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot get charset before create");return this.sourceInfo?.charset}getText(){return ie.__inject__.getText(this.id,this.sourceInfo?.charset||"utf8")}updateText(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot update text before create");let r="";return this.sourceInfo&&(r=a||this.sourceInfo.charset||"utf8",this.sourceInfo.charset=r),ie.__inject__.updateText(this.id,N(t),i,r)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot 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,_e.ATTACH_OFFSET_X,t);return A.setFloatData(T.TEXT_3D_LABEL,this.id,_e.ATTACH_OFFSET_Y,i),A.setFloatData(T.TEXT_3D_LABEL,this.id,_e.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,_e.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,_e.ATTACHED_VEHICLE,n);return n!==l.VEHICLE_ID&&this.setOffsets(i,a,r),this.sourceInfo&&(this.sourceInfo.attachedVehicle=n),s}static isValid=ii;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 Be.get(t)}static getInstances(){return[...Be.values()]}static __inject__={create:UI,createEx:KI,getText:ZI,updateText:XI,destroy:ta,isValid:ii}}H.onExit(({next:e})=>(ie.getInstances().forEach(t=>t.destroy()),Be.clear(),e()));const[oS,_S]=m({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[cS,dS]=m({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});we(({type:e,id:t,forPlayer:i,next:a})=>e===T.TEXT_3D_LABEL?_S(i,ie.getInstance(t)):a()),Re(({type:e,id:t,forPlayer:i,next:a})=>e===T.TEXT_3D_LABEL?dS(i,ie.getInstance(t)):a());const hS=Object.freeze({onStreamIn:oS,onStreamOut:cS});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,Ee.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerArea]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerArea]: Cannot 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:u,maxZ:I}=this.sourceInfo;this._id=v.__inject__.createCuboidEx(o,_,d,h,u,I,t,i,a,r)}else if(n==="cylinder"){const{x:o,y:_,minZ:d,maxZ:h,size:u}=this.sourceInfo;if(u<0)throw new Error("[StreamerArea]: Invalid cylinder extend size");this._id=v.__inject__.createCylinderEx(o,_,d,h,u,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]: Cannot 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:u,maxZ:I}=this.sourceInfo;this._id=v.__inject__.createCuboid(o,_,d,h,u,I,t,i,a,r)}else if(n==="cylinder"){const{x:o,y:_,minZ:d,maxZ:h,size:u}=this.sourceInfo;if(u<0)throw new Error("[StreamerArea]: Invalid cylinder size");this._id=v.__inject__.createCylinder(o,_,d,h,u,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]: Cannot 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 Ee.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerArea]: Cannot destroy the area before create");return D.skip||v.__inject__.destroy(this.id),Ee.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]: Cannot 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]: Cannot 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=>Ee.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]: Cannot toggle attach to object before create");return v.__inject__.attachToObject(this.id,t.id,lt.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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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=va;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 Ee.get(t)}static getInstances(){return[...Ee.values()]}static __inject__={createCircleEx:Pr,createCuboidEx:yr,createCylinderEx:pr,createPolygonEx:Sr,createRectangleEx:Cr,createSphereEx:Ir,createCircle:ya,createCuboid:Na,createCylinder:Sa,createPolygon:Da,createRectangle:Aa,createSphere:Ea,destroy:Ta,getType:ba,getPolygonPoints:La,getPolygonNumberPoints:ai,isPlayerIn:wa,isPlayerInAny:Ra,isAnyPlayerIn:Oa,isAnyPlayerInAny:Ga,getPlayerAreas:ja,getPlayerAreasNumber:ri,isPointIn:Fa,isPointInAny:Ma,isLineIn:Va,isLineInAny:ka,getForPoint:Ba,getNumberForPoint:ni,getForLine:xa,getNumberForLine:si,attachToObject:Ha,attachToPlayer:Wa,attachToVehicle:Ua,toggleSpectateMode:Ka,isToggleSpectateMode:Xa}}H.onExit(({next:e})=>(v.getInstances().forEach(t=>t.destroy()),Ee.clear(),e()));const[gS,uS]=m({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[mS,fS]=m({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});we(({type:e,id:t,forPlayer:i,next:a})=>e===T.AREA?uS(i,v.getInstance(t)):a()),Re(({type:e,id:t,forPlayer:i,next:a})=>e===T.AREA?fS(i,v.getInstance(t)):a());const[PS]=m({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),area:v.getInstance(t)}}}),[pS]=m({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),area:v.getInstance(t)}}}),IS=Object.freeze({onStreamIn:gS,onStreamOut:mS,onPlayerEnter:PS,onPlayerLeave:pS});class g{_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=g.getInstance(this._id);if(i)return i;Ce.set(this._id,this)}return this}create(){if(this.id!==l.NPC_ID)throw new Error("[Npc]: Cannot create again");return this._id=g.__inject__.create(this._name),this._id!==l.NPC_ID&&(this.getPlayer()||new c(this._id),Ce.set(this._id,this)),this}destroy(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot destroy before create");return D.skip||g.__inject__.destroy(this._id),Ce.delete(this._id),this._id=l.NPC_ID,this}getPlayer(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getPlayer before create");return c.getInstance(this._id)}getName(){if(this._id===l.NPC_ID)throw new Error("[Npc]: Cannot 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:g.isValid(this._id)}spawn(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot spawn before create");return g.__inject__.spawn(this._id),this}respawn(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot respawn before create");return g.__inject__.respawn(this._id),this}setPos(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setPos before create");return g.__inject__.setPos(this._id,t,i,a),this}setRot(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setRot before create");return g.__inject__.setRot(this._id,t,i,a),this}getRot(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getRot before create");return g.__inject__.getRot(this._id)}setFacingAngle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setFacingAngle before create");return g.__inject__.setFacingAngle(this._id,t),this}getFacingAngle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getFacingAngle before create");return g.__inject__.getFacingAngle(this._id)}setVirtualWorld(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setVirtualWorld before create");return g.__inject__.setVirtualWorld(this._id,t),this}getVirtualWorld(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getVirtualWorld before create");return g.__inject__.getVirtualWorld(this._id)}move(t,i,a,r=fe.AUTO,n=Fe.AUTO){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot move before create");return g.__inject__.move(this._id,t,i,a,r,n)}moveToPlayer(t,i=fe.AUTO,a=Fe.AUTO){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot moveToPlayer before create");return g.__inject__.moveToPlayer(this._id,t.id,i,a)}stopMove(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot stopMove before create");return g.__inject__.stopMove(this._id),this}isMoving(){return this.id===l.NPC_ID?!1:g.__inject__.isMoving(this._id)}isMovingToPlayer(t){return this.id===l.NPC_ID?!1:g.__inject__.isMovingToPlayer(this._id,t.id)}setSkin(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSkin before create");return g.__inject__.setSkin(this._id,t),this}getSkin(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getSkin before create");return g.__inject__.getSkin(this._id)}isStreamedIn(t){return this.id===l.NPC_ID?!1:g.__inject__.isStreamedIn(this._id,t.id)}isAnyStreamedIn(){return this.id===l.NPC_ID?!1:g.__inject__.isAnyStreamedIn(this._id)}setInterior(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setInterior before create");return g.__inject__.setInterior(this._id,t),this}getInterior(){return this.id===l.NPC_ID?0:g.__inject__.getInterior(this._id)}setHealth(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setHealth before create");return g.__inject__.setHealth(this._id,t),this}getHealth(){return this.id===l.NPC_ID?0:g.__inject__.getHealth(this._id)}setArmour(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setArmour before create");return g.__inject__.setArmour(this._id,t),this}getArmour(){return this.id===l.NPC_ID?0:g.__inject__.getArmour(this._id)}isDead(){return this.id===l.NPC_ID?!1:g.__inject__.isDead(this._id)}applyAnimation(t,i,a,r,n,s,o,_,d){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot applyAnimation before create");return g.__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]: Cannot setWeapon before create");return g.__inject__.setWeapon(this._id,t),this}getWeapon(){return this.id===l.NPC_ID?0:g.__inject__.getWeapon(this._id)}setAmmo(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setAmmo before create");return g.__inject__.setAmmo(this._id,t),this}getAmmo(){return this.id===l.NPC_ID?0:g.__inject__.getAmmo(this._id)}setKeys(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setKeys before create");return g.__inject__.setKeys(this._id,t,i,a),this}getKeys(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getKeys before create");return g.__inject__.getKeys(this._id)}setWeaponSkillLevel(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponSkillLevel before create");return g.__inject__.setWeaponSkillLevel(this._id,t,i),this}getWeaponSkillLevel(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getWeaponSkillLevel before create");return g.__inject__.getWeaponSkillLevel(this._id,t)}meleeAttack(t=-1,i=!1){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot meleeAttack before create");return g.__inject__.meleeAttack(this._id,t,i),this}stopMeleeAttack(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot stopMeleeAttack before create");return g.__inject__.stopMeleeAttack(this._id),this}isMeleeAttacking(){return this.id===l.NPC_ID?!1:g.__inject__.isMeleeAttacking(this._id)}setFightingStyle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setFightingStyle before create");return g.__inject__.setFightingStyle(this._id,t),this}getFightingStyle(){return this.id===l.NPC_ID?ut.NORMAL:g.__inject__.getFightingStyle(this._id)}enableReloading(t=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot enableReloading before create");return g.__inject__.enableReloading(this._id,t),this}isReloadEnabled(){return this.id===l.NPC_ID?!1:g.__inject__.isReloadEnabled(this._id)}isReloading(){return this.id===l.NPC_ID?!1:g.__inject__.isReloading(this._id)}enableInfiniteAmmo(t=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot enableInfiniteAmmo before create");return g.__inject__.enableInfiniteAmmo(this._id,t),this}isInfiniteAmmoEnabled(){return this.id===l.NPC_ID?!1:g.__inject__.isInfiniteAmmoEnabled(this._id)}setWeaponState(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponState before create");return g.__inject__.setWeaponState(this._id,t)}getWeaponState(){return this.id===l.NPC_ID?mt.UNKNOWN:g.__inject__.getWeaponState(this._id)}setAmmoInClip(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setAmmoInClip before create");return g.__inject__.setAmmoInClip(this._id,t),this}getAmmoInClip(){return this.id===l.NPC_ID?0:g.__inject__.getAmmoInClip(this._id)}shoot(t,i,a,r,n,s,o=0,_=0,d=0,h=!0,u=ge.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot shoot before create");return g.__inject__.shoot(this._id,t,i,a,r,n,s,o,_,d,h,u),this}isShooting(){return this.id===l.NPC_ID?!1:g.__inject__.isShooting(this._id)}aimAt(t,i,a,r=!1,n=-1,s=!0,o=0,_=0,d=0,h=ge.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot aimAt before create");return g.__inject__.aimAt(this._id,t,i,a,r,n,s,o,_,d,h),this}aimAtPlayer(t,i=!1,a=-1,r=!0,n=0,s=0,o=0,_=0,d=0,h=0,u=ge.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot aimAtPlayer before create");return g.__inject__.aimAtPlayer(this._id,t.id,i,a,r,n,s,o,_,d,h,u),this}stopAim(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot stopAim before create");return g.__inject__.stopAim(this._id),this}isAiming(){return this.id===l.NPC_ID?!1:g.__inject__.isAiming(this._id)}isAimingAtPlayer(t){return this.id===l.NPC_ID?!1:g.__inject__.isAimingAtPlayer(this._id,t.id)}setWeaponAccuracy(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponAccuracy before create");return g.__inject__.setWeaponAccuracy(this._id,t,i),this}getWeaponAccuracy(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponAccuracy(this._id,t)}setWeaponReloadTime(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponReloadTime before create");return g.__inject__.setWeaponReloadTime(this._id,t,i)}getWeaponReloadTime(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponReloadTime(this._id,t)}getWeaponActualReloadTime(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponActualReloadTime(this._id,t)}setWeaponShootTime(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponShootTime before create");return g.__inject__.setWeaponShootTime(this._id,t,i)}getWeaponShootTime(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponShootTime(this._id,t)}setWeaponClipSize(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponClipSize before create");return g.__inject__.setWeaponClipSize(this._id,t,i)}getWeaponClipSize(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponClipSize(this._id,t)}getWeaponActualClipSize(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponActualClipSize(this._id,t)}enterVehicle(t,i,a=fe.AUTO){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot enterVehicle before create");return g.__inject__.enterVehicle(this._id,t.id,i,a),this}exitVehicle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot exitVehicle before create");return g.__inject__.exitVehicle(this._id),this}putInVehicle(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot putInVehicle before create");return g.__inject__.putInVehicle(this._id,t.id,i)}removeFromVehicle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot removeFromVehicle before create");return g.__inject__.removeFromVehicle(this._id)}getVehicle(){return p.getInstance(this.getVehicleID())}getVehicleID(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getVehicle before create");return g.__inject__.getVehicle(this._id)}getVehicleSeat(){return this.id===l.NPC_ID?0:g.__inject__.getVehicleSeat(this._id)}getEnteringVehicle(){return p.getInstance(this.getEnteringVehicleId())}getEnteringVehicleId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getEnteringVehicle before create");return g.__inject__.getEnteringVehicle(this._id)}getEnteringVehicleSeat(){return this.id===l.NPC_ID?0:g.__inject__.getEnteringVehicleSeat(this._id)}isEnteringVehicle(){return this.id===l.NPC_ID?!1:g.__inject__.isEnteringVehicle(this._id)}useVehicleSiren(t=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot useVehicleSiren before create");return g.__inject__.useVehicleSiren(this._id,t)}isVehicleSirenUsed(){return this.id===l.NPC_ID?!1:g.__inject__.isVehicleSirenUsed(this._id)}setVehicleHealth(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setVehicleHealth before create");return g.__inject__.setVehicleHealth(this._id,t)}getVehicleHealth(){return this.id===l.NPC_ID?0:g.__inject__.getVehicleHealth(this._id)}setVehicleHydraThrusters(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setVehicleHydraThrusters before create");return g.__inject__.setVehicleHydraThrusters(this._id,t)}getVehicleHydraThrusters(){return this.id===l.NPC_ID?0:g.__inject__.getVehicleHydraThrusters(this._id)}setVehicleGearState(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setVehicleGearState before create");return g.__inject__.setVehicleGearState(this._id,t)}getVehicleGearState(){return g.__inject__.getVehicleGearState(this._id)}setVehicleTrainSpeed(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setVehicleTrainSpeed before create");return g.__inject__.setVehicleTrainSpeed(this._id,t)}getVehicleTrainSpeed(){return this.id===l.NPC_ID?0:g.__inject__.getVehicleTrainSpeed(this._id)}resetAnimation(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot resetAnimation before create");return g.__inject__.resetAnimation(this._id)}setAnimation(t,i,a,r,n,s,o){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setAnimation before create");return g.__inject__.setAnimation(this._id,t,i,a,r,n,s,o)}getAnimation(){return this.id===l.NPC_ID?0:g.__inject__.getAnimation(this._id)}clearAnimations(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot clearAnimations before create");return g.__inject__.clearAnimations(this._id)}setSpecialAction(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSpecialAction before create");return g.__inject__.setSpecialAction(this._id,t)}getSpecialAction(){return g.__inject__.getSpecialAction(this._id)}startPlayback(t,i=!1,a=0,r=0,n=0,s=0,o=0,_=0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot startPlayback before create");return g.__inject__.startPlayback(this._id,t,i,a,r,n,s,o,_)}startPlaybackEx(t,i=!1,a=0,r=0,n=0,s=0,o=0,_=0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot startPlaybackEx before create");return g.__inject__.startPlaybackEx(this._id,t.id,i,a,r,n,s,o,_)}stopPlayback(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot stopPlayback before create");return g.__inject__.stopPlayback(this._id)}pausePlayback(t=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot pausePlayback before create");return g.__inject__.pausePlayback(this._id,t)}isPlayingPlayback(){return this.id===l.NPC_ID?!1:g.__inject__.isPlayingPlayback(this._id)}isPlaybackPaused(){return this.id===l.NPC_ID?!1:g.__inject__.isPlaybackPaused(this._id)}playNode(t,i=fe.AUTO,a=Fe.AUTO,r=0,n=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot playNode before create");return g.__inject__.playNode(this._id,t.id,i,a,r,n)}stopPlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot stopPlayingNode before create");return g.__inject__.stopPlayingNode(this._id)}pausePlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot pausePlayingNode before create");return g.__inject__.pausePlayingNode(this._id)}resumePlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot resumePlayingNode before create");return g.__inject__.resumePlayingNode(this._id)}isPlayingNodePaused(){return this.id===l.NPC_ID?!1:g.__inject__.isPlayingNodePaused(this._id)}isPlayingNode(){return this.id===l.NPC_ID?!1:g.__inject__.isPlayingNode(this._id)}changeNode(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot changeNode before create");return g.__inject__.changeNode(this._id,t.id,i)}updateNodePoint(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot updateNodePoint before create");return g.__inject__.updateNodePoint(this._id,t)}setInvulnerable(t=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setInvulnerable before create");return g.__inject__.setInvulnerable(this._id,t)}isInvulnerable(){return this.id===l.NPC_ID?!1:g.__inject__.isInvulnerable(this._id)}setSurfingOffsets(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSurfingOffsets before create");return g.__inject__.setSurfingOffsets(this._id,t,i,a)}getSurfingOffsets(){return g.__inject__.getSurfingOffsets(this._id)}setSurfingVehicle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSurfingVehicle before create");return g.__inject__.setSurfingVehicle(this._id,t.id)}getSurfingVehicle(){return p.getInstance(this.getSurfingVehicleId())}getSurfingVehicleId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getSurfingVehicle before create");return g.__inject__.getSurfingVehicle(this._id)}setSurfingObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSurfingObject before create");return t.isGlobal()?g.__inject__.setSurfingObject(this._id,t.id):0}getSurfingObject(){return C.getInstance(this.getSurfingObjectId())}getSurfingObjectId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getSurfingObject before create");return g.__inject__.getSurfingObject(this._id)}setSurfingPlayerObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSurfingPlayerObject before create");return t.isGlobal()?0:this._setSurfingPlayerObject(t.id)}getSurfingPlayerObject(){return C.getInstance(this.getSurfingPlayerObjectId(),this.getPlayer())}_setSurfingPlayerObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSurfingPlayerObject before create");return g.__inject__.setSurfingPlayerObject(this._id,t)}getSurfingPlayerObjectId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getSurfingPlayerObject before create");return g.__inject__.getSurfingPlayerObject(this._id)}resetSurfingData(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot resetSurfingData before create");return g.__inject__.resetSurfingData(this._id)}setSurfingDynamicObject(t){return this._setSurfingPlayerObject(A.getItemInternalID(new c(this._id),T.OBJECT,t.id))}getSurfingDynamicObject(){return O.getInstance(this.getSurfingDynamicObjectId())}getSurfingDynamicObjectId(){return A.getItemStreamerID(new c(this._id),T.OBJECT,this.getSurfingPlayerObjectId())}isSpawned(){return this.id===l.NPC_ID?!1:g.__inject__.isSpawned(this._id)}kill(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot kill before create");return g.__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]: Cannot setVelocity before create");return g.__inject__.setVelocity(this._id,t,i,a)}getVelocity(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getVelocity before create");return g.__inject__.getVelocity(this._id)}getPlayerAimingAt(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getPlayerAimingAt before create");const t=g.__inject__.getPlayerAimingAt(this._id);return t!==l.PLAYER_ID?c.getInstance(t):null}getPlayerMovingTo(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getPlayerMovingTo before create");const t=g.__inject__.getPlayerMovingTo(this._id);return t!==l.PLAYER_ID?c.getInstance(t):null}getPosMovingTo(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getPosMovingTo before create");return g.__inject__.getPosMovingTo(this._id)}getCustomSkin(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getCustomSkin before create");return g.__inject__.getCustomSkin(this._id)}setAngleToPos(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setAngleToPos before create");return g.__inject__.setAngleToPos(this._id,t,i,a)}setAngleToPlayer(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setAngleToPlayer before create");return g.__inject__.setAngleToPlayer(this._id,t.id)}static startRecordingPlayerData(t,i,a){if(t.isRecording)throw new Error("[NpcFunc]: It should be stopped before recording");g.__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");g.__inject__.stopRecordingPlayerData(t.id),t[B].isRecording=!1}static isValid(t){return g.__inject__.isValid(t)}static getInstance(t){return Ce.get(t)}static getInstances(){return[...Ce.values()]}static __inject__={create:Xc,destroy:Zc,isValid:Yc,spawn:zc,respawn:Jc,setPos:$c,setRot:Qc,getRot:qc,setFacingAngle:ed,getFacingAngle:td,setVirtualWorld:id,getVirtualWorld:ad,move:rd,moveToPlayer:nd,stopMove:sd,isMoving:ld,isMovingToPlayer:od,setSkin:_d,getSkin:cd,isStreamedIn:dd,isAnyStreamedIn:hd,setInterior:gd,getInterior:ud,setHealth:md,getHealth:fd,setArmour:Pd,getArmour:pd,isDead:Id,applyAnimation:Cd,setWeapon:yd,getWeapon:Sd,setAmmo:Ed,getAmmo:Ad,setKeys:Nd,getKeys:Dd,setWeaponSkillLevel:Td,getWeaponSkillLevel:vd,meleeAttack:bd,stopMeleeAttack:Ld,isMeleeAttacking:wd,setFightingStyle:Rd,getFightingStyle:Od,enableReloading:Gd,isReloadEnabled:jd,isReloading:Fd,enableInfiniteAmmo:Md,isInfiniteAmmoEnabled:Vd,setWeaponState:kd,getWeaponState:Bd,setAmmoInClip:xd,getAmmoInClip:Hd,shoot:Wd,isShooting:Ud,aimAt:Kd,aimAtPlayer:Xd,stopAim:Zd,isAiming:Yd,isAimingAtPlayer:zd,setWeaponAccuracy:Jd,getWeaponAccuracy:$d,setWeaponReloadTime:Qd,getWeaponReloadTime:qd,getWeaponActualReloadTime:eh,setWeaponShootTime:th,getWeaponShootTime:ih,setWeaponClipSize:ah,getWeaponClipSize:rh,getWeaponActualClipSize:nh,enterVehicle:sh,exitVehicle:lh,putInVehicle:oh,removeFromVehicle:_h,getVehicle:ch,getVehicleSeat:dh,getEnteringVehicle:hh,getEnteringVehicleSeat:gh,isEnteringVehicle:uh,useVehicleSiren:mh,isVehicleSirenUsed:fh,setVehicleHealth:Ph,getVehicleHealth:ph,setVehicleHydraThrusters:Ih,getVehicleHydraThrusters:Ch,setVehicleGearState:yh,getVehicleGearState:Sh,setVehicleTrainSpeed:Eh,getVehicleTrainSpeed:Ah,resetAnimation:Nh,setAnimation:Dh,getAnimation:Th,clearAnimations:vh,setSpecialAction:bh,getSpecialAction:Lh,startPlayback:wh,startPlaybackEx:Rh,stopPlayback:Oh,pausePlayback:Gh,isPlayingPlayback:jh,isPlaybackPaused:Fh,playNode:Mh,stopPlayingNode:Vh,pausePlayingNode:kh,resumePlayingNode:Bh,isPlayingNodePaused:xh,isPlayingNode:Hh,changeNode:Wh,updateNodePoint:Uh,setInvulnerable:Kh,isInvulnerable:Xh,setSurfingOffsets:Zh,getSurfingOffsets:Yh,setSurfingVehicle:zh,getSurfingVehicle:Jh,setSurfingObject:$h,getSurfingObject:Qh,setSurfingPlayerObject:qh,getSurfingPlayerObject:eg,resetSurfingData:tg,isSpawned:ig,kill:ag,setVelocity:rg,getVelocity:ng,getPlayerAimingAt:sg,getPlayerMovingTo:lg,getPosMovingTo:og,getCustomSkin:_g,setAngleToPos:cg,setAngleToPlayer:dg,startRecordingPlayerData:U_,stopRecordingPlayerData:K_}}class ze{_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,ue.has(this._id))return ue.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="",ue.delete(t)),i}return this._id=l.RECORD_ID,this._filePath="",ue.delete(t),!0}isValid(){return D.skip&&this._id!==l.RECORD_ID?!0:ze.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&&ue.clear(),t}static getInstance(t){return ue.get(t)}static getInstances(){return[...ue.values()]}}class Ye{_id=l.NODE_ID;get id(){return this._id}constructor(t){if(this._id=t,se.has(this._id))return se.get(this._id);se.set(this._id,this)}open(){samp.callNative("NPC_OpenNode","i",this._id)&&!se.has(this._id)&&se.set(this._id,this)}close(){if(!D.skip){const t=!!samp.callNative("NPC_CloseNode","i",this._id);return t&&(se.delete(this._id),this._id=l.NODE_ID),t}return se.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 se.get(t)}static getInstances(){return[...se.values()]}}class Je{_id=l.PATH_ID;get id(){return this._id}constructor(t){if(typeof t<"u"){if(ye.has(t))return ye.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,ye.delete(this._id)),t}addPoint(t,i,a,r=.2){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=.2,s]=samp.callNative("NPC_GetPathPoint","ii",this._id,t);return{x:i,y:a,z:r,stopRange:n,ret:!!s}}isValid(){return Je.isValid(this._id)}getCurrentPointIndex(){return samp.callNative("NPC_GetCurrentPathPointIndex","i",this._id)}move(t=fe.AUTO,i=Fe.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&&ye.clear(),t}static getCount(){return samp.callNative("NPC_GetPathCount","")}static isValid(t){return!!samp.callNative("NPC_IsValidPath","i",t)}static getInstance(t){return ye.get(t)}static getInstances(){return[...ye.values()]}}H.onExit(({next:e})=>(g.getInstances().forEach(t=>{t.isValid()&&t.destroy()}),Ce.clear(),Ye.getInstances().forEach(t=>{t.isOpen()&&t.close()}),se.clear(),Je.destroyAll(),ye.clear(),ze.getInstances().forEach(t=>{t.isValid()&&t.unload()}),ue.clear(),e()));const[CS]=m({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:E.decodeFromBuf(t)}}}),[yS]=m({name:"OnNPCFinishMove",identifier:"i",beforeEach(e){return{npc:g.getInstance(e)}}}),[SS]=m({name:"OnNPCCreate",identifier:"i",beforeEach(e){return{npc:g.getInstance(e)}}}),[ES]=m({name:"OnNPCDestroy",identifier:"i",beforeEach(e){return{npc:g.getInstance(e)}},afterEach({npc:e}){Ce.delete(e.id)}}),[AS]=m({name:"OnNPCWeaponStateChange",identifier:"iii",beforeEach(e,t,i){return{npc:g.getInstance(e),newState:t,oldState:i}}}),[NS]=m({name:"OnNPCTakeDamage",identifier:"iiiii",beforeEach(e,t,i,a,r){return{npc:g.getInstance(e),damager:c.getInstance(t),damage:i,weapon:a,bodyPart:r}}}),[DS]=m({name:"OnNPCGiveDamage",identifier:"iiiii",beforeEach(e,t,i,a,r){return{npc:g.getInstance(e),damager:c.getInstance(t),damage:i,weapon:a,bodyPart:r}}}),[TS]=m({name:"OnNPCDeath",identifier:"iii",beforeEach(e,t,i){const a=c.getInstance(t)||l.PLAYER_ID;return{npc:g.getInstance(e),killer:a,reason:i}}}),[vS]=m({name:"OnNPCSpawn",identifier:"i",beforeEach(e){return{npc:g.getInstance(e)}}}),[bS]=m({name:"OnNPCRespawn",identifier:"i",beforeEach(e){return{npc:g.getInstance(e)}}}),[LS]=m({name:"OnNPCPlaybackStart",identifier:"ii",beforeEach(e,t){return{npc:g.getInstance(e),record:ze.getInstance(t),recordId:t}}}),[wS]=m({name:"OnNPCPlaybackEnd",identifier:"ii",beforeEach(e,t){return{npc:g.getInstance(e),record:ze.getInstance(t),recordId:t}}}),[RS]=m({name:"OnNPCWeaponShot",identifier:"iiiifff",beforeEach(e,t,i,a,r,n,s){return{npc:g.getInstance(e),weapon:t,hitType:i,hitId:a,fX:r,fY:n,fZ:s}}}),[OS]=m({name:"OnNPCFinishNodePoint",identifier:"iii",beforeEach(e,t,i){return{npc:g.getInstance(e),node:Ye.getInstance(t),nodeId:t,pointId:i}}}),[GS]=m({name:"OnNPCFinishNode",identifier:"ii",beforeEach(e,t){return{npc:g.getInstance(e),node:Ye.getInstance(t),nodeId:t}}}),[jS]=m({name:"OnNPCChangeNode",identifier:"iii",beforeEach(e,t,i){return{npc:g.getInstance(e),newNode:Ye.getInstance(t),oldNode:Ye.getInstance(i),newNodeId:t,oldNodeId:i}}}),[FS]=m({name:"OnNPCFinishMovePath",identifier:"ii",beforeEach(e,t){return{npc:g.getInstance(e),path:Je.getInstance(t),pathId:t}}}),[MS]=m({name:"OnNPCFinishMovePathPoint",identifier:"iii",beforeEach(e,t,i){return{npc:g.getInstance(e),path:Je.getInstance(t),pathId:t,pointIndex:i}}}),VS=Object.freeze({onClientMessage:CS,onFinishMove:yS,onCreate:SS,onDestroy:ES,onSpawn:vS,onRespawn:bS,onWeaponStateChange:AS,onTakeDamage:NS,onGiveDamage:DS,onDeath:TS,onPlaybackStart:LS,onPlaybackEnd:wS,onWeaponShot:RS,onFinishNodePoint:OS,onFinishNode:GS,onChangeNode:jS,onFinishMovePath:FS,onFinishMovePathPoint:MS});class q{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return q.__inject__.getNetworkStats()}static getPlayerNetworkStats(t){return q.__inject__.getPlayerNetworkStats(t.id)}static getBytesReceived(t){return q.__inject__.getBytesReceived(t.id)}static getBytesSent(t){return q.__inject__.getBytesSent(t.id)}static getConnectionStatus(t){return q.__inject__.getConnectionStatus(t.id)}static getConnectedTime(t){return q.__inject__.getConnectedTime(t.id)}static getIpPort(t){return q.__inject__.getIpPort(t.id)}static getMessagesReceived(t){return q.__inject__.getMessagesReceived(t.id)}static getMessagesRecvPerSecond(t){return q.__inject__.getMessagesRecvPerSecond(t.id)}static getMessagesSent(t){return q.__inject__.getMessagesSent(t.id)}static getPacketLossPercent(t){return q.__inject__.getPacketLossPercent(t.id)}static __inject__={getNetworkStats:Ol,getPlayerNetworkStats:Rl,getBytesReceived:yl,getBytesSent:El,getConnectionStatus:Dl,getConnectedTime:Il,getIpPort:Tl,getMessagesReceived:Cl,getMessagesRecvPerSecond:Al,getMessagesSent:Sl,getPacketLossPercent:Nl}}class Oe{_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){Oe.__inject__.hideForAll(t)}static has(t,i){return Oe.__inject__.has(t.id,i)}forAll(t="win1252"){Oe.__inject__.forAll(E.encodeToBuf(E.convertSpecialChar(this.text),t),this.time,this.style)}forPlayer(t,i="win1252"){Oe.__inject__.forPlayer(t.id,E.encodeToBuf(E.convertSpecialChar(this.text),i),this.time,this.style)}hideForPlayer(t){return Oe.__inject__.hideForPlayer(t.id,this.style)}static __inject__={hideForAll:Ms,has:Po,forAll:Fs,forPlayer:fo,hideForPlayer:Io}}class x{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=x.getInstance(this._id);if(i)return i;Ve.set(this.id,this)}else this.sourceInfo=t}create(){if(!this.sourceInfo)throw new Error("[Menu]: Cannot 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=x.__inject__.create(t,i,a,r,o,_,s),this.id===l.MENU||x.getInstances().length===W.MAX_MENUS)throw new Error("[Menu]: Cannot create menu");return Ve.set(this._id,this),this}destroy(){if(this._id===l.MENU)throw new Error("[Menu]: Cannot destroy before create");return D.skip||x.__inject__.destroy(this.id),Ve.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 x.__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 x.__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 x.__inject__.disable(this.id),this}disableRow(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot disable row before create");return x.__inject__.disableRow(this.id,t)}isValid(){return D.skip&&this.id!==l.MENU?!0:x.isValid(this.id)}showForPlayer(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot show menu before create");return x.__inject__.showForPlayer(this.id,t.id)}hideForPlayer(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot hide menu before create");return x.__inject__.hideForPlayer(this.id,t.id)}isDisabled(){return this._id===l.MENU?!1:x.__inject__.isDisabled(this.id)}isRowDisabled(t){return this._id===l.MENU?!1:x.__inject__.isRowDisabled(this.id,t)}getItems(t){return this._id===l.MENU?0:x.__inject__.getItems(this.id,t)}getPos(){return x.__inject__.getPos(this.id)}getColumnWidth(){return x.__inject__.getColumnWidth(this.id)}getColumnHeader(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot get column header before create");return x.__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 x.__inject__.getItem(this.id,t,i,this.sourceInfo?.charset||"ISO-8859-1")}static isValid(t){return x.__inject__.isValid(t)}static getInstance(t){return Ve.get(t)}static getInstances(){return[...Ve.values()]}static getInstanceByPlayer(t){return this.getInstance(Ni(t.id))}static __inject__={create:oC,destroy:nm,addItem:_C,setColumnHeader:cC,disable:_m,disableRow:cm,isValid:om,showForPlayer:sm,hideForPlayer:lm,isDisabled:em,isRowDisabled:tm,getItems:im,getPos:am,getColumnWidth:rm,getColumnHeader:sC,getItem:lC,getPlayerMenu:Ni}}H.onExit(({next:e})=>(x.getInstances().forEach(t=>t.destroy()),Ve.clear(),e()));const[kS]=m({name:"OnPlayerExitedMenu",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[BS]=m({name:"OnPlayerSelectedMenuRow",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e),a=x.getInstanceByPlayer(i);return{player:i,menu:a,row:t}}}),xS=Object.freeze({onPlayerExited:kS,onPlayerSelectedRow:BS});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()?Me.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("[GangZone]: Cannot create with only id");if(this.id!==l.GANG_ZONE)throw new Error("[GangZone]: Cannot 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===W.MAX_GANG_ZONES)throw new Error("[GangZone]: Cannot create playerGangZone");Y.has(t)||Y.set(t,new Map),Y.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===W.MAX_GANG_ZONES)throw new Error("[GangZone]: Cannot create gangZone");Me.set(this.id,this)}return this}destroy(){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Cannot destroy before create");const t=this.getPlayer();if(!t)D.skip||b.__inject__.destroy(this.id),Me.delete(this.id);else if(D.skip||b.__inject__.destroyPlayer(t.id,this.id),Y.has(t)){const i=Y.get(t);i.delete(this.id),i.size||Y.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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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 Me.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()||[]]:[...Me.values()]}static getPlayersInstances(){return Array.from(Y.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:Um,destroy:Km,showForAll:Zm,hideForAll:zm,flashForAll:$m,stopFlashForAll:qm,getPos:Hm,useCheck:Wm,createPlayer:ef,destroyPlayer:tf,showPlayer:af,showForPlayer:Xm,hidePlayer:rf,hideForPlayer:Ym,flashPlayer:nf,flashForPlayer:Jm,stopFlashPlayer:sf,stopFlashForPlayer:Qm,getPosPlayer:gf,useCheckPlayer:uf,isPlayerIn:Mm,isPlayerInPlayer:of,isVisibleForPlayer:Vm,isVisiblePlayer:_f,getColorForPlayer:km,getColorPlayer:cf,getFlashColorForPlayer:Bm,getFlashColorPlayer:df,isFlashingForPlayer:xm,isFlashingPlayer:hf,isValidPlayer:lf,isValidGlobal:Fm}}Ze.onDisconnect(({player:e,next:t})=>(Y.has(e)&&(b.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),Y.delete(e)),t())),H.onExit(({next:e})=>(b.getInstances().forEach(t=>t.destroy()),b.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),Me.clear(),Y.clear(),e()));const[HS]=m({name:"OnPlayerEnterGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:b.getInstance(t)}}}),[WS]=m({name:"OnPlayerLeaveGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:b.getInstance(t)}}}),[US]=m({name:"OnPlayerEnterPlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:b.getInstance(t,i)}}}),[KS]=m({name:"OnPlayerLeavePlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:b.getInstance(t,i)}}}),[XS]=m({name:"OnPlayerClickGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:b.getInstance(t)}}}),[ZS]=m({name:"OnPlayerClickPlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:b.getInstance(t,i)}}}),YS=Object.freeze({onPlayerEnterGlobal:HS,onPlayerLeaveGlobal:WS,onPlayerEnterPlayer:US,onPlayerLeavePlayer:KS,onPlayerClickGlobal:XS,onPlayerClickPlayer:ZS});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()?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("[TextDraw]: Cannot create with only id");if(this.id!==l.TEXT_DRAW)throw new Error("[TextDraw]: Cannot 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===W.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Cannot create player textdraw");z.has(r)||z.set(r,new Map),z.get(r).set(this._id,this)}else{if(this._id=f.__inject__.create(t,i,s),this.id===l.TEXT_DRAW||f.getInstances().length===W.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Cannot create textdraw");ke.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),ke.delete(this.id);else if(D.skip||f.__inject__.destroyPlayer(t.id,this.id),z.has(t)){const i=z.get(t);i.delete(this.id),i.size||z.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(et.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(et.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(et.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]: Cannot ${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 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:Ff,createPlayer:DP,destroy:Mf,destroyPlayer:TP,setFont:Zf,setFontPlayer:MP,setColor:xf,setColorPlayer:wP,setBoxColor:Wf,setBoxColorPlayer:OP,setBackgroundColor:Xf,setBackgroundColorPlayer:FP,setAlignment:Bf,setAlignmentPlayer:LP,setLetterSize:Vf,setLetterSizePlayer:vP,setOutline:Kf,setOutlinePlayer:jP,setPreviewModel:tP,setPreviewModelPlayer:WP,setPreviewRot:iP,setPreviewRotPlayer:UP,setPreviewVehicleColors:aP,setPreviewVehicleColorsPlayer:KP,setProportional:Yf,setProportionalPlayer:VP,setSelectable:zf,setSelectablePlayer:kP,setShadow:Uf,setShadowPlayer:GP,setStringPlayer:HP,setStringForPlayer:jf,setString:eP,setTextSize:kf,setTextSizePlayer:bP,useBoxPlayer:RP,useBox:Hf,showPlayer:BP,showForPlayer:Jf,hidePlayer:xP,hideForPlayer:$f,showForAll:Qf,hideForAll:qf,isValidPlayer:sP,isValid:mf,isVisiblePlayer:lP,isVisibleForPlayer:ff,getStringPlayer:oP,getString:Pf,setPosPlayer:_P,setPos:pf,getLetterSizePlayer:cP,getLetterSize:If,getTextSizePlayer:dP,getTextSize:Cf,getPosPlayer:hP,getPos:yf,getColorPlayer:gP,getColor:Sf,getBoxColorPlayer:uP,getBoxColor:Ef,getBackgroundColorPlayer:mP,getBackgroundColor:Af,getShadowPlayer:fP,getShadow:Nf,getOutlinePlayer:PP,getOutline:Df,getFontPlayer:pP,getFont:Tf,isBoxPlayer:IP,isBox:vf,isProportionalPlayer:CP,isProportional:bf,isSelectablePlayer:yP,isSelectable:Lf,getAlignmentPlayer:SP,getAlignment:wf,getPreviewModelPlayer:EP,getPreviewModel:Rf,getPreviewRotPlayer:AP,getPreviewRot:Of,getPreviewVehicleColors:Gf,getPreviewVehicleColorsPlayer:NP}}Ze.onDisconnect(({player:e,next:t})=>(z.has(e)&&(f.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),z.delete(e)),t())),H.onExit(({next:e})=>(f.getInstances().forEach(t=>t.destroy()),f.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),ke.clear(),z.clear(),e()));const[zS]=m({name:"OnPlayerClickTextDraw",identifier:"ii",defaultValue:!1,beforeEach(e,t){return{player:c.getInstance(e),textDraw:t===l.TEXT_DRAW?t:f.getInstance(t)}}}),[JS]=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)}}}),$S=Object.freeze({onPlayerClickGlobal:zS,onPlayerClickPlayer:JS});Ze.onDisconnect(({player:e,next:t})=>(K.has(e)&&(C.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),K.delete(e)),t())),H.onExit(({next:e})=>(C.getInstances().forEach(t=>t.destroy()),C.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),Te.clear(),K.clear(),e()));const[QS]=m({name:"OnPlayerSelectObject",identifier:"iiiifff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s){const o=c.getInstance(e),_=t!==Pe.UNKNOWN&&t===Pe.PLAYER_OBJECT,d=t!==Pe.UNKNOWN&&t===Pe.GLOBAL_OBJECT;return{player:o,type:t,isPlayerObject:_,isGlobal:d,objectMp:t===Pe.GLOBAL_OBJECT?C.getInstance(i):C.getInstance(i,o),modelId:a,fX:r,fY:n,fZ:s}}}),[qS]=m({name:"OnPlayerEditObject",identifier:"iiiiffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_,d){const h=c.getInstance(e),u=t===1;return{player:h,isPlayerObject:u,isGlobal:!u,objectMp:u?C.getInstance(i,h):C.getInstance(i),response:a,fX:r,fY:n,fZ:s,fRotX:o,fRotY:_,fRotZ:d}}}),[eE]=m({name:"OnPlayerEditAttachedObject",identifier:"iiiiifffffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_,d,h,u,I,S){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:u,fScaleY:I,fScaleZ:S}}}),[tE]=m({name:"OnObjectMoved",identifier:"i",beforeEach(e){return{objectMp:C.getInstance(e)}}}),[iE]=m({name:"OnPlayerObjectMoved",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,playerObject:C.getInstance(t,i)}}}),aE=Object.freeze({onPlayerSelect:QS,onPlayerEdit:qS,onPlayerEditAttached:eE,onGlobalMoved:tE,onPlayerMoved:iE});class j{_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=j.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=j.__inject__.create(t,i,a,r,n),this._id===l.ACTOR_ID||j.getInstances().length===W.MAX_ACTORS)throw new Error("[Actor]: Cannot create actor");return He.set(this._id,this),this}destroy(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot before create");return D.skip||j.__inject__.destroy(this._id),He.delete(this._id),this._id=l.ACTOR_ID,this}isStreamIn(t){return this._id===l.ACTOR_ID?!1:j.__inject__.isStreamedIn(this.id,t.id)}setVirtualWorld(t){return this._id===l.ACTOR_ID?!1:j.__inject__.setVirtualWorld(this.id,t)}getVirtualWorld(){return this._id===l.ACTOR_ID?0:j.__inject__.getVirtualWorld(this.id)}applyAnimation(t,i,a,r,n,s,o,_){return this._id===l.ACTOR_ID?!1:j.__inject__.applyAnimation(this.id,t,i,a,r,n,s,o,_)}clearAnimations(){return this._id===l.ACTOR_ID?!1:j.__inject__.clearAnimations(this.id)}setPos(t,i,a){return this._id===l.ACTOR_ID?!1:j.__inject__.setPos(this.id,t,i,a)}getPos(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getPos before create");return j.__inject__.getPos(this.id)}setFacingAngle(t){return this._id===l.ACTOR_ID?!1:j.__inject__.setFacingAngle(this.id,t)}getFacingAngle(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getFacingAngle before create");return j.__inject__.getFacingAngle(this.id)}setHealth(t){return this._id===l.ACTOR_ID?!1:j.__inject__.setHealth(this.id,t)}getHealth(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getHealth before create");return j.__inject__.getHealth(this.id)}setInvulnerable(t){return this._id===l.ACTOR_ID?!1:j.__inject__.setInvulnerable(this.id,t)}isInvulnerable(){return this._id===l.ACTOR_ID?!1:j.__inject__.isInvulnerable(this.id)}isValid(){return j.isValid(this._id)}setSkin(t){return this._id===l.ACTOR_ID?!1:j.__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:j.__inject__.getSkin(this.id)}getAnimation(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getAnimation before create");return j.__inject__.getAnimation(this.id)}getSpawnInfo(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getSpawnInfo before create");return j.__inject__.getSpawnInfo(this.id)}static isValid(t){return j.__inject__.isValid(t)}static getInstance(t){return He.get(t)}static getInstances(){return[...He.values()]}static __inject__={create:Lc,destroy:wc,applyAnimation:jc,clearAnimations:Fc,getAnimation:bc,getFacingAngle:Bc,getHealth:Hc,getPos:Vc,getSkin:Dc,getSpawnInfo:vc,getVirtualWorld:Gc,isInvulnerable:Uc,isStreamedIn:Rc,isValid:Kc,setFacingAngle:kc,setHealth:xc,setInvulnerable:Wc,setPos:Mc,setSkin:Tc,setVirtualWorld:Oc}}H.onExit(({next:e})=>(j.getInstances().forEach(t=>t.destroy()),He.clear(),e()));const[rE]=m({name:"OnPlayerGiveDamageActor",identifier:"iifii",defaultValue:!1,beforeEach(e,t,i,a,r){return{player:c.getInstance(e),actor:j.getInstance(t),amount:i,weapon:a,bodyPart:r}}}),[nE]=m({name:"OnActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:j.getInstance(e),player:c.getInstance(t)}}}),[sE]=m({name:"OnActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:j.getInstance(e),player:c.getInstance(t)}}}),lE=Object.freeze({onPlayerGiveDamage:rE,onStreamIn:nE,onStreamOut:sE});class Ge{static set(t,i,a,r,n){return Ge.__inject__.set(t.id,i,a,r,n)}static disable(t){return Ge.__inject__.disable(t.id)}static isPlayerIn(t){return Ge.__inject__.isPlayerIn(t.id)}static isActive(t){return Ge.__inject__.isActive(t.id)}static get(t){return Ge.__inject__.get(t.id)}static __inject__={disable:zu,get:Si,isActive:yi,isPlayerIn:Qu,set:Yu}}const[oE]=m({name:"OnPlayerEnterCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[_E]=m({name:"OnPlayerLeaveCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),cE=Object.freeze({onPlayerEnter:oE,onPlayerLeave:_E});class je{static set(t,i,a,r,n,s,o,_,d){return je.__inject__.set(t.id,i,a,r,n,s,o,_,d)}static disable(t){return je.__inject__.disable(t.id)}static isPlayerIn(t){return je.__inject__.isPlayerIn(t.id)}static isActive(t){return je.__inject__.isActive(t.id)}static get(t){return je.__inject__.get(t.id)}static __inject__={disable:$u,get:Ai,isActive:Ei,isPlayerIn:qu,set:Ju}}const[dE]=m({name:"OnPlayerEnterRaceCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[hE]=m({name:"OnPlayerLeaveRaceCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),gE=Object.freeze({onPlayerEnter:dE,onPlayerLeave:hE});class w{sourceInfo=null;_player=null;_id=l.PICKUP_ID;get id(){return this._id}constructor(t,i){if(typeof t=="number"){if(t===l.PICKUP_ID)throw new Error("[Pickup]: Invalid id");i&&(this._player=i);const a=w.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?We.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("[Pickup]: Cannot 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,_=this.getPlayer();if(o){if(_)throw new Error("[Pickup]: Cannot create static pickup for player");w.__inject__.addStatic(t,i,r,n,s,a)}else if(_){if(this._id=w.__inject__.createPlayer(_.id,t,i,r,n,s,a),_&&w.getInstances(_).length===W.MAX_PICKUPS||this._id===l.PICKUP_ID)throw new Error("[Pickup]: Cannot create player pickup");J.has(_)||J.set(_,new Map),J.get(_).set(this.id,this)}else{if(this._id=w.__inject__.create(t,i,r,n,s,a),w.getInstances().length===W.MAX_PICKUPS||this._id===l.PICKUP_ID)throw new Error("[Pickup]: Cannot create pickup");We.set(this.id,this)}return this}destroy(){if(this.sourceInfo&&this.sourceInfo.isStatic)throw new Error("[Pickup]: Cannot destroy static pickup");if(this.id===l.PICKUP_ID)throw new Error("[Pickup]: Cannot destroy before create");const t=this.getPlayer();if(!t)D.skip||w.__inject__.destroy(this.id),We.delete(this.id);else if(D.skip||w.__inject__.destroyPlayer(t.id,this.id),J.has(t)){const i=J.get(t);i.delete(this.id),i.size||J.delete(t)}this._id=l.PICKUP_ID}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(){if(D.skip&&this.id!==l.PICKUP_ID)return!0;if(this.id===l.PICKUP_ID)return!1;const t=this.getPlayer();return t?w.isValidPlayer(t.id,this.id):w.isValidGlobal(this.id)}isStreamedIn(t){if(this.id===l.PICKUP_ID)return!1;const i=this.getPlayer();return i?w.__inject__.isStreamedInPlayer(i.id,this.id):w.__inject__.isStreamedIn(t.id,this.id)}getPos(){const t=this.getPlayer();return t?w.__inject__.getPosPlayer(t.id,this.id):w.__inject__.getPos(this.id)}getModel(){if(this.id===l.PICKUP_ID)return 0;const t=this.getPlayer();return t?w.__inject__.getModelPlayer(t.id,this.id):w.__inject__.getModel(this.id)}getType(){if(this.id===l.PICKUP_ID)return 0;const t=this.getPlayer();return t?w.__inject__.getTypePlayer(t.id,this.id):w.__inject__.getType(this.id)}getVirtualWorld(){if(this.id===l.PICKUP_ID)return 0;const t=this.getPlayer();return t?w.__inject__.getVirtualWorldPlayer(t.id,this.id):w.__inject__.getVirtualWorld(this.id)}setPos(t,i,a,r){if(this.id===l.PICKUP_ID)return!1;const n=this.getPlayer();return n?w.__inject__.setPosPlayer(n.id,this.id,t,i,a,r):w.__inject__.setPos(this.id,t,i,a,r)}setModel(t,i=!0){if(this.id===l.PICKUP_ID)return!1;const a=this.getPlayer();return a?w.__inject__.setModelPlayer(a.id,this.id,t,i):w.__inject__.setModel(this.id,t,i)}setType(t,i=!0){if(this.id===l.PICKUP_ID)return!1;const a=this.getPlayer();return a?w.__inject__.setTypePlayer(a.id,this.id,t,i):w.__inject__.setType(this.id,t,i)}setVirtualWorld(t){if(this.id===l.PICKUP_ID)return!1;const i=this.getPlayer();return i?w.__inject__.setVirtualWorldPlayer(i.id,this.id,t):w.__inject__.setVirtualWorld(this.id,t)}showForPlayer(t){if(this.id===l.PICKUP_ID)return!1;if(this.getPlayer())throw new Error("[Pickup]: Cannot show for player pickup");return w.__inject__.showForPlayer(t.id,this.id)}hideForPlayer(t){if(this.id===l.PICKUP_ID)return!1;if(this.getPlayer())throw new Error("[Pickup]: Cannot hide for player pickup");return w.__inject__.hideForPlayer(t.id,this.id)}isHiddenForPlayer(t){if(this.id===l.PICKUP_ID)return!1;if(this.isPlayer())throw new Error("[Pickup]: Cannot isHiddenForPlayer for player pickup");return w.__inject__.isHiddenForPlayer(t.id,this.id)}static isValidPlayer(t,i){return w.__inject__.isValidPlayer(t,i)}static isValidGlobal(t){return w.__inject__.isValidGlobal(t)}static getInstance(t,i){if(!i)return We.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()||[]]:[...We.values()]}static getPlayersInstances(){return Array.from(J.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:SI,addStatic:yI,destroy:EI,isStreamedIn:_I,getPos:cI,getModel:dI,getType:hI,getVirtualWorld:gI,setPos:uI,setModel:mI,setType:fI,setVirtualWorld:PI,showForPlayer:pI,hideForPlayer:II,isHiddenForPlayer:CI,isValidGlobal:oI,createPlayer:AI,destroyPlayer:NI,isStreamedInPlayer:TI,getPosPlayer:vI,getModelPlayer:OI,getTypePlayer:GI,getVirtualWorldPlayer:jI,setPosPlayer:bI,setModelPlayer:LI,setTypePlayer:wI,setVirtualWorldPlayer:RI,isValidPlayer:DI}}Ze.onDisconnect(({player:e,next:t})=>(J.has(e)&&(w.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),J.delete(e)),t())),H.onExit(({next:e})=>(w.getInstances().forEach(t=>t.destroy()),w.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),We.clear(),J.clear(),e()));const[uE]=m({name:"OnPlayerPickUpPickup",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:w.getInstance(t)}}}),[mE]=m({name:"OnPickupStreamIn",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:w.getInstance(t)}}}),[fE]=m({name:"OnPickupStreamOut",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:w.getInstance(t)}}}),[PE]=m({name:"OnPlayerPickUpPlayerPickup",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,pickup:w.getInstance(t,i)}}}),[pE]=m({name:"OnPlayerPickupStreamIn",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,pickup:w.getInstance(t,i)}}}),[IE]=m({name:"OnPlayerPickupStreamOut",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,pickup:w.getInstance(t,i)}}}),CE=Object.freeze({onPlayerPickUpGlobal:uE,onStreamInGlobal:mE,onStreamOutGlobal:fE,onPlayerPickupPlayer:PE,onStreamInPlayer:pE,onStreamOutPlayer:IE});class R{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=R.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?Ue.set(this._id,this):i&&($.has(i)||$.set(i,new Map),$.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[TextLabel]: Cannot create with only id");if(this.id!==l._3DTEXT_ID)throw new Error("[TextLabel]: Cannot create again");const{charset:t="utf8",text:i,color:a,x:r,y:n,z:s,drawDistance:o,virtualWorld:_,testLOS:d,attachedPlayer:h,attachedVehicle:u}=this.sourceInfo;if(this.isGlobal()){if(this._id=R.__inject__.create(t,i,a,r,n,s,o,_,d),this.id===l._3DTEXT_ID||R.getInstances().length===W.MAX_3DTEXT_GLOBAL)throw new Error("[TextLabel]: Cannot create textLabel");return Ue.set(this._id,this),this}const I=this.getPlayerId();if(I===l.PLAYER_ID)return this;const S=this.getPlayer();if(this._id=R.__inject__.createPlayer(t,I,i,a,r,n,s,o,typeof h>"u"?l.PLAYER_ID:h.id,typeof u>"u"?l.VEHICLE_ID:u.id,d),this.id===l._3DTEXT_ID||R.getInstances(S).length===W.MAX_3DTEXT_PLAYER)throw new Error("[TextLabel]: Cannot create playerTextLabel");return $.has(S)||$.set(S,new Map),$.get(this.getPlayer()).set(this.id,this),this}destroy(){if(this.id===l._3DTEXT_ID)throw new Error("[TextLabel]: Cannot destroy the textLabel before create");if(this.isGlobal())D.skip||R.__inject__.delete(this.id),Ue.delete(this.id);else{const t=this.getPlayerId();if(t===l.PLAYER_ID)return this;const i=this.getPlayer();if(D.skip||R.__inject__.deletePlayer(t,this.id),$.has(i)){const a=$.get(i);a.delete(this.id),a.size===0&&$.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()?R.isValid(this.id):R.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]: Cannot attach to player, textLabel is not global");return R.__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]: Cannot attach to vehicle, textLabel is not global");return R.__inject__.attachToVehicle(this.id,t.id,i,a,r)}updateText(t,i,a="utf8"){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?R.__inject__.updateText(a,this.id,t,i):R.__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]: Cannot check stream in, textLabel is not global");return R.__inject__.isStreamedIn(this.id,t.id)}getText(t=this.sourceInfo?.charset||"utf8"){return this.isGlobal()?R.__inject__.getText(t,this.id):R.__inject__.getPlayerText(t,this.getPlayerId(),this.id)}getColor(){return this.isGlobal()?R.__inject__.getColor(this.id):R.__inject__.getPlayerColor(this.getPlayerId(),this.id)}getPos(){return this.isGlobal()?R.__inject__.getPos(this.id):R.__inject__.getPlayerPos(this.getPlayerId(),this.id)}setDrawDistance(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?R.__inject__.setDrawDistance(this.id,t):R.__inject__.setPlayerDrawDistance(this.getPlayerId(),this.id,t)}getDrawDistance(){return this.isGlobal()?R.__inject__.getDrawDistance(this.id):R.__inject__.getPlayerDrawDistance(this.getPlayerId(),this.id)}getLOS(){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?R.__inject__.getLOS(this.id):R.__inject__.getPlayerLOS(this.getPlayerId(),this.id)}setLOS(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?R.__inject__.setLOS(this.id,t):R.__inject__.setPlayerLOS(this.getPlayerId(),this.id,t)}getVirtualWorld(){return this.id===l._3DTEXT_ID?0:this.isGlobal()?R.__inject__.getVirtualWorld(this.id):R.__inject__.getPlayerVirtualWorld(this.getPlayerId(),this.id)}setVirtualWorld(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?R.__inject__.setVirtualWorld(this.id,t):R.__inject__.setPlayerVirtualWorld(this.getPlayerId(),this.id,t)}getAttachedData(){return this.isGlobal()?R.__inject__.getAttachedData(this.id):R.__inject__.getPlayerAttachedData(this.getPlayerId(),this.id)}static isValid(t,i){return i===l.PLAYER_ID?!1:typeof i>"u"?R.__inject__.isValid(t):R.__inject__.isValidPlayer(i,t)}static getInstance(t,i){if(!i)return Ue.get(t);if(i.id!==l.PLAYER_ID)return $.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...$.get(t)?.values()||[]]:[...Ue.values()]}static getPlayersInstances(){return Array.from($.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:eC,createPlayer:tC,getText:rC,getPlayerText:nC,updateText:iC,updatePlayerText:aC,delete:Sm,attachToPlayer:Em,attachToVehicle:Am,isStreamedIn:hm,getColor:gm,getPos:um,setDrawDistance:mm,getDrawDistance:fm,getLOS:Pm,setLOS:pm,getVirtualWorld:Cm,setVirtualWorld:Im,getAttachedData:ym,isValid:dm,deletePlayer:jm,getPlayerColor:Dm,getPlayerPos:Tm,setPlayerDrawDistance:vm,getPlayerDrawDistance:bm,getPlayerLOS:Lm,setPlayerLOS:wm,getPlayerVirtualWorld:Rm,setPlayerVirtualWorld:Om,getPlayerAttachedData:Gm,isValidPlayer:Nm}}Ze.onDisconnect(({player:e,next:t})=>($.has(e)&&(R.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),$.delete(e)),t())),H.onExit(({next:e})=>(R.getInstances().forEach(t=>t.destroy()),R.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),Ue.clear(),$.clear(),e()));function yE(e,t){return(e&t)===t}function SE(e,t,i){return(e&i)===i&&(t&i)!==i}function EE(e,t){return!!(e&t)}function AE(e,t,i){return(e&i)!==i&&(t&i)===i}function NE(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]}export{j as Actor,lE as ActorEvent,vt as ArtworkEnum,Bt as BodyPartsEnum,xt as BoneIdsEnum,Jt as BulletHitTypesEnum,Qe as CameraCutStylesEnum,kt as CameraModesEnum,Kt as CarModTypeEnum,cE as CheckPointEvent,Ge as Checkpoint,bt as ClickSourcesEnum,wt as ConnectionStatusEnum,ft as DamageDeathReasonEnum,U as Dialog,gt as DialogStylesEnum,ie as Dynamic3DTextLabel,hS as Dynamic3DTextLabelEvent,F as DynamicActor,lS as DynamicActorEvent,v as DynamicArea,IS as DynamicAreaEvent,Jy as DynamicCheckPointEvent,X as DynamicCheckpoint,le as DynamicMapIcon,My as DynamicMapIconEvent,O as DynamicObject,Ry as DynamicObjectEvent,re as DynamicPickup,Wy as DynamicPickupEvent,Z as DynamicRaceCP,aS as DynamicRaceCPEvent,_e as E_STREAMER,Lt as EditResponseTypesEnum,ut as FightingStylesEnum,Ht as ForceSyncEnum,H as GameMode,Oe as GameText,b as GangZone,YS as GangZoneEvent,E as I18n,l as InvalidEnum,Rt as KeysEnum,Zt as LandingGearStateEnum,W as LimitsEnum,ct as MapIconStyles,Vt as MapIconStylesEnum,Ot as MarkerModesEnum,qt as MaterialTextAlign,ot as MaterialTextSizes,x as Menu,xS as MenuEvent,ge as NPCEntityCheckEnum,Fe as NPCMoveSpeedEnum,fe as NPCMoveTypeEnum,Gt as NPCPlaybackEnum,jt as NPCRecordStatusEnum,q as NetStats,g as Npc,VS as NpcEvent,Ye as NpcNode,Je as NpcPath,ze as NpcRecord,Mt as ObjectMaterialAlignmentEnum,Ft as ObjectMaterialTextSizeEnum,C as ObjectMp,aE as ObjectMpEvent,CE as PickUpEvent,w as Pickup,c as Player,Ze as PlayerEvent,qe as PlayerStateEnum,je as RaceCheckpoint,gE as RaceCpEvent,$t as RecordTypesEnum,Pe as SelectObjectTypesEnum,Wt as SpecialActionsEnum,st as SpectateModesEnum,A as Streamer,Qt as StreamerAreaTypes,k as StreamerDistances,T as StreamerItemTypes,P as StreamerMiscellaneous,lt as StreamerObjectTypes,f as TextDraw,Ut as TextDrawAlignEnum,$S as TextDrawEvent,et as TextDrawFontsEnum,R as TextLabel,p as Vehicle,Sy as VehicleEvent,Xt as VehicleModelInfoEnum,G as VehicleParamsEnum,Yt as WeaponEnum,zt as WeaponSkillsEnum,mt as WeaponStatesEnum,vi as animateLib,m as defineEvent,NE as defineHooks,FI as getAnimateDurationByLibName,yE as isHolding,SE as isPressed,EE as isPressing,AE as isReleased,yt as isValidAnimateLib,St as isValidAnimateName,N as rgba,is as useTrigger,as as withTriggerOptions};
3
+ ${t}`)}},fC=async e=>{await At(e),await Et(e)},PC=e=>ht.has(e);Oi(async({next:e})=>{const t=ve.map(i=>i.name);for(const i of t)await Et(i);return e()}),Gi(async({next:e})=>{const t=Ke.map(i=>i.name);for(const i of t)await At(i);return e()});const pC=function(e,...t){if(ve.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),ve.push(e)},de=new Uint32Array(65536),IC=(e,t)=>{const i=e.length,a=t.length,r=1<<i-1;let n=-1,s=0,o=i,_=i;for(;_--;)de[e.charCodeAt(_)]|=1<<_;for(_=0;_<a;_++){let d=de[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;_--;)de[e.charCodeAt(_)]=0;return o},CC=(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 M=_*32,Q=Math.min(32,a)+M;for(let V=M;V<Q;V++)de[e.charCodeAt(V)]|=1<<V;for(let V=0;V<i;V++){const he=de[t.charCodeAt(V)],oe=n[V/32|0]>>>V&1,ne=r[V/32|0]>>>V&1,Dt=he|y,Tt=((he|ne)&L)+L^L|he|ne;let $e=y|~(Tt|L),nt=L&Tt;$e>>>31^oe&&(n[V/32|0]^=1<<V),nt>>>31^ne&&(r[V/32|0]^=1<<V),$e=$e<<1|oe,nt=nt<<1|ne,L=nt|~(Dt|$e),y=$e&Dt}for(let V=M;V<Q;V++)de[e.charCodeAt(V)]=0}let d=0,h=-1;const u=_*32,I=Math.min(32,a-u)+u;for(let y=u;y<I;y++)de[e.charCodeAt(y)]|=1<<y;let S=a;for(let y=0;y<i;y++){const L=de[t.charCodeAt(y)],M=n[y/32|0]>>>y&1,Q=r[y/32|0]>>>y&1,V=L|d,he=((L|Q)&h)+h^h|L|Q;let oe=d|~(he|h),ne=h&he;S+=oe>>>a-1&1,S-=ne>>>a-1&1,oe>>>31^M&&(n[y/32|0]^=1<<y),ne>>>31^Q&&(r[y/32|0]^=1<<y),oe=oe<<1|M,ne=ne<<1|Q,h=ne|~(V|oe),d=oe&V}for(let y=u;y<I;y++)de[e.charCodeAt(y)]=0;return S},ji=(e,t)=>{if(e.length<t.length){const i=t;t=e,e=i}return t.length===0?e.length:e.length<=32?IC(e,t):CC(e,t)},yC=(e,t)=>{let i=1/0,a=0;for(let r=0;r<t.length;r++){const n=ji(e,t[r]);n<i&&(i=n,a=r)}return t[a]},be=new Map,Le=new Map,Fi=/[^/\s]+/gi,it={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"}},[SC,EC]=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:_}}}),[AC,NC]=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:_}}}),[DC,at]=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=yC(a,[...be.keys(),...Le.keys()]),u=ji(a,h);return{suggestion:h,distance:u}}}}}),[TC,vC]=m({name:"OnPlayerCommandTextI18n",identifier:"iai",defaultValue:!1,beforeEach(e,t){const i=ce.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}}}),[bC,LC]=m({name:"OnPlayerCommandTextRaw",isNative:!1,defaultValue:!1,beforeEach(e,t,i){return{player:e,buffer:t,cmdText:i}}});function wC(e){const t=[];let i="";for(let a=0;a<e.length;a++)i+=e[a]+" ",t.push(i.trimEnd());return t.reverse()}TC(({player:e,buffer:t,cmdText:i,next:a})=>{const r=LC(e,t,i);if(r)return r;const n=i.match(Fi)||[],s=wC(n),o=s.find(L=>be.has(L)),_=s.map(L=>L.toLowerCase()).find(L=>Le.has(L)),d=!!o,h=!!_,u=n.join(" ");let I=[];const S=[[o,be,!0],[_,Le,!1]],y=[u,i,t,o,_,d,h,I];if(d||h){const L=S[0][0]||S[1][0];I=u.replace(L,"").trim().split(" ")}else return at(e,it.NOT_EXIST,...y);try{if(!EC(e,...y))return at(e,it.RECEIVED_REJECTED,...y)}catch(L){const M=typeof L=="object"?L:{error:L};return at(e,{...it.RECEIVED_THROW,...M},...y)}for(const[L,M,Q]of S){if(!L)continue;const V=M.get(L),[,he]=V;if(!he(e,L,I,i,t,Q))return at(e,it.REJECTED,...y)}return NC(e,u,i,t,o,_,d,h,I)?(a(),!0):at(e,it.PERFORMED,...y)});function RC(e,t,i,a,r,n){return{player:e,mainCommand:t,subcommand:i,cmdText:a,buffer:r,isStrict:n}}class ae{static caseSensitive=!1;constructor(){}static on(t,i){let a=ae.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(Fi));if(o)return console.log(`error command ${o} format`),()=>{};const _=a?be:Le,d=s.map(h=>{const u=h.replaceAll("/",""),I=a?u:u.toLowerCase();if(!_.has(I)){const y=m({name:a?"$"+I:I,isNative:!1,beforeEach:RC});_.set(I,y)}const[S]=_.get(I);return[I,S(n)]});return()=>{d.forEach(h=>{const[u,I]=h;I()===0&&_.delete(u)})}}static off(t){(Array.isArray(t)?t:[t]).forEach(i=>{let a=i.replaceAll("/","");be.has(a)&&(ee.has(a)&&ee.delete(a),be.has(a)&&be.delete(a)),a=a.toLowerCase(),Le.has(a)&&(ee.has(a)&&ee.delete(a),Le.has(a)&&Le.delete(a))})}static enableCaseSensitive(){ae.caseSensitive=!0}static disableCaseSensitive(){ae.caseSensitive=!1}static isCaseSensitive(){return ae.caseSensitive}static simulate(t,i){return vC(t.id,i)}}class H{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=Oi;static onExit=Gi;static onIncomingConnection=gC;static onRconCommand=uC;static onRconLoginAttempt=mC;static use(t,...i){return pC(t,...i),this}static loadUseScript=Et;static reloadUseScript=fC;static unloadUseScript=At;static isUseScriptLoaded=PC;static enableCmdCaseSensitive=ae.enableCaseSensitive;static disableCmdCaseSensitive=ae.disableCaseSensitive;static isCmdCaseSensitive=ae.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");Xs(t)}static setWorldTime(t){if(t<0||t>23)throw new Error("[GameMode]: The valid hour value is only 0 to 23");Ws(t)}static getWorldTime=Us;static setTeamCount=gl;static sendRconCommand=WI;static addPlayerClass=ul;static addPlayerClassEx=ml;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 zs(t,i,a,r,n)}static manualVehicleEngineAndLights=qg;static blockIpAddress=Gl;static unBlockIpAddress=jl;static getServerTickRate=al;static addCharModel=Ep;static getCustomModelPath=Tp;static addSimpleModel(t,i,a,r,n){return this.checkSimpleModel(t,i,a,r,n)?Ap(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)?Np(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>W.MAX_CUSTOM_OBJECT_ID||a<W.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=Ti;static getCustomModePath=Gp;static getConsoleVarAsString(t,i="utf8"){const{consoleVarBuf:a,ret:r}=vs(t);return{consoleVar:E.decodeFromBuf(E.getValidStr(a),i),ret:r}}static getRestartTime=js;static setRestartTime=Gs;static allowAdminTeleport=Ss;static isAdminTeleportAllowed=Es;static allowInteriorWeapons=As;static areInteriorWeaponsAllowed=Ns;static areAllAnimationsEnabled=Ds;static enableAllAnimations=Ts;static enableStuntBonusForAll=nl;static enableVehicleFriendlyFire=Ks;static enableZoneNames=Js;static disableInteriorEnterExits=Qs;static setGameModeText=Bs;static getGravity=Zs;static setGravity=Ys;static showNameTags=xs;static disableNameTagLOS=el;static usePlayerPedAnims=$s;static showPlayerMarkers=Hs;static limitPlayerMarkerRadius=il;static limitGlobalChatRadius=tl;static setNameTagDrawDistance=qs;static findModelFileNameFromCRC=vp;static findTextureFileNameFromCRC=bp;static getWeaponName=_l;static setObjectsDefaultCameraCollision=Sp;static vectorSize=Ct;static clearBanList=Vl;static isBanned=kl;static isValidNickName=ms;static allowNickNameCharacter=fs;static isNickNameCharacterAllowed=Ps;static addServerRule=ps;static setServerRule=Is;static isValidServerRule=Cs;static removeServerRule=ys;static getWeaponSlot=ol;static getAvailableClasses=cl;static getPlayerClass=dl;static editPlayerClass=hl;static toggleChatTextReplacement=sl;static chatTextReplacementToggled=ll;static getConsoleVarAsInt=bs;static getConsoleVarAsBool=Ls;static getWeather=ws;static getServerRuleFlag=Rs;static setServerRuleFlags=Os;static getAnimationName=rl}const D={skip:!1};H.onInit(({next:e})=>(D.skip=!1,e())),H.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,Ie.set(this._id,this),this.isValid()&&p.createdCount++}else this.sourceInfo=t,this.isStatic=i}create(){if(this.id!==l.VEHICLE_ID)throw new Error("[Vehicle]: Cannot create again");if(!this.sourceInfo)throw new Error("[Vehicle]: Cannot create with only id");const{modelId:t,x:i,y:a,z:r,zAngle:n,color:s,respawnDelay:o,addSiren:_}=this.sourceInfo;if(this.isStatic){if(typeof o>"u"){this._id=p.__inject__.addStatic(t,i,a,r,n,s[0],s[1]);return}this._id=p.__inject__.addStaticEx(t,i,a,r,n,s[0],s[1],o||-1,_||!1)}else this._id=p.__inject__.create(t,i,a,r,n,s[0],s[1],o||-1,_||!1);if(this._id===l.VEHICLE_ID||p.createdCount===W.MAX_VEHICLES)throw new Error("[Vehicle]: Cannot create vehicle");p.createdCount++,Ie.set(this._id,this)}destroy(){if(this.id===l.VEHICLE_ID&&!D.skip)throw new Error("[Vehicle]: Cannot destroy the vehicle before create");D.skip||p.__inject__.destroy(this._id),p.createdCount--,Ie.delete(this._id),this._id=l.VEHICLE_ID,p.getInstances().length||(p.createdCount=0)}addComponent(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.addComponent(this.id,t)}removeComponent(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.removeComponent(this.id,t)}getComponentInSlot(t){return this.id===l.VEHICLE_ID?0:p.__inject__.getComponentInSlot(this.id,t)}linkToInterior(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.linkToInterior(this.id,t)}setVirtualWorld(t){return this.id===l.VEHICLE_ID?!1: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?!1: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?!1: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?!1:p.__inject__.setZAngle(this.id,t)}setNumberPlate(t){if(this.id===l.VEHICLE_ID)return!1;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?!1: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 Ct(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?!1:p.__inject__.setRespawn(this.id)}isStreamedIn(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.isStreamedIn(this.id,t.id)}setParamsCarDoors(t=G.UNSET,i=G.UNSET,a=G.UNSET,r=G.UNSET){return this.id===l.VEHICLE_ID?!1:p.__inject__.setParamsCarDoors(this.id,t,i,a,r)}setParamsCarWindows(t=G.UNSET,i=G.UNSET,a=G.UNSET,r=G.UNSET){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?!1:p.__inject__.setParamsEx(this.id,t,i,a,r,n,s,o)}getParamsEx(){if(this.id===l.VEHICLE_ID)return{engine:G.UNSET,lights:G.UNSET,alarm:G.UNSET,doors:G.UNSET,bonnet:G.UNSET,boot:G.UNSET,objective:G.UNSET,ret:!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,ret:!!_}}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?G.UNSET:p.__inject__.getParamsSirenState(this.id)}setParamsForPlayer(t,i=G.UNSET,a=G.UNSET){return this.id===l.VEHICLE_ID?!1: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?!1:p.__inject__.changePaintjob(this.id,t)}attachTrailer(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.attachTrailer(t.id,this.id)}detachTrailer(){this.isTrailerAttached()&&p.__inject__.detachTrailer(this.id)}getTrailer(){return p.getInstance(pu(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?!1:p.__inject__.getSirenState(this.id)}getDriver(){return ce.get(Ci(this.id))}getLastDriver(){return ce.get(Ii(this.id))}isSirenEnabled(){return p.__inject__.isSirenEnabled(this.id)}toggleSirenEnabled(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.toggleSirenEnabled(this.id,t)}setParamsSirenState(t){return this.id===l.VEHICLE_ID?!1: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?!1: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){return this.id===l.VEHICLE_ID?!1: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())}canHaveComponent(t){return this.id===l.VEHICLE_ID?!1:p.__inject__.canHaveComponent(this.getModel(),t)}getSeats(){return p.__inject__.getSeats(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 canHaveComponent(t,i){return p.__inject__.canHaveComponent(t,i)}static getSeats(t){return p.__inject__.getSeats(t)}static getInstance(t){return Ie.get(t)}static getInstances(){return[...Ie.values()]}static __inject__={addStatic:Ou,addStaticEx:Gu,create:Hg,destroy:Wg,addComponent:_u,removeComponent:cu,getComponentInSlot:yu,linkToInterior:ou,setVirtualWorld:Lu,getVirtualWorld:wu,repair:Eu,setPos:Xg,getPos:Kg,getHealth:uu,setHealth:gu,isPlayerIn:J_,putPlayerIn:T_,getZAngle:Zg,setZAngle:$g,setNumberPlate:Iu,changeColors:du,setVelocity:Nu,getVelocity:Au,setAngularVelocity:Du,getDamageStatus:Tu,updateDamageStatus:vu,getDistanceFromPoint:Jg,getModel:Cu,getModelInfo:bu,getRotation:Yg,getRotationQuat:zg,setRespawn:lu,isStreamedIn:Ug,setParamsCarDoors:au,setParamsCarWindows:nu,getParamsCarDoors:ru,getParamsCarWindows:su,setParamsEx:eu,getParamsEx:tu,getParamsSirenState:iu,setParamsForPlayer:Qg,isTrailerAttached:Pu,changePaintjob:hu,attachTrailer:mu,detachTrailer:fu,getMatrix:kg,getTrainSpeed:Vg,getHydraReactorAngle:Mg,getLandingGearState:Fg,getSirenState:jg,getDriver:Ci,getLastDriver:Ii,isSirenEnabled:Rg,toggleSirenEnabled:Lg,setParamsSirenState:wg,isDead:Tg,setDead:vg,setBeenOccupied:bg,getRespawnTick:Ng,setRespawnTick:Dg,isOccupied:Ag,hasBeenOccupied:Eg,getOccupiedTick:yg,setOccupiedTick:Sg,getCab:Cg,getRespawnDelay:Ig,setRespawnDelay:pg,getNumberPlate:Pg,getInterior:fg,getPaintjob:mg,getColors:ug,setSpawnInfo:gg,getSpawnInfo:hg,getRandomColorPair:Bg,show:ju,hide:Fu,isHidden:Mu,getOccupant:Wu,getMaxPassengers:Uu,countOccupants:Ku,getComponentType:Su,colorIndexToColor:xg,isValid:Ru,getModelsUsed:Gg,getModelCount:Og,canHaveComponent:Xu,getSeats:Zu}}class C{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=C.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?Te.set(this._id,this):i&&(K.has(i)||K.set(i,new Map),K.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[ObjectMp]: Cannot create with only id");if(this.id!==l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot 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=C.__inject__.create(t,i,a,r,n,s,o,_),this.id===l.OBJECT_ID||C.getInstances().length===W.MAX_OBJECTS)throw new Error("[ObjectMp]: Cannot create object");return Te.set(this._id,this),this}const d=this.getPlayerId();if(d===l.PLAYER_ID)return this;const h=this.getPlayer();if(this._id=C.__inject__.createPlayer(d,t,i,a,r,n,s,o,_),this.id===l.OBJECT_ID||C.getInstances(h).length===W.MAX_OBJECTS)throw new Error("[ObjectMp]: Cannot create player object");return K.has(h)||K.set(h,new Map),K.get(this.getPlayer()).set(this.id,this),this}destroy(){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot destroy before create");if(this.isGlobal())D.skip||C.__inject__.destroy(this.id),Te.delete(this.id);else{const t=this.getPlayerId();if(t===l.PLAYER_ID)return this;const i=this.getPlayer();if(D.skip||C.__inject__.destroyPlayer(t,this.id),K.has(i)){const a=K.get(i);a.delete(this.id),a.size===0&&K.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()?C.isValid(this.id):C.isValid(this.id,this.getPlayerId())}getModel(){return this.sourceInfo?this.sourceInfo.modelId:this.isGlobal()?C.__inject__.getModel(this.id):C.__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()?C.__inject__.getPos(this.id):C.__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()?C.__inject__.setPos(this.id,t,i,a):C.__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()?C.__inject__.getRot(this.id):C.__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()?C.__inject__.setRot(this.id,t,i,a):C.__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()?C.__inject__.move(this.id,t,i,a,r,n,s,o):C.__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()?C.__inject__.stop(this.id):C.__inject__.stopPlayer(this.getPlayerId(),this.id)}isMoving(){return this.id===l.OBJECT_ID?!1:this.isGlobal()?C.__inject__.isMoving(this.id):C.__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 C.__inject__.attachCamera(t.id,this.id)}return C.__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 C.__inject__.attachToObject(this.id,t.id,i,a,r,n,s,o,_);if(!this.isGlobal()&&!t.isGlobal())return C.__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()?C.__inject__.attachToPlayer(this.id,t.id,i,a,r,n,s,o):C.__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()?C.__inject__.attachToVehicle(this.id,t.id,i,a,r,n,s,o):C.__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]: Cannot edit before create");if(this.isGlobal()){if(!t)throw new Error("[ObjectMp]: Cannot edit without player");return t.endObjectEditing(),C.__inject__.beginEditing(t.id,this.id)}const i=this.getPlayer();return i.endObjectEditing(),C.__inject__.beginEditingPlayer(i.id,this.id)}isMaterialUsed(t){return this.id===l.OBJECT_ID?!1:this.isGlobal()?C.__inject__.isMaterialSlotUsed(this.id,t):C.__inject__.isMaterialSlotUsedPlayer(this.getPlayerId(),this.id,t)}getMaterial(t){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot get material before create");return this.isGlobal()?C.__inject__.getMaterial(this.id,t):C.__inject__.getMaterialPlayer(this.getPlayerId(),this.id,t)}setMaterial(t,i,a,r,n="#000"){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot set material before create");return this.isGlobal()?C.__inject__.setMaterial(this.id,t,i,a,r,N(n)):C.__inject__.setMaterialPlayer(this.getPlayerId(),this.id,t,i,a,r,N(n))}getMaterialText(t){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot get material text before create");return this.isGlobal()?C.__inject__.getMaterialText(this.id,t,this.sourceInfo?.charset||"utf8"):C.__inject__.getMaterialTextPlayer(this.getPlayerId(),this.id,t,this.sourceInfo?.charset||"utf8")}setMaterialText(t=this.sourceInfo?.charset,i,a,r=ot.SIZE_256x128,n="Arial",s=24,o=!0,_="#fff",d="#000",h=0){if(this.id===l.OBJECT_ID)throw new Error("[ObjectMp]: Cannot set material text before create");return this.sourceInfo&&(this.sourceInfo.charset=t),this.isGlobal()?wi(t||"utf8",this.id,i,a,r,n,s,o,N(_),N(d),h):Ri(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()?C.__inject__.setNoCameraCollision(this.id):C.__inject__.setNoCameraCollisionPlayer(this.getPlayerId(),this.id)}isNoCameraCol(){return this.id===l.OBJECT_ID?!1:this.isGlobal()?C.__inject__.isNoCameraCol(this.id):C.__inject__.isNoCameraColPlayer(this.getPlayerId(),this.id)}hasCameraCollision(){return!this.isNoCameraCol()}getDrawDistance(){return this.id===l.OBJECT_ID?0:this.isGlobal()?C.__inject__.getDrawDistance(this.id):C.__inject__.getDrawDistancePlayer(this.getPlayerId(),this.id)}setMoveSpeed(t){return this.id===l.OBJECT_ID?!1:this.isGlobal()?C.__inject__.setMoveSpeed(this.id,t):C.__inject__.setMoveSpeedPlayer(this.getPlayerId(),this.id,t)}getMoveSpeed(){return this.id===l.OBJECT_ID?0:this.isGlobal()?C.__inject__.getMoveSpeed(this.id):C.__inject__.getMoveSpeedPlayer(this.getPlayerId(),this.id)}getMovingTargetPos(){return this.isGlobal()?C.__inject__.getMovingTargetPos(this.id):C.__inject__.getMovingTargetPosPlayer(this.getPlayerId(),this.id)}getSyncRotation(){return this.isGlobal()?C.__inject__.getSyncRotation(this.id):C.__inject__.getSyncRotationPlayer(this.getPlayerId(),this.id)}getAttachedOffset(){return this.isGlobal()?C.__inject__.getAttachedOffset(this.id):C.__inject__.getAttachedOffsetPlayer(this.getPlayerId(),this.id)}getTarget(){return this.isGlobal()?C.__inject__.getTarget(this.id):C.__inject__.getTargetPlayer(this.getPlayerId(),this.id)}static isValid(t,i){return i===l.PLAYER_ID?!1:typeof i>"u"?C.__inject__.isValid(t):C.__inject__.isValidPlayer(i,t)}static getInstance(t,i){if(!i)return Te.get(t);if(i.id!==l.PLAYER_ID)return K.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...K.get(t)?.values()||[]]:[...Te.values()]}static getPlayersInstances(){return Array.from(K.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:tp,createPlayer:Zp,destroy:mp,destroyPlayer:iI,setMaterialText:wi,setMaterialTextPlayer:Ri,setNoCameraCollision:hp,setNoCameraCollisionPlayer:eI,isNoCameraCol:gp,isNoCameraColPlayer:Up,getDrawDistance:XP,getDrawDistancePlayer:jp,setMoveSpeed:YP,setMoveSpeedPlayer:Fp,getMoveSpeed:ZP,getMoveSpeedPlayer:Mp,getMovingTargetPos:zP,getMovingTargetPosPlayer:kp,getSyncRotation:QP,getSyncRotationPlayer:xp,getAttachedOffset:$P,getAttachedOffsetPlayer:Bp,getTarget:JP,getTargetPlayer:Vp,isValid:up,isValidPlayer:tI,getModel:dp,getModelPlayer:qp,getPos:op,getPosPlayer:Jp,getRot:cp,getRotPlayer:Qp,setPos:lp,setPosPlayer:zp,setRot:_p,setRotPlayer:$p,move:fp,movePlayer:aI,setMaterial:yp,setMaterialPlayer:lI,stop:Pp,stopPlayer:rI,isMoving:pp,isMovingPlayer:nI,attachCamera:pc,attachCameraPlayer:Ic,attachToObject:rp,attachToPlayer:np,attachToVehicle:ip,attachPlayerToObject:ap,attachPlayerToPlayer:sI,attachPlayerToVehicle:Yp,beginEditing:Ip,beginEditingPlayer:Xp,endEditing:Di,getMaterial:ep,getMaterialPlayer:Wp,isMaterialSlotUsed:qP,isMaterialSlotUsedPlayer:Hp,getMaterialText:QI,getMaterialTextPlayer:qI}}const[Mi]=m({name:"OnClientCheckResponse",identifier:"iiii",beforeEach(e,t,i,a){return{player:c.getInstance(e),actionId:t,memAddr:i,data:a}}}),[OC,GC]=m({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,i){return{player:e,newLocale:t,oldLocale:i}}}),[jC,FC]=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>=W.MAX_PLAYERS)throw new Error(`Invalid player ID: ${t} (valid range: 0-${W.MAX_PLAYERS-1})`);const i=c.getInstance(t);if(i)return i;ce.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,FC(this,t,i)}get locale(){return this._locale}set locale(t){const i=this._locale;this._locale=t,GC(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=st.NORMAL){return c.__inject__.spectatePlayer(this.id,t.id,i)}spectateVehicle(t,i=st.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){return 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()===qe.SPECTATING}isWasted(){return this.getState()===qe.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){return c.__inject__.setWeather(this.id,t)}getWeather(){return c.__inject__.getWeather(this.id)}setTime(t,i){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 Ct(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=Qe.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 Ie.get(t)}getCameraTargetActor(){const t=c.__inject__.getCameraTargetActor(this.id);return He.get(t)}getCameraTargetObject(){const t=c.__inject__.getCameraTargetObject(this.id);return Te.get(t)}getCameraTargetPlayerObject(){const t=c.__inject__.getCameraTargetPlayerObject(this.id);return K.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,_=Qe.CUT){return c.__inject__.interpolateCameraPos(this.id,t,i,a,r,n,s,o,_)}interpolateCameraLookAt(t,i,a,r,n,s,o,_=Qe.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(!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(){return H.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,ft.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,u,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,u,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 u=null;const I=Mi(({player:S,actionId:y,memAddr:L,data:M,next:Q})=>(S!==this||(u&&(clearTimeout(u),u=null),s({actionId:y,memAddr:L,data:M})),Q()));u=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 C.getInstance(t)}getSurfingPlayerObject(){const t=c.__inject__.getSurfingPlayerObjectID(this.id);if(t!==l.OBJECT_ID)return C.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,u=1,I=1,S=0,y=0){return this.isAttachedObjectSlotUsed(t)?0:c.__inject__.setAttachedObject(this.id,t,i,a,r,n,s,o,_,d,h,u,I,S,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 ae.simulate(this,t)}hasClockEnabled(){return c.__inject__.hasClockEnabled(this.id)}static getInstance(t){return ce.get(t)}static getInstances(){return[...ce.values()]}static __inject__={sendClientMessage:bi,sendClientMessageToAll:MI,sendMessageToPlayer:Li,sendMessageToAll:VI,banEx:HI,getName:BI,setName:xI,setChatBubble:$I,isNpc:Co,getDrunkLevel:Wo,setDrunkLevel:Uo,allowTeleport:ho,isTeleportAllowed:go,enableCameraTarget:dc,enableStuntBonus:x_,getInterior:Lo,setInterior:bo,showNameTag:ic,setColor:Ko,getColor:Xo,setMapIcon:ac,removeMapIcon:rc,setMarker:ec,getMarker:tc,resetMoney:e_,getMoney:t_,giveMoney:qo,resetWeapons:Jo,spawn:Pl,setHealth:wo,getHealth:Ro,toggleClock:o_,toggleControllable:w_,toggleSpectating:X_,spectatePlayer:Z_,spectateVehicle:Y_,forceClassSelection:c_,kick:Ll,ban:wl,isAdmin:vl,isInRangeOfPoint:Do,isStreamedIn:vo,setSkin:Zo,getSkin:Yo,isInAnyVehicle:$_,getSpecialAction:F_,setSpecialAction:M_,setScore:xo,getScore:Ho,getPing:a_,setPos:yo,getPos:Eo,getState:i_,getVersion:Hl,setVirtualWorld:k_,getVirtualWorld:B_,removeFromVehicle:L_,setWantedLevel:d_,getWantedLevel:h_,setFacingAngle:Ao,getFacingAngle:No,setWeather:__,getWeather:Xl,setTime:s_,getTime:l_,removeBuilding:N_,setTeam:ko,getTeam:Bo,setSkillLevel:y_,setVelocity:m_,getVelocity:f_,getKeys:n_,getIp:xl,getFightingStyle:u_,setFightingStyle:g_,setArmour:Oo,getArmour:Go,setCameraBehind:lc,setCameraPos:nc,setCameraLookAt:sc,getCameraAspectRatio:fc,getCameraFrontVector:_c,getCameraMode:cc,getCameraPos:oc,getCameraTargetPlayer:uc,getCameraTargetVehicle:gc,getCameraTargetActor:mc,getCameraTargetObject:hc,getCameraTargetPlayerObject:Kp,getCameraZoom:Pc,playAudioStream:p_,stopAudioStream:I_,playSound:R_,getMaxPlayers:ks,playCrimeReport:P_,interpolateCameraPos:Cc,interpolateCameraLookAt:yc,createExplosion:W_,isConnected:z_,disableRemoteVehicleCollisions:V_,getVehicleID:v_,getVehicleSeat:b_,getSurfingVehicleID:S_,applyAnimation:O_,clearAnimations:G_,getAnimationIndex:j_,setShopName:C_,setPosFindZ:So,setWorldBounds:Q_,clearWorldBounds:q_,getDistanceFromPoint:To,getCustomSkin:H_,getTargetPlayer:Vo,getLastShotVectors:D_,getWeapon:r_,getWeaponData:Qo,getWeaponState:Mo,giveWeapon:zo,setAmmo:jo,getAmmo:Fo,setArmedWeapon:$o,sendDeathMessage:Vs,sendDeathMessageToPlayer:po,setSpawnInfo:fl,redirectDownload:Dp,sendClientCheck:Ml,selectTextDraw:rP,cancelSelectTextDraw:nP,beginObjectSelecting:Cp,endObjectEditing:Di,getSurfingObjectID:E_,getSurfingPlayerObjectID:A_,isAttachedObjectSlotUsed:Op,editAttachedObject:sp,setAttachedObject:wp,removeAttachedObject:Rp,toggleWidescreen:Wl,isWidescreenToggled:Ul,getSpawnInfo:pl,getSkillLevel:Kl,isCheckpointActive:yi,getCheckpoint:Si,isRaceCheckpointActive:Ei,getRaceCheckpoint:Ai,getWorldBounds:Zl,isInModShop:Vu,getSirenState:ku,getLandingGearState:Bu,getHydraReactorAngle:xu,getTrainSpeed:Hu,getZAim:Yl,getSurfingOffsets:zl,getRotationQuat:Jl,getDialogID:$l,getSpectateID:Ql,getSpectateType:ql,getRawIp:Bl,setGravity:eo,getGravity:to,setAdmin:bl,isSpawned:io,isControllable:ao,isCameraTargetEnabled:ro,toggleGhostMode:no,getGhostMode:so,getBuildingsRemoved:lo,getAttachedObject:Lp,removeWeapon:oo,isUsingOfficialClient:co,allowWeapons:uo,areWeaponsAllowed:mo,gpci:Fl,isCuffed:Sc,isInDriveByMode:Ec,isUsingOmp:Ac,hasClockEnabled:Nc}}const[Vi]=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}}});Vi(({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:gt.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]: Cannot 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:kI,hide:_o}}const[ki]=m({name:"OnPlayerConnect",identifier:"i",beforeEach(e){const t=new c(e);return ce.set(e,t),U.close(t),{player:t}}}),[Bi]=m({name:"OnPlayerDisconnect",identifier:"ii",beforeEach(e,t){return{player:ce.get(e),reason:t}},afterEach({player:e}){ce.delete(e.id)}}),[xi]=m({name:"OnPlayerUpdate",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[MC]=m({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const i=c.getInstance(e);return{player:i,text:E.decodeFromBuf(t,i.charset),buffer:t}}}),[VC]=m({name:"OnPlayerEnterExitModShop",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),enterExit:t,interior:i}}}),[kC]=m({name:"OnPlayerClickMap",identifier:"ifff",defaultValue:!1,beforeEach(e,t,i,a){return{player:c.getInstance(e),fX:t,fY:i,fZ:a}}}),[BC]=m({name:"OnPlayerClickPlayer",identifier:"iii",defaultValue:!1,beforeEach(e,t,i){return{player:c.getInstance(e),clickedPlayer:c.getInstance(t),source:i}}}),[xC]=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}}}),[HC]=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}}}),[WC]=m({name:"OnPlayerKeyStateChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newKeys:t,oldKeys:i}}}),[UC]=m({name:"OnPlayerRequestClass",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),classId:t}}}),[KC]=m({name:"OnPlayerRequestSpawn",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[XC]=m({name:"OnPlayerSpawn",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[ZC]=m({name:"OnPlayerStateChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newState:t,oldState:i}}}),[YC]=m({name:"OnPlayerStreamIn",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),forPlayer:c.getInstance(t)}}}),[zC]=m({name:"OnPlayerStreamOut",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),forPlayer:c.getInstance(t)}}}),[JC]=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}}}),[$C]=m({name:"OnPlayerInteriorChange",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),newInteriorId:t,oldInteriorId:i}}}),[QC]=m({name:"OnPlayerRequestDownload",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),type:t,crc:i}}}),[qC]=m({name:"OnPlayerFinishedDownloading",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),virtualWorld:t}}}),[ey]=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 rt=null;const te=new Map,Xe=new Map;function Hi(e){if(!e.isConnected()){te.has(e)&&(clearInterval(te.get(e)),te.delete(e),Xe.delete(e));return}let t=Xe.get(e)||1;if(t>=c.MAX_CHECK_ANDROID_DELAY){clearInterval(te.get(e)),te.delete(e),Xe.delete(e),Nt(e,!0);return}e.sendClientCheck(72,0,0,2).then(({actionId:i})=>{i===72&&(e[B].isAndroid=!1,te.has(e)&&(clearInterval(te.get(e)),te.delete(e),Xe.delete(e)),Nt(e,!1))}).catch(()=>{}),t++,Xe.set(e,t)}const[ty,iy]=m({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[ay,ry]=m({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,i,a){return{player:e,pausedAt:t,now:i,diff:a}}}),[ny,sy]=m({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,i){return{player:e,newFps:t,oldFps:i}}}),[ly,Nt]=m({name:"OnAndroidCheck",isNative:!1,beforeEach(e,t){return{player:e,result:t}}});ki(({player:e,next:t})=>{if(!rt&&c.getInstances().length&&(rt=setInterval(()=>{c.getInstances().filter(a=>{const r=a.getState()!==qe.NONE;return!a.isPaused&&!a.isNpc()&&r}).forEach(a=>{Date.now()-a.lastUpdateTick>1e3&&(a[B].isPaused=!0,iy(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();Hi(e);const i=setInterval(()=>Hi(e),1e3);return te.set(e,i),t()}),Bi(({player:e,next:t})=>(rt&&c.getInstances().length<=1&&(clearInterval(rt),rt=null),te.has(e)&&(clearInterval(te.get(e)),te.delete(e),Xe.delete(e)),t()));function oy(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,sy(e,r,a)}}xi(({player:e,next:t})=>{if(!e.isNpc()){const i=Date.now();e.isPaused&&(e[B].isPaused=!1,ry(e,e.lastUpdateTick,i,i-e.lastUpdateTick)),e[B].lastUpdateTick=i,oy(e)}return t()});const Ze=Object.freeze({onConnect:ki,onDisconnect:Bi,onPause:ty,onResume:ay,onUpdate:xi,onText:MC,onEnterExitModShop:VC,onClickMap:kC,onClickPlayer:BC,onDeath:xC,onGiveDamage:HC,onKeyStateChange:WC,onRequestClass:UC,onRequestSpawn:KC,onSpawn:XC,onStateChange:ZC,onStreamIn:YC,onStreamOut:zC,onTakeDamage:JC,onInteriorChange:$C,onRequestDownload:QC,onFinishedDownloading:qC,onCheckResponse:Mi,onCommandReceived:SC,onCommandPerformed:AC,onCommandError:DC,onCommandText:ae.on,offCommandText:ae.off,onDialogResponse:Vi,onLocaleChange:OC,onCharsetChange:jC,onFpsUpdate:ny,onWeaponShot:ey,onAndroidCheck:ly,onCommandTextRaw:bC});H.onExit(({next:e})=>(p.getInstances().forEach(t=>t.destroy()),Ie.clear(),e()));const[_y]=m({name:"OnVehicleDamageStatusUpdate",identifier:"ii",defaultValue:!1,beforeEach(e,t){return{vehicle:p.getInstance(e),player:c.getInstance(t)}}}),[cy]=m({name:"OnVehicleDeath",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),killer:c.getInstance(t)}}}),[dy]=m({name:"OnVehicleMod",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),componentId:i}}}),[hy]=m({name:"OnVehiclePaintjob",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),paintjobId:i}}}),[gy]=m({name:"OnVehicleRespray",identifier:"iiii",beforeEach(e,t,i,a){return{player:c.getInstance(e),vehicle:p.getInstance(t),color:[i,a]}}}),[uy]=m({name:"OnVehicleSirenStateChange",identifier:"iii",defaultValue:!1,beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),state:!!i}}}),[my]=m({name:"OnVehicleSpawn",identifier:"i",beforeEach(e){return{vehicle:p.getInstance(e)}}}),[fy]=m({name:"OnVehicleStreamIn",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),forPlayer:c.getInstance(t)}}}),[Py]=m({name:"OnVehicleStreamOut",identifier:"ii",beforeEach(e,t){return{vehicle:p.getInstance(e),forPlayer:c.getInstance(t)}}}),[py]=m({name:"OnPlayerEnterVehicle",identifier:"iii",beforeEach(e,t,i){return{player:c.getInstance(e),vehicle:p.getInstance(t),isPassenger:!!i}}}),[Iy]=m({name:"OnPlayerExitVehicle",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),vehicle:p.getInstance(t)}}}),[Cy]=m({name:"OnTrailerUpdate",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),vehicle:p.getInstance(t)}}}),[yy]=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:_y,onDeath:cy,onMod:dy,onPaintjob:hy,onRespray:gy,onSirenStateChange:uy,onSpawn:my,onStreamIn:fy,onStreamOut:Py,onPlayerEnter:py,onPlayerExit:Iy,onTrailerUpdate:Cy,onUnoccupiedUpdate:yy}),[we]=m({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,i){return{type:e,id:t,forPlayer:c.getInstance(i)}}}),[Re]=m({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,i){return{type:e,id:t,forPlayer:c.getInstance(i)}}}),[Ey]=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=Cn;static setTickRate=yn;static getPlayerTickRate(t){return Sn(t.id)}static setPlayerTickRate(t,i=50){return En(t.id,i)}static toggleChunkStream=An;static isToggleChunkStream=Nn;static getChunkTickRate(t,i=-1){return i instanceof c?oi(t,i.id):oi(t,i)}static setChunkTickRate(t,i,a=-1){return a instanceof c?_i(t,i,a.id):_i(t,i,a)}static getChunkSize=Dn;static setChunkSize=Tn;static getMaxItems=vn;static setMaxItems=bn;static getVisibleItems(t,i=-1){return i instanceof c?ci(t,i.id):ci(t,i)}static setVisibleItems(t,i,a=-1){return a instanceof c?di(t,i,a.id):di(t,i,a)}static getRadiusMultiplier(t,i=-1){return i instanceof c?hi(t,i.id):hi(t,i)}static setRadiusMultiplier(t,i,a=-1){return a instanceof c?gi(t,i,a.id):gi(t,i,a)}static getTypePriority=Ln;static setTypePriority=wn;static getCellDistance=Rn;static setCellDistance=On;static getCellSize=Gn;static setCellSize=jn;static toggleItemStatic=Fn;static isToggleItemStatic=Mn;static toggleItemInvAreas=Vn;static isToggleItemInvAreas=kn;static toggleItemCallbacks=Bn;static isToggleItemCallbacks=xn;static toggleErrorCallback=Hn;static isToggleErrorCallback=Wn;static amxUnloadDestroyItems=Un;static processActiveItems=Kn;static toggleIdleUpdate(t,i){return Xn(t.id,i)}static isToggleIdleUpdate(t){return Zn(t.id)}static toggleCameraUpdate(t,i){return Yn(t.id,i)}static isToggleCameraUpdate(t){return zn(t.id)}static toggleItemUpdate(t,i,a){return Jn(t.id,i,a)}static isToggleItemUpdate(t,i){return $n(t.id,i)}static getLastUpdateTime(){return Qn()}static update(t,i=-1){return qn(t.id,i)}static updateEx(t,i,a,r,n,s,o,_,d){return es(t.id,i,a,r,n,s,o,_,d)}static getDistanceToItem=Ar;static toggleItem(t,i,a,r){return Nr(t.id,i,a,r)}static isToggleItem(t,i,a){return Dr(t.id,i,a)}static toggleAllItems(t,i,a,r=[-1]){return Tr(t.id,i,a,r)}static getItemInternalID(t,i,a){return vr(t.id,i,a)}static getItemStreamerID(t,i,a){return br(t.id,i,a)}static isItemVisible(t,i,a){return Lr(t.id,i,a)}static destroyAllVisibleItems(t,i,a=1){return wr(t.id,i,a)}static countVisibleItems(t,i,a=1){return Rr(t.id,i,a)}static destroyAllItems=Or;static countItems=Gr;static getNearbyItems=jr;static getAllVisibleItems(t,i,a){return Fr(t.id,i,a)}static getItemPos=Mr;static setItemPos=Vr;static getItemOffset=kr;static setItemOffset=Br;static getFloatData=qa;static setFloatData=er;static getIntData=tr;static setIntData=ir;static getArrayData=ar;static setArrayData=rr;static isInArrayData=nr;static appendArrayData=sr;static removeArrayData=lr;static getArrayDataLength=li;static getUpperBound=or;static onPluginError=Ey}class O{sourceInfo=null;_id=P.INVALID_ID;get id(){return this._id}constructor(t){if(typeof t=="number"){const i=O.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("[StreamerObject]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerObject]: Cannot 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:u,rx:I,ry:S,rz:y,extended:L}=this.sourceInfo;return t??=k.OBJECT_SD,i??=k.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=O.__inject__.createEx(_,d,h,u,I,S,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=O.__inject__.create(_,d,h,u,I,S,y,a,r,n,t,i,s,o)),Se.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerObject]: Cannot destroy object before create");return D.skip||O.__inject__.destroy(this.id),Se.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:O.isValid(this.id)}getModel(){return this.sourceInfo?this.sourceInfo.modelId:A.getIntData(T.OBJECT,this._id,_e.MODEL_ID)}getPos(){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot get position before create");return O.__inject__.getPos(this.id)}setPos(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot set position before create");return O.__inject__.setPos(this.id,t,i,a)}getRot(){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot get rotation before create");return O.__inject__.getRot(this.id)}setRot(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot set rotation before create");return O.__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(),O.__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 O.__inject__.stop(this.id)}isMoving(){return this.id===P.INVALID_ID?!1:O.__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 O.__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 O.__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 O.__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 O.__inject__.attachToVehicle(this.id,t.id,i,a,r,n,s,o)}edit(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot edit before create");return t.endObjectEditing(),O.__inject__.edit(t.id,this.id)}isMaterialUsed(t){return this.id===P.INVALID_ID?!1:O.__inject__.isMaterialUsed(this.id,t)}removeMaterial(t){return this.id===P.INVALID_ID||!this.isMaterialUsed(t)?0:O.__inject__.removeMaterial(this.id,t)}getMaterial(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot get material before create");return O.__inject__.getMaterial(this.id,t)}setMaterial(t,i,a,r,n="#000"){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot set material before create");return O.__inject__.setMaterial(this.id,t,i,a,r,N(n))}isMaterialTextUsed(t){return this.id===P.INVALID_ID?!1:O.__inject__.isMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.id===P.INVALID_ID||!this.isMaterialTextUsed(t)?0:O.__inject__.removeMaterialText(this.id,t)}getMaterialText(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot get material text before create");return O.__inject__.getMaterialText(this.id,t,this.sourceInfo?.charset||"utf8")}setMaterialText(t=this.sourceInfo?.charset,i,a,r=ot.SIZE_256x128,n="Arial",s=24,o=1,_="#fff",d="#000",h=0){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot set material text before create");return this.sourceInfo&&(this.sourceInfo.charset=t),O.__inject__.setMaterialText(t||"utf8",this.id,i,a,r,n,s,o,N(_),N(d),h)}getPlayerCameraTarget(t){const i=O.__inject__.getPlayerCameraTarget(t.id);if(i!==P.INVALID_ID)return Se.get(i)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerObject]: Cannot 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 O.__inject__.setNoCameraCol(this.id)}getNoCameraCollision(){return O.__inject__.getNoCameraCol(this.id)}static isValid=Wr;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 Se.get(t)}static getInstances(){return[...Se.values()]}static __inject__={createEx:hr,create:xr,destroy:Hr,getPos:Ur,setPos:Kr,getRot:Xr,setRot:Zr,move:Yr,stop:zr,isMoving:Jr,attachCamera:$r,attachToObject:Qr,attachToPlayer:qr,attachToVehicle:en,edit:tn,isMaterialUsed:an,removeMaterial:rn,getMaterial:zI,setMaterial:nn,isMaterialTextUsed:sn,removeMaterialText:ln,getMaterialText:JI,setMaterialText:YI,getPlayerCameraTarget:on,setNoCameraCol:_n,getNoCameraCol:cn}}H.onExit(({next:e})=>(O.getInstances().forEach(t=>t.destroy()),Se.clear(),e()));const[Ay,Ny]=m({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Dy,Ty]=m({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});we(({type:e,id:t,forPlayer:i,next:a})=>e===T.OBJECT?Ny(i,O.getInstance(t)):a()),Re(({type:e,id:t,forPlayer:i,next:a})=>e===T.OBJECT?Ty(i,O.getInstance(t)):a());const[vy]=m({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:O.getInstance(e)}}}),[by]=m({name:"OnPlayerEditDynamicObject",identifier:"iiiffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_){return{player:c.getInstance(e),object:O.getInstance(t),response:i,x:a,y:r,z:n,rX:s,rY:o,rZ:_}}}),[Ly]=m({name:"OnPlayerSelectDynamicObject",identifier:"iiifff",beforeEach(e,t,i,a,r,n){return{player:c.getInstance(e),object:O.getInstance(t),modelId:i,x:a,y:r,z:n}}}),[wy]=m({name:"OnPlayerShootDynamicObject",identifier:"iiifff",beforeEach(e,t,i,a,r,n){return{player:c.getInstance(e),object:O.getInstance(i),weapon:t,x:a,y:r,z:n}}}),Ry=Object.freeze({onMoved:vy,onPlayerEdit:by,onPlayerSelect:Ly,onPlayerShoot:wy,onStreamIn:Ay,onStreamOut:Dy});class le{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=le.getInstance(t);if(i)return i;this._id=t,Ne.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerMapIcon]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerMapIcon]: Cannot 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:u,color:I,extended:S}=this.sourceInfo;if(u<0||u>63)throw new Error("[StreamerMapIcon]: Invalid map icon type");return t??=ct.LOCAL,i??=k.MAP_ICON_SD,o??=0,S?(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=le.__inject__.createEx(_,d,h,u,N(I),t,i,a,r,n,s,o),Ne.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=le.__inject__.create(_,d,h,u,N(I),a,r,n,i,t,s,o),Ne.set(this._id,this),this)}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerMapIcon]: Cannot destroy the map icon before create");return D.skip||le.__inject__.destroy(this.id),Ne.delete(this._id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:le.isValid(this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerMapIcon]: Cannot 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=dr;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 Ne.get(t)}static getInstances(){return[...Ne.values()]}static __inject__={createEx:fr,create:_r,destroy:cr}}H.onExit(({next:e})=>(le.getInstances().forEach(t=>t.destroy()),Ne.clear(),e()));const[Oy,Gy]=m({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[jy,Fy]=m({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});we(({type:e,id:t,forPlayer:i,next:a})=>e===T.MAP_ICON?Gy(i,le.getInstance(t)):a()),Re(({type:e,id:t,forPlayer:i,next:a})=>e===T.MAP_ICON?Fy(i,le.getInstance(t)):a());const My=Object.freeze({onStreamIn:Oy,onStreamOut:jy});class re{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=re.getInstance(t);if(i)return i;this._id=t,xe.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerPickup]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerPickup]: Cannot 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:u,extended:I}=this.sourceInfo;if(o<0)throw new Error("[StreamerPickup]: Invalid pickup type");return t??=k.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=re.__inject__.createEx(_,o,d,h,u,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=re.__inject__.create(_,o,d,h,u,i,a,r,t,n,s)),xe.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerPickup]: Cannot destroy pickup before create");return D.skip||re.__inject__.destroy(this.id),xe.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:re.isValid(this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerPickup]: Cannot 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=gn;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 xe.get(t)}static getInstances(){return[...xe.values()]}static __inject__={create:dn,createEx:gr,destroy:hn}}H.onExit(({next:e})=>(re.getInstances().forEach(t=>t.destroy()),xe.clear(),e()));const[Vy,ky]=m({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[By,xy]=m({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});we(({type:e,id:t,next:i})=>e===T.PICKUP?ky(l.PLAYER_ID,re.getInstance(t)):i()),Re(({type:e,id:t,next:i})=>e===T.PICKUP?xy(l.PLAYER_ID,re.getInstance(t)):i());const[Hy]=m({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:re.getInstance(t)}}}),Wy=Object.freeze({onPlayerPickUp:Hy,onStreamIn:Vy,onStreamOut:By});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("[StreamerCheckpoint]: Invalid id");const i=X.getInstance(t);if(i)return i;this._id=t,Ae.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerCheckpoint]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerCheckpoint]: Cannot 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:u}=this.sourceInfo;if(o<0)throw new Error("[StreamerCheckpoint]: Invalid checkpoint size");return t??=k.CP_SD,s??=0,u?(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(_,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=X.__inject__.create(_,d,h,o,i,a,r,t,n,s)),Ae.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerCheckpoint]: Cannot destroy the checkpoint before create");return D.skip||X.__inject__.destroy(this.id),Ae.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("[StreamerCheckpoint]: Cannot toggle the player before create");return X.__inject__.togglePlayer(t.id,this.id,i),this}isPlayerIn(t){return this.id===P.INVALID_ID?!1:X.__inject__.isPlayerIn(t.id,this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerCheckpoint]: Cannot 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=Pt;static togglePlayerAll(t,i){return X.__inject__.togglePlayerAll(t.id,i)}static getPlayerVisible(t){return Ae.get(X.__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 Ae.get(t)}static getInstances(){return[...Ae.values()]}static __inject__={create:Za,createEx:ur,destroy:Ya,getPlayerVisible:Qa,isPlayerIn:$a,togglePlayerAll:Ja,togglePlayer:za}}H.onExit(({next:e})=>(X.getInstances().forEach(t=>t.destroy()),Ae.clear(),e()));const[Uy,Ky]=m({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Xy,Zy]=m({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});we(({type:e,id:t,forPlayer:i,next:a})=>e===T.CP?Ky(i,X.getInstance(t)):a()),Re(({type:e,id:t,forPlayer:i,next:a})=>e===T.CP?Zy(i,X.getInstance(t)):a());const[Yy]=m({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),cp:X.getInstance(t)}}}),[zy]=m({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),cp:X.getInstance(t)}}}),Jy=Object.freeze({onPlayerEnter:Yy,onPlayerLeave:zy,onStreamIn:Uy,onStreamOut:Xy});class Z{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=Z.getInstance(t);if(i)return i;this._id=t,De.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerRaceCP]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerRaceCP]: Cannot 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:u,nextX:I,nextY:S,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??=k.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=Z.__inject__.createEx(o,d,h,u,I,S,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=Z.__inject__.create(o,d,h,u,I,S,y,_,i,a,r,t,n,s)),De.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerRaceCP]: Cannot destroy the checkpoint before create");return D.skip||Z.__inject__.destroy(this.id),De.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:Z.isValid(this.id)}togglePlayer(t,i){if(this.id===P.INVALID_ID)throw new Error("[StreamerRaceCP]: Cannot toggle player before create");return Z.__inject__.togglePlayer(t.id,this.id,i),this}static togglePlayerAll(t,i){return Z.__inject__.togglePlayerAll(t.id,i)}isPlayerIn(t){return this.id===P.INVALID_ID?!1:Z.__inject__.isPlayerIn(t.id,this.id)}static getPlayerVisible(t){return De.get(Z.__inject__.getPlayerVisible(t.id))}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerRaceCP]: Cannot 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=Pt;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 De.get(t)}static getInstances(){return[...De.values()]}static __inject__={create:un,createEx:mr,destroy:mn,getPlayerVisible:In,isPlayerIn:pn,isValid:Pt,togglePlayerAll:Pn,togglePlayer:fn}}H.onExit(({next:e})=>(Z.getInstances().forEach(t=>t.destroy()),De.clear(),e()));const[$y,Qy]=m({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[qy,eS]=m({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});we(({type:e,id:t,forPlayer:i,next:a})=>e===T.RACE_CP?Qy(i,Z.getInstance(t)):a()),Re(({type:e,id:t,forPlayer:i,next:a})=>e===T.RACE_CP?eS(i,Z.getInstance(t)):a());const[tS]=m({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),raceCP:Z.getInstance(t)}}}),[iS]=m({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),raceCp:Z.getInstance(t)}}}),aS=Object.freeze({onPlayerEnter:tS,onPlayerLeave:iS,onStreamIn:$y,onStreamOut:qy});class F{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=F.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("[StreamerActor]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerActor]: Cannot 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:u,invulnerable:I,health:S,extended:y}=this.sourceInfo;return t??=k.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=F.__inject__.createEx(o,_,d,h,u,I,S,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=F.__inject__.create(o,_,d,h,u,I,S,i,a,r,t,n,s)),me.set(this.id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerActor]: Cannot destroy to actor before create");return D.skip||F.__inject__.destroy(this.id),me.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:F.isValid(this.id)}isStreamedIn(t){return this.id===P.INVALID_ID?!1:F.__inject__.isStreamedIn(this.id,t.id)}getVirtualWorld(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Cannot get virtual world before create");return F.__inject__.getVirtualWorld(this.id)}setVirtualWorld(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Cannot set virtual world before create");return F.__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]: Cannot apply animation before create");if(!St(t,i))throw new Error(`[StreamerActor]: Invalid anim library or name ${t} ${i}`);return F.__inject__.applyAnimation(this.id,t,i,a,r,n,s,o,_)}clearAnimations(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Cannot clear animation before create");return F.__inject__.clearAnimations(this.id)}getFacingAngle(){return F.__inject__.getFacingAngle(this.id)}setFacingAngle(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Cannot set facing angle before create");return F.__inject__.setFacingAngle(this.id,t)}getPos(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Cannot get pos before create");return F.__inject__.getPos(this.id)}setPos(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Cannot set pos before create");return F.__inject__.setPos(this.id,t,i,a)}getHealth(){return F.__inject__.getHealth(this.id)}setHealth(t){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Cannot set health before create");return F.__inject__.setHealth(this.id,t)}isInvulnerable(){return this.id===P.INVALID_ID?!1:F.__inject__.isInvulnerable(this.id)}setInvulnerable(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Cannot set invulnerable before create");return F.__inject__.setInvulnerable(this.id,t)}getPlayerTarget(t){const i=F.__inject__.getPlayerTarget(t.id);return me.get(i)}getPlayerCameraTarget(t){const i=F.__inject__.getPlayerCameraTarget(t.id);return me.get(i)}getAnimation(){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Cannot get animation before create");return F.__inject__.getAnimation(this.id)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[StreamerActor]: Cannot 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=ra;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 me.get(t)}static getInstances(){return[...me.values()]}static __inject__={createEx:Er,create:ia,destroy:aa,getPlayerTarget:pa,getPlayerCameraTarget:Ia,isStreamedIn:na,getVirtualWorld:sa,setVirtualWorld:la,applyAnimation:oa,clearAnimations:_a,getFacingAngle:ca,setFacingAngle:da,getPos:ha,setPos:ga,getHealth:ua,setHealth:ma,isInvulnerable:Pa,setInvulnerable:fa,getAnimation:Ca}}H.onExit(({next:e})=>(F.getInstances().forEach(t=>t.destroy()),me.clear(),e()));const[rS]=m({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:F.getInstance(e),forPlayer:c.getInstance(t)}}}),[nS]=m({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:F.getInstance(e),forPlayer:c.getInstance(t)}}}),[sS]=m({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",defaultValue:!1,beforeEach(e,t,i,a,r){return{player:c.getInstance(e),actor:F.getInstance(t),amount:i,weapon:a,bodyPart:r}}}),lS=Object.freeze({onStreamIn:rS,onStreamOut:nS,onPlayerGiveDamage:sS});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("[Streamer3DTextLabel]: Invalid id");const i=ie.getInstance(t);if(i)return i;this._id=t,Be.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot create again");if(!this.sourceInfo)throw new Error("[Streamer3DTextLabel]: Cannot 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:u,color:I,drawDistance:S,x:y,y:L,z:M,extended:Q}=this.sourceInfo;return t??=l.PLAYER_ID,i??=l.VEHICLE_ID,r??=k.TEXT_3D_LABEL_SD,a??=!1,d??=0,Q?(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=ie.__inject__.createEx(u,N(I),y,L,M,S,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=ie.__inject__.create(h||"utf8",u,N(I),y,L,M,S,t,i,a,n,s,o,r,_,d)),Be.set(this.id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[Streamer3DTextLabel]: Cannot destroy before create");return D.skip||ie.__inject__.destroy(this.id),Be.delete(this.id),this._id=P.INVALID_ID,this}isValid(){return D.skip&&this.id!==P.INVALID_ID?!0:ie.isValid(this.id)}getColor(){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot get color before create");return this.sourceInfo?this.sourceInfo.color:A.getIntData(T.TEXT_3D_LABEL,this._id,_e.COLOR)}getCharset(){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot get charset before create");return this.sourceInfo?.charset}getText(){return ie.__inject__.getText(this.id,this.sourceInfo?.charset||"utf8")}updateText(t,i,a){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot update text before create");let r="";return this.sourceInfo&&(r=a||this.sourceInfo.charset||"utf8",this.sourceInfo.charset=r),ie.__inject__.updateText(this.id,N(t),i,r)}toggleCallbacks(t=!0){if(this.id===P.INVALID_ID)throw new Error("[Streamer3DTextLabel]: Cannot 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,_e.ATTACH_OFFSET_X,t);return A.setFloatData(T.TEXT_3D_LABEL,this.id,_e.ATTACH_OFFSET_Y,i),A.setFloatData(T.TEXT_3D_LABEL,this.id,_e.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,_e.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,_e.ATTACHED_VEHICLE,n);return n!==l.VEHICLE_ID&&this.setOffsets(i,a,r),this.sourceInfo&&(this.sourceInfo.attachedVehicle=n),s}static isValid=ii;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 Be.get(t)}static getInstances(){return[...Be.values()]}static __inject__={create:UI,createEx:KI,getText:ZI,updateText:XI,destroy:ta,isValid:ii}}H.onExit(({next:e})=>(ie.getInstances().forEach(t=>t.destroy()),Be.clear(),e()));const[oS,_S]=m({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[cS,dS]=m({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});we(({type:e,id:t,forPlayer:i,next:a})=>e===T.TEXT_3D_LABEL?_S(i,ie.getInstance(t)):a()),Re(({type:e,id:t,forPlayer:i,next:a})=>e===T.TEXT_3D_LABEL?dS(i,ie.getInstance(t)):a());const hS=Object.freeze({onStreamIn:oS,onStreamOut:cS});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,Ee.set(this._id,this)}else this.sourceInfo=t}create(){if(this.id!==P.INVALID_ID)throw new Error("[StreamerArea]: Cannot create again");if(!this.sourceInfo)throw new Error("[StreamerArea]: Cannot 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:u,maxZ:I}=this.sourceInfo;this._id=v.__inject__.createCuboidEx(o,_,d,h,u,I,t,i,a,r)}else if(n==="cylinder"){const{x:o,y:_,minZ:d,maxZ:h,size:u}=this.sourceInfo;if(u<0)throw new Error("[StreamerArea]: Invalid cylinder extend size");this._id=v.__inject__.createCylinderEx(o,_,d,h,u,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]: Cannot 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:u,maxZ:I}=this.sourceInfo;this._id=v.__inject__.createCuboid(o,_,d,h,u,I,t,i,a,r)}else if(n==="cylinder"){const{x:o,y:_,minZ:d,maxZ:h,size:u}=this.sourceInfo;if(u<0)throw new Error("[StreamerArea]: Invalid cylinder size");this._id=v.__inject__.createCylinder(o,_,d,h,u,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]: Cannot 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 Ee.set(this._id,this),this}destroy(){if(this.id===P.INVALID_ID&&!D.skip)throw new Error("[StreamerArea]: Cannot destroy the area before create");return D.skip||v.__inject__.destroy(this.id),Ee.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]: Cannot 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]: Cannot 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=>Ee.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]: Cannot toggle attach to object before create");return v.__inject__.attachToObject(this.id,t.id,lt.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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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=va;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 Ee.get(t)}static getInstances(){return[...Ee.values()]}static __inject__={createCircleEx:Pr,createCuboidEx:yr,createCylinderEx:pr,createPolygonEx:Sr,createRectangleEx:Cr,createSphereEx:Ir,createCircle:ya,createCuboid:Na,createCylinder:Sa,createPolygon:Da,createRectangle:Aa,createSphere:Ea,destroy:Ta,getType:ba,getPolygonPoints:La,getPolygonNumberPoints:ai,isPlayerIn:wa,isPlayerInAny:Ra,isAnyPlayerIn:Oa,isAnyPlayerInAny:Ga,getPlayerAreas:ja,getPlayerAreasNumber:ri,isPointIn:Fa,isPointInAny:Ma,isLineIn:Va,isLineInAny:ka,getForPoint:Ba,getNumberForPoint:ni,getForLine:xa,getNumberForLine:si,attachToObject:Ha,attachToPlayer:Wa,attachToVehicle:Ua,toggleSpectateMode:Ka,isToggleSpectateMode:Xa}}H.onExit(({next:e})=>(v.getInstances().forEach(t=>t.destroy()),Ee.clear(),e()));const[gS,uS]=m({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[mS,fS]=m({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});we(({type:e,id:t,forPlayer:i,next:a})=>e===T.AREA?uS(i,v.getInstance(t)):a()),Re(({type:e,id:t,forPlayer:i,next:a})=>e===T.AREA?fS(i,v.getInstance(t)):a());const[PS]=m({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),area:v.getInstance(t)}}}),[pS]=m({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),area:v.getInstance(t)}}}),IS=Object.freeze({onStreamIn:gS,onStreamOut:mS,onPlayerEnter:PS,onPlayerLeave:pS});class g{_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=g.getInstance(this._id);if(i)return i;Ce.set(this._id,this)}return this}create(){if(this.id!==l.NPC_ID)throw new Error("[Npc]: Cannot create again");return this._id=g.__inject__.create(this._name),this._id!==l.NPC_ID&&(this.getPlayer()||new c(this._id),Ce.set(this._id,this)),this}destroy(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot destroy before create");return D.skip||g.__inject__.destroy(this._id),Ce.delete(this._id),this._id=l.NPC_ID,this}getPlayer(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getPlayer before create");return c.getInstance(this._id)}getName(){if(this._id===l.NPC_ID)throw new Error("[Npc]: Cannot 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:g.isValid(this._id)}spawn(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot spawn before create");return g.__inject__.spawn(this._id),this}respawn(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot respawn before create");return g.__inject__.respawn(this._id),this}setPos(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setPos before create");return g.__inject__.setPos(this._id,t,i,a),this}setRot(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setRot before create");return g.__inject__.setRot(this._id,t,i,a),this}getRot(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getRot before create");return g.__inject__.getRot(this._id)}setFacingAngle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setFacingAngle before create");return g.__inject__.setFacingAngle(this._id,t),this}getFacingAngle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getFacingAngle before create");return g.__inject__.getFacingAngle(this._id)}setVirtualWorld(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setVirtualWorld before create");return g.__inject__.setVirtualWorld(this._id,t),this}getVirtualWorld(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getVirtualWorld before create");return g.__inject__.getVirtualWorld(this._id)}move(t,i,a,r=fe.AUTO,n=Fe.AUTO){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot move before create");return g.__inject__.move(this._id,t,i,a,r,n)}moveToPlayer(t,i=fe.AUTO,a=Fe.AUTO){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot moveToPlayer before create");return g.__inject__.moveToPlayer(this._id,t.id,i,a)}stopMove(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot stopMove before create");return g.__inject__.stopMove(this._id),this}isMoving(){return this.id===l.NPC_ID?!1:g.__inject__.isMoving(this._id)}isMovingToPlayer(t){return this.id===l.NPC_ID?!1:g.__inject__.isMovingToPlayer(this._id,t.id)}setSkin(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSkin before create");return g.__inject__.setSkin(this._id,t),this}getSkin(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getSkin before create");return g.__inject__.getSkin(this._id)}isStreamedIn(t){return this.id===l.NPC_ID?!1:g.__inject__.isStreamedIn(this._id,t.id)}isAnyStreamedIn(){return this.id===l.NPC_ID?!1:g.__inject__.isAnyStreamedIn(this._id)}setInterior(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setInterior before create");return g.__inject__.setInterior(this._id,t),this}getInterior(){return this.id===l.NPC_ID?0:g.__inject__.getInterior(this._id)}setHealth(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setHealth before create");return g.__inject__.setHealth(this._id,t),this}getHealth(){return this.id===l.NPC_ID?0:g.__inject__.getHealth(this._id)}setArmour(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setArmour before create");return g.__inject__.setArmour(this._id,t),this}getArmour(){return this.id===l.NPC_ID?0:g.__inject__.getArmour(this._id)}isDead(){return this.id===l.NPC_ID?!1:g.__inject__.isDead(this._id)}applyAnimation(t,i,a,r,n,s,o,_,d){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot applyAnimation before create");return g.__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]: Cannot setWeapon before create");return g.__inject__.setWeapon(this._id,t),this}getWeapon(){return this.id===l.NPC_ID?0:g.__inject__.getWeapon(this._id)}setAmmo(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setAmmo before create");return g.__inject__.setAmmo(this._id,t),this}getAmmo(){return this.id===l.NPC_ID?0:g.__inject__.getAmmo(this._id)}setKeys(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setKeys before create");return g.__inject__.setKeys(this._id,t,i,a),this}getKeys(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getKeys before create");return g.__inject__.getKeys(this._id)}setWeaponSkillLevel(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponSkillLevel before create");return g.__inject__.setWeaponSkillLevel(this._id,t,i),this}getWeaponSkillLevel(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getWeaponSkillLevel before create");return g.__inject__.getWeaponSkillLevel(this._id,t)}meleeAttack(t=-1,i=!1){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot meleeAttack before create");return g.__inject__.meleeAttack(this._id,t,i),this}stopMeleeAttack(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot stopMeleeAttack before create");return g.__inject__.stopMeleeAttack(this._id),this}isMeleeAttacking(){return this.id===l.NPC_ID?!1:g.__inject__.isMeleeAttacking(this._id)}setFightingStyle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setFightingStyle before create");return g.__inject__.setFightingStyle(this._id,t),this}getFightingStyle(){return this.id===l.NPC_ID?ut.NORMAL:g.__inject__.getFightingStyle(this._id)}enableReloading(t=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot enableReloading before create");return g.__inject__.enableReloading(this._id,t),this}isReloadEnabled(){return this.id===l.NPC_ID?!1:g.__inject__.isReloadEnabled(this._id)}isReloading(){return this.id===l.NPC_ID?!1:g.__inject__.isReloading(this._id)}enableInfiniteAmmo(t=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot enableInfiniteAmmo before create");return g.__inject__.enableInfiniteAmmo(this._id,t),this}isInfiniteAmmoEnabled(){return this.id===l.NPC_ID?!1:g.__inject__.isInfiniteAmmoEnabled(this._id)}setWeaponState(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponState before create");return g.__inject__.setWeaponState(this._id,t)}getWeaponState(){return this.id===l.NPC_ID?mt.UNKNOWN:g.__inject__.getWeaponState(this._id)}setAmmoInClip(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setAmmoInClip before create");return g.__inject__.setAmmoInClip(this._id,t),this}getAmmoInClip(){return this.id===l.NPC_ID?0:g.__inject__.getAmmoInClip(this._id)}shoot(t,i,a,r,n,s,o=0,_=0,d=0,h=!0,u=ge.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot shoot before create");return g.__inject__.shoot(this._id,t,i,a,r,n,s,o,_,d,h,u),this}isShooting(){return this.id===l.NPC_ID?!1:g.__inject__.isShooting(this._id)}aimAt(t,i,a,r=!1,n=-1,s=!0,o=0,_=0,d=0,h=ge.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot aimAt before create");return g.__inject__.aimAt(this._id,t,i,a,r,n,s,o,_,d,h),this}aimAtPlayer(t,i=!1,a=-1,r=!0,n=0,s=0,o=0,_=0,d=0,h=0,u=ge.ALL){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot aimAtPlayer before create");return g.__inject__.aimAtPlayer(this._id,t.id,i,a,r,n,s,o,_,d,h,u),this}stopAim(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot stopAim before create");return g.__inject__.stopAim(this._id),this}isAiming(){return this.id===l.NPC_ID?!1:g.__inject__.isAiming(this._id)}isAimingAtPlayer(t){return this.id===l.NPC_ID?!1:g.__inject__.isAimingAtPlayer(this._id,t.id)}setWeaponAccuracy(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponAccuracy before create");return g.__inject__.setWeaponAccuracy(this._id,t,i),this}getWeaponAccuracy(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponAccuracy(this._id,t)}setWeaponReloadTime(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponReloadTime before create");return g.__inject__.setWeaponReloadTime(this._id,t,i)}getWeaponReloadTime(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponReloadTime(this._id,t)}getWeaponActualReloadTime(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponActualReloadTime(this._id,t)}setWeaponShootTime(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponShootTime before create");return g.__inject__.setWeaponShootTime(this._id,t,i)}getWeaponShootTime(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponShootTime(this._id,t)}setWeaponClipSize(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setWeaponClipSize before create");return g.__inject__.setWeaponClipSize(this._id,t,i)}getWeaponClipSize(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponClipSize(this._id,t)}getWeaponActualClipSize(t){return this.id===l.NPC_ID?0:g.__inject__.getWeaponActualClipSize(this._id,t)}enterVehicle(t,i,a=fe.AUTO){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot enterVehicle before create");return g.__inject__.enterVehicle(this._id,t.id,i,a),this}exitVehicle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot exitVehicle before create");return g.__inject__.exitVehicle(this._id),this}putInVehicle(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot putInVehicle before create");return g.__inject__.putInVehicle(this._id,t.id,i)}removeFromVehicle(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot removeFromVehicle before create");return g.__inject__.removeFromVehicle(this._id)}getVehicle(){return p.getInstance(this.getVehicleID())}getVehicleID(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getVehicle before create");return g.__inject__.getVehicle(this._id)}getVehicleSeat(){return this.id===l.NPC_ID?0:g.__inject__.getVehicleSeat(this._id)}getEnteringVehicle(){return p.getInstance(this.getEnteringVehicleId())}getEnteringVehicleId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getEnteringVehicle before create");return g.__inject__.getEnteringVehicle(this._id)}getEnteringVehicleSeat(){return this.id===l.NPC_ID?0:g.__inject__.getEnteringVehicleSeat(this._id)}isEnteringVehicle(){return this.id===l.NPC_ID?!1:g.__inject__.isEnteringVehicle(this._id)}useVehicleSiren(t=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot useVehicleSiren before create");return g.__inject__.useVehicleSiren(this._id,t)}isVehicleSirenUsed(){return this.id===l.NPC_ID?!1:g.__inject__.isVehicleSirenUsed(this._id)}setVehicleHealth(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setVehicleHealth before create");return g.__inject__.setVehicleHealth(this._id,t)}getVehicleHealth(){return this.id===l.NPC_ID?0:g.__inject__.getVehicleHealth(this._id)}setVehicleHydraThrusters(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setVehicleHydraThrusters before create");return g.__inject__.setVehicleHydraThrusters(this._id,t)}getVehicleHydraThrusters(){return this.id===l.NPC_ID?0:g.__inject__.getVehicleHydraThrusters(this._id)}setVehicleGearState(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setVehicleGearState before create");return g.__inject__.setVehicleGearState(this._id,t)}getVehicleGearState(){return g.__inject__.getVehicleGearState(this._id)}setVehicleTrainSpeed(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setVehicleTrainSpeed before create");return g.__inject__.setVehicleTrainSpeed(this._id,t)}getVehicleTrainSpeed(){return this.id===l.NPC_ID?0:g.__inject__.getVehicleTrainSpeed(this._id)}resetAnimation(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot resetAnimation before create");return g.__inject__.resetAnimation(this._id)}setAnimation(t,i,a,r,n,s,o){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setAnimation before create");return g.__inject__.setAnimation(this._id,t,i,a,r,n,s,o)}getAnimation(){return this.id===l.NPC_ID?0:g.__inject__.getAnimation(this._id)}clearAnimations(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot clearAnimations before create");return g.__inject__.clearAnimations(this._id)}setSpecialAction(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSpecialAction before create");return g.__inject__.setSpecialAction(this._id,t)}getSpecialAction(){return g.__inject__.getSpecialAction(this._id)}startPlayback(t,i=!1,a=0,r=0,n=0,s=0,o=0,_=0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot startPlayback before create");return g.__inject__.startPlayback(this._id,t,i,a,r,n,s,o,_)}startPlaybackEx(t,i=!1,a=0,r=0,n=0,s=0,o=0,_=0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot startPlaybackEx before create");return g.__inject__.startPlaybackEx(this._id,t.id,i,a,r,n,s,o,_)}stopPlayback(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot stopPlayback before create");return g.__inject__.stopPlayback(this._id)}pausePlayback(t=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot pausePlayback before create");return g.__inject__.pausePlayback(this._id,t)}isPlayingPlayback(){return this.id===l.NPC_ID?!1:g.__inject__.isPlayingPlayback(this._id)}isPlaybackPaused(){return this.id===l.NPC_ID?!1:g.__inject__.isPlaybackPaused(this._id)}playNode(t,i=fe.AUTO,a=Fe.AUTO,r=0,n=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot playNode before create");return g.__inject__.playNode(this._id,t.id,i,a,r,n)}stopPlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot stopPlayingNode before create");return g.__inject__.stopPlayingNode(this._id)}pausePlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot pausePlayingNode before create");return g.__inject__.pausePlayingNode(this._id)}resumePlayingNode(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot resumePlayingNode before create");return g.__inject__.resumePlayingNode(this._id)}isPlayingNodePaused(){return this.id===l.NPC_ID?!1:g.__inject__.isPlayingNodePaused(this._id)}isPlayingNode(){return this.id===l.NPC_ID?!1:g.__inject__.isPlayingNode(this._id)}changeNode(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot changeNode before create");return g.__inject__.changeNode(this._id,t.id,i)}updateNodePoint(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot updateNodePoint before create");return g.__inject__.updateNodePoint(this._id,t)}setInvulnerable(t=!0){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setInvulnerable before create");return g.__inject__.setInvulnerable(this._id,t)}isInvulnerable(){return this.id===l.NPC_ID?!1:g.__inject__.isInvulnerable(this._id)}setSurfingOffsets(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSurfingOffsets before create");return g.__inject__.setSurfingOffsets(this._id,t,i,a)}getSurfingOffsets(){return g.__inject__.getSurfingOffsets(this._id)}setSurfingVehicle(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSurfingVehicle before create");return g.__inject__.setSurfingVehicle(this._id,t.id)}getSurfingVehicle(){return p.getInstance(this.getSurfingVehicleId())}getSurfingVehicleId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getSurfingVehicle before create");return g.__inject__.getSurfingVehicle(this._id)}setSurfingObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSurfingObject before create");return t.isGlobal()?g.__inject__.setSurfingObject(this._id,t.id):0}getSurfingObject(){return C.getInstance(this.getSurfingObjectId())}getSurfingObjectId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getSurfingObject before create");return g.__inject__.getSurfingObject(this._id)}setSurfingPlayerObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSurfingPlayerObject before create");return t.isGlobal()?0:this._setSurfingPlayerObject(t.id)}getSurfingPlayerObject(){return C.getInstance(this.getSurfingPlayerObjectId(),this.getPlayer())}_setSurfingPlayerObject(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setSurfingPlayerObject before create");return g.__inject__.setSurfingPlayerObject(this._id,t)}getSurfingPlayerObjectId(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getSurfingPlayerObject before create");return g.__inject__.getSurfingPlayerObject(this._id)}resetSurfingData(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot resetSurfingData before create");return g.__inject__.resetSurfingData(this._id)}setSurfingDynamicObject(t){return this._setSurfingPlayerObject(A.getItemInternalID(new c(this._id),T.OBJECT,t.id))}getSurfingDynamicObject(){return O.getInstance(this.getSurfingDynamicObjectId())}getSurfingDynamicObjectId(){return A.getItemStreamerID(new c(this._id),T.OBJECT,this.getSurfingPlayerObjectId())}isSpawned(){return this.id===l.NPC_ID?!1:g.__inject__.isSpawned(this._id)}kill(t,i){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot kill before create");return g.__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]: Cannot setVelocity before create");return g.__inject__.setVelocity(this._id,t,i,a)}getVelocity(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getVelocity before create");return g.__inject__.getVelocity(this._id)}getPlayerAimingAt(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getPlayerAimingAt before create");const t=g.__inject__.getPlayerAimingAt(this._id);return t!==l.PLAYER_ID?c.getInstance(t):null}getPlayerMovingTo(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getPlayerMovingTo before create");const t=g.__inject__.getPlayerMovingTo(this._id);return t!==l.PLAYER_ID?c.getInstance(t):null}getPosMovingTo(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getPosMovingTo before create");return g.__inject__.getPosMovingTo(this._id)}getCustomSkin(){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot getCustomSkin before create");return g.__inject__.getCustomSkin(this._id)}setAngleToPos(t,i,a){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setAngleToPos before create");return g.__inject__.setAngleToPos(this._id,t,i,a)}setAngleToPlayer(t){if(this.id===l.NPC_ID)throw new Error("[Npc]: Cannot setAngleToPlayer before create");return g.__inject__.setAngleToPlayer(this._id,t.id)}static startRecordingPlayerData(t,i,a){if(t.isRecording)throw new Error("[NpcFunc]: It should be stopped before recording");g.__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");g.__inject__.stopRecordingPlayerData(t.id),t[B].isRecording=!1}static isValid(t){return g.__inject__.isValid(t)}static getInstance(t){return Ce.get(t)}static getInstances(){return[...Ce.values()]}static __inject__={create:Xc,destroy:Zc,isValid:Yc,spawn:zc,respawn:Jc,setPos:$c,setRot:Qc,getRot:qc,setFacingAngle:ed,getFacingAngle:td,setVirtualWorld:id,getVirtualWorld:ad,move:rd,moveToPlayer:nd,stopMove:sd,isMoving:ld,isMovingToPlayer:od,setSkin:_d,getSkin:cd,isStreamedIn:dd,isAnyStreamedIn:hd,setInterior:gd,getInterior:ud,setHealth:md,getHealth:fd,setArmour:Pd,getArmour:pd,isDead:Id,applyAnimation:Cd,setWeapon:yd,getWeapon:Sd,setAmmo:Ed,getAmmo:Ad,setKeys:Nd,getKeys:Dd,setWeaponSkillLevel:Td,getWeaponSkillLevel:vd,meleeAttack:bd,stopMeleeAttack:Ld,isMeleeAttacking:wd,setFightingStyle:Rd,getFightingStyle:Od,enableReloading:Gd,isReloadEnabled:jd,isReloading:Fd,enableInfiniteAmmo:Md,isInfiniteAmmoEnabled:Vd,setWeaponState:kd,getWeaponState:Bd,setAmmoInClip:xd,getAmmoInClip:Hd,shoot:Wd,isShooting:Ud,aimAt:Kd,aimAtPlayer:Xd,stopAim:Zd,isAiming:Yd,isAimingAtPlayer:zd,setWeaponAccuracy:Jd,getWeaponAccuracy:$d,setWeaponReloadTime:Qd,getWeaponReloadTime:qd,getWeaponActualReloadTime:eh,setWeaponShootTime:th,getWeaponShootTime:ih,setWeaponClipSize:ah,getWeaponClipSize:rh,getWeaponActualClipSize:nh,enterVehicle:sh,exitVehicle:lh,putInVehicle:oh,removeFromVehicle:_h,getVehicle:ch,getVehicleSeat:dh,getEnteringVehicle:hh,getEnteringVehicleSeat:gh,isEnteringVehicle:uh,useVehicleSiren:mh,isVehicleSirenUsed:fh,setVehicleHealth:Ph,getVehicleHealth:ph,setVehicleHydraThrusters:Ih,getVehicleHydraThrusters:Ch,setVehicleGearState:yh,getVehicleGearState:Sh,setVehicleTrainSpeed:Eh,getVehicleTrainSpeed:Ah,resetAnimation:Nh,setAnimation:Dh,getAnimation:Th,clearAnimations:vh,setSpecialAction:bh,getSpecialAction:Lh,startPlayback:wh,startPlaybackEx:Rh,stopPlayback:Oh,pausePlayback:Gh,isPlayingPlayback:jh,isPlaybackPaused:Fh,playNode:Mh,stopPlayingNode:Vh,pausePlayingNode:kh,resumePlayingNode:Bh,isPlayingNodePaused:xh,isPlayingNode:Hh,changeNode:Wh,updateNodePoint:Uh,setInvulnerable:Kh,isInvulnerable:Xh,setSurfingOffsets:Zh,getSurfingOffsets:Yh,setSurfingVehicle:zh,getSurfingVehicle:Jh,setSurfingObject:$h,getSurfingObject:Qh,setSurfingPlayerObject:qh,getSurfingPlayerObject:eg,resetSurfingData:tg,isSpawned:ig,kill:ag,setVelocity:rg,getVelocity:ng,getPlayerAimingAt:sg,getPlayerMovingTo:lg,getPosMovingTo:og,getCustomSkin:_g,setAngleToPos:cg,setAngleToPlayer:dg,startRecordingPlayerData:U_,stopRecordingPlayerData:K_}}class ze{_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,ue.has(this._id))return ue.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="",ue.delete(t)),i}return this._id=l.RECORD_ID,this._filePath="",ue.delete(t),!0}isValid(){return D.skip&&this._id!==l.RECORD_ID?!0:ze.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&&ue.clear(),t}static getInstance(t){return ue.get(t)}static getInstances(){return[...ue.values()]}}class Ye{_id=l.NODE_ID;get id(){return this._id}constructor(t){if(this._id=t,se.has(this._id))return se.get(this._id);se.set(this._id,this)}open(){samp.callNative("NPC_OpenNode","i",this._id)&&!se.has(this._id)&&se.set(this._id,this)}close(){if(!D.skip){const t=!!samp.callNative("NPC_CloseNode","i",this._id);return t&&(se.delete(this._id),this._id=l.NODE_ID),t}return se.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 se.get(t)}static getInstances(){return[...se.values()]}}class Je{_id=l.PATH_ID;get id(){return this._id}constructor(t){if(typeof t<"u"){if(ye.has(t))return ye.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,ye.delete(this._id)),t}addPoint(t,i,a,r=.2){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=.2,s]=samp.callNative("NPC_GetPathPoint","ii",this._id,t);return{x:i,y:a,z:r,stopRange:n,ret:!!s}}isValid(){return Je.isValid(this._id)}getCurrentPointIndex(){return samp.callNative("NPC_GetCurrentPathPointIndex","i",this._id)}move(t=fe.AUTO,i=Fe.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&&ye.clear(),t}static getCount(){return samp.callNative("NPC_GetPathCount","")}static isValid(t){return!!samp.callNative("NPC_IsValidPath","i",t)}static getInstance(t){return ye.get(t)}static getInstances(){return[...ye.values()]}}H.onExit(({next:e})=>(g.getInstances().forEach(t=>{t.isValid()&&t.destroy()}),Ce.clear(),Ye.getInstances().forEach(t=>{t.isOpen()&&t.close()}),se.clear(),Je.destroyAll(),ye.clear(),ze.getInstances().forEach(t=>{t.isValid()&&t.unload()}),ue.clear(),e()));const[CS]=m({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:E.decodeFromBuf(t)}}}),[yS]=m({name:"OnNPCFinishMove",identifier:"i",beforeEach(e){return{npc:g.getInstance(e)}}}),[SS]=m({name:"OnNPCCreate",identifier:"i",beforeEach(e){return{npc:g.getInstance(e)}}}),[ES]=m({name:"OnNPCDestroy",identifier:"i",beforeEach(e){return{npc:g.getInstance(e)}},afterEach({npc:e}){Ce.delete(e.id)}}),[AS]=m({name:"OnNPCWeaponStateChange",identifier:"iii",beforeEach(e,t,i){return{npc:g.getInstance(e),newState:t,oldState:i}}}),[NS]=m({name:"OnNPCTakeDamage",identifier:"iiiii",beforeEach(e,t,i,a,r){return{npc:g.getInstance(e),damager:c.getInstance(t),damage:i,weapon:a,bodyPart:r}}}),[DS]=m({name:"OnNPCGiveDamage",identifier:"iiiii",beforeEach(e,t,i,a,r){return{npc:g.getInstance(e),damager:c.getInstance(t),damage:i,weapon:a,bodyPart:r}}}),[TS]=m({name:"OnNPCDeath",identifier:"iii",beforeEach(e,t,i){const a=c.getInstance(t)||l.PLAYER_ID;return{npc:g.getInstance(e),killer:a,reason:i}}}),[vS]=m({name:"OnNPCSpawn",identifier:"i",beforeEach(e){return{npc:g.getInstance(e)}}}),[bS]=m({name:"OnNPCRespawn",identifier:"i",beforeEach(e){return{npc:g.getInstance(e)}}}),[LS]=m({name:"OnNPCPlaybackStart",identifier:"ii",beforeEach(e,t){return{npc:g.getInstance(e),record:ze.getInstance(t),recordId:t}}}),[wS]=m({name:"OnNPCPlaybackEnd",identifier:"ii",beforeEach(e,t){return{npc:g.getInstance(e),record:ze.getInstance(t),recordId:t}}}),[RS]=m({name:"OnNPCWeaponShot",identifier:"iiiifff",beforeEach(e,t,i,a,r,n,s){return{npc:g.getInstance(e),weapon:t,hitType:i,hitId:a,fX:r,fY:n,fZ:s}}}),[OS]=m({name:"OnNPCFinishNodePoint",identifier:"iii",beforeEach(e,t,i){return{npc:g.getInstance(e),node:Ye.getInstance(t),nodeId:t,pointId:i}}}),[GS]=m({name:"OnNPCFinishNode",identifier:"ii",beforeEach(e,t){return{npc:g.getInstance(e),node:Ye.getInstance(t),nodeId:t}}}),[jS]=m({name:"OnNPCChangeNode",identifier:"iii",beforeEach(e,t,i){return{npc:g.getInstance(e),newNode:Ye.getInstance(t),oldNode:Ye.getInstance(i),newNodeId:t,oldNodeId:i}}}),[FS]=m({name:"OnNPCFinishMovePath",identifier:"ii",beforeEach(e,t){return{npc:g.getInstance(e),path:Je.getInstance(t),pathId:t}}}),[MS]=m({name:"OnNPCFinishMovePathPoint",identifier:"iii",beforeEach(e,t,i){return{npc:g.getInstance(e),path:Je.getInstance(t),pathId:t,pointIndex:i}}}),VS=Object.freeze({onClientMessage:CS,onFinishMove:yS,onCreate:SS,onDestroy:ES,onSpawn:vS,onRespawn:bS,onWeaponStateChange:AS,onTakeDamage:NS,onGiveDamage:DS,onDeath:TS,onPlaybackStart:LS,onPlaybackEnd:wS,onWeaponShot:RS,onFinishNodePoint:OS,onFinishNode:GS,onChangeNode:jS,onFinishMovePath:FS,onFinishMovePathPoint:MS});class q{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return q.__inject__.getNetworkStats()}static getPlayerNetworkStats(t){return q.__inject__.getPlayerNetworkStats(t.id)}static getBytesReceived(t){return q.__inject__.getBytesReceived(t.id)}static getBytesSent(t){return q.__inject__.getBytesSent(t.id)}static getConnectionStatus(t){return q.__inject__.getConnectionStatus(t.id)}static getConnectedTime(t){return q.__inject__.getConnectedTime(t.id)}static getIpPort(t){return q.__inject__.getIpPort(t.id)}static getMessagesReceived(t){return q.__inject__.getMessagesReceived(t.id)}static getMessagesRecvPerSecond(t){return q.__inject__.getMessagesRecvPerSecond(t.id)}static getMessagesSent(t){return q.__inject__.getMessagesSent(t.id)}static getPacketLossPercent(t){return q.__inject__.getPacketLossPercent(t.id)}static __inject__={getNetworkStats:Ol,getPlayerNetworkStats:Rl,getBytesReceived:yl,getBytesSent:El,getConnectionStatus:Dl,getConnectedTime:Il,getIpPort:Tl,getMessagesReceived:Cl,getMessagesRecvPerSecond:Al,getMessagesSent:Sl,getPacketLossPercent:Nl}}class Oe{_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){Oe.__inject__.hideForAll(t)}static has(t,i){return Oe.__inject__.has(t.id,i)}forAll(t="win1252"){Oe.__inject__.forAll(E.encodeToBuf(E.convertSpecialChar(this.text),t),this.time,this.style)}forPlayer(t,i="win1252"){Oe.__inject__.forPlayer(t.id,E.encodeToBuf(E.convertSpecialChar(this.text),i),this.time,this.style)}hideForPlayer(t){return Oe.__inject__.hideForPlayer(t.id,this.style)}static __inject__={hideForAll:Ms,has:Po,forAll:Fs,forPlayer:fo,hideForPlayer:Io}}class x{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=x.getInstance(this._id);if(i)return i;Ve.set(this.id,this)}else this.sourceInfo=t}create(){if(!this.sourceInfo)throw new Error("[Menu]: Cannot 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=x.__inject__.create(t,i,a,r,o,_,s),this.id===l.MENU||x.getInstances().length===W.MAX_MENUS)throw new Error("[Menu]: Cannot create menu");return Ve.set(this._id,this),this}destroy(){if(this._id===l.MENU)throw new Error("[Menu]: Cannot destroy before create");return D.skip||x.__inject__.destroy(this.id),Ve.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 x.__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 x.__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 x.__inject__.disable(this.id),this}disableRow(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot disable row before create");return x.__inject__.disableRow(this.id,t)}isValid(){return D.skip&&this.id!==l.MENU?!0:x.isValid(this.id)}showForPlayer(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot show menu before create");return x.__inject__.showForPlayer(this.id,t.id)}hideForPlayer(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot hide menu before create");return x.__inject__.hideForPlayer(this.id,t.id)}isDisabled(){return this._id===l.MENU?!1:x.__inject__.isDisabled(this.id)}isRowDisabled(t){return this._id===l.MENU?!1:x.__inject__.isRowDisabled(this.id,t)}getItems(t){return this._id===l.MENU?0:x.__inject__.getItems(this.id,t)}getPos(){return x.__inject__.getPos(this.id)}getColumnWidth(){return x.__inject__.getColumnWidth(this.id)}getColumnHeader(t){if(this._id===l.MENU)throw new Error("[Menu]: Cannot get column header before create");return x.__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 x.__inject__.getItem(this.id,t,i,this.sourceInfo?.charset||"ISO-8859-1")}static isValid(t){return x.__inject__.isValid(t)}static getInstance(t){return Ve.get(t)}static getInstances(){return[...Ve.values()]}static getInstanceByPlayer(t){return this.getInstance(Ni(t.id))}static __inject__={create:oC,destroy:nm,addItem:_C,setColumnHeader:cC,disable:_m,disableRow:cm,isValid:om,showForPlayer:sm,hideForPlayer:lm,isDisabled:em,isRowDisabled:tm,getItems:im,getPos:am,getColumnWidth:rm,getColumnHeader:sC,getItem:lC,getPlayerMenu:Ni}}H.onExit(({next:e})=>(x.getInstances().forEach(t=>t.destroy()),Ve.clear(),e()));const[kS]=m({name:"OnPlayerExitedMenu",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[BS]=m({name:"OnPlayerSelectedMenuRow",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e),a=x.getInstanceByPlayer(i);return{player:i,menu:a,row:t}}}),xS=Object.freeze({onPlayerExited:kS,onPlayerSelectedRow:BS});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()?Me.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("[GangZone]: Cannot create with only id");if(this.id!==l.GANG_ZONE)throw new Error("[GangZone]: Cannot 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===W.MAX_GANG_ZONES)throw new Error("[GangZone]: Cannot create playerGangZone");Y.has(t)||Y.set(t,new Map),Y.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===W.MAX_GANG_ZONES)throw new Error("[GangZone]: Cannot create gangZone");Me.set(this.id,this)}return this}destroy(){if(this.id===l.GANG_ZONE)throw new Error("[GangZone]: Cannot destroy before create");const t=this.getPlayer();if(!t)D.skip||b.__inject__.destroy(this.id),Me.delete(this.id);else if(D.skip||b.__inject__.destroyPlayer(t.id,this.id),Y.has(t)){const i=Y.get(t);i.delete(this.id),i.size||Y.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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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]: Cannot 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 Me.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()||[]]:[...Me.values()]}static getPlayersInstances(){return Array.from(Y.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:Um,destroy:Km,showForAll:Zm,hideForAll:zm,flashForAll:$m,stopFlashForAll:qm,getPos:Hm,useCheck:Wm,createPlayer:ef,destroyPlayer:tf,showPlayer:af,showForPlayer:Xm,hidePlayer:rf,hideForPlayer:Ym,flashPlayer:nf,flashForPlayer:Jm,stopFlashPlayer:sf,stopFlashForPlayer:Qm,getPosPlayer:gf,useCheckPlayer:uf,isPlayerIn:Mm,isPlayerInPlayer:of,isVisibleForPlayer:Vm,isVisiblePlayer:_f,getColorForPlayer:km,getColorPlayer:cf,getFlashColorForPlayer:Bm,getFlashColorPlayer:df,isFlashingForPlayer:xm,isFlashingPlayer:hf,isValidPlayer:lf,isValidGlobal:Fm}}Ze.onDisconnect(({player:e,next:t})=>(Y.has(e)&&(b.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),Y.delete(e)),t())),H.onExit(({next:e})=>(b.getInstances().forEach(t=>t.destroy()),b.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),Me.clear(),Y.clear(),e()));const[HS]=m({name:"OnPlayerEnterGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:b.getInstance(t)}}}),[WS]=m({name:"OnPlayerLeaveGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:b.getInstance(t)}}}),[US]=m({name:"OnPlayerEnterPlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:b.getInstance(t,i)}}}),[KS]=m({name:"OnPlayerLeavePlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:b.getInstance(t,i)}}}),[XS]=m({name:"OnPlayerClickGangZone",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),gangZone:b.getInstance(t)}}}),[ZS]=m({name:"OnPlayerClickPlayerGangZone",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,gangZone:b.getInstance(t,i)}}}),YS=Object.freeze({onPlayerEnterGlobal:HS,onPlayerLeaveGlobal:WS,onPlayerEnterPlayer:US,onPlayerLeavePlayer:KS,onPlayerClickGlobal:XS,onPlayerClickPlayer:ZS});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()?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("[TextDraw]: Cannot create with only id");if(this.id!==l.TEXT_DRAW)throw new Error("[TextDraw]: Cannot 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===W.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Cannot create player textdraw");z.has(r)||z.set(r,new Map),z.get(r).set(this._id,this)}else{if(this._id=f.__inject__.create(t,i,s),this.id===l.TEXT_DRAW||f.getInstances().length===W.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Cannot create textdraw");ke.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),ke.delete(this.id);else if(D.skip||f.__inject__.destroyPlayer(t.id,this.id),z.has(t)){const i=z.get(t);i.delete(this.id),i.size||z.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(et.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(et.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(et.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]: Cannot ${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 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:Ff,createPlayer:DP,destroy:Mf,destroyPlayer:TP,setFont:Zf,setFontPlayer:MP,setColor:xf,setColorPlayer:wP,setBoxColor:Wf,setBoxColorPlayer:OP,setBackgroundColor:Xf,setBackgroundColorPlayer:FP,setAlignment:Bf,setAlignmentPlayer:LP,setLetterSize:Vf,setLetterSizePlayer:vP,setOutline:Kf,setOutlinePlayer:jP,setPreviewModel:tP,setPreviewModelPlayer:WP,setPreviewRot:iP,setPreviewRotPlayer:UP,setPreviewVehicleColors:aP,setPreviewVehicleColorsPlayer:KP,setProportional:Yf,setProportionalPlayer:VP,setSelectable:zf,setSelectablePlayer:kP,setShadow:Uf,setShadowPlayer:GP,setStringPlayer:HP,setStringForPlayer:jf,setString:eP,setTextSize:kf,setTextSizePlayer:bP,useBoxPlayer:RP,useBox:Hf,showPlayer:BP,showForPlayer:Jf,hidePlayer:xP,hideForPlayer:$f,showForAll:Qf,hideForAll:qf,isValidPlayer:sP,isValid:mf,isVisiblePlayer:lP,isVisibleForPlayer:ff,getStringPlayer:oP,getString:Pf,setPosPlayer:_P,setPos:pf,getLetterSizePlayer:cP,getLetterSize:If,getTextSizePlayer:dP,getTextSize:Cf,getPosPlayer:hP,getPos:yf,getColorPlayer:gP,getColor:Sf,getBoxColorPlayer:uP,getBoxColor:Ef,getBackgroundColorPlayer:mP,getBackgroundColor:Af,getShadowPlayer:fP,getShadow:Nf,getOutlinePlayer:PP,getOutline:Df,getFontPlayer:pP,getFont:Tf,isBoxPlayer:IP,isBox:vf,isProportionalPlayer:CP,isProportional:bf,isSelectablePlayer:yP,isSelectable:Lf,getAlignmentPlayer:SP,getAlignment:wf,getPreviewModelPlayer:EP,getPreviewModel:Rf,getPreviewRotPlayer:AP,getPreviewRot:Of,getPreviewVehicleColors:Gf,getPreviewVehicleColorsPlayer:NP}}Ze.onDisconnect(({player:e,next:t})=>(z.has(e)&&(f.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),z.delete(e)),t())),H.onExit(({next:e})=>(f.getInstances().forEach(t=>t.destroy()),f.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),ke.clear(),z.clear(),e()));const[zS]=m({name:"OnPlayerClickTextDraw",identifier:"ii",defaultValue:!1,beforeEach(e,t){return{player:c.getInstance(e),textDraw:t===l.TEXT_DRAW?t:f.getInstance(t)}}}),[JS]=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)}}}),$S=Object.freeze({onPlayerClickGlobal:zS,onPlayerClickPlayer:JS});Ze.onDisconnect(({player:e,next:t})=>(K.has(e)&&(C.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),K.delete(e)),t())),H.onExit(({next:e})=>(C.getInstances().forEach(t=>t.destroy()),C.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),Te.clear(),K.clear(),e()));const[QS]=m({name:"OnPlayerSelectObject",identifier:"iiiifff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s){const o=c.getInstance(e),_=t!==Pe.UNKNOWN&&t===Pe.PLAYER_OBJECT,d=t!==Pe.UNKNOWN&&t===Pe.GLOBAL_OBJECT;return{player:o,type:t,isPlayerObject:_,isGlobal:d,objectMp:t===Pe.GLOBAL_OBJECT?C.getInstance(i):C.getInstance(i,o),modelId:a,fX:r,fY:n,fZ:s}}}),[qS]=m({name:"OnPlayerEditObject",identifier:"iiiiffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_,d){const h=c.getInstance(e),u=t===1;return{player:h,isPlayerObject:u,isGlobal:!u,objectMp:u?C.getInstance(i,h):C.getInstance(i),response:a,fX:r,fY:n,fZ:s,fRotX:o,fRotY:_,fRotZ:d}}}),[eE]=m({name:"OnPlayerEditAttachedObject",identifier:"iiiiifffffffff",defaultValue:!1,beforeEach(e,t,i,a,r,n,s,o,_,d,h,u,I,S){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:u,fScaleY:I,fScaleZ:S}}}),[tE]=m({name:"OnObjectMoved",identifier:"i",beforeEach(e){return{objectMp:C.getInstance(e)}}}),[iE]=m({name:"OnPlayerObjectMoved",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,playerObject:C.getInstance(t,i)}}}),aE=Object.freeze({onPlayerSelect:QS,onPlayerEdit:qS,onPlayerEditAttached:eE,onGlobalMoved:tE,onPlayerMoved:iE});class j{_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=j.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=j.__inject__.create(t,i,a,r,n),this._id===l.ACTOR_ID||j.getInstances().length===W.MAX_ACTORS)throw new Error("[Actor]: Cannot create actor");return He.set(this._id,this),this}destroy(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot before create");return D.skip||j.__inject__.destroy(this._id),He.delete(this._id),this._id=l.ACTOR_ID,this}isStreamIn(t){return this._id===l.ACTOR_ID?!1:j.__inject__.isStreamedIn(this.id,t.id)}setVirtualWorld(t){return this._id===l.ACTOR_ID?!1:j.__inject__.setVirtualWorld(this.id,t)}getVirtualWorld(){return this._id===l.ACTOR_ID?0:j.__inject__.getVirtualWorld(this.id)}applyAnimation(t,i,a,r,n,s,o,_){return this._id===l.ACTOR_ID?!1:j.__inject__.applyAnimation(this.id,t,i,a,r,n,s,o,_)}clearAnimations(){return this._id===l.ACTOR_ID?!1:j.__inject__.clearAnimations(this.id)}setPos(t,i,a){return this._id===l.ACTOR_ID?!1:j.__inject__.setPos(this.id,t,i,a)}getPos(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getPos before create");return j.__inject__.getPos(this.id)}setFacingAngle(t){return this._id===l.ACTOR_ID?!1:j.__inject__.setFacingAngle(this.id,t)}getFacingAngle(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getFacingAngle before create");return j.__inject__.getFacingAngle(this.id)}setHealth(t){return this._id===l.ACTOR_ID?!1:j.__inject__.setHealth(this.id,t)}getHealth(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getHealth before create");return j.__inject__.getHealth(this.id)}setInvulnerable(t){return this._id===l.ACTOR_ID?!1:j.__inject__.setInvulnerable(this.id,t)}isInvulnerable(){return this._id===l.ACTOR_ID?!1:j.__inject__.isInvulnerable(this.id)}isValid(){return j.isValid(this._id)}setSkin(t){return this._id===l.ACTOR_ID?!1:j.__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:j.__inject__.getSkin(this.id)}getAnimation(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getAnimation before create");return j.__inject__.getAnimation(this.id)}getSpawnInfo(){if(this._id===l.ACTOR_ID)throw new Error("[Actor]: Cannot getSpawnInfo before create");return j.__inject__.getSpawnInfo(this.id)}static isValid(t){return j.__inject__.isValid(t)}static getInstance(t){return He.get(t)}static getInstances(){return[...He.values()]}static __inject__={create:Lc,destroy:wc,applyAnimation:jc,clearAnimations:Fc,getAnimation:bc,getFacingAngle:Bc,getHealth:Hc,getPos:Vc,getSkin:Dc,getSpawnInfo:vc,getVirtualWorld:Gc,isInvulnerable:Uc,isStreamedIn:Rc,isValid:Kc,setFacingAngle:kc,setHealth:xc,setInvulnerable:Wc,setPos:Mc,setSkin:Tc,setVirtualWorld:Oc}}H.onExit(({next:e})=>(j.getInstances().forEach(t=>t.destroy()),He.clear(),e()));const[rE]=m({name:"OnPlayerGiveDamageActor",identifier:"iifii",defaultValue:!1,beforeEach(e,t,i,a,r){return{player:c.getInstance(e),actor:j.getInstance(t),amount:i,weapon:a,bodyPart:r}}}),[nE]=m({name:"OnActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:j.getInstance(e),player:c.getInstance(t)}}}),[sE]=m({name:"OnActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:j.getInstance(e),player:c.getInstance(t)}}}),lE=Object.freeze({onPlayerGiveDamage:rE,onStreamIn:nE,onStreamOut:sE});class Ge{static set(t,i,a,r,n){return Ge.__inject__.set(t.id,i,a,r,n)}static disable(t){return Ge.__inject__.disable(t.id)}static isPlayerIn(t){return Ge.__inject__.isPlayerIn(t.id)}static isActive(t){return Ge.__inject__.isActive(t.id)}static get(t){return Ge.__inject__.get(t.id)}static __inject__={disable:zu,get:Si,isActive:yi,isPlayerIn:Qu,set:Yu}}const[oE]=m({name:"OnPlayerEnterCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[_E]=m({name:"OnPlayerLeaveCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),cE=Object.freeze({onPlayerEnter:oE,onPlayerLeave:_E});class je{static set(t,i,a,r,n,s,o,_,d){return je.__inject__.set(t.id,i,a,r,n,s,o,_,d)}static disable(t){return je.__inject__.disable(t.id)}static isPlayerIn(t){return je.__inject__.isPlayerIn(t.id)}static isActive(t){return je.__inject__.isActive(t.id)}static get(t){return je.__inject__.get(t.id)}static __inject__={disable:$u,get:Ai,isActive:Ei,isPlayerIn:qu,set:Ju}}const[dE]=m({name:"OnPlayerEnterRaceCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),[hE]=m({name:"OnPlayerLeaveRaceCheckpoint",identifier:"i",beforeEach(e){return{player:c.getInstance(e)}}}),gE=Object.freeze({onPlayerEnter:dE,onPlayerLeave:hE});class w{sourceInfo=null;_player=null;_id=l.PICKUP_ID;get id(){return this._id}constructor(t,i){if(typeof t=="number"){if(t===l.PICKUP_ID)throw new Error("[Pickup]: Invalid id");i&&(this._player=i);const a=w.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?We.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("[Pickup]: Cannot 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,_=this.getPlayer();if(o){if(_)throw new Error("[Pickup]: Cannot create static pickup for player");w.__inject__.addStatic(t,i,r,n,s,a)}else if(_){if(this._id=w.__inject__.createPlayer(_.id,t,i,r,n,s,a),_&&w.getInstances(_).length===W.MAX_PICKUPS||this._id===l.PICKUP_ID)throw new Error("[Pickup]: Cannot create player pickup");J.has(_)||J.set(_,new Map),J.get(_).set(this.id,this)}else{if(this._id=w.__inject__.create(t,i,r,n,s,a),w.getInstances().length===W.MAX_PICKUPS||this._id===l.PICKUP_ID)throw new Error("[Pickup]: Cannot create pickup");We.set(this.id,this)}return this}destroy(){if(this.sourceInfo&&this.sourceInfo.isStatic)throw new Error("[Pickup]: Cannot destroy static pickup");if(this.id===l.PICKUP_ID)throw new Error("[Pickup]: Cannot destroy before create");const t=this.getPlayer();if(!t)D.skip||w.__inject__.destroy(this.id),We.delete(this.id);else if(D.skip||w.__inject__.destroyPlayer(t.id,this.id),J.has(t)){const i=J.get(t);i.delete(this.id),i.size||J.delete(t)}this._id=l.PICKUP_ID}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(){if(D.skip&&this.id!==l.PICKUP_ID)return!0;if(this.id===l.PICKUP_ID)return!1;const t=this.getPlayer();return t?w.isValidPlayer(t.id,this.id):w.isValidGlobal(this.id)}isStreamedIn(t){if(this.id===l.PICKUP_ID)return!1;const i=this.getPlayer();return i?w.__inject__.isStreamedInPlayer(i.id,this.id):w.__inject__.isStreamedIn(t.id,this.id)}getPos(){const t=this.getPlayer();return t?w.__inject__.getPosPlayer(t.id,this.id):w.__inject__.getPos(this.id)}getModel(){if(this.id===l.PICKUP_ID)return 0;const t=this.getPlayer();return t?w.__inject__.getModelPlayer(t.id,this.id):w.__inject__.getModel(this.id)}getType(){if(this.id===l.PICKUP_ID)return 0;const t=this.getPlayer();return t?w.__inject__.getTypePlayer(t.id,this.id):w.__inject__.getType(this.id)}getVirtualWorld(){if(this.id===l.PICKUP_ID)return 0;const t=this.getPlayer();return t?w.__inject__.getVirtualWorldPlayer(t.id,this.id):w.__inject__.getVirtualWorld(this.id)}setPos(t,i,a,r){if(this.id===l.PICKUP_ID)return!1;const n=this.getPlayer();return n?w.__inject__.setPosPlayer(n.id,this.id,t,i,a,r):w.__inject__.setPos(this.id,t,i,a,r)}setModel(t,i=!0){if(this.id===l.PICKUP_ID)return!1;const a=this.getPlayer();return a?w.__inject__.setModelPlayer(a.id,this.id,t,i):w.__inject__.setModel(this.id,t,i)}setType(t,i=!0){if(this.id===l.PICKUP_ID)return!1;const a=this.getPlayer();return a?w.__inject__.setTypePlayer(a.id,this.id,t,i):w.__inject__.setType(this.id,t,i)}setVirtualWorld(t){if(this.id===l.PICKUP_ID)return!1;const i=this.getPlayer();return i?w.__inject__.setVirtualWorldPlayer(i.id,this.id,t):w.__inject__.setVirtualWorld(this.id,t)}showForPlayer(t){if(this.id===l.PICKUP_ID)return!1;if(this.getPlayer())throw new Error("[Pickup]: Cannot show for player pickup");return w.__inject__.showForPlayer(t.id,this.id)}hideForPlayer(t){if(this.id===l.PICKUP_ID)return!1;if(this.getPlayer())throw new Error("[Pickup]: Cannot hide for player pickup");return w.__inject__.hideForPlayer(t.id,this.id)}isHiddenForPlayer(t){if(this.id===l.PICKUP_ID)return!1;if(this.isPlayer())throw new Error("[Pickup]: Cannot isHiddenForPlayer for player pickup");return w.__inject__.isHiddenForPlayer(t.id,this.id)}static isValidPlayer(t,i){return w.__inject__.isValidPlayer(t,i)}static isValidGlobal(t){return w.__inject__.isValidGlobal(t)}static getInstance(t,i){if(!i)return We.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()||[]]:[...We.values()]}static getPlayersInstances(){return Array.from(J.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:SI,addStatic:yI,destroy:EI,isStreamedIn:_I,getPos:cI,getModel:dI,getType:hI,getVirtualWorld:gI,setPos:uI,setModel:mI,setType:fI,setVirtualWorld:PI,showForPlayer:pI,hideForPlayer:II,isHiddenForPlayer:CI,isValidGlobal:oI,createPlayer:AI,destroyPlayer:NI,isStreamedInPlayer:TI,getPosPlayer:vI,getModelPlayer:OI,getTypePlayer:GI,getVirtualWorldPlayer:jI,setPosPlayer:bI,setModelPlayer:LI,setTypePlayer:wI,setVirtualWorldPlayer:RI,isValidPlayer:DI}}Ze.onDisconnect(({player:e,next:t})=>(J.has(e)&&(w.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),J.delete(e)),t())),H.onExit(({next:e})=>(w.getInstances().forEach(t=>t.destroy()),w.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),We.clear(),J.clear(),e()));const[uE]=m({name:"OnPlayerPickUpPickup",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:w.getInstance(t)}}}),[mE]=m({name:"OnPickupStreamIn",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:w.getInstance(t)}}}),[fE]=m({name:"OnPickupStreamOut",identifier:"ii",beforeEach(e,t){return{player:c.getInstance(e),pickup:w.getInstance(t)}}}),[PE]=m({name:"OnPlayerPickUpPlayerPickup",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,pickup:w.getInstance(t,i)}}}),[pE]=m({name:"OnPlayerPickupStreamIn",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,pickup:w.getInstance(t,i)}}}),[IE]=m({name:"OnPlayerPickupStreamOut",identifier:"ii",beforeEach(e,t){const i=c.getInstance(e);return{player:i,pickup:w.getInstance(t,i)}}}),CE=Object.freeze({onPlayerPickUpGlobal:uE,onStreamInGlobal:mE,onStreamOutGlobal:fE,onPlayerPickupPlayer:PE,onStreamInPlayer:pE,onStreamOutPlayer:IE});class R{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=R.getInstance(t,i);if(a)return a;this._id=t,this.isGlobal()?Ue.set(this._id,this):i&&($.has(i)||$.set(i,new Map),$.get(this.getPlayer()).set(this.id,this))}else this.sourceInfo=t,this._player=null}create(){if(!this.sourceInfo)throw new Error("[TextLabel]: Cannot create with only id");if(this.id!==l._3DTEXT_ID)throw new Error("[TextLabel]: Cannot create again");const{charset:t="utf8",text:i,color:a,x:r,y:n,z:s,drawDistance:o,virtualWorld:_,testLOS:d,attachedPlayer:h,attachedVehicle:u}=this.sourceInfo;if(this.isGlobal()){if(this._id=R.__inject__.create(t,i,a,r,n,s,o,_,d),this.id===l._3DTEXT_ID||R.getInstances().length===W.MAX_3DTEXT_GLOBAL)throw new Error("[TextLabel]: Cannot create textLabel");return Ue.set(this._id,this),this}const I=this.getPlayerId();if(I===l.PLAYER_ID)return this;const S=this.getPlayer();if(this._id=R.__inject__.createPlayer(t,I,i,a,r,n,s,o,typeof h>"u"?l.PLAYER_ID:h.id,typeof u>"u"?l.VEHICLE_ID:u.id,d),this.id===l._3DTEXT_ID||R.getInstances(S).length===W.MAX_3DTEXT_PLAYER)throw new Error("[TextLabel]: Cannot create playerTextLabel");return $.has(S)||$.set(S,new Map),$.get(this.getPlayer()).set(this.id,this),this}destroy(){if(this.id===l._3DTEXT_ID)throw new Error("[TextLabel]: Cannot destroy the textLabel before create");if(this.isGlobal())D.skip||R.__inject__.delete(this.id),Ue.delete(this.id);else{const t=this.getPlayerId();if(t===l.PLAYER_ID)return this;const i=this.getPlayer();if(D.skip||R.__inject__.deletePlayer(t,this.id),$.has(i)){const a=$.get(i);a.delete(this.id),a.size===0&&$.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()?R.isValid(this.id):R.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]: Cannot attach to player, textLabel is not global");return R.__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]: Cannot attach to vehicle, textLabel is not global");return R.__inject__.attachToVehicle(this.id,t.id,i,a,r)}updateText(t,i,a="utf8"){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?R.__inject__.updateText(a,this.id,t,i):R.__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]: Cannot check stream in, textLabel is not global");return R.__inject__.isStreamedIn(this.id,t.id)}getText(t=this.sourceInfo?.charset||"utf8"){return this.isGlobal()?R.__inject__.getText(t,this.id):R.__inject__.getPlayerText(t,this.getPlayerId(),this.id)}getColor(){return this.isGlobal()?R.__inject__.getColor(this.id):R.__inject__.getPlayerColor(this.getPlayerId(),this.id)}getPos(){return this.isGlobal()?R.__inject__.getPos(this.id):R.__inject__.getPlayerPos(this.getPlayerId(),this.id)}setDrawDistance(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?R.__inject__.setDrawDistance(this.id,t):R.__inject__.setPlayerDrawDistance(this.getPlayerId(),this.id,t)}getDrawDistance(){return this.isGlobal()?R.__inject__.getDrawDistance(this.id):R.__inject__.getPlayerDrawDistance(this.getPlayerId(),this.id)}getLOS(){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?R.__inject__.getLOS(this.id):R.__inject__.getPlayerLOS(this.getPlayerId(),this.id)}setLOS(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?R.__inject__.setLOS(this.id,t):R.__inject__.setPlayerLOS(this.getPlayerId(),this.id,t)}getVirtualWorld(){return this.id===l._3DTEXT_ID?0:this.isGlobal()?R.__inject__.getVirtualWorld(this.id):R.__inject__.getPlayerVirtualWorld(this.getPlayerId(),this.id)}setVirtualWorld(t){return this.id===l._3DTEXT_ID?!1:this.isGlobal()?R.__inject__.setVirtualWorld(this.id,t):R.__inject__.setPlayerVirtualWorld(this.getPlayerId(),this.id,t)}getAttachedData(){return this.isGlobal()?R.__inject__.getAttachedData(this.id):R.__inject__.getPlayerAttachedData(this.getPlayerId(),this.id)}static isValid(t,i){return i===l.PLAYER_ID?!1:typeof i>"u"?R.__inject__.isValid(t):R.__inject__.isValidPlayer(i,t)}static getInstance(t,i){if(!i)return Ue.get(t);if(i.id!==l.PLAYER_ID)return $.get(i)?.get(t)}static getInstances(t){return t?t.id===l.PLAYER_ID?[]:[...$.get(t)?.values()||[]]:[...Ue.values()]}static getPlayersInstances(){return Array.from($.entries()).map(([t,i])=>[t,Array.from(i.values())])}static __inject__={create:eC,createPlayer:tC,getText:rC,getPlayerText:nC,updateText:iC,updatePlayerText:aC,delete:Sm,attachToPlayer:Em,attachToVehicle:Am,isStreamedIn:hm,getColor:gm,getPos:um,setDrawDistance:mm,getDrawDistance:fm,getLOS:Pm,setLOS:pm,getVirtualWorld:Cm,setVirtualWorld:Im,getAttachedData:ym,isValid:dm,deletePlayer:jm,getPlayerColor:Dm,getPlayerPos:Tm,setPlayerDrawDistance:vm,getPlayerDrawDistance:bm,getPlayerLOS:Lm,setPlayerLOS:wm,getPlayerVirtualWorld:Rm,setPlayerVirtualWorld:Om,getPlayerAttachedData:Gm,isValidPlayer:Nm}}Ze.onDisconnect(({player:e,next:t})=>($.has(e)&&(R.getInstances(e).forEach(i=>{i.isValid()&&i.destroy()}),$.delete(e)),t())),H.onExit(({next:e})=>(R.getInstances().forEach(t=>t.destroy()),R.getPlayersInstances().map(([,t])=>t).flat().forEach(t=>t.destroy()),Ue.clear(),$.clear(),e()));function yE(e,t){return(e&t)===t}function SE(e,t,i){return(e&i)===i&&(t&i)!==i}function EE(e,t){return!!(e&t)}function AE(e,t,i){return(e&i)!==i&&(t&i)===i}function NE(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]}export{j as Actor,lE as ActorEvent,vt as ArtworkEnum,Bt as BodyPartsEnum,xt as BoneIdsEnum,Jt as BulletHitTypesEnum,Qe as CameraCutStylesEnum,kt as CameraModesEnum,Kt as CarModTypeEnum,cE as CheckPointEvent,Ge as Checkpoint,bt as ClickSourcesEnum,wt as ConnectionStatusEnum,ft as DamageDeathReasonEnum,U as Dialog,gt as DialogStylesEnum,ie as Dynamic3DTextLabel,hS as Dynamic3DTextLabelEvent,F as DynamicActor,lS as DynamicActorEvent,v as DynamicArea,IS as DynamicAreaEvent,Jy as DynamicCheckPointEvent,X as DynamicCheckpoint,le as DynamicMapIcon,My as DynamicMapIconEvent,O as DynamicObject,Ry as DynamicObjectEvent,re as DynamicPickup,Wy as DynamicPickupEvent,Z as DynamicRaceCP,aS as DynamicRaceCPEvent,_e as E_STREAMER,Lt as EditResponseTypesEnum,ut as FightingStylesEnum,Ht as ForceSyncEnum,H as GameMode,Oe as GameText,b as GangZone,YS as GangZoneEvent,E as I18n,l as InvalidEnum,Rt as KeysEnum,Zt as LandingGearStateEnum,W as LimitsEnum,ct as MapIconStyles,Vt as MapIconStylesEnum,Ot as MarkerModesEnum,qt as MaterialTextAlign,ot as MaterialTextSizes,x as Menu,xS as MenuEvent,ge as NPCEntityCheckEnum,Fe as NPCMoveSpeedEnum,fe as NPCMoveTypeEnum,Gt as NPCPlaybackEnum,jt as NPCRecordStatusEnum,q as NetStats,g as Npc,VS as NpcEvent,Ye as NpcNode,Je as NpcPath,ze as NpcRecord,Mt as ObjectMaterialAlignmentEnum,Ft as ObjectMaterialTextSizeEnum,C as ObjectMp,aE as ObjectMpEvent,CE as PickUpEvent,w as Pickup,c as Player,Ze as PlayerEvent,qe as PlayerStateEnum,je as RaceCheckpoint,gE as RaceCpEvent,$t as RecordTypesEnum,Pe as SelectObjectTypesEnum,Wt as SpecialActionsEnum,st as SpectateModesEnum,A as Streamer,Qt as StreamerAreaTypes,k as StreamerDistances,T as StreamerItemTypes,P as StreamerMiscellaneous,lt as StreamerObjectTypes,f as TextDraw,Ut as TextDrawAlignEnum,$S as TextDrawEvent,et as TextDrawFontsEnum,R as TextLabel,p as Vehicle,Sy as VehicleEvent,Xt as VehicleModelInfoEnum,G as VehicleParamsEnum,Yt as WeaponEnum,zt as WeaponSkillsEnum,mt as WeaponStatesEnum,vi as animateLib,m as defineEvent,NE as defineHooks,FI as getAnimateDurationByLibName,yE as isHolding,SE as isPressed,EE as isPressing,AE as isReleased,yt as isValidAnimateLib,St as isValidAnimateName,N as rgba,is as useTrigger,as as withTriggerOptions};