@infernus/core 0.11.0-beta.6 → 0.11.0-beta.8

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 +1 @@
1
- import{encodingExists as ht,encode as ut,decode as mt}from"iconv-lite";import pt from"pino";import{snakeCase as ne,merge as gt,omit as St,get as ue,mapKeys as yt}from"lodash-unified";import*as h from"@infernus/streamer";import{Streamer_GetTickRate as It,Streamer_SetTickRate as Pt,Streamer_GetPlayerTickRate as ft,Streamer_SetPlayerTickRate as At,Streamer_ToggleChunkStream as Et,Streamer_IsToggleChunkStream as Ct,Streamer_GetChunkTickRate as me,Streamer_SetChunkTickRate as pe,Streamer_GetChunkSize as Tt,Streamer_SetChunkSize as Dt,Streamer_GetMaxItems as Nt,Streamer_SetMaxItems as Lt,Streamer_GetVisibleItems as ge,Streamer_SetVisibleItems as Se,Streamer_GetRadiusMultiplier as ye,Streamer_SetRadiusMultiplier as Ie,Streamer_GetTypePriority as Rt,Streamer_SetTypePriority as bt,Streamer_GetCellDistance as vt,Streamer_SetCellDistance as wt,Streamer_GetCellSize as Ot,Streamer_SetCellSize as Gt,Streamer_ToggleItemStatic as Bt,Streamer_IsToggleItemStatic as Ft,Streamer_ToggleItemInvAreas as kt,Streamer_IsToggleItemInvAreas as Mt,Streamer_ToggleItemCallbacks as xt,Streamer_IsToggleItemCallbacks as Ht,Streamer_ToggleErrorCallback as Vt,Streamer_IsToggleErrorCallback as Ut,Streamer_AmxUnloadDestroyItems as Wt,Streamer_ProcessActiveItems as Kt,Streamer_ToggleIdleUpdate as Zt,Streamer_IsToggleIdleUpdate as jt,Streamer_ToggleCameraUpdate as Xt,Streamer_IsToggleCameraUpdate as Yt,Streamer_ToggleItemUpdate as zt,Streamer_IsToggleItemUpdate as Jt,Streamer_GetLastUpdateTime as $t,Streamer_Update as Qt,Streamer_UpdateEx as qt,Streamer_GetDistanceToItem as ea,Streamer_ToggleItem as ta,Streamer_IsToggleItem as aa,Streamer_ToggleAllItems as na,Streamer_GetItemInternalID as ia,Streamer_GetItemStreamerID as ra,Streamer_IsItemVisible as sa,Streamer_DestroyAllVisibleItems as la,Streamer_CountVisibleItems as oa,Streamer_DestroyAllItems as da,Streamer_CountItems as ca,Streamer_GetNearbyItems as _a,Streamer_GetAllVisibleItems as ha,Streamer_GetItemPos as ua,Streamer_SetItemPos as ma,Streamer_GetItemOffset as pa,Streamer_SetItemOffset as ga,Streamer_GetFloatData as Sa,Streamer_SetFloatData as ya,Streamer_GetIntData as Ia,Streamer_SetIntData as Pa,Streamer_GetArrayData as fa,Streamer_SetArrayData as Aa,Streamer_IsInArrayData as Ea,Streamer_AppendArrayData as Ca,Streamer_RemoveArrayData as Ta,Streamer_GetArrayDataLength as Da,Streamer_GetUpperBound as Na,MapIconStyles as La,StreamerDistances as ee,CreateDynamicMapIconEx as Ra,CreateDynamicMapIcon as ba,DestroyDynamicMapIcon as va,IsValidDynamicMapIcon as wa,StreamerItemTypes as E,CreateDynamicCPEx as Oa,CreateDynamicCP as Ga,DestroyDynamicCP as Pe,IsValidDynamicCP as fe,TogglePlayerDynamicCP as Ba,TogglePlayerAllDynamicCPs as Fa,IsPlayerInDynamicCP as ka,GetPlayerVisibleDynamicCP as Ma,CreateDynamicRaceCPEx as xa,CreateDynamicRaceCP as Ha,TogglePlayerDynamicRaceCP as Va,TogglePlayerAllDynamicRaceCPs as Ua,IsPlayerInDynamicRaceCP as Wa,GetPlayerVisibleDynamicRaceCP as Ka,DestroyDynamic3DTextLabel as Za,IsValidDynamic3DTextLabel as ja}from"@infernus/streamer";import{E_STREAMER as Em,MapIconStyles as Cm,MaterialTextSizes as Tm,StreamerAreaTypes as Dm,StreamerDistances as Nm,StreamerItemTypes as Lm,StreamerMiscellaneous as Rm,StreamerObjectTypes as bm}from"@infernus/streamer";const l=pt({transport:{target:"pino-pretty",options:{translateTime:"SYS:standard",ignore:"pid,hostname"}}});process.on("uncaughtException",e=>{l.error(e),process.exit(1)}),process.on("unhandledRejection",e=>{if(e instanceof Error){l.warn(e);return}l.warn(new Error(JSON.stringify(e)))});class P{constructor(t,a){this.defaultLocale=t,this.locales=a,this.defaultLocale=ne(t),this.locales=P.snakeLocaleKeys(a)}addLocales=t=>{gt(this.locales,P.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=St(this.locales,t)};$t=(t,a,n=this.defaultLocale)=>{const i=this.locales[ne(n)],r=ue(this.locales[this.defaultLocale],t),s=ue(i,t,r);if(s===void 0)return l.warn(`[i18n]: cannot find ${n}["${t}"]`),"undefined";if(typeof s!="string")return JSON.stringify(s);let o=s;if(a&&a.length){const d=/%s/i;for(let c=0;c<a.length&&o.match(d)!==null;c++)o=o.replace(d,a[c])}return o};static isValidate(t){ht(t)||(l.fatal(`[i18n]: unknown charset ${t}`),process.exit(1))}static encodeToBuf(t,a){return P.isValidate(a),[...ut(t,a),0]}static decodeFromBuf(t,a="utf8"){P.isValidate(a);const n=t instanceof Buffer?t:Buffer.from(t);return mt(n,a)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return yt(t,(a,n)=>ne(n))}}const J=new Map;function Ae(e){J.set(e,[])}function Xa(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function Ya(e,...t){const{defaultValue:a=!0,name:n,beforeEach:i,afterEach:r}=e,s=J.get(n);if(!s||!s.length)return+a;const o=i?i(...t):{},d=[];let c=-1;const m=()=>{if(c++,c<s.length){try{const p=s[c]({next:m,...o});return p instanceof Promise&&d.push(p),p}catch(p){const g=JSON.stringify(p),I=`executing event [name:${n},index:${c}] error: ${g}.`;l.error(I)}return a}return r&&(d.length?Promise.allSettled(d).then(()=>r(o)):r(o)),a};return Xa(m(),a)}function _(e){const{name:t,identifier:a,isNative:n=!0}=e;if(J.has(t)){const o=`event [name:${t}] error: already defined.`;throw l.error(o),new Error(o)}Ae(t);function i(...o){return Ya(e,...o)}function r(o){const d=J.get(t).push(o)-1;return()=>{const c=J.get(t)||[],m=c.length-1,p=m<d?m:d;for(let g=p;g>=0;g--)if(c[g]===o){c.splice(g,1);break}}}const s=[r,i];return n&&(a&&samp.registerEvent(t,a),samp.on(t,i)),s}const[za]=_({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[Ja]=_({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[$a]=_({name:"OnNpcModeInit"}),[Qa]=_({name:"OnNpcModeExit"}),[qa]=_({name:"OnNpcSpawn"}),[en]=_({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:P.decodeFromBuf(t)}}}),tn=Object.freeze({onConnect:za,onDisconnect:Ja,onModeInit:$a,onModeExit:Qa,onSpawn:qa,onClientMessage:en}),an=e=>!!samp.callNative("IsValidNickName","s",e),nn=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},rn=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),sn=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),ln=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),on=e=>!!samp.callNative("IsValidServerRule","s",e),dn=e=>!!samp.callNative("RemoveServerRule","s",e),cn=e=>{samp.callNative("AllowAdminTeleport","i",e)},_n=()=>!!samp.callNative("IsAdminTeleportAllowed",""),hn=e=>{samp.callNative("AllowInteriorWeapons","i",e)},un=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),mn=()=>!!samp.callNative("AreAllAnimationsEnabled",""),pn=e=>{samp.callNative("EnableAllAnimations","i",e)},gn=e=>samp.callNative("GetConsoleVarAsString","sAi",e,64),Sn=e=>samp.callNative("GetConsoleVarAsInt","s",e),yn=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),In=()=>samp.callNative("GetWeather",""),Pn=e=>samp.callNative("GetServerRuleFlags","s",e),fn=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),An=e=>!!samp.callNative("SetModeRestartTime","f",e),En=()=>samp.callNativeFloat("GetModeRestartTime",""),Cn=(e,t,a)=>samp.callNative("GameTextForAll","sii",e,t,a),Tn=e=>{samp.callNative("HideGameTextForAll","i",e)},Dn=(e,t,a)=>samp.callNative("SendDeathMessage","iii",e,t,a),Nn=()=>samp.callNative("GetMaxPlayers",""),Ln=(e,t,a)=>Math.sqrt(e*e+t*t+a*a),Rn=e=>samp.callNative("SetGameModeText","s",e),bn=e=>samp.callNative("ShowNameTags","i",e),vn=e=>samp.callNative("ShowPlayerMarkers","i",e),wn=e=>samp.callNative("SetWorldTime","i",e),On=()=>samp.callNative("GetWorldTime",""),Gn=()=>samp.callNative("EnableVehicleFriendlyFire",""),Bn=e=>samp.callNative("SetWeather","i",e),Fn=()=>samp.callNativeFloat("GetGravity",""),kn=e=>samp.callNative("SetGravity","f",e),Mn=(e,t,a,n,i)=>samp.callNative("CreateExplosion","fffif",e,t,a,n,i),xn=e=>samp.callNative("EnableZoneNames","i",e),Hn=()=>samp.callNative("UsePlayerPedAnims",""),Vn=()=>samp.callNative("DisableInteriorEnterExits",""),Un=e=>samp.callNative("SetNameTagDrawDistance","f",e),Wn=()=>samp.callNative("DisableNameTagLOS",""),Kn=e=>samp.callNative("LimitGlobalChatRadius","f",e),Zn=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),jn=(e,t)=>samp.callNative("ConnectNPC","ss",e,t),Xn=()=>samp.callNative("GetServerTickRate",""),Yn=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),zn=e=>samp.callNative("EnableStuntBonusForAll","i",e),Jn=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},$n=()=>!!samp.callNative("ChatTextReplacementToggled",""),Qn=e=>samp.callNative("GetWeaponSlot","i",e),qn=e=>{const[t]=samp.callNative("GetWeaponName","iSi",e,32);return t},Ee=()=>samp.callNative("GetAvailableClasses",""),ei=e=>{if(e<Ee()||e>319)return!1;const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[a,n=0,i=0,r=0,s=0,o=0,d=0,c=0,m=0,p=0,g=0,I=0]=t;return{teamId:a,modelId:n,spawn_x:i,spawn_y:r,spawn_z:s,z_angle:o,weapon1:d,weapon1_ammo:c,weapon2:m,weapon2_ammo:p,weapon3:g,weapon3_ammo:I}},ti=(e,t,a,n,i,r,s,o,d,c,m,p,g)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,a,n,i,r,s,o,d,c,m,p,g),ai=e=>samp.callNative("SetTeamCount","i",e),ni=(e,t,a,n,i,r,s,o,d,c,m)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,a,n,i,r,s,o,d,c,m),ii=(e,t,a,n,i,r,s,o,d,c,m,p)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,a,n,i,r,s,o,d,c,m,p),ri=(e,t,a,n,i,r,s,o,d,c,m,p,g)=>samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,a,n,i,r,s,o,d,c,m,p,g),si=e=>samp.callNative("SpawnPlayer","i",e),li=e=>{const[t,a=0,n=0,i=0,r=0,s=0,o=0,d=0,c=0,m=0,p=0,g=0]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:a,spawn_x:n,spawn_y:i,spawn_z:r,z_angle:s,weapon1:o,weapon1_ammo:d,weapon2:c,weapon2_ammo:m,weapon3:p,weapon3_ammo:g}},oi=e=>samp.callNative("NetStats_GetConnectedTime","i",e),di=e=>samp.callNative("NetStats_MessagesReceived","i",e),ci=e=>samp.callNative("NetStats_BytesReceived","i",e),_i=e=>samp.callNative("NetStats_MessagesSent","i",e),hi=e=>samp.callNative("NetStats_BytesSent","i",e),ui=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),mi=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),pi=e=>samp.callNative("NetStats_ConnectionStatus","i",e),gi=e=>{const[t]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return t},Si=e=>!!samp.callNative("IsPlayerAdmin","i",e),yi=(e,t)=>samp.callNative("SetPlayerAdmin","ii",e,t),Ii=e=>samp.callNative("Kick","i",e),Pi=e=>samp.callNative("Ban","i",e),fi=e=>{const[t]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return t},Ai=()=>samp.callNative("GetNetworkStats","Si",1024),Ei=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),Ci=e=>samp.callNative("UnBlockIpAddress","s",e),Ti=(e,t)=>{const[a]=samp.callNative("gpci","iAi",e,41);return P.decodeFromBuf(P.getValidStr(a),t)},Di=(e,t,a,n,i)=>samp.callNative("SendClientCheck","iiiii",e,t,a,n,i),Ni=()=>{samp.callNative("ClearBanList","")},Li=e=>!!samp.callNative("IsBanned","s",e),Ri=e=>samp.callNative("GetPlayerRawIp","i",e),bi=e=>{const[t]=samp.callNative("GetPlayerIp","iSi",e,128);return t},vi=e=>{const[t]=samp.callNative("GetPlayerVersion","iSi",e,24);return t},y=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(n=>parseInt(n,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 a=0;return t.reverse().forEach((n,i)=>{n!==0&&(a+=Math.pow(16,i*2)*n)}),a},wi=(e,t)=>samp.callNative("TogglePlayerWidescreen","ii",e,t),Oi=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),Gi=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),Bi=e=>samp.callNative("GetPlayerWeather","i",e),Fi=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{x_max:t,x_min:a,y_max:n,y_min:i}},ki=e=>samp.callNativeFloat("GetPlayerZAim","i",e),Mi=e=>{const[t=0,a=0,n=0]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:a,fOffsetZ:n}},xi=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:a,y:n,z:i}},Hi=e=>samp.callNative("GetPlayerDialogID","i",e),Vi=e=>samp.callNative("GetPlayerSpectateID","i",e),Ui=e=>samp.callNative("GetPlayerSpectateType","i",e),Wi=(e,t)=>samp.callNative("SetPlayerGravity","if",e,t),Ki=e=>samp.callNativeFloat("GetPlayerGravity","i",e),Zi=e=>!!samp.callNative("IsPlayerSpawned","i",e),ji=e=>!!samp.callNative("IsPlayerControllable","i",e),Xi=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),Yi=(e,t)=>samp.callNative("TogglePlayerGhostMode","ii",e,t),zi=e=>!!samp.callNative("GetPlayerGhostMode","i",e),Ji=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),$i=(e,t)=>samp.callNative("RemovePlayerWeapon","ii",e,t),Qi=e=>samp.callNative("HidePlayerDialog","i",e),qi=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),er=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),tr=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),ar=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),nr=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),ir=(e,t,a,n)=>!!samp.callNative("GameTextForPlayer","isii",e,t,a,n),rr=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),sr=(e,t,a,n)=>samp.callNative("SendDeathMessageToPlayer","iiii",e,t,a,n),lr=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),or=e=>!!samp.callNative("IsPlayerNPC","i",e),Ce=(e,t,a,n)=>samp.callNative("SetPlayerPos","ifff",e,t,a,n),dr=(e,t,a,n)=>samp.callNative("SetPlayerPosFindZ","ifff",e,t,a,n),cr=e=>samp.callNative("GetPlayerPos","iFFF",e),_r=(e,t)=>samp.callNative("SetPlayerFacingAngle","if",e,t),hr=e=>{const[t]=samp.callNative("GetPlayerFacingAngle","iF",e);return t},ur=(e,t,a,n,i)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,a,n,i),mr=(e,t,a,n)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,a,n),pr=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),gr=(e,t)=>samp.callNative("SetPlayerInterior","ii",e,t),Sr=e=>samp.callNative("GetPlayerInterior","i",e),yr=(e,t)=>samp.callNative("SetPlayerHealth","if",e,t),Ir=e=>{const[t]=samp.callNative("GetPlayerHealth","iF",e);return t},Pr=(e,t)=>samp.callNative("SetPlayerArmour","if",e,t),fr=e=>{const[t]=samp.callNative("GetPlayerArmour","iF",e);return t},Ar=(e,t,a)=>samp.callNative("SetPlayerAmmo","iii",e,t,a),Er=e=>samp.callNative("GetPlayerAmmo","i",e),Cr=e=>samp.callNative("GetPlayerWeaponState","i",e),Tr=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Dr=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},Nr=e=>samp.callNative("GetPlayerTeam","i",e),Lr=(e,t)=>samp.callNative("SetPlayerScore","ii",e,t),Rr=e=>samp.callNative("GetPlayerScore","i",e),br=e=>samp.callNative("GetPlayerDrunkLevel","i",e),vr=(e,t)=>samp.callNative("SetPlayerDrunkLevel","ii",e,t),wr=(e,t)=>samp.callNative("SetPlayerColor","ii",e,y(t)),Or=e=>samp.callNative("GetPlayerColor","i",e),Gr=(e,t)=>samp.callNative("SetPlayerSkin","ii",e,t),Br=e=>samp.callNative("GetPlayerSkin","i",e),Fr=(e,t,a)=>samp.callNative("GivePlayerWeapon","iii",e,t,a),kr=e=>samp.callNative("ResetPlayerWeapons","i",e),Mr=(e,t)=>samp.callNative("SetPlayerArmedWeapon","ii",e,t),xr=(e,t)=>samp.callNative("GetPlayerWeaponData","iiII",e,t),Hr=(e,t)=>samp.callNative("GivePlayerMoney","ii",e,t),Vr=e=>samp.callNative("ResetPlayerMoney","i",e),Ur=e=>samp.callNative("GetPlayerMoney","i",e),Wr=e=>samp.callNative("GetPlayerState","i",e),Kr=e=>samp.callNative("GetPlayerPing","i",e),Zr=e=>samp.callNative("GetPlayerWeapon","i",e),jr=e=>samp.callNative("GetPlayerKeys","iIII",e),Xr=(e,t,a)=>samp.callNative("SetPlayerTime","iii",e,t,a),Yr=e=>samp.callNative("GetPlayerTime","iII",e),zr=(e,t)=>samp.callNative("TogglePlayerClock","ii",e,t),Jr=(e,t)=>samp.callNative("SetPlayerWeather","ii",e,t),$r=e=>samp.callNative("ForceClassSelection","i",e),Qr=(e,t)=>samp.callNative("SetPlayerWantedLevel","ii",e,t),qr=e=>samp.callNative("GetPlayerWantedLevel","i",e),es=(e,t)=>samp.callNative("SetPlayerFightingStyle","ii",e,t),ts=e=>samp.callNative("GetPlayerFightingStyle","i",e),as=(e,t,a,n)=>samp.callNative("SetPlayerVelocity","ifff",e,t,a,n),ns=e=>samp.callNative("GetPlayerVelocity","iFFF",e),is=(e,t,a)=>samp.callNative("PlayCrimeReportForPlayer","iii",e,t,a),rs=(e,t,a,n,i,r,s=!1)=>samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,a,n,i,r,s),ss=e=>samp.callNative("StopAudioStreamForPlayer","i",e),ls=(e,t)=>samp.callNative("SetPlayerShopName","is",e,t),os=(e,t,a)=>samp.callNative("SetPlayerSkillLevel","iii",e,t,a),ds=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),cs=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),_s=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),hs=(e,t,a,n,i,r)=>samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,a,n,i,r),us=e=>samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e),ms=(e,t,a,n,i)=>samp.callNative("SetPlayerChatBubble","isifi",e,t,y(a),n,i),ps=(e,t,a)=>samp.callNative("PutPlayerInVehicle","iii",e,t,a),gs=e=>samp.callNative("GetPlayerVehicleID","i",e),Ss=e=>samp.callNative("GetPlayerVehicleSeat","i",e),ys=e=>samp.callNative("RemovePlayerFromVehicle","i",e),Is=(e,t)=>samp.callNative("TogglePlayerControllable","ii",e,t),Ps=(e,t,a,n,i)=>samp.callNative("PlayerPlaySound","iifff",e,t,a,n,i),fs=(e,t,a,n,i,r,s,o,d,c)=>samp.callNative("ApplyAnimation","issfiiiiii",e,t,a,n,i,r,s,o,d,c),As=(e,t)=>samp.callNative("ClearAnimations","ii",e,t),Es=e=>samp.callNative("GetPlayerAnimationIndex","i",e),Cs=e=>samp.callNative("GetPlayerSpecialAction","i",e),Ts=(e,t)=>samp.callNative("SetPlayerSpecialAction","ii",e,t),Ds=(e,t)=>samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),Ns=(e,t)=>samp.callNative("SetPlayerVirtualWorld","ii",e,t),Ls=e=>samp.callNative("GetPlayerVirtualWorld","i",e),Rs=(e,t)=>samp.callNative("EnableStuntBonusForPlayer","ii",e,t),bs=e=>samp.callNative("GetPlayerCustomSkin","i",e),vs=(e,t,a,n,i,r)=>samp.callNative("CreateExplosionForPlayer","ifffif",e,t,a,n,i,r),ws=(e,t,a)=>samp.callNative("StartRecordingPlayerData","iis",e,t,a),Os=e=>samp.callNative("StopRecordingPlayerData","i",e),Gs=(e,t)=>samp.callNative("TogglePlayerSpectating","ii",e,t),Bs=(e,t,a)=>samp.callNative("PlayerSpectatePlayer","iii",e,t,a),Fs=(e,t,a)=>samp.callNative("PlayerSpectateVehicle","iii",e,t,a),Te=e=>!!samp.callNative("IsPlayerConnected","i",e),ks=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),Ms=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),xs=(e,t,a,n,i)=>samp.callNative("SetPlayerWorldBounds","iffff",e,t,a,n,i),Hs=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),Vs=(e,t,a)=>samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,y(a));function Us(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",t)}const Ws=(e,t,a)=>samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,a),Ks=(e,t,a,n)=>samp.callNative("SetPlayerCameraPos","ifff",e,t,a,n),Zs=(e,t,a,n,i)=>samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,a,n,i),js=e=>samp.callNative("SetCameraBehindPlayer","i",e),Xs=e=>samp.callNative("GetPlayerCameraPos","iFFF",e),Ys=e=>samp.callNative("GetPlayerCameraFrontVector","iFFF",e),zs=e=>samp.callNative("GetPlayerCameraMode","i",e),Js=(e,t)=>samp.callNative("EnablePlayerCameraTarget","ii",e,t),$s=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),Qs=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),qs=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),el=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),tl=(e,t,a,n,i,r,s,o,d)=>samp.callNative("InterpolateCameraPos","iffffffii",e,t,a,n,i,r,s,o,d),al=(e,t,a,n,i,r,s,o,d)=>samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,a,n,i,r,s,o,d),nl=e=>!!samp.callNative("IsPlayerCuffed","i",e),il=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),rl=(e,t)=>samp.callNative("StartRecordingPlayback","is",e,t),sl=()=>samp.callNative("StopRecordingPlayback",""),ll=()=>samp.callNative("PauseRecordingPlayback",""),ol=()=>samp.callNative("ResumeRecordingPlayback",""),dl=e=>samp.callNative("GetActorSkin","i",e),cl=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),_l=e=>{const[t=0,a=0,n=0,i=0,r=0]=samp.callNative("GetActorSpawnInfo","iIFFFF",e);return{skinId:t,fX:a,fY:n,fZ:i,fAngle:r}},hl=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:a,fZ:n,fRot:i,color1:r,color2:s}},ul=(e,t,a,n,i,r,s,o,d=-2,c=-2)=>samp.callNative("SetVehicleSpawnInfo","iiFFFFiiii",e,t,a,n,i,r,s,o,d,c),ml=e=>{const[t=0,a=0]=samp.callNative("GetVehicleColor","i",e);return{color1:t,color2:a}},pl=e=>samp.callNative("GetVehiclePaintjob","i",e),gl=e=>samp.callNative("GetVehicleInterior","i",e),Sl=e=>{const[t]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return t},yl=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),Il=e=>samp.callNative("GetVehicleRespawnDelay","i",e),Pl=e=>samp.callNative("GetVehicleCab","i",e),fl=e=>samp.callNative("GetVehicleOccupiedTick","i",e),Al=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),El=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),Cl=e=>!!samp.callNative("IsVehicleOccupied","i",e),Tl=e=>samp.callNative("GetVehicleRespawnTick","i",e),Dl=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),Nl=e=>!!samp.callNative("IsVehicleDead","i",e),Ll=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),Rl=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),bl=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),vl=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),wl=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),Ol=e=>samp.callNative("GetVehicleModelCount","i",e),Gl=e=>samp.callNative("GetVehicleLastDriver","i",e),Bl=e=>samp.callNative("GetVehicleDriver","i",e),Fl=()=>samp.callNative("GetVehicleModelsUsed",""),kl=e=>samp.callNative("GetVehicleSirenState","i",e),Ml=e=>samp.callNative("GetVehicleLandingGearState","i",e),xl=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),Hl=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),Vl=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0,o=0,d=0,c=0]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:a,rightZ:n,upX:i,upY:r,upZ:s,atX:o,atY:d,atZ:c}},De=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,a,n,i]}},Ul=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),Wl=(e,t,a,n,i,r,s,o,d)=>samp.callNative("CreateVehicle","iffffiiii",e,t,a,n,i,y(r),y(s),o,d),Kl=e=>samp.callNative("DestroyVehicle","i",e),Zl=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),jl=e=>{const t=samp.callNative("GetVehiclePos","iFFF",e);if(t.length<3)throw new Error("VehicleID "+e+" not found");return{x:t[0],y:t[1],z:t[2]}},Xl=(e,t,a,n)=>samp.callNative("SetVehiclePos","ifff",e,t,a,n),Yl=e=>{const[t]=samp.callNative("GetVehicleZAngle","iF",e);return t},zl=e=>samp.callNative("GetVehicleRotationQuat","iFFFF",e),Jl=(e,t,a,n)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,a,n),$l=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),Ql=(e,t,a,n)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,a,n),ql=()=>samp.callNative("ManualVehicleEngineAndLights",""),eo=(e,t,a,n,i,r,s,o)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,a,n,i,r,s,o),to=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),ao=e=>samp.callNative("GetVehicleParamsSirenState","i",e),no=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,a,n,i),io=e=>{const t=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},ro=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,a,n,i),so=e=>{const t=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},lo=e=>samp.callNative("SetVehicleToRespawn","i",e),oo=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),co=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),_o=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),ho=(e,t,a)=>samp.callNative("ChangeVehicleColor","iii",e,y(t),y(a)),uo=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),mo=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),po=e=>{const[t]=samp.callNative("GetVehicleHealth","iF",e);return t},go=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),So=e=>samp.callNative("DetachTrailerFromVehicle","i",e),yo=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),Io=e=>samp.callNative("GetVehicleTrailer","i",e),Po=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),fo=e=>samp.callNative("GetVehicleModel","i",e),Ao=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),Eo=e=>samp.callNative("GetVehicleComponentType","i",e),Co=e=>samp.callNative("RepairVehicle","i",e),To=e=>samp.callNative("GetVehicleVelocity","iFFF",e),Do=(e,t,a,n)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,a,n),No=(e,t,a,n)=>samp.callNative("SetVehicleAngularVelocity","ifff",e,t,a,n),Lo=e=>{const t=samp.callNative("GetVehicleDamageStatus","iIIII",e);if(t.length<4)throw new Error("VehicleID "+e+" not found");return{panels:t[0],doors:t[1],lights:t[2],tires:t[3]}},Ro=(e,t,a,n,i)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,a,n,i),bo=(e,t)=>{const a=samp.callNative("GetVehicleModelInfo","iiFFF",e,t);if(a.length<3)throw new Error("ModelID "+e+" not found");return{x:a[0],y:a[1],z:a[2]}},vo=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),wo=e=>samp.callNative("GetVehicleVirtualWorld","i",e),Ne=e=>!!samp.callNative("IsValidVehicle","i",e),Oo=(e,t,a,n,i,r,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,a,n,i,r,s),Go=(e,t,a,n,i,r,s,o,d)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,a,n,i,r,s,o,d),Bo=e=>!!samp.callNative("ShowVehicle","i",e),Fo=e=>!!samp.callNative("HideVehicle","i",e),ko=e=>!!samp.callNative("IsVehicleHidden","i",e),Mo=e=>!!samp.callNative("IsPlayerInModShop","i",e),xo=e=>samp.callNative("GetPlayerSirenState","i",e),Ho=e=>samp.callNative("GetPlayerLandingGearState","i",e),Vo=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),Uo=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),Wo=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),Ko=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:a,fZ:n,fSize:i}},Zo=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),jo=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0,o=0]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:a,fZ:n,fNextX:i,fNextY:r,fNextZ:s,fSize:o}},Xo=e=>!!samp.callNative("IsMenuDisabled","i",e),Yo=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),zo=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),Jo=e=>{const[t=0,a=0]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:a}},$o=e=>{const[t=0,a=0]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:a}},Qo=(e,t)=>{const[a]=samp.callNative("GetMenuColumnHeader","iiSi",e,t,31);return a},qo=(e,t,a)=>{const[n]=samp.callNative("GetMenuItem","iiiSi",e,t,a,31);return n},ed=(e,t,a,n,i,r)=>samp.callNative("CreateMenu","siffff",e,t,a,n,i,r),td=e=>samp.callNative("DestroyMenu","i",e),ad=(e,t,a)=>samp.callNative("AddMenuItem","iis",e,t,a),nd=(e,t,a)=>samp.callNative("SetMenuColumnHeader","iis",e,t,a),id=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),rd=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),sd=e=>!!samp.callNative("IsValidMenu","i",e),ld=e=>samp.callNative("DisableMenu","i",e),od=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),dd=e=>samp.callNative("GetPlayerMenu","i",e),cd=e=>!!samp.callNative("IsValidGangZone","i",e),_d=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),hd=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),ud=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),md=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),pd=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),gd=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:a,fMaxX:n,fMaxY:i}},Sd=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},yd=(e,t,a,n)=>samp.callNative("GangZoneCreate","ffff",e,t,a,n),Id=e=>samp.callNative("GangZoneDestroy","i",e),Pd=(e,t,a)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,y(a)),fd=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,y(t)),Ad=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),Ed=e=>samp.callNative("GangZoneHideForAll","i",e),Cd=(e,t,a)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,y(a)),Td=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,y(t)),Dd=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),Nd=e=>samp.callNative("GangZoneStopFlashForAll","i",e),Ld=(e,t,a,n,i)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,a,n,i),Rd=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),bd=(e,t,a)=>samp.callNative("PlayerGangZoneShow","iii",e,t,a),vd=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),wd=(e,t,a)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,a),Od=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),Gd=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),Bd=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),Fd=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),kd=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),Md=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),xd=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),Hd=(e,t)=>{const[a=0,n=0,i=0,r=0]=samp.callNative("PlayerGangZoneGetPos","iiFFFF",e,t);return{fMinX:a,fMinY:n,fMaxX:i,fMaxY:r}},Vd=(e,t,a)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,a)},Ud=e=>!!samp.callNative("IsValidTextDraw","i",e),Wd=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),Kd=e=>{const[t]=samp.callNative("TextDrawGetString","iSi",e,1024);return t},Zd=(e,t,a)=>{samp.callNative("TextDrawSetPos","iff",e,t,a)},jd=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:a}},Xd=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:a}},Yd=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:a}},zd=e=>samp.callNative("TextDrawGetColor","i",e),Jd=e=>samp.callNative("TextDrawGetBoxColor","i",e),$d=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),Qd=e=>samp.callNative("TextDrawGetShadow","i",e),qd=e=>samp.callNative("TextDrawGetOutline","i",e),ec=e=>samp.callNative("TextDrawGetFont","i",e),tc=e=>!!samp.callNative("TextDrawIsBox","i",e),ac=e=>!!samp.callNative("TextDrawIsProportional","i",e),nc=e=>!!samp.callNative("TextDrawIsSelectable","i",e),ic=e=>samp.callNative("TextDrawGetAlignment","i",e),rc=e=>samp.callNative("TextDrawGetPreviewModel","i",e),sc=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:a,fRotZ:n,fZoom:i}},lc=e=>{const[t,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:a}},oc=(e,t,a)=>{samp.callNative("TextDrawSetStringForPlayer","iis",e,t,a)},dc=(e,t,a)=>samp.callNative("TextDrawCreate","ffs",e,t,a),cc=e=>samp.callNative("TextDrawDestroy","i",e),_c=(e,t,a)=>samp.callNative("TextDrawLetterSize","iff",e,t,a),hc=(e,t,a)=>samp.callNative("TextDrawTextSize","iff",e,t,a),uc=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),mc=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,y(t)),pc=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),gc=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,y(t)),Sc=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),yc=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),Ic=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,y(t)),Pc=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),fc=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),Ac=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),Ec=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),Cc=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),Tc=e=>samp.callNative("TextDrawShowForAll","i",e),Dc=e=>samp.callNative("TextDrawHideForAll","i",e),Nc=(e,t)=>samp.callNative("TextDrawSetString","is",e,t),Lc=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),Rc=(e,t,a,n,i=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,a,n,i)},bc=(e,t,a)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,y(t),y(a)),vc=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,y(t))},wc=e=>{samp.callNative("CancelSelectTextDraw","i",e)},Oc=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),Gc=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),Bc=(e,t)=>samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024),Fc=(e,t,a,n)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,a,n)},kc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:a,fY:n}},Mc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:a,fY:n}},xc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:a,fY:n}},Hc=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),Vc=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),Uc=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),Wc=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),Kc=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),Zc=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),jc=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),Xc=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),Yc=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),zc=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),Jc=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),$c=(e,t)=>{const[a=0,n=0,i=0,r=0]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:a,fRotY:n,fRotZ:i,fZoom:r}},Qc=(e,t)=>{const[a,n]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:a,color2:n}},qc=(e,t,a,n)=>samp.callNative("CreatePlayerTextDraw","iffs",e,t,a,n),e_=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},t_=(e,t,a,n)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,a,n),a_=(e,t,a,n)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,a,n),n_=(e,t,a)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,a),i_=(e,t,a)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,y(a)),r_=(e,t,a)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,a),s_=(e,t,a)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,y(a)),l_=(e,t,a)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,a),o_=(e,t,a)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,a),d_=(e,t,a)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,y(a)),c_=(e,t,a)=>samp.callNative("PlayerTextDrawFont","iii",e,t,a),__=(e,t,a)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,a),h_=(e,t,a)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,a),u_=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),m_=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),p_=(e,t,a)=>samp.callNative("PlayerTextDrawSetString","iis",e,t,a),g_=(e,t,a)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,a),S_=(e,t,a,n,i,r)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,a,n,i,r),y_=(e,t,a,n)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,a,n),I_=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),P_=e=>!!samp.callNative("BeginObjectSelecting","i",e),f_=e=>!!samp.callNative("EndObjectEditing","i",e),A_=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),E_=(e,t,a,n,i)=>samp.callNative("AddSimpleModel","iiiss",e,t,a,n,i),C_=(e,t,a,n,i,r,s)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,a,n,i,r,s),T_=(e,t)=>samp.callNative("RedirectDownload","is",e,t),D_=e=>{const[t]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return t},N_=e=>{const[t]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return t},L_=(e,t)=>{const[a=0,n=0,i=0,r=0,s=0,o=0,d=0,c=0,m=0,p=0,g=0,I=0,A=0]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:a,bone:n,fX:i,fY:r,fZ:s,fRotX:o,fRotY:d,fRotZ:c,fScaleX:m,fScaleY:p,fScaleZ:g,materialColor1:I,materialColor2:A}},R_=(e,t,a,n,i,r,s,o,d,c,m,p,g,I,A)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,a,n,i,r,s,o,d,c,m,p,g,y(I),y(A)),b_=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),v_=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),Le=e=>!!samp.callNative("IsValidCustomModel","i",e),w_=e=>{if(!Le(e))return null;const[t,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:a}};var Re=(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))(Re||{}),be=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(be||{}),ie=(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))(ie||{}),ve=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(ve||{}),we=(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))(we||{}),C=(e=>(e[e.NO_TEAM=255]="NO_TEAM",e[e.PLAYER_ID=65535]="PLAYER_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))(C||{}),Oe=(e=>(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))(Oe||{}),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))(w||{}),Ge=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(Ge||{}),Be=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(Be||{}),O=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(O||{}),Fe=(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))(Fe||{}),ke=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(ke||{}),Me=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(Me||{}),xe=(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))(xe||{}),He=(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))(He||{}),te=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(te||{}),Ve=(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))(Ve||{}),ae=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(ae||{}),X=(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))(X||{}),Ue=(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))(Ue||{}),We=(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))(We||{}),re=(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))(re||{}),$=(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))($||{}),Ke=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(Ke||{}),Ze=(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))(Ze||{}),je=(e=>(e[e.UNSET=0]="UNSET",e[e.OFF=1]="OFF",e[e.ON=2]="ON",e))(je||{}),Xe=(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))(Xe||{}),Ye=(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.NITESTICK=3]="NITESTICK",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))(Ye||{}),ze=(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))(ze||{}),Je=(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))(Je||{}),$e=(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))($e||{}),se=(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))(se||{}),Qe=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(Qe||{});class G{constructor(){}static recordStatus;static connectNPC=jn;static startRecordingPlayerData(t,a,n){if(t.isRecording)return l.warn("[NpcFunc]: It should be stopped before recording");ws(t.id,a,n),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)return l.warn("[NpcFunc]: It should be started before stop");Os(t.id),t.isRecording=!1}static startRecordingPlayback(t,a){if(G.recordStatus>=O.start)return l.warn("[NpcFunc]: The current status cannot be replayed");rl(t,a),G.recordStatus=O.start}static stopRecordingPlayback(){if(G.recordStatus<O.start)return l.warn("[NpcFunc]: The current status cannot be stopped");sl(),G.recordStatus=O.none}static pauseRecordingPlayback(){if(G.recordStatus!==O.start)return l.warn("[NpcFunc]: The current status cannot be paused");ll(),G.recordStatus=O.pause}static resumeRecordingPlayback(){if(G.recordStatus!==O.pause)return l.warn("[NpcFunc]: The current status cannot be paused");ol(),G.recordStatus=O.start}}const O_=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}]]]),G_=e=>{const t=O_.get(e);return t===void 0?!1:t},qe=(e,t)=>{const a=G_(e);if(a)return a.find(n=>n.n===t)?.d},V=(e,t)=>{const a=t.replace("-","")==="utf8"?e:P.encodeToBuf(e,t);return[a instanceof Array?"a":"s",a]},et=(e,t,a)=>{const n=V(a,e.charset);return samp.callNative("SendClientMessage",`ii${n[0]}`,e.id,y(t),n[1])},B_=(e,t,a)=>(e.forEach(n=>et(n,t,a)),1),tt=(e,t,a)=>{const n=V(a,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${n[0]}`,e.id,t,n[1])},F_=(e,t,a)=>(e.forEach(n=>{tt(n,t,a)}),1),k_=(e,t,a)=>{const{charset:n}=e,{style:i,caption:r,info:s,button1:o,button2:d}=a,[c,m]=V(r||"",n),[,p]=V(s||"",n),[,g]=V(o||"",n),[,I]=V(d||"",n);return samp.callNative("ShowPlayerDialog",`iii${c.repeat(4)}`,e.id,t,i,m,p,g,I)},M_=e=>{const t=samp.callNative("GetPlayerName","iAi",e.id,w.MAX_PLAYER_NAME);return P.decodeFromBuf(P.getValidStr(t),e.charset)},x_=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,P.encodeToBuf(t,e.charset)),H_=(e,t,a)=>{const n=P.encodeToBuf(t,a);return samp.callNative("BanEx","ia",e,n)},V_=(e,t="utf8")=>{const[a,n]=V(e,t);return samp.callNative("SendRconCommand",a,n)},U_=(e,t,a,n,i,r,s,o,d,c,m,p,g,I,A,b)=>{const M=P.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",M,a,n,i,r,s,o,d,c,m,p,g,I,A,b)},W_=(e,t,a,n,i,r,s,o,d,c,m,p,g,I,A,b)=>{const M=P.encodeToBuf(e,b);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",M,t,a,n,i,r,s,o,d,c,m,p,g,I,A,m.length,p.length,g.length,I.length)},K_=(e,t,a,n)=>{const i=P.encodeToBuf(a,n);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,i)},Z_=(e,t)=>{const a=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return P.decodeFromBuf(P.getValidStr(a),t)},j_=(e,t,a,n,i,r,s,o,d,c,m)=>{const p=P.encodeToBuf(n,e),g=P.encodeToBuf(r,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,a,p,i,g,s,o,d,c,m)},X_=(e,t,a)=>{const[n,i,r,s,o,d,c]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),m=P.decodeFromBuf(n,a),p=P.decodeFromBuf(r,a);return{text:m,materialSize:i,fontFace:p,bold:s,fontColor:o,backColor:d,textAlignment:c}},[at]=_({name:"OnGameModeInit"}),[nt]=_({name:"OnGameModeExit"}),[Y_]=_({name:"OnIncomingConnection",beforeEach(e,t,a){return{playerId:e,ipAddress:t,port:a}}}),[z_]=_({name:"OnRconCommandI18n",identifier:"ai",beforeEach(e){return{buffer:e,cmd:P.decodeFromBuf(e)}}}),[J_]=_({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,a){return{ip:P.decodeFromBuf(e),password:P.decodeFromBuf(t),success:!!a,ipBuffer:e,passwordBuffer:t}}}),U=[],Y=[],le=e=>{setTimeout(async()=>{try{const t=U.findIndex(n=>n.name===e);if(t===-1)return;const a=U[t];await a.load(),U.splice(t,1),Y.push(a)}catch(t){l.error(`[GameMode]: script ${e} load fail`),l.warn(new Error(JSON.stringify(t)))}})},oe=e=>{setTimeout(async()=>{try{const t=Y.findIndex(n=>n.name===e);if(t===-1)return;const a=Y[t];await a.unload(),Y.splice(t,1),U.push(a)}catch(t){l.error(`[GameMode]: script ${e} unload fail`),l.warn(new Error(JSON.stringify(t)))}})},$_=e=>{oe(e),le(e)};at(({next:e})=>(U.forEach(t=>le(t.name)),e())),nt(({next:e})=>(Y.forEach(t=>oe(t.name)),e()));const Q_=function(e,...t){if(U.some(a=>a===e)||Y.some(a=>a===e)){l.warn("[GameMode]: script has already been applied");return}e.load=e.load.bind(e,...t),U.push(e)};var q_={use(e,...t){return Q_(e,...t),this},loadUseScript:le,reloadUseScript:$_,unloadUseScript:oe,supportAllNickname(){for(let e=0;e<=255;e++)this.isNickNameCharacterAllowed(e)||this.allowNickNameCharacter(e,!0)},setWeather(e){return e<0||e>255?(l.error("[GameMode]: The valid weather value is only 0 to 255"),0):Bn(e)},setWorldTime(e){return e<0||e>23?(l.error("[GameMode]: The valid hour value is only 0 to 23"),0):wn(e)},getWorldTime:On,setTeamCount:ai,sendRconCommand:V_,addPlayerClass:ni,addPlayerClassEx:ii,createExplosion(e,t,a,n,i){return n<0||n>13?(l.error("[GameMode]: The valid explosion type value is only 0 to 13"),0):Mn(e,t,a,n,i)},manualVehicleEngineAndLights:ql,blockIpAddress:Ei,unBlockIpAddress:Ci,getServerTickRate:Xn,addSimpleModel(e,t,a,n,i){return this.checkSimpleModel(e,t,a,n,i)?E_(e,t,a,n,i):0},addSimpleModelTimed(e,t,a,n,i,r,s){return this.checkSimpleModel(e,t,a,n,i,r,s)?C_(e,t,a,n,i,r,s):0},checkSimpleModel(e,t,a,n,i,r,s){return e<-1?(l.error("[GameMode]: AddSimpleModel - Error virtual world"),0):t<0?(l.error("[GameMode]: AddSimpleModel - Error baseId"),0):a>-1e3||a<-3e4?(l.error("[GameMode]: AddSimpleModel - Error newId range"),0):n.trim().length<0?(l.error("[GameMode]: AddSimpleModel - Empty dffName"),0):i.trim().length<0?(l.error("[GameMode]: AddSimpleModel - Empty txdName"),0):r!==void 0&&(r<0||r>23)?(l.error("[GameMode]: AddSimpleModel - Error time on range"),0):s!==void 0&&(s<0||s>23)?(l.error("[GameMode]: AddSimpleModel - Error time off range"),0):1},isValidCustomModel:Le,getCustomModePath:w_,getConsoleVarAsString(e,t="utf8"){const a=gn(e);return P.decodeFromBuf(P.getValidStr(a),t)},getRestartTime:En,setRestartTime:An,allowAdminTeleport:cn,isAdminTeleportAllowed:_n,allowInteriorWeapons:hn,areInteriorWeaponsAllowed:un,areAllAnimationsEnabled:mn,enableAllAnimations:pn,enableStuntBonusForAll:zn,enableVehicleFriendlyFire:Gn,enableZoneNames:xn,disableInteriorEnterExits:Vn,setGameModeText:Rn,getGravity:Fn,setGravity:kn,showNameTags:bn,disableNameTagLOS:Wn,usePlayerPedAnims:Hn,showPlayerMarkers:vn,limitPlayerMarkerRadius:Zn,limitGlobalChatRadius:Kn,setNameTagDrawDistance:Un,findModelFileNameFromCRC:D_,findTextureFileNameFromCRC:N_,getWeaponName:qn,setObjectsDefaultCameraCollision:A_,vectorSize:Ln,clearBanList:Ni,isBanned:Li,isValidNickName:an,allowNickNameCharacter:nn,isNickNameCharacterAllowed:rn,addServerRule:sn,setServerRule:ln,isValidServerRule:on,removeServerRule:dn,getWeaponSlot:Qn,getAvailableClasses:Ee,getPlayerClass:ei,editPlayerClass:ti,toggleChatTextReplacement:Jn,chatTextReplacementToggled:$n,getConsoleVarAsInt:Sn,getConsoleVarAsBool:yn,getWeather:In,getServerRuleFlag:Pn,setServerRuleFlags:fn};const L={onInit:at,onExit:nt,onIncomingConnection:Y_,onRconCommand:z_,onRconLoginAttempt:J_,...q_},[it]=_({name:"OnClientCheckResponse",beforeEach(e,t,a,n){return{player:u.getInstance(e),actionId:t,memAddr:a,data:n}}}),[eh,th]=_({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,a){return{player:e,newLocale:t,oldLocale:a}}}),[ah,nh]=_({name:"OnPlayerCharsetChange",isNative:!1,beforeEach(e,t,a){return{player:e,newCharset:t,oldCharset:a}}});class u{constructor(t){this.id=t}static players=new Map;_charset="ISO-8859-1";_locale="en_US";lastDrunkLevel=0;lastFps=0;lastUpdateTick=0;lastUpdateFpsTick=0;isPaused=!1;isRecording=!1;get charset(){return this._charset}set charset(t){const a=this._charset;this._charset=t,nh(this,t,a)}get locale(){return this._locale}set locale(t){const a=this._locale;this._locale=t,th(this,t,a)}sendClientMessage(t,a){return et(this,t,a)}static sendClientMessageToAll(t,a){B_(u.getInstances(),t,a)}sendMessageToPlayer(t,a){return tt(t,this.id,a)}sendMessageToAll(t){return F_(u.getInstances(),this.id,t)}isNpc(){return or(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return br(this.id)}setDrunkLevel(t){if(t<0||t>5e4)return l.error(new Error("[Player]: player's drunk level ranges from 0 to 50000"));vr(this.id,t)}allowTeleport(t){er(this.id,t)}isTeleportAllowed(){return tr(this.id)}enableCameraTarget(t){Js(this.id,t)}enableStuntBonus(t){Rs(this.id,t)}getInterior(){return Sr(this.id)}setInterior(t){return gr(this.id,t)}showNameTag(t,a){Ws(this.id,t.id,a)}setColor(t){wr(this.id,t)}getColor(){return Or(this.id)}setMarker(t,a){Vs(this.id,t.id,a)}getMarker(t){return Us(this.id,t.id)}resetMoney(){return Vr(this.id)}getMoney(){return Ur(this.id)}giveMoney(t){return Hr(this.id,t)}resetWeapons(){return kr(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):si(this.id)}setHealth(t){return yr(this.id,t)}getHealth(){return Ir(this.id)}toggleClock(t){return zr(this.id,t)}toggleControllable(t){return Is(this.id,t)}toggleSpectating(t){return Gs(this.id,t)}spectatePlayer(t,a=ae.NORMAL){return Bs(this.id,t.id,a)}spectateVehicle(t,a=ae.NORMAL){return Fs(this.id,t.id,a)}forceClassSelection(){$r(this.id)}kick(){Ii(this.id)}ban(){Pi(this.id)}banEx(t,a){H_(this.id,t,a)}isAdmin(){return Si(this.id)}isInRangeOfPoint(t,a,n,i){return ur(this.id,t,a,n,i)}isStreamedIn(t){return pr(this.id,t.id)}setSkin(t,a=!1){return!a&&(t<0||t>311||t==74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===re.DUCK?0:Gr(this.id,t)}getSkin(){return Br(this.id)}isInAnyVehicle(){return Ms(this.id)}getSpecialAction(){return Cs(this.id)}setSpecialAction(t){return Ts(this.id,t)}setScore(t){return Lr(this.id,t)}getScore(){return Rr(this.id)}getPing(){return Kr(this.id)||0}setPos(t,a,n){return Ce(this.id,t,a,n)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===X.NONE)return;const[t,a,n]=cr(this.id);return{x:t,y:a,z:n}}isSpectating(){return this.getState()===X.SPECTATING}isWasted(){return this.getState()===X.WASTED}getState(){return Wr(this.id)}getVersion(){return this.isNpc()?"":vi(this.id)}setVirtualWorld(t){return Ns(this.id,t)}getVirtualWorld(){return Ls(this.id)}removeFromVehicle(){return ys(this.id)}setWantedLevel(t){return t<0||t>6?(l.error("[Player]: player's wanted level ranges from 0 to 6"),0):Qr(this.id,t)}getWantedLevel(){return qr(this.id)}setFacingAngle(t){return _r(this.id,t)}getFacingAngle(){return hr(this.id)}setWeather(t){if(t<0||t>255){l.warn("[Player]: The valid weather value is only 0 to 255");return}Jr(this.id,t)}getWeather(){return Bi(this.id)}setTime(t,a){if(t<0||t>23){l.warn("[Player]: The valid hour value is only 0 to 23");return}if(a<0||a>59){l.warn("[Player]: The valid minute value is only 0 to 59");return}return Xr(this.id,t,a)}getTime(){const[t,a]=Yr(this.id);return{hour:t,minute:a}}removeBuilding(t,a,n,i,r){hs(this.id,t,a,n,i,r)}setTeam(t){t<0||t>C.NO_TEAM||Dr(this.id,t)}getTeam(){return Nr(this.id)}setSkillLevel(t,a){if(a<0||a>999){l.warn("[Player]: The valid skill level is only 0 to 999");return}os(this.id,t,a)}getName(){return M_(this)}setName(t){return x_(this,t)}setVelocity(t,a,n){return as(this.id,t,a,n)}getVelocity(){const[t,a,n]=ns(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:i}=this.getVelocity();return L.vectorSize(a,n,i)*t}getKeys(){const[t,a,n]=jr(this.id);return{keys:t,upDown:a,leftRight:n}}getIp(){return bi(this.id)}getFightingStyle(){return ts(this.id)}setFightingStyle(t){es(this.id,t)}setArmour(t){return Pr(this.id,t)}getArmour(){return fr(this.id)}setCameraBehind(){return js(this.id)}setCameraPos(t,a,n){return Ks(this.id,t,a,n)}setCameraLookAt(t,a,n,i){return Zs(this.id,t,a,n,i)}getCameraAspectRatio(){return qs(this.id)}getCameraFrontVector(){const[t,a,n]=Ys(this.id);return{x:t,y:a,z:n}}getCameraMode(){return zs(this.id)}getCameraPos(){const[t,a,n]=Xs(this.id);return{x:t,y:a,z:n}}getCameraTargetPlayer(t){const a=Qs(this.id);return t.find(n=>n.id===a)}getCameraTargetVehicle(t){const a=$s(this.id);return t.find(n=>n.id===a)}getCameraZoom(){return el(this.id)}playAudioStream(t,a=0,n=0,i=0,r=5){let s=!1;return(a!==0||n!==0||i!==0)&&(s=!0),rs(this.id,t,a,n,i,r,s)}stopAudioStream(){ss(this.id)}playSound(t,a=0,n=0,i=0){return Ps(this.id,t,a,n,i)}static getMaxPlayers(){return Nn()}playCrimeReport(t,a){return a<3||a>22?(l.warn("[Player]: Available crime ids range from 3 to 22"),0):is(this.id,t.id,a)}interpolateCameraPos(t,a,n,i,r,s,o,d=te.CUT){tl(this.id,t,a,n,i,r,s,o,d)}interpolateCameraLookAt(t,a,n,i,r,s,o,d=te.CUT){al(this.id,t,a,n,i,r,s,o,d)}createExplosion(t,a,n,i,r){return i<0||i>13?(l.error("[Player]: The valid explosion type value is only 0 to 13"),0):vs(this.id,t,a,n,i,r)}static isConnected(t){return Te(t)}isConnected(){return Te(this.id)}disableRemoteVehicleCollisions(t){return Ds(this.id,t)}getVehicle(t){if(!this.isInAnyVehicle())return;const a=gs(this.id);return t.find(n=>n.id===a)}getVehicleSeat(){return Ss(this.id)}getSurfingVehicle(t){const a=ds(this.id);if(a!==C.VEHICLE_ID)return t.find(n=>n.id===a)}applyAnimation(t,a,n=!1,i=!0,r=!0,s=!1,o=!1){const d=qe(t,a);if(d===void 0)return l.error("[Player]: Invalid anim library or name");fs(this.id,t,a,4.1,n,i,r,s,n?0:d,o)}clearAnimations(t=!1){As(this.id,t)}getAnimationIndex(){return Es(this.id)}getAnimationName(){const[t,a]=Yn(this.getAnimationIndex());return{animLib:t,animName:a}}setShopName(t){ls(this.id,t)}setPosFindZ(t,a,n=150){return new Promise(i=>{Ce(this.id,t,a,n),setTimeout(()=>i(dr(this.id,t,a,n)))})}setWorldBounds(t,a,n,i){xs(this.id,t,a,n,i)}clearWorldBounds(){return Hs(this.id)}setChatBubble(t,a,n,i){ms(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return mr(this.id,t,a,n)}getCustomSkin(){return bs(this.id)}getTargetPlayer(t){const a=Tr(this.id);if(a!==C.PLAYER_ID)return t.find(n=>n.id===a)}getLastShotVectors(){const[t,a,n,i,r,s]=us(this.id);return{fOriginX:t,fOriginY:a,fOriginZ:n,fHitPosX:i,fHitPosY:r,fHitPosZ:s}}getWeapon(){return Zr(this.id)}getWeaponData(t){if(t<0||t>12){l.error("[Player]: weapon slots range from 0 to 12");return}const[a,n]=xr(this.id,t);return{weapons:a,ammo:n}}getWeaponState(){return Cr(this.id)}giveWeapon(t,a){return Fr(this.id,t,a)}setAmmo(t,a){return Ar(this.id,t,a)}getAmmo(){return Er(this.id)}setArmedWeapon(t){return Mr(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(C.PLAYER_ID,C.PLAYER_ID,se.CONNECT)}sendDeathMessage(t,a){Dn(t===C.PLAYER_ID?t:t.id,this.id,a)}sendDeathMessageToPlayer(t,a,n){sr(this.id,t===C.PLAYER_ID?t:t.id,a===C.PLAYER_ID?a:a.id,n)}setSpawnInfo(t,a,n,i,r,s,o,d,c,m,p,g){t<0||t>C.NO_TEAM||a<0||a>311||a==74||d<0||m<0||g<0||ri(this.id,t,a,n,i,r,s,o,d,c,m,p,g)}redirectDownload(t){return T_(this.id,t)}sendClientCheck(t,a,n,i){const r=[2,5,69,70,71,72];return r.includes(t)?new Promise((s,o)=>{if(this.isPaused)return o("[Player]: An attempt to check the player client response, but the player paused the game");const d="[Player]: An attempt to check the player client response timed out",c=this.getPing(),m=(c>=200?0:c)+200;let p=null;const g=it(({player:I,actionId:A,memAddr:b,data:M,next:q})=>{if(I!==this)return q();p?(clearTimeout(p),p=null,o(d)):s({actionId:A,memAddr:b,data:M});const _t=q();return g(),_t});p=setTimeout(()=>{g(),o(d)},m),Di(this.id,t,a,n,i)}):l.error(`[Player]: sendClientCheck valid types are ${r.toString()}`)}selectTextDraw(t){vc(this.id,t)}cancelSelectTextDraw(){wc(this.id)}beginObjectSelecting(){P_(this.id)}endObjectEditing(){f_(this.id)}getSurfingObject(t){const a=cs(this.id);if(a!==C.OBJECT_ID)return t.get(a)}getSurfingPlayerObject(t){const a=_s(this.id);if(a!==C.OBJECT_ID)return t.get(a)}isAttachedObjectSlotUsed(t){return v_(this.id,t)}editAttachedObject(t){return I_(this.id,t)}setAttachedObject(t,a,n,i=0,r=0,s=0,o=0,d=0,c=0,m=1,p=1,g=1,I=0,A=0){return this.isAttachedObjectSlotUsed(t)?0:R_(this.id,t,a,n,i,r,s,o,d,c,m,p,g,I,A)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?b_(this.id,t):0}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 wi(this.id,t)}isWidescreenToggled(){return Oi(this.id)}getSpawnInfo(){return li(this.id)}getSkillLevel(t){return Gi(this.id,t)}isCheckpointActive(){return Wo(this.id)}getCheckpoint(){return Ko(this.id)}isRaceCheckpointActive(){return Zo(this.id)}getRaceCheckpoint(){return jo(this.id)}getWorldBounds(){Fi(this.id)}isInModShop(){return Mo(this.id)}getSirenState(){return xo(this.id)}getLandingGearState(){return Ho(this.id)}getHydraReactorAngle(){return Vo(this.id)}getTrainSpeed(){return Uo(this.id)}getZAim(){return ki(this.id)}getSurfingOffsets(){return Mi(this.id)}getRotationQuat(){return xi(this.id)}getDialogID(){return Hi(this.id)}getSpectateID(){return Vi(this.id)}getSpectateType(){return Ui(this.id)}getRawIp(){return Ri(this.id)}setGravity(t){return Wi(this.id,t)}getGravity(){return Ki(this.id)}setAdmin(t){return yi(this.id,t)}isSpawned(){return Zi(this.id)}isControllable(){return ji(this.id)}isCameraTargetEnabled(){return Xi(this.id)}toggleGhostMode(t){return Yi(this.id,t)}getGhostMode(){return zi(this.id)}getBuildingsRemoved(){return Ji(this.id)}getAttachedObject(t){return L_(this.id,t)}removeWeapon(t){return $i(this.id,t)}isUsingOfficialClient(){return qi(this.id)}allowWeapons(t){return ar(this.id,t)}areWeaponsAllowed(){return nr(this.id)}gpci(t=this.charset){return Ti(this.id,t)}isCuffed(){return nl(this.id)}isInDriveByMode(){return il(this.id)}static getInstance(t){return this.players.get(t)}static getInstances(){return[...this.players.values()]}}const[rt]=_({name:"OnDialogResponseI18n",identifier:"iiiiai",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),dialogId:t,response:a,listItem:n,buffer:i}}});rt(({next:e,player:t,dialogId:a,response:n,listItem:i,buffer:r})=>{const s=D.waitingQueue.get(t);return!s||s.showId!==a||setTimeout(()=>s.resolve({response:n,listItem:i,buffer:r})),e()});class D{id=-1;static showingIds=[];static max_dialogId=32767;dialog;static waitingQueue=new Map;constructor(t={style:ie.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,a=!1){const n=D.waitingQueue.get(t);if(!n)return!1;a&&n.reject("[Dialog]: player timeout does not respond or second request show dialog"),D.waitingQueue.delete(t);const i=D.showingIds.indexOf(n.showId);return i>-1&&D.showingIds.splice(i,1),!0}show(t){return new Promise((a,n)=>{for(D.close(t);(this.id===-1||D.showingIds.includes(this.id))&&D.showingIds.length!==D.max_dialogId;)this.id=Math.floor(Math.random()*(D.max_dialogId+1));if(this.id===-1){n("[Dialog]: The maximum number of dialogs is reached");return}D.showingIds.push(this.id),D.waitingQueue.set(t,{resolve:a,reject:n,showId:this.id}),k_(t,this.id,this.dialog)}).then(a=>{const{response:n,listItem:i}=a,r=P.decodeFromBuf(a.buffer,t.charset);return Promise.resolve({response:n,listItem:i,inputText:r})}).catch(a=>Promise.reject(a)).finally(()=>D.delDialogTask(t))}static close(t){D.delDialogTask(t,!0),Qi(t.id)}}const[st]=_({name:"OnPlayerConnect",beforeEach(e){const t=new u(e);return u.players.set(e,t),D.close(t),{player:t}}}),[lt]=_({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:u.players.get(e),reason:t}},afterEach({player:e}){u.players.delete(e.id)}}),[ot]=_({name:"OnPlayerUpdate",beforeEach(e){return{player:u.getInstance(e)}}}),[ih]=_({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const a=u.getInstance(e);return{player:a,text:P.decodeFromBuf(t,a.charset),buffer:t}}}),[rh]=_({name:"OnPlayerEnterExitModShop",beforeEach(e,t,a){return{player:u.getInstance(e),enterExit:!!t,interior:a}}}),[sh]=_({name:"OnPlayerClickMap",beforeEach(e,t,a,n){return{player:u.getInstance(e),fX:t,fY:a,fZ:n}}}),[lh]=_({name:"OnPlayerClickPlayer",beforeEach(e,t,a){return{player:u.getInstance(e),clickedPlayer:u.getInstance(t),source:a}}}),[oh]=_({name:"OnPlayerDeath",beforeEach(e,t,a){return{player:u.getInstance(e),killer:u.getInstance(t)||C.PLAYER_ID,reason:a}}}),[dh]=_({name:"OnPlayerGiveDamage",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),damage:u.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),[ch]=_({name:"OnPlayerKeyStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),newKeys:t,oldKeys:a}}}),[_h]=_({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:u.getInstance(e),classId:t}}}),[hh]=_({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:u.getInstance(e)}}}),[uh]=_({name:"OnPlayerSpawn",beforeEach(e){return{player:u.getInstance(e)}}}),[mh]=_({name:"OnPlayerStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),newState:t,oldState:a}}}),[ph]=_({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:u.getInstance(e),forPlayer:u.getInstance(t)}}}),[gh]=_({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:u.getInstance(e),forPlayer:u.getInstance(t)}}}),[Sh]=_({name:"OnPlayerTakeDamage",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),damage:u.getInstance(t)||C.PLAYER_ID,amount:a,weapon:n,bodyPart:i}}}),[yh]=_({name:"OnPlayerInteriorChange",beforeEach(e,t,a){return{player:u.getInstance(e),newInteriorId:t,oldInteriorId:a}}}),[Ih]=_({name:"OnPlayerRequestDownload",beforeEach(e,t,a){return{player:u.getInstance(e),type:t,crc:a}}}),[Ph]=_({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:u.getInstance(e),virtualWorld:t}}});let Q=null;const[fh,Ah]=_({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[Eh,Ch]=_({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,a,n){return{player:e,pausedAt:t,now:a,diff:n}}}),[Th,Dh]=_({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,a){return{player:e,newFps:t,oldFps:a}}});st(({next:e})=>(!Q&&u.getInstances().length&&(Q=setInterval(()=>{u.getInstances().filter(t=>{const a=t.getState()!==X.NONE;return!t.isPaused&&!t.isNpc()&&a}).forEach(t=>{Date.now()-t.lastUpdateTick>1e3&&(t.isPaused=!0,Ah(t,t.lastUpdateTick))})},500)),e())),lt(({next:e})=>(Q&&u.getInstances().length<=1&&(clearInterval(Q),Q=null),e()));function Nh(e){if(!u.isConnected(e.id))return;const t=Date.now();if(t-e.lastUpdateFpsTick>=1e3){const a=e.getDrunkLevel();if(a<100){e.setDrunkLevel(2e3),e.lastDrunkLevel=2e3,e.lastFps=0;return}e.lastUpdateFpsTick=t;const n=e.lastFps,i=e.lastDrunkLevel-a-1;e.lastFps=i,e.lastDrunkLevel=a,Dh(e,i,n)}}ot(({player:e,next:t})=>{if(!e.isNpc()){const a=Date.now();e.isPaused&&(e.isPaused=!1,Ch(e,e.lastUpdateTick,a,a-e.lastUpdateTick)),e.lastUpdateTick=a,Nh(e)}return t()});const z=new Map,dt=/[^/\s]+/gi,de={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"}},[Lh,Rh]=_({name:"OnCommandReceived",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[bh,vh]=_({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[wh,ce]=_({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,a){return{player:e,command:t,error:a}}}),[Oh]=_({name:"OnPlayerCommandTextI18n",identifier:"iai",beforeEach(e,t){return{player:u.getInstance(e),buffer:t}}});function Gh(e){const t=[];let a="";for(let n=0;n<e.length;n++)a+=e[n]+" ",t.push(a.trimEnd());return t.reverse()}Oh(({player:e,buffer:t,next:a})=>{const n=P.decodeFromBuf(t,e.charset).match(dt),i=Gh(n).find(m=>z.get(m)),r=n.join(" ");if(!i)return ce(e,r,de.NOT_EXIST);const s=Rh(e,r);if(!s)return s;const o=z.get(i),[,d]=o,c=r.replace(i,"").trim().split(" ");return d(e,c)?vh(e,r)?a():ce(e,r,de.PERFORMED):ce(e,r,de.REJECTED)});const ct={on(e,t){const a=Array.isArray(e)?e:[e],n=a.find(r=>!r.match(dt));if(n)return console.log(`error command ${n} format`),()=>{};const i=a.map(r=>{const s=r.replaceAll("/","");if(!z.has(s)){const d=_({name:s,isNative:!1,beforeEach(c,m){return{player:c,subcommand:m}}});z.set(s,d)}const[o]=z.get(s);return o(t)});return()=>{i.forEach(r=>r())}},off(e){(Array.isArray(e)?e:[e]).forEach(t=>{z.has(t)&&Ae(t)})}},_e=Object.freeze({onConnect:st,onDisconnect:lt,onPause:fh,onResume:Eh,onUpdate:ot,onText:ih,onEnterExitModShop:rh,onClickMap:sh,onClickPlayer:lh,onDeath:oh,onGiveDamage:dh,onKeyStateChange:ch,onRequestClass:_h,onRequestSpawn:hh,onSpawn:uh,onStateChange:mh,onStreamIn:ph,onStreamOut:gh,onTakeDamage:Sh,onInteriorChange:yh,onRequestDownload:Ih,onFinishedDownloading:Ph,onCheckResponse:it,onCommandReceived:Lh,onCommandPerformed:bh,onCommandError:wh,onCommandText:ct.on,offCommandText:ct.off,onDialogResponse:rt,onLocaleChange:eh,onCharsetChange:ah,onFpsUpdate:Th}),Bh=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],Fh=[[13,18,19,20,21,24],[1,3,4,5,6,7,13,17,19,20,142,143,144,145],[],[],[0,2,7,13,16,17,19,20,21],[0,1,14,18,19,20,21,23],[],[],[],[],[1,3,7,13,17,19,20,21,23,24],[],[],[],[],[1,3,7,17,18,19,23],[],[],[2,6,16,20,21],[],[1,3,4,5,19,21],[0,14,16,18,19,20,21,23],[7,13,17,19,20,21],[],[],[],[1,3,4,5,6,19,21],[],[],[],null,[],[],[],[],[],[1,3,6,7,13,17,19,20,21,22],[],[],[1,3,7,13,17,23,142,143,144,145],[],[],[],[],[],[],null,[],null,null,[],[],null,null,null,[],[],[],[],[],[],null,null,null,[],[],[],[],null,[],[],[],null,null,[],[],[],[6,7,17,18,19,20,21],[4,5,12,13,20,21,22,24],[],[],null,[],[],null,[],[],[],[],[0,2,4,5,6,13,16,18,19,20,24],[],[3,7,14,17,18,19,20,21,23,142,143,144,145],[0,4,5,6,16],null,[],[],[1,2,3,6,7,11,17,19,20,23,142,143],[],[],[],[13,19,20,21,24],[],[],[],[],[],[],[],[],null,null,[],[],[],[],[],[0,2,4,7,15,16,17,18,19,20,21],[2,3,7,16,17,18,19,20,23,142,143,144,145],[1,3,5,6,7,13,17,18,20,23,142,143,144,145],[],[],null,null,null,[],[],[],[1,7,14,15,17,18,20,21],[],[1,3,6,7,11,12,17,18,19,20,23],[],[],[],[],[100,101,106,122,123,124,125,126,127,178,179,180,185],[109,110,113,114,115,116,117,118,119,120,121],[103,104,105,107,108,128,181,182,183,184],null,null,[],[1,4,6,7,17,18,19,20,23,24,142,143,144,145],[],[14,15,18,19,20,21,144,145],[],[],[],[1,2,4,6,7,17,18,19,23,24,142,143,144,145],[0,3,16,18,19,20,21,142,143],[],[1,3,7,11,12,17,18,19,20,23,142,143,144,145],[1,3,4,5,6,18,19,20,23,142,143,144,145],[2,3,5,6,16,18,19,20,21,23],[],[],[],[],[],[],[88,89,90,91,92,93,94,95,163,164,165,166,167,168],[65,66,67,68,69,70,71,72,158,159,160,161,162,173],[26,27,28,29,30,31,32,33,138,139,140,141,169,170],[55,56,57,58,59,60,61,62,63,64,154,155,156,157],[34,35,36,37,38,39,40,41,146,147,148,149,171,172],[],[],[45,46,47,48,49,50,51,52,53,54,150,151,152,153],[],[102,129,130,131,132,133,186,187,188,189],[],null,null,[],[],[],[],[42,43,44,99,174,175,176,177],[134,135,136,137,190,191,192,193],[],[],[],[1,6,7,17,18,20,23],null,[],[],[],[0,1,2,3,6,7,13,14,15,16,17,18,19,20,21,22,23,24,142,143,144,145],null,[],[],[0,4,5,6,7,13,16,17,18,20,24,144,145],null,[],[],[],[],null,[],[],[],[],[4,5,6,7,13,17,18,20,22],[],[],[1,6,7,17,18,19,20,23,24,142,143,144,145],[],[],[],[],[],[],[],[]],kh=(e,t)=>{if(!he(e))return l.error("[vehicleUtils]: Invalid model id"),!1;const a=Fh[e-400];if(a===null)return!1;const n=t-1e3;return Bh.includes(n)||a.includes(n)},he=e=>e>=400&&e<=611,Mh=(e,t)=>{if(t<0||t>2)return!1;const a=new Map([[483,0],[534,2],[535,2],[536,2],[558,2],[559,2],[560,2],[561,2],[562,2],[565,2],[567,2],[575,1],[576,2]]).get(e);return a===void 0?!1:t<=a};class f{static vehicles=new Map;static createdCount=0;sourceInfo;isStatic;_id=-1;get id(){return this._id}constructor(t,a=!1){this.sourceInfo=t,this.isStatic=a}create(t=!1){if(this.id!==-1)return l.warn("[Vehicle]: Unable to create the vehicle again");if(f.createdCount===w.MAX_VEHICLES)return l.warn("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelId:a,x:n,y:i,z:r,z_angle:s,color:o,respawn_delay:d,addSiren:c}=this.sourceInfo;if(!(!t&&!he(a))){if(this.isStatic){if(d===void 0){this._id=Oo(a,n,i,r,s,o[0],o[1]);return}this._id=Go(a,n,i,r,s,o[0],o[1],d||-1,c||!1)}else this._id=Wl(a,n,i,r,s,o[0],o[1],d||-1,c||!1);f.createdCount++,f.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)return l.warn("[Vehicle]: Unable to destroy the vehicle before create");Kl(this.id),f.createdCount--,f.vehicles.delete(this._id),this._id=-1}addComponent(t){return this.id===-1?0:kh(this.getModel(),t)?co(this.id,t):(l.warn(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`),0)}removeComponent(t){return this.getComponentInSlot(f.getComponentType(t))===0?(l.warn(`[Vehicle]: component id ${t} does not exist on this vehicle`),0):_o(this.id,t)}getComponentInSlot(t){return Ao(this.id,t)}linkToInterior(t){return this.id===-1?0:oo(this.id,t)}setVirtualWorld(t){return this.id===-1?0:vo(this.id,t)}getVirtualWorld(){return this.id===-1?0:wo(this.id)}repair(){return this.id===-1?0:Co(this.id)}setPos(t,a,n){return this.id===-1?0:Xl(this.id,t,a,n)}getPos(){if(this.id!==-1)return jl(this.id)}getHealth(){return this.id===-1?0:po(this.id)}setHealth(t){return this.id===-1?0:mo(this.id,t)}isPlayerIn(t){return this.id===-1?!1:ks(t.id,this.id)}putPlayerIn(t,a){return this.id===-1||a<0?0:(a>4&&l.warn("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle."),ps(t.id,this.id,a))}getZAngle(){return this.id===-1?0:Yl(this.id)}setZAngle(t){return this.id===-1?0:$l(this.id,t)}setNumberPlate(t){return this.id===-1?0:t.length<1||t.length>32?(l.error("[Vehicle]: The length of the number plate ranges from 32 characters"),0):/^[a-zA-Z0-9]+$/.test(t)?Po(this.id,t):(l.error("[Vehicle]: number plates only allow letters and numbers"),0)}changeColors(t,a){return this.id===-1?0:ho(this.id,t,a)}setVelocity(t,a,n){return this.id===-1?!1:Do(this.id,t,a,n)}getVelocity(){if(this.id===-1)return;const[t,a,n]=To(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:i}=this.getVelocity();return L.vectorSize(a,n,i)*t}setAngularVelocity(t,a,n){return this.id===-1?0:No(this.id,t,a,n)}getDamageStatus(){if(this.id!==-1)return Lo(this.id)}updateDamageStatus(t,a,n,i){this.id!==-1&&Ro(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return Jl(this.id,t,a,n)}getModel(){return fo(this.id)}static getModelInfo(t,a){return bo(t,a)}getModelInfo(t){if(this.id!==-1)return f.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,a,n,i]=zl(this.id);return{w:t,x:a,y:n,z:i}}setRespawn(){return this.id===-1?0:lo(this.id)}isStreamedIn(t){return this.id===-1?!1:Zl(this.id,t.id)}setParamsCarDoors(t,a,n,i){return this.id===-1?0:no(this.id,t,a,n,i)}setParamsCarWindows(t,a,n,i){return this.id===-1?0:ro(this.id,t,a,n,i)}getParamsCarDoors(){if(this.id!==-1)return io(this.id)}getParamsCarWindows(){if(this.id!==-1)return so(this.id)}setParamsEx(t,a,n,i,r,s,o){return this.id===-1?0:eo(this.id,t,a,n,i,r,s,o)}getParamsEx(){if(this.id===-1)return;const[t,a,n,i,r,s,o]=to(this.id);return{engine:t,lights:a,alarm:n,doors:i,bonnet:r,boot:s,objective:o}}getParamsSirenState(){return this.id===-1?-2:ao(this.id)}setParamsForPlayer(t,a,n){return this.id===-1?0:Ql(this.id,t.id,a,n)}isTrailerAttached(){return this.id===-1?!1:yo(this.id)}changePaintjob(t){return this.id===-1||!Mh(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),uo(this.id,t),1)}attachTrailer(t){return this.id===-1?0:go(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&So(this.id)}getTrailer(){if(this.id!==-1)return f.getInstances().find(t=>t.id===Io(this.id))}isValid(){return Ne(this.id)}getMatrix(){if(this.id!==-1)return Vl(this.id)}getTrainSpeed(){return this.id===-1?0:Hl(this.id)}getHydraReactorAngle(){return this.id===-1?0:xl(this.id)}getLandingGearState(){return this.id===-1?0:Ml(this.id)}getSirenState(){return this.id===-1?0:kl(this.id)}getDriver(t){if(this.id!==-1)return t.get(Bl(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(Gl(this.id))}isSirenEnabled(){return wl(this.id)}toggleSirenEnabled(t){return this.id===-1?0:bl(this.id,t)}setParamsSirenState(t){return this.id===-1?0:vl(this.id,t)}isDead(){return this.id===-1?!0:Nl(this.id)}setDead(t){return this.id===-1?!1:Ll(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:Rl(this.id,t)}getRespawnTick(){return this.id===-1?0:Tl(this.id)}setRespawnTick(t){return this.id===-1?!1:Dl(this.id,t)}isOccupied(){return this.id===-1?!1:Cl(this.id)}hasBeenOccupied(){return this.id===-1?!1:El(this.id)}getOccupiedTick(){return this.id===-1?0:fl(this.id)}setOccupiedTick(t){return this.id===-1?0:Al(this.id,t)}getCab(){return this.id===-1?0:Pl(this.id)}getRespawnDelay(){return this.id===-1?0:Il(this.id)}setRespawnDelay(t){return this.id===-1?0:yl(this.id,t)}getNumberPlate(){return this.id===-1?"":Sl(this.id)}getInterior(){return this.id===-1?0:gl(this.id)}getPaintjob(){return this.id===-1?-1:pl(this.id)}getColors(){if(this.id!==-1)return ml(this.id)}setSpawnInfo(t,a,n,i,r,s,o,d=-2,c=-2,m=!1){return this.id===-1||!m&&!he(t)?0:ul(this.id,t,a,n,i,r,y(s),y(o),d,c)}getSpawnInfo(){if(this.id!==-1)return hl(this.id)}getRandomColorPair(){if(this.id!==-1)return De(this.getModel())}show(){return this.id===-1?!1:Bo(this.id)}hide(){return this.id===-1?!1:Fo(this.id)}isHidden(){return this.id===-1?!1:ko(this.id)}static getRandomColorPair(t){return De(t)}static getComponentType=Eo;static colorIndexToColor=Ul;static isValid(t){return Ne(t)}static getModelsUsed=Fl;static getModelCount=Ol;static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}}L.onExit(({next:e})=>(f.getInstances().forEach(t=>t.destroy()),e()));const[xh]=_({name:"OnVehicleDamageStatusUpdate",beforeEach(e,t){return{vehicle:f.getInstance(e),player:u.getInstance(t)}}}),[Hh]=_({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:f.getInstance(e),killer:u.getInstance(t)}}}),[Vh]=_({name:"OnVehicleMod",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:f.getInstance(t),componentId:a}}}),[Uh]=_({name:"OnVehiclePaintjob",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:f.getInstance(t),paintjobId:a}}}),[Wh]=_({name:"OnVehicleRespray",beforeEach(e,t,a,n){return{player:u.getInstance(e),vehicle:f.getInstance(t),color:[a,n]}}}),[Kh]=_({name:"OnVehicleSirenStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:f.getInstance(t),state:!!a}}}),[Zh]=_({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:f.getInstance(e)}}}),[jh]=_({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:f.getInstance(e),forPlayer:u.getInstance(t)}}}),[Xh]=_({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:f.getInstance(e),forPlayer:u.getInstance(t)}}}),[Yh]=_({name:"OnPlayerEnterVehicle",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:f.getInstance(t),isPassenger:!!a}}}),[zh]=_({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:u.getInstance(e),vehicle:f.getInstance(t)}}}),[Jh]=_({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:f.getInstance(e),seatId:t}}}),[$h]=_({name:"OnNpcExitVehicle"}),[Qh]=_({name:"OnTrailerUpdate",beforeEach(e,t){return{player:u.getInstance(e),vehicle:f.getInstance(t)}}}),qh=Object.freeze({onDamageStatusUpdate:xh,onDeath:Hh,onMod:Vh,onPaintjob:Uh,onRespray:Wh,onSirenStateChange:Kh,onSpawn:Zh,onStreamIn:jh,onStreamOut:Xh,onPlayerEnter:Yh,onPlayerExit:zh,onNpcEnter:Jh,onNpcExit:$h,onTrailerUpdate:Qh});class eu{constructor(){}static getNetworkStats(){return Ai()}static getPlayerNetworkStats(t){return fi(t.id)}static getBytesReceived(t){return ci(t.id)}static getBytesSent(t){return hi(t.id)}static getConnectionStatus(t){return pi(t.id)}static getConnectedTime(t){return oi(t.id)}static getIpPort(t){return gi(t.id)}static getMessagesReceived(t){return di(t.id)}static getMessagesRecvPerSecond(t){return ui(t.id)}static getMessagesSent(t){return _i(t.id)}static getPacketLossPercent(t){return mi(t.id)}}class tu{_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,a,n){this._text=t,this._time=a,this._style=n}static hideForAll(t){Tn(t)}static has(t,a){return rr(t.id,a)}forAll(){Cn(this.text,this.time,this.style)}forPlayer(t){ir(t.id,this.text,this.time,this.style)}hideForPlayer(t){return lr(t.id,this.style)}}class j{static menus=new Map;_itemCount=0;get itemCount(){return this._itemCount}_id=-1;get id(){return this._id}_title;get title(){return this._title}set title(t){this._title=t}_columns=1;get columns(){return this._columns}set columns(t){if(t!==1&&t!==2){l.error("[Menu]: The menu column number interval is between 1 and 2");return}this._columns=t}_x;get x(){return this._x}set x(t){this._x=t}_y;get y(){return this._y}set y(t){this._y=t}_col1width;get col1width(){return this._col1width}set col1width(t){this._col1width=t}_col2width;get col2width(){return this._col2width}set col2width(t){this._col2width=t}constructor(t,a,n,i,r,s){this._title=t,this.columns=a,this._x=n,this._y=i,this._col1width=r,this._col2width=s}create(){return this._id!==-1?l.error("[Menu]: Cannot be created twice"):j.getInstances().length===w.MAX_MENUS?l.error("[Menu]: The maximum number of menus allowed to be created has been reached 128"):(this._id=ed(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),j.menus.set(this._id,this),this)}destroy(){return this._id===-1?l.error("[Menu]: Cannot destroy before create"):(td(this.id),j.menus.delete(this._id),this._id=-1,this)}addItem(t,a){return this._id===-1?l.error("[Menu]: Cannot addItem before create"):this._itemCount===w.MAX_MENU_ROW?l.error("[Menu]: The maximum number of items allowed to be added has been reached 12"):t!==0&&t!==1?l.error("[Menu]: Wrong number of columns"):(ad(this.id,t,a),this._itemCount++,this)}setColumnHeader(t,a){return this._id===-1?l.error("[Menu]: Cannot setColumnHeader before create"):t!==0&&t!==1?l.error("[Menu]: Wrong number of columns"):(nd(this.id,t,a),this)}disable(){return this._id===-1?l.error("[Menu]: Cannot disable menu before create"):(ld(this.id),this)}disableRow(t){if(this._id===-1)return l.error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)return l.error("[Menu]: Wrong number of rows");od(this.id,t)}isValid(){return sd(this.id)}showForPlayer(t){return this._id===-1?l.error("[Menu]: Cannot show menu before create"):id(this.id,t.id)}hideForPlayer(t){return this._id===-1?l.error("[Menu]: Cannot hide menu before create"):rd(this.id,t.id)}isDisabled(){return this._id===-1?!1:Xo(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:Yo(this.id,t)}getItems(t){return this._id===-1?0:zo(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:Jo(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:$o(this.id)}getColumnHeader(t){return this._id===-1?l.error("[Menu]: Cannot get column header before create"):Qo(this.id,t)}getItem(t,a){if(this._id===-1)return l.error("[Menu]: Cannot get item before create");if(!(a<0||a>this.getItems(t)-1))return qo(this.id,t,a)}static getInstance(t){return this.menus.get(t)}static getInstances(){return[...this.menus.values()]}static getInstanceByPlayer(t){return this.getInstances().find(a=>a.id===dd(t.id))}}L.onExit(({next:e})=>(j.getInstances().forEach(t=>t.destroy()),e()));const[au]=_({name:"OnPlayerExitedMenu",beforeEach(e){return{player:u.getInstance(e)}}}),[nu]=_({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const a=u.getInstance(e),n=j.getInstanceByPlayer(a);return{player:a,menu:n,row:t}}}),iu=Object.freeze({onPlayerExited:au,onPlayerSelectedRow:nu});class N{static globalGangZones=new Map;static playerGangZones=new Map;sourceInfo;constructor(t){this.sourceInfo=t}_id=-1;get id(){return this._id}create(){if(this.id!==-1)return l.warn("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(N.getInstances(!1).length===w.MAX_GANG_ZONES)return l.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:i,maxY:r}=this.sourceInfo;this._id=Ld(t.id,a,n,i,r);const s=_e.onDisconnect(({player:o,next:d})=>{d(),o===this.sourceInfo.player&&(this.destroy(),s())});N.playerGangZones.set(this.id,this)}else{if(N.getInstances(!0).length===w.MAX_GANG_ZONES)return l.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:i,maxY:r}=this.sourceInfo;this._id=yd(a,n,i,r),N.globalGangZones.set(this.id,this)}}destroy(){if(this.id===-1)return l.warn("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(Rd(t.id,this.id),N.playerGangZones.delete(this.id)):(Id(this.id),N.globalGangZones.delete(this.id)),this._id=-1}showForAll(t){return this.id===-1?(l.warn("[GangZone]: Unable to show the gangzone before create"),this):this.sourceInfo.player?(l.warn("[GangZone]: player's gangzone should not be show for all."),this):(fd(this.id,t),this)}showForPlayer(t,a){if(this.id===-1)return l.warn("[GangZone]: Unable to show the gangzone before create"),this;const n=this.sourceInfo.player;if(n)bd(n.id,this.id,y(t));else if(a)Pd(a.id,this.id,t);else return l.warn("[GangZone]: invalid player for show"),this;return this}hideForAll(){return this.id===-1?(l.warn("[GangZone]: Unable to hide the gangzone before create"),this):this.sourceInfo.player?(l.warn("[GangZone]: player's gangzone should not be hide for all."),this):(Ed(this.id),this)}hideForPlayer(t){if(this.id===-1)return l.warn("[GangZone]: Unable to hide the gangzone before create"),this;const a=this.sourceInfo.player;if(a)vd(a.id,this.id);else if(t)Ad(t.id,this.id);else return l.warn("[GangZone]: invalid player for hide"),this;return this}flashForAll(t){return this.id===-1?(l.warn("[GangZone]: Unable to flash the gangzone before create"),this):this.sourceInfo.player?(l.warn("[GangZone]: player's gangzone should not be flash for all."),this):(Td(this.id,t),this)}flashForPlayer(t,a){if(this.id===-1)return l.warn("[GangZone]: Unable to flash the gangzone before create"),this;const n=this.sourceInfo.player;if(n)wd(n.id,this.id,y(a));else if(t)Cd(t.id,this.id,a);else return l.warn("[GangZone]: invalid player for flash"),this;return this}stopFlashForAll(){return this.id===-1?(l.warn("[GangZone]: Unable to stop flash the gangzone before create"),this):this.sourceInfo.player?(l.warn("[GangZone]: player's gangzone should not be stop flash for all."),this):(Nd(this.id),this)}stopFlashForPlayer(t){if(this.id===-1)return l.warn("[GangZone]: Unable to stop flash the gangzone before create"),this;const a=this.sourceInfo.player;if(a)Od(a.id,this.id);else if(t)Dd(t.id,this.id);else return l.warn("[GangZone]: invalid player for flash"),this;return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Gd(t.id,this.id):cd(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Bd(a.id,this.id):_d(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Fd(a.id,this.id):hd(t.id,this.id)}getColorForPlayer(t){if(this.id===-1)return l.warn("[GangZone]: Unable to get color before create");const a=this.sourceInfo.player;return a?kd(a.id,this.id):ud(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===-1)return l.warn("[GangZone]: Unable to get flash color before create");const a=this.sourceInfo.player;return a?Md(a.id,this.id):md(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?xd(a.id,this.id):pd(t.id,this.id)}getPos(){if(this.id===-1)return l.warn("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?Hd(t.id,this.id):gd(this.id)}useCheck(t){if(this.id===-1)return l.warn("[GangZone]: Unable to use check before create"),this;const a=this.sourceInfo.player;return a?Vd(a.id,this.id,t):Sd(this.id,t),this}static getInstance(t,a){return a?this.globalGangZones.get(t):this.playerGangZones.get(t)}static getInstances(t){return t?[...this.globalGangZones.values()]:[...this.playerGangZones.values()]}}L.onExit(({next:e})=>(N.getInstances(!0).forEach(t=>t.destroy()),N.getInstances(!1).forEach(t=>t.destroy()),e()));const[ru]=_({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[su]=_({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[lu]=_({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!1)}}}),[ou]=_({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!1)}}}),[du]=_({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[cu]=_({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!1)}}}),_u=Object.freeze({onPlayerEnterGlobal:ru,onPlayerLeaveGlobal:su,onPlayerEnterPlayer:lu,onPlayerLeavePlayer:ou,onPlayerClickGlobal:du,onPlayerClickPlayer:cu}),[W]=_({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:u.getInstance(a)}}}),[K]=_({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:u.getInstance(a)}}}),[hu]=_({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class T{constructor(){}static getTickRate=It;static setTickRate=Pt;static getPlayerTickRate(t){return ft(t.id)}static setPlayerTickRate(t,a=50){return At(t.id,a)}static toggleChunkStream=Et;static isToggleChunkStream=Ct;static getChunkTickRate(t,a=-1){return a instanceof u?me(t,a.id):me(t,a)}static setChunkTickRate(t,a,n=-1){return n instanceof u?pe(t,a,n.id):pe(t,a,n)}static getChunkSize=Tt;static setChunkSize=Dt;static getMaxItems=Nt;static setMaxItems=Lt;static getVisibleItems(t,a=-1){return a instanceof u?ge(t,a.id):ge(t,a)}static setVisibleItems(t,a,n=-1){return n instanceof u?Se(t,a,n.id):Se(t,a,n)}static getRadiusMultiplier(t,a=-1){return a instanceof u?ye(t,a.id):ye(t,a)}static setRadiusMultiplier(t,a,n=-1){return n instanceof u?Ie(t,n.id):Ie(t,a,n)}static getTypePriority=Rt;static setTypePriority=bt;static getCellDistance=vt;static setCellDistance=wt;static getCellSize=Ot;static setCellSize=Gt;static toggleItemStatic=Bt;static isToggleItemStatic=Ft;static toggleItemInvAreas=kt;static isToggleItemInvAreas=Mt;static toggleItemCallbacks=xt;static isToggleItemCallbacks=Ht;static toggleErrorCallback=Vt;static isToggleErrorCallback=Ut;static amxUnloadDestroyItems=Wt;static processActiveItems=Kt;static toggleIdleUpdate(t,a){return Zt(t.id,a)}static isToggleIdleUpdate(t){return jt(t.id)}static toggleCameraUpdate(t,a){return Xt(t.id,a)}static isToggleCameraUpdate(t){return Yt(t.id)}static toggleItemUpdate(t,a,n){return zt(t.id,a,n)}static isToggleItemUpdate(t,a){return Jt(t.id,a)}static getLastUpdateTime(){return $t()}static update(t,a=-1){return Qt(t.id,a)}static updateEx(t,a,n,i,r,s,o,d,c){return qt(t.id,a,n,i,r,s,o,d,c)}static getDistanceToItem=ea;static toggleItem(t,a,n,i){return ta(t.id,a,n,i)}static isToggleItem(t,a,n){return aa(t.id,a,n)}static toggleAllItems(t,a,n,i=[-1]){return na(t.id,a,n,i)}static getItemInternalID(t,a,n){return ia(t.id,a,n)}static getItemStreamerID(t,a,n){return ra(t.id,a,n)}static isItemVisible(t,a,n){return sa(t.id,a,n)}static destroyAllVisibleItems(t,a,n=1){return la(t.id,a,n)}static countVisibleItems(t,a,n=1){return oa(t.id,a,n)}static destroyAllItems=da;static countItems=ca;static getNearbyItems=_a;static getAllVisibleItems(t,a,n){ha(t.id,a,n)}static getItemPos=ua;static setItemPos=ma;static getItemOffset=pa;static setItemOffset=ga;static getFloatData=Sa;static setFloatData=ya;static getIntData=Ia;static setIntData=Pa;static getArrayData=fa;static setArrayData=Aa;static isInArrayData=Ea;static appendArrayData=Ca;static removeArrayData=Ta;static getArrayDataLength=Da;static getUpperBound=Na;static onPluginError=hu}class H{static mapIcons=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamDistance:a,worldId:n,interiorId:i,playerId:r,areaId:s,priority:o}=this.sourceInfo;const{x:d,y:c,z:m,type:p,color:g,extended:I}=this.sourceInfo;return p<0||p>63?l.error("[StreamerMapIcon]: Invalid map icon type"):(t??=La.LOCAL,a??=ee.MAP_ICON_SD,o??=0,I?(typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=Ra(d,c,m,p,y(g),t,a,n,i,r,s,o),H.mapIcons.set(this._id,this),this):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=ba(d,c,m,p,y(g),n,i,r,a,t,s,o),H.mapIcons.set(this._id,this),this))}destroy(){return this.id===-1?l.warn("[StreamerMapIcon]: Unable to destroy the map icon before create"):(va(this.id),H.mapIcons.delete(this._id),this._id=-1,this)}isValid(){return wa(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerMapIcon]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(E.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(E.MAP_ICON,this.id)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}}L.onExit(({next:e})=>(H.getInstances().forEach(t=>t.destroy()),e()));const[uu,mu]=_({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[pu,gu]=_({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.MAP_ICON?mu(a,H.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.MAP_ICON?gu(a,H.getInstance(t)):n());const Su=Object.freeze({onStreamIn:uu,onStreamOut:pu});class x{static pickups=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[StreamerPickup]: Unable to create pickup again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{type:o,modelId:d,x:c,y:m,z:p,extended:g}=this.sourceInfo;return o<0||o>22?l.error("[StreamerPickup]: Invalid pickup type"):(t??=h.StreamerDistances.PICKUP_SD,s??=0,g?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=h.CreateDynamicPickupEx(d,o,c,m,p,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=h.CreateDynamicPickup(d,o,c,m,p,a,n,i,t,r,s)),x.pickups.set(this._id,this),this)}destroy(){return this.id===-1?l.warn("[StreamerPickup]: Unable to destroy the pickup before create"):(h.DestroyDynamicPickup(this.id),x.pickups.delete(this.id),this._id=-1,this)}isValid(){return h.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerPickup]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(h.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(h.StreamerItemTypes.PICKUP,this.id)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}}L.onExit(({next:e})=>(x.getInstances().forEach(t=>t.destroy()),e()));const[yu,Iu]=_({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Pu,fu]=_({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.PICKUP?Iu(a,x.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.PICKUP?fu(a,x.getInstance(t)):n());const[Au]=_({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:x.getInstance(t)}}}),Eu=Object.freeze({onPlayerPickUp:Au,onStreamIn:yu,onStreamOut:Pu});class B{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{size:o,x:d,y:c,z:m,extended:p}=this.sourceInfo;return o<0?l.error("[StreamerCheckpoint]: Invalid checkpoint size"):(t??=ee.CP_SD,s??=0,p?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=Oa(d,c,m,o,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=Ga(d,c,m,o,a,n,i,t,r,s)),B.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1?l.warn("[StreamerCheckpoint]: Unable to destroy the checkpoint before create"):(Pe(this.id),B.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return fe(this.id)}togglePlayer(t,a){return this.id===-1?l.warn("[StreamerCheckpoint]: Unable to toggle the player before create"):(Ba(t.id,this.id,a),this)}static togglePlayerAll(t,a){return Fa(t.id,a)}isPlayerIn(t){return this.id===-1?!1:ka(t.id,this.id)}static getPlayerVisible(t){return B.checkpoints.get(Ma(t.id))}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerCheckpoint]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(E.CP,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(E.CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}L.onExit(({next:e})=>(B.checkpoints.forEach(t=>t.destroy()),e()));const[Cu,Tu]=_({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Du,Nu]=_({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.CP?Tu(a,B.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.CP?Nu(a,B.getInstance(t)):n());const[Lu]=_({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:B.getInstance(t)}}}),[Ru]=_({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:B.getInstance(t)}}}),bu=Object.freeze({onPlayerEnter:Lu,onPlayerLeave:Ru,onStreamIn:Cu,onStreamOut:Du});class F{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[StreamerRaceCP]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{type:o,size:d,x:c,y:m,z:p,nextX:g,nextY:I,nextZ:A,extended:b}=this.sourceInfo;return o<0||o>8?l.error("[StreamerRaceCP]: Invalid type"):d<0?l.error("[StreamerRaceCP]: Invalid size"):(t??=ee.RACE_CP_SD,s??=0,b?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=xa(o,c,m,p,g,I,A,d,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=Ha(o,c,m,p,g,I,A,d,a,n,i,t,r,s)),F.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1?l.warn("[StreamerRaceCP]: Unable to destroy the checkpoint before create"):(Pe(this.id),F.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return fe(this.id)}togglePlayer(t,a){return this.id===-1?l.warn("[StreamerRaceCP]: Unable to toggle the player before create"):(Va(t.id,this.id,a),this)}static togglePlayerAll(t,a){return Ua(t.id,a)}isPlayerIn(t){return this.id===-1?!1:Wa(t.id,this.id)}static getPlayerVisible(t){return F.checkpoints.get(Ka(t.id))}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerRaceCP]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(E.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(E.RACE_CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}L.onExit(({next:e})=>(F.getInstances().forEach(t=>t.destroy()),e()));const[vu,wu]=_({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Ou,Gu]=_({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.RACE_CP?wu(a,F.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.RACE_CP?Gu(a,F.getInstance(t)):n());const[Bu]=_({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:F.getInstance(t)}}}),[Fu]=_({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:F.getInstance(t)}}}),ku=Object.freeze({onPlayerEnter:Bu,onPlayerLeave:Fu,onStreamIn:vu,onStreamOut:Ou});class k{static actors=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[StreamerActor]: Unable to create actor again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{modelId:o,x:d,y:c,z:m,r:p,invulnerable:g,health:I,extended:A}=this.sourceInfo;return t??=h.StreamerDistances.ACTOR_SD,s??=0,A?(typeof a=="number"?a=[0]:a??=[0],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=h.CreateDynamicActorEx(o,d,c,m,p,g,I,t,a,n,i,r,s)):(Array.isArray(a)?a=0:a??=0,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=h.CreateDynamicActor(o,d,c,m,p,g,I,a,n,i,t,r,s)),k.actors.set(this.id,this),this}destroy(){return this.id===-1?l.warn("[StreamerActor]: Unable to destroy the actor before create"):(h.DestroyDynamicActor(this.id),k.actors.delete(this.id),this._id=-1,this)}isValid(){return h.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:h.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){return this.id===-1?l.warn("[StreamerActor]: Unable to get virtual world before create"):h.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){return this.id===-1?l.warn("[StreamerActor]: Unable to set virtual world before create"):h.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,a,n=!1,i=!0,r=!0,s=!1){if(this.id===-1)return l.warn("[StreamerActor]: Unable to apply animation before create");const o=qe(t,a);return o===void 0?l.error("[StreamerActor]: Invalid anim library or name"):h.ApplyDynamicActorAnimation(this.id,t,a,4.1,n,i,r,s,n?0:o)}clearAnimations(){return this.id===-1?l.warn("[StreamerActor]: Unable to clear animation before create"):h.ClearDynamicActorAnimations(this.id)}getFacingAngle(){return this.id===-1?l.warn("[StreamerActor]: Unable to get facing angle before create"):h.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){return this.id===-1?l.warn("[StreamerActor]: Unable to set facing angle before create"):h.SetDynamicActorFacingAngle(this.id,t)}getPos(){return this.id===-1?l.warn("[StreamerActor]: Unable to get pos before create"):h.GetDynamicActorPos(this.id)}setPos(t,a,n){return this.id===-1?l.warn("[StreamerActor]: Unable to set pos before create"):h.SetDynamicActorPos(this.id,t,a,n)}getHealth(){return this.id===-1?l.warn("[StreamerActor]: Unable to get health before create"):h.GetDynamicActorHealth(this.id)}setHealth(t){return this.id===-1?l.warn("[StreamerActor]: Unable to set health before create"):h.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:h.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){return this.id===-1?l.warn("[StreamerActor]: Unable to set invulnerable before create"):h.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t){if(this.id===-1)return;const a=h.GetPlayerTargetDynamicActor(t.id);return k.actors.get(a)}getPlayerCameraTarget(t){if(this.id===-1)return;const a=h.GetPlayerCameraTargetDynActor(t.id);return k.actors.get(a)}getSkin(){return this.id===-1?l.warn("[StreamerActor]: Unable to get skin before create"):dl(this.id)}setSkin(t,a=!1){return this.id===-1?l.warn("[StreamerActor]: Unable to set skin before create"):!a&&(t<0||t>311||t==74)?0:cl(this.id,t)}getSpawnInfo(){return this.id===-1?l.warn("[StreamerActor]: Unable to get spawn info before create"):_l(this.id)}getAnimation(){return this.id===-1?l.warn("[StreamerActor]: Unable to get animation before create"):h.GetDynamicActorAnimation(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerActor]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(h.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(h.StreamerItemTypes.ACTOR,this.id)}static getInstance(t){return this.actors.get(t)}static getInstances(){return[...this.actors.values()]}}L.onExit(({next:e})=>(k.getInstances().forEach(t=>t.destroy()),e()));const[Mu]=_({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:k.getInstance(e),forPlayer:u.getInstance(t)}}}),[xu]=_({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:k.getInstance(e),forPlayer:u.getInstance(t)}}}),[Hu]=_({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),actor:k.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),Vu=Object.freeze({onStreamIn:Mu,onStreamOut:xu,onPlayerGiveDamage:Hu});class Z{static texts=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[Streamer3DTextLabel]: Unable to create again");let{attachedPlayer:t,attachedVehicle:a,testLos:n,streamDistance:i,worldId:r,interiorId:s,playerId:o,areaId:d,priority:c}=this.sourceInfo;const{charset:m,text:p,color:g,drawDistance:I,x:A,y:b,z:M,extended:q}=this.sourceInfo;return t??=C.PLAYER_ID,a??=C.VEHICLE_ID,i??=ee.TEXT_3D_LABEL_SD,n??=!1,c??=0,q?(typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof o=="number"?o=[-1]:o??=[-1],typeof d=="number"?d=[-1]:d??=[-1],this._id=W_(p,y(g),A,b,M,I,t,a,n,i,r,s,o,d,c,m||"utf8")):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(o)?o=-1:o??=-1,Array.isArray(d)?d=-1:d??=-1,this._id=U_(m||"utf8",p,y(g),A,b,M,I,t,a,n,r,s,o,i,d,c)),Z.texts.set(this.id,this),this}destroy(){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to destroy before create"):(Za(this.id),Z.texts.delete(this.id),this._id=-1,this)}isValid(){return ja(this.id)}getColor(){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to get color before create"):this.sourceInfo.color}getCharset(){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to get charset before create"):this.sourceInfo.charset}getText(){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to get text before create"):Z_(this.id,this.sourceInfo.charset||"utf8")}updateText(t,a,n=this.sourceInfo.charset){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to update text before create"):(this.sourceInfo.charset=n,K_(this.id,y(t),a,n||"utf8"))}toggleCallbacks(t=!0){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(E.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(E.TEXT_3D_LABEL,this.id)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}}L.onExit(({next:e})=>(Z.getInstances().forEach(t=>t.destroy()),e()));const[Uu,Wu]=_({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Ku,Zu]=_({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.TEXT_3D_LABEL?Wu(a,Z.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.TEXT_3D_LABEL?Zu(a,Z.getInstance(t)):n());const ju=Object.freeze({onStreamIn:Uu,onStreamOut:Ku});class v{static objects=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[StreamerObject]: Unable to create object again");let{streamDistance:t,drawDistance:a,worldId:n,interiorId:i,playerId:r,areaId:s,priority:o}=this.sourceInfo;const{modelId:d,x:c,y:m,z:p,rx:g,ry:I,rz:A,extended:b}=this.sourceInfo;return t??=h.StreamerDistances.OBJECT_SD,a??=h.StreamerDistances.OBJECT_DD,o??=0,b?(typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=h.CreateDynamicObjectEx(d,c,m,p,g,I,A,t,a,n,i,r,s,o)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=h.CreateDynamicObject(d,c,m,p,g,I,A,n,i,r,t,a,s,o)),v.objects.set(this._id,this),this}destroy(){return this.id===-1?l.warn("[StreamerObject]: Unable to destroy the object before create"):(h.DestroyDynamicObject(this.id),v.objects.delete(this.id),this._id=-1,this)}isValid(){return h.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){return this.id===-1?l.warn("[StreamerObject]: Cannot get position before create"):h.GetDynamicObjectPos(this.id)}setPos(t,a,n){return this.id===-1?l.warn("[StreamerObject]: Cannot set position before create"):h.SetDynamicObjectPos(this.id,t,a,n)}getRot(){return this.id===-1?l.warn("[StreamerObject]: Cannot get rotation before create"):h.GetDynamicObjectRot(this.id)}setRot(t,a,n){return this.id===-1?l.warn("[StreamerObject]: Cannot set rotation before create"):h.SetDynamicObjectRot(this.id,t,a,n)}move(t,a,n,i,r=-1e3,s=-1e3,o=-1e3){return this.id===-1?l.warn("[StreamerObject]: Cannot start moving before create"):i<0?l.warn("[StreamerObject]: speed must not be less than 0"):(i>120*1e3&&l.warn("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional"),this.isMoving()&&this.stop(),h.MoveDynamicObject(this.id,t,a,n,i,r,s,o))}stop(){return this.id===-1?l.warn("[StreamerObject]: Cannot stop moving before create"):h.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:h.IsDynamicObjectMoving(this.id)}attachCamera(t){return this.id===-1||t.id===-1?l.warn("[StreamerObject]: Cannot attachCamera before both are created"):h.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,a,n,i,r,s,o,d=!0){return this.id===-1||t.id===-1?l.warn("[StreamerObject]: Cannot attachToObject before both are created"):h.AttachDynamicObjectToObject(this.id,t.id,a,n,i,r,s,o,d)}attachToPlayer(t,a,n,i,r,s,o){return this.id===-1||t.id===-1?l.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):h.AttachDynamicObjectToPlayer(this.id,t.id,a,n,i,r,s,o)}attachToVehicle(t,a,n,i,r,s,o){return this.id===-1||t.id===-1?l.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):h.AttachDynamicObjectToVehicle(this.id,t.id,a,n,i,r,s,o)}edit(t){return this.id===-1?l.warn("[StreamerObject]: Unable to edit before create"):(t.endObjectEditing(),h.EditDynamicObject(t.id,this.id))}isMaterialUsed(t){return this.id===-1?!1:h.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:h.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,a,n){return this.id===-1?l.warn("[StreamerObject]: Unable to get material before create"):h.GetDynamicObjectMaterial(this.id,t,a,n)}setMaterial(t,a,n,i,r="#000"){return this.id===-1?l.warn("[StreamerObject]: Unable to set material before create"):h.SetDynamicObjectMaterial(this.id,t,a,n,i,y(r))}isMaterialTextUsed(t){return this.id===-1?!1:h.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?h.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){return this.id===-1?l.warn("[StreamerObject]: Unable to get material text before create"):X_(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,a,n,i=h.MaterialTextSizes.SIZE_256x128,r="Arial",s=24,o=1,d="#fff",c="#000",m=0){return this.id===-1?l.warn("[StreamerObject]: Unable to set material text before create"):(this.sourceInfo.charset=t,j_(t||"utf8",this.id,a,n,i,r,s,o,y(d),y(c),m))}getPlayerCameraTarget(t){const a=h.GetPlayerCameraTargetDynObject(t.id);if(a!==C.OBJECT_ID)return v.objects.get(a)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerObject]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(h.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(h.StreamerItemTypes.OBJECT,this.id)}setNoCameraCollision(){return h.SetDynamicObjectNoCameraCol(this.id)}getNoCameraCollision(){return h.GetDynamicObjectNoCameraCol(this.id)}static getInstance(t){return this.objects.get(t)}static getInstances(){return[...this.objects.values()]}}L.onExit(({next:e})=>(v.getInstances().forEach(t=>t.destroy()),e()));const[Xu,Yu]=_({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[zu,Ju]=_({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.OBJECT?Yu(a,v.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.OBJECT?Ju(a,v.getInstance(t)):n());const[$u]=_({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:v.getInstance(e)}}}),[Qu]=_({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",beforeEach(e,t,a,n,i,r,s,o,d){return{player:u.getInstance(e),object:v.getInstance(t),response:a,x:n,y:i,z:r,rX:s,rY:o,rZ:d}}}),[qu]=_({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:u.getInstance(e),object:v.getInstance(t),modelId:a,x:n,y:i,z:r}}}),[em]=_({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:u.getInstance(e),object:v.getInstance(a),weapon:t,x:n,y:i,z:r}}}),[tm]=_({name:"OnPlayerEditAttachedObject",beforeEach(e,t,a,n,i,r,s,o,d,c,m,p,g,I){return{player:u.getInstance(e),response:t,index:a,modelId:n,boneId:i,fOffsetX:r,fOffsetY:s,fOffsetZ:o,fRotX:d,fRotY:c,fRotZ:m,fScaleX:p,fScaleY:g,fScaleZ:I}}}),am=Object.freeze({onMoved:$u,onPlayerEdit:Qu,onPlayerSelect:qu,onPlayerShoot:em,onPlayerEditAttached:tm,onStreamIn:Xu,onStreamOut:zu});class R{static areas=new Map;sourceInfo;_id=-1;get type(){return this.sourceInfo.type}get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[StreamerArea]: Unable to create area again");let{worldId:t,interiorId:a,playerId:n}=this.sourceInfo;const{type:i,extended:r}=this.sourceInfo;if(r)if(typeof t=="number"?t=[-1]:t??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],i==="circle"){const{x:s,y:o,size:d}=this.sourceInfo;if(d<0)return l.error("[StreamerArea]: Invalid circle extend size");this._id=h.CreateDynamicCircleEx(s,o,d,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:o,minZ:d,maxX:c,maxY:m,maxZ:p}=this.sourceInfo;this._id=h.CreateDynamicCuboidEx(s,o,d,c,m,p,t,a,n)}else if(i==="cylinder"){const{x:s,y:o,minZ:d,maxZ:c,size:m}=this.sourceInfo;if(m<0)return l.error("[StreamerArea]: Invalid cylinder extend size");this._id=h.CreateDynamicCylinderEx(s,o,d,c,m,t,a,n)}else if(i==="polygon"){const{points:s,minZ:o,maxZ:d}=this.sourceInfo;if(s.length%2!==0)return l.warn("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=h.CreateDynamicPolygonEx(s,o,d,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:o,maxX:d,maxY:c}=this.sourceInfo;this._id=h.CreateDynamicRectangleEx(s,o,d,c,t,a,n)}else{const{x:s,y:o,z:d,size:c}=this.sourceInfo;if(c<0)return l.error("[StreamerArea]: Invalid sphere extended size");this._id=h.CreateDynamicSphereEx(s,o,d,c,t,a,n)}else if(Array.isArray(t)?t=-1:t??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,i==="circle"){const{x:s,y:o,size:d}=this.sourceInfo;if(d<0)return l.error("[StreamerArea]: Invalid circle size");this._id=h.CreateDynamicCircle(s,o,d,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:o,minZ:d,maxX:c,maxY:m,maxZ:p}=this.sourceInfo;this._id=h.CreateDynamicCuboid(s,o,d,c,m,p,t,a,n)}else if(i==="cylinder"){const{x:s,y:o,minZ:d,maxZ:c,size:m}=this.sourceInfo;if(m<0)return l.error("[StreamerArea]: Invalid cylinder size");this._id=h.CreateDynamicCylinder(s,o,d,c,m,t,a,n)}else if(i==="polygon"){const{points:s,minZ:o,maxZ:d}=this.sourceInfo;if(s.length%2!==0)return l.warn("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=h.CreateDynamicPolygon(s,o,d,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:o,maxX:d,maxY:c}=this.sourceInfo;this._id=h.CreateDynamicRectangle(s,o,d,c,t,a,n)}else{const{x:s,y:o,z:d,size:c}=this.sourceInfo;if(c<0)return l.error("[StreamerArea]: Invalid sphere size");this._id=h.CreateDynamicSphere(s,o,d,c,t,a,n)}return R.areas.set(this._id,this),this}destroy(){return this.id===-1?l.warn("[StreamerArea]: Unable to destroy the area before create"):(h.DestroyDynamicArea(this.id),R.areas.delete(this.id),this._id=-1,this)}isValid(){return this.id===-1?!1:h.IsValidDynamicArea(this.id)}getType(){return this.id!==-1?l.warn("[StreamerArea]: Unable to get type before create"):h.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)return l.warn("[StreamerArea]: Unable to get polygon points before create");if(this.type==="polygon")return h.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)return l.warn("[StreamerArea]: Unable to get polygon points number before create");if(this.type==="polygon")return h.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,a=!1){return this.id===-1?!1:h.IsPlayerInDynamicArea(t.id,this.id,a)}static isPlayerInAny(t,a=!1){return h.IsPlayerInAnyDynamicArea(t.id,a)}isAnyPlayerIn(t=!1){return this.id===-1?!1:h.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return h.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t){return R.getPlayerAreasNumber(t)?h.GetPlayerDynamicAreas(t.id).map(a=>R.areas.get(a)):[]}static getPlayerAreasNumber(t){return h.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,a,n){return this.id===-1?!1:h.IsPointInDynamicArea(this.id,t,a,n)}static isPointInAny(t,a,n){return h.IsPointInAnyDynamicArea(t,a,n)}isLineIn(t,a,n,i,r,s){return this.id===-1?!1:h.IsLineInDynamicArea(this.id,t,a,n,i,r,s)}static isLineInAny(t,a,n,i,r,s){return h.IsLineInAnyDynamicArea(t,a,n,i,r,s)}static getForPoint(t,a,n){return R.getNumberForPoint(t,a,n)?h.GetDynamicAreasForPoint(t,a,n).map(i=>R.getInstance(i)):[]}static getNumberForPoint(t,a,n){return h.GetNumberDynamicAreasForPoint(t,a,n)}static getForLine(t,a,n,i,r,s){return R.getNumberForLine(t,a,n,i,r,s)?h.GetDynamicAreasForLine(t,a,n,i,r,s).map(o=>R.areas.get(o)):[]}static getNumberForLine(t,a,n,i,r,s){return h.GetNumberDynamicAreasForLine(t,a,n,i,r,s)}attachToObject(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?l.warn("[StreamerArea]: Unable to toggle attach to object before create"):h.AttachDynamicAreaToObject(this.id,t.id,h.StreamerObjectTypes.DYNAMIC,C.PLAYER_ID,a,n,i)}attachToPlayer(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?l.warn("[StreamerArea]: Unable to toggle attach to player before create"):h.AttachDynamicAreaToPlayer(this.id,t.id,a,n,i)}attachToVehicle(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?l.warn("[StreamerArea]: Unable to toggle attach to vehicle before create"):h.AttachDynamicAreaToVehicle(this.id,t.id,a,n,i)}toggleSpectateMode(t){return this.id===-1?l.warn("[StreamerArea]: Unable to toggle specate mode before create"):h.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:h.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerArea]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(h.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(h.StreamerItemTypes.AREA,this.id)}static getInstance(t){return this.areas.get(t)}static getInstances(){return[...this.areas.values()]}}L.onExit(({next:e})=>(R.getInstances().forEach(t=>t.destroy()),e()));const[nm,im]=_({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[rm,sm]=_({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.AREA?im(a,R.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.AREA?sm(a,R.getInstance(t)):n());const[lm]=_({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:R.getInstance(t)}}}),[om]=_({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:R.getInstance(t)}}}),dm=Object.freeze({onStreamIn:nm,onStreamOut:rm,onPlayerEnter:lm,onPlayerLeave:om});class S{static globalTextDraws=new Map;static playerTextDraws=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[TextDraw]: Unable to create the textdraw again");const{x:t,y:a,text:n,player:i}=this.sourceInfo;if(i){if(S.getInstances(!1).length===w.MAX_TEXT_DRAWS)return l.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=qc(i.id,t,a,n);const r=_e.onDisconnect(({player:s,next:o})=>{const d=o();return s===i&&(this.destroy(),r()),d});S.playerTextDraws.set(this.id,this)}else{if(S.getInstances(!0).length===w.MAX_TEXT_DRAWS)return l.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=dc(t,a,n),S.globalTextDraws.set(this.id,this)}return this}destroy(){if(this.id===-1)return S.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(e_(t.id,this.id),S.playerTextDraws.delete(this.id)):(cc(this.id),S.globalTextDraws.delete(this.id)),this._id=-1,this}setFont(t){if(this.id===-1)return S.beforeCreateWarn("set font"),this;const{player:a}=this.sourceInfo;return a?c_(a.id,this.id,t):Pc(this.id,t),this}setColor(t){if(this.id===-1)return S.beforeCreateWarn("set color"),this;const{player:a}=this.sourceInfo;return a?i_(a.id,this.id,t):mc(this.id,t),this}setBoxColors(t){if(this.id===-1)return S.beforeCreateWarn("set box color"),this;const{player:a}=this.sourceInfo;return a?s_(a.id,this.id,t):gc(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return S.beforeCreateWarn("set background color"),this;const{player:a}=this.sourceInfo;return a?d_(a.id,this.id,t):Ic(this.id,t),this}setAlignment(t){if(this.id===-1)return S.beforeCreateWarn("set alignment"),this;const{player:a}=this.sourceInfo;return a?n_(a.id,this.id,t):uc(this.id,t),this}setLetterSize(t,a){if(this.id===-1)return S.beforeCreateWarn("set letter size"),this;const{player:n}=this.sourceInfo;return n?t_(n.id,this.id,t,a):_c(this.id,t,a),this}setOutline(t){if(this.id===-1)return S.beforeCreateWarn("set outline model"),this;if(t<0)return l.warn("[TextDraw]: Invalid outline value"),this;const{player:a}=this.sourceInfo;return a?o_(a.id,this.id,t):yc(this.id,t),this}setPreviewModel(t){if(this.id===-1)return S.beforeCreateWarn("set preview model"),this;this.setFont($.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?g_(a.id,this.id,t):Lc(this.id,t),this}setPreviewRot(t,a,n,i=1){if(this.id===-1)return S.beforeCreateWarn("set preview rot"),this;this.setFont($.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?S_(r.id,this.id,t,a,n,i):Rc(this.id,t,a,n,i),this}setPreviewVehColors(t,a){if(this.id===-1)return S.beforeCreateWarn("set preview veh col"),this;this.setFont($.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?y_(n.id,this.id,t,a):bc(this.id,t,a),this}setProportional(t=!0){if(this.id===-1)return S.beforeCreateWarn("set Proportional"),this;const{player:a}=this.sourceInfo;return a?__(a.id,this.id,t):fc(this.id,t),this}setSelectable(t){if(this.id===-1)return S.beforeCreateWarn("set Selectable"),this;const{player:a}=this.sourceInfo;return a?h_(a.id,this.id,t):Ac(this.id,t),this}setShadow(t){if(this.id===-1)return S.beforeCreateWarn("set shadow"),this;if(t<0)return l.warn("[TextDraw]: Invalid shadow value"),this;const{player:a}=this.sourceInfo;return a?l_(a.id,this.id,t):Sc(this.id,t),this}setString(t,a){if(this.id===-1)return S.beforeCreateWarn("set string"),this;if(t.length===0||t.length>1024)return l.warn("[TextDraw]: Invalid text length"),this;const{player:n}=this.sourceInfo;return n?p_(n.id,this.id,t):a?oc(this.id,a.id,t):Nc(this.id,t),this}setTextSize(t,a){if(this.id===-1)return S.beforeCreateWarn("set TextSize"),this;const{player:n}=this.sourceInfo;return n?a_(n.id,this.id,t,a):hc(this.id,t,a),this}useBox(t){if(this.id===-1)return S.beforeCreateWarn("set TextSize"),this;const{player:a}=this.sourceInfo;return a?r_(a.id,this.id,t):pc(this.id,t),this}static beforeCreateWarn(t){l.warn(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return S.beforeCreateWarn("show"),this;const a=this.sourceInfo.player;if(a)u_(a.id,this.id);else if(t)Ec(t.id,this.id);else return l.warn("[TextDraw]: invalid player for show"),this;return this}hide(t){if(this.id===-1)return S.beforeCreateWarn("hide"),this;const a=this.sourceInfo.player;if(a)m_(a.id,this.id);else if(t)Cc(t.id,this.id);else return l.warn("[TextDraw]: invalid player for hide"),this;return this}showAll(){return this.id===-1?(S.beforeCreateWarn("show"),this):this.sourceInfo.player?(l.warn("[TextDraw]: player's textdraw should not be show for all."),this):(Tc(this.id),this)}hideAll(){return this.id===-1?(S.beforeCreateWarn("hideAll"),this):this.sourceInfo.player?(l.warn("[TextDraw]: player's textdraw should not be hide for all."),this):(Dc(this.id),this)}isValid(){const t=this.sourceInfo.player;return t?Oc(t.id,this.id):Ud(this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const{player:a}=this.sourceInfo;return a?Gc(a.id,this.id):t?Wd(t.id,this.id):!1}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?Bc(t.id,this.id):Kd(this.id)}setPos(t,a){if(this.id===-1)return S.beforeCreateWarn("set position"),this;const n=this.sourceInfo.player;return n?Fc(n.id,this.id,t,a):Zd(this.id,t,a),this}getLetterSize(){if(this.id===-1)return S.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?kc(t.id,this.id):jd(this.id)}getTextSize(){if(this.id===-1)return S.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?Mc(t.id,this.id):Xd(this.id)}getPos(){if(this.id===-1)return S.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?xc(t.id,this.id):Yd(this.id)}getColor(){if(this.id===-1)return S.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?Hc(t.id,this.id):zd(this.id)}getBoxColor(){if(this.id===-1)return S.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?Vc(t.id,this.id):Jd(this.id)}getBackgroundColor(){if(this.id===-1)return S.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?Uc(t.id,this.id):$d(this.id)}getShadow(){if(this.id===-1)return S.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?Wc(t.id,this.id):Qd(this.id)}getOutline(){if(this.id===-1)return S.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?Kc(t.id,this.id):qd(this.id)}getFont(){if(this.id===-1)return S.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?Zc(t.id,this.id):ec(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?jc(t.id,this.id):tc(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Xc(t.id,this.id):ac(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Yc(t.id,this.id):nc(this.id)}getAlignment(){if(this.id===-1)return S.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?zc(t.id,this.id):ic(this.id)}getPreviewModel(){if(this.id===-1)return S.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?Jc(t.id,this.id):rc(this.id)}getPreviewRot(){if(this.id===-1)return S.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?$c(t.id,this.id):sc(this.id)}getPreviewVehColors(){if(this.id===-1)return S.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?Qc(t.id,this.id):lc(this.id)}isGlobal(){return!!this.sourceInfo.player}static getInstance(t,a){return a?this.globalTextDraws.get(t):this.playerTextDraws.get(t)}static getInstances(t){return t?[...this.globalTextDraws.values()]:[...this.playerTextDraws.values()]}}L.onExit(({next:e})=>(S.getInstances(!0).forEach(t=>t.destroy()),S.getInstances(!1).forEach(t=>t.destroy()),e()));const[cm]=_({name:"OnPlayerClickTextDraw",beforeEach(e,t){return{player:u.getInstance(e),textDraw:t===C.TEXT_DRAW?t:S.getInstance(t,!0)}}}),[_m]=_({name:"OnPlayerClickPlayerTextDraw",beforeEach(e,t){return{player:u.getInstance(e),textDraw:t===C.TEXT_DRAW?t:S.getInstance(t,!1)}}}),hm=Object.freeze({onPlayerClickGlobal:cm,onPlayerClickPlayer:_m});function um(e,t){return(e&t)===t}function mm(e,t,a){return(e&a)===a&&(t&a)!==a}function pm(e,t){return!!(e&t)}function gm(e,t,a){return(e&a)!==a&&(t&a)===a}export{Re as ArtworkEnum,Ue as BodyPartsEnum,We as BoneIdsEnum,Je as BulletHitTypesEnum,te as CameraCutStylesEnum,Ve as CameraModesEnum,Ze as CarModTypeEnum,be as ClickSourcesEnum,we as ConnectionStatusEnum,se as DamageDeathReasonEnum,D as Dialog,ie as DialogStylesEnum,Z as Dynamic3DTextLabel,ju as Dynamic3DTextLabelEvent,k as DynamicActor,Vu as DynamicActorEvent,R as DynamicArea,dm as DynamicAreaEvent,bu as DynamicCheckPointEvent,B as DynamicCheckpoint,H as DynamicMapIcon,Su as DynamicMapIconEvent,v as DynamicObject,am as DynamicObjectEvent,x as DynamicPickup,Eu as DynamicPickupEvent,F as DynamicRaceCP,ku as DynamicRaceCPEvent,O as ERecordStatus,Em as E_STREAMER,ve as EditResponseTypesEnum,xe as FightingStylesEnum,L as GameMode,tu as GameText,N as GangZone,_u as GangZoneEvent,P as I18n,C as InvalidEnum,Oe as KeysEnum,w as LimitsEnum,Cm as MapIconStyles,He as MapIconStylesEnum,Ge as MarkerModesEnum,Tm as MaterialTextSizes,j as Menu,iu as MenuEvent,Be as NPCPlaybackEnum,eu as NetStats,G as Npc,tn as NpcEvent,ke as ObjectMaterialAlignmmentEnum,Fe as ObjectMaterialTextSizeEnum,u as Player,_e as PlayerEvent,X as PlayerStateEnum,Qe as RecordTypesEnum,Me as SelectObjectTypesEnum,re as SpecialActionsEnum,ae as SpectateModesEnum,T as Streamer,Dm as StreamerAreaTypes,Nm as StreamerDistances,Lm as StreamerItemTypes,Rm as StreamerMiscellaneous,bm as StreamerObjectTypes,S as TextDraw,Ke as TextDrawAlignEnum,hm as TextDrawEvent,$ as TextDrawFontsEnum,f as Vehicle,qh as VehicleEvent,Xe as VehicleModelInfoEnum,je as VehicleParamsEnum,Ye as WeaponEnum,ze as WeaponSkillsEnum,$e as WeaponStatesEnum,_ as defineEvent,um as isHolding,mm as isPressed,pm as isPressing,gm as isReleased,y as rgba};
1
+ import{encodingExists as mt,encode as pt,decode as gt}from"iconv-lite";import St from"pino";import{snakeCase as ne,merge as yt,omit as It,get as me,mapKeys as Pt}from"lodash-unified";import*as h from"@infernus/streamer";import{Streamer_GetTickRate as ft,Streamer_SetTickRate as At,Streamer_GetPlayerTickRate as Et,Streamer_SetPlayerTickRate as Ct,Streamer_ToggleChunkStream as Tt,Streamer_IsToggleChunkStream as Dt,Streamer_GetChunkTickRate as pe,Streamer_SetChunkTickRate as ge,Streamer_GetChunkSize as Nt,Streamer_SetChunkSize as Lt,Streamer_GetMaxItems as Rt,Streamer_SetMaxItems as bt,Streamer_GetVisibleItems as Se,Streamer_SetVisibleItems as ye,Streamer_GetRadiusMultiplier as Ie,Streamer_SetRadiusMultiplier as Pe,Streamer_GetTypePriority as vt,Streamer_SetTypePriority as wt,Streamer_GetCellDistance as Ot,Streamer_SetCellDistance as Gt,Streamer_GetCellSize as Bt,Streamer_SetCellSize as Ft,Streamer_ToggleItemStatic as kt,Streamer_IsToggleItemStatic as Mt,Streamer_ToggleItemInvAreas as xt,Streamer_IsToggleItemInvAreas as Ht,Streamer_ToggleItemCallbacks as Vt,Streamer_IsToggleItemCallbacks as Ut,Streamer_ToggleErrorCallback as Wt,Streamer_IsToggleErrorCallback as Kt,Streamer_AmxUnloadDestroyItems as Zt,Streamer_ProcessActiveItems as jt,Streamer_ToggleIdleUpdate as Xt,Streamer_IsToggleIdleUpdate as Yt,Streamer_ToggleCameraUpdate as zt,Streamer_IsToggleCameraUpdate as Jt,Streamer_ToggleItemUpdate as $t,Streamer_IsToggleItemUpdate as Qt,Streamer_GetLastUpdateTime as qt,Streamer_Update as ea,Streamer_UpdateEx as ta,Streamer_GetDistanceToItem as aa,Streamer_ToggleItem as na,Streamer_IsToggleItem as ia,Streamer_ToggleAllItems as ra,Streamer_GetItemInternalID as sa,Streamer_GetItemStreamerID as la,Streamer_IsItemVisible as oa,Streamer_DestroyAllVisibleItems as da,Streamer_CountVisibleItems as ca,Streamer_DestroyAllItems as _a,Streamer_CountItems as ha,Streamer_GetNearbyItems as ua,Streamer_GetAllVisibleItems as ma,Streamer_GetItemPos as pa,Streamer_SetItemPos as ga,Streamer_GetItemOffset as Sa,Streamer_SetItemOffset as ya,Streamer_GetFloatData as Ia,Streamer_SetFloatData as Pa,Streamer_GetIntData as fa,Streamer_SetIntData as Aa,Streamer_GetArrayData as Ea,Streamer_SetArrayData as Ca,Streamer_IsInArrayData as Ta,Streamer_AppendArrayData as Da,Streamer_RemoveArrayData as Na,Streamer_GetArrayDataLength as La,Streamer_GetUpperBound as Ra,MapIconStyles as ba,StreamerDistances as ee,CreateDynamicMapIconEx as va,CreateDynamicMapIcon as wa,DestroyDynamicMapIcon as Oa,IsValidDynamicMapIcon as Ga,StreamerItemTypes as E,CreateDynamicCPEx as Ba,CreateDynamicCP as Fa,DestroyDynamicCP as fe,IsValidDynamicCP as Ae,TogglePlayerDynamicCP as ka,TogglePlayerAllDynamicCPs as Ma,IsPlayerInDynamicCP as xa,GetPlayerVisibleDynamicCP as Ha,CreateDynamicRaceCPEx as Va,CreateDynamicRaceCP as Ua,TogglePlayerDynamicRaceCP as Wa,TogglePlayerAllDynamicRaceCPs as Ka,IsPlayerInDynamicRaceCP as Za,GetPlayerVisibleDynamicRaceCP as ja,DestroyDynamic3DTextLabel as Xa,IsValidDynamic3DTextLabel as Ya}from"@infernus/streamer";import{E_STREAMER as Dm,MapIconStyles as Nm,MaterialTextSizes as Lm,StreamerAreaTypes as Rm,StreamerDistances as bm,StreamerItemTypes as vm,StreamerMiscellaneous as wm,StreamerObjectTypes as Om}from"@infernus/streamer";const l=St({transport:{target:"pino-pretty",options:{translateTime:"SYS:standard",ignore:"pid,hostname"}}});process.on("uncaughtException",e=>{l.error(e),process.exit(1)}),process.on("unhandledRejection",e=>{if(e instanceof Error){l.warn(e);return}l.warn(new Error(JSON.stringify(e)))});class P{constructor(t,a){this.defaultLocale=t,this.locales=a,this.defaultLocale=ne(t),this.locales=P.snakeLocaleKeys(a)}addLocales=t=>{yt(this.locales,P.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=It(this.locales,t)};$t=(t,a,n=this.defaultLocale)=>{const i=this.locales[ne(n)],r=me(this.locales[this.defaultLocale],t),s=me(i,t,r);if(s===void 0)return l.warn(`[i18n]: cannot find ${n}["${t}"]`),"undefined";if(typeof s!="string")return JSON.stringify(s);let o=s;if(a&&a.length){const d=/%s/i;for(let c=0;c<a.length&&o.match(d)!==null;c++)o=o.replace(d,a[c])}return o};static isValidate(t){mt(t)||(l.fatal(`[i18n]: unknown charset ${t}`),process.exit(1))}static encodeToBuf(t,a){return P.isValidate(a),[...pt(t,a),0]}static decodeFromBuf(t,a="utf8"){P.isValidate(a);const n=t instanceof Buffer?t:Buffer.from(t);return gt(n,a)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return Pt(t,(a,n)=>ne(n))}}const J=new Map;function Ee(e){J.set(e,[])}function za(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function Ja(e,...t){const{defaultValue:a=!0,name:n,beforeEach:i,afterEach:r}=e,s=J.get(n);if(!s||!s.length)return+a;const o=i?i(...t):{},d=[];let c=-1;const m=()=>{if(c++,c<s.length){try{const p=s[c]({next:m,...o});return p instanceof Promise&&d.push(p),p}catch(p){const g=JSON.stringify(p),I=`executing event [name:${n},index:${c}] error: ${g}.`;l.error(I)}return a}return r&&(d.length?Promise.allSettled(d).then(()=>r(o)):r(o)),a};return za(m(),a)}function _(e){const{name:t,identifier:a,isNative:n=!0}=e;if(J.has(t)){const o=`event [name:${t}] error: already defined.`;throw l.error(o),new Error(o)}Ee(t);function i(...o){return Ja(e,...o)}function r(o){const d=J.get(t).push(o)-1;return()=>{const c=J.get(t)||[],m=c.length-1,p=m<d?m:d;for(let g=p;g>=0;g--)if(c[g]===o){c.splice(g,1);break}}}const s=[r,i];return n&&(a&&samp.registerEvent(t,a),samp.on(t,i)),s}const[$a]=_({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[Qa]=_({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[qa]=_({name:"OnNpcModeInit"}),[en]=_({name:"OnNpcModeExit"}),[tn]=_({name:"OnNpcSpawn"}),[an]=_({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:P.decodeFromBuf(t)}}}),nn=Object.freeze({onConnect:$a,onDisconnect:Qa,onModeInit:qa,onModeExit:en,onSpawn:tn,onClientMessage:an}),rn=e=>!!samp.callNative("IsValidNickName","s",e),sn=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},ln=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),on=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),dn=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),cn=e=>!!samp.callNative("IsValidServerRule","s",e),_n=e=>!!samp.callNative("RemoveServerRule","s",e),hn=e=>{samp.callNative("AllowAdminTeleport","i",e)},un=()=>!!samp.callNative("IsAdminTeleportAllowed",""),mn=e=>{samp.callNative("AllowInteriorWeapons","i",e)},pn=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),gn=()=>!!samp.callNative("AreAllAnimationsEnabled",""),Sn=e=>{samp.callNative("EnableAllAnimations","i",e)},yn=e=>{const[t]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return t},In=e=>samp.callNative("GetConsoleVarAsInt","s",e),Pn=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),fn=()=>samp.callNative("GetWeather",""),An=e=>samp.callNative("GetServerRuleFlags","s",e),En=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),Cn=e=>!!samp.callNative("SetModeRestartTime","f",e),Tn=()=>samp.callNativeFloat("GetModeRestartTime",""),Dn=(e,t,a)=>samp.callNative("GameTextForAll","sii",e,t,a),Nn=e=>{samp.callNative("HideGameTextForAll","i",e)},Ln=(e,t,a)=>samp.callNative("SendDeathMessage","iii",e,t,a),Rn=()=>samp.callNative("GetMaxPlayers",""),bn=(e,t,a)=>Math.sqrt(e*e+t*t+a*a),vn=e=>samp.callNative("SetGameModeText","s",e),wn=e=>samp.callNative("ShowNameTags","i",e),On=e=>samp.callNative("ShowPlayerMarkers","i",e),Gn=e=>samp.callNative("SetWorldTime","i",e),Bn=()=>samp.callNative("GetWorldTime",""),Fn=()=>samp.callNative("EnableVehicleFriendlyFire",""),kn=e=>samp.callNative("SetWeather","i",e),Mn=()=>samp.callNativeFloat("GetGravity",""),xn=e=>samp.callNative("SetGravity","f",e),Hn=(e,t,a,n,i)=>samp.callNative("CreateExplosion","fffif",e,t,a,n,i),Vn=e=>samp.callNative("EnableZoneNames","i",e),Un=()=>samp.callNative("UsePlayerPedAnims",""),Wn=()=>samp.callNative("DisableInteriorEnterExits",""),Kn=e=>samp.callNative("SetNameTagDrawDistance","f",e),Zn=()=>samp.callNative("DisableNameTagLOS",""),jn=e=>samp.callNative("LimitGlobalChatRadius","f",e),Xn=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),Yn=(e,t)=>samp.callNative("ConnectNPC","ss",e,t),zn=()=>samp.callNative("GetServerTickRate",""),Jn=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),$n=e=>samp.callNative("EnableStuntBonusForAll","i",e),Qn=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},qn=()=>!!samp.callNative("ChatTextReplacementToggled",""),ei=e=>samp.callNative("GetWeaponSlot","i",e),ti=e=>{const[t]=samp.callNative("GetWeaponName","iSi",e,32);return t},Ce=()=>samp.callNative("GetAvailableClasses",""),ai=e=>{if(e<Ce()||e>319)return!1;const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[a,n=0,i=0,r=0,s=0,o=0,d=0,c=0,m=0,p=0,g=0,I=0]=t;return{teamId:a,modelId:n,spawn_x:i,spawn_y:r,spawn_z:s,z_angle:o,weapon1:d,weapon1_ammo:c,weapon2:m,weapon2_ammo:p,weapon3:g,weapon3_ammo:I}},ni=(e,t,a,n,i,r,s,o,d,c,m,p,g)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,a,n,i,r,s,o,d,c,m,p,g),ii=e=>samp.callNative("SetTeamCount","i",e),ri=(e,t,a,n,i,r,s,o,d,c,m)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,a,n,i,r,s,o,d,c,m),si=(e,t,a,n,i,r,s,o,d,c,m,p)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,a,n,i,r,s,o,d,c,m,p),li=(e,t,a,n,i,r,s,o,d,c,m,p,g)=>samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,a,n,i,r,s,o,d,c,m,p,g),oi=e=>samp.callNative("SpawnPlayer","i",e),di=e=>{const[t,a=0,n=0,i=0,r=0,s=0,o=0,d=0,c=0,m=0,p=0,g=0]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:a,spawn_x:n,spawn_y:i,spawn_z:r,z_angle:s,weapon1:o,weapon1_ammo:d,weapon2:c,weapon2_ammo:m,weapon3:p,weapon3_ammo:g}},ci=e=>samp.callNative("NetStats_GetConnectedTime","i",e),_i=e=>samp.callNative("NetStats_MessagesReceived","i",e),hi=e=>samp.callNative("NetStats_BytesReceived","i",e),ui=e=>samp.callNative("NetStats_MessagesSent","i",e),mi=e=>samp.callNative("NetStats_BytesSent","i",e),pi=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),gi=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),Si=e=>samp.callNative("NetStats_ConnectionStatus","i",e),yi=e=>{const[t]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return t},Ii=e=>!!samp.callNative("IsPlayerAdmin","i",e),Pi=(e,t)=>samp.callNative("SetPlayerAdmin","ii",e,t),fi=e=>samp.callNative("Kick","i",e),Ai=e=>samp.callNative("Ban","i",e),Ei=e=>{const[t]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return t},Ci=()=>samp.callNative("GetNetworkStats","Si",1024),Ti=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),Di=e=>samp.callNative("UnBlockIpAddress","s",e),Ni=(e,t)=>{const[a]=samp.callNative("gpci","iAi",e,41);return P.decodeFromBuf(P.getValidStr(a),t)},Li=(e,t,a,n,i)=>samp.callNative("SendClientCheck","iiiii",e,t,a,n,i),Ri=()=>{samp.callNative("ClearBanList","")},bi=e=>!!samp.callNative("IsBanned","s",e),vi=e=>samp.callNative("GetPlayerRawIp","i",e),wi=e=>{const[t]=samp.callNative("GetPlayerIp","iSi",e,128);return t},Oi=e=>{const[t]=samp.callNative("GetPlayerVersion","iSi",e,24);return t},y=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(n=>parseInt(n,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 a=0;return t.reverse().forEach((n,i)=>{n!==0&&(a+=Math.pow(16,i*2)*n)}),a},Gi=(e,t)=>samp.callNative("TogglePlayerWidescreen","ii",e,t),Bi=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),Fi=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),ki=e=>samp.callNative("GetPlayerWeather","i",e),Mi=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{x_max:t,x_min:a,y_max:n,y_min:i}},xi=e=>samp.callNativeFloat("GetPlayerZAim","i",e),Hi=e=>{const[t=0,a=0,n=0]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:a,fOffsetZ:n}},Vi=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:a,y:n,z:i}},Ui=e=>samp.callNative("GetPlayerDialogID","i",e),Wi=e=>samp.callNative("GetPlayerSpectateID","i",e),Ki=e=>samp.callNative("GetPlayerSpectateType","i",e),Zi=(e,t)=>samp.callNative("SetPlayerGravity","if",e,t),ji=e=>samp.callNativeFloat("GetPlayerGravity","i",e),Xi=e=>!!samp.callNative("IsPlayerSpawned","i",e),Yi=e=>!!samp.callNative("IsPlayerControllable","i",e),zi=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),Ji=(e,t)=>samp.callNative("TogglePlayerGhostMode","ii",e,t),$i=e=>!!samp.callNative("GetPlayerGhostMode","i",e),Qi=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),qi=(e,t)=>samp.callNative("RemovePlayerWeapon","ii",e,t),er=e=>samp.callNative("HidePlayerDialog","i",e),tr=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),ar=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),nr=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),ir=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),rr=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),sr=(e,t,a,n)=>!!samp.callNative("GameTextForPlayer","isii",e,t,a,n),lr=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),or=(e,t,a,n)=>samp.callNative("SendDeathMessageToPlayer","iiii",e,t,a,n),dr=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),cr=e=>!!samp.callNative("IsPlayerNPC","i",e),Te=(e,t,a,n)=>samp.callNative("SetPlayerPos","ifff",e,t,a,n),_r=(e,t,a,n)=>samp.callNative("SetPlayerPosFindZ","ifff",e,t,a,n),hr=e=>samp.callNative("GetPlayerPos","iFFF",e),ur=(e,t)=>samp.callNative("SetPlayerFacingAngle","if",e,t),mr=e=>{const[t]=samp.callNative("GetPlayerFacingAngle","iF",e);return t},pr=(e,t,a,n,i)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,a,n,i),gr=(e,t,a,n)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,a,n),Sr=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),yr=(e,t)=>samp.callNative("SetPlayerInterior","ii",e,t),Ir=e=>samp.callNative("GetPlayerInterior","i",e),Pr=(e,t)=>samp.callNative("SetPlayerHealth","if",e,t),fr=e=>{const[t]=samp.callNative("GetPlayerHealth","iF",e);return t},Ar=(e,t)=>samp.callNative("SetPlayerArmour","if",e,t),Er=e=>{const[t]=samp.callNative("GetPlayerArmour","iF",e);return t},Cr=(e,t,a)=>samp.callNative("SetPlayerAmmo","iii",e,t,a),Tr=e=>samp.callNative("GetPlayerAmmo","i",e),Dr=e=>samp.callNative("GetPlayerWeaponState","i",e),Nr=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Lr=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},Rr=e=>samp.callNative("GetPlayerTeam","i",e),br=(e,t)=>samp.callNative("SetPlayerScore","ii",e,t),vr=e=>samp.callNative("GetPlayerScore","i",e),wr=e=>samp.callNative("GetPlayerDrunkLevel","i",e),Or=(e,t)=>samp.callNative("SetPlayerDrunkLevel","ii",e,t),Gr=(e,t)=>samp.callNative("SetPlayerColor","ii",e,y(t)),Br=e=>samp.callNative("GetPlayerColor","i",e),Fr=(e,t)=>samp.callNative("SetPlayerSkin","ii",e,t),kr=e=>samp.callNative("GetPlayerSkin","i",e),Mr=(e,t,a)=>samp.callNative("GivePlayerWeapon","iii",e,t,a),xr=e=>samp.callNative("ResetPlayerWeapons","i",e),Hr=(e,t)=>samp.callNative("SetPlayerArmedWeapon","ii",e,t),Vr=(e,t)=>samp.callNative("GetPlayerWeaponData","iiII",e,t),Ur=(e,t)=>samp.callNative("GivePlayerMoney","ii",e,t),Wr=e=>samp.callNative("ResetPlayerMoney","i",e),Kr=e=>samp.callNative("GetPlayerMoney","i",e),Zr=e=>samp.callNative("GetPlayerState","i",e),jr=e=>samp.callNative("GetPlayerPing","i",e),Xr=e=>samp.callNative("GetPlayerWeapon","i",e),Yr=e=>samp.callNative("GetPlayerKeys","iIII",e),zr=(e,t,a)=>samp.callNative("SetPlayerTime","iii",e,t,a),Jr=e=>samp.callNative("GetPlayerTime","iII",e),$r=(e,t)=>samp.callNative("TogglePlayerClock","ii",e,t),Qr=(e,t)=>samp.callNative("SetPlayerWeather","ii",e,t),qr=e=>samp.callNative("ForceClassSelection","i",e),es=(e,t)=>samp.callNative("SetPlayerWantedLevel","ii",e,t),ts=e=>samp.callNative("GetPlayerWantedLevel","i",e),as=(e,t)=>samp.callNative("SetPlayerFightingStyle","ii",e,t),ns=e=>samp.callNative("GetPlayerFightingStyle","i",e),is=(e,t,a,n)=>samp.callNative("SetPlayerVelocity","ifff",e,t,a,n),rs=e=>samp.callNative("GetPlayerVelocity","iFFF",e),ss=(e,t,a)=>samp.callNative("PlayCrimeReportForPlayer","iii",e,t,a),ls=(e,t,a,n,i,r,s=!1)=>samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,a,n,i,r,s),os=e=>samp.callNative("StopAudioStreamForPlayer","i",e),ds=(e,t)=>samp.callNative("SetPlayerShopName","is",e,t),cs=(e,t,a)=>samp.callNative("SetPlayerSkillLevel","iii",e,t,a),_s=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),hs=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),us=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),ms=(e,t,a,n,i,r)=>samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,a,n,i,r),ps=e=>samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e),gs=(e,t,a,n,i)=>samp.callNative("SetPlayerChatBubble","isifi",e,t,y(a),n,i),Ss=(e,t,a)=>samp.callNative("PutPlayerInVehicle","iii",e,t,a),ys=e=>samp.callNative("GetPlayerVehicleID","i",e),Is=e=>samp.callNative("GetPlayerVehicleSeat","i",e),Ps=e=>samp.callNative("RemovePlayerFromVehicle","i",e),fs=(e,t)=>samp.callNative("TogglePlayerControllable","ii",e,t),As=(e,t,a,n,i)=>samp.callNative("PlayerPlaySound","iifff",e,t,a,n,i),Es=(e,t,a,n,i,r,s,o,d,c)=>samp.callNative("ApplyAnimation","issfiiiiii",e,t,a,n,i,r,s,o,d,c),Cs=(e,t)=>samp.callNative("ClearAnimations","ii",e,t),Ts=e=>samp.callNative("GetPlayerAnimationIndex","i",e),Ds=e=>samp.callNative("GetPlayerSpecialAction","i",e),Ns=(e,t)=>samp.callNative("SetPlayerSpecialAction","ii",e,t),Ls=(e,t)=>samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),Rs=(e,t)=>samp.callNative("SetPlayerVirtualWorld","ii",e,t),bs=e=>samp.callNative("GetPlayerVirtualWorld","i",e),vs=(e,t)=>samp.callNative("EnableStuntBonusForPlayer","ii",e,t),ws=e=>samp.callNative("GetPlayerCustomSkin","i",e),Os=(e,t,a,n,i,r)=>samp.callNative("CreateExplosionForPlayer","ifffif",e,t,a,n,i,r),Gs=(e,t,a)=>samp.callNative("StartRecordingPlayerData","iis",e,t,a),Bs=e=>samp.callNative("StopRecordingPlayerData","i",e),Fs=(e,t)=>samp.callNative("TogglePlayerSpectating","ii",e,t),ks=(e,t,a)=>samp.callNative("PlayerSpectatePlayer","iii",e,t,a),Ms=(e,t,a)=>samp.callNative("PlayerSpectateVehicle","iii",e,t,a),De=e=>!!samp.callNative("IsPlayerConnected","i",e),xs=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),Hs=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),Vs=(e,t,a,n,i)=>samp.callNative("SetPlayerWorldBounds","iffff",e,t,a,n,i),Us=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),Ws=(e,t,a)=>samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,y(a));function Ks(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",t)}const Zs=(e,t,a)=>samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,a),js=(e,t,a,n)=>samp.callNative("SetPlayerCameraPos","ifff",e,t,a,n),Xs=(e,t,a,n,i)=>samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,a,n,i),Ys=e=>samp.callNative("SetCameraBehindPlayer","i",e),zs=e=>samp.callNative("GetPlayerCameraPos","iFFF",e),Js=e=>samp.callNative("GetPlayerCameraFrontVector","iFFF",e),$s=e=>samp.callNative("GetPlayerCameraMode","i",e),Qs=(e,t)=>samp.callNative("EnablePlayerCameraTarget","ii",e,t),qs=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),el=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),tl=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),al=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),nl=(e,t,a,n,i,r,s,o,d)=>samp.callNative("InterpolateCameraPos","iffffffii",e,t,a,n,i,r,s,o,d),il=(e,t,a,n,i,r,s,o,d)=>samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,a,n,i,r,s,o,d),rl=e=>!!samp.callNative("IsPlayerCuffed","i",e),sl=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),ll=(e,t)=>samp.callNative("StartRecordingPlayback","is",e,t),ol=()=>samp.callNative("StopRecordingPlayback",""),dl=()=>samp.callNative("PauseRecordingPlayback",""),cl=()=>samp.callNative("ResumeRecordingPlayback",""),_l=e=>samp.callNative("GetActorSkin","i",e),hl=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),ul=e=>{const[t=0,a=0,n=0,i=0,r=0]=samp.callNative("GetActorSpawnInfo","iIFFFF",e);return{skinId:t,fX:a,fY:n,fZ:i,fAngle:r}},ml=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:a,fZ:n,fRot:i,color1:r,color2:s}},pl=(e,t,a,n,i,r,s,o,d=-2,c=-2)=>samp.callNative("SetVehicleSpawnInfo","iiFFFFiiii",e,t,a,n,i,r,s,o,d,c),gl=e=>{const[t=0,a=0]=samp.callNative("GetVehicleColor","i",e);return{color1:t,color2:a}},Sl=e=>samp.callNative("GetVehiclePaintjob","i",e),yl=e=>samp.callNative("GetVehicleInterior","i",e),Il=e=>{const[t]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return t},Pl=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),fl=e=>samp.callNative("GetVehicleRespawnDelay","i",e),Al=e=>samp.callNative("GetVehicleCab","i",e),El=e=>samp.callNative("GetVehicleOccupiedTick","i",e),Cl=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),Tl=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),Dl=e=>!!samp.callNative("IsVehicleOccupied","i",e),Nl=e=>samp.callNative("GetVehicleRespawnTick","i",e),Ll=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),Rl=e=>!!samp.callNative("IsVehicleDead","i",e),bl=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),vl=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),wl=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),Ol=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),Gl=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),Bl=e=>samp.callNative("GetVehicleModelCount","i",e),Fl=e=>samp.callNative("GetVehicleLastDriver","i",e),kl=e=>samp.callNative("GetVehicleDriver","i",e),Ml=()=>samp.callNative("GetVehicleModelsUsed",""),xl=e=>samp.callNative("GetVehicleSirenState","i",e),Hl=e=>samp.callNative("GetVehicleLandingGearState","i",e),Vl=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),Ul=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),Wl=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0,o=0,d=0,c=0]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:a,rightZ:n,upX:i,upY:r,upZ:s,atX:o,atY:d,atZ:c}},Ne=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,a,n,i]}},Kl=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),Zl=(e,t,a,n,i,r,s,o,d)=>samp.callNative("CreateVehicle","iffffiiii",e,t,a,n,i,y(r),y(s),o,d),jl=e=>samp.callNative("DestroyVehicle","i",e),Xl=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),Yl=e=>{const t=samp.callNative("GetVehiclePos","iFFF",e);if(t.length<3)throw new Error("VehicleID "+e+" not found");return{x:t[0],y:t[1],z:t[2]}},zl=(e,t,a,n)=>samp.callNative("SetVehiclePos","ifff",e,t,a,n),Jl=e=>{const[t]=samp.callNative("GetVehicleZAngle","iF",e);return t},$l=e=>samp.callNative("GetVehicleRotationQuat","iFFFF",e),Ql=(e,t,a,n)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,a,n),ql=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),eo=(e,t,a,n)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,a,n),to=()=>samp.callNative("ManualVehicleEngineAndLights",""),ao=(e,t,a,n,i,r,s,o)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,a,n,i,r,s,o),no=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),io=e=>samp.callNative("GetVehicleParamsSirenState","i",e),ro=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,a,n,i),so=e=>{const t=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},lo=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,a,n,i),oo=e=>{const t=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},co=e=>samp.callNative("SetVehicleToRespawn","i",e),_o=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),ho=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),uo=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),mo=(e,t,a)=>samp.callNative("ChangeVehicleColor","iii",e,y(t),y(a)),po=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),go=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),So=e=>{const[t]=samp.callNative("GetVehicleHealth","iF",e);return t},yo=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),Io=e=>samp.callNative("DetachTrailerFromVehicle","i",e),Po=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),fo=e=>samp.callNative("GetVehicleTrailer","i",e),Ao=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),Eo=e=>samp.callNative("GetVehicleModel","i",e),Co=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),To=e=>samp.callNative("GetVehicleComponentType","i",e),Do=e=>samp.callNative("RepairVehicle","i",e),No=e=>samp.callNative("GetVehicleVelocity","iFFF",e),Lo=(e,t,a,n)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,a,n),Ro=(e,t,a,n)=>samp.callNative("SetVehicleAngularVelocity","ifff",e,t,a,n),bo=e=>{const t=samp.callNative("GetVehicleDamageStatus","iIIII",e);if(t.length<4)throw new Error("VehicleID "+e+" not found");return{panels:t[0],doors:t[1],lights:t[2],tires:t[3]}},vo=(e,t,a,n,i)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,a,n,i),wo=(e,t)=>{const a=samp.callNative("GetVehicleModelInfo","iiFFF",e,t);if(a.length<3)throw new Error("ModelID "+e+" not found");return{x:a[0],y:a[1],z:a[2]}},Oo=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),Go=e=>samp.callNative("GetVehicleVirtualWorld","i",e),Le=e=>!!samp.callNative("IsValidVehicle","i",e),Bo=(e,t,a,n,i,r,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,a,n,i,r,s),Fo=(e,t,a,n,i,r,s,o,d)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,a,n,i,r,s,o,d),ko=e=>!!samp.callNative("ShowVehicle","i",e),Mo=e=>!!samp.callNative("HideVehicle","i",e),xo=e=>!!samp.callNative("IsVehicleHidden","i",e),Ho=e=>!!samp.callNative("IsPlayerInModShop","i",e),Vo=e=>samp.callNative("GetPlayerSirenState","i",e),Uo=e=>samp.callNative("GetPlayerLandingGearState","i",e),Wo=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),Ko=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),Zo=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),jo=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:a,fZ:n,fSize:i}},Xo=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),Yo=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0,o=0]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:a,fZ:n,fNextX:i,fNextY:r,fNextZ:s,fSize:o}},zo=e=>!!samp.callNative("IsMenuDisabled","i",e),Jo=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),$o=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),Qo=e=>{const[t=0,a=0]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:a}},qo=e=>{const[t=0,a=0]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:a}},ed=(e,t)=>{const[a]=samp.callNative("GetMenuColumnHeader","iiSi",e,t,31);return a},td=(e,t,a)=>{const[n]=samp.callNative("GetMenuItem","iiiSi",e,t,a,31);return n},ad=(e,t,a,n,i,r)=>samp.callNative("CreateMenu","siffff",e,t,a,n,i,r),nd=e=>samp.callNative("DestroyMenu","i",e),id=(e,t,a)=>samp.callNative("AddMenuItem","iis",e,t,a),rd=(e,t,a)=>samp.callNative("SetMenuColumnHeader","iis",e,t,a),sd=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),ld=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),od=e=>!!samp.callNative("IsValidMenu","i",e),dd=e=>samp.callNative("DisableMenu","i",e),cd=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),_d=e=>samp.callNative("GetPlayerMenu","i",e),hd=e=>!!samp.callNative("IsValidGangZone","i",e),ud=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),md=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),pd=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),gd=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),Sd=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),yd=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:a,fMaxX:n,fMaxY:i}},Id=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},Pd=(e,t,a,n)=>samp.callNative("GangZoneCreate","ffff",e,t,a,n),fd=e=>samp.callNative("GangZoneDestroy","i",e),Ad=(e,t,a)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,y(a)),Ed=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,y(t)),Cd=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),Td=e=>samp.callNative("GangZoneHideForAll","i",e),Dd=(e,t,a)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,y(a)),Nd=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,y(t)),Ld=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),Rd=e=>samp.callNative("GangZoneStopFlashForAll","i",e),bd=(e,t,a,n,i)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,a,n,i),vd=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),wd=(e,t,a)=>samp.callNative("PlayerGangZoneShow","iii",e,t,a),Od=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),Gd=(e,t,a)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,a),Bd=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),Fd=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),kd=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),Md=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),xd=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),Hd=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),Vd=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),Ud=(e,t)=>{const[a=0,n=0,i=0,r=0]=samp.callNative("PlayerGangZoneGetPos","iiFFFF",e,t);return{fMinX:a,fMinY:n,fMaxX:i,fMaxY:r}},Wd=(e,t,a)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,a)},Kd=e=>!!samp.callNative("IsValidTextDraw","i",e),Zd=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),jd=e=>{const[t]=samp.callNative("TextDrawGetString","iSi",e,1024);return t},Xd=(e,t,a)=>{samp.callNative("TextDrawSetPos","iff",e,t,a)},Yd=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:a}},zd=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:a}},Jd=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:a}},$d=e=>samp.callNative("TextDrawGetColor","i",e),Qd=e=>samp.callNative("TextDrawGetBoxColor","i",e),qd=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),ec=e=>samp.callNative("TextDrawGetShadow","i",e),tc=e=>samp.callNative("TextDrawGetOutline","i",e),ac=e=>samp.callNative("TextDrawGetFont","i",e),nc=e=>!!samp.callNative("TextDrawIsBox","i",e),ic=e=>!!samp.callNative("TextDrawIsProportional","i",e),rc=e=>!!samp.callNative("TextDrawIsSelectable","i",e),sc=e=>samp.callNative("TextDrawGetAlignment","i",e),lc=e=>samp.callNative("TextDrawGetPreviewModel","i",e),oc=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:a,fRotZ:n,fZoom:i}},dc=e=>{const[t,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:a}},cc=(e,t,a)=>{samp.callNative("TextDrawSetStringForPlayer","iis",e,t,a)},_c=(e,t,a)=>samp.callNative("TextDrawCreate","ffs",e,t,a),hc=e=>samp.callNative("TextDrawDestroy","i",e),uc=(e,t,a)=>samp.callNative("TextDrawLetterSize","iff",e,t,a),mc=(e,t,a)=>samp.callNative("TextDrawTextSize","iff",e,t,a),pc=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),gc=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,y(t)),Sc=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),yc=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,y(t)),Ic=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),Pc=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),fc=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,y(t)),Ac=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),Ec=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),Cc=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),Tc=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),Dc=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),Nc=e=>samp.callNative("TextDrawShowForAll","i",e),Lc=e=>samp.callNative("TextDrawHideForAll","i",e),Rc=(e,t)=>samp.callNative("TextDrawSetString","is",e,t),bc=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),vc=(e,t,a,n,i=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,a,n,i)},wc=(e,t,a)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,y(t),y(a)),Oc=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,y(t))},Gc=e=>{samp.callNative("CancelSelectTextDraw","i",e)},Bc=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),Fc=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),kc=(e,t)=>{const[a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return a},Mc=(e,t,a,n)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,a,n)},xc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:a,fY:n}},Hc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:a,fY:n}},Vc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:a,fY:n}},Uc=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),Wc=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),Kc=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),Zc=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),jc=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),Xc=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),Yc=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),zc=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),Jc=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),$c=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),Qc=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),qc=(e,t)=>{const[a=0,n=0,i=0,r=0]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:a,fRotY:n,fRotZ:i,fZoom:r}},e_=(e,t)=>{const[a,n]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:a,color2:n}},t_=(e,t,a,n)=>samp.callNative("CreatePlayerTextDraw","iffs",e,t,a,n),a_=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},n_=(e,t,a,n)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,a,n),i_=(e,t,a,n)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,a,n),r_=(e,t,a)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,a),s_=(e,t,a)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,y(a)),l_=(e,t,a)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,a),o_=(e,t,a)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,y(a)),d_=(e,t,a)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,a),c_=(e,t,a)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,a),__=(e,t,a)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,y(a)),h_=(e,t,a)=>samp.callNative("PlayerTextDrawFont","iii",e,t,a),u_=(e,t,a)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,a),m_=(e,t,a)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,a),p_=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),g_=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),S_=(e,t,a)=>samp.callNative("PlayerTextDrawSetString","iis",e,t,a),y_=(e,t,a)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,a),I_=(e,t,a,n,i,r)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,a,n,i,r),P_=(e,t,a,n)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,a,n),f_=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),A_=e=>!!samp.callNative("BeginObjectSelecting","i",e),E_=e=>!!samp.callNative("EndObjectEditing","i",e),C_=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),T_=(e,t,a,n,i)=>samp.callNative("AddSimpleModel","iiiss",e,t,a,n,i),D_=(e,t,a,n,i,r,s)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,a,n,i,r,s),N_=(e,t)=>samp.callNative("RedirectDownload","is",e,t),L_=e=>{const[t]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return t},R_=e=>{const[t]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return t},b_=(e,t)=>{const[a=0,n=0,i=0,r=0,s=0,o=0,d=0,c=0,m=0,p=0,g=0,I=0,A=0]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:a,bone:n,fX:i,fY:r,fZ:s,fRotX:o,fRotY:d,fRotZ:c,fScaleX:m,fScaleY:p,fScaleZ:g,materialColor1:I,materialColor2:A}},v_=(e,t,a,n,i,r,s,o,d,c,m,p,g,I,A)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,a,n,i,r,s,o,d,c,m,p,g,y(I),y(A)),w_=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),O_=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),Re=e=>!!samp.callNative("IsValidCustomModel","i",e),G_=e=>{if(!Re(e))return null;const[t,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:a}};var be=(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))(be||{}),ve=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(ve||{}),ie=(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))(ie||{}),we=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(we||{}),Oe=(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))(Oe||{}),C=(e=>(e[e.NO_TEAM=255]="NO_TEAM",e[e.PLAYER_ID=65535]="PLAYER_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))(C||{}),Ge=(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))(Ge||{}),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))(w||{}),Be=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(Be||{}),Fe=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(Fe||{}),O=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(O||{}),ke=(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))(ke||{}),Me=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Me||{}),xe=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(xe||{}),He=(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))(He||{}),Ve=(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))(Ve||{}),te=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(te||{}),Ue=(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))(Ue||{}),ae=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(ae||{}),X=(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))(X||{}),We=(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))(We||{}),Ke=(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))(Ke||{}),Ze=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.ALL=1]="ALL",e[e.OTHER=2]="OTHER",e))(Ze||{}),re=(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))(re||{}),$=(e=>(e[e.FONT_0=0]="FONT_0",e[e.FONT_1=1]="FONT_1",e[e.FONT_2=2]="FONT_2",e[e.FONT_3=3]="FONT_3",e[e.SPRITE_DRAW=4]="SPRITE_DRAW",e[e.MODEL_PREVIEW=5]="MODEL_PREVIEW",e[e.BANK=0]="BANK",e[e.STANDARD=1]="STANDARD",e[e.SPACEAGE=2]="SPACEAGE",e[e.HEADING=3]="HEADING",e[e.BECKETT_REGULAR=0]="BECKETT_REGULAR",e[e.AHARONI_BOLD=1]="AHARONI_BOLD",e[e.BANK_GOTHIC=2]="BANK_GOTHIC",e[e.PRICEDOWN=3]="PRICEDOWN",e[e.SPRITE=4]="SPRITE",e[e.PREVIEW=5]="PREVIEW",e))($||{}),je=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(je||{}),Xe=(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))(Xe||{}),Ye=(e=>(e[e.UNSET=0]="UNSET",e[e.OFF=1]="OFF",e[e.ON=2]="ON",e))(Ye||{}),ze=(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))(ze||{}),Je=(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.NITESTICK=3]="NITESTICK",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))(Je||{}),$e=(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))($e||{}),Qe=(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))(Qe||{}),qe=(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))(qe||{}),se=(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))(se||{}),et=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(et||{});class G{constructor(){}static recordStatus;static connectNPC=Yn;static startRecordingPlayerData(t,a,n){if(t.isRecording)return l.warn("[NpcFunc]: It should be stopped before recording");Gs(t.id,a,n),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)return l.warn("[NpcFunc]: It should be started before stop");Bs(t.id),t.isRecording=!1}static startRecordingPlayback(t,a){if(G.recordStatus>=O.start)return l.warn("[NpcFunc]: The current status cannot be replayed");ll(t,a),G.recordStatus=O.start}static stopRecordingPlayback(){if(G.recordStatus<O.start)return l.warn("[NpcFunc]: The current status cannot be stopped");ol(),G.recordStatus=O.none}static pauseRecordingPlayback(){if(G.recordStatus!==O.start)return l.warn("[NpcFunc]: The current status cannot be paused");dl(),G.recordStatus=O.pause}static resumeRecordingPlayback(){if(G.recordStatus!==O.pause)return l.warn("[NpcFunc]: The current status cannot be paused");cl(),G.recordStatus=O.start}}const B_=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}]]]),F_=e=>{const t=B_.get(e);return t===void 0?!1:t},tt=(e,t)=>{const a=F_(e);if(a)return a.find(n=>n.n===t)?.d},V=(e,t)=>{const a=t.replace("-","")==="utf8"?e:P.encodeToBuf(e,t);return[a instanceof Array?"a":"s",a]},at=(e,t,a)=>{const n=V(a,e.charset);return samp.callNative("SendClientMessage",`ii${n[0]}`,e.id,y(t),n[1])},k_=(e,t,a)=>(e.forEach(n=>at(n,t,a)),1),nt=(e,t,a)=>{const n=V(a,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${n[0]}`,e.id,t,n[1])},M_=(e,t,a)=>(e.forEach(n=>{nt(n,t,a)}),1),x_=(e,t,a)=>{const{charset:n}=e,{style:i,caption:r,info:s,button1:o,button2:d}=a,[c,m]=V(r||"",n),[,p]=V(s||"",n),[,g]=V(o||"",n),[,I]=V(d||"",n);return samp.callNative("ShowPlayerDialog",`iii${c.repeat(4)}`,e.id,t,i,m,p,g,I)},H_=e=>{const[t]=samp.callNative("GetPlayerName","iAi",e.id,w.MAX_PLAYER_NAME);return P.decodeFromBuf(P.getValidStr(t),e.charset)},V_=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,P.encodeToBuf(t,e.charset)),U_=(e,t,a)=>{const n=P.encodeToBuf(t,a);return samp.callNative("BanEx","ia",e,n)},W_=(e,t="utf8")=>{const[a,n]=V(e,t);return samp.callNative("SendRconCommand",a,n)},K_=(e,t,a,n,i,r,s,o,d,c,m,p,g,I,A,b)=>{const M=P.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",M,a,n,i,r,s,o,d,c,m,p,g,I,A,b)},Z_=(e,t,a,n,i,r,s,o,d,c,m,p,g,I,A,b)=>{const M=P.encodeToBuf(e,b);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",M,t,a,n,i,r,s,o,d,c,m,p,g,I,A,m.length,p.length,g.length,I.length)},j_=(e,t,a,n)=>{const i=P.encodeToBuf(a,n);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,i)},X_=(e,t)=>{const[a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return P.decodeFromBuf(P.getValidStr(a),t)},Y_=(e,t,a,n,i,r,s,o,d,c,m)=>{const p=P.encodeToBuf(n,e),g=P.encodeToBuf(r,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,a,p,i,g,s,o,d,c,m)},z_=(e,t,a)=>{const[n,i,r,s,o,d,c]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),m=P.decodeFromBuf(n,a),p=P.decodeFromBuf(r,a);return{text:m,materialSize:i,fontFace:p,bold:s,fontColor:o,backColor:d,textAlignment:c}},[it]=_({name:"OnGameModeInit"}),[rt]=_({name:"OnGameModeExit"}),[J_]=_({name:"OnIncomingConnection",beforeEach(e,t,a){return{playerId:e,ipAddress:t,port:a}}}),[$_]=_({name:"OnRconCommandI18n",identifier:"ai",beforeEach(e){return{buffer:e,cmd:P.decodeFromBuf(e)}}}),[Q_]=_({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,a){return{ip:P.decodeFromBuf(e),password:P.decodeFromBuf(t),success:!!a,ipBuffer:e,passwordBuffer:t}}}),U=[],Y=[],le=new Map,oe=e=>{setTimeout(async()=>{try{const t=U.findIndex(i=>i.name===e);if(t===-1)return;const a=U[t],n=await a.load();n.length&&le.set(e,n),U.splice(t,1),Y.push(a)}catch(t){l.error(`[GameMode]: script ${e} load fail`),l.warn(new Error(JSON.stringify(t)))}})},de=e=>{setTimeout(async()=>{try{const t=Y.findIndex(i=>i.name===e);if(t===-1)return;const a=Y[t],n=le.get(e);n&&n.forEach(i=>i()),le.delete(e),await a.unload(),Y.splice(t,1),U.push(a)}catch(t){l.error(`[GameMode]: script ${e} unload fail`),l.warn(new Error(JSON.stringify(t)))}})},q_=e=>{de(e),oe(e)};it(({next:e})=>(U.forEach(t=>oe(t.name)),e())),rt(({next:e})=>(Y.forEach(t=>de(t.name)),e()));const eh=function(e,...t){if(U.some(a=>a===a)||Y.some(a=>a===a)){l.warn("[GameMode]: script has already been applied");return}e.load=e.load.bind(e,...t),U.push(e)};var th={use(e,...t){return eh(e,...t),this},loadUseScript:oe,reloadUseScript:q_,unloadUseScript:de,supportAllNickname(){for(let e=0;e<=255;e++)this.isNickNameCharacterAllowed(e)||this.allowNickNameCharacter(e,!0)},setWeather(e){return e<0||e>255?(l.error("[GameMode]: The valid weather value is only 0 to 255"),0):kn(e)},setWorldTime(e){return e<0||e>23?(l.error("[GameMode]: The valid hour value is only 0 to 23"),0):Gn(e)},getWorldTime:Bn,setTeamCount:ii,sendRconCommand:W_,addPlayerClass:ri,addPlayerClassEx:si,createExplosion(e,t,a,n,i){return n<0||n>13?(l.error("[GameMode]: The valid explosion type value is only 0 to 13"),0):Hn(e,t,a,n,i)},manualVehicleEngineAndLights:to,blockIpAddress:Ti,unBlockIpAddress:Di,getServerTickRate:zn,addSimpleModel(e,t,a,n,i){return this.checkSimpleModel(e,t,a,n,i)?T_(e,t,a,n,i):0},addSimpleModelTimed(e,t,a,n,i,r,s){return this.checkSimpleModel(e,t,a,n,i,r,s)?D_(e,t,a,n,i,r,s):0},checkSimpleModel(e,t,a,n,i,r,s){return e<-1?(l.error("[GameMode]: AddSimpleModel - Error virtual world"),0):t<0?(l.error("[GameMode]: AddSimpleModel - Error baseId"),0):a>-1e3||a<-3e4?(l.error("[GameMode]: AddSimpleModel - Error newId range"),0):n.trim().length<0?(l.error("[GameMode]: AddSimpleModel - Empty dffName"),0):i.trim().length<0?(l.error("[GameMode]: AddSimpleModel - Empty txdName"),0):r!==void 0&&(r<0||r>23)?(l.error("[GameMode]: AddSimpleModel - Error time on range"),0):s!==void 0&&(s<0||s>23)?(l.error("[GameMode]: AddSimpleModel - Error time off range"),0):1},isValidCustomModel:Re,getCustomModePath:G_,getConsoleVarAsString(e,t="utf8"){const a=yn(e);return P.decodeFromBuf(P.getValidStr(a),t)},getRestartTime:Tn,setRestartTime:Cn,allowAdminTeleport:hn,isAdminTeleportAllowed:un,allowInteriorWeapons:mn,areInteriorWeaponsAllowed:pn,areAllAnimationsEnabled:gn,enableAllAnimations:Sn,enableStuntBonusForAll:$n,enableVehicleFriendlyFire:Fn,enableZoneNames:Vn,disableInteriorEnterExits:Wn,setGameModeText:vn,getGravity:Mn,setGravity:xn,showNameTags:wn,disableNameTagLOS:Zn,usePlayerPedAnims:Un,showPlayerMarkers:On,limitPlayerMarkerRadius:Xn,limitGlobalChatRadius:jn,setNameTagDrawDistance:Kn,findModelFileNameFromCRC:L_,findTextureFileNameFromCRC:R_,getWeaponName:ti,setObjectsDefaultCameraCollision:C_,vectorSize:bn,clearBanList:Ri,isBanned:bi,isValidNickName:rn,allowNickNameCharacter:sn,isNickNameCharacterAllowed:ln,addServerRule:on,setServerRule:dn,isValidServerRule:cn,removeServerRule:_n,getWeaponSlot:ei,getAvailableClasses:Ce,getPlayerClass:ai,editPlayerClass:ni,toggleChatTextReplacement:Qn,chatTextReplacementToggled:qn,getConsoleVarAsInt:In,getConsoleVarAsBool:Pn,getWeather:fn,getServerRuleFlag:An,setServerRuleFlags:En};const L={onInit:it,onExit:rt,onIncomingConnection:J_,onRconCommand:$_,onRconLoginAttempt:Q_,...th},[st]=_({name:"OnClientCheckResponse",beforeEach(e,t,a,n){return{player:u.getInstance(e),actionId:t,memAddr:a,data:n}}}),[ah,nh]=_({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,a){return{player:e,newLocale:t,oldLocale:a}}}),[ih,rh]=_({name:"OnPlayerCharsetChange",isNative:!1,beforeEach(e,t,a){return{player:e,newCharset:t,oldCharset:a}}});class u{constructor(t){this.id=t}static players=new Map;_charset="ISO-8859-1";_locale="en_US";lastDrunkLevel=0;lastFps=0;lastUpdateTick=0;lastUpdateFpsTick=0;isPaused=!1;isRecording=!1;get charset(){return this._charset}set charset(t){const a=this._charset;this._charset=t,rh(this,t,a)}get locale(){return this._locale}set locale(t){const a=this._locale;this._locale=t,nh(this,t,a)}sendClientMessage(t,a){return at(this,t,a)}static sendClientMessageToAll(t,a){k_(u.getInstances(),t,a)}sendMessageToPlayer(t,a){return nt(t,this.id,a)}sendMessageToAll(t){return M_(u.getInstances(),this.id,t)}isNpc(){return cr(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return wr(this.id)}setDrunkLevel(t){if(t<0||t>5e4)return l.error(new Error("[Player]: player's drunk level ranges from 0 to 50000"));Or(this.id,t)}allowTeleport(t){ar(this.id,t)}isTeleportAllowed(){return nr(this.id)}enableCameraTarget(t){Qs(this.id,t)}enableStuntBonus(t){vs(this.id,t)}getInterior(){return Ir(this.id)}setInterior(t){return yr(this.id,t)}showNameTag(t,a){Zs(this.id,t.id,a)}setColor(t){Gr(this.id,t)}getColor(){return Br(this.id)}setMarker(t,a){Ws(this.id,t.id,a)}getMarker(t){return Ks(this.id,t.id)}resetMoney(){return Wr(this.id)}getMoney(){return Kr(this.id)}giveMoney(t){return Ur(this.id,t)}resetWeapons(){return xr(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):oi(this.id)}setHealth(t){return Pr(this.id,t)}getHealth(){return fr(this.id)}toggleClock(t){return $r(this.id,t)}toggleControllable(t){return fs(this.id,t)}toggleSpectating(t){return Fs(this.id,t)}spectatePlayer(t,a=ae.NORMAL){return ks(this.id,t.id,a)}spectateVehicle(t,a=ae.NORMAL){return Ms(this.id,t.id,a)}forceClassSelection(){qr(this.id)}kick(){fi(this.id)}ban(){Ai(this.id)}banEx(t,a){U_(this.id,t,a)}isAdmin(){return Ii(this.id)}isInRangeOfPoint(t,a,n,i){return pr(this.id,t,a,n,i)}isStreamedIn(t){return Sr(this.id,t.id)}setSkin(t,a=!1){return!a&&(t<0||t>311||t==74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===re.DUCK?0:Fr(this.id,t)}getSkin(){return kr(this.id)}isInAnyVehicle(){return Hs(this.id)}getSpecialAction(){return Ds(this.id)}setSpecialAction(t){return Ns(this.id,t)}setScore(t){return br(this.id,t)}getScore(){return vr(this.id)}getPing(){return jr(this.id)||0}setPos(t,a,n){return Te(this.id,t,a,n)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===X.NONE)return;const[t,a,n]=hr(this.id);return{x:t,y:a,z:n}}isSpectating(){return this.getState()===X.SPECTATING}isWasted(){return this.getState()===X.WASTED}getState(){return Zr(this.id)}getVersion(){return this.isNpc()?"":Oi(this.id)}setVirtualWorld(t){return Rs(this.id,t)}getVirtualWorld(){return bs(this.id)}removeFromVehicle(){return Ps(this.id)}setWantedLevel(t){return t<0||t>6?(l.error("[Player]: player's wanted level ranges from 0 to 6"),0):es(this.id,t)}getWantedLevel(){return ts(this.id)}setFacingAngle(t){return ur(this.id,t)}getFacingAngle(){return mr(this.id)}setWeather(t){if(t<0||t>255){l.warn("[Player]: The valid weather value is only 0 to 255");return}Qr(this.id,t)}getWeather(){return ki(this.id)}setTime(t,a){if(t<0||t>23){l.warn("[Player]: The valid hour value is only 0 to 23");return}if(a<0||a>59){l.warn("[Player]: The valid minute value is only 0 to 59");return}return zr(this.id,t,a)}getTime(){const[t,a]=Jr(this.id);return{hour:t,minute:a}}removeBuilding(t,a,n,i,r){ms(this.id,t,a,n,i,r)}setTeam(t){t<0||t>C.NO_TEAM||Lr(this.id,t)}getTeam(){return Rr(this.id)}setSkillLevel(t,a){if(a<0||a>999){l.warn("[Player]: The valid skill level is only 0 to 999");return}cs(this.id,t,a)}getName(){return H_(this)}setName(t){return V_(this,t)}setVelocity(t,a,n){return is(this.id,t,a,n)}getVelocity(){const[t,a,n]=rs(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:i}=this.getVelocity();return L.vectorSize(a,n,i)*t}getKeys(){const[t,a,n]=Yr(this.id);return{keys:t,upDown:a,leftRight:n}}getIp(){return wi(this.id)}getFightingStyle(){return ns(this.id)}setFightingStyle(t){as(this.id,t)}setArmour(t){return Ar(this.id,t)}getArmour(){return Er(this.id)}setCameraBehind(){return Ys(this.id)}setCameraPos(t,a,n){return js(this.id,t,a,n)}setCameraLookAt(t,a,n,i){return Xs(this.id,t,a,n,i)}getCameraAspectRatio(){return tl(this.id)}getCameraFrontVector(){const[t,a,n]=Js(this.id);return{x:t,y:a,z:n}}getCameraMode(){return $s(this.id)}getCameraPos(){const[t,a,n]=zs(this.id);return{x:t,y:a,z:n}}getCameraTargetPlayer(t){const a=el(this.id);return t.find(n=>n.id===a)}getCameraTargetVehicle(t){const a=qs(this.id);return t.find(n=>n.id===a)}getCameraZoom(){return al(this.id)}playAudioStream(t,a=0,n=0,i=0,r=5){let s=!1;return(a!==0||n!==0||i!==0)&&(s=!0),ls(this.id,t,a,n,i,r,s)}stopAudioStream(){os(this.id)}playSound(t,a=0,n=0,i=0){return As(this.id,t,a,n,i)}static getMaxPlayers(){return Rn()}playCrimeReport(t,a){return a<3||a>22?(l.warn("[Player]: Available crime ids range from 3 to 22"),0):ss(this.id,t.id,a)}interpolateCameraPos(t,a,n,i,r,s,o,d=te.CUT){nl(this.id,t,a,n,i,r,s,o,d)}interpolateCameraLookAt(t,a,n,i,r,s,o,d=te.CUT){il(this.id,t,a,n,i,r,s,o,d)}createExplosion(t,a,n,i,r){return i<0||i>13?(l.error("[Player]: The valid explosion type value is only 0 to 13"),0):Os(this.id,t,a,n,i,r)}static isConnected(t){return De(t)}isConnected(){return De(this.id)}disableRemoteVehicleCollisions(t){return Ls(this.id,t)}getVehicle(t){if(!this.isInAnyVehicle())return;const a=ys(this.id);return t.find(n=>n.id===a)}getVehicleSeat(){return Is(this.id)}getSurfingVehicle(t){const a=_s(this.id);if(a!==C.VEHICLE_ID)return t.find(n=>n.id===a)}applyAnimation(t,a,n=!1,i=!0,r=!0,s=!1,o=!1){const d=tt(t,a);if(d===void 0)return l.error("[Player]: Invalid anim library or name");Es(this.id,t,a,4.1,n,i,r,s,n?0:d,+o)}clearAnimations(t=!1){Cs(this.id,t)}getAnimationIndex(){return Ts(this.id)}getAnimationName(){const[t,a]=Jn(this.getAnimationIndex());return{animLib:t,animName:a}}setShopName(t){ds(this.id,t)}setPosFindZ(t,a,n=150){return new Promise(i=>{Te(this.id,t,a,n),setTimeout(()=>i(_r(this.id,t,a,n)))})}setWorldBounds(t,a,n,i){Vs(this.id,t,a,n,i)}clearWorldBounds(){return Us(this.id)}setChatBubble(t,a,n,i){gs(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return gr(this.id,t,a,n)}getCustomSkin(){return ws(this.id)}getTargetPlayer(t){const a=Nr(this.id);if(a!==C.PLAYER_ID)return t.find(n=>n.id===a)}getLastShotVectors(){const[t,a,n,i,r,s]=ps(this.id);return{fOriginX:t,fOriginY:a,fOriginZ:n,fHitPosX:i,fHitPosY:r,fHitPosZ:s}}getWeapon(){return Xr(this.id)}getWeaponData(t){if(t<0||t>12){l.error("[Player]: weapon slots range from 0 to 12");return}const[a,n]=Vr(this.id,t);return{weapons:a,ammo:n}}getWeaponState(){return Dr(this.id)}giveWeapon(t,a){return Mr(this.id,t,a)}setAmmo(t,a){return Cr(this.id,t,a)}getAmmo(){return Tr(this.id)}setArmedWeapon(t){return Hr(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(C.PLAYER_ID,C.PLAYER_ID,se.CONNECT)}sendDeathMessage(t,a){Ln(t===C.PLAYER_ID?t:t.id,this.id,a)}sendDeathMessageToPlayer(t,a,n){or(this.id,t===C.PLAYER_ID?t:t.id,a===C.PLAYER_ID?a:a.id,n)}setSpawnInfo(t,a,n,i,r,s,o,d,c,m,p,g){t<0||t>C.NO_TEAM||a<0||a>311||a==74||d<0||m<0||g<0||li(this.id,t,a,n,i,r,s,o,d,c,m,p,g)}redirectDownload(t){return N_(this.id,t)}sendClientCheck(t,a,n,i){const r=[2,5,69,70,71,72];return r.includes(t)?new Promise((s,o)=>{if(this.isPaused)return o("[Player]: An attempt to check the player client response, but the player paused the game");const d="[Player]: An attempt to check the player client response timed out",c=this.getPing(),m=(c>=200?0:c)+200;let p=null;const g=st(({player:I,actionId:A,memAddr:b,data:M,next:q})=>{if(I!==this)return q();p?(clearTimeout(p),p=null,o(d)):s({actionId:A,memAddr:b,data:M});const ut=q();return g(),ut});p=setTimeout(()=>{g(),o(d)},m),Li(this.id,t,a,n,i)}):l.error(`[Player]: sendClientCheck valid types are ${r.toString()}`)}selectTextDraw(t){Oc(this.id,t)}cancelSelectTextDraw(){Gc(this.id)}beginObjectSelecting(){A_(this.id)}endObjectEditing(){E_(this.id)}getSurfingObject(t){const a=hs(this.id);if(a!==C.OBJECT_ID)return t.get(a)}getSurfingPlayerObject(t){const a=us(this.id);if(a!==C.OBJECT_ID)return t.get(a)}isAttachedObjectSlotUsed(t){return O_(this.id,t)}editAttachedObject(t){return f_(this.id,t)}setAttachedObject(t,a,n,i=0,r=0,s=0,o=0,d=0,c=0,m=1,p=1,g=1,I=0,A=0){return this.isAttachedObjectSlotUsed(t)?0:v_(this.id,t,a,n,i,r,s,o,d,c,m,p,g,I,A)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?w_(this.id,t):0}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 Gi(this.id,t)}isWidescreenToggled(){return Bi(this.id)}getSpawnInfo(){return di(this.id)}getSkillLevel(t){return Fi(this.id,t)}isCheckpointActive(){return Zo(this.id)}getCheckpoint(){return jo(this.id)}isRaceCheckpointActive(){return Xo(this.id)}getRaceCheckpoint(){return Yo(this.id)}getWorldBounds(){Mi(this.id)}isInModShop(){return Ho(this.id)}getSirenState(){return Vo(this.id)}getLandingGearState(){return Uo(this.id)}getHydraReactorAngle(){return Wo(this.id)}getTrainSpeed(){return Ko(this.id)}getZAim(){return xi(this.id)}getSurfingOffsets(){return Hi(this.id)}getRotationQuat(){return Vi(this.id)}getDialogID(){return Ui(this.id)}getSpectateID(){return Wi(this.id)}getSpectateType(){return Ki(this.id)}getRawIp(){return vi(this.id)}setGravity(t){return Zi(this.id,t)}getGravity(){return ji(this.id)}setAdmin(t){return Pi(this.id,t)}isSpawned(){return Xi(this.id)}isControllable(){return Yi(this.id)}isCameraTargetEnabled(){return zi(this.id)}toggleGhostMode(t){return Ji(this.id,t)}getGhostMode(){return $i(this.id)}getBuildingsRemoved(){return Qi(this.id)}getAttachedObject(t){return b_(this.id,t)}removeWeapon(t){return qi(this.id,t)}isUsingOfficialClient(){return tr(this.id)}allowWeapons(t){return ir(this.id,t)}areWeaponsAllowed(){return rr(this.id)}gpci(t=this.charset){return Ni(this.id,t)}isCuffed(){return rl(this.id)}isInDriveByMode(){return sl(this.id)}static getInstance(t){return this.players.get(t)}static getInstances(){return[...this.players.values()]}}const[lt]=_({name:"OnDialogResponseI18n",identifier:"iiiiai",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),dialogId:t,response:a,listItem:n,buffer:i}}});lt(({next:e,player:t,dialogId:a,response:n,listItem:i,buffer:r})=>{const s=D.waitingQueue.get(t);return!s||s.showId!==a||setTimeout(()=>s.resolve({response:n,listItem:i,buffer:r})),e()});class D{id=-1;static showingIds=[];static max_dialogId=32767;dialog;static waitingQueue=new Map;constructor(t={style:ie.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,a=!1){const n=D.waitingQueue.get(t);if(!n)return!1;a&&n.reject("[Dialog]: player timeout does not respond or second request show dialog"),D.waitingQueue.delete(t);const i=D.showingIds.indexOf(n.showId);return i>-1&&D.showingIds.splice(i,1),!0}show(t){return new Promise((a,n)=>{for(D.close(t);(this.id===-1||D.showingIds.includes(this.id))&&D.showingIds.length!==D.max_dialogId;)this.id=Math.floor(Math.random()*(D.max_dialogId+1));if(this.id===-1){n("[Dialog]: The maximum number of dialogs is reached");return}D.showingIds.push(this.id),D.waitingQueue.set(t,{resolve:a,reject:n,showId:this.id}),x_(t,this.id,this.dialog)}).then(a=>{const{response:n,listItem:i}=a,r=P.decodeFromBuf(a.buffer,t.charset);return Promise.resolve({response:n,listItem:i,inputText:r})}).catch(a=>Promise.reject(a)).finally(()=>D.delDialogTask(t))}static close(t){D.delDialogTask(t,!0),er(t.id)}}const[ot]=_({name:"OnPlayerConnect",beforeEach(e){const t=new u(e);return u.players.set(e,t),D.close(t),{player:t}}}),[dt]=_({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:u.players.get(e),reason:t}},afterEach({player:e}){u.players.delete(e.id)}}),[ct]=_({name:"OnPlayerUpdate",beforeEach(e){return{player:u.getInstance(e)}}}),[sh]=_({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const a=u.getInstance(e);return{player:a,text:P.decodeFromBuf(t,a.charset),buffer:t}}}),[lh]=_({name:"OnPlayerEnterExitModShop",beforeEach(e,t,a){return{player:u.getInstance(e),enterExit:!!t,interior:a}}}),[oh]=_({name:"OnPlayerClickMap",beforeEach(e,t,a,n){return{player:u.getInstance(e),fX:t,fY:a,fZ:n}}}),[dh]=_({name:"OnPlayerClickPlayer",beforeEach(e,t,a){return{player:u.getInstance(e),clickedPlayer:u.getInstance(t),source:a}}}),[ch]=_({name:"OnPlayerDeath",beforeEach(e,t,a){return{player:u.getInstance(e),killer:u.getInstance(t)||C.PLAYER_ID,reason:a}}}),[_h]=_({name:"OnPlayerGiveDamage",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),damage:u.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),[hh]=_({name:"OnPlayerKeyStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),newKeys:t,oldKeys:a}}}),[uh]=_({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:u.getInstance(e),classId:t}}}),[mh]=_({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:u.getInstance(e)}}}),[ph]=_({name:"OnPlayerSpawn",beforeEach(e){return{player:u.getInstance(e)}}}),[gh]=_({name:"OnPlayerStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),newState:t,oldState:a}}}),[Sh]=_({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:u.getInstance(e),forPlayer:u.getInstance(t)}}}),[yh]=_({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:u.getInstance(e),forPlayer:u.getInstance(t)}}}),[Ih]=_({name:"OnPlayerTakeDamage",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),damage:u.getInstance(t)||C.PLAYER_ID,amount:a,weapon:n,bodyPart:i}}}),[Ph]=_({name:"OnPlayerInteriorChange",beforeEach(e,t,a){return{player:u.getInstance(e),newInteriorId:t,oldInteriorId:a}}}),[fh]=_({name:"OnPlayerRequestDownload",beforeEach(e,t,a){return{player:u.getInstance(e),type:t,crc:a}}}),[Ah]=_({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:u.getInstance(e),virtualWorld:t}}});let Q=null;const[Eh,Ch]=_({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[Th,Dh]=_({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,a,n){return{player:e,pausedAt:t,now:a,diff:n}}}),[Nh,Lh]=_({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,a){return{player:e,newFps:t,oldFps:a}}});ot(({next:e})=>(!Q&&u.getInstances().length&&(Q=setInterval(()=>{u.getInstances().filter(t=>{const a=t.getState()!==X.NONE;return!t.isPaused&&!t.isNpc()&&a}).forEach(t=>{Date.now()-t.lastUpdateTick>1e3&&(t.isPaused=!0,Ch(t,t.lastUpdateTick))})},500)),e())),dt(({next:e})=>(Q&&u.getInstances().length<=1&&(clearInterval(Q),Q=null),e()));function Rh(e){if(!u.isConnected(e.id))return;const t=Date.now();if(t-e.lastUpdateFpsTick>=1e3){const a=e.getDrunkLevel();if(a<100){e.setDrunkLevel(2e3),e.lastDrunkLevel=2e3,e.lastFps=0;return}e.lastUpdateFpsTick=t;const n=e.lastFps,i=e.lastDrunkLevel-a-1;e.lastFps=i,e.lastDrunkLevel=a,Lh(e,i,n)}}ct(({player:e,next:t})=>{if(!e.isNpc()){const a=Date.now();e.isPaused&&(e.isPaused=!1,Dh(e,e.lastUpdateTick,a,a-e.lastUpdateTick)),e.lastUpdateTick=a,Rh(e)}return t()});const z=new Map,_t=/[^/\s]+/gi,ce={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"}},[bh,vh]=_({name:"OnCommandReceived",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[wh,Oh]=_({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[Gh,_e]=_({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,a){return{player:e,command:t,error:a}}}),[Bh]=_({name:"OnPlayerCommandTextI18n",identifier:"iai",beforeEach(e,t){return{player:u.getInstance(e),buffer:t}}});function Fh(e){const t=[];let a="";for(let n=0;n<e.length;n++)a+=e[n]+" ",t.push(a.trimEnd());return t.reverse()}Bh(({player:e,buffer:t,next:a})=>{const n=P.decodeFromBuf(t,e.charset).match(_t),i=Fh(n).find(m=>z.get(m)),r=n.join(" ");if(!i)return _e(e,r,ce.NOT_EXIST);const s=vh(e,r);if(!s)return s;const o=z.get(i),[,d]=o,c=r.replace(i,"").trim().split(" ");return d(e,c)?Oh(e,r)?a():_e(e,r,ce.PERFORMED):_e(e,r,ce.REJECTED)});function kh(e,t){return{player:e,subcommand:t}}const ht={on(e,t){const a=Array.isArray(e)?e:[e],n=a.find(r=>!r.match(_t));if(n)return console.log(`error command ${n} format`),()=>{};const i=a.map(r=>{const s=r.replaceAll("/","");if(!z.has(s)){const d=_({name:s,isNative:!1,beforeEach:kh});z.set(s,d)}const[o]=z.get(s);return o(t)});return()=>{i.forEach(r=>r())}},off(e){(Array.isArray(e)?e:[e]).forEach(t=>{z.has(t)&&Ee(t)})}},he=Object.freeze({onConnect:ot,onDisconnect:dt,onPause:Eh,onResume:Th,onUpdate:ct,onText:sh,onEnterExitModShop:lh,onClickMap:oh,onClickPlayer:dh,onDeath:ch,onGiveDamage:_h,onKeyStateChange:hh,onRequestClass:uh,onRequestSpawn:mh,onSpawn:ph,onStateChange:gh,onStreamIn:Sh,onStreamOut:yh,onTakeDamage:Ih,onInteriorChange:Ph,onRequestDownload:fh,onFinishedDownloading:Ah,onCheckResponse:st,onCommandReceived:bh,onCommandPerformed:wh,onCommandError:Gh,onCommandText:ht.on,offCommandText:ht.off,onDialogResponse:lt,onLocaleChange:ah,onCharsetChange:ih,onFpsUpdate:Nh}),Mh=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],xh=[[13,18,19,20,21,24],[1,3,4,5,6,7,13,17,19,20,142,143,144,145],[],[],[0,2,7,13,16,17,19,20,21],[0,1,14,18,19,20,21,23],[],[],[],[],[1,3,7,13,17,19,20,21,23,24],[],[],[],[],[1,3,7,17,18,19,23],[],[],[2,6,16,20,21],[],[1,3,4,5,19,21],[0,14,16,18,19,20,21,23],[7,13,17,19,20,21],[],[],[],[1,3,4,5,6,19,21],[],[],[],null,[],[],[],[],[],[1,3,6,7,13,17,19,20,21,22],[],[],[1,3,7,13,17,23,142,143,144,145],[],[],[],[],[],[],null,[],null,null,[],[],null,null,null,[],[],[],[],[],[],null,null,null,[],[],[],[],null,[],[],[],null,null,[],[],[],[6,7,17,18,19,20,21],[4,5,12,13,20,21,22,24],[],[],null,[],[],null,[],[],[],[],[0,2,4,5,6,13,16,18,19,20,24],[],[3,7,14,17,18,19,20,21,23,142,143,144,145],[0,4,5,6,16],null,[],[],[1,2,3,6,7,11,17,19,20,23,142,143],[],[],[],[13,19,20,21,24],[],[],[],[],[],[],[],[],null,null,[],[],[],[],[],[0,2,4,7,15,16,17,18,19,20,21],[2,3,7,16,17,18,19,20,23,142,143,144,145],[1,3,5,6,7,13,17,18,20,23,142,143,144,145],[],[],null,null,null,[],[],[],[1,7,14,15,17,18,20,21],[],[1,3,6,7,11,12,17,18,19,20,23],[],[],[],[],[100,101,106,122,123,124,125,126,127,178,179,180,185],[109,110,113,114,115,116,117,118,119,120,121],[103,104,105,107,108,128,181,182,183,184],null,null,[],[1,4,6,7,17,18,19,20,23,24,142,143,144,145],[],[14,15,18,19,20,21,144,145],[],[],[],[1,2,4,6,7,17,18,19,23,24,142,143,144,145],[0,3,16,18,19,20,21,142,143],[],[1,3,7,11,12,17,18,19,20,23,142,143,144,145],[1,3,4,5,6,18,19,20,23,142,143,144,145],[2,3,5,6,16,18,19,20,21,23],[],[],[],[],[],[],[88,89,90,91,92,93,94,95,163,164,165,166,167,168],[65,66,67,68,69,70,71,72,158,159,160,161,162,173],[26,27,28,29,30,31,32,33,138,139,140,141,169,170],[55,56,57,58,59,60,61,62,63,64,154,155,156,157],[34,35,36,37,38,39,40,41,146,147,148,149,171,172],[],[],[45,46,47,48,49,50,51,52,53,54,150,151,152,153],[],[102,129,130,131,132,133,186,187,188,189],[],null,null,[],[],[],[],[42,43,44,99,174,175,176,177],[134,135,136,137,190,191,192,193],[],[],[],[1,6,7,17,18,20,23],null,[],[],[],[0,1,2,3,6,7,13,14,15,16,17,18,19,20,21,22,23,24,142,143,144,145],null,[],[],[0,4,5,6,7,13,16,17,18,20,24,144,145],null,[],[],[],[],null,[],[],[],[],[4,5,6,7,13,17,18,20,22],[],[],[1,6,7,17,18,19,20,23,24,142,143,144,145],[],[],[],[],[],[],[],[]],Hh=(e,t)=>{if(!ue(e))return l.error("[vehicleUtils]: Invalid model id"),!1;const a=xh[e-400];if(a===null)return!1;const n=t-1e3;return Mh.includes(n)||a.includes(n)},ue=e=>e>=400&&e<=611,Vh=(e,t)=>{if(t<0||t>2)return!1;const a=new Map([[483,0],[534,2],[535,2],[536,2],[558,2],[559,2],[560,2],[561,2],[562,2],[565,2],[567,2],[575,1],[576,2]]).get(e);return a===void 0?!1:t<=a};class f{static vehicles=new Map;static createdCount=0;sourceInfo;isStatic;_id=-1;get id(){return this._id}constructor(t,a=!1){this.sourceInfo=t,this.isStatic=a}create(t=!1){if(this.id!==-1)return l.warn("[Vehicle]: Unable to create the vehicle again");if(f.createdCount===w.MAX_VEHICLES)return l.warn("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelId:a,x:n,y:i,z:r,z_angle:s,color:o,respawn_delay:d,addSiren:c}=this.sourceInfo;if(!(!t&&!ue(a))){if(this.isStatic){if(d===void 0){this._id=Bo(a,n,i,r,s,o[0],o[1]);return}this._id=Fo(a,n,i,r,s,o[0],o[1],d||-1,c||!1)}else this._id=Zl(a,n,i,r,s,o[0],o[1],d||-1,c||!1);f.createdCount++,f.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)return l.warn("[Vehicle]: Unable to destroy the vehicle before create");jl(this.id),f.createdCount--,f.vehicles.delete(this._id),this._id=-1}addComponent(t){return this.id===-1?0:Hh(this.getModel(),t)?ho(this.id,t):(l.warn(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`),0)}removeComponent(t){return this.getComponentInSlot(f.getComponentType(t))===0?(l.warn(`[Vehicle]: component id ${t} does not exist on this vehicle`),0):uo(this.id,t)}getComponentInSlot(t){return Co(this.id,t)}linkToInterior(t){return this.id===-1?0:_o(this.id,t)}setVirtualWorld(t){return this.id===-1?0:Oo(this.id,t)}getVirtualWorld(){return this.id===-1?0:Go(this.id)}repair(){return this.id===-1?0:Do(this.id)}setPos(t,a,n){return this.id===-1?0:zl(this.id,t,a,n)}getPos(){if(this.id!==-1)return Yl(this.id)}getHealth(){return this.id===-1?0:So(this.id)}setHealth(t){return this.id===-1?0:go(this.id,t)}isPlayerIn(t){return this.id===-1?!1:xs(t.id,this.id)}putPlayerIn(t,a){return this.id===-1||a<0?0:(a>4&&l.warn("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle."),Ss(t.id,this.id,a))}getZAngle(){return this.id===-1?0:Jl(this.id)}setZAngle(t){return this.id===-1?0:ql(this.id,t)}setNumberPlate(t){return this.id===-1?0:t.length<1||t.length>32?(l.error("[Vehicle]: The length of the number plate ranges from 32 characters"),0):/^[a-zA-Z0-9]+$/.test(t)?Ao(this.id,t):(l.error("[Vehicle]: number plates only allow letters and numbers"),0)}changeColors(t,a){return this.id===-1?0:mo(this.id,t,a)}setVelocity(t,a,n){return this.id===-1?!1:Lo(this.id,t,a,n)}getVelocity(){if(this.id===-1)return;const[t,a,n]=No(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:i}=this.getVelocity();return L.vectorSize(a,n,i)*t}setAngularVelocity(t,a,n){return this.id===-1?0:Ro(this.id,t,a,n)}getDamageStatus(){if(this.id!==-1)return bo(this.id)}updateDamageStatus(t,a,n,i){this.id!==-1&&vo(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return Ql(this.id,t,a,n)}getModel(){return Eo(this.id)}static getModelInfo(t,a){return wo(t,a)}getModelInfo(t){if(this.id!==-1)return f.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,a,n,i]=$l(this.id);return{w:t,x:a,y:n,z:i}}setRespawn(){return this.id===-1?0:co(this.id)}isStreamedIn(t){return this.id===-1?!1:Xl(this.id,t.id)}setParamsCarDoors(t,a,n,i){return this.id===-1?0:ro(this.id,t,a,n,i)}setParamsCarWindows(t,a,n,i){return this.id===-1?0:lo(this.id,t,a,n,i)}getParamsCarDoors(){if(this.id!==-1)return so(this.id)}getParamsCarWindows(){if(this.id!==-1)return oo(this.id)}setParamsEx(t,a,n,i,r,s,o){return this.id===-1?0:ao(this.id,t,a,n,i,r,s,o)}getParamsEx(){if(this.id===-1)return;const[t,a,n,i,r,s,o]=no(this.id);return{engine:t,lights:a,alarm:n,doors:i,bonnet:r,boot:s,objective:o}}getParamsSirenState(){return this.id===-1?-2:io(this.id)}setParamsForPlayer(t,a,n){return this.id===-1?0:eo(this.id,t.id,a,n)}isTrailerAttached(){return this.id===-1?!1:Po(this.id)}changePaintjob(t){return this.id===-1||!Vh(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),po(this.id,t),1)}attachTrailer(t){return this.id===-1?0:yo(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&Io(this.id)}getTrailer(){if(this.id!==-1)return f.getInstances().find(t=>t.id===fo(this.id))}isValid(){return Le(this.id)}getMatrix(){if(this.id!==-1)return Wl(this.id)}getTrainSpeed(){return this.id===-1?0:Ul(this.id)}getHydraReactorAngle(){return this.id===-1?0:Vl(this.id)}getLandingGearState(){return this.id===-1?0:Hl(this.id)}getSirenState(){return this.id===-1?0:xl(this.id)}getDriver(t){if(this.id!==-1)return t.get(kl(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(Fl(this.id))}isSirenEnabled(){return Gl(this.id)}toggleSirenEnabled(t){return this.id===-1?0:wl(this.id,t)}setParamsSirenState(t){return this.id===-1?0:Ol(this.id,t)}isDead(){return this.id===-1?!0:Rl(this.id)}setDead(t){return this.id===-1?!1:bl(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:vl(this.id,t)}getRespawnTick(){return this.id===-1?0:Nl(this.id)}setRespawnTick(t){return this.id===-1?!1:Ll(this.id,t)}isOccupied(){return this.id===-1?!1:Dl(this.id)}hasBeenOccupied(){return this.id===-1?!1:Tl(this.id)}getOccupiedTick(){return this.id===-1?0:El(this.id)}setOccupiedTick(t){return this.id===-1?0:Cl(this.id,t)}getCab(){return this.id===-1?0:Al(this.id)}getRespawnDelay(){return this.id===-1?0:fl(this.id)}setRespawnDelay(t){return this.id===-1?0:Pl(this.id,t)}getNumberPlate(){return this.id===-1?"":Il(this.id)}getInterior(){return this.id===-1?0:yl(this.id)}getPaintjob(){return this.id===-1?-1:Sl(this.id)}getColors(){if(this.id!==-1)return gl(this.id)}setSpawnInfo(t,a,n,i,r,s,o,d=-2,c=-2,m=!1){return this.id===-1||!m&&!ue(t)?0:pl(this.id,t,a,n,i,r,y(s),y(o),d,c)}getSpawnInfo(){if(this.id!==-1)return ml(this.id)}getRandomColorPair(){if(this.id!==-1)return Ne(this.getModel())}show(){return this.id===-1?!1:ko(this.id)}hide(){return this.id===-1?!1:Mo(this.id)}isHidden(){return this.id===-1?!1:xo(this.id)}static getRandomColorPair(t){return Ne(t)}static getComponentType=To;static colorIndexToColor=Kl;static isValid(t){return Le(t)}static getModelsUsed=Ml;static getModelCount=Bl;static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}}L.onExit(({next:e})=>(f.getInstances().forEach(t=>t.destroy()),e()));const[Uh]=_({name:"OnVehicleDamageStatusUpdate",beforeEach(e,t){return{vehicle:f.getInstance(e),player:u.getInstance(t)}}}),[Wh]=_({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:f.getInstance(e),killer:u.getInstance(t)}}}),[Kh]=_({name:"OnVehicleMod",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:f.getInstance(t),componentId:a}}}),[Zh]=_({name:"OnVehiclePaintjob",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:f.getInstance(t),paintjobId:a}}}),[jh]=_({name:"OnVehicleRespray",beforeEach(e,t,a,n){return{player:u.getInstance(e),vehicle:f.getInstance(t),color:[a,n]}}}),[Xh]=_({name:"OnVehicleSirenStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:f.getInstance(t),state:!!a}}}),[Yh]=_({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:f.getInstance(e)}}}),[zh]=_({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:f.getInstance(e),forPlayer:u.getInstance(t)}}}),[Jh]=_({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:f.getInstance(e),forPlayer:u.getInstance(t)}}}),[$h]=_({name:"OnPlayerEnterVehicle",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:f.getInstance(t),isPassenger:!!a}}}),[Qh]=_({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:u.getInstance(e),vehicle:f.getInstance(t)}}}),[qh]=_({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:f.getInstance(e),seatId:t}}}),[eu]=_({name:"OnNpcExitVehicle"}),[tu]=_({name:"OnTrailerUpdate",beforeEach(e,t){return{player:u.getInstance(e),vehicle:f.getInstance(t)}}}),au=Object.freeze({onDamageStatusUpdate:Uh,onDeath:Wh,onMod:Kh,onPaintjob:Zh,onRespray:jh,onSirenStateChange:Xh,onSpawn:Yh,onStreamIn:zh,onStreamOut:Jh,onPlayerEnter:$h,onPlayerExit:Qh,onNpcEnter:qh,onNpcExit:eu,onTrailerUpdate:tu});class nu{constructor(){}static getNetworkStats(){return Ci()}static getPlayerNetworkStats(t){return Ei(t.id)}static getBytesReceived(t){return hi(t.id)}static getBytesSent(t){return mi(t.id)}static getConnectionStatus(t){return Si(t.id)}static getConnectedTime(t){return ci(t.id)}static getIpPort(t){return yi(t.id)}static getMessagesReceived(t){return _i(t.id)}static getMessagesRecvPerSecond(t){return pi(t.id)}static getMessagesSent(t){return ui(t.id)}static getPacketLossPercent(t){return gi(t.id)}}class iu{_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,a,n){this._text=t,this._time=a,this._style=n}static hideForAll(t){Nn(t)}static has(t,a){return lr(t.id,a)}forAll(){Dn(this.text,this.time,this.style)}forPlayer(t){sr(t.id,this.text,this.time,this.style)}hideForPlayer(t){return dr(t.id,this.style)}}class j{static menus=new Map;_itemCount=0;get itemCount(){return this._itemCount}_id=-1;get id(){return this._id}_title;get title(){return this._title}set title(t){this._title=t}_columns=1;get columns(){return this._columns}set columns(t){if(t!==1&&t!==2){l.error("[Menu]: The menu column number interval is between 1 and 2");return}this._columns=t}_x;get x(){return this._x}set x(t){this._x=t}_y;get y(){return this._y}set y(t){this._y=t}_col1width;get col1width(){return this._col1width}set col1width(t){this._col1width=t}_col2width;get col2width(){return this._col2width}set col2width(t){this._col2width=t}constructor(t,a,n,i,r,s){this._title=t,this.columns=a,this._x=n,this._y=i,this._col1width=r,this._col2width=s}create(){return this._id!==-1?l.error("[Menu]: Cannot be created twice"):j.getInstances().length===w.MAX_MENUS?l.error("[Menu]: The maximum number of menus allowed to be created has been reached 128"):(this._id=ad(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),j.menus.set(this._id,this),this)}destroy(){return this._id===-1?l.error("[Menu]: Cannot destroy before create"):(nd(this.id),j.menus.delete(this._id),this._id=-1,this)}addItem(t,a){return this._id===-1?l.error("[Menu]: Cannot addItem before create"):this._itemCount===w.MAX_MENU_ROW?l.error("[Menu]: The maximum number of items allowed to be added has been reached 12"):t!==0&&t!==1?l.error("[Menu]: Wrong number of columns"):(id(this.id,t,a),this._itemCount++,this)}setColumnHeader(t,a){return this._id===-1?l.error("[Menu]: Cannot setColumnHeader before create"):t!==0&&t!==1?l.error("[Menu]: Wrong number of columns"):(rd(this.id,t,a),this)}disable(){return this._id===-1?l.error("[Menu]: Cannot disable menu before create"):(dd(this.id),this)}disableRow(t){if(this._id===-1)return l.error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)return l.error("[Menu]: Wrong number of rows");cd(this.id,t)}isValid(){return od(this.id)}showForPlayer(t){return this._id===-1?l.error("[Menu]: Cannot show menu before create"):sd(this.id,t.id)}hideForPlayer(t){return this._id===-1?l.error("[Menu]: Cannot hide menu before create"):ld(this.id,t.id)}isDisabled(){return this._id===-1?!1:zo(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:Jo(this.id,t)}getItems(t){return this._id===-1?0:$o(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:Qo(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:qo(this.id)}getColumnHeader(t){return this._id===-1?l.error("[Menu]: Cannot get column header before create"):ed(this.id,t)}getItem(t,a){if(this._id===-1)return l.error("[Menu]: Cannot get item before create");if(!(a<0||a>this.getItems(t)-1))return td(this.id,t,a)}static getInstance(t){return this.menus.get(t)}static getInstances(){return[...this.menus.values()]}static getInstanceByPlayer(t){return this.getInstances().find(a=>a.id===_d(t.id))}}L.onExit(({next:e})=>(j.getInstances().forEach(t=>t.destroy()),e()));const[ru]=_({name:"OnPlayerExitedMenu",beforeEach(e){return{player:u.getInstance(e)}}}),[su]=_({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const a=u.getInstance(e),n=j.getInstanceByPlayer(a);return{player:a,menu:n,row:t}}}),lu=Object.freeze({onPlayerExited:ru,onPlayerSelectedRow:su});class N{static globalGangZones=new Map;static playerGangZones=new Map;sourceInfo;constructor(t){this.sourceInfo=t}_id=-1;get id(){return this._id}create(){if(this.id!==-1)return l.warn("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(N.getInstances(!1).length===w.MAX_GANG_ZONES)return l.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:i,maxY:r}=this.sourceInfo;this._id=bd(t.id,a,n,i,r);const s=he.onDisconnect(({player:o,next:d})=>{d(),o===this.sourceInfo.player&&(this.destroy(),s())});N.playerGangZones.set(this.id,this)}else{if(N.getInstances(!0).length===w.MAX_GANG_ZONES)return l.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:i,maxY:r}=this.sourceInfo;this._id=Pd(a,n,i,r),N.globalGangZones.set(this.id,this)}}destroy(){if(this.id===-1)return l.warn("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(vd(t.id,this.id),N.playerGangZones.delete(this.id)):(fd(this.id),N.globalGangZones.delete(this.id)),this._id=-1}showForAll(t){return this.id===-1?(l.warn("[GangZone]: Unable to show the gangzone before create"),this):this.sourceInfo.player?(l.warn("[GangZone]: player's gangzone should not be show for all."),this):(Ed(this.id,t),this)}showForPlayer(t,a){if(this.id===-1)return l.warn("[GangZone]: Unable to show the gangzone before create"),this;const n=this.sourceInfo.player;if(n)wd(n.id,this.id,y(t));else if(a)Ad(a.id,this.id,t);else return l.warn("[GangZone]: invalid player for show"),this;return this}hideForAll(){return this.id===-1?(l.warn("[GangZone]: Unable to hide the gangzone before create"),this):this.sourceInfo.player?(l.warn("[GangZone]: player's gangzone should not be hide for all."),this):(Td(this.id),this)}hideForPlayer(t){if(this.id===-1)return l.warn("[GangZone]: Unable to hide the gangzone before create"),this;const a=this.sourceInfo.player;if(a)Od(a.id,this.id);else if(t)Cd(t.id,this.id);else return l.warn("[GangZone]: invalid player for hide"),this;return this}flashForAll(t){return this.id===-1?(l.warn("[GangZone]: Unable to flash the gangzone before create"),this):this.sourceInfo.player?(l.warn("[GangZone]: player's gangzone should not be flash for all."),this):(Nd(this.id,t),this)}flashForPlayer(t,a){if(this.id===-1)return l.warn("[GangZone]: Unable to flash the gangzone before create"),this;const n=this.sourceInfo.player;if(n)Gd(n.id,this.id,y(a));else if(t)Dd(t.id,this.id,a);else return l.warn("[GangZone]: invalid player for flash"),this;return this}stopFlashForAll(){return this.id===-1?(l.warn("[GangZone]: Unable to stop flash the gangzone before create"),this):this.sourceInfo.player?(l.warn("[GangZone]: player's gangzone should not be stop flash for all."),this):(Rd(this.id),this)}stopFlashForPlayer(t){if(this.id===-1)return l.warn("[GangZone]: Unable to stop flash the gangzone before create"),this;const a=this.sourceInfo.player;if(a)Bd(a.id,this.id);else if(t)Ld(t.id,this.id);else return l.warn("[GangZone]: invalid player for flash"),this;return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Fd(t.id,this.id):hd(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?kd(a.id,this.id):ud(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Md(a.id,this.id):md(t.id,this.id)}getColorForPlayer(t){if(this.id===-1)return l.warn("[GangZone]: Unable to get color before create");const a=this.sourceInfo.player;return a?xd(a.id,this.id):pd(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===-1)return l.warn("[GangZone]: Unable to get flash color before create");const a=this.sourceInfo.player;return a?Hd(a.id,this.id):gd(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Vd(a.id,this.id):Sd(t.id,this.id)}getPos(){if(this.id===-1)return l.warn("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?Ud(t.id,this.id):yd(this.id)}useCheck(t){if(this.id===-1)return l.warn("[GangZone]: Unable to use check before create"),this;const a=this.sourceInfo.player;return a?Wd(a.id,this.id,t):Id(this.id,t),this}static getInstance(t,a){return a?this.globalGangZones.get(t):this.playerGangZones.get(t)}static getInstances(t){return t?[...this.globalGangZones.values()]:[...this.playerGangZones.values()]}}L.onExit(({next:e})=>(N.getInstances(!0).forEach(t=>t.destroy()),N.getInstances(!1).forEach(t=>t.destroy()),e()));const[ou]=_({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[du]=_({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[cu]=_({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!1)}}}),[_u]=_({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!1)}}}),[hu]=_({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[uu]=_({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!1)}}}),mu=Object.freeze({onPlayerEnterGlobal:ou,onPlayerLeaveGlobal:du,onPlayerEnterPlayer:cu,onPlayerLeavePlayer:_u,onPlayerClickGlobal:hu,onPlayerClickPlayer:uu}),[W]=_({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:u.getInstance(a)}}}),[K]=_({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:u.getInstance(a)}}}),[pu]=_({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class T{constructor(){}static getTickRate=ft;static setTickRate=At;static getPlayerTickRate(t){return Et(t.id)}static setPlayerTickRate(t,a=50){return Ct(t.id,a)}static toggleChunkStream=Tt;static isToggleChunkStream=Dt;static getChunkTickRate(t,a=-1){return a instanceof u?pe(t,a.id):pe(t,a)}static setChunkTickRate(t,a,n=-1){return n instanceof u?ge(t,a,n.id):ge(t,a,n)}static getChunkSize=Nt;static setChunkSize=Lt;static getMaxItems=Rt;static setMaxItems=bt;static getVisibleItems(t,a=-1){return a instanceof u?Se(t,a.id):Se(t,a)}static setVisibleItems(t,a,n=-1){return n instanceof u?ye(t,a,n.id):ye(t,a,n)}static getRadiusMultiplier(t,a=-1){return a instanceof u?Ie(t,a.id):Ie(t,a)}static setRadiusMultiplier(t,a,n=-1){return n instanceof u?Pe(t,n.id):Pe(t,a,n)}static getTypePriority=vt;static setTypePriority=wt;static getCellDistance=Ot;static setCellDistance=Gt;static getCellSize=Bt;static setCellSize=Ft;static toggleItemStatic=kt;static isToggleItemStatic=Mt;static toggleItemInvAreas=xt;static isToggleItemInvAreas=Ht;static toggleItemCallbacks=Vt;static isToggleItemCallbacks=Ut;static toggleErrorCallback=Wt;static isToggleErrorCallback=Kt;static amxUnloadDestroyItems=Zt;static processActiveItems=jt;static toggleIdleUpdate(t,a){return Xt(t.id,a)}static isToggleIdleUpdate(t){return Yt(t.id)}static toggleCameraUpdate(t,a){return zt(t.id,a)}static isToggleCameraUpdate(t){return Jt(t.id)}static toggleItemUpdate(t,a,n){return $t(t.id,a,n)}static isToggleItemUpdate(t,a){return Qt(t.id,a)}static getLastUpdateTime(){return qt()}static update(t,a=-1){return ea(t.id,a)}static updateEx(t,a,n,i,r,s,o,d,c){return ta(t.id,a,n,i,r,s,o,d,c)}static getDistanceToItem=aa;static toggleItem(t,a,n,i){return na(t.id,a,n,i)}static isToggleItem(t,a,n){return ia(t.id,a,n)}static toggleAllItems(t,a,n,i=[-1]){return ra(t.id,a,n,i)}static getItemInternalID(t,a,n){return sa(t.id,a,n)}static getItemStreamerID(t,a,n){return la(t.id,a,n)}static isItemVisible(t,a,n){return oa(t.id,a,n)}static destroyAllVisibleItems(t,a,n=1){return da(t.id,a,n)}static countVisibleItems(t,a,n=1){return ca(t.id,a,n)}static destroyAllItems=_a;static countItems=ha;static getNearbyItems=ua;static getAllVisibleItems(t,a,n){return ma(t.id,a,n)}static getItemPos=pa;static setItemPos=ga;static getItemOffset=Sa;static setItemOffset=ya;static getFloatData=Ia;static setFloatData=Pa;static getIntData=fa;static setIntData=Aa;static getArrayData=Ea;static setArrayData=Ca;static isInArrayData=Ta;static appendArrayData=Da;static removeArrayData=Na;static getArrayDataLength=La;static getUpperBound=Ra;static onPluginError=pu}class H{static mapIcons=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamDistance:a,worldId:n,interiorId:i,playerId:r,areaId:s,priority:o}=this.sourceInfo;const{x:d,y:c,z:m,type:p,color:g,extended:I}=this.sourceInfo;return p<0||p>63?l.error("[StreamerMapIcon]: Invalid map icon type"):(t??=ba.LOCAL,a??=ee.MAP_ICON_SD,o??=0,I?(typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=va(d,c,m,p,y(g),t,a,n,i,r,s,o),H.mapIcons.set(this._id,this),this):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=wa(d,c,m,p,y(g),n,i,r,a,t,s,o),H.mapIcons.set(this._id,this),this))}destroy(){return this.id===-1?l.warn("[StreamerMapIcon]: Unable to destroy the map icon before create"):(Oa(this.id),H.mapIcons.delete(this._id),this._id=-1,this)}isValid(){return Ga(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerMapIcon]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(E.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(E.MAP_ICON,this.id)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}}L.onExit(({next:e})=>(H.getInstances().forEach(t=>t.destroy()),e()));const[gu,Su]=_({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[yu,Iu]=_({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.MAP_ICON?Su(a,H.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.MAP_ICON?Iu(a,H.getInstance(t)):n());const Pu=Object.freeze({onStreamIn:gu,onStreamOut:yu});class x{static pickups=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[StreamerPickup]: Unable to create pickup again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{type:o,modelId:d,x:c,y:m,z:p,extended:g}=this.sourceInfo;return o<0||o>22?l.error("[StreamerPickup]: Invalid pickup type"):(t??=h.StreamerDistances.PICKUP_SD,s??=0,g?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=h.CreateDynamicPickupEx(d,o,c,m,p,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=h.CreateDynamicPickup(d,o,c,m,p,a,n,i,t,r,s)),x.pickups.set(this._id,this),this)}destroy(){return this.id===-1?l.warn("[StreamerPickup]: Unable to destroy the pickup before create"):(h.DestroyDynamicPickup(this.id),x.pickups.delete(this.id),this._id=-1,this)}isValid(){return h.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerPickup]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(h.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(h.StreamerItemTypes.PICKUP,this.id)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}}L.onExit(({next:e})=>(x.getInstances().forEach(t=>t.destroy()),e()));const[fu,Au]=_({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Eu,Cu]=_({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.PICKUP?Au(a,x.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.PICKUP?Cu(a,x.getInstance(t)):n());const[Tu]=_({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:x.getInstance(t)}}}),Du=Object.freeze({onPlayerPickUp:Tu,onStreamIn:fu,onStreamOut:Eu});class B{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{size:o,x:d,y:c,z:m,extended:p}=this.sourceInfo;return o<0?l.error("[StreamerCheckpoint]: Invalid checkpoint size"):(t??=ee.CP_SD,s??=0,p?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=Ba(d,c,m,o,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=Fa(d,c,m,o,a,n,i,t,r,s)),B.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1?l.warn("[StreamerCheckpoint]: Unable to destroy the checkpoint before create"):(fe(this.id),B.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return Ae(this.id)}togglePlayer(t,a){return this.id===-1?l.warn("[StreamerCheckpoint]: Unable to toggle the player before create"):(ka(t.id,this.id,a),this)}static togglePlayerAll(t,a){return Ma(t.id,a)}isPlayerIn(t){return this.id===-1?!1:xa(t.id,this.id)}static getPlayerVisible(t){return B.checkpoints.get(Ha(t.id))}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerCheckpoint]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(E.CP,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(E.CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}L.onExit(({next:e})=>(B.checkpoints.forEach(t=>t.destroy()),e()));const[Nu,Lu]=_({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Ru,bu]=_({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.CP?Lu(a,B.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.CP?bu(a,B.getInstance(t)):n());const[vu]=_({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:B.getInstance(t)}}}),[wu]=_({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:B.getInstance(t)}}}),Ou=Object.freeze({onPlayerEnter:vu,onPlayerLeave:wu,onStreamIn:Nu,onStreamOut:Ru});class F{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[StreamerRaceCP]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{type:o,size:d,x:c,y:m,z:p,nextX:g,nextY:I,nextZ:A,extended:b}=this.sourceInfo;return o<0||o>8?l.error("[StreamerRaceCP]: Invalid type"):d<0?l.error("[StreamerRaceCP]: Invalid size"):(t??=ee.RACE_CP_SD,s??=0,b?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=Va(o,c,m,p,g,I,A,d,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=Ua(o,c,m,p,g,I,A,d,a,n,i,t,r,s)),F.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1?l.warn("[StreamerRaceCP]: Unable to destroy the checkpoint before create"):(fe(this.id),F.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return Ae(this.id)}togglePlayer(t,a){return this.id===-1?l.warn("[StreamerRaceCP]: Unable to toggle the player before create"):(Wa(t.id,this.id,a),this)}static togglePlayerAll(t,a){return Ka(t.id,a)}isPlayerIn(t){return this.id===-1?!1:Za(t.id,this.id)}static getPlayerVisible(t){return F.checkpoints.get(ja(t.id))}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerRaceCP]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(E.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(E.RACE_CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}L.onExit(({next:e})=>(F.getInstances().forEach(t=>t.destroy()),e()));const[Gu,Bu]=_({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Fu,ku]=_({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.RACE_CP?Bu(a,F.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.RACE_CP?ku(a,F.getInstance(t)):n());const[Mu]=_({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:F.getInstance(t)}}}),[xu]=_({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:F.getInstance(t)}}}),Hu=Object.freeze({onPlayerEnter:Mu,onPlayerLeave:xu,onStreamIn:Gu,onStreamOut:Fu});class k{static actors=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[StreamerActor]: Unable to create actor again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{modelId:o,x:d,y:c,z:m,r:p,invulnerable:g,health:I,extended:A}=this.sourceInfo;return t??=h.StreamerDistances.ACTOR_SD,s??=0,A?(typeof a=="number"?a=[0]:a??=[0],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=h.CreateDynamicActorEx(o,d,c,m,p,g,I,t,a,n,i,r,s)):(Array.isArray(a)?a=0:a??=0,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=h.CreateDynamicActor(o,d,c,m,p,g,I,a,n,i,t,r,s)),k.actors.set(this.id,this),this}destroy(){return this.id===-1?l.warn("[StreamerActor]: Unable to destroy the actor before create"):(h.DestroyDynamicActor(this.id),k.actors.delete(this.id),this._id=-1,this)}isValid(){return h.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:h.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){return this.id===-1?l.warn("[StreamerActor]: Unable to get virtual world before create"):h.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){return this.id===-1?l.warn("[StreamerActor]: Unable to set virtual world before create"):h.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,a,n=!1,i=!0,r=!0,s=!1){if(this.id===-1)return l.warn("[StreamerActor]: Unable to apply animation before create");const o=tt(t,a);return o===void 0?l.error("[StreamerActor]: Invalid anim library or name"):h.ApplyDynamicActorAnimation(this.id,t,a,4.1,n,i,r,s,n?0:o)}clearAnimations(){return this.id===-1?l.warn("[StreamerActor]: Unable to clear animation before create"):h.ClearDynamicActorAnimations(this.id)}getFacingAngle(){return this.id===-1?l.warn("[StreamerActor]: Unable to get facing angle before create"):h.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){return this.id===-1?l.warn("[StreamerActor]: Unable to set facing angle before create"):h.SetDynamicActorFacingAngle(this.id,t)}getPos(){return this.id===-1?l.warn("[StreamerActor]: Unable to get pos before create"):h.GetDynamicActorPos(this.id)}setPos(t,a,n){return this.id===-1?l.warn("[StreamerActor]: Unable to set pos before create"):h.SetDynamicActorPos(this.id,t,a,n)}getHealth(){return this.id===-1?l.warn("[StreamerActor]: Unable to get health before create"):h.GetDynamicActorHealth(this.id)}setHealth(t){return this.id===-1?l.warn("[StreamerActor]: Unable to set health before create"):h.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:h.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){return this.id===-1?l.warn("[StreamerActor]: Unable to set invulnerable before create"):h.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t){if(this.id===-1)return;const a=h.GetPlayerTargetDynamicActor(t.id);return k.actors.get(a)}getPlayerCameraTarget(t){if(this.id===-1)return;const a=h.GetPlayerCameraTargetDynActor(t.id);return k.actors.get(a)}getSkin(){return this.id===-1?l.warn("[StreamerActor]: Unable to get skin before create"):_l(this.id)}setSkin(t,a=!1){return this.id===-1?l.warn("[StreamerActor]: Unable to set skin before create"):!a&&(t<0||t>311||t==74)?0:hl(this.id,t)}getSpawnInfo(){return this.id===-1?l.warn("[StreamerActor]: Unable to get spawn info before create"):ul(this.id)}getAnimation(){return this.id===-1?l.warn("[StreamerActor]: Unable to get animation before create"):h.GetDynamicActorAnimation(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerActor]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(h.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(h.StreamerItemTypes.ACTOR,this.id)}static getInstance(t){return this.actors.get(t)}static getInstances(){return[...this.actors.values()]}}L.onExit(({next:e})=>(k.getInstances().forEach(t=>t.destroy()),e()));const[Vu]=_({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:k.getInstance(e),forPlayer:u.getInstance(t)}}}),[Uu]=_({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:k.getInstance(e),forPlayer:u.getInstance(t)}}}),[Wu]=_({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),actor:k.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),Ku=Object.freeze({onStreamIn:Vu,onStreamOut:Uu,onPlayerGiveDamage:Wu});class Z{static texts=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[Streamer3DTextLabel]: Unable to create again");let{attachedPlayer:t,attachedVehicle:a,testLos:n,streamDistance:i,worldId:r,interiorId:s,playerId:o,areaId:d,priority:c}=this.sourceInfo;const{charset:m,text:p,color:g,drawDistance:I,x:A,y:b,z:M,extended:q}=this.sourceInfo;return t??=C.PLAYER_ID,a??=C.VEHICLE_ID,i??=ee.TEXT_3D_LABEL_SD,n??=!1,c??=0,q?(typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof o=="number"?o=[-1]:o??=[-1],typeof d=="number"?d=[-1]:d??=[-1],this._id=Z_(p,y(g),A,b,M,I,t,a,n,i,r,s,o,d,c,m||"utf8")):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(o)?o=-1:o??=-1,Array.isArray(d)?d=-1:d??=-1,this._id=K_(m||"utf8",p,y(g),A,b,M,I,t,a,n,r,s,o,i,d,c)),Z.texts.set(this.id,this),this}destroy(){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to destroy before create"):(Xa(this.id),Z.texts.delete(this.id),this._id=-1,this)}isValid(){return Ya(this.id)}getColor(){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to get color before create"):this.sourceInfo.color}getCharset(){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to get charset before create"):this.sourceInfo.charset}getText(){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to get text before create"):X_(this.id,this.sourceInfo.charset||"utf8")}updateText(t,a,n=this.sourceInfo.charset){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to update text before create"):(this.sourceInfo.charset=n,j_(this.id,y(t),a,n||"utf8"))}toggleCallbacks(t=!0){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(E.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(E.TEXT_3D_LABEL,this.id)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}}L.onExit(({next:e})=>(Z.getInstances().forEach(t=>t.destroy()),e()));const[Zu,ju]=_({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Xu,Yu]=_({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.TEXT_3D_LABEL?ju(a,Z.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.TEXT_3D_LABEL?Yu(a,Z.getInstance(t)):n());const zu=Object.freeze({onStreamIn:Zu,onStreamOut:Xu});class v{static objects=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[StreamerObject]: Unable to create object again");let{streamDistance:t,drawDistance:a,worldId:n,interiorId:i,playerId:r,areaId:s,priority:o}=this.sourceInfo;const{modelId:d,x:c,y:m,z:p,rx:g,ry:I,rz:A,extended:b}=this.sourceInfo;return t??=h.StreamerDistances.OBJECT_SD,a??=h.StreamerDistances.OBJECT_DD,o??=0,b?(typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=h.CreateDynamicObjectEx(d,c,m,p,g,I,A,t,a,n,i,r,s,o)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=h.CreateDynamicObject(d,c,m,p,g,I,A,n,i,r,t,a,s,o)),v.objects.set(this._id,this),this}destroy(){return this.id===-1?l.warn("[StreamerObject]: Unable to destroy the object before create"):(h.DestroyDynamicObject(this.id),v.objects.delete(this.id),this._id=-1,this)}isValid(){return h.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){return this.id===-1?l.warn("[StreamerObject]: Cannot get position before create"):h.GetDynamicObjectPos(this.id)}setPos(t,a,n){return this.id===-1?l.warn("[StreamerObject]: Cannot set position before create"):h.SetDynamicObjectPos(this.id,t,a,n)}getRot(){return this.id===-1?l.warn("[StreamerObject]: Cannot get rotation before create"):h.GetDynamicObjectRot(this.id)}setRot(t,a,n){return this.id===-1?l.warn("[StreamerObject]: Cannot set rotation before create"):h.SetDynamicObjectRot(this.id,t,a,n)}move(t,a,n,i,r=-1e3,s=-1e3,o=-1e3){return this.id===-1?l.warn("[StreamerObject]: Cannot start moving before create"):i<0?l.warn("[StreamerObject]: speed must not be less than 0"):(i>120*1e3&&l.warn("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional"),this.isMoving()&&this.stop(),h.MoveDynamicObject(this.id,t,a,n,i,r,s,o))}stop(){return this.id===-1?l.warn("[StreamerObject]: Cannot stop moving before create"):h.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:h.IsDynamicObjectMoving(this.id)}attachCamera(t){return this.id===-1||t.id===-1?l.warn("[StreamerObject]: Cannot attachCamera before both are created"):h.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,a,n,i,r,s,o,d=!0){return this.id===-1||t.id===-1?l.warn("[StreamerObject]: Cannot attachToObject before both are created"):h.AttachDynamicObjectToObject(this.id,t.id,a,n,i,r,s,o,d)}attachToPlayer(t,a,n,i,r,s,o){return this.id===-1||t.id===-1?l.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):h.AttachDynamicObjectToPlayer(this.id,t.id,a,n,i,r,s,o)}attachToVehicle(t,a,n,i,r,s,o){return this.id===-1||t.id===-1?l.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):h.AttachDynamicObjectToVehicle(this.id,t.id,a,n,i,r,s,o)}edit(t){return this.id===-1?l.warn("[StreamerObject]: Unable to edit before create"):(t.endObjectEditing(),h.EditDynamicObject(t.id,this.id))}isMaterialUsed(t){return this.id===-1?!1:h.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:h.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,a,n){return this.id===-1?l.warn("[StreamerObject]: Unable to get material before create"):h.GetDynamicObjectMaterial(this.id,t,a,n)}setMaterial(t,a,n,i,r="#000"){return this.id===-1?l.warn("[StreamerObject]: Unable to set material before create"):h.SetDynamicObjectMaterial(this.id,t,a,n,i,y(r))}isMaterialTextUsed(t){return this.id===-1?!1:h.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?h.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){return this.id===-1?l.warn("[StreamerObject]: Unable to get material text before create"):z_(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,a,n,i=h.MaterialTextSizes.SIZE_256x128,r="Arial",s=24,o=1,d="#fff",c="#000",m=0){return this.id===-1?l.warn("[StreamerObject]: Unable to set material text before create"):(this.sourceInfo.charset=t,Y_(t||"utf8",this.id,a,n,i,r,s,o,y(d),y(c),m))}getPlayerCameraTarget(t){const a=h.GetPlayerCameraTargetDynObject(t.id);if(a!==C.OBJECT_ID)return v.objects.get(a)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerObject]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(h.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(h.StreamerItemTypes.OBJECT,this.id)}setNoCameraCollision(){return h.SetDynamicObjectNoCameraCol(this.id)}getNoCameraCollision(){return h.GetDynamicObjectNoCameraCol(this.id)}static getInstance(t){return this.objects.get(t)}static getInstances(){return[...this.objects.values()]}}L.onExit(({next:e})=>(v.getInstances().forEach(t=>t.destroy()),e()));const[Ju,$u]=_({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Qu,qu]=_({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.OBJECT?$u(a,v.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.OBJECT?qu(a,v.getInstance(t)):n());const[em]=_({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:v.getInstance(e)}}}),[tm]=_({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",beforeEach(e,t,a,n,i,r,s,o,d){return{player:u.getInstance(e),object:v.getInstance(t),response:a,x:n,y:i,z:r,rX:s,rY:o,rZ:d}}}),[am]=_({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:u.getInstance(e),object:v.getInstance(t),modelId:a,x:n,y:i,z:r}}}),[nm]=_({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:u.getInstance(e),object:v.getInstance(a),weapon:t,x:n,y:i,z:r}}}),[im]=_({name:"OnPlayerEditAttachedObject",beforeEach(e,t,a,n,i,r,s,o,d,c,m,p,g,I){return{player:u.getInstance(e),response:t,index:a,modelId:n,boneId:i,fOffsetX:r,fOffsetY:s,fOffsetZ:o,fRotX:d,fRotY:c,fRotZ:m,fScaleX:p,fScaleY:g,fScaleZ:I}}}),rm=Object.freeze({onMoved:em,onPlayerEdit:tm,onPlayerSelect:am,onPlayerShoot:nm,onPlayerEditAttached:im,onStreamIn:Ju,onStreamOut:Qu});class R{static areas=new Map;sourceInfo;_id=-1;get type(){return this.sourceInfo.type}get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[StreamerArea]: Unable to create area again");let{worldId:t,interiorId:a,playerId:n}=this.sourceInfo;const{type:i,extended:r}=this.sourceInfo;if(r)if(typeof t=="number"?t=[-1]:t??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],i==="circle"){const{x:s,y:o,size:d}=this.sourceInfo;if(d<0)return l.error("[StreamerArea]: Invalid circle extend size");this._id=h.CreateDynamicCircleEx(s,o,d,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:o,minZ:d,maxX:c,maxY:m,maxZ:p}=this.sourceInfo;this._id=h.CreateDynamicCuboidEx(s,o,d,c,m,p,t,a,n)}else if(i==="cylinder"){const{x:s,y:o,minZ:d,maxZ:c,size:m}=this.sourceInfo;if(m<0)return l.error("[StreamerArea]: Invalid cylinder extend size");this._id=h.CreateDynamicCylinderEx(s,o,d,c,m,t,a,n)}else if(i==="polygon"){const{points:s,minZ:o,maxZ:d}=this.sourceInfo;if(s.length%2!==0)return l.warn("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=h.CreateDynamicPolygonEx(s,o,d,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:o,maxX:d,maxY:c}=this.sourceInfo;this._id=h.CreateDynamicRectangleEx(s,o,d,c,t,a,n)}else{const{x:s,y:o,z:d,size:c}=this.sourceInfo;if(c<0)return l.error("[StreamerArea]: Invalid sphere extended size");this._id=h.CreateDynamicSphereEx(s,o,d,c,t,a,n)}else if(Array.isArray(t)?t=-1:t??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,i==="circle"){const{x:s,y:o,size:d}=this.sourceInfo;if(d<0)return l.error("[StreamerArea]: Invalid circle size");this._id=h.CreateDynamicCircle(s,o,d,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:o,minZ:d,maxX:c,maxY:m,maxZ:p}=this.sourceInfo;this._id=h.CreateDynamicCuboid(s,o,d,c,m,p,t,a,n)}else if(i==="cylinder"){const{x:s,y:o,minZ:d,maxZ:c,size:m}=this.sourceInfo;if(m<0)return l.error("[StreamerArea]: Invalid cylinder size");this._id=h.CreateDynamicCylinder(s,o,d,c,m,t,a,n)}else if(i==="polygon"){const{points:s,minZ:o,maxZ:d}=this.sourceInfo;if(s.length%2!==0)return l.warn("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=h.CreateDynamicPolygon(s,o,d,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:o,maxX:d,maxY:c}=this.sourceInfo;this._id=h.CreateDynamicRectangle(s,o,d,c,t,a,n)}else{const{x:s,y:o,z:d,size:c}=this.sourceInfo;if(c<0)return l.error("[StreamerArea]: Invalid sphere size");this._id=h.CreateDynamicSphere(s,o,d,c,t,a,n)}return R.areas.set(this._id,this),this}destroy(){return this.id===-1?l.warn("[StreamerArea]: Unable to destroy the area before create"):(h.DestroyDynamicArea(this.id),R.areas.delete(this.id),this._id=-1,this)}isValid(){return this.id===-1?!1:h.IsValidDynamicArea(this.id)}getType(){return this.id!==-1?l.warn("[StreamerArea]: Unable to get type before create"):h.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)return l.warn("[StreamerArea]: Unable to get polygon points before create");if(this.type==="polygon")return h.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)return l.warn("[StreamerArea]: Unable to get polygon points number before create");if(this.type==="polygon")return h.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,a=!1){return this.id===-1?!1:h.IsPlayerInDynamicArea(t.id,this.id,a)}static isPlayerInAny(t,a=!1){return h.IsPlayerInAnyDynamicArea(t.id,a)}isAnyPlayerIn(t=!1){return this.id===-1?!1:h.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return h.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t){return R.getPlayerAreasNumber(t)?h.GetPlayerDynamicAreas(t.id).map(a=>R.areas.get(a)):[]}static getPlayerAreasNumber(t){return h.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,a,n){return this.id===-1?!1:h.IsPointInDynamicArea(this.id,t,a,n)}static isPointInAny(t,a,n){return h.IsPointInAnyDynamicArea(t,a,n)}isLineIn(t,a,n,i,r,s){return this.id===-1?!1:h.IsLineInDynamicArea(this.id,t,a,n,i,r,s)}static isLineInAny(t,a,n,i,r,s){return h.IsLineInAnyDynamicArea(t,a,n,i,r,s)}static getForPoint(t,a,n){return R.getNumberForPoint(t,a,n)?h.GetDynamicAreasForPoint(t,a,n).map(i=>R.getInstance(i)):[]}static getNumberForPoint(t,a,n){return h.GetNumberDynamicAreasForPoint(t,a,n)}static getForLine(t,a,n,i,r,s){return R.getNumberForLine(t,a,n,i,r,s)?h.GetDynamicAreasForLine(t,a,n,i,r,s).map(o=>R.areas.get(o)):[]}static getNumberForLine(t,a,n,i,r,s){return h.GetNumberDynamicAreasForLine(t,a,n,i,r,s)}attachToObject(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?l.warn("[StreamerArea]: Unable to toggle attach to object before create"):h.AttachDynamicAreaToObject(this.id,t.id,h.StreamerObjectTypes.DYNAMIC,C.PLAYER_ID,a,n,i)}attachToPlayer(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?l.warn("[StreamerArea]: Unable to toggle attach to player before create"):h.AttachDynamicAreaToPlayer(this.id,t.id,a,n,i)}attachToVehicle(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?l.warn("[StreamerArea]: Unable to toggle attach to vehicle before create"):h.AttachDynamicAreaToVehicle(this.id,t.id,a,n,i)}toggleSpectateMode(t){return this.id===-1?l.warn("[StreamerArea]: Unable to toggle specate mode before create"):h.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:h.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerArea]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(h.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(h.StreamerItemTypes.AREA,this.id)}static getInstance(t){return this.areas.get(t)}static getInstances(){return[...this.areas.values()]}}L.onExit(({next:e})=>(R.getInstances().forEach(t=>t.destroy()),e()));const[sm,lm]=_({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[om,dm]=_({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.AREA?lm(a,R.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.AREA?dm(a,R.getInstance(t)):n());const[cm]=_({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:R.getInstance(t)}}}),[_m]=_({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:R.getInstance(t)}}}),hm=Object.freeze({onStreamIn:sm,onStreamOut:om,onPlayerEnter:cm,onPlayerLeave:_m});class S{static globalTextDraws=new Map;static playerTextDraws=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[TextDraw]: Unable to create the textdraw again");const{x:t,y:a,text:n,player:i}=this.sourceInfo;if(i){if(S.getInstances(!1).length===w.MAX_TEXT_DRAWS)return l.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=t_(i.id,t,a,n);const r=he.onDisconnect(({player:s,next:o})=>{const d=o();return s===i&&(this.destroy(),r()),d});S.playerTextDraws.set(this.id,this)}else{if(S.getInstances(!0).length===w.MAX_TEXT_DRAWS)return l.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=_c(t,a,n),S.globalTextDraws.set(this.id,this)}return this}destroy(){if(this.id===-1)return S.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(a_(t.id,this.id),S.playerTextDraws.delete(this.id)):(hc(this.id),S.globalTextDraws.delete(this.id)),this._id=-1,this}setFont(t){if(this.id===-1)return S.beforeCreateWarn("set font"),this;const{player:a}=this.sourceInfo;return a?h_(a.id,this.id,t):Ac(this.id,t),this}setColor(t){if(this.id===-1)return S.beforeCreateWarn("set color"),this;const{player:a}=this.sourceInfo;return a?s_(a.id,this.id,t):gc(this.id,t),this}setBoxColors(t){if(this.id===-1)return S.beforeCreateWarn("set box color"),this;const{player:a}=this.sourceInfo;return a?o_(a.id,this.id,t):yc(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return S.beforeCreateWarn("set background color"),this;const{player:a}=this.sourceInfo;return a?__(a.id,this.id,t):fc(this.id,t),this}setAlignment(t){if(this.id===-1)return S.beforeCreateWarn("set alignment"),this;const{player:a}=this.sourceInfo;return a?r_(a.id,this.id,t):pc(this.id,t),this}setLetterSize(t,a){if(this.id===-1)return S.beforeCreateWarn("set letter size"),this;const{player:n}=this.sourceInfo;return n?n_(n.id,this.id,t,a):uc(this.id,t,a),this}setOutline(t){if(this.id===-1)return S.beforeCreateWarn("set outline model"),this;if(t<0)return l.warn("[TextDraw]: Invalid outline value"),this;const{player:a}=this.sourceInfo;return a?c_(a.id,this.id,t):Pc(this.id,t),this}setPreviewModel(t){if(this.id===-1)return S.beforeCreateWarn("set preview model"),this;this.setFont($.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?y_(a.id,this.id,t):bc(this.id,t),this}setPreviewRot(t,a,n,i=1){if(this.id===-1)return S.beforeCreateWarn("set preview rot"),this;this.setFont($.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?I_(r.id,this.id,t,a,n,i):vc(this.id,t,a,n,i),this}setPreviewVehColors(t,a){if(this.id===-1)return S.beforeCreateWarn("set preview veh col"),this;this.setFont($.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?P_(n.id,this.id,t,a):wc(this.id,t,a),this}setProportional(t=!0){if(this.id===-1)return S.beforeCreateWarn("set Proportional"),this;const{player:a}=this.sourceInfo;return a?u_(a.id,this.id,t):Ec(this.id,t),this}setSelectable(t){if(this.id===-1)return S.beforeCreateWarn("set Selectable"),this;const{player:a}=this.sourceInfo;return a?m_(a.id,this.id,t):Cc(this.id,t),this}setShadow(t){if(this.id===-1)return S.beforeCreateWarn("set shadow"),this;if(t<0)return l.warn("[TextDraw]: Invalid shadow value"),this;const{player:a}=this.sourceInfo;return a?d_(a.id,this.id,t):Ic(this.id,t),this}setString(t,a){if(this.id===-1)return S.beforeCreateWarn("set string"),this;if(t.length===0||t.length>1024)return l.warn("[TextDraw]: Invalid text length"),this;const{player:n}=this.sourceInfo;return n?S_(n.id,this.id,t):a?cc(this.id,a.id,t):Rc(this.id,t),this}setTextSize(t,a){if(this.id===-1)return S.beforeCreateWarn("set TextSize"),this;const{player:n}=this.sourceInfo;return n?i_(n.id,this.id,t,a):mc(this.id,t,a),this}useBox(t){if(this.id===-1)return S.beforeCreateWarn("set TextSize"),this;const{player:a}=this.sourceInfo;return a?l_(a.id,this.id,t):Sc(this.id,t),this}static beforeCreateWarn(t){l.warn(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return S.beforeCreateWarn("show"),this;const a=this.sourceInfo.player;if(a)p_(a.id,this.id);else if(t)Tc(t.id,this.id);else return l.warn("[TextDraw]: invalid player for show"),this;return this}hide(t){if(this.id===-1)return S.beforeCreateWarn("hide"),this;const a=this.sourceInfo.player;if(a)g_(a.id,this.id);else if(t)Dc(t.id,this.id);else return l.warn("[TextDraw]: invalid player for hide"),this;return this}showAll(){return this.id===-1?(S.beforeCreateWarn("show"),this):this.sourceInfo.player?(l.warn("[TextDraw]: player's textdraw should not be show for all."),this):(Nc(this.id),this)}hideAll(){return this.id===-1?(S.beforeCreateWarn("hideAll"),this):this.sourceInfo.player?(l.warn("[TextDraw]: player's textdraw should not be hide for all."),this):(Lc(this.id),this)}isValid(){const t=this.sourceInfo.player;return t?Bc(t.id,this.id):Kd(this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const{player:a}=this.sourceInfo;return a?Fc(a.id,this.id):t?Zd(t.id,this.id):!1}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?kc(t.id,this.id):jd(this.id)}setPos(t,a){if(this.id===-1)return S.beforeCreateWarn("set position"),this;const n=this.sourceInfo.player;return n?Mc(n.id,this.id,t,a):Xd(this.id,t,a),this}getLetterSize(){if(this.id===-1)return S.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?xc(t.id,this.id):Yd(this.id)}getTextSize(){if(this.id===-1)return S.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?Hc(t.id,this.id):zd(this.id)}getPos(){if(this.id===-1)return S.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?Vc(t.id,this.id):Jd(this.id)}getColor(){if(this.id===-1)return S.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?Uc(t.id,this.id):$d(this.id)}getBoxColor(){if(this.id===-1)return S.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?Wc(t.id,this.id):Qd(this.id)}getBackgroundColor(){if(this.id===-1)return S.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?Kc(t.id,this.id):qd(this.id)}getShadow(){if(this.id===-1)return S.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?Zc(t.id,this.id):ec(this.id)}getOutline(){if(this.id===-1)return S.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?jc(t.id,this.id):tc(this.id)}getFont(){if(this.id===-1)return S.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?Xc(t.id,this.id):ac(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Yc(t.id,this.id):nc(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?zc(t.id,this.id):ic(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Jc(t.id,this.id):rc(this.id)}getAlignment(){if(this.id===-1)return S.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?$c(t.id,this.id):sc(this.id)}getPreviewModel(){if(this.id===-1)return S.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?Qc(t.id,this.id):lc(this.id)}getPreviewRot(){if(this.id===-1)return S.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?qc(t.id,this.id):oc(this.id)}getPreviewVehColors(){if(this.id===-1)return S.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?e_(t.id,this.id):dc(this.id)}isGlobal(){return!!this.sourceInfo.player}static getInstance(t,a){return a?this.globalTextDraws.get(t):this.playerTextDraws.get(t)}static getInstances(t){return t?[...this.globalTextDraws.values()]:[...this.playerTextDraws.values()]}}L.onExit(({next:e})=>(S.getInstances(!0).forEach(t=>t.destroy()),S.getInstances(!1).forEach(t=>t.destroy()),e()));const[um]=_({name:"OnPlayerClickTextDraw",beforeEach(e,t){return{player:u.getInstance(e),textDraw:t===C.TEXT_DRAW?t:S.getInstance(t,!0)}}}),[mm]=_({name:"OnPlayerClickPlayerTextDraw",beforeEach(e,t){return{player:u.getInstance(e),textDraw:t===C.TEXT_DRAW?t:S.getInstance(t,!1)}}}),pm=Object.freeze({onPlayerClickGlobal:um,onPlayerClickPlayer:mm});function gm(e,t){return(e&t)===t}function Sm(e,t,a){return(e&a)===a&&(t&a)!==a}function ym(e,t){return!!(e&t)}function Im(e,t,a){return(e&a)!==a&&(t&a)===a}export{be as ArtworkEnum,We as BodyPartsEnum,Ke as BoneIdsEnum,Qe as BulletHitTypesEnum,te as CameraCutStylesEnum,Ue as CameraModesEnum,Xe as CarModTypeEnum,ve as ClickSourcesEnum,Oe as ConnectionStatusEnum,se as DamageDeathReasonEnum,D as Dialog,ie as DialogStylesEnum,Z as Dynamic3DTextLabel,zu as Dynamic3DTextLabelEvent,k as DynamicActor,Ku as DynamicActorEvent,R as DynamicArea,hm as DynamicAreaEvent,Ou as DynamicCheckPointEvent,B as DynamicCheckpoint,H as DynamicMapIcon,Pu as DynamicMapIconEvent,v as DynamicObject,rm as DynamicObjectEvent,x as DynamicPickup,Du as DynamicPickupEvent,F as DynamicRaceCP,Hu as DynamicRaceCPEvent,O as ERecordStatus,Dm as E_STREAMER,we as EditResponseTypesEnum,He as FightingStylesEnum,Ze as ForceSyncEnum,L as GameMode,iu as GameText,N as GangZone,mu as GangZoneEvent,P as I18n,C as InvalidEnum,Ge as KeysEnum,w as LimitsEnum,Nm as MapIconStyles,Ve as MapIconStylesEnum,Be as MarkerModesEnum,Lm as MaterialTextSizes,j as Menu,lu as MenuEvent,Fe as NPCPlaybackEnum,nu as NetStats,G as Npc,nn as NpcEvent,Me as ObjectMaterialAlignmmentEnum,ke as ObjectMaterialTextSizeEnum,u as Player,he as PlayerEvent,X as PlayerStateEnum,et as RecordTypesEnum,xe as SelectObjectTypesEnum,re as SpecialActionsEnum,ae as SpectateModesEnum,T as Streamer,Rm as StreamerAreaTypes,bm as StreamerDistances,vm as StreamerItemTypes,wm as StreamerMiscellaneous,Om as StreamerObjectTypes,S as TextDraw,je as TextDrawAlignEnum,pm as TextDrawEvent,$ as TextDrawFontsEnum,f as Vehicle,au as VehicleEvent,ze as VehicleModelInfoEnum,Ye as VehicleParamsEnum,Je as WeaponEnum,$e as WeaponSkillsEnum,qe as WeaponStatesEnum,_ as defineEvent,gm as isHolding,Sm as isPressed,ym as isPressing,Im as isReleased,y as rgba};