@infernus/core 0.11.11 → 0.11.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bundle.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import{encodingExists as kt,encode as Mt,decode as Ht}from"iconv-lite";import*as u from"@infernus/streamer";import{Streamer_GetTickRate as Vt,Streamer_SetTickRate as Ut,Streamer_GetPlayerTickRate as Wt,Streamer_SetPlayerTickRate as jt,Streamer_ToggleChunkStream as Kt,Streamer_IsToggleChunkStream as Zt,Streamer_GetChunkTickRate as ke,Streamer_SetChunkTickRate as Me,Streamer_GetChunkSize as Xt,Streamer_SetChunkSize as zt,Streamer_GetMaxItems as Yt,Streamer_SetMaxItems as $t,Streamer_GetVisibleItems as He,Streamer_SetVisibleItems as Ve,Streamer_GetRadiusMultiplier as Ue,Streamer_SetRadiusMultiplier as We,Streamer_GetTypePriority as Jt,Streamer_SetTypePriority as Qt,Streamer_GetCellDistance as qt,Streamer_SetCellDistance as ea,Streamer_GetCellSize as ta,Streamer_SetCellSize as aa,Streamer_ToggleItemStatic as ia,Streamer_IsToggleItemStatic as na,Streamer_ToggleItemInvAreas as ra,Streamer_IsToggleItemInvAreas as sa,Streamer_ToggleItemCallbacks as la,Streamer_IsToggleItemCallbacks as oa,Streamer_ToggleErrorCallback as da,Streamer_IsToggleErrorCallback as ca,Streamer_AmxUnloadDestroyItems as _a,Streamer_ProcessActiveItems as ha,Streamer_ToggleIdleUpdate as ua,Streamer_IsToggleIdleUpdate as ma,Streamer_ToggleCameraUpdate as pa,Streamer_IsToggleCameraUpdate as ga,Streamer_ToggleItemUpdate as fa,Streamer_IsToggleItemUpdate as Sa,Streamer_GetLastUpdateTime as ya,Streamer_Update as Pa,Streamer_UpdateEx as Ia,Streamer_GetDistanceToItem as Ea,Streamer_ToggleItem as Aa,Streamer_IsToggleItem as Ca,Streamer_ToggleAllItems as Ta,Streamer_GetItemInternalID as Da,Streamer_GetItemStreamerID as wa,Streamer_IsItemVisible as Na,Streamer_DestroyAllVisibleItems as va,Streamer_CountVisibleItems as ba,Streamer_DestroyAllItems as La,Streamer_CountItems as Ra,Streamer_GetNearbyItems as Ga,Streamer_GetAllVisibleItems as Oa,Streamer_GetItemPos as Fa,Streamer_SetItemPos as Ba,Streamer_GetItemOffset as xa,Streamer_SetItemOffset as ka,Streamer_GetFloatData as Ma,Streamer_SetFloatData as Ha,Streamer_GetIntData as Va,Streamer_SetIntData as Ua,Streamer_GetArrayData as Wa,Streamer_SetArrayData as ja,Streamer_IsInArrayData as Ka,Streamer_AppendArrayData as Za,Streamer_RemoveArrayData as Xa,Streamer_GetArrayDataLength as za,Streamer_GetUpperBound as Ya,MapIconStyles as $a,StreamerDistances as fe,CreateDynamicMapIconEx as Ja,CreateDynamicMapIcon as Qa,DestroyDynamicMapIcon as qa,IsValidDynamicMapIcon as ei,StreamerItemTypes as A,CreateDynamicCPEx as ti,CreateDynamicCP as ai,DestroyDynamicCP as je,IsValidDynamicCP as Ke,TogglePlayerDynamicCP as ii,TogglePlayerAllDynamicCPs as ni,IsPlayerInDynamicCP as ri,GetPlayerVisibleDynamicCP as si,CreateDynamicRaceCPEx as li,CreateDynamicRaceCP as oi,TogglePlayerDynamicRaceCP as di,TogglePlayerAllDynamicRaceCPs as ci,IsPlayerInDynamicRaceCP as _i,GetPlayerVisibleDynamicRaceCP as hi,DestroyDynamic3DTextLabel as ui,IsValidDynamic3DTextLabel as mi,E_STREAMER as oe}from"@infernus/streamer";import{E_STREAMER as fp,MapIconStyles as Sp,MaterialTextAlign as yp,MaterialTextSizes as Pp,StreamerAreaTypes as Ip,StreamerDistances as Ep,StreamerItemTypes as Ap,StreamerMiscellaneous as Cp,StreamerObjectTypes as Tp}from"@infernus/streamer";function Ze(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t===null||t===Object.prototype||Object.getPrototypeOf(t)===null?Object.prototype.toString.call(e)==="[object Object]":!1}function pi(e,t){const a={},i=Object.keys(e);for(let n=0;n<i.length;n++){const r=i[n],s=e[r];a[t(s,r,e)]=s}return a}function de(e,t){const a=Object.keys(t);for(let i=0;i<a.length;i++){const n=a[i],r=t[n],s=e[n];Array.isArray(r)?Array.isArray(s)?e[n]=de(s,r):e[n]=de([],r):Ze(r)?Ze(s)?e[n]=de(s,r):e[n]=de({},r):(s===void 0||r!==void 0)&&(e[n]=r)}return e}function gi(e,t){const a={...e};for(let i=0;i<t.length;i++){const n=t[i];delete a[n]}return a}const fi=new RegExp("\\p{Lu}?\\p{Ll}+|[0-9]+|\\p{Lu}+(?!\\p{Ll})|\\p{Emoji_Presentation}|\\p{Extended_Pictographic}|\\p{L}+","gu");function Si(e){return Array.from(e.match(fi)??[])}function Pe(e){return Si(e).map(a=>a.toLowerCase()).join("_")}function yi(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function Pi(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function Ii(e){const t=[],a=e.length;if(a===0)return t;let i=0,n="",r="",s=!1;for(e.charCodeAt(0)===46&&(t.push(""),i++);i<a;){const l=e[i];r?l==="\\"&&i+1<a?(i++,n+=e[i]):l===r?r="":n+=l:s?l==='"'||l==="'"?r=l:l==="]"?(s=!1,t.push(n),n=""):n+=l:l==="["?(s=!0,n&&(t.push(n),n="")):l==="."?n&&(t.push(n),n=""):n+=l,i++}return n&&t.push(n),t}function Ie(e,t,a){if(e==null)return a;switch(typeof t){case"string":{const i=e[t];return i===void 0?yi(t)?Ie(e,Ii(t),a):a:i}case"number":case"symbol":{typeof t=="number"&&(t=Pi(t));const i=e[t];return i===void 0?a:i}default:{if(Array.isArray(t))return Ei(e,t,a);Object.is(t?.valueOf(),-0)?t="-0":t=String(t);const i=e[t];return i===void 0?a:i}}}function Ei(e,t,a){if(t.length===0)return a;let i=e;for(let n=0;n<t.length;n++){if(i==null)return a;i=i[t[n]]}return i===void 0?a:i}function Ai(e){return e instanceof Buffer}class P{constructor(t,a){this.defaultLocale=t,this.locales=a,this.defaultLocale=Pe(t),this.locales=P.snakeLocaleKeys(a)}addLocales=t=>{de(this.locales,P.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=gi(this.locales,t)};$t=(t,a,i=this.defaultLocale)=>{const n=this.locales[Pe(i)],r=Ie(this.locales[this.defaultLocale],t),s=Ie(n,t,r);if(s===void 0)throw new Error(`[i18n]: cannot find ${i}["${t}"]`);if(typeof s!="string")return JSON.stringify(s);let l=s;if(a&&a.length){const o=/%s/i;for(let d=0;d<a.length&&l.match(o)!==null;d++)l=l.replace(o,a[d])}return l};static isValidate(t){if(!kt(t))throw new Error(`[i18n]: unknown charset ${t}`)}static encodeToBuf(t,a){return P.isValidate(a),[...Mt(t,a),0]}static decodeFromBuf(t,a="utf8"){P.isValidate(a);const i=Ai(t)?t:Buffer.from(P.getValidStr(t));return Ht(i,a)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return pi(t,(a,i)=>Pe(i))}static convertSpecialChar(t){const a={\u00E0:"\x97",\u00E1:"\x98",\u00E2:"\x99",\u00E4:"\x9A",\u00C0:"\x80",\u00C1:"\x81",\u00C2:"\x82",\u00C4:"\x83",\u00E8:"\x9D",\u00E9:"\x9E",\u00EA:"\x9F",\u00EB:"\xA0",\u00C8:"\x86",\u00C9:"\x87",\u00CA:"\x88",\u00CB:"\x89",\u00EC:"\xA1",\u00ED:"\xA2",\u00EE:"\xA3",\u00EF:"\xA4",\u00CC:"\x8A",\u00CD:"\x8B",\u00CE:"\x8C",\u00CF:"\x8D",\u00F2:"\xA5",\u00F3:"\xA6",\u00F4:"\xA7",\u00F6:"\xA8",\u00D2:"\x8E",\u00D3:"\x8F",\u00D4:"\x90",\u00D6:"\x91",\u00F9:"\xA9",\u00FA:"\xAA",\u00FB:"\xAB",\u00FC:"\xAC",\u00D9:"\x92",\u00DA:"\x93",\u00DB:"\x94",\u00DC:"\x95",\u00F1:"\xAE",\u00D1:"\xAD","\xA1":"@","\xBF":"\xAF","`":"\xB1"};return t.split("").map(i=>i in a?a[i]:i).join("")}}const B=new Map,Xe=new Map;function Ci(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function Ti(e,...t){const{defaultValue:a=!0,name:i,beforeEach:n,afterEach:r,throwOnError:s=!1}=e,l=B.get(i);if(!l||!l.length)return+a;const o=n?n(...t):{},d=[];let h=-1;const p=g=>{if(h++,h<l.length){try{g&&Object.assign(o,g);const y={next:p,defaultValue:a,...o},f=l[h](y);return f instanceof Promise&&d.push(f),f}catch(y){const f=`executing event [name:${i},index:${h}] error:
2
- ${y}`;if(s)throw{error:y,message:f};console.log(f)}return a}return r&&(d.length?Promise.allSettled(d).then(()=>r(o)):r(o)),a};return Ci(p(),a)}function _(e){const{name:t,identifier:a,isNative:i=!0}=e;if(B.has(t)){const l=`event [name:${t}] error: already defined.`;throw new Error(l)}function n(...l){return Ti(e,...l)}function r(l){B.has(t)||B.set(t,[]);const o=B.get(t).push(l)-1;return()=>{const d=B.get(t);if(!d)return;const h=d.length-1,p=h<o?h:o;for(let g=p;g>=0;g--)if(d[g]===l){d.splice(g,1);break}return d.length===0&&B.delete(t),d.length}}const s=[r,n];return i&&(typeof a<"u"&&samp.registerEvent(t,a),samp.on(t,n)),Xe.set(t,n),s}function Di(e){return Xe.get(e)}const wi=e=>!!samp.callNative("IsValidNickName","s",e),Ni=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},vi=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),bi=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),Li=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),Ri=e=>!!samp.callNative("IsValidServerRule","s",e),Gi=e=>!!samp.callNative("RemoveServerRule","s",e),Oi=e=>{samp.callNative("AllowAdminTeleport","i",e)},Fi=()=>!!samp.callNative("IsAdminTeleportAllowed",""),Bi=e=>{samp.callNative("AllowInteriorWeapons","i",e)},xi=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),ki=()=>!!samp.callNative("AreAllAnimationsEnabled",""),Mi=e=>{samp.callNative("EnableAllAnimations","i",e)},Hi=e=>{const[t]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return t},Vi=e=>samp.callNative("GetConsoleVarAsInt","s",e),Ui=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),Wi=()=>samp.callNative("GetWeather",""),ji=e=>samp.callNative("GetServerRuleFlags","s",e),Ki=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),Zi=e=>!!samp.callNative("SetModeRestartTime","f",e),Xi=()=>samp.callNativeFloat("GetModeRestartTime",""),zi=(e,t,a)=>samp.callNative("GameTextForAll","aii",e,t,a),Yi=e=>{samp.callNative("HideGameTextForAll","i",e)},$i=(e,t,a)=>samp.callNative("SendDeathMessage","iii",e,t,a),Ji=()=>samp.callNative("GetMaxPlayers",""),Ee=(e,t,a)=>Math.sqrt(e*e+t*t+a*a),Qi=e=>samp.callNative("SetGameModeText","s",e),qi=e=>samp.callNative("ShowNameTags","i",e),en=e=>samp.callNative("ShowPlayerMarkers","i",e),tn=e=>samp.callNative("SetWorldTime","i",e),an=()=>samp.callNative("GetWorldTime",""),nn=()=>!!samp.callNative("EnableVehicleFriendlyFire",""),rn=e=>samp.callNative("SetWeather","i",e),sn=()=>samp.callNativeFloat("GetGravity",""),ln=e=>samp.callNative("SetGravity","f",e),on=(e,t,a,i,n)=>samp.callNative("CreateExplosion","fffif",e,t,a,i,n),dn=e=>samp.callNative("EnableZoneNames","i",e),cn=()=>!!samp.callNative("UsePlayerPedAnims",""),_n=()=>!!samp.callNative("DisableInteriorEnterExits",""),hn=e=>samp.callNative("SetNameTagDrawDistance","f",e),un=()=>samp.callNative("DisableNameTagLOS",""),mn=e=>samp.callNative("LimitGlobalChatRadius","f",e),pn=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),gn=(e,t)=>samp.callNative("ConnectNPC","ss",e,t),fn=()=>samp.callNative("GetServerTickRate",""),Sn=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),yn=e=>!!samp.callNative("EnableStuntBonusForAll","i",e),Pn=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},In=()=>!!samp.callNative("ChatTextReplacementToggled",""),En=e=>samp.callNative("GetWeaponSlot","i",e),An=e=>{const[t]=samp.callNative("GetWeaponName","iSi",e,32);return t},ze=()=>samp.callNative("GetAvailableClasses",""),Cn=e=>{if(e<ze()||e>319)return!1;const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[a,i=0,n=0,r=0,s=0,l=0,o=0,d=0,h=0,p=0,g=0,y=0]=t;return{teamId:a,modelId:i,spawnX:n,spawnY:r,spawnZ:s,zAngle:l,weapon1:o,weapon1Ammo:d,weapon2:h,weapon2Ammo:p,weapon3:g,weapon3Ammo:y}},Tn=(e,t,a,i,n,r,s,l,o,d,h,p,g)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,a,i,n,r,s,l,o,d,h,p,g),Dn=e=>samp.callNative("SetTeamCount","i",e),wn=(e,t,a,i,n,r,s,l,o,d,h)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,a,i,n,r,s,l,o,d,h),Nn=(e,t,a,i,n,r,s,l,o,d,h,p)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,a,i,n,r,s,l,o,d,h,p),vn=(e,t,a,i,n,r,s,l,o,d,h,p,g)=>!!samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,a,i,n,r,s,l,o,d,h,p,g),bn=e=>!!samp.callNative("SpawnPlayer","i",e),Ln=e=>{const[t,a=0,i=0,n=0,r=0,s=0,l=0,o=0,d=0,h=0,p=0,g=0]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:a,spawnX:i,spawnY:n,spawnZ:r,zAngle:s,weapon1:l,weapon1Ammo:o,weapon2:d,weapon2Ammo:h,weapon3:p,weapon3Ammo:g}},Rn=e=>samp.callNative("NetStats_GetConnectedTime","i",e),Gn=e=>samp.callNative("NetStats_MessagesReceived","i",e),On=e=>samp.callNative("NetStats_BytesReceived","i",e),Fn=e=>samp.callNative("NetStats_MessagesSent","i",e),Bn=e=>samp.callNative("NetStats_BytesSent","i",e),xn=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),kn=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),Mn=e=>samp.callNative("NetStats_ConnectionStatus","i",e),Hn=e=>{const[t]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return t},Vn=e=>!!samp.callNative("IsPlayerAdmin","i",e),Un=(e,t)=>!!samp.callNative("SetPlayerAdmin","ii",e,t),Wn=e=>!!samp.callNative("Kick","i",e),jn=e=>!!samp.callNative("Ban","i",e),Kn=e=>{const[t]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return t},Zn=()=>samp.callNative("GetNetworkStats","Si",1024),Xn=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),zn=e=>samp.callNative("UnBlockIpAddress","s",e),Yn=(e,t)=>{const[a]=samp.callNative("gpci","iAi",e,41);return P.decodeFromBuf(P.getValidStr(a),t)},$n=(e,t,a,i,n)=>samp.callNative("SendClientCheck","iiiii",e,t,a,i,n),Jn=()=>{samp.callNative("ClearBanList","")},Qn=e=>!!samp.callNative("IsBanned","s",e),qn=e=>samp.callNative("GetPlayerRawIp","i",e),er=e=>{const[t]=samp.callNative("GetPlayerIp","iSi",e,128);return t},tr=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(i=>parseInt(i,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((i,n)=>{i!==0&&(a+=Math.pow(16,n*2)*i)}),a},ar=(e,t)=>!!samp.callNative("TogglePlayerWidescreen","ii",e,t),ir=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),nr=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),rr=e=>samp.callNative("GetPlayerWeather","i",e),sr=e=>{const[t=0,a=0,i=0,n=0]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{xMax:t,xMin:a,yMax:i,yMin:n}},lr=e=>samp.callNativeFloat("GetPlayerZAim","i",e),or=e=>{const[t=0,a=0,i=0]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:a,fOffsetZ:i}},dr=e=>{const[t=0,a=0,i=0,n=0]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:a,y:i,z:n}},cr=e=>samp.callNative("GetPlayerDialogID","i",e),_r=e=>samp.callNative("GetPlayerSpectateID","i",e),hr=e=>samp.callNative("GetPlayerSpectateType","i",e),ur=(e,t)=>!!samp.callNative("SetPlayerGravity","if",e,t),mr=e=>samp.callNativeFloat("GetPlayerGravity","i",e),pr=e=>!!samp.callNative("IsPlayerSpawned","i",e),gr=e=>!!samp.callNative("IsPlayerControllable","i",e),fr=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),Sr=(e,t)=>!!samp.callNative("TogglePlayerGhostMode","ii",e,t),yr=e=>!!samp.callNative("GetPlayerGhostMode","i",e),Pr=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),Ir=(e,t)=>!!samp.callNative("RemovePlayerWeapon","ii",e,t),Er=e=>!!samp.callNative("HidePlayerDialog","i",e),Ar=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),Cr=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),Tr=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),Dr=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),wr=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),Nr=(e,t,a,i)=>!!samp.callNative("GameTextForPlayer","iaii",e,t,a,i),vr=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),br=(e,t,a,i)=>!!samp.callNative("SendDeathMessageToPlayer","iiii",e,t,a,i),Lr=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),Rr=e=>!!samp.callNative("IsPlayerNPC","i",e),Gr=(e,t,a,i)=>!!samp.callNative("SetPlayerPos","ifff",e,t,a,i),Or=(e,t,a,i)=>!!samp.callNative("SetPlayerPosFindZ","ifff",e,t,a,i),Fr=e=>samp.callNative("GetPlayerPos","iFFF",e),Br=(e,t)=>!!samp.callNative("SetPlayerFacingAngle","if",e,t),xr=e=>{const[t]=samp.callNative("GetPlayerFacingAngle","iF",e);return t},kr=(e,t,a,i,n)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,a,i,n),Mr=(e,t,a,i)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,a,i),Hr=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),Vr=(e,t)=>!!samp.callNative("SetPlayerInterior","ii",e,t),Ur=e=>samp.callNative("GetPlayerInterior","i",e),Wr=(e,t)=>!!samp.callNative("SetPlayerHealth","if",e,t),jr=e=>{const[t]=samp.callNative("GetPlayerHealth","iF",e);return t},Kr=(e,t)=>!!samp.callNative("SetPlayerArmour","if",e,t),Zr=e=>{const[t]=samp.callNative("GetPlayerArmour","iF",e);return t},Xr=(e,t,a)=>!!samp.callNative("SetPlayerAmmo","iii",e,t,a),zr=e=>samp.callNative("GetPlayerAmmo","i",e),Yr=e=>samp.callNative("GetPlayerWeaponState","i",e),$r=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Jr=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},Qr=e=>samp.callNative("GetPlayerTeam","i",e),qr=(e,t)=>!!samp.callNative("SetPlayerScore","ii",e,t),es=e=>samp.callNative("GetPlayerScore","i",e),ts=e=>samp.callNative("GetPlayerDrunkLevel","i",e),as=(e,t)=>!!samp.callNative("SetPlayerDrunkLevel","ii",e,t),is=(e,t)=>!!samp.callNative("SetPlayerColor","ii",e,I(t)),ns=e=>samp.callNative("GetPlayerColor","i",e),rs=(e,t)=>!!samp.callNative("SetPlayerSkin","ii",e,t),ss=e=>samp.callNative("GetPlayerSkin","i",e),ls=(e,t,a)=>!!samp.callNative("GivePlayerWeapon","iii",e,t,a),os=e=>!!samp.callNative("ResetPlayerWeapons","i",e),ds=(e,t)=>!!samp.callNative("SetPlayerArmedWeapon","ii",e,t),cs=(e,t)=>samp.callNative("GetPlayerWeaponData","iiII",e,t),_s=(e,t)=>!!samp.callNative("GivePlayerMoney","ii",e,t),hs=e=>!!samp.callNative("ResetPlayerMoney","i",e),us=e=>samp.callNative("GetPlayerMoney","i",e),ms=e=>samp.callNative("GetPlayerState","i",e),ps=e=>samp.callNative("GetPlayerPing","i",e),gs=e=>samp.callNative("GetPlayerWeapon","i",e),fs=e=>samp.callNative("GetPlayerKeys","iIII",e),Ss=(e,t,a)=>!!samp.callNative("SetPlayerTime","iii",e,t,a),ys=e=>samp.callNative("GetPlayerTime","iII",e),Ps=(e,t)=>!!samp.callNative("TogglePlayerClock","ii",e,t),Is=(e,t)=>!!samp.callNative("SetPlayerWeather","ii",e,t),Es=e=>!!samp.callNative("ForceClassSelection","i",e),As=(e,t)=>!!samp.callNative("SetPlayerWantedLevel","ii",e,t),Cs=e=>samp.callNative("GetPlayerWantedLevel","i",e),Ts=(e,t)=>!!samp.callNative("SetPlayerFightingStyle","ii",e,t),Ds=e=>samp.callNative("GetPlayerFightingStyle","i",e),ws=(e,t,a,i)=>!!samp.callNative("SetPlayerVelocity","ifff",e,t,a,i),Ns=e=>samp.callNative("GetPlayerVelocity","iFFF",e),vs=(e,t,a)=>!!samp.callNative("PlayCrimeReportForPlayer","iii",e,t,a),bs=(e,t,a,i,n,r,s=!1)=>!!samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,a,i,n,r,s),Ls=e=>!!samp.callNative("StopAudioStreamForPlayer","i",e),Rs=(e,t)=>!!samp.callNative("SetPlayerShopName","is",e,t),Gs=(e,t,a)=>!!samp.callNative("SetPlayerSkillLevel","iii",e,t,a),Os=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),Fs=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),Bs=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),xs=(e,t,a,i,n,r)=>!!samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,a,i,n,r),ks=e=>samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e),Ms=(e,t,a)=>!!samp.callNative("PutPlayerInVehicle","iii",e,t,a),Hs=e=>samp.callNative("GetPlayerVehicleID","i",e),Vs=e=>samp.callNative("GetPlayerVehicleSeat","i",e),Us=e=>!!samp.callNative("RemovePlayerFromVehicle","i",e),Ws=(e,t)=>!!samp.callNative("TogglePlayerControllable","ii",e,t),js=(e,t,a,i,n)=>!!samp.callNative("PlayerPlaySound","iifff",e,t,a,i,n),Ks=(e,t,a,i,n,r,s,l,o,d)=>!!samp.callNative("ApplyAnimation","issfiiiiii",e,t,a,i,n,r,s,l,o,d),Zs=(e,t)=>!!samp.callNative("ClearAnimations","ii",e,t),Xs=e=>samp.callNative("GetPlayerAnimationIndex","i",e),zs=e=>samp.callNative("GetPlayerSpecialAction","i",e),Ys=(e,t)=>!!samp.callNative("SetPlayerSpecialAction","ii",e,t),$s=(e,t)=>!!samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),Js=(e,t)=>!!samp.callNative("SetPlayerVirtualWorld","ii",e,t),Qs=e=>samp.callNative("GetPlayerVirtualWorld","i",e),qs=(e,t)=>!!samp.callNative("EnableStuntBonusForPlayer","ii",e,t),el=e=>samp.callNative("GetPlayerCustomSkin","i",e),tl=(e,t,a,i,n,r)=>!!samp.callNative("CreateExplosionForPlayer","ifffif",e,t,a,i,n,r),al=(e,t,a)=>!!samp.callNative("StartRecordingPlayerData","iis",e,t,a),il=e=>!!samp.callNative("StopRecordingPlayerData","i",e),nl=(e,t)=>!!samp.callNative("TogglePlayerSpectating","ii",e,t),rl=(e,t,a)=>!!samp.callNative("PlayerSpectatePlayer","iii",e,t,a),sl=(e,t,a)=>!!samp.callNative("PlayerSpectateVehicle","iii",e,t,a),Ye=e=>!!samp.callNative("IsPlayerConnected","i",e),ll=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),ol=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),dl=(e,t,a,i,n)=>!!samp.callNative("SetPlayerWorldBounds","iffff",e,t,a,i,n),cl=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),_l=(e,t,a)=>!!samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,I(a));function hl(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",e,t)}const ul=(e,t,a)=>!!samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,a),ml=(e,t,a,i)=>!!samp.callNative("SetPlayerCameraPos","ifff",e,t,a,i),pl=(e,t,a,i,n)=>!!samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,a,i,n),gl=e=>!!samp.callNative("SetCameraBehindPlayer","i",e),fl=e=>samp.callNative("GetPlayerCameraPos","iFFF",e),Sl=e=>samp.callNative("GetPlayerCameraFrontVector","iFFF",e),yl=e=>samp.callNative("GetPlayerCameraMode","i",e),Pl=(e,t)=>!!samp.callNative("EnablePlayerCameraTarget","ii",e,t),Il=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),El=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),Al=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),Cl=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),Tl=(e,t,a,i,n,r,s,l,o)=>!!samp.callNative("InterpolateCameraPos","iffffffii",e,t,a,i,n,r,s,l,o),Dl=(e,t,a,i,n,r,s,l,o)=>!!samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,a,i,n,r,s,l,o),wl=e=>!!samp.callNative("IsPlayerCuffed","i",e),Nl=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),vl=e=>!!samp.callNative("IsPlayerUsingOmp","i",e),bl=(e,t)=>samp.callNative("StartRecordingPlayback","is",e,t),Ll=()=>samp.callNative("StopRecordingPlayback",""),Rl=()=>samp.callNative("PauseRecordingPlayback",""),Gl=()=>samp.callNative("ResumeRecordingPlayback",""),Ol=e=>samp.callNative("GetActorSkin","i",e),Fl=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),Bl=e=>{const[t=0,a=0,i=0,n=0,r=0]=samp.callNative("GetActorSpawnInfo","iIFFFF",e);return{skinId:t,fX:a,fY:i,fZ:n,fAngle:r}},xl=e=>{const[t=0,a=0,i=0,n=0,r=0,s=0]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:a,fZ:i,fRot:n,color1:r,color2:s}},kl=(e,t,a,i,n,r,s,l,o=-2,d=-2)=>samp.callNative("SetVehicleSpawnInfo","iiFFFFiiii",e,t,a,i,n,r,s,l,o,d),Ml=e=>{const[t=0,a=0]=samp.callNative("GetVehicleColor","iII",e);return{color1:t,color2:a}},Hl=e=>samp.callNative("GetVehiclePaintjob","i",e),Vl=e=>samp.callNative("GetVehicleInterior","i",e),Ul=e=>{const[t]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return t},Wl=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),jl=e=>samp.callNative("GetVehicleRespawnDelay","i",e),Kl=e=>samp.callNative("GetVehicleCab","i",e),Zl=e=>samp.callNative("GetVehicleOccupiedTick","i",e),Xl=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),zl=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),Yl=e=>!!samp.callNative("IsVehicleOccupied","i",e),$l=e=>samp.callNative("GetVehicleRespawnTick","i",e),Jl=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),Ql=e=>!!samp.callNative("IsVehicleDead","i",e),ql=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),eo=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),to=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),ao=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),io=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),no=e=>samp.callNative("GetVehicleModelCount","i",e),ro=e=>samp.callNative("GetVehicleLastDriver","i",e),so=e=>samp.callNative("GetVehicleDriver","i",e),lo=()=>samp.callNative("GetVehicleModelsUsed",""),oo=e=>samp.callNative("GetVehicleSirenState","i",e),co=e=>samp.callNative("GetVehicleLandingGearState","i",e),_o=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),ho=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),uo=e=>{const[t=0,a=0,i=0,n=0,r=0,s=0,l=0,o=0,d=0]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:a,rightZ:i,upX:n,upY:r,upZ:s,atX:l,atY:o,atZ:d}},$e=e=>{const[t=0,a=0,i=0,n=0]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,a,i,n]}},mo=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),po=(e,t,a,i,n,r,s,l,o)=>samp.callNative("CreateVehicle","iffffiiii",e,t,a,i,n,I(r),I(s),l,o),go=e=>samp.callNative("DestroyVehicle","i",e),fo=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),So=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]}},yo=(e,t,a,i)=>!!samp.callNative("SetVehiclePos","ifff",e,t,a,i),Po=e=>{const[t]=samp.callNative("GetVehicleZAngle","iF",e);return t},Io=e=>samp.callNative("GetVehicleRotationQuat","iFFFF",e),Eo=(e,t,a,i)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,a,i),Ao=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),Co=(e,t,a,i)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,a,i),To=()=>samp.callNative("ManualVehicleEngineAndLights",""),Do=(e,t,a,i,n,r,s,l)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,a,i,n,r,s,l),wo=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),No=e=>samp.callNative("GetVehicleParamsSirenState","i",e),vo=(e,t,a,i,n)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,a,i,n),bo=e=>{const t=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},Lo=(e,t,a,i,n)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,a,i,n),Ro=e=>{const t=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},Go=e=>samp.callNative("SetVehicleToRespawn","i",e),Oo=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),Fo=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),Bo=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),xo=(e,t,a)=>samp.callNative("ChangeVehicleColor","iii",e,I(t),I(a)),ko=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),Mo=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),Ho=e=>{const[t]=samp.callNative("GetVehicleHealth","iF",e);return t},Vo=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),Uo=e=>samp.callNative("DetachTrailerFromVehicle","i",e),Wo=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),jo=e=>samp.callNative("GetVehicleTrailer","i",e),Ko=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),Zo=e=>samp.callNative("GetVehicleModel","i",e),Xo=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),zo=e=>samp.callNative("GetVehicleComponentType","i",e),Yo=e=>samp.callNative("RepairVehicle","i",e),$o=e=>samp.callNative("GetVehicleVelocity","iFFF",e),Jo=(e,t,a,i)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,a,i),Qo=(e,t,a,i)=>!!samp.callNative("SetVehicleAngularVelocity","ifff",e,t,a,i),qo=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]}},ed=(e,t,a,i,n)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,a,i,n),td=(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]}},ad=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),id=e=>samp.callNative("GetVehicleVirtualWorld","i",e),Je=e=>!!samp.callNative("IsValidVehicle","i",e),nd=(e,t,a,i,n,r,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,a,i,n,I(r),I(s)),rd=(e,t,a,i,n,r,s,l,o)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,a,i,n,I(r),I(s),l,o),sd=e=>!!samp.callNative("ShowVehicle","i",e),ld=e=>!!samp.callNative("HideVehicle","i",e),od=e=>!!samp.callNative("IsVehicleHidden","i",e),dd=e=>!!samp.callNative("IsPlayerInModShop","i",e),cd=e=>samp.callNative("GetPlayerSirenState","i",e),_d=e=>samp.callNative("GetPlayerLandingGearState","i",e),hd=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),ud=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),md=(e,t)=>samp.callNative("GetVehicleOccupant","ii",e,t),Qe=e=>samp.callNative("GetVehicleMaxPassengers","i",e),pd=e=>samp.callNative("CountVehicleOccupants","i",e),gd=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),fd=e=>{const[t=0,a=0,i=0,n=0]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:a,fZ:i,fSize:n}},Sd=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),yd=e=>{const[t=0,a=0,i=0,n=0,r=0,s=0,l=0]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:a,fZ:i,fNextX:n,fNextY:r,fNextZ:s,fSize:l}},Pd=e=>!!samp.callNative("IsMenuDisabled","i",e),Id=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),Ed=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),Ad=e=>{const[t=0,a=0]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:a}},Cd=e=>{const[t=0,a=0]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:a}},Td=(e,t)=>{const[a]=samp.callNative("GetMenuColumnHeader","iiSi",e,t,31);return a},Dd=(e,t,a)=>{const[i]=samp.callNative("GetMenuItem","iiiSi",e,t,a,31);return i},wd=(e,t,a,i,n,r)=>samp.callNative("CreateMenu","siffff",e,t,a,i,n,r),Nd=e=>samp.callNative("DestroyMenu","i",e),vd=(e,t,a)=>samp.callNative("AddMenuItem","iis",e,t,a),bd=(e,t,a)=>samp.callNative("SetMenuColumnHeader","iis",e,t,a),Ld=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),Rd=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),Gd=e=>!!samp.callNative("IsValidMenu","i",e),Od=e=>samp.callNative("DisableMenu","i",e),Fd=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),Bd=e=>samp.callNative("GetPlayerMenu","i",e),xd=e=>!!samp.callNative("IsValidGangZone","i",e),kd=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),Md=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),Hd=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),Vd=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),Ud=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),Wd=e=>{const[t=0,a=0,i=0,n=0]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:a,fMaxX:i,fMaxY:n}},jd=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},Kd=(e,t,a,i)=>samp.callNative("GangZoneCreate","ffff",e,t,a,i),Zd=e=>samp.callNative("GangZoneDestroy","i",e),Xd=(e,t,a)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,I(a)),zd=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,I(t)),Yd=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),$d=e=>samp.callNative("GangZoneHideForAll","i",e),Jd=(e,t,a)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,I(a)),Qd=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,I(t)),qd=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),ec=e=>samp.callNative("GangZoneStopFlashForAll","i",e),tc=(e,t,a,i,n)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,a,i,n),ac=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),ic=(e,t,a)=>samp.callNative("PlayerGangZoneShow","iii",e,t,a),nc=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),rc=(e,t,a)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,a),sc=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),lc=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),oc=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),dc=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),cc=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),_c=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),hc=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),uc=(e,t)=>{const[a=0,i=0,n=0,r=0]=samp.callNative("PlayerGangZoneGetPos","iiFFFF",e,t);return{fMinX:a,fMinY:i,fMaxX:n,fMaxY:r}},mc=(e,t,a)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,a)},pc=e=>!!samp.callNative("IsValidTextDraw","i",e),gc=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),fc=e=>{const[t]=samp.callNative("TextDrawGetString","iSi",e,1024);return t},Sc=(e,t,a)=>{samp.callNative("TextDrawSetPos","iff",e,t,a)},yc=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:a}},Pc=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:a}},Ic=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:a}},Ec=e=>samp.callNative("TextDrawGetColor","i",e),Ac=e=>samp.callNative("TextDrawGetBoxColor","i",e),Cc=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),Tc=e=>samp.callNative("TextDrawGetShadow","i",e),Dc=e=>samp.callNative("TextDrawGetOutline","i",e),wc=e=>samp.callNative("TextDrawGetFont","i",e),Nc=e=>!!samp.callNative("TextDrawIsBox","i",e),vc=e=>!!samp.callNative("TextDrawIsProportional","i",e),bc=e=>!!samp.callNative("TextDrawIsSelectable","i",e),Lc=e=>samp.callNative("TextDrawGetAlignment","i",e),Rc=e=>samp.callNative("TextDrawGetPreviewModel","i",e),Gc=e=>{const[t=0,a=0,i=0,n=0]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:a,fRotZ:i,fZoom:n}},Oc=e=>{const[t,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:a}},Fc=(e,t,a)=>{samp.callNative("TextDrawSetStringForPlayer","iia",e,t,a)},Bc=(e,t,a)=>samp.callNative("TextDrawCreate","ffa",e,t,a),xc=e=>samp.callNative("TextDrawDestroy","i",e),kc=(e,t,a)=>samp.callNative("TextDrawLetterSize","iff",e,t,a),Mc=(e,t,a)=>samp.callNative("TextDrawTextSize","iff",e,t,a),Hc=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),Vc=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,I(t)),Uc=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),Wc=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,I(t)),jc=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),Kc=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),Zc=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,I(t)),Xc=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),zc=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),Yc=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),$c=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),Jc=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),Qc=e=>samp.callNative("TextDrawShowForAll","i",e),qc=e=>samp.callNative("TextDrawHideForAll","i",e),e_=(e,t)=>samp.callNative("TextDrawSetString","ia",e,t),t_=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),a_=(e,t,a,i,n=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,a,i,n)},i_=(e,t,a)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,I(t),I(a)),n_=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,I(t))},r_=e=>{samp.callNative("CancelSelectTextDraw","i",e)},s_=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),l_=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),o_=(e,t)=>{const[a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return a},d_=(e,t,a,i)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,a,i)},c_=(e,t)=>{const[a=0,i=0]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:a,fY:i}},__=(e,t)=>{const[a=0,i=0]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:a,fY:i}},h_=(e,t)=>{const[a=0,i=0]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:a,fY:i}},u_=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),m_=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),p_=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),g_=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),f_=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),S_=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),y_=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),P_=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),I_=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),E_=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),A_=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),C_=(e,t)=>{const[a=0,i=0,n=0,r=0]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:a,fRotY:i,fRotZ:n,fZoom:r}},T_=(e,t)=>{const[a,i]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:a,color2:i}},D_=(e,t,a,i)=>samp.callNative("CreatePlayerTextDraw","iffa",e,t,a,i),w_=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},N_=(e,t,a,i)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,a,i),v_=(e,t,a,i)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,a,i),b_=(e,t,a)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,a),L_=(e,t,a)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,I(a)),R_=(e,t,a)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,a),G_=(e,t,a)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,I(a)),O_=(e,t,a)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,a),F_=(e,t,a)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,a),B_=(e,t,a)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,I(a)),x_=(e,t,a)=>samp.callNative("PlayerTextDrawFont","iii",e,t,a),k_=(e,t,a)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,a),M_=(e,t,a)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,a),H_=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),V_=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),U_=(e,t,a)=>samp.callNative("PlayerTextDrawSetString","iia",e,t,a),W_=(e,t,a)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,a),j_=(e,t,a,i,n,r)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,a,i,n,r),K_=(e,t,a,i)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,a,i),Z_=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),X_=e=>!!samp.callNative("BeginObjectSelecting","i",e),z_=e=>!!samp.callNative("EndObjectEditing","i",e),Y_=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),$_=(e,t,a,i,n)=>samp.callNative("AddSimpleModel","iiiss",e,t,a,i,n),J_=(e,t,a,i,n,r,s)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,a,i,n,r,s),Q_=(e,t)=>samp.callNative("RedirectDownload","is",e,t),q_=e=>{const[t]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return t},eh=e=>{const[t]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return t},th=(e,t)=>{const[a=0,i=0,n=0,r=0,s=0,l=0,o=0,d=0,h=0,p=0,g=0,y=0,f=0]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:a,bone:i,fX:n,fY:r,fZ:s,fRotX:l,fRotY:o,fRotZ:d,fScaleX:h,fScaleY:p,fScaleZ:g,materialColor1:y,materialColor2:f}},ah=(e,t,a,i,n,r,s,l,o,d,h,p,g,y,f)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,a,i,n,r,s,l,o,d,h,p,g,I(y),I(f)),ih=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),nh=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),qe=e=>!!samp.callNative("IsValidCustomModel","i",e),rh=e=>{if(!qe(e))return null;const[t,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:a}};var et=(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))(et||{}),tt=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(tt||{}),Ae=(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))(Ae||{}),at=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(at||{}),it=(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))(it||{}),w=(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))(w||{}),nt=(e=>(e[e.NONE=0]="NONE",e[e.ACTION=1]="ACTION",e[e.CROUCH=2]="CROUCH",e[e.FIRE=4]="FIRE",e[e.SPRINT=8]="SPRINT",e[e.SECONDARY_ATTACK=16]="SECONDARY_ATTACK",e[e.JUMP=32]="JUMP",e[e.LOOK_RIGHT=64]="LOOK_RIGHT",e[e.HANDBRAKE=128]="HANDBRAKE",e[e.LOOK_LEFT=256]="LOOK_LEFT",e[e.SUBMISSION=512]="SUBMISSION",e[e.LOOK_BEHIND=512]="LOOK_BEHIND",e[e.WALK=1024]="WALK",e[e.ANALOG_UP=2048]="ANALOG_UP",e[e.ANALOG_DOWN=4096]="ANALOG_DOWN",e[e.ANALOG_LEFT=8192]="ANALOG_LEFT",e[e.ANALOG_RIGHT=16384]="ANALOG_RIGHT",e[e.YES=65536]="YES",e[e.NO=131072]="NO",e[e.CTRL_BACK=262144]="CTRL_BACK",e[e.KEY_UP=-128]="KEY_UP",e[e.KEY_DOWN=128]="KEY_DOWN",e[e.KEY_LEFT=-128]="KEY_LEFT",e[e.KEY_RIGHT=128]="KEY_RIGHT",e))(nt||{}),M=(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))(M||{}),rt=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(rt||{}),st=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(st||{}),H=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(H||{}),lt=(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))(lt||{}),ot=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(ot||{}),dt=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(dt||{}),ct=(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))(ct||{}),_t=(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))(_t||{}),ce=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(ce||{}),ht=(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))(ht||{}),Se=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(Se||{}),_e=(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))(_e||{}),ut=(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))(ut||{}),mt=(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))(mt||{}),pt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.ALL=1]="ALL",e[e.OTHER=2]="OTHER",e))(pt||{}),Ce=(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))(Ce||{}),he=(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))(he||{}),gt=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(gt||{}),ft=(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))(ft||{}),St=(e=>(e[e.UNSET=-1]="UNSET",e[e.OFF=0]="OFF",e[e.ON=1]="ON",e))(St||{}),yt=(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))(yt||{}),Pt=(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))(Pt||{}),It=(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))(It||{}),Et=(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))(Et||{}),At=(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))(At||{}),Te=(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))(Te||{}),Ct=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(Ct||{});class N{static npcs=new Map;id=w.PLAYER_ID;name="";static recordStatus;constructor(t){const a=samp.callNative("NPC_Create","s",t);if(this.id=a,this.name=t,a!==w.PLAYER_ID){const i=N.getInstance(a);if(i)return i}return N.npcs.set(a,this),this}getName(){return this.name}destroy(){return samp.callNative("NPC_Destroy","i",this.id),this}isValid(){return!!samp.callNative("NPC_IsValid","i",this.id)}spawn(){return samp.callNative("NPC_Spawn","i",this.id),this}setPos(t,a,i){return samp.callNative("NPC_SetPos","ifff",this.id,t,a,i),this}setRot(t,a,i){return samp.callNative("NPC_SetRot","ifff",this.id,t,a,i),this}getRot(){const[t,a,i]=samp.callNative("NPC_GetRot","iFFF",this.id);return{rX:t,rY:a,rZ:i}}setFacingAngle(t){return samp.callNative("NPC_SetFacingAngle","if",this.id,t),this}getFacingAngle(){const[t]=samp.callNative("NPC_GetFacingAngle","iF",this.id);return t}setVirtualWorld(t){return samp.callNative("NPC_SetVirtualWorld","ii",this.id,t),this}getVirtualWorld(){const[t]=samp.callNative("NPC_GetVirtualWorld","iI",this.id);return t}move(t,a,i,n,r=-1){return!!samp.callNative("NPC_Move","ifffif",this.id,t,a,i,n,r)}stopMove(){return samp.callNative("NPC_StopMove","i",this.id),this}isMoving(){return!!samp.callNative("NPC_IsMoving","ifffif",this.id)}setSkin(t){return samp.callNative("NPC_SetSkin","ii",this.id,t),this}isStreamedIn(t){return!!samp.callNative("NPC_IsStreamedIn","ii",this.id,t.id)}isAnyStreamedIn(){return!!samp.callNative("NPC_IsAnyStreamedIn","i",this.id)}setInterior(t){return samp.callNative("NPC_SetInterior","ii",this.id,t),this}getInterior(){return samp.callNative("NPC_GetInterior","i",this.id)}setHealth(t){return samp.callNative("NPC_SetHealth","if",this.id,t),this}getHealth(){return samp.callNativeFloat("NPC_GetHealth","i",this.id)}setArmour(t){return samp.callNative("NPC_SetArmour","if",this.id,t),this}getArmour(){return samp.callNativeFloat("NPC_GetArmour","i",this.id)}isDead(){return!!samp.callNative("NPC_IsDead","i",this.id)}applyAnimation(t,a,i,n,r,s,l,o,d){return samp.callNative("NPC_ApplyAnimation","issfiiiiii",this.id,t,a,i,n,r,s,l,o,d),this}setWeapon(t){return samp.callNative("NPC_SetWeapon","ii",this.id,t),this}getWeapon(){return samp.callNative("NPC_GetWeapon","i",this.id)}setAmmo(t){return samp.callNative("NPC_SetAmmo","ii",this.id,t),this}getAmmo(){return samp.callNative("NPC_GetAmmo","ii",this.id)}setKeys(t,a,i){return samp.callNative("NPC_SetKeys","iiii",t,a,i),this}getKeys(){const[t,a,i]=samp.callNative("NPC_GetKeys","iIII",this.id);return{upAndDown:t,leftAndDown:a,keys:i}}setWeaponSkillLevel(t,a){return samp.callNative("NPC_SetWeaponSkillLevel","iii",this.id,t,a),this}getWeaponSkillLevel(t){return samp.callNative("NPC_GetWeaponSkillLevel","ii",this.id,t)}meleeAttack(t,a){return samp.callNative("NPC_MeleeAttack","iii",this.id,t,a),this}stopMeleeAttack(){return samp.callNative("NPC_StopMeleeAttack","i",this.id),this}isMeleeAttacking(){return!!samp.callNative("NPC_IsMeleeAttacking","i",this.id)}setFightingStyle(t){return samp.callNative("NPC_SetFightingStyle","ii",this.id,t),this}getFightingStyle(){return samp.callNative("NPC_GetFightingStyle","i",this.id)}enableReloading(t){return samp.callNative("NPC_EnableReloading","ii",this.id,t),this}isReloadEnabled(){return!!samp.callNative("NPC_IsReloadEnabled","i",this.id)}isReloading(){return!!samp.callNative("NPC_IsReloading","i",this.id)}enableInfiniteAmmo(t){return samp.callNative("NPC_EnableInfiniteAmmo","ii",this.id,t),this}isInfiniteAmmoEnabled(){return!!samp.callNative("NPC_IsInfiniteAmmoEnabled","i",this.id)}getWeaponState(){return samp.callNative("NPC_GetWeaponState","i",this.id)}setAmmoInClip(t){return samp.callNative("NPC_SetAmmoInClip","ii",this.id,t),this}getAmmoInClip(){return samp.callNative("NPC_GetAmmoInClip","i",this.id)}shoot(t,a,i,n,r,s,l,o,d,h,p){return samp.callNative("NPC_Shoot","iiiffffffii",this.id,t,a,i,n,r,s,l,o,d,h,p),this}isShooting(){return!!samp.callNative("NPC_IsShooting","i",this.id)}aimAt(t,a,i,n,r,s,l,o,d,h){return samp.callNative("NPC_AimAt","ifffiiifffi",this.id,t,a,i,n,r,s,l,o,d,h),this}aimAtPlayer(t,a,i,n,r,s,l,o,d,h,p){return samp.callNative("NPC_AimAtPlayer","iiiiiffffffi",this.id,t.id,a,i,n,r,s,l,o,d,h,p),this}stopAim(){return samp.callNative("NPC_StopAim","i",this.id),this}isAiming(){return!!samp.callNative("NPC_IsAiming","i",this.id)}isAimingAtPlayer(t){return!!samp.callNative("NPC_IsAimingAtPlayer","ii",this.id,t.id)}setWeaponAccuracy(t,a){return samp.callNative("NPC_SetWeaponAccuracy","iif",this.id,t,a),this}getWeaponAccuracy(t){return samp.callNativeFloat("NPC_GetWeaponAccuracy","ii",this.id,t)}enterVehicle(t,a,i){return samp.callNative("NPC_EnterVehicle","iiii",this.id,t,a,i),this}exitVehicle(){return samp.callNative("NPC_ExitVehicle","i",this.id),this}static connect=gn;static startRecordingPlayerData(t,a,i){if(t.isRecording)throw new Error("[NpcFunc]: It should be stopped before recording");al(t.id,a,i),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)throw new Error("[NpcFunc]: It should be started before stop");il(t.id),t.isRecording=!1}static startRecordingPlayback(t,a){if(N.recordStatus>=H.start)throw new Error("[NpcFunc]: The current status cannot be replayed");bl(t,a),N.recordStatus=H.start}static stopRecordingPlayback(){if(N.recordStatus<H.start)throw new Error("[NpcFunc]: The current status cannot be stopped");Ll(),N.recordStatus=H.none}static pauseRecordingPlayback(){if(N.recordStatus!==H.start)throw new Error("[NpcFunc]: The current status cannot be paused");Rl(),N.recordStatus=H.pause}static resumeRecordingPlayback(){if(N.recordStatus!==H.pause)throw new Error("[NpcFunc]: The current status cannot be paused");Gl(),N.recordStatus=H.start}static getInstance(t){return this.npcs.get(t)}static getInstances(){return[...this.npcs.values()]}}const Tt=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}]]]),De=e=>{const t=Tt.get(e.toUpperCase());return t===void 0?!1:t},we=(e,t)=>{const a=De(e);if(a)return t==="null"?!0:a.some(i=>i.n===t)},sh=(e,t)=>{const a=De(e);if(a)return a.find(i=>i.n===t)?.d},J=(e,t)=>{const a=t.replace("-","")==="utf8"?e:P.encodeToBuf(e,t);return[a instanceof Array?"a":"s",a]},Dt=(e,t,a)=>{const i=J(a,e.charset);return samp.callNative("SendClientMessage",`ii${i[0]}`,e.id,I(t),i[1])},lh=(e,t,a)=>(e.forEach(i=>Dt(i,t,a)),1),wt=(e,t,a)=>{const i=J(a,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${i[0]}`,e.id,t,i[1])},oh=(e,t,a)=>(e.forEach(i=>{wt(i,t,a)}),1),dh=(e,t,a)=>{const{charset:i}=e,{style:n,caption:r,info:s,button1:l,button2:o}=a,[d,h]=J(r||"",i),[,p]=J(s||"",i),[,g]=J(l||"",i),[,y]=J(o||"",i);return!!samp.callNative("ShowPlayerDialog",`iii${d.repeat(4)}`,e.id,t,n,h,p,g,y)},ch=e=>{const[t]=samp.callNative("GetPlayerName","iAi",e.id,M.MAX_PLAYER_NAME);return P.decodeFromBuf(P.getValidStr(t),e.charset)},_h=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,P.encodeToBuf(t,e.charset)),hh=(e,t,a)=>{const i=P.encodeToBuf(t,a);return samp.callNative("BanEx","ia",e,i)},uh=(e,t="utf8")=>{const[a,i]=J(e,t);return samp.callNative("SendRconCommand",a,i)},mh=(e,t,a,i,n,r,s,l,o,d,h,p,g,y,f,E)=>{const v=P.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",v,a,i,n,r,s,l,o,d,h,p,g,y,f,E)},ph=(e,t,a,i,n,r,s,l,o,d,h,p,g,y,f,E)=>{const v=P.encodeToBuf(e,E);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",v,t,a,i,n,r,s,l,o,d,h,p,g,y,f,h.length,p.length,g.length,y.length)},gh=(e,t,a,i)=>{const n=P.encodeToBuf(a,i);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,n)},fh=(e,t)=>{const[a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return P.decodeFromBuf(P.getValidStr(a),t)},Sh=(e,t,a,i,n,r,s,l,o,d,h)=>{const p=P.encodeToBuf(i,e),g=P.encodeToBuf(r,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,a,p,n,g,s,l,o,d,h)},yh=(e,t,a)=>{const[i,n,r,s,l,o,d]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),h=P.decodeFromBuf(i,a),p=P.decodeFromBuf(r,a);return{text:h,materialSize:n,fontFace:p,bold:s,fontColor:l,backColor:o,textAlignment:d}},Ph=(e,t,a,i,n,r)=>{const s=P.encodeToBuf(t,r);return!!samp.callNative("SetPlayerChatBubble","iaifi",e,s,I(a),i,n)},Q=Symbol(),Y=new Map,ye=new Map,Ne=new Map,[Nt]=_({name:"OnClientCheckResponse",beforeEach(e,t,a,i){return{player:m.getInstance(e),actionId:t,memAddr:a,data:i}}}),[Ih,Eh]=_({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,a){return{player:e,newLocale:t,oldLocale:a}}}),[Ah,Ch]=_({name:"OnPlayerCharsetChange",isNative:!1,beforeEach(e,t,a){return{player:e,newCharset:t,oldCharset:a}}});class m{constructor(t){this.id=t;const a=m.getInstance(t);if(a)return a}[Q]={isAndroid:!0};static players=Y;static MAX_CHECK_ANDROID_DELAY=10;static SKIP_CHECK_ANDROID=!1;_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,Ch(this,t,a)}get locale(){return this._locale}set locale(t){const a=this._locale;this._locale=t,Eh(this,t,a)}sendClientMessage(t,a){return Dt(this,t,a)}static sendClientMessageToAll(t,a){lh(m.getInstances(),t,a)}sendMessageToPlayer(t,a){return wt(t,this.id,a)}sendMessageToAll(t){return oh(m.getInstances(),this.id,t)}isNpc(){return Rr(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return ts(this.id)}setDrunkLevel(t){if(t<0||t>5e4)throw new Error("[Player]: player's drunk level ranges from 0 to 50000");return as(this.id,t)}allowTeleport(t){return Cr(this.id,t)}isTeleportAllowed(){return Tr(this.id)}enableCameraTarget(t){return Pl(this.id,t)}enableStuntBonus(t){return qs(this.id,t)}getInterior(){return Ur(this.id)}setInterior(t){return Vr(this.id,t)}showNameTag(t,a){return ul(this.id,t.id,a)}setColor(t){return is(this.id,t)}getColor(){return ns(this.id)}setMarker(t,a){_l(this.id,t.id,a)}getMarker(t){return hl(this.id,t.id)}resetMoney(){return hs(this.id)}getMoney(){return us(this.id)}giveMoney(t){return _s(this.id,t)}resetWeapons(){return os(this.id)}spawn(){return bn(this.id)}setHealth(t){return Wr(this.id,t)}getHealth(){return jr(this.id)}toggleClock(t){return Ps(this.id,t)}toggleControllable(t){return Ws(this.id,t)}toggleSpectating(t){return nl(this.id,t)}spectatePlayer(t,a=Se.NORMAL){return rl(this.id,t.id,a)}spectateVehicle(t,a=Se.NORMAL){return sl(this.id,t.id,a)}forceClassSelection(){return Es(this.id)}kick(){return Wn(this.id)}ban(){return jn(this.id)}banEx(t,a){return hh(this.id,t,a)}isAdmin(){return Vn(this.id)}isInRangeOfPoint(t,a,i,n){return kr(this.id,t,a,i,n)}isStreamedIn(t){return Hr(this.id,t.id)}setSkin(t,a=!1){return!a&&(t<0||t>311||t===74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===Ce.DUCK?!1:rs(this.id,t)}getSkin(){return ss(this.id)}isInAnyVehicle(){return ol(this.id)}getSpecialAction(){return zs(this.id)}setSpecialAction(t){return Ys(this.id,t)}setScore(t){return qr(this.id,t)}getScore(){return es(this.id)}getPing(){return ps(this.id)||0}setPos(t,a,i){return Gr(this.id,t,a,i)}getPos(){const[t,a,i]=Fr(this.id);return{x:t,y:a,z:i}}isSpectating(){return this.getState()===_e.SPECTATING}isWasted(){return this.getState()===_e.WASTED}getState(){return ms(this.id)}getVersion(){return this.isNpc()?"":tr(this.id)}setVirtualWorld(t){return Js(this.id,t)}getVirtualWorld(){return Qs(this.id)}removeFromVehicle(){return Us(this.id)}setWantedLevel(t){if(t<0||t>6)throw new Error("[Player]: player's wanted level ranges from 0 to 6");return As(this.id,t)}getWantedLevel(){return Cs(this.id)}setFacingAngle(t){return Br(this.id,t)}getFacingAngle(){return xr(this.id)}setWeather(t){if(t<0||t>255)throw new Error("[Player]: The valid weather value is only 0 to 255");return Is(this.id,t)}getWeather(){return rr(this.id)}setTime(t,a){if(t<0||t>23)throw new Error("[Player]: The valid hour value is only 0 to 23");if(a<0||a>59)throw new Error("[Player]: The valid minute value is only 0 to 59");return Ss(this.id,t,a)}getTime(){const[t,a]=ys(this.id);return{hour:t,minute:a}}removeBuilding(t,a,i,n,r){return xs(this.id,t,a,i,n,r)}setTeam(t){t<0||t>w.NO_TEAM||Jr(this.id,t)}getTeam(){return Qr(this.id)}setSkillLevel(t,a){if(a<0||a>999)throw new Error("[Player]: The valid skill level is only 0 to 999");return Gs(this.id,t,a)}getName(){return ch(this)}setName(t){return _h(this,t)}setVelocity(t,a,i){return ws(this.id,t,a,i)}getVelocity(){const[t,a,i]=Ns(this.id);return{x:t,y:a,z:i}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:i,z:n}=this.getVelocity();return Ee(a,i,n)*t}getKeys(){const[t,a,i]=fs(this.id);return{keys:t,upDown:a,leftRight:i}}getIp(){return er(this.id)}getFightingStyle(){return Ds(this.id)}setFightingStyle(t){return Ts(this.id,t)}setArmour(t){return Kr(this.id,t)}getArmour(){return Zr(this.id)}setCameraBehind(){return gl(this.id)}setCameraPos(t,a,i){return ml(this.id,t,a,i)}setCameraLookAt(t,a,i,n=ce.CUT){return pl(this.id,t,a,i,n)}getCameraAspectRatio(){return Al(this.id)}getCameraFrontVector(){const[t,a,i]=Sl(this.id);return{x:t,y:a,z:i}}getCameraMode(){return yl(this.id)}getCameraPos(){const[t,a,i]=fl(this.id);return{x:t,y:a,z:i}}getCameraTargetPlayer(){const t=El(this.id);return m.getInstances().find(a=>a.id===t)}getCameraTargetVehicle(){const t=Il(this.id);return[...ye.values()].find(a=>a.id===t)}getCameraZoom(){return Cl(this.id)}playAudioStream(t,a=0,i=0,n=0,r=5){let s=!1;return(a!==0||i!==0||n!==0)&&(s=!0),bs(this.id,t,a,i,n,r,s)}stopAudioStream(){return Ls(this.id)}playSound(t,a=0,i=0,n=0){return js(this.id,t,a,i,n)}static getMaxPlayers(){return Ji()}playCrimeReport(t,a){if(a<3||a>22)throw new Error("[Player]: Available crime ids range from 3 to 22");return vs(this.id,t.id,a)}interpolateCameraPos(t,a,i,n,r,s,l,o=ce.CUT){return Tl(this.id,t,a,i,n,r,s,l,o)}interpolateCameraLookAt(t,a,i,n,r,s,l,o=ce.CUT){return Dl(this.id,t,a,i,n,r,s,l,o)}createExplosion(t,a,i,n,r){if(n<0||n>13)throw new Error("[Player]: The valid explosion type value is only 0 to 13");return tl(this.id,t,a,i,n,r)}static isConnected(t){return Ye(t)}isConnected(){return Ye(this.id)}disableRemoteVehicleCollisions(t){return $s(this.id,t)}getVehicle(){if(!this.isInAnyVehicle())return;const t=Hs(this.id);return[...ye.values()].find(a=>a.id===t)}getVehicleSeat(){return Vs(this.id)}getSurfingVehicle(){const t=Os(this.id);if(t!==w.VEHICLE_ID)return[...ye.values()].find(a=>a.id===t)}applyAnimation(t,a,i=4.1,n=!1,r=!0,s=!0,l=!1,o=0,d=!1){if(!we(t,a))throw new Error(`[Player]: Invalid anim library or name ${t} ${a}`);return Ks(this.id,t,a,i,n,r,s,l,o,+d)}clearAnimations(t=!1){return Zs(this.id,t)}getAnimationIndex(){return Xs(this.id)}getAnimationName(t=this.getAnimationIndex()){const[a,i]=Sn(t);return{index:t,animLib:a,animName:i}}setShopName(t){return Rs(this.id,t)}setPosFindZ(t,a,i){return Or(this.id,t,a,i)}setWorldBounds(t,a,i,n){return dl(this.id,t,a,i,n)}clearWorldBounds(){return cl(this.id)}setChatBubble(t,a,i,n,r=this.charset){return Ph(this.id,t,a,i,n,r)}getDistanceFromPoint(t,a,i){return Mr(this.id,t,a,i)}getCustomSkin(){return el(this.id)}getTargetPlayer(){const t=$r(this.id);if(t!==w.PLAYER_ID)return m.getInstances().find(a=>a.id===t)}getLastShotVectors(){const[t,a,i,n,r,s]=ks(this.id);return{fOriginX:t,fOriginY:a,fOriginZ:i,fHitPosX:n,fHitPosY:r,fHitPosZ:s}}getWeapon(){return gs(this.id)}getWeaponData(t){if(t<0||t>12)throw new Error("[Player]: weapon slots range from 0 to 12");const[a,i]=cs(this.id,t);return{weapons:a,ammo:i}}getWeaponState(){return Yr(this.id)}giveWeapon(t,a){return ls(this.id,t,a)}setAmmo(t,a){return Xr(this.id,t,a)}getAmmo(){return zr(this.id)}setArmedWeapon(t){return ds(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(w.PLAYER_ID,w.PLAYER_ID,Te.CONNECT)}sendDeathMessage(t,a){return $i(t===w.PLAYER_ID?t:t.id,this.id,a)}sendDeathMessageToPlayer(t,a,i){return br(this.id,t===w.PLAYER_ID?t:t.id,a===w.PLAYER_ID?a:a.id,i)}setSpawnInfo(t,a,i,n,r,s,l,o,d,h,p,g){return t<0||t>w.NO_TEAM||a<0||a>311||a===74||o<0||h<0||g<0?!1:vn(this.id,t,a,i,n,r,s,l,o,d,h,p,g)}redirectDownload(t){return Q_(this.id,t)}sendClientCheck(t,a,i,n){const r=[2,5,69,70,71,72];if(!r.includes(t))throw new Error(`[Player]: sendClientCheck valid types are ${r.toString()}`);return new Promise((s,l)=>{if(this.isPaused)return l("[Player]: An attempt to check the player client response, but the player paused the game");const o="[Player]: An attempt to check the player client response timed out",d=this.getPing(),h=(d>=200?0:d)+200;let p=null;const g=Nt(({player:y,actionId:f,memAddr:E,data:v,next:O})=>(y!==this||(p&&(clearTimeout(p),p=null),s({actionId:f,memAddr:E,data:v})),O()));p=setTimeout(()=>{g(),l(o)},h),$n(this.id,t,a,i,n)})}selectTextDraw(t){n_(this.id,t)}cancelSelectTextDraw(){r_(this.id)}beginObjectSelecting(){return X_(this.id)}endObjectEditing(){return z_(this.id)}getSurfingObject(){const t=Fs(this.id);if(t!==w.OBJECT_ID)return Ne.get(t)}getSurfingPlayerObject(){const t=Bs(this.id);if(t!==w.OBJECT_ID)return Ne.get(t)}isAttachedObjectSlotUsed(t){return nh(this.id,t)}editAttachedObject(t){return Z_(this.id,t)}setAttachedObject(t,a,i,n=0,r=0,s=0,l=0,o=0,d=0,h=1,p=1,g=1,y=0,f=0){return this.isAttachedObjectSlotUsed(t)?0:ah(this.id,t,a,i,n,r,s,l,o,d,h,p,g,y,f)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?ih(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 ar(this.id,t)}isWidescreenToggled(){return ir(this.id)}getSpawnInfo(){return Ln(this.id)}getSkillLevel(t){return nr(this.id,t)}isCheckpointActive(){return gd(this.id)}getCheckpoint(){return fd(this.id)}isRaceCheckpointActive(){return Sd(this.id)}getRaceCheckpoint(){return yd(this.id)}getWorldBounds(){sr(this.id)}isInModShop(){return dd(this.id)}getSirenState(){return cd(this.id)}getLandingGearState(){return _d(this.id)}getHydraReactorAngle(){return hd(this.id)}getTrainSpeed(){return ud(this.id)}getZAim(){return lr(this.id)}getSurfingOffsets(){return or(this.id)}getRotationQuat(){return dr(this.id)}getDialogID(){return cr(this.id)}getSpectateID(){return _r(this.id)}getSpectateType(){return hr(this.id)}getRawIp(){return qn(this.id)}setGravity(t){return ur(this.id,t)}getGravity(){return mr(this.id)}setAdmin(t){return Un(this.id,t)}isSpawned(){return pr(this.id)}isControllable(){return gr(this.id)}isCameraTargetEnabled(){return fr(this.id)}toggleGhostMode(t){return Sr(this.id,t)}getGhostMode(){return yr(this.id)}getBuildingsRemoved(){return Pr(this.id)}getAttachedObject(t){return th(this.id,t)}removeWeapon(t){return Ir(this.id,t)}isUsingOfficialClient(){return Ar(this.id)}allowWeapons(t){return Dr(this.id,t)}areWeaponsAllowed(){return wr(this.id)}gpci(t=this.charset){return Yn(this.id,t)}isCuffed(){return wl(this.id)}isInDriveByMode(){return Nl(this.id)}isAndroid(){return this.isConnected()&&this[Q].isAndroid}isPC(){return this.isConnected()&&!this[Q].isAndroid}isUsingOmp(){return vl(this.id)}static getInstance(t){return Y.get(t)}static getInstances(){return[...Y.values()]}}const[vt]=_({name:"OnDialogResponseI18n",identifier:"iiiiai",defaultValue:!1,beforeEach(e,t,a,i,n){const r=m.getInstance(e),s=P.decodeFromBuf(n,r.charset);return{player:r,dialogId:t,response:a,listItem:i,buffer:n,inputText:s}}});vt(({next:e,player:t,dialogId:a,response:i,listItem:n,buffer:r,inputText:s})=>{const l=b.waitingQueue.get(t);return!l||l.showId!==a||setTimeout(()=>l.resolve({response:i,listItem:n,buffer:r,inputText:s})),e()});class b{id=-1;static showingIds=[];static maxDialogId=32767;dialog;static waitingQueue=new WeakMap;constructor(t={style:Ae.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 i=b.waitingQueue.get(t);if(!i)return!1;a&&i.reject("[Dialog]: player timeout does not respond or second request show dialog"),b.waitingQueue.delete(t);const n=b.showingIds.indexOf(i.showId);return n>-1&&b.showingIds.splice(n,1),!0}show(t){return new Promise((a,i)=>{for(b.close(t);(this.id===-1||b.showingIds.includes(this.id))&&b.showingIds.length!==b.maxDialogId;)this.id=Math.floor(Math.random()*(b.maxDialogId+1));if(this.id===-1){i("[Dialog]: The maximum number of dialogs is reached");return}b.showingIds.push(this.id),b.waitingQueue.set(t,{resolve:a,reject:i,showId:this.id}),b.__inject__ShowPlayerDialog(t,this.id,this.dialog)}).catch(a=>Promise.reject(a)).finally(()=>b.delDialogTask(t))}static close(t){b.delDialogTask(t,!0),Er(t.id)}static __inject__ShowPlayerDialog=dh}const[bt]=_({name:"OnPlayerConnect",beforeEach(e){const t=new m(e);return Y.set(e,t),b.close(t),{player:t}}}),[Lt]=_({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:Y.get(e),reason:t}},afterEach({player:e}){Y.delete(e.id)}}),[Rt]=_({name:"OnPlayerUpdate",beforeEach(e){return{player:m.getInstance(e)}}}),[Th]=_({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const a=m.getInstance(e);return{player:a,text:P.decodeFromBuf(t,a.charset),buffer:t}}}),[Dh]=_({name:"OnPlayerEnterExitModShop",beforeEach(e,t,a){return{player:m.getInstance(e),enterExit:t,interior:a}}}),[wh]=_({name:"OnPlayerClickMap",defaultValue:!1,beforeEach(e,t,a,i){return{player:m.getInstance(e),fX:t,fY:a,fZ:i}}}),[Nh]=_({name:"OnPlayerClickPlayer",defaultValue:!1,beforeEach(e,t,a){return{player:m.getInstance(e),clickedPlayer:m.getInstance(t),source:a}}}),[vh]=_({name:"OnPlayerDeath",beforeEach(e,t,a){return{player:m.getInstance(e),killer:m.getInstance(t)||w.PLAYER_ID,reason:a}}}),[bh]=_({name:"OnPlayerGiveDamage",defaultValue:!1,beforeEach(e,t,a,i,n){return{player:m.getInstance(e),damage:m.getInstance(t),amount:a,weapon:i,bodyPart:n}}}),[Lh]=_({name:"OnPlayerKeyStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newKeys:t,oldKeys:a}}}),[Rh]=_({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:m.getInstance(e),classId:t}}}),[Gh]=_({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[Oh]=_({name:"OnPlayerSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[Fh]=_({name:"OnPlayerStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newState:t,oldState:a}}}),[Bh]=_({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[xh]=_({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[kh]=_({name:"OnPlayerTakeDamage",defaultValue:!1,beforeEach(e,t,a,i,n){return{player:m.getInstance(e),damage:m.getInstance(t)||w.PLAYER_ID,amount:a,weapon:i,bodyPart:n}}}),[Mh]=_({name:"OnPlayerInteriorChange",beforeEach(e,t,a){return{player:m.getInstance(e),newInteriorId:t,oldInteriorId:a}}}),[Hh]=_({name:"OnPlayerRequestDownload",beforeEach(e,t,a){return{player:m.getInstance(e),type:t,crc:a}}}),[Vh]=_({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:m.getInstance(e),virtualWorld:t}}}),[Uh]=_({name:"OnPlayerWeaponShot",beforeEach(e,t,a,i,n,r,s){return{player:m.getInstance(e),weapon:t,hitType:a,hitId:i,fX:n,fY:r,fZ:s}}});let ue=null;const Z=new Map,ve=new Map;function Gt(e){if(!e.isConnected()){Z.has(e)&&clearInterval(Z.get(e));return}let t=ve.get(e)||1;if(t>=m.MAX_CHECK_ANDROID_DELAY){clearInterval(Z.get(e)),be(e,!0);return}e.sendClientCheck(72,0,0,2).then(({actionId:a})=>{a===72&&(e[Q].isAndroid=!1,Z.has(e)&&clearInterval(Z.get(e)),be(e,!1))}).catch(()=>{}),t++,ve.set(e,t)}const[Wh,jh]=_({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[Kh,Zh]=_({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,a,i){return{player:e,pausedAt:t,now:a,diff:i}}}),[Xh,zh]=_({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,a){return{player:e,newFps:t,oldFps:a}}}),[Yh,be]=_({name:"OnAndroidCheck",isNative:!1,beforeEach(e,t){return{player:e,result:t}}});bt(({player:e,next:t})=>{if(!ue&&m.getInstances().length&&(ue=setInterval(()=>{m.getInstances().filter(i=>{const n=i.getState()!==_e.NONE;return!i.isPaused&&!i.isNpc()&&n}).forEach(i=>{Date.now()-i.lastUpdateTick>1e3&&(i.isPaused=!0,jh(i,i.lastUpdateTick))})},500)),e.isNpc())return e[Q].isAndroid=!1,t();if(m.SKIP_CHECK_ANDROID)return e[Q].isAndroid=!e.isUsingOfficialClient(),be(e,e[Q].isAndroid),t();Gt(e);const a=setInterval(()=>Gt(e),1e3);return Z.set(e,a),t()}),Lt(({player:e,next:t})=>(ue&&m.getInstances().length<=1&&(clearInterval(ue),ue=null),Z.has(e)&&(clearInterval(Z.get(e)),Z.delete(e),ve.delete(e)),t()));function $h(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 i=e.lastFps,n=e.lastDrunkLevel-a-1;e.lastFps=n,e.lastDrunkLevel=a,zh(e,n,i)}}Rt(({player:e,next:t})=>{if(!e.isNpc()){const a=Date.now();e.isPaused&&(e.isPaused=!1,Zh(e,e.lastUpdateTick,a,a-e.lastUpdateTick)),e.lastUpdateTick=a,$h(e)}return t()});const X=new Uint32Array(65536),Jh=(e,t)=>{const a=e.length,i=t.length,n=1<<a-1;let r=-1,s=0,l=a,o=a;for(;o--;)X[e.charCodeAt(o)]|=1<<o;for(o=0;o<i;o++){let d=X[t.charCodeAt(o)];const h=d|s;d|=(d&r)+r^r,s|=~(d|r),r&=d,s&n&&l++,r&n&&l--,s=s<<1|1,r=r<<1|~(h|s),s&=h}for(o=a;o--;)X[e.charCodeAt(o)]=0;return l},Qh=(e,t)=>{const a=t.length,i=e.length,n=[],r=[],s=Math.ceil(a/32),l=Math.ceil(i/32);for(let f=0;f<s;f++)r[f]=-1,n[f]=0;let o=0;for(;o<l-1;o++){let f=0,E=-1;const v=o*32,O=Math.min(32,i)+v;for(let D=v;D<O;D++)X[e.charCodeAt(D)]|=1<<D;for(let D=0;D<a;D++){const z=X[t.charCodeAt(D)],K=r[D/32|0]>>>D&1,k=n[D/32|0]>>>D&1,Be=z|f,xe=((z|k)&E)+E^E|z|k;let le=f|~(xe|E),ge=E&xe;le>>>31^K&&(r[D/32|0]^=1<<D),ge>>>31^k&&(n[D/32|0]^=1<<D),le=le<<1|K,ge=ge<<1|k,E=ge|~(Be|le),f=le&Be}for(let D=v;D<O;D++)X[e.charCodeAt(D)]=0}let d=0,h=-1;const p=o*32,g=Math.min(32,i-p)+p;for(let f=p;f<g;f++)X[e.charCodeAt(f)]|=1<<f;let y=i;for(let f=0;f<a;f++){const E=X[t.charCodeAt(f)],v=r[f/32|0]>>>f&1,O=n[f/32|0]>>>f&1,D=E|d,z=((E|O)&h)+h^h|E|O;let K=d|~(z|h),k=h&z;y+=K>>>i-1&1,y-=k>>>i-1&1,K>>>31^v&&(r[f/32|0]^=1<<f),k>>>31^O&&(n[f/32|0]^=1<<f),K=K<<1|v,k=k<<1|O,h=k|~(D|K),d=K&D}for(let f=p;f<g;f++)X[e.charCodeAt(f)]=0;return y},Ot=(e,t)=>{if(e.length<t.length){const a=t;t=e,e=a}return t.length===0?e.length:e.length<=32?Jh(e,t):Qh(e,t)},qh=(e,t)=>{let a=1/0,i=0;for(let n=0;n<t.length;n++){const r=Ot(e,t[n]);r<a&&(a=r,i=n)}return t[i]},q=new Map,ee=new Map,Ft=/[^/\s]+/gi,me={NOT_EXIST:{code:1,msg:"command does not exist"},REJECTED:{code:2,msg:"An event registered through onCommandText returned false"},PERFORMED:{code:3,msg:"An event registered through onCommandPerformed returned false"},RECEIVED_THROW:{code:4,msg:"An event registered through onCommandReceived throw an error"},RECEIVED_REJECTED:{code:5,msg:"An event registered through onCommandReceived returned false"}},[eu,tu]=_({name:"OnCommandReceived",isNative:!1,throwOnError:!0,beforeEach(e,t,a,i,n,r,s,l,o){return{player:e,command:t,cmdText:a,buffer:i,strictMainCmd:n,noStrictMainCmd:r,hasStrict:s,hasNoStrict:l,subcommand:o}}}),[au,iu]=_({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t,a,i,n,r,s,l,o){return{player:e,command:t,cmdText:a,buffer:i,strictMainCmd:n,noStrictMainCmd:r,hasStrict:s,hasNoStrict:l,subcommand:o}}}),[nu,pe]=_({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,a,i,n,r,s,l,o,d){return{player:e,error:t,command:a,cmdText:i,buffer:n,strictMainCmd:r,noStrictMainCmd:s,hasStrict:l,hasNoStrict:o,subcommand:d,getSuggestion(){const h=qh(i,[...q.keys(),...ee.keys()]),p=Ot(i,h);return{suggestion:h,distance:p}}}}}),[ru]=_({name:"OnPlayerCommandTextI18n",identifier:"iai",defaultValue:!1,beforeEach(e,t){const a=m.getInstance(e),i=P.decodeFromBuf(t,a.charset);return{player:a,buffer:t,cmdText:i}}}),[su,lu]=_({name:"OnPlayerCommandTextRaw",isNative:!1,defaultValue:!1,beforeEach(e,t,a){return{player:e,buffer:t,cmdText:a}}});function ou(e){const t=[];let a="";for(let i=0;i<e.length;i++)a+=e[i]+" ",t.push(a.trimEnd());return t.reverse()}ru(({player:e,buffer:t,cmdText:a,next:i})=>{const n=lu(e,t,a);if(n)return n;const r=a.match(Ft),s=ou(r),l=s.find(E=>q.has(E)),o=s.map(E=>E.toLowerCase()).find(E=>ee.has(E)),d=!!l,h=!!o,p=r.join(" ");let g=[];const y=[[l,q,!0],[o,ee,!1]],f=[p,a,t,l,o,d,h,g];if(d||h){const E=y[0][0]||y[1][0];g=p.replace(E,"").trim().split(" ")}else return pe(e,me.NOT_EXIST,...f);try{if(!tu(e,...f))return pe(e,me.RECEIVED_REJECTED,...f)}catch(E){const v=typeof E=="object"?E:{error:E};return pe(e,{...me.RECEIVED_THROW,...v},...f)}for(const[E,v,O]of y){if(!E)continue;const D=v.get(E),[,z]=D;if(!z(e,E,g,a,t,O))return pe(e,me.REJECTED,...f)}return iu(e,p,a,t,l,o,d,h,g)?(i(),!0):pe(e,me.PERFORMED,...f)});function du(e,t,a,i,n,r){return{player:e,mainCommand:t,subcommand:a,cmdText:i,buffer:n,isStrict:r}}class W{static caseSensitive=!1;constructor(){}static on(t,a){let i=W.caseSensitive,n,r;typeof t=="string"||t instanceof Array?(n=t,r=a):(n=t.command,r=t.run,typeof t.caseSensitive<"u"&&(i=t.caseSensitive));const s=Array.isArray(n)?n:[n],l=s.find(h=>!h.match(Ft));if(l)return console.log(`error command ${l} format`),()=>{};const o=i?q:ee,d=s.map(h=>{const p=h.replaceAll("/",""),g=i?p:p.toLowerCase();if(!o.has(g)){const f=_({name:i?"$"+g:g,isNative:!1,beforeEach:du});o.set(g,f)}const[y]=o.get(g);return[g,y(r)]});return()=>{d.forEach(h=>{const[p,g]=h;g()===0&&o.delete(p)})}}static off(t){(Array.isArray(t)?t:[t]).forEach(a=>{let i=a.replaceAll("/","");q.has(i)&&(B.has(i)&&B.delete(i),q.has(i)&&q.delete(i)),i=i.toLowerCase(),ee.has(i)&&(B.has(i)&&B.delete(i),ee.has(i)&&ee.delete(i))})}static enableCaseSensitive(){W.caseSensitive=!0}static disableCaseSensitive(){W.caseSensitive=!1}static isCaseSensitive(){return W.caseSensitive}}const Le=Object.freeze({onConnect:bt,onDisconnect:Lt,onPause:Wh,onResume:Kh,onUpdate:Rt,onText:Th,onEnterExitModShop:Dh,onClickMap:wh,onClickPlayer:Nh,onDeath:vh,onGiveDamage:bh,onKeyStateChange:Lh,onRequestClass:Rh,onRequestSpawn:Gh,onSpawn:Oh,onStateChange:Fh,onStreamIn:Bh,onStreamOut:xh,onTakeDamage:kh,onInteriorChange:Mh,onRequestDownload:Hh,onFinishedDownloading:Vh,onCheckResponse:Nt,onCommandReceived:eu,onCommandPerformed:au,onCommandError:nu,onCommandText:W.on,offCommandText:W.off,onDialogResponse:vt,onLocaleChange:Ih,onCharsetChange:Ah,onFpsUpdate:Xh,onWeaponShot:Uh,onAndroidCheck:Yh,onCommandTextRaw:su}),[Bt]=_({name:"OnGameModeInit"}),[xt]=_({name:"OnGameModeExit"}),[cu]=_({name:"OnIncomingConnection",defaultValue:!1,beforeEach(e,t,a){return{playerId:e,ipAddress:t,port:a}}}),[_u]=_({name:"OnRconCommandI18n",identifier:"ai",defaultValue:!1,beforeEach(e){return{buffer:e,cmd:P.decodeFromBuf(e)}}}),[hu]=_({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,a){return{ip:P.decodeFromBuf(e),password:P.decodeFromBuf(t),success:!!a,ipBuffer:e,passwordBuffer:t}}}),te=[],se=[],Re=new Map,Ge=async e=>{try{return await new Promise((t,a)=>{const i=te.findIndex(l=>l.name===e);if(i===-1)return;const n=te[i];function r(l){l.length&&Re.set(e,l),te.splice(i,1),se.push(n),setTimeout(t)}const s=n.load();s instanceof Promise?s.then(r).catch(a):r(s)})}catch(t){throw new Error(`[GameMode]: script ${e} load fail
1
+ import{encodingExists as Mt,encode as Ht,decode as Vt}from"iconv-lite";import*as u from"@infernus/streamer";import{Streamer_GetTickRate as Ut,Streamer_SetTickRate as Wt,Streamer_GetPlayerTickRate as jt,Streamer_SetPlayerTickRate as Kt,Streamer_ToggleChunkStream as Zt,Streamer_IsToggleChunkStream as Xt,Streamer_GetChunkTickRate as ke,Streamer_SetChunkTickRate as Me,Streamer_GetChunkSize as zt,Streamer_SetChunkSize as Yt,Streamer_GetMaxItems as $t,Streamer_SetMaxItems as Jt,Streamer_GetVisibleItems as He,Streamer_SetVisibleItems as Ve,Streamer_GetRadiusMultiplier as Ue,Streamer_SetRadiusMultiplier as We,Streamer_GetTypePriority as Qt,Streamer_SetTypePriority as qt,Streamer_GetCellDistance as ea,Streamer_SetCellDistance as ta,Streamer_GetCellSize as aa,Streamer_SetCellSize as ia,Streamer_ToggleItemStatic as na,Streamer_IsToggleItemStatic as ra,Streamer_ToggleItemInvAreas as sa,Streamer_IsToggleItemInvAreas as la,Streamer_ToggleItemCallbacks as oa,Streamer_IsToggleItemCallbacks as da,Streamer_ToggleErrorCallback as ca,Streamer_IsToggleErrorCallback as _a,Streamer_AmxUnloadDestroyItems as ha,Streamer_ProcessActiveItems as ua,Streamer_ToggleIdleUpdate as ma,Streamer_IsToggleIdleUpdate as pa,Streamer_ToggleCameraUpdate as ga,Streamer_IsToggleCameraUpdate as fa,Streamer_ToggleItemUpdate as Sa,Streamer_IsToggleItemUpdate as ya,Streamer_GetLastUpdateTime as Pa,Streamer_Update as Ia,Streamer_UpdateEx as Ea,Streamer_GetDistanceToItem as Aa,Streamer_ToggleItem as Ca,Streamer_IsToggleItem as Ta,Streamer_ToggleAllItems as Da,Streamer_GetItemInternalID as wa,Streamer_GetItemStreamerID as Na,Streamer_IsItemVisible as va,Streamer_DestroyAllVisibleItems as ba,Streamer_CountVisibleItems as La,Streamer_DestroyAllItems as Ra,Streamer_CountItems as Ga,Streamer_GetNearbyItems as Oa,Streamer_GetAllVisibleItems as Fa,Streamer_GetItemPos as Ba,Streamer_SetItemPos as xa,Streamer_GetItemOffset as ka,Streamer_SetItemOffset as Ma,Streamer_GetFloatData as Ha,Streamer_SetFloatData as Va,Streamer_GetIntData as Ua,Streamer_SetIntData as Wa,Streamer_GetArrayData as ja,Streamer_SetArrayData as Ka,Streamer_IsInArrayData as Za,Streamer_AppendArrayData as Xa,Streamer_RemoveArrayData as za,Streamer_GetArrayDataLength as Ya,Streamer_GetUpperBound as $a,MapIconStyles as Ja,StreamerDistances as fe,CreateDynamicMapIconEx as Qa,CreateDynamicMapIcon as qa,DestroyDynamicMapIcon as ei,IsValidDynamicMapIcon as ti,StreamerItemTypes as A,CreateDynamicCPEx as ai,CreateDynamicCP as ii,DestroyDynamicCP as je,IsValidDynamicCP as Ke,TogglePlayerDynamicCP as ni,TogglePlayerAllDynamicCPs as ri,IsPlayerInDynamicCP as si,GetPlayerVisibleDynamicCP as li,CreateDynamicRaceCPEx as oi,CreateDynamicRaceCP as di,TogglePlayerDynamicRaceCP as ci,TogglePlayerAllDynamicRaceCPs as _i,IsPlayerInDynamicRaceCP as hi,GetPlayerVisibleDynamicRaceCP as ui,DestroyDynamic3DTextLabel as mi,IsValidDynamic3DTextLabel as pi,E_STREAMER as oe}from"@infernus/streamer";import{E_STREAMER as Sp,MapIconStyles as yp,MaterialTextAlign as Pp,MaterialTextSizes as Ip,StreamerAreaTypes as Ep,StreamerDistances as Ap,StreamerItemTypes as Cp,StreamerMiscellaneous as Tp,StreamerObjectTypes as Dp}from"@infernus/streamer";function Ze(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t===null||t===Object.prototype||Object.getPrototypeOf(t)===null?Object.prototype.toString.call(e)==="[object Object]":!1}function gi(e,t){const a={},i=Object.keys(e);for(let n=0;n<i.length;n++){const r=i[n],s=e[r];a[t(s,r,e)]=s}return a}function de(e,t){const a=Object.keys(t);for(let i=0;i<a.length;i++){const n=a[i],r=t[n],s=e[n];Array.isArray(r)?Array.isArray(s)?e[n]=de(s,r):e[n]=de([],r):Ze(r)?Ze(s)?e[n]=de(s,r):e[n]=de({},r):(s===void 0||r!==void 0)&&(e[n]=r)}return e}function fi(e,t){const a={...e};for(let i=0;i<t.length;i++){const n=t[i];delete a[n]}return a}const Si=new RegExp("\\p{Lu}?\\p{Ll}+|[0-9]+|\\p{Lu}+(?!\\p{Ll})|\\p{Emoji_Presentation}|\\p{Extended_Pictographic}|\\p{L}+","gu");function yi(e){return Array.from(e.match(Si)??[])}function Pe(e){return yi(e).map(a=>a.toLowerCase()).join("_")}function Pi(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function Ii(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function Ei(e){const t=[],a=e.length;if(a===0)return t;let i=0,n="",r="",s=!1;for(e.charCodeAt(0)===46&&(t.push(""),i++);i<a;){const l=e[i];r?l==="\\"&&i+1<a?(i++,n+=e[i]):l===r?r="":n+=l:s?l==='"'||l==="'"?r=l:l==="]"?(s=!1,t.push(n),n=""):n+=l:l==="["?(s=!0,n&&(t.push(n),n="")):l==="."?n&&(t.push(n),n=""):n+=l,i++}return n&&t.push(n),t}function Ie(e,t,a){if(e==null)return a;switch(typeof t){case"string":{const i=e[t];return i===void 0?Pi(t)?Ie(e,Ei(t),a):a:i}case"number":case"symbol":{typeof t=="number"&&(t=Ii(t));const i=e[t];return i===void 0?a:i}default:{if(Array.isArray(t))return Ai(e,t,a);Object.is(t?.valueOf(),-0)?t="-0":t=String(t);const i=e[t];return i===void 0?a:i}}}function Ai(e,t,a){if(t.length===0)return a;let i=e;for(let n=0;n<t.length;n++){if(i==null)return a;i=i[t[n]]}return i===void 0?a:i}function Ci(e){return e instanceof Buffer}class I{constructor(t,a){this.defaultLocale=t,this.locales=a,this.defaultLocale=Pe(t),this.locales=I.snakeLocaleKeys(a)}addLocales=t=>{de(this.locales,I.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=fi(this.locales,t)};$t=(t,a,i=this.defaultLocale)=>{const n=this.locales[Pe(i)],r=Ie(this.locales[this.defaultLocale],t),s=Ie(n,t,r);if(s===void 0)throw new Error(`[i18n]: cannot find ${i}["${t}"]`);if(typeof s!="string")return JSON.stringify(s);let l=s;if(a&&a.length){const o=/%s/i;for(let d=0;d<a.length&&l.match(o)!==null;d++)l=l.replace(o,a[d])}return l};static isValidate(t){if(!Mt(t))throw new Error(`[i18n]: unknown charset ${t}`)}static encodeToBuf(t,a){return I.isValidate(a),[...Ht(t,a),0]}static decodeFromBuf(t,a="utf8"){I.isValidate(a);const i=Ci(t)?t:Buffer.from(I.getValidStr(t));return Vt(i,a)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return gi(t,(a,i)=>Pe(i))}static convertSpecialChar(t){const a={\u00E0:"\x97",\u00E1:"\x98",\u00E2:"\x99",\u00E4:"\x9A",\u00C0:"\x80",\u00C1:"\x81",\u00C2:"\x82",\u00C4:"\x83",\u00E8:"\x9D",\u00E9:"\x9E",\u00EA:"\x9F",\u00EB:"\xA0",\u00C8:"\x86",\u00C9:"\x87",\u00CA:"\x88",\u00CB:"\x89",\u00EC:"\xA1",\u00ED:"\xA2",\u00EE:"\xA3",\u00EF:"\xA4",\u00CC:"\x8A",\u00CD:"\x8B",\u00CE:"\x8C",\u00CF:"\x8D",\u00F2:"\xA5",\u00F3:"\xA6",\u00F4:"\xA7",\u00F6:"\xA8",\u00D2:"\x8E",\u00D3:"\x8F",\u00D4:"\x90",\u00D6:"\x91",\u00F9:"\xA9",\u00FA:"\xAA",\u00FB:"\xAB",\u00FC:"\xAC",\u00D9:"\x92",\u00DA:"\x93",\u00DB:"\x94",\u00DC:"\x95",\u00F1:"\xAE",\u00D1:"\xAD","\xA1":"@","\xBF":"\xAF","`":"\xB1"};return t.split("").map(i=>i in a?a[i]:i).join("")}}const F=new Map,Xe=new Map;function Ti(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function ze(e,t,...a){const{defaultValue:i=!0,name:n,beforeEach:r,afterEach:s,throwOnError:l=!1}=e,o=F.get(n);if(!o||!o.length)return+i;const d=r?r(...a):{},_=[];let m=t;const f=y=>{if(m++,m<o.length){try{y&&Object.assign(d,y);const g={next:f,defaultValue:i,...d},P=o[m](g);return P instanceof Promise&&_.push(P),P}catch(g){const P=`executing event [name:${n},index:${m}] error:
2
+ ${g}`;if(l)throw{error:g,message:P};console.log(P)}return i}return s&&(_.length?Promise.allSettled(_).then(()=>s(d)):s(d)),i};return Ti(f(),i)}function h(e){const{name:t,identifier:a,isNative:i=!0}=e;if(F.has(t)){const l=`event [name:${t}] error: already defined.`;throw new Error(l)}function n(...l){if(l.length===1&&typeof l[0]=="object"&&l[0].__trigger__){const o=l[0];let d=-1;if(o.skipToNext){const _=F.get(t);if(_&&_.length){const m=_.indexOf(o.skipToNext);m>-1&&(d=m)}}return ze(e,d,...o.args)}return ze(e,-1,...l)}function r(l,o=!1){F.has(t)||F.set(t,[]);const d=F.get(t),_=(o?d.unshift(l):d.push(l))-1;return()=>{const m=F.get(t);if(!m)return;const f=m.length-1,y=f<_?f:_;for(let g=y;g>=0;g--)if(m[g]===l){m.splice(g,1);break}return m.length===0&&F.delete(t),m.length}}const s=[r,n];return i&&(typeof a<"u"&&samp.registerEvent(t,a),samp.on(t,n)),Xe.set(t,n),s}function Di(e){return Xe.get(e)}function wi(e){return Object.assign(e,{__trigger__:!0})}const Ni=e=>!!samp.callNative("IsValidNickName","s",e),vi=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},bi=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),Li=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),Ri=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),Gi=e=>!!samp.callNative("IsValidServerRule","s",e),Oi=e=>!!samp.callNative("RemoveServerRule","s",e),Fi=e=>{samp.callNative("AllowAdminTeleport","i",e)},Bi=()=>!!samp.callNative("IsAdminTeleportAllowed",""),xi=e=>{samp.callNative("AllowInteriorWeapons","i",e)},ki=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),Mi=()=>!!samp.callNative("AreAllAnimationsEnabled",""),Hi=e=>{samp.callNative("EnableAllAnimations","i",e)},Vi=e=>{const[t]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return t},Ui=e=>samp.callNative("GetConsoleVarAsInt","s",e),Wi=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),ji=()=>samp.callNative("GetWeather",""),Ki=e=>samp.callNative("GetServerRuleFlags","s",e),Zi=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),Xi=e=>!!samp.callNative("SetModeRestartTime","f",e),zi=()=>samp.callNativeFloat("GetModeRestartTime",""),Yi=(e,t,a)=>samp.callNative("GameTextForAll","aii",e,t,a),$i=e=>{samp.callNative("HideGameTextForAll","i",e)},Ji=(e,t,a)=>samp.callNative("SendDeathMessage","iii",e,t,a),Qi=()=>samp.callNative("GetMaxPlayers",""),Ee=(e,t,a)=>Math.sqrt(e*e+t*t+a*a),qi=e=>samp.callNative("SetGameModeText","s",e),en=e=>samp.callNative("ShowNameTags","i",e),tn=e=>samp.callNative("ShowPlayerMarkers","i",e),an=e=>samp.callNative("SetWorldTime","i",e),nn=()=>samp.callNative("GetWorldTime",""),rn=()=>!!samp.callNative("EnableVehicleFriendlyFire",""),sn=e=>samp.callNative("SetWeather","i",e),ln=()=>samp.callNativeFloat("GetGravity",""),on=e=>samp.callNative("SetGravity","f",e),dn=(e,t,a,i,n)=>samp.callNative("CreateExplosion","fffif",e,t,a,i,n),cn=e=>samp.callNative("EnableZoneNames","i",e),_n=()=>!!samp.callNative("UsePlayerPedAnims",""),hn=()=>!!samp.callNative("DisableInteriorEnterExits",""),un=e=>samp.callNative("SetNameTagDrawDistance","f",e),mn=()=>samp.callNative("DisableNameTagLOS",""),pn=e=>samp.callNative("LimitGlobalChatRadius","f",e),gn=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),fn=(e,t)=>samp.callNative("ConnectNPC","ss",e,t),Sn=()=>samp.callNative("GetServerTickRate",""),yn=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),Pn=e=>!!samp.callNative("EnableStuntBonusForAll","i",e),In=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},En=()=>!!samp.callNative("ChatTextReplacementToggled",""),An=e=>samp.callNative("GetWeaponSlot","i",e),Cn=e=>{const[t]=samp.callNative("GetWeaponName","iSi",e,32);return t},Ye=()=>samp.callNative("GetAvailableClasses",""),Tn=e=>{if(e<Ye()||e>319)return!1;const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[a,i=0,n=0,r=0,s=0,l=0,o=0,d=0,_=0,m=0,f=0,y=0]=t;return{teamId:a,modelId:i,spawnX:n,spawnY:r,spawnZ:s,zAngle:l,weapon1:o,weapon1Ammo:d,weapon2:_,weapon2Ammo:m,weapon3:f,weapon3Ammo:y}},Dn=(e,t,a,i,n,r,s,l,o,d,_,m,f)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,a,i,n,r,s,l,o,d,_,m,f),wn=e=>samp.callNative("SetTeamCount","i",e),Nn=(e,t,a,i,n,r,s,l,o,d,_)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,a,i,n,r,s,l,o,d,_),vn=(e,t,a,i,n,r,s,l,o,d,_,m)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,a,i,n,r,s,l,o,d,_,m),bn=(e,t,a,i,n,r,s,l,o,d,_,m,f)=>!!samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,a,i,n,r,s,l,o,d,_,m,f),Ln=e=>!!samp.callNative("SpawnPlayer","i",e),Rn=e=>{const[t,a=0,i=0,n=0,r=0,s=0,l=0,o=0,d=0,_=0,m=0,f=0]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:a,spawnX:i,spawnY:n,spawnZ:r,zAngle:s,weapon1:l,weapon1Ammo:o,weapon2:d,weapon2Ammo:_,weapon3:m,weapon3Ammo:f}},Gn=e=>samp.callNative("NetStats_GetConnectedTime","i",e),On=e=>samp.callNative("NetStats_MessagesReceived","i",e),Fn=e=>samp.callNative("NetStats_BytesReceived","i",e),Bn=e=>samp.callNative("NetStats_MessagesSent","i",e),xn=e=>samp.callNative("NetStats_BytesSent","i",e),kn=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),Mn=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),Hn=e=>samp.callNative("NetStats_ConnectionStatus","i",e),Vn=e=>{const[t]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return t},Un=e=>!!samp.callNative("IsPlayerAdmin","i",e),Wn=(e,t)=>!!samp.callNative("SetPlayerAdmin","ii",e,t),jn=e=>!!samp.callNative("Kick","i",e),Kn=e=>!!samp.callNative("Ban","i",e),Zn=e=>{const[t]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return t},Xn=()=>samp.callNative("GetNetworkStats","Si",1024),zn=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),Yn=e=>samp.callNative("UnBlockIpAddress","s",e),$n=(e,t)=>{const[a]=samp.callNative("gpci","iAi",e,41);return I.decodeFromBuf(I.getValidStr(a),t)},Jn=(e,t,a,i,n)=>samp.callNative("SendClientCheck","iiiii",e,t,a,i,n),Qn=()=>{samp.callNative("ClearBanList","")},qn=e=>!!samp.callNative("IsBanned","s",e),er=e=>samp.callNative("GetPlayerRawIp","i",e),tr=e=>{const[t]=samp.callNative("GetPlayerIp","iSi",e,128);return t},ar=e=>{const[t]=samp.callNative("GetPlayerVersion","iSi",e,24);return t},E=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(i=>parseInt(i,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((i,n)=>{i!==0&&(a+=Math.pow(16,n*2)*i)}),a},ir=(e,t)=>!!samp.callNative("TogglePlayerWidescreen","ii",e,t),nr=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),rr=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),sr=e=>samp.callNative("GetPlayerWeather","i",e),lr=e=>{const[t=0,a=0,i=0,n=0]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{xMax:t,xMin:a,yMax:i,yMin:n}},or=e=>samp.callNativeFloat("GetPlayerZAim","i",e),dr=e=>{const[t=0,a=0,i=0]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:a,fOffsetZ:i}},cr=e=>{const[t=0,a=0,i=0,n=0]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:a,y:i,z:n}},_r=e=>samp.callNative("GetPlayerDialogID","i",e),hr=e=>samp.callNative("GetPlayerSpectateID","i",e),ur=e=>samp.callNative("GetPlayerSpectateType","i",e),mr=(e,t)=>!!samp.callNative("SetPlayerGravity","if",e,t),pr=e=>samp.callNativeFloat("GetPlayerGravity","i",e),gr=e=>!!samp.callNative("IsPlayerSpawned","i",e),fr=e=>!!samp.callNative("IsPlayerControllable","i",e),Sr=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),yr=(e,t)=>!!samp.callNative("TogglePlayerGhostMode","ii",e,t),Pr=e=>!!samp.callNative("GetPlayerGhostMode","i",e),Ir=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),Er=(e,t)=>!!samp.callNative("RemovePlayerWeapon","ii",e,t),Ar=e=>!!samp.callNative("HidePlayerDialog","i",e),Cr=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),Tr=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),Dr=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),wr=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),Nr=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),vr=(e,t,a,i)=>!!samp.callNative("GameTextForPlayer","iaii",e,t,a,i),br=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),Lr=(e,t,a,i)=>!!samp.callNative("SendDeathMessageToPlayer","iiii",e,t,a,i),Rr=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),Gr=e=>!!samp.callNative("IsPlayerNPC","i",e),Or=(e,t,a,i)=>!!samp.callNative("SetPlayerPos","ifff",e,t,a,i),Fr=(e,t,a,i)=>!!samp.callNative("SetPlayerPosFindZ","ifff",e,t,a,i),Br=e=>samp.callNative("GetPlayerPos","iFFF",e),xr=(e,t)=>!!samp.callNative("SetPlayerFacingAngle","if",e,t),kr=e=>{const[t]=samp.callNative("GetPlayerFacingAngle","iF",e);return t},Mr=(e,t,a,i,n)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,a,i,n),Hr=(e,t,a,i)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,a,i),Vr=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),Ur=(e,t)=>!!samp.callNative("SetPlayerInterior","ii",e,t),Wr=e=>samp.callNative("GetPlayerInterior","i",e),jr=(e,t)=>!!samp.callNative("SetPlayerHealth","if",e,t),Kr=e=>{const[t]=samp.callNative("GetPlayerHealth","iF",e);return t},Zr=(e,t)=>!!samp.callNative("SetPlayerArmour","if",e,t),Xr=e=>{const[t]=samp.callNative("GetPlayerArmour","iF",e);return t},zr=(e,t,a)=>!!samp.callNative("SetPlayerAmmo","iii",e,t,a),Yr=e=>samp.callNative("GetPlayerAmmo","i",e),$r=e=>samp.callNative("GetPlayerWeaponState","i",e),Jr=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Qr=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},qr=e=>samp.callNative("GetPlayerTeam","i",e),es=(e,t)=>!!samp.callNative("SetPlayerScore","ii",e,t),ts=e=>samp.callNative("GetPlayerScore","i",e),as=e=>samp.callNative("GetPlayerDrunkLevel","i",e),is=(e,t)=>!!samp.callNative("SetPlayerDrunkLevel","ii",e,t),ns=(e,t)=>!!samp.callNative("SetPlayerColor","ii",e,E(t)),rs=e=>samp.callNative("GetPlayerColor","i",e),ss=(e,t)=>!!samp.callNative("SetPlayerSkin","ii",e,t),ls=e=>samp.callNative("GetPlayerSkin","i",e),os=(e,t,a)=>!!samp.callNative("GivePlayerWeapon","iii",e,t,a),ds=e=>!!samp.callNative("ResetPlayerWeapons","i",e),cs=(e,t)=>!!samp.callNative("SetPlayerArmedWeapon","ii",e,t),_s=(e,t)=>samp.callNative("GetPlayerWeaponData","iiII",e,t),hs=(e,t)=>!!samp.callNative("GivePlayerMoney","ii",e,t),us=e=>!!samp.callNative("ResetPlayerMoney","i",e),ms=e=>samp.callNative("GetPlayerMoney","i",e),ps=e=>samp.callNative("GetPlayerState","i",e),gs=e=>samp.callNative("GetPlayerPing","i",e),fs=e=>samp.callNative("GetPlayerWeapon","i",e),Ss=e=>samp.callNative("GetPlayerKeys","iIII",e),ys=(e,t,a)=>!!samp.callNative("SetPlayerTime","iii",e,t,a),Ps=e=>samp.callNative("GetPlayerTime","iII",e),Is=(e,t)=>!!samp.callNative("TogglePlayerClock","ii",e,t),Es=(e,t)=>!!samp.callNative("SetPlayerWeather","ii",e,t),As=e=>!!samp.callNative("ForceClassSelection","i",e),Cs=(e,t)=>!!samp.callNative("SetPlayerWantedLevel","ii",e,t),Ts=e=>samp.callNative("GetPlayerWantedLevel","i",e),Ds=(e,t)=>!!samp.callNative("SetPlayerFightingStyle","ii",e,t),ws=e=>samp.callNative("GetPlayerFightingStyle","i",e),Ns=(e,t,a,i)=>!!samp.callNative("SetPlayerVelocity","ifff",e,t,a,i),vs=e=>samp.callNative("GetPlayerVelocity","iFFF",e),bs=(e,t,a)=>!!samp.callNative("PlayCrimeReportForPlayer","iii",e,t,a),Ls=(e,t,a,i,n,r,s=!1)=>!!samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,a,i,n,r,s),Rs=e=>!!samp.callNative("StopAudioStreamForPlayer","i",e),Gs=(e,t)=>!!samp.callNative("SetPlayerShopName","is",e,t),Os=(e,t,a)=>!!samp.callNative("SetPlayerSkillLevel","iii",e,t,a),Fs=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),Bs=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),xs=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),ks=(e,t,a,i,n,r)=>!!samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,a,i,n,r),Ms=e=>samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e),Hs=(e,t,a)=>!!samp.callNative("PutPlayerInVehicle","iii",e,t,a),Vs=e=>samp.callNative("GetPlayerVehicleID","i",e),Us=e=>samp.callNative("GetPlayerVehicleSeat","i",e),Ws=e=>!!samp.callNative("RemovePlayerFromVehicle","i",e),js=(e,t)=>!!samp.callNative("TogglePlayerControllable","ii",e,t),Ks=(e,t,a,i,n)=>!!samp.callNative("PlayerPlaySound","iifff",e,t,a,i,n),Zs=(e,t,a,i,n,r,s,l,o,d)=>!!samp.callNative("ApplyAnimation","issfiiiiii",e,t,a,i,n,r,s,l,o,d),Xs=(e,t)=>!!samp.callNative("ClearAnimations","ii",e,t),zs=e=>samp.callNative("GetPlayerAnimationIndex","i",e),Ys=e=>samp.callNative("GetPlayerSpecialAction","i",e),$s=(e,t)=>!!samp.callNative("SetPlayerSpecialAction","ii",e,t),Js=(e,t)=>!!samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),Qs=(e,t)=>!!samp.callNative("SetPlayerVirtualWorld","ii",e,t),qs=e=>samp.callNative("GetPlayerVirtualWorld","i",e),el=(e,t)=>!!samp.callNative("EnableStuntBonusForPlayer","ii",e,t),tl=e=>samp.callNative("GetPlayerCustomSkin","i",e),al=(e,t,a,i,n,r)=>!!samp.callNative("CreateExplosionForPlayer","ifffif",e,t,a,i,n,r),il=(e,t,a)=>!!samp.callNative("StartRecordingPlayerData","iis",e,t,a),nl=e=>!!samp.callNative("StopRecordingPlayerData","i",e),rl=(e,t)=>!!samp.callNative("TogglePlayerSpectating","ii",e,t),sl=(e,t,a)=>!!samp.callNative("PlayerSpectatePlayer","iii",e,t,a),ll=(e,t,a)=>!!samp.callNative("PlayerSpectateVehicle","iii",e,t,a),$e=e=>!!samp.callNative("IsPlayerConnected","i",e),ol=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),dl=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),cl=(e,t,a,i,n)=>!!samp.callNative("SetPlayerWorldBounds","iffff",e,t,a,i,n),_l=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),hl=(e,t,a)=>!!samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,E(a));function ul(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",e,t)}const ml=(e,t,a)=>!!samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,a),pl=(e,t,a,i)=>!!samp.callNative("SetPlayerCameraPos","ifff",e,t,a,i),gl=(e,t,a,i,n)=>!!samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,a,i,n),fl=e=>!!samp.callNative("SetCameraBehindPlayer","i",e),Sl=e=>samp.callNative("GetPlayerCameraPos","iFFF",e),yl=e=>samp.callNative("GetPlayerCameraFrontVector","iFFF",e),Pl=e=>samp.callNative("GetPlayerCameraMode","i",e),Il=(e,t)=>!!samp.callNative("EnablePlayerCameraTarget","ii",e,t),El=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),Al=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),Cl=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),Tl=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),Dl=(e,t,a,i,n,r,s,l,o)=>!!samp.callNative("InterpolateCameraPos","iffffffii",e,t,a,i,n,r,s,l,o),wl=(e,t,a,i,n,r,s,l,o)=>!!samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,a,i,n,r,s,l,o),Nl=e=>!!samp.callNative("IsPlayerCuffed","i",e),vl=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),bl=e=>!!samp.callNative("IsPlayerUsingOmp","i",e),Ll=(e,t)=>samp.callNative("StartRecordingPlayback","is",e,t),Rl=()=>samp.callNative("StopRecordingPlayback",""),Gl=()=>samp.callNative("PauseRecordingPlayback",""),Ol=()=>samp.callNative("ResumeRecordingPlayback",""),Fl=e=>samp.callNative("GetActorSkin","i",e),Bl=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),xl=e=>{const[t=0,a=0,i=0,n=0,r=0]=samp.callNative("GetActorSpawnInfo","iIFFFF",e);return{skinId:t,fX:a,fY:i,fZ:n,fAngle:r}},kl=e=>{const[t=0,a=0,i=0,n=0,r=0,s=0]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:a,fZ:i,fRot:n,color1:r,color2:s}},Ml=(e,t,a,i,n,r,s,l,o=-2,d=-2)=>samp.callNative("SetVehicleSpawnInfo","iiFFFFiiii",e,t,a,i,n,r,s,l,o,d),Hl=e=>{const[t=0,a=0]=samp.callNative("GetVehicleColor","iII",e);return{color1:t,color2:a}},Vl=e=>samp.callNative("GetVehiclePaintjob","i",e),Ul=e=>samp.callNative("GetVehicleInterior","i",e),Wl=e=>{const[t]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return t},jl=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),Kl=e=>samp.callNative("GetVehicleRespawnDelay","i",e),Zl=e=>samp.callNative("GetVehicleCab","i",e),Xl=e=>samp.callNative("GetVehicleOccupiedTick","i",e),zl=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),Yl=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),$l=e=>!!samp.callNative("IsVehicleOccupied","i",e),Jl=e=>samp.callNative("GetVehicleRespawnTick","i",e),Ql=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),ql=e=>!!samp.callNative("IsVehicleDead","i",e),eo=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),to=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),ao=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),io=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),no=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),ro=e=>samp.callNative("GetVehicleModelCount","i",e),so=e=>samp.callNative("GetVehicleLastDriver","i",e),lo=e=>samp.callNative("GetVehicleDriver","i",e),oo=()=>samp.callNative("GetVehicleModelsUsed",""),co=e=>samp.callNative("GetVehicleSirenState","i",e),_o=e=>samp.callNative("GetVehicleLandingGearState","i",e),ho=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),uo=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),mo=e=>{const[t=0,a=0,i=0,n=0,r=0,s=0,l=0,o=0,d=0]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:a,rightZ:i,upX:n,upY:r,upZ:s,atX:l,atY:o,atZ:d}},Je=e=>{const[t=0,a=0,i=0,n=0]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,a,i,n]}},po=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),go=(e,t,a,i,n,r,s,l,o)=>samp.callNative("CreateVehicle","iffffiiii",e,t,a,i,n,E(r),E(s),l,o),fo=e=>samp.callNative("DestroyVehicle","i",e),So=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),yo=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]}},Po=(e,t,a,i)=>!!samp.callNative("SetVehiclePos","ifff",e,t,a,i),Io=e=>{const[t]=samp.callNative("GetVehicleZAngle","iF",e);return t},Eo=e=>samp.callNative("GetVehicleRotationQuat","iFFFF",e),Ao=(e,t,a,i)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,a,i),Co=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),To=(e,t,a,i)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,a,i),Do=()=>samp.callNative("ManualVehicleEngineAndLights",""),wo=(e,t,a,i,n,r,s,l)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,a,i,n,r,s,l),No=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),vo=e=>samp.callNative("GetVehicleParamsSirenState","i",e),bo=(e,t,a,i,n)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,a,i,n),Lo=e=>{const t=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},Ro=(e,t,a,i,n)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,a,i,n),Go=e=>{const t=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},Oo=e=>samp.callNative("SetVehicleToRespawn","i",e),Fo=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),Bo=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),xo=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),ko=(e,t,a)=>samp.callNative("ChangeVehicleColor","iii",e,E(t),E(a)),Mo=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),Ho=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),Vo=e=>{const[t]=samp.callNative("GetVehicleHealth","iF",e);return t},Uo=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),Wo=e=>samp.callNative("DetachTrailerFromVehicle","i",e),jo=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),Ko=e=>samp.callNative("GetVehicleTrailer","i",e),Zo=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),Xo=e=>samp.callNative("GetVehicleModel","i",e),zo=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),Yo=e=>samp.callNative("GetVehicleComponentType","i",e),$o=e=>samp.callNative("RepairVehicle","i",e),Jo=e=>samp.callNative("GetVehicleVelocity","iFFF",e),Qo=(e,t,a,i)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,a,i),qo=(e,t,a,i)=>!!samp.callNative("SetVehicleAngularVelocity","ifff",e,t,a,i),ed=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]}},td=(e,t,a,i,n)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,a,i,n),ad=(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]}},id=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),nd=e=>samp.callNative("GetVehicleVirtualWorld","i",e),Qe=e=>!!samp.callNative("IsValidVehicle","i",e),rd=(e,t,a,i,n,r,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,a,i,n,E(r),E(s)),sd=(e,t,a,i,n,r,s,l,o)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,a,i,n,E(r),E(s),l,o),ld=e=>!!samp.callNative("ShowVehicle","i",e),od=e=>!!samp.callNative("HideVehicle","i",e),dd=e=>!!samp.callNative("IsVehicleHidden","i",e),cd=e=>!!samp.callNative("IsPlayerInModShop","i",e),_d=e=>samp.callNative("GetPlayerSirenState","i",e),hd=e=>samp.callNative("GetPlayerLandingGearState","i",e),ud=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),md=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),pd=(e,t)=>samp.callNative("GetVehicleOccupant","ii",e,t),qe=e=>samp.callNative("GetVehicleMaxPassengers","i",e),gd=e=>samp.callNative("CountVehicleOccupants","i",e),fd=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),Sd=e=>{const[t=0,a=0,i=0,n=0]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:a,fZ:i,fSize:n}},yd=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),Pd=e=>{const[t=0,a=0,i=0,n=0,r=0,s=0,l=0]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:a,fZ:i,fNextX:n,fNextY:r,fNextZ:s,fSize:l}},Id=e=>!!samp.callNative("IsMenuDisabled","i",e),Ed=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),Ad=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),Cd=e=>{const[t=0,a=0]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:a}},Td=e=>{const[t=0,a=0]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:a}},Dd=(e,t)=>{const[a]=samp.callNative("GetMenuColumnHeader","iiSi",e,t,31);return a},wd=(e,t,a)=>{const[i]=samp.callNative("GetMenuItem","iiiSi",e,t,a,31);return i},Nd=(e,t,a,i,n,r)=>samp.callNative("CreateMenu","siffff",e,t,a,i,n,r),vd=e=>samp.callNative("DestroyMenu","i",e),bd=(e,t,a)=>samp.callNative("AddMenuItem","iis",e,t,a),Ld=(e,t,a)=>samp.callNative("SetMenuColumnHeader","iis",e,t,a),Rd=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),Gd=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),Od=e=>!!samp.callNative("IsValidMenu","i",e),Fd=e=>samp.callNative("DisableMenu","i",e),Bd=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),xd=e=>samp.callNative("GetPlayerMenu","i",e),kd=e=>!!samp.callNative("IsValidGangZone","i",e),Md=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),Hd=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),Vd=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),Ud=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),Wd=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),jd=e=>{const[t=0,a=0,i=0,n=0]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:a,fMaxX:i,fMaxY:n}},Kd=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},Zd=(e,t,a,i)=>samp.callNative("GangZoneCreate","ffff",e,t,a,i),Xd=e=>samp.callNative("GangZoneDestroy","i",e),zd=(e,t,a)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,E(a)),Yd=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,E(t)),$d=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),Jd=e=>samp.callNative("GangZoneHideForAll","i",e),Qd=(e,t,a)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,E(a)),qd=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,E(t)),ec=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),tc=e=>samp.callNative("GangZoneStopFlashForAll","i",e),ac=(e,t,a,i,n)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,a,i,n),ic=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),nc=(e,t,a)=>samp.callNative("PlayerGangZoneShow","iii",e,t,a),rc=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),sc=(e,t,a)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,a),lc=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),oc=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),dc=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),cc=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),_c=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),hc=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),uc=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),mc=(e,t)=>{const[a=0,i=0,n=0,r=0]=samp.callNative("PlayerGangZoneGetPos","iiFFFF",e,t);return{fMinX:a,fMinY:i,fMaxX:n,fMaxY:r}},pc=(e,t,a)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,a)},gc=e=>!!samp.callNative("IsValidTextDraw","i",e),fc=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),Sc=e=>{const[t]=samp.callNative("TextDrawGetString","iSi",e,1024);return t},yc=(e,t,a)=>{samp.callNative("TextDrawSetPos","iff",e,t,a)},Pc=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:a}},Ic=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:a}},Ec=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:a}},Ac=e=>samp.callNative("TextDrawGetColor","i",e),Cc=e=>samp.callNative("TextDrawGetBoxColor","i",e),Tc=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),Dc=e=>samp.callNative("TextDrawGetShadow","i",e),wc=e=>samp.callNative("TextDrawGetOutline","i",e),Nc=e=>samp.callNative("TextDrawGetFont","i",e),vc=e=>!!samp.callNative("TextDrawIsBox","i",e),bc=e=>!!samp.callNative("TextDrawIsProportional","i",e),Lc=e=>!!samp.callNative("TextDrawIsSelectable","i",e),Rc=e=>samp.callNative("TextDrawGetAlignment","i",e),Gc=e=>samp.callNative("TextDrawGetPreviewModel","i",e),Oc=e=>{const[t=0,a=0,i=0,n=0]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:a,fRotZ:i,fZoom:n}},Fc=e=>{const[t,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:a}},Bc=(e,t,a)=>{samp.callNative("TextDrawSetStringForPlayer","iia",e,t,a)},xc=(e,t,a)=>samp.callNative("TextDrawCreate","ffa",e,t,a),kc=e=>samp.callNative("TextDrawDestroy","i",e),Mc=(e,t,a)=>samp.callNative("TextDrawLetterSize","iff",e,t,a),Hc=(e,t,a)=>samp.callNative("TextDrawTextSize","iff",e,t,a),Vc=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),Uc=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,E(t)),Wc=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),jc=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,E(t)),Kc=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),Zc=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),Xc=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,E(t)),zc=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),Yc=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),$c=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),Jc=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),Qc=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),qc=e=>samp.callNative("TextDrawShowForAll","i",e),e_=e=>samp.callNative("TextDrawHideForAll","i",e),t_=(e,t)=>samp.callNative("TextDrawSetString","ia",e,t),a_=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),i_=(e,t,a,i,n=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,a,i,n)},n_=(e,t,a)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,E(t),E(a)),r_=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,E(t))},s_=e=>{samp.callNative("CancelSelectTextDraw","i",e)},l_=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),o_=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),d_=(e,t)=>{const[a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return a},c_=(e,t,a,i)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,a,i)},__=(e,t)=>{const[a=0,i=0]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:a,fY:i}},h_=(e,t)=>{const[a=0,i=0]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:a,fY:i}},u_=(e,t)=>{const[a=0,i=0]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:a,fY:i}},m_=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),p_=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),g_=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),f_=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),S_=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),y_=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),P_=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),I_=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),E_=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),A_=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),C_=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),T_=(e,t)=>{const[a=0,i=0,n=0,r=0]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:a,fRotY:i,fRotZ:n,fZoom:r}},D_=(e,t)=>{const[a,i]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:a,color2:i}},w_=(e,t,a,i)=>samp.callNative("CreatePlayerTextDraw","iffa",e,t,a,i),N_=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},v_=(e,t,a,i)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,a,i),b_=(e,t,a,i)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,a,i),L_=(e,t,a)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,a),R_=(e,t,a)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,E(a)),G_=(e,t,a)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,a),O_=(e,t,a)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,E(a)),F_=(e,t,a)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,a),B_=(e,t,a)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,a),x_=(e,t,a)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,E(a)),k_=(e,t,a)=>samp.callNative("PlayerTextDrawFont","iii",e,t,a),M_=(e,t,a)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,a),H_=(e,t,a)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,a),V_=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),U_=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),W_=(e,t,a)=>samp.callNative("PlayerTextDrawSetString","iia",e,t,a),j_=(e,t,a)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,a),K_=(e,t,a,i,n,r)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,a,i,n,r),Z_=(e,t,a,i)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,a,i),X_=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),z_=e=>!!samp.callNative("BeginObjectSelecting","i",e),Y_=e=>!!samp.callNative("EndObjectEditing","i",e),$_=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),J_=(e,t,a,i,n)=>samp.callNative("AddSimpleModel","iiiss",e,t,a,i,n),Q_=(e,t,a,i,n,r,s)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,a,i,n,r,s),q_=(e,t)=>samp.callNative("RedirectDownload","is",e,t),eh=e=>{const[t]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return t},th=e=>{const[t]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return t},ah=(e,t)=>{const[a=0,i=0,n=0,r=0,s=0,l=0,o=0,d=0,_=0,m=0,f=0,y=0,g=0]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:a,bone:i,fX:n,fY:r,fZ:s,fRotX:l,fRotY:o,fRotZ:d,fScaleX:_,fScaleY:m,fScaleZ:f,materialColor1:y,materialColor2:g}},ih=(e,t,a,i,n,r,s,l,o,d,_,m,f,y,g)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,a,i,n,r,s,l,o,d,_,m,f,E(y),E(g)),nh=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),rh=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),et=e=>!!samp.callNative("IsValidCustomModel","i",e),sh=e=>{if(!et(e))return null;const[t,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:a}};var tt=(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))(tt||{}),at=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(at||{}),Ae=(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))(Ae||{}),it=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(it||{}),nt=(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))(nt||{}),w=(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))(w||{}),rt=(e=>(e[e.NONE=0]="NONE",e[e.ACTION=1]="ACTION",e[e.CROUCH=2]="CROUCH",e[e.FIRE=4]="FIRE",e[e.SPRINT=8]="SPRINT",e[e.SECONDARY_ATTACK=16]="SECONDARY_ATTACK",e[e.JUMP=32]="JUMP",e[e.LOOK_RIGHT=64]="LOOK_RIGHT",e[e.HANDBRAKE=128]="HANDBRAKE",e[e.LOOK_LEFT=256]="LOOK_LEFT",e[e.SUBMISSION=512]="SUBMISSION",e[e.LOOK_BEHIND=512]="LOOK_BEHIND",e[e.WALK=1024]="WALK",e[e.ANALOG_UP=2048]="ANALOG_UP",e[e.ANALOG_DOWN=4096]="ANALOG_DOWN",e[e.ANALOG_LEFT=8192]="ANALOG_LEFT",e[e.ANALOG_RIGHT=16384]="ANALOG_RIGHT",e[e.YES=65536]="YES",e[e.NO=131072]="NO",e[e.CTRL_BACK=262144]="CTRL_BACK",e[e.KEY_UP=-128]="KEY_UP",e[e.KEY_DOWN=128]="KEY_DOWN",e[e.KEY_LEFT=-128]="KEY_LEFT",e[e.KEY_RIGHT=128]="KEY_RIGHT",e))(rt||{}),M=(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))(M||{}),st=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(st||{}),lt=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(lt||{}),H=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(H||{}),ot=(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))(ot||{}),dt=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(dt||{}),ct=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(ct||{}),_t=(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))(_t||{}),ht=(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))(ht||{}),ce=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(ce||{}),ut=(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))(ut||{}),Se=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(Se||{}),_e=(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))(_e||{}),mt=(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))(mt||{}),pt=(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))(pt||{}),gt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.ALL=1]="ALL",e[e.OTHER=2]="OTHER",e))(gt||{}),Ce=(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))(Ce||{}),he=(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))(he||{}),ft=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(ft||{}),St=(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))(St||{}),yt=(e=>(e[e.UNSET=-1]="UNSET",e[e.OFF=0]="OFF",e[e.ON=1]="ON",e))(yt||{}),Pt=(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))(Pt||{}),It=(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))(It||{}),Et=(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))(Et||{}),At=(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))(At||{}),Ct=(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))(Ct||{}),Te=(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))(Te||{}),Tt=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(Tt||{});class N{static npcs=new Map;id=w.PLAYER_ID;name="";static recordStatus;constructor(t){const a=samp.callNative("NPC_Create","s",t);if(this.id=a,this.name=t,a!==w.PLAYER_ID){const i=N.getInstance(a);if(i)return i}return N.npcs.set(a,this),this}getName(){return this.name}destroy(){return samp.callNative("NPC_Destroy","i",this.id),this}isValid(){return!!samp.callNative("NPC_IsValid","i",this.id)}spawn(){return samp.callNative("NPC_Spawn","i",this.id),this}setPos(t,a,i){return samp.callNative("NPC_SetPos","ifff",this.id,t,a,i),this}setRot(t,a,i){return samp.callNative("NPC_SetRot","ifff",this.id,t,a,i),this}getRot(){const[t,a,i]=samp.callNative("NPC_GetRot","iFFF",this.id);return{rX:t,rY:a,rZ:i}}setFacingAngle(t){return samp.callNative("NPC_SetFacingAngle","if",this.id,t),this}getFacingAngle(){const[t]=samp.callNative("NPC_GetFacingAngle","iF",this.id);return t}setVirtualWorld(t){return samp.callNative("NPC_SetVirtualWorld","ii",this.id,t),this}getVirtualWorld(){const[t]=samp.callNative("NPC_GetVirtualWorld","iI",this.id);return t}move(t,a,i,n,r=-1){return!!samp.callNative("NPC_Move","ifffif",this.id,t,a,i,n,r)}stopMove(){return samp.callNative("NPC_StopMove","i",this.id),this}isMoving(){return!!samp.callNative("NPC_IsMoving","ifffif",this.id)}setSkin(t){return samp.callNative("NPC_SetSkin","ii",this.id,t),this}isStreamedIn(t){return!!samp.callNative("NPC_IsStreamedIn","ii",this.id,t.id)}isAnyStreamedIn(){return!!samp.callNative("NPC_IsAnyStreamedIn","i",this.id)}setInterior(t){return samp.callNative("NPC_SetInterior","ii",this.id,t),this}getInterior(){return samp.callNative("NPC_GetInterior","i",this.id)}setHealth(t){return samp.callNative("NPC_SetHealth","if",this.id,t),this}getHealth(){return samp.callNativeFloat("NPC_GetHealth","i",this.id)}setArmour(t){return samp.callNative("NPC_SetArmour","if",this.id,t),this}getArmour(){return samp.callNativeFloat("NPC_GetArmour","i",this.id)}isDead(){return!!samp.callNative("NPC_IsDead","i",this.id)}applyAnimation(t,a,i,n,r,s,l,o,d){return samp.callNative("NPC_ApplyAnimation","issfiiiiii",this.id,t,a,i,n,r,s,l,o,d),this}setWeapon(t){return samp.callNative("NPC_SetWeapon","ii",this.id,t),this}getWeapon(){return samp.callNative("NPC_GetWeapon","i",this.id)}setAmmo(t){return samp.callNative("NPC_SetAmmo","ii",this.id,t),this}getAmmo(){return samp.callNative("NPC_GetAmmo","ii",this.id)}setKeys(t,a,i){return samp.callNative("NPC_SetKeys","iiii",t,a,i),this}getKeys(){const[t,a,i]=samp.callNative("NPC_GetKeys","iIII",this.id);return{upAndDown:t,leftAndDown:a,keys:i}}setWeaponSkillLevel(t,a){return samp.callNative("NPC_SetWeaponSkillLevel","iii",this.id,t,a),this}getWeaponSkillLevel(t){return samp.callNative("NPC_GetWeaponSkillLevel","ii",this.id,t)}meleeAttack(t,a){return samp.callNative("NPC_MeleeAttack","iii",this.id,t,a),this}stopMeleeAttack(){return samp.callNative("NPC_StopMeleeAttack","i",this.id),this}isMeleeAttacking(){return!!samp.callNative("NPC_IsMeleeAttacking","i",this.id)}setFightingStyle(t){return samp.callNative("NPC_SetFightingStyle","ii",this.id,t),this}getFightingStyle(){return samp.callNative("NPC_GetFightingStyle","i",this.id)}enableReloading(t){return samp.callNative("NPC_EnableReloading","ii",this.id,t),this}isReloadEnabled(){return!!samp.callNative("NPC_IsReloadEnabled","i",this.id)}isReloading(){return!!samp.callNative("NPC_IsReloading","i",this.id)}enableInfiniteAmmo(t){return samp.callNative("NPC_EnableInfiniteAmmo","ii",this.id,t),this}isInfiniteAmmoEnabled(){return!!samp.callNative("NPC_IsInfiniteAmmoEnabled","i",this.id)}getWeaponState(){return samp.callNative("NPC_GetWeaponState","i",this.id)}setAmmoInClip(t){return samp.callNative("NPC_SetAmmoInClip","ii",this.id,t),this}getAmmoInClip(){return samp.callNative("NPC_GetAmmoInClip","i",this.id)}shoot(t,a,i,n,r,s,l,o,d,_,m){return samp.callNative("NPC_Shoot","iiiffffffii",this.id,t,a,i,n,r,s,l,o,d,_,m),this}isShooting(){return!!samp.callNative("NPC_IsShooting","i",this.id)}aimAt(t,a,i,n,r,s,l,o,d,_){return samp.callNative("NPC_AimAt","ifffiiifffi",this.id,t,a,i,n,r,s,l,o,d,_),this}aimAtPlayer(t,a,i,n,r,s,l,o,d,_,m){return samp.callNative("NPC_AimAtPlayer","iiiiiffffffi",this.id,t.id,a,i,n,r,s,l,o,d,_,m),this}stopAim(){return samp.callNative("NPC_StopAim","i",this.id),this}isAiming(){return!!samp.callNative("NPC_IsAiming","i",this.id)}isAimingAtPlayer(t){return!!samp.callNative("NPC_IsAimingAtPlayer","ii",this.id,t.id)}setWeaponAccuracy(t,a){return samp.callNative("NPC_SetWeaponAccuracy","iif",this.id,t,a),this}getWeaponAccuracy(t){return samp.callNativeFloat("NPC_GetWeaponAccuracy","ii",this.id,t)}enterVehicle(t,a,i){return samp.callNative("NPC_EnterVehicle","iiii",this.id,t,a,i),this}exitVehicle(){return samp.callNative("NPC_ExitVehicle","i",this.id),this}static connect=fn;static startRecordingPlayerData(t,a,i){if(t.isRecording)throw new Error("[NpcFunc]: It should be stopped before recording");il(t.id,a,i),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)throw new Error("[NpcFunc]: It should be started before stop");nl(t.id),t.isRecording=!1}static startRecordingPlayback(t,a){if(N.recordStatus>=H.start)throw new Error("[NpcFunc]: The current status cannot be replayed");Ll(t,a),N.recordStatus=H.start}static stopRecordingPlayback(){if(N.recordStatus<H.start)throw new Error("[NpcFunc]: The current status cannot be stopped");Rl(),N.recordStatus=H.none}static pauseRecordingPlayback(){if(N.recordStatus!==H.start)throw new Error("[NpcFunc]: The current status cannot be paused");Gl(),N.recordStatus=H.pause}static resumeRecordingPlayback(){if(N.recordStatus!==H.pause)throw new Error("[NpcFunc]: The current status cannot be paused");Ol(),N.recordStatus=H.start}static getInstance(t){return this.npcs.get(t)}static getInstances(){return[...this.npcs.values()]}}const Dt=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}]]]),De=e=>{const t=Dt.get(e.toUpperCase());return t===void 0?!1:t},we=(e,t)=>{const a=De(e);if(a)return t==="null"?!0:a.some(i=>i.n===t)},lh=(e,t)=>{const a=De(e);if(a)return a.find(i=>i.n===t)?.d},J=(e,t)=>{const a=t.replace("-","")==="utf8"?e:I.encodeToBuf(e,t);return[a instanceof Array?"a":"s",a]},wt=(e,t,a)=>{const i=J(a,e.charset);return samp.callNative("SendClientMessage",`ii${i[0]}`,e.id,E(t),i[1])},oh=(e,t,a)=>(e.forEach(i=>wt(i,t,a)),1),Nt=(e,t,a)=>{const i=J(a,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${i[0]}`,e.id,t,i[1])},dh=(e,t,a)=>(e.forEach(i=>{Nt(i,t,a)}),1),ch=(e,t,a)=>{const{charset:i}=e,{style:n,caption:r,info:s,button1:l,button2:o}=a,[d,_]=J(r||"",i),[,m]=J(s||"",i),[,f]=J(l||"",i),[,y]=J(o||"",i);return!!samp.callNative("ShowPlayerDialog",`iii${d.repeat(4)}`,e.id,t,n,_,m,f,y)},_h=e=>{const[t]=samp.callNative("GetPlayerName","iAi",e.id,M.MAX_PLAYER_NAME);return I.decodeFromBuf(I.getValidStr(t),e.charset)},hh=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,I.encodeToBuf(t,e.charset)),uh=(e,t,a)=>{const i=I.encodeToBuf(t,a);return samp.callNative("BanEx","ia",e,i)},mh=(e,t="utf8")=>{const[a,i]=J(e,t);return samp.callNative("SendRconCommand",a,i)},ph=(e,t,a,i,n,r,s,l,o,d,_,m,f,y,g,P)=>{const v=I.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",v,a,i,n,r,s,l,o,d,_,m,f,y,g,P)},gh=(e,t,a,i,n,r,s,l,o,d,_,m,f,y,g,P)=>{const v=I.encodeToBuf(e,P);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",v,t,a,i,n,r,s,l,o,d,_,m,f,y,g,_.length,m.length,f.length,y.length)},fh=(e,t,a,i)=>{const n=I.encodeToBuf(a,i);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,n)},Sh=(e,t)=>{const[a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return I.decodeFromBuf(I.getValidStr(a),t)},yh=(e,t,a,i,n,r,s,l,o,d,_)=>{const m=I.encodeToBuf(i,e),f=I.encodeToBuf(r,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,a,m,n,f,s,l,o,d,_)},Ph=(e,t,a)=>{const[i,n,r,s,l,o,d]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),_=I.decodeFromBuf(i,a),m=I.decodeFromBuf(r,a);return{text:_,materialSize:n,fontFace:m,bold:s,fontColor:l,backColor:o,textAlignment:d}},Ih=(e,t,a,i,n,r)=>{const s=I.encodeToBuf(t,r);return!!samp.callNative("SetPlayerChatBubble","iaifi",e,s,E(a),i,n)},Q=Symbol(),Y=new Map,ye=new Map,Ne=new Map,[vt]=h({name:"OnClientCheckResponse",beforeEach(e,t,a,i){return{player:p.getInstance(e),actionId:t,memAddr:a,data:i}}}),[Eh,Ah]=h({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,a){return{player:e,newLocale:t,oldLocale:a}}}),[Ch,Th]=h({name:"OnPlayerCharsetChange",isNative:!1,beforeEach(e,t,a){return{player:e,newCharset:t,oldCharset:a}}});class p{constructor(t){this.id=t;const a=p.getInstance(t);if(a)return a}[Q]={isAndroid:!0};static players=Y;static MAX_CHECK_ANDROID_DELAY=10;static SKIP_CHECK_ANDROID=!1;_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,Th(this,t,a)}get locale(){return this._locale}set locale(t){const a=this._locale;this._locale=t,Ah(this,t,a)}sendClientMessage(t,a){return wt(this,t,a)}static sendClientMessageToAll(t,a){oh(p.getInstances(),t,a)}sendMessageToPlayer(t,a){return Nt(t,this.id,a)}sendMessageToAll(t){return dh(p.getInstances(),this.id,t)}isNpc(){return Gr(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return as(this.id)}setDrunkLevel(t){if(t<0||t>5e4)throw new Error("[Player]: player's drunk level ranges from 0 to 50000");return is(this.id,t)}allowTeleport(t){return Tr(this.id,t)}isTeleportAllowed(){return Dr(this.id)}enableCameraTarget(t){return Il(this.id,t)}enableStuntBonus(t){return el(this.id,t)}getInterior(){return Wr(this.id)}setInterior(t){return Ur(this.id,t)}showNameTag(t,a){return ml(this.id,t.id,a)}setColor(t){return ns(this.id,t)}getColor(){return rs(this.id)}setMarker(t,a){hl(this.id,t.id,a)}getMarker(t){return ul(this.id,t.id)}resetMoney(){return us(this.id)}getMoney(){return ms(this.id)}giveMoney(t){return hs(this.id,t)}resetWeapons(){return ds(this.id)}spawn(){return Ln(this.id)}setHealth(t){return jr(this.id,t)}getHealth(){return Kr(this.id)}toggleClock(t){return Is(this.id,t)}toggleControllable(t){return js(this.id,t)}toggleSpectating(t){return rl(this.id,t)}spectatePlayer(t,a=Se.NORMAL){return sl(this.id,t.id,a)}spectateVehicle(t,a=Se.NORMAL){return ll(this.id,t.id,a)}forceClassSelection(){return As(this.id)}kick(){return jn(this.id)}ban(){return Kn(this.id)}banEx(t,a){return uh(this.id,t,a)}isAdmin(){return Un(this.id)}isInRangeOfPoint(t,a,i,n){return Mr(this.id,t,a,i,n)}isStreamedIn(t){return Vr(this.id,t.id)}setSkin(t,a=!1){return!a&&(t<0||t>311||t===74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===Ce.DUCK?!1:ss(this.id,t)}getSkin(){return ls(this.id)}isInAnyVehicle(){return dl(this.id)}getSpecialAction(){return Ys(this.id)}setSpecialAction(t){return $s(this.id,t)}setScore(t){return es(this.id,t)}getScore(){return ts(this.id)}getPing(){return gs(this.id)||0}setPos(t,a,i){return Or(this.id,t,a,i)}getPos(){const[t,a,i]=Br(this.id);return{x:t,y:a,z:i}}isSpectating(){return this.getState()===_e.SPECTATING}isWasted(){return this.getState()===_e.WASTED}getState(){return ps(this.id)}getVersion(){return this.isNpc()?"":ar(this.id)}setVirtualWorld(t){return Qs(this.id,t)}getVirtualWorld(){return qs(this.id)}removeFromVehicle(){return Ws(this.id)}setWantedLevel(t){if(t<0||t>6)throw new Error("[Player]: player's wanted level ranges from 0 to 6");return Cs(this.id,t)}getWantedLevel(){return Ts(this.id)}setFacingAngle(t){return xr(this.id,t)}getFacingAngle(){return kr(this.id)}setWeather(t){if(t<0||t>255)throw new Error("[Player]: The valid weather value is only 0 to 255");return Es(this.id,t)}getWeather(){return sr(this.id)}setTime(t,a){if(t<0||t>23)throw new Error("[Player]: The valid hour value is only 0 to 23");if(a<0||a>59)throw new Error("[Player]: The valid minute value is only 0 to 59");return ys(this.id,t,a)}getTime(){const[t,a]=Ps(this.id);return{hour:t,minute:a}}removeBuilding(t,a,i,n,r){return ks(this.id,t,a,i,n,r)}setTeam(t){t<0||t>w.NO_TEAM||Qr(this.id,t)}getTeam(){return qr(this.id)}setSkillLevel(t,a){if(a<0||a>999)throw new Error("[Player]: The valid skill level is only 0 to 999");return Os(this.id,t,a)}getName(){return _h(this)}setName(t){return hh(this,t)}setVelocity(t,a,i){return Ns(this.id,t,a,i)}getVelocity(){const[t,a,i]=vs(this.id);return{x:t,y:a,z:i}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:i,z:n}=this.getVelocity();return Ee(a,i,n)*t}getKeys(){const[t,a,i]=Ss(this.id);return{keys:t,upDown:a,leftRight:i}}getIp(){return tr(this.id)}getFightingStyle(){return ws(this.id)}setFightingStyle(t){return Ds(this.id,t)}setArmour(t){return Zr(this.id,t)}getArmour(){return Xr(this.id)}setCameraBehind(){return fl(this.id)}setCameraPos(t,a,i){return pl(this.id,t,a,i)}setCameraLookAt(t,a,i,n=ce.CUT){return gl(this.id,t,a,i,n)}getCameraAspectRatio(){return Cl(this.id)}getCameraFrontVector(){const[t,a,i]=yl(this.id);return{x:t,y:a,z:i}}getCameraMode(){return Pl(this.id)}getCameraPos(){const[t,a,i]=Sl(this.id);return{x:t,y:a,z:i}}getCameraTargetPlayer(){const t=Al(this.id);return p.getInstances().find(a=>a.id===t)}getCameraTargetVehicle(){const t=El(this.id);return[...ye.values()].find(a=>a.id===t)}getCameraZoom(){return Tl(this.id)}playAudioStream(t,a=0,i=0,n=0,r=5){let s=!1;return(a!==0||i!==0||n!==0)&&(s=!0),Ls(this.id,t,a,i,n,r,s)}stopAudioStream(){return Rs(this.id)}playSound(t,a=0,i=0,n=0){return Ks(this.id,t,a,i,n)}static getMaxPlayers(){return Qi()}playCrimeReport(t,a){if(a<3||a>22)throw new Error("[Player]: Available crime ids range from 3 to 22");return bs(this.id,t.id,a)}interpolateCameraPos(t,a,i,n,r,s,l,o=ce.CUT){return Dl(this.id,t,a,i,n,r,s,l,o)}interpolateCameraLookAt(t,a,i,n,r,s,l,o=ce.CUT){return wl(this.id,t,a,i,n,r,s,l,o)}createExplosion(t,a,i,n,r){if(n<0||n>13)throw new Error("[Player]: The valid explosion type value is only 0 to 13");return al(this.id,t,a,i,n,r)}static isConnected(t){return $e(t)}isConnected(){return $e(this.id)}disableRemoteVehicleCollisions(t){return Js(this.id,t)}getVehicle(){if(!this.isInAnyVehicle())return;const t=Vs(this.id);return[...ye.values()].find(a=>a.id===t)}getVehicleSeat(){return Us(this.id)}getSurfingVehicle(){const t=Fs(this.id);if(t!==w.VEHICLE_ID)return[...ye.values()].find(a=>a.id===t)}applyAnimation(t,a,i=4.1,n=!1,r=!0,s=!0,l=!1,o=0,d=!1){if(!we(t,a))throw new Error(`[Player]: Invalid anim library or name ${t} ${a}`);return Zs(this.id,t,a,i,n,r,s,l,o,+d)}clearAnimations(t=!1){return Xs(this.id,t)}getAnimationIndex(){return zs(this.id)}getAnimationName(t=this.getAnimationIndex()){const[a,i]=yn(t);return{index:t,animLib:a,animName:i}}setShopName(t){return Gs(this.id,t)}setPosFindZ(t,a,i){return Fr(this.id,t,a,i)}setWorldBounds(t,a,i,n){return cl(this.id,t,a,i,n)}clearWorldBounds(){return _l(this.id)}setChatBubble(t,a,i,n,r=this.charset){return Ih(this.id,t,a,i,n,r)}getDistanceFromPoint(t,a,i){return Hr(this.id,t,a,i)}getCustomSkin(){return tl(this.id)}getTargetPlayer(){const t=Jr(this.id);if(t!==w.PLAYER_ID)return p.getInstances().find(a=>a.id===t)}getLastShotVectors(){const[t,a,i,n,r,s]=Ms(this.id);return{fOriginX:t,fOriginY:a,fOriginZ:i,fHitPosX:n,fHitPosY:r,fHitPosZ:s}}getWeapon(){return fs(this.id)}getWeaponData(t){if(t<0||t>12)throw new Error("[Player]: weapon slots range from 0 to 12");const[a,i]=_s(this.id,t);return{weapons:a,ammo:i}}getWeaponState(){return $r(this.id)}giveWeapon(t,a){return os(this.id,t,a)}setAmmo(t,a){return zr(this.id,t,a)}getAmmo(){return Yr(this.id)}setArmedWeapon(t){return cs(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(w.PLAYER_ID,w.PLAYER_ID,Te.CONNECT)}sendDeathMessage(t,a){return Ji(t===w.PLAYER_ID?t:t.id,this.id,a)}sendDeathMessageToPlayer(t,a,i){return Lr(this.id,t===w.PLAYER_ID?t:t.id,a===w.PLAYER_ID?a:a.id,i)}setSpawnInfo(t,a,i,n,r,s,l,o,d,_,m,f){return t<0||t>w.NO_TEAM||a<0||a>311||a===74||o<0||_<0||f<0?!1:bn(this.id,t,a,i,n,r,s,l,o,d,_,m,f)}redirectDownload(t){return q_(this.id,t)}sendClientCheck(t,a,i,n){const r=[2,5,69,70,71,72];if(!r.includes(t))throw new Error(`[Player]: sendClientCheck valid types are ${r.toString()}`);return new Promise((s,l)=>{if(this.isPaused)return l("[Player]: An attempt to check the player client response, but the player paused the game");const o="[Player]: An attempt to check the player client response timed out",d=this.getPing(),_=(d>=200?0:d)+200;let m=null;const f=vt(({player:y,actionId:g,memAddr:P,data:v,next:O})=>(y!==this||(m&&(clearTimeout(m),m=null),s({actionId:g,memAddr:P,data:v})),O()));m=setTimeout(()=>{f(),l(o)},_),Jn(this.id,t,a,i,n)})}selectTextDraw(t){r_(this.id,t)}cancelSelectTextDraw(){s_(this.id)}beginObjectSelecting(){return z_(this.id)}endObjectEditing(){return Y_(this.id)}getSurfingObject(){const t=Bs(this.id);if(t!==w.OBJECT_ID)return Ne.get(t)}getSurfingPlayerObject(){const t=xs(this.id);if(t!==w.OBJECT_ID)return Ne.get(t)}isAttachedObjectSlotUsed(t){return rh(this.id,t)}editAttachedObject(t){return X_(this.id,t)}setAttachedObject(t,a,i,n=0,r=0,s=0,l=0,o=0,d=0,_=1,m=1,f=1,y=0,g=0){return this.isAttachedObjectSlotUsed(t)?0:ih(this.id,t,a,i,n,r,s,l,o,d,_,m,f,y,g)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?nh(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 ir(this.id,t)}isWidescreenToggled(){return nr(this.id)}getSpawnInfo(){return Rn(this.id)}getSkillLevel(t){return rr(this.id,t)}isCheckpointActive(){return fd(this.id)}getCheckpoint(){return Sd(this.id)}isRaceCheckpointActive(){return yd(this.id)}getRaceCheckpoint(){return Pd(this.id)}getWorldBounds(){lr(this.id)}isInModShop(){return cd(this.id)}getSirenState(){return _d(this.id)}getLandingGearState(){return hd(this.id)}getHydraReactorAngle(){return ud(this.id)}getTrainSpeed(){return md(this.id)}getZAim(){return or(this.id)}getSurfingOffsets(){return dr(this.id)}getRotationQuat(){return cr(this.id)}getDialogID(){return _r(this.id)}getSpectateID(){return hr(this.id)}getSpectateType(){return ur(this.id)}getRawIp(){return er(this.id)}setGravity(t){return mr(this.id,t)}getGravity(){return pr(this.id)}setAdmin(t){return Wn(this.id,t)}isSpawned(){return gr(this.id)}isControllable(){return fr(this.id)}isCameraTargetEnabled(){return Sr(this.id)}toggleGhostMode(t){return yr(this.id,t)}getGhostMode(){return Pr(this.id)}getBuildingsRemoved(){return Ir(this.id)}getAttachedObject(t){return ah(this.id,t)}removeWeapon(t){return Er(this.id,t)}isUsingOfficialClient(){return Cr(this.id)}allowWeapons(t){return wr(this.id,t)}areWeaponsAllowed(){return Nr(this.id)}gpci(t=this.charset){return $n(this.id,t)}isCuffed(){return Nl(this.id)}isInDriveByMode(){return vl(this.id)}isAndroid(){return this.isConnected()&&this[Q].isAndroid}isPC(){return this.isConnected()&&!this[Q].isAndroid}isUsingOmp(){return bl(this.id)}static getInstance(t){return Y.get(t)}static getInstances(){return[...Y.values()]}}const[bt]=h({name:"OnDialogResponseI18n",identifier:"iiiiai",defaultValue:!1,beforeEach(e,t,a,i,n){const r=p.getInstance(e),s=I.decodeFromBuf(n,r.charset);return{player:r,dialogId:t,response:a,listItem:i,buffer:n,inputText:s}}});bt(({next:e,player:t,dialogId:a,response:i,listItem:n,buffer:r,inputText:s})=>{const l=b.waitingQueue.get(t);return!l||l.showId!==a||setTimeout(()=>l.resolve({response:i,listItem:n,buffer:r,inputText:s})),e()});class b{id=-1;static showingIds=[];static maxDialogId=32767;dialog;static waitingQueue=new WeakMap;constructor(t={style:Ae.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 i=b.waitingQueue.get(t);if(!i)return!1;a&&i.reject("[Dialog]: player timeout does not respond or second request show dialog"),b.waitingQueue.delete(t);const n=b.showingIds.indexOf(i.showId);return n>-1&&b.showingIds.splice(n,1),!0}show(t){return new Promise((a,i)=>{for(b.close(t);(this.id===-1||b.showingIds.includes(this.id))&&b.showingIds.length!==b.maxDialogId;)this.id=Math.floor(Math.random()*(b.maxDialogId+1));if(this.id===-1){i("[Dialog]: The maximum number of dialogs is reached");return}b.showingIds.push(this.id),b.waitingQueue.set(t,{resolve:a,reject:i,showId:this.id}),b.__inject__ShowPlayerDialog(t,this.id,this.dialog)}).catch(a=>Promise.reject(a)).finally(()=>b.delDialogTask(t))}static close(t){b.delDialogTask(t,!0),Ar(t.id)}static __inject__ShowPlayerDialog=ch}const[Lt]=h({name:"OnPlayerConnect",beforeEach(e){const t=new p(e);return Y.set(e,t),b.close(t),{player:t}}}),[Rt]=h({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:Y.get(e),reason:t}},afterEach({player:e}){Y.delete(e.id)}}),[Gt]=h({name:"OnPlayerUpdate",beforeEach(e){return{player:p.getInstance(e)}}}),[Dh]=h({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const a=p.getInstance(e);return{player:a,text:I.decodeFromBuf(t,a.charset),buffer:t}}}),[wh]=h({name:"OnPlayerEnterExitModShop",beforeEach(e,t,a){return{player:p.getInstance(e),enterExit:t,interior:a}}}),[Nh]=h({name:"OnPlayerClickMap",defaultValue:!1,beforeEach(e,t,a,i){return{player:p.getInstance(e),fX:t,fY:a,fZ:i}}}),[vh]=h({name:"OnPlayerClickPlayer",defaultValue:!1,beforeEach(e,t,a){return{player:p.getInstance(e),clickedPlayer:p.getInstance(t),source:a}}}),[bh]=h({name:"OnPlayerDeath",beforeEach(e,t,a){return{player:p.getInstance(e),killer:p.getInstance(t)||w.PLAYER_ID,reason:a}}}),[Lh]=h({name:"OnPlayerGiveDamage",defaultValue:!1,beforeEach(e,t,a,i,n){return{player:p.getInstance(e),damage:p.getInstance(t),amount:a,weapon:i,bodyPart:n}}}),[Rh]=h({name:"OnPlayerKeyStateChange",beforeEach(e,t,a){return{player:p.getInstance(e),newKeys:t,oldKeys:a}}}),[Gh]=h({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:p.getInstance(e),classId:t}}}),[Oh]=h({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:p.getInstance(e)}}}),[Fh]=h({name:"OnPlayerSpawn",beforeEach(e){return{player:p.getInstance(e)}}}),[Bh]=h({name:"OnPlayerStateChange",beforeEach(e,t,a){return{player:p.getInstance(e),newState:t,oldState:a}}}),[xh]=h({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:p.getInstance(e),forPlayer:p.getInstance(t)}}}),[kh]=h({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:p.getInstance(e),forPlayer:p.getInstance(t)}}}),[Mh]=h({name:"OnPlayerTakeDamage",defaultValue:!1,beforeEach(e,t,a,i,n){return{player:p.getInstance(e),damage:p.getInstance(t)||w.PLAYER_ID,amount:a,weapon:i,bodyPart:n}}}),[Hh]=h({name:"OnPlayerInteriorChange",beforeEach(e,t,a){return{player:p.getInstance(e),newInteriorId:t,oldInteriorId:a}}}),[Vh]=h({name:"OnPlayerRequestDownload",beforeEach(e,t,a){return{player:p.getInstance(e),type:t,crc:a}}}),[Uh]=h({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:p.getInstance(e),virtualWorld:t}}}),[Wh]=h({name:"OnPlayerWeaponShot",beforeEach(e,t,a,i,n,r,s){return{player:p.getInstance(e),weapon:t,hitType:a,hitId:i,fX:n,fY:r,fZ:s}}});let ue=null;const Z=new Map,ve=new Map;function Ot(e){if(!e.isConnected()){Z.has(e)&&clearInterval(Z.get(e));return}let t=ve.get(e)||1;if(t>=p.MAX_CHECK_ANDROID_DELAY){clearInterval(Z.get(e)),be(e,!0);return}e.sendClientCheck(72,0,0,2).then(({actionId:a})=>{a===72&&(e[Q].isAndroid=!1,Z.has(e)&&clearInterval(Z.get(e)),be(e,!1))}).catch(()=>{}),t++,ve.set(e,t)}const[jh,Kh]=h({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[Zh,Xh]=h({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,a,i){return{player:e,pausedAt:t,now:a,diff:i}}}),[zh,Yh]=h({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,a){return{player:e,newFps:t,oldFps:a}}}),[$h,be]=h({name:"OnAndroidCheck",isNative:!1,beforeEach(e,t){return{player:e,result:t}}});Lt(({player:e,next:t})=>{if(!ue&&p.getInstances().length&&(ue=setInterval(()=>{p.getInstances().filter(i=>{const n=i.getState()!==_e.NONE;return!i.isPaused&&!i.isNpc()&&n}).forEach(i=>{Date.now()-i.lastUpdateTick>1e3&&(i.isPaused=!0,Kh(i,i.lastUpdateTick))})},500)),e.isNpc())return e[Q].isAndroid=!1,t();if(p.SKIP_CHECK_ANDROID)return e[Q].isAndroid=!e.isUsingOfficialClient(),be(e,e[Q].isAndroid),t();Ot(e);const a=setInterval(()=>Ot(e),1e3);return Z.set(e,a),t()}),Rt(({player:e,next:t})=>(ue&&p.getInstances().length<=1&&(clearInterval(ue),ue=null),Z.has(e)&&(clearInterval(Z.get(e)),Z.delete(e),ve.delete(e)),t()));function Jh(e){if(!p.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 i=e.lastFps,n=e.lastDrunkLevel-a-1;e.lastFps=n,e.lastDrunkLevel=a,Yh(e,n,i)}}Gt(({player:e,next:t})=>{if(!e.isNpc()){const a=Date.now();e.isPaused&&(e.isPaused=!1,Xh(e,e.lastUpdateTick,a,a-e.lastUpdateTick)),e.lastUpdateTick=a,Jh(e)}return t()});const X=new Uint32Array(65536),Qh=(e,t)=>{const a=e.length,i=t.length,n=1<<a-1;let r=-1,s=0,l=a,o=a;for(;o--;)X[e.charCodeAt(o)]|=1<<o;for(o=0;o<i;o++){let d=X[t.charCodeAt(o)];const _=d|s;d|=(d&r)+r^r,s|=~(d|r),r&=d,s&n&&l++,r&n&&l--,s=s<<1|1,r=r<<1|~(_|s),s&=_}for(o=a;o--;)X[e.charCodeAt(o)]=0;return l},qh=(e,t)=>{const a=t.length,i=e.length,n=[],r=[],s=Math.ceil(a/32),l=Math.ceil(i/32);for(let g=0;g<s;g++)r[g]=-1,n[g]=0;let o=0;for(;o<l-1;o++){let g=0,P=-1;const v=o*32,O=Math.min(32,i)+v;for(let D=v;D<O;D++)X[e.charCodeAt(D)]|=1<<D;for(let D=0;D<a;D++){const z=X[t.charCodeAt(D)],K=r[D/32|0]>>>D&1,k=n[D/32|0]>>>D&1,Be=z|g,xe=((z|k)&P)+P^P|z|k;let le=g|~(xe|P),ge=P&xe;le>>>31^K&&(r[D/32|0]^=1<<D),ge>>>31^k&&(n[D/32|0]^=1<<D),le=le<<1|K,ge=ge<<1|k,P=ge|~(Be|le),g=le&Be}for(let D=v;D<O;D++)X[e.charCodeAt(D)]=0}let d=0,_=-1;const m=o*32,f=Math.min(32,i-m)+m;for(let g=m;g<f;g++)X[e.charCodeAt(g)]|=1<<g;let y=i;for(let g=0;g<a;g++){const P=X[t.charCodeAt(g)],v=r[g/32|0]>>>g&1,O=n[g/32|0]>>>g&1,D=P|d,z=((P|O)&_)+_^_|P|O;let K=d|~(z|_),k=_&z;y+=K>>>i-1&1,y-=k>>>i-1&1,K>>>31^v&&(r[g/32|0]^=1<<g),k>>>31^O&&(n[g/32|0]^=1<<g),K=K<<1|v,k=k<<1|O,_=k|~(D|K),d=K&D}for(let g=m;g<f;g++)X[e.charCodeAt(g)]=0;return y},Ft=(e,t)=>{if(e.length<t.length){const a=t;t=e,e=a}return t.length===0?e.length:e.length<=32?Qh(e,t):qh(e,t)},eu=(e,t)=>{let a=1/0,i=0;for(let n=0;n<t.length;n++){const r=Ft(e,t[n]);r<a&&(a=r,i=n)}return t[i]},q=new Map,ee=new Map,Bt=/[^/\s]+/gi,me={NOT_EXIST:{code:1,msg:"command does not exist"},REJECTED:{code:2,msg:"An event registered through onCommandText returned false"},PERFORMED:{code:3,msg:"An event registered through onCommandPerformed returned false"},RECEIVED_THROW:{code:4,msg:"An event registered through onCommandReceived throw an error"},RECEIVED_REJECTED:{code:5,msg:"An event registered through onCommandReceived returned false"}},[tu,au]=h({name:"OnCommandReceived",isNative:!1,throwOnError:!0,beforeEach(e,t,a,i,n,r,s,l,o){return{player:e,command:t,cmdText:a,buffer:i,strictMainCmd:n,noStrictMainCmd:r,hasStrict:s,hasNoStrict:l,subcommand:o}}}),[iu,nu]=h({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t,a,i,n,r,s,l,o){return{player:e,command:t,cmdText:a,buffer:i,strictMainCmd:n,noStrictMainCmd:r,hasStrict:s,hasNoStrict:l,subcommand:o}}}),[ru,pe]=h({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,a,i,n,r,s,l,o,d){return{player:e,error:t,command:a,cmdText:i,buffer:n,strictMainCmd:r,noStrictMainCmd:s,hasStrict:l,hasNoStrict:o,subcommand:d,getSuggestion(){const _=eu(i,[...q.keys(),...ee.keys()]),m=Ft(i,_);return{suggestion:_,distance:m}}}}}),[su]=h({name:"OnPlayerCommandTextI18n",identifier:"iai",defaultValue:!1,beforeEach(e,t){const a=p.getInstance(e),i=I.decodeFromBuf(t,a.charset);return{player:a,buffer:t,cmdText:i}}}),[lu,ou]=h({name:"OnPlayerCommandTextRaw",isNative:!1,defaultValue:!1,beforeEach(e,t,a){return{player:e,buffer:t,cmdText:a}}});function du(e){const t=[];let a="";for(let i=0;i<e.length;i++)a+=e[i]+" ",t.push(a.trimEnd());return t.reverse()}su(({player:e,buffer:t,cmdText:a,next:i})=>{const n=ou(e,t,a);if(n)return n;const r=a.match(Bt),s=du(r),l=s.find(P=>q.has(P)),o=s.map(P=>P.toLowerCase()).find(P=>ee.has(P)),d=!!l,_=!!o,m=r.join(" ");let f=[];const y=[[l,q,!0],[o,ee,!1]],g=[m,a,t,l,o,d,_,f];if(d||_){const P=y[0][0]||y[1][0];f=m.replace(P,"").trim().split(" ")}else return pe(e,me.NOT_EXIST,...g);try{if(!au(e,...g))return pe(e,me.RECEIVED_REJECTED,...g)}catch(P){const v=typeof P=="object"?P:{error:P};return pe(e,{...me.RECEIVED_THROW,...v},...g)}for(const[P,v,O]of y){if(!P)continue;const D=v.get(P),[,z]=D;if(!z(e,P,f,a,t,O))return pe(e,me.REJECTED,...g)}return nu(e,m,a,t,l,o,d,_,f)?(i(),!0):pe(e,me.PERFORMED,...g)});function cu(e,t,a,i,n,r){return{player:e,mainCommand:t,subcommand:a,cmdText:i,buffer:n,isStrict:r}}class W{static caseSensitive=!1;constructor(){}static on(t,a){let i=W.caseSensitive,n,r;typeof t=="string"||t instanceof Array?(n=t,r=a):(n=t.command,r=t.run,typeof t.caseSensitive<"u"&&(i=t.caseSensitive));const s=Array.isArray(n)?n:[n],l=s.find(_=>!_.match(Bt));if(l)return console.log(`error command ${l} format`),()=>{};const o=i?q:ee,d=s.map(_=>{const m=_.replaceAll("/",""),f=i?m:m.toLowerCase();if(!o.has(f)){const g=h({name:i?"$"+f:f,isNative:!1,beforeEach:cu});o.set(f,g)}const[y]=o.get(f);return[f,y(r)]});return()=>{d.forEach(_=>{const[m,f]=_;f()===0&&o.delete(m)})}}static off(t){(Array.isArray(t)?t:[t]).forEach(a=>{let i=a.replaceAll("/","");q.has(i)&&(F.has(i)&&F.delete(i),q.has(i)&&q.delete(i)),i=i.toLowerCase(),ee.has(i)&&(F.has(i)&&F.delete(i),ee.has(i)&&ee.delete(i))})}static enableCaseSensitive(){W.caseSensitive=!0}static disableCaseSensitive(){W.caseSensitive=!1}static isCaseSensitive(){return W.caseSensitive}}const Le=Object.freeze({onConnect:Lt,onDisconnect:Rt,onPause:jh,onResume:Zh,onUpdate:Gt,onText:Dh,onEnterExitModShop:wh,onClickMap:Nh,onClickPlayer:vh,onDeath:bh,onGiveDamage:Lh,onKeyStateChange:Rh,onRequestClass:Gh,onRequestSpawn:Oh,onSpawn:Fh,onStateChange:Bh,onStreamIn:xh,onStreamOut:kh,onTakeDamage:Mh,onInteriorChange:Hh,onRequestDownload:Vh,onFinishedDownloading:Uh,onCheckResponse:vt,onCommandReceived:tu,onCommandPerformed:iu,onCommandError:ru,onCommandText:W.on,offCommandText:W.off,onDialogResponse:bt,onLocaleChange:Eh,onCharsetChange:Ch,onFpsUpdate:zh,onWeaponShot:Wh,onAndroidCheck:$h,onCommandTextRaw:lu}),[xt]=h({name:"OnGameModeInit"}),[kt]=h({name:"OnGameModeExit"}),[_u]=h({name:"OnIncomingConnection",defaultValue:!1,beforeEach(e,t,a){return{playerId:e,ipAddress:t,port:a}}}),[hu]=h({name:"OnRconCommandI18n",identifier:"ai",defaultValue:!1,beforeEach(e){return{buffer:e,cmd:I.decodeFromBuf(e)}}}),[uu]=h({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,a){return{ip:I.decodeFromBuf(e),password:I.decodeFromBuf(t),success:!!a,ipBuffer:e,passwordBuffer:t}}}),te=[],se=[],Re=new Map,Ge=async e=>{try{return await new Promise((t,a)=>{const i=te.findIndex(l=>l.name===e);if(i===-1)return;const n=te[i];function r(l){l.length&&Re.set(e,l),te.splice(i,1),se.push(n),setTimeout(t)}const s=n.load();s instanceof Promise?s.then(r).catch(a):r(s)})}catch(t){throw new Error(`[GameMode]: script ${e} load fail
3
3
  err:${t}`)}},Oe=async e=>{try{return await new Promise((t,a)=>{const i=se.findIndex(o=>o.name===e);if(i===-1)return;const n=se[i],r=Re.get(e);r&&(r.forEach(o=>o()),Re.delete(e));function s(){se.splice(i,1),te.push(n),setTimeout(t)}const l=n.unload();l instanceof Promise?l.then(s).catch(a):s()})}catch(t){throw new Error(`[GameMode]: script ${e} unload fail
4
- ${t}`)}},uu=async e=>{await Oe(e),await Ge(e)};Bt(async({next:e})=>{const t=te.map(a=>a.name);for(const a of t)await Ge(a);return e()}),xt(async({next:e})=>{const t=se.map(a=>a.name);for(const a of t)await Oe(a);return e()});const mu=function(e,...t){if(te.some(a=>a.name===e.name)||se.some(a=>a.name===e.name))throw new Error(`[GameMode]: script ${e.name} has already been applied`);e.load=e.load.bind(e,...t),te.push(e)};class L{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=Bt;static onExit=xt;static onIncomingConnection=cu;static onRconCommand=_u;static onRconLoginAttempt=hu;static use(t,...a){return mu(t,...a),this}static loadUseScript=Ge;static reloadUseScript=uu;static unloadUseScript=Oe;static enableCmdCaseSensitive=W.enableCaseSensitive;static disableCmdCaseSensitive=W.disableCaseSensitive;static isCmdCaseSensitive=W.isCaseSensitive;static supportAllNickname(){for(let t=0;t<=255;t++)this.isNickNameCharacterAllowed(t)||this.allowNickNameCharacter(t,!0)}static setWeather(t){if(t<0||t>255)throw new Error("[GameMode]: The valid weather value is only 0 to 255");return rn(t)}static setWorldTime(t){if(t<0||t>23)throw new Error("[GameMode]: The valid hour value is only 0 to 23");return tn(t)}static getWorldTime=an;static setTeamCount=Dn;static sendRconCommand=uh;static addPlayerClass=wn;static addPlayerClassEx=Nn;static createExplosion(t,a,i,n,r){if(n<0||n>13)throw new Error("[GameMode]: The valid explosion type value is only 0 to 13");return on(t,a,i,n,r)}static manualVehicleEngineAndLights=To;static blockIpAddress=Xn;static unBlockIpAddress=zn;static getServerTickRate=fn;static addSimpleModel(t,a,i,n,r){return this.checkSimpleModel(t,a,i,n,r)?$_(t,a,i,n,r):0}static addSimpleModelTimed(t,a,i,n,r,s,l){return this.checkSimpleModel(t,a,i,n,r,s,l)?J_(t,a,i,n,r,s,l):0}static checkSimpleModel(t,a,i,n,r,s,l){if(t<-1)throw new Error("[GameMode]: AddSimpleModel - Error virtual world");if(a<0)throw new Error("[GameMode]: AddSimpleModel - Error baseId");if(i>-1e3||i<-3e4)throw new Error("[GameMode]: AddSimpleModel - Error newId range");if(n.trim().length<0)throw new Error("[GameMode]: AddSimpleModel - Empty dffName");if(r.trim().length<0)throw new Error("[GameMode]: AddSimpleModel - Empty txdName");if(s!==void 0&&(s<0||s>23))throw new Error("[GameMode]: AddSimpleModel - Error time on range");if(l!==void 0&&(l<0||l>23))throw new Error("[GameMode]: AddSimpleModel - Error time off range");return 1}static isValidCustomModel=qe;static getCustomModePath=rh;static getConsoleVarAsString(t,a="utf8"){const i=Hi(t);return P.decodeFromBuf(P.getValidStr(i),a)}static getRestartTime=Xi;static setRestartTime=Zi;static allowAdminTeleport=Oi;static isAdminTeleportAllowed=Fi;static allowInteriorWeapons=Bi;static areInteriorWeaponsAllowed=xi;static areAllAnimationsEnabled=ki;static enableAllAnimations=Mi;static enableStuntBonusForAll=yn;static enableVehicleFriendlyFire=nn;static enableZoneNames=dn;static disableInteriorEnterExits=_n;static setGameModeText=Qi;static getGravity=sn;static setGravity=ln;static showNameTags=qi;static disableNameTagLOS=un;static usePlayerPedAnims=cn;static showPlayerMarkers=en;static limitPlayerMarkerRadius=pn;static limitGlobalChatRadius=mn;static setNameTagDrawDistance=hn;static findModelFileNameFromCRC=q_;static findTextureFileNameFromCRC=eh;static getWeaponName=An;static setObjectsDefaultCameraCollision=Y_;static vectorSize=Ee;static clearBanList=Jn;static isBanned=Qn;static isValidNickName=wi;static allowNickNameCharacter=Ni;static isNickNameCharacterAllowed=vi;static addServerRule=bi;static setServerRule=Li;static isValidServerRule=Ri;static removeServerRule=Gi;static getWeaponSlot=En;static getAvailableClasses=ze;static getPlayerClass=Cn;static editPlayerClass=Tn;static toggleChatTextReplacement=Pn;static chatTextReplacementToggled=In;static getConsoleVarAsInt=Vi;static getConsoleVarAsBool=Ui;static getWeather=Wi;static getServerRuleFlag=ji;static setServerRuleFlags=Ki}L.onExit(({next:e})=>(N.npcs.clear(),e()));const[pu]=_({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[gu]=_({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[fu]=_({name:"OnNpcModeInit"}),[Su]=_({name:"OnNpcModeExit"}),[yu]=_({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:P.decodeFromBuf(t)}}}),[Pu]=_({name:"OnNPCFinishMove",beforeEach(e){return{npc:N.getInstance(e)}}}),[Iu]=_({name:"OnNPCCreate",beforeEach(e){return{npc:N.getInstance(e)}}}),[Eu]=_({name:"OnNPCDestroy",beforeEach(e){return{npc:N.getInstance(e)}}}),[Au]=_({name:"OnNPCWeaponStateChange",beforeEach(e,t,a){return{npc:N.getInstance(e),newState:t,oldState:a}}}),[Cu]=_({name:"OnNPCTakeDamage",beforeEach(e,t,a,i,n){return{npc:N.getInstance(e),damager:m.getInstance(t),damage:a,weapon:i,bodyPart:n}}}),[Tu]=_({name:"OnNPCGiveDamage",beforeEach(e,t,a,i,n){return{npc:N.getInstance(e),damager:m.getInstance(t),damage:a,weapon:i,bodyPart:n}}}),[Du]=_({name:"OnNPCDeath",beforeEach(e,t,a){return{npc:N.getInstance(e),killer:t,reason:a}}}),[wu]=_({name:"OnNpcSpawn",beforeEach(e){return{npc:N.getInstance(e)}}}),Nu=Object.freeze({onConnect:pu,onDisconnect:gu,onModeInit:fu,onModeExit:Su,onClientMessage:yu,onFinishMove:Pu,onCreate:Iu,onDestroy:Eu,onWeaponStateChange:Au,onTakeDamage:Cu,onGiveDamage:Tu,onDeath:Du,onSpawn:wu}),vu=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],bu=[[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],[],[],[],[],[],[],[],[]],Lu=(e,t)=>{if(!Fe(e))return!1;const a=bu[e-400];if(a===null)return!1;const i=t-1e3;return vu.includes(i)||a.includes(i)},Fe=e=>e>=400&&e<=611,Ru=(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 C{static vehicles=ye;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)throw new Error("[Vehicle]: Unable to create the vehicle again");if(C.createdCount===M.MAX_VEHICLES)throw new Error("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelId:a,x:i,y:n,z:r,zAngle:s,color:l,respawnDelay:o,addSiren:d}=this.sourceInfo;if(!(!t&&!Fe(a))){if(this.isStatic){if(o===void 0){this._id=C.__inject_AddStaticVehicle(a,i,n,r,s,l[0],l[1]);return}this._id=C.__inject_AddStaticVehicleEx(a,i,n,r,s,l[0],l[1],o||-1,d||!1)}else this._id=C.__inject_CreateVehicle(a,i,n,r,s,l[0],l[1],o||-1,d||!1);C.createdCount++,C.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)throw new Error("[Vehicle]: Unable to destroy the vehicle before create");C.__inject_DestroyVehicle(this.id),C.createdCount--,C.vehicles.delete(this._id),this._id=-1}addComponent(t){if(this.id===-1)return 0;if(!Lu(this.getModel(),t))throw new Error(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`);return Fo(this.id,t)}removeComponent(t){if(this.getComponentInSlot(C.getComponentType(t))===0)throw new Error(`[Vehicle]: component id ${t} does not exist on this vehicle`);return Bo(this.id,t)}getComponentInSlot(t){return Xo(this.id,t)}linkToInterior(t){return this.id===-1?0:Oo(this.id,t)}setVirtualWorld(t){return this.id===-1?0:ad(this.id,t)}getVirtualWorld(){return this.id===-1?0:id(this.id)}repair(){return this.id===-1?0:Yo(this.id)}setPos(t,a,i){return this.id===-1?!1:yo(this.id,t,a,i)}getPos(){if(this.id===-1)throw new Error("[Vehicle]: Unable to getPos before create");return So(this.id)}getHealth(){return this.id===-1?0:Ho(this.id)}setHealth(t){return this.id===-1?0:Mo(this.id,t)}isPlayerIn(t){return this.id===-1?!1:ll(t.id,this.id)}putPlayerIn(t,a){if(this.id===-1||a<0)return 0;if(a>4)throw new Error("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle.");return Ms(t.id,this.id,a)}getZAngle(){return this.id===-1?0:Po(this.id)}setZAngle(t){return this.id===-1?0:Ao(this.id,t)}setNumberPlate(t){if(this.id===-1)return 0;if(t.length<1||t.length>32)throw new Error("[Vehicle]: The length of the number plate ranges from 32 characters");if(!/^[a-zA-Z0-9]+$/.test(t))throw new Error("[Vehicle]: number plates only allow letters and numbers");return Ko(this.id,t)}changeColors(t,a){return this.id===-1?0:xo(this.id,t,a)}setVelocity(t,a,i){return this.id===-1?!1:Jo(this.id,t,a,i)}getVelocity(){if(this.id===-1)throw new Error("[Vehicle]: Unable to getVelocity before create");const[t,a,i]=$o(this.id);return{x:t,y:a,z:i}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:i,z:n}=this.getVelocity();return Ee(a,i,n)*t}setAngularVelocity(t,a,i){return this.id===-1?!1:Qo(this.id,t,a,i)}getDamageStatus(){if(this.id!==-1)return qo(this.id)}updateDamageStatus(t,a,i,n){this.id!==-1&&ed(this.id,t,a,i,n)}getDistanceFromPoint(t,a,i){return Eo(this.id,t,a,i)}getModel(){return Zo(this.id)}static getModelInfo(t,a){return td(t,a)}getModelInfo(t){if(this.id===-1)throw new Error("[Vehicle]: Unable to getModelInfo before create");return C.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,a,i,n]=Io(this.id);return{w:t,x:a,y:i,z:n}}setRespawn(){return this.id===-1?0:Go(this.id)}isStreamedIn(t){return this.id===-1?!1:fo(this.id,t.id)}setParamsCarDoors(t,a,i,n){return this.id===-1?0:vo(this.id,t,a,i,n)}setParamsCarWindows(t,a,i,n){return this.id===-1?0:Lo(this.id,t,a,i,n)}getParamsCarDoors(){if(this.id!==-1)return bo(this.id)}getParamsCarWindows(){if(this.id!==-1)return Ro(this.id)}setParamsEx(t,a,i,n,r,s,l){return this.id===-1?0:Do(this.id,t,a,i,n,r,s,l)}getParamsEx(){if(this.id===-1)return{engine:-1,lights:-1,alarm:-1,doors:-1,bonnet:-1,boot:-1,objective:-1};const[t,a,i,n,r,s,l]=wo(this.id);return{engine:t,lights:a,alarm:i,doors:n,bonnet:r,boot:s,objective:l}}toggleEngine(t){if(this.id===-1)return 0;const{lights:a,alarm:i,doors:n,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(t,a,i,n,r,s,l)}toggleLights(t){if(this.id===-1)return 0;const{engine:a,alarm:i,doors:n,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(a,t,i,n,r,s,l)}toggleAlarm(t){if(this.id===-1)return 0;const{engine:a,lights:i,doors:n,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(a,i,t,n,r,s,l)}toggleDoors(t){if(this.id===-1)return 0;const{engine:a,lights:i,alarm:n,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(a,i,n,t,r,s,l)}toggleBonnet(t){if(this.id===-1)return 0;const{engine:a,lights:i,alarm:n,doors:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(a,i,n,r,t,s,l)}toggleBoot(t){if(this.id===-1)return 0;const{engine:a,lights:i,alarm:n,doors:r,bonnet:s,objective:l}=this.getParamsEx();return this.setParamsEx(a,i,n,r,s,t,l)}toggleObjective(t){if(this.id===-1)return 0;const{engine:a,lights:i,alarm:n,doors:r,bonnet:s,boot:l}=this.getParamsEx();return this.setParamsEx(a,i,n,r,s,l,t)}getParamsSirenState(){return this.id===-1?-2:No(this.id)}setParamsForPlayer(t,a,i){return this.id===-1?0:Co(this.id,t.id,a,i)}isTrailerAttached(){return this.id===-1?!1:Wo(this.id)}changePaintjob(t){return this.id===-1||!Ru(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),ko(this.id,t),1)}attachTrailer(t){return this.id===-1?0:Vo(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&Uo(this.id)}getTrailer(){if(this.id!==-1)return C.getInstances().find(t=>t.id===jo(this.id))}isValid(){return Je(this.id)}getMatrix(){if(this.id!==-1)return uo(this.id)}getTrainSpeed(){return this.id===-1?0:ho(this.id)}getHydraReactorAngle(){return this.id===-1?0:_o(this.id)}getLandingGearState(){return this.id===-1?0:co(this.id)}getSirenState(){return this.id===-1?0:oo(this.id)}getDriver(){if(this.id!==-1)return Y.get(so(this.id))}getLastDriver(){if(this.id!==-1)return Y.get(ro(this.id))}isSirenEnabled(){return io(this.id)}toggleSirenEnabled(t){return this.id===-1?0:to(this.id,t)}setParamsSirenState(t){return this.id===-1?0:ao(this.id,t)}isDead(){return this.id===-1?!0:Ql(this.id)}setDead(t){return this.id===-1?!1:ql(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:eo(this.id,t)}getRespawnTick(){return this.id===-1?0:$l(this.id)}setRespawnTick(t){return this.id===-1?!1:Jl(this.id,t)}isOccupied(){return this.id===-1?!1:Yl(this.id)}hasBeenOccupied(){return this.id===-1?!1:zl(this.id)}getOccupiedTick(){return this.id===-1?0:Zl(this.id)}setOccupiedTick(t){return this.id===-1?0:Xl(this.id,t)}getCab(){return this.id===-1?0:Kl(this.id)}getRespawnDelay(){return this.id===-1?0:jl(this.id)}setRespawnDelay(t){return this.id===-1?0:Wl(this.id,t)}getNumberPlate(){return this.id===-1?"":Ul(this.id)}getInterior(){return this.id===-1?0:Vl(this.id)}getPaintjob(){return this.id===-1?-1:Hl(this.id)}getColors(){if(this.id!==-1)return Ml(this.id)}setSpawnInfo(t,a,i,n,r,s,l,o=-2,d=-2,h=!1){return this.id===-1||!h&&!Fe(t)?0:kl(this.id,t,a,i,n,r,I(s),I(l),o,d)}getSpawnInfo(){if(this.id!==-1)return xl(this.id)}getRandomColorPair(){if(this.id!==-1)return $e(this.getModel())}show(){return this.id===-1?!1:sd(this.id)}hide(){return this.id===-1?!1:ld(this.id)}isHidden(){return this.id===-1?!1:od(this.id)}getVehicleOccupant(t){return md(this.id,t)}getVehicleMaxPassengers(){return Qe(this.getModel())}countVehicleOccupants(){return pd(this.getModel())}static getVehicleMaxPassengers=Qe;static getRandomColorPair=$e;static getComponentType=zo;static colorIndexToColor=mo;static isValid=Je;static getModelsUsed=lo;static getModelCount=no;static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}static __inject_AddStaticVehicle=nd;static __inject_AddStaticVehicleEx=rd;static __inject_CreateVehicle=po;static __inject_DestroyVehicle=go}L.onExit(({next:e})=>(C.getInstances().forEach(t=>t.destroy()),e()));const[Gu]=_({name:"OnVehicleDamageStatusUpdate",defaultValue:!1,beforeEach(e,t){return{vehicle:C.getInstance(e),player:m.getInstance(t)}}}),[Ou]=_({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:C.getInstance(e),killer:m.getInstance(t)}}}),[Fu]=_({name:"OnVehicleMod",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:C.getInstance(t),componentId:a}}}),[Bu]=_({name:"OnVehiclePaintjob",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:C.getInstance(t),paintjobId:a}}}),[xu]=_({name:"OnVehicleRespray",beforeEach(e,t,a,i){return{player:m.getInstance(e),vehicle:C.getInstance(t),color:[a,i]}}}),[ku]=_({name:"OnVehicleSirenStateChange",defaultValue:!1,beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:C.getInstance(t),state:!!a}}}),[Mu]=_({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:C.getInstance(e)}}}),[Hu]=_({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:C.getInstance(e),forPlayer:m.getInstance(t)}}}),[Vu]=_({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:C.getInstance(e),forPlayer:m.getInstance(t)}}}),[Uu]=_({name:"OnPlayerEnterVehicle",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:C.getInstance(t),isPassenger:!!a}}}),[Wu]=_({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:m.getInstance(e),vehicle:C.getInstance(t)}}}),[ju]=_({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:C.getInstance(e),seatId:t}}}),[Ku]=_({name:"OnNpcExitVehicle"}),[Zu]=_({name:"OnTrailerUpdate",beforeEach(e,t){return{player:m.getInstance(e),vehicle:C.getInstance(t)}}}),[Xu]=_({name:"OnUnoccupiedVehicleUpdate",beforeEach(e,t,a,i,n,r,s,l,o){return{vehicle:C.getInstance(e),player:m.getInstance(t),passengerSeat:a,newX:i,newY:n,newZ:r,velX:s,velY:l,velZ:o}}}),zu=Object.freeze({onDamageStatusUpdate:Gu,onDeath:Ou,onMod:Fu,onPaintjob:Bu,onRespray:xu,onSirenStateChange:ku,onSpawn:Mu,onStreamIn:Hu,onStreamOut:Vu,onPlayerEnter:Uu,onPlayerExit:Wu,onNpcEnter:ju,onNpcExit:Ku,onTrailerUpdate:Zu,onUnoccupiedUpdate:Xu});class Yu{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return Zn()}static getPlayerNetworkStats(t){return Kn(t.id)}static getBytesReceived(t){return On(t.id)}static getBytesSent(t){return Bn(t.id)}static getConnectionStatus(t){return Mn(t.id)}static getConnectedTime(t){return Rn(t.id)}static getIpPort(t){return Hn(t.id)}static getMessagesReceived(t){return Gn(t.id)}static getMessagesRecvPerSecond(t){return xn(t.id)}static getMessagesSent(t){return Fn(t.id)}static getPacketLossPercent(t){return kn(t.id)}}class $u{_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,i){this._text=t,this._time=a,this._style=i}static hideForAll(t){Yi(t)}static has(t,a){return vr(t.id,a)}forAll(t="win1252"){zi(P.encodeToBuf(P.convertSpecialChar(this.text),t),this.time,this.style)}forPlayer(t,a="win1252"){Nr(t.id,P.encodeToBuf(P.convertSpecialChar(this.text),a),this.time,this.style)}hideForPlayer(t){return Lr(t.id,this.style)}}class re{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)throw new Error("[Menu]: The menu column number interval is between 1 and 2");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,i,n,r,s){this._title=t,this.columns=a,this._x=i,this._y=n,this._col1width=r,this._col2width=s}create(){if(this._id!==-1)throw new Error("[Menu]: Cannot be created twice");if(re.getInstances().length===M.MAX_MENUS)throw new Error("[Menu]: The maximum number of menus allowed to be created has been reached 128");return this._id=wd(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),re.menus.set(this._id,this),this}destroy(){if(this._id===-1)throw new Error("[Menu]: Cannot destroy before create");return Nd(this.id),re.menus.delete(this._id),this._id=-1,this}addItem(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot addItem before create");if(this._itemCount===M.MAX_MENU_ROW)throw new Error("[Menu]: The maximum number of items allowed to be added has been reached 12");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return vd(this.id,t,a),this._itemCount++,this}setColumnHeader(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot setColumnHeader before create");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return bd(this.id,t,a),this}disable(){if(this._id===-1)throw new Error("[Menu]: Cannot disable menu before create");return Od(this.id),this}disableRow(t){if(this._id===-1)throw new Error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)throw new Error("[Menu]: Wrong number of rows");Fd(this.id,t)}isValid(){return Gd(this.id)}showForPlayer(t){if(this._id===-1)throw new Error("[Menu]: Cannot show menu before create");return Ld(this.id,t.id)}hideForPlayer(t){if(this._id===-1)throw new Error("[Menu]: Cannot hide menu before create");return Rd(this.id,t.id)}isDisabled(){return this._id===-1?!1:Pd(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:Id(this.id,t)}getItems(t){return this._id===-1?0:Ed(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:Ad(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:Cd(this.id)}getColumnHeader(t){if(this._id===-1)throw new Error("[Menu]: Cannot get column header before create");return Td(this.id,t)}getItem(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot get item before create");if(a<0||a>this.getItems(t)-1)throw new Error("[Menu]: invalid getItem range");return Dd(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===Bd(t.id))}}L.onExit(({next:e})=>(re.getInstances().forEach(t=>t.destroy()),e()));const[Ju]=_({name:"OnPlayerExitedMenu",beforeEach(e){return{player:m.getInstance(e)}}}),[Qu]=_({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const a=m.getInstance(e),i=re.getInstanceByPlayer(a);return{player:a,menu:i,row:t}}}),qu=Object.freeze({onPlayerExited:Ju,onPlayerSelectedRow:Qu});class R{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)throw new Error("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(R.getInstances(!1).length===M.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:i,maxX:n,maxY:r}=this.sourceInfo;this._id=tc(t.id,a,i,n,r);const s=Le.onDisconnect(({player:l,next:o})=>{o(),l===this.sourceInfo.player&&(this.isValid()&&this.destroy(),s())});R.playerGangZones.set(this.id,this)}else{if(R.getInstances(!0).length===M.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:i,maxX:n,maxY:r}=this.sourceInfo;this._id=Kd(a,i,n,r),R.globalGangZones.set(this.id,this)}}destroy(){if(this.id===-1)throw new Error("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(ac(t.id,this.id),R.playerGangZones.delete(this.id)):(Zd(this.id),R.globalGangZones.delete(this.id)),this._id=-1}showForAll(t){if(this.id===-1)throw new Error("[GangZone]: Unable to show the gangzone before create");if(!this.sourceInfo.player)return zd(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be show for all.")}showForPlayer(t,a){if(this.id===-1)throw new Error("[GangZone]: Unable to show the gangzone before create");const i=this.sourceInfo.player;if(i)ic(i.id,this.id,I(t));else if(a)Xd(a.id,this.id,t);else throw new Error("[GangZone]: invalid player for show");return this}hideForAll(){if(this.id===-1)throw new Error("[GangZone]: Unable to hide the gangzone before create");if(!this.sourceInfo.player)return $d(this.id),this;throw new Error("[GangZone]: player's gangzone should not be hide for all.")}hideForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to hide the gangzone before create");const a=this.sourceInfo.player;if(a)nc(a.id,this.id);else if(t)Yd(t.id,this.id);else throw new Error("[GangZone]: invalid player for hide");return this}flashForAll(t){if(this.id===-1)throw new Error("[GangZone]: Unable to flash the gangzone before create");if(!this.sourceInfo.player)return Qd(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be flash for all.")}flashForPlayer(t,a){if(this.id===-1)throw new Error("[GangZone]: Unable to flash the gangzone before create");const i=this.sourceInfo.player;if(i)rc(i.id,this.id,I(a));else if(t)Jd(t.id,this.id,a);else throw new Error("[GangZone]: invalid player for flash");return this}stopFlashForAll(){if(this.id===-1)throw new Error("[GangZone]: Unable to stop flash the gangzone before create");if(!this.sourceInfo.player)return ec(this.id),this;throw new Error("[GangZone]: player's gangzone should not be stop flash for all.")}stopFlashForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to stop flash the gangzone before create");const a=this.sourceInfo.player;if(a)sc(a.id,this.id);else if(t)qd(t.id,this.id);else throw new Error("[GangZone]: invalid player for flash");return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?lc(t.id,this.id):xd(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?oc(a.id,this.id):kd(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?dc(a.id,this.id):Md(t.id,this.id)}getColorForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to get color before create");const a=this.sourceInfo.player;return a?cc(a.id,this.id):Hd(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to get flash color before create");const a=this.sourceInfo.player;return a?_c(a.id,this.id):Vd(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?hc(a.id,this.id):Ud(t.id,this.id)}getPos(){if(this.id===-1)throw new Error("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?uc(t.id,this.id):Wd(this.id)}useCheck(t){if(this.id===-1)throw new Error("[GangZone]: Unable to use check before create");const a=this.sourceInfo.player;return a?mc(a.id,this.id,t):jd(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})=>(R.getInstances(!0).forEach(t=>t.destroy()),R.getInstances(!1).forEach(t=>t.destroy()),e()));const[em]=_({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:R.getInstance(t,!0)}}}),[tm]=_({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:R.getInstance(t,!0)}}}),[am]=_({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:R.getInstance(t,!1)}}}),[im]=_({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:R.getInstance(t,!1)}}}),[nm]=_({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:R.getInstance(t,!0)}}}),[rm]=_({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:R.getInstance(t,!1)}}}),sm=Object.freeze({onPlayerEnterGlobal:em,onPlayerLeaveGlobal:tm,onPlayerEnterPlayer:am,onPlayerLeavePlayer:im,onPlayerClickGlobal:nm,onPlayerClickPlayer:rm}),T={skip:!1};L.onInit(({next:e})=>(T.skip=!1,e())),L.onExit(({next:e})=>(T.skip=!0,e()));const[ae]=_({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[ie]=_({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[lm]=_({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class S{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getTickRate=Vt;static setTickRate=Ut;static getPlayerTickRate(t){return Wt(t.id)}static setPlayerTickRate(t,a=50){return jt(t.id,a)}static toggleChunkStream=Kt;static isToggleChunkStream=Zt;static getChunkTickRate(t,a=-1){return a instanceof m?ke(t,a.id):ke(t,a)}static setChunkTickRate(t,a,i=-1){return i instanceof m?Me(t,a,i.id):Me(t,a,i)}static getChunkSize=Xt;static setChunkSize=zt;static getMaxItems=Yt;static setMaxItems=$t;static getVisibleItems(t,a=-1){return a instanceof m?He(t,a.id):He(t,a)}static setVisibleItems(t,a,i=-1){return i instanceof m?Ve(t,a,i.id):Ve(t,a,i)}static getRadiusMultiplier(t,a=-1){return a instanceof m?Ue(t,a.id):Ue(t,a)}static setRadiusMultiplier(t,a,i=-1){return i instanceof m?We(t,i.id):We(t,a,i)}static getTypePriority=Jt;static setTypePriority=Qt;static getCellDistance=qt;static setCellDistance=ea;static getCellSize=ta;static setCellSize=aa;static toggleItemStatic=ia;static isToggleItemStatic=na;static toggleItemInvAreas=ra;static isToggleItemInvAreas=sa;static toggleItemCallbacks=la;static isToggleItemCallbacks=oa;static toggleErrorCallback=da;static isToggleErrorCallback=ca;static amxUnloadDestroyItems=_a;static processActiveItems=ha;static toggleIdleUpdate(t,a){return ua(t.id,a)}static isToggleIdleUpdate(t){return ma(t.id)}static toggleCameraUpdate(t,a){return pa(t.id,a)}static isToggleCameraUpdate(t){return ga(t.id)}static toggleItemUpdate(t,a,i){return fa(t.id,a,i)}static isToggleItemUpdate(t,a){return Sa(t.id,a)}static getLastUpdateTime(){return ya()}static update(t,a=-1){return Pa(t.id,a)}static updateEx(t,a,i,n,r,s,l,o,d){return Ia(t.id,a,i,n,r,s,l,o,d)}static getDistanceToItem=Ea;static toggleItem(t,a,i,n){return Aa(t.id,a,i,n)}static isToggleItem(t,a,i){return Ca(t.id,a,i)}static toggleAllItems(t,a,i,n=[-1]){return Ta(t.id,a,i,n)}static getItemInternalID(t,a,i){return Da(t.id,a,i)}static getItemStreamerID(t,a,i){return wa(t.id,a,i)}static isItemVisible(t,a,i){return Na(t.id,a,i)}static destroyAllVisibleItems(t,a,i=1){return va(t.id,a,i)}static countVisibleItems(t,a,i=1){return ba(t.id,a,i)}static destroyAllItems=La;static countItems=Ra;static getNearbyItems=Ga;static getAllVisibleItems(t,a,i){return Oa(t.id,a,i)}static getItemPos=Fa;static setItemPos=Ba;static getItemOffset=xa;static setItemOffset=ka;static getFloatData=Ma;static setFloatData=Ha;static getIntData=Va;static setIntData=Ua;static getArrayData=Wa;static setArrayData=ja;static isInArrayData=Ka;static appendArrayData=Za;static removeArrayData=Xa;static getArrayDataLength=za;static getUpperBound=Ya;static onPluginError=lm}class ${static mapIcons=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamDistance:a,worldId:i,interiorId:n,playerId:r,areaId:s,priority:l}=this.sourceInfo;const{x:o,y:d,z:h,type:p,color:g,extended:y}=this.sourceInfo;if(p<0||p>63)throw new Error("[StreamerMapIcon]: Invalid map icon type");return t??=$a.LOCAL,a??=fe.MAP_ICON_SD,l??=0,y?(typeof i=="number"?i=[-1]:i??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=Ja(o,d,h,p,I(g),t,a,i,n,r,s,l),$.mapIcons.set(this._id,this),this):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=Qa(o,d,h,p,I(g),i,n,r,a,t,s,l),$.mapIcons.set(this._id,this),this)}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerMapIcon]: Unable to destroy the map icon before create");return T.skip||qa(this.id),$.mapIcons.delete(this._id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:ei(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerMapIcon]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(A.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(A.MAP_ICON,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,A.MAP_ICON,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}}L.onExit(({next:e})=>($.getInstances().forEach(t=>t.destroy()),e()));const[om,dm]=_({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[cm,_m]=_({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});ae(({type:e,id:t,forPlayer:a,next:i})=>e===A.MAP_ICON?dm(a,$.getInstance(t)):i()),ie(({type:e,id:t,forPlayer:a,next:i})=>e===A.MAP_ICON?_m(a,$.getInstance(t)):i());const hm=Object.freeze({onStreamIn:om,onStreamOut:cm});class x{static pickups=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerPickup]: Unable to create pickup again");let{streamDistance:t,worldId:a,interiorId:i,playerId:n,areaId:r,priority:s}=this.sourceInfo;const{type:l,modelId:o,x:d,y:h,z:p,extended:g}=this.sourceInfo;if(l<0)throw new Error("[StreamerPickup]: Invalid pickup type");return t??=u.StreamerDistances.PICKUP_SD,s??=0,g?(typeof a=="number"?a=[-1]:a??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=x.__inject_CreateDynamicPickupEx(o,l,d,h,p,t,a,i,n,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=x.__inject_CreateDynamicPickup(o,l,d,h,p,a,i,n,t,r,s)),x.pickups.set(this._id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerPickup]: Unable to destroy the pickup before create");return T.skip||x.__inject_DestroyDynamicPickup(this.id),x.pickups.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:u.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerPickup]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(u.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(u.StreamerItemTypes.PICKUP,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,u.StreamerItemTypes.PICKUP,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}static __inject_CreateDynamicPickup=u.CreateDynamicPickup;static __inject_CreateDynamicPickupEx=u.CreateDynamicPickupEx;static __inject_DestroyDynamicPickup=u.DestroyDynamicPickup}L.onExit(({next:e})=>(x.getInstances().forEach(t=>t.destroy()),e()));const[um,mm]=_({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[pm,gm]=_({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});ae(({type:e,id:t,forPlayer:a,next:i})=>e===A.PICKUP?mm(a,x.getInstance(t)):i()),ie(({type:e,id:t,forPlayer:a,next:i})=>e===A.PICKUP?gm(a,x.getInstance(t)):i());const[fm]=_({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:x.getInstance(t)}}}),Sm=Object.freeze({onPlayerPickUp:fm,onStreamIn:um,onStreamOut:pm});class V{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:i,playerId:n,areaId:r,priority:s}=this.sourceInfo;const{size:l,x:o,y:d,z:h,extended:p}=this.sourceInfo;if(l<0)throw new Error("[StreamerCheckpoint]: Invalid checkpoint size");return t??=fe.CP_SD,s??=0,p?(typeof a=="number"?a=[-1]:a??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=ti(o,d,h,l,t,a,i,n,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=ai(o,d,h,l,a,i,n,t,r,s)),V.checkpoints.set(this._id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerCheckpoint]: Unable to destroy the checkpoint before create");return T.skip||je(this.id),V.checkpoints.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:Ke(this.id)}togglePlayer(t,a){if(this.id===-1)throw new Error("[StreamerCheckpoint]: Unable to toggle the player before create");return ii(t.id,this.id,a),this}static togglePlayerAll(t,a){return ni(t.id,a)}isPlayerIn(t){return this.id===-1?!1:ri(t.id,this.id)}static getPlayerVisible(t){return V.checkpoints.get(si(t.id))}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerCheckpoint]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(A.CP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(A.CP,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,A.CP,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}L.onExit(({next:e})=>(V.checkpoints.forEach(t=>t.destroy()),e()));const[ym,Pm]=_({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Im,Em]=_({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});ae(({type:e,id:t,forPlayer:a,next:i})=>e===A.CP?Pm(a,V.getInstance(t)):i()),ie(({type:e,id:t,forPlayer:a,next:i})=>e===A.CP?Em(a,V.getInstance(t)):i());const[Am]=_({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),cp:V.getInstance(t)}}}),[Cm]=_({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),cp:V.getInstance(t)}}}),Tm=Object.freeze({onPlayerEnter:Am,onPlayerLeave:Cm,onStreamIn:ym,onStreamOut:Im});class U{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerRaceCP]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:i,playerId:n,areaId:r,priority:s}=this.sourceInfo;const{type:l,size:o,x:d,y:h,z:p,nextX:g,nextY:y,nextZ:f,extended:E}=this.sourceInfo;if(l<0||l>8)throw new Error("[StreamerRaceCP]: Invalid type");if(o<0)throw new Error("[StreamerRaceCP]: Invalid size");return t??=fe.RACE_CP_SD,s??=0,E?(typeof a=="number"?a=[-1]:a??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=li(l,d,h,p,g,y,f,o,t,a,i,n,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=oi(l,d,h,p,g,y,f,o,a,i,n,t,r,s)),U.checkpoints.set(this._id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerRaceCP]: Unable to destroy the checkpoint before create");return T.skip||je(this.id),U.checkpoints.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:Ke(this.id)}togglePlayer(t,a){if(this.id===-1)throw new Error("[StreamerRaceCP]: Unable to toggle the player before create");return di(t.id,this.id,a),this}static togglePlayerAll(t,a){return ci(t.id,a)}isPlayerIn(t){return this.id===-1?!1:_i(t.id,this.id)}static getPlayerVisible(t){return U.checkpoints.get(hi(t.id))}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerRaceCP]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(A.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(A.RACE_CP,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,A.RACE_CP,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}L.onExit(({next:e})=>(U.getInstances().forEach(t=>t.destroy()),e()));const[Dm,wm]=_({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Nm,vm]=_({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});ae(({type:e,id:t,forPlayer:a,next:i})=>e===A.RACE_CP?wm(a,U.getInstance(t)):i()),ie(({type:e,id:t,forPlayer:a,next:i})=>e===A.RACE_CP?vm(a,U.getInstance(t)):i());const[bm]=_({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),raceCP:U.getInstance(t)}}}),[Lm]=_({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),raceCp:U.getInstance(t)}}}),Rm=Object.freeze({onPlayerEnter:bm,onPlayerLeave:Lm,onStreamIn:Dm,onStreamOut:Nm});class j{static actors=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerActor]: Unable to create actor again");let{streamDistance:t,worldId:a,interiorId:i,playerId:n,areaId:r,priority:s}=this.sourceInfo;const{modelId:l,x:o,y:d,z:h,r:p,invulnerable:g,health:y,extended:f}=this.sourceInfo;return t??=u.StreamerDistances.ACTOR_SD,s??=0,f?(typeof a=="number"?a=[0]:a??=[0],typeof i=="number"?i=[-1]:i??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=u.CreateDynamicActorEx(l,o,d,h,p,g,y,t,a,i,n,r,s)):(Array.isArray(a)?a=0:a??=0,Array.isArray(i)?i=-1:i??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=u.CreateDynamicActor(l,o,d,h,p,g,y,a,i,n,t,r,s)),j.actors.set(this.id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerActor]: Unable to destroy the actor before create");return T.skip||u.DestroyDynamicActor(this.id),j.actors.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:u.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:u.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get virtual world before create");return u.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set virtual world before create");return u.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,a,i=4.1,n=!1,r=!0,s=!0,l=!1,o=0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to apply animation before create");if(!we(t,a))throw new Error(`[StreamerActor]: Invalid anim library or name ${t} ${a}`);return u.ApplyDynamicActorAnimation(this.id,t,a,i,n,r,s,l,o)}clearAnimations(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to clear animation before create");return u.ClearDynamicActorAnimations(this.id)}getFacingAngle(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get facing angle before create");return u.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set facing angle before create");return u.SetDynamicActorFacingAngle(this.id,t)}getPos(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get pos before create");return u.GetDynamicActorPos(this.id)}setPos(t,a,i){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set pos before create");return u.SetDynamicActorPos(this.id,t,a,i)}getHealth(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get health before create");return u.GetDynamicActorHealth(this.id)}setHealth(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set health before create");return u.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:u.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set invulnerable before create");return u.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t){if(this.id===-1)return;const a=u.GetPlayerTargetDynamicActor(t.id);return j.actors.get(a)}getPlayerCameraTarget(t){if(this.id===-1)return;const a=u.GetPlayerCameraTargetDynActor(t.id);return j.actors.get(a)}getSkin(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get skin before create");return Ol(this.id)}setSkin(t,a=!1){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set skin before create");return!a&&(t<0||t>311||t===74)?0:Fl(this.id,t)}getSpawnInfo(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get spawn info before create");return Bl(this.id)}getAnimation(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get animation before create");return u.GetDynamicActorAnimation(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(u.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(u.StreamerItemTypes.ACTOR,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,u.StreamerItemTypes.ACTOR,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.actors.get(t)}static getInstances(){return[...this.actors.values()]}}L.onExit(({next:e})=>(j.getInstances().forEach(t=>t.destroy()),e()));const[Gm]=_({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:j.getInstance(e),forPlayer:m.getInstance(t)}}}),[Om]=_({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:j.getInstance(e),forPlayer:m.getInstance(t)}}}),[Fm]=_({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",defaultValue:!1,beforeEach(e,t,a,i,n){return{player:m.getInstance(e),actor:j.getInstance(t),amount:a,weapon:i,bodyPart:n}}}),Bm=Object.freeze({onStreamIn:Gm,onStreamOut:Om,onPlayerGiveDamage:Fm});class ne{static texts=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[Streamer3DTextLabel]: Unable to create again");let{attachedPlayer:t,attachedVehicle:a,testLos:i,streamDistance:n,worldId:r,interiorId:s,playerId:l,areaId:o,priority:d}=this.sourceInfo;const{charset:h,text:p,color:g,drawDistance:y,x:f,y:E,z:v,extended:O}=this.sourceInfo;return t??=w.PLAYER_ID,a??=w.VEHICLE_ID,n??=fe.TEXT_3D_LABEL_SD,i??=!1,d??=0,O?(typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof l=="number"?l=[-1]:l??=[-1],typeof o=="number"?o=[-1]:o??=[-1],this._id=ph(p,I(g),f,E,v,y,t,a,i,n,r,s,l,o,d,h||"utf8")):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(l)?l=-1:l??=-1,Array.isArray(o)?o=-1:o??=-1,this._id=mh(h||"utf8",p,I(g),f,E,v,y,t,a,i,r,s,l,n,o,d)),ne.texts.set(this.id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[Streamer3DTextLabel]: Unable to destroy before create");return T.skip||ui(this.id),ne.texts.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:mi(this.id)}getColor(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get color before create");return this.sourceInfo.color}getCharset(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get charset before create");return this.sourceInfo.charset}getText(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get text before create");return fh(this.id,this.sourceInfo.charset||"utf8")}updateText(t,a,i=this.sourceInfo.charset){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to update text before create");return this.sourceInfo.charset=i,gh(this.id,I(t),a,i||"utf8")}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(A.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(A.TEXT_3D_LABEL,this.id)}setOffsets(t,a,i){if(this.id===-1)return 0;const n=S.setFloatData(A.TEXT_3D_LABEL,this.id,oe.ATTACH_OFFSET_X,t);return S.setFloatData(A.TEXT_3D_LABEL,this.id,oe.ATTACH_OFFSET_Y,a),S.setFloatData(A.TEXT_3D_LABEL,this.id,oe.ATTACH_OFFSET_Z,i),this.sourceInfo.x=t,this.sourceInfo.y=a,this.sourceInfo.z=i,n}attachToPlayer(t,a,i,n){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Cannot attachToPlayer before created");const r=typeof t=="number"?t:t.id,s=S.setIntData(A.TEXT_3D_LABEL,this.id,oe.ATTACHED_PLAYER,r);return r!==w.PLAYER_ID&&this.setOffsets(a,i,n),this.sourceInfo.attachedPlayer=r,s}attachToVehicle(t,a,i,n){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Cannot attachToVehicle before created");const r=typeof t=="number"?t:t.id,s=S.setIntData(A.TEXT_3D_LABEL,this.id,oe.ATTACHED_VEHICLE,r);return r!==w.VEHICLE_ID&&this.setOffsets(a,i,n),this.sourceInfo.attachedVehicle=r,s}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,A.TEXT_3D_LABEL,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}}L.onExit(({next:e})=>(ne.getInstances().forEach(t=>t.destroy()),e()));const[xm,km]=_({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Mm,Hm]=_({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});ae(({type:e,id:t,forPlayer:a,next:i})=>e===A.TEXT_3D_LABEL?km(a,ne.getInstance(t)):i()),ie(({type:e,id:t,forPlayer:a,next:i})=>e===A.TEXT_3D_LABEL?Hm(a,ne.getInstance(t)):i());const Vm=Object.freeze({onStreamIn:xm,onStreamOut:Mm});class F{static objects=Ne;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerObject]: Unable to create object again");let{streamDistance:t,drawDistance:a,worldId:i,interiorId:n,playerId:r,areaId:s,priority:l}=this.sourceInfo;const{modelId:o,x:d,y:h,z:p,rx:g,ry:y,rz:f,extended:E}=this.sourceInfo;return t??=u.StreamerDistances.OBJECT_SD,a??=u.StreamerDistances.OBJECT_DD,l??=0,E?(typeof i=="number"?i=[-1]:i??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=u.CreateDynamicObjectEx(o,d,h,p,g,y,f,t,a,i,n,r,s,l)):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=u.CreateDynamicObject(o,d,h,p,g,y,f,i,n,r,t,a,s,l)),F.objects.set(this._id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerObject]: Unable to destroy the object before create");return T.skip||u.DestroyDynamicObject(this.id),F.objects.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:u.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get position before create");return u.GetDynamicObjectPos(this.id)}setPos(t,a,i){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set position before create");return u.SetDynamicObjectPos(this.id,t,a,i)}getRot(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get rotation before create");return u.GetDynamicObjectRot(this.id)}setRot(t,a,i){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set rotation before create");return u.SetDynamicObjectRot(this.id,t,a,i)}move(t,a,i,n,r=-1e3,s=-1e3,l=-1e3){if(this.id===-1)throw new Error("[StreamerObject]: Cannot start moving before create");if(n<0)throw new Error("[StreamerObject]: speed must not be less than 0");if(n>120*1e3)throw new Error("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional");return this.isMoving()&&this.stop(),u.MoveDynamicObject(this.id,t,a,i,n,r,s,l)}stop(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot stop moving before create");return u.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:u.IsDynamicObjectMoving(this.id)}attachCamera(t){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachCamera before both are created");return u.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,a,i,n,r,s,l,o=!0){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToObject before both are created");return u.AttachDynamicObjectToObject(this.id,t.id,a,i,n,r,s,l,o)}attachToPlayer(t,a,i,n,r,s,l){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToPlayer before both are created");return u.AttachDynamicObjectToPlayer(this.id,t.id,a,i,n,r,s,l)}attachToVehicle(t,a,i,n,r,s,l){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToVehicle before both are created");return u.AttachDynamicObjectToVehicle(this.id,t.id,a,i,n,r,s,l)}edit(t){if(this.id===-1)throw new Error("[StreamerObject]: Unable to edit before create");return 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,i){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material before create");return u.GetDynamicObjectMaterial(this.id,t,a,i)}setMaterial(t,a,i,n,r="#000"){if(this.id===-1)throw new Error("[StreamerObject]: Unable to set material before create");return u.SetDynamicObjectMaterial(this.id,t,a,i,n,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){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material text before create");return yh(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,a,i,n=u.MaterialTextSizes.SIZE_256x128,r="Arial",s=24,l=1,o="#fff",d="#000",h=0){if(this.id===-1)throw new Error("[StreamerObject]: Unable to set material text before create");return this.sourceInfo.charset=t,Sh(t||"utf8",this.id,a,i,n,r,s,l,I(o),I(d),h)}getPlayerCameraTarget(t){const a=u.GetPlayerCameraTargetDynObject(t.id);if(a!==w.OBJECT_ID)return F.objects.get(a)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerObject]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(u.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(u.StreamerItemTypes.OBJECT,this.id)}setNoCameraCollision(){return u.SetDynamicObjectNoCameraCol(this.id)}getNoCameraCollision(){return u.GetDynamicObjectNoCameraCol(this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,u.StreamerItemTypes.OBJECT,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.objects.get(t)}static getInstances(){return[...this.objects.values()]}}L.onExit(({next:e})=>(F.getInstances().forEach(t=>t.destroy()),e()));const[Um,Wm]=_({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[jm,Km]=_({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});ae(({type:e,id:t,forPlayer:a,next:i})=>e===A.OBJECT?Wm(a,F.getInstance(t)):i()),ie(({type:e,id:t,forPlayer:a,next:i})=>e===A.OBJECT?Km(a,F.getInstance(t)):i());const[Zm]=_({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:F.getInstance(e)}}}),[Xm]=_({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",defaultValue:!1,beforeEach(e,t,a,i,n,r,s,l,o){return{player:m.getInstance(e),object:F.getInstance(t),response:a,x:i,y:n,z:r,rX:s,rY:l,rZ:o}}}),[zm]=_({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,i,n,r){return{player:m.getInstance(e),object:F.getInstance(t),modelId:a,x:i,y:n,z:r}}}),[Ym]=_({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,i,n,r){return{player:m.getInstance(e),object:F.getInstance(a),weapon:t,x:i,y:n,z:r}}}),[$m]=_({name:"OnPlayerEditAttachedObject",defaultValue:!1,beforeEach(e,t,a,i,n,r,s,l,o,d,h,p,g,y){return{player:m.getInstance(e),response:t,index:a,modelId:i,boneId:n,fOffsetX:r,fOffsetY:s,fOffsetZ:l,fRotX:o,fRotY:d,fRotZ:h,fScaleX:p,fScaleY:g,fScaleZ:y}}}),Jm=Object.freeze({onMoved:Zm,onPlayerEdit:Xm,onPlayerSelect:zm,onPlayerShoot:Ym,onPlayerEditAttached:$m,onStreamIn:Um,onStreamOut:jm});class G{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)throw new Error("[StreamerArea]: Unable to create area again");let{worldId:t,interiorId:a,playerId:i}=this.sourceInfo;const{type:n,extended:r}=this.sourceInfo;if(r)if(typeof t=="number"?t=[-1]:t??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof i=="number"?i=[-1]:i??=[-1],n==="circle"){const{x:s,y:l,size:o}=this.sourceInfo;if(o<0)throw new Error("[StreamerArea]: Invalid circle extend size");this._id=u.CreateDynamicCircleEx(s,l,o,t,a,i)}else if(n==="cuboid"){const{minX:s,minY:l,minZ:o,maxX:d,maxY:h,maxZ:p}=this.sourceInfo;this._id=u.CreateDynamicCuboidEx(s,l,o,d,h,p,t,a,i)}else if(n==="cylinder"){const{x:s,y:l,minZ:o,maxZ:d,size:h}=this.sourceInfo;if(h<0)throw new Error("[StreamerArea]: Invalid cylinder extend size");this._id=u.CreateDynamicCylinderEx(s,l,o,d,h,t,a,i)}else if(n==="polygon"){const{points:s,minZ:l,maxZ:o}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=u.CreateDynamicPolygonEx(s,l,o,t,a,i)}else if(n==="rectangle"){const{minX:s,minY:l,maxX:o,maxY:d}=this.sourceInfo;this._id=u.CreateDynamicRectangleEx(s,l,o,d,t,a,i)}else{const{x:s,y:l,z:o,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid sphere extended size");this._id=u.CreateDynamicSphereEx(s,l,o,d,t,a,i)}else if(Array.isArray(t)?t=-1:t??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(i)?i=-1:i??=-1,n==="circle"){const{x:s,y:l,size:o}=this.sourceInfo;if(o<0)throw new Error("[StreamerArea]: Invalid circle size");this._id=u.CreateDynamicCircle(s,l,o,t,a,i)}else if(n==="cuboid"){const{minX:s,minY:l,minZ:o,maxX:d,maxY:h,maxZ:p}=this.sourceInfo;this._id=u.CreateDynamicCuboid(s,l,o,d,h,p,t,a,i)}else if(n==="cylinder"){const{x:s,y:l,minZ:o,maxZ:d,size:h}=this.sourceInfo;if(h<0)throw new Error("[StreamerArea]: Invalid cylinder size");this._id=u.CreateDynamicCylinder(s,l,o,d,h,t,a,i)}else if(n==="polygon"){const{points:s,minZ:l,maxZ:o}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=u.CreateDynamicPolygon(s,l,o,t,a,i)}else if(n==="rectangle"){const{minX:s,minY:l,maxX:o,maxY:d}=this.sourceInfo;this._id=u.CreateDynamicRectangle(s,l,o,d,t,a,i)}else{const{x:s,y:l,z:o,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid sphere size");this._id=u.CreateDynamicSphere(s,l,o,d,t,a,i)}return G.areas.set(this._id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerArea]: Unable to destroy the area before create");return T.skip||u.DestroyDynamicArea(this.id),G.areas.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:u.IsValidDynamicArea(this.id)}getType(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to get type before create");return u.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to getPolygonPoints before create");if(this.type!=="polygon")throw new Error("[StreamerArea]: getPolygonPoints invalid area type");return u.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to getPolygonNumberPoints number before create");if(this.type!=="polygon")throw new Error("[StreamerArea]: getPolygonNumberPoints invalid area type");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 G.getPlayerAreasNumber(t)?u.GetPlayerDynamicAreas(t.id).map(a=>G.areas.get(a)):[]}static getPlayerAreasNumber(t){return u.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,a,i){return this.id===-1?!1:u.IsPointInDynamicArea(this.id,t,a,i)}static isPointInAny(t,a,i){return u.IsPointInAnyDynamicArea(t,a,i)}isLineIn(t,a,i,n,r,s){return this.id===-1?!1:u.IsLineInDynamicArea(this.id,t,a,i,n,r,s)}static isLineInAny(t,a,i,n,r,s){return u.IsLineInAnyDynamicArea(t,a,i,n,r,s)}static getForPoint(t,a,i){return G.getNumberForPoint(t,a,i)?u.GetDynamicAreasForPoint(t,a,i).map(n=>G.getInstance(n)):[]}static getNumberForPoint(t,a,i){return u.GetNumberDynamicAreasForPoint(t,a,i)}static getForLine(t,a,i,n,r,s){return G.getNumberForLine(t,a,i,n,r,s)?u.GetDynamicAreasForLine(t,a,i,n,r,s).map(l=>G.areas.get(l)):[]}static getNumberForLine(t,a,i,n,r,s){return u.GetNumberDynamicAreasForLine(t,a,i,n,r,s)}attachToObject(t,a=0,i=0,n=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to object before create");return u.AttachDynamicAreaToObject(this.id,t.id,u.StreamerObjectTypes.DYNAMIC,w.PLAYER_ID,a,i,n)}attachToPlayer(t,a=0,i=0,n=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to player before create");return u.AttachDynamicAreaToPlayer(this.id,t.id,a,i,n)}attachToVehicle(t,a=0,i=0,n=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to vehicle before create");return u.AttachDynamicAreaToVehicle(this.id,t.id,a,i,n)}toggleSpectateMode(t){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle specate mode before create");return u.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:u.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(u.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(u.StreamerItemTypes.AREA,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,u.StreamerItemTypes.AREA,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.areas.get(t)}static getInstances(){return[...this.areas.values()]}}L.onExit(({next:e})=>(G.getInstances().forEach(t=>t.destroy()),e()));const[Qm,qm]=_({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[ep,tp]=_({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});ae(({type:e,id:t,forPlayer:a,next:i})=>e===A.AREA?qm(a,G.getInstance(t)):i()),ie(({type:e,id:t,forPlayer:a,next:i})=>e===A.AREA?tp(a,G.getInstance(t)):i());const[ap]=_({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),area:G.getInstance(t)}}}),[ip]=_({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),area:G.getInstance(t)}}}),np=Object.freeze({onStreamIn:Qm,onStreamOut:ep,onPlayerEnter:ap,onPlayerLeave:ip});class c{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)throw new Error("[TextDraw]: Unable to create the textdraw again");const{x:t,y:a,text:i,player:n,charset:r="iso-8859-1"}=this.sourceInfo,s=P.encodeToBuf(P.convertSpecialChar(i),r);if(n){if(c.getInstances(!1).length===M.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=c.__inject__CreatePlayerTextDraw(n.id,t,a,s);const l=Le.onDisconnect(({player:o,next:d})=>{const h=d();return o===n&&(this.isValid()&&this.destroy(),l()),h});c.playerTextDraws.set(this.id,this)}else{if(c.getInstances(!0).length===M.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=c.__inject__TextDrawCreate(t,a,s),c.globalTextDraws.set(this.id,this)}return this}destroy(){this.id===-1&&c.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(c.__inject__PlayerTextDrawDestroy(t.id,this.id),c.playerTextDraws.delete(this.id)):(c.__inject__TextDrawDestroy(this.id),c.globalTextDraws.delete(this.id)),this._id=-1,this}setFont(t){if(this.id===-1)return c.beforeCreateWarn("set font"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawFont(a.id,this.id,t):c.__inject__TextDrawFont(this.id,t),this}setColor(t){if(this.id===-1)return c.beforeCreateWarn("set color"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawColor(a.id,this.id,t):c.__inject__TextDrawColor(this.id,t),this}setBoxColors(t){if(this.id===-1)return c.beforeCreateWarn("set box color"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawBoxColor(a.id,this.id,t):c.__inject__TextDrawBoxColor(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return c.beforeCreateWarn("set background color"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawBackgroundColor(a.id,this.id,t):c.__inject__TextDrawBackgroundColor(this.id,t),this}setAlignment(t){if(this.id===-1)return c.beforeCreateWarn("set alignment"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawAlignment(a.id,this.id,t):c.__inject__TextDrawAlignment(this.id,t),this}setLetterSize(t,a){if(this.id===-1)return c.beforeCreateWarn("set letter size"),this;const{player:i}=this.sourceInfo;return i?c.__inject__PlayerTextDrawLetterSize(i.id,this.id,t,a):c.__inject__TextDrawLetterSize(this.id,t,a),this}setOutline(t){if(this.id===-1)return c.beforeCreateWarn("set outline model"),this;if(t<0)throw new Error("[TextDraw]: Invalid outline value");const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawSetOutline(a.id,this.id,t):c.__inject__TextDrawSetOutline(this.id,t),this}setPreviewModel(t){if(this.id===-1)return c.beforeCreateWarn("set preview model"),this;this.setFont(he.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawSetPreviewModel(a.id,this.id,t):c.__inject__TextDrawSetPreviewModel(this.id,t),this}setPreviewRot(t,a,i,n=1){if(this.id===-1)return c.beforeCreateWarn("set preview rot"),this;this.setFont(he.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?c.__inject__PlayerTextDrawSetPreviewRot(r.id,this.id,t,a,i,n):c.__inject__TextDrawSetPreviewRot(this.id,t,a,i,n),this}setPreviewVehColors(t,a){if(this.id===-1)return c.beforeCreateWarn("set preview veh col"),this;this.setFont(he.MODEL_PREVIEW);const{player:i}=this.sourceInfo;return i?c.__inject__PlayerTextDrawSetPreviewVehicleColors(i.id,this.id,t,a):c.__inject__TextDrawSetPreviewVehicleColors(this.id,t,a),this}setProportional(t=!0){if(this.id===-1)return c.beforeCreateWarn("set Proportional"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawSetProportional(a.id,this.id,t):c.__inject__TextDrawSetProportional(this.id,t),this}setSelectable(t){if(this.id===-1)return c.beforeCreateWarn("set Selectable"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawSetSelectable(a.id,this.id,t):c.__inject__TextDrawSetSelectable(this.id,t),this}setShadow(t){if(this.id===-1)return c.beforeCreateWarn("set shadow"),this;if(t<0)throw new Error("[TextDraw]: Invalid shadow value");const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawSetShadow(a.id,this.id,t):c.__inject__TextDrawSetShadow(this.id,t),this}setString(t,a){if(this.id===-1)return c.beforeCreateWarn("set string"),this;if(t.length===0||t.length>1024)throw new Error("[TextDraw]: Invalid text length");const{player:i,charset:n="iso-8859-1"}=this.sourceInfo,r=P.encodeToBuf(P.convertSpecialChar(t),n);return i?c.__inject__PlayerTextDrawSetString(i.id,this.id,r):a?c.__inject__TextDrawSetStringForPlayer(this.id,a.id,r):c.__inject__TextDrawSetString(this.id,r),this}setTextSize(t,a){if(this.id===-1)return c.beforeCreateWarn("set TextSize"),this;const{player:i}=this.sourceInfo;return i?c.__inject__PlayerTextDrawTextSize(i.id,this.id,t,a):c.__inject__TextDrawTextSize(this.id,t,a),this}useBox(t){if(this.id===-1)return c.beforeCreateWarn("set TextSize"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawUseBox(a.id,this.id,t):c.__inject__TextDrawUseBox(this.id,t),this}static beforeCreateWarn(t){throw new Error(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return c.beforeCreateWarn("show"),this;const a=this.sourceInfo.player;if(a)c.__inject__PlayerTextDrawShow(a.id,this.id);else if(t)c.__inject__TextDrawShowForPlayer(t.id,this.id);else throw new Error("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===-1)return c.beforeCreateWarn("hide"),this;const a=this.sourceInfo.player;if(a)c.__inject__PlayerTextDrawHide(a.id,this.id);else if(t)c.__inject__TextDrawHideForPlayer(t.id,this.id);else throw new Error("[TextDraw]: invalid player for hide");return this}showAll(){if(this.id===-1)return c.beforeCreateWarn("show"),this;if(!this.sourceInfo.player)return c.__inject__TextDrawShowForAll(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be show for all.")}hideAll(){if(this.id===-1)return c.beforeCreateWarn("hideAll"),this;if(!this.sourceInfo.player)return c.__inject__TextDrawHideForAll(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be hide for all.")}isValid(){const t=this.sourceInfo.player;return t?c.__inject__IsValidPlayerTextDraw(t.id,this.id):c.__inject__IsValidTextDraw(this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const{player:a}=this.sourceInfo;return a?c.__inject__IsPlayerTextDrawVisible(a.id,this.id):t?c.__inject__IsTextDrawVisibleForPlayer(t.id,this.id):!1}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetString(t.id,this.id):c.__inject__TextDrawGetString(this.id)}setPos(t,a){if(this.id===-1)return c.beforeCreateWarn("set position"),this;const i=this.sourceInfo.player;return i?c.__inject__PlayerTextDrawSetPos(i.id,this.id,t,a):c.__inject__TextDrawSetPos(this.id,t,a),this}getLetterSize(){if(this.id===-1)return c.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetLetterSize(t.id,this.id):c.__inject__TextDrawGetLetterSize(this.id)}getTextSize(){if(this.id===-1)return c.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetTextSize(t.id,this.id):c.__inject__TextDrawGetTextSize(this.id)}getPos(){if(this.id===-1)return c.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetPos(t.id,this.id):c.__inject__TextDrawGetPos(this.id)}getColor(){if(this.id===-1)return c.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetColor(t.id,this.id):c.__inject__TextDrawGetColor(this.id)}getBoxColor(){if(this.id===-1)return c.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetBoxColor(t.id,this.id):c.__inject__TextDrawGetBoxColor(this.id)}getBackgroundColor(){if(this.id===-1)return c.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetBackgroundColor(t.id,this.id):c.__inject__TextDrawGetBackgroundColor(this.id)}getShadow(){if(this.id===-1)return c.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetShadow(t.id,this.id):c.__inject__TextDrawGetShadow(this.id)}getOutline(){if(this.id===-1)return c.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetOutline(t.id,this.id):c.__inject__TextDrawGetOutline(this.id)}getFont(){if(this.id===-1)return c.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetFont(t.id,this.id):c.__inject__TextDrawGetFont(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawIsBox(t.id,this.id):c.__inject__TextDrawIsBox(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawIsProportional(t.id,this.id):c.__inject__TextDrawIsProportional(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawIsSelectable(t.id,this.id):c.__inject__TextDrawIsSelectable(this.id)}getAlignment(){if(this.id===-1)return c.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetAlignment(t.id,this.id):c.__inject__TextDrawGetAlignment(this.id)}getPreviewModel(){if(this.id===-1)return c.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetPreviewModel(t.id,this.id):c.__inject__TextDrawGetPreviewModel(this.id)}getPreviewRot(){if(this.id===-1)return c.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetPreviewRot(t.id,this.id):c.__inject__TextDrawGetPreviewRot(this.id)}getPreviewVehColors(){if(this.id===-1)return c.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetPreviewVehicleColors(t.id,this.id):c.__inject__TextDrawGetPreviewVehicleColors(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()]}static __inject__TextDrawCreate=Bc;static __inject__CreatePlayerTextDraw=D_;static __inject__TextDrawDestroy=xc;static __inject__PlayerTextDrawDestroy=w_;static __inject__TextDrawFont=Xc;static __inject__PlayerTextDrawFont=x_;static __inject__TextDrawColor=Vc;static __inject__PlayerTextDrawColor=L_;static __inject__TextDrawBoxColor=Wc;static __inject__PlayerTextDrawBoxColor=G_;static __inject__TextDrawBackgroundColor=Zc;static __inject__PlayerTextDrawBackgroundColor=B_;static __inject__TextDrawAlignment=Hc;static __inject__PlayerTextDrawAlignment=b_;static __inject__TextDrawLetterSize=kc;static __inject__PlayerTextDrawLetterSize=N_;static __inject__TextDrawSetOutline=Kc;static __inject__PlayerTextDrawSetOutline=F_;static __inject__TextDrawSetPreviewModel=t_;static __inject__PlayerTextDrawSetPreviewModel=W_;static __inject__TextDrawSetPreviewRot=a_;static __inject__PlayerTextDrawSetPreviewRot=j_;static __inject__TextDrawSetPreviewVehicleColors=i_;static __inject__PlayerTextDrawSetPreviewVehicleColors=K_;static __inject__TextDrawSetProportional=zc;static __inject__PlayerTextDrawSetProportional=k_;static __inject__TextDrawSetSelectable=Yc;static __inject__PlayerTextDrawSetSelectable=M_;static __inject__TextDrawSetShadow=jc;static __inject__PlayerTextDrawSetShadow=O_;static __inject__PlayerTextDrawSetString=U_;static __inject__TextDrawSetStringForPlayer=Fc;static __inject__TextDrawSetString=e_;static __inject__TextDrawTextSize=Mc;static __inject__PlayerTextDrawTextSize=v_;static __inject__PlayerTextDrawUseBox=R_;static __inject__TextDrawUseBox=Uc;static __inject__PlayerTextDrawShow=H_;static __inject__TextDrawShowForPlayer=$c;static __inject__PlayerTextDrawHide=V_;static __inject__TextDrawHideForPlayer=Jc;static __inject__TextDrawShowForAll=Qc;static __inject__TextDrawHideForAll=qc;static __inject__IsValidPlayerTextDraw=s_;static __inject__IsValidTextDraw=pc;static __inject__IsPlayerTextDrawVisible=l_;static __inject__IsTextDrawVisibleForPlayer=gc;static __inject__PlayerTextDrawGetString=o_;static __inject__TextDrawGetString=fc;static __inject__PlayerTextDrawSetPos=d_;static __inject__TextDrawSetPos=Sc;static __inject__PlayerTextDrawGetLetterSize=c_;static __inject__TextDrawGetLetterSize=yc;static __inject__PlayerTextDrawGetTextSize=__;static __inject__TextDrawGetTextSize=Pc;static __inject__PlayerTextDrawGetPos=h_;static __inject__TextDrawGetPos=Ic;static __inject__PlayerTextDrawGetColor=u_;static __inject__TextDrawGetColor=Ec;static __inject__PlayerTextDrawGetBoxColor=m_;static __inject__TextDrawGetBoxColor=Ac;static __inject__PlayerTextDrawGetBackgroundColor=p_;static __inject__TextDrawGetBackgroundColor=Cc;static __inject__PlayerTextDrawGetShadow=g_;static __inject__TextDrawGetShadow=Tc;static __inject__PlayerTextDrawGetOutline=f_;static __inject__TextDrawGetOutline=Dc;static __inject__PlayerTextDrawGetFont=S_;static __inject__TextDrawGetFont=wc;static __inject__PlayerTextDrawIsBox=y_;static __inject__TextDrawIsBox=Nc;static __inject__PlayerTextDrawIsProportional=P_;static __inject__TextDrawIsProportional=vc;static __inject__PlayerTextDrawIsSelectable=I_;static __inject__TextDrawIsSelectable=bc;static __inject__PlayerTextDrawGetAlignment=E_;static __inject__TextDrawGetAlignment=Lc;static __inject__PlayerTextDrawGetPreviewModel=A_;static __inject__TextDrawGetPreviewModel=Rc;static __inject__PlayerTextDrawGetPreviewRot=C_;static __inject__TextDrawGetPreviewRot=Gc;static __inject__TextDrawGetPreviewVehicleColors=Oc;static __inject__PlayerTextDrawGetPreviewVehicleColors=T_}L.onExit(({next:e})=>(c.getInstances(!0).forEach(t=>t.destroy()),c.getInstances(!1).forEach(t=>t.destroy()),e()));const[rp]=_({name:"OnPlayerClickTextDraw",defaultValue:!1,beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===w.TEXT_DRAW?t:c.getInstance(t,!0)}}}),[sp]=_({name:"OnPlayerClickPlayerTextDraw",defaultValue:!1,beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===w.TEXT_DRAW?t:c.getInstance(t,!1)}}}),lp=Object.freeze({onPlayerClickGlobal:rp,onPlayerClickPlayer:sp});function op(e,t){return(e&t)===t}function dp(e,t,a){return(e&a)===a&&(t&a)!==a}function cp(e,t){return!!(e&t)}function _p(e,t,a){return(e&a)!==a&&(t&a)===a}function hp(e){const t=new Set,a=e.prototype,i=Object.getOwnPropertyNames(a).filter(r=>typeof a[r]=="function"&&r!=="constructor").reduce((r,s)=>(r[s]=a[s],r),{});function n(r,s){if(t.has(r))throw new Error(`Method '${String(r)}' of class '${e.name}' has already been hooked. Each method can only be hooked once per defineHooks call. `);if(typeof Reflect.get(a,r)!="function")throw new Error(`Invalid method: ${String(r)}`);return Reflect.set(a,r,s),t.add(r),s}return[i,n]}export{et as ArtworkEnum,ut as BodyPartsEnum,mt as BoneIdsEnum,Et as BulletHitTypesEnum,ce as CameraCutStylesEnum,ht as CameraModesEnum,ft as CarModTypeEnum,tt as ClickSourcesEnum,it as ConnectionStatusEnum,Te as DamageDeathReasonEnum,b as Dialog,Ae as DialogStylesEnum,ne as Dynamic3DTextLabel,Vm as Dynamic3DTextLabelEvent,j as DynamicActor,Bm as DynamicActorEvent,G as DynamicArea,np as DynamicAreaEvent,Tm as DynamicCheckPointEvent,V as DynamicCheckpoint,$ as DynamicMapIcon,hm as DynamicMapIconEvent,F as DynamicObject,Jm as DynamicObjectEvent,x as DynamicPickup,Sm as DynamicPickupEvent,U as DynamicRaceCP,Rm as DynamicRaceCPEvent,H as ERecordStatus,fp as E_STREAMER,at as EditResponseTypesEnum,ct as FightingStylesEnum,pt as ForceSyncEnum,L as GameMode,$u as GameText,R as GangZone,sm as GangZoneEvent,P as I18n,w as InvalidEnum,nt as KeysEnum,M as LimitsEnum,Sp as MapIconStyles,_t as MapIconStylesEnum,rt as MarkerModesEnum,yp as MaterialTextAlign,Pp as MaterialTextSizes,re as Menu,qu as MenuEvent,st as NPCPlaybackEnum,Yu as NetStats,N as Npc,Nu as NpcEvent,ot as ObjectMaterialAlignmentEnum,lt as ObjectMaterialTextSizeEnum,m as Player,Le as PlayerEvent,_e as PlayerStateEnum,Ct as RecordTypesEnum,dt as SelectObjectTypesEnum,Ce as SpecialActionsEnum,Se as SpectateModesEnum,S as Streamer,Ip as StreamerAreaTypes,Ep as StreamerDistances,Ap as StreamerItemTypes,Cp as StreamerMiscellaneous,Tp as StreamerObjectTypes,c as TextDraw,gt as TextDrawAlignEnum,lp as TextDrawEvent,he as TextDrawFontsEnum,C as Vehicle,zu as VehicleEvent,yt as VehicleModelInfoEnum,St as VehicleParamsEnum,Pt as WeaponEnum,It as WeaponSkillsEnum,At as WeaponStatesEnum,Tt as animateLib,_ as defineEvent,hp as defineHooks,sh as getAnimateDurationByLibName,op as isHolding,dp as isPressed,cp as isPressing,_p as isReleased,De as isValidAnimateLib,we as isValidAnimateName,I as rgba,Di as useTrigger};
4
+ ${t}`)}},mu=async e=>{await Oe(e),await Ge(e)};xt(async({next:e})=>{const t=te.map(a=>a.name);for(const a of t)await Ge(a);return e()}),kt(async({next:e})=>{const t=se.map(a=>a.name);for(const a of t)await Oe(a);return e()});const pu=function(e,...t){if(te.some(a=>a.name===e.name)||se.some(a=>a.name===e.name))throw new Error(`[GameMode]: script ${e.name} has already been applied`);e.load=e.load.bind(e,...t),te.push(e)};class L{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=xt;static onExit=kt;static onIncomingConnection=_u;static onRconCommand=hu;static onRconLoginAttempt=uu;static use(t,...a){return pu(t,...a),this}static loadUseScript=Ge;static reloadUseScript=mu;static unloadUseScript=Oe;static enableCmdCaseSensitive=W.enableCaseSensitive;static disableCmdCaseSensitive=W.disableCaseSensitive;static isCmdCaseSensitive=W.isCaseSensitive;static supportAllNickname(){for(let t=0;t<=255;t++)this.isNickNameCharacterAllowed(t)||this.allowNickNameCharacter(t,!0)}static setWeather(t){if(t<0||t>255)throw new Error("[GameMode]: The valid weather value is only 0 to 255");return sn(t)}static setWorldTime(t){if(t<0||t>23)throw new Error("[GameMode]: The valid hour value is only 0 to 23");return an(t)}static getWorldTime=nn;static setTeamCount=wn;static sendRconCommand=mh;static addPlayerClass=Nn;static addPlayerClassEx=vn;static createExplosion(t,a,i,n,r){if(n<0||n>13)throw new Error("[GameMode]: The valid explosion type value is only 0 to 13");return dn(t,a,i,n,r)}static manualVehicleEngineAndLights=Do;static blockIpAddress=zn;static unBlockIpAddress=Yn;static getServerTickRate=Sn;static addSimpleModel(t,a,i,n,r){return this.checkSimpleModel(t,a,i,n,r)?J_(t,a,i,n,r):0}static addSimpleModelTimed(t,a,i,n,r,s,l){return this.checkSimpleModel(t,a,i,n,r,s,l)?Q_(t,a,i,n,r,s,l):0}static checkSimpleModel(t,a,i,n,r,s,l){if(t<-1)throw new Error("[GameMode]: AddSimpleModel - Error virtual world");if(a<0)throw new Error("[GameMode]: AddSimpleModel - Error baseId");if(i>-1e3||i<-3e4)throw new Error("[GameMode]: AddSimpleModel - Error newId range");if(n.trim().length<0)throw new Error("[GameMode]: AddSimpleModel - Empty dffName");if(r.trim().length<0)throw new Error("[GameMode]: AddSimpleModel - Empty txdName");if(s!==void 0&&(s<0||s>23))throw new Error("[GameMode]: AddSimpleModel - Error time on range");if(l!==void 0&&(l<0||l>23))throw new Error("[GameMode]: AddSimpleModel - Error time off range");return 1}static isValidCustomModel=et;static getCustomModePath=sh;static getConsoleVarAsString(t,a="utf8"){const i=Vi(t);return I.decodeFromBuf(I.getValidStr(i),a)}static getRestartTime=zi;static setRestartTime=Xi;static allowAdminTeleport=Fi;static isAdminTeleportAllowed=Bi;static allowInteriorWeapons=xi;static areInteriorWeaponsAllowed=ki;static areAllAnimationsEnabled=Mi;static enableAllAnimations=Hi;static enableStuntBonusForAll=Pn;static enableVehicleFriendlyFire=rn;static enableZoneNames=cn;static disableInteriorEnterExits=hn;static setGameModeText=qi;static getGravity=ln;static setGravity=on;static showNameTags=en;static disableNameTagLOS=mn;static usePlayerPedAnims=_n;static showPlayerMarkers=tn;static limitPlayerMarkerRadius=gn;static limitGlobalChatRadius=pn;static setNameTagDrawDistance=un;static findModelFileNameFromCRC=eh;static findTextureFileNameFromCRC=th;static getWeaponName=Cn;static setObjectsDefaultCameraCollision=$_;static vectorSize=Ee;static clearBanList=Qn;static isBanned=qn;static isValidNickName=Ni;static allowNickNameCharacter=vi;static isNickNameCharacterAllowed=bi;static addServerRule=Li;static setServerRule=Ri;static isValidServerRule=Gi;static removeServerRule=Oi;static getWeaponSlot=An;static getAvailableClasses=Ye;static getPlayerClass=Tn;static editPlayerClass=Dn;static toggleChatTextReplacement=In;static chatTextReplacementToggled=En;static getConsoleVarAsInt=Ui;static getConsoleVarAsBool=Wi;static getWeather=ji;static getServerRuleFlag=Ki;static setServerRuleFlags=Zi}L.onExit(({next:e})=>(N.npcs.clear(),e()));const[gu]=h({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[fu]=h({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[Su]=h({name:"OnNpcModeInit"}),[yu]=h({name:"OnNpcModeExit"}),[Pu]=h({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:I.decodeFromBuf(t)}}}),[Iu]=h({name:"OnNPCFinishMove",beforeEach(e){return{npc:N.getInstance(e)}}}),[Eu]=h({name:"OnNPCCreate",beforeEach(e){return{npc:N.getInstance(e)}}}),[Au]=h({name:"OnNPCDestroy",beforeEach(e){return{npc:N.getInstance(e)}}}),[Cu]=h({name:"OnNPCWeaponStateChange",beforeEach(e,t,a){return{npc:N.getInstance(e),newState:t,oldState:a}}}),[Tu]=h({name:"OnNPCTakeDamage",beforeEach(e,t,a,i,n){return{npc:N.getInstance(e),damager:p.getInstance(t),damage:a,weapon:i,bodyPart:n}}}),[Du]=h({name:"OnNPCGiveDamage",beforeEach(e,t,a,i,n){return{npc:N.getInstance(e),damager:p.getInstance(t),damage:a,weapon:i,bodyPart:n}}}),[wu]=h({name:"OnNPCDeath",beforeEach(e,t,a){return{npc:N.getInstance(e),killer:t,reason:a}}}),[Nu]=h({name:"OnNpcSpawn",beforeEach(e){return{npc:N.getInstance(e)}}}),vu=Object.freeze({onConnect:gu,onDisconnect:fu,onModeInit:Su,onModeExit:yu,onClientMessage:Pu,onFinishMove:Iu,onCreate:Eu,onDestroy:Au,onWeaponStateChange:Cu,onTakeDamage:Tu,onGiveDamage:Du,onDeath:wu,onSpawn:Nu}),bu=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],Lu=[[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],[],[],[],[],[],[],[],[]],Ru=(e,t)=>{if(!Fe(e))return!1;const a=Lu[e-400];if(a===null)return!1;const i=t-1e3;return bu.includes(i)||a.includes(i)},Fe=e=>e>=400&&e<=611,Gu=(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 C{static vehicles=ye;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)throw new Error("[Vehicle]: Unable to create the vehicle again");if(C.createdCount===M.MAX_VEHICLES)throw new Error("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelId:a,x:i,y:n,z:r,zAngle:s,color:l,respawnDelay:o,addSiren:d}=this.sourceInfo;if(!(!t&&!Fe(a))){if(this.isStatic){if(o===void 0){this._id=C.__inject_AddStaticVehicle(a,i,n,r,s,l[0],l[1]);return}this._id=C.__inject_AddStaticVehicleEx(a,i,n,r,s,l[0],l[1],o||-1,d||!1)}else this._id=C.__inject_CreateVehicle(a,i,n,r,s,l[0],l[1],o||-1,d||!1);C.createdCount++,C.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)throw new Error("[Vehicle]: Unable to destroy the vehicle before create");C.__inject_DestroyVehicle(this.id),C.createdCount--,C.vehicles.delete(this._id),this._id=-1}addComponent(t){if(this.id===-1)return 0;if(!Ru(this.getModel(),t))throw new Error(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`);return Bo(this.id,t)}removeComponent(t){if(this.getComponentInSlot(C.getComponentType(t))===0)throw new Error(`[Vehicle]: component id ${t} does not exist on this vehicle`);return xo(this.id,t)}getComponentInSlot(t){return zo(this.id,t)}linkToInterior(t){return this.id===-1?0:Fo(this.id,t)}setVirtualWorld(t){return this.id===-1?0:id(this.id,t)}getVirtualWorld(){return this.id===-1?0:nd(this.id)}repair(){return this.id===-1?0:$o(this.id)}setPos(t,a,i){return this.id===-1?!1:Po(this.id,t,a,i)}getPos(){if(this.id===-1)throw new Error("[Vehicle]: Unable to getPos before create");return yo(this.id)}getHealth(){return this.id===-1?0:Vo(this.id)}setHealth(t){return this.id===-1?0:Ho(this.id,t)}isPlayerIn(t){return this.id===-1?!1:ol(t.id,this.id)}putPlayerIn(t,a){if(this.id===-1||a<0)return 0;if(a>4)throw new Error("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle.");return Hs(t.id,this.id,a)}getZAngle(){return this.id===-1?0:Io(this.id)}setZAngle(t){return this.id===-1?0:Co(this.id,t)}setNumberPlate(t){if(this.id===-1)return 0;if(t.length<1||t.length>32)throw new Error("[Vehicle]: The length of the number plate ranges from 32 characters");if(!/^[a-zA-Z0-9]+$/.test(t))throw new Error("[Vehicle]: number plates only allow letters and numbers");return Zo(this.id,t)}changeColors(t,a){return this.id===-1?0:ko(this.id,t,a)}setVelocity(t,a,i){return this.id===-1?!1:Qo(this.id,t,a,i)}getVelocity(){if(this.id===-1)throw new Error("[Vehicle]: Unable to getVelocity before create");const[t,a,i]=Jo(this.id);return{x:t,y:a,z:i}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:i,z:n}=this.getVelocity();return Ee(a,i,n)*t}setAngularVelocity(t,a,i){return this.id===-1?!1:qo(this.id,t,a,i)}getDamageStatus(){if(this.id!==-1)return ed(this.id)}updateDamageStatus(t,a,i,n){this.id!==-1&&td(this.id,t,a,i,n)}getDistanceFromPoint(t,a,i){return Ao(this.id,t,a,i)}getModel(){return Xo(this.id)}static getModelInfo(t,a){return ad(t,a)}getModelInfo(t){if(this.id===-1)throw new Error("[Vehicle]: Unable to getModelInfo before create");return C.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,a,i,n]=Eo(this.id);return{w:t,x:a,y:i,z:n}}setRespawn(){return this.id===-1?0:Oo(this.id)}isStreamedIn(t){return this.id===-1?!1:So(this.id,t.id)}setParamsCarDoors(t,a,i,n){return this.id===-1?0:bo(this.id,t,a,i,n)}setParamsCarWindows(t,a,i,n){return this.id===-1?0:Ro(this.id,t,a,i,n)}getParamsCarDoors(){if(this.id!==-1)return Lo(this.id)}getParamsCarWindows(){if(this.id!==-1)return Go(this.id)}setParamsEx(t,a,i,n,r,s,l){return this.id===-1?0:wo(this.id,t,a,i,n,r,s,l)}getParamsEx(){if(this.id===-1)return{engine:-1,lights:-1,alarm:-1,doors:-1,bonnet:-1,boot:-1,objective:-1};const[t,a,i,n,r,s,l]=No(this.id);return{engine:t,lights:a,alarm:i,doors:n,bonnet:r,boot:s,objective:l}}toggleEngine(t){if(this.id===-1)return 0;const{lights:a,alarm:i,doors:n,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(t,a,i,n,r,s,l)}toggleLights(t){if(this.id===-1)return 0;const{engine:a,alarm:i,doors:n,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(a,t,i,n,r,s,l)}toggleAlarm(t){if(this.id===-1)return 0;const{engine:a,lights:i,doors:n,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(a,i,t,n,r,s,l)}toggleDoors(t){if(this.id===-1)return 0;const{engine:a,lights:i,alarm:n,bonnet:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(a,i,n,t,r,s,l)}toggleBonnet(t){if(this.id===-1)return 0;const{engine:a,lights:i,alarm:n,doors:r,boot:s,objective:l}=this.getParamsEx();return this.setParamsEx(a,i,n,r,t,s,l)}toggleBoot(t){if(this.id===-1)return 0;const{engine:a,lights:i,alarm:n,doors:r,bonnet:s,objective:l}=this.getParamsEx();return this.setParamsEx(a,i,n,r,s,t,l)}toggleObjective(t){if(this.id===-1)return 0;const{engine:a,lights:i,alarm:n,doors:r,bonnet:s,boot:l}=this.getParamsEx();return this.setParamsEx(a,i,n,r,s,l,t)}getParamsSirenState(){return this.id===-1?-2:vo(this.id)}setParamsForPlayer(t,a,i){return this.id===-1?0:To(this.id,t.id,a,i)}isTrailerAttached(){return this.id===-1?!1:jo(this.id)}changePaintjob(t){return this.id===-1||!Gu(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),Mo(this.id,t),1)}attachTrailer(t){return this.id===-1?0:Uo(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&Wo(this.id)}getTrailer(){if(this.id!==-1)return C.getInstances().find(t=>t.id===Ko(this.id))}isValid(){return Qe(this.id)}getMatrix(){if(this.id!==-1)return mo(this.id)}getTrainSpeed(){return this.id===-1?0:uo(this.id)}getHydraReactorAngle(){return this.id===-1?0:ho(this.id)}getLandingGearState(){return this.id===-1?0:_o(this.id)}getSirenState(){return this.id===-1?0:co(this.id)}getDriver(){if(this.id!==-1)return Y.get(lo(this.id))}getLastDriver(){if(this.id!==-1)return Y.get(so(this.id))}isSirenEnabled(){return no(this.id)}toggleSirenEnabled(t){return this.id===-1?0:ao(this.id,t)}setParamsSirenState(t){return this.id===-1?0:io(this.id,t)}isDead(){return this.id===-1?!0:ql(this.id)}setDead(t){return this.id===-1?!1:eo(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:to(this.id,t)}getRespawnTick(){return this.id===-1?0:Jl(this.id)}setRespawnTick(t){return this.id===-1?!1:Ql(this.id,t)}isOccupied(){return this.id===-1?!1:$l(this.id)}hasBeenOccupied(){return this.id===-1?!1:Yl(this.id)}getOccupiedTick(){return this.id===-1?0:Xl(this.id)}setOccupiedTick(t){return this.id===-1?0:zl(this.id,t)}getCab(){return this.id===-1?0:Zl(this.id)}getRespawnDelay(){return this.id===-1?0:Kl(this.id)}setRespawnDelay(t){return this.id===-1?0:jl(this.id,t)}getNumberPlate(){return this.id===-1?"":Wl(this.id)}getInterior(){return this.id===-1?0:Ul(this.id)}getPaintjob(){return this.id===-1?-1:Vl(this.id)}getColors(){if(this.id!==-1)return Hl(this.id)}setSpawnInfo(t,a,i,n,r,s,l,o=-2,d=-2,_=!1){return this.id===-1||!_&&!Fe(t)?0:Ml(this.id,t,a,i,n,r,E(s),E(l),o,d)}getSpawnInfo(){if(this.id!==-1)return kl(this.id)}getRandomColorPair(){if(this.id!==-1)return Je(this.getModel())}show(){return this.id===-1?!1:ld(this.id)}hide(){return this.id===-1?!1:od(this.id)}isHidden(){return this.id===-1?!1:dd(this.id)}getVehicleOccupant(t){return pd(this.id,t)}getVehicleMaxPassengers(){return qe(this.getModel())}countVehicleOccupants(){return gd(this.getModel())}static getVehicleMaxPassengers=qe;static getRandomColorPair=Je;static getComponentType=Yo;static colorIndexToColor=po;static isValid=Qe;static getModelsUsed=oo;static getModelCount=ro;static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}static __inject_AddStaticVehicle=rd;static __inject_AddStaticVehicleEx=sd;static __inject_CreateVehicle=go;static __inject_DestroyVehicle=fo}L.onExit(({next:e})=>(C.getInstances().forEach(t=>t.destroy()),e()));const[Ou]=h({name:"OnVehicleDamageStatusUpdate",defaultValue:!1,beforeEach(e,t){return{vehicle:C.getInstance(e),player:p.getInstance(t)}}}),[Fu]=h({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:C.getInstance(e),killer:p.getInstance(t)}}}),[Bu]=h({name:"OnVehicleMod",beforeEach(e,t,a){return{player:p.getInstance(e),vehicle:C.getInstance(t),componentId:a}}}),[xu]=h({name:"OnVehiclePaintjob",beforeEach(e,t,a){return{player:p.getInstance(e),vehicle:C.getInstance(t),paintjobId:a}}}),[ku]=h({name:"OnVehicleRespray",beforeEach(e,t,a,i){return{player:p.getInstance(e),vehicle:C.getInstance(t),color:[a,i]}}}),[Mu]=h({name:"OnVehicleSirenStateChange",defaultValue:!1,beforeEach(e,t,a){return{player:p.getInstance(e),vehicle:C.getInstance(t),state:!!a}}}),[Hu]=h({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:C.getInstance(e)}}}),[Vu]=h({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:C.getInstance(e),forPlayer:p.getInstance(t)}}}),[Uu]=h({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:C.getInstance(e),forPlayer:p.getInstance(t)}}}),[Wu]=h({name:"OnPlayerEnterVehicle",beforeEach(e,t,a){return{player:p.getInstance(e),vehicle:C.getInstance(t),isPassenger:!!a}}}),[ju]=h({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:p.getInstance(e),vehicle:C.getInstance(t)}}}),[Ku]=h({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:C.getInstance(e),seatId:t}}}),[Zu]=h({name:"OnNpcExitVehicle"}),[Xu]=h({name:"OnTrailerUpdate",beforeEach(e,t){return{player:p.getInstance(e),vehicle:C.getInstance(t)}}}),[zu]=h({name:"OnUnoccupiedVehicleUpdate",beforeEach(e,t,a,i,n,r,s,l,o){return{vehicle:C.getInstance(e),player:p.getInstance(t),passengerSeat:a,newX:i,newY:n,newZ:r,velX:s,velY:l,velZ:o}}}),Yu=Object.freeze({onDamageStatusUpdate:Ou,onDeath:Fu,onMod:Bu,onPaintjob:xu,onRespray:ku,onSirenStateChange:Mu,onSpawn:Hu,onStreamIn:Vu,onStreamOut:Uu,onPlayerEnter:Wu,onPlayerExit:ju,onNpcEnter:Ku,onNpcExit:Zu,onTrailerUpdate:Xu,onUnoccupiedUpdate:zu});class $u{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return Xn()}static getPlayerNetworkStats(t){return Zn(t.id)}static getBytesReceived(t){return Fn(t.id)}static getBytesSent(t){return xn(t.id)}static getConnectionStatus(t){return Hn(t.id)}static getConnectedTime(t){return Gn(t.id)}static getIpPort(t){return Vn(t.id)}static getMessagesReceived(t){return On(t.id)}static getMessagesRecvPerSecond(t){return kn(t.id)}static getMessagesSent(t){return Bn(t.id)}static getPacketLossPercent(t){return Mn(t.id)}}class Ju{_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,i){this._text=t,this._time=a,this._style=i}static hideForAll(t){$i(t)}static has(t,a){return br(t.id,a)}forAll(t="win1252"){Yi(I.encodeToBuf(I.convertSpecialChar(this.text),t),this.time,this.style)}forPlayer(t,a="win1252"){vr(t.id,I.encodeToBuf(I.convertSpecialChar(this.text),a),this.time,this.style)}hideForPlayer(t){return Rr(t.id,this.style)}}class re{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)throw new Error("[Menu]: The menu column number interval is between 1 and 2");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,i,n,r,s){this._title=t,this.columns=a,this._x=i,this._y=n,this._col1width=r,this._col2width=s}create(){if(this._id!==-1)throw new Error("[Menu]: Cannot be created twice");if(re.getInstances().length===M.MAX_MENUS)throw new Error("[Menu]: The maximum number of menus allowed to be created has been reached 128");return this._id=Nd(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),re.menus.set(this._id,this),this}destroy(){if(this._id===-1)throw new Error("[Menu]: Cannot destroy before create");return vd(this.id),re.menus.delete(this._id),this._id=-1,this}addItem(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot addItem before create");if(this._itemCount===M.MAX_MENU_ROW)throw new Error("[Menu]: The maximum number of items allowed to be added has been reached 12");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return bd(this.id,t,a),this._itemCount++,this}setColumnHeader(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot setColumnHeader before create");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return Ld(this.id,t,a),this}disable(){if(this._id===-1)throw new Error("[Menu]: Cannot disable menu before create");return Fd(this.id),this}disableRow(t){if(this._id===-1)throw new Error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)throw new Error("[Menu]: Wrong number of rows");Bd(this.id,t)}isValid(){return Od(this.id)}showForPlayer(t){if(this._id===-1)throw new Error("[Menu]: Cannot show menu before create");return Rd(this.id,t.id)}hideForPlayer(t){if(this._id===-1)throw new Error("[Menu]: Cannot hide menu before create");return Gd(this.id,t.id)}isDisabled(){return this._id===-1?!1:Id(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:Ed(this.id,t)}getItems(t){return this._id===-1?0:Ad(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:Cd(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:Td(this.id)}getColumnHeader(t){if(this._id===-1)throw new Error("[Menu]: Cannot get column header before create");return Dd(this.id,t)}getItem(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot get item before create");if(a<0||a>this.getItems(t)-1)throw new Error("[Menu]: invalid getItem range");return wd(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===xd(t.id))}}L.onExit(({next:e})=>(re.getInstances().forEach(t=>t.destroy()),e()));const[Qu]=h({name:"OnPlayerExitedMenu",beforeEach(e){return{player:p.getInstance(e)}}}),[qu]=h({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const a=p.getInstance(e),i=re.getInstanceByPlayer(a);return{player:a,menu:i,row:t}}}),em=Object.freeze({onPlayerExited:Qu,onPlayerSelectedRow:qu});class R{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)throw new Error("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(R.getInstances(!1).length===M.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:i,maxX:n,maxY:r}=this.sourceInfo;this._id=ac(t.id,a,i,n,r);const s=Le.onDisconnect(({player:l,next:o})=>{o(),l===this.sourceInfo.player&&(this.isValid()&&this.destroy(),s())});R.playerGangZones.set(this.id,this)}else{if(R.getInstances(!0).length===M.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:i,maxX:n,maxY:r}=this.sourceInfo;this._id=Zd(a,i,n,r),R.globalGangZones.set(this.id,this)}}destroy(){if(this.id===-1)throw new Error("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(ic(t.id,this.id),R.playerGangZones.delete(this.id)):(Xd(this.id),R.globalGangZones.delete(this.id)),this._id=-1}showForAll(t){if(this.id===-1)throw new Error("[GangZone]: Unable to show the gangzone before create");if(!this.sourceInfo.player)return Yd(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be show for all.")}showForPlayer(t,a){if(this.id===-1)throw new Error("[GangZone]: Unable to show the gangzone before create");const i=this.sourceInfo.player;if(i)nc(i.id,this.id,E(t));else if(a)zd(a.id,this.id,t);else throw new Error("[GangZone]: invalid player for show");return this}hideForAll(){if(this.id===-1)throw new Error("[GangZone]: Unable to hide the gangzone before create");if(!this.sourceInfo.player)return Jd(this.id),this;throw new Error("[GangZone]: player's gangzone should not be hide for all.")}hideForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to hide the gangzone before create");const a=this.sourceInfo.player;if(a)rc(a.id,this.id);else if(t)$d(t.id,this.id);else throw new Error("[GangZone]: invalid player for hide");return this}flashForAll(t){if(this.id===-1)throw new Error("[GangZone]: Unable to flash the gangzone before create");if(!this.sourceInfo.player)return qd(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be flash for all.")}flashForPlayer(t,a){if(this.id===-1)throw new Error("[GangZone]: Unable to flash the gangzone before create");const i=this.sourceInfo.player;if(i)sc(i.id,this.id,E(a));else if(t)Qd(t.id,this.id,a);else throw new Error("[GangZone]: invalid player for flash");return this}stopFlashForAll(){if(this.id===-1)throw new Error("[GangZone]: Unable to stop flash the gangzone before create");if(!this.sourceInfo.player)return tc(this.id),this;throw new Error("[GangZone]: player's gangzone should not be stop flash for all.")}stopFlashForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to stop flash the gangzone before create");const a=this.sourceInfo.player;if(a)lc(a.id,this.id);else if(t)ec(t.id,this.id);else throw new Error("[GangZone]: invalid player for flash");return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?oc(t.id,this.id):kd(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?dc(a.id,this.id):Md(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?cc(a.id,this.id):Hd(t.id,this.id)}getColorForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to get color before create");const a=this.sourceInfo.player;return a?_c(a.id,this.id):Vd(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to get flash color before create");const a=this.sourceInfo.player;return a?hc(a.id,this.id):Ud(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?uc(a.id,this.id):Wd(t.id,this.id)}getPos(){if(this.id===-1)throw new Error("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?mc(t.id,this.id):jd(this.id)}useCheck(t){if(this.id===-1)throw new Error("[GangZone]: Unable to use check before create");const a=this.sourceInfo.player;return a?pc(a.id,this.id,t):Kd(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})=>(R.getInstances(!0).forEach(t=>t.destroy()),R.getInstances(!1).forEach(t=>t.destroy()),e()));const[tm]=h({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:p.getInstance(e),gangZone:R.getInstance(t,!0)}}}),[am]=h({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:p.getInstance(e),gangZone:R.getInstance(t,!0)}}}),[im]=h({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:p.getInstance(e),gangZone:R.getInstance(t,!1)}}}),[nm]=h({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:p.getInstance(e),gangZone:R.getInstance(t,!1)}}}),[rm]=h({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:p.getInstance(e),gangZone:R.getInstance(t,!0)}}}),[sm]=h({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:p.getInstance(e),gangZone:R.getInstance(t,!1)}}}),lm=Object.freeze({onPlayerEnterGlobal:tm,onPlayerLeaveGlobal:am,onPlayerEnterPlayer:im,onPlayerLeavePlayer:nm,onPlayerClickGlobal:rm,onPlayerClickPlayer:sm}),T={skip:!1};L.onInit(({next:e})=>(T.skip=!1,e())),L.onExit(({next:e})=>(T.skip=!0,e()));const[ae]=h({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:p.getInstance(a)}}}),[ie]=h({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:p.getInstance(a)}}}),[om]=h({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class S{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getTickRate=Ut;static setTickRate=Wt;static getPlayerTickRate(t){return jt(t.id)}static setPlayerTickRate(t,a=50){return Kt(t.id,a)}static toggleChunkStream=Zt;static isToggleChunkStream=Xt;static getChunkTickRate(t,a=-1){return a instanceof p?ke(t,a.id):ke(t,a)}static setChunkTickRate(t,a,i=-1){return i instanceof p?Me(t,a,i.id):Me(t,a,i)}static getChunkSize=zt;static setChunkSize=Yt;static getMaxItems=$t;static setMaxItems=Jt;static getVisibleItems(t,a=-1){return a instanceof p?He(t,a.id):He(t,a)}static setVisibleItems(t,a,i=-1){return i instanceof p?Ve(t,a,i.id):Ve(t,a,i)}static getRadiusMultiplier(t,a=-1){return a instanceof p?Ue(t,a.id):Ue(t,a)}static setRadiusMultiplier(t,a,i=-1){return i instanceof p?We(t,i.id):We(t,a,i)}static getTypePriority=Qt;static setTypePriority=qt;static getCellDistance=ea;static setCellDistance=ta;static getCellSize=aa;static setCellSize=ia;static toggleItemStatic=na;static isToggleItemStatic=ra;static toggleItemInvAreas=sa;static isToggleItemInvAreas=la;static toggleItemCallbacks=oa;static isToggleItemCallbacks=da;static toggleErrorCallback=ca;static isToggleErrorCallback=_a;static amxUnloadDestroyItems=ha;static processActiveItems=ua;static toggleIdleUpdate(t,a){return ma(t.id,a)}static isToggleIdleUpdate(t){return pa(t.id)}static toggleCameraUpdate(t,a){return ga(t.id,a)}static isToggleCameraUpdate(t){return fa(t.id)}static toggleItemUpdate(t,a,i){return Sa(t.id,a,i)}static isToggleItemUpdate(t,a){return ya(t.id,a)}static getLastUpdateTime(){return Pa()}static update(t,a=-1){return Ia(t.id,a)}static updateEx(t,a,i,n,r,s,l,o,d){return Ea(t.id,a,i,n,r,s,l,o,d)}static getDistanceToItem=Aa;static toggleItem(t,a,i,n){return Ca(t.id,a,i,n)}static isToggleItem(t,a,i){return Ta(t.id,a,i)}static toggleAllItems(t,a,i,n=[-1]){return Da(t.id,a,i,n)}static getItemInternalID(t,a,i){return wa(t.id,a,i)}static getItemStreamerID(t,a,i){return Na(t.id,a,i)}static isItemVisible(t,a,i){return va(t.id,a,i)}static destroyAllVisibleItems(t,a,i=1){return ba(t.id,a,i)}static countVisibleItems(t,a,i=1){return La(t.id,a,i)}static destroyAllItems=Ra;static countItems=Ga;static getNearbyItems=Oa;static getAllVisibleItems(t,a,i){return Fa(t.id,a,i)}static getItemPos=Ba;static setItemPos=xa;static getItemOffset=ka;static setItemOffset=Ma;static getFloatData=Ha;static setFloatData=Va;static getIntData=Ua;static setIntData=Wa;static getArrayData=ja;static setArrayData=Ka;static isInArrayData=Za;static appendArrayData=Xa;static removeArrayData=za;static getArrayDataLength=Ya;static getUpperBound=$a;static onPluginError=om}class ${static mapIcons=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamDistance:a,worldId:i,interiorId:n,playerId:r,areaId:s,priority:l}=this.sourceInfo;const{x:o,y:d,z:_,type:m,color:f,extended:y}=this.sourceInfo;if(m<0||m>63)throw new Error("[StreamerMapIcon]: Invalid map icon type");return t??=Ja.LOCAL,a??=fe.MAP_ICON_SD,l??=0,y?(typeof i=="number"?i=[-1]:i??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=Qa(o,d,_,m,E(f),t,a,i,n,r,s,l),$.mapIcons.set(this._id,this),this):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=qa(o,d,_,m,E(f),i,n,r,a,t,s,l),$.mapIcons.set(this._id,this),this)}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerMapIcon]: Unable to destroy the map icon before create");return T.skip||ei(this.id),$.mapIcons.delete(this._id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:ti(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerMapIcon]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(A.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(A.MAP_ICON,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,A.MAP_ICON,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}}L.onExit(({next:e})=>($.getInstances().forEach(t=>t.destroy()),e()));const[dm,cm]=h({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[_m,hm]=h({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});ae(({type:e,id:t,forPlayer:a,next:i})=>e===A.MAP_ICON?cm(a,$.getInstance(t)):i()),ie(({type:e,id:t,forPlayer:a,next:i})=>e===A.MAP_ICON?hm(a,$.getInstance(t)):i());const um=Object.freeze({onStreamIn:dm,onStreamOut:_m});class x{static pickups=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerPickup]: Unable to create pickup again");let{streamDistance:t,worldId:a,interiorId:i,playerId:n,areaId:r,priority:s}=this.sourceInfo;const{type:l,modelId:o,x:d,y:_,z:m,extended:f}=this.sourceInfo;if(l<0)throw new Error("[StreamerPickup]: Invalid pickup type");return t??=u.StreamerDistances.PICKUP_SD,s??=0,f?(typeof a=="number"?a=[-1]:a??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=x.__inject_CreateDynamicPickupEx(o,l,d,_,m,t,a,i,n,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=x.__inject_CreateDynamicPickup(o,l,d,_,m,a,i,n,t,r,s)),x.pickups.set(this._id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerPickup]: Unable to destroy the pickup before create");return T.skip||x.__inject_DestroyDynamicPickup(this.id),x.pickups.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:u.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerPickup]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(u.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(u.StreamerItemTypes.PICKUP,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,u.StreamerItemTypes.PICKUP,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}static __inject_CreateDynamicPickup=u.CreateDynamicPickup;static __inject_CreateDynamicPickupEx=u.CreateDynamicPickupEx;static __inject_DestroyDynamicPickup=u.DestroyDynamicPickup}L.onExit(({next:e})=>(x.getInstances().forEach(t=>t.destroy()),e()));const[mm,pm]=h({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[gm,fm]=h({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});ae(({type:e,id:t,forPlayer:a,next:i})=>e===A.PICKUP?pm(a,x.getInstance(t)):i()),ie(({type:e,id:t,forPlayer:a,next:i})=>e===A.PICKUP?fm(a,x.getInstance(t)):i());const[Sm]=h({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:p.getInstance(e),pickup:x.getInstance(t)}}}),ym=Object.freeze({onPlayerPickUp:Sm,onStreamIn:mm,onStreamOut:gm});class V{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:i,playerId:n,areaId:r,priority:s}=this.sourceInfo;const{size:l,x:o,y:d,z:_,extended:m}=this.sourceInfo;if(l<0)throw new Error("[StreamerCheckpoint]: Invalid checkpoint size");return t??=fe.CP_SD,s??=0,m?(typeof a=="number"?a=[-1]:a??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=ai(o,d,_,l,t,a,i,n,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=ii(o,d,_,l,a,i,n,t,r,s)),V.checkpoints.set(this._id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerCheckpoint]: Unable to destroy the checkpoint before create");return T.skip||je(this.id),V.checkpoints.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:Ke(this.id)}togglePlayer(t,a){if(this.id===-1)throw new Error("[StreamerCheckpoint]: Unable to toggle the player before create");return ni(t.id,this.id,a),this}static togglePlayerAll(t,a){return ri(t.id,a)}isPlayerIn(t){return this.id===-1?!1:si(t.id,this.id)}static getPlayerVisible(t){return V.checkpoints.get(li(t.id))}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerCheckpoint]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(A.CP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(A.CP,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,A.CP,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}L.onExit(({next:e})=>(V.checkpoints.forEach(t=>t.destroy()),e()));const[Pm,Im]=h({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Em,Am]=h({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});ae(({type:e,id:t,forPlayer:a,next:i})=>e===A.CP?Im(a,V.getInstance(t)):i()),ie(({type:e,id:t,forPlayer:a,next:i})=>e===A.CP?Am(a,V.getInstance(t)):i());const[Cm]=h({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:p.getInstance(e),cp:V.getInstance(t)}}}),[Tm]=h({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:p.getInstance(e),cp:V.getInstance(t)}}}),Dm=Object.freeze({onPlayerEnter:Cm,onPlayerLeave:Tm,onStreamIn:Pm,onStreamOut:Em});class U{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerRaceCP]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:i,playerId:n,areaId:r,priority:s}=this.sourceInfo;const{type:l,size:o,x:d,y:_,z:m,nextX:f,nextY:y,nextZ:g,extended:P}=this.sourceInfo;if(l<0||l>8)throw new Error("[StreamerRaceCP]: Invalid type");if(o<0)throw new Error("[StreamerRaceCP]: Invalid size");return t??=fe.RACE_CP_SD,s??=0,P?(typeof a=="number"?a=[-1]:a??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=oi(l,d,_,m,f,y,g,o,t,a,i,n,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=di(l,d,_,m,f,y,g,o,a,i,n,t,r,s)),U.checkpoints.set(this._id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerRaceCP]: Unable to destroy the checkpoint before create");return T.skip||je(this.id),U.checkpoints.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:Ke(this.id)}togglePlayer(t,a){if(this.id===-1)throw new Error("[StreamerRaceCP]: Unable to toggle the player before create");return ci(t.id,this.id,a),this}static togglePlayerAll(t,a){return _i(t.id,a)}isPlayerIn(t){return this.id===-1?!1:hi(t.id,this.id)}static getPlayerVisible(t){return U.checkpoints.get(ui(t.id))}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerRaceCP]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(A.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(A.RACE_CP,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,A.RACE_CP,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}L.onExit(({next:e})=>(U.getInstances().forEach(t=>t.destroy()),e()));const[wm,Nm]=h({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[vm,bm]=h({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});ae(({type:e,id:t,forPlayer:a,next:i})=>e===A.RACE_CP?Nm(a,U.getInstance(t)):i()),ie(({type:e,id:t,forPlayer:a,next:i})=>e===A.RACE_CP?bm(a,U.getInstance(t)):i());const[Lm]=h({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:p.getInstance(e),raceCP:U.getInstance(t)}}}),[Rm]=h({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:p.getInstance(e),raceCp:U.getInstance(t)}}}),Gm=Object.freeze({onPlayerEnter:Lm,onPlayerLeave:Rm,onStreamIn:wm,onStreamOut:vm});class j{static actors=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerActor]: Unable to create actor again");let{streamDistance:t,worldId:a,interiorId:i,playerId:n,areaId:r,priority:s}=this.sourceInfo;const{modelId:l,x:o,y:d,z:_,r:m,invulnerable:f,health:y,extended:g}=this.sourceInfo;return t??=u.StreamerDistances.ACTOR_SD,s??=0,g?(typeof a=="number"?a=[0]:a??=[0],typeof i=="number"?i=[-1]:i??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=u.CreateDynamicActorEx(l,o,d,_,m,f,y,t,a,i,n,r,s)):(Array.isArray(a)?a=0:a??=0,Array.isArray(i)?i=-1:i??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=u.CreateDynamicActor(l,o,d,_,m,f,y,a,i,n,t,r,s)),j.actors.set(this.id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerActor]: Unable to destroy the actor before create");return T.skip||u.DestroyDynamicActor(this.id),j.actors.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:u.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:u.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get virtual world before create");return u.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set virtual world before create");return u.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,a,i=4.1,n=!1,r=!0,s=!0,l=!1,o=0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to apply animation before create");if(!we(t,a))throw new Error(`[StreamerActor]: Invalid anim library or name ${t} ${a}`);return u.ApplyDynamicActorAnimation(this.id,t,a,i,n,r,s,l,o)}clearAnimations(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to clear animation before create");return u.ClearDynamicActorAnimations(this.id)}getFacingAngle(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get facing angle before create");return u.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set facing angle before create");return u.SetDynamicActorFacingAngle(this.id,t)}getPos(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get pos before create");return u.GetDynamicActorPos(this.id)}setPos(t,a,i){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set pos before create");return u.SetDynamicActorPos(this.id,t,a,i)}getHealth(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get health before create");return u.GetDynamicActorHealth(this.id)}setHealth(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set health before create");return u.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:u.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set invulnerable before create");return u.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t){if(this.id===-1)return;const a=u.GetPlayerTargetDynamicActor(t.id);return j.actors.get(a)}getPlayerCameraTarget(t){if(this.id===-1)return;const a=u.GetPlayerCameraTargetDynActor(t.id);return j.actors.get(a)}getSkin(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get skin before create");return Fl(this.id)}setSkin(t,a=!1){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set skin before create");return!a&&(t<0||t>311||t===74)?0:Bl(this.id,t)}getSpawnInfo(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get spawn info before create");return xl(this.id)}getAnimation(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get animation before create");return u.GetDynamicActorAnimation(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(u.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(u.StreamerItemTypes.ACTOR,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,u.StreamerItemTypes.ACTOR,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.actors.get(t)}static getInstances(){return[...this.actors.values()]}}L.onExit(({next:e})=>(j.getInstances().forEach(t=>t.destroy()),e()));const[Om]=h({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:j.getInstance(e),forPlayer:p.getInstance(t)}}}),[Fm]=h({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:j.getInstance(e),forPlayer:p.getInstance(t)}}}),[Bm]=h({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",defaultValue:!1,beforeEach(e,t,a,i,n){return{player:p.getInstance(e),actor:j.getInstance(t),amount:a,weapon:i,bodyPart:n}}}),xm=Object.freeze({onStreamIn:Om,onStreamOut:Fm,onPlayerGiveDamage:Bm});class ne{static texts=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[Streamer3DTextLabel]: Unable to create again");let{attachedPlayer:t,attachedVehicle:a,testLos:i,streamDistance:n,worldId:r,interiorId:s,playerId:l,areaId:o,priority:d}=this.sourceInfo;const{charset:_,text:m,color:f,drawDistance:y,x:g,y:P,z:v,extended:O}=this.sourceInfo;return t??=w.PLAYER_ID,a??=w.VEHICLE_ID,n??=fe.TEXT_3D_LABEL_SD,i??=!1,d??=0,O?(typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof l=="number"?l=[-1]:l??=[-1],typeof o=="number"?o=[-1]:o??=[-1],this._id=gh(m,E(f),g,P,v,y,t,a,i,n,r,s,l,o,d,_||"utf8")):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(l)?l=-1:l??=-1,Array.isArray(o)?o=-1:o??=-1,this._id=ph(_||"utf8",m,E(f),g,P,v,y,t,a,i,r,s,l,n,o,d)),ne.texts.set(this.id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[Streamer3DTextLabel]: Unable to destroy before create");return T.skip||mi(this.id),ne.texts.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:pi(this.id)}getColor(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get color before create");return this.sourceInfo.color}getCharset(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get charset before create");return this.sourceInfo.charset}getText(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get text before create");return Sh(this.id,this.sourceInfo.charset||"utf8")}updateText(t,a,i=this.sourceInfo.charset){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to update text before create");return this.sourceInfo.charset=i,fh(this.id,E(t),a,i||"utf8")}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(A.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(A.TEXT_3D_LABEL,this.id)}setOffsets(t,a,i){if(this.id===-1)return 0;const n=S.setFloatData(A.TEXT_3D_LABEL,this.id,oe.ATTACH_OFFSET_X,t);return S.setFloatData(A.TEXT_3D_LABEL,this.id,oe.ATTACH_OFFSET_Y,a),S.setFloatData(A.TEXT_3D_LABEL,this.id,oe.ATTACH_OFFSET_Z,i),this.sourceInfo.x=t,this.sourceInfo.y=a,this.sourceInfo.z=i,n}attachToPlayer(t,a,i,n){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Cannot attachToPlayer before created");const r=typeof t=="number"?t:t.id,s=S.setIntData(A.TEXT_3D_LABEL,this.id,oe.ATTACHED_PLAYER,r);return r!==w.PLAYER_ID&&this.setOffsets(a,i,n),this.sourceInfo.attachedPlayer=r,s}attachToVehicle(t,a,i,n){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Cannot attachToVehicle before created");const r=typeof t=="number"?t:t.id,s=S.setIntData(A.TEXT_3D_LABEL,this.id,oe.ATTACHED_VEHICLE,r);return r!==w.VEHICLE_ID&&this.setOffsets(a,i,n),this.sourceInfo.attachedVehicle=r,s}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,A.TEXT_3D_LABEL,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}}L.onExit(({next:e})=>(ne.getInstances().forEach(t=>t.destroy()),e()));const[km,Mm]=h({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Hm,Vm]=h({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});ae(({type:e,id:t,forPlayer:a,next:i})=>e===A.TEXT_3D_LABEL?Mm(a,ne.getInstance(t)):i()),ie(({type:e,id:t,forPlayer:a,next:i})=>e===A.TEXT_3D_LABEL?Vm(a,ne.getInstance(t)):i());const Um=Object.freeze({onStreamIn:km,onStreamOut:Hm});class B{static objects=Ne;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerObject]: Unable to create object again");let{streamDistance:t,drawDistance:a,worldId:i,interiorId:n,playerId:r,areaId:s,priority:l}=this.sourceInfo;const{modelId:o,x:d,y:_,z:m,rx:f,ry:y,rz:g,extended:P}=this.sourceInfo;return t??=u.StreamerDistances.OBJECT_SD,a??=u.StreamerDistances.OBJECT_DD,l??=0,P?(typeof i=="number"?i=[-1]:i??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=u.CreateDynamicObjectEx(o,d,_,m,f,y,g,t,a,i,n,r,s,l)):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=u.CreateDynamicObject(o,d,_,m,f,y,g,i,n,r,t,a,s,l)),B.objects.set(this._id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerObject]: Unable to destroy the object before create");return T.skip||u.DestroyDynamicObject(this.id),B.objects.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:u.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get position before create");return u.GetDynamicObjectPos(this.id)}setPos(t,a,i){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set position before create");return u.SetDynamicObjectPos(this.id,t,a,i)}getRot(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get rotation before create");return u.GetDynamicObjectRot(this.id)}setRot(t,a,i){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set rotation before create");return u.SetDynamicObjectRot(this.id,t,a,i)}move(t,a,i,n,r=-1e3,s=-1e3,l=-1e3){if(this.id===-1)throw new Error("[StreamerObject]: Cannot start moving before create");if(n<0)throw new Error("[StreamerObject]: speed must not be less than 0");if(n>120*1e3)throw new Error("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional");return this.isMoving()&&this.stop(),u.MoveDynamicObject(this.id,t,a,i,n,r,s,l)}stop(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot stop moving before create");return u.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:u.IsDynamicObjectMoving(this.id)}attachCamera(t){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachCamera before both are created");return u.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,a,i,n,r,s,l,o=!0){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToObject before both are created");return u.AttachDynamicObjectToObject(this.id,t.id,a,i,n,r,s,l,o)}attachToPlayer(t,a,i,n,r,s,l){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToPlayer before both are created");return u.AttachDynamicObjectToPlayer(this.id,t.id,a,i,n,r,s,l)}attachToVehicle(t,a,i,n,r,s,l){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToVehicle before both are created");return u.AttachDynamicObjectToVehicle(this.id,t.id,a,i,n,r,s,l)}edit(t){if(this.id===-1)throw new Error("[StreamerObject]: Unable to edit before create");return 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,i){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material before create");return u.GetDynamicObjectMaterial(this.id,t,a,i)}setMaterial(t,a,i,n,r="#000"){if(this.id===-1)throw new Error("[StreamerObject]: Unable to set material before create");return u.SetDynamicObjectMaterial(this.id,t,a,i,n,E(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){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material text before create");return Ph(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,a,i,n=u.MaterialTextSizes.SIZE_256x128,r="Arial",s=24,l=1,o="#fff",d="#000",_=0){if(this.id===-1)throw new Error("[StreamerObject]: Unable to set material text before create");return this.sourceInfo.charset=t,yh(t||"utf8",this.id,a,i,n,r,s,l,E(o),E(d),_)}getPlayerCameraTarget(t){const a=u.GetPlayerCameraTargetDynObject(t.id);if(a!==w.OBJECT_ID)return B.objects.get(a)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerObject]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(u.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(u.StreamerItemTypes.OBJECT,this.id)}setNoCameraCollision(){return u.SetDynamicObjectNoCameraCol(this.id)}getNoCameraCollision(){return u.GetDynamicObjectNoCameraCol(this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,u.StreamerItemTypes.OBJECT,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.objects.get(t)}static getInstances(){return[...this.objects.values()]}}L.onExit(({next:e})=>(B.getInstances().forEach(t=>t.destroy()),e()));const[Wm,jm]=h({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Km,Zm]=h({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});ae(({type:e,id:t,forPlayer:a,next:i})=>e===A.OBJECT?jm(a,B.getInstance(t)):i()),ie(({type:e,id:t,forPlayer:a,next:i})=>e===A.OBJECT?Zm(a,B.getInstance(t)):i());const[Xm]=h({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:B.getInstance(e)}}}),[zm]=h({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",defaultValue:!1,beforeEach(e,t,a,i,n,r,s,l,o){return{player:p.getInstance(e),object:B.getInstance(t),response:a,x:i,y:n,z:r,rX:s,rY:l,rZ:o}}}),[Ym]=h({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,i,n,r){return{player:p.getInstance(e),object:B.getInstance(t),modelId:a,x:i,y:n,z:r}}}),[$m]=h({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,i,n,r){return{player:p.getInstance(e),object:B.getInstance(a),weapon:t,x:i,y:n,z:r}}}),[Jm]=h({name:"OnPlayerEditAttachedObject",defaultValue:!1,beforeEach(e,t,a,i,n,r,s,l,o,d,_,m,f,y){return{player:p.getInstance(e),response:t,index:a,modelId:i,boneId:n,fOffsetX:r,fOffsetY:s,fOffsetZ:l,fRotX:o,fRotY:d,fRotZ:_,fScaleX:m,fScaleY:f,fScaleZ:y}}}),Qm=Object.freeze({onMoved:Xm,onPlayerEdit:zm,onPlayerSelect:Ym,onPlayerShoot:$m,onPlayerEditAttached:Jm,onStreamIn:Wm,onStreamOut:Km});class G{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)throw new Error("[StreamerArea]: Unable to create area again");let{worldId:t,interiorId:a,playerId:i}=this.sourceInfo;const{type:n,extended:r}=this.sourceInfo;if(r)if(typeof t=="number"?t=[-1]:t??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof i=="number"?i=[-1]:i??=[-1],n==="circle"){const{x:s,y:l,size:o}=this.sourceInfo;if(o<0)throw new Error("[StreamerArea]: Invalid circle extend size");this._id=u.CreateDynamicCircleEx(s,l,o,t,a,i)}else if(n==="cuboid"){const{minX:s,minY:l,minZ:o,maxX:d,maxY:_,maxZ:m}=this.sourceInfo;this._id=u.CreateDynamicCuboidEx(s,l,o,d,_,m,t,a,i)}else if(n==="cylinder"){const{x:s,y:l,minZ:o,maxZ:d,size:_}=this.sourceInfo;if(_<0)throw new Error("[StreamerArea]: Invalid cylinder extend size");this._id=u.CreateDynamicCylinderEx(s,l,o,d,_,t,a,i)}else if(n==="polygon"){const{points:s,minZ:l,maxZ:o}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=u.CreateDynamicPolygonEx(s,l,o,t,a,i)}else if(n==="rectangle"){const{minX:s,minY:l,maxX:o,maxY:d}=this.sourceInfo;this._id=u.CreateDynamicRectangleEx(s,l,o,d,t,a,i)}else{const{x:s,y:l,z:o,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid sphere extended size");this._id=u.CreateDynamicSphereEx(s,l,o,d,t,a,i)}else if(Array.isArray(t)?t=-1:t??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(i)?i=-1:i??=-1,n==="circle"){const{x:s,y:l,size:o}=this.sourceInfo;if(o<0)throw new Error("[StreamerArea]: Invalid circle size");this._id=u.CreateDynamicCircle(s,l,o,t,a,i)}else if(n==="cuboid"){const{minX:s,minY:l,minZ:o,maxX:d,maxY:_,maxZ:m}=this.sourceInfo;this._id=u.CreateDynamicCuboid(s,l,o,d,_,m,t,a,i)}else if(n==="cylinder"){const{x:s,y:l,minZ:o,maxZ:d,size:_}=this.sourceInfo;if(_<0)throw new Error("[StreamerArea]: Invalid cylinder size");this._id=u.CreateDynamicCylinder(s,l,o,d,_,t,a,i)}else if(n==="polygon"){const{points:s,minZ:l,maxZ:o}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=u.CreateDynamicPolygon(s,l,o,t,a,i)}else if(n==="rectangle"){const{minX:s,minY:l,maxX:o,maxY:d}=this.sourceInfo;this._id=u.CreateDynamicRectangle(s,l,o,d,t,a,i)}else{const{x:s,y:l,z:o,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid sphere size");this._id=u.CreateDynamicSphere(s,l,o,d,t,a,i)}return G.areas.set(this._id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerArea]: Unable to destroy the area before create");return T.skip||u.DestroyDynamicArea(this.id),G.areas.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:u.IsValidDynamicArea(this.id)}getType(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to get type before create");return u.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to getPolygonPoints before create");if(this.type!=="polygon")throw new Error("[StreamerArea]: getPolygonPoints invalid area type");return u.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to getPolygonNumberPoints number before create");if(this.type!=="polygon")throw new Error("[StreamerArea]: getPolygonNumberPoints invalid area type");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 G.getPlayerAreasNumber(t)?u.GetPlayerDynamicAreas(t.id).map(a=>G.areas.get(a)):[]}static getPlayerAreasNumber(t){return u.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,a,i){return this.id===-1?!1:u.IsPointInDynamicArea(this.id,t,a,i)}static isPointInAny(t,a,i){return u.IsPointInAnyDynamicArea(t,a,i)}isLineIn(t,a,i,n,r,s){return this.id===-1?!1:u.IsLineInDynamicArea(this.id,t,a,i,n,r,s)}static isLineInAny(t,a,i,n,r,s){return u.IsLineInAnyDynamicArea(t,a,i,n,r,s)}static getForPoint(t,a,i){return G.getNumberForPoint(t,a,i)?u.GetDynamicAreasForPoint(t,a,i).map(n=>G.getInstance(n)):[]}static getNumberForPoint(t,a,i){return u.GetNumberDynamicAreasForPoint(t,a,i)}static getForLine(t,a,i,n,r,s){return G.getNumberForLine(t,a,i,n,r,s)?u.GetDynamicAreasForLine(t,a,i,n,r,s).map(l=>G.areas.get(l)):[]}static getNumberForLine(t,a,i,n,r,s){return u.GetNumberDynamicAreasForLine(t,a,i,n,r,s)}attachToObject(t,a=0,i=0,n=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to object before create");return u.AttachDynamicAreaToObject(this.id,t.id,u.StreamerObjectTypes.DYNAMIC,w.PLAYER_ID,a,i,n)}attachToPlayer(t,a=0,i=0,n=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to player before create");return u.AttachDynamicAreaToPlayer(this.id,t.id,a,i,n)}attachToVehicle(t,a=0,i=0,n=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to vehicle before create");return u.AttachDynamicAreaToVehicle(this.id,t.id,a,i,n)}toggleSpectateMode(t){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle specate mode before create");return u.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:u.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(u.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(u.StreamerItemTypes.AREA,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,u.StreamerItemTypes.AREA,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const i=t.getPos();return i?S.updateEx(t,i.x,i.y,i.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.areas.get(t)}static getInstances(){return[...this.areas.values()]}}L.onExit(({next:e})=>(G.getInstances().forEach(t=>t.destroy()),e()));const[qm,ep]=h({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[tp,ap]=h({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});ae(({type:e,id:t,forPlayer:a,next:i})=>e===A.AREA?ep(a,G.getInstance(t)):i()),ie(({type:e,id:t,forPlayer:a,next:i})=>e===A.AREA?ap(a,G.getInstance(t)):i());const[ip]=h({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:p.getInstance(e),area:G.getInstance(t)}}}),[np]=h({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:p.getInstance(e),area:G.getInstance(t)}}}),rp=Object.freeze({onStreamIn:qm,onStreamOut:tp,onPlayerEnter:ip,onPlayerLeave:np});class c{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)throw new Error("[TextDraw]: Unable to create the textdraw again");const{x:t,y:a,text:i,player:n,charset:r="iso-8859-1"}=this.sourceInfo,s=I.encodeToBuf(I.convertSpecialChar(i),r);if(n){if(c.getInstances(!1).length===M.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=c.__inject__CreatePlayerTextDraw(n.id,t,a,s);const l=Le.onDisconnect(({player:o,next:d})=>{const _=d();return o===n&&(this.isValid()&&this.destroy(),l()),_});c.playerTextDraws.set(this.id,this)}else{if(c.getInstances(!0).length===M.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=c.__inject__TextDrawCreate(t,a,s),c.globalTextDraws.set(this.id,this)}return this}destroy(){this.id===-1&&c.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(c.__inject__PlayerTextDrawDestroy(t.id,this.id),c.playerTextDraws.delete(this.id)):(c.__inject__TextDrawDestroy(this.id),c.globalTextDraws.delete(this.id)),this._id=-1,this}setFont(t){if(this.id===-1)return c.beforeCreateWarn("set font"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawFont(a.id,this.id,t):c.__inject__TextDrawFont(this.id,t),this}setColor(t){if(this.id===-1)return c.beforeCreateWarn("set color"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawColor(a.id,this.id,t):c.__inject__TextDrawColor(this.id,t),this}setBoxColors(t){if(this.id===-1)return c.beforeCreateWarn("set box color"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawBoxColor(a.id,this.id,t):c.__inject__TextDrawBoxColor(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return c.beforeCreateWarn("set background color"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawBackgroundColor(a.id,this.id,t):c.__inject__TextDrawBackgroundColor(this.id,t),this}setAlignment(t){if(this.id===-1)return c.beforeCreateWarn("set alignment"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawAlignment(a.id,this.id,t):c.__inject__TextDrawAlignment(this.id,t),this}setLetterSize(t,a){if(this.id===-1)return c.beforeCreateWarn("set letter size"),this;const{player:i}=this.sourceInfo;return i?c.__inject__PlayerTextDrawLetterSize(i.id,this.id,t,a):c.__inject__TextDrawLetterSize(this.id,t,a),this}setOutline(t){if(this.id===-1)return c.beforeCreateWarn("set outline model"),this;if(t<0)throw new Error("[TextDraw]: Invalid outline value");const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawSetOutline(a.id,this.id,t):c.__inject__TextDrawSetOutline(this.id,t),this}setPreviewModel(t){if(this.id===-1)return c.beforeCreateWarn("set preview model"),this;this.setFont(he.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawSetPreviewModel(a.id,this.id,t):c.__inject__TextDrawSetPreviewModel(this.id,t),this}setPreviewRot(t,a,i,n=1){if(this.id===-1)return c.beforeCreateWarn("set preview rot"),this;this.setFont(he.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?c.__inject__PlayerTextDrawSetPreviewRot(r.id,this.id,t,a,i,n):c.__inject__TextDrawSetPreviewRot(this.id,t,a,i,n),this}setPreviewVehColors(t,a){if(this.id===-1)return c.beforeCreateWarn("set preview veh col"),this;this.setFont(he.MODEL_PREVIEW);const{player:i}=this.sourceInfo;return i?c.__inject__PlayerTextDrawSetPreviewVehicleColors(i.id,this.id,t,a):c.__inject__TextDrawSetPreviewVehicleColors(this.id,t,a),this}setProportional(t=!0){if(this.id===-1)return c.beforeCreateWarn("set Proportional"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawSetProportional(a.id,this.id,t):c.__inject__TextDrawSetProportional(this.id,t),this}setSelectable(t){if(this.id===-1)return c.beforeCreateWarn("set Selectable"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawSetSelectable(a.id,this.id,t):c.__inject__TextDrawSetSelectable(this.id,t),this}setShadow(t){if(this.id===-1)return c.beforeCreateWarn("set shadow"),this;if(t<0)throw new Error("[TextDraw]: Invalid shadow value");const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawSetShadow(a.id,this.id,t):c.__inject__TextDrawSetShadow(this.id,t),this}setString(t,a){if(this.id===-1)return c.beforeCreateWarn("set string"),this;if(t.length===0||t.length>1024)throw new Error("[TextDraw]: Invalid text length");const{player:i,charset:n="iso-8859-1"}=this.sourceInfo,r=I.encodeToBuf(I.convertSpecialChar(t),n);return i?c.__inject__PlayerTextDrawSetString(i.id,this.id,r):a?c.__inject__TextDrawSetStringForPlayer(this.id,a.id,r):c.__inject__TextDrawSetString(this.id,r),this}setTextSize(t,a){if(this.id===-1)return c.beforeCreateWarn("set TextSize"),this;const{player:i}=this.sourceInfo;return i?c.__inject__PlayerTextDrawTextSize(i.id,this.id,t,a):c.__inject__TextDrawTextSize(this.id,t,a),this}useBox(t){if(this.id===-1)return c.beforeCreateWarn("set TextSize"),this;const{player:a}=this.sourceInfo;return a?c.__inject__PlayerTextDrawUseBox(a.id,this.id,t):c.__inject__TextDrawUseBox(this.id,t),this}static beforeCreateWarn(t){throw new Error(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return c.beforeCreateWarn("show"),this;const a=this.sourceInfo.player;if(a)c.__inject__PlayerTextDrawShow(a.id,this.id);else if(t)c.__inject__TextDrawShowForPlayer(t.id,this.id);else throw new Error("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===-1)return c.beforeCreateWarn("hide"),this;const a=this.sourceInfo.player;if(a)c.__inject__PlayerTextDrawHide(a.id,this.id);else if(t)c.__inject__TextDrawHideForPlayer(t.id,this.id);else throw new Error("[TextDraw]: invalid player for hide");return this}showAll(){if(this.id===-1)return c.beforeCreateWarn("show"),this;if(!this.sourceInfo.player)return c.__inject__TextDrawShowForAll(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be show for all.")}hideAll(){if(this.id===-1)return c.beforeCreateWarn("hideAll"),this;if(!this.sourceInfo.player)return c.__inject__TextDrawHideForAll(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be hide for all.")}isValid(){const t=this.sourceInfo.player;return t?c.__inject__IsValidPlayerTextDraw(t.id,this.id):c.__inject__IsValidTextDraw(this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const{player:a}=this.sourceInfo;return a?c.__inject__IsPlayerTextDrawVisible(a.id,this.id):t?c.__inject__IsTextDrawVisibleForPlayer(t.id,this.id):!1}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetString(t.id,this.id):c.__inject__TextDrawGetString(this.id)}setPos(t,a){if(this.id===-1)return c.beforeCreateWarn("set position"),this;const i=this.sourceInfo.player;return i?c.__inject__PlayerTextDrawSetPos(i.id,this.id,t,a):c.__inject__TextDrawSetPos(this.id,t,a),this}getLetterSize(){if(this.id===-1)return c.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetLetterSize(t.id,this.id):c.__inject__TextDrawGetLetterSize(this.id)}getTextSize(){if(this.id===-1)return c.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetTextSize(t.id,this.id):c.__inject__TextDrawGetTextSize(this.id)}getPos(){if(this.id===-1)return c.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetPos(t.id,this.id):c.__inject__TextDrawGetPos(this.id)}getColor(){if(this.id===-1)return c.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetColor(t.id,this.id):c.__inject__TextDrawGetColor(this.id)}getBoxColor(){if(this.id===-1)return c.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetBoxColor(t.id,this.id):c.__inject__TextDrawGetBoxColor(this.id)}getBackgroundColor(){if(this.id===-1)return c.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetBackgroundColor(t.id,this.id):c.__inject__TextDrawGetBackgroundColor(this.id)}getShadow(){if(this.id===-1)return c.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetShadow(t.id,this.id):c.__inject__TextDrawGetShadow(this.id)}getOutline(){if(this.id===-1)return c.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetOutline(t.id,this.id):c.__inject__TextDrawGetOutline(this.id)}getFont(){if(this.id===-1)return c.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetFont(t.id,this.id):c.__inject__TextDrawGetFont(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawIsBox(t.id,this.id):c.__inject__TextDrawIsBox(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawIsProportional(t.id,this.id):c.__inject__TextDrawIsProportional(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawIsSelectable(t.id,this.id):c.__inject__TextDrawIsSelectable(this.id)}getAlignment(){if(this.id===-1)return c.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetAlignment(t.id,this.id):c.__inject__TextDrawGetAlignment(this.id)}getPreviewModel(){if(this.id===-1)return c.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetPreviewModel(t.id,this.id):c.__inject__TextDrawGetPreviewModel(this.id)}getPreviewRot(){if(this.id===-1)return c.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetPreviewRot(t.id,this.id):c.__inject__TextDrawGetPreviewRot(this.id)}getPreviewVehColors(){if(this.id===-1)return c.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?c.__inject__PlayerTextDrawGetPreviewVehicleColors(t.id,this.id):c.__inject__TextDrawGetPreviewVehicleColors(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()]}static __inject__TextDrawCreate=xc;static __inject__CreatePlayerTextDraw=w_;static __inject__TextDrawDestroy=kc;static __inject__PlayerTextDrawDestroy=N_;static __inject__TextDrawFont=zc;static __inject__PlayerTextDrawFont=k_;static __inject__TextDrawColor=Uc;static __inject__PlayerTextDrawColor=R_;static __inject__TextDrawBoxColor=jc;static __inject__PlayerTextDrawBoxColor=O_;static __inject__TextDrawBackgroundColor=Xc;static __inject__PlayerTextDrawBackgroundColor=x_;static __inject__TextDrawAlignment=Vc;static __inject__PlayerTextDrawAlignment=L_;static __inject__TextDrawLetterSize=Mc;static __inject__PlayerTextDrawLetterSize=v_;static __inject__TextDrawSetOutline=Zc;static __inject__PlayerTextDrawSetOutline=B_;static __inject__TextDrawSetPreviewModel=a_;static __inject__PlayerTextDrawSetPreviewModel=j_;static __inject__TextDrawSetPreviewRot=i_;static __inject__PlayerTextDrawSetPreviewRot=K_;static __inject__TextDrawSetPreviewVehicleColors=n_;static __inject__PlayerTextDrawSetPreviewVehicleColors=Z_;static __inject__TextDrawSetProportional=Yc;static __inject__PlayerTextDrawSetProportional=M_;static __inject__TextDrawSetSelectable=$c;static __inject__PlayerTextDrawSetSelectable=H_;static __inject__TextDrawSetShadow=Kc;static __inject__PlayerTextDrawSetShadow=F_;static __inject__PlayerTextDrawSetString=W_;static __inject__TextDrawSetStringForPlayer=Bc;static __inject__TextDrawSetString=t_;static __inject__TextDrawTextSize=Hc;static __inject__PlayerTextDrawTextSize=b_;static __inject__PlayerTextDrawUseBox=G_;static __inject__TextDrawUseBox=Wc;static __inject__PlayerTextDrawShow=V_;static __inject__TextDrawShowForPlayer=Jc;static __inject__PlayerTextDrawHide=U_;static __inject__TextDrawHideForPlayer=Qc;static __inject__TextDrawShowForAll=qc;static __inject__TextDrawHideForAll=e_;static __inject__IsValidPlayerTextDraw=l_;static __inject__IsValidTextDraw=gc;static __inject__IsPlayerTextDrawVisible=o_;static __inject__IsTextDrawVisibleForPlayer=fc;static __inject__PlayerTextDrawGetString=d_;static __inject__TextDrawGetString=Sc;static __inject__PlayerTextDrawSetPos=c_;static __inject__TextDrawSetPos=yc;static __inject__PlayerTextDrawGetLetterSize=__;static __inject__TextDrawGetLetterSize=Pc;static __inject__PlayerTextDrawGetTextSize=h_;static __inject__TextDrawGetTextSize=Ic;static __inject__PlayerTextDrawGetPos=u_;static __inject__TextDrawGetPos=Ec;static __inject__PlayerTextDrawGetColor=m_;static __inject__TextDrawGetColor=Ac;static __inject__PlayerTextDrawGetBoxColor=p_;static __inject__TextDrawGetBoxColor=Cc;static __inject__PlayerTextDrawGetBackgroundColor=g_;static __inject__TextDrawGetBackgroundColor=Tc;static __inject__PlayerTextDrawGetShadow=f_;static __inject__TextDrawGetShadow=Dc;static __inject__PlayerTextDrawGetOutline=S_;static __inject__TextDrawGetOutline=wc;static __inject__PlayerTextDrawGetFont=y_;static __inject__TextDrawGetFont=Nc;static __inject__PlayerTextDrawIsBox=P_;static __inject__TextDrawIsBox=vc;static __inject__PlayerTextDrawIsProportional=I_;static __inject__TextDrawIsProportional=bc;static __inject__PlayerTextDrawIsSelectable=E_;static __inject__TextDrawIsSelectable=Lc;static __inject__PlayerTextDrawGetAlignment=A_;static __inject__TextDrawGetAlignment=Rc;static __inject__PlayerTextDrawGetPreviewModel=C_;static __inject__TextDrawGetPreviewModel=Gc;static __inject__PlayerTextDrawGetPreviewRot=T_;static __inject__TextDrawGetPreviewRot=Oc;static __inject__TextDrawGetPreviewVehicleColors=Fc;static __inject__PlayerTextDrawGetPreviewVehicleColors=D_}L.onExit(({next:e})=>(c.getInstances(!0).forEach(t=>t.destroy()),c.getInstances(!1).forEach(t=>t.destroy()),e()));const[sp]=h({name:"OnPlayerClickTextDraw",defaultValue:!1,beforeEach(e,t){return{player:p.getInstance(e),textDraw:t===w.TEXT_DRAW?t:c.getInstance(t,!0)}}}),[lp]=h({name:"OnPlayerClickPlayerTextDraw",defaultValue:!1,beforeEach(e,t){return{player:p.getInstance(e),textDraw:t===w.TEXT_DRAW?t:c.getInstance(t,!1)}}}),op=Object.freeze({onPlayerClickGlobal:sp,onPlayerClickPlayer:lp});function dp(e,t){return(e&t)===t}function cp(e,t,a){return(e&a)===a&&(t&a)!==a}function _p(e,t){return!!(e&t)}function hp(e,t,a){return(e&a)!==a&&(t&a)===a}function up(e){const t=new Set,a=e.prototype,i=Object.getOwnPropertyNames(a).filter(r=>typeof a[r]=="function"&&r!=="constructor").reduce((r,s)=>(r[s]=a[s],r),{});function n(r,s){if(t.has(r))throw new Error(`Method '${String(r)}' of class '${e.name}' has already been hooked. Each method can only be hooked once per defineHooks call. `);if(typeof Reflect.get(a,r)!="function")throw new Error(`Invalid method: ${String(r)}`);return Reflect.set(a,r,s),t.add(r),s}return[i,n]}export{tt as ArtworkEnum,mt as BodyPartsEnum,pt as BoneIdsEnum,At as BulletHitTypesEnum,ce as CameraCutStylesEnum,ut as CameraModesEnum,St as CarModTypeEnum,at as ClickSourcesEnum,nt as ConnectionStatusEnum,Te as DamageDeathReasonEnum,b as Dialog,Ae as DialogStylesEnum,ne as Dynamic3DTextLabel,Um as Dynamic3DTextLabelEvent,j as DynamicActor,xm as DynamicActorEvent,G as DynamicArea,rp as DynamicAreaEvent,Dm as DynamicCheckPointEvent,V as DynamicCheckpoint,$ as DynamicMapIcon,um as DynamicMapIconEvent,B as DynamicObject,Qm as DynamicObjectEvent,x as DynamicPickup,ym as DynamicPickupEvent,U as DynamicRaceCP,Gm as DynamicRaceCPEvent,H as ERecordStatus,Sp as E_STREAMER,it as EditResponseTypesEnum,_t as FightingStylesEnum,gt as ForceSyncEnum,L as GameMode,Ju as GameText,R as GangZone,lm as GangZoneEvent,I as I18n,w as InvalidEnum,rt as KeysEnum,M as LimitsEnum,yp as MapIconStyles,ht as MapIconStylesEnum,st as MarkerModesEnum,Pp as MaterialTextAlign,Ip as MaterialTextSizes,re as Menu,em as MenuEvent,lt as NPCPlaybackEnum,$u as NetStats,N as Npc,vu as NpcEvent,dt as ObjectMaterialAlignmentEnum,ot as ObjectMaterialTextSizeEnum,p as Player,Le as PlayerEvent,_e as PlayerStateEnum,Tt as RecordTypesEnum,ct as SelectObjectTypesEnum,Ce as SpecialActionsEnum,Se as SpectateModesEnum,S as Streamer,Ep as StreamerAreaTypes,Ap as StreamerDistances,Cp as StreamerItemTypes,Tp as StreamerMiscellaneous,Dp as StreamerObjectTypes,c as TextDraw,ft as TextDrawAlignEnum,op as TextDrawEvent,he as TextDrawFontsEnum,C as Vehicle,Yu as VehicleEvent,Pt as VehicleModelInfoEnum,yt as VehicleParamsEnum,It as WeaponEnum,Et as WeaponSkillsEnum,Ct as WeaponStatesEnum,Dt as animateLib,h as defineEvent,up as defineHooks,lh as getAnimateDurationByLibName,dp as isHolding,cp as isPressed,_p as isPressing,hp as isReleased,De as isValidAnimateLib,we as isValidAnimateName,E as rgba,Di as useTrigger,wi as withTriggerOptions};