Snippets Collections
Terminal › Integrated › Suggest: Enabled
activar el chack

code ~/.bashrc
[[ "$TERM_PROGRAM" == "vscode" ]] && . "$(code --locate-shell-integration-path bash)"


code ~/.zshrc
[[ "$TERM_PROGRAM" == "vscode" ]] && . "$(code --locate-shell-integration-path zsh)"
#!/usr/bin/env python3
# vuln_summarizer.py
# AI‑Powered Vulnerability Summarizer using Google Gemini 2.5 Flash


import os
import sys
import json
import requests
from datetime import datetime
import google.generativeai as genai
# ─── Configuration ────────────────────────────────────────────────────────────
NVD_API = "https://services.nvd.nist.gov/rest/json/cves/2.0"
CVE_COUNT = 5
MODEL_NAME = "gemini-2.5-flash"
OUTPUT_MD = "report.md"
OUTPUT_JSONL = "report.jsonl"
def fetch_latest_cves(count=CVE_COUNT):
    params = {"startIndex": 0, "resultsPerPage": count}
    resp = requests.get(NVD_API, params=params)
    resp.raise_for_status()
    return resp.json().get("vulnerabilities", [])
def configure_gemini(api_key: str):
    genai.configure(api_key=api_key)
    return genai.GenerativeModel(model_name=MODEL_NAME)
def generate_summary(model, cve_id: str, description: str):
    prompt = f"""
You are a cybersecurity expert. Given the following CVE:
ID: {cve_id}
Description: "{description}"
Please provide:
1. A one‑sentence technical summary.
2. Who or what is affected? (e.g., software, users, services)
3. Recommended remediation steps in bullet points.
Format your response as Markdown with headings.
"""
    return model.generate_content(prompt).text.strip()
def main():
    api_key = os.getenv("GOOGLE_API_KEY") or "YOUR_API_KEY"
    if not api_key:
        print("Error: set your GOOGLE_API_KEY", file=sys.stderr)
        sys.exit(1)
    print(f"[{datetime.now()}] Fetching latest {CVE_COUNT} CVEs...")
    vulns = fetch_latest_cves(CVE_COUNT)
    print(f"[{datetime.now()}] Configuring Gemini model '{MODEL_NAME}'...")
    model = configure_gemini(api_key)
    md_lines = ["# AI‑Powered Vulnerability Report",
                f"_Generated: {datetime.now()}_\n"]
    jsonl_f = open(OUTPUT_JSONL, "w", encoding="utf-8")
    for entry in vulns:
        cve = entry.get("cve", {})
        cve_id = cve.get("id")
        description = next((d["value"] for d in cve.get("descriptions", [])
                            if d["lang"] == "en"), "")
        if not cve_id or not description:
            continue
        print(f"[{datetime.now()}] Summarizing {cve_id}...")
        summary_md = generate_summary(model, cve_id, description)
        md_lines.append(f"## {cve_id}\n")
        md_lines.append(f"**Original description:** {description}\n\n")
        md_lines.append(summary_md + "\n")
        record = {"cve_id": cve_id,
                  "description": description,
                  "summary": summary_md}
        jsonl_f.write(json.dumps(record, ensure_ascii=False) + "\n")
    jsonl_f.close()
    with open(OUTPUT_MD, "w", encoding="utf-8") as md_f:
        md_f.write("\n".join(md_lines))
    print(f"\nDone! Report written to:\n • {OUTPUT_MD}\n • {OUTPUT_JSONL}")
if __name__ == "__main__":
    main()
{
	"blocks": [
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":star: What's on in Melbourne this week! :star:"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "\n\n Hey Melbourne, happy Monday and hope you all had a fab weekend! Please see below for what's on this week. "
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": "Xero Café :coffee:",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "\n :new-thing: *This week we are offering:* \n\n :caramel-slice: *Sweet Treats*: Selection of Donuts & cookies \n\n :coffee: *Weekly Café Special*: Salted Caramel Latte"
			}
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": " Wednesday, 10th September :calendar-date-10:",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": " \n\n:lunch: Join us for a Carvery lunch From *12pm* in the Wominjeka breakout space! Menu in the:thread: "
			}
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": "Thursday, 11th September :calendar-date-11:",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":breakfast: *Breakfast*: Join us for our Breakfast Buffet from *8:30am - 10:30am* in the Wominjeka Breakout Space.*"
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": " Stay tuned to this channel, and make sure you're subscribed to the <https://calendar.google.com/calendar/u/0?cid=Y19xczkyMjk5ZGlsODJzMjA4aGt1b3RnM2t1MEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t|*Melbourne Social Calendar*> :party-wx:"
			}
		}
	]
}
I wanted to introduce a service I’ve been working with recently – Proxy4Free. They specialize in providing residential proxies, which are sourced from real residential devices rather than datacenters. This makes them far more reliable for tasks that require anonymity and low detection rates.

Here are some of the common use cases:

Web Scraping & Data Collection – Gather large amounts of data from websites without constant IP bans.

SEO Monitoring – Track search engine rankings, competitors, and keyword performance across different locations.

Ad Verification – Verify online advertisements, ensure correct placement, and detect fraudulent activities using geo-targeted IPs.

Automation & Testing – Perfect for QA teams and automation scripts that need stable and clean IP addresses.

What makes Proxy4Free stand out is their competitive pricing, flexible plans, and unlimited scaling options. Whether you are an individual freelancer, a digital agency, or an enterprise, there are packages that can meet your needs. They also offer trial options so you can test their network before committing to a bigger plan.

If you are looking for reliable and secure residential proxies, I recommend checking them out at: proxy4free.com

Visit proxy4free.com to learn more and start your proxy journey today.

Get started here: https://proxy4free.com
Contact us anytime: support@proxy4free.com​
deb http://packages.linuxmint.com elsie main upstream import backport #id:linuxmint_main

deb https://deb.debian.org/debian bullseye main contrib non-free
deb https://deb.debian.org/debian bullseye-updates main contrib non-free
deb http://security.debian.org bullseye-security main contrib non-free

deb https://deb.debian.org/debian bullseye-backports main contrib non-free
sudo service apache2 restart
sudo apt-get remove composer
Si quieres eliminar también archivos de configuración:

bash
sudo apt-get purge composer
Y para remover dependencias que ya no se necesiten:

bash
sudo apt-get autoremove
Desinstalar Composer instalado manualmente (por ejemplo con curl)
Si instalaste Composer descargando el archivo composer.phar y moviéndolo a /usr/local/bin/composer o similar, simplemente elimina el archivo:

bash
sudo rm /usr/local/bin/composer
O bien, si tienes el archivo en otro lugar, elimina esa ubicación.

Verifica dónde está instalado Composer con:
bash
which composer
bash-it enable alias general
bash-it enable alias git
bash-it enable alias apt
🚀 Para qué sirven estos comandos en bash-it:
📋 Resumen rápido:
Activan conjuntos de aliases predefinidos que te ahorran tiempo y comandos largos.

🎯 1. bash-it enable alias general
Aliases generales para uso diario

Ejemplos de aliases que activa:
bash
# Navegación
..="cd .."                          # Subir un directorio
...="cd ../.."                      # Subir dos directorios
....="cd ../../.."                  # Subir tres directorios

# Listados mejorados
ll="ls -alF"                        # Listado detallado
la="ls -A"                          # Listar incluyendo ocultos
l="ls -CF"                          # Listado compacto

# Seguridad
rm="rm -i"                          # rm con confirmación
cp="cp -i"                          # cp con confirmación  
mv="mv -i"                          # mv con confirmación

# Utilidades
c="clear"                           # Limpiar pantalla
h="history"                         # Ver historial
Uso práctico:
bash
# En lugar de:
ls -alF
cd ../../..

# Puedes usar:
ll
...
🎯 2. bash-it enable alias git
Aliases para Git - ¡Ahorra mucho tiempo!

Ejemplos de aliases que activa:
bash
# Estados y commits
gst="git status"                    # Estado rápido
gc="git commit -v"                  # Commit con verbose
gca="git commit -v -a"              # Commit de todos los cambios

# Ramas
gco="git checkout"                  # Cambiar de rama
gb="git branch"                     # Ver ramas

# Logs
gl="git pull"                       # Pull rápido
gp="git push"                       # Push rápido
glog="git log --oneline --graph"    # Log bonito

# Diferencias
gd="git diff"                       # Diff simple
gdc="git diff --cached"             # Diff staged
Uso práctico:
bash
# En lugar de:
git status
git commit -m "mensaje"
git push origin main

# Puedes usar:
gst
gc -m "mensaje"
gp origin main
🎯 3. bash-it enable alias apt
Aliases para gestión de paquetes APT (Debian/Ubuntu)

Ejemplos de aliases que activa:
bash
# Actualizaciones
aptup="sudo apt update"             # Update rápido
aptug="sudo apt upgrade"            # Upgrade rápido
aptupg="sudo apt update && sudo apt upgrade"  # Update + upgrade

# Instalación
aptin="sudo apt install"            # Instalar rápido
aptrm="sudo apt remove"             # Desinstalar rápido

# Limpieza
aptarm="sudo apt autoremove"        # Autoremove rápido
aptac="sudo apt autoclean"          # Autoclean rápido

# Búsqueda
apts="apt search"                   # Buscar paquetes
aptsh="apt show"                    # Mostrar info paquete
Uso práctico:
bash
# En lugar de:
sudo apt update
sudo apt install python3
sudo apt autoremove

# Puedes usar:
aptup
aptin python3
aptarm
💡 Beneficios de usar estos aliases:
✅ Ahorro de tiempo:
Menos tecleo → Comandos más cortos

Menos errores → Comandos predefinidos

✅ Productividad:
Flujo más rápido → Memoriza aliases en lugar de opciones

Consistencia → Mismos comandos siempre

✅ Para desarrolladores:
Git más ágil → Comandos de 2-3 letras

Menos contexto switching → Permanece en flujo

🚀 Cómo empezar a usarlos:
Paso 1: Activar los aliases
bash
bash-it enable alias general
bash-it enable alias git  
bash-it enable alias apt
bash-it reload
Paso 2: Ver qué aliases tienes disponibles
bash
# Ver todos los aliases activos
alias

# Buscar aliases específicos
alias | grep git
Paso 3: Practicar con los más útiles
bash
# Prueba estos primero:
ll      # ls detallado
gst     # git status
aptup   # actualizar sistema
..      # subir directorio
⚠️ Consejos importantes:
Para ver todos los aliases de un grupo:
bash
# Ver qué incluye cada grupo
bash-it show alias general
bash-it show alias git
bash-it show alias apt
Si algún alias no te gusta:
bash
# Puedes deshabilitar el grupo completo
bash-it disable alias apt

# O editar manualmente en:
~/.bash_it/aliases/
bash-it show themes
bash-it enable theme <tu-tema-favorito>
# Deshabilitar todo temporalmente
bash-it disable all

# Verificar problemas
bash-it doctor

# Reiniciar configuración
bash-it restart
# Temas
bash-it enable theme powerline

# Plugins
bash-it enable plugin git
bash-it enable plugin history
bash-it enable plugin alias
bash-it enable plugin completion

# Aliases
bash-it enable alias general
bash-it enable alias git

# Recargar
bash-it reload
# Ver qué tienes activado
bash-it show aliases
bash-it show plugins
bash-it show completions
# Si acabas de instalar bash-it
source ~/.bashrc

# O manualmente
source ~/.bashrc

# O reinicia tu terminal
exit
# y abre una nueva terminal

# Después de hacer cambios
bash-it reload

Si quieres la funcionalidad de Zsh pero prefieres quedarte con Bash, bash-it es una excelente alternativa:

# Después de instalar bash-it, tendrás:
- Autocompletado avanzado
- Temas y plugins
- Globbing recursivo
- Y muchas características de Zsh

# bash-completion (mejor autocompletado)
sudo apt install bash-completion

# bash-it (como Oh My Zsh pero para Bash)
git clone --depth=1 https://github.com/Bash-it/bash-it.git ~/.bash_it
~/.bash_it/install.sh

# verificar si esta instalado Deberías ver una línea como esta en tu ~/.bashrc
cat ~/.bashrc | grep bash_it
#la manera correcta de instalarlo
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php

#alternativamente los siguientes comandos instalarán Composer globalmente
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

#borrar el instalador
php -r "unlink('composer-setup.php');"

#Por último, ejecuta el siguiente comando en tu terminal para comprobar si Composer se ha #instalado correctamente:
composer



esta es otra manera:
#inslatar:
curl -sS https://getcomposer.org/installer -o composer-setup.php
# Verificar el hash de seguridad (opcional pero recomendado)

sudo apt install php-cli curl

HASH=`curl -sS https://composer.github.io/installer.sig`
echo $HASH  # Debería mostrar un hash como: 55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae
# Instalar Composer globalmente
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
# Eliminar el archivo de instalación
rm composer-setup.php

# Ejecuta esto en otra terminal para obtener la clave correcta
curl -sS https://composer.github.io/releases.pub

# Para obtener todas las claves necesarias
curl -sS https://composer.github.io/installer.sig
curl -sS https://composer.github.io/snapshots.pub

#luego haz esto:
Ejecuta: composer self-update --update-keys

ejemplo:
-----BEGIN PGP PUBLIC KEY BLOCK-----

mQINBFz...
[CONTENIDO COMPLETO DE LA CLAVE]
...=
-----END PGP PUBLIC KEY BLOCK-----

Cuando te pida Enter Dev / Snapshot Public Key:

Pega SOLO el bloque de la clave (sin el hash inicial)

es decir el resultado de esto no 
curl -sS https://composer.github.io/installer.sig
el resultado de esto si va:
curl -sS https://composer.github.io/snapshots.pub

Presiona Enter

Presiona Ctrl+D (esto indica "fin del input")


#instalar claves automaticamente:
#Comando alternativo todo-en-uno:
# Forzar la actualización sin interacción
sudo COMPOSER_ALLOW_SUPERUSER=1 composer self-update --update-keys --no-interaction

# O usar echo para automatizar
echo -e "-----BEGIN PGP PUBLIC KEY BLOCK-----\n...\n-----END PGP PUBLIC KEY BLOCK-----" | composer self-update --update-keys
# Configurar timeout global de 300 segundos (5 minutos)
composer config -g process-timeout 300
composer config -g github-protocols https

# Configurar timeout para descargas
composer config -g disable-tls false
composer config -g secure-http true

Verificación:
# Probar que funcione
composer diagnose
composer --version

reinstalar
# Remover Composer completamente
sudo rm /usr/local/bin/composer
rm -rf ~/.composer

# Instalar versión específica que no requiera keys inmediatamente
curl -sS https://getcomposer.org/installer | php -- --version=2.8.11
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer

composer sin vericar las cllaves no recomendado:
Solución manual definitiva:
# Primero, actualizar Composer sin verificar claves
composer self-update --no-check-keys

# Luego actualizar las claves en modo interactivo
composer self-update --update-keys

#Verificar y configurar DNS/resolución opcional no necesario:
# Probar conectividad a getcomposer.org
ping -c 4 getcomposer.org

# Probar conexión HTTPS
curl -v https://getcomposer.org/versions --connect-timeout 30

# Si hay problemas de DNS, usar Google DNS temporalmente
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
echo "nameserver 8.8.4.4" | sudo tee -a /etc/resolv.conf
Actualizar SOLO pgAdmin4:
sudo apt install --only-upgrade pgadmin4-desktop pgadmin4-server pgadmin4-web

Después de actualizar, verifica las versiones:
# Verificar versiones instaladas
dpkg -l | grep pgadmin4

# Verificar estado de los paquetes
apt list --installed | grep pgadmin4

Reinstalar completamente pgAdmin4:
sudo apt install --reinstall pgadmin4-desktop pgadmin4-server pgadmin4-web

Importante: Backup (opcional pero recomendado)
Antes de actualizar, si tienes configuraciones importantes:
# Backup de configuraciones (si las tienes personalizadas)
sudo cp -r /var/lib/pgadmin4/ /var/lib/pgadmin4_backup/
sudo cp -r /etc/pgadmin4/ /etc/pgadmin4_backup/
<!-----  FROM TOBEY ------>

<script>
(function() {
  function initFH() {
    var p = parent.window.document;
    if (!p.getElementById('fhFixedButton')) {
      if (!p.getElementById('fhScript')) {
        var fhScript = p.createElement('script');
        fhScript.src = "https://fareharbor.com/embeds/api/v1/?autolightframe=yes";
        fhScript.id = "fhScript";
        p.body.appendChild(fhScript);
      }
      if (!p.getElementById('fhStyle')) {
        var fhStyleSheet = p.createElement('link');
        fhStyleSheet.href = 'https://fh-kit.com/buttons/v2/?orange=F7931F';
        fhStyleSheet.rel = 'stylesheet';
        fhStyleSheet.type = 'text/css';
        fhStyleSheet.id = "fhStyle";
        p.body.appendChild(fhStyleSheet);
      }
      var fhFixedButton = p.createElement('a');
      fhFixedButton.href = 'https://fareharbor.com/embeds/book/fuerteventuraquad/?full-items=yes';
      fhFixedButton.className = 'fh-lang fh-hide--mobile fh-shape--round fh-fixed--bottom fh-icon--cal fh-button-true-flat-orange';
      fhFixedButton.innerHTML = 'BOOK NOW';
      fhFixedButton.style = 'letter-spacing: 1.5px !important; padding: .3em 2em !important; border: 1px solid #FFFFFF !important; box-shadow:none !important; left: 20px !important; right: inherit !important;';
      fhFixedButton.id = 'fhFixedButton';
      var fhFixedButtonMobile = p.createElement('a');
      fhFixedButtonMobile.href = 'https://fareharbor.com/embeds/book/fuerteventuraquad/?full-items=yes';
      fhFixedButtonMobile.className = 'fh-lang fh-hide--desktop fh-size--small fh-fixed--side fh-button-true-flat-orange fh-color--white';
      fhFixedButtonMobile.innerHTML = 'BOOK NOW';
      fhFixedButtonMobile.style = 'font-size: 1.1em !important; margin-top: 6em !important; letter-spacing: .7px !important; border: 2px solid #FFFFFF !important; box-shadow:none !important; text-align: center !important; padding: .15em 2em !important;';
      p.body.appendChild(fhFixedButton);
      p.body.appendChild(fhFixedButtonMobile);
    }
    var lang = p.querySelector('html').getAttribute('lang');
    var buttons = p.querySelectorAll('a.fh-lang');
    buttons.forEach(function(btn) {
      switch(lang) {
        case 'en': btn.innerHTML = 'BOOK NOW'; break;
        case 'es': btn.innerHTML = 'RESERVA AHORA'; break;
        case 'it': btn.innerHTML = 'PRENOTA ORA'; break;
        case 'fr': btn.innerHTML = 'RÉSERVEZ MAINTENANT'; break;
        case 'de': btn.innerHTML = 'JETZT BUCHEN'; break;
      }
    });
  }
  document.addEventListener("DOMContentLoaded", initFH);
  window.addEventListener("popstate", initFH);
  window.addEventListener("pushState", initFH);
  window.addEventListener("replaceState", initFH);
  var observer = new MutationObserver(function() {
    initFH();
  });
  observer.observe(document.body, { childList: true, subtree: true });
})();
</script>
<?php
// Clase base o interfaz
interface Animal {
    public function hacerSonido();
}

// Clases que implementan la interfaz con su propia versión del método
class Perro implements Animal {
    public function hacerSonido() {
        echo "Guau Guau\n";
    }
}

class Gato implements Animal {
    public function hacerSonido() {
        echo "Miau Miau\n";
    }
}

// Función que usa polimorfismo para llamar el método hacerSonido de cualquier Animal
function hacerRuido(Animal $animal) {
    $animal->hacerSonido();
}

$miPerro = new Perro();
$miGato = new Gato();

hacerRuido($miPerro); // Imprime: Guau Guau
hacerRuido($miGato);  // Imprime: Miau Miau
?>
// Definición de la interfaz
interface Encendible {
    public function encender();
    public function apagar();
}

// Clase que implementa la interfaz
class Bombilla implements Encendible {
    public function encender() {
        echo "La bombilla está encendida\n";
    }

    public function apagar() {
        echo "La bombilla está apagada\n";
    }
}

// Uso
$miBombilla = new Bombilla();
$miBombilla->encender();  // Salida: La bombilla está encendida
$miBombilla->apagar();    // Salida: La bombilla está apagada
Ctrl+Mayús+P" para que aparezca la instancia de "Paleta de comandos" y empiece a escribir "display" para filtrar y mostrar el comando "Configure Display Language"
// Online Java Compiler
// Use this editor to write, compile and run your Java code online
import java.util.*;
class Main {
    public static void main(String[] args) {
       String s="hello    world hi";
       
       String[] str=s.split("\s+");
       ArrayList<String> ar=new ArrayList<>();
       for(String x:str){
               StringBuilder sb=new StringBuilder(x);
         
           ar.add(sb.reverse().toString());
       }
       StringBuilder sb=new StringBuilder();
       int j=0;
       int k=0;
       boolean iswhite=false;
      for(int i=0;i<s.length();i++){
           if(Character.isLetter(s.charAt(i))){
               if(iswhite)
                j++;
               sb.append(ar.get(j).charAt(k));
               k++;
               iswhite=false;
               
               
           }else{
               sb.append(" ");
               iswhite=true;
               k=0;
           }
      }
       System.out.println(sb.toString());
    }
    // public static string reverse(String res){
    //     StringBuilder sb=new StringBuilder(res);
    //     return sb.revrese().toString();
    // }
}
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<style>
body {
  font-family: Arial;
}
​
* {
  box-sizing: border-box;
}
​
.openBtn {
  background: #f1f1f1;
  border: none;
  padding: 10px 15px;
  font-size: 20px;
  cursor: pointer;
}
​
.openBtn:hover {
  background: #bbb;
}
​
.overlay {
  height: 100%;
  width: 100%;
  display: none;
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  background-color: rgb(0,0,0);
  background-color: rgba(0,0,0, 0.9);
}
​
.overlay-content {
  position: relative;
  top: 46%;
Zengo wallet clone scripts are designed to deliver flexibility and scalability, making them highly adaptable for businesses that require support for multiple blockchain ecosystems and a diverse range of digital assets. They support leading networks including Ethereum, BNB Chain, Polygon, Tron, and Solana while facilitating seamless management of cryptocurrencies, stablecoins, and custom tokens. With built-in cross-chain functionality, businesses can enable smooth transactions across different ecosystems, and the customizable framework allows easy extension of blockchain and token support based on specific needs. If you are looking to build a feature-rich solution, Maticz provides tailored Zengo wallet clone development services to align with your business goals.
Driving the future of connectivity begins with smart Polkadot blockchain development. With Touch Crypto, businesses can build secure and scalable solutions that link different blockchains into one powerful network. Our services include parachain setup, cross-chain integration, and custom smart contract development. Using Polkadot’s ecosystem, we help companies achieve faster performance, lower costs, and stronger security. Every project is built with flexibility to support long-term growth and innovation. From planning to launch, we deliver solutions that make ideas practical and connected. Work with us to unlock the full potential of Polkadot technology.
string button.send_doc_via_docu_sign1(String Deal_id)
{
try 
{
	// ================= FETCH DEAL & VALIDATE ==================
	get_Details = invokeurl
	[
		url :"https://www.zohoapis.com/crm/v8/Deals/" + Deal_id
		type :GET
		connection:"newzohocrm"
	];
	data = get_Details.get("data");
	for each  rec in data
	{
		existing_envelope_id = rec.get("Envelope_ID");
		if(existing_envelope_id != null && existing_envelope_id != "")
		{
			return "Document already sent for this reservation";
		}
		unit_map = rec.get("Unit");
		unit_name = "";
		if(unit_map != null)
		{
			unit_name = ifnull(unit_map.get("name"),"");
		}
		//info unit_name;
		customer_id = rec.get("Contact_Name").get("id");
		contact_Details = zoho.crm.getRecordById("Contacts",customer_id);
		single_buyer_email = ifnull(contact_Details.get("Email"),"");
		single_buyer_name = ifnull(contact_Details.get("Full_Name"),"");
		single_buyer_phone = ifnull(contact_Details.get("Mobile"),"");
		// use Mobile for OTP
		Joint_buyer_details = ifnull(rec.get("Joint_buyer_name"),null);
		if(Joint_buyer_details != null)
		{
			Joint_buyer_id = Joint_buyer_details.get("id");
			Joint_Buyer_contact_details = zoho.crm.getRecordById("Contacts",Joint_buyer_id);
			Joint_Buyer_email = ifnull(Joint_Buyer_contact_details.get("Email"),"");
			Joint_Buyer_name = ifnull(Joint_Buyer_contact_details.get("Full_Name"),"");
		}
		Reservation_File_Upload = rec.get("Reservation_File_Upload");
		for each  file_data in Reservation_File_Upload
		{
			file_id = file_data.get("File_Id__s");
			response = invokeurl
			[
				url :"https://www.zohoapis.com/crm/v8/files?id=" + file_id
				type :GET
				connection:"newzohocrm"
			];
		}
	}
	// ================= CONVERT TO BASE64 ==================
	base64_pdf = zoho.encryption.base64Encode(response);
	doc = Map();
	doc.put("documentBase64",base64_pdf);
	doc.put("name","Sale Purchase Agreement");
	doc.put("fileExtension","docx");
	doc.put("documentId","1");
	// ================= SIGNERS ==================
	sign_here_buyer = List();
	sign_here_buyer.add({"anchorString":"Signed by Individual Purchaser","anchorUnits":"pixels","anchorXOffset":"168","anchorYOffset":"32","required":true});
	sign_here_buyer.add({"anchorString":"Signed for and on behalf of the Purchaser","anchorUnits":"pixels","anchorXOffset":"172","anchorYOffset":"4","required":true});
	date_signed_buyer = List();
	date_signed_buyer.add({"anchorString":"IN WITNESS WHEREOF the Parties have executed this Agreement.","anchorUnits":"pixels","anchorXOffset":"175","anchorYOffset":"115","required":false});
	date_signed_buyer.add({"anchorString":"I/We acknowledge that in the event there is a Constitution, I/we agree to comply with the provisions","anchorUnits":"pixels","anchorXOffset":"155","anchorYOffset":"215","required":false});
	date_signed_buyer.add({"anchorString":"Signed for and on behalf of the Purchaser","anchorUnits":"pixels","anchorXOffset":"167","anchorYOffset":"63","required":false});
	initials_buyer = List();
	initials_buyer.add({"anchorString":"Purchaser’s initials","anchorUnits":"pixels","anchorXOffset":"145","anchorYOffset":"16","required":true});
	tabs_buyer = Map();
	tabs_buyer.put("signHereTabs",sign_here_buyer);
	tabs_buyer.put("dateSignedTabs",date_signed_buyer);
	tabs_buyer.put("initialHereTabs",initials_buyer);
	signer1 = Map();
	signer1.put("email",single_buyer_email);
	signer1.put("name",single_buyer_name);
	signer1.put("recipientId","1");
	signer1.put("routingOrder","2");
	signer1.put("tabs",tabs_buyer);
	// ---- Phone OTP Identity Verification ----
	if(single_buyer_phone != "")
	{
		identity_verification = Map();
		identity_verification.put("workflowId","c368e411-1592-4001-a3df-dca94ac539ae");
		input_option = Map();
		input_option.put("name","phone_number_list");
		input_option.put("valueType","PhoneNumberList");
		phone_list = List();
		phone_item = Map();
		phone_item.put("countryCode","971");
		phone_item.put("number",single_buyer_phone);
		phone_list.add(phone_item);
		input_option.put("phoneNumberList",phone_list);
		identity_verification.put("inputOptions",{input_option});
		signer1.put("identityVerification",identity_verification);
	}
	signers_list = List();
	signers_list.add(signer1);
	// ---- Witness for Signer 1 ----
	sign_here_witness = List();
	sign_here_witness.add({"anchorString":"IN WITNESS WHEREOF the Parties have executed this Agreement","anchorUnits":"pixels","anchorXOffset":"168","anchorYOffset":"168","required":true});
	sign_here_witness.add({"anchorString":"Signed for and on behalf of the Purchaser","anchorUnits":"pixels","anchorXOffset":"172","anchorYOffset":"90","required":true});
	text_tabs_witness = List();
	text_tabs_witness.add({"anchorString":"IN WITNESS WHEREOF the Parties have executed this Agreement","anchorUnits":"pixels","anchorXOffset":"160","anchorYOffset":"190","tabLabel":"witness1_name","value":"","locked":false,"required":true});
	text_tabs_witness.add({"anchorString":"IN WITNESS WHEREOF the Parties have executed this Agreement","anchorUnits":"pixels","anchorXOffset":"160","anchorYOffset":"218","tabLabel":"witness1_address","value":"","locked":false,"required":true});
	text_tabs_witness.add({"anchorString":"IN WITNESS WHEREOF the Parties have executed this Agreement","anchorUnits":"pixels","anchorXOffset":"160","anchorYOffset":"243","tabLabel":"witness1_occupation","value":"","locked":false,"required":true});
	text_tabs_witness.add({"anchorString":"Signed for and on behalf of the Purchaser","anchorUnits":"pixels","anchorXOffset":"160","anchorYOffset":"110","tabLabel":"witness2_name","value":"","locked":false,"required":true});
	text_tabs_witness.add({"anchorString":"Signed for and on behalf of the Purchaser","anchorUnits":"pixels","anchorXOffset":"160","anchorYOffset":"135","tabLabel":"witness2_address","value":"","locked":false,"required":true});
	tabs_witness = Map();
	tabs_witness.put("signHereTabs",sign_here_witness);
	tabs_witness.put("textTabs",text_tabs_witness);
	witness1 = Map();
	witness1.put("witnessFor","1");
	witness1.put("recipientId","2");
	witness1.put("routingOrder","3");
	witness1.put("email","");
	witness1.put("name","");
	witness1.put("tabs",tabs_witness);
	// ---- Signer 2 (Joint Buyer, no OTP) ----
	if(Joint_buyer_details != null)
	{
		sign_here_joint = List();
		sign_here_joint.add({"anchorString":"Signed by Joint Individual Purchaser","anchorUnits":"pixels","anchorXOffset":"172","anchorYOffset":"28","required":true});
		sign_here_joint.add({"anchorString":"Signed by joint Purchaser","anchorUnits":"pixels","anchorXOffset":"172","anchorYOffset":"29","required":true});
		sign_here_joint.add({"anchorString":"Signed for and on behalf of the Joint Purchaser","anchorUnits":"pixels","anchorXOffset":"175","anchorYOffset":"5","required":true});
		date_signed_joint = List();
		date_signed_joint.add({"anchorString":"Signed by Joint Individual Purchaser","anchorUnits":"pixels","anchorXOffset":"173","anchorYOffset":"79","required":false});
		date_signed_joint.add({"anchorString":"Signed by joint Purchaser","anchorUnits":"pixels","anchorXOffset":"182","anchorYOffset":"80","required":false});
		date_signed_joint.add({"anchorString":"Signed for and on behalf of the Joint Purchaser","anchorUnits":"pixels","anchorXOffset":"174","anchorYOffset":"65","required":false});
		tabs_joint = Map();
		tabs_joint.put("signHereTabs",sign_here_joint);
		tabs_joint.put("dateSignedTabs",date_signed_joint);
		signer2 = Map();
		signer2.put("email",Joint_Buyer_email);
		signer2.put("name",Joint_Buyer_name);
		signer2.put("recipientId","3");
		signer2.put("routingOrder","4");
		signer2.put("tabs",tabs_joint);
		signers_list.add(signer2);
		// ---- Witness for Signer 2 (Joint Buyer) ----
		sign_here_witness2 = List();
		sign_here_witness2.add({"anchorString":"Signed by Joint Individual Purchaser","anchorUnits":"pixels","anchorXOffset":"173","anchorYOffset":"140","required":true});
		//////Changed
		sign_here_witness2.add({"anchorString":"Signed for and on behalf of the Joint Purchaser","anchorUnits":"pixels","anchorXOffset":"174","anchorYOffset":"103","required":true});
		//////Changed
		//////////////////////
		/////////////////////////////
		text_tabs_witness2 = List();
		text_tabs_witness2.add({"anchorString":"Signed by Joint Individual Purchaser","anchorUnits":"pixels","anchorXOffset":"173","anchorYOffset":"160","tabLabel":"witness3_name","value":"","locked":false,"required":true});
		//////Changed
		text_tabs_witness2.add({"anchorString":"Signed by Joint Individual Purchaser","anchorUnits":"pixels","anchorXOffset":"173","anchorYOffset":"185","tabLabel":"witness3_address","value":"","locked":false,"required":true});
		///changed
		text_tabs_witness2.add({"anchorString":"Signed by Joint Individual Purchaser","anchorUnits":"pixels","anchorXOffset":"173","anchorYOffset":"210","tabLabel":"witness3_occupation","value":"","locked":false,"required":true});
		///changed
		////////////
		///////////////////////////
		text_tabs_witness2.add({"anchorString":"Signed for and on behalf of the Joint Purchaser","anchorUnits":"pixels","anchorXOffset":"174","anchorYOffset":"118","tabLabel":"witness4_name","value":"","locked":false,"required":true});
		///chnages
		text_tabs_witness2.add({"anchorString":"Signed for and on behalf of the Joint Purchaser","anchorUnits":"pixels","anchorXOffset":"170","anchorYOffset":"145","tabLabel":"witness4_address","value":"","locked":false,"required":true});
		///changed
		witness2_tabs = Map();
		witness2_tabs.put("signHereTabs",sign_here_witness2);
		witness2_tabs.put("textTabs",text_tabs_witness2);
		witness2 = Map();
		witness2.put("witnessFor","3");
		witness2.put("recipientId","4");
		witness2.put("routingOrder","5");
		witness2.put("email","");
		witness2.put("name","");
		witness2.put("tabs",witness2_tabs);
	}
	// ---- Manager Final Signer (Lani Alipio) ----
	sign_here_manager = List();
	sign_here_manager.add({"documentId":"1","pageNumber":"2","xPosition":"100","yPosition":"600"});
	tabs_manager = Map();
	tabs_manager.put("signHereTabs",sign_here_manager);
	manager_signer = Map();
	manager_signer.put("email","Lani.Alipio@leosuk.com");
	///
	manager_signer.put("name","Lani Alipio");
	manager_signer.put("recipientId","11");
	if(Joint_buyer_details != null)
	{
		manager_signer.put("routingOrder","6");
	}
	else
	{
		manager_signer.put("routingOrder","5");
	}
	manager_signer.put("tabs",tabs_manager);
	signers_list.add(manager_signer);
	// ---- CC LIST (Mark + Lani) ----
	cc_list = List();
	cc_mark = Map();
	cc_mark.put("email","Manthony@leosuk.com");
	//
	cc_mark.put("name","Mark");
	cc_mark.put("recipientId","12");
	cc_mark.put("routingOrder","1");
	cc_list.add(cc_mark);
	cc_noor = Map();
	cc_noor.put("email","Lani.Alipio@leosuk.com");
	///
	cc_noor.put("name","Lani Alipio");
	cc_noor.put("recipientId","13");
	cc_noor.put("routingOrder","1");
	cc_list.add(cc_noor);
	////
	////
	cc_ana = Map();
	cc_ana.put("email","anamay@leosuk.com");
	//////
	cc_ana.put("name","Ana May S. Zamora");
	cc_ana.put("recipientId","14");
	cc_ana.put("routingOrder","1");
	cc_list.add(cc_ana);
	// ================= RECIPIENTS MAP ==================
	recipients = Map();
	recipients.put("signers",signers_list);
	if(Joint_buyer_details != null)
	{
		recipients.put("witnesses",{witness1,witness2});
	}
	else
	{
		recipients.put("witnesses",{witness1});
	}
	recipients.put("carbonCopies",cc_list);
	envelope = Map();
	envelope.put("documents",{doc});
	envelope.put("emailSubject","SPA for Signature - " + unit_name + " Final");
	envelope.put("status","sent");
	envelope.put("recipients",recipients);
	// ================= FETCH DOCUSIGN ACCESS TOKEN ==================
	access_token_response = invokeurl
	[
		url :"https://www.zohoapis.com/crm/v6/settings/variables/5971686000102746225"
		type :GET
		connection:"newzohocrm"
	];
	access_token = access_token_response.get("variables").get(0).get("value");
	headers = Map();
	headers.put("Authorization","Bearer " + access_token);
	headers.put("Content-Type","application/json");
	response = invokeurl
	[
		url :"https://eu.docusign.net/restapi/v2.1/accounts/2a0daa7d-a770-4979-8208-9543d21f12e5/envelopes"
		type :POST
		parameters:envelope.toString()
		headers:headers
	];
	info response;
	envelopeId = response.get("envelopeId");
	update_map = Map();
	update_map.put("Envelope_ID",envelopeId);
	update_map.put("Next_Status_Sync_Time",zoho.currenttime.toString("yyyy-MM-dd'T'HH:mm:ss","Asia/Dubai"));
	update_map.put("Docu_Sign_Status","Sent");
	Update_Rec = zoho.crm.updateRecord("Deals",Deal_id,update_map);
	return "Document has been successfully sent to all recipients.";
}
catch (e)
{
	sendmail
	[
		from :zoho.loginuserid
		to :"zoho.failure@leosinternational.zohodesk.com"
		subject :"[DocuSign Error | Deal " + Deal_id + "]"
		message :"An error occurred while sending the document via DocuSign.\n\nDeal ID: " + Deal_id + "\nError Details: " + e.toString()
	]
	return "Error occurred: " + e.toString();
}
return "";
}
import matplotlib.pyplot as plt
plt.plot([2,6,11],[4,6,9],"r",label="line one",linewidth=5)
# plt.plot([2,4,5,6,8,9],[4,5,6,7,8,9],"g",label="line two",linewidth=5)
plt.legend()
plt.xlabel("X-Axis---------------------->")
plt.ylabel("Y-Axis-------------------->")
plt.title("Information")
plt.grid(True,color="k")
plt.show()
import matplotlib.pyplot as plt
plt.bar([0.25,1.25,2.25, 3.25, 4.25], [50,40,70,80,20],label="Science",width=0.5)
plt.bar([0.75, 1.75, 2.75, 3.75, 4.75],[80,20,20,50,60],label="Maths",width=0.5,color="r")
plt.legend()
plt.xlabel("Months---------------------->")
plt.ylabel("Subject-------------------->")
plt.title("Information")
plt.show()
Para solucionar esto, siga estos pasos de instalación manual:

Asegúrese de que su sistema esté actualizado e instale los paquetes necesarios:

texto
sudo apt update
sudo apt upgrade
sudo apt install build-essential git dkms linux-headers-$(uname -r)
Clone la fuente del controlador rtl8188fu desde el repositorio oficial de GitHub:

texto
git clone https://github.com/kelebek333/rtl8188fu.git
Cambiar el directorio al repositorio clonado:

texto
cd rtl8188fu
Agregue el controlador a DKMS:

texto
sudo dkms add .
Construya el controlador:

texto
sudo dkms build rtl8188fu/1.0
Instalar el controlador:

texto
sudo dkms install rtl8188fu/1.0
Copiar el archivo de firmware:

texto
sudo cp ./firmware/rtl8188fufw.bin /lib/firmware/rtlwifi/
Cargar el controlador:

texto
sudo modprobe rtl8188fu
Reinicie su sistema.
Smart contracts are the foundation of blockchain innovation, self-executing programs that bring automation, transparency, and trustless transactions without the need for intermediaries. They power everything from supply chain solutions and enterprise-grade applications to DeFi platforms and NFT marketplaces. But with such immense potential comes high risk: even the smallest potential can result in significant losses. That’s why Block Intelligence is here. We provide expert smart contract audit and development services designed to secure your code, protect your assets, and strengthen user confidence.


Know more >>> https://www.blockintelligence.io/smart-contract-audit-company

What’s app:+91 77384 79381

Mail to : connect@blockchain.ai.in
Blockchain is the key to secure, transparent, and efficient business systems, and Block Intelligence is the Blockchain Development Company that makes it simple. We create practical blockchain solutions like crypto wallets, NFT platforms, smart contracts, and custom applications turning complex technology into easy-to-use tools. With blockchain, your business gains stronger security, faster transactions, lower costs, and greater trust. Whether you’re a startup innovating or an enterprise scaling, our team delivers solutions tailored to your growth. At Block Intelligence, we believe blockchain is the future of business, and we’re here to help you unlock its full potential.


Know more >>> https://www.blockintelligence.io/Blockchain-Development

What’s app:+91 77384 79381

Mail to : connect@blockchain.ai.in
{
	"blocks": [
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":star: What's on in Melbourne this week! :star:"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "\n\n Hey Melbourne, happy Monday and Hello September! Please see below for what's on this week. "
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": "Xero Café :coffee:",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "\n :new-thing: *This week we are offering:* \n\n :caramel-slice: *Sweet Treats*: Selection of Lamingtons & cookies \n\n :coffee: *Weekly Café Special*: Salted Caramel Latte"
			}
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": " Wednesday, 3rd September :calendar-date-3:",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":Xerocon: Join us in the Wominjeka Breakout Space on *Level - 3* at 9.15am to watch Xerocon Showcase Live. This is Xerocon’s opening showcase, to hear from XLT on key announcements, Xero’s future and our latest product innovations. We also have some delicious cupcakes to enjoy :xero: :cupcake: \n\n:lunch: Join us for an Mediterranean lunch From *12pm* in the Wominjeka breakout space! Menu in the:thread: "
			}
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": "Thursday, 4th September :calendar-date-4:",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":breakfast: *Breakfast*: Join us for Breakfast from *8:30am - 10:30am* in the Wominjeka Breakout Space.  \n\n\n * Social Happy Hour*: Join us at *4.00pm* for the Footy Fevers Social. Think Mini Hot Dogs, Hot Jam Donuts and Beer tasting from *CbCo Brewery*. Dress in your best AFL gear for the chance to win a prize! :beer: :hotdog: More details to come during the week.\n\n *What Else? :green_heart:*"
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": " Feedback on our Boost Offerings? We want to hear more. Let us know what you love by filling out our form <https://docs.google.com/forms/d/e/1FAIpQLScGOSeS5zUI8WXEl0K4WGoQUkmpIHzAjLlEKWBob4sMPhDXmA/viewform|here.>  \n\n Stay tuned to this channel, and make sure you're subscribed to the <https://calendar.google.com/calendar/u/0?cid=Y19xczkyMjk5ZGlsODJzMjA4aGt1b3RnM2t1MEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t|*Melbourne Social Calendar*> :party-wx:"
			}
		}
	]
}
{
	"blocks": [
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":star: What's on in Melbourne this week! :star:"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "\n\n Hey Melbourne, happy Monday and Hello September! Please see below for what's on this week. "
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": "Xero Café :coffee:",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "\n :new-thing: *This week we are offering:* \n\n :caramel-slice: *Sweet Treats*: Selection of Lamingtons & cookies \n\n :coffee: *Weekly Café Special*: Salted Caramel Latte"
			}
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": " Wednesday, 3rd September :calendar-date-3:",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":Xerocon: Join us in the Wominjeka Breakout Space on *Level -3* at 9.15am for a live screening of Xerocon and some delicious cupcakes :xero: :cupcake: \n\n:lunch: Join us for an Mediterranean lunch From *12pm* in the Wominjeka breakout space! Menu in the:thread: "
			}
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": "Thursday, 4th September :calendar-date-4:",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":breakfast: *Breakfast*: Join us for Breakfast from *8:30am - 10:30am* in the Wominjeka Breakout Space.  \n\n\n * Social Happy Hour*: Join us at *4.00pm* for the Footy Fevers Social. Think Mini Hot Dogs, Hot Jam Donuts and Beer tasting from *CbCo Brewery*. Dress in your best AFL gear for the chance to win a prize! :beer: :hotdog: More details to come during the week.\n\n *What Else? :green_heart:*"
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": " Feedback on our Boost Offerings? We want to hear more. Let us know what you love by filling out our form <https://docs.google.com/forms/d/e/1FAIpQLScGOSeS5zUI8WXEl0K4WGoQUkmpIHzAjLlEKWBob4sMPhDXmA/viewform|here.>  \n\n Stay tuned to this channel, and make sure you're subscribed to the <https://calendar.google.com/calendar/u/0?cid=Y19xczkyMjk5ZGlsODJzMjA4aGt1b3RnM2t1MEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t|*Melbourne Social Calendar*> :party-wx:"
			}
		}
	]
}
Datacenter -> Storage -> local -> Content
	add 
		Disk Image
		Import

Go to Datacenter -> server -> Storage Local (local)

You now see "Import" Option.
Block Intelligence powers Cross-DEX trading with seamless multi-chain connectivity, liquidity aggregation, and advanced swaps.We deliver secure, scalable, and efficient solutions for minimized losses and superior UX. Lead the future of DeFi with innovation and confidence.

Know more >>> https://crossdex.web5.nexus/
What’s App: +91 77384 79381
Mail to :  connect@web5.nexus
add_action('woocommerce_after_add_to_cart_button','devvn_quickbuy_after_addtocart_button');
function devvn_quickbuy_after_addtocart_button(){
    global $product;
    ?>
    <style>
        .devvn-quickbuy button.single_add_to_cart_button.loading:after {
            display: none;
        }
        .devvn-quickbuy button.single_add_to_cart_button.button.alt.loading {
            color: #fff;
            pointer-events: none !important;
        }
        .devvn-quickbuy button.buy_now_button {
            position: relative;
            color: rgba(255,255,255,0.05);
        }
        .devvn-quickbuy button.buy_now_button:after {
            animation: spin 500ms infinite linear;
            border: 2px solid #fff;
            border-radius: 32px;
            border-right-color: transparent !important;
            border-top-color: transparent !important;
            content: "";
            display: block;
            height: 16px;
            top: 50%;
            margin-top: -8px;
            left: 50%;
            margin-left: -8px;
            position: absolute;
            width: 16px;
        }
    </style>
    <button type="button" class="button buy_now_button">
        <?php _e('Mua ngay', 'devvn'); ?>
    </button>
    <input type="hidden" name="is_buy_now" class="is_buy_now" value="0" autocomplete="off"/>
    <script>
        jQuery(document).ready(function(){
            jQuery('body').on('click', '.buy_now_button', function(e){
                e.preventDefault();
                var thisParent = jQuery(this).parents('form.cart');
                if(jQuery('.single_add_to_cart_button', thisParent).hasClass('disabled')) {
                    jQuery('.single_add_to_cart_button', thisParent).trigger('click');
                    return false;
                }
                thisParent.addClass('devvn-quickbuy');
                jQuery('.is_buy_now', thisParent).val('1');
                jQuery('.single_add_to_cart_button', thisParent).trigger('click');
            });
        });
    </script>
    <?php
}
add_filter('woocommerce_add_to_cart_redirect', 'redirect_to_checkout');
function redirect_to_checkout($redirect_url) {
    if (isset($_REQUEST['is_buy_now']) && $_REQUEST['is_buy_now']) {
        $redirect_url = wc_get_checkout_url(); //or wc_get_cart_url()
    }
    return $redirect_url;
}
-- UtilityEventTxnLImit
DROP TABLE team_kingkong.onus_UtilityEventTxnLImit_breaches;

-- CREATE TABLE team_kingkong.onus_UtilityEventTxnLImit_breaches AS 
INSERT INTO team_kingkong.onus_UtilityEventTxnLImit_breaches 
SELECT A.*, case when m1.mid is not null then category else 'Others' end as business_category
, 1000001 as per_txn_threshold
, 'per txn threshold breached' as breach_reason
FROM 
    (select distinct userid, transactionid,
    cast(eventAmount as double) / 100 as amt,
    dateinserted,
    substr(cast(dateinserted as varchar(30)), 1, 7) as mnth,
    paymethod, paytmmerchantid, responsestatus, actionrecommended
    FROM cdp_risk_transform.maquette_flattened_onus_snapshot_v3
    WHERE DATE(dl_last_updated) BETWEEN DATE'2025-01-01' AND DATE'2025-01-31'
    AND SOURCE = 'PG' AND paymethod IN ('DEBIT_CARD', 'CREDIT_CARD')
AND responsestatus = 'SUCCESS' AND actionrecommended <> 'BLOCK'
    AND (cast(eventAmount as double) / 100) > 1000001
    AND eventid IN (SELECT eventlinkid
    FROM risk_maquette_data_async.pplus_payment_result_prod_async_snapshot_v3
    WHERE dl_last_updated BETWEEN DATE'2025-01-01' AND DATE'2025-01-31'
    AND payresult = 'payment_success')) a
left join
    (select * from team_kingkong.voc_mid_categorization where mid != '') m1
on a.paytmmerchantid = m1.mid;
settings.json

{
    "php.docblock.propertySnippet": {},
    "editor.fontFamily": "'Fira Code'",
    "editor.fontLigatures": true,
    "editor.fontSize": 14,                      // Tamaño de fuente cómodo para lectura
    "editor.lineHeight": 22,                    // Espaciado entre líneas para mejor claridad
    "editor.fontWeight": "400",                 // Peso regular de la fuente
    "editor.renderWhitespace": "all",          // Muestra espacios y tabulaciones para mejor control del código
    "editor.cursorSmoothCaretAnimation": "on",// Animación suave del cursor
    "editor.minimap.enabled": false,            // Desactiva minimapa para menos distracciones (opcional)
    "workbench.colorTheme": "Default Dark+",   // Tema oscuro para menos fatiga visual (puedes cambiarlo)
    "editor.smoothScrolling": true,
    "sqltools.connections": [
        {
            "previewLimit": 50,
            "server": "localhost",
            "port": 5432,
            "driver": "PostgreSQL",
            "name": "indicadires_jobran",
            "username": "jdrodriguezg",
            "database": "indicadores_jobran"
        },
        {
            "previewLimit": 50,
            "server": "localhost",
            "port": 5432,
            "driver": "PostgreSQL",
            "database": "indicadores_jobran",
            "username": "postgres",
            "name": "Localhost-jobran"
        }
    ],
    "editor.guides.indentation": true // Muestra guías de indentación para mejor estructura visual
}

/* Selects an h1 heading with a
paragraph element that immediately follows
the h1 and applies the style to h1 */
h1:has(+ p) {
  margin-bottom: 0;
}
star

Mon Sep 08 2025 19:32:14 GMT+0000 (Coordinated Universal Time)

@jrg_300i

star

Sun Sep 07 2025 11:29:22 GMT+0000 (Coordinated Universal Time) https://medium.com/@deepml1818/why-automate-cve-reporting-with-ai-e83b685dff7d

@rhce143

star

Sun Sep 07 2025 03:14:01 GMT+0000 (Coordinated Universal Time)

@FOHWellington

star

Sat Sep 06 2025 07:28:42 GMT+0000 (Coordinated Universal Time)

@proxy4free

star

Fri Sep 05 2025 10:00:23 GMT+0000 (Coordinated Universal Time) https://www.jewelpin.com/silver-jewelry

@anziggymaximili #jewelry #silverjewelry #jewelrymanufacturer #business #fashion

star

Fri Sep 05 2025 07:39:59 GMT+0000 (Coordinated Universal Time) https://maticz.com/how-to-create-a-crypto-exchange

@carolinemax

star

Thu Sep 04 2025 19:09:18 GMT+0000 (Coordinated Universal Time)

@jrg_300i

star

Thu Sep 04 2025 18:08:53 GMT+0000 (Coordinated Universal Time) https://cryptiecraft.com/how-to-create-cryptocurrency-exchange-platform/

@evacollins #buildacryptocurrencyexchange #cryptoexchange

star

Thu Sep 04 2025 18:08:11 GMT+0000 (Coordinated Universal Time)

@jrg_300i

star

Thu Sep 04 2025 17:38:37 GMT+0000 (Coordinated Universal Time)

@jrg_300i

star

Thu Sep 04 2025 17:04:56 GMT+0000 (Coordinated Universal Time)

@jrg_300i

star

Thu Sep 04 2025 14:16:44 GMT+0000 (Coordinated Universal Time)

@jrg_300i

star

Thu Sep 04 2025 14:11:32 GMT+0000 (Coordinated Universal Time)

@jrg_300i

star

Thu Sep 04 2025 14:10:49 GMT+0000 (Coordinated Universal Time)

@jrg_300i

star

Thu Sep 04 2025 14:10:23 GMT+0000 (Coordinated Universal Time)

@jrg_300i

star

Thu Sep 04 2025 14:09:43 GMT+0000 (Coordinated Universal Time)

@jrg_300i

star

Thu Sep 04 2025 14:07:31 GMT+0000 (Coordinated Universal Time)

@jrg_300i

star

Thu Sep 04 2025 14:03:59 GMT+0000 (Coordinated Universal Time)

@jrg_300i

star

Thu Sep 04 2025 13:18:35 GMT+0000 (Coordinated Universal Time) Configurar timeout más largo para Composer:

@jrg_300i #php #polimorfismo

star

Thu Sep 04 2025 12:11:11 GMT+0000 (Coordinated Universal Time)

@jrg_300i #php #polimorfismo

star

Thu Sep 04 2025 09:07:28 GMT+0000 (Coordinated Universal Time)

@Shira

star

Thu Sep 04 2025 08:17:26 GMT+0000 (Coordinated Universal Time) https://myassignmenthelp.expert/

@lucywilliams

star

Wed Sep 03 2025 18:15:37 GMT+0000 (Coordinated Universal Time)

@jrg_300i #php #polimorfismo

star

Wed Sep 03 2025 18:15:09 GMT+0000 (Coordinated Universal Time)

@jrg_300i #docker

star

Wed Sep 03 2025 15:30:58 GMT+0000 (Coordinated Universal Time)

@jrg_300i #docker

star

Wed Sep 03 2025 11:13:16 GMT+0000 (Coordinated Universal Time) https://www.firebeetechnoservices.com/cryptocurrency-exchange-software-development-company

@aanaethan #crypto #cryptoexchangedevelopment #cryptoexchangedevelopmentcompany

star

Wed Sep 03 2025 10:51:50 GMT+0000 (Coordinated Universal Time)

@javads

star

Tue Sep 02 2025 19:08:08 GMT+0000 (Coordinated Universal Time)

@xooeem

star

Tue Sep 02 2025 13:44:37 GMT+0000 (Coordinated Universal Time) https://maticz.com/zengo-wallet-clone-script

@austinparker #rummy #rummygame #rummygamedevelopment #rummygameapp

star

Tue Sep 02 2025 12:32:54 GMT+0000 (Coordinated Universal Time) https://www.touchcrypto.org/polkadot-blockchain-development-company

@AthurLuis7801 #polkadot #blockchaindevelopment #web3 #cryptodevelopment #defi

star

Tue Sep 02 2025 10:52:58 GMT+0000 (Coordinated Universal Time)

@usman13

star

Tue Sep 02 2025 04:38:53 GMT+0000 (Coordinated Universal Time)

@root1024 ##python #matplotlib

star

Tue Sep 02 2025 04:25:12 GMT+0000 (Coordinated Universal Time)

@root1024 ##python #matplotlib

star

Mon Sep 01 2025 17:03:05 GMT+0000 (Coordinated Universal Time)

@jrg_300i #docker

star

Mon Sep 01 2025 10:46:26 GMT+0000 (Coordinated Universal Time) https://maticz.com/meme-coin-development

@carolinemax

star

Mon Sep 01 2025 10:00:21 GMT+0000 (Coordinated Universal Time) https://www.thecryptoape.com/bitfinex-clone-script

@Davidbrevis

star

Sun Aug 31 2025 10:28:25 GMT+0000 (Coordinated Universal Time)

@FOHWellington

star

Sun Aug 31 2025 10:17:22 GMT+0000 (Coordinated Universal Time)

@FOHWellington

star

Sat Aug 30 2025 15:11:56 GMT+0000 (Coordinated Universal Time)

@marcopinero

star

Sat Aug 30 2025 06:49:53 GMT+0000 (Coordinated Universal Time) https://crossdex.web5.nexus/

@Clarapeters #crossdex #defi #cryptotrading #blockchain #dex

star

Sat Aug 30 2025 04:18:01 GMT+0000 (Coordinated Universal Time) https://www.patreon.com/posts/51382164

@gina0993

star

Sat Aug 30 2025 04:17:41 GMT+0000 (Coordinated Universal Time) https://www.patreon.com/posts/51382164

@gina0993

star

Fri Aug 29 2025 16:55:35 GMT+0000 (Coordinated Universal Time)

@vanthien

star

Fri Aug 29 2025 07:02:29 GMT+0000 (Coordinated Universal Time)

@shubhangi.b

star

Fri Aug 29 2025 05:09:05 GMT+0000 (Coordinated Universal Time) https://www.b2bcert.com/iso-27001-certification-in-bangalore/

@b2bcert #iso27001 certification in bangalore #iso27001 consultants in bangalore #iso27001 certification consultants in bangalore

star

Thu Aug 28 2025 16:56:26 GMT+0000 (Coordinated Universal Time)

@jrg_300i #docker

star

Thu Aug 28 2025 11:34:41 GMT+0000 (Coordinated Universal Time) https://cryptiecraft.com/how-to-create-cryptocurrency-exchange-platform/

@RileyQuinn #howto start a crypto exchange business #howto start a crypto exchange

star

Wed Aug 27 2025 12:59:30 GMT+0000 (Coordinated Universal Time) https://developer.mozilla.org/de/docs/Web/CSS/:has

@Sebhart #css

Save snippets that work with our extensions

Available in the Chrome Web Store Get Firefox Add-on Get VS Code extension