@infernus/core 0.11.0-beta.6 → 0.11.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/bundle.d.ts +2 -2
- package/dist/bundle.js +1 -1
- package/dist/bundle.mjs +1 -1
- package/package.json +3 -3
package/dist/bundle.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var ne=require("iconv-lite"),nt=require("pino"),x=require("lodash-unified"),c=require("@infernus/streamer");function it(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(a){if(a!=="default"){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}}),t.default=e,Object.freeze(t)}var m=it(c);const l=nt({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 f{constructor(t,a){this.defaultLocale=t,this.locales=a,this.defaultLocale=x.snakeCase(t),this.locales=f.snakeLocaleKeys(a)}addLocales=t=>{x.merge(this.locales,f.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=x.omit(this.locales,t)};$t=(t,a,n=this.defaultLocale)=>{const i=this.locales[x.snakeCase(n)],r=x.get(this.locales[this.defaultLocale],t),s=x.get(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 _=0;_<a.length&&o.match(d)!==null;_++)o=o.replace(d,a[_])}return o};static isValidate(t){ne.encodingExists(t)||(l.fatal(`[i18n]: unknown charset ${t}`),process.exit(1))}static encodeToBuf(t,a){return f.isValidate(a),[...ne.encode(t,a),0]}static decodeFromBuf(t,a="utf8"){f.isValidate(a);const n=t instanceof Buffer?t:Buffer.from(t);return ne.decode(n,a)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return x.mapKeys(t,(a,n)=>x.snakeCase(n))}}const $=new Map;function me(e){$.set(e,[])}function rt(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function st(e,...t){const{defaultValue:a=!0,name:n,beforeEach:i,afterEach:r}=e,s=$.get(n);if(!s||!s.length)return+a;const o=i?i(...t):{},d=[];let _=-1;const p=()=>{if(_++,_<s.length){try{const S=s[_]({next:p,...o});return S instanceof Promise&&d.push(S),S}catch(S){const g=JSON.stringify(S),P=`executing event [name:${n},index:${_}] error: ${g}.`;l.error(P)}return a}return r&&(d.length?Promise.allSettled(d).then(()=>r(o)):r(o)),a};return rt(p(),a)}function h(e){const{name:t,identifier:a,isNative:n=!0}=e;if($.has(t)){const o=`event [name:${t}] error: already defined.`;throw l.error(o),new Error(o)}me(t);function i(...o){return st(e,...o)}function r(o){const d=$.get(t).push(o)-1;return()=>{const _=$.get(t)||[],p=_.length-1,S=p<d?p:d;for(let g=S;g>=0;g--)if(_[g]===o){_.splice(g,1);break}}}const s=[r,i];return n&&(a&&samp.registerEvent(t,a),samp.on(t,i)),s}const[lt]=h({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[ot]=h({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[dt]=h({name:"OnNpcModeInit"}),[ct]=h({name:"OnNpcModeExit"}),[_t]=h({name:"OnNpcSpawn"}),[ht]=h({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:f.decodeFromBuf(t)}}}),mt=Object.freeze({onConnect:lt,onDisconnect:ot,onModeInit:dt,onModeExit:ct,onSpawn:_t,onClientMessage:ht}),ut=e=>!!samp.callNative("IsValidNickName","s",e),pt=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},St=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),gt=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),yt=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),It=e=>!!samp.callNative("IsValidServerRule","s",e),Pt=e=>!!samp.callNative("RemoveServerRule","s",e),ft=e=>{samp.callNative("AllowAdminTeleport","i",e)},At=()=>!!samp.callNative("IsAdminTeleportAllowed",""),Et=e=>{samp.callNative("AllowInteriorWeapons","i",e)},Tt=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),Ct=()=>!!samp.callNative("AreAllAnimationsEnabled",""),Dt=e=>{samp.callNative("EnableAllAnimations","i",e)},Nt=e=>samp.callNative("GetConsoleVarAsString","sAi",e,64),Lt=e=>samp.callNative("GetConsoleVarAsInt","s",e),Rt=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),bt=()=>samp.callNative("GetWeather",""),vt=e=>samp.callNative("GetServerRuleFlags","s",e),wt=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),Ot=e=>!!samp.callNative("SetModeRestartTime","f",e),Gt=()=>samp.callNativeFloat("GetModeRestartTime",""),Bt=(e,t,a)=>samp.callNative("GameTextForAll","sii",e,t,a),Ft=e=>{samp.callNative("HideGameTextForAll","i",e)},kt=(e,t,a)=>samp.callNative("SendDeathMessage","iii",e,t,a),Mt=()=>samp.callNative("GetMaxPlayers",""),xt=(e,t,a)=>Math.sqrt(e*e+t*t+a*a),Ht=e=>samp.callNative("SetGameModeText","s",e),Vt=e=>samp.callNative("ShowNameTags","i",e),Ut=e=>samp.callNative("ShowPlayerMarkers","i",e),Wt=e=>samp.callNative("SetWorldTime","i",e),Kt=()=>samp.callNative("GetWorldTime",""),Zt=()=>samp.callNative("EnableVehicleFriendlyFire",""),jt=e=>samp.callNative("SetWeather","i",e),Xt=()=>samp.callNativeFloat("GetGravity",""),Yt=e=>samp.callNative("SetGravity","f",e),zt=(e,t,a,n,i)=>samp.callNative("CreateExplosion","fffif",e,t,a,n,i),Jt=e=>samp.callNative("EnableZoneNames","i",e),$t=()=>samp.callNative("UsePlayerPedAnims",""),Qt=()=>samp.callNative("DisableInteriorEnterExits",""),qt=e=>samp.callNative("SetNameTagDrawDistance","f",e),ea=()=>samp.callNative("DisableNameTagLOS",""),ta=e=>samp.callNative("LimitGlobalChatRadius","f",e),aa=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),na=(e,t)=>samp.callNative("ConnectNPC","ss",e,t),ia=()=>samp.callNative("GetServerTickRate",""),ra=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),sa=e=>samp.callNative("EnableStuntBonusForAll","i",e),la=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},oa=()=>!!samp.callNative("ChatTextReplacementToggled",""),da=e=>samp.callNative("GetWeaponSlot","i",e),ca=e=>{const[t]=samp.callNative("GetWeaponName","iSi",e,32);return t},ue=()=>samp.callNative("GetAvailableClasses",""),_a=e=>{if(e<ue()||e>319)return!1;const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[a,n=0,i=0,r=0,s=0,o=0,d=0,_=0,p=0,S=0,g=0,P=0]=t;return{teamId:a,modelId:n,spawn_x:i,spawn_y:r,spawn_z:s,z_angle:o,weapon1:d,weapon1_ammo:_,weapon2:p,weapon2_ammo:S,weapon3:g,weapon3_ammo:P}},ha=(e,t,a,n,i,r,s,o,d,_,p,S,g)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,a,n,i,r,s,o,d,_,p,S,g),ma=e=>samp.callNative("SetTeamCount","i",e),ua=(e,t,a,n,i,r,s,o,d,_,p)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,a,n,i,r,s,o,d,_,p),pa=(e,t,a,n,i,r,s,o,d,_,p,S)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,a,n,i,r,s,o,d,_,p,S),Sa=(e,t,a,n,i,r,s,o,d,_,p,S,g)=>samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,a,n,i,r,s,o,d,_,p,S,g),ga=e=>samp.callNative("SpawnPlayer","i",e),ya=e=>{const[t,a=0,n=0,i=0,r=0,s=0,o=0,d=0,_=0,p=0,S=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:_,weapon2_ammo:p,weapon3:S,weapon3_ammo:g}},Ia=e=>samp.callNative("NetStats_GetConnectedTime","i",e),Pa=e=>samp.callNative("NetStats_MessagesReceived","i",e),fa=e=>samp.callNative("NetStats_BytesReceived","i",e),Aa=e=>samp.callNative("NetStats_MessagesSent","i",e),Ea=e=>samp.callNative("NetStats_BytesSent","i",e),Ta=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),Ca=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),Da=e=>samp.callNative("NetStats_ConnectionStatus","i",e),Na=e=>{const[t]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return t},La=e=>!!samp.callNative("IsPlayerAdmin","i",e),Ra=(e,t)=>samp.callNative("SetPlayerAdmin","ii",e,t),ba=e=>samp.callNative("Kick","i",e),va=e=>samp.callNative("Ban","i",e),wa=e=>{const[t]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return t},Oa=()=>samp.callNative("GetNetworkStats","Si",1024),Ga=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),Ba=e=>samp.callNative("UnBlockIpAddress","s",e),Fa=(e,t)=>{const[a]=samp.callNative("gpci","iAi",e,41);return f.decodeFromBuf(f.getValidStr(a),t)},ka=(e,t,a,n,i)=>samp.callNative("SendClientCheck","iiiii",e,t,a,n,i),Ma=()=>{samp.callNative("ClearBanList","")},xa=e=>!!samp.callNative("IsBanned","s",e),Ha=e=>samp.callNative("GetPlayerRawIp","i",e),Va=e=>{const[t]=samp.callNative("GetPlayerIp","iSi",e,128);return t},Ua=e=>{const[t]=samp.callNative("GetPlayerVersion","iSi",e,24);return t},I=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},Wa=(e,t)=>samp.callNative("TogglePlayerWidescreen","ii",e,t),Ka=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),Za=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),ja=e=>samp.callNative("GetPlayerWeather","i",e),Xa=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}},Ya=e=>samp.callNativeFloat("GetPlayerZAim","i",e),za=e=>{const[t=0,a=0,n=0]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:a,fOffsetZ:n}},Ja=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:a,y:n,z:i}},$a=e=>samp.callNative("GetPlayerDialogID","i",e),Qa=e=>samp.callNative("GetPlayerSpectateID","i",e),qa=e=>samp.callNative("GetPlayerSpectateType","i",e),en=(e,t)=>samp.callNative("SetPlayerGravity","if",e,t),tn=e=>samp.callNativeFloat("GetPlayerGravity","i",e),an=e=>!!samp.callNative("IsPlayerSpawned","i",e),nn=e=>!!samp.callNative("IsPlayerControllable","i",e),rn=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),sn=(e,t)=>samp.callNative("TogglePlayerGhostMode","ii",e,t),ln=e=>!!samp.callNative("GetPlayerGhostMode","i",e),on=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),dn=(e,t)=>samp.callNative("RemovePlayerWeapon","ii",e,t),cn=e=>samp.callNative("HidePlayerDialog","i",e),_n=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),hn=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),mn=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),un=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),pn=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),Sn=(e,t,a,n)=>!!samp.callNative("GameTextForPlayer","isii",e,t,a,n),gn=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),yn=(e,t,a,n)=>samp.callNative("SendDeathMessageToPlayer","iiii",e,t,a,n),In=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),Pn=e=>!!samp.callNative("IsPlayerNPC","i",e),pe=(e,t,a,n)=>samp.callNative("SetPlayerPos","ifff",e,t,a,n),fn=(e,t,a,n)=>samp.callNative("SetPlayerPosFindZ","ifff",e,t,a,n),An=e=>samp.callNative("GetPlayerPos","iFFF",e),En=(e,t)=>samp.callNative("SetPlayerFacingAngle","if",e,t),Tn=e=>{const[t]=samp.callNative("GetPlayerFacingAngle","iF",e);return t},Cn=(e,t,a,n,i)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,a,n,i),Dn=(e,t,a,n)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,a,n),Nn=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),Ln=(e,t)=>samp.callNative("SetPlayerInterior","ii",e,t),Rn=e=>samp.callNative("GetPlayerInterior","i",e),bn=(e,t)=>samp.callNative("SetPlayerHealth","if",e,t),vn=e=>{const[t]=samp.callNative("GetPlayerHealth","iF",e);return t},wn=(e,t)=>samp.callNative("SetPlayerArmour","if",e,t),On=e=>{const[t]=samp.callNative("GetPlayerArmour","iF",e);return t},Gn=(e,t,a)=>samp.callNative("SetPlayerAmmo","iii",e,t,a),Bn=e=>samp.callNative("GetPlayerAmmo","i",e),Fn=e=>samp.callNative("GetPlayerWeaponState","i",e),kn=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Mn=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},xn=e=>samp.callNative("GetPlayerTeam","i",e),Hn=(e,t)=>samp.callNative("SetPlayerScore","ii",e,t),Vn=e=>samp.callNative("GetPlayerScore","i",e),Un=e=>samp.callNative("GetPlayerDrunkLevel","i",e),Wn=(e,t)=>samp.callNative("SetPlayerDrunkLevel","ii",e,t),Kn=(e,t)=>samp.callNative("SetPlayerColor","ii",e,I(t)),Zn=e=>samp.callNative("GetPlayerColor","i",e),jn=(e,t)=>samp.callNative("SetPlayerSkin","ii",e,t),Xn=e=>samp.callNative("GetPlayerSkin","i",e),Yn=(e,t,a)=>samp.callNative("GivePlayerWeapon","iii",e,t,a),zn=e=>samp.callNative("ResetPlayerWeapons","i",e),Jn=(e,t)=>samp.callNative("SetPlayerArmedWeapon","ii",e,t),$n=(e,t)=>samp.callNative("GetPlayerWeaponData","iiII",e,t),Qn=(e,t)=>samp.callNative("GivePlayerMoney","ii",e,t),qn=e=>samp.callNative("ResetPlayerMoney","i",e),ei=e=>samp.callNative("GetPlayerMoney","i",e),ti=e=>samp.callNative("GetPlayerState","i",e),ai=e=>samp.callNative("GetPlayerPing","i",e),ni=e=>samp.callNative("GetPlayerWeapon","i",e),ii=e=>samp.callNative("GetPlayerKeys","iIII",e),ri=(e,t,a)=>samp.callNative("SetPlayerTime","iii",e,t,a),si=e=>samp.callNative("GetPlayerTime","iII",e),li=(e,t)=>samp.callNative("TogglePlayerClock","ii",e,t),oi=(e,t)=>samp.callNative("SetPlayerWeather","ii",e,t),di=e=>samp.callNative("ForceClassSelection","i",e),ci=(e,t)=>samp.callNative("SetPlayerWantedLevel","ii",e,t),_i=e=>samp.callNative("GetPlayerWantedLevel","i",e),hi=(e,t)=>samp.callNative("SetPlayerFightingStyle","ii",e,t),mi=e=>samp.callNative("GetPlayerFightingStyle","i",e),ui=(e,t,a,n)=>samp.callNative("SetPlayerVelocity","ifff",e,t,a,n),pi=e=>samp.callNative("GetPlayerVelocity","iFFF",e),Si=(e,t,a)=>samp.callNative("PlayCrimeReportForPlayer","iii",e,t,a),gi=(e,t,a,n,i,r,s=!1)=>samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,a,n,i,r,s),yi=e=>samp.callNative("StopAudioStreamForPlayer","i",e),Ii=(e,t)=>samp.callNative("SetPlayerShopName","is",e,t),Pi=(e,t,a)=>samp.callNative("SetPlayerSkillLevel","iii",e,t,a),fi=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),Ai=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),Ei=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),Ti=(e,t,a,n,i,r)=>samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,a,n,i,r),Ci=e=>samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e),Di=(e,t,a,n,i)=>samp.callNative("SetPlayerChatBubble","isifi",e,t,I(a),n,i),Ni=(e,t,a)=>samp.callNative("PutPlayerInVehicle","iii",e,t,a),Li=e=>samp.callNative("GetPlayerVehicleID","i",e),Ri=e=>samp.callNative("GetPlayerVehicleSeat","i",e),bi=e=>samp.callNative("RemovePlayerFromVehicle","i",e),vi=(e,t)=>samp.callNative("TogglePlayerControllable","ii",e,t),wi=(e,t,a,n,i)=>samp.callNative("PlayerPlaySound","iifff",e,t,a,n,i),Oi=(e,t,a,n,i,r,s,o,d,_)=>samp.callNative("ApplyAnimation","issfiiiiii",e,t,a,n,i,r,s,o,d,_),Gi=(e,t)=>samp.callNative("ClearAnimations","ii",e,t),Bi=e=>samp.callNative("GetPlayerAnimationIndex","i",e),Fi=e=>samp.callNative("GetPlayerSpecialAction","i",e),ki=(e,t)=>samp.callNative("SetPlayerSpecialAction","ii",e,t),Mi=(e,t)=>samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),xi=(e,t)=>samp.callNative("SetPlayerVirtualWorld","ii",e,t),Hi=e=>samp.callNative("GetPlayerVirtualWorld","i",e),Vi=(e,t)=>samp.callNative("EnableStuntBonusForPlayer","ii",e,t),Ui=e=>samp.callNative("GetPlayerCustomSkin","i",e),Wi=(e,t,a,n,i,r)=>samp.callNative("CreateExplosionForPlayer","ifffif",e,t,a,n,i,r),Ki=(e,t,a)=>samp.callNative("StartRecordingPlayerData","iis",e,t,a),Zi=e=>samp.callNative("StopRecordingPlayerData","i",e),ji=(e,t)=>samp.callNative("TogglePlayerSpectating","ii",e,t),Xi=(e,t,a)=>samp.callNative("PlayerSpectatePlayer","iii",e,t,a),Yi=(e,t,a)=>samp.callNative("PlayerSpectateVehicle","iii",e,t,a),Se=e=>!!samp.callNative("IsPlayerConnected","i",e),zi=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),Ji=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),$i=(e,t,a,n,i)=>samp.callNative("SetPlayerWorldBounds","iffff",e,t,a,n,i),Qi=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),qi=(e,t,a)=>samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,I(a));function er(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",t)}const tr=(e,t,a)=>samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,a),ar=(e,t,a,n)=>samp.callNative("SetPlayerCameraPos","ifff",e,t,a,n),nr=(e,t,a,n,i)=>samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,a,n,i),ir=e=>samp.callNative("SetCameraBehindPlayer","i",e),rr=e=>samp.callNative("GetPlayerCameraPos","iFFF",e),sr=e=>samp.callNative("GetPlayerCameraFrontVector","iFFF",e),lr=e=>samp.callNative("GetPlayerCameraMode","i",e),or=(e,t)=>samp.callNative("EnablePlayerCameraTarget","ii",e,t),dr=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),cr=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),_r=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),hr=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),mr=(e,t,a,n,i,r,s,o,d)=>samp.callNative("InterpolateCameraPos","iffffffii",e,t,a,n,i,r,s,o,d),ur=(e,t,a,n,i,r,s,o,d)=>samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,a,n,i,r,s,o,d),pr=e=>!!samp.callNative("IsPlayerCuffed","i",e),Sr=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),gr=(e,t)=>samp.callNative("StartRecordingPlayback","is",e,t),yr=()=>samp.callNative("StopRecordingPlayback",""),Ir=()=>samp.callNative("PauseRecordingPlayback",""),Pr=()=>samp.callNative("ResumeRecordingPlayback",""),fr=e=>samp.callNative("GetActorSkin","i",e),Ar=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),Er=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}},Tr=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}},Cr=(e,t,a,n,i,r,s,o,d=-2,_=-2)=>samp.callNative("SetVehicleSpawnInfo","iiFFFFiiii",e,t,a,n,i,r,s,o,d,_),Dr=e=>{const[t=0,a=0]=samp.callNative("GetVehicleColor","i",e);return{color1:t,color2:a}},Nr=e=>samp.callNative("GetVehiclePaintjob","i",e),Lr=e=>samp.callNative("GetVehicleInterior","i",e),Rr=e=>{const[t]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return t},br=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),vr=e=>samp.callNative("GetVehicleRespawnDelay","i",e),wr=e=>samp.callNative("GetVehicleCab","i",e),Or=e=>samp.callNative("GetVehicleOccupiedTick","i",e),Gr=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),Br=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),Fr=e=>!!samp.callNative("IsVehicleOccupied","i",e),kr=e=>samp.callNative("GetVehicleRespawnTick","i",e),Mr=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),xr=e=>!!samp.callNative("IsVehicleDead","i",e),Hr=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),Vr=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),Ur=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),Wr=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),Kr=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),Zr=e=>samp.callNative("GetVehicleModelCount","i",e),jr=e=>samp.callNative("GetVehicleLastDriver","i",e),Xr=e=>samp.callNative("GetVehicleDriver","i",e),Yr=()=>samp.callNative("GetVehicleModelsUsed",""),zr=e=>samp.callNative("GetVehicleSirenState","i",e),Jr=e=>samp.callNative("GetVehicleLandingGearState","i",e),$r=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),Qr=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),qr=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0,o=0,d=0,_=0]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:a,rightZ:n,upX:i,upY:r,upZ:s,atX:o,atY:d,atZ:_}},ge=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,a,n,i]}},es=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),ts=(e,t,a,n,i,r,s,o,d)=>samp.callNative("CreateVehicle","iffffiiii",e,t,a,n,i,I(r),I(s),o,d),as=e=>samp.callNative("DestroyVehicle","i",e),ns=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),is=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]}},rs=(e,t,a,n)=>samp.callNative("SetVehiclePos","ifff",e,t,a,n),ss=e=>{const[t]=samp.callNative("GetVehicleZAngle","iF",e);return t},ls=e=>samp.callNative("GetVehicleRotationQuat","iFFFF",e),os=(e,t,a,n)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,a,n),ds=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),cs=(e,t,a,n)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,a,n),_s=()=>samp.callNative("ManualVehicleEngineAndLights",""),hs=(e,t,a,n,i,r,s,o)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,a,n,i,r,s,o),ms=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),us=e=>samp.callNative("GetVehicleParamsSirenState","i",e),ps=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,a,n,i),Ss=e=>{const t=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},gs=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,a,n,i),ys=e=>{const t=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},Is=e=>samp.callNative("SetVehicleToRespawn","i",e),Ps=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),fs=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),As=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),Es=(e,t,a)=>samp.callNative("ChangeVehicleColor","iii",e,I(t),I(a)),Ts=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),Cs=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),Ds=e=>{const[t]=samp.callNative("GetVehicleHealth","iF",e);return t},Ns=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),Ls=e=>samp.callNative("DetachTrailerFromVehicle","i",e),Rs=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),bs=e=>samp.callNative("GetVehicleTrailer","i",e),vs=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),ws=e=>samp.callNative("GetVehicleModel","i",e),Os=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),Gs=e=>samp.callNative("GetVehicleComponentType","i",e),Bs=e=>samp.callNative("RepairVehicle","i",e),Fs=e=>samp.callNative("GetVehicleVelocity","iFFF",e),ks=(e,t,a,n)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,a,n),Ms=(e,t,a,n)=>samp.callNative("SetVehicleAngularVelocity","ifff",e,t,a,n),xs=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]}},Hs=(e,t,a,n,i)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,a,n,i),Vs=(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]}},Us=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),Ws=e=>samp.callNative("GetVehicleVirtualWorld","i",e),ye=e=>!!samp.callNative("IsValidVehicle","i",e),Ks=(e,t,a,n,i,r,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,a,n,i,r,s),Zs=(e,t,a,n,i,r,s,o,d)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,a,n,i,r,s,o,d),js=e=>!!samp.callNative("ShowVehicle","i",e),Xs=e=>!!samp.callNative("HideVehicle","i",e),Ys=e=>!!samp.callNative("IsVehicleHidden","i",e),zs=e=>!!samp.callNative("IsPlayerInModShop","i",e),Js=e=>samp.callNative("GetPlayerSirenState","i",e),$s=e=>samp.callNative("GetPlayerLandingGearState","i",e),Qs=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),qs=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),el=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),tl=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:a,fZ:n,fSize:i}},al=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),nl=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}},il=e=>!!samp.callNative("IsMenuDisabled","i",e),rl=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),sl=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),ll=e=>{const[t=0,a=0]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:a}},ol=e=>{const[t=0,a=0]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:a}},dl=(e,t)=>{const[a]=samp.callNative("GetMenuColumnHeader","iiSi",e,t,31);return a},cl=(e,t,a)=>{const[n]=samp.callNative("GetMenuItem","iiiSi",e,t,a,31);return n},_l=(e,t,a,n,i,r)=>samp.callNative("CreateMenu","siffff",e,t,a,n,i,r),hl=e=>samp.callNative("DestroyMenu","i",e),ml=(e,t,a)=>samp.callNative("AddMenuItem","iis",e,t,a),ul=(e,t,a)=>samp.callNative("SetMenuColumnHeader","iis",e,t,a),pl=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),Sl=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),gl=e=>!!samp.callNative("IsValidMenu","i",e),yl=e=>samp.callNative("DisableMenu","i",e),Il=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),Pl=e=>samp.callNative("GetPlayerMenu","i",e),fl=e=>!!samp.callNative("IsValidGangZone","i",e),Al=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),El=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),Tl=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),Cl=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),Dl=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),Nl=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:a,fMaxX:n,fMaxY:i}},Ll=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},Rl=(e,t,a,n)=>samp.callNative("GangZoneCreate","ffff",e,t,a,n),bl=e=>samp.callNative("GangZoneDestroy","i",e),vl=(e,t,a)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,I(a)),wl=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,I(t)),Ol=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),Gl=e=>samp.callNative("GangZoneHideForAll","i",e),Bl=(e,t,a)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,I(a)),Fl=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,I(t)),kl=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),Ml=e=>samp.callNative("GangZoneStopFlashForAll","i",e),xl=(e,t,a,n,i)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,a,n,i),Hl=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),Vl=(e,t,a)=>samp.callNative("PlayerGangZoneShow","iii",e,t,a),Ul=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),Wl=(e,t,a)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,a),Kl=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),Zl=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),jl=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),Xl=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),Yl=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),zl=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),Jl=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),$l=(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}},Ql=(e,t,a)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,a)},ql=e=>!!samp.callNative("IsValidTextDraw","i",e),eo=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),to=e=>{const[t]=samp.callNative("TextDrawGetString","iSi",e,1024);return t},ao=(e,t,a)=>{samp.callNative("TextDrawSetPos","iff",e,t,a)},no=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:a}},io=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:a}},ro=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:a}},so=e=>samp.callNative("TextDrawGetColor","i",e),lo=e=>samp.callNative("TextDrawGetBoxColor","i",e),oo=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),co=e=>samp.callNative("TextDrawGetShadow","i",e),_o=e=>samp.callNative("TextDrawGetOutline","i",e),ho=e=>samp.callNative("TextDrawGetFont","i",e),mo=e=>!!samp.callNative("TextDrawIsBox","i",e),uo=e=>!!samp.callNative("TextDrawIsProportional","i",e),po=e=>!!samp.callNative("TextDrawIsSelectable","i",e),So=e=>samp.callNative("TextDrawGetAlignment","i",e),go=e=>samp.callNative("TextDrawGetPreviewModel","i",e),yo=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:a,fRotZ:n,fZoom:i}},Io=e=>{const[t,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:a}},Po=(e,t,a)=>{samp.callNative("TextDrawSetStringForPlayer","iis",e,t,a)},fo=(e,t,a)=>samp.callNative("TextDrawCreate","ffs",e,t,a),Ao=e=>samp.callNative("TextDrawDestroy","i",e),Eo=(e,t,a)=>samp.callNative("TextDrawLetterSize","iff",e,t,a),To=(e,t,a)=>samp.callNative("TextDrawTextSize","iff",e,t,a),Co=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),Do=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,I(t)),No=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),Lo=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,I(t)),Ro=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),bo=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),vo=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,I(t)),wo=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),Oo=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),Go=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),Bo=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),Fo=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),ko=e=>samp.callNative("TextDrawShowForAll","i",e),Mo=e=>samp.callNative("TextDrawHideForAll","i",e),xo=(e,t)=>samp.callNative("TextDrawSetString","is",e,t),Ho=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),Vo=(e,t,a,n,i=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,a,n,i)},Uo=(e,t,a)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,I(t),I(a)),Wo=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,I(t))},Ko=e=>{samp.callNative("CancelSelectTextDraw","i",e)},Zo=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),jo=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),Xo=(e,t)=>samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024),Yo=(e,t,a,n)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,a,n)},zo=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:a,fY:n}},Jo=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:a,fY:n}},$o=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:a,fY:n}},Qo=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),qo=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),ed=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),td=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),ad=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),nd=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),id=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),rd=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),sd=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),ld=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),od=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),dd=(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}},cd=(e,t)=>{const[a,n]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:a,color2:n}},_d=(e,t,a,n)=>samp.callNative("CreatePlayerTextDraw","iffs",e,t,a,n),hd=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},md=(e,t,a,n)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,a,n),ud=(e,t,a,n)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,a,n),pd=(e,t,a)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,a),Sd=(e,t,a)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,I(a)),gd=(e,t,a)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,a),yd=(e,t,a)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,I(a)),Id=(e,t,a)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,a),Pd=(e,t,a)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,a),fd=(e,t,a)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,I(a)),Ad=(e,t,a)=>samp.callNative("PlayerTextDrawFont","iii",e,t,a),Ed=(e,t,a)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,a),Td=(e,t,a)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,a),Cd=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),Dd=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),Nd=(e,t,a)=>samp.callNative("PlayerTextDrawSetString","iis",e,t,a),Ld=(e,t,a)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,a),Rd=(e,t,a,n,i,r)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,a,n,i,r),bd=(e,t,a,n)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,a,n),vd=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),wd=e=>!!samp.callNative("BeginObjectSelecting","i",e),Od=e=>!!samp.callNative("EndObjectEditing","i",e),Gd=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),Bd=(e,t,a,n,i)=>samp.callNative("AddSimpleModel","iiiss",e,t,a,n,i),Fd=(e,t,a,n,i,r,s)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,a,n,i,r,s),kd=(e,t)=>samp.callNative("RedirectDownload","is",e,t),Md=e=>{const[t]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return t},xd=e=>{const[t]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return t},Hd=(e,t)=>{const[a=0,n=0,i=0,r=0,s=0,o=0,d=0,_=0,p=0,S=0,g=0,P=0,E=0]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:a,bone:n,fX:i,fY:r,fZ:s,fRotX:o,fRotY:d,fRotZ:_,fScaleX:p,fScaleY:S,fScaleZ:g,materialColor1:P,materialColor2:E}},Vd=(e,t,a,n,i,r,s,o,d,_,p,S,g,P,E)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,a,n,i,r,s,o,d,_,p,S,g,I(P),I(E)),Ud=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),Wd=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),Ie=e=>!!samp.callNative("IsValidCustomModel","i",e),Kd=e=>{if(!Ie(e))return null;const[t,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:a}};var Pe=(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))(Pe||{}),fe=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(fe||{}),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||{}),Ae=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(Ae||{}),Ee=(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))(Ee||{}),T=(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))(T||{}),Te=(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))(Te||{}),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||{}),Ce=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(Ce||{}),De=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(De||{}),O=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(O||{}),Ne=(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))(Ne||{}),Le=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Le||{}),Re=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(Re||{}),be=(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))(be||{}),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||{}),we=(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))(we||{}),ae=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(ae||{}),Y=(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))(Y||{}),Oe=(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))(Oe||{}),Ge=(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))(Ge||{}),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||{}),Q=(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))(Q||{}),Be=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(Be||{}),Fe=(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))(Fe||{}),ke=(e=>(e[e.UNSET=0]="UNSET",e[e.OFF=1]="OFF",e[e.ON=2]="ON",e))(ke||{}),Me=(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))(Me||{}),xe=(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))(xe||{}),He=(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))(He||{}),Ve=(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))(Ve||{}),Ue=(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))(Ue||{}),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||{}),We=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(We||{});class G{constructor(){}static recordStatus;static connectNPC=na;static startRecordingPlayerData(t,a,n){if(t.isRecording)return l.warn("[NpcFunc]: It should be stopped before recording");Ki(t.id,a,n),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)return l.warn("[NpcFunc]: It should be started before stop");Zi(t.id),t.isRecording=!1}static startRecordingPlayback(t,a){if(G.recordStatus>=O.start)return l.warn("[NpcFunc]: The current status cannot be replayed");gr(t,a),G.recordStatus=O.start}static stopRecordingPlayback(){if(G.recordStatus<O.start)return l.warn("[NpcFunc]: The current status cannot be stopped");yr(),G.recordStatus=O.none}static pauseRecordingPlayback(){if(G.recordStatus!==O.start)return l.warn("[NpcFunc]: The current status cannot be paused");Ir(),G.recordStatus=O.pause}static resumeRecordingPlayback(){if(G.recordStatus!==O.pause)return l.warn("[NpcFunc]: The current status cannot be paused");Pr(),G.recordStatus=O.start}}const Zd=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}]]]),jd=e=>{const t=Zd.get(e);return t===void 0?!1:t},Ke=(e,t)=>{const a=jd(e);if(a)return a.find(n=>n.n===t)?.d},U=(e,t)=>{const a=t.replace("-","")==="utf8"?e:f.encodeToBuf(e,t);return[a instanceof Array?"a":"s",a]},Ze=(e,t,a)=>{const n=U(a,e.charset);return samp.callNative("SendClientMessage",`ii${n[0]}`,e.id,I(t),n[1])},Xd=(e,t,a)=>(e.forEach(n=>Ze(n,t,a)),1),je=(e,t,a)=>{const n=U(a,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${n[0]}`,e.id,t,n[1])},Yd=(e,t,a)=>(e.forEach(n=>{je(n,t,a)}),1),zd=(e,t,a)=>{const{charset:n}=e,{style:i,caption:r,info:s,button1:o,button2:d}=a,[_,p]=U(r||"",n),[,S]=U(s||"",n),[,g]=U(o||"",n),[,P]=U(d||"",n);return samp.callNative("ShowPlayerDialog",`iii${_.repeat(4)}`,e.id,t,i,p,S,g,P)},Jd=e=>{const t=samp.callNative("GetPlayerName","iAi",e.id,w.MAX_PLAYER_NAME);return f.decodeFromBuf(f.getValidStr(t),e.charset)},$d=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,f.encodeToBuf(t,e.charset)),Qd=(e,t,a)=>{const n=f.encodeToBuf(t,a);return samp.callNative("BanEx","ia",e,n)},qd=(e,t="utf8")=>{const[a,n]=U(e,t);return samp.callNative("SendRconCommand",a,n)},ec=(e,t,a,n,i,r,s,o,d,_,p,S,g,P,E,b)=>{const M=f.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",M,a,n,i,r,s,o,d,_,p,S,g,P,E,b)},tc=(e,t,a,n,i,r,s,o,d,_,p,S,g,P,E,b)=>{const M=f.encodeToBuf(e,b);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",M,t,a,n,i,r,s,o,d,_,p,S,g,P,E,p.length,S.length,g.length,P.length)},ac=(e,t,a,n)=>{const i=f.encodeToBuf(a,n);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,i)},nc=(e,t)=>{const a=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return f.decodeFromBuf(f.getValidStr(a),t)},ic=(e,t,a,n,i,r,s,o,d,_,p)=>{const S=f.encodeToBuf(n,e),g=f.encodeToBuf(r,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,a,S,i,g,s,o,d,_,p)},rc=(e,t,a)=>{const[n,i,r,s,o,d,_]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),p=f.decodeFromBuf(n,a),S=f.decodeFromBuf(r,a);return{text:p,materialSize:i,fontFace:S,bold:s,fontColor:o,backColor:d,textAlignment:_}},[Xe]=h({name:"OnGameModeInit"}),[Ye]=h({name:"OnGameModeExit"}),[sc]=h({name:"OnIncomingConnection",beforeEach(e,t,a){return{playerId:e,ipAddress:t,port:a}}}),[lc]=h({name:"OnRconCommandI18n",identifier:"ai",beforeEach(e){return{buffer:e,cmd:f.decodeFromBuf(e)}}}),[oc]=h({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,a){return{ip:f.decodeFromBuf(e),password:f.decodeFromBuf(t),success:!!a,ipBuffer:e,passwordBuffer:t}}}),W=[],z=[],le=e=>{setTimeout(async()=>{try{const t=W.findIndex(n=>n.name===e);if(t===-1)return;const a=W[t];await a.load(),W.splice(t,1),z.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=z.findIndex(n=>n.name===e);if(t===-1)return;const a=z[t];await a.unload(),z.splice(t,1),W.push(a)}catch(t){l.error(`[GameMode]: script ${e} unload fail`),l.warn(new Error(JSON.stringify(t)))}})},dc=e=>{oe(e),le(e)};Xe(({next:e})=>(W.forEach(t=>le(t.name)),e())),Ye(({next:e})=>(z.forEach(t=>oe(t.name)),e()));const cc=function(e,...t){if(W.some(a=>a===e)||z.some(a=>a===e)){l.warn("[GameMode]: script has already been applied");return}e.load=e.load.bind(e,...t),W.push(e)};var _c={use(e,...t){return cc(e,...t),this},loadUseScript:le,reloadUseScript:dc,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):jt(e)},setWorldTime(e){return e<0||e>23?(l.error("[GameMode]: The valid hour value is only 0 to 23"),0):Wt(e)},getWorldTime:Kt,setTeamCount:ma,sendRconCommand:qd,addPlayerClass:ua,addPlayerClassEx:pa,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):zt(e,t,a,n,i)},manualVehicleEngineAndLights:_s,blockIpAddress:Ga,unBlockIpAddress:Ba,getServerTickRate:ia,addSimpleModel(e,t,a,n,i){return this.checkSimpleModel(e,t,a,n,i)?Bd(e,t,a,n,i):0},addSimpleModelTimed(e,t,a,n,i,r,s){return this.checkSimpleModel(e,t,a,n,i,r,s)?Fd(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:Ie,getCustomModePath:Kd,getConsoleVarAsString(e,t="utf8"){const a=Nt(e);return f.decodeFromBuf(f.getValidStr(a),t)},getRestartTime:Gt,setRestartTime:Ot,allowAdminTeleport:ft,isAdminTeleportAllowed:At,allowInteriorWeapons:Et,areInteriorWeaponsAllowed:Tt,areAllAnimationsEnabled:Ct,enableAllAnimations:Dt,enableStuntBonusForAll:sa,enableVehicleFriendlyFire:Zt,enableZoneNames:Jt,disableInteriorEnterExits:Qt,setGameModeText:Ht,getGravity:Xt,setGravity:Yt,showNameTags:Vt,disableNameTagLOS:ea,usePlayerPedAnims:$t,showPlayerMarkers:Ut,limitPlayerMarkerRadius:aa,limitGlobalChatRadius:ta,setNameTagDrawDistance:qt,findModelFileNameFromCRC:Md,findTextureFileNameFromCRC:xd,getWeaponName:ca,setObjectsDefaultCameraCollision:Gd,vectorSize:xt,clearBanList:Ma,isBanned:xa,isValidNickName:ut,allowNickNameCharacter:pt,isNickNameCharacterAllowed:St,addServerRule:gt,setServerRule:yt,isValidServerRule:It,removeServerRule:Pt,getWeaponSlot:da,getAvailableClasses:ue,getPlayerClass:_a,editPlayerClass:ha,toggleChatTextReplacement:la,chatTextReplacementToggled:oa,getConsoleVarAsInt:Lt,getConsoleVarAsBool:Rt,getWeather:bt,getServerRuleFlag:vt,setServerRuleFlags:wt};const L={onInit:Xe,onExit:Ye,onIncomingConnection:sc,onRconCommand:lc,onRconLoginAttempt:oc,..._c},[ze]=h({name:"OnClientCheckResponse",beforeEach(e,t,a,n){return{player:u.getInstance(e),actionId:t,memAddr:a,data:n}}}),[hc,mc]=h({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,a){return{player:e,newLocale:t,oldLocale:a}}}),[uc,pc]=h({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,pc(this,t,a)}get locale(){return this._locale}set locale(t){const a=this._locale;this._locale=t,mc(this,t,a)}sendClientMessage(t,a){return Ze(this,t,a)}static sendClientMessageToAll(t,a){Xd(u.getInstances(),t,a)}sendMessageToPlayer(t,a){return je(t,this.id,a)}sendMessageToAll(t){return Yd(u.getInstances(),this.id,t)}isNpc(){return Pn(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return Un(this.id)}setDrunkLevel(t){if(t<0||t>5e4)return l.error(new Error("[Player]: player's drunk level ranges from 0 to 50000"));Wn(this.id,t)}allowTeleport(t){hn(this.id,t)}isTeleportAllowed(){return mn(this.id)}enableCameraTarget(t){or(this.id,t)}enableStuntBonus(t){Vi(this.id,t)}getInterior(){return Rn(this.id)}setInterior(t){return Ln(this.id,t)}showNameTag(t,a){tr(this.id,t.id,a)}setColor(t){Kn(this.id,t)}getColor(){return Zn(this.id)}setMarker(t,a){qi(this.id,t.id,a)}getMarker(t){return er(this.id,t.id)}resetMoney(){return qn(this.id)}getMoney(){return ei(this.id)}giveMoney(t){return Qn(this.id,t)}resetWeapons(){return zn(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):ga(this.id)}setHealth(t){return bn(this.id,t)}getHealth(){return vn(this.id)}toggleClock(t){return li(this.id,t)}toggleControllable(t){return vi(this.id,t)}toggleSpectating(t){return ji(this.id,t)}spectatePlayer(t,a=ae.NORMAL){return Xi(this.id,t.id,a)}spectateVehicle(t,a=ae.NORMAL){return Yi(this.id,t.id,a)}forceClassSelection(){di(this.id)}kick(){ba(this.id)}ban(){va(this.id)}banEx(t,a){Qd(this.id,t,a)}isAdmin(){return La(this.id)}isInRangeOfPoint(t,a,n,i){return Cn(this.id,t,a,n,i)}isStreamedIn(t){return Nn(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:jn(this.id,t)}getSkin(){return Xn(this.id)}isInAnyVehicle(){return Ji(this.id)}getSpecialAction(){return Fi(this.id)}setSpecialAction(t){return ki(this.id,t)}setScore(t){return Hn(this.id,t)}getScore(){return Vn(this.id)}getPing(){return ai(this.id)||0}setPos(t,a,n){return pe(this.id,t,a,n)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===Y.NONE)return;const[t,a,n]=An(this.id);return{x:t,y:a,z:n}}isSpectating(){return this.getState()===Y.SPECTATING}isWasted(){return this.getState()===Y.WASTED}getState(){return ti(this.id)}getVersion(){return this.isNpc()?"":Ua(this.id)}setVirtualWorld(t){return xi(this.id,t)}getVirtualWorld(){return Hi(this.id)}removeFromVehicle(){return bi(this.id)}setWantedLevel(t){return t<0||t>6?(l.error("[Player]: player's wanted level ranges from 0 to 6"),0):ci(this.id,t)}getWantedLevel(){return _i(this.id)}setFacingAngle(t){return En(this.id,t)}getFacingAngle(){return Tn(this.id)}setWeather(t){if(t<0||t>255){l.warn("[Player]: The valid weather value is only 0 to 255");return}oi(this.id,t)}getWeather(){return ja(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 ri(this.id,t,a)}getTime(){const[t,a]=si(this.id);return{hour:t,minute:a}}removeBuilding(t,a,n,i,r){Ti(this.id,t,a,n,i,r)}setTeam(t){t<0||t>T.NO_TEAM||Mn(this.id,t)}getTeam(){return xn(this.id)}setSkillLevel(t,a){if(a<0||a>999){l.warn("[Player]: The valid skill level is only 0 to 999");return}Pi(this.id,t,a)}getName(){return Jd(this)}setName(t){return $d(this,t)}setVelocity(t,a,n){return ui(this.id,t,a,n)}getVelocity(){const[t,a,n]=pi(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]=ii(this.id);return{keys:t,upDown:a,leftRight:n}}getIp(){return Va(this.id)}getFightingStyle(){return mi(this.id)}setFightingStyle(t){hi(this.id,t)}setArmour(t){return wn(this.id,t)}getArmour(){return On(this.id)}setCameraBehind(){return ir(this.id)}setCameraPos(t,a,n){return ar(this.id,t,a,n)}setCameraLookAt(t,a,n,i){return nr(this.id,t,a,n,i)}getCameraAspectRatio(){return _r(this.id)}getCameraFrontVector(){const[t,a,n]=sr(this.id);return{x:t,y:a,z:n}}getCameraMode(){return lr(this.id)}getCameraPos(){const[t,a,n]=rr(this.id);return{x:t,y:a,z:n}}getCameraTargetPlayer(t){const a=cr(this.id);return t.find(n=>n.id===a)}getCameraTargetVehicle(t){const a=dr(this.id);return t.find(n=>n.id===a)}getCameraZoom(){return hr(this.id)}playAudioStream(t,a=0,n=0,i=0,r=5){let s=!1;return(a!==0||n!==0||i!==0)&&(s=!0),gi(this.id,t,a,n,i,r,s)}stopAudioStream(){yi(this.id)}playSound(t,a=0,n=0,i=0){return wi(this.id,t,a,n,i)}static getMaxPlayers(){return Mt()}playCrimeReport(t,a){return a<3||a>22?(l.warn("[Player]: Available crime ids range from 3 to 22"),0):Si(this.id,t.id,a)}interpolateCameraPos(t,a,n,i,r,s,o,d=te.CUT){mr(this.id,t,a,n,i,r,s,o,d)}interpolateCameraLookAt(t,a,n,i,r,s,o,d=te.CUT){ur(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):Wi(this.id,t,a,n,i,r)}static isConnected(t){return Se(t)}isConnected(){return Se(this.id)}disableRemoteVehicleCollisions(t){return Mi(this.id,t)}getVehicle(t){if(!this.isInAnyVehicle())return;const a=Li(this.id);return t.find(n=>n.id===a)}getVehicleSeat(){return Ri(this.id)}getSurfingVehicle(t){const a=fi(this.id);if(a!==T.VEHICLE_ID)return t.find(n=>n.id===a)}applyAnimation(t,a,n=!1,i=!0,r=!0,s=!1,o=!1){const d=Ke(t,a);if(d===void 0)return l.error("[Player]: Invalid anim library or name");Oi(this.id,t,a,4.1,n,i,r,s,n?0:d,o)}clearAnimations(t=!1){Gi(this.id,t)}getAnimationIndex(){return Bi(this.id)}getAnimationName(){const[t,a]=ra(this.getAnimationIndex());return{animLib:t,animName:a}}setShopName(t){Ii(this.id,t)}setPosFindZ(t,a,n=150){return new Promise(i=>{pe(this.id,t,a,n),setTimeout(()=>i(fn(this.id,t,a,n)))})}setWorldBounds(t,a,n,i){$i(this.id,t,a,n,i)}clearWorldBounds(){return Qi(this.id)}setChatBubble(t,a,n,i){Di(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return Dn(this.id,t,a,n)}getCustomSkin(){return Ui(this.id)}getTargetPlayer(t){const a=kn(this.id);if(a!==T.PLAYER_ID)return t.find(n=>n.id===a)}getLastShotVectors(){const[t,a,n,i,r,s]=Ci(this.id);return{fOriginX:t,fOriginY:a,fOriginZ:n,fHitPosX:i,fHitPosY:r,fHitPosZ:s}}getWeapon(){return ni(this.id)}getWeaponData(t){if(t<0||t>12){l.error("[Player]: weapon slots range from 0 to 12");return}const[a,n]=$n(this.id,t);return{weapons:a,ammo:n}}getWeaponState(){return Fn(this.id)}giveWeapon(t,a){return Yn(this.id,t,a)}setAmmo(t,a){return Gn(this.id,t,a)}getAmmo(){return Bn(this.id)}setArmedWeapon(t){return Jn(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(T.PLAYER_ID,T.PLAYER_ID,se.CONNECT)}sendDeathMessage(t,a){kt(t===T.PLAYER_ID?t:t.id,this.id,a)}sendDeathMessageToPlayer(t,a,n){yn(this.id,t===T.PLAYER_ID?t:t.id,a===T.PLAYER_ID?a:a.id,n)}setSpawnInfo(t,a,n,i,r,s,o,d,_,p,S,g){t<0||t>T.NO_TEAM||a<0||a>311||a==74||d<0||p<0||g<0||Sa(this.id,t,a,n,i,r,s,o,d,_,p,S,g)}redirectDownload(t){return kd(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",_=this.getPing(),p=(_>=200?0:_)+200;let S=null;const g=ze(({player:P,actionId:E,memAddr:b,data:M,next:ee})=>{if(P!==this)return ee();S?(clearTimeout(S),S=null,o(d)):s({actionId:E,memAddr:b,data:M});const at=ee();return g(),at});S=setTimeout(()=>{g(),o(d)},p),ka(this.id,t,a,n,i)}):l.error(`[Player]: sendClientCheck valid types are ${r.toString()}`)}selectTextDraw(t){Wo(this.id,t)}cancelSelectTextDraw(){Ko(this.id)}beginObjectSelecting(){wd(this.id)}endObjectEditing(){Od(this.id)}getSurfingObject(t){const a=Ai(this.id);if(a!==T.OBJECT_ID)return t.get(a)}getSurfingPlayerObject(t){const a=Ei(this.id);if(a!==T.OBJECT_ID)return t.get(a)}isAttachedObjectSlotUsed(t){return Wd(this.id,t)}editAttachedObject(t){return vd(this.id,t)}setAttachedObject(t,a,n,i=0,r=0,s=0,o=0,d=0,_=0,p=1,S=1,g=1,P=0,E=0){return this.isAttachedObjectSlotUsed(t)?0:Vd(this.id,t,a,n,i,r,s,o,d,_,p,S,g,P,E)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?Ud(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 Wa(this.id,t)}isWidescreenToggled(){return Ka(this.id)}getSpawnInfo(){return ya(this.id)}getSkillLevel(t){return Za(this.id,t)}isCheckpointActive(){return el(this.id)}getCheckpoint(){return tl(this.id)}isRaceCheckpointActive(){return al(this.id)}getRaceCheckpoint(){return nl(this.id)}getWorldBounds(){Xa(this.id)}isInModShop(){return zs(this.id)}getSirenState(){return Js(this.id)}getLandingGearState(){return $s(this.id)}getHydraReactorAngle(){return Qs(this.id)}getTrainSpeed(){return qs(this.id)}getZAim(){return Ya(this.id)}getSurfingOffsets(){return za(this.id)}getRotationQuat(){return Ja(this.id)}getDialogID(){return $a(this.id)}getSpectateID(){return Qa(this.id)}getSpectateType(){return qa(this.id)}getRawIp(){return Ha(this.id)}setGravity(t){return en(this.id,t)}getGravity(){return tn(this.id)}setAdmin(t){return Ra(this.id,t)}isSpawned(){return an(this.id)}isControllable(){return nn(this.id)}isCameraTargetEnabled(){return rn(this.id)}toggleGhostMode(t){return sn(this.id,t)}getGhostMode(){return ln(this.id)}getBuildingsRemoved(){return on(this.id)}getAttachedObject(t){return Hd(this.id,t)}removeWeapon(t){return dn(this.id,t)}isUsingOfficialClient(){return _n(this.id)}allowWeapons(t){return un(this.id,t)}areWeaponsAllowed(){return pn(this.id)}gpci(t=this.charset){return Fa(this.id,t)}isCuffed(){return pr(this.id)}isInDriveByMode(){return Sr(this.id)}static getInstance(t){return this.players.get(t)}static getInstances(){return[...this.players.values()]}}const[Je]=h({name:"OnDialogResponseI18n",identifier:"iiiiai",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),dialogId:t,response:a,listItem:n,buffer:i}}});Je(({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}),zd(t,this.id,this.dialog)}).then(a=>{const{response:n,listItem:i}=a,r=f.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),cn(t.id)}}const[$e]=h({name:"OnPlayerConnect",beforeEach(e){const t=new u(e);return u.players.set(e,t),D.close(t),{player:t}}}),[Qe]=h({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:u.players.get(e),reason:t}},afterEach({player:e}){u.players.delete(e.id)}}),[qe]=h({name:"OnPlayerUpdate",beforeEach(e){return{player:u.getInstance(e)}}}),[Sc]=h({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const a=u.getInstance(e);return{player:a,text:f.decodeFromBuf(t,a.charset),buffer:t}}}),[gc]=h({name:"OnPlayerEnterExitModShop",beforeEach(e,t,a){return{player:u.getInstance(e),enterExit:!!t,interior:a}}}),[yc]=h({name:"OnPlayerClickMap",beforeEach(e,t,a,n){return{player:u.getInstance(e),fX:t,fY:a,fZ:n}}}),[Ic]=h({name:"OnPlayerClickPlayer",beforeEach(e,t,a){return{player:u.getInstance(e),clickedPlayer:u.getInstance(t),source:a}}}),[Pc]=h({name:"OnPlayerDeath",beforeEach(e,t,a){return{player:u.getInstance(e),killer:u.getInstance(t)||T.PLAYER_ID,reason:a}}}),[fc]=h({name:"OnPlayerGiveDamage",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),damage:u.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),[Ac]=h({name:"OnPlayerKeyStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),newKeys:t,oldKeys:a}}}),[Ec]=h({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:u.getInstance(e),classId:t}}}),[Tc]=h({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:u.getInstance(e)}}}),[Cc]=h({name:"OnPlayerSpawn",beforeEach(e){return{player:u.getInstance(e)}}}),[Dc]=h({name:"OnPlayerStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),newState:t,oldState:a}}}),[Nc]=h({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:u.getInstance(e),forPlayer:u.getInstance(t)}}}),[Lc]=h({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:u.getInstance(e),forPlayer:u.getInstance(t)}}}),[Rc]=h({name:"OnPlayerTakeDamage",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),damage:u.getInstance(t)||T.PLAYER_ID,amount:a,weapon:n,bodyPart:i}}}),[bc]=h({name:"OnPlayerInteriorChange",beforeEach(e,t,a){return{player:u.getInstance(e),newInteriorId:t,oldInteriorId:a}}}),[vc]=h({name:"OnPlayerRequestDownload",beforeEach(e,t,a){return{player:u.getInstance(e),type:t,crc:a}}}),[wc]=h({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:u.getInstance(e),virtualWorld:t}}});let q=null;const[Oc,Gc]=h({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[Bc,Fc]=h({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,a,n){return{player:e,pausedAt:t,now:a,diff:n}}}),[kc,Mc]=h({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,a){return{player:e,newFps:t,oldFps:a}}});$e(({next:e})=>(!q&&u.getInstances().length&&(q=setInterval(()=>{u.getInstances().filter(t=>{const a=t.getState()!==Y.NONE;return!t.isPaused&&!t.isNpc()&&a}).forEach(t=>{Date.now()-t.lastUpdateTick>1e3&&(t.isPaused=!0,Gc(t,t.lastUpdateTick))})},500)),e())),Qe(({next:e})=>(q&&u.getInstances().length<=1&&(clearInterval(q),q=null),e()));function xc(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,Mc(e,i,n)}}qe(({player:e,next:t})=>{if(!e.isNpc()){const a=Date.now();e.isPaused&&(e.isPaused=!1,Fc(e,e.lastUpdateTick,a,a-e.lastUpdateTick)),e.lastUpdateTick=a,xc(e)}return t()});const J=new Map,et=/[^/\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"}},[Hc,Vc]=h({name:"OnCommandReceived",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[Uc,Wc]=h({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[Kc,ce]=h({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,a){return{player:e,command:t,error:a}}}),[Zc]=h({name:"OnPlayerCommandTextI18n",identifier:"iai",beforeEach(e,t){return{player:u.getInstance(e),buffer:t}}});function jc(e){const t=[];let a="";for(let n=0;n<e.length;n++)a+=e[n]+" ",t.push(a.trimEnd());return t.reverse()}Zc(({player:e,buffer:t,next:a})=>{const n=f.decodeFromBuf(t,e.charset).match(et),i=jc(n).find(p=>J.get(p)),r=n.join(" ");if(!i)return ce(e,r,de.NOT_EXIST);const s=Vc(e,r);if(!s)return s;const o=J.get(i),[,d]=o,_=r.replace(i,"").trim().split(" ");return d(e,_)?Wc(e,r)?a():ce(e,r,de.PERFORMED):ce(e,r,de.REJECTED)});const tt={on(e,t){const a=Array.isArray(e)?e:[e],n=a.find(r=>!r.match(et));if(n)return console.log(`error command ${n} format`),()=>{};const i=a.map(r=>{const s=r.replaceAll("/","");if(!J.has(s)){const d=h({name:s,isNative:!1,beforeEach(_,p){return{player:_,subcommand:p}}});J.set(s,d)}const[o]=J.get(s);return o(t)});return()=>{i.forEach(r=>r())}},off(e){(Array.isArray(e)?e:[e]).forEach(t=>{J.has(t)&&me(t)})}},_e=Object.freeze({onConnect:$e,onDisconnect:Qe,onPause:Oc,onResume:Bc,onUpdate:qe,onText:Sc,onEnterExitModShop:gc,onClickMap:yc,onClickPlayer:Ic,onDeath:Pc,onGiveDamage:fc,onKeyStateChange:Ac,onRequestClass:Ec,onRequestSpawn:Tc,onSpawn:Cc,onStateChange:Dc,onStreamIn:Nc,onStreamOut:Lc,onTakeDamage:Rc,onInteriorChange:bc,onRequestDownload:vc,onFinishedDownloading:wc,onCheckResponse:ze,onCommandReceived:Hc,onCommandPerformed:Uc,onCommandError:Kc,onCommandText:tt.on,offCommandText:tt.off,onDialogResponse:Je,onLocaleChange:hc,onCharsetChange:uc,onFpsUpdate:kc}),Xc=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],Yc=[[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],[],[],[],[],[],[],[],[]],zc=(e,t)=>{if(!he(e))return l.error("[vehicleUtils]: Invalid model id"),!1;const a=Yc[e-400];if(a===null)return!1;const n=t-1e3;return Xc.includes(n)||a.includes(n)},he=e=>e>=400&&e<=611,Jc=(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 A{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(A.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:_}=this.sourceInfo;if(!(!t&&!he(a))){if(this.isStatic){if(d===void 0){this._id=Ks(a,n,i,r,s,o[0],o[1]);return}this._id=Zs(a,n,i,r,s,o[0],o[1],d||-1,_||!1)}else this._id=ts(a,n,i,r,s,o[0],o[1],d||-1,_||!1);A.createdCount++,A.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)return l.warn("[Vehicle]: Unable to destroy the vehicle before create");as(this.id),A.createdCount--,A.vehicles.delete(this._id),this._id=-1}addComponent(t){return this.id===-1?0:zc(this.getModel(),t)?fs(this.id,t):(l.warn(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`),0)}removeComponent(t){return this.getComponentInSlot(A.getComponentType(t))===0?(l.warn(`[Vehicle]: component id ${t} does not exist on this vehicle`),0):As(this.id,t)}getComponentInSlot(t){return Os(this.id,t)}linkToInterior(t){return this.id===-1?0:Ps(this.id,t)}setVirtualWorld(t){return this.id===-1?0:Us(this.id,t)}getVirtualWorld(){return this.id===-1?0:Ws(this.id)}repair(){return this.id===-1?0:Bs(this.id)}setPos(t,a,n){return this.id===-1?0:rs(this.id,t,a,n)}getPos(){if(this.id!==-1)return is(this.id)}getHealth(){return this.id===-1?0:Ds(this.id)}setHealth(t){return this.id===-1?0:Cs(this.id,t)}isPlayerIn(t){return this.id===-1?!1:zi(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."),Ni(t.id,this.id,a))}getZAngle(){return this.id===-1?0:ss(this.id)}setZAngle(t){return this.id===-1?0:ds(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)?vs(this.id,t):(l.error("[Vehicle]: number plates only allow letters and numbers"),0)}changeColors(t,a){return this.id===-1?0:Es(this.id,t,a)}setVelocity(t,a,n){return this.id===-1?!1:ks(this.id,t,a,n)}getVelocity(){if(this.id===-1)return;const[t,a,n]=Fs(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:Ms(this.id,t,a,n)}getDamageStatus(){if(this.id!==-1)return xs(this.id)}updateDamageStatus(t,a,n,i){this.id!==-1&&Hs(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return os(this.id,t,a,n)}getModel(){return ws(this.id)}static getModelInfo(t,a){return Vs(t,a)}getModelInfo(t){if(this.id!==-1)return A.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,a,n,i]=ls(this.id);return{w:t,x:a,y:n,z:i}}setRespawn(){return this.id===-1?0:Is(this.id)}isStreamedIn(t){return this.id===-1?!1:ns(this.id,t.id)}setParamsCarDoors(t,a,n,i){return this.id===-1?0:ps(this.id,t,a,n,i)}setParamsCarWindows(t,a,n,i){return this.id===-1?0:gs(this.id,t,a,n,i)}getParamsCarDoors(){if(this.id!==-1)return Ss(this.id)}getParamsCarWindows(){if(this.id!==-1)return ys(this.id)}setParamsEx(t,a,n,i,r,s,o){return this.id===-1?0:hs(this.id,t,a,n,i,r,s,o)}getParamsEx(){if(this.id===-1)return;const[t,a,n,i,r,s,o]=ms(this.id);return{engine:t,lights:a,alarm:n,doors:i,bonnet:r,boot:s,objective:o}}getParamsSirenState(){return this.id===-1?-2:us(this.id)}setParamsForPlayer(t,a,n){return this.id===-1?0:cs(this.id,t.id,a,n)}isTrailerAttached(){return this.id===-1?!1:Rs(this.id)}changePaintjob(t){return this.id===-1||!Jc(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),Ts(this.id,t),1)}attachTrailer(t){return this.id===-1?0:Ns(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&Ls(this.id)}getTrailer(){if(this.id!==-1)return A.getInstances().find(t=>t.id===bs(this.id))}isValid(){return ye(this.id)}getMatrix(){if(this.id!==-1)return qr(this.id)}getTrainSpeed(){return this.id===-1?0:Qr(this.id)}getHydraReactorAngle(){return this.id===-1?0:$r(this.id)}getLandingGearState(){return this.id===-1?0:Jr(this.id)}getSirenState(){return this.id===-1?0:zr(this.id)}getDriver(t){if(this.id!==-1)return t.get(Xr(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(jr(this.id))}isSirenEnabled(){return Kr(this.id)}toggleSirenEnabled(t){return this.id===-1?0:Ur(this.id,t)}setParamsSirenState(t){return this.id===-1?0:Wr(this.id,t)}isDead(){return this.id===-1?!0:xr(this.id)}setDead(t){return this.id===-1?!1:Hr(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:Vr(this.id,t)}getRespawnTick(){return this.id===-1?0:kr(this.id)}setRespawnTick(t){return this.id===-1?!1:Mr(this.id,t)}isOccupied(){return this.id===-1?!1:Fr(this.id)}hasBeenOccupied(){return this.id===-1?!1:Br(this.id)}getOccupiedTick(){return this.id===-1?0:Or(this.id)}setOccupiedTick(t){return this.id===-1?0:Gr(this.id,t)}getCab(){return this.id===-1?0:wr(this.id)}getRespawnDelay(){return this.id===-1?0:vr(this.id)}setRespawnDelay(t){return this.id===-1?0:br(this.id,t)}getNumberPlate(){return this.id===-1?"":Rr(this.id)}getInterior(){return this.id===-1?0:Lr(this.id)}getPaintjob(){return this.id===-1?-1:Nr(this.id)}getColors(){if(this.id!==-1)return Dr(this.id)}setSpawnInfo(t,a,n,i,r,s,o,d=-2,_=-2,p=!1){return this.id===-1||!p&&!he(t)?0:Cr(this.id,t,a,n,i,r,I(s),I(o),d,_)}getSpawnInfo(){if(this.id!==-1)return Tr(this.id)}getRandomColorPair(){if(this.id!==-1)return ge(this.getModel())}show(){return this.id===-1?!1:js(this.id)}hide(){return this.id===-1?!1:Xs(this.id)}isHidden(){return this.id===-1?!1:Ys(this.id)}static getRandomColorPair(t){return ge(t)}static getComponentType=Gs;static colorIndexToColor=es;static isValid(t){return ye(t)}static getModelsUsed=Yr;static getModelCount=Zr;static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}}L.onExit(({next:e})=>(A.getInstances().forEach(t=>t.destroy()),e()));const[$c]=h({name:"OnVehicleDamageStatusUpdate",beforeEach(e,t){return{vehicle:A.getInstance(e),player:u.getInstance(t)}}}),[Qc]=h({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:A.getInstance(e),killer:u.getInstance(t)}}}),[qc]=h({name:"OnVehicleMod",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:A.getInstance(t),componentId:a}}}),[e_]=h({name:"OnVehiclePaintjob",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:A.getInstance(t),paintjobId:a}}}),[t_]=h({name:"OnVehicleRespray",beforeEach(e,t,a,n){return{player:u.getInstance(e),vehicle:A.getInstance(t),color:[a,n]}}}),[a_]=h({name:"OnVehicleSirenStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:A.getInstance(t),state:!!a}}}),[n_]=h({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:A.getInstance(e)}}}),[i_]=h({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:A.getInstance(e),forPlayer:u.getInstance(t)}}}),[r_]=h({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:A.getInstance(e),forPlayer:u.getInstance(t)}}}),[s_]=h({name:"OnPlayerEnterVehicle",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:A.getInstance(t),isPassenger:!!a}}}),[l_]=h({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:u.getInstance(e),vehicle:A.getInstance(t)}}}),[o_]=h({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:A.getInstance(e),seatId:t}}}),[d_]=h({name:"OnNpcExitVehicle"}),[c_]=h({name:"OnTrailerUpdate",beforeEach(e,t){return{player:u.getInstance(e),vehicle:A.getInstance(t)}}}),__=Object.freeze({onDamageStatusUpdate:$c,onDeath:Qc,onMod:qc,onPaintjob:e_,onRespray:t_,onSirenStateChange:a_,onSpawn:n_,onStreamIn:i_,onStreamOut:r_,onPlayerEnter:s_,onPlayerExit:l_,onNpcEnter:o_,onNpcExit:d_,onTrailerUpdate:c_});class h_{constructor(){}static getNetworkStats(){return Oa()}static getPlayerNetworkStats(t){return wa(t.id)}static getBytesReceived(t){return fa(t.id)}static getBytesSent(t){return Ea(t.id)}static getConnectionStatus(t){return Da(t.id)}static getConnectedTime(t){return Ia(t.id)}static getIpPort(t){return Na(t.id)}static getMessagesReceived(t){return Pa(t.id)}static getMessagesRecvPerSecond(t){return Ta(t.id)}static getMessagesSent(t){return Aa(t.id)}static getPacketLossPercent(t){return Ca(t.id)}}class m_{_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){Ft(t)}static has(t,a){return gn(t.id,a)}forAll(){Bt(this.text,this.time,this.style)}forPlayer(t){Sn(t.id,this.text,this.time,this.style)}hideForPlayer(t){return In(t.id,this.style)}}class X{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"):X.getInstances().length===w.MAX_MENUS?l.error("[Menu]: The maximum number of menus allowed to be created has been reached 128"):(this._id=_l(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),X.menus.set(this._id,this),this)}destroy(){return this._id===-1?l.error("[Menu]: Cannot destroy before create"):(hl(this.id),X.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"):(ml(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"):(ul(this.id,t,a),this)}disable(){return this._id===-1?l.error("[Menu]: Cannot disable menu before create"):(yl(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");Il(this.id,t)}isValid(){return gl(this.id)}showForPlayer(t){return this._id===-1?l.error("[Menu]: Cannot show menu before create"):pl(this.id,t.id)}hideForPlayer(t){return this._id===-1?l.error("[Menu]: Cannot hide menu before create"):Sl(this.id,t.id)}isDisabled(){return this._id===-1?!1:il(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:rl(this.id,t)}getItems(t){return this._id===-1?0:sl(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:ll(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:ol(this.id)}getColumnHeader(t){return this._id===-1?l.error("[Menu]: Cannot get column header before create"):dl(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 cl(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===Pl(t.id))}}L.onExit(({next:e})=>(X.getInstances().forEach(t=>t.destroy()),e()));const[u_]=h({name:"OnPlayerExitedMenu",beforeEach(e){return{player:u.getInstance(e)}}}),[p_]=h({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const a=u.getInstance(e),n=X.getInstanceByPlayer(a);return{player:a,menu:n,row:t}}}),S_=Object.freeze({onPlayerExited:u_,onPlayerSelectedRow:p_});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=xl(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=Rl(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?(Hl(t.id,this.id),N.playerGangZones.delete(this.id)):(bl(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):(wl(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)Vl(n.id,this.id,I(t));else if(a)vl(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):(Gl(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)Ul(a.id,this.id);else if(t)Ol(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):(Fl(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)Wl(n.id,this.id,I(a));else if(t)Bl(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):(Ml(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)Kl(a.id,this.id);else if(t)kl(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?Zl(t.id,this.id):fl(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?jl(a.id,this.id):Al(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Xl(a.id,this.id):El(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?Yl(a.id,this.id):Tl(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?zl(a.id,this.id):Cl(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Jl(a.id,this.id):Dl(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?$l(t.id,this.id):Nl(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?Ql(a.id,this.id,t):Ll(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[g_]=h({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[y_]=h({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[I_]=h({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!1)}}}),[P_]=h({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!1)}}}),[f_]=h({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[A_]=h({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!1)}}}),E_=Object.freeze({onPlayerEnterGlobal:g_,onPlayerLeaveGlobal:y_,onPlayerEnterPlayer:I_,onPlayerLeavePlayer:P_,onPlayerClickGlobal:f_,onPlayerClickPlayer:A_}),[K]=h({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:u.getInstance(a)}}}),[Z]=h({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:u.getInstance(a)}}}),[T_]=h({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class C{constructor(){}static getTickRate=c.Streamer_GetTickRate;static setTickRate=c.Streamer_SetTickRate;static getPlayerTickRate(t){return c.Streamer_GetPlayerTickRate(t.id)}static setPlayerTickRate(t,a=50){return c.Streamer_SetPlayerTickRate(t.id,a)}static toggleChunkStream=c.Streamer_ToggleChunkStream;static isToggleChunkStream=c.Streamer_IsToggleChunkStream;static getChunkTickRate(t,a=-1){return a instanceof u?c.Streamer_GetChunkTickRate(t,a.id):c.Streamer_GetChunkTickRate(t,a)}static setChunkTickRate(t,a,n=-1){return n instanceof u?c.Streamer_SetChunkTickRate(t,a,n.id):c.Streamer_SetChunkTickRate(t,a,n)}static getChunkSize=c.Streamer_GetChunkSize;static setChunkSize=c.Streamer_SetChunkSize;static getMaxItems=c.Streamer_GetMaxItems;static setMaxItems=c.Streamer_SetMaxItems;static getVisibleItems(t,a=-1){return a instanceof u?c.Streamer_GetVisibleItems(t,a.id):c.Streamer_GetVisibleItems(t,a)}static setVisibleItems(t,a,n=-1){return n instanceof u?c.Streamer_SetVisibleItems(t,a,n.id):c.Streamer_SetVisibleItems(t,a,n)}static getRadiusMultiplier(t,a=-1){return a instanceof u?c.Streamer_GetRadiusMultiplier(t,a.id):c.Streamer_GetRadiusMultiplier(t,a)}static setRadiusMultiplier(t,a,n=-1){return n instanceof u?c.Streamer_SetRadiusMultiplier(t,n.id):c.Streamer_SetRadiusMultiplier(t,a,n)}static getTypePriority=c.Streamer_GetTypePriority;static setTypePriority=c.Streamer_SetTypePriority;static getCellDistance=c.Streamer_GetCellDistance;static setCellDistance=c.Streamer_SetCellDistance;static getCellSize=c.Streamer_GetCellSize;static setCellSize=c.Streamer_SetCellSize;static toggleItemStatic=c.Streamer_ToggleItemStatic;static isToggleItemStatic=c.Streamer_IsToggleItemStatic;static toggleItemInvAreas=c.Streamer_ToggleItemInvAreas;static isToggleItemInvAreas=c.Streamer_IsToggleItemInvAreas;static toggleItemCallbacks=c.Streamer_ToggleItemCallbacks;static isToggleItemCallbacks=c.Streamer_IsToggleItemCallbacks;static toggleErrorCallback=c.Streamer_ToggleErrorCallback;static isToggleErrorCallback=c.Streamer_IsToggleErrorCallback;static amxUnloadDestroyItems=c.Streamer_AmxUnloadDestroyItems;static processActiveItems=c.Streamer_ProcessActiveItems;static toggleIdleUpdate(t,a){return c.Streamer_ToggleIdleUpdate(t.id,a)}static isToggleIdleUpdate(t){return c.Streamer_IsToggleIdleUpdate(t.id)}static toggleCameraUpdate(t,a){return c.Streamer_ToggleCameraUpdate(t.id,a)}static isToggleCameraUpdate(t){return c.Streamer_IsToggleCameraUpdate(t.id)}static toggleItemUpdate(t,a,n){return c.Streamer_ToggleItemUpdate(t.id,a,n)}static isToggleItemUpdate(t,a){return c.Streamer_IsToggleItemUpdate(t.id,a)}static getLastUpdateTime(){return c.Streamer_GetLastUpdateTime()}static update(t,a=-1){return c.Streamer_Update(t.id,a)}static updateEx(t,a,n,i,r,s,o,d,_){return c.Streamer_UpdateEx(t.id,a,n,i,r,s,o,d,_)}static getDistanceToItem=c.Streamer_GetDistanceToItem;static toggleItem(t,a,n,i){return c.Streamer_ToggleItem(t.id,a,n,i)}static isToggleItem(t,a,n){return c.Streamer_IsToggleItem(t.id,a,n)}static toggleAllItems(t,a,n,i=[-1]){return c.Streamer_ToggleAllItems(t.id,a,n,i)}static getItemInternalID(t,a,n){return c.Streamer_GetItemInternalID(t.id,a,n)}static getItemStreamerID(t,a,n){return c.Streamer_GetItemStreamerID(t.id,a,n)}static isItemVisible(t,a,n){return c.Streamer_IsItemVisible(t.id,a,n)}static destroyAllVisibleItems(t,a,n=1){return c.Streamer_DestroyAllVisibleItems(t.id,a,n)}static countVisibleItems(t,a,n=1){return c.Streamer_CountVisibleItems(t.id,a,n)}static destroyAllItems=c.Streamer_DestroyAllItems;static countItems=c.Streamer_CountItems;static getNearbyItems=c.Streamer_GetNearbyItems;static getAllVisibleItems(t,a,n){c.Streamer_GetAllVisibleItems(t.id,a,n)}static getItemPos=c.Streamer_GetItemPos;static setItemPos=c.Streamer_SetItemPos;static getItemOffset=c.Streamer_GetItemOffset;static setItemOffset=c.Streamer_SetItemOffset;static getFloatData=c.Streamer_GetFloatData;static setFloatData=c.Streamer_SetFloatData;static getIntData=c.Streamer_GetIntData;static setIntData=c.Streamer_SetIntData;static getArrayData=c.Streamer_GetArrayData;static setArrayData=c.Streamer_SetArrayData;static isInArrayData=c.Streamer_IsInArrayData;static appendArrayData=c.Streamer_AppendArrayData;static removeArrayData=c.Streamer_RemoveArrayData;static getArrayDataLength=c.Streamer_GetArrayDataLength;static getUpperBound=c.Streamer_GetUpperBound;static onPluginError=T_}class V{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:_,z:p,type:S,color:g,extended:P}=this.sourceInfo;return S<0||S>63?l.error("[StreamerMapIcon]: Invalid map icon type"):(t??=c.MapIconStyles.LOCAL,a??=c.StreamerDistances.MAP_ICON_SD,o??=0,P?(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=c.CreateDynamicMapIconEx(d,_,p,S,I(g),t,a,n,i,r,s,o),V.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=c.CreateDynamicMapIcon(d,_,p,S,I(g),n,i,r,a,t,s,o),V.mapIcons.set(this._id,this),this))}destroy(){return this.id===-1?l.warn("[StreamerMapIcon]: Unable to destroy the map icon before create"):(c.DestroyDynamicMapIcon(this.id),V.mapIcons.delete(this._id),this._id=-1,this)}isValid(){return c.IsValidDynamicMapIcon(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerMapIcon]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(c.StreamerItemTypes.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(c.StreamerItemTypes.MAP_ICON,this.id)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}}L.onExit(({next:e})=>(V.getInstances().forEach(t=>t.destroy()),e()));const[C_,D_]=h({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[N_,L_]=h({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.MAP_ICON?D_(a,V.getInstance(t)):n()),Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.MAP_ICON?L_(a,V.getInstance(t)):n());const R_=Object.freeze({onStreamIn:C_,onStreamOut:N_});class H{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:_,y:p,z:S,extended:g}=this.sourceInfo;return o<0||o>22?l.error("[StreamerPickup]: Invalid pickup type"):(t??=m.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=m.CreateDynamicPickupEx(d,o,_,p,S,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=m.CreateDynamicPickup(d,o,_,p,S,a,n,i,t,r,s)),H.pickups.set(this._id,this),this)}destroy(){return this.id===-1?l.warn("[StreamerPickup]: Unable to destroy the pickup before create"):(m.DestroyDynamicPickup(this.id),H.pickups.delete(this.id),this._id=-1,this)}isValid(){return m.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerPickup]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(m.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(m.StreamerItemTypes.PICKUP,this.id)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}}L.onExit(({next:e})=>(H.getInstances().forEach(t=>t.destroy()),e()));const[b_,v_]=h({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[w_,O_]=h({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.PICKUP?v_(a,H.getInstance(t)):n()),Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.PICKUP?O_(a,H.getInstance(t)):n());const[G_]=h({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:H.getInstance(t)}}}),B_=Object.freeze({onPlayerPickUp:G_,onStreamIn:b_,onStreamOut:w_});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:_,z:p,extended:S}=this.sourceInfo;return o<0?l.error("[StreamerCheckpoint]: Invalid checkpoint size"):(t??=c.StreamerDistances.CP_SD,s??=0,S?(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=c.CreateDynamicCPEx(d,_,p,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=c.CreateDynamicCP(d,_,p,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"):(c.DestroyDynamicCP(this.id),B.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return c.IsValidDynamicCP(this.id)}togglePlayer(t,a){return this.id===-1?l.warn("[StreamerCheckpoint]: Unable to toggle the player before create"):(c.TogglePlayerDynamicCP(t.id,this.id,a),this)}static togglePlayerAll(t,a){return c.TogglePlayerAllDynamicCPs(t.id,a)}isPlayerIn(t){return this.id===-1?!1:c.IsPlayerInDynamicCP(t.id,this.id)}static getPlayerVisible(t){return B.checkpoints.get(c.GetPlayerVisibleDynamicCP(t.id))}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerCheckpoint]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(c.StreamerItemTypes.CP,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(c.StreamerItemTypes.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[F_,k_]=h({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[M_,x_]=h({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.CP?k_(a,B.getInstance(t)):n()),Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.CP?x_(a,B.getInstance(t)):n());const[H_]=h({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:B.getInstance(t)}}}),[V_]=h({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:B.getInstance(t)}}}),U_=Object.freeze({onPlayerEnter:H_,onPlayerLeave:V_,onStreamIn:F_,onStreamOut:M_});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:_,y:p,z:S,nextX:g,nextY:P,nextZ:E,extended:b}=this.sourceInfo;return o<0||o>8?l.error("[StreamerRaceCP]: Invalid type"):d<0?l.error("[StreamerRaceCP]: Invalid size"):(t??=c.StreamerDistances.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=c.CreateDynamicRaceCPEx(o,_,p,S,g,P,E,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=c.CreateDynamicRaceCP(o,_,p,S,g,P,E,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"):(c.DestroyDynamicCP(this.id),F.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return c.IsValidDynamicCP(this.id)}togglePlayer(t,a){return this.id===-1?l.warn("[StreamerRaceCP]: Unable to toggle the player before create"):(c.TogglePlayerDynamicRaceCP(t.id,this.id,a),this)}static togglePlayerAll(t,a){return c.TogglePlayerAllDynamicRaceCPs(t.id,a)}isPlayerIn(t){return this.id===-1?!1:c.IsPlayerInDynamicRaceCP(t.id,this.id)}static getPlayerVisible(t){return F.checkpoints.get(c.GetPlayerVisibleDynamicRaceCP(t.id))}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerRaceCP]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(c.StreamerItemTypes.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(c.StreamerItemTypes.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[W_,K_]=h({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Z_,j_]=h({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.RACE_CP?K_(a,F.getInstance(t)):n()),Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.RACE_CP?j_(a,F.getInstance(t)):n());const[X_]=h({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:F.getInstance(t)}}}),[Y_]=h({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:F.getInstance(t)}}}),z_=Object.freeze({onPlayerEnter:X_,onPlayerLeave:Y_,onStreamIn:W_,onStreamOut:Z_});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:_,z:p,r:S,invulnerable:g,health:P,extended:E}=this.sourceInfo;return t??=m.StreamerDistances.ACTOR_SD,s??=0,E?(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=m.CreateDynamicActorEx(o,d,_,p,S,g,P,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=m.CreateDynamicActor(o,d,_,p,S,g,P,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"):(m.DestroyDynamicActor(this.id),k.actors.delete(this.id),this._id=-1,this)}isValid(){return m.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:m.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){return this.id===-1?l.warn("[StreamerActor]: Unable to get virtual world before create"):m.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){return this.id===-1?l.warn("[StreamerActor]: Unable to set virtual world before create"):m.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=Ke(t,a);return o===void 0?l.error("[StreamerActor]: Invalid anim library or name"):m.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"):m.ClearDynamicActorAnimations(this.id)}getFacingAngle(){return this.id===-1?l.warn("[StreamerActor]: Unable to get facing angle before create"):m.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){return this.id===-1?l.warn("[StreamerActor]: Unable to set facing angle before create"):m.SetDynamicActorFacingAngle(this.id,t)}getPos(){return this.id===-1?l.warn("[StreamerActor]: Unable to get pos before create"):m.GetDynamicActorPos(this.id)}setPos(t,a,n){return this.id===-1?l.warn("[StreamerActor]: Unable to set pos before create"):m.SetDynamicActorPos(this.id,t,a,n)}getHealth(){return this.id===-1?l.warn("[StreamerActor]: Unable to get health before create"):m.GetDynamicActorHealth(this.id)}setHealth(t){return this.id===-1?l.warn("[StreamerActor]: Unable to set health before create"):m.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:m.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){return this.id===-1?l.warn("[StreamerActor]: Unable to set invulnerable before create"):m.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t){if(this.id===-1)return;const a=m.GetPlayerTargetDynamicActor(t.id);return k.actors.get(a)}getPlayerCameraTarget(t){if(this.id===-1)return;const a=m.GetPlayerCameraTargetDynActor(t.id);return k.actors.get(a)}getSkin(){return this.id===-1?l.warn("[StreamerActor]: Unable to get skin before create"):fr(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:Ar(this.id,t)}getSpawnInfo(){return this.id===-1?l.warn("[StreamerActor]: Unable to get spawn info before create"):Er(this.id)}getAnimation(){return this.id===-1?l.warn("[StreamerActor]: Unable to get animation before create"):m.GetDynamicActorAnimation(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerActor]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(m.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(m.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[J_]=h({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:k.getInstance(e),forPlayer:u.getInstance(t)}}}),[$_]=h({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:k.getInstance(e),forPlayer:u.getInstance(t)}}}),[Q_]=h({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}}}),q_=Object.freeze({onStreamIn:J_,onStreamOut:$_,onPlayerGiveDamage:Q_});class j{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:_}=this.sourceInfo;const{charset:p,text:S,color:g,drawDistance:P,x:E,y:b,z:M,extended:ee}=this.sourceInfo;return t??=T.PLAYER_ID,a??=T.VEHICLE_ID,i??=c.StreamerDistances.TEXT_3D_LABEL_SD,n??=!1,_??=0,ee?(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=tc(S,I(g),E,b,M,P,t,a,n,i,r,s,o,d,_,p||"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=ec(p||"utf8",S,I(g),E,b,M,P,t,a,n,r,s,o,i,d,_)),j.texts.set(this.id,this),this}destroy(){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to destroy before create"):(c.DestroyDynamic3DTextLabel(this.id),j.texts.delete(this.id),this._id=-1,this)}isValid(){return c.IsValidDynamic3DTextLabel(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"):nc(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,ac(this.id,I(t),a,n||"utf8"))}toggleCallbacks(t=!0){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(c.StreamerItemTypes.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(c.StreamerItemTypes.TEXT_3D_LABEL,this.id)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}}L.onExit(({next:e})=>(j.getInstances().forEach(t=>t.destroy()),e()));const[eh,th]=h({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[ah,nh]=h({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.TEXT_3D_LABEL?th(a,j.getInstance(t)):n()),Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.TEXT_3D_LABEL?nh(a,j.getInstance(t)):n());const ih=Object.freeze({onStreamIn:eh,onStreamOut:ah});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:_,y:p,z:S,rx:g,ry:P,rz:E,extended:b}=this.sourceInfo;return t??=m.StreamerDistances.OBJECT_SD,a??=m.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=m.CreateDynamicObjectEx(d,_,p,S,g,P,E,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=m.CreateDynamicObject(d,_,p,S,g,P,E,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"):(m.DestroyDynamicObject(this.id),v.objects.delete(this.id),this._id=-1,this)}isValid(){return m.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){return this.id===-1?l.warn("[StreamerObject]: Cannot get position before create"):m.GetDynamicObjectPos(this.id)}setPos(t,a,n){return this.id===-1?l.warn("[StreamerObject]: Cannot set position before create"):m.SetDynamicObjectPos(this.id,t,a,n)}getRot(){return this.id===-1?l.warn("[StreamerObject]: Cannot get rotation before create"):m.GetDynamicObjectRot(this.id)}setRot(t,a,n){return this.id===-1?l.warn("[StreamerObject]: Cannot set rotation before create"):m.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(),m.MoveDynamicObject(this.id,t,a,n,i,r,s,o))}stop(){return this.id===-1?l.warn("[StreamerObject]: Cannot stop moving before create"):m.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:m.IsDynamicObjectMoving(this.id)}attachCamera(t){return this.id===-1||t.id===-1?l.warn("[StreamerObject]: Cannot attachCamera before both are created"):m.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"):m.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"):m.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"):m.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(),m.EditDynamicObject(t.id,this.id))}isMaterialUsed(t){return this.id===-1?!1:m.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:m.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,a,n){return this.id===-1?l.warn("[StreamerObject]: Unable to get material before create"):m.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"):m.SetDynamicObjectMaterial(this.id,t,a,n,i,I(r))}isMaterialTextUsed(t){return this.id===-1?!1:m.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?m.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){return this.id===-1?l.warn("[StreamerObject]: Unable to get material text before create"):rc(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,a,n,i=m.MaterialTextSizes.SIZE_256x128,r="Arial",s=24,o=1,d="#fff",_="#000",p=0){return this.id===-1?l.warn("[StreamerObject]: Unable to set material text before create"):(this.sourceInfo.charset=t,ic(t||"utf8",this.id,a,n,i,r,s,o,I(d),I(_),p))}getPlayerCameraTarget(t){const a=m.GetPlayerCameraTargetDynObject(t.id);if(a!==T.OBJECT_ID)return v.objects.get(a)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerObject]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(m.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(m.StreamerItemTypes.OBJECT,this.id)}setNoCameraCollision(){return m.SetDynamicObjectNoCameraCol(this.id)}getNoCameraCollision(){return m.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[rh,sh]=h({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[lh,oh]=h({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.OBJECT?sh(a,v.getInstance(t)):n()),Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.OBJECT?oh(a,v.getInstance(t)):n());const[dh]=h({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:v.getInstance(e)}}}),[ch]=h({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}}}),[_h]=h({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}}}),[hh]=h({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}}}),[mh]=h({name:"OnPlayerEditAttachedObject",beforeEach(e,t,a,n,i,r,s,o,d,_,p,S,g,P){return{player:u.getInstance(e),response:t,index:a,modelId:n,boneId:i,fOffsetX:r,fOffsetY:s,fOffsetZ:o,fRotX:d,fRotY:_,fRotZ:p,fScaleX:S,fScaleY:g,fScaleZ:P}}}),uh=Object.freeze({onMoved:dh,onPlayerEdit:ch,onPlayerSelect:_h,onPlayerShoot:hh,onPlayerEditAttached:mh,onStreamIn:rh,onStreamOut:lh});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=m.CreateDynamicCircleEx(s,o,d,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:o,minZ:d,maxX:_,maxY:p,maxZ:S}=this.sourceInfo;this._id=m.CreateDynamicCuboidEx(s,o,d,_,p,S,t,a,n)}else if(i==="cylinder"){const{x:s,y:o,minZ:d,maxZ:_,size:p}=this.sourceInfo;if(p<0)return l.error("[StreamerArea]: Invalid cylinder extend size");this._id=m.CreateDynamicCylinderEx(s,o,d,_,p,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=m.CreateDynamicPolygonEx(s,o,d,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:o,maxX:d,maxY:_}=this.sourceInfo;this._id=m.CreateDynamicRectangleEx(s,o,d,_,t,a,n)}else{const{x:s,y:o,z:d,size:_}=this.sourceInfo;if(_<0)return l.error("[StreamerArea]: Invalid sphere extended size");this._id=m.CreateDynamicSphereEx(s,o,d,_,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=m.CreateDynamicCircle(s,o,d,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:o,minZ:d,maxX:_,maxY:p,maxZ:S}=this.sourceInfo;this._id=m.CreateDynamicCuboid(s,o,d,_,p,S,t,a,n)}else if(i==="cylinder"){const{x:s,y:o,minZ:d,maxZ:_,size:p}=this.sourceInfo;if(p<0)return l.error("[StreamerArea]: Invalid cylinder size");this._id=m.CreateDynamicCylinder(s,o,d,_,p,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=m.CreateDynamicPolygon(s,o,d,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:o,maxX:d,maxY:_}=this.sourceInfo;this._id=m.CreateDynamicRectangle(s,o,d,_,t,a,n)}else{const{x:s,y:o,z:d,size:_}=this.sourceInfo;if(_<0)return l.error("[StreamerArea]: Invalid sphere size");this._id=m.CreateDynamicSphere(s,o,d,_,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"):(m.DestroyDynamicArea(this.id),R.areas.delete(this.id),this._id=-1,this)}isValid(){return this.id===-1?!1:m.IsValidDynamicArea(this.id)}getType(){return this.id!==-1?l.warn("[StreamerArea]: Unable to get type before create"):m.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)return l.warn("[StreamerArea]: Unable to get polygon points before create");if(this.type==="polygon")return m.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 m.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,a=!1){return this.id===-1?!1:m.IsPlayerInDynamicArea(t.id,this.id,a)}static isPlayerInAny(t,a=!1){return m.IsPlayerInAnyDynamicArea(t.id,a)}isAnyPlayerIn(t=!1){return this.id===-1?!1:m.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return m.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t){return R.getPlayerAreasNumber(t)?m.GetPlayerDynamicAreas(t.id).map(a=>R.areas.get(a)):[]}static getPlayerAreasNumber(t){return m.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,a,n){return this.id===-1?!1:m.IsPointInDynamicArea(this.id,t,a,n)}static isPointInAny(t,a,n){return m.IsPointInAnyDynamicArea(t,a,n)}isLineIn(t,a,n,i,r,s){return this.id===-1?!1:m.IsLineInDynamicArea(this.id,t,a,n,i,r,s)}static isLineInAny(t,a,n,i,r,s){return m.IsLineInAnyDynamicArea(t,a,n,i,r,s)}static getForPoint(t,a,n){return R.getNumberForPoint(t,a,n)?m.GetDynamicAreasForPoint(t,a,n).map(i=>R.getInstance(i)):[]}static getNumberForPoint(t,a,n){return m.GetNumberDynamicAreasForPoint(t,a,n)}static getForLine(t,a,n,i,r,s){return R.getNumberForLine(t,a,n,i,r,s)?m.GetDynamicAreasForLine(t,a,n,i,r,s).map(o=>R.areas.get(o)):[]}static getNumberForLine(t,a,n,i,r,s){return m.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"):m.AttachDynamicAreaToObject(this.id,t.id,m.StreamerObjectTypes.DYNAMIC,T.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"):m.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"):m.AttachDynamicAreaToVehicle(this.id,t.id,a,n,i)}toggleSpectateMode(t){return this.id===-1?l.warn("[StreamerArea]: Unable to toggle specate mode before create"):m.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:m.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerArea]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(m.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(m.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[ph,Sh]=h({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[gh,yh]=h({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.AREA?Sh(a,R.getInstance(t)):n()),Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.AREA?yh(a,R.getInstance(t)):n());const[Ih]=h({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:R.getInstance(t)}}}),[Ph]=h({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:R.getInstance(t)}}}),fh=Object.freeze({onStreamIn:ph,onStreamOut:gh,onPlayerEnter:Ih,onPlayerLeave:Ph});class y{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(y.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=_d(i.id,t,a,n);const r=_e.onDisconnect(({player:s,next:o})=>{const d=o();return s===i&&(this.destroy(),r()),d});y.playerTextDraws.set(this.id,this)}else{if(y.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=fo(t,a,n),y.globalTextDraws.set(this.id,this)}return this}destroy(){if(this.id===-1)return y.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(hd(t.id,this.id),y.playerTextDraws.delete(this.id)):(Ao(this.id),y.globalTextDraws.delete(this.id)),this._id=-1,this}setFont(t){if(this.id===-1)return y.beforeCreateWarn("set font"),this;const{player:a}=this.sourceInfo;return a?Ad(a.id,this.id,t):wo(this.id,t),this}setColor(t){if(this.id===-1)return y.beforeCreateWarn("set color"),this;const{player:a}=this.sourceInfo;return a?Sd(a.id,this.id,t):Do(this.id,t),this}setBoxColors(t){if(this.id===-1)return y.beforeCreateWarn("set box color"),this;const{player:a}=this.sourceInfo;return a?yd(a.id,this.id,t):Lo(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return y.beforeCreateWarn("set background color"),this;const{player:a}=this.sourceInfo;return a?fd(a.id,this.id,t):vo(this.id,t),this}setAlignment(t){if(this.id===-1)return y.beforeCreateWarn("set alignment"),this;const{player:a}=this.sourceInfo;return a?pd(a.id,this.id,t):Co(this.id,t),this}setLetterSize(t,a){if(this.id===-1)return y.beforeCreateWarn("set letter size"),this;const{player:n}=this.sourceInfo;return n?md(n.id,this.id,t,a):Eo(this.id,t,a),this}setOutline(t){if(this.id===-1)return y.beforeCreateWarn("set outline model"),this;if(t<0)return l.warn("[TextDraw]: Invalid outline value"),this;const{player:a}=this.sourceInfo;return a?Pd(a.id,this.id,t):bo(this.id,t),this}setPreviewModel(t){if(this.id===-1)return y.beforeCreateWarn("set preview model"),this;this.setFont(Q.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?Ld(a.id,this.id,t):Ho(this.id,t),this}setPreviewRot(t,a,n,i=1){if(this.id===-1)return y.beforeCreateWarn("set preview rot"),this;this.setFont(Q.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?Rd(r.id,this.id,t,a,n,i):Vo(this.id,t,a,n,i),this}setPreviewVehColors(t,a){if(this.id===-1)return y.beforeCreateWarn("set preview veh col"),this;this.setFont(Q.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?bd(n.id,this.id,t,a):Uo(this.id,t,a),this}setProportional(t=!0){if(this.id===-1)return y.beforeCreateWarn("set Proportional"),this;const{player:a}=this.sourceInfo;return a?Ed(a.id,this.id,t):Oo(this.id,t),this}setSelectable(t){if(this.id===-1)return y.beforeCreateWarn("set Selectable"),this;const{player:a}=this.sourceInfo;return a?Td(a.id,this.id,t):Go(this.id,t),this}setShadow(t){if(this.id===-1)return y.beforeCreateWarn("set shadow"),this;if(t<0)return l.warn("[TextDraw]: Invalid shadow value"),this;const{player:a}=this.sourceInfo;return a?Id(a.id,this.id,t):Ro(this.id,t),this}setString(t,a){if(this.id===-1)return y.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?Nd(n.id,this.id,t):a?Po(this.id,a.id,t):xo(this.id,t),this}setTextSize(t,a){if(this.id===-1)return y.beforeCreateWarn("set TextSize"),this;const{player:n}=this.sourceInfo;return n?ud(n.id,this.id,t,a):To(this.id,t,a),this}useBox(t){if(this.id===-1)return y.beforeCreateWarn("set TextSize"),this;const{player:a}=this.sourceInfo;return a?gd(a.id,this.id,t):No(this.id,t),this}static beforeCreateWarn(t){l.warn(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return y.beforeCreateWarn("show"),this;const a=this.sourceInfo.player;if(a)Cd(a.id,this.id);else if(t)Bo(t.id,this.id);else return l.warn("[TextDraw]: invalid player for show"),this;return this}hide(t){if(this.id===-1)return y.beforeCreateWarn("hide"),this;const a=this.sourceInfo.player;if(a)Dd(a.id,this.id);else if(t)Fo(t.id,this.id);else return l.warn("[TextDraw]: invalid player for hide"),this;return this}showAll(){return this.id===-1?(y.beforeCreateWarn("show"),this):this.sourceInfo.player?(l.warn("[TextDraw]: player's textdraw should not be show for all."),this):(ko(this.id),this)}hideAll(){return this.id===-1?(y.beforeCreateWarn("hideAll"),this):this.sourceInfo.player?(l.warn("[TextDraw]: player's textdraw should not be hide for all."),this):(Mo(this.id),this)}isValid(){const t=this.sourceInfo.player;return t?Zo(t.id,this.id):ql(this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const{player:a}=this.sourceInfo;return a?jo(a.id,this.id):t?eo(t.id,this.id):!1}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?Xo(t.id,this.id):to(this.id)}setPos(t,a){if(this.id===-1)return y.beforeCreateWarn("set position"),this;const n=this.sourceInfo.player;return n?Yo(n.id,this.id,t,a):ao(this.id,t,a),this}getLetterSize(){if(this.id===-1)return y.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?zo(t.id,this.id):no(this.id)}getTextSize(){if(this.id===-1)return y.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?Jo(t.id,this.id):io(this.id)}getPos(){if(this.id===-1)return y.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?$o(t.id,this.id):ro(this.id)}getColor(){if(this.id===-1)return y.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?Qo(t.id,this.id):so(this.id)}getBoxColor(){if(this.id===-1)return y.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?qo(t.id,this.id):lo(this.id)}getBackgroundColor(){if(this.id===-1)return y.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?ed(t.id,this.id):oo(this.id)}getShadow(){if(this.id===-1)return y.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?td(t.id,this.id):co(this.id)}getOutline(){if(this.id===-1)return y.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?ad(t.id,this.id):_o(this.id)}getFont(){if(this.id===-1)return y.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?nd(t.id,this.id):ho(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?id(t.id,this.id):mo(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?rd(t.id,this.id):uo(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?sd(t.id,this.id):po(this.id)}getAlignment(){if(this.id===-1)return y.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?ld(t.id,this.id):So(this.id)}getPreviewModel(){if(this.id===-1)return y.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?od(t.id,this.id):go(this.id)}getPreviewRot(){if(this.id===-1)return y.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?dd(t.id,this.id):yo(this.id)}getPreviewVehColors(){if(this.id===-1)return y.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?cd(t.id,this.id):Io(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})=>(y.getInstances(!0).forEach(t=>t.destroy()),y.getInstances(!1).forEach(t=>t.destroy()),e()));const[Ah]=h({name:"OnPlayerClickTextDraw",beforeEach(e,t){return{player:u.getInstance(e),textDraw:t===T.TEXT_DRAW?t:y.getInstance(t,!0)}}}),[Eh]=h({name:"OnPlayerClickPlayerTextDraw",beforeEach(e,t){return{player:u.getInstance(e),textDraw:t===T.TEXT_DRAW?t:y.getInstance(t,!1)}}}),Th=Object.freeze({onPlayerClickGlobal:Ah,onPlayerClickPlayer:Eh});function Ch(e,t){return(e&t)===t}function Dh(e,t,a){return(e&a)===a&&(t&a)!==a}function Nh(e,t){return!!(e&t)}function Lh(e,t,a){return(e&a)!==a&&(t&a)===a}Object.defineProperty(exports,"E_STREAMER",{enumerable:!0,get:function(){return c.E_STREAMER}}),Object.defineProperty(exports,"MapIconStyles",{enumerable:!0,get:function(){return c.MapIconStyles}}),Object.defineProperty(exports,"MaterialTextSizes",{enumerable:!0,get:function(){return c.MaterialTextSizes}}),Object.defineProperty(exports,"StreamerAreaTypes",{enumerable:!0,get:function(){return c.StreamerAreaTypes}}),Object.defineProperty(exports,"StreamerDistances",{enumerable:!0,get:function(){return c.StreamerDistances}}),Object.defineProperty(exports,"StreamerItemTypes",{enumerable:!0,get:function(){return c.StreamerItemTypes}}),Object.defineProperty(exports,"StreamerMiscellaneous",{enumerable:!0,get:function(){return c.StreamerMiscellaneous}}),Object.defineProperty(exports,"StreamerObjectTypes",{enumerable:!0,get:function(){return c.StreamerObjectTypes}}),exports.ArtworkEnum=Pe,exports.BodyPartsEnum=Oe,exports.BoneIdsEnum=Ge,exports.BulletHitTypesEnum=Ve,exports.CameraCutStylesEnum=te,exports.CameraModesEnum=we,exports.CarModTypeEnum=Fe,exports.ClickSourcesEnum=fe,exports.ConnectionStatusEnum=Ee,exports.DamageDeathReasonEnum=se,exports.Dialog=D,exports.DialogStylesEnum=ie,exports.Dynamic3DTextLabel=j,exports.Dynamic3DTextLabelEvent=ih,exports.DynamicActor=k,exports.DynamicActorEvent=q_,exports.DynamicArea=R,exports.DynamicAreaEvent=fh,exports.DynamicCheckPointEvent=U_,exports.DynamicCheckpoint=B,exports.DynamicMapIcon=V,exports.DynamicMapIconEvent=R_,exports.DynamicObject=v,exports.DynamicObjectEvent=uh,exports.DynamicPickup=H,exports.DynamicPickupEvent=B_,exports.DynamicRaceCP=F,exports.DynamicRaceCPEvent=z_,exports.ERecordStatus=O,exports.EditResponseTypesEnum=Ae,exports.FightingStylesEnum=be,exports.GameMode=L,exports.GameText=m_,exports.GangZone=N,exports.GangZoneEvent=E_,exports.I18n=f,exports.InvalidEnum=T,exports.KeysEnum=Te,exports.LimitsEnum=w,exports.MapIconStylesEnum=ve,exports.MarkerModesEnum=Ce,exports.Menu=X,exports.MenuEvent=S_,exports.NPCPlaybackEnum=De,exports.NetStats=h_,exports.Npc=G,exports.NpcEvent=mt,exports.ObjectMaterialAlignmmentEnum=Le,exports.ObjectMaterialTextSizeEnum=Ne,exports.Player=u,exports.PlayerEvent=_e,exports.PlayerStateEnum=Y,exports.RecordTypesEnum=We,exports.SelectObjectTypesEnum=Re,exports.SpecialActionsEnum=re,exports.SpectateModesEnum=ae,exports.Streamer=C,exports.TextDraw=y,exports.TextDrawAlignEnum=Be,exports.TextDrawEvent=Th,exports.TextDrawFontsEnum=Q,exports.Vehicle=A,exports.VehicleEvent=__,exports.VehicleModelInfoEnum=Me,exports.VehicleParamsEnum=ke,exports.WeaponEnum=xe,exports.WeaponSkillsEnum=He,exports.WeaponStatesEnum=Ue,exports.defineEvent=h,exports.isHolding=Ch,exports.isPressed=Dh,exports.isPressing=Nh,exports.isReleased=Lh,exports.rgba=I;
|
|
1
|
+
"use strict";var ne=require("iconv-lite"),nt=require("pino"),x=require("lodash-unified"),c=require("@infernus/streamer");function it(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(a){if(a!=="default"){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}}),t.default=e,Object.freeze(t)}var u=it(c);const l=nt({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 f{constructor(t,a){this.defaultLocale=t,this.locales=a,this.defaultLocale=x.snakeCase(t),this.locales=f.snakeLocaleKeys(a)}addLocales=t=>{x.merge(this.locales,f.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=x.omit(this.locales,t)};$t=(t,a,n=this.defaultLocale)=>{const i=this.locales[x.snakeCase(n)],r=x.get(this.locales[this.defaultLocale],t),s=x.get(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 _=0;_<a.length&&o.match(d)!==null;_++)o=o.replace(d,a[_])}return o};static isValidate(t){ne.encodingExists(t)||(l.fatal(`[i18n]: unknown charset ${t}`),process.exit(1))}static encodeToBuf(t,a){return f.isValidate(a),[...ne.encode(t,a),0]}static decodeFromBuf(t,a="utf8"){f.isValidate(a);const n=t instanceof Buffer?t:Buffer.from(t);return ne.decode(n,a)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return x.mapKeys(t,(a,n)=>x.snakeCase(n))}}const $=new Map;function ue(e){$.set(e,[])}function rt(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function st(e,...t){const{defaultValue:a=!0,name:n,beforeEach:i,afterEach:r}=e,s=$.get(n);if(!s||!s.length)return+a;const o=i?i(...t):{},d=[];let _=-1;const p=()=>{if(_++,_<s.length){try{const S=s[_]({next:p,...o});return S instanceof Promise&&d.push(S),S}catch(S){const g=JSON.stringify(S),P=`executing event [name:${n},index:${_}] error: ${g}.`;l.error(P)}return a}return r&&(d.length?Promise.allSettled(d).then(()=>r(o)):r(o)),a};return rt(p(),a)}function h(e){const{name:t,identifier:a,isNative:n=!0}=e;if($.has(t)){const o=`event [name:${t}] error: already defined.`;throw l.error(o),new Error(o)}ue(t);function i(...o){return st(e,...o)}function r(o){const d=$.get(t).push(o)-1;return()=>{const _=$.get(t)||[],p=_.length-1,S=p<d?p:d;for(let g=S;g>=0;g--)if(_[g]===o){_.splice(g,1);break}}}const s=[r,i];return n&&(a&&samp.registerEvent(t,a),samp.on(t,i)),s}const[lt]=h({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[ot]=h({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[dt]=h({name:"OnNpcModeInit"}),[ct]=h({name:"OnNpcModeExit"}),[_t]=h({name:"OnNpcSpawn"}),[ht]=h({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:f.decodeFromBuf(t)}}}),ut=Object.freeze({onConnect:lt,onDisconnect:ot,onModeInit:dt,onModeExit:ct,onSpawn:_t,onClientMessage:ht}),mt=e=>!!samp.callNative("IsValidNickName","s",e),pt=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},St=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),gt=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),yt=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),It=e=>!!samp.callNative("IsValidServerRule","s",e),Pt=e=>!!samp.callNative("RemoveServerRule","s",e),ft=e=>{samp.callNative("AllowAdminTeleport","i",e)},At=()=>!!samp.callNative("IsAdminTeleportAllowed",""),Et=e=>{samp.callNative("AllowInteriorWeapons","i",e)},Tt=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),Ct=()=>!!samp.callNative("AreAllAnimationsEnabled",""),Dt=e=>{samp.callNative("EnableAllAnimations","i",e)},Nt=e=>{const[t]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return t},Lt=e=>samp.callNative("GetConsoleVarAsInt","s",e),Rt=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),bt=()=>samp.callNative("GetWeather",""),vt=e=>samp.callNative("GetServerRuleFlags","s",e),wt=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),Ot=e=>!!samp.callNative("SetModeRestartTime","f",e),Gt=()=>samp.callNativeFloat("GetModeRestartTime",""),Bt=(e,t,a)=>samp.callNative("GameTextForAll","sii",e,t,a),Ft=e=>{samp.callNative("HideGameTextForAll","i",e)},kt=(e,t,a)=>samp.callNative("SendDeathMessage","iii",e,t,a),Mt=()=>samp.callNative("GetMaxPlayers",""),xt=(e,t,a)=>Math.sqrt(e*e+t*t+a*a),Ht=e=>samp.callNative("SetGameModeText","s",e),Vt=e=>samp.callNative("ShowNameTags","i",e),Ut=e=>samp.callNative("ShowPlayerMarkers","i",e),Wt=e=>samp.callNative("SetWorldTime","i",e),Kt=()=>samp.callNative("GetWorldTime",""),Zt=()=>samp.callNative("EnableVehicleFriendlyFire",""),jt=e=>samp.callNative("SetWeather","i",e),Xt=()=>samp.callNativeFloat("GetGravity",""),Yt=e=>samp.callNative("SetGravity","f",e),zt=(e,t,a,n,i)=>samp.callNative("CreateExplosion","fffif",e,t,a,n,i),Jt=e=>samp.callNative("EnableZoneNames","i",e),$t=()=>samp.callNative("UsePlayerPedAnims",""),Qt=()=>samp.callNative("DisableInteriorEnterExits",""),qt=e=>samp.callNative("SetNameTagDrawDistance","f",e),ea=()=>samp.callNative("DisableNameTagLOS",""),ta=e=>samp.callNative("LimitGlobalChatRadius","f",e),aa=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),na=(e,t)=>samp.callNative("ConnectNPC","ss",e,t),ia=()=>samp.callNative("GetServerTickRate",""),ra=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),sa=e=>samp.callNative("EnableStuntBonusForAll","i",e),la=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},oa=()=>!!samp.callNative("ChatTextReplacementToggled",""),da=e=>samp.callNative("GetWeaponSlot","i",e),ca=e=>{const[t]=samp.callNative("GetWeaponName","iSi",e,32);return t},me=()=>samp.callNative("GetAvailableClasses",""),_a=e=>{if(e<me()||e>319)return!1;const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[a,n=0,i=0,r=0,s=0,o=0,d=0,_=0,p=0,S=0,g=0,P=0]=t;return{teamId:a,modelId:n,spawn_x:i,spawn_y:r,spawn_z:s,z_angle:o,weapon1:d,weapon1_ammo:_,weapon2:p,weapon2_ammo:S,weapon3:g,weapon3_ammo:P}},ha=(e,t,a,n,i,r,s,o,d,_,p,S,g)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,a,n,i,r,s,o,d,_,p,S,g),ua=e=>samp.callNative("SetTeamCount","i",e),ma=(e,t,a,n,i,r,s,o,d,_,p)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,a,n,i,r,s,o,d,_,p),pa=(e,t,a,n,i,r,s,o,d,_,p,S)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,a,n,i,r,s,o,d,_,p,S),Sa=(e,t,a,n,i,r,s,o,d,_,p,S,g)=>samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,a,n,i,r,s,o,d,_,p,S,g),ga=e=>samp.callNative("SpawnPlayer","i",e),ya=e=>{const[t,a=0,n=0,i=0,r=0,s=0,o=0,d=0,_=0,p=0,S=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:_,weapon2_ammo:p,weapon3:S,weapon3_ammo:g}},Ia=e=>samp.callNative("NetStats_GetConnectedTime","i",e),Pa=e=>samp.callNative("NetStats_MessagesReceived","i",e),fa=e=>samp.callNative("NetStats_BytesReceived","i",e),Aa=e=>samp.callNative("NetStats_MessagesSent","i",e),Ea=e=>samp.callNative("NetStats_BytesSent","i",e),Ta=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),Ca=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),Da=e=>samp.callNative("NetStats_ConnectionStatus","i",e),Na=e=>{const[t]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return t},La=e=>!!samp.callNative("IsPlayerAdmin","i",e),Ra=(e,t)=>samp.callNative("SetPlayerAdmin","ii",e,t),ba=e=>samp.callNative("Kick","i",e),va=e=>samp.callNative("Ban","i",e),wa=e=>{const[t]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return t},Oa=()=>samp.callNative("GetNetworkStats","Si",1024),Ga=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),Ba=e=>samp.callNative("UnBlockIpAddress","s",e),Fa=(e,t)=>{const[a]=samp.callNative("gpci","iAi",e,41);return f.decodeFromBuf(f.getValidStr(a),t)},ka=(e,t,a,n,i)=>samp.callNative("SendClientCheck","iiiii",e,t,a,n,i),Ma=()=>{samp.callNative("ClearBanList","")},xa=e=>!!samp.callNative("IsBanned","s",e),Ha=e=>samp.callNative("GetPlayerRawIp","i",e),Va=e=>{const[t]=samp.callNative("GetPlayerIp","iSi",e,128);return t},Ua=e=>{const[t]=samp.callNative("GetPlayerVersion","iSi",e,24);return t},I=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},Wa=(e,t)=>samp.callNative("TogglePlayerWidescreen","ii",e,t),Ka=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),Za=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),ja=e=>samp.callNative("GetPlayerWeather","i",e),Xa=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}},Ya=e=>samp.callNativeFloat("GetPlayerZAim","i",e),za=e=>{const[t=0,a=0,n=0]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:a,fOffsetZ:n}},Ja=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:a,y:n,z:i}},$a=e=>samp.callNative("GetPlayerDialogID","i",e),Qa=e=>samp.callNative("GetPlayerSpectateID","i",e),qa=e=>samp.callNative("GetPlayerSpectateType","i",e),en=(e,t)=>samp.callNative("SetPlayerGravity","if",e,t),tn=e=>samp.callNativeFloat("GetPlayerGravity","i",e),an=e=>!!samp.callNative("IsPlayerSpawned","i",e),nn=e=>!!samp.callNative("IsPlayerControllable","i",e),rn=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),sn=(e,t)=>samp.callNative("TogglePlayerGhostMode","ii",e,t),ln=e=>!!samp.callNative("GetPlayerGhostMode","i",e),on=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),dn=(e,t)=>samp.callNative("RemovePlayerWeapon","ii",e,t),cn=e=>samp.callNative("HidePlayerDialog","i",e),_n=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),hn=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),un=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),mn=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),pn=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),Sn=(e,t,a,n)=>!!samp.callNative("GameTextForPlayer","isii",e,t,a,n),gn=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),yn=(e,t,a,n)=>samp.callNative("SendDeathMessageToPlayer","iiii",e,t,a,n),In=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),Pn=e=>!!samp.callNative("IsPlayerNPC","i",e),pe=(e,t,a,n)=>samp.callNative("SetPlayerPos","ifff",e,t,a,n),fn=(e,t,a,n)=>samp.callNative("SetPlayerPosFindZ","ifff",e,t,a,n),An=e=>samp.callNative("GetPlayerPos","iFFF",e),En=(e,t)=>samp.callNative("SetPlayerFacingAngle","if",e,t),Tn=e=>{const[t]=samp.callNative("GetPlayerFacingAngle","iF",e);return t},Cn=(e,t,a,n,i)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,a,n,i),Dn=(e,t,a,n)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,a,n),Nn=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),Ln=(e,t)=>samp.callNative("SetPlayerInterior","ii",e,t),Rn=e=>samp.callNative("GetPlayerInterior","i",e),bn=(e,t)=>samp.callNative("SetPlayerHealth","if",e,t),vn=e=>{const[t]=samp.callNative("GetPlayerHealth","iF",e);return t},wn=(e,t)=>samp.callNative("SetPlayerArmour","if",e,t),On=e=>{const[t]=samp.callNative("GetPlayerArmour","iF",e);return t},Gn=(e,t,a)=>samp.callNative("SetPlayerAmmo","iii",e,t,a),Bn=e=>samp.callNative("GetPlayerAmmo","i",e),Fn=e=>samp.callNative("GetPlayerWeaponState","i",e),kn=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Mn=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},xn=e=>samp.callNative("GetPlayerTeam","i",e),Hn=(e,t)=>samp.callNative("SetPlayerScore","ii",e,t),Vn=e=>samp.callNative("GetPlayerScore","i",e),Un=e=>samp.callNative("GetPlayerDrunkLevel","i",e),Wn=(e,t)=>samp.callNative("SetPlayerDrunkLevel","ii",e,t),Kn=(e,t)=>samp.callNative("SetPlayerColor","ii",e,I(t)),Zn=e=>samp.callNative("GetPlayerColor","i",e),jn=(e,t)=>samp.callNative("SetPlayerSkin","ii",e,t),Xn=e=>samp.callNative("GetPlayerSkin","i",e),Yn=(e,t,a)=>samp.callNative("GivePlayerWeapon","iii",e,t,a),zn=e=>samp.callNative("ResetPlayerWeapons","i",e),Jn=(e,t)=>samp.callNative("SetPlayerArmedWeapon","ii",e,t),$n=(e,t)=>samp.callNative("GetPlayerWeaponData","iiII",e,t),Qn=(e,t)=>samp.callNative("GivePlayerMoney","ii",e,t),qn=e=>samp.callNative("ResetPlayerMoney","i",e),ei=e=>samp.callNative("GetPlayerMoney","i",e),ti=e=>samp.callNative("GetPlayerState","i",e),ai=e=>samp.callNative("GetPlayerPing","i",e),ni=e=>samp.callNative("GetPlayerWeapon","i",e),ii=e=>samp.callNative("GetPlayerKeys","iIII",e),ri=(e,t,a)=>samp.callNative("SetPlayerTime","iii",e,t,a),si=e=>samp.callNative("GetPlayerTime","iII",e),li=(e,t)=>samp.callNative("TogglePlayerClock","ii",e,t),oi=(e,t)=>samp.callNative("SetPlayerWeather","ii",e,t),di=e=>samp.callNative("ForceClassSelection","i",e),ci=(e,t)=>samp.callNative("SetPlayerWantedLevel","ii",e,t),_i=e=>samp.callNative("GetPlayerWantedLevel","i",e),hi=(e,t)=>samp.callNative("SetPlayerFightingStyle","ii",e,t),ui=e=>samp.callNative("GetPlayerFightingStyle","i",e),mi=(e,t,a,n)=>samp.callNative("SetPlayerVelocity","ifff",e,t,a,n),pi=e=>samp.callNative("GetPlayerVelocity","iFFF",e),Si=(e,t,a)=>samp.callNative("PlayCrimeReportForPlayer","iii",e,t,a),gi=(e,t,a,n,i,r,s=!1)=>samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,a,n,i,r,s),yi=e=>samp.callNative("StopAudioStreamForPlayer","i",e),Ii=(e,t)=>samp.callNative("SetPlayerShopName","is",e,t),Pi=(e,t,a)=>samp.callNative("SetPlayerSkillLevel","iii",e,t,a),fi=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),Ai=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),Ei=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),Ti=(e,t,a,n,i,r)=>samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,a,n,i,r),Ci=e=>samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e),Di=(e,t,a,n,i)=>samp.callNative("SetPlayerChatBubble","isifi",e,t,I(a),n,i),Ni=(e,t,a)=>samp.callNative("PutPlayerInVehicle","iii",e,t,a),Li=e=>samp.callNative("GetPlayerVehicleID","i",e),Ri=e=>samp.callNative("GetPlayerVehicleSeat","i",e),bi=e=>samp.callNative("RemovePlayerFromVehicle","i",e),vi=(e,t)=>samp.callNative("TogglePlayerControllable","ii",e,t),wi=(e,t,a,n,i)=>samp.callNative("PlayerPlaySound","iifff",e,t,a,n,i),Oi=(e,t,a,n,i,r,s,o,d,_)=>samp.callNative("ApplyAnimation","issfiiiiii",e,t,a,n,i,r,s,o,d,_),Gi=(e,t)=>samp.callNative("ClearAnimations","ii",e,t),Bi=e=>samp.callNative("GetPlayerAnimationIndex","i",e),Fi=e=>samp.callNative("GetPlayerSpecialAction","i",e),ki=(e,t)=>samp.callNative("SetPlayerSpecialAction","ii",e,t),Mi=(e,t)=>samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),xi=(e,t)=>samp.callNative("SetPlayerVirtualWorld","ii",e,t),Hi=e=>samp.callNative("GetPlayerVirtualWorld","i",e),Vi=(e,t)=>samp.callNative("EnableStuntBonusForPlayer","ii",e,t),Ui=e=>samp.callNative("GetPlayerCustomSkin","i",e),Wi=(e,t,a,n,i,r)=>samp.callNative("CreateExplosionForPlayer","ifffif",e,t,a,n,i,r),Ki=(e,t,a)=>samp.callNative("StartRecordingPlayerData","iis",e,t,a),Zi=e=>samp.callNative("StopRecordingPlayerData","i",e),ji=(e,t)=>samp.callNative("TogglePlayerSpectating","ii",e,t),Xi=(e,t,a)=>samp.callNative("PlayerSpectatePlayer","iii",e,t,a),Yi=(e,t,a)=>samp.callNative("PlayerSpectateVehicle","iii",e,t,a),Se=e=>!!samp.callNative("IsPlayerConnected","i",e),zi=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),Ji=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),$i=(e,t,a,n,i)=>samp.callNative("SetPlayerWorldBounds","iffff",e,t,a,n,i),Qi=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),qi=(e,t,a)=>samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,I(a));function er(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",t)}const tr=(e,t,a)=>samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,a),ar=(e,t,a,n)=>samp.callNative("SetPlayerCameraPos","ifff",e,t,a,n),nr=(e,t,a,n,i)=>samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,a,n,i),ir=e=>samp.callNative("SetCameraBehindPlayer","i",e),rr=e=>samp.callNative("GetPlayerCameraPos","iFFF",e),sr=e=>samp.callNative("GetPlayerCameraFrontVector","iFFF",e),lr=e=>samp.callNative("GetPlayerCameraMode","i",e),or=(e,t)=>samp.callNative("EnablePlayerCameraTarget","ii",e,t),dr=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),cr=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),_r=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),hr=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),ur=(e,t,a,n,i,r,s,o,d)=>samp.callNative("InterpolateCameraPos","iffffffii",e,t,a,n,i,r,s,o,d),mr=(e,t,a,n,i,r,s,o,d)=>samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,a,n,i,r,s,o,d),pr=e=>!!samp.callNative("IsPlayerCuffed","i",e),Sr=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),gr=(e,t)=>samp.callNative("StartRecordingPlayback","is",e,t),yr=()=>samp.callNative("StopRecordingPlayback",""),Ir=()=>samp.callNative("PauseRecordingPlayback",""),Pr=()=>samp.callNative("ResumeRecordingPlayback",""),fr=e=>samp.callNative("GetActorSkin","i",e),Ar=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),Er=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}},Tr=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}},Cr=(e,t,a,n,i,r,s,o,d=-2,_=-2)=>samp.callNative("SetVehicleSpawnInfo","iiFFFFiiii",e,t,a,n,i,r,s,o,d,_),Dr=e=>{const[t=0,a=0]=samp.callNative("GetVehicleColor","i",e);return{color1:t,color2:a}},Nr=e=>samp.callNative("GetVehiclePaintjob","i",e),Lr=e=>samp.callNative("GetVehicleInterior","i",e),Rr=e=>{const[t]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return t},br=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),vr=e=>samp.callNative("GetVehicleRespawnDelay","i",e),wr=e=>samp.callNative("GetVehicleCab","i",e),Or=e=>samp.callNative("GetVehicleOccupiedTick","i",e),Gr=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),Br=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),Fr=e=>!!samp.callNative("IsVehicleOccupied","i",e),kr=e=>samp.callNative("GetVehicleRespawnTick","i",e),Mr=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),xr=e=>!!samp.callNative("IsVehicleDead","i",e),Hr=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),Vr=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),Ur=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),Wr=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),Kr=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),Zr=e=>samp.callNative("GetVehicleModelCount","i",e),jr=e=>samp.callNative("GetVehicleLastDriver","i",e),Xr=e=>samp.callNative("GetVehicleDriver","i",e),Yr=()=>samp.callNative("GetVehicleModelsUsed",""),zr=e=>samp.callNative("GetVehicleSirenState","i",e),Jr=e=>samp.callNative("GetVehicleLandingGearState","i",e),$r=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),Qr=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),qr=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0,o=0,d=0,_=0]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:a,rightZ:n,upX:i,upY:r,upZ:s,atX:o,atY:d,atZ:_}},ge=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,a,n,i]}},es=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),ts=(e,t,a,n,i,r,s,o,d)=>samp.callNative("CreateVehicle","iffffiiii",e,t,a,n,i,I(r),I(s),o,d),as=e=>samp.callNative("DestroyVehicle","i",e),ns=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),is=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]}},rs=(e,t,a,n)=>samp.callNative("SetVehiclePos","ifff",e,t,a,n),ss=e=>{const[t]=samp.callNative("GetVehicleZAngle","iF",e);return t},ls=e=>samp.callNative("GetVehicleRotationQuat","iFFFF",e),os=(e,t,a,n)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,a,n),ds=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),cs=(e,t,a,n)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,a,n),_s=()=>samp.callNative("ManualVehicleEngineAndLights",""),hs=(e,t,a,n,i,r,s,o)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,a,n,i,r,s,o),us=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),ms=e=>samp.callNative("GetVehicleParamsSirenState","i",e),ps=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,a,n,i),Ss=e=>{const t=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},gs=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,a,n,i),ys=e=>{const t=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},Is=e=>samp.callNative("SetVehicleToRespawn","i",e),Ps=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),fs=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),As=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),Es=(e,t,a)=>samp.callNative("ChangeVehicleColor","iii",e,I(t),I(a)),Ts=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),Cs=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),Ds=e=>{const[t]=samp.callNative("GetVehicleHealth","iF",e);return t},Ns=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),Ls=e=>samp.callNative("DetachTrailerFromVehicle","i",e),Rs=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),bs=e=>samp.callNative("GetVehicleTrailer","i",e),vs=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),ws=e=>samp.callNative("GetVehicleModel","i",e),Os=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),Gs=e=>samp.callNative("GetVehicleComponentType","i",e),Bs=e=>samp.callNative("RepairVehicle","i",e),Fs=e=>samp.callNative("GetVehicleVelocity","iFFF",e),ks=(e,t,a,n)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,a,n),Ms=(e,t,a,n)=>samp.callNative("SetVehicleAngularVelocity","ifff",e,t,a,n),xs=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]}},Hs=(e,t,a,n,i)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,a,n,i),Vs=(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]}},Us=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),Ws=e=>samp.callNative("GetVehicleVirtualWorld","i",e),ye=e=>!!samp.callNative("IsValidVehicle","i",e),Ks=(e,t,a,n,i,r,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,a,n,i,r,s),Zs=(e,t,a,n,i,r,s,o,d)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,a,n,i,r,s,o,d),js=e=>!!samp.callNative("ShowVehicle","i",e),Xs=e=>!!samp.callNative("HideVehicle","i",e),Ys=e=>!!samp.callNative("IsVehicleHidden","i",e),zs=e=>!!samp.callNative("IsPlayerInModShop","i",e),Js=e=>samp.callNative("GetPlayerSirenState","i",e),$s=e=>samp.callNative("GetPlayerLandingGearState","i",e),Qs=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),qs=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),el=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),tl=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:a,fZ:n,fSize:i}},al=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),nl=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}},il=e=>!!samp.callNative("IsMenuDisabled","i",e),rl=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),sl=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),ll=e=>{const[t=0,a=0]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:a}},ol=e=>{const[t=0,a=0]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:a}},dl=(e,t)=>{const[a]=samp.callNative("GetMenuColumnHeader","iiSi",e,t,31);return a},cl=(e,t,a)=>{const[n]=samp.callNative("GetMenuItem","iiiSi",e,t,a,31);return n},_l=(e,t,a,n,i,r)=>samp.callNative("CreateMenu","siffff",e,t,a,n,i,r),hl=e=>samp.callNative("DestroyMenu","i",e),ul=(e,t,a)=>samp.callNative("AddMenuItem","iis",e,t,a),ml=(e,t,a)=>samp.callNative("SetMenuColumnHeader","iis",e,t,a),pl=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),Sl=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),gl=e=>!!samp.callNative("IsValidMenu","i",e),yl=e=>samp.callNative("DisableMenu","i",e),Il=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),Pl=e=>samp.callNative("GetPlayerMenu","i",e),fl=e=>!!samp.callNative("IsValidGangZone","i",e),Al=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),El=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),Tl=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),Cl=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),Dl=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),Nl=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:a,fMaxX:n,fMaxY:i}},Ll=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},Rl=(e,t,a,n)=>samp.callNative("GangZoneCreate","ffff",e,t,a,n),bl=e=>samp.callNative("GangZoneDestroy","i",e),vl=(e,t,a)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,I(a)),wl=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,I(t)),Ol=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),Gl=e=>samp.callNative("GangZoneHideForAll","i",e),Bl=(e,t,a)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,I(a)),Fl=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,I(t)),kl=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),Ml=e=>samp.callNative("GangZoneStopFlashForAll","i",e),xl=(e,t,a,n,i)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,a,n,i),Hl=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),Vl=(e,t,a)=>samp.callNative("PlayerGangZoneShow","iii",e,t,a),Ul=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),Wl=(e,t,a)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,a),Kl=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),Zl=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),jl=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),Xl=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),Yl=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),zl=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),Jl=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),$l=(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}},Ql=(e,t,a)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,a)},ql=e=>!!samp.callNative("IsValidTextDraw","i",e),eo=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),to=e=>{const[t]=samp.callNative("TextDrawGetString","iSi",e,1024);return t},ao=(e,t,a)=>{samp.callNative("TextDrawSetPos","iff",e,t,a)},no=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:a}},io=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:a}},ro=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:a}},so=e=>samp.callNative("TextDrawGetColor","i",e),lo=e=>samp.callNative("TextDrawGetBoxColor","i",e),oo=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),co=e=>samp.callNative("TextDrawGetShadow","i",e),_o=e=>samp.callNative("TextDrawGetOutline","i",e),ho=e=>samp.callNative("TextDrawGetFont","i",e),uo=e=>!!samp.callNative("TextDrawIsBox","i",e),mo=e=>!!samp.callNative("TextDrawIsProportional","i",e),po=e=>!!samp.callNative("TextDrawIsSelectable","i",e),So=e=>samp.callNative("TextDrawGetAlignment","i",e),go=e=>samp.callNative("TextDrawGetPreviewModel","i",e),yo=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:a,fRotZ:n,fZoom:i}},Io=e=>{const[t,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:a}},Po=(e,t,a)=>{samp.callNative("TextDrawSetStringForPlayer","iis",e,t,a)},fo=(e,t,a)=>samp.callNative("TextDrawCreate","ffs",e,t,a),Ao=e=>samp.callNative("TextDrawDestroy","i",e),Eo=(e,t,a)=>samp.callNative("TextDrawLetterSize","iff",e,t,a),To=(e,t,a)=>samp.callNative("TextDrawTextSize","iff",e,t,a),Co=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),Do=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,I(t)),No=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),Lo=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,I(t)),Ro=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),bo=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),vo=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,I(t)),wo=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),Oo=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),Go=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),Bo=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),Fo=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),ko=e=>samp.callNative("TextDrawShowForAll","i",e),Mo=e=>samp.callNative("TextDrawHideForAll","i",e),xo=(e,t)=>samp.callNative("TextDrawSetString","is",e,t),Ho=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),Vo=(e,t,a,n,i=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,a,n,i)},Uo=(e,t,a)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,I(t),I(a)),Wo=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,I(t))},Ko=e=>{samp.callNative("CancelSelectTextDraw","i",e)},Zo=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),jo=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),Xo=(e,t)=>{const[a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return a},Yo=(e,t,a,n)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,a,n)},zo=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:a,fY:n}},Jo=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:a,fY:n}},$o=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:a,fY:n}},Qo=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),qo=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),ed=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),td=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),ad=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),nd=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),id=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),rd=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),sd=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),ld=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),od=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),dd=(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}},cd=(e,t)=>{const[a,n]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:a,color2:n}},_d=(e,t,a,n)=>samp.callNative("CreatePlayerTextDraw","iffs",e,t,a,n),hd=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},ud=(e,t,a,n)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,a,n),md=(e,t,a,n)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,a,n),pd=(e,t,a)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,a),Sd=(e,t,a)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,I(a)),gd=(e,t,a)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,a),yd=(e,t,a)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,I(a)),Id=(e,t,a)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,a),Pd=(e,t,a)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,a),fd=(e,t,a)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,I(a)),Ad=(e,t,a)=>samp.callNative("PlayerTextDrawFont","iii",e,t,a),Ed=(e,t,a)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,a),Td=(e,t,a)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,a),Cd=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),Dd=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),Nd=(e,t,a)=>samp.callNative("PlayerTextDrawSetString","iis",e,t,a),Ld=(e,t,a)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,a),Rd=(e,t,a,n,i,r)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,a,n,i,r),bd=(e,t,a,n)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,a,n),vd=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),wd=e=>!!samp.callNative("BeginObjectSelecting","i",e),Od=e=>!!samp.callNative("EndObjectEditing","i",e),Gd=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),Bd=(e,t,a,n,i)=>samp.callNative("AddSimpleModel","iiiss",e,t,a,n,i),Fd=(e,t,a,n,i,r,s)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,a,n,i,r,s),kd=(e,t)=>samp.callNative("RedirectDownload","is",e,t),Md=e=>{const[t]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return t},xd=e=>{const[t]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return t},Hd=(e,t)=>{const[a=0,n=0,i=0,r=0,s=0,o=0,d=0,_=0,p=0,S=0,g=0,P=0,E=0]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:a,bone:n,fX:i,fY:r,fZ:s,fRotX:o,fRotY:d,fRotZ:_,fScaleX:p,fScaleY:S,fScaleZ:g,materialColor1:P,materialColor2:E}},Vd=(e,t,a,n,i,r,s,o,d,_,p,S,g,P,E)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,a,n,i,r,s,o,d,_,p,S,g,I(P),I(E)),Ud=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),Wd=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),Ie=e=>!!samp.callNative("IsValidCustomModel","i",e),Kd=e=>{if(!Ie(e))return null;const[t,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:a}};var Pe=(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))(Pe||{}),fe=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(fe||{}),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||{}),Ae=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(Ae||{}),Ee=(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))(Ee||{}),T=(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))(T||{}),Te=(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))(Te||{}),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||{}),Ce=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(Ce||{}),De=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(De||{}),O=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(O||{}),Ne=(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))(Ne||{}),Le=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Le||{}),Re=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(Re||{}),be=(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))(be||{}),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||{}),we=(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))(we||{}),ae=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(ae||{}),Y=(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))(Y||{}),Oe=(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))(Oe||{}),Ge=(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))(Ge||{}),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||{}),Q=(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))(Q||{}),Be=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(Be||{}),Fe=(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))(Fe||{}),ke=(e=>(e[e.UNSET=0]="UNSET",e[e.OFF=1]="OFF",e[e.ON=2]="ON",e))(ke||{}),Me=(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))(Me||{}),xe=(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))(xe||{}),He=(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))(He||{}),Ve=(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))(Ve||{}),Ue=(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))(Ue||{}),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||{}),We=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(We||{});class G{constructor(){}static recordStatus;static connectNPC=na;static startRecordingPlayerData(t,a,n){if(t.isRecording)return l.warn("[NpcFunc]: It should be stopped before recording");Ki(t.id,a,n),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)return l.warn("[NpcFunc]: It should be started before stop");Zi(t.id),t.isRecording=!1}static startRecordingPlayback(t,a){if(G.recordStatus>=O.start)return l.warn("[NpcFunc]: The current status cannot be replayed");gr(t,a),G.recordStatus=O.start}static stopRecordingPlayback(){if(G.recordStatus<O.start)return l.warn("[NpcFunc]: The current status cannot be stopped");yr(),G.recordStatus=O.none}static pauseRecordingPlayback(){if(G.recordStatus!==O.start)return l.warn("[NpcFunc]: The current status cannot be paused");Ir(),G.recordStatus=O.pause}static resumeRecordingPlayback(){if(G.recordStatus!==O.pause)return l.warn("[NpcFunc]: The current status cannot be paused");Pr(),G.recordStatus=O.start}}const Zd=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}]]]),jd=e=>{const t=Zd.get(e);return t===void 0?!1:t},Ke=(e,t)=>{const a=jd(e);if(a)return a.find(n=>n.n===t)?.d},U=(e,t)=>{const a=t.replace("-","")==="utf8"?e:f.encodeToBuf(e,t);return[a instanceof Array?"a":"s",a]},Ze=(e,t,a)=>{const n=U(a,e.charset);return samp.callNative("SendClientMessage",`ii${n[0]}`,e.id,I(t),n[1])},Xd=(e,t,a)=>(e.forEach(n=>Ze(n,t,a)),1),je=(e,t,a)=>{const n=U(a,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${n[0]}`,e.id,t,n[1])},Yd=(e,t,a)=>(e.forEach(n=>{je(n,t,a)}),1),zd=(e,t,a)=>{const{charset:n}=e,{style:i,caption:r,info:s,button1:o,button2:d}=a,[_,p]=U(r||"",n),[,S]=U(s||"",n),[,g]=U(o||"",n),[,P]=U(d||"",n);return samp.callNative("ShowPlayerDialog",`iii${_.repeat(4)}`,e.id,t,i,p,S,g,P)},Jd=e=>{const[t]=samp.callNative("GetPlayerName","iAi",e.id,w.MAX_PLAYER_NAME);return f.decodeFromBuf(f.getValidStr(t),e.charset)},$d=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,f.encodeToBuf(t,e.charset)),Qd=(e,t,a)=>{const n=f.encodeToBuf(t,a);return samp.callNative("BanEx","ia",e,n)},qd=(e,t="utf8")=>{const[a,n]=U(e,t);return samp.callNative("SendRconCommand",a,n)},ec=(e,t,a,n,i,r,s,o,d,_,p,S,g,P,E,b)=>{const M=f.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",M,a,n,i,r,s,o,d,_,p,S,g,P,E,b)},tc=(e,t,a,n,i,r,s,o,d,_,p,S,g,P,E,b)=>{const M=f.encodeToBuf(e,b);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",M,t,a,n,i,r,s,o,d,_,p,S,g,P,E,p.length,S.length,g.length,P.length)},ac=(e,t,a,n)=>{const i=f.encodeToBuf(a,n);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,i)},nc=(e,t)=>{const[a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return f.decodeFromBuf(f.getValidStr(a),t)},ic=(e,t,a,n,i,r,s,o,d,_,p)=>{const S=f.encodeToBuf(n,e),g=f.encodeToBuf(r,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,a,S,i,g,s,o,d,_,p)},rc=(e,t,a)=>{const[n,i,r,s,o,d,_]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),p=f.decodeFromBuf(n,a),S=f.decodeFromBuf(r,a);return{text:p,materialSize:i,fontFace:S,bold:s,fontColor:o,backColor:d,textAlignment:_}},[Xe]=h({name:"OnGameModeInit"}),[Ye]=h({name:"OnGameModeExit"}),[sc]=h({name:"OnIncomingConnection",beforeEach(e,t,a){return{playerId:e,ipAddress:t,port:a}}}),[lc]=h({name:"OnRconCommandI18n",identifier:"ai",beforeEach(e){return{buffer:e,cmd:f.decodeFromBuf(e)}}}),[oc]=h({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,a){return{ip:f.decodeFromBuf(e),password:f.decodeFromBuf(t),success:!!a,ipBuffer:e,passwordBuffer:t}}}),W=[],z=[],le=e=>{setTimeout(async()=>{try{const t=W.findIndex(n=>n.name===e);if(t===-1)return;const a=W[t];await a.load(),W.splice(t,1),z.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=z.findIndex(n=>n.name===e);if(t===-1)return;const a=z[t];await a.unload(),z.splice(t,1),W.push(a)}catch(t){l.error(`[GameMode]: script ${e} unload fail`),l.warn(new Error(JSON.stringify(t)))}})},dc=e=>{oe(e),le(e)};Xe(({next:e})=>(W.forEach(t=>le(t.name)),e())),Ye(({next:e})=>(z.forEach(t=>oe(t.name)),e()));const cc=function(e,...t){if(W.some(a=>a===e)||z.some(a=>a===e)){l.warn("[GameMode]: script has already been applied");return}e.load=e.load.bind(e,...t),W.push(e)};var _c={use(e,...t){return cc(e,...t),this},loadUseScript:le,reloadUseScript:dc,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):jt(e)},setWorldTime(e){return e<0||e>23?(l.error("[GameMode]: The valid hour value is only 0 to 23"),0):Wt(e)},getWorldTime:Kt,setTeamCount:ua,sendRconCommand:qd,addPlayerClass:ma,addPlayerClassEx:pa,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):zt(e,t,a,n,i)},manualVehicleEngineAndLights:_s,blockIpAddress:Ga,unBlockIpAddress:Ba,getServerTickRate:ia,addSimpleModel(e,t,a,n,i){return this.checkSimpleModel(e,t,a,n,i)?Bd(e,t,a,n,i):0},addSimpleModelTimed(e,t,a,n,i,r,s){return this.checkSimpleModel(e,t,a,n,i,r,s)?Fd(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:Ie,getCustomModePath:Kd,getConsoleVarAsString(e,t="utf8"){const a=Nt(e);return f.decodeFromBuf(f.getValidStr(a),t)},getRestartTime:Gt,setRestartTime:Ot,allowAdminTeleport:ft,isAdminTeleportAllowed:At,allowInteriorWeapons:Et,areInteriorWeaponsAllowed:Tt,areAllAnimationsEnabled:Ct,enableAllAnimations:Dt,enableStuntBonusForAll:sa,enableVehicleFriendlyFire:Zt,enableZoneNames:Jt,disableInteriorEnterExits:Qt,setGameModeText:Ht,getGravity:Xt,setGravity:Yt,showNameTags:Vt,disableNameTagLOS:ea,usePlayerPedAnims:$t,showPlayerMarkers:Ut,limitPlayerMarkerRadius:aa,limitGlobalChatRadius:ta,setNameTagDrawDistance:qt,findModelFileNameFromCRC:Md,findTextureFileNameFromCRC:xd,getWeaponName:ca,setObjectsDefaultCameraCollision:Gd,vectorSize:xt,clearBanList:Ma,isBanned:xa,isValidNickName:mt,allowNickNameCharacter:pt,isNickNameCharacterAllowed:St,addServerRule:gt,setServerRule:yt,isValidServerRule:It,removeServerRule:Pt,getWeaponSlot:da,getAvailableClasses:me,getPlayerClass:_a,editPlayerClass:ha,toggleChatTextReplacement:la,chatTextReplacementToggled:oa,getConsoleVarAsInt:Lt,getConsoleVarAsBool:Rt,getWeather:bt,getServerRuleFlag:vt,setServerRuleFlags:wt};const L={onInit:Xe,onExit:Ye,onIncomingConnection:sc,onRconCommand:lc,onRconLoginAttempt:oc,..._c},[ze]=h({name:"OnClientCheckResponse",beforeEach(e,t,a,n){return{player:m.getInstance(e),actionId:t,memAddr:a,data:n}}}),[hc,uc]=h({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,a){return{player:e,newLocale:t,oldLocale:a}}}),[mc,pc]=h({name:"OnPlayerCharsetChange",isNative:!1,beforeEach(e,t,a){return{player:e,newCharset:t,oldCharset:a}}});class m{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,pc(this,t,a)}get locale(){return this._locale}set locale(t){const a=this._locale;this._locale=t,uc(this,t,a)}sendClientMessage(t,a){return Ze(this,t,a)}static sendClientMessageToAll(t,a){Xd(m.getInstances(),t,a)}sendMessageToPlayer(t,a){return je(t,this.id,a)}sendMessageToAll(t){return Yd(m.getInstances(),this.id,t)}isNpc(){return Pn(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return Un(this.id)}setDrunkLevel(t){if(t<0||t>5e4)return l.error(new Error("[Player]: player's drunk level ranges from 0 to 50000"));Wn(this.id,t)}allowTeleport(t){hn(this.id,t)}isTeleportAllowed(){return un(this.id)}enableCameraTarget(t){or(this.id,t)}enableStuntBonus(t){Vi(this.id,t)}getInterior(){return Rn(this.id)}setInterior(t){return Ln(this.id,t)}showNameTag(t,a){tr(this.id,t.id,a)}setColor(t){Kn(this.id,t)}getColor(){return Zn(this.id)}setMarker(t,a){qi(this.id,t.id,a)}getMarker(t){return er(this.id,t.id)}resetMoney(){return qn(this.id)}getMoney(){return ei(this.id)}giveMoney(t){return Qn(this.id,t)}resetWeapons(){return zn(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):ga(this.id)}setHealth(t){return bn(this.id,t)}getHealth(){return vn(this.id)}toggleClock(t){return li(this.id,t)}toggleControllable(t){return vi(this.id,t)}toggleSpectating(t){return ji(this.id,t)}spectatePlayer(t,a=ae.NORMAL){return Xi(this.id,t.id,a)}spectateVehicle(t,a=ae.NORMAL){return Yi(this.id,t.id,a)}forceClassSelection(){di(this.id)}kick(){ba(this.id)}ban(){va(this.id)}banEx(t,a){Qd(this.id,t,a)}isAdmin(){return La(this.id)}isInRangeOfPoint(t,a,n,i){return Cn(this.id,t,a,n,i)}isStreamedIn(t){return Nn(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:jn(this.id,t)}getSkin(){return Xn(this.id)}isInAnyVehicle(){return Ji(this.id)}getSpecialAction(){return Fi(this.id)}setSpecialAction(t){return ki(this.id,t)}setScore(t){return Hn(this.id,t)}getScore(){return Vn(this.id)}getPing(){return ai(this.id)||0}setPos(t,a,n){return pe(this.id,t,a,n)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===Y.NONE)return;const[t,a,n]=An(this.id);return{x:t,y:a,z:n}}isSpectating(){return this.getState()===Y.SPECTATING}isWasted(){return this.getState()===Y.WASTED}getState(){return ti(this.id)}getVersion(){return this.isNpc()?"":Ua(this.id)}setVirtualWorld(t){return xi(this.id,t)}getVirtualWorld(){return Hi(this.id)}removeFromVehicle(){return bi(this.id)}setWantedLevel(t){return t<0||t>6?(l.error("[Player]: player's wanted level ranges from 0 to 6"),0):ci(this.id,t)}getWantedLevel(){return _i(this.id)}setFacingAngle(t){return En(this.id,t)}getFacingAngle(){return Tn(this.id)}setWeather(t){if(t<0||t>255){l.warn("[Player]: The valid weather value is only 0 to 255");return}oi(this.id,t)}getWeather(){return ja(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 ri(this.id,t,a)}getTime(){const[t,a]=si(this.id);return{hour:t,minute:a}}removeBuilding(t,a,n,i,r){Ti(this.id,t,a,n,i,r)}setTeam(t){t<0||t>T.NO_TEAM||Mn(this.id,t)}getTeam(){return xn(this.id)}setSkillLevel(t,a){if(a<0||a>999){l.warn("[Player]: The valid skill level is only 0 to 999");return}Pi(this.id,t,a)}getName(){return Jd(this)}setName(t){return $d(this,t)}setVelocity(t,a,n){return mi(this.id,t,a,n)}getVelocity(){const[t,a,n]=pi(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]=ii(this.id);return{keys:t,upDown:a,leftRight:n}}getIp(){return Va(this.id)}getFightingStyle(){return ui(this.id)}setFightingStyle(t){hi(this.id,t)}setArmour(t){return wn(this.id,t)}getArmour(){return On(this.id)}setCameraBehind(){return ir(this.id)}setCameraPos(t,a,n){return ar(this.id,t,a,n)}setCameraLookAt(t,a,n,i){return nr(this.id,t,a,n,i)}getCameraAspectRatio(){return _r(this.id)}getCameraFrontVector(){const[t,a,n]=sr(this.id);return{x:t,y:a,z:n}}getCameraMode(){return lr(this.id)}getCameraPos(){const[t,a,n]=rr(this.id);return{x:t,y:a,z:n}}getCameraTargetPlayer(t){const a=cr(this.id);return t.find(n=>n.id===a)}getCameraTargetVehicle(t){const a=dr(this.id);return t.find(n=>n.id===a)}getCameraZoom(){return hr(this.id)}playAudioStream(t,a=0,n=0,i=0,r=5){let s=!1;return(a!==0||n!==0||i!==0)&&(s=!0),gi(this.id,t,a,n,i,r,s)}stopAudioStream(){yi(this.id)}playSound(t,a=0,n=0,i=0){return wi(this.id,t,a,n,i)}static getMaxPlayers(){return Mt()}playCrimeReport(t,a){return a<3||a>22?(l.warn("[Player]: Available crime ids range from 3 to 22"),0):Si(this.id,t.id,a)}interpolateCameraPos(t,a,n,i,r,s,o,d=te.CUT){ur(this.id,t,a,n,i,r,s,o,d)}interpolateCameraLookAt(t,a,n,i,r,s,o,d=te.CUT){mr(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):Wi(this.id,t,a,n,i,r)}static isConnected(t){return Se(t)}isConnected(){return Se(this.id)}disableRemoteVehicleCollisions(t){return Mi(this.id,t)}getVehicle(t){if(!this.isInAnyVehicle())return;const a=Li(this.id);return t.find(n=>n.id===a)}getVehicleSeat(){return Ri(this.id)}getSurfingVehicle(t){const a=fi(this.id);if(a!==T.VEHICLE_ID)return t.find(n=>n.id===a)}applyAnimation(t,a,n=!1,i=!0,r=!0,s=!1,o=!1){const d=Ke(t,a);if(d===void 0)return l.error("[Player]: Invalid anim library or name");Oi(this.id,t,a,4.1,n,i,r,s,n?0:d,o)}clearAnimations(t=!1){Gi(this.id,t)}getAnimationIndex(){return Bi(this.id)}getAnimationName(){const[t,a]=ra(this.getAnimationIndex());return{animLib:t,animName:a}}setShopName(t){Ii(this.id,t)}setPosFindZ(t,a,n=150){return new Promise(i=>{pe(this.id,t,a,n),setTimeout(()=>i(fn(this.id,t,a,n)))})}setWorldBounds(t,a,n,i){$i(this.id,t,a,n,i)}clearWorldBounds(){return Qi(this.id)}setChatBubble(t,a,n,i){Di(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return Dn(this.id,t,a,n)}getCustomSkin(){return Ui(this.id)}getTargetPlayer(t){const a=kn(this.id);if(a!==T.PLAYER_ID)return t.find(n=>n.id===a)}getLastShotVectors(){const[t,a,n,i,r,s]=Ci(this.id);return{fOriginX:t,fOriginY:a,fOriginZ:n,fHitPosX:i,fHitPosY:r,fHitPosZ:s}}getWeapon(){return ni(this.id)}getWeaponData(t){if(t<0||t>12){l.error("[Player]: weapon slots range from 0 to 12");return}const[a,n]=$n(this.id,t);return{weapons:a,ammo:n}}getWeaponState(){return Fn(this.id)}giveWeapon(t,a){return Yn(this.id,t,a)}setAmmo(t,a){return Gn(this.id,t,a)}getAmmo(){return Bn(this.id)}setArmedWeapon(t){return Jn(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(T.PLAYER_ID,T.PLAYER_ID,se.CONNECT)}sendDeathMessage(t,a){kt(t===T.PLAYER_ID?t:t.id,this.id,a)}sendDeathMessageToPlayer(t,a,n){yn(this.id,t===T.PLAYER_ID?t:t.id,a===T.PLAYER_ID?a:a.id,n)}setSpawnInfo(t,a,n,i,r,s,o,d,_,p,S,g){t<0||t>T.NO_TEAM||a<0||a>311||a==74||d<0||p<0||g<0||Sa(this.id,t,a,n,i,r,s,o,d,_,p,S,g)}redirectDownload(t){return kd(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",_=this.getPing(),p=(_>=200?0:_)+200;let S=null;const g=ze(({player:P,actionId:E,memAddr:b,data:M,next:ee})=>{if(P!==this)return ee();S?(clearTimeout(S),S=null,o(d)):s({actionId:E,memAddr:b,data:M});const at=ee();return g(),at});S=setTimeout(()=>{g(),o(d)},p),ka(this.id,t,a,n,i)}):l.error(`[Player]: sendClientCheck valid types are ${r.toString()}`)}selectTextDraw(t){Wo(this.id,t)}cancelSelectTextDraw(){Ko(this.id)}beginObjectSelecting(){wd(this.id)}endObjectEditing(){Od(this.id)}getSurfingObject(t){const a=Ai(this.id);if(a!==T.OBJECT_ID)return t.get(a)}getSurfingPlayerObject(t){const a=Ei(this.id);if(a!==T.OBJECT_ID)return t.get(a)}isAttachedObjectSlotUsed(t){return Wd(this.id,t)}editAttachedObject(t){return vd(this.id,t)}setAttachedObject(t,a,n,i=0,r=0,s=0,o=0,d=0,_=0,p=1,S=1,g=1,P=0,E=0){return this.isAttachedObjectSlotUsed(t)?0:Vd(this.id,t,a,n,i,r,s,o,d,_,p,S,g,P,E)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?Ud(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 Wa(this.id,t)}isWidescreenToggled(){return Ka(this.id)}getSpawnInfo(){return ya(this.id)}getSkillLevel(t){return Za(this.id,t)}isCheckpointActive(){return el(this.id)}getCheckpoint(){return tl(this.id)}isRaceCheckpointActive(){return al(this.id)}getRaceCheckpoint(){return nl(this.id)}getWorldBounds(){Xa(this.id)}isInModShop(){return zs(this.id)}getSirenState(){return Js(this.id)}getLandingGearState(){return $s(this.id)}getHydraReactorAngle(){return Qs(this.id)}getTrainSpeed(){return qs(this.id)}getZAim(){return Ya(this.id)}getSurfingOffsets(){return za(this.id)}getRotationQuat(){return Ja(this.id)}getDialogID(){return $a(this.id)}getSpectateID(){return Qa(this.id)}getSpectateType(){return qa(this.id)}getRawIp(){return Ha(this.id)}setGravity(t){return en(this.id,t)}getGravity(){return tn(this.id)}setAdmin(t){return Ra(this.id,t)}isSpawned(){return an(this.id)}isControllable(){return nn(this.id)}isCameraTargetEnabled(){return rn(this.id)}toggleGhostMode(t){return sn(this.id,t)}getGhostMode(){return ln(this.id)}getBuildingsRemoved(){return on(this.id)}getAttachedObject(t){return Hd(this.id,t)}removeWeapon(t){return dn(this.id,t)}isUsingOfficialClient(){return _n(this.id)}allowWeapons(t){return mn(this.id,t)}areWeaponsAllowed(){return pn(this.id)}gpci(t=this.charset){return Fa(this.id,t)}isCuffed(){return pr(this.id)}isInDriveByMode(){return Sr(this.id)}static getInstance(t){return this.players.get(t)}static getInstances(){return[...this.players.values()]}}const[Je]=h({name:"OnDialogResponseI18n",identifier:"iiiiai",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),dialogId:t,response:a,listItem:n,buffer:i}}});Je(({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}),zd(t,this.id,this.dialog)}).then(a=>{const{response:n,listItem:i}=a,r=f.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),cn(t.id)}}const[$e]=h({name:"OnPlayerConnect",beforeEach(e){const t=new m(e);return m.players.set(e,t),D.close(t),{player:t}}}),[Qe]=h({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:m.players.get(e),reason:t}},afterEach({player:e}){m.players.delete(e.id)}}),[qe]=h({name:"OnPlayerUpdate",beforeEach(e){return{player:m.getInstance(e)}}}),[Sc]=h({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const a=m.getInstance(e);return{player:a,text:f.decodeFromBuf(t,a.charset),buffer:t}}}),[gc]=h({name:"OnPlayerEnterExitModShop",beforeEach(e,t,a){return{player:m.getInstance(e),enterExit:!!t,interior:a}}}),[yc]=h({name:"OnPlayerClickMap",beforeEach(e,t,a,n){return{player:m.getInstance(e),fX:t,fY:a,fZ:n}}}),[Ic]=h({name:"OnPlayerClickPlayer",beforeEach(e,t,a){return{player:m.getInstance(e),clickedPlayer:m.getInstance(t),source:a}}}),[Pc]=h({name:"OnPlayerDeath",beforeEach(e,t,a){return{player:m.getInstance(e),killer:m.getInstance(t)||T.PLAYER_ID,reason:a}}}),[fc]=h({name:"OnPlayerGiveDamage",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),damage:m.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),[Ac]=h({name:"OnPlayerKeyStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newKeys:t,oldKeys:a}}}),[Ec]=h({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:m.getInstance(e),classId:t}}}),[Tc]=h({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[Cc]=h({name:"OnPlayerSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[Dc]=h({name:"OnPlayerStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newState:t,oldState:a}}}),[Nc]=h({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[Lc]=h({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[Rc]=h({name:"OnPlayerTakeDamage",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),damage:m.getInstance(t)||T.PLAYER_ID,amount:a,weapon:n,bodyPart:i}}}),[bc]=h({name:"OnPlayerInteriorChange",beforeEach(e,t,a){return{player:m.getInstance(e),newInteriorId:t,oldInteriorId:a}}}),[vc]=h({name:"OnPlayerRequestDownload",beforeEach(e,t,a){return{player:m.getInstance(e),type:t,crc:a}}}),[wc]=h({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:m.getInstance(e),virtualWorld:t}}});let q=null;const[Oc,Gc]=h({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[Bc,Fc]=h({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,a,n){return{player:e,pausedAt:t,now:a,diff:n}}}),[kc,Mc]=h({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,a){return{player:e,newFps:t,oldFps:a}}});$e(({next:e})=>(!q&&m.getInstances().length&&(q=setInterval(()=>{m.getInstances().filter(t=>{const a=t.getState()!==Y.NONE;return!t.isPaused&&!t.isNpc()&&a}).forEach(t=>{Date.now()-t.lastUpdateTick>1e3&&(t.isPaused=!0,Gc(t,t.lastUpdateTick))})},500)),e())),Qe(({next:e})=>(q&&m.getInstances().length<=1&&(clearInterval(q),q=null),e()));function xc(e){if(!m.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,Mc(e,i,n)}}qe(({player:e,next:t})=>{if(!e.isNpc()){const a=Date.now();e.isPaused&&(e.isPaused=!1,Fc(e,e.lastUpdateTick,a,a-e.lastUpdateTick)),e.lastUpdateTick=a,xc(e)}return t()});const J=new Map,et=/[^/\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"}},[Hc,Vc]=h({name:"OnCommandReceived",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[Uc,Wc]=h({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[Kc,ce]=h({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,a){return{player:e,command:t,error:a}}}),[Zc]=h({name:"OnPlayerCommandTextI18n",identifier:"iai",beforeEach(e,t){return{player:m.getInstance(e),buffer:t}}});function jc(e){const t=[];let a="";for(let n=0;n<e.length;n++)a+=e[n]+" ",t.push(a.trimEnd());return t.reverse()}Zc(({player:e,buffer:t,next:a})=>{const n=f.decodeFromBuf(t,e.charset).match(et),i=jc(n).find(p=>J.get(p)),r=n.join(" ");if(!i)return ce(e,r,de.NOT_EXIST);const s=Vc(e,r);if(!s)return s;const o=J.get(i),[,d]=o,_=r.replace(i,"").trim().split(" ");return d(e,_)?Wc(e,r)?a():ce(e,r,de.PERFORMED):ce(e,r,de.REJECTED)});function Xc(e,t){return{player:e,subcommand:t}}const tt={on(e,t){const a=Array.isArray(e)?e:[e],n=a.find(r=>!r.match(et));if(n)return console.log(`error command ${n} format`),()=>{};const i=a.map(r=>{const s=r.replaceAll("/","");if(!J.has(s)){const d=h({name:s,isNative:!1,beforeEach:Xc});J.set(s,d)}const[o]=J.get(s);return o(t)});return()=>{i.forEach(r=>r())}},off(e){(Array.isArray(e)?e:[e]).forEach(t=>{J.has(t)&&ue(t)})}},_e=Object.freeze({onConnect:$e,onDisconnect:Qe,onPause:Oc,onResume:Bc,onUpdate:qe,onText:Sc,onEnterExitModShop:gc,onClickMap:yc,onClickPlayer:Ic,onDeath:Pc,onGiveDamage:fc,onKeyStateChange:Ac,onRequestClass:Ec,onRequestSpawn:Tc,onSpawn:Cc,onStateChange:Dc,onStreamIn:Nc,onStreamOut:Lc,onTakeDamage:Rc,onInteriorChange:bc,onRequestDownload:vc,onFinishedDownloading:wc,onCheckResponse:ze,onCommandReceived:Hc,onCommandPerformed:Uc,onCommandError:Kc,onCommandText:tt.on,offCommandText:tt.off,onDialogResponse:Je,onLocaleChange:hc,onCharsetChange:mc,onFpsUpdate:kc}),Yc=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],zc=[[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],[],[],[],[],[],[],[],[]],Jc=(e,t)=>{if(!he(e))return l.error("[vehicleUtils]: Invalid model id"),!1;const a=zc[e-400];if(a===null)return!1;const n=t-1e3;return Yc.includes(n)||a.includes(n)},he=e=>e>=400&&e<=611,$c=(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 A{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(A.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:_}=this.sourceInfo;if(!(!t&&!he(a))){if(this.isStatic){if(d===void 0){this._id=Ks(a,n,i,r,s,o[0],o[1]);return}this._id=Zs(a,n,i,r,s,o[0],o[1],d||-1,_||!1)}else this._id=ts(a,n,i,r,s,o[0],o[1],d||-1,_||!1);A.createdCount++,A.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)return l.warn("[Vehicle]: Unable to destroy the vehicle before create");as(this.id),A.createdCount--,A.vehicles.delete(this._id),this._id=-1}addComponent(t){return this.id===-1?0:Jc(this.getModel(),t)?fs(this.id,t):(l.warn(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`),0)}removeComponent(t){return this.getComponentInSlot(A.getComponentType(t))===0?(l.warn(`[Vehicle]: component id ${t} does not exist on this vehicle`),0):As(this.id,t)}getComponentInSlot(t){return Os(this.id,t)}linkToInterior(t){return this.id===-1?0:Ps(this.id,t)}setVirtualWorld(t){return this.id===-1?0:Us(this.id,t)}getVirtualWorld(){return this.id===-1?0:Ws(this.id)}repair(){return this.id===-1?0:Bs(this.id)}setPos(t,a,n){return this.id===-1?0:rs(this.id,t,a,n)}getPos(){if(this.id!==-1)return is(this.id)}getHealth(){return this.id===-1?0:Ds(this.id)}setHealth(t){return this.id===-1?0:Cs(this.id,t)}isPlayerIn(t){return this.id===-1?!1:zi(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."),Ni(t.id,this.id,a))}getZAngle(){return this.id===-1?0:ss(this.id)}setZAngle(t){return this.id===-1?0:ds(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)?vs(this.id,t):(l.error("[Vehicle]: number plates only allow letters and numbers"),0)}changeColors(t,a){return this.id===-1?0:Es(this.id,t,a)}setVelocity(t,a,n){return this.id===-1?!1:ks(this.id,t,a,n)}getVelocity(){if(this.id===-1)return;const[t,a,n]=Fs(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:Ms(this.id,t,a,n)}getDamageStatus(){if(this.id!==-1)return xs(this.id)}updateDamageStatus(t,a,n,i){this.id!==-1&&Hs(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return os(this.id,t,a,n)}getModel(){return ws(this.id)}static getModelInfo(t,a){return Vs(t,a)}getModelInfo(t){if(this.id!==-1)return A.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,a,n,i]=ls(this.id);return{w:t,x:a,y:n,z:i}}setRespawn(){return this.id===-1?0:Is(this.id)}isStreamedIn(t){return this.id===-1?!1:ns(this.id,t.id)}setParamsCarDoors(t,a,n,i){return this.id===-1?0:ps(this.id,t,a,n,i)}setParamsCarWindows(t,a,n,i){return this.id===-1?0:gs(this.id,t,a,n,i)}getParamsCarDoors(){if(this.id!==-1)return Ss(this.id)}getParamsCarWindows(){if(this.id!==-1)return ys(this.id)}setParamsEx(t,a,n,i,r,s,o){return this.id===-1?0:hs(this.id,t,a,n,i,r,s,o)}getParamsEx(){if(this.id===-1)return;const[t,a,n,i,r,s,o]=us(this.id);return{engine:t,lights:a,alarm:n,doors:i,bonnet:r,boot:s,objective:o}}getParamsSirenState(){return this.id===-1?-2:ms(this.id)}setParamsForPlayer(t,a,n){return this.id===-1?0:cs(this.id,t.id,a,n)}isTrailerAttached(){return this.id===-1?!1:Rs(this.id)}changePaintjob(t){return this.id===-1||!$c(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),Ts(this.id,t),1)}attachTrailer(t){return this.id===-1?0:Ns(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&Ls(this.id)}getTrailer(){if(this.id!==-1)return A.getInstances().find(t=>t.id===bs(this.id))}isValid(){return ye(this.id)}getMatrix(){if(this.id!==-1)return qr(this.id)}getTrainSpeed(){return this.id===-1?0:Qr(this.id)}getHydraReactorAngle(){return this.id===-1?0:$r(this.id)}getLandingGearState(){return this.id===-1?0:Jr(this.id)}getSirenState(){return this.id===-1?0:zr(this.id)}getDriver(t){if(this.id!==-1)return t.get(Xr(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(jr(this.id))}isSirenEnabled(){return Kr(this.id)}toggleSirenEnabled(t){return this.id===-1?0:Ur(this.id,t)}setParamsSirenState(t){return this.id===-1?0:Wr(this.id,t)}isDead(){return this.id===-1?!0:xr(this.id)}setDead(t){return this.id===-1?!1:Hr(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:Vr(this.id,t)}getRespawnTick(){return this.id===-1?0:kr(this.id)}setRespawnTick(t){return this.id===-1?!1:Mr(this.id,t)}isOccupied(){return this.id===-1?!1:Fr(this.id)}hasBeenOccupied(){return this.id===-1?!1:Br(this.id)}getOccupiedTick(){return this.id===-1?0:Or(this.id)}setOccupiedTick(t){return this.id===-1?0:Gr(this.id,t)}getCab(){return this.id===-1?0:wr(this.id)}getRespawnDelay(){return this.id===-1?0:vr(this.id)}setRespawnDelay(t){return this.id===-1?0:br(this.id,t)}getNumberPlate(){return this.id===-1?"":Rr(this.id)}getInterior(){return this.id===-1?0:Lr(this.id)}getPaintjob(){return this.id===-1?-1:Nr(this.id)}getColors(){if(this.id!==-1)return Dr(this.id)}setSpawnInfo(t,a,n,i,r,s,o,d=-2,_=-2,p=!1){return this.id===-1||!p&&!he(t)?0:Cr(this.id,t,a,n,i,r,I(s),I(o),d,_)}getSpawnInfo(){if(this.id!==-1)return Tr(this.id)}getRandomColorPair(){if(this.id!==-1)return ge(this.getModel())}show(){return this.id===-1?!1:js(this.id)}hide(){return this.id===-1?!1:Xs(this.id)}isHidden(){return this.id===-1?!1:Ys(this.id)}static getRandomColorPair(t){return ge(t)}static getComponentType=Gs;static colorIndexToColor=es;static isValid(t){return ye(t)}static getModelsUsed=Yr;static getModelCount=Zr;static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}}L.onExit(({next:e})=>(A.getInstances().forEach(t=>t.destroy()),e()));const[Qc]=h({name:"OnVehicleDamageStatusUpdate",beforeEach(e,t){return{vehicle:A.getInstance(e),player:m.getInstance(t)}}}),[qc]=h({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:A.getInstance(e),killer:m.getInstance(t)}}}),[e_]=h({name:"OnVehicleMod",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:A.getInstance(t),componentId:a}}}),[t_]=h({name:"OnVehiclePaintjob",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:A.getInstance(t),paintjobId:a}}}),[a_]=h({name:"OnVehicleRespray",beforeEach(e,t,a,n){return{player:m.getInstance(e),vehicle:A.getInstance(t),color:[a,n]}}}),[n_]=h({name:"OnVehicleSirenStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:A.getInstance(t),state:!!a}}}),[i_]=h({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:A.getInstance(e)}}}),[r_]=h({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:A.getInstance(e),forPlayer:m.getInstance(t)}}}),[s_]=h({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:A.getInstance(e),forPlayer:m.getInstance(t)}}}),[l_]=h({name:"OnPlayerEnterVehicle",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:A.getInstance(t),isPassenger:!!a}}}),[o_]=h({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:m.getInstance(e),vehicle:A.getInstance(t)}}}),[d_]=h({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:A.getInstance(e),seatId:t}}}),[c_]=h({name:"OnNpcExitVehicle"}),[__]=h({name:"OnTrailerUpdate",beforeEach(e,t){return{player:m.getInstance(e),vehicle:A.getInstance(t)}}}),h_=Object.freeze({onDamageStatusUpdate:Qc,onDeath:qc,onMod:e_,onPaintjob:t_,onRespray:a_,onSirenStateChange:n_,onSpawn:i_,onStreamIn:r_,onStreamOut:s_,onPlayerEnter:l_,onPlayerExit:o_,onNpcEnter:d_,onNpcExit:c_,onTrailerUpdate:__});class u_{constructor(){}static getNetworkStats(){return Oa()}static getPlayerNetworkStats(t){return wa(t.id)}static getBytesReceived(t){return fa(t.id)}static getBytesSent(t){return Ea(t.id)}static getConnectionStatus(t){return Da(t.id)}static getConnectedTime(t){return Ia(t.id)}static getIpPort(t){return Na(t.id)}static getMessagesReceived(t){return Pa(t.id)}static getMessagesRecvPerSecond(t){return Ta(t.id)}static getMessagesSent(t){return Aa(t.id)}static getPacketLossPercent(t){return Ca(t.id)}}class m_{_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){Ft(t)}static has(t,a){return gn(t.id,a)}forAll(){Bt(this.text,this.time,this.style)}forPlayer(t){Sn(t.id,this.text,this.time,this.style)}hideForPlayer(t){return In(t.id,this.style)}}class X{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"):X.getInstances().length===w.MAX_MENUS?l.error("[Menu]: The maximum number of menus allowed to be created has been reached 128"):(this._id=_l(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),X.menus.set(this._id,this),this)}destroy(){return this._id===-1?l.error("[Menu]: Cannot destroy before create"):(hl(this.id),X.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"):(ul(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"):(ml(this.id,t,a),this)}disable(){return this._id===-1?l.error("[Menu]: Cannot disable menu before create"):(yl(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");Il(this.id,t)}isValid(){return gl(this.id)}showForPlayer(t){return this._id===-1?l.error("[Menu]: Cannot show menu before create"):pl(this.id,t.id)}hideForPlayer(t){return this._id===-1?l.error("[Menu]: Cannot hide menu before create"):Sl(this.id,t.id)}isDisabled(){return this._id===-1?!1:il(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:rl(this.id,t)}getItems(t){return this._id===-1?0:sl(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:ll(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:ol(this.id)}getColumnHeader(t){return this._id===-1?l.error("[Menu]: Cannot get column header before create"):dl(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 cl(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===Pl(t.id))}}L.onExit(({next:e})=>(X.getInstances().forEach(t=>t.destroy()),e()));const[p_]=h({name:"OnPlayerExitedMenu",beforeEach(e){return{player:m.getInstance(e)}}}),[S_]=h({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const a=m.getInstance(e),n=X.getInstanceByPlayer(a);return{player:a,menu:n,row:t}}}),g_=Object.freeze({onPlayerExited:p_,onPlayerSelectedRow:S_});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=xl(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=Rl(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?(Hl(t.id,this.id),N.playerGangZones.delete(this.id)):(bl(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):(wl(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)Vl(n.id,this.id,I(t));else if(a)vl(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):(Gl(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)Ul(a.id,this.id);else if(t)Ol(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):(Fl(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)Wl(n.id,this.id,I(a));else if(t)Bl(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):(Ml(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)Kl(a.id,this.id);else if(t)kl(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?Zl(t.id,this.id):fl(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?jl(a.id,this.id):Al(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Xl(a.id,this.id):El(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?Yl(a.id,this.id):Tl(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?zl(a.id,this.id):Cl(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Jl(a.id,this.id):Dl(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?$l(t.id,this.id):Nl(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?Ql(a.id,this.id,t):Ll(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[y_]=h({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[I_]=h({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[P_]=h({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!1)}}}),[f_]=h({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!1)}}}),[A_]=h({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[E_]=h({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!1)}}}),T_=Object.freeze({onPlayerEnterGlobal:y_,onPlayerLeaveGlobal:I_,onPlayerEnterPlayer:P_,onPlayerLeavePlayer:f_,onPlayerClickGlobal:A_,onPlayerClickPlayer:E_}),[K]=h({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[Z]=h({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[C_]=h({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class C{constructor(){}static getTickRate=c.Streamer_GetTickRate;static setTickRate=c.Streamer_SetTickRate;static getPlayerTickRate(t){return c.Streamer_GetPlayerTickRate(t.id)}static setPlayerTickRate(t,a=50){return c.Streamer_SetPlayerTickRate(t.id,a)}static toggleChunkStream=c.Streamer_ToggleChunkStream;static isToggleChunkStream=c.Streamer_IsToggleChunkStream;static getChunkTickRate(t,a=-1){return a instanceof m?c.Streamer_GetChunkTickRate(t,a.id):c.Streamer_GetChunkTickRate(t,a)}static setChunkTickRate(t,a,n=-1){return n instanceof m?c.Streamer_SetChunkTickRate(t,a,n.id):c.Streamer_SetChunkTickRate(t,a,n)}static getChunkSize=c.Streamer_GetChunkSize;static setChunkSize=c.Streamer_SetChunkSize;static getMaxItems=c.Streamer_GetMaxItems;static setMaxItems=c.Streamer_SetMaxItems;static getVisibleItems(t,a=-1){return a instanceof m?c.Streamer_GetVisibleItems(t,a.id):c.Streamer_GetVisibleItems(t,a)}static setVisibleItems(t,a,n=-1){return n instanceof m?c.Streamer_SetVisibleItems(t,a,n.id):c.Streamer_SetVisibleItems(t,a,n)}static getRadiusMultiplier(t,a=-1){return a instanceof m?c.Streamer_GetRadiusMultiplier(t,a.id):c.Streamer_GetRadiusMultiplier(t,a)}static setRadiusMultiplier(t,a,n=-1){return n instanceof m?c.Streamer_SetRadiusMultiplier(t,n.id):c.Streamer_SetRadiusMultiplier(t,a,n)}static getTypePriority=c.Streamer_GetTypePriority;static setTypePriority=c.Streamer_SetTypePriority;static getCellDistance=c.Streamer_GetCellDistance;static setCellDistance=c.Streamer_SetCellDistance;static getCellSize=c.Streamer_GetCellSize;static setCellSize=c.Streamer_SetCellSize;static toggleItemStatic=c.Streamer_ToggleItemStatic;static isToggleItemStatic=c.Streamer_IsToggleItemStatic;static toggleItemInvAreas=c.Streamer_ToggleItemInvAreas;static isToggleItemInvAreas=c.Streamer_IsToggleItemInvAreas;static toggleItemCallbacks=c.Streamer_ToggleItemCallbacks;static isToggleItemCallbacks=c.Streamer_IsToggleItemCallbacks;static toggleErrorCallback=c.Streamer_ToggleErrorCallback;static isToggleErrorCallback=c.Streamer_IsToggleErrorCallback;static amxUnloadDestroyItems=c.Streamer_AmxUnloadDestroyItems;static processActiveItems=c.Streamer_ProcessActiveItems;static toggleIdleUpdate(t,a){return c.Streamer_ToggleIdleUpdate(t.id,a)}static isToggleIdleUpdate(t){return c.Streamer_IsToggleIdleUpdate(t.id)}static toggleCameraUpdate(t,a){return c.Streamer_ToggleCameraUpdate(t.id,a)}static isToggleCameraUpdate(t){return c.Streamer_IsToggleCameraUpdate(t.id)}static toggleItemUpdate(t,a,n){return c.Streamer_ToggleItemUpdate(t.id,a,n)}static isToggleItemUpdate(t,a){return c.Streamer_IsToggleItemUpdate(t.id,a)}static getLastUpdateTime(){return c.Streamer_GetLastUpdateTime()}static update(t,a=-1){return c.Streamer_Update(t.id,a)}static updateEx(t,a,n,i,r,s,o,d,_){return c.Streamer_UpdateEx(t.id,a,n,i,r,s,o,d,_)}static getDistanceToItem=c.Streamer_GetDistanceToItem;static toggleItem(t,a,n,i){return c.Streamer_ToggleItem(t.id,a,n,i)}static isToggleItem(t,a,n){return c.Streamer_IsToggleItem(t.id,a,n)}static toggleAllItems(t,a,n,i=[-1]){return c.Streamer_ToggleAllItems(t.id,a,n,i)}static getItemInternalID(t,a,n){return c.Streamer_GetItemInternalID(t.id,a,n)}static getItemStreamerID(t,a,n){return c.Streamer_GetItemStreamerID(t.id,a,n)}static isItemVisible(t,a,n){return c.Streamer_IsItemVisible(t.id,a,n)}static destroyAllVisibleItems(t,a,n=1){return c.Streamer_DestroyAllVisibleItems(t.id,a,n)}static countVisibleItems(t,a,n=1){return c.Streamer_CountVisibleItems(t.id,a,n)}static destroyAllItems=c.Streamer_DestroyAllItems;static countItems=c.Streamer_CountItems;static getNearbyItems=c.Streamer_GetNearbyItems;static getAllVisibleItems(t,a,n){return c.Streamer_GetAllVisibleItems(t.id,a,n)}static getItemPos=c.Streamer_GetItemPos;static setItemPos=c.Streamer_SetItemPos;static getItemOffset=c.Streamer_GetItemOffset;static setItemOffset=c.Streamer_SetItemOffset;static getFloatData=c.Streamer_GetFloatData;static setFloatData=c.Streamer_SetFloatData;static getIntData=c.Streamer_GetIntData;static setIntData=c.Streamer_SetIntData;static getArrayData=c.Streamer_GetArrayData;static setArrayData=c.Streamer_SetArrayData;static isInArrayData=c.Streamer_IsInArrayData;static appendArrayData=c.Streamer_AppendArrayData;static removeArrayData=c.Streamer_RemoveArrayData;static getArrayDataLength=c.Streamer_GetArrayDataLength;static getUpperBound=c.Streamer_GetUpperBound;static onPluginError=C_}class V{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:_,z:p,type:S,color:g,extended:P}=this.sourceInfo;return S<0||S>63?l.error("[StreamerMapIcon]: Invalid map icon type"):(t??=c.MapIconStyles.LOCAL,a??=c.StreamerDistances.MAP_ICON_SD,o??=0,P?(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=c.CreateDynamicMapIconEx(d,_,p,S,I(g),t,a,n,i,r,s,o),V.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=c.CreateDynamicMapIcon(d,_,p,S,I(g),n,i,r,a,t,s,o),V.mapIcons.set(this._id,this),this))}destroy(){return this.id===-1?l.warn("[StreamerMapIcon]: Unable to destroy the map icon before create"):(c.DestroyDynamicMapIcon(this.id),V.mapIcons.delete(this._id),this._id=-1,this)}isValid(){return c.IsValidDynamicMapIcon(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerMapIcon]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(c.StreamerItemTypes.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(c.StreamerItemTypes.MAP_ICON,this.id)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}}L.onExit(({next:e})=>(V.getInstances().forEach(t=>t.destroy()),e()));const[D_,N_]=h({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[L_,R_]=h({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.MAP_ICON?N_(a,V.getInstance(t)):n()),Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.MAP_ICON?R_(a,V.getInstance(t)):n());const b_=Object.freeze({onStreamIn:D_,onStreamOut:L_});class H{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:_,y:p,z:S,extended:g}=this.sourceInfo;return o<0||o>22?l.error("[StreamerPickup]: Invalid pickup type"):(t??=u.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=u.CreateDynamicPickupEx(d,o,_,p,S,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=u.CreateDynamicPickup(d,o,_,p,S,a,n,i,t,r,s)),H.pickups.set(this._id,this),this)}destroy(){return this.id===-1?l.warn("[StreamerPickup]: Unable to destroy the pickup before create"):(u.DestroyDynamicPickup(this.id),H.pickups.delete(this.id),this._id=-1,this)}isValid(){return u.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerPickup]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(u.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(u.StreamerItemTypes.PICKUP,this.id)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}}L.onExit(({next:e})=>(H.getInstances().forEach(t=>t.destroy()),e()));const[v_,w_]=h({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[O_,G_]=h({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.PICKUP?w_(a,H.getInstance(t)):n()),Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.PICKUP?G_(a,H.getInstance(t)):n());const[B_]=h({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:H.getInstance(t)}}}),F_=Object.freeze({onPlayerPickUp:B_,onStreamIn:v_,onStreamOut:O_});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:_,z:p,extended:S}=this.sourceInfo;return o<0?l.error("[StreamerCheckpoint]: Invalid checkpoint size"):(t??=c.StreamerDistances.CP_SD,s??=0,S?(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=c.CreateDynamicCPEx(d,_,p,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=c.CreateDynamicCP(d,_,p,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"):(c.DestroyDynamicCP(this.id),B.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return c.IsValidDynamicCP(this.id)}togglePlayer(t,a){return this.id===-1?l.warn("[StreamerCheckpoint]: Unable to toggle the player before create"):(c.TogglePlayerDynamicCP(t.id,this.id,a),this)}static togglePlayerAll(t,a){return c.TogglePlayerAllDynamicCPs(t.id,a)}isPlayerIn(t){return this.id===-1?!1:c.IsPlayerInDynamicCP(t.id,this.id)}static getPlayerVisible(t){return B.checkpoints.get(c.GetPlayerVisibleDynamicCP(t.id))}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerCheckpoint]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(c.StreamerItemTypes.CP,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(c.StreamerItemTypes.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[k_,M_]=h({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[x_,H_]=h({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.CP?M_(a,B.getInstance(t)):n()),Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.CP?H_(a,B.getInstance(t)):n());const[V_]=h({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:B.getInstance(t)}}}),[U_]=h({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:B.getInstance(t)}}}),W_=Object.freeze({onPlayerEnter:V_,onPlayerLeave:U_,onStreamIn:k_,onStreamOut:x_});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:_,y:p,z:S,nextX:g,nextY:P,nextZ:E,extended:b}=this.sourceInfo;return o<0||o>8?l.error("[StreamerRaceCP]: Invalid type"):d<0?l.error("[StreamerRaceCP]: Invalid size"):(t??=c.StreamerDistances.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=c.CreateDynamicRaceCPEx(o,_,p,S,g,P,E,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=c.CreateDynamicRaceCP(o,_,p,S,g,P,E,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"):(c.DestroyDynamicCP(this.id),F.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return c.IsValidDynamicCP(this.id)}togglePlayer(t,a){return this.id===-1?l.warn("[StreamerRaceCP]: Unable to toggle the player before create"):(c.TogglePlayerDynamicRaceCP(t.id,this.id,a),this)}static togglePlayerAll(t,a){return c.TogglePlayerAllDynamicRaceCPs(t.id,a)}isPlayerIn(t){return this.id===-1?!1:c.IsPlayerInDynamicRaceCP(t.id,this.id)}static getPlayerVisible(t){return F.checkpoints.get(c.GetPlayerVisibleDynamicRaceCP(t.id))}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerRaceCP]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(c.StreamerItemTypes.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(c.StreamerItemTypes.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[K_,Z_]=h({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[j_,X_]=h({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.RACE_CP?Z_(a,F.getInstance(t)):n()),Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.RACE_CP?X_(a,F.getInstance(t)):n());const[Y_]=h({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:F.getInstance(t)}}}),[z_]=h({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:F.getInstance(t)}}}),J_=Object.freeze({onPlayerEnter:Y_,onPlayerLeave:z_,onStreamIn:K_,onStreamOut:j_});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:_,z:p,r:S,invulnerable:g,health:P,extended:E}=this.sourceInfo;return t??=u.StreamerDistances.ACTOR_SD,s??=0,E?(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=u.CreateDynamicActorEx(o,d,_,p,S,g,P,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=u.CreateDynamicActor(o,d,_,p,S,g,P,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"):(u.DestroyDynamicActor(this.id),k.actors.delete(this.id),this._id=-1,this)}isValid(){return u.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:u.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){return this.id===-1?l.warn("[StreamerActor]: Unable to get virtual world before create"):u.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){return this.id===-1?l.warn("[StreamerActor]: Unable to set virtual world before create"):u.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=Ke(t,a);return o===void 0?l.error("[StreamerActor]: Invalid anim library or name"):u.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"):u.ClearDynamicActorAnimations(this.id)}getFacingAngle(){return this.id===-1?l.warn("[StreamerActor]: Unable to get facing angle before create"):u.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){return this.id===-1?l.warn("[StreamerActor]: Unable to set facing angle before create"):u.SetDynamicActorFacingAngle(this.id,t)}getPos(){return this.id===-1?l.warn("[StreamerActor]: Unable to get pos before create"):u.GetDynamicActorPos(this.id)}setPos(t,a,n){return this.id===-1?l.warn("[StreamerActor]: Unable to set pos before create"):u.SetDynamicActorPos(this.id,t,a,n)}getHealth(){return this.id===-1?l.warn("[StreamerActor]: Unable to get health before create"):u.GetDynamicActorHealth(this.id)}setHealth(t){return this.id===-1?l.warn("[StreamerActor]: Unable to set health before create"):u.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:u.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){return this.id===-1?l.warn("[StreamerActor]: Unable to set invulnerable before create"):u.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t){if(this.id===-1)return;const a=u.GetPlayerTargetDynamicActor(t.id);return k.actors.get(a)}getPlayerCameraTarget(t){if(this.id===-1)return;const a=u.GetPlayerCameraTargetDynActor(t.id);return k.actors.get(a)}getSkin(){return this.id===-1?l.warn("[StreamerActor]: Unable to get skin before create"):fr(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:Ar(this.id,t)}getSpawnInfo(){return this.id===-1?l.warn("[StreamerActor]: Unable to get spawn info before create"):Er(this.id)}getAnimation(){return this.id===-1?l.warn("[StreamerActor]: Unable to get animation before create"):u.GetDynamicActorAnimation(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerActor]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(u.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(u.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[$_]=h({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:k.getInstance(e),forPlayer:m.getInstance(t)}}}),[Q_]=h({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:k.getInstance(e),forPlayer:m.getInstance(t)}}}),[q_]=h({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),actor:k.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),eh=Object.freeze({onStreamIn:$_,onStreamOut:Q_,onPlayerGiveDamage:q_});class j{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:_}=this.sourceInfo;const{charset:p,text:S,color:g,drawDistance:P,x:E,y:b,z:M,extended:ee}=this.sourceInfo;return t??=T.PLAYER_ID,a??=T.VEHICLE_ID,i??=c.StreamerDistances.TEXT_3D_LABEL_SD,n??=!1,_??=0,ee?(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=tc(S,I(g),E,b,M,P,t,a,n,i,r,s,o,d,_,p||"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=ec(p||"utf8",S,I(g),E,b,M,P,t,a,n,r,s,o,i,d,_)),j.texts.set(this.id,this),this}destroy(){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to destroy before create"):(c.DestroyDynamic3DTextLabel(this.id),j.texts.delete(this.id),this._id=-1,this)}isValid(){return c.IsValidDynamic3DTextLabel(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"):nc(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,ac(this.id,I(t),a,n||"utf8"))}toggleCallbacks(t=!0){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(c.StreamerItemTypes.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(c.StreamerItemTypes.TEXT_3D_LABEL,this.id)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}}L.onExit(({next:e})=>(j.getInstances().forEach(t=>t.destroy()),e()));const[th,ah]=h({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[nh,ih]=h({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.TEXT_3D_LABEL?ah(a,j.getInstance(t)):n()),Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.TEXT_3D_LABEL?ih(a,j.getInstance(t)):n());const rh=Object.freeze({onStreamIn:th,onStreamOut:nh});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:_,y:p,z:S,rx:g,ry:P,rz:E,extended:b}=this.sourceInfo;return t??=u.StreamerDistances.OBJECT_SD,a??=u.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=u.CreateDynamicObjectEx(d,_,p,S,g,P,E,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=u.CreateDynamicObject(d,_,p,S,g,P,E,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"):(u.DestroyDynamicObject(this.id),v.objects.delete(this.id),this._id=-1,this)}isValid(){return u.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){return this.id===-1?l.warn("[StreamerObject]: Cannot get position before create"):u.GetDynamicObjectPos(this.id)}setPos(t,a,n){return this.id===-1?l.warn("[StreamerObject]: Cannot set position before create"):u.SetDynamicObjectPos(this.id,t,a,n)}getRot(){return this.id===-1?l.warn("[StreamerObject]: Cannot get rotation before create"):u.GetDynamicObjectRot(this.id)}setRot(t,a,n){return this.id===-1?l.warn("[StreamerObject]: Cannot set rotation before create"):u.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(),u.MoveDynamicObject(this.id,t,a,n,i,r,s,o))}stop(){return this.id===-1?l.warn("[StreamerObject]: Cannot stop moving before create"):u.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:u.IsDynamicObjectMoving(this.id)}attachCamera(t){return this.id===-1||t.id===-1?l.warn("[StreamerObject]: Cannot attachCamera before both are created"):u.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"):u.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"):u.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"):u.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(),u.EditDynamicObject(t.id,this.id))}isMaterialUsed(t){return this.id===-1?!1:u.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:u.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,a,n){return this.id===-1?l.warn("[StreamerObject]: Unable to get material before create"):u.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"):u.SetDynamicObjectMaterial(this.id,t,a,n,i,I(r))}isMaterialTextUsed(t){return this.id===-1?!1:u.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?u.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){return this.id===-1?l.warn("[StreamerObject]: Unable to get material text before create"):rc(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,a,n,i=u.MaterialTextSizes.SIZE_256x128,r="Arial",s=24,o=1,d="#fff",_="#000",p=0){return this.id===-1?l.warn("[StreamerObject]: Unable to set material text before create"):(this.sourceInfo.charset=t,ic(t||"utf8",this.id,a,n,i,r,s,o,I(d),I(_),p))}getPlayerCameraTarget(t){const a=u.GetPlayerCameraTargetDynObject(t.id);if(a!==T.OBJECT_ID)return v.objects.get(a)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerObject]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(u.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(u.StreamerItemTypes.OBJECT,this.id)}setNoCameraCollision(){return u.SetDynamicObjectNoCameraCol(this.id)}getNoCameraCollision(){return u.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[sh,lh]=h({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[oh,dh]=h({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.OBJECT?lh(a,v.getInstance(t)):n()),Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.OBJECT?dh(a,v.getInstance(t)):n());const[ch]=h({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:v.getInstance(e)}}}),[_h]=h({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",beforeEach(e,t,a,n,i,r,s,o,d){return{player:m.getInstance(e),object:v.getInstance(t),response:a,x:n,y:i,z:r,rX:s,rY:o,rZ:d}}}),[hh]=h({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:m.getInstance(e),object:v.getInstance(t),modelId:a,x:n,y:i,z:r}}}),[uh]=h({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:m.getInstance(e),object:v.getInstance(a),weapon:t,x:n,y:i,z:r}}}),[mh]=h({name:"OnPlayerEditAttachedObject",beforeEach(e,t,a,n,i,r,s,o,d,_,p,S,g,P){return{player:m.getInstance(e),response:t,index:a,modelId:n,boneId:i,fOffsetX:r,fOffsetY:s,fOffsetZ:o,fRotX:d,fRotY:_,fRotZ:p,fScaleX:S,fScaleY:g,fScaleZ:P}}}),ph=Object.freeze({onMoved:ch,onPlayerEdit:_h,onPlayerSelect:hh,onPlayerShoot:uh,onPlayerEditAttached:mh,onStreamIn:sh,onStreamOut:oh});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=u.CreateDynamicCircleEx(s,o,d,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:o,minZ:d,maxX:_,maxY:p,maxZ:S}=this.sourceInfo;this._id=u.CreateDynamicCuboidEx(s,o,d,_,p,S,t,a,n)}else if(i==="cylinder"){const{x:s,y:o,minZ:d,maxZ:_,size:p}=this.sourceInfo;if(p<0)return l.error("[StreamerArea]: Invalid cylinder extend size");this._id=u.CreateDynamicCylinderEx(s,o,d,_,p,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=u.CreateDynamicPolygonEx(s,o,d,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:o,maxX:d,maxY:_}=this.sourceInfo;this._id=u.CreateDynamicRectangleEx(s,o,d,_,t,a,n)}else{const{x:s,y:o,z:d,size:_}=this.sourceInfo;if(_<0)return l.error("[StreamerArea]: Invalid sphere extended size");this._id=u.CreateDynamicSphereEx(s,o,d,_,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=u.CreateDynamicCircle(s,o,d,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:o,minZ:d,maxX:_,maxY:p,maxZ:S}=this.sourceInfo;this._id=u.CreateDynamicCuboid(s,o,d,_,p,S,t,a,n)}else if(i==="cylinder"){const{x:s,y:o,minZ:d,maxZ:_,size:p}=this.sourceInfo;if(p<0)return l.error("[StreamerArea]: Invalid cylinder size");this._id=u.CreateDynamicCylinder(s,o,d,_,p,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=u.CreateDynamicPolygon(s,o,d,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:o,maxX:d,maxY:_}=this.sourceInfo;this._id=u.CreateDynamicRectangle(s,o,d,_,t,a,n)}else{const{x:s,y:o,z:d,size:_}=this.sourceInfo;if(_<0)return l.error("[StreamerArea]: Invalid sphere size");this._id=u.CreateDynamicSphere(s,o,d,_,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"):(u.DestroyDynamicArea(this.id),R.areas.delete(this.id),this._id=-1,this)}isValid(){return this.id===-1?!1:u.IsValidDynamicArea(this.id)}getType(){return this.id!==-1?l.warn("[StreamerArea]: Unable to get type before create"):u.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)return l.warn("[StreamerArea]: Unable to get polygon points before create");if(this.type==="polygon")return u.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 u.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,a=!1){return this.id===-1?!1:u.IsPlayerInDynamicArea(t.id,this.id,a)}static isPlayerInAny(t,a=!1){return u.IsPlayerInAnyDynamicArea(t.id,a)}isAnyPlayerIn(t=!1){return this.id===-1?!1:u.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return u.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t){return R.getPlayerAreasNumber(t)?u.GetPlayerDynamicAreas(t.id).map(a=>R.areas.get(a)):[]}static getPlayerAreasNumber(t){return u.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,a,n){return this.id===-1?!1:u.IsPointInDynamicArea(this.id,t,a,n)}static isPointInAny(t,a,n){return u.IsPointInAnyDynamicArea(t,a,n)}isLineIn(t,a,n,i,r,s){return this.id===-1?!1:u.IsLineInDynamicArea(this.id,t,a,n,i,r,s)}static isLineInAny(t,a,n,i,r,s){return u.IsLineInAnyDynamicArea(t,a,n,i,r,s)}static getForPoint(t,a,n){return R.getNumberForPoint(t,a,n)?u.GetDynamicAreasForPoint(t,a,n).map(i=>R.getInstance(i)):[]}static getNumberForPoint(t,a,n){return u.GetNumberDynamicAreasForPoint(t,a,n)}static getForLine(t,a,n,i,r,s){return R.getNumberForLine(t,a,n,i,r,s)?u.GetDynamicAreasForLine(t,a,n,i,r,s).map(o=>R.areas.get(o)):[]}static getNumberForLine(t,a,n,i,r,s){return u.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"):u.AttachDynamicAreaToObject(this.id,t.id,u.StreamerObjectTypes.DYNAMIC,T.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"):u.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"):u.AttachDynamicAreaToVehicle(this.id,t.id,a,n,i)}toggleSpectateMode(t){return this.id===-1?l.warn("[StreamerArea]: Unable to toggle specate mode before create"):u.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:u.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerArea]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(u.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(u.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[Sh,gh]=h({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[yh,Ih]=h({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.AREA?gh(a,R.getInstance(t)):n()),Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.AREA?Ih(a,R.getInstance(t)):n());const[Ph]=h({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:R.getInstance(t)}}}),[fh]=h({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:R.getInstance(t)}}}),Ah=Object.freeze({onStreamIn:Sh,onStreamOut:yh,onPlayerEnter:Ph,onPlayerLeave:fh});class y{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(y.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=_d(i.id,t,a,n);const r=_e.onDisconnect(({player:s,next:o})=>{const d=o();return s===i&&(this.destroy(),r()),d});y.playerTextDraws.set(this.id,this)}else{if(y.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=fo(t,a,n),y.globalTextDraws.set(this.id,this)}return this}destroy(){if(this.id===-1)return y.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(hd(t.id,this.id),y.playerTextDraws.delete(this.id)):(Ao(this.id),y.globalTextDraws.delete(this.id)),this._id=-1,this}setFont(t){if(this.id===-1)return y.beforeCreateWarn("set font"),this;const{player:a}=this.sourceInfo;return a?Ad(a.id,this.id,t):wo(this.id,t),this}setColor(t){if(this.id===-1)return y.beforeCreateWarn("set color"),this;const{player:a}=this.sourceInfo;return a?Sd(a.id,this.id,t):Do(this.id,t),this}setBoxColors(t){if(this.id===-1)return y.beforeCreateWarn("set box color"),this;const{player:a}=this.sourceInfo;return a?yd(a.id,this.id,t):Lo(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return y.beforeCreateWarn("set background color"),this;const{player:a}=this.sourceInfo;return a?fd(a.id,this.id,t):vo(this.id,t),this}setAlignment(t){if(this.id===-1)return y.beforeCreateWarn("set alignment"),this;const{player:a}=this.sourceInfo;return a?pd(a.id,this.id,t):Co(this.id,t),this}setLetterSize(t,a){if(this.id===-1)return y.beforeCreateWarn("set letter size"),this;const{player:n}=this.sourceInfo;return n?ud(n.id,this.id,t,a):Eo(this.id,t,a),this}setOutline(t){if(this.id===-1)return y.beforeCreateWarn("set outline model"),this;if(t<0)return l.warn("[TextDraw]: Invalid outline value"),this;const{player:a}=this.sourceInfo;return a?Pd(a.id,this.id,t):bo(this.id,t),this}setPreviewModel(t){if(this.id===-1)return y.beforeCreateWarn("set preview model"),this;this.setFont(Q.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?Ld(a.id,this.id,t):Ho(this.id,t),this}setPreviewRot(t,a,n,i=1){if(this.id===-1)return y.beforeCreateWarn("set preview rot"),this;this.setFont(Q.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?Rd(r.id,this.id,t,a,n,i):Vo(this.id,t,a,n,i),this}setPreviewVehColors(t,a){if(this.id===-1)return y.beforeCreateWarn("set preview veh col"),this;this.setFont(Q.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?bd(n.id,this.id,t,a):Uo(this.id,t,a),this}setProportional(t=!0){if(this.id===-1)return y.beforeCreateWarn("set Proportional"),this;const{player:a}=this.sourceInfo;return a?Ed(a.id,this.id,t):Oo(this.id,t),this}setSelectable(t){if(this.id===-1)return y.beforeCreateWarn("set Selectable"),this;const{player:a}=this.sourceInfo;return a?Td(a.id,this.id,t):Go(this.id,t),this}setShadow(t){if(this.id===-1)return y.beforeCreateWarn("set shadow"),this;if(t<0)return l.warn("[TextDraw]: Invalid shadow value"),this;const{player:a}=this.sourceInfo;return a?Id(a.id,this.id,t):Ro(this.id,t),this}setString(t,a){if(this.id===-1)return y.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?Nd(n.id,this.id,t):a?Po(this.id,a.id,t):xo(this.id,t),this}setTextSize(t,a){if(this.id===-1)return y.beforeCreateWarn("set TextSize"),this;const{player:n}=this.sourceInfo;return n?md(n.id,this.id,t,a):To(this.id,t,a),this}useBox(t){if(this.id===-1)return y.beforeCreateWarn("set TextSize"),this;const{player:a}=this.sourceInfo;return a?gd(a.id,this.id,t):No(this.id,t),this}static beforeCreateWarn(t){l.warn(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return y.beforeCreateWarn("show"),this;const a=this.sourceInfo.player;if(a)Cd(a.id,this.id);else if(t)Bo(t.id,this.id);else return l.warn("[TextDraw]: invalid player for show"),this;return this}hide(t){if(this.id===-1)return y.beforeCreateWarn("hide"),this;const a=this.sourceInfo.player;if(a)Dd(a.id,this.id);else if(t)Fo(t.id,this.id);else return l.warn("[TextDraw]: invalid player for hide"),this;return this}showAll(){return this.id===-1?(y.beforeCreateWarn("show"),this):this.sourceInfo.player?(l.warn("[TextDraw]: player's textdraw should not be show for all."),this):(ko(this.id),this)}hideAll(){return this.id===-1?(y.beforeCreateWarn("hideAll"),this):this.sourceInfo.player?(l.warn("[TextDraw]: player's textdraw should not be hide for all."),this):(Mo(this.id),this)}isValid(){const t=this.sourceInfo.player;return t?Zo(t.id,this.id):ql(this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const{player:a}=this.sourceInfo;return a?jo(a.id,this.id):t?eo(t.id,this.id):!1}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?Xo(t.id,this.id):to(this.id)}setPos(t,a){if(this.id===-1)return y.beforeCreateWarn("set position"),this;const n=this.sourceInfo.player;return n?Yo(n.id,this.id,t,a):ao(this.id,t,a),this}getLetterSize(){if(this.id===-1)return y.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?zo(t.id,this.id):no(this.id)}getTextSize(){if(this.id===-1)return y.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?Jo(t.id,this.id):io(this.id)}getPos(){if(this.id===-1)return y.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?$o(t.id,this.id):ro(this.id)}getColor(){if(this.id===-1)return y.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?Qo(t.id,this.id):so(this.id)}getBoxColor(){if(this.id===-1)return y.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?qo(t.id,this.id):lo(this.id)}getBackgroundColor(){if(this.id===-1)return y.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?ed(t.id,this.id):oo(this.id)}getShadow(){if(this.id===-1)return y.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?td(t.id,this.id):co(this.id)}getOutline(){if(this.id===-1)return y.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?ad(t.id,this.id):_o(this.id)}getFont(){if(this.id===-1)return y.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?nd(t.id,this.id):ho(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?id(t.id,this.id):uo(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?rd(t.id,this.id):mo(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?sd(t.id,this.id):po(this.id)}getAlignment(){if(this.id===-1)return y.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?ld(t.id,this.id):So(this.id)}getPreviewModel(){if(this.id===-1)return y.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?od(t.id,this.id):go(this.id)}getPreviewRot(){if(this.id===-1)return y.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?dd(t.id,this.id):yo(this.id)}getPreviewVehColors(){if(this.id===-1)return y.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?cd(t.id,this.id):Io(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})=>(y.getInstances(!0).forEach(t=>t.destroy()),y.getInstances(!1).forEach(t=>t.destroy()),e()));const[Eh]=h({name:"OnPlayerClickTextDraw",beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===T.TEXT_DRAW?t:y.getInstance(t,!0)}}}),[Th]=h({name:"OnPlayerClickPlayerTextDraw",beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===T.TEXT_DRAW?t:y.getInstance(t,!1)}}}),Ch=Object.freeze({onPlayerClickGlobal:Eh,onPlayerClickPlayer:Th});function Dh(e,t){return(e&t)===t}function Nh(e,t,a){return(e&a)===a&&(t&a)!==a}function Lh(e,t){return!!(e&t)}function Rh(e,t,a){return(e&a)!==a&&(t&a)===a}Object.defineProperty(exports,"E_STREAMER",{enumerable:!0,get:function(){return c.E_STREAMER}}),Object.defineProperty(exports,"MapIconStyles",{enumerable:!0,get:function(){return c.MapIconStyles}}),Object.defineProperty(exports,"MaterialTextSizes",{enumerable:!0,get:function(){return c.MaterialTextSizes}}),Object.defineProperty(exports,"StreamerAreaTypes",{enumerable:!0,get:function(){return c.StreamerAreaTypes}}),Object.defineProperty(exports,"StreamerDistances",{enumerable:!0,get:function(){return c.StreamerDistances}}),Object.defineProperty(exports,"StreamerItemTypes",{enumerable:!0,get:function(){return c.StreamerItemTypes}}),Object.defineProperty(exports,"StreamerMiscellaneous",{enumerable:!0,get:function(){return c.StreamerMiscellaneous}}),Object.defineProperty(exports,"StreamerObjectTypes",{enumerable:!0,get:function(){return c.StreamerObjectTypes}}),exports.ArtworkEnum=Pe,exports.BodyPartsEnum=Oe,exports.BoneIdsEnum=Ge,exports.BulletHitTypesEnum=Ve,exports.CameraCutStylesEnum=te,exports.CameraModesEnum=we,exports.CarModTypeEnum=Fe,exports.ClickSourcesEnum=fe,exports.ConnectionStatusEnum=Ee,exports.DamageDeathReasonEnum=se,exports.Dialog=D,exports.DialogStylesEnum=ie,exports.Dynamic3DTextLabel=j,exports.Dynamic3DTextLabelEvent=rh,exports.DynamicActor=k,exports.DynamicActorEvent=eh,exports.DynamicArea=R,exports.DynamicAreaEvent=Ah,exports.DynamicCheckPointEvent=W_,exports.DynamicCheckpoint=B,exports.DynamicMapIcon=V,exports.DynamicMapIconEvent=b_,exports.DynamicObject=v,exports.DynamicObjectEvent=ph,exports.DynamicPickup=H,exports.DynamicPickupEvent=F_,exports.DynamicRaceCP=F,exports.DynamicRaceCPEvent=J_,exports.ERecordStatus=O,exports.EditResponseTypesEnum=Ae,exports.FightingStylesEnum=be,exports.GameMode=L,exports.GameText=m_,exports.GangZone=N,exports.GangZoneEvent=T_,exports.I18n=f,exports.InvalidEnum=T,exports.KeysEnum=Te,exports.LimitsEnum=w,exports.MapIconStylesEnum=ve,exports.MarkerModesEnum=Ce,exports.Menu=X,exports.MenuEvent=g_,exports.NPCPlaybackEnum=De,exports.NetStats=u_,exports.Npc=G,exports.NpcEvent=ut,exports.ObjectMaterialAlignmmentEnum=Le,exports.ObjectMaterialTextSizeEnum=Ne,exports.Player=m,exports.PlayerEvent=_e,exports.PlayerStateEnum=Y,exports.RecordTypesEnum=We,exports.SelectObjectTypesEnum=Re,exports.SpecialActionsEnum=re,exports.SpectateModesEnum=ae,exports.Streamer=C,exports.TextDraw=y,exports.TextDrawAlignEnum=Be,exports.TextDrawEvent=Ch,exports.TextDrawFontsEnum=Q,exports.Vehicle=A,exports.VehicleEvent=h_,exports.VehicleModelInfoEnum=Me,exports.VehicleParamsEnum=ke,exports.WeaponEnum=xe,exports.WeaponSkillsEnum=He,exports.WeaponStatesEnum=Ue,exports.defineEvent=h,exports.isHolding=Dh,exports.isPressed=Nh,exports.isPressing=Lh,exports.isReleased=Rh,exports.rgba=I;
|