UI.AddLabel(" == CUSTOM ASPECT RATIO ==");
UI.AddSliderFloat("Aspect Ratio",1.0,2.0); // you can customize limites here (1.0 - lowest, 2.0 - highest)
UI.AddLabel("1.33 is 4:3                  1.77 is 16:9");
UI.AddCheckbox("4:3 mode");
UI.AddCheckbox("16:9 mode");
UI.AddLabel("======================");

var aspect_cache = 0;

function aspect(){
	var aspect_slider = UI.GetValue("Aspect Ratio");
	var cht = UI.GetValue("4:3 mode");
	var shd = UI.GetValue("16:9 mode");
	
	
	if (cht != 0) {
		UI.SetValue("Aspect Ratio", 1.33333333);
		UI.SetValue("4:3 mode", 0);
	}
	
	if (shd != 0) {
		UI.SetValue("Aspect Ratio", 1.77777777);
		UI.SetValue("16:9 mode", 0);
	}
	
	if (aspect_cache != aspect_slider) {
		aspect_cache = aspect_slider;
		UI.SetValue("Misc", "GENERAL", "Miscellaneous", "Hidden cvars", 1);
		Global.ExecuteCommand("r_aspectratio " + aspect_slider);
	}
}

Cheat.RegisterCallback("CreateMove","aspect");

UI.AddCheckbox("Buy logs");
function BuyLogs(){
    Global.Print('k')
    if (UI.GetValue("Misc", "JAVASCRIPT", "Script Items", "Buy logs")) {
        var ent = Entity.GetEntityFromUserID(Event.GetInt('userid'))
        var team = Event.GetInt('team')
        if (team != Entity.GetProp(Entity.GetLocalPlayer(), "CBaseEntity", "m_iTeamNum")) {
            var item = Event.GetString('weapon')
            item = item.replace("weapon_", "")
            item = item.replace("item_", "")
            item = item.replace("assaultsuit", "kevlar + helmet")
            item = item.replace("incgrenade", "molotov")
            if (item != "unknown") {
                var name = Entity.GetName(ent)
                Global.PrintChat(" \x01[\x06onetap.su\x01] \x04" + name + " \x01bought \x04" + item + " \n");
            }
        }
    }
}
Global.RegisterCallback("item_purchase", "BuyLogs");

var easing = {
	lerp: function(a, b, percentage) {
		return a + (b - a) * percentage
	}
}

var anti_aimbot = {
	get_desync: function() {
	    var RealYaw = Local.GetRealYaw();
	    var FakeYaw = Local.GetFakeYaw();
	    var delta = Math.min(Math.abs(RealYaw - FakeYaw) / 2, 58).toFixed(1);

	    return delta
	}
}

Render.OutlineStringCustom = function(x, y, alignid, text, color, font) {
    Render.StringCustom(x - 1, y - 1, alignid, text, [0, 0, 0, color[3]], font);
    Render.StringCustom(x - 1, y, alignid, text, [0, 0, 0, color[3]], font); 

    Render.StringCustom(x - 1, y + 1, alignid, text, [0, 0, 0, color[3]], font);   
    Render.StringCustom(x, y + 1, alignid, text, [0, 0, 0, color[3]], font);

    Render.StringCustom(x, y - 1, alignid, text, [0, 0, 0, color[3]], font);
    Render.StringCustom(x + 1, y - 1, alignid, text, [0, 0, 0, color[3]], font);

    Render.StringCustom(x + 1, y, alignid, text, [0, 0, 0, color[3]], font);
    Render.StringCustom(x + 1, y + 1, alignid, text, [0, 0, 0, color[3]], font);

    Render.StringCustom(x, y, alignid, text, color, font);
}

var vars = {
	anim_x_stand: 0,
	anim_y_stand: 0,
	anim_alpha_stand: 0,
	anim_y_os: 0,
	anim_line: 0,
	anim_width_sp: 0,
	default_height: 65,
	default_width: 170
}

UI.AddColorPicker("Main color")

UI.AddSliderInt("Add x", -1000, 1000)
UI.AddSliderInt("Add y", -1000, 1000)

UI.AddCheckbox("Enable line")

UI.SetValue("Script Items", "Add x", -20)
UI.SetValue("Script Items", "Add y", 30)

UI.SetColor("Script Items", "Main color", [255, 255, 255, 255])

var render_holo_panel = function() {
	var local = Entity.GetLocalPlayer()

	var fonts = {
		verdana_7: Render.AddFont("Verdana", 7, 400),
		small_font: Render.AddFont("Small fonts", 5, 400)
	}

	var body_yaw = anti_aimbot.get_desync()

    var hitbox = Entity.GetHitboxPosition(local, 3)
    var world_stand = Render.WorldToScreen(hitbox)

    var color = UI.GetColor("Script Items", "Main color")
    var color_fake = [170 + (154 - 186) * body_yaw / 60 , 0 + (255 - 0) * body_yaw / 60 , 16 + (0 - 16) * body_yaw / 60 , 255]

    if (UI.IsHotkeyActive("Visuals", "World", "View", "Thirdperson")) {
	    vars.anim_x_stand = easing.lerp(vars.anim_x_stand, world_stand[0], Globals.Frametime() * 8)
	    vars.anim_y_stand = easing.lerp(vars.anim_y_stand, world_stand[1], Globals.Frametime() * 8)

	    vars.anim_alpha_stand = easing.lerp(vars.anim_alpha_stand, 1, Globals.Frametime() * 22)
    } else {
	    vars.anim_alpha_stand = easing.lerp(vars.anim_alpha_stand, 0, Globals.Frametime() * 22)

	    if (vars.anim_alpha_stand <= 0) {
		    anim_x_stand = 0
		    anim_y_stand = 0
		}
    }

    if (UI.IsHotkeyActive("Rage", "Exploits", "Doubletap")) {
		vars.default_height = easing.lerp(vars.default_height, 78, Globals.Frametime() * 8)
		vars.anim_y_os = easing.lerp(vars.anim_y_os, 0, Globals.Frametime() * 8)
		vars.anim_line = easing.lerp(vars.anim_line, 75, Globals.Frametime() * 8)
    } else {
		vars.default_height = easing.lerp(vars.default_height, 65, Globals.Frametime() * 8)
		vars.anim_y_os = easing.lerp(vars.anim_y_os, -15, Globals.Frametime() * 8)
		vars.anim_line = easing.lerp(vars.anim_line, 85, Globals.Frametime() * 8)
    }

    vars.anim_width_sp = easing.lerp(vars.anim_width_sp, (28 / 58) * body_yaw, Globals.Frametime() * 4)

	var add_y = UI.GetValue("Script Items", "Add y")
	var add_x = UI.GetValue("Script Items", "Add x")
	var add_line_x = 100

	if (add_x <= -280) {
		add_line_x = 100 + vars.default_width
	}

	Render.FilledRect(vars.anim_x_stand + 100 + add_x, vars.anim_y_stand - 150 + add_y, vars.default_width, vars.default_height, [15, 15, 15, 100 * vars.anim_alpha_stand])
	Render.FilledRect(vars.anim_x_stand + 100 + add_x, vars.anim_y_stand - 150 + add_y, vars.default_width, 2, [color[0], color[1], color[2], 255 * vars.anim_alpha_stand])

	if (UI.GetValue("Script Items", "Enable line")) {
		Render.Line(vars.anim_x_stand, vars.anim_y_stand, vars.anim_x_stand + add_line_x + add_x, vars.anim_y_stand - vars.anim_line + add_y, [255, 255, 255, 125 * vars.anim_alpha_stand]);
	}

    Render.OutlineStringCustom(vars.anim_x_stand + 107 + add_x, vars.anim_y_stand - 143 + add_y, 0, "ANTI-AIMBOT DEBUG", [255, 255, 255, 255 * vars.anim_alpha_stand], fonts.small_font)

    var dec = [ color_fake[0] - (color_fake[0] / 100 * 50), color_fake[1] - (color_fake[1] / 100 * 50), color_fake[2] - (color_fake[2] / 100 * 50) ]

    Render.GradientRect(vars.anim_x_stand + 107 + add_x, vars.anim_y_stand - 125 + add_y - 4, 2, 18 / 2, 0, [dec[0], dec[1], dec[2], 0 * vars.anim_alpha_stand], [color_fake[0], color_fake[1], color_fake[2], 255 * vars.anim_alpha_stand]);
    Render.GradientRect(vars.anim_x_stand + 107 + add_x, vars.anim_y_stand - 125 + add_y + 18 / 2 - 4, 2, 18 / 2, 0, [color_fake[0], color_fake[1], color_fake[2], 255 * vars.anim_alpha_stand], [dec[0], dec[1], dec[2], 0 * vars.anim_alpha_stand]);

    var f_text = "FAKE (" + body_yaw.toString() + ")"
    Render.StringCustom(vars.anim_x_stand + 115 + add_x, vars.anim_y_stand - 122 + add_y - 5, 0, f_text, [255, 255, 255, 255 * vars.anim_alpha_stand], fonts.verdana_7);

    Render.OutlineStringCustom(vars.anim_x_stand + 107 + add_x, vars.anim_y_stand - 102 + add_y, 0, "SP:", [255, 255, 255, 255 * vars.anim_alpha_stand], fonts.small_font)

    Render.FilledRect(vars.anim_x_stand + 123 + add_x, vars.anim_y_stand - 102 + add_y + 2, 28, 7, [15, 15, 15, 100 * vars.anim_alpha_stand])
    Render.FilledRect(vars.anim_x_stand + 123 + 28 + 5 + add_x, vars.anim_y_stand - 102 + add_y + 2, 28, 7, [15, 15, 15, 100 * vars.anim_alpha_stand])

    if (Local.GetRealYaw() - Local.GetFakeYaw() > 0) {
        Render.FilledRect(vars.anim_x_stand + 123 + add_x, vars.anim_y_stand - 102 + add_y + 2, vars.anim_width_sp, 7, [color[0], color[1], color[2], 255 * vars.anim_alpha_stand])
    } else if (Local.GetRealYaw() - Local.GetFakeYaw() < 0){
        Render.FilledRect(vars.anim_x_stand + 123 + 28 + 5 + add_x, vars.anim_y_stand - 102 + 2 + add_y, vars.anim_width_sp, 7, [color[0], color[1], color[2], 255 * vars.anim_alpha_stand])
    }

    var realtime = Globals.Realtime() % 3
    var alpha = Math.floor(Math.sin(realtime * 4) * (255 / 2 - 1) + 255 / 2)

    if (UI.IsHotkeyActive("Rage", "Exploits", "Doubletap")) {
    	Render.OutlineStringCustom(vars.anim_x_stand + 107 + add_x, vars.anim_y_stand - 88 + add_y, 0, "SHIFTING TICKBASE", [255, 255, 255, alpha * vars.anim_alpha_stand], fonts.small_font)
    }

    var state_os = "OFF"
    var os_color = [255, 0, 0, 255]

    if (UI.IsHotkeyActive("Rage", "Exploits", "Hide shots")) {
    	state_os = "ON"
    	os_color = [0, 255, 0, 255]
    }

    Render.OutlineStringCustom(vars.anim_x_stand + 100 + vars.default_width - 13 - Render.TextSizeCustom(state_os, fonts.small_font)[0] / 2 + add_x, vars.anim_y_stand - 88 + vars.anim_y_os + add_y, 0, state_os, [os_color[0], os_color[1], os_color[2], 255 * vars.anim_alpha_stand], fonts.small_font)
    Render.OutlineStringCustom(vars.anim_x_stand + 100 + vars.default_width - 13 - Render.TextSizeCustom(state_os, fonts.small_font)[0] / 2 - 24 + add_x, vars.anim_y_stand - 88 + vars.anim_y_os + add_y, 0, "OSAA:", [255, 255, 255, 255 * vars.anim_alpha_stand], fonts.small_font)
}
Cheat.RegisterCallback("Draw", "render_holo_panel")

var oldHitChance = UI.GetValue("Rage", "SCOUT", "Accuracy", "Hitchance");
var oldAccBoost = UI.GetValue("Rage", "SCOUT", "Accuracy", "Accuracy boost");

UI.AddCheckbox("Jumpscout Hitchance");
UI.AddSliderInt("Hitchance", 1, 100);
UI.AddSliderInt("Accuracy Boost", 1, 100);

var isInAir = function(){
if(Global.IsKeyPressed((0x20))){
return true;
}else{
return false;
}
}

function updateValues(){
if(isInAir()){
var Hitchance = UI.GetValue("Script Items","Hitchance");
var AccuracyBoost = UI.GetValue("Script Items", "Accuracy Boost");
UI.SetValue("Rage", "SCOUT", "Accuracy", "Hitchance", Hitchance);
UI.SetValue("Rage", "SCOUT", "Accuracy", "Accuracy boost", AccuracyBoost);
}else{
UI.SetValue("Rage", "SCOUT", "Accuracy", "Hitchance", oldHitChance);
UI.SetValue("Rage", "SCOUT", "Accuracy", "Accuracy boost", oldAccBoost);
}
}

Global.RegisterCallback("CreateMove", "updateValues");

UI.AddCheckbox("New models")
UI.AddDropdown("Custom CT Model", ["None", "St.Marc | Collection", "Rezan the Redshirt", "Dragomir", "Dead Cold", "1st Lieutenant Farlow", "Safecracker Voltzmann", "Sir Bloody Darryl Miami", "Sir Bloody Darryl Skullhead", "Office | Collection", "Sir Bloody Darryl Loudmouth", "B Squadron Officer", "Little Kev", "Train | Collection", "Getaway Sally", "Train | Collection", "Train | Collection", "Bio-Haz Specialist", "Danger Zone | Collection", "Danger Zone | Collection", "Street Soldier", "NSWC Seal | 'Blueberries' Buckshot", "Number K"])
UI.AddDropdown("Custom T Model", ["None", "St.Marc | Collection", "Rezan the Redshirt", "Dragomir", "Dead Cold", "1st Lieutenant Farlow", "Safecracker Voltzmann", "Sir Bloody Darryl Miami", "Sir Bloody Darryl Skullhead", "Office | Collection", "Sir Bloody Darryl Loudmouth", "B Squadron Officer", "Little Kev", "Train | Collection", "Getaway Sally", "Train | Collection", "Train | Collection", "Bio-Haz Specialist", "Danger Zone | Collection", "Danger Zone | Collection", "Street Soldier", "NSWC Seal | 'Blueberries' Buckshot", "Number K"])

function onFSN(){
    if(Cheat.FrameStage() != 2)
        return
    var team = Entity.GetProp(Entity.GetLocalPlayer(),"DT_BaseEntity", "m_iTeamNum")
    if(!UI.GetValue("Script Items", "New models")){
        UI.SetEnabled("Script Items", "Custom CT Model", false)
        UI.SetEnabled("Script Items", "Custom T Model", false)
        return;
    }
    UI.SetEnabled("Script Items", "Custom T Model", true)
    UI.SetEnabled("Script Items", "Custom CT Model", true)
    if(team == 2){
        UI.SetValue("Misc", "SKINS", "Player", "Player model", UI.GetValue("Script Items", "Custom T Model"))
    }
    else if(team == 3){
        UI.SetValue("Misc", "SKINS", "Player", "Player model", UI.GetValue("Script Items", "Custom CT Model"))
    }
}
Cheat.RegisterCallback("FrameStageNotify","onFSN")

UI.AddSliderFloat("Noscope distance (m)", 0, 100);
var target = -1;
function CreateMove() {
    if(!Ragebot.GetTarget())
        target = closestTarget();
    else
        target = Ragebot.GetTarget();
    if(!Entity.IsAlive(target)) {
        UI.SetValue("Rage", "GENERAL", "General", "Auto scope", true);
        return;
    }
    if(get_metric_distance(Entity.GetRenderOrigin(Entity.GetLocalPlayer()), Entity.GetRenderOrigin(target)) < UI.GetValue("Script items", "Noscope distance (m)")) {
        UI.SetValue("Rage", "GENERAL", "General", "Auto scope", false);
    } else {
        UI.SetValue("Rage", "GENERAL", "General", "Auto scope", true);
    }
}
Cheat.RegisterCallback("CreateMove", "CreateMove");
function closestTarget() {
    var local = Entity.GetLocalPlayer();
    var enemies = Entity.GetEnemies();
    var dists = [];
    var damage = [];
    for(e in enemies) {
        if(!Entity.IsAlive(enemies[e]) || Entity.IsDormant(enemies[e]) || !Entity.IsValid(enemies[e])) continue;
        dists.push([enemies[e], calcDist(Entity.GetHitboxPosition(local, 0), Entity.GetHitboxPosition(enemies[e], 0))]);
    }
    dists.sort(function(a, b)
    {
        return a[1] - b[1];
    });
    if(dists.length == 0 || dists == []) return target = -1; 
    return dists[0][0];
}

// clean dist func, thanks rzr
function calcDist(a, b)
{
    x = a[0] - b[0];
    y = a[1] - b[1];
    z = a[2] - b[2];
    return Math.sqrt( x * x + y * y + z * z );
}

function get_metric_distance(a, b)
{
    return Math.floor(Math.sqrt(Math.pow(a[0] - b[0], 2) + Math.pow(a[1] - b[1], 2) + Math.pow(a[2] - b[2], 2)) * 0.0254 );
}

//region menu
UI.AddCheckbox("Enable Predict targeted hitbox");
//endregion

//region functions
//region Render
Render.FadedCircle = function(x, y, radius, color) {
    const step = color[3] / radius;

    for (var i = 0; i <= radius; i++) {
        Render.FilledCircle(x, y, i, [color[0], color[1], color[2], color[3] - step * i]);
    }
}
//endregion

//region Math
function radToDeg(radians) {
    return radians * 180 / Math.PI;
}
//endregion

//region Utilities
var Cache = {
    values: []
};

Cache.InvokeCallback = function(label, state, func, args) {
    if (this.values[label] == null)
        this.values[label] = null;
    
    if (this.values[label] === state)
        return;
    
    this.values[label] = state;

    func.apply(null, args);
}
//endregion

//region Targeting
var Targeting = {
    currentData: {target: null, hitbox: 0, last_hitbox: -1},
    
    hitboxMap: [6, 5, 4, 3, 2],

    weaponId: [
        [2, 3, 4, 30, 32, 36, 61, 63],
        [1, 64],
        [40],
        [9],
        [11, 38]
    ],
    
    configuration: [
        "GENERAL",
        "PISTOL",
        "HEAVY PISTOL",
        "SCOUT",
        "AWP",
        "AUTOSNIPER"
    ],

    HITBOX: {
        "UNSURE": -1,
        "BODY": 3,
        "HEAD": 0
    }
};

Targeting.FindOptimalTarget = function() {
    const players = Entity.GetEnemies();
    const me = Entity.GetLocalPlayer();

    if (!me || !Entity.IsAlive(me))
        return null;

    const eye_position = Entity.GetEyePosition(me);
    const view_angles = Local.GetViewAngles();

    var data = {fov: 180, id: null};

    for (var i = 0; i < players.length; i++) {
        const e = players[i];

        if (!Entity.IsAlive(e) || Entity.IsDormant(e))
            continue;

        const head_position = Entity.GetHitboxPosition(e, 0);
        const sub = [head_position[0] - eye_position[0], head_position[1] - eye_position[1], head_position[2] - eye_position[2]];
        
        const pitch = -radToDeg(Math.atan2(sub[2], Math.sqrt(sub[0] ** 2 + sub[1] ** 2)));
        const yaw = radToDeg(Math.atan2(sub[1], sub[0]));

        const delta_x = Math.abs(view_angles[0] - pitch);
        const delta_y = Math.abs(view_angles[1] % 360 - yaw % 360) % 360;

        const fov = Math.sqrt(delta_x * delta_x + delta_y * delta_y);

        if (fov < data.fov) {
            data.fov = fov;
            data.id = e;
        }
    }

    return data.id;
}

Targeting.GetNextTargetedHitbox = function(e) {
    if (!e)
        return this.HITBOX.UNSURE;

    const me = Entity.GetLocalPlayer();
    const wpn = Entity.GetWeapon(me);

    if (!me || !wpn)
        return this.HITBOX.UNSURE;

    const eye_position = Entity.GetEyePosition(me);
    
    const wpn_id = Entity.GetProp(wpn, "CBaseAttributableItem", "m_iItemDefinitionIndex") & 0xFFFF;
    const tab = "GENERAL";

    for (var i = 0; i < this.weaponId.length; i++)
        for (var j = 0; j < this.weaponId[i].length; j++)
            if (this.weaponId[i][j] === wpn_id)
                tab = this.configuration[i+1];

    const prefer_baim = UI.GetValue("Rage", tab, "Accuracy", "Prefer body aim");
    const is_head_aiming = UI.GetValue("Rage", tab, "Targeting", "Hitboxes") & (1 << 0);

    if (prefer_baim)
        return this.HITBOX.BODY;
        
    if (!is_head_aiming)
        return this.HITBOX.BODY;
        
    const head = Trace.Bullet(me, e, eye_position, Entity.GetHitboxPosition(e, 0));
    const stomach = Trace.Bullet(me, e, eye_position, Entity.GetHitboxPosition(e, 3));
    const health = Entity.GetProp(e, "CBasePlayer", "m_iHealth");

    /*for (var i = 0; i < this.hitboxMap.length; i++) {
        const body_dmg = Trace.Bullet(me, e, eye_position, Entity.GetHitboxPosition(e, this.hitboxMap[i]))[1];

        if (body_dmg > dmg)
            return this.HITBOX.BODY;
    }*/

    if (!head[2] && this.currentData.last_hitbox === 0)
    {
        if (health < 25)
            return this.HITBOX.BODY;

        return this.HITBOX.HEAD;
    }

    this.currentData.last_hitbox = -1;

    if (health < stomach[1])
    {
        return this.HITBOX.BODY;
    }            

    return this.HITBOX.HEAD;
}
//endregion

//region Callbacks
function hkCreateMove() {
    const enabled = UI.GetValue("Misc", "JAVASCRIPT", "Script items", "Enable Predict targeted hitbox");

    if (!enabled)
        return;

    const target = Targeting.FindOptimalTarget();
    const hitbox = Targeting.GetNextTargetedHitbox(target);

    Targeting.currentData.target = target;
    Targeting.currentData.hitbox = hitbox;
}

function hkRagebotFire() {
    const enabled = UI.GetValue("Misc", "JAVASCRIPT", "Script items", "Enable Predict targeted hitbox");

    if (!enabled)
        return;

    const target = Event.GetInt("target_index");

    if (target !== Targeting.currentData.target)
        return;
    
    Targeting.currentData.last_hitbox = Event.GetInt("hitbox");
}

function hkDraw() {
    const enabled = UI.GetValue("Misc", "JAVASCRIPT", "Script items", "Enable Predict targeted hitbox");

    if (!enabled)
        return;
    
    const me = Entity.GetLocalPlayer();

    if (!me || !Entity.IsAlive(me))
        return;

    if (!Targeting.currentData.target || !Entity.IsAlive(Targeting.currentData.target) || Targeting.currentData.hitbox < 0)
        return;

    const wts = Render.WorldToScreen(Entity.GetHitboxPosition(Targeting.currentData.target, Targeting.currentData.hitbox));
    const ssize = Render.GetScreenSize();

    if (!wts)
        return;

    if (wts[0] < 0 || wts[0] > ssize[0] || wts[1] < 0 || wts[1] > ssize[1])
        return;
    
    Render.FadedCircle(wts[0], wts[1], 15, [25, 10, 230, 75]);
}

Cheat.RegisterCallback("CreateMove", "hkCreateMove");
Cheat.RegisterCallback("Draw", "hkDraw");
Cheat.RegisterCallback("ragebot_fire", "hkRagebotFire");
//endregion
//endregion

var _0x4dcf = ['cMK2w7HDvcKMwrTCscOUJH4=', 'w7LDv8Ozw7p1wq/CvngzbCrDpDlHOMKhCg==', 'w6fDvA3CgcOewrw=', 'wpoDw4dFHnTDhsOCVhoZXA==', 'w5zCmcKvw7jDkTLDt2LDqgXDqUU=', 'w6FYw65wdHLDng==', 'U0XDicKZBMOMRA==', 'wqfDpwEV', 'Rn7Clg15CR0VJsOS', 'a3LCjCE7fw==', 'IMKfwq7Csk7DqMOMw77DjQ==', 'RFjClig9XcOwwoTCogHDjsKNwqfCmHsB', 'CGzCl8O7Xz0=', 'w4jCtynDqi0VNw7CpEI=', 'w6HDuGpfw5fDj8K7ZcKFWA==', 'w4HCjTPDmzoAeiXCsEgQwqg=', 'w4dfw6k=', 'CW3Du8Oif8OYwrlgQEjDvcK4BCQ=', 'Wz5ASz0=', 'T1XCo8OGAcOgDgzChA==', 'w4xKw7wxw4TCvypkwp7CmxgPw6xOM8Oy', 'HU0wQGgnLg==', 'wpLDlHB7w5rDjcKse8KBSMKGwrnCvCkiw7LDicOCY0XDpgbCtXI=', 'Q8OZwoHCr8KKwq3CsMOeO3w8', 'wpUuE8KOGMKRw57CicK1', 'WcK8woDCv1/Cv8O/w6DCgQ==', 'R8O6aiXCmhY=', 'w5/CncOZ', 'Dkk2aWw+IlTCvw==', 'w4LCui5ewojDt8OJ', 'RVnCpMOy', 'fnXCiy5yNxAMNw==', 'QsO+wpkga8O7w644wp7Dkw==', 'QyTDrnNdwrnCnEjDgw==', 'w5HCksK2w4o=', 'CcKWwpw5wprDicOK', 'w43CjSHDmjscNTQ=', 'w6LCssK0w5nDmjTDmGPDsQ==', 'w5hJasKGw4vDqg==', 'w6UhDsOwFMOHw7/CtiwJw5vCqVHCnjE=', 'bErCtWstwqdtwqRFOcOEw5hGw70Ew7Y6w4ppwrEMBwpW', 'wrTCrkbDr8KSwqTCq8K3', 'Y8O6YTU=', 'W1zCuMOmRMO2Hw/CgQ==', 'w6dIw65RNXzDlMKqwq54wrY=', 'w77CmsKxw47DjMO5w6BvYsK9wpfCpMKvLA==', 'ScKGIsKUasOIw6fDsMKuT8OQW0jDkWzCusOL', 'anXChSwqbsOYwofCuwc=', 'IcKdwrcAwp7DhcOfwrNSwovCuU/CqsKe', 'RsOtwoIpesOMw6g6wpY=', 'VcOpwoQLccOdw6w9wpTDkg==', 'csOYVQDCkwTDk8KnwpA=', 'w65Pw60NXUlZLV4=', 'wpvCi8Odw6odw4lHw5ho', 'w7XDuGpMw5jDgsKsbA==', 'RU1MLA==', 'w4zCr8K8w6LDmgXDmHbDoBTDtA==', 'w7bChC/DiWgDOyzCug==', 'w4HDtndqw6bDi8K3fcKJSMKa', 'w4N9w4k=', 'I8Kcwp4ewpXDgw==', 'HcKWwpwywpXDhcONwrBZwrA=', 'X8KrDMKjUg==', 'w6lEw606w4TDgDdiwpnCqggRw6g=', 'Bk3DjsO4ScKbwohFQ3DDk8KN', 'O0U1wrg6dsOmwqnCt8KrWw==', 'KkkIP3A1', 'woZ7w7VMdnrCm8K3wql3wrQuwrALREM=', 'wrEiE8KFEcKcw6/CksOj', 'VS1ofA==', 'bUDCs1wpwoFrwrNW', 'w7NJasK4w4vDqgHCqA==', 'NV3CjTp0DV8bIsOfdA==', 'w7DDtMOmw4x4wrjDuW01', 'KlR+P3UuWw==', 'QyTDrnJZwrTCmUI=', 'J0vCgsOgWwHDmyZrcVM=', 'wrg+E8KJ', 'wr4jw7J7JjjDicOzNw==', 'e07DosK6HsOMQA==', 'w7vDrArCgQ==', 'BEU1wqx1aMOWwqbCsMKtTTMNw5YK', 'UsO6aA/CmwrDtcKmwo9f', 'C0UgwoQ6e8OYwqPCjsK1XykJw4g=', 'WkFJIGRPf2c=', 'AFVHK3ovVsOcP8Ogw4vCvUfDhcKH', 'w4XCpyJYworDu8OUwrLDvw==', 'woPDpwcCwqUDw7HDiA==', 'VgN1bwV1J8KVw7oBDmk=', 'XnXCiy5ySBAMNw==', 'w50HwpYOw51x', 'w57CrMKpw4LDgsOaw6gjacK/wpPCscKxEsODw58=', 'w7NJasK8w4/DqBDCqMOcw7zCgsKPacOYAQ==', 'wonCmUM=', 'dsKrwpvCol3Cu8K2w7bDlA==', 'w6XDtMOkw7d1wrzDu3o=', 'w7IEw5UHUsOQHMOfwrkxw6w=', 'w6AQe0XDscOc', 'G8ONS8O+woDDosOg', 'SWfChw==', 'wqfCqkDDnsKWwrzCt8K8Cw==', 'SDLClcOoJBV5w7ADND0=', 'w6oPw6sHUcOfOsOcwqIcw6rCnsO/L8OcdF4=', 'w68Ue33DocObwqLDr8KjYQ==', 'QVd7IHpUe3vDqw==', 'M0YlbWo/OVvCrMOKwqbCo1PDhsOCW8KG', 'w4wSw7AYT8OTIsOXwqQ=', 'w4IEw4AnT8ORMw==', 'w6TDgMKcHcOIw7c=', 'w7DDtMOmw5R2wqnDv2QRZS3DuC5X', 'w4rDuhrCnMONwrHCo8OZ', 'w4nDrBXChcOawqQ=', 'R3rChS0=', 'HWvDoMObZA==', 'bTJVVzg8GcK7', 'N0Eq', 'QGF+GVEZSlzDjMOXeVE=', 'w4LCqzV2wofDtcODwrDDrsKB', 'XsKPw77CrsKHwrTCq8OtKXQp', 'w5jCvQlcwp3Dv8OEwqXDisKGwoxnw7rDqQ==', 'diNVXS89GMKo', 'w7lWw6lywpHCpw==', 'w5jCvQxWwofDocOuwqzDrsKL', 'wqpjw6Egw4LDunp4wpbCkwkMw6BGMcOj', 'dnrCjBdzByAdLsOR', 'w7ICwqwTacKjwpQ=', 'TTJVVzg8GcK7', 'KhvCnsOjZwA2w7EIISpKa3tl', 'N2zCl8OWUDDDlSt3cA==', 'w6p7woRtRknCtsKLw4I=', 'w7vDjsKNEQ==', 'CcKWwpwywoLDgcO/wrNPwr3Cq0/Ct8KV', 'w7JDbMKNw4/Djh3CucOMw5zCiMK1b8OXCn5D', 'w6bCgMK2w4nDhsKsw6o9Y8KywpvCocKtOg==', 'JEJcFnAzXcOdIMOvw5DCvUfDlcKLw6vDhA==', 'w50BwpYEw5ZCYMK8wr3Di1vCi8KyesOWw5Y6', 'wrs4LsOUwrpw', 'QyTDrnBZwqrCi0LDmQ==', 'w4dMw6A7w4zDqjcrwpPClAEdw6hK', 'w4UbNUPDrMOG', 'wrnDnsO/w6vDjsOtw6kqYsO8w53ClcK6LMKVw6cuw4BFw4LChRHDk8Kaw78xwrTDpD0+Bm1uH1A0w7fCisOsZ8OsDcKNYcK5DGkbwrPDnsKkwrw8w5EmwpnClA3DhQfDk0AbWsOIwqV2w53Cl8OrwpVEfkXDqMOmwodAw6EnYDHCgVgQw4NzOy/CjXfClcObw6QeGDnCjMKvMsKWw6rChsKNw6Jrwq7CqRNoacKJNcOGwr50w5RiwqENw7nDkcKHwodiw7xbV8OewrAJ', 'wqpjw6Egw4LDunpjwpLClAg=', 'w6p7woR7XU3CtsKCw4ZJw7M=', 'T1XCo8OHBcOtCwY=', 'wrvCrlPDj8KKw6jCrsK7HxBHLB9Hw6phVcKOw6g=', 'enXCvTt/Bws=', 'w41Aw7oEw4DDsy9u', 'w4DCgsKtw5M=', 'Lk5bPQ==', 'wpPCtcKww5XDgsOpwq0tZ8K1wpc=', 'wqPDpwcCw7Ybw7HDlcOWw4LCnVtwIlY=', 'w4QcYUHDrcOVwpPDqMKr', 'EcOSaDHCnAbDn8KwwoNMOMKzw4vCg8OtYsOoVMOTwoTCrsKrwqDCiQ==', 'w4IEw4AyU8OKKsONwqkFw7vCnsO8FMOKclh8UQ==', 'HMKSwo8S', 'w4XDisKEE8OSw7g=', 'LsKJwp7CilnDpMOdw7/Dlw==', 'wpjCm0DCmA==', 'CVw2Z2ctCE/Cq8ObwpbCqg==', 'WgN4eAU=', 'RcKXwoweIsKtXMO3wop/O8KDQGk9', 'w5TDucO3w7tywq/DulckZzjDqD9c', 'P8OJXMOGwpfDksO9w6nCqcKFK3cc', 'CMKSwoMSw5vDgMOawr9X', 'wrgoBMKTC8Kcw6LCiA==', 'w7PDik4=', 'dsO+cgXCjADDmMKswoNVOA==', 'w6EhCMOn', 'w4JNcsKbw4/DtQ==', 'XcO+aDfCiw0=', 'wpA3Z8OY', 'w7gZwogMdA==', 'WcK8woDCv1/Cvw==', 'WkVYKg==', 'CMKWwo0D', 'w5nDvB7CgMOMwqTCpcOSw4jChjMJZi13w70=', 'S2ZePG1pdnTDpsOmRA==', 'wqTCi0fCmBXCo8OGWHo=', 'w4lTw4VJcH7Di8KrwqZOwrc3wq0H', 'wqEzesOwwr1jwr4yw77CtA==', 'wqXCh0DCkw==', 'wqvDnxbCm8OcwrXDoMOCw6rCjjI=', 'wqJsw7YXX0AmPQlsw5g=', 'EMONS8OGwpPDoQ==', 'w6UhDsOiTcKXw6DCtjEJw4fCphDCkTtJw6VZEw==', 'w6DDnMKuG8OUw70jU8Kc', 'RGjCliQwbA==', 'H0Ugwo07ecObwqPCu8K9', 'w65Yw7ta', 'wrk4Z8OTwrYiwrMrw68=', 'C0Ugwp8wecOJwqDCsA==', 'QMKHNMKTdMKNwoTDqMK5WcOC', 'I2HCusO5wrnDuT8uRsOvQsOfdcKheA==', 'w5vDtMO8w79twqI=', 'wp8pw7B6KTM=', 'TktNLG1te2fDuMOmQlBnIsKwOVUKRTfDqsOZAcO9', 'ScKqwoXCr1/DoMKNw6PDmG46GQvDtTLDog==', 'w5hEw6k3', 'dsO+chnCkRE=', 'wrgeM8KpKsKzw4jCocODeQ==', 'aUZM', 'Tj9OdcKvw79E', 'RcKbC8KZcsOGwqLDucKdScOCV0zDlg==', 'w5YVw4YeU8OZAMOMwqM3w6bCnA==', 'w5TDqGpvw4vDi8KGZcKFSMKLw7jClBMiw6PDiMOV', 'ecKbKsKYYcOywqDDssK5RMOXWl/DgA==', 'w79/wpdL', 'wqjDgAcVwrM7w7LDncOBw5PCnA==', 'WSNAdTM2FsKww7k5IFw6w7U=', 'w4LCjQ5mwr0=', 'wrTCrkbDrsKWwqnCrsK9Ag==', 'Rhtf', 'HEU4wr48aw==', 'B2jCgMO7Ww7Dmi58S0XDqm0=', 'w5wLwpAxw5J6dMKr', 'wpUuE8KOGMKR', 'YW7ClC42asO7wovCqA==', 'ZcKXwoweIsKtXMO3woo=', 'w4LDqjHChsOLwrvCpcOZw4rChCsMcik=', 'wqLDsTAHwroCw7o=', 'Pg9aWD82AsKuw4ghJAUbw6JLwqzCnxozWnQdwqtP', 'Q2FHLHoiH8OBOcOZw5rCvkHDiMKMw7A=', 'eMKwwpo=', 'wqE2w5l/LjnDtMO4', 'w6ohG8OCVcObw6XCug==', 'w5PCiSzDiy0H', 'Q8KdwpMHLsKsQQ==', 'HU0wWGgmPl8=', 'HcOMW8OtwprDqMOzw6vCpcK1Nw==', 'esO1bzbCmkXDhcK3wpY=', 'REXDkcK/H8OQ', 'w6jDuMK6VMOFw78sW8KBIQ==', 'b8KJIMKeY8OywqXDr8K4U8OpU0o=', 'w4LDosO3w6pwwq4=', 'Q2FHLHoiH8OBOcOZw5rCvkHDiMKMw7DCikJNWcOkwoo=', 'wosqAMKDG8KSw7U=', 'd3rCiyU=', 'wr85eMOcwr1l', 'wpVlfcOSw6I=', 'OxjClcOtZwc4w7QN', 'w4EaY0vDq8OT', 'MUZPOw==', 'w7JFbMKHw4TDoQ==', 'R8K4wpPCsg==', 'Rjl7dg==', 'w6BLw7AI', 'YMKNN8KeZ8OBwpjDuMOu', 'XAd9dA==', 'dsO+chzCkAbDi8KuwrJUPMOqw6rClA==', 'XDNYVTkh', 'w4jCiMKpw4fDnjnDgXI=', 'bUDCs00mwpZhwr9HLw==', 'w4bDgcK1B8OOw782', 'eX7CliB2BCABcA==', 'wrUzesOiwrZjwqwxw7U=', 'XUPCvsO/A8KhORHCjx0iwr7Dnik=', 'cydM', 'w4ZNecKLw4jDqQDCksOIw5rCgsKD', 'w5lRw6E/w4DDvDI=', 'wqDCqF3DjMKH', 'PsOJVsOD', 'Ak3Dm8OmUcO3w7h0Ig==', 'Z8KQwpcE', 'worDtgcIw6Q=', 'JV7Cs8KzXT7DmSF7cw==', 'ecOeRwbCpkXDusKLwrFsEsOf', 'dyLDu1YYw6rDnA==', 'w4pYw65WdHM=', 'w51Ew6cmwoHDuTV5w5fCmQkIw6dOM8K3wqLDnMK0cQ==', 'T0FLB2FNeHrDp8OTWW5nOMKwO04=', 'w4Jwwq9dRkfCsA==', 'JEJcCHgrSsOX', 'MGDCgMO4dz/DgyJgYkDDqw==', 'RUvCmHgpwppiwqI=', 'WSNAcTUhFcKzw5EFLlY2w7NRwrrCnw==', 'w5TDo8O9w616wqLDt2YmVjjDsiJBPA==', 'wpMRw5Y=', 'wq3ClkfCghU=', 'wq3DpwMS', 'QE1LLGBYdHbDug==', 'w7kPwo0K', 'w70ewp8cZcKdwpjCjFo2wpDDhMKgwolhwp4f', 'eX7CjC9jAA==', 'w4rDjsKJHMODw48qVMKcJcOSwpgawo9q', 'wrvCq8O9w4o9w6k=', 'w4rDncKFAcOFw7grU8KP', 'fcK8wpXCs03Cu8Kww6w=', 'LGnDpsOD', 'WcK8woDCv1/Cv8O/w6DCgA==', 'DHLCpsO4woXDoj4vVQ==', 'w6ZAw6A1w5XDtw==', 'wpUuCcKBDcKV', 'InJ8EUoJdsOiHcOt', 'Mk0lanoiJE4=', 'w4VPw60rXUhj', 'R8K8wpPCvk3Cp8K6w6rDsMOWWMKHZ8KIwrvCrg==', 'w5MUwowbc8K9wp7CjA==', 'YHTCtiwyYsOx', 'w4AQYUrDpMOYw53Ds8O8', 'w6DDvHl/', 'MUJPN2ozWsOAG8Oew5PCokzDgMKBw68=', 'L0E3wqAwR8OUwqbCsMKGWj0L', 'w7rCgMKew4vDiMO6w6g=', 'Ujx/fMK0wqliw7/DmsK9w4g=', 'HXzDrsOAdMOSwrZr', 'w4dAccKZw7XDsRXCocOFw5rCnsKB', 'w57DqQnCjMONw7DCg8OIw67ClCs=', 'w6DDnMK8FcOKw7km', 'wpUqFMKSJsKOw6nCnsOydMONF8KGwpY=', 'w4rDvR3CpMOKwrzCtMOJw4/ClTAVYCNjw7g=', 'w4F/woNacVvCrMKDw5N7w7BXc8K4Nw==', 'w6srHcO3UcO/w7nCqyASw5DCmVHClDFTw7o=', 'HWHCrsOo', 'w6LCmMKxw6XDlg==', 'dMKtwpXCuQw=', 'ZGjCliQwbA==', 'GcKZwpnCtQ==', 'LXrCtcOyUjjDkw==', 'wpRqccKcw4nDo1TCvsOPw5XClcKWYcOYAX4=', 'wqHCrlXDkMKAwrzCu8KgLwVELF1Fw6Zk', 'HWvDoMObZMKbwrtjfkLDtcKm', 'HEc2bWwCIk7CusOAwoHClFfDk8OeQcKc', 'w4/Dg8KFG8OU', 'w67DisKeIsOHw7w3WA==', 'w41Aw7oXw4/DqzN/wo7Csx4Tw6J6LMOywqPDvcKf', 'wrDCuV3DjMKQwqDCt8K8Cw==', 'OnPCrMO/wo/Drg==', 'w4kPwoMC', 'Ckl3P3A1', 'TTJGUDIyNMKpw5ohLkg=', 'ZFXCucO2EMOp', 'wrQiCcKPFMKIw6zDkcOiSsOUH8KMwpY=', 'KlRpMnAxWg==', 'D8OLUMObwobCrcOzw6/CqcK8Jn0=', 'w4HDsMO+w618wrk=', 'ciNaXig9', 'w5wLwpA1w5Z4ZcKrwqjDrEDCoA==', 'bUDCs14pwp95wrM=', 'VCl7XMKow6hDw7vDmsKq', 'wrzDpwcWwrkFwr7Dj8Odw4LCmlF/KUA=', 'c8O0YinDnxXDhcKrwoxMLsOww67CisO7', 'wofDpwgBwqID', 'e1VNOw==', 'C8ONXsOewp3Do8Kww7PCosKuO3MVJsKq', 'CGXCvcODwofDpzI=', 'fX7CgyxkABAN', 'ZkrCsG06w5NPwr5HL8OE', 'wofCgGzCgxzCoMKSfyzCl8Kc', 'wqzDpxI2wqQEw64=', 'wqfCmlvClQY=', 'VMK6wpfCokzCssK8w6E=', 'wpoqBMKOHMKiw6zCmMOodMOdE8KM', 'TcKLwooNJMKaWsOswpk=', 'S1jCssOiEA==', 'IQfCvsO1NR04w7YS', 'w6LCjTTDqCkYLyU=', 'QGjCiyZwSBgLJsOYeMKVJ0s=', 'DHLCpsO4woXDoj4vVcKQcMKWVMKteEE=', 'w7Jcw6hZcGvDksKqwq8=', 'eXrCkTxIGxcWN8Opf8KYMF3Dtg==', 'wqoIKMKzLQ==', 'w4TDpcOzw7Z9wqPDsG8=', 'w4V7wpFKXUDCq8KY', 'cMKWw5E=', 'XxNgdg8bPsKMw6wH', 'XGjCoyR+Hho=', 'O8KNwo3CuA==', 'wpXCvkbDjMKBwq3CgcK+CRBAIVN7w7ZnXMKT', 'w5bCqzV9wojDucOE', 'w6IwB8OxRg==', 'MXrCisO9WXHDsDV3ekDDo286', 'HXzDvcOHfsOcwpt5Y1DDs8Ks', 'w4tEwrkEVVc=', 'w7QAwrsUw5t5dQ==', 'T8KaLMKDZcOFwq7DrsK7CsOiHmnDmmnCtg==', 'w4zDvA3CucONwr/CsA==', 'w6kEw5oQScOW', 'LsKJwp7ClVXDscOPw7/DgVgwGg3DqDXDucOG', 'C0JJOmovUMOG', 'wqvDnxbCm8OcwrXDoMOTw6rCgToVayV6w6ICLMKbw6oXPg==', 'Un7ClgR4Cx4VE8OaeMKIJ0o=', 'w7MLwoUDw4B+bsK6', 'DUQwwo46dsON', 'IMKfwrzCvFDDrMOJ', 'RcKGY8KXb8Of', 'aiVh', 'woo4AMOGScOF', 'GsOBTcOHwpzDqg==', 'S2bCiSA=', 'R1DCq3wh', 'w6ohG8OYW8OUw7HCsxIRw4nCs1XCgA==', 'w6jDuBrCgcOawo/CqMOFw6rCgwAIdA==', 'w5wHfEzDscO3wpLDp8KhdA==', 'XMKqwrXCu1fCpcK6', 'H1Q1wqYxccOXwqg=', 'SnXCjzg9Y8O8wobCqg==', 'eUnCqH9owoRtwrpJ', 'OhJn', 'LxHCjsOWKBM4w7Q2OThQb2U=', 'C8KNwoPCsA==', 'wrbCu8O9w40vw6tRw7Affw==', 'wpMTw5JcFBrDn8ObQBw=', 'CU0wS2crKVbCvcOL', 'N3ctRmwrJ07CsA==', 'w57DuHB9w43Dhg==', 'WMKwwofCtA==', 'w58hGcOxRsOEw7U=', 'w5AAwo0Bw5Y2bsK7wq4=', 'SVFLIChadXvDucOqUQ==', 'dsO+cgDCjQrDmg==', 'w7TClsKrw6TDicOtw78oYw==', 'wofDpxIOwrcHw4HDhMKL', 'asKgwrcjAMKJFcOhw54=', 'JAjDtEVbwrvCmVXDjMO1wrPCpHpLKMOGw6sTwpPDrn4Uw5/Dug==', 'CGXCvcOBwonDqTYtYsOcRcOPYsK2', 'wpE0w6lmJDzDv8OlYg==', 'ciNAUT05KMKkwpo=', 'w7/DtHBzw5TDm8K0KcKEXcKOw7jCnyk=', 'HQfCk8O0IC8+w6oDOzhNb2Q=', 'w6ohG8OERsOYw6A=', 'w4Ikw7oyb8O/Dw==', 'Zi97cMKww6x+w6TDi8Kvw4giwo4JwpnCsMOqw5cVw4QiwoHClEQ=', 'wofDpxIOwrcHw4HDhMKK', 'w65Pw7cCSE0=', 'TTLDm0hRwq7CiQ==', 'w6fDvBfCjsOLwrg=', 'w7VIesKtw4LDoxfCpsOMw5zCiA==', 'YMKKwpEIJMOlRcO2woROO8KDSmw0wqQ=', 'wrgvA8K1FcKUw6XClMO0YsOXCg==', 'QyN6e8Kqw6xVw7bDjw==', 'KTvDvMOJIQ==', 'w6XDisKeHMOHw7w=', 'c3fCjSdl', 'Ek0leHBqO1PCq8ObwpbCqxbDlsOUW8KDZcKu', 'D8ONS8OrwpzDrMOyw6zCosK+', 'w5fCqMOGw7Afw4A4w4I7RMOH', 'XMO0cDnCkQI=', 'w71fW8KAw4/Dqw0=', 'dcKEw4DCusKDwr4=', 'w74hG8ORWsOWw7LCsycZ', 'eMKPw4DCvsKMwq7CrcOTOXxuf8KZwqXDnVXChw==', 'w4gawpYOw51xQsK7wqnDmkDCtQ=='];
(function(_0x2bd504, _0x4dcfed) {
    var _0x16e7b6 = function(_0x532d31) {
        while (--_0x532d31) {
            _0x2bd504.push(_0x2bd504.shift());
        }
    };
    _0x16e7b6(++_0x4dcfed);
}(_0x4dcf, 0x11c));
var _0x16e7 = function(_0x2bd504, _0x4dcfed) {
    _0x2bd504 = _0x2bd504 - 0x0;
    var _0x16e7b6 = _0x4dcf[_0x2bd504];
    if (_0x16e7.yiiDxR === undefined) {
        (function() {
            var _0x29c1ba = function() {
                var _0xe3bf21;
                try {
                    _0xe3bf21 = Function('return\x20(function()\x20' + '{}.constructor(\x22return\x20this\x22)(\x20)' + ');')();
                } catch (_0x4569e6) {
                    _0xe3bf21 = window;
                }
                return _0xe3bf21;
            };
            var _0x5449da = _0x29c1ba();
            var _0xc44b95 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
            _0x5449da.atob || (_0x5449da.atob = function(_0x4c4e3a) {
                var _0xd46c3c = String(_0x4c4e3a)['replace'](/=+$/, '');
                var _0xcbf523 = '';
                for (var _0x53bc8d = 0x0, _0x100d42, _0x2127c, _0x5b0902 = 0x0; _0x2127c = _0xd46c3c.charAt(_0x5b0902++); ~_0x2127c && (_0x100d42 = _0x53bc8d % 0x4 ? _0x100d42 * 0x40 + _0x2127c : _0x2127c, _0x53bc8d++ % 0x4) ? _0xcbf523 += String.fromCharCode(0xff & _0x100d42 >> (-0x2 * _0x53bc8d & 0x6)) : 0x0) {
                    _0x2127c = _0xc44b95.indexOf(_0x2127c);
                }
                return _0xcbf523;
            });
        }());
        var _0x108736 = function(_0x3a7a0d, _0x151f93) {
            var _0x2e2b5d = [],
                _0x1a9aa4 = 0x0,
                _0x2a11c5, _0x64faf = '',
                _0x5bc397 = '';
            _0x3a7a0d = atob(_0x3a7a0d);
            for (var _0x1876b5 = 0x0, _0x3cb656 = _0x3a7a0d.length; _0x1876b5 < _0x3cb656; _0x1876b5++) {
                _0x5bc397 += '%' + ('00' + _0x3a7a0d.charCodeAt(_0x1876b5)['toString'](0x10))['slice'](-0x2);
            }
            _0x3a7a0d = decodeURIComponent(_0x5bc397);
            var _0x100c1d;
            for (_0x100c1d = 0x0; _0x100c1d < 0x100; _0x100c1d++) {
                _0x2e2b5d[_0x100c1d] = _0x100c1d;
            }
            for (_0x100c1d = 0x0; _0x100c1d < 0x100; _0x100c1d++) {
                _0x1a9aa4 = (_0x1a9aa4 + _0x2e2b5d[_0x100c1d] + _0x151f93.charCodeAt(_0x100c1d % _0x151f93.length)) % 0x100;
                _0x2a11c5 = _0x2e2b5d[_0x100c1d];
                _0x2e2b5d[_0x100c1d] = _0x2e2b5d[_0x1a9aa4];
                _0x2e2b5d[_0x1a9aa4] = _0x2a11c5;
            }
            _0x100c1d = 0x0;
            _0x1a9aa4 = 0x0;
            for (var _0x4cdfca = 0x0; _0x4cdfca < _0x3a7a0d.length; _0x4cdfca++) {
                _0x100c1d = (_0x100c1d + 0x1) % 0x100;
                _0x1a9aa4 = (_0x1a9aa4 + _0x2e2b5d[_0x100c1d]) % 0x100;
                _0x2a11c5 = _0x2e2b5d[_0x100c1d];
                _0x2e2b5d[_0x100c1d] = _0x2e2b5d[_0x1a9aa4];
                _0x2e2b5d[_0x1a9aa4] = _0x2a11c5;
                _0x64faf += String.fromCharCode(_0x3a7a0d.charCodeAt(_0x4cdfca) ^ _0x2e2b5d[(_0x2e2b5d[_0x100c1d] + _0x2e2b5d[_0x1a9aa4]) % 0x100]);
            }
            return _0x64faf;
        };
        _0x16e7.XdLFEA = _0x108736;
        _0x16e7.trBWrD = {};
        _0x16e7.yiiDxR = !![];
    }
    var _0x532d31 = _0x16e7.trBWrD[_0x2bd504];
    if (_0x532d31 === undefined) {
        if (_0x16e7.QxQVxw === undefined) {
            _0x16e7.QxQVxw = !![];
        }
        _0x16e7b6 = _0x16e7.XdLFEA(_0x16e7b6, _0x4dcfed);
        _0x16e7.trBWrD[_0x2bd504] = _0x16e7b6;
    } else {
        _0x16e7b6 = _0x532d31;
    }
    return _0x16e7b6;
};
var binlib = {};
var can_dt = ![];

function dictLength(_0xfc7109) {
    var _0x1e59fd = 0x0;
    for (_ in _0xfc7109) {
        _0x1e59fd++;
    }
    return _0x1e59fd;
}
var is_valid_uid = !![];
var v29 = [Cheat.GetUsername()];
var v17 = ![];
var v5;

function v35(_0x37243a) {
    for (i = 0x0; i < v29.length; i++) {
        if (v29[i] == _0x37243a) {
            v17 = !![];
            return !![];
        }
    }
    v17 = ![];
    return ![];
}
var wpn_list = ['Auto', 'Scout', 'Awp', 'Revolver', 'Deagle', 'Other'];

function get_gun(_0x3b6f6d) {
    if (_0x3b6f6d == 'g3sg1' || _0x3b6f6d == 'scar 20') return 'Auto';
    else if (_0x3b6f6d == 'awp') return 'Awp';
    else if (_0x3b6f6d == 'desert eagle') return 'Deagle';
    else if (_0x3b6f6d == 'r8 revolver') return 'Revolver';
    else if (_0x3b6f6d == 'ssg 08') return 'Scout';
    else return 'Other';
}

function handle_menu() {
    var _0x25bd08 = fetchDropdown('Weapon settings');
    for (i = 0x0; i < wpn_list.length; i++) {
        UI.SetEnabled(wpn_list[i] + '\x20Force\x20head', ![]);
        UI.SetEnabled(wpn_list[i] + ' Force baim', ![]);
        UI.SetEnabled(wpn_list[i] + ' Force safepoint', ![]);
        UI.SetEnabled(wpn_list[i] + ' Force safepoint on DT', ![]);
        UI.SetEnabled(wpn_list[i] + '\x20Inaccurate\x20Desync\x20Limit', ![]);
    }
    UI.SetEnabled(_0x25bd08 + ' Force head', !![]);
    UI.SetEnabled(_0x25bd08 + '\x20Force\x20baim', !![]);
    UI.SetEnabled(_0x25bd08 + ' Force safepoint', !![]);
    UI.SetEnabled(_0x25bd08 + ' Inaccurate Desync Limit', v13('Inaccurate\x20Desync'));
    if (_0x25bd08 == 'Auto') UI.SetEnabled(_0x25bd08 + ' Force safepoint on DT', !![]);
}

function has_autosniper() {
    wep = Entity.GetName(Entity.GetWeapon(Entity.GetLocalPlayer()));
    if (wep == 'scar\x2020' || wep == 'g3sg1') {
        return !![];
    }
    return ![];
}
var v1, v2, v1, v6, v5, v21;
var v17 = ![];
var config_settings = new config_values();

function config_values() {
    this.active_static_pointscale = {
        'HEAVY\x20PISTOL': UI.GetValue('Rage', 'HEAVY PISTOL', 'Heavy pistol config', 'Force\x20pointscale'),
        'SCOUT': UI.GetValue('Rage', 'SCOUT', 'Scout config', 'Force\x20pointscale'),
        'AWP': UI.GetValue('Rage', 'AWP', 'AWP config', 'Force pointscale'),
        'AUTOSNIPER': UI.GetValue('Rage', 'AUTOSNIPER', 'Auto\x20config', 'Force pointscale')
    };
    this.cache_head_mp = {
        'HEAVY\x20PISTOL': UI.GetValue('Rage', 'HEAVY PISTOL', 'Heavy pistol config', 'Head pointscale'),
        'SCOUT': UI.GetValue('Rage', 'SCOUT', 'Scout config', 'Head pointscale'),
        'AWP': UI.GetValue('Rage', 'AWP', 'AWP config', 'Head pointscale'),
        'AUTOSNIPER': UI.GetValue('Rage', 'AUTOSNIPER', 'Auto config', 'Head\x20pointscale')
    };
    this.cache_body_mp = {
        'HEAVY\x20PISTOL': UI.GetValue('Rage', 'HEAVY PISTOL', 'Heavy pistol config', 'Body pointscale'),
        'SCOUT': UI.GetValue('Rage', 'SCOUT', 'Scout config', 'Body\x20pointscale'),
        'AWP': UI.GetValue('Rage', 'AWP', 'AWP config', 'Body pointscale'),
        'AUTOSNIPER': UI.GetValue('Rage', 'AUTOSNIPER', 'Auto config', 'Body\x20pointscale')
    };
    this.cache_hitchance = {
        'HEAVY\x20PISTOL': UI.GetValue('Rage', 'HEAVY PISTOL', 'Accuracy', 'Hitchance'),
        'SCOUT': UI.GetValue('Rage', 'SCOUT', 'Accuracy', 'Hitchance'),
        'AWP': UI.GetValue('Rage', 'AWP', 'Accuracy', 'Hitchance'),
        'AUTOSNIPER': UI.GetValue('Rage', 'AUTOSNIPER', 'Accuracy', 'Hitchance')
    };
    this.cache_min_dmg = {
        'HEAVY\x20PISTOL': UI.GetValue('Rage', 'HEAVY PISTOL', 'Targeting', 'Minimum damage'),
        'SCOUT': UI.GetValue('Rage', 'SCOUT', 'Targeting', 'Minimum damage'),
        'AWP': UI.GetValue('Rage', 'AWP', 'Targeting', 'Minimum damage'),
        'AUTOSNIPER': UI.GetValue('Rage', 'AUTOSNIPER', 'Targeting', 'Minimum damage')
    };
}

function get_active_min_dmg() {
    var _0x3bad0c = Entity.GetName(Entity.GetWeapon(Entity.GetLocalPlayer()));
    if (_0x3bad0c == 'g3sg1' || _0x3bad0c == 'scar\x2020') return config_settings.cache_min_dmg.AUTOSNIPER;
    else if (_0x3bad0c == 'awp') return config_settings.cache_min_dmg.AWP;
    else if (_0x3bad0c == 'r8\x20revolver' || _0x3bad0c == 'desert\x20eagle') return config_settings.cache_min_dmg['HEAVY PISTOL'];
    else if (_0x3bad0c == 'ssg 08') return config_settings.cache_min_dmg.SCOUT;
    else return config_settings.cache_min_dmg.AUTOSNIPER;
}

function createDropdown(_0x2a6ac1, _0x3eef98, _0x8e78ca) {
    UI[_0x8e78ca ? 'AddMultiDropdown' : 'AddDropdown'](_0x2a6ac1, _0x3eef98);
    binlib[_0x2a6ac1] = {
        'multi': _0x8e78ca,
        'values': {}
    };
    _0x8e78ca && _0x3eef98.reverse();
    var _0x57c6f5 = 0x0;
    for (value in _0x3eef98) {
        var _0x47cd8b = _0x8e78ca ? 0x1 << _0x3eef98.length - (_0x57c6f5 + 0x1) : _0x57c6f5;
        binlib[_0x2a6ac1]['values'][_0x47cd8b] = _0x3eef98[value];
        _0x57c6f5++;
    }
}

function fetchDropdown(_0x1bd37d) {
    var _0x2832f1 = _0x1bd37d ? [] : {};
    var _0x19f408 = UI.GetValue('Misc', _0x1bd37d);
    !_0x1bd37d && function() {
        for (dropdown in binlib) _0x2832f1[dropdown] = fetchDropdown(dropdown);
    }();
    if (_0x1bd37d) {
        !binlib[_0x1bd37d]['multi'] && _0x19f408 == 0x0 && _0x2832f1.push(binlib[_0x1bd37d]['values'][0x0]) && function() {
            return _0x2832f1;
        }();
        for (var _0x299ce5 = dictLength(binlib[_0x1bd37d]['values']) - 0x1; _0x299ce5 >= 0x0; _0x299ce5--) {
            if (!binlib[_0x1bd37d]['multi'] && _0x299ce5 == 0x0) continue;
            var _0x64cd30 = binlib[_0x1bd37d]['multi'] ? 0x1 << _0x299ce5 : _0x299ce5;
            if (_0x19f408 - _0x64cd30 >= 0x0) {
                _0x19f408 -= _0x64cd30;
                _0x2832f1.push(binlib[_0x1bd37d]['values'][_0x64cd30]);
            }
        }
    }
    return _0x2832f1;
}

function v13(_0x3eb619) {
    var _0x5c0994 = get_gun(Entity.GetName(Entity.GetWeapon(Entity.GetLocalPlayer())));
    var _0xea88e7 = fetchDropdown(_0x5c0994 + '\x20Force\x20head');
    for (var _0x2c96e6 = 0x0; _0x2c96e6 < _0xea88e7.length; _0x2c96e6++) {
        if (_0xea88e7[_0x2c96e6] == _0x3eb619) return !![];
    }
    return ![];
}

function v14(_0x48cfbd) {
    var _0x223b80 = get_gun(Entity.GetName(Entity.GetWeapon(Entity.GetLocalPlayer())));
    var _0x5ddb67 = fetchDropdown(_0x223b80 + ' Force baim');
    for (var _0x31463a = 0x0; _0x31463a < _0x5ddb67.length; _0x31463a++) {
        if (_0x5ddb67[_0x31463a] == _0x48cfbd) return !![];
    }
    return ![];
}

function Player(_0x5e227f) {
    this.ent = _0x5e227f;
    this.lethal = ![];
    this.lethal_x2 = ![];
    this.lethal_x3 = ![];
    this.last_shot_fired = -0x1;
    this.on_shot = ![];
    this.knife_out = ![];
    this.moving = ![];
    this.slow_walking = ![];
    this.in_air = ![];
    this.standing = ![];
    this.using_grenades = ![];
    this.crouching = ![];
    this.crouching_tside = ![];
    this.sp_limbs = ![];
    this.baim = ![];
    this.headshot = ![];
    this.on_shot_dmg = -0x1;
    this.skip_entity = ![];
    this.can_do_dmg = ![];
    this.checked_entity = ![];
    this.future_lethal_shot = ![];
}
var enemy_list = [];
for (var i = 0x0; i <= 0x40; i++) {
    enemy_list[i] = new Player(i);
}

function extrapolate(_0x36e614, _0x188cc1, _0x16cd97, _0x15db7a, _0x5c9287) {
    var _0x3cfbc4 = Entity.GetProp(_0x36e614, 'CBasePlayer', 'm_vecVelocity[0]');
    var _0x178c71 = [_0x16cd97, _0x15db7a, _0x5c9287];
    _0x178c71[0x0] = _0x178c71[0x0] + _0x3cfbc4[0x0] * _0x188cc1 * Globals.TickInterval();
    _0x178c71[0x1] = _0x178c71[0x1] + _0x3cfbc4[0x1] * _0x188cc1 * Globals.TickInterval();
    _0x178c71[0x2] = _0x178c71[0x2] + _0x3cfbc4[0x2] * _0x188cc1 * Globals.TickInterval();
    return _0x178c71;
}

function is_ducking(_0x4f1026) {
    return Entity.GetProp(_0x4f1026, 'CBasePlayer', 'm_flDuckAmount') >= 0.8;
}

function get_proper_eye() {
    var _0x179cb4 = Entity.GetLocalPlayer();
    var _0x48ab5c = Entity.GetProp(_0x179cb4, 'CBasePlayer', 'm_flDuckAmount');
    var _0x4fceb2 = Entity.GetRenderOrigin(_0x179cb4);
    if (UI.IsHotkeyActive('Anti-Aim', 'Extra', 'Fake\x20duck')) return [_0x4fceb2[0x0], _0x4fceb2[0x1], _0x4fceb2[0x2] + 0x2e + 0x12];
    else return Entity.GetEyePosition(_0x179cb4);
}

function in_air(_0x339d8c) {
    return Entity.GetProp(_0x339d8c, 'CBasePlayer', 'm_hGroundEntity') != 0x0 && !is_ducking(_0x339d8c);
}

function get_desync_amount(_0x2b76eb) {
    var _0xd4d111 = Entity.GetProp(_0x2b76eb, 'CBasePlayer', 'm_vecVelocity[0]');
    var _0x450e1c = _0xd4d111[0x0];
    var _0x24b4f1 = _0xd4d111[0x1];
    var _0xc9558c = _0xd4d111[0x2];
    var _0x2388f1 = Math.floor((0x1 - Math.abs(_0x450e1c) / 0xe6) * 0x1d + 0x1d);
    var _0x40c486 = Math.floor((0x1 - Math.abs(_0x24b4f1) / 0xe6) * 0x1d + 0x1d);
    var _0x36cb47 = Math.floor((0x1 - (Math.abs(_0x450e1c) + Math.abs(_0x24b4f1)) / 0x144) * 0x1c + 0x1d);
    var _0x56b7a5 = Math.min(Math.min(_0x2388f1, _0x40c486), _0x36cb47);
    if (_0x56b7a5 >= 0x37) _0x56b7a5 = 0x3a;
    _0x56b7a5 = Math.max(0x1d, Math.min(_0x56b7a5, 0x3a));
    return _0x56b7a5;
}

function get_speed(_0x28dd0c) {
    var _0x198052 = Entity.GetProp(_0x28dd0c, 'CBasePlayer', 'm_vecVelocity[0]');
    return Math.sqrt(_0x198052[0x0] * _0x198052[0x0] + _0x198052[0x1] * _0x198052[0x1]);
}

function is_moving(_0x181681) {
    return get_speed(_0x181681) >= 0xc8 && !in_air(_0x181681) && !is_ducking(_0x181681);
}

function radians_to_degrees(_0x4b06f9) {
    var _0x1bd95f = Math.PI;
    return _0x4b06f9 * (0xb4 / _0x1bd95f);
}

function get_angle_to(_0x5ca2c3, _0x1c439d) {
    var _0x5968b5 = [_0x1c439d[0x0] - _0x5ca2c3[0x0], _0x1c439d[0x1] - _0x5ca2c3[0x1], _0x1c439d[0x2] - _0x5ca2c3[0x2]];
    var _0x10aac4 = radians_to_degrees(Math.atan2(_0x5968b5[0x1], _0x5968b5[0x0]));
    var _0x2bae96 = Math.sqrt(_0x5968b5[0x0] * _0x5968b5[0x0] + _0x5968b5[0x1] * _0x5968b5[0x1]);
    var _0x21bc0c = radians_to_degrees(Math.atan2(-_0x5968b5[0x2], _0x2bae96));
    return [_0x10aac4, _0x21bc0c];
}

function is_slow_walking(_0x583b19) {
    var _0x451a0d = get_speed(_0x583b19);
    return _0x451a0d <= 0xc8 && _0x451a0d >= 0xa && !in_air(_0x583b19) && !is_ducking(_0x583b19);
}

function is_standing(_0xaea4c8) {
    return get_speed(_0xaea4c8) < 0xa && !in_air(_0xaea4c8) && !is_ducking(_0xaea4c8);
}

function grenade_out(_0x196629) {
    var _0x51c8e4 = Entity.GetWeapon(_0x196629);
    return _0x51c8e4 == 0x54 || _0x51c8e4 == 0x59 || _0x51c8e4 == 0xa2 || _0x51c8e4 == 0x7e || _0x51c8e4 == 0x61 || _0x51c8e4 == 0x5a;
}

function v32() {
    var _0x29b1e3 = Entity.GetEnemies();
    var _0xcfac7a = Entity.GetLocalPlayer();
    if (!Entity.IsAlive(_0xcfac7a)) return;
    var _0x5d1056 = get_proper_eye();
    var _0x6181c2 = [];
    var _0x440db5 = Ragebot.GetTarget();
    for (var _0x27c6db = 0x0; _0x27c6db <= 0x2d; _0x27c6db += 0x2d) {
        _0x6181c2.push(extrapolate(_0xcfac7a, _0x27c6db, _0x5d1056[0x0], _0x5d1056[0x1], _0x5d1056[0x2]));
    }
    _0x6181c2.push(extrapolate(_0xcfac7a, 0xf, _0x5d1056[0x0], _0x5d1056[0x1], _0x5d1056[0x2]));
    for (var _0x27c6db = 0x0; _0x27c6db < _0x29b1e3.length; _0x27c6db++) {
        var _0x4889dc = _0x29b1e3[_0x27c6db];
        if (!Entity.IsAlive(_0x4889dc) || Entity.IsDormant(_0x4889dc) || !Entity.IsValid(_0x4889dc)) continue;
        var _0x203a25 = Entity.GetProp(_0x4889dc, 'CBasePlayer', 'm_iHealth');
        var _0x5b1ebc = 0x0;
        var _0x24fc7b = [Entity.GetHitboxPosition(_0x4889dc, 0x2), Entity.GetHitboxPosition(_0x4889dc, 0x3)];
        var _0x4d9f67 = ![];
        enemy_list[_0x4889dc]['lethal'] = ![];
        enemy_list[_0x4889dc]['lethal_x2'] = ![];
        enemy_list[_0x4889dc]['lethal_x3'] = ![];
        enemy_list[_0x4889dc]['skip_entity'] = ![];
        enemy_list[_0x4889dc]['can_do_dmg'] = ![];
        enemy_list[_0x4889dc]['future_lethal_shot'] = ![];
        for (var _0x353515 = 0x0; _0x353515 < _0x24fc7b.length; _0x353515++) {
            for (var _0x51e7b3 = 0x0; _0x51e7b3 < _0x6181c2.length; _0x51e7b3++) {
                var _0x22ec59 = Trace.Bullet(_0xcfac7a, _0x4889dc, _0x6181c2[_0x51e7b3], _0x24fc7b[_0x353515]);
                var _0x629c4e = _0x22ec59[0x1];
                if (_0x629c4e > _0x5b1ebc) _0x5b1ebc = _0x629c4e;
                if (_0x629c4e >= _0x203a25) {
                    enemy_list[_0x4889dc]['lethal'] = !![];
                    if (_0x51e7b3 == _0x6181c2.length - 0x1) enemy_list[_0x4889dc]['future_lethal_shot'] = !![];
                    _0x4d9f67 = !![];
                }
                if (_0x629c4e * 0x2 >= _0x203a25 && can_dt) {
                    enemy_list[_0x4889dc]['lethal_x2'] = !![];
                    if (_0x51e7b3 == _0x6181c2.length - 0x1) enemy_list[_0x4889dc]['future_lethal_shot'] = !![];
                    _0x4d9f67 = !![];
                }
                if (_0x629c4e * 0x3 >= _0x203a25 && can_dt) {
                    enemy_list[_0x4889dc]['lethal_x3'] = !![];
                    _0x4d9f67 = !![];
                }
                if (_0x4d9f67) break;
            }
            if (_0x4d9f67) {
                break;
            }
        }
        if (_0x5b1ebc < 0x1) {
            enemy_list[_0x4889dc]['can_do_dmg'] = !![];
        }
    }
}

function on_paint() {
    if (UI.IsMenuOpen()) {
        handle_menu();
    } else {
        config_settings = new config_values();
    }
    if (!UI.GetValue('Misc', 'Enable preferbaim')) return;
    var _0x58ca51 = Entity.GetEnemies();
    var _0x5766fd = Entity.GetLocalPlayer();
    if (!Entity.IsAlive(_0x5766fd)) return;
    for (var _0xe44ed6 = 0x0; _0xe44ed6 < _0x58ca51.length; _0xe44ed6++) {
        var _0x807962 = _0x58ca51[_0xe44ed6];
        if (!Entity.IsAlive(_0x807962) || Entity.IsDormant(_0x807962) || !Entity.IsValid(_0x807962)) continue;
        var _0x2d7092 = enemy_list[_0x807962];
        var _0x608a85 = Entity.GetRenderBox(_0x807962);
        var _0x3a3e4d = _0x608a85[0x3] - _0x608a85[0x1];
        _0x3a3e4d /= 0x2;
        _0x3a3e4d += _0x608a85[0x1];
        var _0x5b9780 = Render.AddFont('Verdana', 0x7, 0x320);
        var _0x51e07c = 0x19;
        var _0x346b3f = !![];
        if (!v35(v5)) continue;
        if (!v17) continue;
        if (_0x2d7092.future_lethal_shot && UI.GetValue('Misc', 'Wait for lethal shot')) {
            _0x346b3f = ![];
            Render.StringCustom(_0x3a3e4d, _0x608a85[0x2] - _0x51e07c, 0x1, 'DELAY', [0xff, 0x0, 0x0, 0xff], _0x5b9780);
            _0x51e07c = _0x51e07c + 0xc;
            continue;
        }
        if (_0x2d7092.lethal && v14('Lethal')) {
            _0x346b3f = ![];
            Render.StringCustom(_0x3a3e4d, _0x608a85[0x2] - _0x51e07c, 0x1, 'LETHAL', [0xff, 0x0, 0x0, 0xff], _0x5b9780);
            _0x51e07c = _0x51e07c + 0xc;
            continue;
        } else if (_0x2d7092.lethal_x2 && v14('Lethal x2')) {
            _0x346b3f = ![];
            Render.StringCustom(_0x3a3e4d, _0x608a85[0x2] - _0x51e07c, 0x1, 'LETHAL x2', [0xff, 0x96, 0x0, 0xff], _0x5b9780);
            _0x51e07c = _0x51e07c + 0xc;
            continue;
        } else if (_0x2d7092.lethal_x3 && v14('Lethal\x20x3')) {
            _0x346b3f = ![];
            Render.StringCustom(_0x3a3e4d, _0x608a85[0x2] - _0x51e07c, 0x1, 'LETHAL x3', [0x14, 0xaa, 0xff, 0xff], _0x5b9780);
            _0x51e07c = _0x51e07c + 0xc;
            continue;
        }
        if (_0x2d7092.headshot) {
            _0x346b3f = ![];
            Render.StringCustom(_0x3a3e4d, _0x608a85[0x2] - _0x51e07c, 0x1, 'HS', [0x0, 0xff, 0xff, 0xff], _0x5b9780);
            _0x51e07c = _0x51e07c + 0xc;
        }
        if (_0x2d7092.baim) {
            _0x346b3f = ![];
            Render.StringCustom(_0x3a3e4d, _0x608a85[0x2] - _0x51e07c, 0x1, 'BAIM', [0x0, 0xbf, 0xff, 0xff], _0x5b9780);
            _0x51e07c = _0x51e07c + 0xc;
        }
        if (_0x2d7092.on_shot && v13('Firing')) {
            _0x346b3f = ![];
            Render.StringCustom(_0x3a3e4d, _0x608a85[0x2] - _0x51e07c, 0x1, 'BT', [0xff, 0x0, 0x0, 0xff], _0x5b9780);
        }
    }
}

function force_sp_limbs() {
    for (var _0x1814aa = 0x7; _0x1814aa <= 0xc; _0x1814aa++) {
        Ragebot.ForceHitboxSafety(_0x1814aa);
    }
}
var hitboxes = [0x0, 0x6, 0x5, 0x4, 0x3, 0x2, 0x7, 0xb];

function handle_sp() {
    var _0x434548 = Ragebot.GetTarget();
    if (!Entity.IsValid(_0x434548) || !Entity.IsAlive(_0x434548) || Entity.IsDormant(_0x434548)) return;
    var _0x2f4e9d = get_gun(Entity.GetName(Entity.GetWeapon(Entity.GetLocalPlayer())));
    var _0x256cf0;
    _0x256cf0 = fetchDropdown(_0x2f4e9d + ' Force safepoint');
    for (var _0x5f3efb = 0x0; _0x5f3efb < _0x256cf0.length; _0x5f3efb++) {
        var _0x26482b = hitboxes[_0x5f3efb];
        if (_0x26482b == 0x7) {
            for (var _0x5f2f7a = 0x7; _0x5f2f7a <= 0xa; _0x5f2f7a++) {
                Ragebot.ForceHitboxSafety(_0x5f2f7a);
            }
        } else {
            Ragebot.ForceHitboxSafety(_0x26482b);
            if (_0x26482b == 0xb) Ragebot.ForceHitboxSafety(_0x26482b + 0x1);
        }
    }
}

function v24(_0x51ac8c, _0x509481) {
    if (!Entity.IsAlive(_0x509481) || Entity.IsDormant(_0x509481) || !Entity.IsValid(_0x509481)) return;
    if (_0x509481 == _0x51ac8c) {
        Ragebot.ForceHitboxSafety(0x0);
        Ragebot.ForceHitboxSafety(0x1);
        force_sp_limbs();
    } else {
        Ragebot.ForceTargetSafety(_0x509481);
    }
}

function v23() {
    if (!UI.GetValue('Misc', 'Enable preferbaim')) return;
    var _0x2ecc31 = Entity.GetLocalPlayer();
    if (!Entity.IsAlive(_0x2ecc31)) return;
    var _0x45a8cc = get_proper_eye();
    var _0x3ef074 = Entity.GetEnemies();
    if (Exploit.GetCharge() == 0x1) can_dt = !![];
    if (!UI.IsHotkeyActive('Rage', 'GENERAL', 'Exploits', 'Doubletap') || UI.IsHotkeyActive('Anti-Aim', 'Extra', 'Fake duck')) can_dt = ![];
    if (!has_autosniper()) can_dt = ![];
    v32();
    var _0x304a33 = get_gun(Entity.GetName(Entity.GetWeapon(Entity.GetLocalPlayer())));
    var _0x5f2132 = Ragebot.GetTarget();
    for (var _0x270954 = 0x0; _0x270954 < _0x3ef074.length; _0x270954++) {
        var _0x2a8ab7 = _0x3ef074[_0x270954];
        if (!Entity.IsAlive(_0x2a8ab7) || Entity.IsDormant(_0x2a8ab7) || !Entity.IsValid(_0x2a8ab7)) continue;
        var _0x39ee5b = enemy_list[_0x2a8ab7];
        var _0x5859f6 = Trace.Bullet(_0x2ecc31, _0x2a8ab7, _0x45a8cc, Entity.GetHitboxPosition(_0x2a8ab7, 0x0));
        var _0x14a84e = Entity.GetProp(_0x2a8ab7, 'CBasePlayer', 'm_iHealth');
        var _0x5e600a = Globals.Tickcount() - _0x39ee5b.last_shot_fired;
        _0x39ee5b.on_shot = _0x5e600a >= 0x0 && _0x5e600a <= 0xc;
        if (!_0x39ee5b.on_shot) _0x39ee5b.on_shot_dmg = -0x1;
        _0x39ee5b.moving = is_moving(_0x2a8ab7);
        _0x39ee5b.slow_walking = is_slow_walking(_0x2a8ab7);
        _0x39ee5b.standing = is_standing(_0x2a8ab7);
        _0x39ee5b.headshot = ![];
        _0x39ee5b.baim = ![];
        _0x39ee5b.in_air = in_air(_0x2a8ab7);
        _0x39ee5b.knife_out = Entity.GetWeapon(_0x2a8ab7) == 0x1d2;
        _0x39ee5b.using_grenades = grenade_out(_0x2a8ab7);
        _0x39ee5b.crouching = is_ducking(_0x2a8ab7);
        _0x39ee5b.crouching_tside = is_ducking(_0x2a8ab7) && Entity.GetProp(_0x2a8ab7, 'CCSPlayer', 'm_iTeamNum') == 0x2;
        _0x39ee5b.inaccurate_desync = v13('Inaccurate Desync') && get_desync_amount(_0x2a8ab7) <= UI.GetValue('Misc', _0x304a33 + ' Inaccurate Desync Limit');
        if (!v35(v5)) continue;
        if (!v17) continue;
        var _0x929de4 = Exploit.GetCharge() == 0x1 && has_autosniper ? _0x14a84e / 0x2 : _0x14a84e;
        if (_0x39ee5b.future_lethal_shot && UI.GetValue('Misc', 'Wait for lethal shot')) {
            Ragebot.ForceTargetMinimumDamage(_0x2a8ab7, _0x929de4);
            continue;
        }
        if (_0x39ee5b.lethal && v14('Lethal')) {
            v24(_0x5f2132, _0x2a8ab7);
            continue;
        }
        if (_0x39ee5b.lethal_x2 && v14('Lethal x2')) {
            v24(_0x5f2132, _0x2a8ab7);
            continue;
        }
        if (_0x39ee5b.lethal_x3 && v14('Lethal x3')) {
            v24(_0x5f2132, _0x2a8ab7);
            continue;
        }
        if (_0x39ee5b.on_shot && v13('Firing')) {
            if (_0x39ee5b.on_shot_dmg >= get_active_min_dmg()) Ragebot.ForceTargetMinimumDamage(_0x2a8ab7, _0x39ee5b.on_shot_dmg - 0x5);
            continue;
        }
        if (_0x39ee5b.inaccurate_desync) {
            _0x39ee5b.headshot = !![];
        }
        if (_0x39ee5b.crouching_tside) {
            if (v14('Crouching T Side')) {
                _0x39ee5b.baim = !![];
            } else if (v13('Crouching T Side')) {
                _0x39ee5b.headshot = !![];
            }
        }
        if (_0x39ee5b.crouching) {
            if (v14('Crouching')) {
                _0x39ee5b.baim = !![];
            } else if (v13('Crouching')) {
                _0x39ee5b.headshot = !![];
            }
        }
        if (_0x39ee5b.moving) {
            if (v14('Moving')) {
                _0x39ee5b.baim = !![];
            } else if (v13('Moving')) {
                _0x39ee5b.headshot = !![];
            }
        }
        if (_0x39ee5b.slow_walking) {
            if (v14('Slow walk')) {
                _0x39ee5b.baim = !![];
            } else if (v13('Slow walk')) {
                _0x39ee5b.headshot = !![];
            }
        }
        if (_0x39ee5b.standing) {
            if (v14('Standing')) {
                _0x39ee5b.baim = !![];
            } else if (v13('Standing')) {
                _0x39ee5b.headshot = !![];
            }
        }
        if (_0x39ee5b.in_air) {
            if (v14('In air')) {
                _0x39ee5b.baim = !![];
            } else if (v13('In air')) {
                _0x39ee5b.headshot = !![];
            }
        }
        if (_0x39ee5b.knife_out) {
            if (v14('Knife\x20out')) {
                _0x39ee5b.baim = !![];
            } else if (v13('Knife out')) {
                _0x39ee5b.headshot = !![];
            }
        }
        if (_0x39ee5b.using_grenades) {
            if (v14('Using Grenades')) {
                _0x39ee5b.baim = !![];
            } else if (v13('Using Grenades')) {
                _0x39ee5b.headshot = !![];
            }
        }
        if (_0x39ee5b.headshot) {
            if (_0x5859f6[0x1] >= get_active_min_dmg()) Ragebot.ForceTargetMinimumDamage(_0x2a8ab7, _0x5859f6[0x1] - 0x5);
        } else if (_0x39ee5b.baim) {
            v24(_0x5f2132, _0x2a8ab7);
        }
    }
}

function on_weapon_fire() {
    var _0x316a87 = Event.GetInt('userid');
    var _0x578cb3 = Entity.GetEntityFromUserID(_0x316a87);
    if (!Entity.IsAlive(Entity.GetLocalPlayer()) || !Entity.IsValid(_0x578cb3) || Entity.IsDormant(_0x578cb3)) return;
    var _0x595e81 = Entity.GetLocalPlayer();
    var _0x1c4e22 = get_proper_eye();
    if (Entity.IsEnemy(_0x578cb3)) {
        enemy_list[_0x578cb3]['last_shot_fired'] = Globals.Tickcount();
        var _0xe23de1 = Trace.Bullet(_0x595e81, _0x578cb3, _0x1c4e22, Entity.GetHitboxPosition(_0x578cb3, 0x0));
        enemy_list[_0x578cb3]['on_shot_dmg'] = _0xe23de1[0x1];
    }
}

function ragebot() {
    var _0x4d7d6e = Event.GetInt('exploit');
    if (_0x4d7d6e == 0x1) {
        can_dt = !![];
    } else if (_0x4d7d6e == 0x2) {
        can_dt = ![];
    }
}

function on_player_connect() {
    var _0x1cb5e9 = Entity.GetEntityFromUserID(Event.GetInt('userid'));
    if (_0x1cb5e9 == Entity.GetLocalPlayer()) {
        for (var _0x2fcd3e = 0x0; _0x2fcd3e < enemy_list.length; _0x2fcd3e++) enemy_list[_0x2fcd3e]['last_shot_time'] = -0x1;
    }
}

function Main() {
    UI.AddCheckbox('Enable\x20preferbaim');
    UI.AddCheckbox('Wait\x20for\x20lethal\x20shot');
    createDropdown('Weapon settings', wpn_list, ![]);
    for (var _0x4543de = 0x0; _0x4543de < wpn_list.length; _0x4543de++) {
        var _0x56caa1 = wpn_list[_0x4543de];
        createDropdown(_0x56caa1 + ' Force head', ['Firing', 'Moving', 'Slow walk', 'Standing', 'In air', 'Inaccurate Desync', 'Using\x20grenades', 'Knife out', 'Crouching', 'Crouching\x20T\x20Side'], !![]);
        if (_0x56caa1 == 'Auto') {
            createDropdown(_0x56caa1 + ' Force baim', ['Lethal', 'Lethal x2', 'Lethal\x20x3', 'Moving', 'Slow\x20walk', 'Standing', 'In air', 'Using grenades', 'Knife out', 'Crouching'], !![]);
        } else {
            createDropdown(_0x56caa1 + ' Force baim', ['Lethal', 'Moving', 'Slow walk', 'Standing', 'In air', 'Using grenades', 'Knife out', 'Crouching'], !![]);
        }
        UI.AddSliderInt(_0x56caa1 + ' Inaccurate Desync Limit', 0x1e, 0x3a);
        createDropdown(_0x56caa1 + ' Force safepoint', ['Head', 'Upper Chest', 'Chest', 'Lower Chest', 'Pelvis', 'Stomach', 'Feet', 'Legs'], !![]);
        createDropdown(_0x56caa1 + '\x20Force\x20safepoint\x20on\x20DT', ['Head', 'Upper Chest', 'Chest', 'Lower Chest', 'Pelvis', 'Stomach', 'Feet', 'Legs'], !![]);
        UI.SetEnabled(_0x56caa1 + ' Inaccurate Desync Limit', ![]);
        UI.SetEnabled(_0x56caa1 + ' Force safepoint', ![]);
        UI.SetEnabled(_0x56caa1 + ' Force head', ![]);
        UI.SetEnabled(_0x56caa1 + ' Force baim', ![]);
        UI.SetEnabled(_0x56caa1 + '\x20Force\x20safepoint\x20on\x20DT', ![]);
    }
    v1 = Cheat.RegisterCallback('weapon_fire', 'on_weapon_fire');
    v2 = Cheat.RegisterCallback('Draw', 'on_paint');
    v21 = Cheat.GetUsername('weapon_fire', 'on_weapon_fire');
    v1 = Cheat.RegisterCallback('CreateMove', 'v23');
    v1 = Cheat.RegisterCallback('ragebot_fire', 'ragebot');
    if (v1 == undefined) {
        v1 = ![];
        v2 = ![];
        v1 = ![];
    }
    if (!v1 || !v2 || !v1) {
        v5 = Cheat.GetUsername();
    }
    v6 = Cheat.RegisterCallback('player_connect_full', 'on_player_connect');
    v6 = Cheat.GetUsername('CreateMove', 'v23');
}
Main();

//Whether or not the script is listening for a 'player_hurt' event
var waiting_for_hit = false;

//The target the ragebot last fired at
var target_idx = 0;

//The tick the ragebot last fired on
var tick_count = -1;

//Miss count for each individual player
var misses = [64];

//Safety state for each individual player
var safety_ents = [64];

//Set the default values for 'misses' and 'safety_ents'
reset_miss_logs()

//Add the miss slider
UI.AddSliderInt("Safety after x misses", 1, 6);

function on_ragebot_fire() {
    //The ragebot fired so now we're waiting for a 'player_hurt' event
    waiting_for_hit = true;
    //Update the current target index
    target_idx = Event.GetInt("target_index");
    //Update the tick count
    tick_count = Globals.Tickcount()
}

function on_player_hurt() {
    //The entity that was hurt
    var entity = Entity.GetEntityFromUserID(Event.GetInt("userid"));

    //Don't continue if the hurt entity is the local player
    if (entity == Entity.GetLocalPlayer())
        return;

    //The entity that attacked 'entity'
    var attacker = Entity.GetEntityFromUserID(Event.GetInt("attacker"));

    //Don't continue unless 'attacker' is the local player
    if (attacker != Entity.GetLocalPlayer())
        return;

    //Don't continue if 'entity' isn't the last target
    if (entity != target_idx)
        return;

    //We damaged the target so we are no longer waiting for a hit. Reset the variables
    waiting_for_hit = false;
    target_idx = 0;
    tick_count = -1;
 
}

function on_create_move() {
    //Time in milliseconds between each tick
    var tick_interval = 1000 / Globals.Tickrate();

    //The amount of ticks we're going to wait for a player_hurt event
    var wait_ticks = 1 + Math.ceil((Local.Latency() * 2) / tick_interval);

    //Run this block if more than 'wait_ticks" has passed since the ragebot fired
    if (Globals.Tickcount() - tick_count >= wait_ticks && waiting_for_hit) {
        //Increment the misses for the current target
        misses[target_idx]++;

        //Force safety on the current target if more than x misses
        if (misses[target_idx] >= UI.GetValue("Misc", "JAVASCRIPT", "Script items", "Safety after x misses")) {
            safety_ents[target_idx] = 1;
        }

        //Reset the variables
        waiting_for_hit = false;
        target_idx = 0;
        tick_count = -1;
    }

    //Current target
    var rbot_target = Ragebot.GetTarget();

    //If there is no target, don't continue
    if (rbot_target == 0)
        return;

    //Force safety on the target
    if (safety_ents[rbot_target] == 1) {
        Ragebot.ForceTargetSafety(rbot_target);
    }
}

//Reset variables on death
function on_player_death() {
    var idx = Entity.GetEntityFromUserID(Event.GetInt("userid"));
    reset_specific_miss_logs(idx)
}

//Resets 'misses[]' and 'safety_ents[]'
function reset_miss_logs() {
    for (var i = 0; i < 64; i++) {
        reset_specific_miss_logs(i)
    }
}

//Resets 'misses' and 'safety_ents' for a specific entity
function reset_specific_miss_logs(idx) {
    misses[idx] = 0;
    safety_ents[idx] = 0;
}

//Register callbacks
Cheat.RegisterCallback("ragebot_fire", "on_ragebot_fire");
Cheat.RegisterCallback("player_hurt", "on_player_hurt");
Cheat.RegisterCallback("CreateMove", "on_create_move");
Cheat.RegisterCallback("player_death", "on_player_death")
Cheat.RegisterCallback("round_start", "reset_miss_logs");


const keybinds_x = UI.AddSliderInt("keybinds_x", 0, Global.GetScreenSize()[0])
const keybinds_y = UI.AddSliderInt("keybinds_y", 0, Global.GetScreenSize()[1])

function in_bounds(vec, x, y, x2, y2)
{
   return (vec[0] > x) && (vec[1] > y) && (vec[0] < x2) && (vec[1] < y2)
}

 function xy()
 {
     UI.SetEnabled("Misc", "JAVASCRIPT", "Script items", "keybinds_x", false)
     UI.SetEnabled("Misc", "JAVASCRIPT", "Script items", "keybinds_y", false)
 }
 xy();

function keybinds()
 {
     var h = [];
     const fontpixel = Render.AddFont( "Verdana", 8 , 100);

     if (UI.IsHotkeyActive("Anti-Aim", "Extra", "Slow walk")) {
       h.push("Slow motion")
     }
     if (UI.IsHotkeyActive("Anti-Aim", "Extra", "Fake duck")) {
       h.push("Duck peek assist")
     }
     if (UI.IsHotkeyActive("Misc", "General", "Movement", "Auto peek")) {
       h.push("Quick peek")
     }
     if (UI.IsHotkeyActive("Anti-Aim", "Fake angles", "Inverter")) {
       h.push("Anti-Aim invert")
     }
     if (UI.IsHotkeyActive("Rage", "General", "General", "Force safe point")) {
       h.push("Safe point")
     }
     if (UI.IsHotkeyActive("Rage", "General", "General", "Force body aim")) {
       h.push("Body aim")
     }
     if (UI.IsHotkeyActive("Rage", "Exploits", "Double tap")) {
       h.push("Double tap")
     }
     if (UI.IsHotkeyActive("Anti-Aim", "Fake angles", "Desync on shot")) {
       h.push("On shot anti-aim")
     }
     if (UI.IsHotkeyActive("Rage", "Exploits", "Hide shots")) {
       h.push("Hide shots")
     }
     if (UI.IsHotkeyActive("Legit", "GENERAL", "Triggerbot", "Enabled")) {
       h.push("Triggerbot")
     }

     const x = UI.GetValue("Misc", "JAVASCRIPT", "Script items", "keybinds_x"),
           y = UI.GetValue("Misc", "JAVASCRIPT", "Script items", "keybinds_y");

     const rainbow = [
         Math.floor(Math.sin(Global.Realtime() * 2) * 127 + 128),
         Math.floor(Math.sin(Global.Realtime() * 2 + 2) * 127 + 128),
         Math.floor(Math.sin(Global.Realtime() * 2 + 4) * 127 + 128),
         255
     ];
     

     Render.FilledRect(x, y, 180, 22, [15, 15, 15, 255]);
     Render.StringCustom(x + 58, y + 5, 0, "Hotkey List", [255, 255, 255, 255], fontpixel);
     Render.FilledRect(x, y, 180, 2, [163, 180, 255, 255]);
     Render.FilledRect(x, y + 20, 180, 20 + 15 * (h.length - 1), [15, 15, 15, 20]);
     for (i = 0; i < h.length; i++)
     {
        Render.StringCustom(x + 5, y + 23 + 15 * i, 0, h[i], [255, 255, 255, 255], fontpixel);
        Render.StringCustom(x + 123, y + 23 + 15 * i, 0, "[toggled]", [255, 255, 255, 255], fontpixel);
     }

     if (Global.IsKeyPressed(1)) {
         const mouse_pos = Global.GetCursorPosition();
         if (in_bounds(mouse_pos, x, y, x + 200, y + 30)) {
          if (UI.IsMenuOpen( ) == false)
            return;
             UI.SetValue("Misc", "JAVASCRIPT", "Script items", "keybinds_x", mouse_pos[0] - 100);
             UI.SetValue("Misc", "JAVASCRIPT", "Script items", "keybinds_y", mouse_pos[1] - 20);
         }
     }

 }

Global.RegisterCallback("Draw", "keybinds");

/**
*
* Title: Zeusbot
* Author: april#0001
* Description: An automatic zeus aimbot for legit play.
*
*/

/**
 * @title BetterUI
 * @version 1.0.2
 * @description A better UI system for Onetap
 */

var menu_elements_t = [];
var menu_c = [];
const menu_spacer = "                                                                                  ";

/**
 * Creates a new menu label
 *
 * @param label {string}
 */
menu_c.label = function(label)
{
    // Creates the label
    UI.AddLabel(label);
}

/**
 * Creates a new menu element
 *
 * @param func {function}
 * @param name {string}
 * @param label {string},
 * @param properties {array}
 */
menu_c.call = function(func, name, label, properties)
{
    // If the label isn't unique
    if (label in menu_elements_t)
        throw new Error("[Menu] The label must be unique!");

    // Get properties
    const final_name = name + menu_spacer + label;
    var final_props = [final_name];
    const element_info_t = {
        name: name,
        label: label,
        properties: properties
    };

    // If our properties aren't null, then pack them together.
    if (properties !== null)
    {
        for (var i = 0; i < properties.length; i++)
        {
            final_props.push(properties[i]);
        }
    }

    // Create our menu element and return properties
    func.apply(null, final_props);
    menu_elements_t[label] = element_info_t;
    return label;
}

/**
 * Gets the value of a menu element
 *
 * @param label {string}
 * @return {any}
 */
menu_c.get = function(label)
{
    // If the label doesn't exist
    if (!(label in menu_elements_t))
        throw new Error("[Menu] This element's label doesn't exist!");

    // Get properties
    const properties = menu_elements_t[label];
    const final_name = properties.name + menu_spacer + properties.label;

    // Returns the element's value
    return UI.GetValue("Misc", "JAVASCRIPT", "Script items", final_name);
}

/**
 * Gets the value of a menu element
 *
 * @param label {string}
 * @return {any}
 */
menu_c.get_hotkey = function(label)
{
    // If the label doesn't exist
    if (!(label in menu_elements_t))
        throw new Error("[Menu] This element's label doesn't exist!");

    // Get properties
    const properties = menu_elements_t[label];
    const final_name = properties.name + menu_spacer + properties.label;

    // Returns the element's value
    return UI.IsHotkeyActive("Misc", "JAVASCRIPT", "Script items", final_name);
}

/**
 * Gets the value of a menu element
 *
 * @param label {string}
 * @return {any}
 */
menu_c.get_color = function(label)
{
    // If the label doesn't exist
    if (!(label in menu_elements_t))
        throw new Error("[Menu] This element's label doesn't exist!");

    // Get properties
    const properties = menu_elements_t[label];
    const final_name = properties.name + menu_spacer + properties.label;

    // Returns the element's value
    return UI.GetColor("Misc", "JAVASCRIPT", "Script items", final_name);
}

/**
 * Sets the value of a menu element
 *
 * @param label {string}
 * @param value {any}
 */
menu_c.set = function(label, value)
{
    // If the label doesn't exist
    if (!(label in menu_elements_t))
        throw new Error("[Menu] This element's label doesn't exist!");

    // Get properties
    const properties = menu_elements_t[label];
    const final_name = properties.name + menu_spacer + properties.label;

    // Set the element's value
    UI.SetValue("Misc", "JAVASCRIPT", "Script items", final_name, value);
}

/**
 * Changes the visibility of a menu elements
 *
 * @param label {string}
 * @param visible {boolean}
 */
menu_c.visibility = function(label, visible)
{
    // If the label doesn't exist
    if (!(label in menu_elements_t))
        throw new Error("[Menu] This element's label doesn't exist!");

    // Get properties
    const properties = menu_elements_t[label];
    const final_name = properties.name + menu_spacer + properties.label;

    // Change the element's visibility
    UI.SetEnabled("Misc", "JAVASCRIPT", "Script items", final_name, visible);
}


/**
 * Creates a new 3D Vector instance from an array
 *
 * @param  {array} array Our base array
 * @return {Vector3D}
 */
function vec3(array)
{
    return {
        x: array[0],
        y: array[1],
        z: array[2]
    };
}

/**
 * Adds a 3D Vector to another 3D Vector
 *
 * @param  {Vector} vec  Our first vector parameter
 * @param  {Vector} vec2 Our second vector parameter
 * @return {Vector}
 */
function vec_add(vec, vec2)
{
    return {
        x: vec.x + vec2.x,
        y: vec.y + vec2.y,
        z: vec.z + vec2.z
    };
}

/**
 * Substracts a 3D Vector from another 3D Vector
 *
 * @param  {Vector} vec  Our first vector parameter
 * @param  {Vector} vec2 Our second vector parameter
 * @return {Vector}
 */
function vec_sub(vec, vec2)
{
    return {
        x: vec.x - vec2.x,
        y: vec.y - vec2.y,
        z: vec.z - vec2.z
    };
}

/**
 * Multiplies a 3D Vector to another 3D Vector
 *
 * @param  {Vector} vec  Our first vector parameter
 * @param  {Vector} vec2 Our second vector parameter
 * @return {Vector}
 */
function vec_mult(vec, vec2)
{
    return {
        x: vec.x * vec2.x,
        y: vec.y * vec2.y,
        z: vec.z * vec2.z
    };
}


/**
 * Converts a radian value to a degree
 *
 * @param {number} rad Our initial radian
 * @return {number}
 */
const rad_deg = function(rad)
{
    return rad * 180 / Math.PI;
}


/**
 * Gets the distance between two 3D vectors
 *
 * @param {Vector} vec
 * @param {Vector} vec2
 * @return {number}
 */
const distance3d = function(vec, vec2)
{
    // Substract the initial vector from the final vector
    const sub = vec_sub(vec2, vec);

    // Calculate and return distance
    return Math.sqrt(sub.x * sub.x + sub.y * sub.y + sub.z * sub.z);
}


/**
 * Unpacks an array into another array without values
 *
 * @param {Array} Array
 * @return {Array}
 */
const unpack = function(array)
{
    // Create the array we'll be pushing our elements into
    var final = [];

    // Loops for every element inside our parameter array
    for (var i in array)
    {
        // Push values
        final.push(array[i]);
    }

    // Return final array
    return final;
}
//endregion

//region main

// Create our variables
var old_index = -1;
var shot = false;
var is_zeus = false;

//endregion

//region menu

// Create our main switch
const enable = menu_c.call(UI.AddCheckbox, "Zeusbot", "zeus_enable", null);

//endregion

//region functions

// Create our target system instance
const target = {};


/**
 * Calculates the FOV distance, nearest hitbox and angles of an Entity
 *
 * @param {Entity | Number} ent The entity our calculation will be based on
 * @param {Vector} eye_pos Our local player's eye position
 * @param {Vector} angles Our local player's eye angles
 * @return {Array}
 */
target.calculate_fov = function(ent, eye_pos, angles)
{
    // Create the array we're our data will be saved
    var data = {fov: 360, hitbox: -1, angles: []};

    // Loops between body, pelvis and chest
    for (var i = 2; i < 7; i++)
    {
        // Get our vectors
        const hitbox = vec3(Entity.GetHitboxPosition(ent, i));
        const sub = vec_sub(hitbox, eye_pos);

        // Calculate our angles based on the previously calculated vectors
        const yaw = rad_deg(Math.atan2(sub.y, sub.x));
        const pitch = -rad_deg(Math.atan2(sub.z, Math.sqrt(sub.x * sub.x + sub.y * sub.y)));

        // Calculate the difference between our local angles and the calculated angles
        const yaw_dif = Math.abs(angles.y % 360 - yaw % 360) % 360;
        const pitch_dif = Math.abs(angles.x - pitch) % 360;

        // Normalize the yaw
        if (yaw_dif > 180)
            yaw_dif = 360 - yaw_dif;

        // Calculate the FOV
        const distance = Math.sqrt(pitch_dif * pitch_dif + yaw_dif * yaw_dif);

        // If this FOV is lower than our cached FOV, then update our data
        if (distance < data.fov)
        {
            // Update our data
            data.fov = distance;
            data.hitbox = i;
            data.angles = [pitch, yaw];
        }
    }

    // Return gathered data
    return data;
}


/**
 * Gets the entity index of our target
 *
 * @return {Void}
 */
target.get_target = function()
{
    // Get our properties
    const player = Entity.GetLocalPlayer();
    const eye_pos = vec3(Entity.GetEyePosition(player));
    const eye_angles = vec3(Local.GetViewAngles());

    // Get our enemies
    const enemies = Entity.GetEnemies();

    // Create the array we're our data will be saved
    const data = {fov: 360, id: -1, hitbox: -1, angles: []};

    // Loops for every enemy
    for (var i = 0; i < enemies.length; i++)
    {
        // Our current enemy
        const ent = enemies[i];

        // Check if our enemy is valid for our purposes
        if (Entity.IsValid(ent) && Entity.IsAlive(ent) && !Entity.GetProp(ent, "CCSPlayer", "m_bGunGameImmunity"))
        {
            // Calculate the FOV
            const fov_info = target.calculate_fov(ent, eye_pos, eye_angles);

            // If our calculated FOV is lower than the cached FOV, then update data
            if (fov_info.fov < data.fov)
            {
                // Update data
                data.fov = fov_info.fov;
                data.id = ent;
                data.hitbox = fov_info.hitbox;
                data.angles = fov_info.angles;
            }
        }
    }

    // Return gathered target and data
    return data;
}

target.is_zeus = function()
{
    // Gets our properties
    const player = Entity.GetLocalPlayer();
    const weapon_id = Entity.GetProp(Entity.GetWeapon(player), "CBaseAttributableItem", "m_iItemDefinitionIndex") & 0xFFFF;

    // If our current weapon index is the same as the cached one, then we didn't swap between weapons
    if (weapon_id === old_index)
        return;

    // Otherwise, cache our weapon index for further calculations
    old_index = weapon_id;

    // If our weapon is a zeus, then set is_zeus to true. Otherwise, set it to false.
    if (weapon_id === 31)
        is_zeus = true;
    else
        is_zeus = false;
}

// Create our aiming system instance
var aim = {};


/**
 * Where the aimbot magic happens (I love this meme.)
 *
 * @return {Void}
 */
aim.do = function()
{
    // If the zeusbot isn't enable, then no need to do the aimbot
    if (!menu_c.get(enable))
        return;

    // Checks if we did shoot
    if (shot)
    {
        // If we did, then update buttons, set shot to false and return, otherwise, we won't be able to shoot again.
        Cheat.ExecuteCommand("-attack");
        shot = false;
        return;
    }

    // If our current weapon ins't a zeus, then no need to do aimbot
    if (!is_zeus)
        return;

    // Get our local player
    const player = Entity.GetLocalPlayer();

    // If our local player insn't valid or if we're dead, return
    if (!player || !Entity.IsAlive(player))
        return;

    // Get our target and its info
    const data = target.get_target();

    // If there's no target, then return
    if (data.id === -1)
        return;

    // Get our propeties
    const eye_pos = vec3(Entity.GetEyePosition(player));
    const hitbox = vec3(Entity.GetHitboxPosition(data.id, data.hitbox));

    // Do checks
    const trace = Trace.Line(player, unpack(eye_pos), unpack(hitbox));
    const dst = distance3d(eye_pos, hitbox);

    // If our checks are true then...
    if (dst < 150 && !shot && trace[1] > 0.88)
    {
        // Do aimbot, fire and update data
        Local.SetViewAngles([data.angles[0], data.angles[1], 0]);
        Cheat.ExecuteCommand("+attack");
        shot = true;
    }

}

//endregion

//region callbacks

// Callback our functions otherwise nothing will happen
// Haha, another PaintTraverse aimbot.
Cheat.RegisterCallback("Draw", "target.is_zeus");
Cheat.RegisterCallback("Draw", "aim.do");

//endregion

UI.AddDropdown( "PREMIUM ClanTag", [ "Disabled","fantasense","Gamesense","AIMWARE","SAMOWARE","Neverlose","fatality","nemesis","memesense","Demonality","pandora","X-project","2k17.club","PPHUD","ZeroWare","z0rhack","Echozy.pw","Trapsync","Wayvee","Getze","MidNight","Rifk7","INIURIA","MillionWare","Eternity","BlazeHack","onetap.su","interwebz","LegendWare","Aimfall","DarkSun","BooberHook","XONE","BloodWare","ev0lve.xyz","Nixware.cc","LuckyCharms","CYBERWARE.net","eexomi.host"] );
UI.AddSliderInt( "ClanTag Speed", 1, 10 );
UI.AddLabel("                          by =D3V1L=#8212");
var lasttime = 0;
function onRender( )
{
    var tag = UI.GetValue( "Script Items", "PREMIUM ClanTag" );
    var speed = UI.GetValue( "Script Items", "ClanTag Speed" );
    var time = parseInt((Globals.Curtime() * speed))
    if (time != lasttime)
    {
        if(tag == 0) { Local.SetClanTag(); }
        if(tag == 1)
            {
            switch((time) % 27)
            {
                case 1: { Local.SetClanTag(""); break; }
                case 2: { Local.SetClanTag("f"); break; }
                case 3: { Local.SetClanTag("fa"); break; }
                case 4: { Local.SetClanTag("fan"); break; }
                case 5: { Local.SetClanTag("fant"); break; }
                case 6: { Local.SetClanTag("fanta"); break; }
                case 7: { Local.SetClanTag("fanta"); break; }
                case 8: { Local.SetClanTag("fanta"); break; }
				case 9: { Local.SetClanTag("fanta"); break; }
                case 10:{ Local.SetClanTag("fantas"); break; }
                case 11:{ Local.SetClanTag("fantase"); break; }
                case 12:{ Local.SetClanTag("fantasen"); break; }
                case 13:{ Local.SetClanTag("fantasens"); break; }
                case 14:{ Local.SetClanTag("fantasense"); break; }
                case 15:{ Local.SetClanTag("fantasense"); break; }
				case 16:{ Local.SetClanTag("fantasens"); break; }
                case 17:{ Local.SetClanTag("fantasen"); break; }
                case 18:{ Local.SetClanTag("fantase"); break; }
                case 19:{ Local.SetClanTag("fantas"); break; }
                case 20:{ Local.SetClanTag("fanta"); break; }
				case 21:{ Local.SetClanTag("fanta"); break; }
				case 22:{ Local.SetClanTag("fanta"); break; }
                case 23:{ Local.SetClanTag("fant"); break; }
                case 24:{ Local.SetClanTag("fan"); break; }
                case 25:{ Local.SetClanTag("fa"); break; }
                case 26:{ Local.SetClanTag("f"); break; }
				case 27:{ Local.SetClanTag(""); break; }
            }
        }
		if(tag == 2)
           {
			 switch((time) % 27)
           {
			case 0: { Local.SetClanTag("                  "); break; }
            case 1: { Local.SetClanTag("                 g"); break; }
            case 2: { Local.SetClanTag("                ga"); break; }
            case 3: { Local.SetClanTag("               gam"); break; }
            case 4: { Local.SetClanTag("              game"); break; }
            case 5: { Local.SetClanTag("             games"); break; }
            case 6: { Local.SetClanTag("            gamese"); break; }
            case 7: { Local.SetClanTag("           gamesen"); break; }
            case 8: { Local.SetClanTag("          gamesens"); break; }
            case 9: { Local.SetClanTag("         gamesense"); break; }
            case 10:{ Local.SetClanTag("        gamesense "); break; }
            case 11:{ Local.SetClanTag("       gamesense  "); break; }
            case 12:{ Local.SetClanTag("      gamesense   "); break; }
            case 13:{ Local.SetClanTag("     gamesense    "); break; }
            case 14:{ Local.SetClanTag("    gamesense     "); break; }
            case 15:{ Local.SetClanTag("   gamesense      "); break; }
            case 16:{ Local.SetClanTag("  gamesense       "); break; }
            case 17:{ Local.SetClanTag(" gamesense        "); break; }
            case 18:{ Local.SetClanTag("gamesense         "); break; }
			case 19:{ Local.SetClanTag("amesense          "); break; }
            case 20:{ Local.SetClanTag("mesense           "); break; }
			case 21:{ Local.SetClanTag("esense            "); break; }
			case 22:{ Local.SetClanTag("sense             "); break; }
			case 23:{ Local.SetClanTag("sens              "); break; }
			case 24:{ Local.SetClanTag("sen               "); break; }
			case 25:{ Local.SetClanTag("se                "); break; }
			case 26:{ Local.SetClanTag("s                 "); break; }
			case 27:{ Local.SetClanTag("                  "); break; }
            
 
            }
        }
		if(tag == 3)
           {
			 switch((time) % 12)
           {
			
            case 1:{  Local.SetClanTag("AIMWARE.net"); break;  }
            case 2:{  Local.SetClanTag("t AIMWARE.ne"); break; }
            case 3:{  Local.SetClanTag("et AIMWARE.n"); break; }
			case 4:{  Local.SetClanTag(".net AIMWARE"); break; }
            case 5:{  Local.SetClanTag("E.net AIMWAR"); break; }
            case 6:{  Local.SetClanTag("RE.net AIMWA"); break; }
            case 7:{  Local.SetClanTag("ARE.net	AIMW"); break; }
            case 8:{  Local.SetClanTag("WARE.net AIM"); break; }
            case 9:{  Local.SetClanTag("MWARE.net AI"); break; }
            case 10:{ Local.SetClanTag("IMWARE.net A"); break; }
            case 11:{ Local.SetClanTag("AIMWARE.net"); break;  }
			case 12:{ Local.SetClanTag("AIMWARE.net"); break;  }
            
            
 
            }
        }
		if (tag == 4) {
            switch ((time) % 79) {
                case 1: { Local.SetClanTag("  "); break; }
                case 2: { Local.SetClanTag(" _ _ "); break; }
                case 3: { Local.SetClanTag(" +▂ ▂+ "); break; }
                case 4: { Local.SetClanTag(" ▁† †▁ "); break; }
                case 5: { Local.SetClanTag(" ▁☮ ☮▁ "); break; }
                case 6: { Local.SetClanTag(" ▂↕ ↕▂ "); break; }
                case 7: { Local.SetClanTag(" ▂ ▂ "); break; }
                case 8: { Local.SetClanTag(" ▃〠 〠▃ "); break; }
                case 9: { Local.SetClanTag(" 卐卐 "); break; }
                case 10: { Local.SetClanTag(" 卐|卐 "); break; }
                case 11: { Local.SetClanTag(" 卐|\卐 "); break; }
                case 12: { Local.SetClanTag(" 卐|\\卐 "); break; }
                case 13: { Local.SetClanTag(" 卐|\\|卐 "); break; }
                case 14: { Local.SetClanTag(" 卐S卐 "); break; }
                case 15: { Local.SetClanTag(" 卐S\卐 "); break; }
                case 16: { Local.SetClanTag(" 卐S\|卐 "); break; }
                case 17: { Local.SetClanTag(" 卐S\|/卐 "); break; }
                case 18: { Local.SetClanTag(" 卐SA卐 "); break; }
                case 19: { Local.SetClanTag(" 卐SA(卐 "); break; }
                case 20: { Local.SetClanTag(" 卐SA(_卐 "); break; }
                case 21: { Local.SetClanTag(" 卐SA(_)卐 "); break; }
                case 22: { Local.SetClanTag(" 卐SAM卐 "); break; }
                case 23: { Local.SetClanTag(" 卐SAM5卐 "); break; }
                case 24: { Local.SetClanTag(" 卐SAMO/卐 "); break; }
                case 25: { Local.SetClanTag(" 卐SAMO/\卐 "); break; }
                case 26: { Local.SetClanTag(" 卐SAMO/\|卐 "); break; }
                case 27: { Local.SetClanTag(" 卐SAMO/\|/卐 "); break; }
                case 28: { Local.SetClanTag(" 卐SAMO/\|/\卐 "); break; }
                case 29: { Local.SetClanTag(" 卐SAMOW卐 "); break; }
                case 30: { Local.SetClanTag(" 卐SAMOW3卐 "); break; }
                case 31: { Local.SetClanTag(" 卐SAMOWA卐 "); break; }
                case 32: { Local.SetClanTag(" 卐SAMOWA|卐 "); break; }
                case 33: { Local.SetClanTag(" 卐SAMOWA|_卐 "); break; }
                case 34: { Local.SetClanTag(" 卐SAMOWAR卐 "); break; }
                case 35: { Local.SetClanTag(" 卐SAMOWAR|卐 "); break; }
                case 36: { Local.SetClanTag(" 卐SAMOWAR|1卐 "); break; }
                case 37: { Local.SetClanTag(" 卐SAMOWAR|1|卐 "); break; }
                case 38: { Local.SetClanTag(" 卐SAMOWARE卐 "); break; }
                case 39: { Local.SetClanTag(" ✖SAMOWARE✖ "); break; }
                case 40: { Local.SetClanTag(" ❤SAMOWARE❤ "); break; }
                case 41: { Local.SetClanTag(" †SAMOWARE† "); break; }
                case 42: { Local.SetClanTag(" 卐|\\|AMOWARE卐 "); break; }
                case 43: { Local.SetClanTag(" 卐|\\AMOWARE卐 "); break; }
                case 44: { Local.SetClanTag(" 卐|\AMOWARE卐 "); break; }
                case 45: { Local.SetClanTag(" 卐|AMOWARE卐 "); break; }
                case 46: { Local.SetClanTag(" 卐AMOWARE卐 "); break; }
                case 47: { Local.SetClanTag(" 卐\|/MOWARE卐 "); break; }
                case 48: { Local.SetClanTag(" 卐\|MOWARE卐 "); break; }
                case 49: { Local.SetClanTag(" 卐\MOWARE卐 "); break; }
                case 50: { Local.SetClanTag(" 卐MOWARE卐 "); break; }
                case 51: { Local.SetClanTag(" 卐(_)OWARE卐 "); break; }
                case 52: { Local.SetClanTag(" 卐(_OWARE卐 "); break; }
                case 53: { Local.SetClanTag(" 卐(OWARE卐 "); break; }
                case 54: { Local.SetClanTag(" 卐OWARE卐 "); break; }
                case 55: { Local.SetClanTag(" 卐5WARE卐 "); break; }
                case 56: { Local.SetClanTag(" 卐WARE卐 "); break; }
                case 57: { Local.SetClanTag(" 卐/\|/\ARE卐 "); break; }
                case 58: { Local.SetClanTag(" 卐/\|/ARE卐 "); break; }
                case 59: { Local.SetClanTag(" 卐/\|ARE卐 "); break; }
                case 60: { Local.SetClanTag(" 卐/\ARE卐 "); break; }
                case 61: { Local.SetClanTag(" 卐/ARE卐 "); break; }
                case 62: { Local.SetClanTag(" 卐ARE卐 "); break; }
                case 63: { Local.SetClanTag(" 卐3RE卐  "); break; }
                case 64: { Local.SetClanTag(" 卐RE卐 "); break; }
                case 65: { Local.SetClanTag(" 卐|_E卐 "); break; }
                case 66: { Local.SetClanTag(" 卐|E卐 "); break; }
                case 67: { Local.SetClanTag(" 卐E卐 "); break; }
                case 68: { Local.SetClanTag(" 卐|1|卐 "); break; }
                case 69: { Local.SetClanTag(" 卐|1卐 "); break; }
                case 70: { Local.SetClanTag(" 卐|卐 "); break; }
                case 71: { Local.SetClanTag(" 卐卐 "); break; }
                case 72: { Local.SetClanTag(" ▃〠 〠▃ "); break; }
                case 73: { Local.SetClanTag(" ▂ ▂ "); break; }
                case 74: { Local.SetClanTag(" ▂↕ ↕▂ "); break; }
                case 75: { Local.SetClanTag(" ▁☮ ☮▁ "); break; }
                case 76: { Local.SetClanTag(" ▁† †▁ "); break; }
                case 77: { Local.SetClanTag(" +▂ ▂+ "); break; }
                case 78: { Local.SetClanTag(" _ _ "); break; }
                case 79: { Local.SetClanTag("  "); break; }
            }
        }
		if(tag == 5)
            {
            switch((time) % 53)
            {
                case 1: { Local.SetClanTag("  "); break; }
                case 2: { Local.SetClanTag(" | "); break; }
                case 3: { Local.SetClanTag(" |\\ "); break; }
                case 4: { Local.SetClanTag(" |\\| "); break; }
                case 5: { Local.SetClanTag(" N "); break; }
                case 6: { Local.SetClanTag(" N3 "); break; }
                case 7: { Local.SetClanTag(" Ne "); break; }
                case 8: { Local.SetClanTag(" Ne\\ "); break; }
                case 9: { Local.SetClanTag(" Ne\\/ "); break; }
                case 10: { Local.SetClanTag(" Nev "); break; }
                case 11: { Local.SetClanTag(" Nev3 "); break; }
                case 12: { Local.SetClanTag(" Neve "); break; }
                case 13: { Local.SetClanTag(" Neve| "); break; }
                case 14: { Local.SetClanTag(" Neve|2 "); break; }
                case 15: { Local.SetClanTag(" Never|_ "); break; }
                case 16: { Local.SetClanTag(" Neverl "); break; }
                case 17: { Local.SetClanTag(" Neverl0 "); break; }
                case 18: { Local.SetClanTag(" Neverlo "); break; }
                case 19: { Local.SetClanTag(" Neverlo5 "); break; }
                case 20: { Local.SetClanTag(" Neverlos "); break; }
                case 21: { Local.SetClanTag(" Neverlos3 "); break; }
                case 22: { Local.SetClanTag(" Neverlose "); break; }
                case 23: { Local.SetClanTag(" Neverlose. "); break; }
                case 24: { Local.SetClanTag(" Neverlose.< "); break; }
                case 25: { Local.SetClanTag(" Neverlose.c< "); break; }
                case 26: { Local.SetClanTag(" Neverlose.cc "); break; }
                case 27: { Local.SetClanTag(" Neverlose.cc "); break; }
                case 28: { Local.SetClanTag(" Neverlose.c< "); break; }
                case 29: { Local.SetClanTag(" Neverlose.< "); break; }
                case 30: { Local.SetClanTag(" Neverlose. "); break; }
                case 31: { Local.SetClanTag(" Neverlose "); break; }
                case 32: { Local.SetClanTag(" Neverlos3 "); break; }
                case 33: { Local.SetClanTag(" Neverlos "); break; }
                case 34: { Local.SetClanTag(" Neverlo5 "); break; }
                case 35: { Local.SetClanTag(" Neverlo "); break; }
                case 36: { Local.SetClanTag(" Neverl0 "); break; }
                case 37: { Local.SetClanTag(" Neverl "); break; }
                case 38: { Local.SetClanTag(" Never|_ "); break; }
                case 39: { Local.SetClanTag(" Never|2 "); break; }
                case 40: { Local.SetClanTag(" Neve|2 "); break; }
                case 41: { Local.SetClanTag(" Neve| "); break; }
                case 42: { Local.SetClanTag(" Neve "); break; }
                case 43: { Local.SetClanTag(" Nev3 "); break; }
                case 44: { Local.SetClanTag(" Nev "); break; }
                case 45: { Local.SetClanTag(" Ne\\/ "); break; }
                case 46: { Local.SetClanTag(" Ne\\ "); break; }
                case 47: { Local.SetClanTag(" Ne "); break; }
                case 48: { Local.SetClanTag(" N3 "); break; }
                case 49: { Local.SetClanTag(" N "); break; }
                case 50: { Local.SetClanTag(" |\\| "); break; }
                case 51: { Local.SetClanTag(" |\\ "); break; }
                case 52: { Local.SetClanTag(" | "); break; }
                case 53: { Local.SetClanTag("  "); break; }
           
           
            }
        }
		if(tag == 6)
            {
            switch((time) % 22)
            {
                case 1: { Local.SetClanTag(""); break; }
                case 2: { Local.SetClanTag("f"); break; }
                case 3: { Local.SetClanTag("fa"); break; }
                case 4: { Local.SetClanTag("fat	"); break; }
                case 5: { Local.SetClanTag("fata"); break; }
                case 6: { Local.SetClanTag("fatal"); break; }
                case 7: { Local.SetClanTag("fatali"); break; }
                case 8:	{ Local.SetClanTag("fatalit"); break; }
				case 9:	{ Local.SetClanTag("fatality"); break; }
                case 10:{ Local.SetClanTag("fatality.w"); break; }
                case 11:{ Local.SetClanTag("fatality.wi"); break; }
                case 12:{ Local.SetClanTag("fatality.win"); break; }
                case 13:{ Local.SetClanTag("fatality.wi"); break; }
                case 14:{ Local.SetClanTag("fatality.w"); break; }
                case 15:{ Local.SetClanTag("fatality"); break; }
				case 16:{ Local.SetClanTag("fatalit"); break; }
                case 17:{ Local.SetClanTag("fatali"); break; }
                case 18:{ Local.SetClanTag("fatal"); break; }
                case 19:{ Local.SetClanTag("fata"); break; }
                case 20:{ Local.SetClanTag("fat"); break; }
				case 21:{ Local.SetClanTag("fa"); break; }
				case 22:{ Local.SetClanTag("f"); break; }
                
            }
        }
		if(tag == 7)
            {
            switch((time) % 3)
            {
                case 1: { Local.SetClanTag("nemesis"); break; }
                case 2: { Local.SetClanTag("n3m3sis"); break; }
            }
        }
		if(tag == 8)
            {
            switch((time) % 27)
            {
            case 0: { Local.SetClanTag("                  "); break; }
            case 1: { Local.SetClanTag("                 m"); break; }
            case 2: { Local.SetClanTag("                me"); break; }
            case 3: { Local.SetClanTag("               mem"); break; }
            case 4: { Local.SetClanTag("              meme"); break; }
            case 5: { Local.SetClanTag("             memes"); break; }
            case 6: { Local.SetClanTag("            memese"); break; }
            case 7: { Local.SetClanTag("           memesen"); break; }
            case 8: { Local.SetClanTag("          memesens"); break; }
            case 9: { Local.SetClanTag("         memesense"); break; }
            case 10:{ Local.SetClanTag("        memesense "); break; }
            case 11:{ Local.SetClanTag("       memesense  "); break; }
            case 12:{ Local.SetClanTag("      memesense   "); break; }
            case 13:{ Local.SetClanTag("     memesense    "); break; }
            case 14:{ Local.SetClanTag("    memesense     "); break; }
            case 15:{ Local.SetClanTag("   memesense      "); break; }
            case 16:{ Local.SetClanTag("  memesense       "); break; }
            case 17:{ Local.SetClanTag(" memesense        "); break; }
            case 18:{ Local.SetClanTag("memesense         "); break; }
			case 19:{ Local.SetClanTag("emesense          "); break; }
            case 20:{ Local.SetClanTag("mesense           "); break; }
			case 21:{ Local.SetClanTag("esense            "); break; }
			case 22:{ Local.SetClanTag("sense             "); break; }
			case 23:{ Local.SetClanTag("sens              "); break; }
			case 24:{ Local.SetClanTag("sen               "); break; }
			case 25:{ Local.SetClanTag("se                "); break; }
			case 26:{ Local.SetClanTag("s                 "); break; }
			case 27:{ Local.SetClanTag("                  "); break; }
            }
        }
		if(tag == 9)
            {
            switch((time) % 26)
            {
            case 0: { Local.SetClanTag("Demonality.win"); break; }
            case 1: { Local.SetClanTag("Demonality.wi"); break; }
            case 2: { Local.SetClanTag("Demonality.w"); break; }
			case 3: { Local.SetClanTag("Demonality"); break; }
            case 4: { Local.SetClanTag("Demonality.p"); break; }
            case 5: { Local.SetClanTag("Demonality.pw"); break; }
            case 6: { Local.SetClanTag("Demonality.p"); break; }
            case 7: { Local.SetClanTag("Demonality"); break; }
            case 8: { Local.SetClanTag("Demonality.c"); break; }
            case 9: { Local.SetClanTag("Demonality.cc"); break; }
            case 10:{ Local.SetClanTag("Demonality.c"); break; }
            case 11:{ Local.SetClanTag("Demonality"); break; }
			case 12:{ Local.SetClanTag("Demonality.c"); break; }
			case 13:{ Local.SetClanTag("Demonality.co"); break; }
            case 14:{ Local.SetClanTag("Demonality.com"); break; }
            case 15:{ Local.SetClanTag("Demonality.co"); break; }
            case 16:{ Local.SetClanTag("Demonality.c"); break; }
			case 17:{ Local.SetClanTag("Demonality"); break; }
            case 18:{ Local.SetClanTag("Demonality.r"); break; }
            case 19:{ Local.SetClanTag("Demonality.ru"); break; }
            case 20:{ Local.SetClanTag("Demonality.r"); break; }
            case 21:{ Local.SetClanTag("Demonality"); break; }
            case 22:{ Local.SetClanTag("Demonality.w"); break; } 
            case 23:{ Local.SetClanTag("Demonality.wi"); break; }
            case 24:{ Local.SetClanTag("Demonality.win"); break; } 
			case 25:{ Local.SetClanTag("Demonality.win"); break; } 
			case 26:{ Local.SetClanTag("Demonality.win"); break; } 
			
			}
        }
		if(tag == 10)
            {
            switch((time) % 9)
            {
				case 1: { Local.SetClanTag("pandora"); break; }
                case 2: { Local.SetClanTag("_andor_"); break; }
                case 3: { Local.SetClanTag("__ndo__"); break; }
                case 4: { Local.SetClanTag("___d___"); break; }
                case 5: { Local.SetClanTag("_______"); break; }
                case 6: { Local.SetClanTag("p_____a"); break; }
                case 7: { Local.SetClanTag("pa___ra"); break; }
                case 8: { Local.SetClanTag("pan_ora"); break; }
                case 9: { Local.SetClanTag("pandora"); break; }            
			}
        }
		if(tag == 11)
            {
            switch((time) % 21)
            {
			case 1: { Local.SetClanTag("X-project"); break; }
            case 2: { Local.SetClanTag(".X-projec"); break; }
			case 3: { Local.SetClanTag("..X-proje"); break; }
            case 4: { Local.SetClanTag("...X-proj"); break; }
            case 5: { Local.SetClanTag("....X-pro"); break; }
            case 6: { Local.SetClanTag(".....X-pr"); break; }
            case 7: { Local.SetClanTag("......X-p"); break; }
            case 8: { Local.SetClanTag(".......X-"); break; }
            case 9: { Local.SetClanTag("........X"); break; }
            case 10:{ Local.SetClanTag("........."); break; }
            case 11:{ Local.SetClanTag("........X"); break; }
			case 12:{ Local.SetClanTag(".......X-"); break; }
			case 13:{ Local.SetClanTag("......X-p"); break; }
            case 14:{ Local.SetClanTag(".....X-pr"); break; }
            case 15:{ Local.SetClanTag("....X-pro"); break; }
            case 16:{ Local.SetClanTag("...X-proj"); break; }
			case 17:{ Local.SetClanTag("..X-proje"); break; }
            case 18:{ Local.SetClanTag(".X-projec"); break; }
            case 19:{ Local.SetClanTag("X-project"); break; }	
			case 20:{ Local.SetClanTag("X-project"); break; }	
			case 21:{ Local.SetClanTag("X-project"); break; }	
			}
        }
	
	    if(tag == 12)
            {
            switch((time) % 11)
            {
				case 1: { Local.SetClanTag("2k17.club"); break; }
                case 2: { Local.SetClanTag(" k17.clu "); break; }
                case 3: { Local.SetClanTag("  17.cl  "); break; }
                case 4: { Local.SetClanTag("   7.c   "); break; }
                case 5: { Local.SetClanTag("    .    "); break; }
                case 6: { Local.SetClanTag("         "); break; }
                case 7: { Local.SetClanTag("    .    "); break; }
                case 8: { Local.SetClanTag("   7.c   "); break; }
                case 9: { Local.SetClanTag("  17.cl  "); break; }            
				case 10:{ Local.SetClanTag(" k17.clu "); break; }
				case 11:{ Local.SetClanTag("2k17.club"); break; }
			
			}
        }
	
	
		if (tag == 13) {
			switch ((time) % 22) {
                case 1: { Local.SetClanTag(" \\ "); break; }
                case 2: { Local.SetClanTag(" P\\ "); break; }
                case 3: { Local.SetClanTag(" PP\\ "); break; }
                case 4: { Local.SetClanTag(" PPH\\ "); break; }
                case 5: { Local.SetClanTag(" PPHU\\ "); break; }
                case 6: { Local.SetClanTag(" PPHUD\\ "); break; }
                case 7: { Local.SetClanTag(" PPHUD B\\ "); break; }
                case 8: { Local.SetClanTag(" PPHUD Be\\ "); break; }
                case 9: { Local.SetClanTag(" PPHUD Bet\\ "); break; }
                case 10:{ Local.SetClanTag(" PPHUD Beta\\ "); break; }
                case 11:{ Local.SetClanTag(" PPHUD Beta \\"); break; }
                case 12:{ Local.SetClanTag(" PPHUD Beta /"); break; }
                case 13:{ Local.SetClanTag(" PPHUD Bet/ "); break; }
                case 14:{ Local.SetClanTag(" PPHUD Be/ "); break; }
                case 15:{ Local.SetClanTag(" PPHUD B/ "); break; }
                case 16:{ Local.SetClanTag(" PPHUD/ "); break; }
                case 17:{ Local.SetClanTag(" PPHU/ "); break; }
                case 18:{ Local.SetClanTag(" PPH/ "); break; }
                case 19:{ Local.SetClanTag(" PP/ "); break; }
                case 20:{ Local.SetClanTag(" P/ "); break; }
                case 21:{ Local.SetClanTag(" / "); break; }
				case 22:{ Local.SetClanTag(" \\ "); break; }
			}
        }
	
		if (tag == 14) {
			switch ((time) % 19) {
            
			case 1: { Local.SetClanTag("ZeroWare"); break; }
            case 2: { Local.SetClanTag("2eroWare"); break; }
			case 3: { Local.SetClanTag("Z3roWare"); break; }
            case 4: { Local.SetClanTag("Ze7oWare"); break; }
            case 5: { Local.SetClanTag("Zer0Ware"); break; }
            case 6: { Local.SetClanTag("Zero\\|/are"); break; }
            case 7: { Local.SetClanTag("ZeroW@re"); break; }
            case 8: { Local.SetClanTag("ZeroWa7e"); break; }
            case 9: { Local.SetClanTag("ZeroWar3"); break; }
            case 10:{ Local.SetClanTag("ZeroWare"); break; }
            case 11:{ Local.SetClanTag("ZeroWar3"); break; }
			case 12:{ Local.SetClanTag("ZeroWa7e"); break; }
			case 13:{ Local.SetClanTag("ZeroW@re"); break; }
            case 14:{ Local.SetClanTag("Zero\\|/are"); break; }
            case 15:{ Local.SetClanTag("Zer0Ware"); break; }
            case 16:{ Local.SetClanTag("Ze7oWare"); break; }
			case 17:{ Local.SetClanTag("Z3roWare"); break; }
            case 18:{ Local.SetClanTag("2eroWare"); break; }
			case 19:{ Local.SetClanTag("ZeroWare"); break; }
			
			}
        }
		if (tag == 15) {
			switch ((time) % 21) {
            case 1: { Local.SetClanTag(""); break; }
			case 2: { Local.SetClanTag("z"); break; }
            case 3: { Local.SetClanTag("z0"); break; }
            case 4: { Local.SetClanTag("z0r"); break; }
            case 5: { Local.SetClanTag("z0rh"); break; }
            case 6: { Local.SetClanTag("z0rha"); break; }
            case 7: { Local.SetClanTag("z0rhac"); break; }
            case 8: { Local.SetClanTag("z0rhack"); break; }
            case 9: { Local.SetClanTag("z0rhack.p"); break; }
            case 10:{ Local.SetClanTag("z0rhack.pw"); break; }
			case 11:{ Local.SetClanTag("z0rhack.pw"); break; }
			case 12:{ Local.SetClanTag("z0rhack.p"); break; }
            case 13:{ Local.SetClanTag("z0rhack."); break; }
            case 14:{ Local.SetClanTag("z0rhack"); break; }
            case 15:{ Local.SetClanTag("z0rhac"); break; }
			case 16:{ Local.SetClanTag("z0rha"); break; }
            case 17:{ Local.SetClanTag("z0rh"); break; }
            case 18:{ Local.SetClanTag("z0r"); break; }
            case 19:{ Local.SetClanTag("z0"); break; }
			case 20:{ Local.SetClanTag("z"); break; }
			case 21:{ Local.SetClanTag(""); break; }
			}
        }
		if (tag == 16) {
			switch ((time) % 19) {
            
            case 1: { Local.SetClanTag("(e)"); break; }
			case 2: { Local.SetClanTag("(ec)"); break; }
            case 3: { Local.SetClanTag("(ech)"); break; }
            case 4: { Local.SetClanTag("(echo)"); break; }
            case 5: { Local.SetClanTag("(echoz)"); break; }
            case 6: { Local.SetClanTag("(echozy)"); break; }
            case 7: { Local.SetClanTag("(echozy.)"); break; }
            case 8: { Local.SetClanTag("(echozy.p)"); break; }
            case 9: { Local.SetClanTag("(echozy.pw)"); break; }
            case 10:{ Local.SetClanTag("(echozy.pw)"); break; }
			case 11:{ Local.SetClanTag("(echozy.pw)"); break; }
			case 12:{ Local.SetClanTag("(echozy.p)"); break; }
            case 13:{ Local.SetClanTag("(echozy.)"); break; }
            case 14:{ Local.SetClanTag("(echozy)"); break; }
            case 15:{ Local.SetClanTag("(echoz)"); break; }
			case 16:{ Local.SetClanTag("(echo)"); break; }
            case 17:{ Local.SetClanTag("(ech)"); break; }
            case 18:{ Local.SetClanTag("(ec)"); break; }
            case 19:{ Local.SetClanTag("(e)"); break; }
			}
        }
		if (tag == 17) {
			switch ((time) % 27) {
            case 1: { Local.SetClanTag("TrapSync"); break; }
            case 2: { Local.SetClanTag("TraSync "); break; }
			case 3: { Local.SetClanTag("TrSync  "); break; }
            case 4: { Local.SetClanTag("TSync   "); break; }
            case 5: { Local.SetClanTag("Sync    "); break; }
            case 6: { Local.SetClanTag("BSync	"); break; }
            case 7: { Local.SetClanTag("BoSync	"); break; }
            case 8: { Local.SetClanTag("BoySync	"); break; }
            case 9: { Local.SetClanTag("BoySync	"); break; }
            case 10:{ Local.SetClanTag("BSync	"); break; }
            case 11:{ Local.SetClanTag("BSync	"); break; }
			case 12:{ Local.SetClanTag("Sync	"); break; }
			case 13:{ Local.SetClanTag("GSync	"); break; }
            case 14:{ Local.SetClanTag("GiSync	"); break; }
            case 15:{ Local.SetClanTag("GirSync	"); break; }
            case 16:{ Local.SetClanTag("GirlSync"); break; }
			case 17:{ Local.SetClanTag("Girlsync"); break; }
            case 18:{ Local.SetClanTag("GirSync	"); break; }
            case 19:{ Local.SetClanTag("GiSync	"); break; }
            case 20:{ Local.SetClanTag("GSync	"); break; }
            case 21:{ Local.SetClanTag("Sync	"); break; }
            case 22:{ Local.SetClanTag("TSync	"); break; } 
            case 23:{ Local.SetClanTag("TrSync	"); break; }
            case 24:{ Local.SetClanTag("TraSync	"); break; } 
			case 25:{ Local.SetClanTag("TrapSync"); break; }
			case 26:{ Local.SetClanTag("TrapSync"); break; }
			case 27:{ Local.SetClanTag("TrapSync"); break; }
			}
        }
		
		if (tag == 18) {
			switch ((time) % 10) {
            case 1: { Local.SetClanTag("  WEAVE.SU  "); break; }
            case 2: { Local.SetClanTag("  W3AVE.SU  "); break; }
			case 3: { Local.SetClanTag("  W34VE.SU  "); break; }
            case 4: { Local.SetClanTag("  WE4V3.SU  "); break; }
            case 5: { Local.SetClanTag("  WEAV3.5U  "); break; }
            case 6: { Local.SetClanTag("  W3AV3.5U  "); break; }
            case 7: { Local.SetClanTag("  W34V3.5U  "); break; }
            case 8: { Local.SetClanTag("  &E4VE.SU  "); break; }
            case 9: { Local.SetClanTag("  $E@%^.S+  "); break; }
            case 10:{ Local.SetClanTag("  $!@%^.?;  "); break; }
			}
        }
		if (tag == 19) {
			switch ((time) % 10) {
            case 1: { Local.SetClanTag("getze.us "); break; }
            case 2: { Local.SetClanTag("s getze.u"); break; }
			case 3: { Local.SetClanTag("us getze."); break; }
            case 4: { Local.SetClanTag(".us getze"); break; }
            case 5: { Local.SetClanTag("e.us getz"); break; }
            case 6: { Local.SetClanTag("ze.us get"); break; }
            case 7: { Local.SetClanTag("tze.us ge"); break; }
            case 8: { Local.SetClanTag("etze.us g"); break; }
            case 9: { Local.SetClanTag("getze.us "); break; }
            case 10:{ Local.SetClanTag("getze.us"); break; }
			}
        }
		if (tag == 20) {
			switch ((time) % 67) {
            case 1: { Local.SetClanTag("midnight.im"); break; }
            case 2: { Local.SetClanTag("midnight.i\\"); break; }
			case 3: { Local.SetClanTag("midnight.i|"); break; }
            case 4: { Local.SetClanTag("midnight.i/"); break; }
            case 5: { Local.SetClanTag("midnight.\\"); break; }
            case 6: { Local.SetClanTag("midnight.|"); break; }
            case 7: { Local.SetClanTag("midnight./"); break; }
            case 8: { Local.SetClanTag("midnight\\"); break; }
            case 9: { Local.SetClanTag("midnight|"); break; }
            case 10:{ Local.SetClanTag("midnight/"); break; }
            case 11:{ Local.SetClanTag("midnigh\\"); break; }
			case 12:{ Local.SetClanTag("midnigh|"); break; }
			case 13:{ Local.SetClanTag("midnigh/"); break; }
            case 14:{ Local.SetClanTag("midnig\\"); break; }
            case 15:{ Local.SetClanTag("midnig|"); break; }
            case 16:{ Local.SetClanTag("midnig/"); break; }
			case 17:{ Local.SetClanTag("midni\\"); break; }
            case 18:{ Local.SetClanTag("midni|"); break; }
            case 19:{ Local.SetClanTag("midni/"); break; }
            case 20:{ Local.SetClanTag("midn\\"); break; }
            case 21:{ Local.SetClanTag("midn|"); break; }
            case 22:{ Local.SetClanTag("midn/"); break; } 
            case 23:{ Local.SetClanTag("mid\\"); break; }
            case 24:{ Local.SetClanTag("mid|"); break; } 
			case 25:{ Local.SetClanTag("mid//"); break; } 
			case 26:{ Local.SetClanTag("mi\\"); break; } 
			case 27:{ Local.SetClanTag("mi|"); break; } 
			case 28:{ Local.SetClanTag("mi/"); break; } 
			case 29:{ Local.SetClanTag("m\\"); break; } 
			case 30:{ Local.SetClanTag("m|"); break; } 
			case 31:{ Local.SetClanTag("m/"); break; } 
			case 32:{ Local.SetClanTag("\\"); break; } 
			case 33:{ Local.SetClanTag("|"); break; } 
			case 34:{ Local.SetClanTag("/"); break; } 
			case 35:{ Local.SetClanTag("m\\"); break; } 
			case 36:{ Local.SetClanTag("m|"); break; } 
			case 37:{ Local.SetClanTag("m/"); break; } 
			case 38:{ Local.SetClanTag("mi\\"); break; } 
			case 39:{ Local.SetClanTag("mi|"); break; } 
			case 40:{ Local.SetClanTag("mi/"); break; } 
			case 41:{ Local.SetClanTag("mid\\"); break; } 
			case 42:{ Local.SetClanTag("mid|"); break; } 
			case 43:{ Local.SetClanTag("mid/"); break; } 
			case 44:{ Local.SetClanTag("midn\\"); break; } 
			case 45:{ Local.SetClanTag("midn|"); break; } 
			case 46:{ Local.SetClanTag("midn/"); break; } 
			case 47:{ Local.SetClanTag("midni\\"); break; } 
			case 48:{ Local.SetClanTag("midni|"); break; } 
			case 49:{ Local.SetClanTag("midni/"); break; } 
			case 50:{ Local.SetClanTag("midnig\\"); break; } 
			case 51:{ Local.SetClanTag("midnig|"); break; } 
			case 52:{ Local.SetClanTag("midnig/"); break; } 
			case 53:{ Local.SetClanTag("midnigh\\"); break; } 
			case 54:{ Local.SetClanTag("midnigh|"); break; }
			case 55:{ Local.SetClanTag("midnigh/"); break; }
			case 56:{ Local.SetClanTag("midnight\\"); break; }
			case 57:{ Local.SetClanTag("midnight|"); break; }
			case 58:{ Local.SetClanTag("midnight/"); break; }
			case 59:{ Local.SetClanTag("midnight.\\"); break; }
			case 60:{ Local.SetClanTag("midnight.|"); break; }
			case 61:{ Local.SetClanTag("midnight./"); break; }
			case 62:{ Local.SetClanTag("midnight.i\\"); break; }
			case 63:{ Local.SetClanTag("midnight.i|"); break; }
			case 64:{ Local.SetClanTag("midnight.i/"); break; }
			case 65:{ Local.SetClanTag("midnight.im"); break; }
			case 66:{ Local.SetClanTag("midnight.im"); break; }
			case 67:{ Local.SetClanTag("midnight.im"); break; }
			}
        }
		
		if (tag == 21) {
			switch ((time) % 12) {
            case 1: { Local.SetClanTag("[]"); break; }
            case 2: { Local.SetClanTag("[R]"); break; }
			case 3: { Local.SetClanTag("[Ri]"); break; }
            case 4: { Local.SetClanTag("[Rif]"); break; }
            case 5: { Local.SetClanTag("[Rifk⁷]"); break; }
            case 6: { Local.SetClanTag("[Rifk⁷]"); break; }
            case 7: { Local.SetClanTag("[Rifk⁷]"); break; }
            case 8: { Local.SetClanTag("[Rifk]"); break; }
            case 9: { Local.SetClanTag("[Rif]"); break; }
            case 10:{ Local.SetClanTag("[Ri]"); break; }
            case 11:{ Local.SetClanTag("[R]"); break; }
			case 12:{ Local.SetClanTag("[]"); break; }
			}
        }
	
	if (tag == 22) {
			switch ((time) % 61) {
            case 1: { Local.SetClanTag("......."); break; }
            case 2: { Local.SetClanTag("......I"); break; }
			case 3: { Local.SetClanTag(".....I."); break; }
            case 4: { Local.SetClanTag("....I.."); break; }
            case 5: { Local.SetClanTag("...I..."); break; }
            case 6: { Local.SetClanTag("..I...."); break; }
            case 7: { Local.SetClanTag(".I....."); break; }
            case 8: { Local.SetClanTag("I......"); break; }
            case 9: { Local.SetClanTag("I.....N"); break; }
            case 10:{ Local.SetClanTag("I....N."); break; }
            case 11:{ Local.SetClanTag("I...N.."); break; }
			case 12:{ Local.SetClanTag("I..N..."); break; }
			case 13:{ Local.SetClanTag("I.N...."); break; }
            case 14:{ Local.SetClanTag("IN....."); break; }
            case 15:{ Local.SetClanTag("IN....I"); break; }
            case 16:{ Local.SetClanTag("IN...I."); break; }
			case 17:{ Local.SetClanTag("IN..I.."); break; }
            case 18:{ Local.SetClanTag("IN.I..."); break; }
            case 19:{ Local.SetClanTag("INI...."); break; }
            case 20:{ Local.SetClanTag("INI...."); break; }
            case 21:{ Local.SetClanTag("INI...U"); break; }
            case 22:{ Local.SetClanTag("INI..U."); break; } 
            case 23:{ Local.SetClanTag("INI.U.."); break; }
            case 24:{ Local.SetClanTag("INIU..."); break; } 
			case 25:{ Local.SetClanTag("INIU..."); break; } 
			case 26:{ Local.SetClanTag("INIU..R"); break; } 
			case 27:{ Local.SetClanTag("INIU.R."); break; } 
			case 28:{ Local.SetClanTag("INIUR.."); break; } 
			case 29:{ Local.SetClanTag("INIUR.I"); break; } 
			case 30:{ Local.SetClanTag("INIURI."); break; } 
			case 31:{ Local.SetClanTag("INIURI."); break; } 
			case 32:{ Local.SetClanTag("INIURIA"); break; } 
			case 33:{ Local.SetClanTag("INIURIA"); break; } 
			case 34:{ Local.SetClanTag("INIUR.I"); break; } 
			case 35:{ Local.SetClanTag("INIUR.."); break; } 
			case 36:{ Local.SetClanTag("INIU.R."); break; } 
			case 37:{ Local.SetClanTag("INIU..R"); break; } 
			case 38:{ Local.SetClanTag("INIU..."); break; } 
			case 39:{ Local.SetClanTag("INIU..."); break; } 
			case 40:{ Local.SetClanTag("INI.U.."); break; } 
			case 41:{ Local.SetClanTag("INI..U."); break; } 
			case 42:{ Local.SetClanTag("INI...U"); break; } 
			case 43:{ Local.SetClanTag("IN....."); break; } 
			case 44:{ Local.SetClanTag("IN....."); break; } 
			case 45:{ Local.SetClanTag("I.N...."); break; } 
			case 46:{ Local.SetClanTag("I..N..."); break; } 
			case 47:{ Local.SetClanTag("I...N.."); break; } 
			case 48:{ Local.SetClanTag("I....N."); break; } 
			case 49:{ Local.SetClanTag("I.....N"); break; } 
			case 50:{ Local.SetClanTag("I......"); break; } 
			case 51:{ Local.SetClanTag("I......"); break; } 
			case 52:{ Local.SetClanTag(".I....."); break; } 
			case 53:{ Local.SetClanTag("..I...."); break; } 
			case 54:{ Local.SetClanTag("...I..."); break; }
			case 56:{ Local.SetClanTag("....I.."); break; }
			case 57:{ Local.SetClanTag(".....I."); break; }
			case 58:{ Local.SetClanTag("......I"); break; }
			case 59:{ Local.SetClanTag("......."); break; }
			case 60:{ Local.SetClanTag("......."); break; }
			case 61:{ Local.SetClanTag("......."); break; }
			
			}
        }
	
		if (tag == 23) {
			switch ((time) % 12) {
            case 1: { Local.SetClanTag("$ millionware"); break; }
            case 2: { Local.SetClanTag("$ e millionwar"); break; }
			case 3: { Local.SetClanTag("$ re millionwa"); break; }
            case 4: { Local.SetClanTag("$ are millionw"); break; }
            case 5: { Local.SetClanTag("$ ware million"); break; }
            case 6: { Local.SetClanTag("$ nware millio"); break; }
            case 7: { Local.SetClanTag("$ onware milli"); break; }
            case 8: { Local.SetClanTag("$ ionware mill"); break; }
            case 9: { Local.SetClanTag("$ lionware mil"); break; }
            case 10:{ Local.SetClanTag("$ llionware mi"); break; }
            case 11:{ Local.SetClanTag("$ illionware m"); break; }
			case 12:{ Local.SetClanTag("$ millionware"); break; }
			}
        }
		if (tag == 24) {
			switch ((time) % 25) {
            case 1: { Local.SetClanTag(""); break; }
            case 2: { Local.SetClanTag("E"); break; }
			case 3: { Local.SetClanTag("Et"); break; }
            case 4: { Local.SetClanTag("Ete"); break; }
            case 5: { Local.SetClanTag("Eter"); break; }
            case 6: { Local.SetClanTag("Etern"); break; }
            case 7: { Local.SetClanTag("Eterni"); break; }
            case 8: { Local.SetClanTag("Eternit"); break; }
            case 9: { Local.SetClanTag("Eternity"); break; }
            case 10:{ Local.SetClanTag("Eternity."); break; }
            case 11:{ Local.SetClanTag("Eternity.c"); break; }
			case 12:{ Local.SetClanTag("Eternity.cc"); break; }
			case 13:{ Local.SetClanTag("Eternity.cc"); break; }
            case 14:{ Local.SetClanTag("Eternity.cc"); break; }
            case 15:{ Local.SetClanTag("Eternity.c"); break; }
            case 16:{ Local.SetClanTag("Eternity."); break; }
			case 17:{ Local.SetClanTag("Eternity"); break; }
            case 18:{ Local.SetClanTag("Eternit"); break; }
            case 19:{ Local.SetClanTag("Eterni"); break; }
            case 20:{ Local.SetClanTag("Etern"); break; }
			case 21:{ Local.SetClanTag("Eter"); break; }
            case 22:{ Local.SetClanTag("Ete"); break; } 
            case 23:{ Local.SetClanTag("Et"); break; }
            case 24:{ Local.SetClanTag("E"); break; } 
			case 25:{ Local.SetClanTag(""); break; } 
			}
        }
		if (tag == 25) {
			switch ((time) % 11) {
            case 1: { Local.SetClanTag("blazehack"); break; }
            case 2: { Local.SetClanTag("blazehac"); break; }
			case 3: { Local.SetClanTag("blazeha"); break; }
            case 4: { Local.SetClanTag("blazeh"); break; }
            case 5: { Local.SetClanTag("blaze"); break; }
            case 6: { Local.SetClanTag("blaz"); break; }
            case 7: { Local.SetClanTag("bla"); break; }
            case 8: { Local.SetClanTag("bl"); break; }
            case 9: { Local.SetClanTag("b"); break; }
            case 10:{ Local.SetClanTag(""); break; }
            case 11:{ Local.SetClanTag(""); break; }
			}
        }
		if (tag == 26) {
			switch ((time) % 10) {
            case 1: { Local.SetClanTag("onetap.su "); break; }
            case 2: { Local.SetClanTag("u onetap.s"); break; }
			case 3: { Local.SetClanTag("su onetap."); break; }
            case 4: { Local.SetClanTag(".su onetap"); break; }
            case 5: { Local.SetClanTag("p.su oneta"); break; }
            case 6: { Local.SetClanTag("ap.su onet"); break; }
            case 7: { Local.SetClanTag("tap.su one"); break; }
            case 8: { Local.SetClanTag("etap.su on"); break; }
            case 9: { Local.SetClanTag("netap.su o"); break; }
            case 10:{ Local.SetClanTag("onetap.su "); break; }
			}
        }
		if (tag == 27) {
            switch ((time) % 21) {
                case 1: { Local.SetClanTag("-----------"); break; }
                case 2: { Local.SetClanTag("-I---------"); break; }
                case 3: { Local.SetClanTag("-IN--------"); break; }
                case 4: { Local.SetClanTag("-INT-------"); break; }
                case 5: { Local.SetClanTag("-INTE------"); break; }
                case 6: { Local.SetClanTag("-INTER-----"); break; }
                case 7: { Local.SetClanTag("-INTERW----"); break; }
                case 8: { Local.SetClanTag("-INTERWE---"); break; }
                case 9: { Local.SetClanTag("-INTERWEB--"); break; }
                case 10:{ Local.SetClanTag("-INTERWEBZ-"); break; }
                case 11:{ Local.SetClanTag("--NTERWEBZ-"); break; }
                case 12:{ Local.SetClanTag("---TERWEBZ-"); break; }
                case 13:{ Local.SetClanTag("----ERWEBZ-"); break; }
                case 14:{ Local.SetClanTag("-----RWEBZ-"); break; }
                case 15:{ Local.SetClanTag("------WEBZ-"); break; }
                case 16:{ Local.SetClanTag("-------EBZ-"); break; }
                case 17:{ Local.SetClanTag("--------BZ-"); break; }
                case 18:{ Local.SetClanTag("---------Z-"); break; }
                case 19:{ Local.SetClanTag("-----------"); break; }
            }
        }
		if(tag == 28)
            {
            switch((time) % 23)
            {
                case 1: { Local.SetClanTag("legendware "); break; }
                case 2: { Local.SetClanTag("egendware "); break; }
                case 3: { Local.SetClanTag("gendware "); break; }
                case 4: { Local.SetClanTag("endware "); break; }
                case 5: { Local.SetClanTag("ndware "); break; }
                case 6: { Local.SetClanTag("dware "); break; }
                case 7: { Local.SetClanTag("ware "); break; }
                case 8: { Local.SetClanTag("are "); break; }
				case 9: { Local.SetClanTag("re "); break; }
                case 10:{ Local.SetClanTag("e "); break; }
                case 11:{ Local.SetClanTag(" "); break; }
                case 12:{ Local.SetClanTag("l "); break; }
                case 13:{ Local.SetClanTag("le "); break; }
                case 14:{ Local.SetClanTag("leg "); break; }
				case 15:{ Local.SetClanTag("lege "); break; }
                case 16:{ Local.SetClanTag("legen "); break; }
                case 17:{ Local.SetClanTag("legend "); break; }
                case 18:{ Local.SetClanTag("legendw "); break; }
                case 19:{ Local.SetClanTag("legendwa "); break; }
				case 20:{ Local.SetClanTag("legendwar "); break; }
				case 21:{ Local.SetClanTag("legendware "); break; }
                case 22:{ Local.SetClanTag("legendware "); break; }
                
            }
        }
		
		if(tag == 29)
            {
            switch((time) % 10)
            {
            case 1: { Local.SetClanTag("imfall.cc a"); break; }
            case 2: { Local.SetClanTag("mfall.cc ai"); break; }
			case 3: { Local.SetClanTag("fall.cc aim"); break; }
            case 4: { Local.SetClanTag("all.cc aimf"); break; }
            case 5: { Local.SetClanTag("ll.cc aimfa"); break; }
            case 6: { Local.SetClanTag("l.cc aimfal"); break; }
            case 7: { Local.SetClanTag(".cc aimfall"); break; }
            case 8: { Local.SetClanTag("cc aimfall."); break; }
            case 9: { Local.SetClanTag("c aimfall.c"); break; }
            case 10:{ Local.SetClanTag("aimfall.cc"); break; }
            
			
                
            }
        }	
		if(tag == 30)
            {
            switch((time) % 16)
            {
            case 1: { Local.SetClanTag("--darksun--"); break; }
            case 2: { Local.SetClanTag("-dark--sun-"); break; }
			case 3: { Local.SetClanTag("dark----sun"); break; }
            case 4: { Local.SetClanTag("ark------su"); break; }
            case 5: { Local.SetClanTag("rk--------s"); break; }
            case 6: { Local.SetClanTag("k----------"); break; }
            case 7: { Local.SetClanTag("-----------"); break; }
            case 8: { Local.SetClanTag("-----------"); break; }
            case 9: { Local.SetClanTag("k---------s"); break; }
            case 10:{ Local.SetClanTag("rk-------su"); break; }
            case 11:{ Local.SetClanTag("ark-----sun"); break; }
			case 12:{ Local.SetClanTag("dark---sun-"); break; }
			case 13:{ Local.SetClanTag("-dark-sun--"); break; }
            case 14:{ Local.SetClanTag("--darksun--"); break; }
            case 15:{ Local.SetClanTag("--darksun--"); break; }
            case 16:{ Local.SetClanTag("--darksun--"); break; }
			
			
            }
        }
		if(tag == 31)
            {
            switch((time) % 36)
            {
                case 1: { Local.SetClanTag("  "); break; }
                case 2: { Local.SetClanTag(" B "); break; }
                case 3: { Local.SetClanTag(" B0 "); break; }
                case 4: { Local.SetClanTag(" Bo "); break; }
                case 5: { Local.SetClanTag(" Bob "); break; }
                case 6: { Local.SetClanTag(" Bob3 "); break; }
                case 7: { Local.SetClanTag(" Bober "); break; }
                case 8: { Local.SetClanTag(" Bob3r  "); break; }
                case 9: { Local.SetClanTag(" Bober H "); break; }
                case 10:{ Local.SetClanTag(" Bob3r H0O "); break; }
                case 11:{ Local.SetClanTag(" Bober Ho0k "); break; }
                case 12:{ Local.SetClanTag(" Bob3r Hook "); break; }
                case 13:{ Local.SetClanTag(" Bober Hook "); break; }
                case 14:{ Local.SetClanTag(" Bober H0ok "); break; }
                case 15:{ Local.SetClanTag(" Bober Ho0k "); break; }
                case 16:{ Local.SetClanTag(" Bob3r H00k "); break; }
                case 17:{ Local.SetClanTag(" Bob3r Ho0 "); break; }
                case 18:{ Local.SetClanTag(" Bober H0 "); break; }
                case 19:{ Local.SetClanTag(" Bob3r H "); break; }
                case 20:{ Local.SetClanTag(" Bober  "); break; }
                case 21:{ Local.SetClanTag(" Bob3r "); break; }
                case 22:{ Local.SetClanTag(" Bobe "); break; }
                case 23:{ Local.SetClanTag(" Bob "); break; }
                case 24:{ Local.SetClanTag(" B0 "); break; }
                case 25:{ Local.SetClanTag(" B "); break; }
                case 26:{ Local.SetClanTag("  "); break; }

            }
        }
		if(tag == 32)
            {
            switch((time) % 11)
            {
            case 1: { Local.SetClanTag("XONE"); break; }
            case 2: { Local.SetClanTag("ONE-"); break; }
			case 3: { Local.SetClanTag("NE--"); break; }
            case 4: { Local.SetClanTag("E---"); break; }
            case 5: { Local.SetClanTag("----"); break; }
            case 6: { Local.SetClanTag("----"); break; }
            case 7: { Local.SetClanTag("---X"); break; }
            case 8: { Local.SetClanTag("--XO"); break; }
            case 9: { Local.SetClanTag("-XON"); break; }
            case 10:{ Local.SetClanTag("XONE"); break; }
			case 11:{ Local.SetClanTag("XONE"); break; }
            }
        }
		if(tag == 33)
            {
            switch((time) % 16)
            {
            case 1: { Local.SetClanTag("BW"); break; }
            case 2: { Local.SetClanTag("BlW"); break; }
			case 3: { Local.SetClanTag("BloW"); break; }
            case 4: { Local.SetClanTag("BlooW"); break; }
            case 5: { Local.SetClanTag("BloodW"); break; }
            case 6: { Local.SetClanTag("BloodWa"); break; }
            case 7: { Local.SetClanTag("BloodWar"); break; }
            case 8: { Local.SetClanTag("BloodWare"); break; }
            case 9: { Local.SetClanTag("BloodWare"); break; }
            case 10:{ Local.SetClanTag("BloodWar"); break; }
            case 11:{ Local.SetClanTag("BloodWa"); break; }
			case 12:{ Local.SetClanTag("BlooW"); break; }
			case 13:{ Local.SetClanTag("BloW"); break; }
            case 14:{ Local.SetClanTag("BlW"); break; }
            case 15:{ Local.SetClanTag("BW"); break; }
            case 16:{ Local.SetClanTag("BW"); break; }
			
			
            }
        }
			if(tag == 34)
            {
            switch((time) % 20)
            {
				case 1: { Local.SetClanTag("  "); break; }
                case 2: { Local.SetClanTag(" ev "); break; }
                case 3: { Local.SetClanTag(" ev0 "); break; }
                case 4: { Local.SetClanTag(" ev0l "); break; }
                case 5: { Local.SetClanTag(" ev0lve "); break; }
                case 6: { Local.SetClanTag(" ev0lve. "); break; }
                case 7: { Local.SetClanTag(" ev0lve.x "); break; }
                case 8: { Local.SetClanTag(" ev0lve.xy "); break; }
                case 9: { Local.SetClanTag(" ev0lve.xyz "); break; }
                case 10:{ Local.SetClanTag(" ev0lve.xyz "); break; }
                case 11:{ Local.SetClanTag(" v0lve.xyz "); break; }
                case 12:{ Local.SetClanTag(" 0lve.xyz "); break; }
                case 13:{ Local.SetClanTag(" lve.xyz "); break; }
                case 14:{ Local.SetClanTag(" ve.xyz "); break; }
                case 15:{ Local.SetClanTag(" e.xyz "); break; }
                case 16:{ Local.SetClanTag(" .xyz "); break; }
                case 17:{ Local.SetClanTag(" xyz "); break; }
                case 18:{ Local.SetClanTag(" yz "); break; }
                case 19:{ Local.SetClanTag(" z "); break; }
                case 20:{ Local.SetClanTag("  "); break; }
            }
        }
		if(tag == 35)
            {
            switch((time) % 22)
            {
			case 1: { Local.SetClanTag("nixware.cc"); break; }
            case 2: { Local.SetClanTag("ixware.cc"); break; }
			case 3: { Local.SetClanTag("xware.cc"); break; }
            case 4: { Local.SetClanTag("ware.cc"); break; }
            case 5: { Local.SetClanTag("are.cc"); break; }
            case 6: { Local.SetClanTag("re.cc"); break; }
            case 7: { Local.SetClanTag("e.cc"); break; }
            case 8: { Local.SetClanTag(".cc"); break; }
            case 9: { Local.SetClanTag("cc"); break; }
            case 10:{ Local.SetClanTag("c"); break; }
            case 11:{ Local.SetClanTag(""); break; }
			case 12:{ Local.SetClanTag("n"); break; }
			case 13:{ Local.SetClanTag("ni"); break; }
            case 14:{ Local.SetClanTag("nix"); break; }
            case 15:{ Local.SetClanTag("nixw"); break; }
            case 16:{ Local.SetClanTag("nixwa"); break; }
			case 17:{ Local.SetClanTag("nixwar"); break; }
            case 18:{ Local.SetClanTag("nixware"); break; }
            case 19:{ Local.SetClanTag("nixware."); break; }
            case 20:{ Local.SetClanTag("nixware.c"); break; }
            case 21:{ Local.SetClanTag("nixware.cc"); break; }
            case 22:{ Local.SetClanTag("nixware.cc"); break; } 
            
			
			}
        }
		if(tag == 36)
            {
            switch((time) % 41)
            {
			case 0:{Local.SetClanTag("Luck");break;}
            case 1:{Local.SetClanTag("Lucky"); break;}
            case 2:{Local.SetClanTag("LuckyC");break;}
            case 3:{Local.SetClanTag("LuckyCh"); break;}
            case 4:{Local.SetClanTag("LuckyCh4");break;}
            case 5:{Local.SetClanTag("LuckyCh4r");break;}
            case 6:{Local.SetClanTag("LuckyCh4rm");break;}
            case 7:{Local.SetClanTag("LuckyCh4rm$");break;}
            case 8:{Local.SetClanTag("LuckyCh4rm$");break;}
            case 9:{Local.SetClanTag("LuckyCh4rm$");break;}
            case 10:{Local.SetClanTag("LuckyCh4rm$");break;}
            case 11:{Local.SetClanTag("uckyCh4rm$");break;}
            case 12:{Local.SetClanTag("ckyCh4rm$");break;}
            case 13:{Local.SetClanTag("kyCh4rm$");break;}
            case 14:{Local.SetClanTag("yCh4rm$");break;}
            case 15:{Local.SetClanTag("Ch4rm$");break;}
            case 16:{Local.SetClanTag("h4rm$");break;}
            case 17:{Local.SetClanTag("4rm$");break;}
            case 18:{Local.SetClanTag("rm$ L");break;}
            case 19:{Local.SetClanTag("m$ Lu");break;}
            case 20:{Local.SetClanTag("$ Luc");break;}
            case 21:{Local.SetClanTag("Luck");break;}
            case 22:{Local.SetClanTag("Lucky");break;}
            case 23:{Local.SetClanTag("LuckyC");break;}
            case 24:{Local.SetClanTag("LuckyCh");break;}
            case 25:{Local.SetClanTag("LuckyCha");break;}
            case 26:{Local.SetClanTag("LuckyChar");break;}
            case 27:{Local.SetClanTag("LuckyCharm");break;}
            case 28:{Local.SetClanTag("LuckyCharms");break;}
            case 29:{Local.SetClanTag("LuckyCharms");break;}
            case 30:{Local.SetClanTag("LuckyCharms");break;}
            case 31:{Local.SetClanTag("LuckyCharms");break;}
            case 32:{Local.SetClanTag("uckyCharms");break;}
            case 33:{Local.SetClanTag("ckyCharms");break;}
            case 34:{Local.SetClanTag("kyCharms");break;}
            case 35:{Local.SetClanTag("yCharms");break;}
            case 36:{Local.SetClanTag("Charms");break;}
            case 37:{Local.SetClanTag("harms");break;}
            case 38:{Local.SetClanTag("arms");break;}
            case 39:{Local.SetClanTag("rms L");break;}
            case 40:{Local.SetClanTag("ms Lu");break;}
            case 41:{Local.SetClanTag("s Luc");break;}
			}
        }
		if(tag == 37)
            {
            switch((time) % 46)
            {
			case 1: { Local.SetClanTag(""); break; }
            case 2: { Local.SetClanTag("C"); break; }
			case 3: { Local.SetClanTag("CY"); break; }
            case 4: { Local.SetClanTag("CYB"); break; }
            case 5: { Local.SetClanTag("CYBE"); break; }
            case 6: { Local.SetClanTag("CYBER"); break; }
            case 7: { Local.SetClanTag("CYBERW"); break; }
            case 8: { Local.SetClanTag("CYBERWA"); break; }
            case 9: { Local.SetClanTag("CYBERWAR"); break; }
            case 10:{ Local.SetClanTag("CYBERWARE"); break; }
            case 11:{ Local.SetClanTag("CYBERWARE"); break; }
			case 12:{ Local.SetClanTag("CYBER\\|/ARE"); break; }
			case 13:{ Local.SetClanTag("CYBERW@RE"); break; }
            case 14:{ Local.SetClanTag("CYBERWA7E"); break; }
            case 15:{ Local.SetClanTag("CYBERWAR3"); break; }
            case 16:{ Local.SetClanTag("CYBERWARE"); break; }
			case 17:{ Local.SetClanTag("CYBERWAR3"); break; }
            case 18:{ Local.SetClanTag("CYBERWA7E"); break; }
            case 19:{ Local.SetClanTag("CYBERW@RE"); break; }
            case 20:{ Local.SetClanTag("CYBER\\|/ARE"); break; }
            case 21:{ Local.SetClanTag("CYBERWARE"); break; }
            case 22:{ Local.SetClanTag("CYBERWARE."); break; } 
            case 23:{ Local.SetClanTag("CYBERWARE.n"); break; }
            case 24:{ Local.SetClanTag("CYBERWARE.ne"); break; } 
			case 25:{ Local.SetClanTag("CYBERWARE.net"); break; } 
			case 26:{ Local.SetClanTag("CYBERWARE.net"); break; } 
			case 27:{ Local.SetClanTag("CYBERWARE.net"); break; } 
			case 28:{ Local.SetClanTag("CYBERWARE.ne"); break; } 
			case 29:{ Local.SetClanTag("CYBERWARE.n"); break; } 
			case 30:{ Local.SetClanTag("CYBERWARE."); break; } 
			case 31:{ Local.SetClanTag("CYBERWAR3"); break; } 
			case 32:{ Local.SetClanTag("CYBERWA7E"); break; } 
			case 33:{ Local.SetClanTag("CYBERW@RE"); break; } 
			case 34:{ Local.SetClanTag("CYBER\\|/ARE"); break; } 
			case 35:{ Local.SetClanTag("CYBERW@RE"); break; } 
			case 36:{ Local.SetClanTag("CYBERWA7E"); break; } 
			case 37:{ Local.SetClanTag("CYBERWAR3"); break; } 
			case 38:{ Local.SetClanTag("CYBERWAR"); break; } 
			case 39:{ Local.SetClanTag("CYBERWA"); break; } 
			case 40:{ Local.SetClanTag("CYBERW"); break; } 
			case 41:{ Local.SetClanTag("CYBER"); break; } 
			case 42:{ Local.SetClanTag("CYBE"); break; } 
			case 43:{ Local.SetClanTag("CYB"); break; } 
			case 44:{ Local.SetClanTag("CY"); break; } 
			case 45:{ Local.SetClanTag("C"); break; } 
			case 46:{ Local.SetClanTag(""); break; } 
			}
        }
		if(tag == 38)
            {
            switch((time) % 13)
            {
			case 1: { Local.SetClanTag("eexomi.host"); break; }
            case 2: { Local.SetClanTag("exomi.host  e"); break; }
			case 3: { Local.SetClanTag("xomi.host  ee"); break; }
            case 4: { Local.SetClanTag("omi.host  eex"); break; }
            case 5: { Local.SetClanTag("mi.host  eexo"); break; }
            case 6: { Local.SetClanTag("i.host  eexom"); break; }
            case 7: { Local.SetClanTag(".host  eexomi"); break; }
            case 8: { Local.SetClanTag("host  eexomi."); break; }
            case 9: { Local.SetClanTag("ost  eexomi.h"); break; }
            case 10:{ Local.SetClanTag("st  eexomi.ho"); break; }
            case 11:{ Local.SetClanTag("t  eexomi.hos"); break; }
			case 12:{ Local.SetClanTag("eexomi.host"); break; }
			case 13:{ Local.SetClanTag("eexomi.host"); break; }
            
			}
        }
       
	}
    lasttime = time;
}
Cheat.RegisterCallback("Draw", "onRender");