#!/usr/bin/bash

TITLE="Kalpa Driver Manager"
VERSION="0.5.1-1.37"
DESKTOP_GPU_CLASS="0x030000"
MOBILE_GPU_CLASS="0x030200"
PCI_DEVICE_PATH="/sys/bus/pci/devices/"
LOG_FILE=${HOME}/kalpa-driver-manager.log
AUTOSTART_FILE="$HOME/.config/autostart/kalpa-driver-manager-mok.desktop"
AUTOSTART_VALIDATE_NVIDIA_FILE="$HOME/.config/autostart/kalpa-driver-manager-validate.desktop"

NV_DRIVER_G00="G00" # No driver - denied
NV_DRIVER_G04="G04" # No Wayland support - denied
NV_DRIVER_G05="G05" # Limited Wayland support, known to break on Kernel updates - denied 
NV_DRIVER_G06_CLOSED="G06-closed" # Fully supported
NV_DRIVER_G06_OPEN="G06-open" # Fully supported
NV_DRIVER_G07="G07" # Not yet in repos

NVIDIA_DRIVER_MODULES=("nvidia_drm" "nvidia_modeset" "nvidia_uvm")
declare -A NVIDIA_SUPPORT_MATRIX=(
    # NVIDIA vendor: 0x10de
    # NV1 - NV5
    ["0x10de:0x0008"]="$NV_DRIVER_G00" ["0x10de:0x0009"]="$NV_DRIVER_G00" ["0x10de:0x0018"]="$NV_DRIVER_G00" ["0x10de:0x0019"]="$NV_DRIVER_G00"
    ["0x10de:0x0020"]="$NV_DRIVER_G00" ["0x1043:0x0200"]="$NV_DRIVER_G00" ["0x1048:0x0c18"]="$NV_DRIVER_G00" ["0x1048:0x0c19"]="$NV_DRIVER_G00"
    ["0x1048:0x0c1b"]="$NV_DRIVER_G00" ["0x1048:0x0c1c"]="$NV_DRIVER_G00" ["0x1092:0x0550"]="$NV_DRIVER_G00" ["0x1092:0x0552"]="$NV_DRIVER_G00"
    ["0x1092:0x4804"]="$NV_DRIVER_G00" ["0x1092:0x4808"]="$NV_DRIVER_G00" ["0x1092:0x4810"]="$NV_DRIVER_G00" ["0x1092:0x4812"]="$NV_DRIVER_G00"
    ["0x1092:0x4815"]="$NV_DRIVER_G00" ["0x1092:0x4820"]="$NV_DRIVER_G00" ["0x1092:0x4822"]="$NV_DRIVER_G00" ["0x1092:0x4904"]="$NV_DRIVER_G00"
    ["0x1092:0x4914"]="$NV_DRIVER_G00" ["0x1092:0x8225"]="$NV_DRIVER_G00" ["0x10b4:0x273d"]="$NV_DRIVER_G00" ["0x10b4:0x273e"]="$NV_DRIVER_G00"
    ["0x10b4:0x2740"]="$NV_DRIVER_G00" ["0x10de:0x0020"]="$NV_DRIVER_G00" ["0x1102:0x1015"]="$NV_DRIVER_G00" ["0x1102:0x1016"]="$NV_DRIVER_G00"
    ["0x10de:0x0028"]="$NV_DRIVER_G00" ["0x1043:0x0200"]="$NV_DRIVER_G00" ["0x1043:0x0201"]="$NV_DRIVER_G00" ["0x1043:0x0205"]="$NV_DRIVER_G00"
    ["0x1043:0x4000"]="$NV_DRIVER_G00" ["0x1048:0x0c21"]="$NV_DRIVER_G00" ["0x1048:0x0c28"]="$NV_DRIVER_G00" ["0x1048:0x0c29"]="$NV_DRIVER_G00"
    ["0x1048:0x0c2a"]="$NV_DRIVER_G00" ["0x1048:0x0c2b"]="$NV_DRIVER_G00" ["0x1048:0x0c31"]="$NV_DRIVER_G00" ["0x1048:0x0c32"]="$NV_DRIVER_G00"
    ["0x1048:0x0c33"]="$NV_DRIVER_G00" ["0x1048:0x0c34"]="$NV_DRIVER_G00" ["0x107d:0x2134"]="$NV_DRIVER_G00" ["0x1092:0x4804"]="$NV_DRIVER_G00"
    ["0x1092:0x4a00"]="$NV_DRIVER_G00" ["0x1092:0x4a02"]="$NV_DRIVER_G00" ["0x1092:0x5a00"]="$NV_DRIVER_G00" ["0x1092:0x5a40"]="$NV_DRIVER_G00"
    ["0x1092:0x6a02"]="$NV_DRIVER_G00" ["0x1092:0x7a02"]="$NV_DRIVER_G00" ["0x10de:0x0005"]="$NV_DRIVER_G00" ["0x10de:0x000f"]="$NV_DRIVER_G00"
    ["0x1102:0x1020"]="$NV_DRIVER_G00" ["0x1102:0x1026"]="$NV_DRIVER_G00" ["0x1462:0x8806"]="$NV_DRIVER_G00" ["0x14af:0x5810"]="$NV_DRIVER_G00"
    ["0x10de:0x0029"]="$NV_DRIVER_G00" ["0x1043:0x0200"]="$NV_DRIVER_G00" ["0x1043:0x0201"]="$NV_DRIVER_G00" ["0x1043:0x0205"]="$NV_DRIVER_G00"
    ["0x1048:0x0c2e"]="$NV_DRIVER_G00" ["0x1048:0x0c2f"]="$NV_DRIVER_G00" ["0x1048:0x0c30"]="$NV_DRIVER_G00" ["0x1102:0x1021"]="$NV_DRIVER_G00"
    ["0x1102:0x1029"]="$NV_DRIVER_G00" ["0x1102:0x102f"]="$NV_DRIVER_G00" ["0x14af:0x5820"]="$NV_DRIVER_G00" ["0x4843:0x4f34"]="$NV_DRIVER_G00"
    ["0x10de:0x002a"]="$NV_DRIVER_G00" ["0x10de:0x002b"]="$NV_DRIVER_G00" ["0x10de:0x002c"]="$NV_DRIVER_G00" ["0x1043:0x0200"]="$NV_DRIVER_G00"
    ["0x1043:0x0201"]="$NV_DRIVER_G00" ["0x1048:0x0c20"]="$NV_DRIVER_G00" ["0x1048:0x0c21"]="$NV_DRIVER_G00" ["0x1048:0x0c25"]="$NV_DRIVER_G00"
    ["0x1092:0x6820"]="$NV_DRIVER_G00" ["0x1102:0x1031"]="$NV_DRIVER_G00" ["0x1102:0x1034"]="$NV_DRIVER_G00" ["0x14af:0x5008"]="$NV_DRIVER_G00"
    ["0x10de:0x002d"]="$NV_DRIVER_G00" ["0x1043:0x0200"]="$NV_DRIVER_G00" ["0x1043:0x0201"]="$NV_DRIVER_G00" ["0x1048:0x0c3a"]="$NV_DRIVER_G00"
    ["0x1048:0x0c3b"]="$NV_DRIVER_G00" ["0x107d:0x2137"]="$NV_DRIVER_G00" ["0x10de:0x0006"]="$NV_DRIVER_G00" ["0x10de:0x001e"]="$NV_DRIVER_G00"
    ["0x1102:0x1023"]="$NV_DRIVER_G00" ["0x1102:0x1024"]="$NV_DRIVER_G00" ["0x1102:0x102c"]="$NV_DRIVER_G00" ["0x1102:0x1030"]="$NV_DRIVER_G00"
    ["0x110a:0x006f"]="$NV_DRIVER_G00" ["0x110a:0x0081"]="$NV_DRIVER_G00" ["0x1462:0x8808"]="$NV_DRIVER_G00" ["0x14af:0x5620"]="$NV_DRIVER_G00"
    ["0x1554:0x1041"]="$NV_DRIVER_G00" ["0x1569:0x002d"]="$NV_DRIVER_G00"
    # Celcius
    ["0x10de:0x0100"]="$NV_DRIVER_G00" ["0x10de:0x0101"]="$NV_DRIVER_G00" ["0x1043:0x0200"]="$NV_DRIVER_G00" ["0x1043:0x0201"]="$NV_DRIVER_G00"
    ["0x1043:0x4008"]="$NV_DRIVER_G00" ["0x1043:0x4009"]="$NV_DRIVER_G00" ["0x1043:0x0202"]="$NV_DRIVER_G00" ["0x1043:0x400a"]="$NV_DRIVER_G00"
    ["0x1043:0x400b"]="$NV_DRIVER_G00" ["0x1043:0x4009"]="$NV_DRIVER_G00" ["0x1048:0x0c41"]="$NV_DRIVER_G00" ["0x1048:0x0c43"]="$NV_DRIVER_G00"
    ["0x1048:0x0c48"]="$NV_DRIVER_G00" ["0x1048:0x0c42"]="$NV_DRIVER_G00" ["0x1102:0x102d"]="$NV_DRIVER_G00" ["0x1102:0x102e"]="$NV_DRIVER_G00"
    ["0x14af:0x5022"]="$NV_DRIVER_G00" ["0x14af:0x5021"]="$NV_DRIVER_G00" ["0x107d:0x2822"]="$NV_DRIVER_G00" ["0x10de:0x0103"]="$NV_DRIVER_G00"
    ["0x1048:0x0103"]="$NV_DRIVER_G00" ["0x1048:0x0c40"]="$NV_DRIVER_G00" ["0x1048:0x0c44"]="$NV_DRIVER_G00" ["0x1048:0x0c45"]="$NV_DRIVER_G00"
    ["0x1048:0x0c4a"]="$NV_DRIVER_G00" ["0x1048:0x0c4b"]="$NV_DRIVER_G00" ["0x10a9:0x9002"]="$NV_DRIVER_G00" ["0x10de:0x0110"]="$NV_DRIVER_G00"
    ["0x1043:0x4015"]="$NV_DRIVER_G00" ["0x1043:0x4021"]="$NV_DRIVER_G00" ["0x1043:0x4031"]="$NV_DRIVER_G00" ["0x1048:0x0c60"]="$NV_DRIVER_G00"
    ["0x1048:0x0c61"]="$NV_DRIVER_G00" ["0x1048:0x0c63"]="$NV_DRIVER_G00" ["0x1048:0x0c64"]="$NV_DRIVER_G00" ["0x1048:0x0c65"]="$NV_DRIVER_G00"
    ["0x1048:0x0c66"]="$NV_DRIVER_G00" ["0x10b0:0x0001"]="$NV_DRIVER_G00" ["0x10de:0x0091"]="$NV_DRIVER_G00" ["0x10de:0x00a1"]="$NV_DRIVER_G00"
    ["0x1462:0x8523"]="$NV_DRIVER_G00" ["0x1462:0x8817"]="$NV_DRIVER_G00" ["0x14af:0x7102"]="$NV_DRIVER_G00" ["0x14af:0x7103"]="$NV_DRIVER_G00"
    ["0x1545:0x0023"]="$NV_DRIVER_G00" ["0x1554:0x1081"]="$NV_DRIVER_G00" ["0x10de:0x0111"]="$NV_DRIVER_G00" ["0x10de:0x0112"]="$NV_DRIVER_G00"
    ["0x10de:0x0113"]="$NV_DRIVER_G00" ["0x1028:0x00e5"]="$NV_DRIVER_G00" ["0x1028:0x0150"]="$NV_DRIVER_G00" ["0x1043:0x4016"]="$NV_DRIVER_G00"
    ["0x1043:0x402a"]="$NV_DRIVER_G00" ["0x1048:0x0c50"]="$NV_DRIVER_G00" ["0x1048:0x0c52"]="$NV_DRIVER_G00" ["0x107d:0x2840"]="$NV_DRIVER_G00"
    ["0x107d:0x2842"]="$NV_DRIVER_G00" ["0x10de:0x002e"]="$NV_DRIVER_G00" ["0x1462:0x815a"]="$NV_DRIVER_G00" ["0x1462:0x8831"]="$NV_DRIVER_G00"
    ["0x10de:0x0151"]="$NV_DRIVER_G00" ["0x1043:0x405f"]="$NV_DRIVER_G00" ["0x1462:0x5506"]="$NV_DRIVER_G00" ["0x1462:0x8364"]="$NV_DRIVER_G00"
    ["0x10de:0x0152"]="$NV_DRIVER_G00" ["0x1048:0x0c56"]="$NV_DRIVER_G00" ["0x10de:0x0153"]="$NV_DRIVER_G00" ["0x10de:0x0170"]="$NV_DRIVER_G00"
    ["0x1462:0x8630"]="$NV_DRIVER_G00" ["0x10de:0x0171"]="$NV_DRIVER_G00" ["0x10b0:0x0002"]="$NV_DRIVER_G00" ["0x10de:0x0008"]="$NV_DRIVER_G00"
    ["0x1462:0x8661"]="$NV_DRIVER_G00" ["0x1462:0x8730"]="$NV_DRIVER_G00" ["0x1462:0x8743"]="$NV_DRIVER_G00" ["0x1462:0x8852"]="$NV_DRIVER_G00"
    ["0x147b:0x8f00"]="$NV_DRIVER_G00" ["0x10de:0x0172"]="$NV_DRIVER_G00" ["0x1462:0x8730"]="$NV_DRIVER_G00" ["0x1462:0x8784"]="$NV_DRIVER_G00"
    ["0x10de:0x0173"]="$NV_DRIVER_G00" ["0x10de:0x0174"]="$NV_DRIVER_G00" ["0x10de:0x0175"]="$NV_DRIVER_G00" ["0x10de:0x0176"]="$NV_DRIVER_G00"
    ["0x103c:0x08b0"]="$NV_DRIVER_G00" ["0x144d:0xC005"]="$NV_DRIVER_G00" ["0x4c53:0x1090"]="$NV_DRIVER_G00" ["0x10de:0x0177"]="$NV_DRIVER_G00"
    ["0x10de:0x0178"]="$NV_DRIVER_G00" ["0x10de:0x0179"]="$NV_DRIVER_G00" ["0x10de:0x017a"]="$NV_DRIVER_G00" ["0x10de:0x017b"]="$NV_DRIVER_G00"
    ["0x10de:0x017c"]="$NV_DRIVER_G00" ["0x10de:0x017f"]="$NV_DRIVER_G00" ["0x10de:0x0181"]="$NV_DRIVER_G00" ["0x1043:0x8063"]="$NV_DRIVER_G00"
    ["0x1043:0x806f"]="$NV_DRIVER_G00" ["0x1462:0x8880"]="$NV_DRIVER_G00" ["0x1462:0x8900"]="$NV_DRIVER_G00" ["0x1462:0x9350"]="$NV_DRIVER_G00"
    ["0x147b:0x8f0d"]="$NV_DRIVER_G00" ["0x1554:0x1111"]="$NV_DRIVER_G00" ["0x10de:0x0182"]="$NV_DRIVER_G00" ["0x10de:0x0183"]="$NV_DRIVER_G00"
    ["0x10de:0x0184"]="$NV_DRIVER_G00" ["0x10de:0x0185"]="$NV_DRIVER_G00" ["0x10de:0x0186"]="$NV_DRIVER_G00" ["0x10de:0x0187"]="$NV_DRIVER_G00"
    ["0x10de:0x0188"]="$NV_DRIVER_G00" ["0x10de:0x0189"]="$NV_DRIVER_G00" ["0x10de:0x018a"]="$NV_DRIVER_G00" ["0x10de:0x018b"]="$NV_DRIVER_G00"
    ["0x10de:0x018c"]="$NV_DRIVER_G00" ["0x10de:0x018d"]="$NV_DRIVER_G00"
    # Kelvin
    ["0x10de:0x0200"]="$NV_DRIVER_G00" ["0x1043:0x402f"]="$NV_DRIVER_G00" ["0x1048:0x0c70"]="$NV_DRIVER_G00" ["0x10de:0x0201"]="$NV_DRIVER_G00"
    ["0x1462:0x8503"]="$NV_DRIVER_G00" ["0x10de:0x0202"]="$NV_DRIVER_G00" ["0x1043:0x405b"]="$NV_DRIVER_G00" ["0x1545:0x002f"]="$NV_DRIVER_G00"
    ["0x10de:0x0203"]="$NV_DRIVER_G00" ["0x10de:0x02a0"]="$NV_DRIVER_G00" ["0x10de:0x0250"]="$NV_DRIVER_G00" ["0x10de:0x0251"]="$NV_DRIVER_G00"
    ["0x1043:0x8023"]="$NV_DRIVER_G00" ["0x10de:0x0251"]="$NV_DRIVER_G00" ["0x1462:0x8710"]="$NV_DRIVER_G00" ["0x10de:0x0252"]="$NV_DRIVER_G00"
    ["0x10de:0x0253"]="$NV_DRIVER_G00" ["0x107d:0x2896"]="$NV_DRIVER_G00" ["0x147b:0x8f09"]="$NV_DRIVER_G00" ["0x10de:0x0258"]="$NV_DRIVER_G00"
    ["0x10de:0x0259"]="$NV_DRIVER_G00" ["0x10de:0x025b"]="$NV_DRIVER_G00" ["0x10de:0x0280"]="$NV_DRIVER_G00" ["0x10de:0x0281"]="$NV_DRIVER_G00"
    ["0x10de:0x0282"]="$NV_DRIVER_G00" ["0x10de:0x0286"]="$NV_DRIVER_G00" ["0x10de:0x0288"]="$NV_DRIVER_G00" ["0x10de:0x0289"]="$NV_DRIVER_G00"
    ["0x10de:0x028c"]="$NV_DRIVER_G00" 
    # Rankine
    ["0x10de:0x00fa"]="$NV_DRIVER_G00" ["0x10de:0x00fe"]="$NV_DRIVER_G00" ["0x10de:0x0333"]="$NV_DRIVER_G00" ["0x10de:0x00fc"]="$NV_DRIVER_G00"
    ["0x10de:0x00fd"]="$NV_DRIVER_G00" ["0x10de:0x0341"]="$NV_DRIVER_G00" ["0x1462:0x9380"]="$NV_DRIVER_G00" ["0x10de:0x0342"]="$NV_DRIVER_G00"
    ["0x10de:0x0343"]="$NV_DRIVER_G00" ["0x10de:0x0344"]="$NV_DRIVER_G00" ["0x10de:0x0347"]="$NV_DRIVER_G00" ["0x103c:0x006a"]="$NV_DRIVER_G00"
    ["0x10de:0x0348"]="$NV_DRIVER_G00" ["0x10de:0x034c"]="$NV_DRIVER_G00" ["0x10de:0x034d"]="$NV_DRIVER_G00" ["0x10de:0x034e"]="$NV_DRIVER_G00"
    ["0x10de:0x00fb"]="$NV_DRIVER_G00" ["0x10de:0x0330"]="$NV_DRIVER_G00" ["0x1043:0x8137"]="$NV_DRIVER_G00" ["0x10de:0x0331"]="$NV_DRIVER_G00"
    ["0x1043:0x8145"]="$NV_DRIVER_G00" ["0x10de:0x0332"]="$NV_DRIVER_G00" ["0x10de:0x0334"]="$NV_DRIVER_G00" ["0x1462:0x9373"]="$NV_DRIVER_G00"
    ["0x10de:0x0338"]="$NV_DRIVER_G00" ["0x10de:0x033f"]="$NV_DRIVER_G00" ["0x10de:0x0320"]="$NV_DRIVER_G00" ["0x10de:0x0321"]="$NV_DRIVER_G00"
    ["0x10de:0x0322"]="$NV_DRIVER_G00" ["0x1043:0x02fb"]="$NV_DRIVER_G00" ["0x1043:0x8180"]="$NV_DRIVER_G00" ["0x107d:0x2967"]="$NV_DRIVER_G00"
    ["0x1462:0x9073"]="$NV_DRIVER_G00" ["0x1462:0x9110"]="$NV_DRIVER_G00" ["0x1462:0x9171"]="$NV_DRIVER_G00" ["0x1462:0x9360"]="$NV_DRIVER_G00"
    ["0x1682:0x1351"]="$NV_DRIVER_G00" ["0x10de:0x0323"]="$NV_DRIVER_G00" ["0x10de:0x0324"]="$NV_DRIVER_G00" ["0x1028:0x0196"]="$NV_DRIVER_G00"
    ["0x103c:0x006a"]="$NV_DRIVER_G00" ["0x1071:0x8160"]="$NV_DRIVER_G00" ["0x10de:0x0325"]="$NV_DRIVER_G00" ["0x10de:0x0326"]="$NV_DRIVER_G00"
    ["0x1458:0x310d"]="$NV_DRIVER_G00" ["0x1682:0x2034"]="$NV_DRIVER_G00" ["0x10de:0x0327"]="$NV_DRIVER_G00" ["0x10de:0x0328"]="$NV_DRIVER_G00"
    ["0x10de:0x0329"]="$NV_DRIVER_G00" ["0x10de:0x0010"]="$NV_DRIVER_G00" ["0x10de:0x032a"]="$NV_DRIVER_G00" ["0x10de:0x032b"]="$NV_DRIVER_G00"
    ["0x10de:0x032c"]="$NV_DRIVER_G00" ["0x10de:0x032d"]="$NV_DRIVER_G00" ["0x10de:0x032e"]="$NV_DRIVER_G00" ["0x10de:0x032f"]="$NV_DRIVER_G00"
    ["0x10de:0x0311"]="$NV_DRIVER_G00" ["0x10de:0x0312"]="$NV_DRIVER_G00" ["0x10de:0x0314"]="$NV_DRIVER_G00" ["0x1043:0x814a"]="$NV_DRIVER_G00"
    ["0x10de:0x0316"]="$NV_DRIVER_G00" ["0x10de:0x0318"]="$NV_DRIVER_G00" ["0x10de:0x031a"]="$NV_DRIVER_G00" ["0x10de:0x031b"]="$NV_DRIVER_G00"
    ["0x10de:0x031c"]="$NV_DRIVER_G00" ["0x10de:0x0300"]="$NV_DRIVER_G00" ["0x10de:0x0301"]="$NV_DRIVER_G00" ["0x10de:0x0302"]="$NV_DRIVER_G00"
    ["0x10de:0x0308"]="$NV_DRIVER_G00" ["0x10de:0x0309"]="$NV_DRIVER_G00"
    # Curie
    ["0x10de:0x0040"]="$NV_DRIVER_G04" ["0x10de:0x0041"]="$NV_DRIVER_G04" ["0x1043:0x817b"]="$NV_DRIVER_G04" ["0x107d:0x2992"]="$NV_DRIVER_G04"
    ["0x1458:0x310f"]="$NV_DRIVER_G04" ["0x10de:0x0042"]="$NV_DRIVER_G04" ["0x107d:0x299b"]="$NV_DRIVER_G04" ["0x10de:0x0043"]="$NV_DRIVER_G04"
    ["0x10de:0x0044"]="$NV_DRIVER_G04" ["0x10de:0x0045"]="$NV_DRIVER_G04" ["0x1043:0x817d"]="$NV_DRIVER_G04" ["0x1458:0x3140"]="$NV_DRIVER_G04"
    ["0x10de:0x0047"]="$NV_DRIVER_G04" ["0x1682:0x2109"]="$NV_DRIVER_G04" ["0x10de:0x0048"]="$NV_DRIVER_G04" ["0x10de:0x004e"]="$NV_DRIVER_G04"
    ["0x10de:0x00c0"]="$NV_DRIVER_G04" ["0x10de:0x00c1"]="$NV_DRIVER_G04" ["0x10de:0x00c2"]="$NV_DRIVER_G04" ["0x10de:0x00c3"]="$NV_DRIVER_G04"
    ["0x10de:0x00c5"]="$NV_DRIVER_G04" ["0x10de:0x00c6"]="$NV_DRIVER_G04" ["0x10de:0x00c7"]="$NV_DRIVER_G04" ["0x10de:0x00c8"]="$NV_DRIVER_G04"
    ["0x10de:0x00c9"]="$NV_DRIVER_G04" ["0x10de:0x00cc"]="$NV_DRIVER_G04" ["0x10de:0x00cd"]="$NV_DRIVER_G04" ["0x10de:0x029b"]="$NV_DRIVER_G04"
    ["0x10de:0x00ce"]="$NV_DRIVER_G04" ["0x10de:0x00cf"]="$NV_DRIVER_G04" ["0x10de:0x00f1"]="$NV_DRIVER_G04" ["0x1043:0x81a6"]="$NV_DRIVER_G04"
    ["0x1043:0x81c6"]="$NV_DRIVER_G04" ["0x1458:0x3150"]="$NV_DRIVER_G04" ["0x1554:0x1191"]="$NV_DRIVER_G04" ["0x1682:0x2119"]="$NV_DRIVER_G04"
    ["0x10de:0x00f2"]="$NV_DRIVER_G04" ["0x1554:0x1194"]="$NV_DRIVER_G04" ["0x1682:0x211c"]="$NV_DRIVER_G04" ["0x10de:0x00f3"]="$NV_DRIVER_G04"
    ["0x10de:0x00f4"]="$NV_DRIVER_G04" ["0x10de:0x00f5"]="$NV_DRIVER_G04" ["0x10de:0x00f6"]="$NV_DRIVER_G04" ["0x1682:0x217e"]="$NV_DRIVER_G04"
    ["0x10de:0x00f8"]="$NV_DRIVER_G04" ["0x10de:0x00f9"]="$NV_DRIVER_G04" ["0x10de:0x00f9"]="$NV_DRIVER_G04" ["0x1682:0x2120"]="$NV_DRIVER_G04"
    ["0x10de:0x0140"]="$NV_DRIVER_G04" ["0x1458:0x3125"]="$NV_DRIVER_G04" ["0x1458:0x3126"]="$NV_DRIVER_G04" ["0x1462:0x8939"]="$NV_DRIVER_G04"
    ["0x10de:0x0141"]="$NV_DRIVER_G04" ["0x1043:0x81b0"]="$NV_DRIVER_G04" ["0x107d:0x593a"]="$NV_DRIVER_G04" ["0x107d:0x597b"]="$NV_DRIVER_G04"
    ["0x1458:0x3124"]="$NV_DRIVER_G04" ["0x10de:0x0142"]="$NV_DRIVER_G04" ["0x10de:0x0143"]="$NV_DRIVER_G04" ["0x10de:0x0144"]="$NV_DRIVER_G04"
    ["0x10de:0x0145"]="$NV_DRIVER_G04" ["0x10de:0x0146"]="$NV_DRIVER_G04" ["0x10de:0x0147"]="$NV_DRIVER_G04" ["0x10de:0x0148"]="$NV_DRIVER_G04"
    ["0x10de:0x0149"]="$NV_DRIVER_G04" ["0x10de:0x014a"]="$NV_DRIVER_G04" ["0x10de:0x014b"]="$NV_DRIVER_G04" ["0x10de:0x014d"]="$NV_DRIVER_G04"
    ["0x10de:0x014e"]="$NV_DRIVER_G04" ["0x10de:0x014f"]="$NV_DRIVER_G04" ["0x10de:0x0160"]="$NV_DRIVER_G04" ["0x10de:0x0161"]="$NV_DRIVER_G04"
    ["0x10de:0x0162"]="$NV_DRIVER_G04" ["0x10de:0x0163"]="$NV_DRIVER_G04" ["0x10de:0x0164"]="$NV_DRIVER_G04" ["0x10de:0x0165"]="$NV_DRIVER_G04"
    ["0x10de:0x0166"]="$NV_DRIVER_G04" ["0x10de:0x0167"]="$NV_DRIVER_G04" ["0x10de:0x0168"]="$NV_DRIVER_G04" ["0x10de:0x0169"]="$NV_DRIVER_G04"
    ["0x10de:0x016a"]="$NV_DRIVER_G04" ["0x10de:0x016d"]="$NV_DRIVER_G04" ["0x10de:0x016e"]="$NV_DRIVER_G04" ["0x10de:0x016f"]="$NV_DRIVER_G04"
    ["0x10de:0x0211"]="$NV_DRIVER_G04" ["0x10de:0x0212"]="$NV_DRIVER_G04" ["0x10de:0x0215"]="$NV_DRIVER_G04" ["0x10de:0x0218"]="$NV_DRIVER_G04"
    ["0x10de:0x0221"]="$NV_DRIVER_G04" ["0x1043:0x81e1"]="$NV_DRIVER_G04" ["0x3842:0xa341"]="$NV_DRIVER_G04" ["0x10de:0x0222"]="$NV_DRIVER_G04"
    ["0x10de:0x0224"]="$NV_DRIVER_G04" ["0x10de:0x0090"]="$NV_DRIVER_G04" ["0x10de:0x0091"]="$NV_DRIVER_G04" ["0x10de:0x0092"]="$NV_DRIVER_G04"
    ["0x10de:0x0093"]="$NV_DRIVER_G04" ["0x10de:0x0095"]="$NV_DRIVER_G04" ["0x10de:0x0097"]="$NV_DRIVER_G04" ["0x10de:0x0098"]="$NV_DRIVER_G04"
    ["0x10de:0x0099"]="$NV_DRIVER_G04" ["0x10de:0x009d"]="$NV_DRIVER_G04" ["0x10de:0x01d0"]="$NV_DRIVER_G04" ["0x10de:0x01d1"]="$NV_DRIVER_G04"
    ["0x107d:0x5efa"]="$NV_DRIVER_G04" ["0x107d:0x5efb"]="$NV_DRIVER_G04" ["0x1462:0x0345"]="$NV_DRIVER_G04" ["0x10de:0x01d2"]="$NV_DRIVER_G04"
    ["0x10de:0x01d3"]="$NV_DRIVER_G04" ["0x1043:0x8203"]="$NV_DRIVER_G04" ["0x1043:0x8250"]="$NV_DRIVER_G04" ["0x10de:0x01d5"]="$NV_DRIVER_G04"
    ["0x10de:0x01d6"]="$NV_DRIVER_G04" ["0x10de:0x01d7"]="$NV_DRIVER_G04" ["0x10de:0x01d8"]="$NV_DRIVER_G04" ["0x1028:0x01d7"]="$NV_DRIVER_G04"
    ["0x10de:0x01d9"]="$NV_DRIVER_G04" ["0x10de:0x01da"]="$NV_DRIVER_G04" ["0x10de:0x01db"]="$NV_DRIVER_G04" ["0x10de:0x01dc"]="$NV_DRIVER_G04"
    ["0x10de:0x01dd"]="$NV_DRIVER_G04" ["0x10de:0x01de"]="$NV_DRIVER_G04" ["0x10de:0x01dc"]="$NV_DRIVER_G04" ["0x10de:0x01df"]="$NV_DRIVER_G04"
    ["0x10de:0x0290"]="$NV_DRIVER_G04" ["0x10de:0x0291"]="$NV_DRIVER_G04" ["0x10de:0x042b"]="$NV_DRIVER_G04" ["0x10de:0x0292"]="$NV_DRIVER_G04"
    ["0x10de:0x0293"]="$NV_DRIVER_G04" ["0x10de:0x0294"]="$NV_DRIVER_G04" ["0x10de:0x0295"]="$NV_DRIVER_G04" ["0x1043:0x8225"]="$NV_DRIVER_G04"
    ["0x107d:0x2a68"]="$NV_DRIVER_G04" ["0x1462:0x0663"]="$NV_DRIVER_G04" ["0x10de:0x0297"]="$NV_DRIVER_G04" ["0x10de:0x0298"]="$NV_DRIVER_G04"
    ["0x10de:0x0299"]="$NV_DRIVER_G04" ["0x10de:0x029a"]="$NV_DRIVER_G04" ["0x10de:0x029b"]="$NV_DRIVER_G04" ["0x10de:0x029c"]="$NV_DRIVER_G04"
    ["0x10de:0x029d"]="$NV_DRIVER_G04" ["0x1028:0x019b"]="$NV_DRIVER_G04" ["0x10de:0x029e"]="$NV_DRIVER_G04" ["0x10de:0x029f"]="$NV_DRIVER_G04"
    ["0x10de:0x02e0"]="$NV_DRIVER_G04" ["0x10de:0x2249"]="$NV_DRIVER_G04" ["0x10de:0x02e1"]="$NV_DRIVER_G04" ["0x1682:0x222b"]="$NV_DRIVER_G04"
    ["0x1682:0x2247"]="$NV_DRIVER_G04" ["0x10de:0x02e2"]="$NV_DRIVER_G04" ["0x10de:0x02e3"]="$NV_DRIVER_G04" ["0x10de:0x02e4"]="$NV_DRIVER_G04"
    ["0x1682:0x2271"]="$NV_DRIVER_G04" ["0x10de:0x02e5"]="$NV_DRIVER_G04" ["0x10de:0x038b"]="$NV_DRIVER_G04" ["0x10de:0x0390"]="$NV_DRIVER_G04"
    ["0x10de:0x0391"]="$NV_DRIVER_G04" ["0x1458:0x3427"]="$NV_DRIVER_G04" ["0x1462:0x0452"]="$NV_DRIVER_G04" ["0x10de:0x0392"]="$NV_DRIVER_G04"
    ["0x1462:0x0622"]="$NV_DRIVER_G04" ["0x10de:0x0393"]="$NV_DRIVER_G04" ["0x10de:0x0412"]="$NV_DRIVER_G04" ["0x1462:0x0412"]="$NV_DRIVER_G04"
    ["0x10de:0x0394"]="$NV_DRIVER_G04" ["0x10de:0x0395"]="$NV_DRIVER_G04" ["0x10de:0x0396"]="$NV_DRIVER_G04" ["0x10de:0x0397"]="$NV_DRIVER_G04"
    ["0x10de:0x0398"]="$NV_DRIVER_G04" ["0x1025:0x006c"]="$NV_DRIVER_G04" ["0x10de:0x0399"]="$NV_DRIVER_G04" ["0x10de:0x039a"]="$NV_DRIVER_G04"
    ["0x10de:0x039b"]="$NV_DRIVER_G04" ["0x10de:0x039c"]="$NV_DRIVER_G04" ["0x10de:0x039c"]="$NV_DRIVER_G04" ["0x10de:0x039d"]="$NV_DRIVER_G04"
    ["0x10de:0x039e"]="$NV_DRIVER_G04" ["0x10de:0x039f"]="$NV_DRIVER_G04"
    # Tesla
    ["0x10de:0x0190"]="$NV_DRIVER_G04" ["0x10de:0x0191"]="$NV_DRIVER_G04" ["0x10de:0x0192"]="$NV_DRIVER_G04" ["0x10de:0x0193"]="$NV_DRIVER_G04"
    ["0x107d:0x20bd"]="$NV_DRIVER_G04" ["0x10de:0x0194"]="$NV_DRIVER_G04" ["0x10de:0x0197"]="$NV_DRIVER_G04" ["0x10de:0x019d"]="$NV_DRIVER_G04"
    ["0x10de:0x019e"]="$NV_DRIVER_G04" ["0x10de:0x0400"]="$NV_DRIVER_G04" ["0x1043:0x8241"]="$NV_DRIVER_G04" ["0x10de:0x0401"]="$NV_DRIVER_G04"
    ["0x10de:0x0402"]="$NV_DRIVER_G04" ["0x1458:0x3455"]="$NV_DRIVER_G04" ["0x1462:0x0910"]="$NV_DRIVER_G04" ["0x10de:0x0403"]="$NV_DRIVER_G04"
    ["0x10de:0x0404"]="$NV_DRIVER_G04" ["0x1462:0x1230"]="$NV_DRIVER_G04" ["0x10de:0x0405"]="$NV_DRIVER_G04" ["0x10de:0x0406"]="$NV_DRIVER_G04"
    ["0x10de:0x0407"]="$NV_DRIVER_G04" ["0x10de:0x0408"]="$NV_DRIVER_G04" ["0x10de:0x0409"]="$NV_DRIVER_G04" ["0x10de:0x040a"]="$NV_DRIVER_G04"
    ["0x10de:0x040b"]="$NV_DRIVER_G04" ["0x10de:0x040c"]="$NV_DRIVER_G04" ["0x17aa:0x20d9"]="$NV_DRIVER_G04" ["0x10de:0x040d"]="$NV_DRIVER_G04"
    ["0x10de:0x040e"]="$NV_DRIVER_G04" ["0x10de:0x040f"]="$NV_DRIVER_G04" ["0x10de:0x0420"]="$NV_DRIVER_G04" ["0x10de:0x0421"]="$NV_DRIVER_G04"
    ["0x1462:0x0960"]="$NV_DRIVER_G04" ["0x10de:0x0422"]="$NV_DRIVER_G04" ["0x10de:0x0423"]="$NV_DRIVER_G04" ["0x10de:0x0424"]="$NV_DRIVER_G04"
    ["0x10de:0x0425"]="$NV_DRIVER_G04" ["0x1025:0x0121"]="$NV_DRIVER_G04" ["0x1043:0x1514"]="$NV_DRIVER_G04" ["0x10de:0x0426"]="$NV_DRIVER_G04"
    ["0x10de:0x0427"]="$NV_DRIVER_G04" ["0x103c:0x30cc"]="$NV_DRIVER_G04" ["0x103c:0x30cf"]="$NV_DRIVER_G04" ["0x10de:0x0428"]="$NV_DRIVER_G04"
    ["0x10de:0x0429"]="$NV_DRIVER_G04" ["0x17aa:0x20d8"]="$NV_DRIVER_G04" ["0x10de:0x042a"]="$NV_DRIVER_G04" ["0x10de:0x042b"]="$NV_DRIVER_G04"
    ["0x10de:0x042c"]="$NV_DRIVER_G04" ["0x10de:0x042d"]="$NV_DRIVER_G04" ["0x10de:0x042e"]="$NV_DRIVER_G04" ["0x10de:0x042f"]="$NV_DRIVER_G04"
    ["0x10de:0x0600"]="$NV_DRIVER_G04" ["0x10de:0x0601"]="$NV_DRIVER_G04" ["0x10de:0x0602"]="$NV_DRIVER_G04" ["0x10de:0x0603"]="$NV_DRIVER_G04"
    ["0x10de:0x0604"]="$NV_DRIVER_G04" ["0x10de:0x0605"]="$NV_DRIVER_G04" ["0x10de:0x0606"]="$NV_DRIVER_G04" ["0x10de:0x0607"]="$NV_DRIVER_G04"
    ["0x10de:0x0608"]="$NV_DRIVER_G04" ["0x10de:0x0609"]="$NV_DRIVER_G04" ["0x106b:0x00a7"]="$NV_DRIVER_G04" ["0x10de:0x060a"]="$NV_DRIVER_G04"
    ["0x10de:0x060b"]="$NV_DRIVER_G04" ["0x10de:0x060c"]="$NV_DRIVER_G04" ["0x10de:0x060d"]="$NV_DRIVER_G04" ["0x10de:0x060f"]="$NV_DRIVER_G04"
    ["0x10de:0x0610"]="$NV_DRIVER_G04" ["0x1682:0x2385"]="$NV_DRIVER_G04" ["0x10de:0x0611"]="$NV_DRIVER_G04" ["0x107d:0x2ab0"]="$NV_DRIVER_G04"
    ["0x1462:0x1170"]="$NV_DRIVER_G04" ["0x19da:0x1040"]="$NV_DRIVER_G04" ["0x10de:0x0612"]="$NV_DRIVER_G04" ["0x10de:0x0613"]="$NV_DRIVER_G04"
    ["0x10de:0x0614"]="$NV_DRIVER_G04" ["0x107d:0x2ab3"]="$NV_DRIVER_G04" ["0x10de:0x0615"]="$NV_DRIVER_G04" ["0x3842:0x1150"]="$NV_DRIVER_G04"
    ["0x3842:0x1151"]="$NV_DRIVER_G04" ["0x3842:0x1155"]="$NV_DRIVER_G04" ["0x3842:0x1156"]="$NV_DRIVER_G04" ["0x10de:0x0617"]="$NV_DRIVER_G04"
    ["0x10de:0x0618"]="$NV_DRIVER_G04" ["0x10de:0x0619"]="$NV_DRIVER_G04" ["0x10de:0x061a"]="$NV_DRIVER_G04" ["0x10de:0x061b"]="$NV_DRIVER_G04"
    ["0x10de:0x061c"]="$NV_DRIVER_G04" ["0x10de:0x061d"]="$NV_DRIVER_G04" ["0x10de:0x061e"]="$NV_DRIVER_G04" ["0x10de:0x061f"]="$NV_DRIVER_G04"
    ["0x10de:0x0620"]="$NV_DRIVER_G04" ["0x10de:0x0621"]="$NV_DRIVER_G04" ["0x10de:0x0622"]="$NV_DRIVER_G04" ["0x107d:0x2ac1"]="$NV_DRIVER_G04"
    ["0x1458:0x3481"]="$NV_DRIVER_G04" ["0x10de:0x0623"]="$NV_DRIVER_G04" ["0x10de:0x0624"]="$NV_DRIVER_G04" ["0x10de:0x0625"]="$NV_DRIVER_G04"
    ["0x10de:0x0626"]="$NV_DRIVER_G04" ["0x10de:0x0627"]="$NV_DRIVER_G04" ["0x10de:0x0628"]="$NV_DRIVER_G04" ["0x10de:0x062a"]="$NV_DRIVER_G04"
    ["0x10de:0x062b"]="$NV_DRIVER_G04" ["0x10de:0x062c"]="$NV_DRIVER_G04" ["0x10de:0x062d"]="$NV_DRIVER_G04" ["0x10de:0x062e"]="$NV_DRIVER_G04"
    ["0x106b:0x0605"]="$NV_DRIVER_G04" ["0x10de:0x062f"]="$NV_DRIVER_G04" ["0x10de:0x0630"]="$NV_DRIVER_G04" ["0x10de:0x0631"]="$NV_DRIVER_G04"
    ["0x10de:0x0632"]="$NV_DRIVER_G04" ["0x10de:0x0633"]="$NV_DRIVER_G04" ["0x10de:0x0635"]="$NV_DRIVER_G04" ["0x10de:0x0637"]="$NV_DRIVER_G04"
    ["0x10de:0x0638"]="$NV_DRIVER_G04" ["0x10de:0x063a"]="$NV_DRIVER_G04" ["0x10de:0x063f"]="$NV_DRIVER_G04" ["0x10de:0x0640"]="$NV_DRIVER_G04"
    ["0x10de:0x0641"]="$NV_DRIVER_G04" ["0x1682:0x4009"]="$NV_DRIVER_G04" ["0x10de:0x0642"]="$NV_DRIVER_G04" ["0x10de:0x0643"]="$NV_DRIVER_G04"
    ["0x10de:0x0644"]="$NV_DRIVER_G04" ["0x174b:0x9600"]="$NV_DRIVER_G04" ["0x10de:0x0645"]="$NV_DRIVER_G04" ["0x10de:0x0646"]="$NV_DRIVER_G04"
    ["0x10de:0x0647"]="$NV_DRIVER_G04" ["0x10de:0x0648"]="$NV_DRIVER_G04" ["0x10de:0x0649"]="$NV_DRIVER_G04" ["0x1043:0x202d"]="$NV_DRIVER_G04"
    ["0x10de:0x064a"]="$NV_DRIVER_G04" ["0x10de:0x064b"]="$NV_DRIVER_G04" ["0x10de:0x064c"]="$NV_DRIVER_G04" ["0x10de:0x064e"]="$NV_DRIVER_G04"
    ["0x10de:0x0651"]="$NV_DRIVER_G04" ["0x10de:0x0652"]="$NV_DRIVER_G04" ["0x152d:0x0850"]="$NV_DRIVER_G04" ["0x10de:0x0653"]="$NV_DRIVER_G04"
    ["0x10de:0x0654"]="$NV_DRIVER_G04" ["0x1043:0x14a2"]="$NV_DRIVER_G04" ["0x1043:0x14d2"]="$NV_DRIVER_G04" ["0x10de:0x0655"]="$NV_DRIVER_G04"
    ["0x10de:0x0656"]="$NV_DRIVER_G04" ["0x10de:0x0658"]="$NV_DRIVER_G04" ["0x10de:0x0659"]="$NV_DRIVER_G04" ["0x10de:0x065a"]="$NV_DRIVER_G04"
    ["0x10de:0x065b"]="$NV_DRIVER_G04" ["0x10de:0x065c"]="$NV_DRIVER_G04" ["0x10de:0x065d"]="$NV_DRIVER_G04" ["0x10de:0x065f"]="$NV_DRIVER_G04"
    ["0x10de:0x06e0"]="$NV_DRIVER_G04" ["0x107d:0x5a96"]="$NV_DRIVER_G04" ["0x10de:0x06e1"]="$NV_DRIVER_G04" ["0x10de:0x06e2"]="$NV_DRIVER_G04"
    ["0x10de:0x06e3"]="$NV_DRIVER_G04" ["0x10de:0x06e4"]="$NV_DRIVER_G04" ["0x1458:0x3475"]="$NV_DRIVER_G04" ["0x10de:0x06e5"]="$NV_DRIVER_G04"
    ["0x10de:0x06e6"]="$NV_DRIVER_G04" ["0x10de:0x06e7"]="$NV_DRIVER_G04" ["0x10de:0x06e8"]="$NV_DRIVER_G04" ["0x103c:0x360b"]="$NV_DRIVER_G04"
    ["0x10de:0x06e9"]="$NV_DRIVER_G04" ["0x1043:0x19b2"]="$NV_DRIVER_G04" ["0x10de:0x06ea"]="$NV_DRIVER_G04" ["0x10de:0x06eb"]="$NV_DRIVER_G04"
    ["0x10de:0x06ec"]="$NV_DRIVER_G04" ["0x10de:0x06ed"]="$NV_DRIVER_G04" ["0x10de:0x06ee"]="$NV_DRIVER_G04" ["0x10de:0x06ef"]="$NV_DRIVER_G04"
    ["0x10de:0x06f1"]="$NV_DRIVER_G04" ["0x10de:0x06f8"]="$NV_DRIVER_G04" ["0x10de:0x06f9"]="$NV_DRIVER_G04" ["0x10de:0x06fa"]="$NV_DRIVER_G04"
    ["0x10de:0x06fb"]="$NV_DRIVER_G04" ["0x10de:0x06fd"]="$NV_DRIVER_G04" ["0x10de:0x06ff"]="$NV_DRIVER_G04" ["0x10de:0x0711"]="$NV_DRIVER_G04"
    ["0x10de:0x0840"]="$NV_DRIVER_G04" ["0x10de:0x0844"]="$NV_DRIVER_G04" ["0x10de:0x0845"]="$NV_DRIVER_G04" ["0x10de:0x0846"]="$NV_DRIVER_G04"
    ["0x10de:0x0847"]="$NV_DRIVER_G04" ["0x103c:0x2a9e"]="$NV_DRIVER_G04" ["0x10de:0x0848"]="$NV_DRIVER_G04" ["0x10de:0x0849"]="$NV_DRIVER_G04"
    ["0x1462:0x7508"]="$NV_DRIVER_G04" ["0x1849:0x0849"]="$NV_DRIVER_G04" ["0x10de:0x084a"]="$NV_DRIVER_G04" ["0x10de:0x084b"]="$NV_DRIVER_G04"
    ["0x10de:0x084c"]="$NV_DRIVER_G04" ["0x10de:0x084d"]="$NV_DRIVER_G04" ["0x1043:0x82e8"]="$NV_DRIVER_G04" ["0x10de:0x084f"]="$NV_DRIVER_G04"
    ["0x10de:0x0860"]="$NV_DRIVER_G04" ["0x10de:0x0861"]="$NV_DRIVER_G04" ["0x10de:0x0862"]="$NV_DRIVER_G04" ["0x10de:0x0863"]="$NV_DRIVER_G04"
    ["0x106b:0x00aa"]="$NV_DRIVER_G04" ["0x10de:0x0864"]="$NV_DRIVER_G04" ["0x10de:0x0865"]="$NV_DRIVER_G04" ["0x10de:0x0866"]="$NV_DRIVER_G04"
    ["0x106b:0x00b1"]="$NV_DRIVER_G04" ["0x10de:0x0867"]="$NV_DRIVER_G04" ["0x106b:0x00ad"]="$NV_DRIVER_G04" ["0x10de:0x0868"]="$NV_DRIVER_G04"
    ["0x10de:0x0869"]="$NV_DRIVER_G04" ["0x10de:0x086a"]="$NV_DRIVER_G04" ["0x10de:0x086c"]="$NV_DRIVER_G04" ["0x10de:0x086d"]="$NV_DRIVER_G04"
    ["0x10de:0x086e"]="$NV_DRIVER_G04" ["0x10de:0x086f"]="$NV_DRIVER_G04" ["0x1043:0x16b2"]="$NV_DRIVER_G04" ["0x10de:0x0870"]="$NV_DRIVER_G04"
    ["0x10de:0x0871"]="$NV_DRIVER_G04" ["0x10de:0x0872"]="$NV_DRIVER_G04" ["0x1043:0x19b4"]="$NV_DRIVER_G04" ["0x1043:0x1aa2"]="$NV_DRIVER_G04"
    ["0x1043:0x1c02"]="$NV_DRIVER_G04" ["0x1043:0x1c42"]="$NV_DRIVER_G04" ["0x10de:0x0873"]="$NV_DRIVER_G04" ["0x1043:0x19b4"]="$NV_DRIVER_G04"
    ["0x1043:0x1c12"]="$NV_DRIVER_G04" ["0x1043:0x1c52"]="$NV_DRIVER_G04" ["0x10de:0x0874"]="$NV_DRIVER_G04" ["0x10de:0x0876"]="$NV_DRIVER_G04"
    ["0x10de:0x087a"]="$NV_DRIVER_G04" ["0x10de:0x087d"]="$NV_DRIVER_G04" ["0x19da:0xa123"]="$NV_DRIVER_G04" ["0x10de:0x087e"]="$NV_DRIVER_G04"
    ["0x10de:0x087f"]="$NV_DRIVER_G04" ["0x10de:0x05e0"]="$NV_DRIVER_G04" ["0x10de:0x05e1"]="$NV_DRIVER_G04" ["0x10de:0x05e2"]="$NV_DRIVER_G04"
    ["0x10de:0x05e3"]="$NV_DRIVER_G04" ["0x1682:0x2490"]="$NV_DRIVER_G04" ["0x10de:0x05e6"]="$NV_DRIVER_G04" ["0x10de:0x05e7"]="$NV_DRIVER_G04"
    ["0x10de:0x0595"]="$NV_DRIVER_G04" ["0x10de:0x068f"]="$NV_DRIVER_G04" ["0x10de:0x0697"]="$NV_DRIVER_G04" ["0x10de:0x0714"]="$NV_DRIVER_G04"
    ["0x10de:0x0743"]="$NV_DRIVER_G04" ["0x10de:0x05ea"]="$NV_DRIVER_G04" ["0x10de:0x05eb"]="$NV_DRIVER_G04" ["0x10de:0x05ed"]="$NV_DRIVER_G04"
    ["0x10de:0x05f1"]="$NV_DRIVER_G04" ["0x10de:0x05f2"]="$NV_DRIVER_G04" ["0x10de:0x05f8"]="$NV_DRIVER_G04" ["0x10de:0x05f9"]="$NV_DRIVER_G04"
    ["0x10de:0x05fd"]="$NV_DRIVER_G04" ["0x10de:0x05fe"]="$NV_DRIVER_G04" ["0x10de:0x05ff"]="$NV_DRIVER_G04" ["0x10de:0x0ca0"]="$NV_DRIVER_G04"
    ["0x10de:0x0ca2"]="$NV_DRIVER_G04" ["0x10de:0x0ca3"]="$NV_DRIVER_G04" ["0x10de:0x0ca4"]="$NV_DRIVER_G04" ["0x10de:0x0ca5"]="$NV_DRIVER_G04"
    ["0x10de:0x0ca7"]="$NV_DRIVER_G04" ["0x10de:0x0ca8"]="$NV_DRIVER_G04" ["0x10de:0x0ca9"]="$NV_DRIVER_G04" ["0x10de:0x0cac"]="$NV_DRIVER_G04"
    ["0x10de:0x0caf"]="$NV_DRIVER_G04" ["0x10de:0x0cb0"]="$NV_DRIVER_G04" ["0x10de:0x0cb1"]="$NV_DRIVER_G04" ["0x10de:0x0cbc"]="$NV_DRIVER_G04"
    ["0x10de:0x0a20"]="$NV_DRIVER_G04" ["0x1043:0x8311"]="$NV_DRIVER_G04" ["0x10de:0x0a21"]="$NV_DRIVER_G04" ["0x10de:0x0a22"]="$NV_DRIVER_G04"
    ["0x10de:0x0a23"]="$NV_DRIVER_G04" ["0x10de:0x0a24"]="$NV_DRIVER_G04" ["0x10de:0x0a26"]="$NV_DRIVER_G04" ["0x10de:0x0a27"]="$NV_DRIVER_G04"
    ["0x10de:0x0a28"]="$NV_DRIVER_G04" ["0x10de:0x0a29"]="$NV_DRIVER_G04" ["0x10de:0x0a2a"]="$NV_DRIVER_G04" ["0x10de:0x0a2b"]="$NV_DRIVER_G04"
    ["0x10de:0x0a2c"]="$NV_DRIVER_G04" ["0x10de:0x0a2d"]="$NV_DRIVER_G04" ["0x10de:0x0a30"]="$NV_DRIVER_G04" ["0x10de:0x0a32"]="$NV_DRIVER_G04"
    ["0x10de:0x0a34"]="$NV_DRIVER_G04" ["0x10de:0x0a35"]="$NV_DRIVER_G04" ["0x10de:0x0a38"]="$NV_DRIVER_G04" ["0x10de:0x0a3c"]="$NV_DRIVER_G04"
    ["0x10de:0x0a60"]="$NV_DRIVER_G04" ["0x10de:0x0a62"]="$NV_DRIVER_G04" ["0x10de:0x0a63"]="$NV_DRIVER_G04" ["0x10de:0x0a64"]="$NV_DRIVER_G04"
    ["0x10de:0x0a65"]="$NV_DRIVER_G04" ["0x1043:0x8334"]="$NV_DRIVER_G04" ["0x1458:0x36a9"]="$NV_DRIVER_G04" ["0x1462:0x8094"]="$NV_DRIVER_G04"
    ["0x19da:0x7222"]="$NV_DRIVER_G04" ["0x10de:0x0a66"]="$NV_DRIVER_G04" ["0x10de:0x0a67"]="$NV_DRIVER_G04" ["0x10de:0x0a68"]="$NV_DRIVER_G04"
    ["0x10de:0x0a69"]="$NV_DRIVER_G04" ["0x10de:0x0a6a"]="$NV_DRIVER_G04" ["0x10de:0x0a6c"]="$NV_DRIVER_G04" ["0x1028:0x040b"]="$NV_DRIVER_G04"
    ["0x17aa:0x2142"]="$NV_DRIVER_G04" ["0x10de:0x0a6e"]="$NV_DRIVER_G04" ["0x10de:0x0a6f"]="$NV_DRIVER_G04" ["0x10de:0x0a70"]="$NV_DRIVER_G04"
    ["0x10de:0x0a71"]="$NV_DRIVER_G04" ["0x10de:0x0a72"]="$NV_DRIVER_G04" ["0x10de:0x0a73"]="$NV_DRIVER_G04" ["0x10de:0x0a74"]="$NV_DRIVER_G04"
    ["0x1b0a:0x903a"]="$NV_DRIVER_G04" ["0x10de:0x0a75"]="$NV_DRIVER_G04" ["0x10de:0x0a76"]="$NV_DRIVER_G04" ["0x10de:0x0a78"]="$NV_DRIVER_G04"
    ["0x10de:0x0a7a"]="$NV_DRIVER_G04" ["0x104d:0x907e"]="$NV_DRIVER_G04" ["0x1179:0xfc50"]="$NV_DRIVER_G04" ["0x1179:0xfc61"]="$NV_DRIVER_G04"
    ["0x1179:0xfc71"]="$NV_DRIVER_G04" ["0x1179:0xfc90"]="$NV_DRIVER_G04" ["0x1179:0xfcc0"]="$NV_DRIVER_G04" ["0x1179:0xfcd0"]="$NV_DRIVER_G04"
    ["0x1179:0xfce2"]="$NV_DRIVER_G04" ["0x1179:0xfcf2"]="$NV_DRIVER_G04" ["0x1179:0xfd16"]="$NV_DRIVER_G04" ["0x1179:0xfd40"]="$NV_DRIVER_G04"
    ["0x1179:0xfd50"]="$NV_DRIVER_G04" ["0x1179:0xfd52"]="$NV_DRIVER_G04" ["0x1179:0xfd61"]="$NV_DRIVER_G04" ["0x1179:0xfd71"]="$NV_DRIVER_G04"
    ["0x1179:0xfd92"]="$NV_DRIVER_G04" ["0x1179:0xfd96"]="$NV_DRIVER_G04" ["0x1179:0xfdd0"]="$NV_DRIVER_G04" ["0x1179:0xfdd2"]="$NV_DRIVER_G04"
    ["0x1179:0xfdfe"]="$NV_DRIVER_G04" ["0x144d:0xc0a2"]="$NV_DRIVER_G04" ["0x144d:0xc0b2"]="$NV_DRIVER_G04" ["0x144d:0xc581"]="$NV_DRIVER_G04"
    ["0x144d:0xc587"]="$NV_DRIVER_G04" ["0x144d:0xc588"]="$NV_DRIVER_G04" ["0x144d:0xc597"]="$NV_DRIVER_G04" ["0x144d:0xc606"]="$NV_DRIVER_G04"
    ["0x1462:0xaa51"]="$NV_DRIVER_G04" ["0x1462:0xaa58"]="$NV_DRIVER_G04" ["0x1462:0xac71"]="$NV_DRIVER_G04" ["0x1462:0xac81"]="$NV_DRIVER_G04"
    ["0x1462:0xac82"]="$NV_DRIVER_G04" ["0x1462:0xae33"]="$NV_DRIVER_G04" ["0x1642:0x3980"]="$NV_DRIVER_G04" ["0x17aa:0x3950"]="$NV_DRIVER_G04"
    ["0x17aa:0x397d"]="$NV_DRIVER_G04" ["0x1b0a:0x2091"]="$NV_DRIVER_G04" ["0x1b0a:0x90b4"]="$NV_DRIVER_G04" ["0x1bfd:0x0003"]="$NV_DRIVER_G04"
    ["0x1bfd:0x8006"]="$NV_DRIVER_G04" ["0x1bfd:0x8007"]="$NV_DRIVER_G04" ["0x10de:0x0a7b"]="$NV_DRIVER_G04" ["0x10de:0x0a7c"]="$NV_DRIVER_G04"
    # Fermi
    ["0x10de:0x06c0"]="$NV_DRIVER_G04" ["0x10de:0x06c4"]="$NV_DRIVER_G04" ["0x10de:0x06ca"]="$NV_DRIVER_G04" ["0x10de:0x06cb"]="$NV_DRIVER_G04"
    ["0x10de:0x06cd"]="$NV_DRIVER_G04" ["0x10de:0x06d0"]="$NV_DRIVER_G04" ["0x10de:0x06d1"]="$NV_DRIVER_G04" ["0x10de:0x0771"]="$NV_DRIVER_G04"
    ["0x10de:0x0772"]="$NV_DRIVER_G04" ["0x10de:0x06d2"]="$NV_DRIVER_G04" ["0x10de:0x0774"]="$NV_DRIVER_G04" ["0x10de:0x0830"]="$NV_DRIVER_G04"
    ["0x10de:0x0842"]="$NV_DRIVER_G04" ["0x10de:0x088f"]="$NV_DRIVER_G04" ["0x10de:0x0908"]="$NV_DRIVER_G04" ["0x10de:0x06d8"]="$NV_DRIVER_G04"
    ["0x10de:0x06d9"]="$NV_DRIVER_G04" ["0x10de:0x06da"]="$NV_DRIVER_G04" ["0x10de:0x06dc"]="$NV_DRIVER_G04" ["0x10de:0x06dd"]="$NV_DRIVER_G04"
    ["0x10de:0x06de"]="$NV_DRIVER_G04" ["0x10de:0x0773"]="$NV_DRIVER_G04" ["0x10de:0x082f"]="$NV_DRIVER_G04" ["0x10de:0x0840"]="$NV_DRIVER_G04"
    ["0x10de:0x0846"]="$NV_DRIVER_G04" ["0x10de:0x0866"]="$NV_DRIVER_G04" ["0x10de:0x0907"]="$NV_DRIVER_G04" ["0x10de:0x091e"]="$NV_DRIVER_G04"
    ["0x10de:0x06df"]="$NV_DRIVER_G04" ["0x10de:0x084d"]="$NV_DRIVER_G04" ["0x10de:0x087f"]="$NV_DRIVER_G04" ["0x10de:0x0e22"]="$NV_DRIVER_G04"
    ["0x1462:0x2322"]="$NV_DRIVER_G04" ["0x10de:0x0e23"]="$NV_DRIVER_G04" ["0x10de:0x0e24"]="$NV_DRIVER_G04" ["0x10de:0x0e30"]="$NV_DRIVER_G04"
    ["0x10de:0x0e31"]="$NV_DRIVER_G04" ["0x10de:0x0e3a"]="$NV_DRIVER_G04" ["0x10de:0x0e3b"]="$NV_DRIVER_G04" ["0x10de:0x0dc0"]="$NV_DRIVER_G04"
    ["0x10de:0x0dc4"]="$NV_DRIVER_G04" ["0x10de:0x0dc5"]="$NV_DRIVER_G04" ["0x10de:0x0dc6"]="$NV_DRIVER_G04" ["0x10de:0x0dcd"]="$NV_DRIVER_G04"
    ["0x10de:0x0dce"]="$NV_DRIVER_G04" ["0x10de:0x0dd1"]="$NV_DRIVER_G04" ["0x1558:0x8687"]="$NV_DRIVER_G04" ["0x10de:0x0dd2"]="$NV_DRIVER_G04"
    ["0x10de:0x0dd3"]="$NV_DRIVER_G04" ["0x10de:0x0dd6"]="$NV_DRIVER_G04" ["0x10de:0x0dd8"]="$NV_DRIVER_G04" ["0x10de:0x0914"]="$NV_DRIVER_G04"
    ["0x10de:0x0dda"]="$NV_DRIVER_G04" ["0x10de:0x1080"]="$NV_DRIVER_G04" ["0x10de:0x1081"]="$NV_DRIVER_G04" ["0x10de:0x087e"]="$NV_DRIVER_G04"
    ["0x10de:0x1082"]="$NV_DRIVER_G04" ["0x10de:0x1084"]="$NV_DRIVER_G04" ["0x10de:0x1086"]="$NV_DRIVER_G04" ["0x10de:0x1087"]="$NV_DRIVER_G04"
    ["0x10de:0x1088"]="$NV_DRIVER_G04" ["0x10de:0x1089"]="$NV_DRIVER_G04" ["0x10de:0x108b"]="$NV_DRIVER_G04" ["0x10de:0x108e"]="$NV_DRIVER_G04"
    ["0x10de:0x1091"]="$NV_DRIVER_G04" ["0x10de:0x088e"]="$NV_DRIVER_G04" ["0x10de:0x0891"]="$NV_DRIVER_G04" ["0x10de:0x0974"]="$NV_DRIVER_G04"
    ["0x10de:0x098d"]="$NV_DRIVER_G04" ["0x10de:0x1094"]="$NV_DRIVER_G04" ["0x10de:0x0888"]="$NV_DRIVER_G04" ["0x10de:0x1096"]="$NV_DRIVER_G04"
    ["0x10de:0x0910"]="$NV_DRIVER_G04" ["0x10de:0x0911"]="$NV_DRIVER_G04" ["0x10de:0x109a"]="$NV_DRIVER_G04" ["0x10de:0x109b"]="$NV_DRIVER_G04"
    ["0x10de:0x0918"]="$NV_DRIVER_G04" ["0x10de:0x1200"]="$NV_DRIVER_G04" ["0x10de:0x1201"]="$NV_DRIVER_G04" ["0x10de:0x1202"]="$NV_DRIVER_G04"
    ["0x10de:0x1203"]="$NV_DRIVER_G04" ["0x10de:0x1205"]="$NV_DRIVER_G04" ["0x10de:0x1206"]="$NV_DRIVER_G04" ["0x10de:0x1207"]="$NV_DRIVER_G04"
    ["0x10de:0x1208"]="$NV_DRIVER_G04" ["0x10de:0x1210"]="$NV_DRIVER_G04" ["0x10de:0x1211"]="$NV_DRIVER_G04" ["0x10de:0x1212"]="$NV_DRIVER_G04"
    ["0x10de:0x1213"]="$NV_DRIVER_G04" ["0x10de:0x1241"]="$NV_DRIVER_G04" ["0x10de:0x1243"]="$NV_DRIVER_G04" ["0x10de:0x1244"]="$NV_DRIVER_G04"
    ["0x10de:0x1245"]="$NV_DRIVER_G04" ["0x10de:0x1246"]="$NV_DRIVER_G04" ["0x10de:0x1247"]="$NV_DRIVER_G04" ["0x1043:0x1752"]="$NV_DRIVER_G04"
    ["0x1043:0x2050"]="$NV_DRIVER_G04" ["0x1043:0x2051"]="$NV_DRIVER_G04" ["0x1043:0x212a"]="$NV_DRIVER_G04" ["0x1043:0x212b"]="$NV_DRIVER_G04"
    ["0x1043:0x212c"]="$NV_DRIVER_G04" ["0x152d:0x0930"]="$NV_DRIVER_G04" ["0x10de:0x1248"]="$NV_DRIVER_G04" ["0x152d:0x0930"]="$NV_DRIVER_G04"
    ["0x17c0:0x10e7"]="$NV_DRIVER_G04" ["0x17c0:0x10e8"]="$NV_DRIVER_G04" ["0x17c0:0x10ea"]="$NV_DRIVER_G04" ["0x1854:0x0890"]="$NV_DRIVER_G04"
    ["0x1854:0x0891"]="$NV_DRIVER_G04" ["0x1854:0x1795"]="$NV_DRIVER_G04" ["0x1854:0x1796"]="$NV_DRIVER_G04" ["0x1854:0x3005"]="$NV_DRIVER_G04"
    ["0x10de:0x1249"]="$NV_DRIVER_G04" ["0x10de:0x124b"]="$NV_DRIVER_G04" ["0x10de:0x124d"]="$NV_DRIVER_G04" ["0x1028:0x0491"]="$NV_DRIVER_G04"
    ["0x1028:0x0570"]="$NV_DRIVER_G04" ["0x1028:0x0571"]="$NV_DRIVER_G04" ["0x1462:0x108d"]="$NV_DRIVER_G04" ["0x1462:0x10cc"]="$NV_DRIVER_G04"
    ["0x10de:0x1251"]="$NV_DRIVER_G04" ["0x10de:0x1140"]="$NV_DRIVER_G00" ["0x10de:0x1140"]="$NV_DRIVER_G04" ["0x1019:0x0799"]="$NV_DRIVER_G04"
    ["0x1019:0x999f"]="$NV_DRIVER_G04" ["0x1025:0x0600"]="$NV_DRIVER_G04" ["0x1025:0x0606"]="$NV_DRIVER_G04" ["0x1025:0x064a"]="$NV_DRIVER_G04"
    ["0x1025:0x064c"]="$NV_DRIVER_G04" ["0x1025:0x067a"]="$NV_DRIVER_G04" ["0x1025:0x0680"]="$NV_DRIVER_G04" ["0x1025:0x0686"]="$NV_DRIVER_G04"
    ["0x1025:0x0689"]="$NV_DRIVER_G04" ["0x1025:0x068b"]="$NV_DRIVER_G04" ["0x1025:0x068d"]="$NV_DRIVER_G04" ["0x1025:0x068e"]="$NV_DRIVER_G04"
    ["0x1025:0x0691"]="$NV_DRIVER_G04" ["0x1025:0x0692"]="$NV_DRIVER_G04" ["0x1025:0x0694"]="$NV_DRIVER_G04" ["0x1025:0x0702"]="$NV_DRIVER_G04"
    ["0x1025:0x0719"]="$NV_DRIVER_G04" ["0x1025:0x0725"]="$NV_DRIVER_G04" ["0x1025:0x0728"]="$NV_DRIVER_G04" ["0x1025:0x072b"]="$NV_DRIVER_G04"
    ["0x1025:0x072e"]="$NV_DRIVER_G04" ["0x1025:0x0732"]="$NV_DRIVER_G04" ["0x1025:0x0763"]="$NV_DRIVER_G04" ["0x1025:0x0773"]="$NV_DRIVER_G04"
    ["0x1025:0x0774"]="$NV_DRIVER_G04" ["0x1025:0x0776"]="$NV_DRIVER_G04" ["0x1025:0x077a"]="$NV_DRIVER_G04" ["0x1025:0x077b"]="$NV_DRIVER_G04"
    ["0x1025:0x077c"]="$NV_DRIVER_G04" ["0x1025:0x077d"]="$NV_DRIVER_G04" ["0x1025:0x077e"]="$NV_DRIVER_G04" ["0x1025:0x077f"]="$NV_DRIVER_G04"
    ["0x1025:0x0781"]="$NV_DRIVER_G04" ["0x1025:0x0798"]="$NV_DRIVER_G04" ["0x1025:0x0799"]="$NV_DRIVER_G04" ["0x1025:0x079b"]="$NV_DRIVER_G04"
    ["0x1025:0x079c"]="$NV_DRIVER_G04" ["0x1025:0x0807"]="$NV_DRIVER_G04" ["0x1025:0x0821"]="$NV_DRIVER_G04" ["0x1025:0x0823"]="$NV_DRIVER_G04"
    ["0x1025:0x0830"]="$NV_DRIVER_G04" ["0x1025:0x0833"]="$NV_DRIVER_G04" ["0x1025:0x0837"]="$NV_DRIVER_G04" ["0x1025:0x083e"]="$NV_DRIVER_G04"
    ["0x1025:0x0841"]="$NV_DRIVER_G04" ["0x1025:0x0854"]="$NV_DRIVER_G04" ["0x1025:0x0855"]="$NV_DRIVER_G04" ["0x1025:0x0856"]="$NV_DRIVER_G04"
    ["0x1025:0x0857"]="$NV_DRIVER_G04" ["0x1025:0x0858"]="$NV_DRIVER_G04" ["0x1025:0x0863"]="$NV_DRIVER_G04" ["0x1025:0x0868"]="$NV_DRIVER_G04"
    ["0x1025:0x0869"]="$NV_DRIVER_G04" ["0x1025:0x0873"]="$NV_DRIVER_G04" ["0x1025:0x0878"]="$NV_DRIVER_G04" ["0x1025:0x087b"]="$NV_DRIVER_G04"
    ["0x1025:0x087c"]="$NV_DRIVER_G04" ["0x1025:0x0881"]="$NV_DRIVER_G04" ["0x1025:0x088a"]="$NV_DRIVER_G04" ["0x1025:0x089b"]="$NV_DRIVER_G04"
    ["0x1025:0x090f"]="$NV_DRIVER_G04" ["0x1025:0x0921"]="$NV_DRIVER_G04" ["0x1025:0x092e"]="$NV_DRIVER_G04" ["0x1025:0x092f"]="$NV_DRIVER_G04"
    ["0x1025:0x0932"]="$NV_DRIVER_G04" ["0x1025:0x093a"]="$NV_DRIVER_G04" ["0x1025:0x093c"]="$NV_DRIVER_G04" ["0x1025:0x093f"]="$NV_DRIVER_G04"
    ["0x1025:0x0941"]="$NV_DRIVER_G04" ["0x1025:0x0945"]="$NV_DRIVER_G04" ["0x1025:0x0954"]="$NV_DRIVER_G04" ["0x1025:0x0965"]="$NV_DRIVER_G04"
    ["0x1028:0x054d"]="$NV_DRIVER_G04" ["0x1028:0x054e"]="$NV_DRIVER_G04" ["0x1028:0x0554"]="$NV_DRIVER_G04" ["0x1028:0x0557"]="$NV_DRIVER_G04"
    ["0x1028:0x0562"]="$NV_DRIVER_G04" ["0x1028:0x0565"]="$NV_DRIVER_G04" ["0x1028:0x0568"]="$NV_DRIVER_G04" ["0x1028:0x0590"]="$NV_DRIVER_G04"
    ["0x1028:0x0592"]="$NV_DRIVER_G04" ["0x1028:0x0594"]="$NV_DRIVER_G04" ["0x1028:0x0595"]="$NV_DRIVER_G04" ["0x1028:0x05a2"]="$NV_DRIVER_G04"
    ["0x1028:0x05b1"]="$NV_DRIVER_G04" ["0x1028:0x05b3"]="$NV_DRIVER_G04" ["0x1028:0x05da"]="$NV_DRIVER_G04" ["0x1028:0x05de"]="$NV_DRIVER_G04"
    ["0x1028:0x05e0"]="$NV_DRIVER_G04" ["0x1028:0x05e8"]="$NV_DRIVER_G04" ["0x1028:0x05f4"]="$NV_DRIVER_G04" ["0x1028:0x060f"]="$NV_DRIVER_G04"
    ["0x1028:0x064e"]="$NV_DRIVER_G04" ["0x1028:0x0652"]="$NV_DRIVER_G04" ["0x1028:0x0653"]="$NV_DRIVER_G04" ["0x1028:0x0655"]="$NV_DRIVER_G04"
    ["0x1028:0x065e"]="$NV_DRIVER_G04" ["0x1028:0x0662"]="$NV_DRIVER_G04" ["0x1028:0x068d"]="$NV_DRIVER_G04" ["0x1028:0x06ad"]="$NV_DRIVER_G04"
    ["0x1028:0x06ae"]="$NV_DRIVER_G04" ["0x1028:0x06af"]="$NV_DRIVER_G04" ["0x1028:0x06b0"]="$NV_DRIVER_G04" ["0x1028:0x06c0"]="$NV_DRIVER_G04"
    ["0x1028:0x06c1"]="$NV_DRIVER_G04" ["0x103c:0x18ef"]="$NV_DRIVER_G04" ["0x103c:0x18f9"]="$NV_DRIVER_G04" ["0x103c:0x18fb"]="$NV_DRIVER_G04"
    ["0x103c:0x18fd"]="$NV_DRIVER_G04" ["0x103c:0x18ff"]="$NV_DRIVER_G04" ["0x103c:0x218a"]="$NV_DRIVER_G04" ["0x103c:0x21bb"]="$NV_DRIVER_G04"
    ["0x103c:0x21bc"]="$NV_DRIVER_G04" ["0x103c:0x220e"]="$NV_DRIVER_G04" ["0x103c:0x2210"]="$NV_DRIVER_G04" ["0x103c:0x2212"]="$NV_DRIVER_G04"
    ["0x103c:0x2214"]="$NV_DRIVER_G04" ["0x103c:0x2218"]="$NV_DRIVER_G04" ["0x103c:0x225b"]="$NV_DRIVER_G04" ["0x103c:0x225d"]="$NV_DRIVER_G04"
    ["0x103c:0x226d"]="$NV_DRIVER_G04" ["0x103c:0x226f"]="$NV_DRIVER_G04" ["0x103c:0x22d2"]="$NV_DRIVER_G04" ["0x103c:0x22d9"]="$NV_DRIVER_G04"
    ["0x103c:0x2335"]="$NV_DRIVER_G04" ["0x103c:0x2337"]="$NV_DRIVER_G04" ["0x103c:0x2aef"]="$NV_DRIVER_G04" ["0x103c:0x2af9"]="$NV_DRIVER_G04"
    ["0x1043:0x10dd"]="$NV_DRIVER_G04" ["0x1043:0x10ed"]="$NV_DRIVER_G04" ["0x1043:0x11fd"]="$NV_DRIVER_G04" ["0x1043:0x124d"]="$NV_DRIVER_G04"
    ["0x1043:0x126d"]="$NV_DRIVER_G04" ["0x1043:0x131d"]="$NV_DRIVER_G04" ["0x1043:0x13fd"]="$NV_DRIVER_G04" ["0x1043:0x14c7"]="$NV_DRIVER_G04"
    ["0x1043:0x1507"]="$NV_DRIVER_G04" ["0x1043:0x15ad"]="$NV_DRIVER_G04" ["0x1043:0x15ed"]="$NV_DRIVER_G04" ["0x1043:0x160d"]="$NV_DRIVER_G04"
    ["0x1043:0x163d"]="$NV_DRIVER_G04" ["0x1043:0x166d"]="$NV_DRIVER_G04" ["0x1043:0x16cd"]="$NV_DRIVER_G04" ["0x1043:0x16dd"]="$NV_DRIVER_G04"
    ["0x1043:0x170d"]="$NV_DRIVER_G04" ["0x1043:0x176d"]="$NV_DRIVER_G04" ["0x1043:0x178d"]="$NV_DRIVER_G04" ["0x1043:0x179d"]="$NV_DRIVER_G04"
    ["0x1043:0x17dd"]="$NV_DRIVER_G04" ["0x1043:0x2132"]="$NV_DRIVER_G04" ["0x1043:0x2136"]="$NV_DRIVER_G04" ["0x1043:0x21ba"]="$NV_DRIVER_G04"
    ["0x1043:0x21fa"]="$NV_DRIVER_G04" ["0x1043:0x220a"]="$NV_DRIVER_G04" ["0x1043:0x221a"]="$NV_DRIVER_G04" ["0x1043:0x223a"]="$NV_DRIVER_G04"
    ["0x1043:0x224a"]="$NV_DRIVER_G04" ["0x1043:0x227a"]="$NV_DRIVER_G04" ["0x1043:0x228a"]="$NV_DRIVER_G04" ["0x1043:0x232a"]="$NV_DRIVER_G04"
    ["0x1043:0x233a"]="$NV_DRIVER_G04" ["0x1043:0x235a"]="$NV_DRIVER_G04" ["0x1043:0x236a"]="$NV_DRIVER_G04" ["0x1043:0x238a"]="$NV_DRIVER_G04"
    ["0x1043:0x8595"]="$NV_DRIVER_G04" ["0x1043:0x85ea"]="$NV_DRIVER_G04" ["0x1043:0x85eb"]="$NV_DRIVER_G04" ["0x1043:0x85ec"]="$NV_DRIVER_G04"
    ["0x1043:0x85ee"]="$NV_DRIVER_G04" ["0x1043:0x85f3"]="$NV_DRIVER_G04" ["0x1043:0x860e"]="$NV_DRIVER_G04" ["0x1043:0x861a"]="$NV_DRIVER_G04"
    ["0x1043:0x861b"]="$NV_DRIVER_G04" ["0x1043:0x8628"]="$NV_DRIVER_G04" ["0x1043:0x8643"]="$NV_DRIVER_G04" ["0x1043:0x864c"]="$NV_DRIVER_G04"
    ["0x1043:0x8652"]="$NV_DRIVER_G04" ["0x1043:0x8660"]="$NV_DRIVER_G04" ["0x1043:0x8661"]="$NV_DRIVER_G04" ["0x105b:0x0dac"]="$NV_DRIVER_G04"
    ["0x105b:0x0dad"]="$NV_DRIVER_G04" ["0x105b:0x0ef3"]="$NV_DRIVER_G04" ["0x1072:0x152d"]="$NV_DRIVER_G04" ["0x10cf:0x17f5"]="$NV_DRIVER_G04"
    ["0x1179:0xfa01"]="$NV_DRIVER_G04" ["0x1179:0xfa02"]="$NV_DRIVER_G04" ["0x1179:0xfa03"]="$NV_DRIVER_G04" ["0x1179:0xfa05"]="$NV_DRIVER_G04"
    ["0x1179:0xfa11"]="$NV_DRIVER_G04" ["0x1179:0xfa13"]="$NV_DRIVER_G04" ["0x1179:0xfa18"]="$NV_DRIVER_G04" ["0x1179:0xfa19"]="$NV_DRIVER_G04"
    ["0x1179:0xfa21"]="$NV_DRIVER_G04" ["0x1179:0xfa23"]="$NV_DRIVER_G04" ["0x1179:0xfa2a"]="$NV_DRIVER_G04" ["0x1179:0xfa32"]="$NV_DRIVER_G04"
    ["0x1179:0xfa33"]="$NV_DRIVER_G04" ["0x1179:0xfa36"]="$NV_DRIVER_G04" ["0x1179:0xfa38"]="$NV_DRIVER_G04" ["0x1179:0xfa42"]="$NV_DRIVER_G04"
    ["0x1179:0xfa43"]="$NV_DRIVER_G04" ["0x1179:0xfa45"]="$NV_DRIVER_G04" ["0x1179:0xfa47"]="$NV_DRIVER_G04" ["0x1179:0xfa49"]="$NV_DRIVER_G04"
    ["0x1179:0xfa58"]="$NV_DRIVER_G04" ["0x1179:0xfa59"]="$NV_DRIVER_G04" ["0x1179:0xfa88"]="$NV_DRIVER_G04" ["0x1179:0xfa89"]="$NV_DRIVER_G04"
    ["0x144d:0xb092"]="$NV_DRIVER_G04" ["0x144d:0xc0d5"]="$NV_DRIVER_G04" ["0x144d:0xc0d7"]="$NV_DRIVER_G04" ["0x144d:0xc0e2"]="$NV_DRIVER_G04"
    ["0x144d:0xc0e3"]="$NV_DRIVER_G04" ["0x144d:0xc0e4"]="$NV_DRIVER_G04" ["0x144d:0xc10d"]="$NV_DRIVER_G04" ["0x144d:0xc652"]="$NV_DRIVER_G04"
    ["0x144d:0xc709"]="$NV_DRIVER_G04" ["0x144d:0xc711"]="$NV_DRIVER_G04" ["0x144d:0xc736"]="$NV_DRIVER_G04" ["0x144d:0xc737"]="$NV_DRIVER_G04"
    ["0x144d:0xc745"]="$NV_DRIVER_G04" ["0x144d:0xc750"]="$NV_DRIVER_G04" ["0x1462:0x10b8"]="$NV_DRIVER_G04" ["0x1462:0x10e9"]="$NV_DRIVER_G04"
    ["0x1462:0x1116"]="$NV_DRIVER_G04" ["0x1462:0xaa33"]="$NV_DRIVER_G04" ["0x1462:0xaaa2"]="$NV_DRIVER_G04" ["0x1462:0xaaa3"]="$NV_DRIVER_G04"
    ["0x1462:0xacb2"]="$NV_DRIVER_G04" ["0x1462:0xacc1"]="$NV_DRIVER_G04" ["0x1462:0xae61"]="$NV_DRIVER_G04" ["0x1462:0xae65"]="$NV_DRIVER_G04"
    ["0x1462:0xae6a"]="$NV_DRIVER_G04" ["0x1462:0xae71"]="$NV_DRIVER_G04" ["0x14c0:0x0083"]="$NV_DRIVER_G04" ["0x152d:0x0926"]="$NV_DRIVER_G04"
    ["0x152d:0x0982"]="$NV_DRIVER_G04" ["0x152d:0x0983"]="$NV_DRIVER_G04" ["0x152d:0x1005"]="$NV_DRIVER_G04" ["0x152d:0x1012"]="$NV_DRIVER_G04"
    ["0x152d:0x1019"]="$NV_DRIVER_G04" ["0x152d:0x1030"]="$NV_DRIVER_G04" ["0x152d:0x1055"]="$NV_DRIVER_G04" ["0x152d:0x1067"]="$NV_DRIVER_G04"
    ["0x152d:0x1072"]="$NV_DRIVER_G04" ["0x152d:0x1086"]="$NV_DRIVER_G04" ["0x152d:0x1092"]="$NV_DRIVER_G04" ["0x17aa:0x2200"]="$NV_DRIVER_G04"
    ["0x17aa:0x2213"]="$NV_DRIVER_G04" ["0x17aa:0x2220"]="$NV_DRIVER_G04" ["0x17aa:0x309c"]="$NV_DRIVER_G04" ["0x17aa:0x30b4"]="$NV_DRIVER_G04"
    ["0x17aa:0x30b7"]="$NV_DRIVER_G04" ["0x17aa:0x30e4"]="$NV_DRIVER_G04" ["0x17aa:0x361b"]="$NV_DRIVER_G04" ["0x17aa:0x361c"]="$NV_DRIVER_G04"
    ["0x17aa:0x361d"]="$NV_DRIVER_G04" ["0x17aa:0x3656"]="$NV_DRIVER_G04" ["0x17aa:0x365a"]="$NV_DRIVER_G04" ["0x17aa:0x365e"]="$NV_DRIVER_G04"
    ["0x17aa:0x3661"]="$NV_DRIVER_G04" ["0x17aa:0x366c"]="$NV_DRIVER_G04" ["0x17aa:0x3685"]="$NV_DRIVER_G04" ["0x17aa:0x3686"]="$NV_DRIVER_G04"
    ["0x17aa:0x3687"]="$NV_DRIVER_G04" ["0x17aa:0x3696"]="$NV_DRIVER_G04" ["0x17aa:0x369b"]="$NV_DRIVER_G04" ["0x17aa:0x369c"]="$NV_DRIVER_G04"
    ["0x17aa:0x369d"]="$NV_DRIVER_G04" ["0x17aa:0x369e"]="$NV_DRIVER_G04" ["0x17aa:0x36a9"]="$NV_DRIVER_G04" ["0x17aa:0x36af"]="$NV_DRIVER_G04"
    ["0x17aa:0x36b0"]="$NV_DRIVER_G04" ["0x17aa:0x36b6"]="$NV_DRIVER_G04" ["0x17aa:0x3800"]="$NV_DRIVER_G04" ["0x17aa:0x3801"]="$NV_DRIVER_G04"
    ["0x17aa:0x3802"]="$NV_DRIVER_G04" ["0x17aa:0x3803"]="$NV_DRIVER_G04" ["0x17aa:0x3804"]="$NV_DRIVER_G04" ["0x17aa:0x3806"]="$NV_DRIVER_G04"
    ["0x17aa:0x3808"]="$NV_DRIVER_G04" ["0x17aa:0x380d"]="$NV_DRIVER_G04" ["0x17aa:0x380e"]="$NV_DRIVER_G04" ["0x17aa:0x380f"]="$NV_DRIVER_G04"
    ["0x17aa:0x3811"]="$NV_DRIVER_G04" ["0x17aa:0x3812"]="$NV_DRIVER_G04" ["0x17aa:0x3813"]="$NV_DRIVER_G04" ["0x17aa:0x3816"]="$NV_DRIVER_G04"
    ["0x17aa:0x3818"]="$NV_DRIVER_G04" ["0x17aa:0x381a"]="$NV_DRIVER_G04" ["0x17aa:0x381c"]="$NV_DRIVER_G04" ["0x17aa:0x3901"]="$NV_DRIVER_G04"
    ["0x17aa:0x3902"]="$NV_DRIVER_G04" ["0x17aa:0x3903"]="$NV_DRIVER_G04" ["0x17aa:0x3904"]="$NV_DRIVER_G04" ["0x17aa:0x3905"]="$NV_DRIVER_G04"
    ["0x17aa:0x3907"]="$NV_DRIVER_G04" ["0x17aa:0x3910"]="$NV_DRIVER_G04" ["0x17aa:0x3912"]="$NV_DRIVER_G04" ["0x17aa:0x3913"]="$NV_DRIVER_G04"
    ["0x17aa:0x3915"]="$NV_DRIVER_G04" ["0x17aa:0x3977"]="$NV_DRIVER_G04" ["0x17aa:0x3983"]="$NV_DRIVER_G04" ["0x17aa:0x5001"]="$NV_DRIVER_G04"
    ["0x17aa:0x5003"]="$NV_DRIVER_G04" ["0x17aa:0x5005"]="$NV_DRIVER_G04" ["0x17aa:0x500d"]="$NV_DRIVER_G04" ["0x17aa:0x5014"]="$NV_DRIVER_G04"
    ["0x17aa:0x5017"]="$NV_DRIVER_G04" ["0x17aa:0x5019"]="$NV_DRIVER_G04" ["0x17aa:0x501a"]="$NV_DRIVER_G04" ["0x17aa:0x501f"]="$NV_DRIVER_G04"
    ["0x17aa:0x5025"]="$NV_DRIVER_G04" ["0x17aa:0x5027"]="$NV_DRIVER_G04" ["0x17aa:0x502a"]="$NV_DRIVER_G04" ["0x17aa:0x502b"]="$NV_DRIVER_G04"
    ["0x17aa:0x502d"]="$NV_DRIVER_G04" ["0x17aa:0x502e"]="$NV_DRIVER_G04" ["0x17aa:0x502f"]="$NV_DRIVER_G04" ["0x17aa:0x5030"]="$NV_DRIVER_G04"
    ["0x17aa:0x5031"]="$NV_DRIVER_G04" ["0x17aa:0x5032"]="$NV_DRIVER_G04" ["0x17aa:0x5033"]="$NV_DRIVER_G04" ["0x17aa:0x503e"]="$NV_DRIVER_G04"
    ["0x17aa:0x503f"]="$NV_DRIVER_G04" ["0x17aa:0x5040"]="$NV_DRIVER_G04" ["0x1854:0x0177"]="$NV_DRIVER_G04" ["0x1854:0x0180"]="$NV_DRIVER_G04"
    ["0x1854:0x0190"]="$NV_DRIVER_G04" ["0x1854:0x0192"]="$NV_DRIVER_G04" ["0x1854:0x0224"]="$NV_DRIVER_G04" ["0x1b0a:0x01c0"]="$NV_DRIVER_G04"
    ["0x1b0a:0x20dd"]="$NV_DRIVER_G04" ["0x1b0a:0x20df"]="$NV_DRIVER_G04" ["0x1b0a:0x210e"]="$NV_DRIVER_G04" ["0x1b0a:0x2202"]="$NV_DRIVER_G04"
    ["0x1b0a:0x90d7"]="$NV_DRIVER_G04" ["0x1b0a:0x90dd"]="$NV_DRIVER_G04" ["0x1b50:0x5530"]="$NV_DRIVER_G04" ["0x1b6c:0x5531"]="$NV_DRIVER_G04"
    ["0x1bab:0x0106"]="$NV_DRIVER_G04" ["0x1d05:0x1013"]="$NV_DRIVER_G04" ["0x10de:0x1040"]="$NV_DRIVER_G04" ["0x1043:0x83a0"]="$NV_DRIVER_G04"
    ["0x10de:0x1042"]="$NV_DRIVER_G04" ["0x10de:0x1045"]="$NV_DRIVER_G04" ["0x10de:0x1048"]="$NV_DRIVER_G04" ["0x10de:0x1049"]="$NV_DRIVER_G04"
    ["0x10de:0x104a"]="$NV_DRIVER_G04" ["0x10b0:0x104a"]="$NV_DRIVER_G04" ["0x10de:0x104b"]="$NV_DRIVER_G04" ["0x10de:0x104c"]="$NV_DRIVER_G04"
    ["0x10de:0x104d"]="$NV_DRIVER_G04" ["0x10de:0x1050"]="$NV_DRIVER_G04" ["0x10de:0x1051"]="$NV_DRIVER_G04" ["0x10de:0x1052"]="$NV_DRIVER_G04"
    ["0x10de:0x1054"]="$NV_DRIVER_G04" ["0x10de:0x1055"]="$NV_DRIVER_G04" ["0x10de:0x1056"]="$NV_DRIVER_G04" ["0x10de:0x1057"]="$NV_DRIVER_G04"
    ["0x10de:0x1058"]="$NV_DRIVER_G04" ["0x103c:0x2aed"]="$NV_DRIVER_G04" ["0x103c:0x2af1"]="$NV_DRIVER_G04" ["0x1043:0x10ac"]="$NV_DRIVER_G04"
    ["0x1043:0x10bc"]="$NV_DRIVER_G04" ["0x1043:0x1652"]="$NV_DRIVER_G04" ["0x17aa:0x367a"]="$NV_DRIVER_G04" ["0x17aa:0x3682"]="$NV_DRIVER_G04"
    ["0x17aa:0x3687"]="$NV_DRIVER_G04" ["0x17aa:0x3692"]="$NV_DRIVER_G04" ["0x17aa:0x3695"]="$NV_DRIVER_G04" ["0x17aa:0xa117"]="$NV_DRIVER_G04"
    ["0x10de:0x1059"]="$NV_DRIVER_G04" ["0x10de:0x105a"]="$NV_DRIVER_G04" ["0x1043:0x2111"]="$NV_DRIVER_G04" ["0x1043:0x2112"]="$NV_DRIVER_G04"
    ["0x10de:0x105b"]="$NV_DRIVER_G04" ["0x103c:0x2afb"]="$NV_DRIVER_G04" ["0x17aa:0x309d"]="$NV_DRIVER_G04" ["0x17aa:0x30b1"]="$NV_DRIVER_G04"
    ["0x17aa:0x30f3"]="$NV_DRIVER_G04" ["0x17aa:0x36a1"]="$NV_DRIVER_G04" ["0x10de:0x107c"]="$NV_DRIVER_G04" ["0x10de:0x107d"]="$NV_DRIVER_G04"
    # Kepler
    ["0x10de:0x1180"]="$NV_DRIVER_G05" ["0x1043:0x83f1"]="$NV_DRIVER_G05" ["0x3842:0x3682"]="$NV_DRIVER_G05" ["0x10de:0x1182"]="$NV_DRIVER_G05"
    ["0x10de:0x1183"]="$NV_DRIVER_G05" ["0x10de:0x1184"]="$NV_DRIVER_G05" ["0x10de:0x1185"]="$NV_DRIVER_G05" ["0x10de:0x106f"]="$NV_DRIVER_G05"
    ["0x10de:0x1186"]="$NV_DRIVER_G05" ["0x10de:0x1187"]="$NV_DRIVER_G05" ["0x10de:0x1188"]="$NV_DRIVER_G05" ["0x10de:0x1189"]="$NV_DRIVER_G05"
    ["0x10de:0x1074"]="$NV_DRIVER_G05" ["0x10de:0x118a"]="$NV_DRIVER_G05" ["0x10de:0x118b"]="$NV_DRIVER_G05" ["0x10de:0x118c"]="$NV_DRIVER_G05"
    ["0x10de:0x118d"]="$NV_DRIVER_G05" ["0x10de:0x101d"]="$NV_DRIVER_G05" ["0x10de:0x118e"]="$NV_DRIVER_G05" ["0x10de:0x118f"]="$NV_DRIVER_G05"
    ["0x10de:0x1191"]="$NV_DRIVER_G05" ["0x10de:0x1193"]="$NV_DRIVER_G05" ["0x10de:0x1194"]="$NV_DRIVER_G05" ["0x10de:0x1195"]="$NV_DRIVER_G05"
    ["0x10de:0x1198"]="$NV_DRIVER_G05" ["0x10de:0x1199"]="$NV_DRIVER_G05" ["0x10de:0x119a"]="$NV_DRIVER_G05" ["0x10de:0x119d"]="$NV_DRIVER_G05"
    ["0x10de:0x119e"]="$NV_DRIVER_G05" ["0x10de:0x119f"]="$NV_DRIVER_G05" ["0x10de:0x11a0"]="$NV_DRIVER_G05" ["0x10de:0x11a1"]="$NV_DRIVER_G05"
    ["0x10de:0x11a2"]="$NV_DRIVER_G05" ["0x10de:0x11a3"]="$NV_DRIVER_G05" ["0x106b:0x010d"]="$NV_DRIVER_G05" ["0x10de:0x11a4"]="$NV_DRIVER_G05"
    ["0x10de:0x11a5"]="$NV_DRIVER_G05" ["0x10de:0x11a7"]="$NV_DRIVER_G05" ["0x10de:0x11a8"]="$NV_DRIVER_G05" ["0x10de:0x11a9"]="$NV_DRIVER_G05"
    ["0x10de:0x11aa"]="$NV_DRIVER_G05" ["0x10de:0x11ac"]="$NV_DRIVER_G05" ["0x10de:0x11af"]="$NV_DRIVER_G05" ["0x10de:0x11b0"]="$NV_DRIVER_G05"
    ["0x10de:0x101a"]="$NV_DRIVER_G05" ["0x10de:0x101b"]="$NV_DRIVER_G05" ["0x10de:0x11b1"]="$NV_DRIVER_G05" ["0x10de:0x11b4"]="$NV_DRIVER_G05"
    ["0x10de:0x11b6"]="$NV_DRIVER_G05" ["0x10de:0x11b7"]="$NV_DRIVER_G05" ["0x10de:0x11b8"]="$NV_DRIVER_G05" ["0x10de:0x11b9"]="$NV_DRIVER_G05"
    ["0x10de:0x11ba"]="$NV_DRIVER_G05" ["0x10de:0x11bb"]="$NV_DRIVER_G05" ["0x10de:0x11bc"]="$NV_DRIVER_G05" ["0x10de:0x11bd"]="$NV_DRIVER_G05"
    ["0x10de:0x11be"]="$NV_DRIVER_G05" ["0x10de:0x11bf"]="$NV_DRIVER_G05" ["0x10de:0x11c0"]="$NV_DRIVER_G05" ["0x10de:0x11c1"]="$NV_DRIVER_G05"
    ["0x10de:0x11c2"]="$NV_DRIVER_G05" ["0x1043:0x845b"]="$NV_DRIVER_G05" ["0x1462:0x2874"]="$NV_DRIVER_G05" ["0x1569:0x11c2"]="$NV_DRIVER_G05"
    ["0x19da:0x1281"]="$NV_DRIVER_G05" ["0x3842:0x3657"]="$NV_DRIVER_G05" ["0x3842:0x3658"]="$NV_DRIVER_G05" ["0x10de:0x11c3"]="$NV_DRIVER_G05"
    ["0x10de:0x1030"]="$NV_DRIVER_G05" ["0x10de:0x11c4"]="$NV_DRIVER_G05" ["0x10de:0x11c5"]="$NV_DRIVER_G05" ["0x10de:0x11c6"]="$NV_DRIVER_G05"
    ["0x10de:0x11c7"]="$NV_DRIVER_G05" ["0x10de:0x11c8"]="$NV_DRIVER_G05" ["0x10de:0x11cb"]="$NV_DRIVER_G05" ["0x10de:0x11d0"]="$NV_DRIVER_G05"
    ["0x10de:0x11d1"]="$NV_DRIVER_G05" ["0x10de:0x11d2"]="$NV_DRIVER_G05" ["0x10de:0x11d3"]="$NV_DRIVER_G05" ["0x10de:0x11e0"]="$NV_DRIVER_G05"
    ["0x10de:0x11e1"]="$NV_DRIVER_G05" ["0x10de:0x11e2"]="$NV_DRIVER_G05" ["0x10de:0x11e3"]="$NV_DRIVER_G05" ["0x17aa:0x3683"]="$NV_DRIVER_G05"
    ["0x10de:0x11e7"]="$NV_DRIVER_G05" ["0x10de:0x11fa"]="$NV_DRIVER_G05" ["0x10de:0x11fc"]="$NV_DRIVER_G05" ["0x10de:0x11ff"]="$NV_DRIVER_G05"
    ["0x10de:0x0fc0"]="$NV_DRIVER_G05" ["0x10de:0x0fc1"]="$NV_DRIVER_G05" ["0x10de:0x0fc2"]="$NV_DRIVER_G05" ["0x10de:0x0fc4"]="$NV_DRIVER_G05"
    ["0x10de:0x0fc5"]="$NV_DRIVER_G05" ["0x10de:0x0fc6"]="$NV_DRIVER_G05" ["0x1043:0x8428"]="$NV_DRIVER_G05" ["0x10de:0x0fc8"]="$NV_DRIVER_G05"
    ["0x10de:0x0fc9"]="$NV_DRIVER_G05" ["0x10de:0x0fcb"]="$NV_DRIVER_G05" ["0x10de:0x0fcc"]="$NV_DRIVER_G05" ["0x10de:0x0fcd"]="$NV_DRIVER_G05"
    ["0x10de:0x0fce"]="$NV_DRIVER_G05" ["0x10de:0x0fcf"]="$NV_DRIVER_G05" ["0x10de:0x0fd0"]="$NV_DRIVER_G05" ["0x10de:0x0fd1"]="$NV_DRIVER_G05"
    ["0x1043:0x1597"]="$NV_DRIVER_G05" ["0x1043:0x15a7"]="$NV_DRIVER_G05" ["0x1043:0x2103"]="$NV_DRIVER_G05" ["0x1043:0x2105"]="$NV_DRIVER_G05"
    ["0x1043:0x2141"]="$NV_DRIVER_G05" ["0x10de:0x0fd2"]="$NV_DRIVER_G05" ["0x1028:0x054f"]="$NV_DRIVER_G05" ["0x1028:0x055f"]="$NV_DRIVER_G05"
    ["0x1028:0x0595"]="$NV_DRIVER_G05" ["0x1028:0x05b2"]="$NV_DRIVER_G05" ["0x10de:0x0fd3"]="$NV_DRIVER_G05" ["0x10de:0x0fd4"]="$NV_DRIVER_G05"
    ["0x10de:0x0fd5"]="$NV_DRIVER_G05" ["0x10de:0x0fd6"]="$NV_DRIVER_G05" ["0x10de:0x0fd7"]="$NV_DRIVER_G05" ["0x10de:0x0fd8"]="$NV_DRIVER_G05"
    ["0x10de:0x0fd9"]="$NV_DRIVER_G05" ["0x10de:0x0fda"]="$NV_DRIVER_G05" ["0x10de:0x0fdb"]="$NV_DRIVER_G05" ["0x10de:0x0fdc"]="$NV_DRIVER_G05"
    ["0x10de:0x0fdd"]="$NV_DRIVER_G05" ["0x10de:0x0fde"]="$NV_DRIVER_G05" ["0x10de:0x0fdf"]="$NV_DRIVER_G05" ["0x10de:0x0fe0"]="$NV_DRIVER_G05"
    ["0x10de:0x0fe1"]="$NV_DRIVER_G05" ["0x10de:0x0fe2"]="$NV_DRIVER_G05" ["0x10de:0x0fe3"]="$NV_DRIVER_G05" ["0x103c:0x2b16"]="$NV_DRIVER_G05"
    ["0x17aa:0x3675"]="$NV_DRIVER_G05" ["0x10de:0x0fe4"]="$NV_DRIVER_G05" ["0x10de:0x0fe5"]="$NV_DRIVER_G05" ["0x10de:0x0fe6"]="$NV_DRIVER_G05"
    ["0x10de:0x0fe7"]="$NV_DRIVER_G05" ["0x10de:0x101e"]="$NV_DRIVER_G05" ["0x10de:0x0fe8"]="$NV_DRIVER_G05" ["0x10de:0x0fe9"]="$NV_DRIVER_G05"
    ["0x10de:0x0fea"]="$NV_DRIVER_G05" ["0x10de:0x0fec"]="$NV_DRIVER_G05" ["0x10de:0x0fed"]="$NV_DRIVER_G05" ["0x10de:0x0fee"]="$NV_DRIVER_G05"
    ["0x10de:0x0fef"]="$NV_DRIVER_G05" ["0x10de:0x0ff0"]="$NV_DRIVER_G05" ["0x10de:0x0ff1"]="$NV_DRIVER_G05" ["0x10de:0x0ff2"]="$NV_DRIVER_G05"
    ["0x10de:0x0ff3"]="$NV_DRIVER_G05" ["0x10de:0x0ff5"]="$NV_DRIVER_G05" ["0x10de:0x0ff6"]="$NV_DRIVER_G05" ["0x103c:0x197b"]="$NV_DRIVER_G05"
    ["0x10de:0x0ff7"]="$NV_DRIVER_G05" ["0x10de:0x1037"]="$NV_DRIVER_G05" ["0x10de:0x0ff8"]="$NV_DRIVER_G05" ["0x10de:0x0ff9"]="$NV_DRIVER_G05"
    ["0x10de:0x0ffa"]="$NV_DRIVER_G05" ["0x10de:0x0ffb"]="$NV_DRIVER_G05" ["0x10de:0x0ffc"]="$NV_DRIVER_G05" ["0x10de:0x0ffd"]="$NV_DRIVER_G05"
    ["0x10de:0x0ffe"]="$NV_DRIVER_G05" ["0x10de:0x0fff"]="$NV_DRIVER_G05" ["0x10de:0x1001"]="$NV_DRIVER_G05" ["0x10de:0x1003"]="$NV_DRIVER_G05"
    ["0x10de:0x1004"]="$NV_DRIVER_G05" ["0x3842:0x0784"]="$NV_DRIVER_G05" ["0x3842:0x1784"]="$NV_DRIVER_G05" ["0x3842:0x1788"]="$NV_DRIVER_G05"
    ["0x10de:0x1005"]="$NV_DRIVER_G05" ["0x1043:0x8451"]="$NV_DRIVER_G05" ["0x10de:0x1035"]="$NV_DRIVER_G05" ["0x3842:0x2790"]="$NV_DRIVER_G05"
    ["0x3842:0x2791"]="$NV_DRIVER_G05" ["0x3842:0x2793"]="$NV_DRIVER_G05" ["0x3842:0x2794"]="$NV_DRIVER_G05" ["0x3842:0x2795"]="$NV_DRIVER_G05"
    ["0x10de:0x1007"]="$NV_DRIVER_G05" ["0x10de:0x1008"]="$NV_DRIVER_G05" ["0x10de:0x100a"]="$NV_DRIVER_G05" ["0x10de:0x100c"]="$NV_DRIVER_G05"
    ["0x10de:0x101e"]="$NV_DRIVER_G05" ["0x10de:0x101f"]="$NV_DRIVER_G05" ["0x10de:0x1020"]="$NV_DRIVER_G05" ["0x10de:0x1021"]="$NV_DRIVER_G05"
    ["0x10de:0x1022"]="$NV_DRIVER_G05" ["0x10de:0x1023"]="$NV_DRIVER_G05" ["0x10de:0x097e"]="$NV_DRIVER_G05" ["0x10de:0x1024"]="$NV_DRIVER_G05"
    ["0x10de:0x1026"]="$NV_DRIVER_G05" ["0x10de:0x1027"]="$NV_DRIVER_G05" ["0x10de:0x1028"]="$NV_DRIVER_G05" ["0x10de:0x1029"]="$NV_DRIVER_G05"
    ["0x10de:0x102a"]="$NV_DRIVER_G05" ["0x10de:0x102d"]="$NV_DRIVER_G05" ["0x10de:0x102e"]="$NV_DRIVER_G05" ["0x10de:0x102f"]="$NV_DRIVER_G05"
    ["0x10de:0x103a"]="$NV_DRIVER_G05" ["0x10de:0x103c"]="$NV_DRIVER_G05" ["0x10de:0x103f"]="$NV_DRIVER_G05" ["0x10de:0x130b"]="$NV_DRIVER_G05"
    ["0x10de:0x1280"]="$NV_DRIVER_G05" ["0x10de:0x1281"]="$NV_DRIVER_G05" ["0x10de:0x1282"]="$NV_DRIVER_G05" ["0x10de:0x1283"]="$NV_DRIVER_G05"
    ["0x10de:0x1284"]="$NV_DRIVER_G05" ["0x10de:0x1285"]="$NV_DRIVER_G05" ["0x10de:0x1286"]="$NV_DRIVER_G05" ["0x10de:0x1287"]="$NV_DRIVER_G05"
    ["0x10de:0x1288"]="$NV_DRIVER_G05" ["0x10de:0x1289"]="$NV_DRIVER_G05" ["0x10de:0x128a"]="$NV_DRIVER_G05" ["0x10de:0x128b"]="$NV_DRIVER_G05"
    ["0x1043:0x85f7"]="$NV_DRIVER_G05" ["0x1043:0x8770"]="$NV_DRIVER_G05" ["0x10de:0x128c"]="$NV_DRIVER_G05" ["0x10de:0x1290"]="$NV_DRIVER_G05"
    ["0x103c:0x2afa"]="$NV_DRIVER_G05" ["0x103c:0x2b04"]="$NV_DRIVER_G05" ["0x1043:0x13ad"]="$NV_DRIVER_G05" ["0x1043:0x13cd"]="$NV_DRIVER_G05"
    ["0x10de:0x1291"]="$NV_DRIVER_G05" ["0x10de:0x1292"]="$NV_DRIVER_G05" ["0x17aa:0x3675"]="$NV_DRIVER_G05" ["0x17aa:0x367c"]="$NV_DRIVER_G05"
    ["0x17aa:0x3684"]="$NV_DRIVER_G05" ["0x10de:0x1293"]="$NV_DRIVER_G05" ["0x10de:0x1294"]="$NV_DRIVER_G05" ["0x10de:0x1295"]="$NV_DRIVER_G05"
    ["0x103c:0x2b0d"]="$NV_DRIVER_G05" ["0x103c:0x2b0f"]="$NV_DRIVER_G05" ["0x103c:0x2b11"]="$NV_DRIVER_G05" ["0x103c:0x2b20"]="$NV_DRIVER_G05"
    ["0x103c:0x2b21"]="$NV_DRIVER_G05" ["0x103c:0x2b22"]="$NV_DRIVER_G05" ["0x17aa:0x367a"]="$NV_DRIVER_G05" ["0x17aa:0x367c"]="$NV_DRIVER_G05"
    ["0x10de:0x1296"]="$NV_DRIVER_G05" ["0x10de:0x1298"]="$NV_DRIVER_G05" ["0x10de:0x1299"]="$NV_DRIVER_G05" ["0x17aa:0x30bb"]="$NV_DRIVER_G05"
    ["0x17aa:0x30df"]="$NV_DRIVER_G05" ["0x17aa:0x36a7"]="$NV_DRIVER_G05" ["0x17aa:0x36af"]="$NV_DRIVER_G05" ["0x10de:0x129a"]="$NV_DRIVER_G05"
    ["0x10de:0x12a0"]="$NV_DRIVER_G05" ["0x10de:0x12ad"]="$NV_DRIVER_G05" ["0x10de:0x12ae"]="$NV_DRIVER_G05" ["0x10de:0x12af"]="$NV_DRIVER_G05"
    ["0x10de:0x12b0"]="$NV_DRIVER_G05" ["0x10de:0x12b1"]="$NV_DRIVER_G05" ["0x10de:0x12b9"]="$NV_DRIVER_G05" ["0x10de:0x12ba"]="$NV_DRIVER_G05"
    # Maxwell
    ["0x10de:0x1380"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1381"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1382"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1389"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1390"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1391"]="$NV_DRIVER_G06_CLOSED" ["0x17aa:0x3697"]="$NV_DRIVER_G06_CLOSED" ["0x17aa:0xa125"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1392"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1393"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1398"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1399"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x139a"]="$NV_DRIVER_G06_CLOSED" ["0x17aa:0x362c"]="$NV_DRIVER_G06_CLOSED" ["0x17aa:0x362f"]="$NV_DRIVER_G06_CLOSED" ["0x17aa:0x363f"]="$NV_DRIVER_G06_CLOSED"
    ["0x17aa:0x3640"]="$NV_DRIVER_G06_CLOSED" ["0x17aa:0x3647"]="$NV_DRIVER_G06_CLOSED" ["0x17aa:0x36b9"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x139b"]="$NV_DRIVER_G06_CLOSED"
    ["0x1028:0x06e4"]="$NV_DRIVER_G06_CLOSED" ["0x103c:0x2b4c"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x139c"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x139d"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x13ad"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13ae"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13b0"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13b1"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x13b2"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13b3"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13b4"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13b6"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x13b9"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13ba"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13bb"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13bc"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x13bd"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x110a"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1160"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x11d2"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x174d"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x174e"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1789"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x179c"]="$NV_DRIVER_G06_CLOSED"
    ["0x1025:0x1094"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x17c2"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x17c8"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x17f0"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1141"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x17f1"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x17fd"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13be"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x13bf"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13c0"]="$NV_DRIVER_G06_CLOSED" ["0x1043:0x8504"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13c1"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x13c2"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13c3"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13c4"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13d7"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x13d8"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13d9"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13da"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13e4"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x13e7"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13f0"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13f1"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13f2"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x114d"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x114e"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1150"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x11b0"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x13f3"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1184"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13f8"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13f9"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x13fa"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x11c9"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x13fb"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1613"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1617"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1618"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1619"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x161a"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1667"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1676"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1401"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1402"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1404"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1406"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1407"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1427"]="$NV_DRIVER_G06_CLOSED"
    ["0x103c:0x825b"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1430"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1431"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1436"]="$NV_DRIVER_G06_CLOSED"
    # Pascal
    ["0x10de:0x15c2"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x15f0"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x15f1"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x15f7"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x15f8"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x15f9"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x15fa"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x15fb"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x15fc"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x15ff"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1725"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x172e"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x172f"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1b00"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1b01"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1b02"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1b04"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1b06"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1b07"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1b30"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1b38"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1b39"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1b70"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1b78"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1b80"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1b81"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1b82"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1b83"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1b84"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1b87"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1ba0"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1ba1"]="$NV_DRIVER_G06_CLOSED"
    ["0x1458:0x1651"]="$NV_DRIVER_G06_CLOSED" ["0x1462:0x11e8"]="$NV_DRIVER_G06_CLOSED" ["0x1462:0x11e9"]="$NV_DRIVER_G06_CLOSED" ["0x1558:0x9501"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1ba2"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1ba9"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1baa"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1bad"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1bb0"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1bb1"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1bb3"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1bb4"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1bb5"]="$NV_DRIVER_G06_CLOSED" ["0x103c:0x842f"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1bb6"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1bb7"]="$NV_DRIVER_G06_CLOSED"
    ["0x1462:0x11e9"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1bb8"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1bb9"]="$NV_DRIVER_G06_CLOSED" ["0x103c:0x842f"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1bbb"]="$NV_DRIVER_G06_CLOSED" ["0x103c:0x842f"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1bc7"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1be0"]="$NV_DRIVER_G06_CLOSED"
    ["0x1028:0x07c0"]="$NV_DRIVER_G06_CLOSED" ["0x1458:0x355b"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1be1"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c00"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1c01"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c02"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c03"]="$NV_DRIVER_G06_CLOSED" ["0x1043:0x85b6"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1c04"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c06"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c07"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c09"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1c20"]="$NV_DRIVER_G06_CLOSED" ["0x17aa:0x39b9"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c21"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c22"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1c23"]="$NV_DRIVER_G06_CLOSED" ["0x1414:0x0020"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c2d"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c30"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1c31"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c35"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c36"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c60"]="$NV_DRIVER_G06_CLOSED"
    ["0x103c:0x8390"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c61"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c62"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c70"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1c81"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c82"]="$NV_DRIVER_G06_CLOSED" ["0x1043:0x8613"]="$NV_DRIVER_G06_CLOSED" ["0x1458:0x3763"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1c83"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c8c"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c8d"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c8e"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1c8f"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c90"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c91"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c92"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1c94"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1c96"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1ca7"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1ca8"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1caa"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1cb1"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1cb2"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1cb3"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1cb6"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1cba"]="$NV_DRIVER_G06_CLOSED" ["0x103c:0x842c"]="$NV_DRIVER_G06_CLOSED" ["0x103c:0x842f"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1cbb"]="$NV_DRIVER_G06_CLOSED" ["0x103c:0x8429"]="$NV_DRIVER_G06_CLOSED" ["0x103c:0x842c"]="$NV_DRIVER_G06_CLOSED" ["0x103c:0x842f"]="$NV_DRIVER_G06_CLOSED"
    ["0x103c:0x8451"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1cbc"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1cbd"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1ccc"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1ccd"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1cfa"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1cfb"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1d01"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1d02"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1d10"]="$NV_DRIVER_G06_CLOSED" ["0x17aa:0x225e"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1d11"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1d12"]="$NV_DRIVER_G06_CLOSED" ["0x1d72:0x1701"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1d13"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1d16"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1d33"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1d34"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1d52"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1d56"]="$NV_DRIVER_G06_CLOSED"
    # Volta
    ["0x10de:0x1d81"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1d83"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1d84"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1db0"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1db1"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1db2"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1db3"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1db4"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1db5"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1db6"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1db7"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1db8"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x131d"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1dba"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x12eb"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1dbd"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1dbe"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1dc1"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1df0"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1df2"]="$NV_DRIVER_G06_CLOSED"
    ["0x10de:0x1df4"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1df5"]="$NV_DRIVER_G06_CLOSED" ["0x10de:0x1df6"]="$NV_DRIVER_G06_CLOSED"
    # Turing
    ["0x10de:0x1e02"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1e03"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1e04"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1e07"]="$NV_DRIVER_G06_OPEN"
    ["0x1462:0x3715"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1e09"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1e2d"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1e2e"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1e30"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x129e"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x12ba"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1e35"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1e36"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1e37"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1304"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1347"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1348"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1349"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1370"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x13a5"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1e38"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1e3c"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1e3d"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1e3e"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1e78"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x13d8"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x13d9"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1e81"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1e82"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1e84"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1e87"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1e89"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1e90"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1e91"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1e93"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1eab"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1eae"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1eb0"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1eb1"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1eb4"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1eb5"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1eb6"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1eb8"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1eb9"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1eba"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1ebe"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1ec2"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1ec7"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1ed0"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1ed1"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1ed3"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1ef5"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1f02"]="$NV_DRIVER_G06_OPEN" ["0x1043:0x8673"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f03"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f04"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1f06"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f07"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f08"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f09"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1f0a"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f0b"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f10"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f11"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1f12"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f14"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f15"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f2e"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1f36"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f42"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f47"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f50"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1f51"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f54"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f55"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f76"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2182"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2183"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2184"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2186"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2187"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2188"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2189"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2191"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2192"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x21ae"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x21bf"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x21c2"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x21c3"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x21c4"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x21d1"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f81"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1f82"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f83"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f91"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f92"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1f94"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f95"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f96"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f97"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1f98"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f99"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f9c"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1f9d"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1f9f"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1fa0"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1fa1"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1fae"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1fb0"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1fb1"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1fb2"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1fb6"]="$NV_DRIVER_G06_OPEN"
    ["0x1028:0x0b10"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1fb7"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1fb8"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1fb9"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1fba"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1fbb"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1fbc"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1fbf"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1fd9"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1fdd"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1ff0"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1ff2"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x1ff9"]="$NV_DRIVER_G06_OPEN"
    # Ampere
    ["0x10de:0x2080"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2081"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2082"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x20b0"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x20b1"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x20b2"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x20b3"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x20b4"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x20b5"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x20b6"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x20b7"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x20b8"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x20b9"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x20bb"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x20bd"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x20be"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x20bf"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x20c0"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x20c2"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x20f0"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x20f1"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x20f2"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x20f3"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x20f5"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x20f6"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x20fd"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x20fe"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x20ff"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2200"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2203"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2204"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x147d"]="$NV_DRIVER_G06_OPEN"
    ["0x3842:0x3973"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2205"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2206"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x1467"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x146d"]="$NV_DRIVER_G06_OPEN" ["0x1462:0x3892"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2207"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2208"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x220a"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x220d"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2216"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x222b"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x222f"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2230"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2231"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2232"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2233"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2235"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2236"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2237"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2238"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x223f"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2414"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2420"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2438"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2460"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2480"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2482"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2483"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2484"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x146b"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x14ae"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2486"]="$NV_DRIVER_G06_OPEN" ["0x19da:0x6630"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2487"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2488"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2489"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x248a"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x248c"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x248d"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x248e"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x249c"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x249d"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x249f"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x24a0"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x24a4"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x24ac"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x24ad"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x24af"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x24b0"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x24b1"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x24b6"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x24b7"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x24b8"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x24b9"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x24ba"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x24bb"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x24bf"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x24c0"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x24c7"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x24c8"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x24c9"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x24dc"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x24dd"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x24df"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x24e0"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x24fa"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2501"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2503"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2504"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2505"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2507"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2508"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2509"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2520"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2521"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2523"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x252f"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2531"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2544"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2560"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2561"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2563"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2571"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2582"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2583"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2584"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x25a0"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x25a2"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x25a3"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x25a4"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x25a5"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x25a6"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x25a7"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x25a9"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x25aa"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x25ab"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x25ac"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x25ad"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x25af"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x25b0"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x25b2"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x25b5"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x25b6"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x25b8"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x25b9"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x25ba"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x25bb"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x25bc"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x25bd"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x25e0"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x25e2"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x25e5"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x25ec"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x25ed"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x25f9"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x25fa"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x25fb"]="$NV_DRIVER_G06_OPEN"    
    # Ada Lovelace
    ["0x10de:0x2681"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2684"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2685"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2689"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x26af"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x26b1"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x26b2"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x26b3"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x26b5"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x26b7"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x26b8"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x26b9"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x26ba"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x26bb"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x26f5"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2702"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2703"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2704"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2705"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2709"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2717"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2730"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2757"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2770"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2782"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2783"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2785"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2786"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2788"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x27a0"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x27b0"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x27b1"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x27b2"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x27b6"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x27b7"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x27b8"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x27ba"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x27bb"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x27e0"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x27fa"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x27fb"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2803"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2805"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2808"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2820"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2822"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2838"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2860"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2878"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2882"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x28a0"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x28a1"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x28a3"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x28b0"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x28b8"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x28b9"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x28ba"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x28bb"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x28e0"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x28e1"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x28e3"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x28f8"]="$NV_DRIVER_G06_OPEN"
    # Blackwell
    ["0x10de:0x2900"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2901"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2920"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2924"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2925"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x293d"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2940"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2941"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x297e"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2980"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x29bb"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x29bc"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x29c0"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x29f1"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2b00"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2b85"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2b87"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2b8c"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2bb1"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2bb2"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2bb3"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2bb4"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2bb5"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2bb9"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2bbc"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2c02"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2c05"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2c18"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2c19"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2c2c"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2c31"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2c33"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2c34"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2c38"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2c39"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2c3a"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2c58"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2c59"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2c77"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2c79"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2d04"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2d05"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2d18"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2d19"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2d2c"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2d30"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2d39"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2d58"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2d59"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2d79"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2d83"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2d98"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2db8"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2db9"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2dd8"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2df9"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2e12"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2e2a"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2f04"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2f18"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x2f38"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2f58"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x2f80"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x3180"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x3182"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x31a1"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x31c0"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x31c2"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x31fe"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x3200"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x3224"]="$NV_DRIVER_G06_OPEN" ["0x10de:0x323e"]="$NV_DRIVER_G06_OPEN"
    ["0x10de:0x3340"]="$NV_DRIVER_G06_OPEN"
    # G07 - not yet in repos, if so all G06-open will go there
)

supported_driver_series_nv="none"
found_device_nv="none"
user_agreed_to_license_nv=false

required_binaries=("kdesu" "kdialog" "qdbus6" "/usr/sbin/transactional-update" "sed")
missing_binaries=()

is_system_ready_for_nvidia=false

is_on_battery=false
is_power_saving=false
is_secure_boot_enabled=false
is_distro_supported=false


enable_mok_autostart(){
    echo -e "[Desktop Entry]\nExec=/usr/bin/kalpa-driver-manager --mok\nType=Application" > "$AUTOSTART_FILE"
}

clear_mok_autostart(){
    if [[ -f "$AUTOSTART_FILE" ]]; then
        rm -f "$AUTOSTART_FILE"
    fi
}

enable_validate_nvidia_autostart(){
        echo -e "[Desktop Entry]\nExec=/usr/bin/kalpa-driver-manager --validate-nv\nType=Application" > "$AUTOSTART_VALIDATE_NVIDIA_FILE"
}

clear_validate_nvidia_autostart(){
    if [[ -f "$AUTOSTART_VALIDATE_NVIDIA_FILE" ]]; then
        rm -f "$AUTOSTART_VALIDATE_NVIDIA_FILE"
    fi
}

enroll_nvidia_mok(){
    kdesu -t -c "for der_file in /usr/share/nvidia-pubkeys/*; do if [[ -f \"\$der_file\" ]]; then echo \"Enrolling: \${der_file}\" && mokutil -i \"\$der_file\" -p 1234 ; fi ; done" >> "$LOG_FILE"
    enroll_nvidia_mok_returned=$?
    if [ $enroll_nvidia_mok_returned == 0 ]; then
        enable_validate_nvidia_autostart
        kdialog --title "$TITLE" --msgbox "MOKs have been enrolled. After restarting your computer the UEFI will show a dialog called 'Perform MOK management'. In here please choose 'Enroll MOK' -> 'Continue' -> 'Yes' and enter '1234' as password. Afterwards the NVIDIA driver should be loaded.\n\nAttention: After every NVIDIA driver update you have to repeated this process. Simply launch 'kalpa-driver-manager --mok', or right-click the Kalpa Driver Manager in start menu and choose MOK management, to run though this dialog again."
    fi
}

read_nvidia_device_name(){
    IFS=":" read -ra vendor_device <<< "$found_device_nv"
    stripped_vendor_id=${vendor_device[0]:2:5}
    stripped_device_id=${vendor_device[1]:2:5}
    echo "$(lspci -d $stripped_vendor_id:$stripped_device_id)"
}

detect_power(){
    if [ ! systemd-ac-power ]; then
        is_on_battery=true
    fi
    if [ $(powerprofilesctl get) == "power-saver" ]; then
        is_power_saving=true
    fi
}

# Scans all PCI devices for vendor NVIDIA
# If NVIDIA devices found checks if they are of type GPU
# If there are NVIDIA GPUs check if they are supported by any known driver as defined in the NVIDIA_SUPPORT_MATRIX
detect_nvidia_gpu_and_supported_driver(){
    for device in $PCI_DEVICE_PATH*; do
        device_class=$(cat ${device}/class)
        if [ $device_class == $DESKTOP_GPU_CLASS ] || [ $device_class == $MOBILE_GPU_CLASS ]; then
            vendor_id=$(cat ${device}/vendor)
            device_id=$(cat ${device}/device)
            device_key="$vendor_id:$device_id"
            if [[ -n "${NVIDIA_SUPPORT_MATRIX[$device_key]}" ]]; then
                found_device_nv="$device_key"
                supported_driver_series_nv="${NVIDIA_SUPPORT_MATRIX[$device_key]}"
            fi
        fi
    done
}

detect_nvidia_driver_running(){
    for module in ${NVIDIA_DRIVER_MODULES[@]}; do
        if [ ! $(lsmod | grep -om1 $module) ]; then
            return 1 # false
        fi
    done
    return 0 # true
}

detect_secureboot_state(){
    if  detect_binary "mokutil"; then
        while IFS= read -r line ; do
            if [ "$line" == "SecureBoot enabled" ]; then
                is_secure_boot_enabled=true
            fi
        done < <(mokutil --sb-state)
    fi
}

detect_distribution(){
    while IFS= read -r line ; do
        if [ "$line" == "ID=\"kalpa-desktop\"" ] || [ "$line" == "ID=\"opensuse-microos\"" ]; then
            is_distro_supported=true
        fi
    done < <(cat /etc/os-release)
}

detect_binary(){
    return $(command -v "$1" >/dev/null 2>&1)
}

detect_binaries(){
    for binary in ${required_binaries[@]}; do
        if ! detect_binary "$binary"; then
            missing_binaries+=("$binary")
        fi
    done
}

analyze_system(){
    detect_binaries
    detect_distribution
    detect_secureboot_state
    detect_nvidia_gpu_and_supported_driver
    detect_power
}

verify_ready_for_driver(){
    if [ $found_device_nv != "none" ]; then
        if ! detect_nvidia_driver_running; then
            is_system_ready_for_nvidia=true
        fi
    fi

    if [ $is_system_ready_for_nvidia = false ]; then
        kdialog --title "$TITLE" --msgbox "All drivers for this system seem to be installed and running."
        exit 1
    else
        case $supported_driver_series_nv in
            "$NV_DRIVER_G00"|"$NV_DRIVER_G04"|"$NV_DRIVER_G05")
                kdialog --title "$TITLE" --sorry "Kalpa detected a NVIDIA GPU:\n\n$(read_nvidia_device_name)\nDevice ID: $found_device_nv\n\nbut is not supported by a recent enough driver and considered to have a bad user experience.\n\nIf you believe this to be a mistake please check your graphics card at:\n\nhttps://www.nvidia.com/en-us/drivers/\n\nIf the minimum supported driver series is 500 or newer, then please report this issue to Kalpa Desktop."
                exit 1
            ;;
        esac
    fi
}

verify_system(){
    if [ ${#missing_binaries[@]} -ne 0 ]; then
        missing_binaries_string=""
        for missing_bin in ${missing_binaries}; do
            missing_binaries_string+="$missing_bin, "
        done
        message="We couldn't detect the following binaries: $missing_binaries_string this tool is only to be used on Kalpa Desktop."
        if detect_binary "kdialog" ; then
            kdialog --title "$TITLE" --sorry "$message"
        elif detect_binary "zenity"; then
            zenity --error --title "$TITLE" --text "$message"
        else
            echo "$message"
        fi
        exit 1
    else
        verify_ready_for_driver
    fi
}

power_mode_consent(){
    if [ $is_on_battery = true ] || [ $is_power_saving = true ]; then
        case $supported_driver_series_nv in
            "$NV_DRIVER_G06_CLOSED")
                if ! kdialog --title "$TITLE" --yesno "Kalpa detected your system is running on battery or in power saving mode while your GPU requires the closed source NVIDIA kernel modules. Installing these modules requires a substantial amount of energy as they have to be build locally on your machine for the currently running Linux kernel. It is recommended to connect the system to an external power source first or disabling the power save mode to speed up the module compilation. Do you wish to continue anyway?"; then
                    exit 1
                fi
            ;;
        esac
    fi
}

user_consent(){
    kdialog --title "$TITLE" --msgbox "This tool will setup and install the proprietary NVIDIA driver.\n➡️ Using this utility comes with absolutely no warranty use it on your own risk.\n➡️ The driver is not developed by Kalpa, using it is on your own risk.\n➡️ Any driver specific errors are to be reported directly to NVIDIA.\n➡️ By continuing you agree to the NVIDIA Driver License Agreement which can be found here: https://www.nvidia.com/en-us/drivers/nvidia-license/linux/"

    if kdialog --title "$TITLE" --yesno "Do you accept the NVIDIA Driver License Agreement?"; then
        user_agreed_to_license_nv=true
    fi
}

_run_only_in_tu_setup_g06_open_driver(){
    sed -i 's/# autoAgreeWithLicenses = no/autoAgreeWithLicenses = yes/' /etc/zypp/zypper.conf
    zypper -n --gpg-auto-import-keys in --auto-agree-with-licenses openSUSE-repos-MicroOS-NVIDIA
    zypper -n --gpg-auto-import-keys in --auto-agree-with-licenses nvidia-open-driver-G06-signed-kmp-meta
    version=$(rpm -qa --queryformat '%{VERSION}\n' nvidia-open-driver-G06-signed-kmp-default | cut -d "_" -f1 | sort -u | tail -n 1)
    zypper -n --gpg-auto-import-keys in --auto-agree-with-licenses nvidia-compute-utils-G06 == $version nvidia-persistenced == $version nvidia-video-G06 == $version
    return $?
}

_run_only_in_tu_setup_g06_closed_driver(){
    sed -i 's/# autoAgreeWithLicenses = no/autoAgreeWithLicenses = yes/' /etc/zypp/zypper.conf
    zypper -n --gpg-auto-import-keys in --auto-agree-with-licenses openSUSE-repos-MicroOS-NVIDIA
    zypper -n --gpg-auto-import-keys in --auto-agree-with-licenses nvidia-driver-G06-kmp-meta
    return $?
}

do_install_nvidia_drivers(){
    if kdialog --title "$TITLE" --yesno "Kalpa will install driver series $supported_driver_series_nv for your device:\n$(read_nvidia_device_name) ($found_device_nv)"; then
        current_install_step=0

        dbusRef=`kdialog --title "$TITLE" --progressbar "Setup Kalpa Desktop, please stand by ..." 1`
        qdbus6 $dbusRef showCancelButton false

        qdbus6 $dbusRef setLabelText "Installing NVIDIA driver..."
        case $supported_driver_series_nv in
            "$NV_DRIVER_G06_CLOSED")
                qdbus6 $dbusRef setLabelText "Installing NVIDIA driver, this will take some time..."
                kdesu -t -c "transactional-update run kalpa-driver-manager --install-G06-closed && transactional-update -c initrd" >> "$LOG_FILE"
                install_returned=$?
            ;;
            "$NV_DRIVER_G06_OPEN")
                kdesu -t -c "transactional-update run kalpa-driver-manager --install-G06-open && transactional-update -c initrd" >> "$LOG_FILE"
                install_returned=$?
            ;;
        esac
        ((current_install_step++))
        qdbus6 $dbusRef Set "" value $current_install_step

        qdbus6 $dbusRef close

        if [ $install_returned == 0 ]; then
            if [ $is_secure_boot_enabled = true ] && [ $supported_driver_series_nv == "$NV_DRIVER_G06_CLOSED" ]; then
                enable_mok_autostart
                kdialog --title="$TITLE" --msgbox "Driver installation successful. However we detected SecureBoot is enabled while also installing the closed source NVIDIA Kernel module. In order for the driver to actual function we have to enroll the required SecureBoot signing keys for the driver. After rebooting $TITLE will open up and guide you through the process."
            else
                enable_validate_nvidia_autostart
                kdialog --title="$TITLE" --msgbox "Installation successful, please reboot your computer any time for the driver to load up."
            fi
        else
            kdialog --title="$TITLE" --sorry "There seemed to be an error during the driver installation. Please submit this error to Kalpa Desktop and attache this log file to the report $LOG_FILE"
        fi
    fi
}

read_commandline(){
    for i in "$@"; do
        case $i in
            -m*|--mok*)
            analyze_system
            verify_system
            if [ $is_secure_boot_enabled = true ]; then
                if [ $supported_driver_series_nv == "$NV_DRIVER_G06_CLOSED" ]; then
                    if kdialog --title "$TITLE" --yesno "Welcome to the MOK enroll assistant. By continuing we will modify your systems SecureBoot setup by adding the NVIDIA provided signing Key to the UEFI keystore. Do you wish to continue?"; then
                        enroll_nvidia_mok
                    fi
                else
                    kdialog --title "$TITLE" --msgbox "Enrolling signing keys is not required on this system. Your GPU is supported by the open source NVIDIA kernel module which do not require the enrollment of singing keys."
                fi
            else
                kdialog --title "$TITLE" --msgbox "Enrolling signing keys is not required on this system. SecureBoot is disabled"
            fi
            clear_mok_autostart
            ;;
            --install-G06-open*)
                _run_only_in_tu_setup_g06_open_driver
                if [ $? == 0 ]; then
                    exit 0
                else
                    exit 1
                fi
            ;;
            --install-G06-closed*)
                _run_only_in_tu_setup_g06_closed_driver
                if [ $? == 0 ]; then
                    exit 0
                else
                    exit 1
                fi
            ;;
            --validate-nv*)
                analyze_system
                if detect_nvidia_driver_running; then
                    clear_validate_nvidia_autostart
                else
                    kdialog --title "$TITLE" --sorry "It seems the NVIDIA drivers couldn't be loaded despite the installation looked to be done successful. Please report this error to Kalpa Desktop and attach $LOG_FILE so we can investigate."
                    clear_validate_nvidia_autostart
                fi
            ;;
            -v|--version*)
                echo $VERSION
            ;;
            -h|--help*)
                echo "$TITLE usage kalpa-driver-manager [OPTIONS]"
                echo "Version: $VERSION"
                echo ""
                echo "Options:"
                echo "  -m | --mok              Enrolls machine owner keys (MOK) for SecureBoot enabled systems requiring closed source proprietary kernel modules shipping their own singing keys"
                echo "  --validate-nv           Validates whether the nvidia driver modules have been loaded or not. Useful to check if the installation of the driver was actually successful"
                echo "  --install-G06-open      Install the G06 driver using the open source module. It is mandatory to run this cli option with transactional-update otherwise it will fail."
                echo "  --install-G06-closed    Install the G06 driver using the closed source module. It is mandatory to run this cli option with transactional-update otherwise it will fail."
                echo "  -v | --version          Prints current version"
                echo "  -h | --help             Prints this message"
                echo ""
                echo "If no options are supplied the manager will walk through the default driver managing process and scans the system for hardware which is known to require additional driver software as well as if required drivers are already installed"
            ;;
            *)
                # Unknonw option
            ;;
        esac
    done
}

main(){
    analyze_system
    verify_system
    power_mode_consent
    user_consent

    if [ $user_agreed_to_license_nv = true ]; then
        do_install_nvidia_drivers
    fi
}

if [ "$#" -eq 0 ]; then
    main
else
    read_commandline $@
fi