--#region Variables

local timeCycles = {
    'li',
    'underwater',
    'underwater_deep',
    'NoAmbientmult',
    'superDARK',
    'CAMERA_BW',
    'Forest',
    'micheal',
    'TREVOR',
    'FRANKLIN',
    'Tunnel',
    'carpark',
    'NEW_abattoir',
    'Vagos',
    'cops',
    'Bikers',
    'BikersSPLASH',
    'VagosSPLASH',
    'CopsSPLASH',
    'VAGOS_new_garage',
    'VAGOS_new_hangout',
    'NEW_jewel',
    'frankilnsAUNTS_new',
    'frankilnsAUNTS_SUNdir',
    'StreetLighting',
    'NEW_tunnels',
    'NEW_yellowtunnels',
    'NEW_tunnels_hole',
    'NEW_tunnels_ditch',
    'Paleto',
    'new_bank',
    'ReduceDrawDistance',
    'ReduceDrawDistanceMission',
    'lightpolution',
    'NEW_lesters',
    'ReduceDrawDistanceMAP',
    'reducewaterREF',
    'garage',
    'LightPollutionHills',
    'NewMicheal',
    'NewMichealupstairs',
    'NewMichealstoilet',
    'NewMichealgirly',
    'WATER_port',
    'WATER_salton',
    'WATER_river',
    'FIB_interview',
    'NEW_station_unfinished',
    'cashdepot',
    'cashdepotEMERGENCY',
    'FrankilinsHOUSEhills',
    'HicksbarNEW',
    'NOdirectLight',
    'SALTONSEA',
    'TUNNEL_green',
    'NewMicheal_night',
    'WATER_muddy',
    'WATER_shore',
    'damage',
    'hitped',
    'dying',
    'overwater',
    'whitenightlighting',
    'TUNNEL_yellow',
    'buildingTOP',
    'WATER_lab',
    'cinema',
    'fireDEPT',
    'ranch',
    'TUNNEL_white',
    'V_recycle_mainroom',
    'V_recycle_dark',
    'V_recycle_light',
    'lightning_weak',
    'lightning_strong',
    'lightning_cloud',
    'gunclubrange',
    'NoAmbientmult_interior',
    'FullAmbientmult_interior',
    'StreetLightingJunction',
    'StreetLightingtraffic',
    'Multipayer_spectatorCam',
    'INT_NoAmbientmult',
    'INT_NoAmbientmult_art',
    'INT_FullAmbientmult',
    'INT_FULLAmbientmult_art',
    'INT_FULLAmbientmult_both',
    'INT_NoAmbientmult_both',
    'Sniper',
    'ReduceSSAO',
    'scope_zoom_in',
    'scope_zoom_out',
    'crane_cam',
    'WATER_silty',
    'Trevors_room',
    'Hint_cam',
    'venice_canal_tunnel',
    'blackNwhite',
    'projector',
    'paleto_opt',
    'warehouse',
    'pulse',
    'sleeping',
    'INT_garage',
    'nextgen',
    'crane_cam_cinematic',
    'TUNNEL_orange',
    'traffic_skycam',
    'powerstation',
    'SAWMILL',
    'LODmult_global_reduce',
    'LODmult_HD_orphan_reduce',
    'LODmult_HD_orphan_LOD_reduce',
    'LODmult_LOD_reduce',
    'LODmult_SLOD1_reduce',
    'LODmult_SLOD2_reduce',
    'LODmult_SLOD3_reduce',
    'NewMicheal_upstairs',
    'micheals_lightsOFF',
    'telescope',
    'WATER_silverlake',
    'WATER _lab_cooling',
    'baseTONEMAPPING',
    'WATER_salton_bottom',
    'new_stripper_changing',
    'underwater_deep_clear',
    'prologue_ending_fog',
    'graveyard_shootout',
    'morebloom',
    'LIGHTSreduceFALLOFF',
    'INT_posh_hairdresser',
    'V_strip_office',
    'sunglasses',
    'vespucci_garage',
    'half_direct',
    'carpark_dt1_03',
    'tunnel_id1_11',
    'reducelightingcost',
    'NOrain',
    'morgue_dark',
    'CS3_rail_tunnel',
    'new_tunnels_entrance',
    'spectator1',
    'spectator2',
    'spectator3',
    'spectator4',
    'spectator5',
    'spectator6',
    'spectator7',
    'spectator8',
    'spectator9',
    'spectator10',
    'INT_NOdirectLight',
    'WATER_resevoir',
    'WATER_hills',
    'WATER_militaryPOOP',
    'NEW_ornate_bank',
    'NEW_ornate_bank_safe',
    'NEW_ornate_bank_entrance',
    'NEW_ornate_bank_office',
    'LODmult_global_reduce_NOHD',
    'interior_WATER_lighting',
    'gorge_reflectionoffset',
    'eyeINtheSKY',
    'resvoire_reflection',
    'NO_weather',
    'prologue_ext_art_amb',
    'prologue_shootout',
    'heathaze',
    'KT_underpass',
    'INT_nowaterREF',
    'carMOD_underpass',
    'refit',
    'NO_streetAmbient',
    'NO_coronas',
    'epsilion',
    'WATER_refmap_high',
    'WATER_refmap_med',
    'WATER_refmap_low',
    'WATER_refmap_verylow',
    'WATER_refmap_poolside',
    'WATER_refmap_silverlake',
    'WATER_refmap_venice',
    'FORdoron_delete',
    'NO_fog_alpha',
    'V_strip_nofog',
    'METRO_Tunnels',
    'METRO_Tunnels_entrance',
    'METRO_platform',
    'STRIP_stage',
    'STRIP_office',
    'STRIP_changing',
    'INT_NO_fogALPHA',
    'STRIP_nofog',
    'INT_streetlighting',
    'ch2_tunnel_whitelight',
    'AmbientPUSH',
    'ship_lighting',
    'powerplant_nightlight',
    'paleto_nightlight',
    'militarybase_nightlight',
    'sandyshore_nightlight',
    'jewel_gas',
    'WATER_refmap_off',
    'trailer_explosion_optimise',
    'nervousRON_fog',
    'DONT_overide_sunpos',
    'gallery_refmod',
    'prison_nightlight',
    'multiplayer_ped_fight',
    'ship_explosion_underwater',
    'EXTRA_bouncelight',
    'secret_camera',
    'canyon_mission',
    'gorge_reflection_gpu',
    'subBASE_water_ref',
    'poolsidewaterreflection2',
    'CUSTOM_streetlight',
    'ufo',
    'ship_explosion_underwater',
    'lab_none_exit',
    'FinaleBankexit',
    'prologue_reflection_opt',
    'tunnel_entrance',
    'tunnel_entrance_INT',
    'id1_11_tunnel',
    'reflection_correct_ambient',
    'scanline_cam_cheap',
    'scanline_cam',
    'VC_tunnel_entrance',
    'WATER_REF_malibu',
    'carpark_dt1_02',
    'FIB_interview_optimise',
    'Prologue_shootout_opt',
    'hangar_lightsmod',
    'plane_inside_mode',
    'eatra_bouncelight_beach',
    'downtown_FIB_cascades_opt',
    'jewel_optim',
    'gorge_reflectionoffset2',
    'ufo_deathray',
    'PORT_heist_underwater',
    'TUNNEL_orange_exterior',
    'hillstunnel',
    'jewelry_entrance_INT',
    'jewelry_entrance',
    'jewelry_entrance_INT_fog',
    'TUNNEL_yellow_ext',
    'NEW_jewel_EXIT',
    'services_nightlight',
    'CS1_railwayB_tunnel',
    'TUNNEL_green_ext',
    'CAMERA_secuirity',
    'CAMERA_secuirity_FUZZ',
    'int_hospital_small',
    'int_hospital_dark',
    'plaza_carpark',
    'gen_bank',
    'nightvision',
    'WATER_cove',
    'glasses_Darkblue',
    'glasses_VISOR',
    'heist_boat',
    'heist_boat_engineRoom',
    'buggy_shack',
    'mineshaft',
    'NG_first',
    'glasses_Scuba',
    'mugShot',
    'Glasses_BlackOut',
    'winning_room',
    'mugShot_lineup',
    'MPApartHigh_palnning',
    'v_dark',
    'polluted',
    'lightning',
    'torpedo',
    'NEW_shrinksOffice',
    'Facebook_NEW',
    'NEW_trevorstrailer',
    'New_sewers',
    'facebook_serveroom',
    'V_Office_smoke_Fire',
    'V_FIB_IT3_alt5',
    'int_Hospital_DM',
    'int_Hospital2_DM',
    'int_Barber1',
    'int_tattoo_B',
    'glasses_black',
    'glasses_brown',
    'glasses_blue',
    'glasses_red',
    'glasses_green',
    'glasses_yellow',
    'glasses_purple',
    'glasses_pink',
    'glasses_orange',
    'WATER_ID2_21',
    'WATER_RichmanStuntJump',
    'CH3_06_water',
    'WATER_refmap_hollywoodlake',
    'WATER_CH2_06_01_03',
    'WATER_CH2_06_02',
    'WATER_CH2_06_04',
    'RemoteSniper',
    'V_Office_smoke',
    'V_Office_smoke_ext',
    'V_FIB_IT3',
    'V_FIB_IT3_alt',
    'V_FIB_stairs',
    'v_abattoir',
    'V_Abattoir_Cold',
    'v_recycle',
    'v_strip3',
    'v_strpchangerm',
    'v_jewel2',
    'v_foundry',
    'V_Metro_station',
    'v_metro',
    'V_Metro2',
    'v_torture',
    'v_sweat',
    'v_sweat_entrance',
    'v_sweat_NoDirLight',
    'Barry1_Stoned',
    'v_rockclub',
    'v_michael',
    'v_michael_lounge',
    'v_janitor',
    'int_amb_mult_large',
    'int_extlight_large',
    'ext_int_extlight_large',
    'int_extlight_small',
    'int_extlight_small_clipped',
    'int_extlight_large_fog',
    'int_extlight_small_fog',
    'int_extlight_none',
    'int_extlight_none_dark',
    'int_extlight_none_dark_fog',
    'int_extlight_none_fog',
    'int_clean_extlight_large',
    'int_clean_extlight_small',
    'int_clean_extlight_none',
    'prologue',
    'vagos_extlight_small',
    'FinaleBank',
    'FinaleBankMid',
    'v_cashdepot',
    'V_Solomons',
    'int_methlab_small',
    'int_Lost_small',
    'int_Lost_none',
    'int_ControlTower_small',
    'int_ControlTower_none',
    'int_dockcontrol_small',
    'int_hanger_small',
    'int_hanger_none',
    'int_cluckinfactory_small',
    'int_cluckinfactory_none',
    'int_FranklinAunt_small',
    'stc_franklinsHouse',
    'stc_coroners',
    'stc_trevors',
    'stc_deviant_lounge',
    'stc_deviant_bedroom',
    'int_carshowroom',
    'int_Farmhouse_small',
    'int_Farmhouse_none',
    'int_carmod_small',
    'SP1_03_drawDistance',
    'int_clotheslow_large',
    'v_bahama',
    'gunclub',
    'int_GasStation',
    'PoliceStation',
    'PoliceStationDark',
    'Shop247',
    'Shop247_none',
    'Hicksbar',
    'cBank_back',
    'cBank_front',
    'int_office_Lobby',
    'int_office_LobbyHall',
    'SheriffStation',
    'LifeInvaderLOD',
    'int_motelroom',
    'metro',
    'int_ClothesHi',
    'FIB_5',
    'int_chopshop',
    'int_tattoo',
    'gunstore',
    'int_Hospital_Blue',
    'FIB_6',
    'FIB_B',
    'FIB_A',
    'lab_none',
    'lab_none_dark',
    'lab_none_dark_fog',
    'MP_Garage_L',
    'MP_Studio_Lo',
    'StadLobby',
    'Hanger_INTmods',
    'MPApartHigh',
    'int_Hospital_BlueB',
    'int_tunnel_none_dark',
    'MP_lowgarage',
    'MP_MedGarage',
    'shades_yellow',
    'shades_pink',
    'Mp_apart_mid',
    'yell_tunnel_nodirect',
    'int_carrier_hanger',
    'int_carrier_stair',
    'int_carrier_rear',
    'int_carrier_control',
    'int_carrier_control_2',
    'default',
    'gunshop',
    'MichaelsDirectional',
    'Bank_HLWD',
    'MichaelsNODirectional',
    'MichaelsDarkroom',
    'int_lesters',
    'Tunnel_green1',
    'cinema_001',
    'exile1_plane',
    'player_transition',
    'player_transition_no_scanlines',
    'player_transition_scanlines',
    'switch_cam_1',
    'switch_cam_2',
    'Bloom',
    'BloomLight',
    'BloomMid',
    'DrivingFocusLight',
    'DrivingFocusDark',
    'RaceTurboLight',
    'RaceTurboDark',
    'BulletTimeLight',
    'BulletTimeDark',
    'REDMIST',
    'REDMIST_blend',
    'MP_Bull_tost',
    'MP_Bull_tost_blend',
    'MP_Powerplay',
    'MP_Powerplay_blend',
    'MP_Killstreak',
    'MP_Killstreak_blend',
    'MP_Loser',
    'MP_Loser_blend',
    'CHOP',
    'FranklinColorCode',
    'MichaelColorCode',
    'TrevorColorCode',
    'NeutralColorCode',
    'NeutralColorCodeLight',
    'FranklinColorCodeBasic',
    'MichaelColorCodeBasic',
    'TrevorColorCodeBasic',
    'NeutralColorCodeBasic',
    'DefaultColorCode',
    'PlayerSwitchPulse',
    'PlayerSwitchNeutralFlash',
    'hud_def_lensdistortion',
    'hud_def_lensdistortion_subtle',
    'hud_def_blur',
    'hud_def_colorgrade',
    'hud_def_flash',
    'hud_def_desatcrunch',
    'hud_def_desat_switch',
    'hud_def_desat_cold',
    'hud_def_desat_cold_kill',
    'hud_def_desat_Neutral',
    'hud_def_focus',
    'hud_def_desat_Franklin',
    'hud_def_desat_Michael',
    'hud_def_desat_Trevor',
    'hud_def_Franklin',
    'hud_def_Michael',
    'hud_def_Trevor',
    'michealspliff',
    'michealspliff_blend',
    'michealspliff_blend02',
    'trevorspliff',
    'trevorspliff_blend',
    'trevorspliff_blend02',
    'BarryFadeOut',
    'stoned',
    'stoned_cutscene',
    'stoned_monkeys',
    'stoned_aliens',
    'Drunk',
    'drug_flying_base',
    'drug_flying_01',
    'drug_flying_02',
    'DRUG_gas_huffin',
    'Drug_deadman',
    'Drug_deadman_blend',
    'DRUG_2_drive',
    'drug_drive_blend01',
    'drug_drive_blend02',
    'drug_wobbly',
    'Dont_tazeme_bro',
    'dont_tazeme_bro_b',
    'int_extlght_sm_cntrst',
    'MP_heli_cam',
    'helicamfirst',
    'introblue',
    'MP_select',
    'PERSHING_water_reflect',
    'exile1_exit',
    'phone_cam',
    'ExplosionJosh',
    'RaceTurboFlash',
    'MP_death_grade',
    'MP_death_grade_blend01',
    'MP_death_grade_blend02',
    'NG_deathfail_BW_base',
    'NG_deathfail_BW_blend01',
    'NG_deathfail_BW_blend02',
    'MP_job_win',
    'MP_job_lose',
    'MP_corona_tournament',
    'MP_corona_heist',
    'MP_corona_selection',
    'WhiteOut',
    'BlackOut',
    'MP_job_load',
    'MP_intro_logo',
    'MP_corona_switch',
    'MP_race_finish',
    'phone_cam1',
    'phone_cam2',
    'phone_cam3',
    'phone_cam4',
    'phone_cam5',
    'phone_cam6',
    'phone_cam7',
    'phone_cam9',
    'phone_cam10',
    'phone_cam11',
    'phone_cam12',
    'phone_cam13',
    'FranklinColorCodeBright',
    'MichaelColorCodeBright',
    'TrevorColorCodeBright',
    'NeutralColorCodeBright',
    'Kifflom',
    'MP_job_load_01',
    'MP_job_load_02',
    'MP_job_preload',
    'MP_job_preload_blend',
    'NG_filmnoir_BW01',
    'NG_filmnoir_BW02',
    'NG_filmic01',
    'NG_filmic02',
    'NG_filmic03',
    'NG_filmic04',
    'NG_filmic05',
    'NG_filmic06',
    'NG_filmic07',
    'NG_filmic08',
    'NG_filmic09',
    'NG_filmic10',
    'NG_filmic11',
    'NG_filmic12',
    'NG_filmic13',
    'NG_filmic14',
    'NG_filmic15',
    'NG_filmic16',
    'NG_filmic17',
    'NG_filmic18',
    'NG_filmic19',
    'NG_filmic20',
    'underwater',
    'underwater_deep',
    'NoAmbientmult',
    'superDARK',
    'CAMERA_BW',
    'Forest',
    'micheal',
    'TREVOR',
    'FRANKLIN',
    'Tunnel',
    'carpark',
    'NEW_abattoir',
    'Vagos',
    'cops',
    'Bikers',
    'BikersSPLASH',
    'VagosSPLASH',
    'CopsSPLASH',
    'VAGOS_new_garage',
    'VAGOS_new_hangout',
    'NEW_jewel',
    'frankilnsAUNTS_new',
    'frankilnsAUNTS_SUNdir',
    'StreetLighting',
    'NEW_tunnels',
    'NEW_yellowtunnels',
    'NEW_tunnels_hole',
    'NEW_tunnels_ditch',
    'Paleto',
    'new_bank',
    'ReduceDrawDistance',
    'ReduceDrawDistanceMission',
    'lightpolution',
    'NEW_lesters',
    'ReduceDrawDistanceMAP',
    'reducewaterREF',
    'Garage',
    'LightPollutionHills',
    'NewMicheal',
    'NewMichealupstairs',
    'NewMichealstoilet',
    'NewMichealgirly',
    'WATER_port',
    'WATER_salton',
    'WATER_river',
    'FIB_interview',
    'NEW_station_unfinished',
    'cashdepot',
    'cashdepotEMERGENCY',
    'FrankilinsHOUSEhills',
    'HicksbarNEW',
    'NOdirectLight',
    'SALTONSEA',
    'TUNNEL_green',
    'NewMicheal_night',
    'WATER_muddy',
    'WATER_shore',
    'damage',
    'hitped',
    'dying',
    'overwater',
    'whitenightlighting',
    'TUNNEL_yellow',
    'buildingTOP',
    'WATER_lab',
    'cinema',
    'fireDEPT',
    'ranch',
    'TUNNEL_white',
    'V_recycle_mainroom',
    'V_recycle_dark',
    'V_recycle_light',
    'lightning_weak',
    'lightning_strong',
    'lightning_cloud',
    'gunclubrange',
    'NoAmbientmult_interior',
    'FullAmbientmult_interior',
    'StreetLightingJunction',
    'StreetLightingtraffic',
    'Multipayer_spectatorCam',
    'INT_NoAmbientmult',
    'INT_NoAmbientmult_art',
    'INT_FullAmbientmult',
    'INT_FULLAmbientmult_art',
    'INT_FULLAmbientmult_both',
    'INT_NoAmbientmult_both',
    'Sniper',
    'ReduceSSAO',
    'scope_zoom_in',
    'scope_zoom_out',
    'crane_cam',
    'WATER_silty',
    'Trevors_room',
    'Hint_cam',
    'venice_canal_tunnel',
    'blackNwhite',
    'projector',
    'paleto_opt',
    'warehouse',
    'pulse',
    'sleeping',
    'INT_garage',
    'nextgen',
    'crane_cam_cinematic',
    'TUNNEL_orange',
    'traffic_skycam',
    'powerstation',
    'SAWMILL',
    'LODmult_global_reduce',
    'LODmult_HD_orphan_reduce',
    'LODmult_HD_orphan_LOD_reduce',
    'LODmult_LOD_reduce',
    'LODmult_SLOD1_reduce',
    'LODmult_SLOD2_reduce',
    'LODmult_SLOD3_reduce',
    'NewMicheal_upstairs',
    'micheals_lightsOFF',
    'telescope',
    'WATER_silverlake',
    'WATER _lab_cooling',
    'baseTONEMAPPING',
    'WATER_salton_bottom',
    'new_stripper_changing',
    'underwater_deep_clear',
    'prologue_ending_fog',
    'graveyard_shootout',
    'morebloom',
    'LIGHTSreduceFALLOFF',
    'INT_posh_hairdresser',
    'V_strip_office',
    'sunglasses',
    'vespucci_garage',
    'half_direct',
    'carpark_dt1_03',
    'tunnel_id1_11',
    'reducelightingcost',
    'NOrain',
    'morgue_dark',
    'CS3_rail_tunnel',
    'new_tunnels_entrance',
    'spectator1',
    'spectator2',
    'spectator3',
    'spectator4',
    'spectator5',
    'spectator6',
    'spectator7',
    'spectator8',
    'spectator9',
    'spectator10',
    'INT_NOdirectLight',
    'WATER_resevoir',
    'WATER_hills',
    'WATER_militaryPOOP',
    'NEW_ornate_bank',
    'NEW_ornate_bank_safe',
    'NEW_ornate_bank_entrance',
    'NEW_ornate_bank_office',
    'LODmult_global_reduce_NOHD',
    'interior_WATER_lighting',
    'gorge_reflectionoffset',
    'eyeINtheSKY',
    'resvoire_reflection',
    'NO_weather',
    'prologue_ext_art_amb',
    'prologue_shootout',
    'heathaze',
    'KT_underpass',
    'INT_nowaterREF',
    'carMOD_underpass',
    'refit',
    'NO_streetAmbient',
    'NO_coronas',
    'epsilion',
    'WATER_refmap_high',
    'WATER_refmap_med',
    'WATER_refmap_low',
    'WATER_refmap_verylow',
    'WATER_refmap_poolside',
    'WATER_refmap_silverlake',
    'WATER_refmap_venice',
    'FORdoron_delete',
    'NO_fog_alpha',
    'V_strip_nofog',
    'METRO_Tunnels',
    'METRO_Tunnels_entrance',
    'METRO_platform',
    'STRIP_stage',
    'STRIP_office',
    'STRIP_changing',
    'INT_NO_fogALPHA',
    'STRIP_nofog',
    'INT_streetlighting',
    'ch2_tunnel_whitelight',
    'AmbientPUSH',
    'ship_lighting',
    'powerplant_nightlight',
    'paleto_nightlight',
    'militarybase_nightlight',
    'sandyshore_nightlight',
    'jewel_gas',
    'WATER_refmap_off',
    'trailer_explosion_optimise',
    'nervousRON_fog',
    'DONT_overide_sunpos',
    'gallery_refmod',
    'prison_nightlight',
    'multiplayer_ped_fight',
    'ship_explosion_underwater',
    'EXTRA_bouncelight',
    'secret_camera',
    'canyon_mission',
    'gorge_reflection_gpu',
    'subBASE_water_ref',
    'poolsidewaterreflection2',
    'CUSTOM_streetlight',
    'ufo',
    'ship_explosion_underwater',
    'lab_none_exit',
    'FinaleBankexit',
    'prologue_reflection_opt',
    'tunnel_entrance',
    'tunnel_entrance_INT',
    'id1_11_tunnel',
    'reflection_correct_ambient',
    'scanline_cam_cheap',
    'scanline_cam',
    'VC_tunnel_entrance',
    'WATER_REF_malibu',
    'carpark_dt1_02',
    'FIB_interview_optimise',
    'Prologue_shootout_opt',
    'hangar_lightsmod',
    'plane_inside_mode',
    'eatra_bouncelight_beach',
    'downtown_FIB_cascades_opt',
    'jewel_optim',
    'gorge_reflectionoffset2',
    'ufo_deathray',
    'PORT_heist_underwater',
    'TUNNEL_orange_exterior',
    'hillstunnel',
    'jewelry_entrance_INT',
    'jewelry_entrance',
    'jewelry_entrance_INT_fog',
    'TUNNEL_yellow_ext',
    'NEW_jewel_EXIT',
    'services_nightlight',
    'CS1_railwayB_tunnel',
    'TUNNEL_green_ext',
    'CAMERA_secuirity',
    'CAMERA_secuirity_FUZZ',
    'int_hospital_small',
    'int_hospital_dark',
    'plaza_carpark',
    'gen_bank',
    'nightvision',
    'WATER_cove',
    'glasses_Darkblue',
    'glasses_VISOR',
    'heist_boat',
    'heist_boat_norain',
    'heist_boat_engineRoom',
    'buggy_shack',
    'mineshaft',
    'NG_first',
    'glasses_Scuba',
    'mugShot',
    'Glasses_BlackOut',
    'winning_room',
    'mugShot_lineup',
    'MPApartHigh_palnning',
    'v_dark',
    'vehicle_subint',
    'Carpark_MP_exit',
    'EXT_FULLAmbientmult_art',
    'new_MP_Garage_L',
    'fp_vig_black',
    'fp_vig_brown',
    'fp_vig_gray',
    'fp_vig_blue',
    'fp_vig_red',
    'fp_vig_green',
    'INT_trailer_cinema',
    'heliGunCam',
    'INT_mall',
    'Mp_Stilts',
    'Mp_Stilts_gym',
    'Mp_Stilts2',
    'Mp_Stilts_gym2',
    'MPApart_H_01',
    'MPApart_H_01_gym',
    'MP_H_01_Study',
    'MP_H_01_Bedroom',
    'MP_H_01_Bathroom',
    'MP_H_01_New',
    'MP_H_01_New_Bedroom',
    'MP_H_01_New_Bathroom',
    'MP_H_01_New_Study',
    'INT_smshop_inMOD',
    'NoPedLight',
    'morgue_dark_ovr',
    'INT_smshop_outdoor_bloom',
    'INT_smshop_indoor_bloom',
    'MP_H_02',
    'MP_H_04',
    'Mp_Stilts2_bath',
    'mp_h_05',
    'mp_h_07',
    'MP_H_06',
    'mp_h_08',
    'yacht_DLC',
    'mp_exec_office_01',
    'mp_exec_warehouse_01',
    'mp_exec_office_02',
    'mp_exec_office_03',
    'mp_exec_office_04',
    'mp_exec_office_05',
    'mp_exec_office_06',
    'mp_exec_office_03_blue',
    'mp_exec_office_03C',
    'mp_bkr_int01_garage',
    'mp_bkr_int01_transition',
    'mp_bkr_int01_small_rooms',
    'mp_bkr_int02_garage',
    'mp_bkr_int02_hangout',
    'mp_bkr_int02_small_rooms',
    'mp_bkr_ware01',
    'mp_bkr_ware02_standard',
    'mp_bkr_ware02_upgrade',
    'mp_bkr_ware02_dry',
    'mp_bkr_ware03_basic',
    'mp_bkr_ware03_upgrade',
    'mp_bkr_ware04',
    'mp_bkr_ware05',
    'mp_lad_night',
    'mp_lad_day',
    'mp_lad_judgment',
    'mp_imx_intwaremed',
    'mp_imx_intwaremed_office',
    'mp_imx_mod_int_01',
    'IMpExt_Interior_02',
    'ImpExp_Interior_01',
    'impexp_interior_01_lift',
    'IMpExt_Interior_02_stair_cage',
    'mp_gr_int01_white',
    'mp_gr_int01_grey',
    'mp_gr_int01_black',
    'grdlc_int_02',
    'mp_nightshark_shield_fp',
    'grdlc_int_02_trailer_cave',
    'mp_smg_int01_han',
    'mp_smg_int01_han_red',
    'mp_smg_int01_han_blue',
    'mp_smg_int01_han_yellow',
    'mp_x17dlc_in_sub',
    'mp_x17dlc_in_sub_no_reflection',
    'mp_x17dlc_base',
    'mp_x17dlc_base_dark',
    'mp_x17dlc_base_darkest',
    'mp_x17dlc_lab',
    'mp_x17dlc_lab_loading_bay',
    'mp_x17dlc_facility',
    'mp_x17dlc_facility_conference',
    'mp_x17dlc_int_01',
    'mp_x17dlc_int_01_tint1',
    'mp_x17dlc_int_01_tint2',
    'mp_x17dlc_int_01_tint3',
    'mp_x17dlc_int_01_tint4',
    'mp_x17dlc_int_01_tint5',
    'mp_x17dlc_int_01_tint6',
    'mp_x17dlc_int_01_tint7',
    'mp_x17dlc_int_01_tint8',
    'mp_x17dlc_int_01_tint9',
    'mp_x17dlc_facility2',
    'mp_x17dlc_int_02',
    'mp_x17dlc_int_02_tint1',
    'mp_x17dlc_int_02_tint2',
    'mp_x17dlc_int_02_tint3',
    'mp_x17dlc_int_02_tint4',
    'mp_x17dlc_int_02_tint5',
    'mp_x17dlc_int_02_tint6',
    'mp_x17dlc_int_02_tint7',
    'mp_x17dlc_int_02_tint8',
    'mp_x17dlc_int_02_tint9',
    'mp_x17dlc_int_02_vehicle_workshop_camera',
    'mp_x17dlc_int_02_vehicle_avenger_camera',
    'mp_x17dlc_int_02_weapon_avenger_camera',
    'mp_x17dlc_int_02_outdoor_intro_camera',
    'mp_x17dlc_int_silo',
    'mp_x17dlc_int_silo_escape',
    'mp_battle_int01',
    'mp_battle_int01_entry',
    'mp_battle_int01_office',
    'mp_battle_int01_dancefloor',
    'mp_battle_int01_dancefloor_OFF',
    'mp_battle_int01_garage',
    'mp_battle_int02',
    'mp_battle_int03',
    'mp_battle_int03_tint1',
    'mp_battle_int03_tint2',
    'mp_battle_int03_tint3',
    'mp_battle_int03_tint4',
    'mp_battle_int03_tint5',
    'mp_battle_int03_tint6',
    'mp_battle_int03_tint7',
    'mp_battle_int03_tint8',
    'mp_battle_int03_tint9',
    'Drone_FishEye_Lens',
    'int_arena_Mod',
    'int_arena_01',
    'int_arena_VIP',
    'MP_Arena_VIP',
    'int_arena_Mod_garage',
    'MP_Arena_theme_midday',
    'MP_Arena_theme_morning',
    'MP_Arena_theme_evening',
    'MP_Arena_theme_night',
    'MP_Arena_theme_atlantis',
    'MP_Arena_theme_toxic',
    'MP_Arena_theme_storm',
    'MP_Arena_theme_sandstorm',
    'MP_Arena_theme_saccharine',
    'MP_Arena_theme_hell',
    'MP_Arena_theme_scifi_night',
    'dlc_casino_carpark',
    'casino_mainfloor',
    'casino_hotel',
    'casino_brightroom',
    'DLC_Casino_Garage',
    'MP_casino_apartment_MBed',
    'MP_casino_apartment_Bath',
    'MP_casino_apartment_lobby',
    'MP_casino_apartment_office',
    'MP_casino_apartment_cinema',
    'MP_casino_apartment_bar',
    'MP_casino_apartment_spa',
    'MP_casino_apartment_lounge',
    'MP_casino_apartment_exec',
    'MP_casino_apartment_changing',
    'casino_managersoffice',
    'casino_managementOff',
    'casino_mainWhiteFloor',
    'CasinoBathrooms',
    'casino_managementlobby',
    'MP_casino_apartment_barPARTY',
    'MP_casino_apartment_colour1',
    'MP_casino_apartment_colour0',
    'NewMod',
    'MP_casino_apartment_colour2',
    'MP_casino_apartment_barPARTY_0',
    'MP_casino_apartment_barPARTY_2',
    'MP_casino_apartment_barPARTY_01',
    'Casino_Lightsoff',
    'MP_Arcade_Retro',
    'MP_casino_BACK_office',
    'MP_casino_BACK_Lobby',
    'MP_casino_BACK_coridor',
    'MP_casino_BACK_Security',
    'MP_casino_BACK_BakSideRMs',
    'MP_casino_BACK_Waste',
    'MP_casino_BACK_Laundry',
    'MP_casino_BACK_Changing',
    'Mp_Heist3_Loading_MainRoom',
    'Mp_Heist3_Loading_SecurityRoom',
    'Mp_Heist3_Loading_Stairs',
    'Mp_Heist3_Loading_Tunnel',
    'Mp_Heist3_Utility_Room',
    'MP_Arcade_Hipster',
    'MP_Arcade_Derelict',
    'MP_Arcade_Tunnel',
    'MP_Arcade_Planning_Room',
    'mp_heist3_lift_shaft',
    'MP_Arcade_Planning_Pre',
    'mp_casino_back_vault_rm',
    'mp_arc_planning_entity_ambient',
    'casino_main_floor_heist',
    'mp_casino_back_staff_entrance',
    'mp_casino_vault_vault',
    'mp_casino_vault_corridor',
    'mp_casino_vault_main',
    'mp_casino_vault_storage',
    'MP_Casino_Tunnel',
    'MP_Casino_Tunnel_Transition',
    'bokeh_removebuzz',
    'int_01_blackbox',
    'Yacht_Mission_ThunderRain',
    'Yacht_Mission_NoLig',
    'h4_beachparty',
    'h4_beachparty_day',
    'DLC_Island_Office',
    'dlc_island_vault',
    'h4_sub_vehiclebay',
    'h4_sub_main',
    'h4_sub_commandroom',
    'h4_sub_commandroom_BloomRedux',
    'DLC_Island_Storerooms',
    'DLC_Island_vault_01',
    'Mpheist4_Mansion_exterior',
    'MP_Heist4_Island_Mansion_Ext',
    'MP_Heist4_Docks_Ext',
    'MP_Heist4_Artificial_Amb_Mul',
    'DLC_Island_Storerooms2',
    'DLC_Island_main_hanger',
    'DLC_Island_main_hanger_office',
    'DLC_Island_main_hanger_door',
    'mp_heist4_office_door',
    'MP_Heist4_Storeroom_Door',
    'DLC_Island_vault_01_Door',
    'H4_Hanger_for_CU',
    'underwater_PC_FPS_Heistfix',
    'MP_Heist_Tuner_SmShop_Light',
    'MP_Heist_Tuner_SmShop_Dark',
    'MP_Heist_Tuner_Sandbox',
    'MP_Heist_Tuner_Meet',
    'MP_Heist_Tuner_SmShop_Default',
    'MP_Heist_Tuner_MethLab',
    'INT_smshop',
    'MP_Heist_Tuner_SmShop_WildStyle',
    'MP_Heist_Tuner_SmShop_Gamer',
    'MP_Heist_Tuner_SmShop_Grey',
    'MP_Heist_Tuner_SmShop_Nostalgia',
    'MP_Heist_Tuner_SmShop_Americana',
    'MP_Heist_Tuner_SmShop_JapTunner',
    'MP_Heist_Tuner_Meet_High_Ref',
    'MP_Heist_Tuner_Meet_Low_Ref',
    'MP_Heist_Tuner_Sandbox_Low_Ref',
    'DLC_MpSecurity_Studio_Foyer',
    'DLC_MpSecurity_Studio_Hall01',
    'DLC_MpSecurity_Studio_Hall02',
    'DLC_MpSecurity_Studio_Lounge',
    'DLC_MpSecurity_Studio_Lounge_sm',
    'DLC_MpSecurity_Studio_MixingRM',
    'DLC_MpSecurity_Studio_RecRM01',
    'DLC_MpSecurity_Studio_RecRM02',
    'DLC_MpSecurity_Studio_RecRM03',
    'DLC_MpSecurity_office_main_floor',
    'DLC_MpSecurity_Garage',
    'DLC_MpSecurity_office_Stairs',
    'DLC_MpSecurity_office_Bedroom',
    'DLC_MpSecurity_office_WorkSpace',
    'DLC_MpSecurity_Penthouse_Party',
    'DLC_MpSecurity_Stu_Wardrobe',
    'DLC_MpSecurity_FrankOff_Door',
    'DLC_MpSecurity_PlayerOff_Door',
    'DLC_MpSecurity_MeetingrOff_Door',
    'DLC_MpSecurity_FIX_SET_MCS1',
    'Truck_Int_FIX_TRIP1_MCS2',
    'DLC_MpSecurity_Studio_MonitorEx',
    'DLC_mpSum2_Basement_Entity1',
    'DLC_mpSum2_Basement_Entity2',
    'DLC_mpSum2_Basement_Entity3',
    'DLC_mpSum2_Basement_Entity4',
    'DLC_mpSum2_Basement_Entity5',
    'DLC_mpSum2_ULP_01',
    'DLC_mpSum2_No_Rain',
    'MP_Sum2_Warehouse_No_Ambient',
    'MP_Sum2_ULP_Rooftop_Cascade',
    'MP_Xmas2022_Pharma_Lab',
    'MP_Xmas2022_Pharma_Lab_Stairs',
    'DLC_mpChristmas3_Warehouse',
    'DLC_mpChristmas3_WarehouseOffic',
    'MP_Xmas2022_Pharma_Lab_Stairs_B',
    'DLC_mpChristmas3_LSDTRUCK',
    'MP_Xmas2022_Garage',
    'DLC_Xmas_2022_cargo_plane_2',
    'Christmas3_GargReveal',
    'MP_Xmas2022_Garage_01',
    'MP_Xmas2022_Garage_02',
    'Christmas_COOK_MCS1_BlkOut',
    'DLC_Xmas_2022_cargo_plane_2A',
    'DLC_Xmas_2022_lab_exit',
    'RemoteSniper',
    'V_Office_smoke',
    'V_Office_smoke_ext',
    'V_FIB_IT3',
    'V_FIB_IT3_alt',
    'V_FIB_stairs',
    'v_abattoir',
    'V_Abattoir_Cold',
    'v_recycle',
    'v_strip3',
    'v_strpchangerm',
    'v_jewel2',
    'v_foundry',
    'V_Metro_station',
    'v_metro',
    'V_Metro2',
    'v_torture',
    'v_sweat',
    'v_sweat_entrance',
    'v_sweat_NoDirLight',
    'Barry1_Stoned',
    'v_rockclub',
    'v_michael',
    'v_michael_lounge',
    'v_janitor',
    'int_amb_mult_large',
    'int_extlight_large',
    'ext_int_extlight_large',
    'int_extlight_small',
    'int_extlight_small_clipped',
    'int_extlight_large_fog',
    'int_extlight_small_fog',
    'int_extlight_none',
    'int_extlight_none_dark',
    'int_extlight_none_dark_fog',
    'int_extlight_none_fog',
    'int_clean_extlight_large',
    'int_clean_extlight_small',
    'int_clean_extlight_none',
    'prologue',
    'vagos_extlight_small',
    'FinaleBank',
    'FinaleBankMid',
    'v_cashdepot',
    'V_Solomons',
    'int_methlab_small',
    'int_Lost_small',
    'int_Lost_none',
    'int_ControlTower_small',
    'int_ControlTower_none',
    'int_dockcontrol_small',
    'int_hanger_small',
    'int_hanger_none',
    'int_cluckinfactory_small',
    'int_cluckinfactory_none',
    'int_FranklinAunt_small',
    'stc_franklinsHouse',
    'stc_coroners',
    'stc_trevors',
    'stc_deviant_lounge',
    'stc_deviant_bedroom',
    'int_carshowroom',
    'int_Farmhouse_small',
    'int_Farmhouse_none',
    'int_carmod_small',
    'SP1_03_drawDistance',
    'int_clotheslow_large',
    'v_bahama',
    'gunclub',
    'int_GasStation',
    'PoliceStation',
    'PoliceStationDark',
    'Shop247',
    'Shop247_none',
    'Hicksbar',
    'cBank_back',
    'cBank_front',
    'int_office_Lobby',
    'int_office_LobbyHall',
    'SheriffStation',
    'LifeInvaderLOD',
    'int_motelroom',
    'metro',
    'int_ClothesHi',
    'FIB_5',
    'int_chopshop',
    'int_tattoo',
    'gunstore',
    'int_Hospital_Blue',
    'FIB_6',
    'FIB_B',
    'FIB_A',
    'lab_none',
    'lab_none_dark',
    'lab_none_dark_fog',
    'MP_Garage_L',
    'MP_Studio_Lo',
    'StadLobby',
    'Hanger_INTmods',
    'MPApartHigh',
    'int_Hospital_BlueB',
    'int_tunnel_none_dark',
    'MP_lowgarage',
    'MP_MedGarage',
    'shades_yellow',
    'shades_pink',
    'Mp_apart_mid',
    'yell_tunnel_nodirect',
    'int_carrier_hanger',
    'int_carrier_stair',
    'int_carrier_rear',
    'int_carrier_control',
    'int_carrier_control_2',
    'AP1_01_C_NoFog',
    'AP1_01_B_IntRefRange',
    'rply_saturation',
    'rply_saturation_neg',
    'rply_vignette',
    'rply_vignette_neg',
    'rply_contrast',
    'rply_contrast_neg',
    'rply_brightness',
    'rply_brightness_neg',
    'rply_motionblur',
    'V_CIA_Facility',
    'default',
    'gunshop',
    'MichaelsDirectional',
    'Bank_HLWD',
    'MichaelsNODirectional',
    'MichaelsDarkroom',
    'int_lesters',
    'Tunnel_green1',
    'cinema_001',
    'exile1_plane',
    'player_transition',
    'player_transition_no_scanlines',
    'player_transition_scanlines',
    'switch_cam_1',
    'switch_cam_2',
    'Bloom',
    'BloomLight',
    'BloomMid',
    'DrivingFocusLight',
    'DrivingFocusDark',
    'RaceTurboLight',
    'RaceTurboDark',
    'BulletTimeLight',
    'BulletTimeDark',
    'REDMIST',
    'REDMIST_blend',
    'MP_Bull_tost',
    'MP_Bull_tost_blend',
    'MP_Powerplay',
    'MP_Powerplay_blend',
    'MP_Killstreak',
    'MP_Killstreak_blend',
    'MP_Loser',
    'MP_Loser_blend',
    'CHOP',
    'FranklinColorCode',
    'MichaelColorCode',
    'TrevorColorCode',
    'NeutralColorCode',
    'NeutralColorCodeLight',
    'FranklinColorCodeBasic',
    'MichaelColorCodeBasic',
    'TrevorColorCodeBasic',
    'NeutralColorCodeBasic',
    'DefaultColorCode',
    'PlayerSwitchPulse',
    'PlayerSwitchNeutralFlash',
    'hud_def_lensdistortion',
    'hud_def_lensdistortion_subtle',
    'hud_def_blur',
    'hud_def_blur_switch',
    'hud_def_colorgrade',
    'hud_def_flash',
    'hud_def_desatcrunch',
    'hud_def_desat_switch',
    'hud_def_desat_cold',
    'hud_def_desat_cold_kill',
    'hud_def_desat_Neutral',
    'hud_def_focus',
    'hud_def_desat_Franklin',
    'hud_def_desat_Michael',
    'hud_def_desat_Trevor',
    'hud_def_Franklin',
    'hud_def_Michael',
    'hud_def_Trevor',
    'michealspliff',
    'michealspliff_blend',
    'michealspliff_blend02',
    'trevorspliff',
    'trevorspliff_blend',
    'trevorspliff_blend02',
    'BarryFadeOut',
    'stoned',
    'stoned_cutscene',
    'stoned_monkeys',
    'stoned_aliens',
    'Drunk',
    'drug_flying_base',
    'drug_flying_01',
    'drug_flying_02',
    'DRUG_gas_huffin',
    'Drug_deadman',
    'Drug_deadman_blend',
    'DRUG_2_drive',
    'drug_drive_blend01',
    'drug_drive_blend02',
    'drug_wobbly',
    'Dont_tazeme_bro',
    'dont_tazeme_bro_b',
    'int_extlght_sm_cntrst',
    'MP_heli_cam',
    'helicamfirst',
    'introblue',
    'MP_select',
    'PERSHING_water_reflect',
    'exile1_exit',
    'phone_cam',
    'ExplosionJosh',
    'RaceTurboFlash',
    'MP_death_grade',
    'MP_death_grade_blend01',
    'MP_death_grade_blend02',
    'NG_deathfail_BW_base',
    'NG_deathfail_BW_blend01',
    'NG_deathfail_BW_blend02',
    'MP_job_win',
    'MP_job_lose',
    'MP_corona_tournament',
    'MP_corona_tournament_DOF',
    'MP_corona_heist',
    'MP_corona_heist_blend',
    'MP_corona_heist_DOF',
    'MP_corona_heist_BW',
    'MP_corona_selection',
    'WhiteOut',
    'BlackOut',
    'MP_job_load',
    'MP_intro_logo',
    'MP_corona_switch',
    'MP_race_finish',
    'phone_cam3_REMOVED',
    'phone_cam8_REMOVED',
    'phone_cam1',
    'phone_cam2',
    'phone_cam3',
    'phone_cam4',
    'phone_cam5',
    'phone_cam6',
    'phone_cam7',
    'phone_cam8',
    'phone_cam9',
    'phone_cam10',
    'phone_cam11',
    'phone_cam12',
    'phone_cam13',
    'FranklinColorCodeBright',
    'MichaelColorCodeBright',
    'TrevorColorCodeBright',
    'NeutralColorCodeBright',
    'Kifflom',
    'MP_job_load_01',
    'MP_job_load_02',
    'MP_job_preload',
    'MP_job_preload_blend',
    'NG_filmnoir_BW01',
    'NG_filmnoir_BW02',
    'lab_none_exit_OVR',
    'lab_none_dark_OVR',
    'LectroLight',
    'LectroDark',
    'NG_filmic01',
    'NG_filmic02',
    'NG_filmic03',
    'NG_filmic04',
    'NG_filmic05',
    'NG_filmic06',
    'NG_filmic07',
    'NG_filmic08',
    'NG_filmic09',
    'NG_filmic10',
    'NG_filmic11',
    'NG_filmic12',
    'NG_filmic13',
    'NG_filmic14',
    'NG_filmic15',
    'NG_filmic16',
    'NG_filmic17',
    'NG_filmic18',
    'NG_filmic19',
    'NG_filmic20',
    'NG_filmic21',
    'NG_filmic22',
    'NG_filmic23',
    'NG_filmic24',
    'NG_filmic25',
    'NG_blackout',
    'MP_deathfail_night',
    'lodscaler',
    'maxlodscaler',
    'MP_job_preload_night',
    'MP_job_end_night',
    'MP_corona_heist_BW_night',
    'MP_corona_heist_night',
    'MP_corona_heist_night_blend',
    'PennedInLight',
    'PennedInDark',
    'BeastLaunch01',
    'BeastLaunch02',
    'BeastIntro01',
    'BeastIntro02',
    'CrossLine01',
    'CrossLine02',
    'InchOrange01',
    'InchOrange02',
    'InchPurple01',
    'InchPurple02',
    'TinyPink01',
    'TinyPink02',
    'TinyGreen01',
    'TinyGreen02',
    'InchPickup01',
    'InchPickup02',
    'PPOrange01',
    'PPOrange02',
    'PPPurple01',
    'PPPurple02',
    'PPGreen01',
    'PPGreen02',
    'PPPink01',
    'PPPink02',
    'StuntSlowLight',
    'StuntSlowDark',
    'StuntFastLight',
    'StuntFastDark',
    'PPFilter',
    'BikerFilter',
    'LostTimeLight',
    'LostTimeDark',
    'LostTimeFlash',
    'DeadlineNeon01',
    'BikerFormFlash',
    'BikerForm01',
    'VolticBlur',
    'VolticFlash',
    'VolticGold',
    'BleepYellow01',
    'BleepYellow02',
    'TinyRacerMoBlur',
    'WeaponUpgrade',
    'AirRaceBoost01',
    'AirRaceBoost02',
    'TransformRaceFlash',
    'BombCamFlash',
    'BombCam01',
    'WarpCheckpoint',
    'TransformFlash',
    'SmugglerFlash',
    'SmugglerCheckpoint01',
    'SmugglerCheckpoint02',
    'OrbitalCannon',
    'Broken_camera_fuzz',
    'RemixDrone',
    'ArenaWheelPurple01',
    'ArenaWheelPurple02',
    'ArenaEMP',
    'ArenaEMP_Blend',
    'Heist_VaultGas01',
    'CarDamageHit',
    'CarPitstopComplete',
    'CarPitstopHealth01',
    'CarPitstopHealth02',
    'MissileOutOfRange',
    'CCTV_overlay01',
    'CCTV_overlay02',
    'IslandGlassPlinthHeat',
    'IslandPeriscope',
    'Island_CCTV_ChannelFuzz',
    'Island_CCTV_Overlay',
    'DanceIntensityFlash',
    'DanceIntensity',
    'DanceIntensityDistortion',
    'Heist4CameraFlash',
    'DanceIntensityFlash01',
    'DanceIntensityFlash02',
    'DanceIntensityFlash03',
    'DanceIntensityDistortion01',
    'DanceIntensityDistortion02',
    'DanceIntensityDistortion03',
    'DanceIntensity01',
    'DanceIntensity02',
    'DanceIntensity03',
    'MP_island_heist',
    'FixerShortTrip',
    'FixerShortTrip_Distort',
    'PlayerWakeUp',
    'DaxTrip01',
    'DaxTrip02',
    'DaxTrip03',
    'Dax_TripBase',
    'Dax_TripBlend01',
    'Dax_TripBlend02',
    'li',
    'underwater',
    'underwater_deep',
    'NoAmbientmult',
    'superDARK',
    'CAMERA_BW',
    'Forest',
    'micheal',
    'TREVOR',
    'FRANKLIN',
    'Tunnel',
    'carpark',
    'NEW_abattoir',
    'Vagos',
    'cops',
    'Bikers',
    'BikersSPLASH',
    'VagosSPLASH',
    'CopsSPLASH',
    'VAGOS_new_garage',
    'VAGOS_new_hangout',
    'NEW_jewel',
    'frankilnsAUNTS_new',
    'frankilnsAUNTS_SUNdir',
    'StreetLighting',
    'NEW_tunnels',
    'NEW_yellowtunnels',
    'NEW_tunnels_hole',
    'NEW_tunnels_ditch',
    'Paleto',
    'new_bank',
    'ReduceDrawDistance',
    'ReduceDrawDistanceMission',
    'lightpolution',
    'NEW_lesters',
    'ReduceDrawDistanceMAP',
    'reducewaterREF',
    'garage',
    'LightPollutionHills',
    'NewMicheal',
    'NewMichealupstairs',
    'NewMichealstoilet',
    'NewMichealgirly',
    'WATER_port',
    'WATER_salton',
    'WATER_river',
    'FIB_interview',
    'NEW_station_unfinished',
    'cashdepot',
    'cashdepotEMERGENCY',
    'FrankilinsHOUSEhills',
    'HicksbarNEW',
    'NOdirectLight',
    'SALTONSEA',
    'TUNNEL_green',
    'NewMicheal_night',
    'WATER_muddy',
    'WATER_shore',
    'damage',
    'hitped',
    'dying',
    'overwater',
    'whitenightlighting',
    'TUNNEL_yellow',
    'buildingTOP',
    'WATER_lab',
    'cinema',
    'fireDEPT',
    'ranch',
    'TUNNEL_white',
    'V_recycle_mainroom',
    'V_recycle_dark',
    'V_recycle_light',
    'lightning_weak',
    'lightning_strong',
    'lightning_cloud',
    'gunclubrange',
    'NoAmbientmult_interior',
    'FullAmbientmult_interior',
    'StreetLightingJunction',
    'StreetLightingtraffic',
    'Multipayer_spectatorCam',
    'INT_NoAmbientmult',
    'INT_NoAmbientmult_art',
    'INT_FullAmbientmult',
    'INT_FULLAmbientmult_art',
    'INT_FULLAmbientmult_both',
    'INT_NoAmbientmult_both',
    'Sniper',
    'ReduceSSAO',
    'scope_zoom_in',
    'scope_zoom_out',
    'crane_cam',
    'WATER_silty',
    'Trevors_room',
    'Hint_cam',
    'venice_canal_tunnel',
    'blackNwhite',
    'projector',
    'paleto_opt',
    'warehouse',
    'pulse',
    'sleeping',
    'INT_garage',
    'nextgen',
    'crane_cam_cinematic',
    'TUNNEL_orange',
    'traffic_skycam',
    'powerstation',
    'SAWMILL',
    'LODmult_global_reduce',
    'LODmult_HD_orphan_reduce',
    'LODmult_HD_orphan_LOD_reduce',
    'LODmult_LOD_reduce',
    'LODmult_SLOD1_reduce',
    'LODmult_SLOD2_reduce',
    'LODmult_SLOD3_reduce',
    'NewMicheal_upstairs',
    'micheals_lightsOFF',
    'telescope',
    'WATER_silverlake',
    'WATER _lab_cooling',
    'baseTONEMAPPING',
    'WATER_salton_bottom',
    'new_stripper_changing',
    'underwater_deep_clear',
    'prologue_ending_fog',
    'graveyard_shootout',
    'morebloom',
    'LIGHTSreduceFALLOFF',
    'INT_posh_hairdresser',
    'V_strip_office',
    'sunglasses',
    'vespucci_garage',
    'half_direct',
    'carpark_dt1_03',
    'tunnel_id1_11',
    'reducelightingcost',
    'NOrain',
    'morgue_dark',
    'CS3_rail_tunnel',
    'new_tunnels_entrance',
    'spectator1',
    'spectator2',
    'spectator3',
    'spectator4',
    'spectator5',
    'spectator6',
    'spectator7',
    'spectator8',
    'spectator9',
    'spectator10',
    'INT_NOdirectLight',
    'WATER_resevoir',
    'WATER_hills',
    'WATER_militaryPOOP',
    'NEW_ornate_bank',
    'NEW_ornate_bank_safe',
    'NEW_ornate_bank_entrance',
    'NEW_ornate_bank_office',
    'LODmult_global_reduce_NOHD',
    'interior_WATER_lighting',
    'gorge_reflectionoffset',
    'eyeINtheSKY',
    'resvoire_reflection',
    'NO_weather',
    'prologue_ext_art_amb',
    'prologue_shootout',
    'heathaze',
    'KT_underpass',
    'INT_nowaterREF',
    'carMOD_underpass',
    'refit',
    'NO_streetAmbient',
    'NO_coronas',
    'epsilion',
    'WATER_refmap_high',
    'WATER_refmap_med',
    'WATER_refmap_low',
    'WATER_refmap_verylow',
    'WATER_refmap_poolside',
    'WATER_refmap_silverlake',
    'WATER_refmap_venice',
    'FORdoron_delete',
    'NO_fog_alpha',
    'V_strip_nofog',
    'METRO_Tunnels',
    'METRO_Tunnels_entrance',
    'METRO_platform',
    'STRIP_stage',
    'STRIP_office',
    'STRIP_changing',
    'INT_NO_fogALPHA',
    'STRIP_nofog',
    'INT_streetlighting',
    'ch2_tunnel_whitelight',
    'AmbientPUSH',
    'ship_lighting',
    'powerplant_nightlight',
    'paleto_nightlight',
    'militarybase_nightlight',
    'sandyshore_nightlight',
    'jewel_gas',
    'WATER_refmap_off',
    'trailer_explosion_optimise',
    'nervousRON_fog',
    'DONT_overide_sunpos',
    'gallery_refmod',
    'prison_nightlight',
    'multiplayer_ped_fight',
    'ship_explosion_underwater',
    'EXTRA_bouncelight',
    'secret_camera',
    'canyon_mission',
    'gorge_reflection_gpu',
    'subBASE_water_ref',
    'poolsidewaterreflection2',
    'CUSTOM_streetlight',
    'ufo',
    'ship_explosion_underwater',
    'lab_none_exit',
    'FinaleBankexit',
    'prologue_reflection_opt',
    'tunnel_entrance',
    'tunnel_entrance_INT',
    'id1_11_tunnel',
    'reflection_correct_ambient',
    'scanline_cam_cheap',
    'scanline_cam',
    'VC_tunnel_entrance',
    'WATER_REF_malibu',
    'carpark_dt1_02',
    'FIB_interview_optimise',
    'Prologue_shootout_opt',
    'hangar_lightsmod',
    'plane_inside_mode',
    'eatra_bouncelight_beach',
    'downtown_FIB_cascades_opt',
    'jewel_optim',
    'gorge_reflectionoffset2',
    'ufo_deathray',
    'PORT_heist_underwater',
    'TUNNEL_orange_exterior',
    'hillstunnel',
    'jewelry_entrance_INT',
    'jewelry_entrance',
    'jewelry_entrance_INT_fog',
    'TUNNEL_yellow_ext',
    'NEW_jewel_EXIT',
    'services_nightlight',
    'CS1_railwayB_tunnel',
    'TUNNEL_green_ext',
    'CAMERA_secuirity',
    'CAMERA_secuirity_FUZZ',
    'int_hospital_small',
    'int_hospital_dark',
    'plaza_carpark',
    'gen_bank',
    'nightvision',
    'WATER_cove',
    'glasses_Darkblue',
    'glasses_VISOR',
    'heist_boat',
    'heist_boat_norain',
    'heist_boat_engineRoom',
    'buggy_shack',
    'mineshaft',
    'NG_first',
    'glasses_Scuba',
    'mugShot',
    'Glasses_BlackOut',
    'winning_room',
    'mugShot_lineup',
    'MPApartHigh_palnning',
    'v_dark',
    'vehicle_subint',
    'Carpark_MP_exit',
    'EXT_FULLAmbientmult_art',
    'li',
    'underwater',
    'underwater_deep',
    'NoAmbientmult',
    'superDARK',
    'CAMERA_BW',
    'Forest',
    'micheal',
    'TREVOR',
    'FRANKLIN',
    'Tunnel',
    'carpark',
    'NEW_abattoir',
    'Vagos',
    'cops',
    'Bikers',
    'BikersSPLASH',
    'VagosSPLASH',
    'CopsSPLASH',
    'VAGOS_new_garage',
    'VAGOS_new_hangout',
    'NEW_jewel',
    'frankilnsAUNTS_new',
    'frankilnsAUNTS_SUNdir',
    'StreetLighting',
    'NEW_tunnels',
    'NEW_yellowtunnels',
    'NEW_tunnels_hole',
    'NEW_tunnels_ditch',
    'Paleto',
    'new_bank',
    'ReduceDrawDistance',
    'ReduceDrawDistanceMission',
    'lightpolution',
    'NEW_lesters',
    'ReduceDrawDistanceMAP',
    'reducewaterREF',
    'garage',
    'LightPollutionHills',
    'NewMicheal',
    'NewMichealupstairs',
    'NewMichealstoilet',
    'NewMichealgirly',
    'WATER_port',
    'WATER_salton',
    'WATER_river',
    'FIB_interview',
    'NEW_station_unfinished',
    'cashdepot',
    'cashdepotEMERGENCY',
    'FrankilinsHOUSEhills',
    'HicksbarNEW',
    'NOdirectLight',
    'SALTONSEA',
    'TUNNEL_green',
    'NewMicheal_night',
    'WATER_muddy',
    'WATER_shore',
    'damage',
    'hitped',
    'dying',
    'overwater',
    'whitenightlighting',
    'TUNNEL_yellow',
    'buildingTOP',
    'WATER_lab',
    'cinema',
    'fireDEPT',
    'ranch',
    'TUNNEL_white',
    'V_recycle_mainroom',
    'V_recycle_dark',
    'V_recycle_light',
    'lightning_weak',
    'lightning_strong',
    'lightning_cloud',
    'gunclubrange',
    'NoAmbientmult_interior',
    'FullAmbientmult_interior',
    'StreetLightingJunction',
    'StreetLightingtraffic',
    'Multipayer_spectatorCam',
    'INT_NoAmbientmult',
    'INT_NoAmbientmult_art',
    'INT_FullAmbientmult',
    'INT_FULLAmbientmult_art',
    'INT_FULLAmbientmult_both',
    'INT_NoAmbientmult_both',
    'Sniper',
    'ReduceSSAO',
    'scope_zoom_in',
    'scope_zoom_out',
    'crane_cam',
    'WATER_silty',
    'Trevors_room',
    'Hint_cam',
    'venice_canal_tunnel',
    'blackNwhite',
    'projector',
    'paleto_opt',
    'warehouse',
    'pulse',
    'sleeping',
    'INT_garage',
    'nextgen',
    'crane_cam_cinematic',
    'TUNNEL_orange',
    'traffic_skycam',
    'powerstation',
    'SAWMILL',
    'LODmult_global_reduce',
    'LODmult_HD_orphan_reduce',
    'LODmult_HD_orphan_LOD_reduce',
    'LODmult_LOD_reduce',
    'LODmult_SLOD1_reduce',
    'LODmult_SLOD2_reduce',
    'LODmult_SLOD3_reduce',
    'NewMicheal_upstairs',
    'micheals_lightsOFF',
    'telescope',
    'WATER_silverlake',
    'WATER _lab_cooling',
    'baseTONEMAPPING',
    'WATER_salton_bottom',
    'new_stripper_changing',
    'underwater_deep_clear',
    'prologue_ending_fog',
    'graveyard_shootout',
    'morebloom',
    'LIGHTSreduceFALLOFF',
    'INT_posh_hairdresser',
    'V_strip_office',
    'sunglasses',
    'vespucci_garage',
    'half_direct',
    'carpark_dt1_03',
    'tunnel_id1_11',
    'reducelightingcost',
    'NOrain',
    'morgue_dark',
    'CS3_rail_tunnel',
    'new_tunnels_entrance',
    'spectator1',
    'spectator2',
    'spectator3',
    'spectator4',
    'spectator5',
    'spectator6',
    'spectator7',
    'spectator8',
    'spectator9',
    'spectator10',
    'INT_NOdirectLight',
    'WATER_resevoir',
    'WATER_hills',
    'WATER_militaryPOOP',
    'NEW_ornate_bank',
    'NEW_ornate_bank_safe',
    'NEW_ornate_bank_entrance',
    'NEW_ornate_bank_office',
    'LODmult_global_reduce_NOHD',
    'interior_WATER_lighting',
    'gorge_reflectionoffset',
    'eyeINtheSKY',
    'resvoire_reflection',
    'NO_weather',
    'prologue_ext_art_amb',
    'prologue_shootout',
    'heathaze',
    'KT_underpass',
    'INT_nowaterREF',
    'carMOD_underpass',
    'refit',
    'NO_streetAmbient',
    'NO_coronas',
    'epsilion',
    'WATER_refmap_high',
    'WATER_refmap_med',
    'WATER_refmap_low',
    'WATER_refmap_verylow',
    'WATER_refmap_poolside',
    'WATER_refmap_silverlake',
    'WATER_refmap_venice',
    'FORdoron_delete',
    'NO_fog_alpha',
    'V_strip_nofog',
    'METRO_Tunnels',
    'METRO_Tunnels_entrance',
    'METRO_platform',
    'STRIP_stage',
    'STRIP_office',
    'STRIP_changing',
    'INT_NO_fogALPHA',
    'STRIP_nofog',
    'INT_streetlighting',
    'ch2_tunnel_whitelight',
    'AmbientPUSH',
    'ship_lighting',
    'powerplant_nightlight',
    'paleto_nightlight',
    'militarybase_nightlight',
    'sandyshore_nightlight',
    'jewel_gas',
    'WATER_refmap_off',
    'trailer_explosion_optimise',
    'nervousRON_fog',
    'DONT_overide_sunpos',
    'gallery_refmod',
    'prison_nightlight',
    'multiplayer_ped_fight',
    'ship_explosion_underwater',
    'EXTRA_bouncelight',
    'secret_camera',
    'canyon_mission',
    'gorge_reflection_gpu',
    'subBASE_water_ref',
    'poolsidewaterreflection2',
    'CUSTOM_streetlight',
    'ufo',
    'ship_explosion_underwater',
    'lab_none_exit',
    'FinaleBankexit',
    'prologue_reflection_opt',
    'tunnel_entrance',
    'tunnel_entrance_INT',
    'id1_11_tunnel',
    'reflection_correct_ambient',
    'scanline_cam_cheap',
    'scanline_cam',
    'VC_tunnel_entrance',
    'WATER_REF_malibu',
    'carpark_dt1_02',
    'FIB_interview_optimise',
    'Prologue_shootout_opt',
    'hangar_lightsmod',
    'plane_inside_mode',
    'eatra_bouncelight_beach',
    'downtown_FIB_cascades_opt',
    'jewel_optim',
    'gorge_reflectionoffset2',
    'ufo_deathray',
    'PORT_heist_underwater',
    'TUNNEL_orange_exterior',
    'hillstunnel',
    'jewelry_entrance_INT',
    'jewelry_entrance',
    'jewelry_entrance_INT_fog',
    'TUNNEL_yellow_ext',
    'NEW_jewel_EXIT',
    'services_nightlight',
    'CS1_railwayB_tunnel',
    'TUNNEL_green_ext',
    'CAMERA_secuirity',
    'CAMERA_secuirity_FUZZ',
    'int_hospital_small',
    'int_hospital_dark',
    'plaza_carpark',
    'gen_bank',
    'nightvision',
    'WATER_cove',
    'glasses_Darkblue',
    'glasses_VISOR',
    'heist_boat',
    'heist_boat_norain',
    'heist_boat_engineRoom',
    'buggy_shack',
    'mineshaft',
    'NG_first',
    'glasses_Scuba',
    'mugShot',
    'Glasses_BlackOut',
    'winning_room',
    'mugShot_lineup',
    'MPApartHigh_palnning',
    'v_dark',
    'vehicle_subint',
    'Carpark_MP_exit',
    'EXT_FULLAmbientmult_art',
    'new_MP_Garage_L',
    'fp_vig_black',
    'fp_vig_brown',
    'fp_vig_gray',
    'fp_vig_blue',
    'fp_vig_red',
    'fp_vig_green',
    'INT_trailer_cinema',
    'heliGunCam',
    'INT_smshop',
    'INT_mall',
    'Mp_Stilts',
    'Mp_Stilts_gym',
    'Mp_Stilts2',
    'Mp_Stilts_gym2',
    'MPApart_H_01',
    'MPApart_H_01_gym',
    'MP_H_01_Study',
    'MP_H_01_Bedroom',
    'MP_H_01_Bathroom',
    'MP_H_01_New',
    'MP_H_01_New_Bedroom',
    'MP_H_01_New_Bathroom',
    'MP_H_01_New_Study',
    'INT_smshop_inMOD',
    'NoPedLight',
    'morgue_dark_ovr',
    'INT_smshop_outdoor_bloom',
    'INT_smshop_indoor_bloom',
    'MP_H_02',
    'MP_H_04',
    'Mp_Stilts2_bath',
    'mp_h_05',
    'mp_h_07',
    'MP_H_06',
    'mp_h_08',
    'yacht_DLC',
    'mp_exec_office_01',
    'mp_exec_warehouse_01',
    'mp_exec_office_02',
    'mp_exec_office_03',
    'mp_exec_office_04',
    'mp_exec_office_05',
    'mp_exec_office_06',
    'mp_exec_office_03_blue',
    'mp_exec_office_03C',
    'mp_bkr_int01_garage',
    'mp_bkr_int01_transition',
    'mp_bkr_int01_small_rooms',
    'mp_bkr_int02_garage',
    'mp_bkr_int02_hangout',
    'mp_bkr_int02_small_rooms',
    'mp_bkr_ware01',
    'mp_bkr_ware02_standard',
    'mp_bkr_ware02_upgrade',
    'mp_bkr_ware02_dry',
    'mp_bkr_ware03_basic',
    'mp_bkr_ware03_upgrade',
    'mp_bkr_ware04',
    'mp_bkr_ware05',
    'mp_lad_night',
    'mp_lad_day',
    'mp_lad_judgment',
    'mp_imx_intwaremed',
    'mp_imx_intwaremed_office',
    'mp_imx_mod_int_01',
    'IMpExt_Interior_02',
    'ImpExp_Interior_01',
    'impexp_interior_01_lift',
    'IMpExt_Interior_02_stair_cage',
    'mp_gr_int01_white',
    'mp_gr_int01_grey',
    'mp_gr_int01_black',
    'grdlc_int_02',
    'mp_nightshark_shield_fp',
    'grdlc_int_02_trailer_cave',
    'mp_smg_int01_han',
    'mp_smg_int01_han_red',
    'mp_smg_int01_han_blue',
    'mp_smg_int01_han_yellow',
    'mp_x17dlc_in_sub',
    'mp_x17dlc_in_sub_no_reflection',
    'mp_x17dlc_base',
    'mp_x17dlc_base_dark',
    'mp_x17dlc_base_darkest',
    'mp_x17dlc_lab',
    'mp_x17dlc_lab_loading_bay',
    'mp_x17dlc_facility',
    'mp_x17dlc_facility_conference',
    'mp_x17dlc_int_01',
    'mp_x17dlc_int_01_tint1',
    'mp_x17dlc_int_01_tint2',
    'mp_x17dlc_int_01_tint3',
    'mp_x17dlc_int_01_tint4',
    'mp_x17dlc_int_01_tint5',
    'mp_x17dlc_int_01_tint6',
    'mp_x17dlc_int_01_tint7',
    'mp_x17dlc_int_01_tint8',
    'mp_x17dlc_int_01_tint9',
    'mp_x17dlc_facility2',
    'mp_x17dlc_int_02',
    'mp_x17dlc_int_02_tint1',
    'mp_x17dlc_int_02_tint2',
    'mp_x17dlc_int_02_tint3',
    'mp_x17dlc_int_02_tint4',
    'mp_x17dlc_int_02_tint5',
    'mp_x17dlc_int_02_tint6',
    'mp_x17dlc_int_02_tint7',
    'mp_x17dlc_int_02_tint8',
    'mp_x17dlc_int_02_tint9',
    'mp_x17dlc_int_02_hangar',
    'mp_x17dlc_int_silo',
    'mp_x17dlc_int_silo_escape',
    'li',
    'underwater',
    'underwater_deep',
    'NoAmbientmult',
    'superDARK',
    'CAMERA_BW',
    'Forest',
    'micheal',
    'TREVOR',
    'FRANKLIN',
    'Tunnel',
    'carpark',
    'NEW_abattoir',
    'Vagos',
    'cops',
    'Bikers',
    'BikersSPLASH',
    'VagosSPLASH',
    'CopsSPLASH',
    'VAGOS_new_garage',
    'VAGOS_new_hangout',
    'NEW_jewel',
    'frankilnsAUNTS_new',
    'frankilnsAUNTS_SUNdir',
    'StreetLighting',
    'NEW_tunnels',
    'NEW_yellowtunnels',
    'NEW_tunnels_hole',
    'NEW_tunnels_ditch',
    'Paleto',
    'new_bank',
    'ReduceDrawDistance',
    'ReduceDrawDistanceMission',
    'lightpolution',
    'NEW_lesters',
    'ReduceDrawDistanceMAP',
    'reducewaterREF',
    'garage',
    'LightPollutionHills',
    'NewMicheal',
    'NewMichealupstairs',
    'NewMichealstoilet',
    'NewMichealgirly',
    'WATER_port',
    'WATER_salton',
    'WATER_river',
    'FIB_interview',
    'NEW_station_unfinished',
    'cashdepot',
    'cashdepotEMERGENCY',
    'FrankilinsHOUSEhills',
    'HicksbarNEW',
    'NOdirectLight',
    'SALTONSEA',
    'TUNNEL_green',
    'NewMicheal_night',
    'WATER_muddy',
    'WATER_shore',
    'damage',
    'hitped',
    'dying',
    'overwater',
    'whitenightlighting',
    'TUNNEL_yellow',
    'buildingTOP',
    'WATER_lab',
    'cinema',
    'fireDEPT',
    'ranch',
    'TUNNEL_white',
    'V_recycle_mainroom',
    'V_recycle_dark',
    'V_recycle_light',
    'lightning_weak',
    'lightning_strong',
    'lightning_cloud',
    'gunclubrange',
    'NoAmbientmult_interior',
    'FullAmbientmult_interior',
    'StreetLightingJunction',
    'StreetLightingtraffic',
    'Multipayer_spectatorCam',
    'INT_NoAmbientmult',
    'INT_NoAmbientmult_art',
    'INT_FullAmbientmult',
    'INT_FULLAmbientmult_art',
    'INT_FULLAmbientmult_both',
    'INT_NoAmbientmult_both',
    'Sniper',
    'ReduceSSAO',
    'scope_zoom_in',
    'scope_zoom_out',
    'crane_cam',
    'WATER_silty',
    'Trevors_room',
    'Hint_cam',
    'venice_canal_tunnel',
    'blackNwhite',
    'projector',
    'paleto_opt',
    'WAREHOUSE',
    'pulse',
    'sleeping',
    'INT_garage',
    'nextgen',
    'crane_cam_cinematic',
    'TUNNEL_orange',
    'traffic_skycam',
    'powerstation',
    'SAWMILL',
    'LODmult_global_reduce',
    'LODmult_HD_orphan_reduce',
    'LODmult_HD_orphan_LOD_reduce',
    'LODmult_LOD_reduce',
    'LODmult_SLOD1_reduce',
    'LODmult_SLOD2_reduce',
    'LODmult_SLOD3_reduce',
    'NewMicheal_upstairs',
    'micheals_lightsOFF',
    'telescope',
    'WATER_silverlake',
    'WATER _lab_cooling',
    'baseTONEMAPPING',
    'WATER_salton_bottom',
    'new_stripper_changing',
    'underwater_deep_clear',
    'prologue_ending_fog',
    'graveyard_shootout',
    'morebloom',
    'LIGHTSreduceFALLOFF',
    'INT_posh_hairdresser',
    'V_strip_office',
    'sunglasses',
    'vespucci_garage',
    'half_direct',
    'carpark_dt1_03',
    'tunnel_id1_11',
    'reducelightingcost',
    'NOrain',
    'morgue_dark',
    'CS3_rail_tunnel',
    'new_tunnels_entrance',
    'spectator1',
    'spectator2',
    'spectator3',
    'spectator4',
    'spectator5',
    'spectator6',
    'spectator7',
    'spectator8',
    'spectator9',
    'spectator10',
    'INT_NOdirectLight',
    'WATER_resevoir',
    'WATER_hills',
    'WATER_militaryPOOP',
    'NEW_ornate_bank',
    'NEW_ornate_bank_safe',
    'NEW_ornate_bank_entrance',
    'NEW_ornate_bank_office',
    'LODmult_global_reduce_NOHD',
    'interior_WATER_lighting',
    'gorge_reflectionoffset',
    'eyeINtheSKY',
    'resvoire_reflection',
    'NO_weather',
    'prologue_ext_art_amb',
    'prologue_shootout',
    'heathaze',
    'KT_underpass',
    'INT_nowaterREF',
    'carMOD_underpass',
    'refit',
    'NO_streetAmbient',
    'NO_coronas',
    'epsilion',
    'WATER_refmap_high',
    'WATER_refmap_med',
    'WATER_refmap_low',
    'WATER_refmap_verylow',
    'WATER_refmap_poolside',
    'WATER_refmap_silverlake',
    'WATER_refmap_venice',
    'FORdoron_delete',
    'NO_fog_alpha',
    'V_strip_nofog',
    'METRO_Tunnels',
    'METRO_Tunnels_entrance',
    'METRO_platform',
    'STRIP_stage',
    'STRIP_office',
    'STRIP_changing',
    'INT_NO_fogALPHA',
    'STRIP_nofog',
    'INT_streetlighting',
    'ch2_tunnel_whitelight',
    'AmbientPUSH',
    'ship_lighting',
    'powerplant_nightlight',
    'paleto_nightlight',
    'militarybase_nightlight',
    'sandyshore_nightlight',
    'jewel_gas',
    'WATER_refmap_off',
    'trailer_explosion_optimise',
    'nervousRON_fog',
    'DONT_overide_sunpos',
    'gallery_refmod',
    'prison_nightlight',
    'multiplayer_ped_fight',
    'ship_explosion_underwater',
    'EXTRA_bouncelight',
    'secret_camera',
    'canyon_mission',
    'gorge_reflection_gpu',
    'subBASE_water_ref',
    'poolsidewaterreflection2',
    'CUSTOM_streetlight',
    'ufo',
    'ship_explosion_underwater',
    'lab_none_exit',
    'FinaleBankexit',
    'prologue_reflection_opt',
    'tunnel_entrance',
    'tunnel_entrance_INT',
    'id1_11_tunnel',
    'reflection_correct_ambient',
    'scanline_cam_cheap',
    'scanline_cam',
    'VC_tunnel_entrance',
    'WATER_REF_malibu',
    'carpark_dt1_02',
    'FIB_interview_optimise',
    'Prologue_shootout_opt',
    'hangar_lightsmod',
    'plane_inside_mode',
    'eatra_bouncelight_beach',
    'downtown_FIB_cascades_opt',
    'jewel_optim',
    'gorge_reflectionoffset2',
    'ufo_deathray',
    'PORT_heist_underwater',
    'TUNNEL_orange_exterior',
    'hillstunnel',
    'jewelry_entrance_INT',
    'jewelry_entrance',
    'jewelry_entrance_INT_fog',
    'TUNNEL_yellow_ext',
    'NEW_jewel_EXIT',
    'services_nightlight',
    'CS1_railwayB_tunnel',
    'TUNNEL_green_ext',
    'CAMERA_secuirity',
    'CAMERA_secuirity_FUZZ',
    'int_hospital_small',
    'int_hospital_dark',
    'plaza_carpark',
    'gen_bank',
    'nightvision',
    'WATER_cove',
    'glasses_Darkblue',
    'glasses_VISOR',
    'heist_boat',
    'heist_boat_norain',
    'heist_boat_engineRoom',
    'buggy_shack',
    'mineshaft',
    'NG_first',
    'glasses_Scuba',
    'mugShot',
    'Glasses_BlackOut',
    'winning_room',
    'mugShot_lineup',
    'MPApartHigh_palnning',
    'v_dark',
    'vehicle_subint',
    'Carpark_MP_exit',
    'EXT_FULLAmbientmult_art',
    'new_MP_Garage_L',
    'fp_vig_black',
    'fp_vig_brown',
    'fp_vig_gray',
    'fp_vig_blue',
    'fp_vig_red',
    'fp_vig_green',
    'INT_trailer_cinema',
    'heliGunCam',
    'INT_smshop',
    'INT_mall',
    'Mp_Stilts',
    'Mp_Stilts_gym',
    'Mp_Stilts2',
    'Mp_Stilts_gym2',
    'MPApart_H_01',
    'MPApart_H_01_gym',
    'MP_H_01_Study',
    'MP_H_01_Bedroom',
    'MP_H_01_Bathroom',
    'MP_H_01_New',
    'MP_H_01_New_Bedroom',
    'MP_H_01_New_Bathroom',
    'MP_H_01_New_Study',
    'INT_smshop_inMOD',
    'NoPedLight',
    'morgue_dark_ovr',
    'INT_smshop_outdoor_bloom',
    'INT_smshop_indoor_bloom',
    'MP_H_02',
    'MP_H_04',
    'Mp_Stilts2_bath',
    'mp_h_05',
    'mp_h_07',
    'MP_H_06',
    'mp_h_08',
    'yacht_DLC',
    'mp_exec_office_01',
    'mp_exec_warehouse_01',
    'mp_exec_office_02',
    'mp_exec_office_03',
    'mp_exec_office_04',
    'mp_exec_office_05',
    'mp_exec_office_06',
    'mp_exec_office_03_blue',
    'mp_exec_office_03C',
    'mp_bkr_int01_garage',
    'mp_bkr_int01_transition',
    'mp_bkr_int01_small_rooms',
    'mp_bkr_int02_garage',
    'mp_bkr_int02_hangout',
    'mp_bkr_int02_small_rooms',
    'mp_bkr_ware01',
    'mp_bkr_ware02_standard',
    'mp_bkr_ware02_upgrade',
    'mp_bkr_ware02_dry',
    'mp_bkr_ware03_basic',
    'mp_bkr_ware03_upgrade',
    'mp_bkr_ware04',
    'mp_bkr_ware05',
    'mp_lad_night',
    'mp_lad_day',
    'mp_lad_judgment',
    'mp_imx_intwaremed',
    'mp_imx_intwaremed_office',
    'mp_imx_mod_int_01',
    'IMpExt_Interior_02',
    'ImpExp_Interior_01',
    'impexp_interior_01_lift',
    'IMpExt_Interior_02_stair_cage',
    'mp_gr_int01_white',
    'mp_gr_int01_grey',
    'mp_gr_int01_black',
    'grdlc_int_02',
    'mp_nightshark_shield_fp',
    'grdlc_int_02_trailer_cave',
    'li',
    'underwater',
    'underwater_deep',
    'NoAmbientmult',
    'superDARK',
    'CAMERA_BW',
    'Forest',
    'micheal',
    'TREVOR',
    'FRANKLIN',
    'Tunnel',
    'carpark',
    'NEW_abattoir',
    'Vagos',
    'cops',
    'Bikers',
    'BikersSPLASH',
    'VagosSPLASH',
    'CopsSPLASH',
    'VAGOS_new_garage',
    'VAGOS_new_hangout',
    'NEW_jewel',
    'frankilnsAUNTS_new',
    'frankilnsAUNTS_SUNdir',
    'StreetLighting',
    'NEW_tunnels',
    'NEW_yellowtunnels',
    'NEW_tunnels_hole',
    'NEW_tunnels_ditch',
    'Paleto',
    'new_bank',
    'ReduceDrawDistance',
    'ReduceDrawDistanceMission',
    'lightpolution',
    'NEW_lesters',
    'ReduceDrawDistanceMAP',
    'reducewaterREF',
    'garage',
    'LightPollutionHills',
    'NewMicheal',
    'NewMichealupstairs',
    'NewMichealstoilet',
    'NewMichealgirly',
    'WATER_port',
    'WATER_salton',
    'WATER_river',
    'FIB_interview',
    'NEW_station_unfinished',
    'cashdepot',
    'cashdepotEMERGENCY',
    'FrankilinsHOUSEhills',
    'HicksbarNEW',
    'NOdirectLight',
    'SALTONSEA',
    'TUNNEL_green',
    'NewMicheal_night',
    'WATER_muddy',
    'WATER_shore',
    'damage',
    'hitped',
    'dying',
    'overwater',
    'whitenightlighting',
    'TUNNEL_yellow',
    'buildingTOP',
    'WATER_lab',
    'cinema',
    'fireDEPT',
    'ranch',
    'TUNNEL_white',
    'V_recycle_mainroom',
    'V_recycle_dark',
    'V_recycle_light',
    'lightning_weak',
    'lightning_strong',
    'lightning_cloud',
    'gunclubrange',
    'NoAmbientmult_interior',
    'FullAmbientmult_interior',
    'StreetLightingJunction',
    'StreetLightingtraffic',
    'Multipayer_spectatorCam',
    'INT_NoAmbientmult',
    'INT_NoAmbientmult_art',
    'INT_FullAmbientmult',
    'INT_FULLAmbientmult_art',
    'INT_FULLAmbientmult_both',
    'INT_NoAmbientmult_both',
    'Sniper',
    'ReduceSSAO',
    'scope_zoom_in',
    'scope_zoom_out',
    'crane_cam',
    'WATER_silty',
    'Trevors_room',
    'Hint_cam',
    'venice_canal_tunnel',
    'blackNwhite',
    'projector',
    'paleto_opt',
    'WAREHOUSE',
    'pulse',
    'sleeping',
    'INT_garage',
    'nextgen',
    'crane_cam_cinematic',
    'TUNNEL_orange',
    'traffic_skycam',
    'powerstation',
    'SAWMILL',
    'LODmult_global_reduce',
    'LODmult_HD_orphan_reduce',
    'LODmult_HD_orphan_LOD_reduce',
    'LODmult_LOD_reduce',
    'LODmult_SLOD1_reduce',
    'LODmult_SLOD2_reduce',
    'LODmult_SLOD3_reduce',
    'NewMicheal_upstairs',
    'micheals_lightsOFF',
    'telescope',
    'WATER_silverlake',
    'WATER _lab_cooling',
    'baseTONEMAPPING',
    'WATER_salton_bottom',
    'new_stripper_changing',
    'underwater_deep_clear',
    'prologue_ending_fog',
    'graveyard_shootout',
    'morebloom',
    'LIGHTSreduceFALLOFF',
    'INT_posh_hairdresser',
    'V_strip_office',
    'sunglasses',
    'vespucci_garage',
    'half_direct',
    'carpark_dt1_03',
    'tunnel_id1_11',
    'reducelightingcost',
    'NOrain',
    'morgue_dark',
    'CS3_rail_tunnel',
    'new_tunnels_entrance',
    'spectator1',
    'spectator2',
    'spectator3',
    'spectator4',
    'spectator5',
    'spectator6',
    'spectator7',
    'spectator8',
    'spectator9',
    'spectator10',
    'INT_NOdirectLight',
    'WATER_resevoir',
    'WATER_hills',
    'WATER_militaryPOOP',
    'NEW_ornate_bank',
    'NEW_ornate_bank_safe',
    'NEW_ornate_bank_entrance',
    'NEW_ornate_bank_office',
    'LODmult_global_reduce_NOHD',
    'interior_WATER_lighting',
    'gorge_reflectionoffset',
    'eyeINtheSKY',
    'resvoire_reflection',
    'NO_weather',
    'prologue_ext_art_amb',
    'prologue_shootout',
    'heathaze',
    'KT_underpass',
    'INT_nowaterREF',
    'carMOD_underpass',
    'refit',
    'NO_streetAmbient',
    'NO_coronas',
    'epsilion',
    'WATER_refmap_high',
    'WATER_refmap_med',
    'WATER_refmap_low',
    'WATER_refmap_verylow',
    'WATER_refmap_poolside',
    'WATER_refmap_silverlake',
    'WATER_refmap_venice',
    'FORdoron_delete',
    'NO_fog_alpha',
    'V_strip_nofog',
    'METRO_Tunnels',
    'METRO_Tunnels_entrance',
    'METRO_platform',
    'STRIP_stage',
    'STRIP_office',
    'STRIP_changing',
    'INT_NO_fogALPHA',
    'STRIP_nofog',
    'INT_streetlighting',
    'ch2_tunnel_whitelight',
    'AmbientPUSH',
    'ship_lighting',
    'powerplant_nightlight',
    'paleto_nightlight',
    'militarybase_nightlight',
    'sandyshore_nightlight',
    'jewel_gas',
    'WATER_refmap_off',
    'trailer_explosion_optimise',
    'nervousRON_fog',
    'DONT_overide_sunpos',
    'gallery_refmod',
    'prison_nightlight',
    'multiplayer_ped_fight',
    'ship_explosion_underwater',
    'EXTRA_bouncelight',
    'secret_camera',
    'canyon_mission',
    'gorge_reflection_gpu',
    'subBASE_water_ref',
    'poolsidewaterreflection2',
    'CUSTOM_streetlight',
    'ufo',
    'ship_explosion_underwater',
    'lab_none_exit',
    'FinaleBankexit',
    'prologue_reflection_opt',
    'tunnel_entrance',
    'tunnel_entrance_INT',
    'id1_11_tunnel',
    'reflection_correct_ambient',
    'scanline_cam_cheap',
    'scanline_cam',
    'VC_tunnel_entrance',
    'WATER_REF_malibu',
    'carpark_dt1_02',
    'FIB_interview_optimise',
    'Prologue_shootout_opt',
    'hangar_lightsmod',
    'plane_inside_mode',
    'eatra_bouncelight_beach',
    'downtown_FIB_cascades_opt',
    'jewel_optim',
    'gorge_reflectionoffset2',
    'ufo_deathray',
    'PORT_heist_underwater',
    'TUNNEL_orange_exterior',
    'hillstunnel',
    'jewelry_entrance_INT',
    'jewelry_entrance',
    'jewelry_entrance_INT_fog',
    'TUNNEL_yellow_ext',
    'NEW_jewel_EXIT',
    'services_nightlight',
    'CS1_railwayB_tunnel',
    'TUNNEL_green_ext',
    'CAMERA_secuirity',
    'CAMERA_secuirity_FUZZ',
    'int_hospital_small',
    'int_hospital_dark',
    'plaza_carpark',
    'gen_bank',
    'nightvision',
    'WATER_cove',
    'glasses_Darkblue',
    'glasses_VISOR',
    'heist_boat',
    'heist_boat_norain',
    'heist_boat_engineRoom',
    'buggy_shack',
    'mineshaft',
    'NG_first',
    'glasses_Scuba',
    'mugShot',
    'Glasses_BlackOut',
    'winning_room',
    'mugShot_lineup',
    'MPApartHigh_palnning',
    'v_dark',
    'vehicle_subint',
    'Carpark_MP_exit',
    'EXT_FULLAmbientmult_art',
    'new_MP_Garage_L',
    'fp_vig_black',
    'fp_vig_brown',
    'fp_vig_gray',
    'fp_vig_blue',
    'fp_vig_red',
    'fp_vig_green',
    'INT_trailer_cinema',
    'heliGunCam',
    'INT_smshop',
    'INT_mall',
    'Mp_Stilts',
    'Mp_Stilts_gym',
    'Mp_Stilts2',
    'Mp_Stilts_gym2',
    'MPApart_H_01',
    'MPApart_H_01_gym',
    'MP_H_01_Study',
    'MP_H_01_Bedroom',
    'MP_H_01_Bathroom',
    'MP_H_01_New',
    'MP_H_01_New_Bedroom',
    'MP_H_01_New_Bathroom',
    'MP_H_01_New_Study',
    'INT_smshop_inMOD',
    'NoPedLight',
    'morgue_dark_ovr',
    'INT_smshop_outdoor_bloom',
    'INT_smshop_indoor_bloom',
    'MP_H_02',
    'MP_H_04',
    'Mp_Stilts2_bath',
    'mp_h_05',
    'mp_h_07',
    'MP_H_06',
    'mp_h_08',
    'yacht_DLC',
    'mp_exec_office_01',
    'mp_exec_warehouse_01',
    'mp_exec_office_02',
    'mp_exec_office_03',
    'mp_exec_office_04',
    'mp_exec_office_05',
    'mp_exec_office_06',
    'mp_exec_office_03_blue',
    'mp_exec_office_03C',
    'mp_bkr_int01_garage',
    'mp_bkr_int01_transition',
    'mp_bkr_int01_small_rooms',
    'mp_bkr_int02_garage',
    'mp_bkr_int02_hangout',
    'mp_bkr_int02_small_rooms',
    'mp_bkr_ware01',
    'mp_bkr_ware02_standard',
    'mp_bkr_ware02_upgrade',
    'mp_bkr_ware02_dry',
    'mp_bkr_ware03_basic',
    'mp_bkr_ware03_upgrade',
    'mp_bkr_ware04',
    'mp_bkr_ware05',
    'mp_lad_night',
    'mp_lad_day',
    'mp_lad_judgment',
    'mp_imx_intwaremed',
    'mp_imx_intwaremed_office',
    'mp_imx_mod_int_01',
    'IMpExt_Interior_02',
    'ImpExp_Interior_01',
    'impexp_interior_01_lift',
    'IMpExt_Interior_02_stair_cage'
}

local showCoords = false
local showVehicleDimensions = false
local showPropDimensions = false
local showPedDimensions = false
local showEntityHandles = false
local showEntityModels = false
local showEntityNetworkOwners = false
local enableTimecycleModifier = false
local dimensionsRadius = 2000
local timeCycleStrength = 0.05
local timeCycleIndex = 1
local timeCycle = timeCycles[timeCycleIndex]
local currentEntity = 0
local spawningActive = false
local curScaleform = -1
local rotateSpeed = 20

--#endregion Variables

--#region Functions

local function DrawTextOnScreen(text, x, y, size, position --[[ 0: center | 1: left | 2: right ]], font, disableTextOutline)
    if
    not IsHudPreferenceSwitchedOn()
    or IsHudHidden()
    or IsPlayerSwitchInProgress()
    or IsScreenFadedOut()
    or IsPauseMenuActive()
    or IsFrontendFading()
    or IsPauseMenuRestarting()
    then
        return
    end

    size = size or 0.48
    position = position or 1
    font = font or 6

    SetTextFont(font)
    SetTextScale(1.0, size)
    if position == 2 then
        SetTextWrap(0, x)
    end
    SetTextJustification(position)
    if not disableTextOutline then
        SetTextOutline()
    end
    BeginTextCommandDisplayText('STRING')
    AddTextComponentSubstringPlayerName(text)
    EndTextCommandDisplayText(x, y)
end

local function drawEntityBoundingBox(entity, r, g, b, alpha)
    local pad = 0.001
    local min, max = GetModelDimensions(GetEntityModel(entity))
    local boundingBox = {
        -- Bottom
        GetOffsetFromEntityInWorldCoords(entity, min.x - pad, min.y - pad, min.z - pad),
        GetOffsetFromEntityInWorldCoords(entity, max.x + pad, min.y - pad, min.z - pad),
        GetOffsetFromEntityInWorldCoords(entity, max.x + pad, max.y + pad, min.z - pad),
        GetOffsetFromEntityInWorldCoords(entity, min.x - pad, max.y + pad, min.z - pad),

        -- Top
        GetOffsetFromEntityInWorldCoords(entity, min.x - pad, min.y - pad, max.z + pad),
        GetOffsetFromEntityInWorldCoords(entity, max.x + pad, min.y - pad, max.z + pad),
        GetOffsetFromEntityInWorldCoords(entity, max.x + pad, max.y + pad, max.z + pad),
        GetOffsetFromEntityInWorldCoords(entity, min.x - pad, max.y + pad, max.z + pad)
    }

    local polyMatrix = {
        {boundingBox[3], boundingBox[2], boundingBox[1]},
        {boundingBox[4], boundingBox[3], boundingBox[1]},

        {boundingBox[5], boundingBox[6], boundingBox[7]},
        {boundingBox[5], boundingBox[7], boundingBox[8]},

        {boundingBox[3], boundingBox[4], boundingBox[7]},
        {boundingBox[8], boundingBox[7], boundingBox[4]},

        {boundingBox[1], boundingBox[2], boundingBox[5]},
        {boundingBox[6], boundingBox[5], boundingBox[2]},

        {boundingBox[2], boundingBox[3], boundingBox[6]},
        {boundingBox[3], boundingBox[7], boundingBox[6]},

        {boundingBox[5], boundingBox[8], boundingBox[4]},
        {boundingBox[5], boundingBox[4], boundingBox[1]}
    }

    local edgeMatrix = {
        {boundingBox[1], boundingBox[2]},
        {boundingBox[2], boundingBox[3]},
        {boundingBox[3], boundingBox[4]},
        {boundingBox[4], boundingBox[1]},

        {boundingBox[5], boundingBox[6]},
        {boundingBox[6], boundingBox[7]},
        {boundingBox[7], boundingBox[8]},
        {boundingBox[8], boundingBox[5]},

        {boundingBox[1], boundingBox[5]},
        {boundingBox[2], boundingBox[6]},
        {boundingBox[3], boundingBox[7]},
        {boundingBox[4], boundingBox[8]}
    }

    for i = 1, #polyMatrix do
        local data = polyMatrix[i]
        DrawPoly(data[1].x, data[1].y, data[1].z, data[2].x, data[2].y, data[2].z, data[3].x, data[3].y, data[3].z, r, g, b, alpha)
    end

    for i = 1, #edgeMatrix do
        local data = edgeMatrix[i]
        DrawLine(data[1].x, data[1].y, data[1].z, data[2].x, data[2].y, data[2].z, 255, 255, 255, 255)
    end
end

local function createSpawnerMenu()
    lib.registerMenu({
        id = 'bMenu_misc_options_developer_options_spawner',
        title = 'Entity Spawner',
        position = MenuPosition,
        onSelected = function(selected)
            MenuIndexes['bMenu_misc_options_developer_options_spawner'] = selected
        end,
        onClose = function(keyPressed)
            if DoesEntityExist(currentEntity) then
                DeleteEntity(currentEntity)
                currentEntity = 0
            end
            CloseMenu(false, keyPressed, 'bMenu_misc_options_developer_options')
        end,
        options = {
            {label = 'Spawn New Entity', description = 'Spawns entity into the world and lets you set its position and rotation', args = {'spawn_new_entity'}},
            {label = 'Confirm Entity Position', description = 'Stops placing entity and sets it at it current location', args = {'confirm_entity_position'}, close = false},
            {label = 'Confirm Entity Position And Duplicate', description = 'Stops placing entity and sets it at it current location and creates new one to place', args = {'confirm_duplicate'}, close = false},
            {label = 'Cancel', description = 'Deletes current entity and cancels its placement', args = {'cancel'}, close = false}
        }
    }, function(_, _, args)
        if args[1] == 'spawn_new_entity' then
            if DoesEntityExist(currentEntity) then
                lib.notify({
                    description = 'You\'re already spawning an entity, cancel it or confirm it first',
                    type = 'error'
                })
                return
            end

            local dialog = lib.inputDialog('Spawn New Entity', {'Entity Name'})

            if not dialog or not dialog[1] or dialog[1] == '' then
                return
            end

            local model = joaat(dialog[1])

            if not IsModelValid(model) then
                lib.notify({
                    description = ('Model %s doesn\'t exist'):format(dialog[1]),
                    type = 'error'
                })
                return
            end

            lib.requestModel(model)

            local coords = GetEntityCoords(cache.ped)
            currentEntity = CreatePed(4, model, coords.x, coords.y, coords.z, GetEntityHeading(cache.ped), true, true)
            SetEntityAsMissionEntity(currentEntity, true, true)
            spawningActive = true
        elseif args[1] == 'confirm_entity_position' or args[1] == 'confirm_duplicate' then
            local duplicate = args[1] == 'confirm_duplicate'
            if duplicate and DoesEntityExist(currentEntity) then
                local coords = GetEntityCoords(currentEntity)
                local heading = GetEntityHeading(currentEntity)
                local model = GetEntityModel(currentEntity)
                spawningActive = false
                Wait(1)
                currentEntity = CreatePed(4, model, coords.x, coords.y, coords.z, heading, true, true)
                SetEntityAsMissionEntity(currentEntity, true, true)
                spawningActive = true
            else
                spawningActive = false
                Wait(1)
                currentEntity = 0
            end
        end
    end)
end

function SetupDeveloperOptions()
    local perms = lib.callback.await('bMenu:server:hasConvarPermission', false, {'Misc', 'DevTools'}, {'Clear_Area', 'Show_Coords', 'Show_Entity_Data', 'Modify_Timecycle', 'EntitySpawner'})
    local menuOptions = {
        {label = 'No access', description = 'You don\'t have access to any options, press enter to return', args = {'bMenu_misc_options'}}
    }
    local index = 1

    if perms.Clear_Area then
        menuOptions[index] = {label = 'Clear Area', description = 'Clears the area around your player (100 meters). Damage, dirt, peds, props, vehicles, etc. Everything gets cleaned up, fixed and reset to the default world state', args = {'clear_area'}, close = false}
        index += 1
    end

    if perms.Show_Coords then
        menuOptions[index] = {label = 'Show Coordinates', description = 'Show your current coordinates at the top of your screen', checked = showCoords, args = {'show_coords'}, close = false}
        index += 1
    end

    if perms.Show_Entity_Data then
        menuOptions[index] = {label = 'Show Vehicle Dimensions', description = 'Draws the model outlines for every vehicle that\'s currently close to you', checked = showVehicleDimensions, args = {'show_vehicle_dimensions'}, close = false}
        index += 1

        menuOptions[index] = {label = 'Show Prop Dimensions', description = 'Draws the model outlines for every prop that\'s currently close to you', checked = showPropDimensions, args = {'show_prop_dimensions'}, close = false}
        index += 1

        menuOptions[index] = {label = 'Show Ped Dimensions', description = 'Draws the model outlines for every ped that\'s currently close to you', checked = showPedDimensions, args = {'show_ped_dimensions'}, close = false}
        index += 1

        menuOptions[index] = {label = 'Show Entity Handles', description = 'Draws the the entity handles for all close entities (you must enable atleast one of the dimension options above for this to work)', checked = showEntityHandles, args = {'show_entity_handles'}, close = false}
        index += 1

        menuOptions[index] = {label = 'Show Entity Models', description = 'Draws the the entity models for all close entities (you must enable atleast one of the dimension options above for this to work)', checked = showEntityModels, args = {'show_entity_models'}, close = false}
        index += 1

        menuOptions[index] = {label = 'Show Network Owners', description = 'Draws the the entity network owner for all close entities (you must enable atleast one of the dimension options above for this to work)', checked = showEntityNetworkOwners, args = {'show_network_owners'}, close = false}
        index += 1

        menuOptions[index] = {label = 'Show Dimensions Radius', description = 'Show entity model/handle/dimension draw range', values = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', 'Infinite'}, defaultIndex = 1, args = {'show_dimensions_radius'}, close = false}
        index += 1
    end

    if perms.Modify_Timecycle then
        menuOptions[index] = {label = 'Enable Timecycle Modifier', description = 'Enable or disable the timecycle modifier from the list below', checked = enableTimecycleModifier, args = {'enable_timecycle_modifier'}, close = false}
        index += 1

        menuOptions[index] = {label = 'Timecycle Modifier', description = 'Select a timecycle modifier and enable the checkbox above', values = timeCycles, defaultIndex = timeCycleIndex, args = {'timecycle_modifier'}, close = false}
        index += 1

        menuOptions[index] = {label = 'Timecycle Modifier Intensity', description = 'Set the timecycle modifier intensity', values = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20'}, defaultIndex = 2, args = {'timecycle_strength'}, close = false}
        index += 1
    end

    if perms.EntitySpawner then
        menuOptions[index] = {label = 'Entity Spawner', args = {'bMenu_misc_options_developer_options_spawner'}}
        index += 1
    end

    lib.registerMenu({
        id = 'bMenu_misc_options_developer_options',
        title = 'Development Tools',
        position = MenuPosition,
        onSelected = function(selected)
            MenuIndexes['bMenu_misc_options_developer_options'] = selected
        end,
        onClose = function(keyPressed)
            CloseMenu(false, keyPressed, 'bMenu_misc_options')
        end,
        onCheck = function(selected, checked, args)
            if args[1] == 'show_coords' then
                showCoords = checked
                lib.setMenuOptions('bMenu_misc_options_developer_options', {label = 'Show Coordinates', description = 'Show your current coordinates at the top of your screen', checked = checked, args = {'show_coords'}, close = false}, selected)
            elseif args[1] == 'show_vehicle_dimensions' then
                showVehicleDimensions = checked
                lib.setMenuOptions('bMenu_misc_options_developer_options', {label = 'Show Vehicle Dimensions', description = 'Draws the model outlines for every vehicle that\'s currently close to you', checked = checked, args = {'show_vehicle_dimensions'}, close = false}, selected)
            elseif args[1] == 'show_prop_dimensions' then
                showPropDimensions = checked
                lib.setMenuOptions('bMenu_misc_options_developer_options', {label = 'Show Prop Dimensions', description = 'Draws the model outlines for every prop that\'s currently close to you', checked = checked, args = {'show_prop_dimensions'}, close = false}, selected)
            elseif args[1] == 'show_ped_dimensions' then
                showPedDimensions = checked
                lib.setMenuOptions('bMenu_misc_options_developer_options', {label = 'Show Ped Dimensions', description = 'Draws the model outlines for every ped that\'s currently close to you', checked = checked, args = {'show_ped_dimensions'}, close = false}, selected)
            elseif args[1] == 'show_entity_handles' then
                showEntityHandles = checked
                lib.setMenuOptions('bMenu_misc_options_developer_options', {label = 'Show Entity Handles', description = 'Draws the the entity handles for all close entities (you must enable atleast one of the dimension options above for this to work)', checked = checked, args = {'show_entity_handles'}, close = false}, selected)
            elseif args[1] == 'show_entity_models' then
                showEntityModels = checked
                lib.setMenuOptions('bMenu_misc_options_developer_options', {label = 'Show Entity Models', description = 'Draws the the entity models for all close entities (you must enable atleast one of the dimension options above for this to work)', checked = checked, args = {'show_entity_models'}, close = false}, selected)
            elseif args[1] == 'show_network_owners' then
                showEntityNetworkOwners = checked
                lib.setMenuOptions('bMenu_misc_options_developer_options', {label = 'Show Network Owners', description = 'Draws the the entity network owner for all close entities (you must enable atleast one of the dimension options above for this to work)', checked = checked, args = {'show_network_owners'}, close = false}, selected)
            elseif args[1] == 'enable_timecycle_modifier' then
                enableTimecycleModifier = checked
                ClearTimecycleModifier()
                if enableTimecycleModifier then
                    SetTimecycleModifier(timeCycle)
                    SetTimecycleModifierStrength(timeCycleStrength)
                end
                lib.setMenuOptions('bMenu_misc_options_developer_options', {label = 'Enable Timecycle Modifier', description = 'Enable or disable the timecycle modifier from the list below', checked = checked, args = {'enable_timecycle_modifier'}, close = false}, selected)
            end
        end,
        onSideScroll = function(selected, scrollIndex, args)
            if args[1] == 'show_dimensions_radius' then
                local newIndex = scrollIndex - 1
                dimensionsRadius = newIndex == 21 and 9999 or (newIndex / 20) * 2000
                lib.setMenuOptions('bMenu_misc_options_developer_options', {label = 'Show Dimensions Radius', description = 'Show entity model/handle/dimension draw range', values = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', 'Infinite'}, defaultIndex = scrollIndex, args = {'show_dimensions_radius'}, close = false}, selected)
            elseif args[1] == 'timecycle_modifier' then
                if enableTimecycleModifier then
                    local curTimeCycle = timeCycles[scrollIndex]
                    ClearTimecycleModifier()
                    SetTimecycleModifier(curTimeCycle)
                    SetTimecycleModifierStrength(timeCycleStrength)
                    timeCycle = curTimeCycle
                end
                lib.setMenuOptions('bMenu_misc_options_developer_options', {label = 'Timecycle Modifier', description = 'Select a timecycle modifier and enable the checkbox above', values = timeCycles, defaultIndex = scrollIndex, args = {'timecycle_modifier'}, close = false}, selected)
            elseif args[1] == 'timecycle_strength' then
                if enableTimecycleModifier then
                    local strength = (scrollIndex - 1) / 20
                    ClearTimecycleModifier()
                    SetTimecycleModifier(timeCycle)
                    SetTimecycleModifierStrength(strength)
                    timeCycleStrength = strength
                end
                lib.setMenuOptions('bMenu_misc_options_developer_options', {label = 'Timecycle Modifier Intensity', description = 'Set the timecycle modifier intensity', values = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20'}, defaultIndex = scrollIndex, args = {'timecycle_strength'}, close = false}, selected)
            end
        end,
        options = menuOptions
    }, function(_, _, args)
        if args[1] == 'clear_area' then
            TriggerServerEvent('bMenu:server:clearArea', GetEntityCoords(cache.ped))
        elseif string.find(args[1], 'bMenu') then
            if args[1] == 'bMenu_misc_options_developer_options_spawner' then
                createSpawnerMenu()
            end

            lib.showMenu(args[1], MenuIndexes[args[1]])
        end
    end)
end

--#endregion Functions

--#region Events

RegisterNetEvent('bMenu:client:clearArea', function(pos)
    -- Make sure this is only triggered from the server
    if GetInvokingResource() then return end
    ClearAreaLeaveVehicleHealth(pos.x, pos.y, pos.z, 100, false, false, false, false)
end)

--#endregion Events

--#region Threads

CreateThread(function()
    while true do
        Wait(0)
        local coords
        if showCoords then
            coords = not coords and GetEntityCoords(cache.ped) or coords
            SetScriptGfxAlign(0, 84)
            SetScriptGfxAlignParams(0, 0, 0, 0)
            local screenWidth = GetActiveScreenResolution()
            DrawTextOnScreen(('~r~X~s~ \t\t%s\n~r~Y~s~ \t\t%s\n~r~Z~s~ \t\t%s\n~r~Heading~s~ \t%s'):format(coords.x, coords.y, coords.z, GetEntityHeading(cache.ped)), 0.5 - (30 / screenWidth), 0, 0.5, 1, 6, false)
            ResetScriptGfxAlign()
        end

        if showVehicleDimensions then
            local vehiclePool = GetGamePool('CVehicle')
            coords = not coords and GetEntityCoords(cache.ped) or coords
            for i = 1, #vehiclePool do
                local vehicle = vehiclePool[i]
                local position = GetEntityCoords(vehicle)
                if IsEntityOnScreen(vehicle) and #(coords - position) < dimensionsRadius then
                    drawEntityBoundingBox(vehicle, 250, 150, 0, 100)

                    if showEntityHandles then
                        SetDrawOrigin(position.x, position.y, position.z, 0)
                        DrawTextOnScreen(('Vehicle Handle: %s'):format(vehicle), 0, 0, 0.3, 0, 0, false)
                        ClearDrawOrigin()
                    end

                    if showEntityModels then
                        SetDrawOrigin(position.x, position.y, position.z - 0.3, 0)
                        local model = GetEntityModel(vehicle)
                        DrawTextOnScreen(('Vehicle Model: %s / %s / 0x%x'):format(GetEntityArchetypeName(vehicle), model, model), 0, 0, 0.3, 0, 0, false)
                        ClearDrawOrigin()
                    end

                    if showEntityNetworkOwners then
                        local networkOwner = NetworkGetEntityOwner(vehicle)
                        if networkOwner ~= 0 then
                            SetDrawOrigin(position.x, position.y, position.z + 0.3, 0)
                            DrawTextOnScreen(('Owner ID: %s | %s'):format(GetPlayerServerId(networkOwner), GetPlayerName(networkOwner)), 0, 0, 0.3, 0, 0, false)
                            ClearDrawOrigin()
                        end
                    end
                end
            end
        end

        if showPropDimensions then
            local objectPool = GetGamePool('CObject')
            coords = not coords and GetEntityCoords(cache.ped) or coords
            for i = 1, #objectPool do
                local object = objectPool[i]
                local position = GetEntityCoords(object)
                if IsEntityOnScreen(object) and #(coords - position) < dimensionsRadius then
                    drawEntityBoundingBox(object, 255, 0, 0, 100)

                    if showEntityHandles then
                        SetDrawOrigin(position.x, position.y, position.z, 0)
                        DrawTextOnScreen(('Prop Handle: %s'):format(object), 0, 0, 0.3, 0, 0, false)
                        ClearDrawOrigin()
                    end

                    if showEntityModels then
                        SetDrawOrigin(position.x, position.y, position.z - 0.3, 0)
                        local model = GetEntityModel(object)
                        DrawTextOnScreen(('Prop Model: %s / %s / 0x%x'):format(GetEntityArchetypeName(object), model, model), 0, 0, 0.3, 0, 0, false)
                        ClearDrawOrigin()
                    end

                    if showEntityNetworkOwners then
                        local networkOwner = NetworkGetEntityOwner(object)
                        if networkOwner ~= 0 then
                            SetDrawOrigin(position.x, position.y, position.z + 0.3, 0)
                            DrawTextOnScreen(('Owner ID: %s | %s'):format(GetPlayerServerId(networkOwner), GetPlayerName(networkOwner)), 0, 0, 0.3, 0, 0, false)
                            ClearDrawOrigin()
                        end
                    end
                end
            end
        end

        if showPedDimensions then
            local pedPool = GetGamePool('CPed')
            coords = not coords and GetEntityCoords(cache.ped) or coords
            for i = 1, #pedPool do
                local ped = pedPool[i]
                local position = GetEntityCoords(ped)
                if IsEntityOnScreen(ped) and #(coords - position) < dimensionsRadius then
                    drawEntityBoundingBox(ped, 50, 255, 50, 100)

                    if showEntityHandles then
                        SetDrawOrigin(position.x, position.y, position.z, 0)
                        DrawTextOnScreen(('Ped Handle: %s'):format(ped), 0, 0, 0.3, 0, 0, false)
                        ClearDrawOrigin()
                    end

                    if showEntityModels then
                        SetDrawOrigin(position.x, position.y, position.z - 0.3, 0)
                        local model = GetEntityModel(ped)
                        DrawTextOnScreen(('Ped Model: %s / %s / 0x%x'):format(GetEntityArchetypeName(ped), model, model), 0, 0, 0.3, 0, 0, false)
                        ClearDrawOrigin()
                    end

                    if showEntityNetworkOwners then
                        local networkOwner = NetworkGetEntityOwner(ped)
                        if networkOwner ~= 0 then
                            SetDrawOrigin(position.x, position.y, position.z + 0.3, 0)
                            DrawTextOnScreen(('Owner ID: %s | %s'):format(GetPlayerServerId(networkOwner), GetPlayerName(networkOwner)), 0, 0, 0.3, 0, 0, false)
                            ClearDrawOrigin()
                        end
                    end
                end
            end
        end
    end
end)

CreateThread(function()
    local headingOffset = 0
    while true do
        Wait(0)
        if spawningActive and currentEntity ~= 0 then
            if curScaleform == -1 then
                curScaleform = RequestScaleformMovie('INSTRUCTIONAL_BUTTONS')
                while not HasScaleformMovieLoaded(curScaleform) do
                    Wait(100)
                end

                BeginScaleformMovieMethod(curScaleform, 'CLEAR_ALL')
                EndScaleformMovieMethod()

                BeginScaleformMovieMethod(curScaleform, 'SET_DATA_SLOT')
                ScaleformMovieMethodAddParamInt(0)
                PushScaleformMovieMethodParameterString('~INPUT_VEH_FLY_ROLL_LR~')
                PushScaleformMovieMethodParameterString('Rotate Object')
                EndScaleformMovieMethod()

                BeginScaleformMovieMethod(curScaleform, 'DRAW_INSTRUCTIONAL_BUTTONS')
                ScaleformMovieMethodAddParamInt(0)
                EndScaleformMovieMethod()
            end

            DrawScaleformMovieFullscreen(curScaleform, 255, 255, 255, 255, 0)

            FreezeEntityPosition(currentEntity, true)
            SetEntityInvincible(currentEntity, true)
            SetEntityCollision(currentEntity, false, false)
            SetEntityAlpha(currentEntity, 102, false)
            SetEntityHeading(currentEntity, (GetGameplayCamRot(0).z + headingOffset) % 360)

            -- Borrowed from ox_target (https://github.com/overextended/ox_target/blob/main/client/utils.lua)
            -- This doesn't work yet somehow, so please fix if you get to it or I will do it either way, problem is it keeps not hitting anything with the shapetest
            local coords, normal = GetWorldCoordFromScreenCoord(0.5, 0.5)
            local destination = coords + normal * 10
            local handle = StartShapeTestLosProbe(coords.x, coords.y, coords.z, destination.x, destination.y, destination.z, 511 --[[511 means include everything]], cache.ped, 4)
            local _, _, newPosition = GetShapeTestResultIncludingMaterial(handle)

            SetEntityCoords(currentEntity, newPosition.x, newPosition.y, newPosition.z, false, false, false, false)

            if GetEntityHeightAboveGround(currentEntity) < 3 then
                PlaceObjectOnGroundProperly(currentEntity)
            end

            if IsControlPressed(0, 108) then
                headingOffset += rotateSpeed * GetFrameTime()
            elseif IsControlPressed(0, 109) then
                headingOffset -= rotateSpeed * GetFrameTime()
            end

            FreezeEntityPosition(currentEntity, false)
            SetEntityInvincible(currentEntity, false)
            SetEntityCollision(currentEntity, true, true)
            ResetEntityAlpha(currentEntity)
        elseif curScaleform ~= -1 then
            SetScaleformMovieAsNoLongerNeeded(curScaleform)
            curScaleform = -1
        end
    end
end)

--#endregion Threads
