-- phpMyAdmin SQL Dump
-- version 5.2.2
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1:3306
-- Generation Time: Sep 22, 2025 at 04:16 PM
-- Server version: 8.2.0
-- PHP Version: 8.3.4

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `nubuilder`
--

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_access`
--

CREATE TABLE `zzzzsys_access` (
  `zzzzsys_access_id` varchar(25) NOT NULL DEFAULT '',
  `sal_code` varchar(50) DEFAULT NULL,
  `sal_description` varchar(200) DEFAULT NULL,
  `sal_group` varchar(80) DEFAULT NULL,
  `sal_zzzzsys_form_id` varchar(25) DEFAULT NULL,
  `sal_use_2fa` varchar(1) DEFAULT NULL,
  `sal_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_access_form`
--

CREATE TABLE `zzzzsys_access_form` (
  `zzzzsys_access_form_id` varchar(25) NOT NULL DEFAULT '',
  `slf_zzzzsys_access_id` varchar(25) DEFAULT NULL,
  `slf_zzzzsys_form_id` varchar(25) DEFAULT NULL,
  `slf_add_button` varchar(1) DEFAULT NULL,
  `slf_save_button` varchar(1) DEFAULT NULL,
  `slf_delete_button` varchar(1) DEFAULT NULL,
  `slf_clone_button` varchar(1) DEFAULT NULL,
  `slf_new_button` varchar(1) DEFAULT NULL,
  `slf_print_button` varchar(1) DEFAULT NULL,
  `slf_data_mode` varchar(2) DEFAULT NULL,
  `slf_form_type` varchar(2) DEFAULT NULL,
  `slf_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_access_php`
--

CREATE TABLE `zzzzsys_access_php` (
  `zzzzsys_access_php_id` varchar(25) NOT NULL,
  `slp_zzzzsys_access_id` varchar(25) DEFAULT NULL,
  `slp_zzzzsys_php_id` varchar(25) DEFAULT NULL,
  `slp_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_access_report`
--

CREATE TABLE `zzzzsys_access_report` (
  `zzzzsys_access_report_id` varchar(25) NOT NULL,
  `sre_zzzzsys_access_id` varchar(25) DEFAULT NULL,
  `sre_zzzzsys_report_id` varchar(25) DEFAULT NULL,
  `srp_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_app_cloner`
--

CREATE TABLE `zzzzsys_app_cloner` (
  `zzzzsys_app_cloner_id` varchar(25) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL,
  `cla_code` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_description` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_log_file` varchar(150) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_copy_files` varchar(1) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_copy_files_mode` varchar(10) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_source_path` varchar(400) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_target_host` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_target_db` varchar(40) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_target_username` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_target_password` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_target_port` smallint DEFAULT NULL,
  `cla_target_db_collation` varchar(30) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_target_charset` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_target_path` varchar(400) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_excluded_dirs` varchar(2000) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_excluded_files` varchar(2000) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_insert_type` varchar(15) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_target_db_mode` varchar(10) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_dry_run` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_opt_1` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_opt_2` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `[REDACTED]` mediumtext COLLATE utf8mb3_unicode_ci,
  `cla_opt_3` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_opt_4` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_opt_5` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_opt_6` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_opt_7` varchar(1) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_opt_8` varchar(1) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_opt_9` varchar(1) COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_show_progress` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL,
  `cla_transaction_mode` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_browse`
--

CREATE TABLE `zzzzsys_browse` (
  `zzzzsys_browse_id` varchar(25) NOT NULL DEFAULT '',
  `sbr_zzzzsys_form_id` varchar(25) DEFAULT NULL,
  `sbr_title` varchar(100) DEFAULT NULL,
  `sbr_display` varchar(512) DEFAULT NULL,
  `sbr_align` char(1) DEFAULT NULL,
  `sbr_format` varchar(300) DEFAULT NULL,
  `sbr_order` int DEFAULT NULL,
  `sbr_width` int DEFAULT NULL,
  `sbr_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

--
-- Dumping data for table `zzzzsys_browse`
--

INSERT INTO `zzzzsys_browse` (`zzzzsys_browse_id`, `sbr_zzzzsys_form_id`, `sbr_title`, `sbr_display`, `sbr_align`, `sbr_format`, `sbr_order`, `sbr_width`, `sbr_json`) VALUES
('nu5bad6cb3746cc1b', 'nuuser', 'Language', 'sus_language', 'l', '', 50, 130, NULL),
('nu5bad6cb3747d41c', 'nuuser', 'Username', 'sus_login_name', 'l', '', 20, 145, NULL),
('nu5bad6cb37487772', 'nulaunchform', 'Type', 'sfo_type', 'l', '', 10, 100, NULL),
('nu5bad6cb3749102a', 'nulaunchform', 'Code', 'sfo_code', 'l', '', 20, 150, NULL),
('nu5bad6cb3749a37d', 'nulaunchform', 'Description', 'sfo_description', 'l', '', 30, 250, NULL),
('nu5bad6cb374a3c61', 'nutablookup', 'Tab', 'syt_title', 'l', '', 10, 200, NULL),
('nu5bad6cb374ae1fc', 'nutablookup', 'Form', 'sfo_description', 'l', '', 20, 150, NULL),
('nu5bad6cb374b7c3b', 'nutablookup', 'Code', 'sfo_code', 'l', '', 30, 160, NULL),
('nu5bad6cb374c102f', 'nutablookup', 'Type', 'sfo_type', 'l', '', 40, 100, NULL),
('nu5bad6cb374ca5aa', 'nuform', 'Code', 'sfo_code', 'l', '', 30, 250, NULL),
('nu5bad6cb374d3dbc', 'nuform', 'Description', 'sfo_description', 'l', '', 40, 440, NULL),
('nu5bad6cb374dd13c', 'nutab', 'Form', 'sfo_description', 'l', '', 20, 150, NULL),
('nu5bad6cb374f3729', 'nutab', 'Tab', 'syt_title', 'l', '', 10, 200, NULL),
('nu5bad6cb37505eea', 'nuobject', 'Form', 'sfo_description', 'l', '', 60, 210, NULL),
('nu5bad6cb37547640', 'nuobject', 'Tab', 'syt_title', 'l', '', 70, 135, NULL),
('nu5bad6cb375a3782', 'nuobject', 'Object', 'sob_all_id', 'l', '', 30, 235, NULL),
('nu5bad6cb375afa75', 'nuobject', 'Type', 'sob_all_type', 'l', '', 10, 120, NULL),
('nu5bad6cb375bd72e', 'nuobject', 'Label', 'sob_all_label', 'l', '', 50, 180, NULL),
('nu5bad6cb375c8f2a', 'nutab', 'Type', 'sfo_type', 'l', '', 40, 100, NULL),
('nu5bad6cb375d23fd', 'nunonsystemform', 'Code', 'sfo_code', 'l', '', 20, 150, NULL),
('nu5bad6cb375dbd9c', 'nunonsystemform', 'Description', 'sfo_description', 'l', '', 30, 250, NULL),
('nu5bad6cb375e5588', 'nunonsystemform', 'Type', 'sfo_type', 'l', '', 10, 100, NULL),
('nu5bad6cb375eeb8e', 'nuaccess', 'Code', 'sal_code', 'l', '', 10, 300, NULL),
('nu5bad6cb375f8259', 'nuaccess', 'Description', 'sal_description', 'l', '', 20, 400, NULL),
('nu5bad6cb376017c8', 'nuuser', 'Name', 'sus_name', 'l', '', 10, 185, NULL),
('nu5bad6cb3760ae9a', 'nuuser', 'Email', 'sus_email', 'l', '', 30, 140, NULL),
('nu5bad6cb376141d0', 'nuuser', 'Access Level', 'CONCAT(sal_code,\' : \',sal_description) AS acl', 'l', '', 40, 220, NULL),
('nu5bad6cb3761e561', 'nuprocedure', 'Code', 'sph_code', 'l', '', 10, 300, NULL),
('nu5bad6cb37627eb1', 'nuprocedure', 'Description', 'sph_description', 'l', '', 20, 480, NULL),
('nu5bad6cb37631164', 'nubuildreport', 'Code', 'sre_code', 'l', '', 10, 280, NULL),
('nu5bad6cb3763a5b4', 'nubuildreport', 'Description', 'sre_description', 'l', '', 20, 360, NULL),
('nu5bad6cb3764389f', 'nuform', 'Type', 'sfo_type', 'l', '', 20, 120, NULL),
('nu5bad6cb3764cb3b', 'nubuildreport', 'Launch From', 'CONCAT(sfo_code, \' - \', sfo_description)', 'l', '', 40, 250, NULL),
('nu5bad6cb376560e0', 'nurun', 'Type', 'type', 'l', '', 10, 100, NULL),
('nu5bad6cb3765f712', 'nurun', 'Code', 'code', 'l', '', 20, 100, NULL),
('nu5bad6cb37668ca4', 'nurun', 'Description', 'description', 'l', '', 30, 100, NULL),
('nu5bad6cb37672072', 'nurunlist', 'Type', 'run', 'l', '', 10, 100, NULL),
('nu5bad6cb3767b4d5', 'nurunlist', 'Code', 'code', 'l', '', 20, 150, NULL),
('nu5bad6cb376849b6', 'nurunlist', 'Description', 'description', 'l', '', 30, 250, NULL),
('nu5bad6cb3768dd0c', 'nudebug', 'Message', 'deb_message', 'l', '', 10, 700, NULL),
('nu5bad6cb37697a01', 'nuaccesslevelreport', '1', '1', 'l', '', 10, 1, NULL),
('nu5bad6cb376a1655', 'nutab', 'Code', 'sfo_code', 'l', '', 30, 100, NULL),
('nu5bad6cb376aaab5', 'nubrowse', 'Title', 'sbr_title', 'l', '', 20, 240, NULL),
('nu5bad6cb376b3dd7', 'nubuildreport', 'Group', 'sre_group', 'l', '', 30, 280, NULL),
('nu5bad6cb376bd159', 'nuprocedure', 'Group', 'sph_group', 'l', '', 30, 160, NULL),
('nu5bad6cb376c65d3', 'nurunreport', 'Code', 'sre_code', 'l', '', 20, 150, NULL),
('nu5bad6cb376cf902', 'nurunreport', 'Description', 'sre_description', 'l', '', 30, 250, NULL),
('nu5bad6cb376d900a', 'nurunreport', 'Group', 'sre_group', 'l', '', 40, 150, NULL),
('nu5bad6cb376e2688', 'nurunphp', 'Code', 'sph_code', 'l', '', 10, 205, NULL),
('nu5bad6cb376eb9d6', 'nurunphp', 'Description', 'sph_description', 'l', '', 20, 420, NULL),
('nu5bad6cb376f4f5f', 'nurunphp', 'Group', 'sph_group', 'l', '', 30, 150, NULL),
('nu5bad6cb376fe259', 'nurunreport', 'Form', 'sre_zzzzsys_form_id', 'l', '', 10, 0, NULL),
('nu5bad6cb37707660', 'nurunphp', 'Form ID', 'sph_zzzzsys_form_id', 'l', '', 40, 0, NULL),
('nu5bad6cb3771115d', 'nuobject', 'Form Id', 'zzzzsys_form_id', 'l', '', 40, 0, NULL),
('nu5bad6cb3771b003', 'nuprocedure', 'Launch From', 'CONCAT(sfo_code, \' - \', sfo_description)', 'l', '', 60, 180, NULL),
('nu5bad6cb37724836', 'nutimezone', 'Time Zone', 'stz_timezone', 'l', '', 10, 350, NULL),
('nu5bad6cb3772dd22', 'nutranslate', 'Language', 'trl_language', 'l', '', 10, 140, NULL),
('nu5bad6cb37737185', 'nutranslate', 'English', 'trl_english', 'l', '', 20, 345, NULL),
('nu5bad6cb377406bb', 'nutranslate', 'Translation', 'trl_translation', 'l', '', 30, 430, NULL),
('nu5bad6cb37749ba7', 'nucalcobjects', 'object.subform', 'CONCAT(thechild,IF(theparent = \'\',\'\',\'.\'),theparent)', 'c', '', 10, 250, NULL),
('nu5bad6cb377531c6', 'nucalcobjects', ' ', 'theform', 'l', '', 30, 0, NULL),
('nu5bad6cb37765e82', 'nucalcobjects', ' ', 'thevalue', 'l', '', 40, 2, NULL),
('nu5bad6cb3777c5ee', 'nucalcobjects', 'Object', 'thechild', 'l', '', 20, 0, NULL),
('nu5bad6cb377899bf', 'nuformat', 'Type', 'srm_type', 'l', '', 20, 150, NULL),
('nu5bad6cb3779593d', 'nuformat', 'Format', 'srm_format', 'l', '', 10, 190, NULL),
('nu5bad6cb377a01b0', 'nuobject', 'Input Type', 'sob_input_type', 'l', '', 20, 150, NULL),
('nu5bad6cb377a9e19', 'nubrowse', 'join', 'sbr_zzzzsys_form_id', 'l', '', 10, 0, NULL),
('nu5bad6cb377b6a58', 'nuform', 'Table', 'sfo_table', 'l', '', 50, 220, NULL),
('nu5bad6cb377c33ea', 'nufile', 'Code', 'sfi_code', 'l', '', 10, 200, NULL),
('nu5bad6cb377d2981', 'nufile', 'Description', 'sfi_description', 'l', '', 20, 300, NULL),
('nu5bad6cb3781d394', 'nufile', 'JSON', 'sfi_json', 'l', '', 30, 0, NULL),
('nu5bad6cb3783715c', 'nufile', 'Image', 'NULL', 'c', '', 40, 300, NULL),
('nu5bad6cb37849637', 'nufile', 'Group', 'sfi_group', 'l', '', 50, 150, NULL),
('nu5bad6cb3786de92', 'nuselect', 'Description', 'sse_description', 'l', '', 20, 600, NULL),
('nu5bad6cb3787ca71', 'nulaunchable', 'Type', 'sfo_type', 'l', '', 10, 100, NULL),
('nu5bad6cb37889036', 'nulaunchable', 'Code', 'sfo_code', 'l', '', 20, 240, NULL),
('nu5bad6cb3789662e', 'nulaunchable', 'Description', 'sfo_description', 'l', '', 30, 400, NULL),
('nu5bad6cb378aa4cf', 'nulaunchable', 'Table', 'sfo_table', 'l', '', 40, 200, NULL),
('nu5bad6cb378b79f4', 'nudebug', 'When', 'deb_added', 'l', '', 30, 130, NULL),
('nu5bad6cb378c316b', 'nubuildtable', 'Code', 'srd_code', 'l', '', 10, 100, NULL),
('nu5bad6cb378cf278', 'nubuildtable', 'Description', 'srd_description', 'l', '', 20, 300, NULL),
('nu5f9aaac9719b88c', 'nucloner', 'Source Form', 'clo_form_source', 'l', '', 10, 190, NULL),
('nu5f9aaac971c84e2', 'nucloner', 'Destination Form', 'clo_form_dest', 'l', '', 20, 190, NULL),
('nu5f9aaac971ec977', 'nucloner', 'Dump SQL', 'REPLACE(REPLACE(clo_dump,1,\'✔\'),0,\'\')', 'l', '', 30, 75, NULL),
('nu5f9aaac971fc30c', 'nucloner', 'Without Objects', 'REPLACE(REPLACE(clo_objects,1,\'✔\'),0,\'\')', 'l', '', 40, 175, NULL),
('nu5f9c04dbab4da92', 'nucloner', 'Notes', 'clo_notes', 'l', '', 50, 350, NULL),
('nu5fd29810a628f4f', 'nunotes', 'Notes', 'not_title', 'l', '', 20, 600, NULL),
('nu5fd29810a62a421', 'nunotes', 'Category', 'noc_name', 'l', '', 10, 150, NULL),
('nu5fd3b22fa460a12', 'nunotescategroy', 'Category', 'noc_name', 'l', '', 10, 400, NULL),
('nu5fd3bb4dc0d2841', 'nunotes', 'Updated on', 'not_updated_on', 'l', '', 40, 145, NULL),
('nu5fd5b7fc8c163a3', 'nuuser', 'Code', 'sus_code', 'l', '', 60, 55, NULL),
('nu5fd5b7fc8de0c57', 'nuuser', 'Position', 'sus_position', 'l', '', 70, 130, NULL),
('nu5fd5b7fc8fad224', 'nuuser', 'Team', 'sus_team', 'l', '', 90, 120, NULL),
('nu5fd8d2459834722', 'nutranslate', 'Added by User', 'IF(zzzzsys_translate_id like \'nu%\',\'\',\'✔\')', 'l', '', 40, 140, NULL),
('nu5fd8ed3051616cd', 'nusession', 'Login Name', 'login', 'l', '', 30, 180, NULL),
('nu5fd8ed305162c77', 'nusession', 'Username', 'user', 'l', '', 20, 180, NULL),
('nu5fd8ed3051639e7', 'nusession', 'Login Time', 'login_time', 'l', '', 40, 200, NULL),
('nu5fdb1b5b3fd1be7', 'nucodesnippet', 'Code', 'cot_code', 'l', '', 20, 250, NULL),
('nu5fdb1b5b407a6f1', 'nucodesnippet', 'Description', 'cot_description', 'l', '', 40, 400, NULL),
('nu5fdb1b5b408a860', 'nucodesnippet', 'Language', 'cot_language', 'l', '', 10, 120, NULL),
('nu5fdb668a2947958', 'nuobject', 'Access', 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(sob_all_access,0,\'Editable\'),1,\'Readonly\'),2,\'Hidden\'),3,\'Hidden (User)\'),\'4\',\'Hidden (User) + Readonly\')', 'l', '', 80, 115, NULL),
('nu5fdb67accbbfa6d', 'nuobject', 'Validation', 'REPLACE(REPLACE(REPLACE(REPLACE(sob_all_validate, 0,\'None\'),1,\'No Blanks\'),2,\'No Duplicates\'),3,\'No Duplicates/Blanks\')', 'l', '', 90, 150, NULL),
('nu5fdb689731ed0db', 'nuobject', 'Align', 'CONCAT(UCASE(LEFT(sob_all_align, 1)),SUBSTRING(LOWER(sob_all_align),2))', 'l', '', 100, 90, NULL),
('nu5fdcc69ceb26325', 'nucodesnippet', 'Changed On', 'cot_updated_on', 'l', '', 50, 180, NULL),
('nu5fdfd91ab3a0d63', 'nusession', 'IP Address', 'ip', 'l', '', 50, 170, NULL),
('nu5fe0352637b2e4f', 'nuuser', 'Expires On', 'sus_expires_on', 'l', 'D|yyyy-mm-dd', 100, 130, NULL),
('nu5fe035b0d058339', 'nuuser', 'Department', 'sus_department', 'l', '', 80, 140, NULL),
('nu5fe179294648601', 'nuform', ' ', 'null', 'l', '', 10, 50, NULL),
('nu5fed7ae8d82586a', 'nuobjectgrid', 'Code', 'sfo_code', 'l', '', 10, 250, NULL),
('nu5ff0df492665285', 'nuaccess', 'Home', 'sfo_code', 'l', '', 40, 300, NULL),
('nu60fd004179b7f95', 'nuselect', 'Code', 'sse_code', 'l', '', 10, 300, NULL),
('nu61bb9991f1c4d45', 'nudebug', 'User', 'IFNULL(sus_name, deb_user_id)', 'l', '', 40, 170, NULL),
('nu61d7d0231fff5c5', 'nuaccess', 'Group', 'sal_group', 'l', NULL, 30, 280, NULL),
('nu635294e972c14ef', 'nuemailtemplate', 'Description', 'emt_description', 'l', '', 100, 130, NULL),
('nu635294e972c1e89', 'nuemailtemplate', 'Subject', 'emt_subject', 'l', '', 60, 210, NULL),
('nu635294e972c2625', 'nuemailtemplate', 'To', 'emt_to', 'l', '', 70, 95, NULL),
('nu635294e972c2d41', 'nuemailtemplate', 'Language', 'emt_language', 'c', '', 40, 130, NULL),
('nu635294e972c3457', 'nuemailtemplate', 'Form', 'sfo_description', 'l', NULL, 50, 160, NULL),
('nu635294e972c3b80', 'nuemailtemplate', 'Group', 'emt_group', 'l', NULL, 20, 100, NULL),
('nu635294e972c429c', 'nuemailtemplate', 'Code', 'emt_code', 'l', NULL, 10, 230, NULL),
('nu6353373db2e435c', 'nuemailtemplate', 'CC', 'emt_cc', 'l', NULL, 80, 115, NULL),
('nu6353373db60f3b6', 'nuemailtemplate', 'BCC', 'emt_bcc', 'l', NULL, 90, 110, NULL),
('nu63efd6559d98201', 'nuobjectevent', 'Event', 'sev_event', 'l', '', 30, 110, NULL),
('nu63efd6559e407ea', 'nuobjectevent', 'JavaScript', 'sev_javascript', 'l', '', 40, 540, NULL),
('nu63efd77886152f1', 'nuobjectevent', 'Object', 'sob_all_id', 'l', NULL, 20, 225, NULL),
('nu63efd7ebe965c50', 'nuobjectevent', 'Tab', 'syt_title', 'l', NULL, 10, 100, NULL),
('nu63f0aec187a8b7f', 'nunuobjectevent', 'Tab', 'IF (LEFT(syt_title,1) = \'|\', SUBSTR(syt_title, 2), syt_title)', 'l', NULL, 10, 100, NULL),
('nu63f0aec188423bf', 'nunuobjectevent', 'Object', 'sob_all_id', 'l', NULL, 20, 225, NULL),
('nu63f0aec188c5610', 'nunuobjectevent', 'Event', 'sev_event', 'l', NULL, 30, 110, NULL),
('nu63f0aec18949fac', 'nunuobjectevent', 'JavaScript', 'sev_javascript', 'l', NULL, 40, 620, NULL),
('nu647b47e3943fc57', 'nucodesnippet', 'Group', 'cot_group', 'l', NULL, 30, 180, NULL),
('nu648030319e8fa15', 'nuform', 'Group', 'sfo_group', 'l', NULL, 60, 100, NULL),
('nu65d777ae073fdbf', 'nupermissionitem', 'Description', 'pme_description', 'l', '', 30, 860, NULL),
('nu65d777ae076e987', 'nupermissionitem', 'Ident', 'pme_ident', 'l', '', 10, 235, NULL),
('nu65d7833b8766fd0', 'nupermissionitem', 'Group', 'pme_group', 'l', NULL, 20, 225, NULL),
('nu65e9ea5e7414ca0', 'nudebug', 'Flag', 'deb_flag', 'l', NULL, 20, 180, NULL),
('nu65f27499bd98728', 'nuphp', 'Code', 'sph_code', 'l', '', 10, 300, NULL),
('nu65f27499bd9ba79', 'nuphp', 'Description', 'sph_description', 'l', '', 20, 580, NULL),
('nu65f27499bd9dbce', 'nuphp', 'Group', 'sph_group', 'l', '', 30, 175, NULL),
('nu65f27499bd9f97e', 'nuphp', 'Launch From', 'CONCAT(sfo_code, \' - \', sfo_description)', 'l', '', 40, 405, NULL),
('nu65f28ff562c3640', 'nuemaillog', 'Sent At', 'eml_sent_at', 'l', '', 20, 125, NULL),
('nu65f28ff562c4440', 'nuemaillog', 'Created At', 'eml_created_at', 'l', '', 10, 125, NULL),
('nu65f28ff562c4cea', 'nuemaillog', 'State', 'eml_state', 'l', '', 30, 130, NULL),
('nu65f28ff562c532b', 'nuemaillog', 'To', 'eml_to', 'l', '', 40, 150, NULL),
('nu65f28ff562c5ad0', 'nuemaillog', 'Subject', 'eml_subject', 'l', '', 50, 249, NULL),
('nu65f28ff562c619f', 'nuemaillog', 'Error', 'eml_error', 'l', '', 60, 145, NULL),
('nu65f28ff562c6881', 'nuemaillog', 'Table', 'eml_table_name', 'l', '', 70, 120, NULL),
('nu65f28ff562c6ffd', 'nuemaillog', 'Tags', 'eml_tag', 'l', '', 80, 70, NULL),
('nu65f28ff562c768f', 'nuemaillog', 'Form', 'CONCAT(sfo_code, \': \', sfo_description)', 'l', '', 90, 154, NULL),
('nu65f28ff562c7d6c', 'nuemaillog', 'User', 'sus_name', 'l', '', 100, 120, NULL),
('nu65f28ff562c841d', 'nuemaillog', 'Record', 'eml_record_id', 'l', '', 110, 0, NULL),
('nu67aa94103ed9b9f', 'nusession', 'Terminate', 'NULL', 'l', NULL, 10, 90, NULL),
('nu67aa98c7b218fc1', 'nusession', 'Session Id', 'zzzzsys_session_id', 'l', NULL, 60, 0, NULL),
('nu67b5e6b0e09f411', 'nuFormat', 'Default', 'REPLACE(REPLACE(IFNULL(srm_default,\'\'),1,\'✔\'),0,\'\')', 'c', NULL, 30, 120, NULL),
('nu67f22e3baa8fb58', 'nu67f22e3ba027e23', 'Object ID', 'sob_all_id', 'l', '', 10, 150, NULL),
('nu67f22e3baaa1532', 'nu67f22e3ba027e23', 'Form Code', 'sfo_code', 'l', '', 20, 225, NULL),
('nu67f22f45127989b', 'nu67f22e3ba027e23', 'Form Description ', 'sfo_description', 'l', NULL, 30, 370, NULL),
('nu67f233a1045f7cc', 'nu67f22e3ba027e23', 'File Id', 'sob_image_zzzzsys_file_id', 'l', NULL, 40, 0, NULL),
('nu67f3174964bda68', 'nufile', 'Linked Objects', 'counter', 'c', NULL, 60, 250, NULL),
('nu682ddc25ab3c2d4', 'nu682ddc25aa0bb5f', 'Code', 'sfo_code', 'l', '', 20, 150, NULL),
('nu682ddc25ab41022', 'nu682ddc25aa0bb5f', 'Description', 'sfo_description', 'l', '', 30, 170, NULL),
('nu682ddc25ab44c49', 'nu682ddc25aa0bb5f', 'Type', 'sfo_type', 'l', '', 10, 100, NULL),
('nu682ebf5750aa854', 'nu682ddc25aa0bb5f', 'Access Levels', 'access_levels', 'l', NULL, 40, 300, NULL),
('nu682ebf5750eb2ef', 'nu682ddc25aa0bb5f', 'Count', 'access_levels_count', 'l', NULL, 50, 100, NULL),
('nu682fe38322e7e70', 'nuform', 'Status', 'REPLACE(REPLACE(REPLACE(REPLACE(IFNULL(sfo_status, \'Active\'), \'0\', \'Draft\'), \'1\', \'Active\'), \'2\', \'Disabled\'), \'3\', \'Archived\')', 'c', NULL, 70, 130, NULL),
('nu683303b26da6924', 'nupromptgenerator', 'Code', 'pge_code', 'l', '', 10, 150, NULL),
('nu683303b26e6e4f8', 'nupromptgenerator', 'Description', 'pge_description', 'l', '', 20, 250, NULL),
('nu683303b26f090e1', 'nupromptgenerator', 'Language', 'REPLACE(REPLACE(REPLACE(REPLACE(pge_language, \'[\', \'\'), \']\', \'\'), \'\"\', \'\'), \',\', \', \') AS pge_language', 'l', '', 30, 200, NULL),
('nu683303b26fbaa7a', 'nupromptgenerator', 'Prompt', 'pge_prompt', 'l', '', 50, 250, NULL),
('nu68345fe0838d724', 'nupromptgenerator', 'Scope', 'REPLACE(REPLACE(REPLACE(REPLACE(pge_scope, \'[\', \'\'), \']\', \'\'), \'\"\', \'\'), \',\', \', \') AS pge_scope', 'l', NULL, 40, 300, NULL),
('nu6836b70dec060b9', 'nu6836b70dd053bb4', 'Value', 'itm_value', 'l', '', 10, 250, NULL),
('nu6836b70dec1db3f', 'nu6836b70dd053bb4', 'Description', 'itm_description', 'l', '', 20, 250, NULL),
('nu6836b70dec2d718', 'nu6836b70dd053bb4', 'Category', 'itm_category', 'l', '', 30, 250, NULL),
('nu6836b70dec3c960', 'nu6836b70dd053bb4', 'Sort Order', 'itm_sort_order', 'l', '', 50, 250, NULL),
('nu6836b70dec525bd', 'nu6836b70dd053bb4', 'Tag', 'itm_tag', 'l', '', 60, 250, NULL),
('nu6836b70dec61378', 'nu6836b70dd053bb4', 'Additional 1', 'itm_additional1', 'l', '', 70, 250, NULL),
('nu6836b70dec714c7', 'nu6836b70dd053bb4', 'Additional 2', 'itm_additional2', 'l', '', 80, 250, NULL),
('nu6836b70dec7e4da', 'nu6836b70dd053bb4', 'Language', 'itm_language', 'l', '', 120, 250, NULL),
('nu6836b70dec8d030', 'nu6836b70dd053bb4', 'Active', 'itm_active', 'l', '', 140, 250, NULL),
('nu6836b70dec9b91f', 'nu6836b70dd053bb4', 'Created On', 'itm_created_on', 'l', '', 150, 250, NULL),
('nu6836b70deca8864', 'nu6836b70dd053bb4', 'Updated On', 'itm_updated_on', 'l', '', 160, 250, NULL),
('nu6836b7e92777044', 'nuitem', 'Value', 'itm_value', 'l', '', 30, 140, NULL),
('nu6836b7e927875cd', 'nuitem', 'Description', 'itm_description', 'l', '', 40, 180, NULL),
('nu6836b7e92791a69', 'nuitem', 'Category', 'itm_category', 'l', '', 60, 115, NULL),
('nu6836b7e9279baba', 'nuitem', 'Tags', 'itm_tag', 'l', '', 70, 105, NULL),
('nu6836b7e927a565a', 'nuitem', 'Language', 'itm_language', 'l', '', 80, 120, NULL),
('nu6836b7e927aed72', 'nuitem', 'Active', 'IF(IFNULL(itm_active,\'\') = \'0\',\'✖\',\'✔\')', 'c', '', 90, 150, NULL),
('nu6836b7e927ce213', 'nuitem', 'Updated on', 'IFNULL(itm_updated_on, itm_created_on) as `Updated On`', 'l', '', 100, 130, NULL),
('nu6878434013629b5', 'nuprocedure', 'Category', 'sph_category', 'l', NULL, 40, 160, NULL),
('nu6836b8f0dfa4fb3', 'nuitem', 'Object ID', 'sob_all_id', 'l', NULL, 20, 130, NULL),
('nu6836b8f0dff0fa1', 'nuitem', 'Form Code', 'sfo_code', 'l', NULL, 10, 179, NULL),
('nu68397bb79024ee9', 'nu68397bb77c048bb', 'Value', 'itm_value', 'l', '', 20, 160, NULL),
('nu68397bb79059d6e', 'nu68397bb77c048bb', 'Description', 'itm_description', 'l', '', 30, 150, NULL),
('nu68397bb79067032', 'nu68397bb77c048bb', 'Category', 'itm_category', 'l', '', 40, 76, NULL),
('nu68397bb790713fd', 'nu68397bb77c048bb', 'Active', 'IF(IFNULL(itm_active,\'\') = \'0\',\'\',\'✔\')', 'c', '', 80, 80, NULL),
('nu68398174b5a27f7', 'nu68397bb77c048bb', 'Sort Order', 'itm_sort_order', 'c', NULL, 70, 100, NULL),
('nu68397bb79084962', 'nu68397bb77c048bb', 'Language', 'itm_language', 'l', '', 50, 100, NULL),
('nu68397bb7908e02f', 'nu68397bb77c048bb', 'Created On', 'itm_created_on', 'l', '', 90, 85, NULL),
('nu68397bb7909743b', 'nu68397bb77c048bb', 'Updated On', 'itm_updated_on', 'l', '', 100, 85, NULL),
('nu6839839e28d97d6', 'nu68397bb77c048bb', 'Tags', 'itm_tag', 'l', NULL, 60, 100, NULL),
('nu68398471f0f8b93', 'nu68397bb77c048bb', 'Object ID', 'sob_all_id', 'l', NULL, 10, 120, NULL),
('nu6839a33c00a5279', 'nupromptgenerator', 'Template', 'IF(IFNULL(pge_template,\'\') = \'\',\'\',\'✔\')', 'c', NULL, 60, 100, NULL),
('nu6839c130dc4de4a', 'nu68397bb77c048bb', 'Item Object Id (Filter)', 'itm_object_id', 'l', NULL, 110, 0, NULL),
('nu683c1ed713aefaa', 'nuitem', 'Group', 'itm_group', 'l', NULL, 50, 150, NULL),
('nu684e185947ef47e', 'nunotes', 'Text', 'not_text', 'l', NULL, 30, 300, NULL),
('nu6862f0becfb7938', 'nuprocedure', 'Status', 'REPLACE(REPLACE(REPLACE(REPLACE(IFNULL(sph_status, \'Active\'), \'0\', \'Draft\'), \'1\', \'Active\'), \'2\', \'Disabled\'), \'3\', \'Archived\')', 'l', NULL, 50, 140, NULL),
('nu68784fb4ac37836', 'nuemailtemplate', 'Category', 'emt_category', 'l', NULL, 30, 100, NULL),
('nu6885d0b3c3a24ef', 'nuappcloner', 'Code', 'cla_code', 'l', NULL, 10, 250, NULL),
('nu6885d1075ca15ef', 'nuappcloner', 'Description', 'cla_description', 'l', NULL, 20, 300, NULL),
('nu6885d1075cd34fa', 'nuappcloner', 'Target Host', 'cla_target_host', 'l', NULL, 40, 150, NULL),
('nu6885d1075d05c30', 'nuappcloner', 'Target Database', 'cla_target_db', 'l', NULL, 50, 150, NULL),
('nu6885d1075d3683e', 'nuappcloner', 'Source Path', 'cla_source_path', 'l', NULL, 30, 300, NULL);

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_cloner`
--

CREATE TABLE `zzzzsys_cloner` (
  `zzzzsys_cloner_id` varchar(25) NOT NULL,
  `clo_form_source` varchar(25) DEFAULT NULL,
  `clo_form_dest` varchar(25) DEFAULT NULL,
  `clo_tabs` varchar(1000) DEFAULT NULL,
  `clo_dump` tinyint(1) DEFAULT NULL,
  `clo_objects` tinyint(1) DEFAULT NULL,
  `clo_subforms_include` tinyint(1) DEFAULT NULL,
  `clo_subforms` varchar(1000) DEFAULT NULL,
  `clo_iframe_forms_include` tinyint(1) DEFAULT NULL,
  `clo_iframe_forms` text,
  `clo_tables_include` mediumtext,
  `clo_tables_exclude` mediumtext,
  `clo_new_pks` tinyint(1) DEFAULT NULL,
  `clo_notes` text,
  `clo_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_code_snippet`
--

CREATE TABLE `zzzzsys_code_snippet` (
  `zzzzsys_code_snippet_id` varchar(25) NOT NULL,
  `cot_code` varchar(50) DEFAULT NULL,
  `cot_description` text,
  `cot_group` varchar(80) DEFAULT NULL,
  `cot_url` varchar(500) DEFAULT NULL,
  `cot_source_code` text,
  `cot_language` varchar(20) DEFAULT NULL,
  `cot_scope` varchar(50) DEFAULT NULL,
  `cot_template` varchar(1) DEFAULT NULL,
  `cot_updated_on` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `cot_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

--
-- Dumping data for table `zzzzsys_code_snippet`
--

INSERT INTO `zzzzsys_code_snippet` (`zzzzsys_code_snippet_id`, `cot_code`, `cot_description`, `cot_group`, `cot_url`, `cot_source_code`, `cot_language`, `cot_scope`, `cot_template`, `cot_updated_on`, `cot_json`) VALUES
('nu5fdb1a7c5b3d3b2', 'nuBeforeSave', 'Before a record is saved, nuBuilder checks for the existance of a function called nuBeforeSave().\nIf this exists it will use its return value to decide whether to continue saving the record.', 'nubuilder', 'https://wiki.nubuilder.cloud/index.php?title=Javascript#nuBeforeSave', 'function nuBeforeSave() {\n\n    if (nuGetValue(\'cus_name\') !== \'something\') { /* condition(s) here */\n\n        nuMessage(\'Error message here.\');\n\n        // Cancel saving         \n        return false;\n\n    }\n\n    // Continue Saving\n    return true;\n\n}', 'JavaScript', '[\"0\"]', NULL, '2025-06-04 06:45:35', NULL),
('nu65f5feb50d4d041', 'nuDebug', NULL, 'nubuilder', NULL, 'nuDebug::setFlag(\'Test\')->log(\'Error: Failed to retrieve data..\');\n', 'PHP', '[\"3\"]', NULL, '2025-06-04 06:44:34', NULL),
('nu682683a594b7932', 'nuSelectBrowse', 'This is a built in function that runs when any record on a Browse Form is selected.', 'nubuilder', 'https://wiki.nubuilder.cloud/index.php?title=Javascript#nuSelectBrowse', 'function nuSelectBrowse(event, element) {\n\n    //  Example 1: Get info about the selected cell\n    const { pk, row, column, html, value, $cell } = nuBrowseRow(element);\n    console.log(pk, row, column, html, value, $cell);\n\n    // Example 2: Get the row number of the selected cell\n    const cell = nuBrowseRow(element);\n    console.log(cell.row);\n    \n    // Example 3: Get the value of column 2 in the same row\n    // 0 = 1st column, 1 = 2nd column or pass the column primary key\n    const otherCell = nuBrowseRow(element, 1); \n    console.log(otherCell.value);\n\n    // Open the current Form in a new browser tab\n    nuForm(nuFormId(), pk, \'\', \'\', \'2\');\n\n}', 'JavaScript', '[\"0\"]', NULL, '2025-06-04 06:44:40', NULL),
('nu6866e0177fc5399', 'nu_upload_file_uppy_code_template', NULL, 'nubuilder', NULL, '<div id=\"#uppy_div#\"></div>\n\n<script>\n\n$(document).ready(function () {\n    nuInitUppy();\n});\n\nfunction nuInitUppy() {\n\n    const $objId = $(\'#\' + \'#this_object_id#\');\n    const targetDivId = \'#uppy_div#\';\n    let uppyResponseMessage = \'\';\n\n    const uppy = nuUppyCreate();\n    uppy.use(Uppy.Dashboard, {\n        inline: true,\n        bundle: true,\n        height: $objId.nuCSSNumber(\'height\') || 400,\n        width: $objId.nuCSSNumber(\'width\') || \'100%\',\n        target: \'#\' + targetDivId,\n        showProgressDetails: true,\n        replaceTargetContent: true,\n        method: \'post\'\n    })\n    .use(Uppy.XHRUpload, {\n        endpoint: \'core/nuapi.php\',\n        shouldRetry: (xhr) => {\n            return false;\n        },\n        async onAfterResponse(xhr, response) {\n            try {\n                const jsonData = JSON.parse(xhr.responseText);\n                if (xhr.status === 401) {\n                    uppyResponseMessage = jsonData.message || \'Authentication failed.\';\n                    throw new Error(uppyResponseMessage);\n                }\n            } catch (e) {\n                uppyResponseMessage = \'Error processing server response.\';\n            }\n        }\n    });\n\n    uppy.on(\'upload\', (data) => {\n        uppy.setMeta({\n            procedure: \'nu_upload_file_template\',\n            session_id: window.nuSESSION,\n            record_id: nuRecordId()\n        });\n    });\n\n    uppy.on(\'complete\', (result) => {\n        uppyResponseMessage = \'\';\n\n        if (result.successful.length > 0) {\n            uppyResponseMessage = result.successful[0].response.body.message || \'File(s) uploaded successfully.\';\n        } else if (result.failed.length > 0) {\n            const firstFailed = result.failed[0];\n            uppyResponseMessage = firstFailed.response && firstFailed.response.body && firstFailed.response.body.message\n                ? firstFailed.response.body.message\n                : firstFailed.error.message || \'Error uploading file(s).\';\n        } else {\n            uppyResponseMessage = \'No files processed.\';\n        }\n\n        if (window.nuOnFileUploadComplete) {\n            nuOnFileUploadComplete(\'FS\', $objId.attr(\'id\'), result, uppyResponseMessage);\n        }\n    });\n\n    uppy.on(\'error\', (error) => {\n        console.error(\'Uppy error:\', error);\n    });\n}\n</script>\n', 'JavaScript', '[\"\"]', '1', '2025-07-04 03:32:59', NULL);

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_config`
--

CREATE TABLE `zzzzsys_config` (
  `zzzzsys_config_id` varchar(25) NOT NULL,
  `zzzzsys_setup_id` varchar(25) NOT NULL DEFAULT '1',
  `cfg_order` int DEFAULT NULL,
  `cfg_category` varchar(50) DEFAULT NULL,
  `cfg_title` varchar(50) DEFAULT NULL,
  `cfg_setting` varchar(1000) DEFAULT NULL,
  `cfg_value` varchar(1000) DEFAULT NULL,
  `cfg_description` varchar(1000) DEFAULT NULL,
  `cfg_type` tinyint NOT NULL DEFAULT '1',
  `cfg_effective` varchar(1) NOT NULL DEFAULT '1',
  `cfg_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

--
-- Dumping data for table `zzzzsys_config`
--

INSERT INTO `zzzzsys_config` (`zzzzsys_config_id`, `zzzzsys_setup_id`, `cfg_order`, `cfg_category`, `cfg_title`, `cfg_setting`, `cfg_value`, `cfg_description`, `cfg_type`, `cfg_effective`, `cfg_json`) VALUES
('nu62a0a02105071cb', '1', 50, 'Admin', 'Objects Icon', 'nuObjectsIcon', 'true', 'Show Objects (Obj) icon', 2, '1', NULL),
('nu62a0a02105062e5', '1', 60, 'Admin', 'PHP Icons', 'nuPHPIcon', 'true', 'Show PHP (BE, BS, AS, BB) icons', 2, '1', NULL),
('nu62a0a02105079da', '1', 70, 'Admin', 'Properties Icon', 'nuPropertiesIcon', 'true', 'Show Properties (Prop) icon', 2, '1', NULL),
('nu62a0a0210506a8f', '1', 80, 'Admin', 'Refresh Icons', 'nuRefreshIcon', 'true', 'Show Refresh icon', 2, '1', NULL),
('nu62a0a0210505b68', '1', 10, 'Admin', 'Debug Icon', 'nuDebugIcon', 'true', 'Show Debug icon', 2, '1', NULL),
('nu62a0a02105011e4', '1', 40, 'Admin', 'Debug Mode', 'nuDebugMode', 'true', 'If the element does not exist when using functions such as nuGetValue() or nuSetValue(), a warning will be output to the Developer Console', 2, '1', NULL),
('nu62a0a02104dee61', '1', 90, 'Admin', 'Globeadmin User IDs', '$nuConfigDBGlobeadminUsers', '', 'User Ids with \'globeadmin\' permissions, separated by commas', 1, '1', NULL),
('nu62bdc792e1efb3a', '1', 100, 'Admin', 'Admin Home Form ID', '$nuConfigGlobeadminHome', 'nuhome', 'Home form ID for administrator. Default: nuhome', 1, '3', NULL),
('nu62a0a02104e96df', '1', 110, 'Admin', 'Enable DB Update', '$nuConfigEnableDatabaseUpdate', 'true', 'Enable updating the database within nuBuilder', 2, '1', NULL),
('nu62a0a02104e542c', '1', 120, 'Form', 'Additional 1 Label', '$nuConfigUserAdditional1Label', '', 'User Form: If not blank, rename the Label \'Additional 1\'', 1, '1', NULL),
('nu62a0a02104e64e6', '1', 130, 'Form', 'Additional 2 Label', '$nuConfigUserAdditional2Label', '', 'User Form: If not blank, rename the Label \'Additional 2\'', 1, '1', NULL),
('nu62a0a02104e72e8', '1', 140, 'Form', 'Code Label', '$nuConfigUserCodeLabel', '', 'User Form: If not blank, rename the Label \'Code\'', 1, '1', NULL),
('nu62a0a02104fba72', '1', 160, 'Form', 'Autosize Browse Columns', 'nuAutosizeBrowseColumns', 'true', 'Autosize columns to fit the document width', 2, '1', NULL),
('nu62a0a02104fd939', '1', 170, 'Form', 'Browse Pagination Info', 'nuBrowsePaginationInfo', 'default', 'Default Format is= \'{StartRow} - {EndRow} \' + nuTranslate(\'of\') + \' \' + \'{TotalRows}\'.', 1, '1', NULL),
('nu62a0a0210502912', '1', 180, 'Form', 'Mobile View', 'nuMobileView', 'true', 'Optimise view for mobile devices', 2, '1', NULL),
('nu634795d35e9b070', '1', 200, 'Form', 'Close After Save', 'nuEditCloseAfterSave', 'None', 'Close forms after saving', 1, '1', NULL),
('nu62a0a02104fc425', '1', 210, 'Form', 'Show Back Button', 'nuShowBackButton', 'false', 'Show a Back Button', 2, '1', NULL),
('nu62a0a02104f8bad', '1', 230, 'Browser', 'Enable Browser Back Button', 'nuEnableBrowserBackButton', 'true', 'Enable the browser\'s Back button', 2, '1', NULL),
('nu62a0a0210501e50', '1', 240, 'Browser', 'Browser Tab Title Prefix', 'nuBrowserTabTitlePrefix', 'nuBuilder', 'Prefix in the Browser Tab', 1, '1', NULL),
('nu62a0a02104ffe04', '1', 250, 'Browser', 'Show Browser Tab Title', 'nuShowBrowserTabTitle', 'true', 'Show the Form Title in the Browser Tab', 2, '1', NULL),
('nu62a0a02104dfbee', '1', 270, 'Settings', 'Title', '$nuConfigTitle', 'nuBuilder 4.5', 'nuBuilder Title', 1, '1', NULL),
('nu62a0a02104e8621', '1', 280, 'Settings', 'Backup Location', '$nuConfigBackupLocation', '', 'Backup location: Default: If left blank, backups are stored in /core/libs/mysqldump/dumps. Make sure to turn off directory listing!', 1, '1', NULL),
('nu62a0a02104ea45f', '1', 290, 'Settings', 'Keep Session Alive', '$nuConfigKeepSessionAlive', 'true', 'Use a timer to keep the session alive', 2, '2', NULL),
('nu62a0a02104eb409', '1', 300, 'Settings', 'Keep-alive Interval', '$nuConfigKeepSessionAliveInterval', '600', 'Keep-alive interval. Default 600 s (10 min)', 1, '2', NULL),
('nu62a0a02104ec632', '1', 310, 'Settings', 'MD5 Password Hash', '$nuUseMd5PasswordHash', 'false', 'If set to true, MD5 is used to hash passwords, otherwise password_hash(), which is recommended', 2, '1', NULL),
('nu62a0a02104f9b3c', '1', 320, 'Settings', 'Prevent Double Click', 'nuPreventButtonDblClick', 'true', 'Prevent double clicks on buttons', 2, '1', NULL),
('nu62a0a02104e08d7', '1', 330, 'Settings', 'Session Timeout', '$nuConfigTimeOut', '1440', 'Session Timeout. Default: 1440 (24h)', 3, '1', NULL),
('nu62a0a02104e45ba', '1', 340, 'Settings', 'Show JavaScript Errors', 'nuShowJSErrors', 'globeadmin', 'Show JavaScript errors in a popup in addition to the developer console', 1, '1', NULL),
('nu62a0a02104ff0bf', '1', 350, 'Settings', 'Show Logged-in User', 'nuShowLoggedInUser', 'true', 'Show the logged in User', 2, '1', NULL),
('nu62a0a02104fe599', '1', 360, 'Settings', 'Show nuBuilder Link', 'nuShowNuBuilderLink', 'false', 'Show the link to nubuilder com', 2, '1', NULL),
('nu62a0a02104fab5f', '1', 370, 'Settings', 'Show Properties on Middle Click', 'nuShowPropertiesOnMiddleClick', 'true', 'Show the Object Properties on middle mouse click', 2, '1', NULL),
('nu62a0a02104f4b8c', '1', 380, 'Includes', 'Include Apex Charts', '$nuConfigIncludeApexCharts', 'false', 'Include apex charts (libs/apexcharts)', 2, '2', NULL),
('nu62a0a02104f3db0', '1', 390, 'Includes', 'Include Google Charts', '$nuConfigIncludeGoogleCharts', 'true', 'Include external link to www.gstatic.com', 2, '2', NULL),
('nu62a0a02104f230f', '1', 400, 'Includes', 'Include TinyMCE', '$nuConfigIncludeTinyMCE', 'true', 'Include TinyMCE WYSIWYG', 2, '1', NULL),
('nu62a0a021050465f', '1', 410, '3rd Party', 'Ace Theme', 'nuAceTheme', 'dawn', 'Ace theme. Default: Monokai', 9, '0', NULL),
('nu62a0a021050464c', '1', 420, '3rd Party', 'Select2 Theme', 'nuSelect2Theme', 'default', 'select2 theme (default, classic) Default: default', 1, '0', NULL),
('nu62a0a0210503957', '1', 430, '3rd Party', 'Calendar Start of Week', 'nuCalendarStartOfWeek', '', 'nuCalendar: Start day of the week. 0:Sunday, 1:Monday', 3, '1', NULL),
('nu62a0a0210503958', '1', 440, '3rd Party', 'Calendar Week Numbers', 'nuCalendarWeekNumbers', 'None', 'nuCalendar: Week numbers to display', 1, '1', NULL),
('nu62a0a02104ed59e', '1', 450, '2FA', 'Admin 2FA', '$nuConfig2FAAdmin', 'false', 'Use 2FA authentication for administrator', 2, '1', NULL),
('nu62a0a02104ee392', '1', 460, '2FA', 'User 2FA', '$nuConfig2FAUser', 'false', 'Use 2FA authentication for users', 2, '1', NULL),
('nu62a0a02104ef4e4', '1', 470, '2FA', '2FA Form ID', '$nuConfig2FAFormID', 'nuauthentication', '2FA form ID. Default id: nuauthentication', 1, '1', NULL),
('nu62a0a02104f17ad', '1', 480, '2FA', 'Show Remember Me', '$nuConfig2FAShowRememberMe', 'false', 'Show a checkbox \'Remember me for X days\' in the authentication form', 2, '1', NULL),
('nu62a0a02104f06aa', '1', 490, '2FA', 'Token Validity Time', '$nuConfig2FATokenValidityTime', '168', '2FA Token Validity Time. Default: 7 days (7 * 24 hours)', 3, '1', NULL),
('nu62a0a02104e1480', '1', 500, 'Demo', 'Demo Mode', '$nuConfigIsDemo', 'false', 'Demo Mode: Restricted rights. Saving not permitted.', 2, '3', NULL),
('nu62a0a02104e340b', '1', 510, 'Demo', 'Demo User Password', '$nuConfigDemoDBGlobeadminPassword', '', 'Demo Mode: Demo User Password', 1, '1', NULL),
('nu62a0a02104e283a', '1', 520, 'Demo', 'Demo Username', '$nuConfigDemoDBGlobeadminUsername', '', 'Demo Mode: Specify a Demo Username and Password if $nuConfigIsDemo is set to true', 1, '1', NULL),
('nu62a0a02104e45bc', '1', 530, 'Demo', 'Allowed Form IDs', '$nuConfigDemoSavingAllowedIds', '', 'Demo Mode: Saving allowed in the specified form Ids. Separated by comma.', 1, '1', NULL),
('nu62a0a02104ffe05', '1', 260, 'Browser', 'Show Permalink URL', 'nuShowURLPermaLink', 'false', 'Show Permalink in URL bar', 2, '1', NULL),
('nu62a0a02104fc315', '1', 220, 'Form', 'Hide Tab Title if only one', 'nuHideTabTitleIfOnlyOne', 'none', 'Hide tab title if there is just one tab', 1, '1', NULL),
('nu62a0a0510504b91', '1', 30, 'Admin', 'Tools Icon', 'nuToolsIcon', 'true', 'Show Tools icon', 2, '1', NULL),
('nu62a0a1220502913', '1', 190, 'Form', 'Print Button', 'nuPrintButton', 'false', 'Display Print (Action) Button', 2, '1', NULL),
('nu62a0a1710505b69', '1', 20, 'Admin', 'Database Icon', 'nuDatabaseIcon', 'false', 'Show Database icon', 2, '1', NULL),
('nu62a0a02104fba73', '1', 150, 'Form', 'Sticky Headers', 'nuStickyHeaders', 'true', 'Sticky Headers', 2, '1', NULL);

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_debug`
--

CREATE TABLE `zzzzsys_debug` (
  `zzzzsys_debug_id` varchar(25) NOT NULL,
  `deb_message` longtext,
  `deb_flag` varchar(50) DEFAULT NULL,
  `deb_added` int DEFAULT NULL,
  `deb_user_id` varchar(25) DEFAULT NULL,
  `deb_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_email_log`
--

CREATE TABLE `zzzzsys_email_log` (
  `zzzzsys_email_log_id` varchar(25) NOT NULL,
  `eml_created_at` datetime DEFAULT CURRENT_TIMESTAMP,
  `eml_sent_at` datetime DEFAULT NULL,
  `eml_state` varchar(20) DEFAULT NULL,
  `eml_from` varchar(70) DEFAULT NULL,
  `eml_from_name` varchar(70) DEFAULT NULL,
  `eml_to` varchar(4000) DEFAULT NULL,
  `eml_cc` varchar(4000) DEFAULT NULL,
  `eml_bcc` varchar(4000) DEFAULT NULL,
  `eml_subject` varchar(250) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
  `eml_body` text,
  `eml_file` varchar(1000) DEFAULT NULL,
  `eml_html` tinyint(1) DEFAULT NULL,
  `eml_reply_to` varchar(100) DEFAULT NULL,
  `eml_form_id` varchar(25) DEFAULT NULL,
  `eml_user_id` varchar(25) DEFAULT NULL,
  `eml_record_id` varchar(25) DEFAULT NULL,
  `eml_importance` smallint DEFAULT NULL,
  `eml_error` varchar(200) DEFAULT NULL,
  `eml_table_name` varchar(100) DEFAULT NULL,
  `eml_tag` varchar(70) DEFAULT NULL,
  `eml_json` text
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_email_template`
--

CREATE TABLE `zzzzsys_email_template` (
  `zzzzsys_email_template_id` varchar(25) NOT NULL,
  `emt_form_id` varchar(25) DEFAULT NULL,
  `emt_group` varchar(100) DEFAULT NULL,
  `emt_category` varchar(100) DEFAULT NULL,
  `emt_template` varchar(1) DEFAULT '0',
  `emt_language` varchar(20) DEFAULT NULL,
  `emt_description` varchar(200) DEFAULT NULL,
  `emt_code` varchar(80) DEFAULT NULL,
  `emt_body` mediumtext,
  `emt_subject` varchar(1000) DEFAULT NULL,
  `emt_to` varchar(1000) DEFAULT NULL,
  `emt_cc` varchar(1000) DEFAULT NULL,
  `emt_bcc` varchar(1000) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

--
-- Dumping data for table `zzzzsys_email_template`
--

INSERT INTO `zzzzsys_email_template` (`zzzzsys_email_template_id`, `emt_form_id`, `emt_group`, `emt_category`, `emt_template`, `emt_language`, `emt_description`, `emt_code`, `emt_body`, `emt_subject`, `emt_to`, `emt_cc`, `emt_bcc`) VALUES
('nu64f9586941b545d', 'nuuser', 'nubuilder', NULL, '1', NULL, 'When \"Send welcome email\" is checked in the user form, a welcome email is sent to the new user.', 'nu_send_welcome_email_template', 'Dear #sus_name#\n\nWelcome to nuBuilder! Your temporary OTP is valid for a limited time for security reasons. \n\nFollow these steps to get started:\n\n1. Visit #NUBUILDER_URL# to access the login page.\n\n2. Enter your Username: #sus_login_name#\n\n3. Use the temporary OTP as your password: [REDACTED] Once logged in, create a more secure password that includes uppercase letters, lowercase letters, numbers, and special characters.\n\n5. Login with your new password.\n\nBest regards,\nAdministrator', ' Welcome to nuBuilder - Temporary OTP Password', '#sus_email#', NULL, NULL);

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_event`
--

CREATE TABLE `zzzzsys_event` (
  `zzzzsys_event_id` varchar(25) NOT NULL,
  `sev_zzzzsys_object_id` varchar(25) DEFAULT NULL,
  `sev_event` varchar(100) DEFAULT NULL,
  `sev_javascript` varchar(3000) DEFAULT NULL,
  `sev_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

--
-- Dumping data for table `zzzzsys_event`
--

INSERT INTO `zzzzsys_event` (`zzzzsys_event_id`, `sev_zzzzsys_object_id`, `sev_event`, `sev_javascript`, `sev_json`) VALUES
('nu5bad6cb37911d4e', 'nu5bad6cb363bb5b7', 'onchange', 'nuObjectTestChart();', NULL),
('nu5bad6cb3791fc33', 'nu5bad6cb3647b4cb', 'onchange', 'nuObjectTestChart();', NULL),
('nu5bad6cb3792a2a1', 'nu5bad6cb364add63', 'onchange', 'nuObjectTestChart();', NULL),
('nu5bad6cb37933f0c', 'nu5bad6cb36568f2b', 'onchange', 'nuObjectTestChart();', NULL),
('nu5bad6cb3793d45a', 'nu5bad6cb328be090', 'afterinsertrow', '$(\"[id$=\'syt_help\']\").addClass(\'js\')', NULL),
('nu5bad6cb3797b0a7', 'nu5bad6cb32930450', 'onclick', 'if (sre_zzzzsys_php_id.value === \'\') {\n  nuMessage(nuTranslate(\'No table selected\'));\n  return;\n}\nwindow.open(\'core/nureportdesigner.php?tt=\' + $(\"#sre_zzzzsys_php_id\").val() + \'&launch=\' + $(\"#sre_zzzzsys_form_id\").val());', NULL),
('nu5bad6cb3798566b', 'nu5bad6cb329fdf13', 'onchange', 'nuObjectTypeChanged();', NULL),
('nu5bad6cb3798ef56', 'nu5bad6cb3263f2a8', 'onchange', 'nuFormTypeChanged();', NULL),
('nu5bad6cb379988c5', 'nu5bad6cb34c005d7', 'onclick', 'nuPopPHP(event, \'BE\');', NULL),
('nu5bad6cb379a3d0a', 'nu5bad6cb34c4775c', 'onclick', 'nuPopPHP(event, \'BS\');', NULL),
('nu5bad6cb379b055d', 'nu5bad6cb34d23de5', 'onclick', 'nuPopPHP(event, \'AS\');', NULL),
('nu5bad6cb379bcdcc', 'nu5bad6cb34d7e1db', 'onclick', 'nuPopPHP(event, \'BD\');', NULL),
('nu5bad6cb379ec280', 'nu5bad6cb34e2eaec', 'onclick', 'nuPopPHP(event, \'AD\');', NULL),
('nu5bad6cb37a13d93', 'nu5bad6cb329136ba', 'onclick', 'nuPopPHP(event, \'BB\');', NULL),
('nu5bad6cb37a4de1d', 'nu5bad6cb34b050a0', 'onclick', 'nuPopPHP(event, \'AB\');', NULL),
('nu5bad6cb37a6a213', 'nu5bad6cb34e5cc53', 'onclick', 'nuPreview()', NULL),
('nu5bad6cb37af380e', 'nu5bad6cb34fa79c0', 'onchange', 'nuSetFormatType(1)', NULL),
('nu5bad6cb37b01a0f', 'nu5bad6cb32c4d9de', 'onchange', 'nuObjectInputTypeChanged(this.value)', NULL),
('nu5bad6cb37b0e5e5', 'nu5bad6cb3518a9c0', 'onclick', 'nuPreview(1)', NULL),
('nu5bad6cb37b274c5', 'nu5bad6cb325c8954', 'afterinsertrow', '$(\"[id$=\'sev_javascript\']\").addClass(\'js\')', NULL),
('nu5bad6cb37b32126', 'nu5bad6cb32b77005', 'onclick', 'nuPopPHP(event, \'BB\');', NULL),
('nu5bad6cb37b42053', 'nu5bad6cb32b9715a', 'onclick', 'nuPopPHP(event, \'BB\');', NULL),
('nu5bad6cb37b5e79f', 'nu5bad6cb35304ffd', 'onkeydown', 'nuFORM.scrollList(event, window.nuObjectFields);', NULL),
('nu5bad6cb37b6ab21', 'nu5bad6cb3568c736', 'onclick', 'nuPopup(\'nusample\',\'-1\');', NULL),
('nu5bad6cb37b75849', 'nu5bad6cb35a0a29e', 'onclick', 'nuSelectResizeSQL();', NULL),
('nu5bad6cb37b853f4', 'nu5bad6cb35a52325', 'onchange', 'nuSelectAddSQLTable(event);', NULL),
('nu5bad6cb37b91ff1', 'nu5bad6cb35b23983', 'onchange', '$(\'#sqlframe\').contents().find(\'body\').css(\'zoom\', this.value / 100)', NULL),
('nu5bad6cb37ba5b09', 'nu5bad6cb35ab1f0a', 'onchange', 'nuSelectWhereClauses();\nnuSelectBuildSQL();', NULL),
('nu5bad6cb37bb54ac', 'nu5bad6cb35afa1d0', 'onchange', 'nuSelectBuildSQL();', NULL),
('nu5bad6cb37bc1b7a', 'nu5bad6cb35ad7f0a', 'onchange', 'nuSelectBuildSQL();', NULL),
('nu5bad6cb37bcc8fb', 'nu5bad6cb35b860e2', 'onchange', 'nuSelectBuildSQL();', NULL),
('nu5bad6cb37bd72d2', 'nu5bad6cb35a8885a', 'onchange', 'nuSelectBuildSQL();', NULL),
('nu5bad6cb37beca3a', 'nu5bad6cb34ebf5bd', 'onfocus', 'onColumnPicker(event);\n$(\'#available_columns\').prop(\'selectedIndex\',-1);\nnuShowAvailableFields(true);', NULL),
('nu5bad6cb37c0be93', 'nu5bad6cb34f0470a', 'afterinsertrow', 'nuSetFFTable();\nnuDisableLastFFRow();\n\nconst l = nuSubformObject(\'obj_sf\').rows.length;\n\nvar rowPrefix = \'obj_sf\' + nuPad3(l == 1 ? 0: l - 1);\nnuSetFFTypeOptionsColor(rowPrefix + \'ff_type\');\nnuSelectRemoveEmpty(rowPrefix + \'ff_type\', \'-1\');\n\nnuEnableFFDataType();', NULL),
('nu5bad6cb37c22211', 'nu5bad6cb35cf61c0', 'onclick', 'nuPopSQL(event, \'BR\');', NULL),
('nu5bad6cb37c317ec', 'nu5bad6cb35d26e8f', 'onclick', 'nuPopSQL(event, \'DI\');', NULL),
('nu5bad6cb37c45b5b', 'nu5bad6cb35d48819', 'onclick', 'nuPopSQL(event, \'SE\');', NULL),
('nu67c0804b3e35224', 'nu67bcf2045f3f018', 'onkeydown', 'event.preventDefault();', NULL),
('nu5bad6cb37c73e80', 'nu5bad6cb35dadfc5', 'onchange', 'nuOnFormTypeChanged();\n\nif (this.value == \'launch\') {\n    nuSetValue(\'fastform_table\', \'\');\n    nuShowAvailableFields(false);\n}', NULL),
('nu5bad6cb37ca3577', 'nu5bad6cb35b23983', 'afterinsertrow', 'nuSelectSetSFCB();', NULL),
('nu5bad6cb37ccc397', 'nu5bad6cb35ff457a', 'onclick', 'nuPopPHP(event, \'BB\');', NULL),
('nu5bad6cb37cda28d', 'nu5bad6cb366e865e', 'onchange', 'nuSetFFTable();', NULL),
('nu5bad6cb37ce6dae', 'nu5bad6cb3670b7db', 'onclick', 'nuBuildReportPickTableType();', NULL),
('nu5bd8f419d886e17', 'nu5bad6cb327ab3b8', 'afterinsertrow', 'nuFromDefaultDescription();\n\nlet l = nuSubformObject(\'zzzzsys_browse_sf\').rows.length;\nvar rowPrefix = \'zzzzsys_browse_sf\' + nuPad3(l == 1 ? 0 : l - 1);\nnuFormUpdateDisplayDatalists(rowPrefix + \'sbr_display\');', NULL),
('nu5f7129d5424e73c', 'nu5f711b9351ae752', 'onchange', 'nuCSVTransfer(this.value)', NULL),
('nu5fab41c055475d8', 'nu5bad6cb3513b16c', 'onchange', 'nuAddToFormat();', NULL),
('nu5fab41d07a80c9b', 'nu5fab2f8952634e4', 'onchange', 'nuAddToFormat();', NULL),
('nu5fab41e0265f1e4', 'nu5fab2fa48a504e4', 'onchange', 'nuAddToFormat();', NULL),
('nu5fab41f0d3d7845', 'nu5fab2fb6e66f19b', 'onchange', 'nuAddToFormat();', NULL),
('nu5fd6f92d9463a40', 'nu5fd6f828a1e42b1', 'onclick', 'nuSetValue(\'sob_all_cloneable\',0);', NULL),
('nu5fd6f95baab794b', 'nu5fd6f7819d659bc', 'onclick', 'nuSetValue(\'sob_all_cloneable\',1);', NULL),
('nu5fd6fa042a999b1', 'nu5fd6fa0428adcd3', 'onclick', 'nuSetValue(\'sob_all_align\',\'left\');', NULL),
('nu5fd6fbe95e24346', 'nu5fd6fbe95c2c61d', 'onclick', 'nuSetValue(\'sob_all_align\',\'right\');', NULL),
('nu5fd6fc4a7f52ae6', 'nu5fd6fc4a7ccf484', 'onclick', 'nuSetValue(\'sob_all_align\',\'center\');', NULL),
('nu5fd6fdad3ae76f5', 'nu5fd6fdad38e8f5d', 'onclick', 'nuSetValue(\'sob_all_validate\', 1);', NULL),
('nu5fd6fddaeb44cc3', 'nu5fd6fddae953fd3', 'onclick', 'nuSetValue(\'sob_all_access\', 2);', NULL),
('nu5fd6ff14af381f2', 'nu5fd6ff14ad0870d', 'onclick', 'nuSetValue(\'sob_all_access\',0);', NULL),
('nu5fd6ff6a110d480', 'nu5fd6ff6a0ef6017', 'onclick', 'nuSetValue(\'sob_all_access\', 1);', NULL),
('nu5fd757f92870577', 'nu5fd757f9266ea99', 'onclick', 'nuSetValue(\'sob_all_validate\', 0);', NULL),
('nu5fd7583fbf9bde0', 'nu5fd7583fbdb0750', 'onclick', 'nuSetValue(\'sob_all_validate\', 2);', NULL),
('nu5fdbe04a014fa', 'nu5fdbe049f365a', 'onclick', 'if (nuIsSaved()) {   var fid = nuSubformRowId(this); nuPopup(\'nuObject\', fid);} else {  nuMessage([\"Please save any changes before leaving this form.\"])}    ', NULL),
('nu5fdcde23d59bc7a', 'nu5fdcde23d2db265', 'onchange', 'nuFormColor();', NULL),
('nu5fddb7fc8b5b539', 'nu5bad6cb32a1c004', 'oninput', 'nuObjectShowDataType();', NULL),
('nu5fdf83039b7f6d6', 'nu5fee9ff762770', 'afterinsertrow', 'nuProcUpdateAclCount();', NULL),
('nu5fe06a07c9e9567', 'nu5fe0547b841fb32', 'onclick', 'nu2FAVerify();', NULL),
('nu5fe1b140081ce8c', 'nu5fe1aeac3363ae7', 'onclick', 'nuSetupIncDBVersion();', NULL),
('nu5fe1b155b2648e4', 'nu5fe1b155aed9e46', 'onclick', 'nuSetupIncFilesVersion();', NULL),
('nu5fecdc0b9678ebf', 'nu5fa249be5df47ad', 'onclick', 'cloSubformsChecked();', NULL),
('nu5fecde321f82513', 'nu5fa959f97244564', 'onclick', 'cloIframeFormsChecked();', NULL),
('nu5fed986754a8a23', 'nu5fed8c73e475b16', 'onclick', 'nuForm(\"nuobjectgrid\",nuCurrentProperties().record_id,\"\", \"\", 2)', NULL),
('nu5ff0364d11e7498', 'nu5ff0352f501ba8c', 'onclick', 'if ($(this).prop(\'checked\')) { nuEnable(\'sob_calc_formula\'); $(\'#sob_calc_formula\').focus(); } else { nuDisable(\'sob_calc_formula\'); }', NULL),
('nu5ff0b31354688aa', 'nu5bad6cb32e1a66a', 'onchange', 'nuObjectSetLookupWidth();', NULL),
('nu5ff0b329e242e25', 'nu5bad6cb32e47d18', 'onchange', 'nuObjectSetLookupWidth();', NULL),
('nu5ff32fdade879d8', 'nu5ff32fdadb8f46f', 'onclick', 'var form_id =  $(\'#sob_lookup_zzzzsys_form_id\').val(); if (form_id !== \'\') { 	nuForm(\'nuform\',form_id,\'\',\'\',2);} else { nuMessage([nuTranslate(\'Select a (Lookup) Form first.\')]); }', NULL),
('nu5ff4a8cb2258088', 'nu5ff4a82b76d96d6', 'onclick', 'if (!nuIsSaved()) {\n nuTranslate(\'Save the settings first\');\n} else {\n nuPopup(\'nuemailtest\',\'-1\')\n}', NULL),
('nu5ff4b6479adf58a', 'nu5ff4b5f53f85f69', 'onclick', 'nuemailtestLoadDatafromLS();', NULL),
('nu5ff4b67643ec503', 'nu5ff4b56934a1973', 'onclick', 'nuemailtestSaveDatatoLS();', NULL),
('nu5ff5b7b1bb92f1a', 'nu5ff5b7b1b918a4b', 'onclick', 'const formId = nuGetValue(\'sob_run_zzzzsys_form_id\');\n\nif (!formId) {\n    nuMessage([nuTranslate(\'Select a Run Item first.\')]);\n    return;\n}\n\nconst runType = nuGetValue(\'sob_run_type\');\n\nswitch (runType) {\n    case \'P\':\n        nuForm(\'nuprocedure\', formId, \'\', \'\', 2);\n        break;\n    case \'R\':\n        nuForm(\'nubuildreport\', formId, \'\', \'\', 2);\n        break;\n    default: // \'F\' or any other\n        nuForm(\'nuform\', formId, \'\', \'\', 2);\n        break;\n}', NULL),
('nu5ff727ad73226b8', 'nu5ff727ad6f17b85', 'onclick', 'nuForm(\'nuaccess\',sus_zzzzsys_access_id.value,\'\',\'\',2);', NULL),
('nu60013e0629f72ae', 'nu60013e0626d80ce', 'onclick', 'var form_id =  $(\'#sob_subform_zzzzsys_form_id\').val(); if (form_id !== \'\') { 	nuForm(\'nuform\',form_id,\'\',\'\',2);} else { nuMessage([nuTranslate(\'Select a Form (Subform) first.\')]); }', NULL),
('nu60028804f2e662b', 'nu60028804f043b86', 'onclick', 'var objType =  nuGetValue(\'sob_all_type\',\'text\')\nif (objType !== \'\') { \n    nuSelectTabByTitle(objType); \n}', NULL),
('nu60510d8a0a1478a', 'nu60510d8a0496fd5', 'onclick', 'nu2FASendToken();', NULL),
('nu605b66293122778', 'nu605b522d65c642a', 'onclick', 'nuSetValue(\'sob_all_validate\', 3);', NULL),
('nu606590a77f7de08', 'nu5bad6cb32d8ec39', 'onchange', 'nuObjectRunMethodChanged();', NULL),
('nu6065ae6429db0bd', 'nu5bad6cb32a1c004', 'onblur', '$(this).val($(this).val().replace(/\\s/g,\"\"));', NULL),
('nu6065aed581aba95', 'nu5bad6cb326a4367', 'onblur', '$(this).val($(this).val().replace(/\\s/g,\"\"));', NULL),
('nu606acbb9c729da3', 'nu5bad6cb327ca554', 'onchange', 'nuFromDefaultDescription();\nnuFormOnTitleDisplayChanged(event);', NULL),
('nu606ad5daa5324de', 'nu5bad6cb327ee8dc', 'onchange', 'nuFormOnTitleDisplayChanged(event);', NULL),
('nu606adc62e50275d', 'nu5bad6cb327ee8dc', 'onblur', 'nuFormOnDisplayBlur(event);', NULL),
('nu606c4b2a1170912', 'nu606c448e53cd465', 'onclick', 'nuAvailableFieldsOnClick(event, this);', NULL),
('nu606c7f4b120254f', 'nu606c448e53cd465', 'onblur', 'nuShowAvailableFields(false);', NULL),
('nu606c9e7a0af15b3', 'nu5bad6cb34ebf5bd', 'onkeyup', 'nuShowAvailableFields(true);\nnuSetDataUserModified(this, event);\nif (nuSubformHandleArrowKeyEvent(window.event)) window.event.preventDefault(); \n', NULL),
('nu606eec916480f6b', 'nu5bad6cb34ebf5bd', 'onblur', 'nuOnBlurFFField(this, event);', NULL),
('nu606f29e74fa90bc', 'nu5bad6cb34ee220e', 'onblur', 'nuOnBlurFFLabel(this, event);', NULL),
('nu606f64f83b36dbd', 'nu5bad6cb34ee220e', 'onkeydown', 'nuSetDataUserModified(this, event);', NULL),
('nu606f7854568b337', 'nu606f399ea7b558f', 'onchange', 'if(this.value.length !== 1){\n  nuChangePrefix(this.value);\n}\n', NULL),
('nu6072b7075d65a8e', 'nu5bad6cb34ee220e', 'onkeyup', 'if (nuSubformHandleArrowKeyEvent(window.event)) {\n   window.event.preventDefault(); \n}', NULL),
('nu607459b941be49a', 'nu60741457ef6f315', 'onchange', 'nuOnChangeFFType(this, event);', NULL),
('nu60758a15ecc02aa', 'nu5bad6cb34f0470a', 'clickdelete', 'nuClickDelete(event);', NULL),
('nu60dc7ad44f85974', 'nu5bad6cb328dde63', 'onchange', 'nuFormOnTabsTitleChanged(event) ', NULL),
('nu60e4d4c999e5e4a', 'nu5bad6cb3278653c', 'onchange', 'nuFormUpdateDisplayDatalists();', NULL),
('nu60e61e9c56651ae', 'nu5bad6cb327ee8dc', 'ondblclick', 'nuOpenAce(\'SQL\', this.id);', NULL),
('nu60e96ee3e5dcc3f', 'nu60e96ee3e51e1bb', 'onclick', 'var n = Number(sob_all_top.value) + (event.ctrlKey ? -27 : 27);\n$(\'#sob_all_top\').val(n < 0 ? 0 : n).change();', NULL),
('nu60e9719f5e49e66', 'nu60e9719f5d9bc8b', 'onclick', 'nuSetValue(\'sob_all_height\', nuGetValue(this.id))', NULL),
('nu60e971e1683aaa1', 'nu60e971e1676ca2d', 'onclick', 'nuSetValue(\'sob_all_height\', nuGetValue(this.id))', NULL),
('nu60e97221bc52ce0', 'nu60e97221bb95958', 'onclick', 'nuSetValue(\'sob_all_height\', nuGetValue(this.id))', NULL),
('nu60e9724c20900a9', 'nu60e9724c1fdd7c5', 'onclick', 'nuSetValue(\'sob_all_height\', nuGetValue(this.id))', NULL),
('nu60e9732db35a7f1', 'nu60e9732db2a4125', 'onclick', 'nuSetValue(\'sob_all_width\', nuGetValue(this.id))', NULL),
('nu60e973518b05887', 'nu60e973518a26f21', 'onclick', 'nuSetValue(\'sob_all_width\', nuGetValue(this.id))', NULL),
('nu60e97365095aa8c', 'nu60e9736508a9b31', 'onclick', 'nuSetValue(\'sob_all_width\', nuGetValue(this.id));', NULL),
('nu60e973b671d891a', 'nu60e973b6711a030', 'onclick', 'nuSetValue(\'sob_all_width\', nuGetValue(this.id))', NULL),
('nu60e974dd2eac661', 'nu60e974dd2df427c', 'onclick', 'nuSetValue(\'sob_all_width\', nuGetValue(this.id))', NULL),
('nu60e97510251557f', 'nu60e975102462aff', 'onclick', 'nuSetValue(\'sob_all_height\', nuGetValue(this.id))', NULL),
('nu60e9756969dff71', 'nu60e97569692fac5', 'onclick', 'nuSetValue(\'sob_all_width\', nuGetValue(this.id))', NULL),
('nu60e975e9337f224', 'nu60e975e932d74ef', 'onclick', 'var n = Number(sob_all_left.value) + (event.ctrlKey ? -50 : 50);\n$(\'#sob_all_left\').val(n < 0 ? 0 : n).change();', NULL),
('nu62cca90dc177496', 'nu62cca90dbd7f63c', 'onclick', 'nuHomeMenuClick(this, event, \'Report\');', NULL),
('nu60f901bdb3a8e1c', 'nu60f8fd56e325e76', 'onclick', 'var n = Number(sob_all_top.value) + (event.ctrlKey ? -50 : 50);\n$(\'#sob_all_top\').val(n < 0 ? 0 : n).change();', NULL),
('nu6105ea043106d4b', 'nu5bad6cb34ebf5bd', 'onchange', 'nuOnChangeFFField(this,event);', NULL),
('nu6106cb38a3b8fd9', 'nu6106cb38a30a9b5', 'onclick', 'nuSubformSetHeight(\'obj_sf\');', NULL),
('nu610a662e2f1de1c', 'nu610a662e2e599c2', 'onclick', 'nuFormJSSelectCustomCode(this,\'sfo_javascript\');', NULL),
('nu610a6655102c6ab', 'nu610a66550f61129', 'onclick', 'nuFormJSSelectCustomCode(this,\'sfo_browse_javascript\');', NULL),
('nu610a667b9cc7d66', 'nu610a667b9beba56', 'onclick', 'nuFormJSSelectCustomCode(this,\'sfo_edit_javascript\');', NULL),
('nu61b4d4cd893e097', 'nu61b4c3e0687b434', 'onchange', 'onAttributeChanged(this.value);', NULL),
('nu61b84e0ed3b2a22', 'nu61b8493549e0d7b', 'oninput', 'this.value = this.value.toLowerCase();\n', NULL),
('nu61b9eafed4466bc', 'nu61b9eafed36e281', 'onclick', 'nuForm(\'nuform\', id, \'\', \'\', 2);', NULL),
('nu61c81c6a559567c', 'nu606f399ea7b558f', 'onblur', 'if (this.value.length == 1) {\n    nuMessage(\'The Prefix must be at least 2 characters long.\');\n    this.focus();\n}', NULL),
('nu61ca74b0dc425d6', 'nu5bad6cb326a4367', 'onchange', 'sfo_primary_key.value = \'\';\nnuRefreshDisplayObject(\'sfo_primary_key_display\');\n', NULL),
('nu61cac33aabe71c9', 'nu61cac33aab3fc06', 'onclick', 'nuSubformSetHeight(\'zzzzsys_browse_sf\');', NULL),
('nu61cf1475d8871f4', 'nu6167e23e89d6ec8', 'onchange', 'if (this.value.trim() != \'\' && sob_all_style_type.value == \'\') {\n  nuSetValue(\'sob_all_style_type\',\'CSS\');\n}', NULL),
('nu61d08c62cd26c2d', 'nu5fa0ff78688e2c5', 'onclick', '$(\'#clo_subforms_include\').click();', NULL),
('nu61d6c2af30be52d', 'nu61d6c2590b6dac1', 'onclick', 'nuCopyToClipboard($(\'#sfo_table\'));\n', NULL),
('nu61e55e8e6e3d2db', 'nu61e55dd85d03afb', 'onchange', 'nuObjectPreviewIcon(\'sob_input_icon_preview_html\',this.value);', NULL),
('nu61e9302bbe52aee', 'nu5bad6cb33b84bf4', 'onchange', '$(\'#sus_name\').addClass(\'nuEdited\');', NULL),
('nu61ea6d91bab0c60', 'nu61ea6d4bd6e9a49', 'onclick', 'nuObjectSetJSON();', NULL),
('nu6257b7628d3112d', 'nu6257b7628ac46ea', 'onclick', 'nuFormJSSelectCustomCode(this,\'sfo_style\');', NULL),
('nu6291b8c4eb47d59', 'nu5f9aaac963ecc49', 'onchange', 'enableDisableCheckboxes();', NULL),
('nu62b14c52a3c3649', 'nu62aee449c676cfb', 'onchange', 'nuSetupOnConfigValueChanged(this);\n', NULL),
('nu62b550a365d0303', 'nu62aee449c676cfb', 'onkeydown', 'if (nuSubformHandleArrowKeyEvent(event)) {\n   event.preventDefault(); \n}', NULL),
('nu62b3336a1c13144', 'nu62b331e0b311799', 'onclick', 'if (confirm(nuTranslate(\"Import settings from nuconfig.php.\") + \"\\r\\n\" + nuTranslate(\"All existing configuration settings will be overwritten. Continue?\")) === true) {\n    nuSetValue(\'configImport\', 1);\n    window.configImport = 1;\n    nuSaveAction();\n}', NULL),
('nu62cca90dc17fd49', 'nu62cca90dbda09a7', 'onclick', 'nuHomeMenuClick(this, event, \'Procedure\');', NULL),
('nu62cca90dc182849', 'nu62cca90dbe23269', 'onclick', 'nuVendorLogin(\'PMA\');', NULL),
('nu62cca90dc184bd2', 'nu62cca90dbe72fcf', 'onclick', 'nuHomeMenuClick(this, event, \'Form\');', NULL),
('nu62cca90dc186d3d', 'nu62cca90dbe7d11b', 'onclick', 'nuHomeMenuClick(this, event, \'Database\');', NULL),
('nu62cca90dc1890d7', 'nu62cca90dbea4053', 'onclick', 'nuHomeMenuClick(this, event, \'Setup\');', NULL),
('nu62da0f388a43beb', 'nu62da06d4b6a76ab', 'onchange', 'nuObjectFileUploadScript();', NULL),
('nu62daaffe4387423', 'nu62daaede874a146', 'onclick', 'nuVendorLogin(\'TFM\');', NULL),
('nu635294e973392b3', 'nu635294e972ea5f4', 'onclick', 'nuEmailTemplateAddSelectedField();', NULL),
('nu6352f62cbd9ef7e', 'nu635294e972f108a', 'onfocus', 'activeObj = $(this);', NULL),
('nu6352f63674f1a7d', 'nu635294e972f78da', 'onfocus', 'activeObj = $(this);', NULL),
('nu6352f64067eaf4b', 'nu635294e972ef846', 'onfocus', 'activeObj = $(this);', NULL),
('nu6352f648ccc7449', 'nu635294e972f2b2d', 'onfocus', 'activeObj = $(this);', NULL),
('nu6352f6531f581e1', 'nu635294e972e8dec', 'onfocus', 'activeObj = $(this);', NULL),
('nu63ab0c5d96775e6', 'nu5bad6cb352dce42', 'onchange', 'nuFFSetPrimaryKey();', NULL),
('nu63ed219d9cd6fd4', 'nu63ed219d9bc105c', 'onclick', 'nuSelectSelectAll(\'clo_tables_include\')\n', NULL),
('nu63ed261eeab8605', 'nu63ed261ee9bac3f', 'onclick', 'unselectAllOptionsStartingWith(\'clo_tables_include\',\'zzzzsys_\');\n$(\"#clo_tables_include\").trigger(\"change\");', NULL),
('nu63eda77978cca5b', 'nu63eda77977c63cb', 'onclick', 'const tables = selectToValueArray(\'clo_tables_include\');\n    nuSetProperty(\'nubackup_tables_include\', tables.length === 0 ? \'\' : JSON.stringify(tables));\n\nnuRunBackup();', NULL),
('nu64043c9c94fc43f', 'nu62cca90dbee3839', 'onclick', 'nuHomeMenuClick(this, event, \'Notes\');', NULL),
('nu64ec0d598b645d8', 'nu64ec098aac06a37', 'onclick', 'nuPWGenRefreshPassword();', NULL),
('nu64ec11f0da0490b', 'nu64ec098aac5c389', 'onnuload', 'this.value = \'15\';', NULL),
('nu64ec130ceea44e9', 'nu64ec098aacb9761', 'onnuload', 'nuSetValue(this.id, true);', NULL),
('nu64ec131a9b1c47c', 'nu64ec098aad152f4', 'onnuload', 'nuSetValue(this.id, true);', NULL),
('nu64ec1339016e390', 'nu64ec098aad6e797', 'onnuload', 'nuSetValue(this.id, true);', NULL),
('nu64ec1346d3c742d', 'nu64ec098aadca883', 'onnuload', 'nuSetValue(this.id, true);', NULL),
('nu64f6d46644c5699', 'nu64f6d3792987c59', 'onnuload', 'if (nuIsNewRecord()) {\n   nuSetValue(this.id, true);\n   nuHasNotBeenEdited();\n}', NULL),
('nu64f955a34bce023', 'nu64f955a34a6e245', 'onnuload', 'if (nuIsNewRecord()) {\n   nuSetValue(this.id, true);\n   nuHasNotBeenEdited();\n}', NULL),
('nu64fbaa39556365d', 'nu64ec098aacb9761', 'onchange', 'nuPWGenRefreshPassword();', NULL),
('nu64fbaa4ec287913', 'nu64ec098aad152f4', 'onchange', 'nuPWGenRefreshPassword();', NULL),
('nu64fbaa6e9b23e1b', 'nu64ec098aad6e797', 'onchange', 'nuPWGenRefreshPassword();', NULL),
('nu64fbaa817e617e0', 'nu64ec098aadca883', 'onchange', 'nuPWGenRefreshPassword();', NULL),
('nu64fbaab3ba63dca', 'nu64ec098aac5c389', 'onchange', 'nuPWGenRefreshPassword();', NULL),
('nu651222da798812d', 'nu5bad6cb32b5c449', 'onchange', 'nuObjectDisplayAccessCondition();', NULL),
('nu65d7dde30d8086f', 'nu65d777adf04fa5f', 'oninput', '$(this).val(function(_, value) {\n  return value.replace(/[\\s+*\"%\\/()=?`#;:{}\\\\]/g, \'\'); \n});', NULL),
('nu65dfd8995dfa123', 'nu62cca90dbe98b95', 'onclick', 'nuHomeMenuClick(this, event, \'User\');', NULL),
('nu6667647331dc096', 'nu5bad6cb34fa79c0', 'onnuload', 'if (nuIsNewRecord()) {\n   nuSetValue(this.id, \'Date\');\n}', NULL),
('nu65f291ad06862d1', 'nu6352a9c47ec423e', 'onclick', 'nuHomeMenuClick(this, event, \'Email\');', NULL),
('nu65f8d9f0e0f8d65', 'nu65f8d60b0cacd08', 'onkeyup', 'if (event.key === \'Enter\' && event.ctrlKey) {\n    nuOutputEval();\n}', NULL),
('nu66302f1914c47d2', 'nu5bad6cb32a36c23', 'onblur', 'if (this.value === \'\' && sob_all_type.value === \'subform\') $(this).val(\' \').change();', NULL),
('nu67b570cb83a84fc', 'nu64ec098aabab518', 'onclick', 'nuCopyToClipboard($(\'#pwg_input\'));', NULL),
('nu67c945696912cde', 'nu67c940bf969f659', 'onchange', 'nuUserSetNameParts(this);', NULL),
('nu67c943c0ae2172f', 'nu5bad6cb33ad88b7', 'onchange', 'nuUserSetNameParts(this);', NULL),
('nu67c9bd2c42d0474', 'nu67c940d83501a9a', 'onchange', 'nuUserSetNameParts(this);', NULL),
('nu67f84bdfdb15c65', 'nu5bad6cb33ed5ffe', 'oninput', 'nuDisable(\'nuRunHiddenButton\');', NULL),
('nu682e0f0f128485f', 'nu682ce4b0a6444a8', 'onclick', 'if (nuIsNewRecord() || !nuIsSaved()) {\n    nuMessage(nuTranslate(\'Form must be saved first..\'));\n} else {\n    nuPopup(\'nu682ce623ae184f0\'); // nuimportaccesslevel\n}', NULL),
('nu6834b6976ea6ac3', 'nu683303b254f82b7', 'onchange', 'nuGeneratorRun(false);', NULL),
('nu6834b69f45c277f', 'nu683303b2551aee5', 'onchange', 'nuGeneratorRun(false);', NULL),
('nu6834b6a813a3497', 'nu68331b4f5e8b32a', 'onchange', 'nuGeneratorRun(false);', NULL),
('nu683550b628a005b', 'nu683550b6279f3ac', 'onchange', 'nuGeneratorRun(false);', NULL),
('nu6835c6b3c9f2ccd', 'nu6835808fe52fb4f', 'onclick', 'nuGeneratorRunGetTags(this);', NULL),
('nu6839d5a9c34cc38', 'nu5bad6cb32c14343', 'oninput', 'if (this.value === \'*\') {\n   this.value = $(this).attr(\'placeholder\');\n}', NULL),
('nu683afbdd48e420f', 'nu683afbdd482c2bc', 'onclick', 'nuToggleSize(\'pge_prompt\', 390);\n$(\'#pge_prompt\').css(\'z-index\', 200);\n$(\'#pge_prompt_extra\').css(\'z-index\', 100);', NULL),
('nu683bb1959608ff3', 'nu683bb195950009c', 'onclick', 'nuToggleSize(\'pge_prompt_extra\', 550);\nnuTogglePosition(\'pge_prompt_extra\', 30);\n$(\'#pge_prompt\').css(\'z-index\', 100);\n$(\'#pge_prompt_extra\').css(\'z-index\', 200);', NULL),
('nu683bbae118314fe', 'nu683bbae11732fe9', 'onclick', 'nuGeneratorPasteCodeFromTextArea();', NULL),
('nu683e8fe838c9d21', 'nu61e55dd85d03afb', 'oninput', 'if (this.value.trim().startsWith(\'<i\')) {\n  this.value = nuObjectExtractClassNames(this.value);\n  nuObjectPreviewIcon(\'sob_input_icon_preview_html\',this.value);\n}', NULL),
('nu683f5eb17ea2cdf', 'nu5bad6cb33ed5ffe', 'onchange', 'const noTags = this.value.nuStripBoundaryTags(\"<?php\", \"?>\");\nif (this.value !== noTags) {\n  this.value = noTags.trim();\n}', NULL),
('nu6842dc89412c2ba', 'nu6842dc89403a4a6', 'onclick', 'function togglePassword() {\n    const input = document.getElementById(\'check_password\');\n    const input2 = document.getElementById(\'new_password\');\n    const icon = document.querySelector(\'#btn_toggle_password i\');\n\n\n    const isPassword = [REDACTED] === \'password\';\n    input.type = isPassword ? \'text\' : \'password\';\n    input2.type = isPassword ? \'text\' : \'password\';\n\n    icon.classList.toggle(\'fa-eye\');\n    icon.classList.toggle(\'fa-eye-slash\');\n}\n\ntogglePassword();', NULL),
('nu684e1c92bf3b2f2', 'nu684e17844eca02f', 'onchange', 'nuTabAdditionalSetMarker();', NULL),
('nu684e1e4d7fbf5ee', 'nu65d7dabf1036576', 'onchange', 'nuTabPermissionsSetMarker();', NULL),
('nu684e1f6060d6734', 'nu5bad6cb342de027', 'onchange', 'nuTabsSetMarker();', NULL),
('nu684e1f6e02383b8', 'nu5bad6cb341fdfc3', 'onchange', 'nuTabsSetMarker();', NULL),
('nu684e1f78b022660', 'nu5bad6cb33715015', 'onchange', 'nuTabsSetMarker();', NULL),
('nu684e201acb7a1a6', 'nu5fee9ffe0330e', 'onchange', 'nuProcedureSetMarker();', NULL),
('nu684e21744176e96', 'nu5ff2c03acc8a591', 'onchange', 'nuTabsAccesLevelSetMarker();', NULL),
('nu684e2d478f19dcc', 'nu5fdb9ffe0330e', 'onchange', 'nuTabsAccesLevelsSetMarker();', NULL),
('nu684e2744696f0e1', 'nu5bad6cb331a6d3e', 'onchange', 'nuTabsCustomCodeSetMarker();', NULL),
('nu684e274c6b4513a', 'nu5bad6cb3316ef87', 'onchange', 'nuTabsCustomCodeSetMarker();', NULL),
('nu68635e281c406aa', 'nu68635e281bad53e', 'onclick', 'const formId = nuGetValue(\'sob_display_procedure\');\nif (!formId) {\n    nuMessage([nuTranslate(\'Select a Display Procedure first.\')]);\n    return;\n}\nnuForm(\'nuprocedure\', formId, \'\', \'\', 2);', NULL),
('nu68635f301b71446', 'nu68635f301aea9e9', 'onclick', 'const formId = nuGetValue(\'sob_select_procedure\');\nif (!formId) {\n    nuMessage([nuTranslate(\'Select a Select Procedure first.\')]);\n    return;\n}\nnuForm(\'nuprocedure\', formId, \'\', \'\', 2);', NULL),
('nu68841fdb70c7efa', 'nu5fe1bbb6cc15263', 'onclick', 'nuSaveAction();', NULL),
('nu6886eb1bb6492b6', 'nu6886eb1bb5d9ee2', 'onclick', 'nuSelectSelectAll(\'cla_opt_2_include\')\n', NULL),
('nu6886ee5339867ad', 'nu6886ee5338fb4ac', 'onclick', 'nuSelectSelectAll(\'cla_opt_2_include\', false)\n', NULL),
('nu6887147de089b83', 'nu6885af953ea61be', 'oninput', 'nuAppClonerNoAutoFill(event);', NULL),
('nu68871c73af5dac3', 'nu6885af953ea642e', 'onchange', 'nuAppClonerNoAutoFill(event);', NULL),
('nu688a62e8954f4c5', 'nu68874ed2b0489d7', 'oninput', 'if (this.value === \'*\') {\n   let placeholder = $(this).attr(\'placeholder\');\n   if (placeholder) {\n      let lines = placeholder.split(\'\\n\');\n      lines.shift(); // remove the first line\n      this.value = lines.join(\'\\n\').trim();\n   }\n}', NULL),
('nu688a63eb0f4815d', 'nu6887511e5689d14', 'onchange', 'nuProcedureSetMarker();', NULL),
('nu688ba5aa8828866', 'nu688ba5aa8781631', 'onclick', 'nuSelectSetIndex(\'sph_run\',1);', NULL),
('nu688ba64051490f6', 'nu688ba64050cec1c', 'onclick', 'nuSelectSetIndex(\'sph_run\',2);', NULL),
('nu688f3fd18465242', 'nu6885af953ea5bf9', 'onchange', 'nuAppClonerHostChanged();', NULL),
('nu688fa04c883c2ed', 'nu688fa04c87b4359', 'onclick', 'nuSelectSelectAll(\'cla_opt_2_exclude\')\n', NULL),
('nu688fa07d9eb7d3b', 'nu688fa07d9e392fc', 'onclick', 'nuSelectSelectAll(\'cla_opt_2_exclude\', false)\n', NULL),
('nu68bd1f7eb10ae71', 'nu61b4c5e8e2b6f41', 'onclick', 'nuObjectEditAttributes();', NULL);

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_file`
--

CREATE TABLE `zzzzsys_file` (
  `zzzzsys_file_id` varchar(25) NOT NULL,
  `sfi_code` varchar(300) DEFAULT NULL,
  `sfi_description` varchar(300) DEFAULT NULL,
  `sfi_group` varchar(300) DEFAULT NULL,
  `sfi_json` longtext,
  `sfi_system` char(1) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

--
-- Dumping data for table `zzzzsys_file`
--

INSERT INTO `zzzzsys_file` (`zzzzsys_file_id`, `sfi_code`, `sfi_description`, `sfi_group`, `sfi_json`, `sfi_system`) VALUES
('nu5bad6cb37d02d01', 'nubuilder', 'Logo', 'nubuilder', '{\"file\":\"ZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFLc0FBQUErQ0FZQUFBQlVRK3ZwQUFBQUNYQklXWE1BQUJZbEFBQVdKUUZKVWlUd0FBQUFCM1JKVFVVSDRRa2FGaklXSW5lSjd3QUFEaU5KUkVGVWVOcnRuWHQwVmRXZHh6Ky9jMjRTREkvY1JHUUVIL1d4ckFwVDYyUFZCMUt4dGVPcWRvb1FHclNEdFlJSWdWbXVsclpNeHlrelZNZDIydFdwenVCQURRWE1XTmU0SkNhcHNUaUY2Um9meXlxMkkzMkF1S3d3Z3c5SUVEQTNQQkx1NDV6Zi9ISE92ZmZrNXB4N0UvSzg1SHl6ZHU2OVorK3p6MzU4OTIvLzltOC9qcWdxSVVJVUE0eXdDRUtFWkEwUklpUnJpSkNzSVVLTWNFUUNmZXJsUmt4bVlISm1qMUEyWUNGWVlMdWZKQkVTUUJ4SUlDUVFrb0RTYVJqczRoaFBzMXFQcEtPNHJWbm1Zek94VzhzUnVrVDR1U3EzV2pERlVNb1JmbTladlBaY2plNERxRzZXMHkyYk8zT1Rxd1p2dE16UlYyWTF5YWRFbWQ0am84S214bXB0bFliMmN6SGxpUUxsWWlQU2h0cnZnL0VPWlRUcUZ5cmFCNk1DcExIOVI0aDh5dGZUaXQ2RTJiRUE5RTUvZjN1WjFsVHRLdmlNaG8rbVlocHJnMnBhcTZQMXhVdldmNWUvb1pUWm1DaW1LMys5TXRoeTcweUJZVGtrVlVXd2tReVJEY1Q5UTJFR1k2bVdsYktJaHh6U2lYS2pDaGQwSTV5aU5ud0pNQVZRQWVBNncyVHBiVTN5WXBuRjkxTXdRVXhtNVNiWlZMcUFWeFF1RXVucG4xUitCYlJpMk9WZ3ppeFlNcXFBQUFweGVWU2FZMCtUc3I2ak5hZnZHK0MrN1RLVWZPazVId0w4amNqNFhqM0RaRUpnSFBCQzhhb0JUOGpWbERLYkVwUVNvQlIxdjJ2bWUvWWFSRkJLWGZLbXlaMzk3V25lVExSdHZwMlhINExrM09YRmpWM0NqY05UVERvRzVhdVk1Z3ZTY21oSzJDR1BGTEthWEVQRUpWMEpTZ1F5cEhSK3AwbnFYSE5KS3FiN1BRSVlLQ2FLUVRjanJpaFg4WUJFVGpheHBuREpNSmZYUmFRaXpTRnRSZ3BaRFNaaWRDZWlLMDNKa0RGTjVyVDBkTDlMbXFDRzUzbzN0bElLUkFOMUswVWpjS2R0ODQrKzhnM0tCcjFFUko0Q1hzNFQ0bXBwT0ZJMWNFSmJPb0dqQVM1RVhwMjFCTWtRemNnUWxveVVORnk5RkJSRlhISm1QMDBQVWRPNnJ1MkpQNDRFMWh0ME5GWnI2N3dHMGZod2xZaHRQNGxkdVFVenRoczR6NytKVzljQ3p3OElWNnVqYy9LMm5hYVFwUGtIV09KS3g2elRqSlJVbkpHSG5ia3VwTnl4aU5lbDViYjBQVkh4TXBUVThCV0sxbUJKTTYrZ0FXUVZZNHBEcFBZZmdwemhJNTBQNkp5Sys1MHdzZThDNS9xVThSR2RFLzI2Tk1XK0NVenpmYzZPNkNJKzBjc09vZVhRZUZLUmUwQ3ZCVGtIbFE0TWJjWG1aZFI0dHk5R1NtazVOQVVyY2pzMjV5Rk1BYzVFaUtPMEFXM0FUcXprTTFwenhyRnU5elczejBmbHBvQSsvRUVzbllISVRGVE9RblE4OEM3SWk1eFc4VE85aGZqSmtqWDdLVDZrRTFlSzVpb1Q0aE5Ic1VMcHhhSUorUkowdDJpNGxvUjNnUHZkZUc1RHVOd24vZ1BBMXhHOUdaV2JmYU9meXIyOUl0ZlBPNjdDam13RnFqSUZMNG9yVmhZaXhIdE4wcFQ1TUVUbUFwRnVkWmhiR21iSmFtbUsxV05GdjZVMUpGeVY1aHBnUVlBeGNEWWlsWm0wT1pnQk9wK3UyRXBwa3M5cWRjWC85azFuOVNaTVBYWlY3ZWFrVzlkdUIyUW94T0NyMkM4U3dkYm5IYUlHb3FDdUx3MEh4NUdLL0FMa2R2TFozN01ZRDl4SHBLTmVIdWlWM0s3TTQvY3gwSmErRDdEd2tOR3htWUx0R3Y0ZEp4bnkycDd2ZnM0T0NUem9PQno3QkRDcC93cGg1QitBSy9yZUErbVh1U3cyZXdCeU1rMmFZaC9yRzFsVEdWTGlNZktuWjZ5OHY4a1FXblBDcGovMVZDWHI4STMvZXRhZ1RNd2pMOTlDNVhiZ3VjSlpNbVlFRFNGQTdrWDFuL1BjZkczaExrQzNJbndOcEMzUDZIWnkzOGhxWjV3emNFcGxQaDJYY0srbHAxblQvaGFvN2M1aVdSNUNGeTlaeS9PWW05NHFqaXpZVCtyY2lrMElQODdMb3djd1FDOFA4SDVWcXl2V1UxNjUwbVdBWDNsY1hyZ3htQ3QxVG5RMW9rK2ZkTHYwbGF4WkFqcnoreW1FcE92UzF4eVhEZWNsdEkyZ2J0aGkxQU1iRHA0SjNCTGcvUVoyeGUrS0l5UFM1UkRGenQ4VHpNUUFUZ3RRQ1k4RHVLUDFaRUFNcFlYSm11cDBFM1Zzd0V4WGRoSXhzbU4remRoVnhaV1JYbjAyVGRRRXFFUHd0TFROcWhORngxUlppMWx5anI4K0w5dXdqTHUxcGloelZ2U0krRWxXQlJGRnNaR01uZFZycXJKYzBycWsxTFRrVGJuU051MktFMzVLL241VXY4M082SC9vcW01MmtCRERTdGE0SXpsZC9SUEp6bEIxTjJPbGRWU3YycEJ3cFd1eVNLVnFNRjRIUG1KcTBWdVBpeG85dTdvRTJmV29jZEFFb25GRVQ3Z3VrWFVrTXBJVWQvMnF1SnBOTVZmcVFaOXJjeERaakJsN1dSbzZ6ZzlwTTFJa2F5S2psMmJuK3IxVHFHUWxhMmJ0YXNwRDJtU1JTeC9WdXpHTnQ3SFpDVG9teDNjNkpzOUwvZDRyOU83elRvd0toZ2dYdTFQRzRLeS82MmY1SnRjZ2tRWmZ2MlBKM1gwbHEyVE1WdWtGS2VJWllLVUhXWDVrUFVXNmZwMWRzVWVhWXY4SitDd3kwVXVZRUwwRHFCOGxBdTBpWU5XQWxXMzF4RmFnZFdBa2E5TFZPM05YVHVXMk55dEh1ZzZ6UGRWU3hnSVl5dGdCa3UzSDhraWJ5d2t4QXRRQW0rTUlqcTAwU1hZUlMzYzFRRTVxS2xWUnloeTczWUQzVnNKTnN4dWxIT0hxSVNpM2FFaWRFVUJXUTNoVFliYUh2Rmw1MG4vczVidmEyWjhJVXVQWVg5S0ZSYytsM2FlcDhObXdTZ2NjT3hGZGsxOEl5Zjdoa2F5SDJheFYzQ0hDaFFNdS9VeFc5emVPNTIvUitHMk4wb0J3Ujhpam9WRGcyYXZWbFk4QlNIUHNWNmp2Q3E3ZkF5MURUOVk2VFJwL0swdHNXQzdDcDRFSi9WY24yVzNBR2g3UzE3S0RidDVTaU9WMDVjY0FyR01rakRLMjkyekF2QWZRTXBmMVgyeGloeWpUUlppdU1FR2h6WUJmbyt5MzRZYmNlMDF6Y05TUFVVYmM2ZmhQeXc3SjBOcC8zZUlQdE1NQXgxeXhRc1l5cmg4cXdIN2lVcWM5NXBTZm5hc1BCOTN5aTcvU2RtQkZIdFZYcVdZYnNFMlFSMm9hTURiVnFMZkFuZ3VaTlJvR1dMbjRrUjRmMlkxZGxYQ3VmbFFnUEQ0b0dHUHl0SkJEWWZHRVpCMFJrTTBkbFFRdkVRVFZOM3BOZEpHeVljdUl1ak53dGpFbWI3aVhzRUg4WitURVdkY3JEWlFTUElPVkdCbHF3T2hydmc4VDEvUEp0MGJUam13dkVNczUwaHhianNweDBFc0htWkY1aUNMenBUbjJOZ1pmelJ2REtteHA0bmZBZFQ1eFRKZkdqbm1ZZW1rZ1gxVC9FSkxWQjh0azR5ejdKSXp5SmllYTF1aXl3Z3QvVlM0dUVPSlJyUm4vdHZ2OUVINjdXeDFWNGVFaDJTWmhwcmFUaXZqWm5RR21vVFQya3ZTditwTlZ4eUFVV04xdmJBdko2aWZVME84QmY5N25ycDJ5bDhnM2hkcTdDdDFDVmVVM1BKSCtFdTNuak5tWEc5OC9ONTdzY1RoYUVxeldUVXNMcDJqV3hLUFMyTDRSa1h2N3g0VFVBNlFpbndNKzJiZUMxVTNzaURZek55VHJTTUdicUR6SXp1Z3ozUlpmSDR3K3hNVFlWSnlURC8zd29hdm5CVzVEbmhaUG5ET0Rzcy9rWHUvQ092cEVyMXR3NVZMTVdCeW9EYTVUMlFaNkRRRXprVHByNGxGcCt1Z3Z3WGdFWndHUFdlQ3B4MEdlWUV4MCtWQXRTRC9GeUtyYlFaN3g4MGxpT1JNUVJ1bEJzRmNVanNydXhEWjJZN0NiSFJWN2RSVjJydlRReFNTRjZEeWFZcDlHOVU1RUxuVExkQzhpT3pDVGRWaVJPU0NUZk9NSHp2YWMrTkM5WXNSa0Y4bzArNWVZUnNEWnNJbjN3RGxCQnFMM1NjdWhmeUpwTGtEa1Vwd2REMTBvZjBKbzFPcUtGNlN4WXg1R3p1a3dsdlZxSmtuVlZSOEFOZEwwMGRtSWVRZTJ1aWV5eUdSRVQ2RFNCdG9HOGlaZDFpYWRYM1drZTZPUlp6R2RpWnNlS0NrNTBPK0JiN0c5cmFWV051eklvd2JVUDZiM0xPaHRYRXRrWGJsQjZTU3dLa0VyRlV6RlBGeUNmZmdNUHRpM1NsZWxmTzZaREtXKzI1L0hNblkzUUNmSHpqZXdUbGUwSEl3UFN4aXpaN1hPUCtLSjQwSW9kVWJacE9wQnJ2U0p6bExNSzdMcVQ2cjlwN3JvZzl4QWQ4blB4cFlSbjFRQ1ZTbk1Tb2ZvVnJ1RkhZdVFPdEFyUGIxSU1PclVnTCtXdGVOc3lwYUIzaXFZMXl0V0pLMkFPdjl0VWtBclp4K3RsUTB2SzdvWjdQVjF1ampwK0J2THdmS1Z6SjBjZVFXNEVpaTNQVXZWRXB4STFNcUdMWXExdkU0WDd4SE1lckJtZUovck4zUVNyRDltQjRqRzQ4QkNnSHRrNC9nSTNDZm9yZVZ3SFlqaEhEMW11OFFXQkJNTDA2NlZEYjhWWkt0SjVGLy9UZTg2WE55R21sR0VKYkx1UW91eTF4VitxTWpNQW8xMVBQQUZRZGFDK1Q5TFpGMXZ6b2FkZ2Y5NUE2WEFGd1h6dDB0a1hYay9yU0VYUk5EWHhSbG9YbCtnRGczZ0drWC9Qa1Z5K3pKWmYxa29XWXNHNWdwZ2FwQUtBWklBWGR6VGtzQmxZTndQK2UyVndCOFV0b2t6NERyZHg3L1N4TGpLUnVzVU5ydXgxNHIvamxwYjBlOTRmdTl3TEdMNkxZRUEyNjA4RHBvQzN3UGR6cldSRmNCWFFySVdCM3lQWTFSNHQ4N1ZkV3RsNHcyZ1BsTFUrSHd2aGdCTDYzVGhhMHRsL1dGRi9zNHZSQXJUV0tjTG52VG80TGZpVDFhclRoZjlvR2RhNVRNQjl0di9lMHdYTG5Uam5BbDgzQ2ZNRGFGa0hUbTRybFkyclBHcDRHZnFkT0VMRWpEZkwzaVBoQXc2eDBvTGxwVWljVWRuNU1UZzdaclVnS2xUeWNtRCtEWEtTRWpXa1lPTFhaZERSdjBUUmZSV2toRGhBQ3RFa2VOVW14VFlaQkw1V3U3Vm81aEhoMVlDbEc2MHNiYjYrWTJoZEpCT0lOUXphMlc5dTIxSXpnckpPdUlobld2MDdyYmhUc1ZQOUs1OXdMNGhmbXdVNUw1UURRZ1JJcFNzSVFZUWUwcVFHd0FTNkYrQVZ2UWNhQnJIUTdLR0dBa3FVUEpSWGJnZm9GYldmeE9reDB1SkZOMFBiQWpWZ0JBaFFyS2UraEl4d0tOa3NmejA0Mkg1akY0MTRBUGdiSi9yazViSXV2SjJLbE5WeU9TQTZjeEJXckZrdHdhdHZESXduMTBxRzdjcWVoQjB6Mk82NkNuWHluQmV6OUQ2WjkrUWh0TlN0TmxRSHZUV2swTWhXWXNFaWpTSi8ydHdvb0o1b0lvak5nRW4wQWpTTWpocE1uWUZIOEdvbHlqcE40SExPOEJUenR0YzlYcWZ3SldkSFBrUXlnUHpZQ0RQaG1wQWtXQUs3LzlZMEpYZ3V3MWpYRkFsSzlTZHdGZzVHR2t5aWY4RUFsYlgrMkF5Ny84THpubXAyc2M4UEhLWThRK0ZrblVvTlR4a2kyTHZDcWlRMytTN2Q1V3Vzb0h2TFpUSDE1V2hOK09ZZU01U3BCSm5uMVNKUXJ1QnRpc2NBSGxKc2JiVTZlSTlubWorQ0xySm4zZ2E2MnQrMXVyUzlublNjRUVsUjI4QyswcEJvdXJzM3EwUTFDTk1wTldUaHdmdmxmVjFCdko1Z2M4Qms0RXFoU3B4U053T3hBUmFGZmx2SmZWZmRicjR2V0lYTmtXM3JTVkVhQTBJRVNJa2E0Z1FJVmxEaEdRTkVXS2s0djhCd2cxQWNlSk1iSU1BQUFBQVNVVk9SSzVDWUlJPQ==\",\"name\":\"logo.png\",\"size\":3716,\"type\":\"image/png\"}', '');

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_form`
--

CREATE TABLE `zzzzsys_form` (
  `zzzzsys_form_id` varchar(25) NOT NULL,
  `sfo_type` varchar(300) DEFAULT NULL,
  `sfo_code` varchar(300) DEFAULT NULL,
  `sfo_description` varchar(300) DEFAULT NULL,
  `sfo_group` varchar(100) DEFAULT NULL,
  `sfo_status` varchar(1) DEFAULT NULL,
  `sfo_breadcrumb_title` varchar(100) DEFAULT NULL,
  `sfo_table` varchar(300) DEFAULT NULL,
  `sfo_primary_key` varchar(300) DEFAULT NULL,
  `sfo_browse_redirect_form_id` varchar(300) DEFAULT NULL,
  `sfo_browse_target` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
  `sfo_browse_row_height` int DEFAULT NULL,
  `sfo_browse_rows_per_page` int DEFAULT NULL,
  `sfo_browse_title_multiline` varchar(1) DEFAULT '0',
  `sfo_browse_autoresize_columns` varchar(1) DEFAULT NULL,
  `sfo_browse_sql` text,
  `sfo_javascript` longtext,
  `sfo_browse_javascript` mediumtext,
  `sfo_edit_javascript` mediumtext,
  `sfo_style` mediumtext,
  `sfo_mobile_view` varchar(1) DEFAULT NULL,
  `sfo_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

--
-- Dumping data for table `zzzzsys_form`
--

INSERT INTO `zzzzsys_form` (`zzzzsys_form_id`, `sfo_type`, `sfo_code`, `sfo_description`, `sfo_group`, `sfo_status`, `sfo_breadcrumb_title`, `sfo_table`, `sfo_primary_key`, `sfo_browse_redirect_form_id`, `sfo_browse_target`, `sfo_browse_row_height`, `sfo_browse_rows_per_page`, `sfo_browse_title_multiline`, `sfo_browse_autoresize_columns`, `sfo_browse_sql`, `sfo_javascript`, `sfo_browse_javascript`, `sfo_edit_javascript`, `sfo_style`, `sfo_mobile_view`, `sfo_json`) VALUES
('nu5fdb9ffd45aaa', 'subform', 'nuobjectsubform', 'Forms Objects', 'nubuilder', '1', NULL, 'zzzzsys_object', 'zzzzsys_object_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_object \nORDER BY sob_all_zzzzsys_tab_id, sob_all_order', NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdb9ffd45efe', 'subform', 'nuaccesssubform', 'Accessible Forms', 'nubuilder', '1', NULL, 'zzzzsys_access_form', 'zzzzsys_access_form_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_access_form', NULL, NULL, NULL, NULL, NULL, NULL),
('nu5feb9ffd45efe', 'subform', 'nuaccesssubform_rep', 'Accessible Reports', 'nubuilder', '1', NULL, 'zzzzsys_access_report', 'zzzzsys_access_report_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_access_report', NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fee9ffd45efe', 'subform', 'nuaccesssubform_php', 'Accessible PHP procs', 'nubuilder', '1', NULL, 'zzzzsys_access_php', 'zzzzsys_access_php_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_access_php', NULL, NULL, NULL, NULL, NULL, NULL),
('nu61e9969a239c033', 'subform', 'nuobjectjsonsubform', 'Object JSON', 'nubuilder', '1', NULL, 'zzzzsys_object_json', 'zzzzsys_object_json_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_object_json', NULL, NULL, NULL, NULL, NULL, NULL),
('nu62aee4493239e3a', 'subform', 'nuconfigsettingssubform', 'config settings subform', 'nubuilder', '1', NULL, 'zzzzsys_config', 'zzzzsys_config_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_config \nORDER BY cfg_order', NULL, NULL, NULL, NULL, NULL, NULL),
('nuaccess', 'browseedit', 'nuaccess', 'Access Levels', 'nubuilder', '1', '#sal_code#|New', 'zzzzsys_access', 'zzzzsys_access_id', '', NULL, 0, 17, '0', '', 'SELECT zzzzsys_access.*, zzzzsys_form.sfo_code FROM zzzzsys_access\nLEFT JOIN zzzzsys_form \nON sal_zzzzsys_form_id = zzzzsys_form_id\nORDER BY sal_code\n', NULL, 'nuBrowseStyleBadge(2); // Group', '$(\'#sal_zzzzsys_form_id_open_button\').toggleClass(\'input_button nuButton nuLookupButton\');\nif (nuIsNewRecord()) nuHide(\'sal_zzzzsys_form_id_open_button\');\n\nnuAccessFormSetButtonIcons();\nnuAccessAddSfFilter();\n\nfunction nuAccessAddSfFilter() {\n\n    let sfFilter = {};\n    sfFilter.accform = {\n        \'slf_zzzzsys_form_id\': {\n            type: \'search\',\n            float: \'left\',\n            placeholder: nuTranslate(\'Search\')}\n    };\n\n    nuSubformAddFilter(sfFilter);\n\n}\n\nfunction nuTabsSetMarker() {\n   nuTabSetMarker(\'nu5bad6cb36af0c58\', \'accform000slf_zzzzsys_form_idcode\'); // Forms\n   nuTabSetMarker(\'nu5bad6cb36c16b42\', \'accphp000slp_zzzzsys_php_idcode\'); // Procedures\n   nuTabSetMarker(\'nu5bad6cb36c39fc8\', \'accreport000sre_zzzzsys_report_idcode\'); // Reports\n}\n\nnuTabsSetMarker();\n', '', '1', NULL),
('nuaccessforms', 'edit', 'nuaccessforms', 'Accessible Forms', 'nubuilder', '1', NULL, 'zzzzsys_access_form', 'zzzzsys_access_form_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_access_form\nLEFT JOIN zzzzsys_form ON zzzzsys_form_id = slf_zzzzsys_form_id\nORDER BY sfo_code\n', NULL, NULL, NULL, NULL, NULL, NULL),
('nuaccessgroup', 'subform', 'nuaccessgroup', 'Groups Access Level', 'nubuilder', '1', NULL, 'zzzzsys_user_group_access_level', 'zzzzsys_user_group_access_level_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_user_group_access_level', NULL, NULL, NULL, NULL, NULL, NULL),
('nuaccesslevelreport', 'browseedit', 'nuaccesslevelreport', 'Access To Report', 'nubuilder', '1', NULL, 'zzzzsys_access_report', 'zzzzsys_access_report_id', '', NULL, 0, 0, '0', NULL, 'SELECT * \nFROM zzzzsys_access_report\nJOIN zzzzsys_report ON zzzzsys_report_id = sre_zzzzsys_report_id\nORDER BY sre_code', NULL, NULL, NULL, NULL, NULL, NULL),
('nuaccessreport', 'browseedit', 'nuaccessreport', 'Access To Procedures', 'nubuilder', '1', NULL, 'zzzzsys_access_php', 'zzzzsys_access_php_id', '', NULL, 0, 0, '0', NULL, 'SELECT * \nFROM zzzzsys_access_php\nJOIN zzzzsys_php ON zzzzsys_php_id = slp_zzzzsys_php_id\nORDER BY sph_code', NULL, NULL, NULL, NULL, NULL, NULL),
('nuaddattribute', 'launch', 'nuaddattribute', 'Add attribute', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM Launch Form 0', '/*\n    0|autocomplete|\n    1|accesskey|\n    2|data-|\n    3|maxlength|\n    4|placeholder|\n    5|spellcheck|\n    6|title|\n    7|value|\n    8|nu-label-position\n    9|nu-disable-calendar\n    10|nu-tooltip\n    11|nu-tooltip-icon\n\n*/\n\nnuHide(\'plh_value_select\');\nnuHide(\'plh_attribute_name\');\nnuHideTabs(0);\nnuSelectRemoveEmpty(\'plh_attribute\', \'-1\');\nnuAddActionButton(\'nuAddAttribute\', \'Add\', \'addAttribute();\');\n\nfunction nuOnMobileViewComplete() {\n  const currentTop = $(\'#plh_value_text\').css(\'top\');\n  const currentTopLabel = $(\'#label_plh_value_text\').css(\'top\');\n  $(\'#plh_value_select\').css(\'top\', currentTop);\n  $(\'#label_plh_value_select\').css(\'top\',  currentTopLabel);\n}\n\nif (typeObj().val() !== \'input\') {\n    nuSelectRemoveOption(\'plh_attribute\', \'7\').val(\'\');\n}\n\nfunction onAttributeChanged(value) {\n\n    nuShow(\'plh_value_select\', value === \'0\' || value === \'5\' || value === \'8\');\n    nuShow(\'plh_value_text\', !(value === \'0\' || value === \'5\' || value === \'8\' || value === \'9\'));\n    nuShow(\'plh_attribute_name\', value === \'2\');\n    \n    nuSetValue(\'plh_value_text\',\'\');\n\n    if (value === \'0\') {\n        $(\"#plh_value_select\").empty();\n        addSelectOption(\'0\', \'on\');\n        addSelectOption(\'1\', \'off\');\n    } else if (value === \'5\') {\n        $(\"#plh_value_select\").empty();\n        addSelectOption(\'0\', \'true\');\n        addSelectOption(\'1\', \'false\');\n    } else if (value === \'4\') {\n        nuSetPlaceholder(\'plh_value_text\', \'Placeholder text\');\n    } else if (value === \'6\' || value === \'10\' || value === \'11\') {\n        nuSetPlaceholder(\'plh_value_text\', \'Tooltip text\');\n    } else if (value === \'2\') {\n        nuSetPlaceholder(\'plh_value_text\', \'String value\');\n        $(\'#plh_attribute_name\').trigger(\"focus\");\n    } else if (value === \'1\') {\n        nuSetPlaceholder(\'plh_value_text\', \'Single character\');\n    } else if (value === \'3\') {\n        nuSetPlaceholder(\'plh_value_text\', \'Number value\');\n    }  else if (value === \'7\') {\n        nuSetPlaceholder(\'plh_value_text\', \'String\');\n    }  else if (value === \'8\') {\n        $(\"#plh_value_select\").empty();\n        addSelectOption(\'top\', \'top\');\n        addSelectOption(\'custom\', \'custom\');\n    } \n\n}\n\nfunction addSelectOption(value, text) {\n    $(\'#plh_value_select\').append(\'<option value=\"\' + value + \'\">\' + text + \'</option>\');\n}\n\nfunction attributesObj() {\n    return $(\"#sob_input_attribute\", window.parent.document);\n}\n\nfunction typeObj() {\n    return $(\"#sob_all_type\", window.parent.document);\n}\n\n\nfunction valueObjText() {\n    return $(\'#plh_value_text\').is(\":visible\") ? nuGetValue(\'plh_value_text\') : nuGetValue(\'plh_value_select\', \'text\');\n}\n\nfunction addAttribute() {\n    const attributeValue = valueObjText();\n    const attributeName = nuGetValue(\'plh_attribute_name\');\n    const attributeType = nuGetValue(\'plh_attribute\');\n    const attributeText = nuGetValue(\'plh_attribute\', \'text\');\n    \n    if (attributeValue === \'\' && attributeType != 9 && attributeType != 2) {\n        nuMessage(nuTranslate(\'Error\'), nuTranslate(\"Missing value\"));\n        return;\n    }\n    \n    if (attributeName === \'\' && nuIsVisible(\'plh_attribute_name\') ) {\n        nuMessage(nuTranslate(\'Error\'), nuTranslate(\"Missing name\"));\n        return;\n    }\n    \n    const attributeObj = attributesObj();\n    const attributeKey = attributeText + attributeName;\n    const attributeKeyWithEquals = attributeKey + \'=\"\';\n    \n    if (attributeObj.val().includes(attributeKeyWithEquals)) {\n        nuMessage(nuTranslate(\'Error\'), nuTranslate(\"The attribute already exists\"));\n        return;\n    }\n    \n    let kv = \'\';\n    if (attributeKeyWithEquals.includes(\'nu-disable-calendar\')) {\n        kv = \'nu-disable-calendar\';\n    } else {\n        kv = attributeKeyWithEquals + attributeValue + \'\"\';\n    }\n    \n    const currentVal = attributeObj.val();\n    if (currentVal === \'\') {\n        attributeObj.val(kv).change();\n    } else {\n        attributeObj.val(currentVal + \',\' + kv).change();\n    }\n}\n', NULL, NULL, NULL, '1', NULL),
('nuadddbcolumn', 'launch', 'nuadddbcolumn', 'Add Database Column', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', 'function nuAddDBColumnGetDataType(type, inputType, selectMultiple) {\n    \n    const BASE_TYPE_MAP = {\n        lookup: \'VARCHAR(25)\',\n        calc: \'DECIMAL(12,4)\',\n        textarea: \'TEXT\',\n    };\n\n    const SELECT_TYPE_MAP = {\n        single: \'VARCHAR(100)\',\n        multiple: \'VARCHAR(1000)\',\n    };\n\n    const INPUT_TYPE_MAP = {\n        date: \'DATE\',\n        nuDate: \'DATE\',\n        number: \'INT\',\n        nuAutoNumber: \'BIGINT UNSIGNED\',\n        nuNumber: \'DECIMAL(12,4)\',\n        file: \'LONGTEXT\',\n    };\n\n    if (type === \'select\') {\n        return SELECT_TYPE_MAP[selectMultiple ? \'multiple\' : \'single\'];\n    }\n\n    if (type === \'input\') {\n        return INPUT_TYPE_MAP[inputType] || \'VARCHAR(100)\';\n    }\n\n    return BASE_TYPE_MAP[type] || \'VARCHAR(100)\';\n    \n}\n\n\nfunction nuAddDBColumnSetDefault() {\n\n    const table = parent.$(\'#sob_all_table\').val();\n    const id = parent.$(\'#sob_all_id\').val();\n    const type = parent.$(\'#sob_all_type\').val();\n    const input = parent.$(\'#sob_input_type\').val();\n    /* const selectMultiple = parent.nuGetValue(\'sob_select_multiple\'); */ // Currently unused\n    const dataType = nuAddDBColumnGetDataType(type, input);\n\n    const query = `\\`${id}\\` ${dataType} NULL DEFAULT NULL`;\n    const alterStart = `ALTER TABLE \\`${table}\\` ADD`;\n\n    $(\'#sql_query_word\').html(alterStart);\n    $(\'#sql_query\').val(query);\n\n    nuSetProperty(\'sob_all_table\', table);\n    nuRefreshSelectObject(\'sql_after_column\');\n\n    return `${alterStart} ${query};`;\n\n}\n\nnuAddActionButton(\'Run\', \'Run\', \'nuHasNotBeenEdited(); nuRunPHPHidden(\"nu_run_add_db_column\")\');\nnuAddActionButton(\'Preview\', \'Preview\', \'nuAddDBColumnPreview()\');\nnuAddDBColumnSetDefault();\n\n\nfunction nuAddDBColumnPreview() {\n\n    const table = parent.$(\'#sob_all_table\').val();\n    const query = nuGetValue(\'sql_query\');\n    const after = nuGetValue(\'sql_after_column\');\n    let sql = \'ALTER TABLE `\' + table + \'`  ADD \' + query;\n\n    if (after != \'\') {\n        sql = sql + \" AFTER `\" + after + \'`\';\n    }\n\n    const escapeForHTMLAttribute = str => str.replace(/\\n/g, \'\\\\n\').replace(/\'/g, \"\\\\\'\");\n    const copyButtonHTML = (value, label) => `<button type=\"button\" class=\"nuActionButton nuAdminButton\" onclick=\"navigator.clipboard.writeText(nuTranslate(\'${escapeForHTMLAttribute(value)}\'))\">${nuTranslate(label)}</button>`;\n    const formIdCopyButton = copyButtonHTML(sql, \'Copy\');\n\n    nuMessage(\'Preview SQL\', sql + \';\' + \'<br></br>\' + formIdCopyButton);\n\n}\n\n$(\'#sql_query\').addClass(\'sql\');\n$(\'.sql\').on(\'dblclick\', function() {\n    nuOpenAce(\'SQL\', this.id);\n});', NULL, NULL, NULL, '1', NULL),
('nuauthentication', 'launch', 'nuauthentication', 'Authentication', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', 'function nuGet2FAProcedure() {\n    const d = nuDevMode();\n    const p = \'nu_authentication_2fa\';\n    return d ? p + \'_template\': p;\n}\n\nfunction nu2FAVerify() {\n    nuSetProperty(\'auth_code_verify\', $(\'#auth_code\').val());\n    nuSetProperty(\"nuauthcommand\", \"verify\");\n    const p = nuGet2FAProcedure();\n    nuRunPHPHidden(p);\n}\n\nfunction nu2FASendToken() {\n    nuSetProperty(\"nuauthcommand\", \"send\");\n    const p = nuGet2FAProcedure();\n    nuRunPHPHidden(p);\n}\n\nfunction handleEnterKey() {\n\n    $(\'#auth_code\').on(\'keydown\', function(evt) {\n        if (evt.key === \'Enter\') {\n            evt.preventDefault();\n            nu2FAVerify();\n        }\n    });\n\n}\n\nhandleEnterKey();\nnuHideHolders(0, 2);\n\n\n\n// Prevent [DOM] Password field is not contained in a form:\n$(\"#auth_code_verify\").wrap(\"<form id=\'nuFromVerif\' action=\'#\' method=\'post\' onsubmit=\'return false\'>\");', NULL, NULL, NULL, '1', NULL),
('nublank', 'launch', 'nublank', 'Blank', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', '\nnuSetTitle(nuFORM.getCurrent().run_description);\n', NULL, NULL, NULL, NULL, NULL),
('nubrowse', 'subform', 'nubrowse', 'Browse Columns', 'nubuilder', '1', NULL, 'zzzzsys_browse', 'zzzzsys_browse_id', '', NULL, 0, 5, '0', NULL, 'SELECT * FROM zzzzsys_browse\nORDER BY sbr_order\n', '$(\'#nuSearchButton\').remove();\n$(\'#nuSearchField\').remove();\n$(\'#nuPrintButton\').remove();\n\nnuSetTitle($(\'#sbr_title\').val());\n\nvar pid = parent.nuFORM.getCurrent().record_id;\n\nif(nuFORM.getCurrent().record_id == -1){\n    $(\'#sbr_zzzzsys_form_id\').val(pid).change();\n}\n', NULL, NULL, NULL, NULL, NULL),
('nubuildreport', 'browseedit', 'nubuildreport', 'Build Report', 'nubuilder', '1', '#sre_code#|New', 'zzzzsys_report', 'zzzzsys_report_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_report\nLEFT JOIN zzzzsys_form ON zzzzsys_form_id = sre_zzzzsys_form_id', 'if (nuFormType() == \'edit\') {\n\n    $(\'#sre_layout\').addClass(\'nuEdited\'); \n      nuAttachButtonImage(\'open_builder\',\'RD\');\n    \n    if (! nuIsNewRecord()) {\n  //    nuAddActionButton(\'Run\', \'Run\', \'nuRunReport(\"\'+ $(\'#sre_code\').val() +\'\")\');       \n    }\n    \n  }\n  \n  function nuBuildReportPickTableType(){\n      \n      var i   = $(\'#sre_zzzzsys_php_id\').val();\n      \n      var f   = \'\';\n      var r   = \'\';\n      \n      if(i.substr(0,10) == \'PROCEDURE:\'){\n          \n          f   = \'nuphp\';\n          r = i.substr(10);\n          \n      }\n      \n      if(i === \'\'){\n          \n          nuMessage([nuTranslate(\'No table selected\')]);\n          return;\n  \n      }\n      \n      if(i.substr(0,6) == \'TABLE:\'){\n          \n          nuVendorLogin(\'PMA\', sre_zzzzsys_php_iddescription.value)\n          return;\n  \n      }\n      \n      if(i.substr(0,4) == \'SQL:\'){\n          \n          f   = \'nuselect\';\n          r = i.substr(4);\n  \n      }\n      \n      nuPopup(f,r);\n      \n  }\n  \n  function nuBuildReportUpdateAclCount() {\n      var l = $(\"[data-nu-field=\'sre_zzzzsys_access_id\']\").length -2;\n      var t = l <= 0 ? \'\' : \' (\' + l + \')\';\n      $(\'#nuTab1\').html(nuTranslate(\'Access Level\') + t);\n  }', 'if (parent.nuCurrentProperties().form_id == \'nuaccess\') {\n    $(\'#nuBreadcrumb0\').html(nuTranslate(\'Reports\'));\n}\n\nnuBrowseStyleBadge(2); // Group', NULL, NULL, '1', NULL),
('nubuildtable', 'browse', 'nubuildtable', 'PHP or SELECT or TABLE', 'nubuilder', '1', NULL, 'zzzzsys_report_data', 'zzzzsys_report_data_id', 'nuselect', NULL, 0, 16, '0', NULL, 'SELECT * FROM zzzzsys_report_data', NULL, NULL, NULL, NULL, NULL, NULL),
('nucalcobjects', 'browse', 'nucalcobjects', 'Calc values On This Form And Its Subforms', 'nubuilder', '1', NULL, '#TABLE_ID#', 'thevalue', '', NULL, 0, 4, '0', NULL, 'SELECT * FROM #TABLE_ID#', '\nwindow.nuBrowseFunction = \'nuSelectCalcField\';\n\nfunction nuSelectCalcField(e){\n\n    var row = e.target.id.substr(0,8);\n    var fld = $(\'#\' + row + \'003\').html();\n    var frm = $(\'#sob_calc_formula\', parent.window.document).val();\n\n    $(\'#sob_calc_formula\', parent.window.document)\n    .val(frm + \'nuTotal(\"\' + fld + \'\")\')\n    .trigger(\'change\');\n\n}\n\n', NULL, NULL, NULL, NULL, NULL),
('nuclause', 'subform', 'nuclause', 'Select Clauses', 'nubuilder', '1', NULL, 'zzzzsys_select_clause', 'zzzzsys_select_clause_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_select_clause\nORDER BY ssc_type, ssc_order', NULL, NULL, NULL, NULL, NULL, NULL),
('nucloner', 'browseedit', 'nucloner', 'Cloner', 'nubuilder', '1', '|New', 'zzzzsys_cloner', 'zzzzsys_cloner_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_cloner\nORDER BY clo_form_source', NULL, NULL, '// DEV\nif (!nuDevMode()) {\n    nuHideTabById(\'nu63ed1fef9b6331f\');\n}\n\nfunction nuSelectObjectRefreshed(o, f) {\n\n    nuSelectRemoveEmpty();\n    if (f == \'clo_tabs\') {\n        $(\'select#\' + f + \' > option\').prop(\'selected\', \'selected\');\n    }\n}\n\nfunction addRunButton() {\n    nuAddActionButton(\'nuRunCloner\', \'Run\', \'runCloner()\');\n    $(\'#nunuRunPHPHiddenButton\').css(\'background-color\', \'#117A65\');\n}\n\nfunction runCloner() {\n\n    if ($(\'#clo_form_source\').val() === \'\') {\n        nuMessage(nuTranslate(\'Validation Error\'), nuTranslate(\'Source Form cannot be left blank.\'));\n        return;\n    }\n\n    const tabsLength = $(\"#clo_tabs option\").length;\n    if ($(\'#clo_tabs :selected\').length === 0 && tabsLength > 0) {\n        nuMessage(nuTranslate(\'Validation Error\'), nuTranslate(\'Select at least 1 Tab.\'));\n        return;\n    }\n\n    nuSetProperty(\'cloner_refresh_selectId\', \'\');\n\n    const tabs = nuSelectToArray(\'clo_tabs\', \'index\');\n    nuSetProperty(\'cloner_tabs\', tabs.length === 0 ? \'\': JSON.stringify(tabs));\n\n    const subforms = $(\'#clo_subforms_include\').is(\':checked\');\n    const clo_subforms = nuSelectToArray(\'clo_subforms\');\n    nuSetProperty(\'cloner_subforms\', subforms === false || clo_subforms.length === 0 ? \'0\': JSON.stringify(clo_subforms));\n\n    const formsRunIFrame = nuSelectToArray(\'clo_iframe_forms\');\n    nuSetProperty(\'cloner_iframe_forms\', nuGetValue(\'clo_subforms_include\') == false || formsRunIFrame.length === 0 ? \'0\': JSON.stringify(formsRunIFrame));\n\n    const dump = $(\'#clo_dump\').is(\':checked\');\n    nuSetProperty(\'cloner_dump\', dump ? \'1\': \'0\');\n\n    const noObjects = $(\'#clo_objects\').is(\':checked\');\n    nuSetProperty(\'cloner_objects\', noObjects ? \'0\': \'1\');\n\n    const newPks = $(\'#clo_new_pks\').is(\':checked\');\n    nuSetProperty(\'cloner_new_pks\', newPks ? \'1\': \'0\');\n\n    const replaceInto = $(\'#clo_sql_replace_into\').is(\':checked\');\n    nuSetProperty(\'cloner_replace_into\', replaceInto ? \'1\': \'0\');\n\n    nuSetProperty(\'cloner_form_source\', $(\'#clo_form_source\').val());\n    nuSetProperty(\'cloner_form_dest\', $(\'#clo_form_dest\').val());\n    nuSetProperty(\'cloner_notes\', \'#clo_notes#\');\n\n    dump ? nuRunPHP(\'nu_cloner\', \'\', 1): nuRunPHPHidden(\'nu_cloner\');\n\n    const tables = nuSelectToArray(\'clo_tables_include\');\n    nuSetProperty(\'nubackup_tables_include\', tables.length === 0 ? \'\': JSON.stringify(tables));\n\n}\n\nfunction setTitle() {\n\n    if (!nuIsNewRecord()) {\n        nuSetTitle($(\'#clo_form_source\').val());\n    }\n\n}\n\nfunction setDefaultValues() {\n\n    if (nuIsNewRecord()) {\n        $(\'#clo_new_pks\').prop(\'checked\', true).trigger(\'change\');\n        $(\'#clo_dump\').prop(\'checked\', true).trigger(\'change\');\n    }\n\n}\n\nfunction setParentFormId() {\n\n    if (parent.$(\'#nuModal\').length > 0 && $(\'#clo_form_source\').val() === \'\') {\n        nuGetLookupId(window.parent.nuCurrentProperties().form_id, \'clo_form_source\', false, false);\n    }\n\n}\n\nfunction cloSubformsChecked() {\n\n    var c = $(\'#clo_subforms_include\').is(\':checked\');\n    c ? nuEnable(\'clo_subforms\'): nuDisable(\'clo_subforms\');\n    nuSelectSelectAll(\'clo_subforms\', c);\n\n}\n\nfunction cloIframeFormsChecked() {\n\n    var c = $(\'#clo_iframe_forms_include\').is(\':checked\');\n    c ? nuEnable(\'clo_iframe_forms\'): nuDisable(\'clo_iframe_forms\');\n    nuSelectSelectAll(\'clo_iframe_forms\', c);\n\n}\n\nfunction selectObjectPopuplated(formId, selectId, count) {\n\n    if (selectId == \'clo_tabs\') {\n        nuSelectSelectAll(\'clo_tabs\', true);\n    }\n\n    var chk;\n    if (selectId == \'clo_iframe_forms\') {\n        chk = $(\'#clo_iframe_forms_include\');\n        var c = chk.is(\':checked\');\n        if (c) {\n            nuSelectSelectAll(\'clo_iframe_forms\', true);\n        }\n        count === 0 ? nuDisable(\'clo_iframe_forms_include\'): nuEnable(\'clo_iframe_forms_include\');\n        if (count === 0) chk.prop(\'checked\', false).trigger(\'change\');\n    }\n\n\n    if (selectId == \'clo_subforms\') {\n\n        chk = $(\'#clo_subforms_include\');\n        var s = chk.is(\':checked\');\n        if (s) {\n            nuSelectSelectAll(\'clo_subforms\', true);\n        }\n        count === 0 ? nuDisable(\'clo_subforms_include\'): nuEnable(\'clo_subforms_include\');\n        if (count === 0) chk.prop(\'checked\', false).trigger(\'change\');\n    }\n\n}\n\n\n\nfunction nuClonerOpenBrowse() {\n\n    if (nuFormsUnsaved() !== 0) {\n        if (!confirm(nuTranslate(\'Leave this form without saving?\'))) {\n            return;\n        }\n\n    }\n    nuForm(nuFormId(), \'\', \'\', \'\', \'1\');\n\n}\n\n\nfunction unselectAllOptionsStartingWith(selectId, prefix) {\n    $(\"#\" + selectId + \" option\").each(function() {\n        if ($(this).text().startsWith(prefix)) {\n            $(this).prop(\"selected\", false);\n        }\n    });\n}\n\nfunction enableDisableCheckboxes() {\n    var v = nuGetValue(\'clo_dump\');\n    if (v == \'0\') {\n        nuSetValue(\'clo_sql_replace_into\', 0);\n        nuDisable(\'clo_sql_replace_into\');\n        nuSetValue(\'clo_new_pks\', 1);\n        nuDisable(\'clo_new_pks\');\n    } else {\n        nuEnable(\'clo_new_pks\');\n        nuEnable(\'clo_sql_replace_into\');\n    }\n}\n\n\nif (nuIsNewRecord()) {\n    $(\'#clo_tabs\').empty();\n    $(\'#clo_subforms\').empty();\n    $(\'#clo_iframe_forms\').empty();\n}\n\nenableDisableCheckboxes();\n\n// clo_dummy required to adjust correct popup width\nnuHide(\'clo_dummy\');\nnuSelectRemoveEmpty();\n\n$(\'#clo_subforms\').nuLabelOnTop(-18, 25)\n$(\'#clo_iframe_forms\').nuLabelOnTop(-18, 25)\nnuLabelOnTop([\'clo_tabs\', \'clo_tables_include\', \'clo_tables_exclude\']);\n\n$(\'#label_clo_subforms\').prop(\'for\', \'clo_subforms_include\');\n$(\'#label_clo_iframe_forms\').prop(\'for\', \'clo_iframe_forms_include\');\n\ncloSubformsChecked();\ncloIframeFormsChecked();\n\nsetParentFormId();\nsetDefaultValues();\n\naddRunButton();\nsetTitle();\n\n\nif (Array.isArray(nuFORM.breadcrumbs) && nuFORM.breadcrumbs.length === 1) {\n    nuAddActionButton(\"nuClonerOpenBrowse\", \"<i class=\'fa-fw fa-regular fa-rectangle-list\'></i>\", \'nuClonerOpenBrowse()\', nuTranslate(\'Open Browse Form\'));\n}\n\nnuHasNotBeenEdited();\n\n', NULL, '1', NULL),
('nucodesnippet', 'browseedit', 'nucodesnippet', 'Code Snippets', 'nubuilder', '1', '#cot_code#|New', 'zzzzsys_code_snippet', 'zzzzsys_code_snippet_id', '', NULL, 35, 10, '0', NULL, 'SELECT * FROM zzzzsys_code_snippet WHERE (\n\n		(IFNULL(cot_scope,\'\') LIKE \'%0%\' AND \'#IS_CUSTOM_CODE#\' = \'1\') OR\n		(IFNULL(cot_scope,\'\') LIKE \'%1%\' AND \'#IS_SETUP_HEADER#\' = \'1\') OR\n		(IFNULL(cot_scope,\'\') LIKE \'%2%\' AND \'#IS_SQL#\' = \'1\') OR\n		(IFNULL(cot_scope,\'\') LIKE \'%3%\' AND \'#IS_PHP#\' = \'1\') OR\n\n	(\n\n		LOCATE(\'#\', \'#IS_SETUP_HEADER#\') = 1 AND \n		LOCATE(\'#\', \'#IS_CUSTOM_CODE#\') = 1 AND\n		LOCATE(\'#\', \'#IS_PHP#\') = 1 AND \n		LOCATE(\'#\', \'#IS_SQL#\') = 1 \n\n	) \n)\n\nORDER BY cot_code ', NULL, 'nuBrowseStyleBadge(2); // Group', 'var sc = $(\'#cot_source_code\');\nsc.addClass(\'js\');\n\nsc.css(\'padding\', \'3px 3px 3px 3px\')\n\n// Add ACE event handlers\nsc.on(\'dblclick\', function() {\n    nuOpenAce(nuCodeSnippetGetSourceLangage(), this.id);\n});\n\n// Code Snippets form\nnuSetProperty(\'IS_SETUP_HEADER\', 0);\nnuSetProperty(\'IS_CUSTOM_CODE\', 1);\n\n// Disable nu-records\nif (String(nuRecordId()).startsWith(\'nu\') && !nuDevMode()) {\n    nuDisableAllObjects();\n    $(\'#nuSaveButton\').hide();\n}\n\nfunction nuCodeSnippetGetSourceLangage() {\n\n    let l = $(\'#cot_language\').val();\n    if (l === \'JavaScript\') l = \'JS\';\n    return l === \'\' ? \'JS\' : l;\n\n}\n\nif (nuCodeIsTemplate() && !nuDevMode()) {\n    nuDisableAllObjects();\n    nuMessage(\"Unable to save templates. Please clone them to create a new copy and save the cloned version instead.\", 2500);\n}\n\nfunction nuCodeIsTemplate() {\n    return nuGetValue(\'cot_template\');\n}\n\nfunction nuOnClone() {\n\n    let code = cot_code.value;\n\n    if (nuCodeIsTemplate()) {\n        code = code.substring(0, code.length - 9);\n        nuSetValue(\'cot_code\', code);\n        nuSetValue(\'cot_group\', \'\');\n        nuSetValue(\'cot_template\', false);\n        nuEnableAllObjects();\n        $(\'#nuSaveButton\').show();\n    }\n\n}', NULL, '1', NULL),
('nucsvtransfer', 'launch', 'nucsvtransfer', 'CSV Transfer', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', 'function nuCheckCSV() {\n\n    const csvTo = $(\'#csv_to\').val().trim();\n    const csvFrom = $(\'#csv_from\').val().trim();\n    const csvDelimiter = $(\'#csv_delimiter\').val().trim();\n    const csvTransfer = $(\'#csv_transfer\').val().trim();\n\n    if (!csvTransfer || !csvFrom || !csvTo || !csvDelimiter) {\n        return nuMessage(nuTranslate(\'Validation Error\'), nuTranslate(\'No fields can be left blank\') + \'...\');\n    }\n\n    if (csvTransfer === \'export\') {\n        if (nuFORM.getJustTables().includes(csvFrom)) {\n            return nuRunPHP(\'nu_csv_transfer\');\n        }\n        return nuMessage(nuTranslate(\'No such tablename\') + \'...\');\n    }\n\n    if (csvTransfer === \'import\') {\n        if (!nuCSVfiles.includes(csvFrom)) {\n            return nuMessage([\n                nuTranslate(\'File not found\'),\n                \'\',\n                nuTranslate(\'CSV File must be located in the temp directory of the nuBuilder directory\')\n            ]);\n        }\n\n        if (csvTo === \'zzzzsys_user\') {\n            return nuImportUsersFromCSV(csvFrom, csvDelimiter);\n        }\n\n        if (nuFORM.getJustTables().includes(csvTo)) {\n            return nuMessage([\n                nuTranslate(\'There is already a table named\'),\n                `<b>${csvTo}</b>`\n            ]);\n        }\n\n        return nuRunPHP(\'nu_csv_transfer\');\n    }\n\n}\n\n\n\nnuAddActionButton(\'transfer\', \"Transfer\", \'nuCheckCSV()\', \'\');\n\n$(\'#csv_transfer\').val(\'export\');\n$(\'#csv_delimiter\').val(\'44\');\n\nnuHide(\'csv_delete_after_import\');\n\nnuCSVTransfer(\'export\');\n\nfunction nuCSVTransfer(action) {\n\n    const isExport = action === \'export\';\n\n    $(\'#label_csv_from\').html(nuTranslate(isExport ? \'Export From (Table)\': \'Import From CSV File\'));\n    $(\'#label_csv_to\').html(nuTranslate(isExport ? \'Export To CSV File\': \'Import To (Table)\'));\n\n    const dataListValue = isExport ? nuFORM.getJustTables(): nuCSVfiles;\n\n    isExport ? nuHide(\'csv_delete_after_import\'): nuShow(\'csv_delete_after_import\');\n\n    nuAddDatalist(\'csv_from\', dataListValue, true);\n\n}', NULL, NULL, NULL, '1', NULL),
('nudebug', 'browseedit', 'nudebug', 'nuDebug Results', 'nubuilder', '1', NULL, 'zzzzsys_debug', 'zzzzsys_debug_id', '', NULL, 31, 13, '1', NULL, 'SELECT * FROM zzzzsys_debug\nLEFT JOIN zzzzsys_user on zzzzsys_user_id = deb_user_id\nWHERE (deb_flag = \'#nu65e9ea5e7414ca0_filter#\' OR LEFT(\'#nu65e9ea5e7414ca0_filter#\',1) IN (\'#\',\'\'))\nORDER BY zzzzsys_debug_id DESC', '$(\'#deb_message\')\n.css(\'font-size\', 10 + \'px\')\n// .css(\'background-color\', \'#FFEEA6\')\n.prop(\'readonly\', true)\n.on(\'dblclick\', function() {\n    nuOpenAce(\'Text\', this.id);\n});\n\n\n$(\'#delete_option\').val(0);\n$(\'#nuAddButton\').remove();\n$(\'#nuOptions\').remove();\n\nvar mess = String($(\'#deb_message\').val());\nvar i = mess.indexOf(\'<br>\');\nvar m = mess.substr(i + 6);\nvar t = mess.substr(0, i);\nvar isHTMLText = m.startsWith(\'<html>\');\n\nnuSetTitle(m.substr(0, i));\n\n$(\'#nuTab0\').remove();\n\n$(\'#nuBreadcrumb2\')\n.css(\'text-align\', \'center\')\n.css(\'width\', \'95%\')\n.css(\'color\', \'black\')\n.css(\'padding\', \'5px\')\n.html(t + \' :: \' + nuWhen(nuEscapeHTML($(\'#deb_added\').val())))\n.appendTo(\"#nuTabHolder\");\n\n$(\'#deb_message\').val(m);\n\n\n$(\"[data-nu-column=\'2\']\").each(function(index) {\n\n    if ($(this).html().trim() !== \'\') {\n\n        const nuhtm = nuWhen(Number($(this).html()));\n\n        $(this).html(nuhtm);\n\n    }\n\n});\n\nif (nuFORM.getCurrent().record_id !== \'\') {\n\n    $(\'.nuActionButton\').remove();\n    nuAddActionButton(\'Delete\');\n\n}\n\nnuAddActionButton(\'DeleteAll\', \'Delete All\', \'nuDeleteAllAction()\');\n\nif (isHTMLText) {\n    nuDebugConvertTextareaToDiv();\n}\n\nfunction nuDebugConvertTextareaToDiv() {\n\n    const textarea = document.getElementById(\'deb_message\');\n    const htmlCode = textarea.value;\n    const div = document.createElement(\'div\');\n    div.innerHTML = htmlCode;\n    div.style.cssText = textarea.style.cssText;\n    div.style.userSelect = \'text\';\n    textarea.parentNode.replaceChild(div, textarea);\n\n}', 'nuAddBrowseFilter(\'nu65e9ea5e7414ca0\').nuSearchablePopup({ items: getFlag() });\n\n\nnuAddActionCheckbox({\n  id: \'chkAutoRefresh\',\n  text: \'Auto Refresh\',\n  checked: false,\n  storage: \'local\',\n  onChecked(isChecked) { \n    nuDebugSetAutoRefresh(isChecked);\n  }\n});\n\nfunction nuDebugSetAutoRefresh(active) {\n   \n    const button = document.getElementById(\'nuSearchField\');\n    if (!button) return; \n\n    if (button._refreshTimer) {\n        clearInterval(button._refreshTimer);\n        delete button._refreshTimer;\n    }\n\n    if (!active) return;\n\n    button._refreshTimer = setInterval(() => {\n        if (!button.isConnected) {\n            clearInterval(button._refreshTimer);\n            delete button._refreshTimer;\n            return;\n        }\n        nuGetBreadcrumb();\n    }, 2000);\n    \n}\n\n\nnuDebugSetAutoRefresh(nuGetValue(\'chkAutoRefresh\'));', NULL, '', '', NULL),
('nuemailtest', 'launch', 'nuemailtest', 'Send Test Email', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', 'nuAddActionButton(\'nuRuntestemail\', nuTranslate(\'Send\'), \'nuRunPHPHidden(\"nu_test_email\")\');\n\nif (parent.$(\'#nuModal\').length > 0) {\n\n    var p = window.parent;\n    $(\'#set_smtp_from_address\').val(p.set_smtp_from_address.value);\n    $(\'#ema_to\').val(p.set_smtp_from_address.value);\n    $(\'#set_smtp_from_name\').val(p.set_smtp_from_name.value);\n    $(\'#ema_body\').val(\'nuBuilder <b>Email<br> Test\');\n    $(\'#ema_subject\').val(\'nuBuilder Test - \' + new Date().toLocaleString());\n\n}\n\n\nnuSetToolTip(\'ema_load_data\', nuTranslate(\'Load from Local Storage\'));\nnuSetToolTip(\'ema_save_data\', nuTranslate(\'Save to Local Storage\'));\n\n\nfunction nuemailtestSaveDatatoLS() {\n\n    $(\'input[type=text], textarea\').each(function() {\n        localStorage.setItem(this.id, $(this).val());\n    });\n\n}\n\n\nfunction nuemailtestLoadDatafromLS() {\n\n    $(\'input[type=\"text\"], textarea\').each(function() {\n        var key = $(this).attr(\'id\');\n\n        var value = localStorage.getItem(key);\n        if (value || value === \'\') {\n            $(this).val(value);\n        } else {\n            nuMessage(`${nuTranslate(\'Information\')}`, `${nuTranslate(\"There\'s no Data to load in Local Storage\")}`);\n        }\n\n    });\n}', NULL, NULL, NULL, '1', NULL),
('nuevent', 'edit', 'nuevent', 'Object Events', 'nubuilder', '1', NULL, 'zzzzsys_event', 'zzzzsys_event_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_event', NULL, NULL, NULL, NULL, NULL, NULL),
('nufastformobjects', 'subform', 'nufastformobjects', 'Fast Form Objects', 'nubuilder', '1', NULL, 'zzzzsys_debug', 'zzzzsys_debug_id', '', NULL, 0, 0, '0', NULL, ' SELECT count()* FROM zzzzsys_debug', NULL, NULL, NULL, NULL, NULL, NULL),
('nufastreportobjects', 'subform', 'nufastreportobjects', 'Fast Report Objects', 'nubuilder', '1', NULL, 'zzzzsys_debug', 'zzzzsys_debug_id', '', NULL, 0, 0, '0', NULL, 'SELECT count(*) FROM zzzzsys_debug', NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `zzzzsys_form` (`zzzzsys_form_id`, `sfo_type`, `sfo_code`, `sfo_description`, `sfo_group`, `sfo_status`, `sfo_breadcrumb_title`, `sfo_table`, `sfo_primary_key`, `sfo_browse_redirect_form_id`, `sfo_browse_target`, `sfo_browse_row_height`, `sfo_browse_rows_per_page`, `sfo_browse_title_multiline`, `sfo_browse_autoresize_columns`, `sfo_browse_sql`, `sfo_javascript`, `sfo_browse_javascript`, `sfo_edit_javascript`, `sfo_style`, `sfo_mobile_view`, `sfo_json`) VALUES
('nufflaunch', 'launch', 'nufflaunch', 'Form Builder', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', 'var useMobileView = nuUseMobileView();\nnuInit();\n\nfunction nuFFSetPrimaryKey() {\n\n    let pk = \'\';\n\n    if (tableExists) {\n        const tableSchema = nuSERVERRESPONSE.tableSchema[fastform_table.value];\n        pk = tableSchema === undefined ? \'\': tableSchema.primary_key;\n    } else {\n        pk = nuGetValue(\'fastform_table\')+\'_id\';\n    }\n\n    nuSetValue(\'fastform_primary_key\', pk);\n    nuShow(\'fastform_primary_key\', (pk == \'\' || !tableExists) && fastform_type.value !== \'launch\')\n\n}\n\nfunction nuFFGetMessageTableEmpty() {\n   return nuTranslate(\'Either pick an existing table or enter a new table name.\');\n}\n\nfunction nuInit() {\n\n    $(\"[id$=\'ff_browse\']\").nuHide();\n    $(\'.nuActionButton\').nuHide();\n\n    nuHide([\'fastform_prefix\', \'nuFFAvailableColumnsWord\', \'check_nulog\', \'nuFFAvailableColumns\',\'fastform_primary_key\']);\n    nuDisable(\'nuFFAvailableColumns\');\n\n    nuSelectRemoveMultiple();\n    nuSelectRemoveEmpty(\'obj_sf000ff_type\', \'-1\');\n    nuSelectRemoveEmpty(\'fastform_type\', \'-1\');\n    nuMoveFieldPrefixToSubform();\n    nuSetValue(\'fastform_type\', \'browseedit\');\n\n    nuAddActionButton(\'BuildFastForm\');\n    nuSetToolTip(\'fastform_table\', nuFFGetMessageTableEmpty(), true);\n    nuSubformEnableMultiPaste(\"obj_sf\", \"#obj_sf000ff_label\", null, callbackPasted);\n    nuSetFFTypeOptionsColor(\'obj_sf000ff_type\');\n\n    nuSetFK();\n    nuDisableLastFFRow();\n\n    $(\"#fastform_type > option\").each(function() {\n        $(this).addClass(\'nu_\' + this.value);\n    });\n\n    $(\'#fastform_prefix\').on(\'click\', function(e) {\n        e.stopPropagation();\n    });\n\n    // Show all items again when clicking on the datalist arrow down button\n    $(\'#fastform_table\')\n    .on(\'click\', function(e) {\n        var t = $(this);\n        var inpLeft = t.offset().left;\n        var inpWidth = t.width();\n        var clickedLeft = e.clientX;\n        var clickedInpLeft = clickedLeft - inpLeft;\n        var arrowBtnWidth = 12;\n        if ((inpWidth - clickedInpLeft) < arrowBtnWidth) {\n            if (t.val() !== \"\") {\n                t.val(\'\');\n            }\n        }\n    })\n\n    .on(\'input\',\n        function() {\n\n            nuSetFFTable();\n            nuShowAvailableFields(false);\n\n            var selectedOption = $(\'option[value=\"\' + $(this).val() + \'\"]\');\n            if (selectedOption.length) {\n\n                nuSetProperty(\'available_columns\', $(\'#fastform_table\').val());\n                nuSetProperty(\'assigned_columns\', \'\');\n\n                $(\'#nuFFAvailableColumns\').empty();\n                nuAvailableColumnsSetLoading();\n                nuRefreshSelectObject(\'nuFFAvailableColumns\', \'\', true);\n\n            }\n        });\n\n    $(\'#fastform_table\').trigger(\"focus\");\n\n}\n\nfunction callbackPasted(modifiedObjects) {\n\n  modifiedObjects.forEach(function(obj) {\n     obj.attr(\'data-user-modified\', \'\');\n  });\n \n}\n\nfunction nuNoStoreObject(text) {\n    return [\'Word\', \'Subform\', \'Image\', \'HTML\', \'Button\'].indexOf(text) !== -1;\n}\n\nfunction nuNoBrowseObject(text) {\n    return [\'Display\', \'File\', \'Multiselect\'].indexOf(text) !== -1 || nuNoStoreObject(text)\n}\n\nfunction nuSetFFCheckboxes(type) {\n\n    let checkboxes = $(\"[id$=\'ff_browse\']:checkbox\");\n    if (type.startsWith(\'browse\')) {\n\n        const l = checkboxes.length;\n        checkboxes.each(function(index) {\n            if (index !== l - 1 && !$(this).is(\"[data-nu-no-browse]\")) {\n                $(this).show();\n            }\n        });\n\n    } else {\n        checkboxes.hide();\n    }\n\n}\n\nfunction nuOnFormTypeChanged() {\n\n    var type = nuGetValue(\'fastform_type\');\n\n    $(\'#fastform_type\').removeClass().addClass(\'nu_\' + type);\n    $(\'#fastform_table\').nuShow(type !== \'launch\');\n\n    nuSetFFCheckboxes(type);\n\n    $(\"[data-nu-field=\'ff_datatype\']\").nuShow(type !== \'launch\');\n    nuShow(\'title_obj_sfff_browse\', type.startsWith(\'browse\'));\n\n    nuSetFK();\n\n}\n\nvar tableExists = false;\n\nfunction nuSetFFTable() {\n\n    tableExists = nuFORM.getTables().indexOf(nuGetValue(\'fastform_table\')) !== -1;\n\n    $(\"[id$=\'ff_column_picker\']\")\n    .prop(\'disabled\', !tableExists)\n    .toggleClass(\'nuReadonly\', tableExists);\n\n    nuShow(\'fastform_prefix\', !tableExists);\n    nuShow(\'check_nulog\', !tableExists && nuGetValue(\'fastform_type\') !== \'launch\');\n\n    let c = $(\'#nuFFAvailableColumns\');\n\n    let l;\n    let rl;\n    let title = \'\';\n\n    if (tableExists) {\n        l = c.nuCSSNumber(\'left\') + c.nuCSSNumber(\'width\') + 30;\n        rl = \'1473px\';\n        title = $(\'#obj_sf000ff_field\').attr(\'title\');\n    } else {\n        l = c.nuCSSNumber(\'left\');\n    }\n\n    if (! useMobileView) {\n        $(\'#obj_sf\').css(\'left\', l);\n        $(\'#ffwrd\').css(\'left\', l);\n        $(\'#ff_resize\').css(\'left\', rl);\n    }\n    \n    $(\"[data-nu-field=\'ff_field\']\").attr(\'title\', title);\n\n    let bl = $(\"[id$=\'ff_browse\']\").length - 2;\n    $(\'#obj_sf\' + nuPad3(bl) + \'ff_browse\').hide();\n\n    nuEnableFFDataType();\n    nuSetFK();\n\n}\n\nfunction nuSetFK() {\n\n    nuHide(\'fastform_fk\');\n\n    let table = nuGetValue(\'fastform_table\');\n    if (table !== \'\' && nuFORM.getTables().indexOf(table) == -1 && nuGetValue(\'fastform_type\') == \'subform\') {\n        nuShow(\'fastform_fk\');\n    }\n\n}\n\nfunction nuShowFFO(e) {\n\n    let t = $(\'#\' + e.target.id).attr(\'data-nu-prefix\');\n    let i = nuGetValue(t + \'ff_id\');\n    let l = nuGetValue(t + \'ff_label\');\n    let f = nuGetValue(t + \'ff_field\');\n    let fff = \'fromfastform|\' + f + \'|\' + l;\n\n    nuPopup(\'nuobject\', i, fff);\n\n}\n\n\nfunction nuGetFFDataType(h) {\n\n    let t = \"VARCHAR(1000)\";\n\n    if (h == \'Checkbox\') t = \"VARCHAR(1)\";\n    if (h == \'Display\') t = \"VARCHAR(50)\";\n    if (h == \'Lookup\') t = \"VARCHAR(25)\";\n    if (h == \'Textarea\') t = \"TEXT\";\n    if (h == \'Calc\') t = \"DECIMAL\";\n    if (h == \'nuDate\') t = \"DATE\";\n    if (h == \'File\') t = \"LONGTEXT\";\n    if (h == \'nuAutoNumber\') t = \"VARCHAR(15)\";\n    if (h == \'Number\') t = \"INT\";\n    if (h == \'nuNumber\') t = \"DECIMAL(12,4)\";\n    if (h == \'Button\' || h == \'HTML\' || h == \'Image\' || h == \'Word\' || h == \'Subform\') t = null;\n\n    return t;\n\n}\n\nfunction nuEnableFFDataType() {\n\n    $(\"[data-nu-field=\'ff_datatype\']\").not(\".nuSubformTitleHolder\").each(function() {\n\n        var typeId = nuSubformRowObject(this.id, \'ff_type\').attr(\'id\');\n        var sel = $(\"#\" + typeId + \" option:selected\").text();\n        var noBrowse = nuNoBrowseObject(sel);\n\n        $(this).nuEnable(sel !== \'\' && !tableExists && !noBrowse && nuFFFormType() !== \'launch\');\n        if (nuFFFormType() == \'launch\') $(this).val(\'\');\n\n    });\n\n}\n\nfunction nuSetFFDataType(id, h) {\n\n    var dataType = nuGetFFDataType(h);\n    var noStoreObject = nuNoStoreObject(h);\n    var t;\n\n    if (tableExists && !noStoreObject) {\n        let index = nuSERVERRESPONSE.tableSchema[fastform_table.value].names.indexOf(\'cot_code\')\n        t = index !== -1 ? nuSERVERRESPONSE.tableSchema[fastform_table.value].types[index]: \'\';\n    } else\n        if (dataType !== null && !tableExists && !noStoreObject && nuFFFormType() !== \'launch\') {\n        t = dataType;\n    } else {\n        t = \'\';\n    }\n\n    nuEnableFFDataType();\n    $(id).val(t);\n\n}\n\nfunction nuFFFormType() {\n    return nuGetValue(\'fastform_type\');\n}\n\nfunction nuSelectFFObjects(e) {\n\n    if ($(\'#fastform_table\').val().trim() == \'\' && nuFFFormType() !== \'launch\') {\n        nuMessage(nuFFGetMessageTableEmpty());\n        $(\'#fastform_table\').trigger(\"focus\");\n        return;\n    }\n\n    const isObjectSelect = e.target.id === \'fastform_objects\' ;\n    \n    var id = isObjectSelect ? nuGetValue(\'fastform_objects\') : e.target.id;\n\n    var rowno = nuPad3($(\"[id^=\'obj_sf\'][id$=\'ff_label\']\", document).length - 1);\n    var rowsuf = nuPad2(rowno);\n    var sfrow = \'#obj_sf\' + rowno;\n\n    var h = isObjectSelect ? nuGetText(\'fastform_objects\') :  String(e.target.innerHTML).split(\':\');\n    var label = (isObjectSelect ? h : h[h.length - 1]) + rowsuf;\n\n    nuSetPlaceholder(sfrow.substring(1) + \'ff_label\', label);\n\n    $(sfrow + \'ff_label\').val(label).nuEnable().trigger(\'change\');\n    $(sfrow + \'ff_id\').val(id);\n    $(sfrow + \'ff_type\').val(id).nuEnable();\n    $(sfrow + \'ff_field\').nuEnable().attr(\'data-nu-picked\', true);\n    $(sfrow + \'nuDelete\').nuEnable();\n\n    var r = $(\'#\' + sfrow.substring(1) + \'ff_type\');\n    nuSetFFTypeColor(r[0]);\n\n    if (nuNoBrowseObject(e.target.innerHTML)) {\n        $(sfrow + \'ff_browse\').hide().attr(\'data-nu-no-browse\', \'\');\n    } else {\n        $(sfrow + \'ff_browse\').show().removeAttr(\'data-nu-no-browse\');\n    }\n\n    $(\'#fastform_type\').trigger(\'change\');\n\n    nuSetFFDataType(sfrow + \'ff_datatype\', h);\n\n    $(sfrow + \'ff_field\').trigger(\"focus\");\n\n}\n\nfunction nuOnChangeFFType(t, event) {\n\n    let target = event.target;\n    let i = target.id;\n\n    let id = nuSubformRowObject(i, \'ff_id\');\n    let browse = nuSubformRowObject(i, \'ff_browse\');\n    let label = nuSubformRowObject(i, \'ff_label\');\n    let field = nuSubformRowObject(i, \'ff_field\');\n    let dataType = nuSubformRowObject(i, \'ff_datatype\');\n    let objType = nuSubformRowObject(i, \'ff_type\');\n    let typeText = $(target).find(\"option:selected\").text();\n    let number = $(label).attr(\'placeholder\').nuJustNumbers();\n\n    nuSetPlaceholder(label.attr(\'id\'), typeText + number);\n\n    if (field.val() == \'\') {\n        label.val(typeText + number);\n    }\n\n    id.val(t.value);\n\n    let noStoreObj = nuNoStoreObject(typeText);\n    if (noStoreObj || nuFFFormType() === \'launch\') {\n        $(browse).hide().attr(\'data-nu-no-browse\', \'\').prop(\'checked\', 0);\n        nuSetValue(browse.id, true);\n    } else {\n        $(browse).show();\n    }\n\n    let objTypeText = nuGetValue($(objType).attr(\'id\'), \'text\');\n    nuSetFFDataType(\'#\' + $(dataType).attr(\'id\'), objTypeText);\n\n    nuEnableFFDataType();\n    nuSetFFTypeColor(t);\n\n}\n\nfunction nuOnChangeFFField(t, event) {\n\n    if (tableExists) {\n\n        let i = nuSERVERRESPONSE.tableSchema[fastform_table.value].names.indexOf(t.value);\n        let dataType = i === -1 ? \'\': nuSERVERRESPONSE.tableSchema[fastform_table.value].types[i].toUpperCase();\n        nuSubformRowObject(event.target.id, \'ff_datatype\').val(dataType);\n\n    }\n\n\n}\n\nvar selectedField = null;\n\nfunction onColumnPicker(event) {\n\n    let id = event.target.id;\n    if (id != \'\') {\n        selectedField = nuSubformRowObject(id, \'ff_field\');\n        if ($(selectedField).attr(\'data-nu-picked\')) {\n            $(\"[id$=\'ff_field\']\").removeClass(\'nuHighlight\');\n            $(selectedField).addClass(\'nuHighlight\');\n        }\n    }\n\n}\n\nfunction nuShowAvailableFields(v) {\n\n    let ac = [\'nuFFAvailableColumns\',\n        \'nuFFAvailableColumnsWord\'];\n    if (!tableExists) {\n        nuHide(ac);\n        return;\n    }\n\n    nuShow(ac);\n\n    if (v) {\n        let arr = nuSubformColumnArray(\'obj_sf\', \'ff_field\');\n        arr.push(\'\');\n        disableFromSelect(\'nuFFAvailableColumns\', arr);\n        $(\'#nuFFAvailableColumns\').prop(\'disabled\', false).removeClass(\'nuReadonly\');\n    } else {\n        if ($(\'#nuFFAvailableColumns option\').not(\"[value=\'\']\").length !== 0) {\n            $(\'#nuFFAvailableColumns\').prop(\'disabled\', true).addClass(\'nuReadonly\');\n        }\n    }\n}\n\nfunction disableFromSelect(id, arrOptionsVal) {\n\n    $(\"#nuFFAvailableColumns\").children(\'option\').attr(\"disabled\", false);\n    $(\'#\' + id).find(\'option\').filter(function() {\n        return arrOptionsVal.indexOf(this.value) != -1;\n    }).attr(\"disabled\", true);\n\n}\n\nfunction nuSelectObjectRefreshed(o, f, c) {\n    if (c == 0) nuShowAvailableFields(false);\n}\n\nfunction nuMoveFieldPrefixToSubform() {\n\n    let title = $(\'#title_obj_sfff_field\');\n    title.html(title.html() + \'<br>\');\n    let prefix = $(\'#fastform_prefix\');\n    title.append(prefix);\n    nuSetPlaceholder(\'fastform_prefix\', \'Prefix\', true);\n    prefix.css({\n        \'top\': \'1px\',\n        \'left\': \'0px\',\n        \'position\': \'relative\',\n        \'background-color\': \'#afe9ff\'\n    });\n\n}\n\nfunction nuSetLabel(field, label) {\n\n    let i = field.indexOf(\'_\');\n    if (i == 2 || i == 3) {\n        field = field.substring(i + 1);\n    }\n\n    label.val(field.replaceAll(\'_\', \' \').nuCapitalise().nuToTitleCase()).trigger(\'change\');\n\n}\n\nfunction nuAvailableFieldsOnClick(event, t) {\n\n    if (selectedField !== null) {\n\n        let v = t.value;\n        $(selectedField).val(v).trigger(\'change\');\n\n        let label = $(\'#\' + $(selectedField).attr(\'id\').replace(\'field\', \'label\'));\n        if (label.is(\'[data-user-modified]\')) {\n            let answer = window.confirm(nuTranslate(\'Overwrite the Label?\'));\n            if (!answer) return;\n        }\n\n        nuSetLabel(v, label);\n\n        nuSubformMoveFocus(selectedField, 1);\n\n    }\n\n    nuShowAvailableFields(true);\n}\n\nfunction nuGetStringAfterSubstring(parentString, substring) {\n    return parentString.substring(parentString.indexOf(substring) + substring.length)\n}\n\nfunction nuAvailableColumnsSetLoading() {\n    $(\'#nuFFAvailableColumns\').prepend(\'<option disabled=\"disabled\">\' + nuTranslate(\'Loading\') + \'...\' + \'</option>\');\n}\n\nfunction nuChangePrefix(prefix) {\n\n    prefix = prefix.trim() === \'\' ? \'\': prefix + \'_\';\n    let fieldArr = nuSubformColumnArray(\'obj_sf\', \'ff_field\');\n\n    for (var i = 0; i < fieldArr.length; i++) {\n        var n = fieldArr[i].indexOf(\"_\");\n        if (n == -1 || n == 2 || n == 3) {\n\n            var f = $(\'#obj_sf\' + nuPad3(i) + \'ff_field\');\n            if (f.val() !== \'\') {\n                f.val(prefix + nuGetStringAfterSubstring(f.val(), \'_\')).trigger(\'change\');\n            }\n\n        }\n    }\n\n}\n\nfunction nuDisableLastFFRow() {\n\n    let l = nuSubformObject(\'obj_sf\').rows.length;\n\n    let rowPrefix = \'#obj_sf\' + nuPad3(l == 1 ? 0: l - 1);\n    $(rowPrefix + \'ff_label\').nuDisable();\n    $(rowPrefix + \'ff_field\').nuDisable();\n    $(rowPrefix + \'ff_type\').nuDisable();\n    $(rowPrefix + \'ff_type\').nuDisable();\n    $(rowPrefix + \'ff_datatype\').nuDisable();\n\n}\n\nfunction nuButtonClass(id) {\n    return $(\'#\' + id).attr(\'class\').split(\' \')[1];\n}\n\nfunction nuSetFFTypeOptionsColor(id) {\n\n    $(\"#\" + id + \" > option\").each(function() {\n        if (this.value !== \'\') {\n            $(this).addClass($(\'#\' + this.value).attr(\'class\').split(\' \')[1]);\n        }\n    });\n\n}\n\nfunction nuSetFFTypeColor(t) {\n\n    let x = \'#\' + t.value;\n    if (t.value !== \'\') {\n        let id = $(x);\n        $(t).removeClass().addClass(id.attr(\'class\').split(\' \')[1]);\n    }\n\n}\n\nfunction nuSetDataUserModified(t, event) {\n\n    if ([37, 38, 39, 40, 9, 13].indexOf(event.keyCode) === -1) {\n        $(t).attr(\'data-user-modified\', \'\');\n    }\n\n}\n\nfunction nuOnBlurFFLabel(t, event) {\n\n    if (!tableExists) {\n\n        let ff_field = nuSubformRowObject(event.target.id, \'ff_field\');\n        if (!ff_field.is(\'[data-user-modified]\') && $(t).is(\'[data-user-modified]\')) {\n            let v = $(t).val();\n            if (v !== \'\') {\n                let prefix = $(\'#fastform_prefix\').val();\n                ff_field.val((prefix === \'\' ? \'\': prefix + \'_\') + v.toLowerCase().replaceAll(\' \', \'_\')).trigger(\'change\');\n            }\n        }\n    }\n\n}\n\nfunction nuOnBlurFFField(t, event) {\n\n    var v = $(t).val().trim();\n    if (v !== \'\') {\n\n        let prefix = $(\'#fastform_prefix\').val();\n        if (!v.startsWith(prefix)) {\n            v = prefix + \'_\' + v;\n            $(t).val(v);\n        }\n\n        let label = nuSubformRowObject(event.target.id, \'ff_label\');\n        if (!label.is(\'[data-user-modified]\')) {\n            nuSetLabel(v, label);\n        }\n    }\n\n}\n\nfunction nuClickDelete(event) {\n\n    let id = event.target.id;\n    let sf = $(\'#\' + id).attr(\'data-nu-checkbox\');\n    let row = id.substring(sf.length, sf.length + 3);\n    let checked = $(\'#\' + id).is(\":checked\");\n\n    $(\'[id^=\' + sf + nuPad3(row) + \']\')\n    .not(\':button, :checkbox\')\n    .toggleClass(\'nuSubformDeleteTicked\', checked)\n    .toggleClass(\'nuReadonly\', checked)\n    .nuEnable(!checked);\n\n}\n\nfunction nuFFInvalidColumns() {\n\n    let msg = \'\';\n    let table = nuGetValue(\'fastform_table\');\n\n    if (nuFORM.getTables().indexOf(table) == -1) return \'\';\n\n    let sf = nuSubformObject(\'obj_sf\');\n    for (let i = 0; i < sf.rows.length; i++) {\n\n        let field = sf.rows[i][2];\n        let type = nuGetValue(\'obj_sf\' + nuPad3(i) + \'ff_type\', \'text\');\n        let exists = nuFORM.tableSchema[table].names.indexOf(field);\n        if (sf.deleted[i] != 1 && exists == -1 && !nuNoStoreObject(type)) {\n            msg += nuTranslate(\'Invalid Field Name\') + \' <b>\' + field + \'</b><br>\'\n        }\n\n    }\n\n    return msg;\n\n}\n\nfunction nuBeforeSave() {\n\n    let table = nuGetValue(\'fastform_table\');\n    let type = nuGetValue(\'fastform_type\');\n    let pk = nuGetValue(\'fastform_primary_key\');\n    let fk = nuGetValue(\'fastform_fk\');\n\n    if (table === \'\' && type !== \'launch\') {\n        nuMessage(nuTranslate(\'Validation Error\'), [\'<b>\' + nuTranslate(\'Table Name\') + \'</b> \' + nuTranslate(\'cannot be left blank\')]);\n        return false;\n    }\n\n    if (type === \'\') {\n        nuMessage(nuTranslate(\'Validation Error\'), [\'<b>\' + nuTranslate(\'Form Type\') + \'</b> \' + nuTranslate(\'cannot be left blank\')]);\n        return false;\n    }\n\n    if (pk === \'\') {\n        nuMessage(nuTranslate(\'Validation Error\'), [\'<b>\' + nuTranslate(\'Primary Key\') + \'</b> \' + nuTranslate(\'cannot be left blank\')]);\n        return false;\n    }\n\n    if (type.startsWith(\'browse\') && $(\"[data-nu-field=\'ff_browse\']:checked\").length === 0) {\n\n        nuMessage(nuTranslate(\'Validation Error\'), [nuTranslate(\'At least 1 Browse needs to be checked\')]);\n        return false;\n\n    }\n\n    let fieldArr = nuSubformColumnArray(\'obj_sf\', \'ff_field\');\n    if (fieldArr.includes(\'\') || !nuArrayIsUnique(fieldArr)) {\n\n        nuMessage(nuTranslate(\'Validation Error\'), nuTranslate(\'The Field Names must be both unique and not blank\'));\n        return false;\n\n    }\n\n    //	let pk = table + \'_id\';\n    if (fieldArr.includes(pk)) {\n\n        nuMessage(nuTranslate(\'Validation Error\'),  nuTranslate(\'The Primary Key %s must not be entered.\').replace(\'%s\', \'<b>\' + pk + \'</b>\'));\n        return false;\n\n    }\n\n    if (type === \'subform\' && table !== \'\' && nuFORM.getTables().indexOf(table) === -1 && fk === \'\') {\n\n        nuMessage(nuTranslate(\'Validation Error\'), [\'<b>\' + nuTranslate(\'Foreign Key Field Name\') + \'</b> \' + nuTranslate(\'cannot be left blank\')]);\n        return false;\n\n    }\n\n    let a = [];\n    for (var i = 0; i < nuSubformObject(\'obj_sf\').rows.length; i++) {\n        a.push(nuSubformObject(\'obj_sf\').rows[i][2]);\n    }\n\n    if (fk !== \'\' && a.indexOf(fk) > -1 && type === \'subform\') {\n\n        nuMessage(nuTranslate(\'Validation Error\'), [\'<b>\' + nuTranslate(\'Foreign Key Field Name\') + \'</b> \' + nuTranslate(\'is already used\')]);\n        return false;\n\n    }\n\n    if (nuGetValue(\'obj_sf000ff_field\') == \'\') {\n\n        nuMessage(nuTranslate(\'Validation Error\'), nuTranslate(\' At least one Field must be specified\'));\n        return false;\n\n    }\n\n    let invalidColumns = nuFFInvalidColumns();\n    if (invalidColumns !== \'\') {\n\n        nuMessage(invalidColumns);\n        return false;\n\n    }\n\n    return true;\n\n}', NULL, NULL, NULL, '1', NULL),
('nufile', 'browseedit', 'nufile', 'Files', 'nubuilder', '1', '#sfi_code#|New', 'zzzzsys_file', 'zzzzsys_file_id', '', NULL, 150, 3, '0', NULL, 'SELECT * FROM #TABLE_ID# ', NULL, 'showBrowseImages();\nscaleImages();\n$(\'#nuBrowseTitle3\').css(\'text-align\', \'left\');\nnuSetNoSearchColumns([2, 3]);\n\nnuBrowseStyleBadge(4); // Group\n\n$(\'[data-nu-column=\"0\"]\').each(function(index) {\n    var code = \'#nucell_\' + index + \'_\';\n    window.nuImages[$(code + \'0\').text()] = $(code + \'2\').text();\n});\n\nfunction showBrowseImages() {\n\n    $(\'[data-nu-column=\"0\"]\').each(function(index) {\n\n        var p = $(this).attr(\'id\');\n        var r = String(p).split(\'_\')[1];\n        var i = \"nucell_\" + r + \"_2\";\n        var e = \"nucell_\" + r + \"_3\";\n        var h = $(\'#\' + i).html();\n\n        if (h !== \'\' && h !== undefined) {\n\n            nuEmbedObject(h, e, 140, 140);\n\n        }\n\n    });\n\n}\n\n\nfunction scaleImages() {\n\n    $(\"[data-nu-column=\'3\']\").each(function(index) {\n\n        var t = $(this);\n        if (t.html().trim() !== \'\') {\n\n            var embed = t.find(\'embed\');\n            if (t.length == 1) {\n\n                var p = new Image();\n                p.src = embed.attr(\'src\');\n\n                if (p.width < t.outerWidth() && p.height < t.outerHeight()) {\n                    embed.css({\n                        \'width\': p.width,\n                        \'height\': p.height\n                    });\n                    embed.css(\'height\', p.height);\n                }\n\n            }\n        }\n\n    });\n\n}', 'if (nuIsNewRecord()) {\n   // Hide Linked Objects Tab if new record \n   nuHideTabById(\'nu67f22d53d2c87ad\')\n}\n\nnuFilesDisplayFile($(\'#sfi_json\').val());\nnuSetToolTip(\'sfi_file_input\', nuTranslate(\'Max. 300Kb\'));\n\nfunction nuBeforeSave() {\n\n    const file = $(\'#sfi_file\').val();\n\n    if (file !== \'\') {\n\n        $(\'#sfi_json\')\n            .val(file)\n            .change();\n    }\n\n    return true;\n\n}\n\nfunction nuFilesDisplayFile(json) {\n    nuEmbedObject(json, \'view_image\', -1, -1);\n    nuShow(\'view_image\', json !== \'\');\n}\n\nfunction nuOnFileLoaded(e, id, json) {\n    nuFilesDisplayFile(json);\n}', NULL, '1', NULL),
('nuform', 'browseedit', 'nuform', 'Forms', 'nubuilder', '1', '#sfo_code#|New', 'zzzzsys_form', 'zzzzsys_form_id', '', NULL, 0, 0, '1', NULL, 'SELECT\n  *\nFROM #TABLE_ID#\nWHERE\n  nu_filter_match (\'sfo_group\', \'nu648030319e8fa15\')\n  AND nu_filter_match (\'sfo_status\', \'nu682fe38322e7e70\')\n  AND nu_filter_match (\'sfo_type\', \'nu5bad6cb3764389f\')', NULL, '/*\n$(\"[data-nu-column=\'1\']\").each(function() {\n    $(this).addClass(\'nu_\' + this.textContent);\n});\n*/\n\n\nfunction nuFormBrowseStyleBadge(column) {\n\n    function createBadgeHtml(text, objClass) {\n        return `\n            <span class=\"text-badge ${objClass}\" style=\"\n                border: none;\n                border-color: transparent;\n                border-radius: 12px;\n                padding: 2px 10px;\n                box-shadow: none;\n                display: inline-block;\n                white-space: nowrap;\n                line-height: 1.2;\n                transition: all 0.2s ease;\n                margin-top: 1px;\n            \">${text}</span>\n        `;\n    }\n\n    nuBrowseLoop([column], function (cell) {\n        const $cell = $(cell);\n        const cellText = $cell.text().trim();\n	const objClass = \'nu_\' + cellText;\n        if (cellText && cellText.length > 0) {\n            $cell.html(createBadgeHtml(cellText, objClass));\n        }\n    });\n}\n\nnuFormBrowseStyleBadge(1);\nnuBrowseStyleStatusColumn(6);\nnuBrowseStyleBadge(5); // Group\n\n$(function() {\n    if (!nuMainForm()) {\n        // Hide Preview\n        nuSetBrowseColumnSize(0, 0);\n    } else {\n        addRowButtons(0);\n    }\n\n    $(\"[data-nu-column=\'1\']\").addClass(\'nuCellColored\');\n\n\n    nuAddBrowseFilter(\'nu648030319e8fa15\').nuSearchableMultiPopup({\n        items: nuFormFilterGetGroup()});\n\n    var dataStatus = [\n        [\"0\",\"Draft\"],\n        [\"1\",\"Active\"],\n        //    [\"2\",\"Disabled\"],\n        [\"3\",\"Archived\"]\n    ];\n\n    nuAddBrowseFilter(\'nu682fe38322e7e70\').nuSearchableMultiPopup({\n        items: dataStatus\n    });\n\n    var dataType = \n        [\'browseedit\',\'browse\',\'edit\',\'subform\'];\n\n    nuAddBrowseFilter(\'nu5bad6cb3764389f\').nuSearchableMultiPopup({\n        items: dataType\n    });\n    \n    nuPrintExcludeColumns([0]);\n\n\n});\n\n\nfunction createButton(target, pk, formType) {\n\n    let btn = $(\"<button id=\'nuPreviewButton\' type=\'button\' data-form-type=\'\" + formType + \"\' class=\'nuActionButton\'><i class=\'fa fa-search\'></i>&nbsp;</button>\");\n\n    $(target).html(btn).attr(\'title\',\n        nuTranslate(\'Preview Form\'));\n    btn.on(\'click\',\n        function(e) {\n            e.stopPropagation(); debugger;\n            const element = e.target.id === \'nuPreviewButton\' ? e.target : e.target.parentElement;\n            const ft = $(element).attr(\"data-form-type\");\n            const r = ft == \'launch\' || ft == \'edit\' || ft == \'subform\'  ? \'-1\': \'\';debugger;\n            nuForm(pk, r, \'\', \'\');\n        });\n}\n\nfunction addRowButtons(column) {\n\n    $(\"[data-nu-column=\'\" + column + \"\']\").each(function() {\n\n        var pk = $(this).attr(\'data-nu-primary-key\');\n        var r = $(this).attr(\'data-nu-row\');\n        var formType = $(\'#nucell_\' + r + \'_1\').text().trim();\n\n        if (typeof pk !== \"undefined\") {\n            createButton(this, pk, formType);\n        }\n    })\n\n}', 'if (!nuDevMode()) {\n  nuHideTabById(\'nu687b3c9ebc3e813\'); // Hide Custom Code 2\n}\n\n\nif ($(\'#zzzzsys_tab_sf000syt_access\').val() !== \'\') {\n    nuMessage(nuTranslate(\'Validation Error\'), nuTranslate(\'The first tab must not be set to hidden\'));\n}\n\nfunction nuDisplayObjectRefreshed(obj) {\n\n    let v = nuGetValue(obj);\n    if (v != \'\' && sfo_primary_key.value !== v) {\n        nuSetValue(\'sfo_primary_key\', v);\n    }\n}\n\nnuAccessFormSetButtonIcons();\n\nfunction nuFormColorObjectTypes() {\n\n    // Color Types\n    $(\'select[id$=sob_all_type]\').find(\'option\').each(function (index, element) {\n        $(element).addClass(\'nu_\' + element.value);\n    });\n\n    $(\'select[id$=sob_all_type]\').each(function (index, element) {\n\n        $(element).removeClass();\n        $(element).addClass(\'nu_\' + element.value);\n    });\n\n}\n\nfunction nuFormSetControlsVisibility() {\n\n    var pb = \'previewbrowse\';\n    var pe = \'previewedit\';\n    var js = \'sfo_javascript\';\n\n    var bb = \'bb_event\';\n    var be = \'be_event\';\n    var bs = \'bs_event\';\n    var as = \'as_event\';\n    var bd = \'bd_event\';\n    var ad = \'ad_event\';\n\n    nuEnable([pb, pe, bb, be, bs, as, bd, ad, js]);\n\n    var t = String($(\'#sfo_type\').val());\n\n    if (t == \'browseedit\') {\n        nuEnable([\'js_edit\', \'js_browse\', \'js_browse_edit\']);\n    } else\n        if (t == \'browse\') {\n            nuDisable([pe, be, bs, as, bd, ad, \'js_edit\']);\n            nuEnable([\'js_browse\', \'js_browse_edit\']);\n        } else\n            if (t == \'edit\') {\n                nuDisable([pb, pb, bb, \'js_browse\']);\n                nuEnable([\'js_edit\', \'js_browse_edit\']);\n            } else\n                if (t == \'launch\') {\n                    nuDisable([pb, bb, bs, as, bd, ad, \'js_browse\', \'js_edit\']);\n                    nuEnable(\'js_browse_edit\');\n                } else\n                    if (t == \'subform\') {\n                        nuDisable([pb, bb, be, bs, as, bd, ad, js, \'js_browse\', \'js_edit\', \'js_browse_edit\']);\n                        $(\'#js_browse_edit\').html(\'Launch\');\n                    }\n\n    for (let i = 1; i <= 3; i++) {\n        nuShow(\'nuTab\' + i, t !== \'subform\' || i == 1);\n    }\n\n}\n\nfunction nuFormAfterInsertRowObjects() {\n    nuFormColorObjectTypes();\n}\n\nfunction nuFormJSMod(i) {\n\n    var js = $(\'#\' + i);\n\n    if (js.val() !== \'\') {\n        $(\'#nuTab2\').css(\'font-weight\', \'bold\');\n    }\n\n    js.addClass(\'js\');\n\n}\n\nif (nuFormType() == \'edit\') {\n\n    $(\'#sfo_code_snippet_sql_lookupbutton\').on(\'click\', function () {\n        nuSetSnippetFormFilter(0, 0, 1, 0); // Custom Code\n    });\n\n    $(\'#sfo_code_snippet_lookupbutton\').on(\'click\', function () {\n        nuSetSnippetFormFilter(1, 0, 0, 0); // SQL\n    });\n\n    nuFormColorObjectTypes();\n\n    $(\'#title_objformbtnOpenDetails\').html(nuTranslate(\'Details\'));\n\n    nuHide(\'sfo_code_snippet_lookupcode\');\n    nuHide(\'sfo_code_snippet_sql_lookupcode\');\n    nuHide(\'label_sfo_browse_sql\');\n\n    nuSetPlaceholder(\'sfo_javascript\', \'JavaScript / Browse & Edit\');\n    nuSetPlaceholder(\'sfo_browse_javascript\', \'JavaScript / Browse\');\n    nuSetPlaceholder(\'sfo_edit_javascript\', \'JavaScript / Edit\');\n    nuSetPlaceholder(\'sfo_style\', \'CSS\');\n\n    $(\'#title_zzzzsys_tab_sfsyt_help\').attr(\'id\', \'help_title\');\n    $(\"[id$=\'syt_help\']\").addClass(\'js\');\n\n    nuAttachButtonImage(\'previewbrowse\', \'PB\', \'nuButtonImageSmall\');\n    nuAttachButtonImage(\'previewedit\', \'PE\', \'nuButtonImageSmall\');\n    nuAttachButtonImage(\'bb_event\', \'BB\', \'nuButtonImageSmall\');\n    nuAttachButtonImage(\'be_event\', \'BE\', \'nuButtonImageSmall\');\n    nuAttachButtonImage(\'bs_event\', \'BS\', \'nuButtonImageSmall\');\n    nuAttachButtonImage(\'as_event\', \'AS\', \'nuButtonImageSmall\');\n    nuAttachButtonImage(\'bd_event\', \'BD\', \'nuButtonImageSmall\');\n    nuAttachButtonImage(\'ad_event\', \'AD\', \'nuButtonImageSmall\');\n    nuAttachButtonImage(\'icon_js\', \'JS\');\n    nuAttachButtonImage(\'icon_sql\', \'SQL\');\n    nuAttachButtonImage(\'icon_php\', \'PHP\');\n    nuAttachButtonImage(\'icon_style\', \'CSS\');\n\n    nuFormJSMod(\'sfo_edit_javascript\');\n    nuFormJSMod(\'sfo_browse_javascript\');\n    nuFormJSMod(\'sfo_javascript\');\n\n    nuHide(\'sfo_edit_javascript\');\n    nuHide(\'sfo_browse_javascript\');\n    nuHide(\'sfo_style\');\n\n    $(\'#sfo_style\').addClass(\'css\');\n\n    $(\'#sfo_browse_sql\').addClass(\'sql\').css(\'font-size\', \'10px\');\n\n    if (!nuIsNewRecord()) {\n        nuFormUpdateAclCount();\n    }\n\n    nuFromDefaultDescription();\n\n    nuACEInitDblClickHandlers();\n\n    nuFormUpdateDisplayDatalists();\n\n    nuFormTypeChanged();\n\n    let js = nuGetProperty(\'js\');\n    if (js !== undefined) {\n        let js_button = nuGetProperty(\'js_button\');\n        nuFormJSSelectCustomCode(\'#\' + js_button, js);\n    } else {\n        if ($(\'#sfo_javascript\').val() == \'\' && $(\'#sfo_edit_javascript\').val() == \'\' && $(\'#sfo_browse_javascript\').val() !== \'\') {\n            nuFormJSSelectCustomCode(\'#js_browse\', \'sfo_browse_javascript\');\n        } else if ($(\'#sfo_javascript\').val() == \'\' && $(\'#sfo_browse_javascript\').val() == \'\' && $(\'#sfo_edit_javascript\').val() !== \'\') {\n            nuFormJSSelectCustomCode(\'#js_edit\', \'sfo_edit_javascript\');\n        } else {\n            nuFormJSSelectCustomCode(\'#js_browse_edit\', \'sfo_javascript\');\n        }\n    }\n\n    nuFormHighlightJSButtons();\n\n}\n\nif (window.filter == \'justjs\') {\n\n    $(\'#nuDeleteButton\').remove();\n    $(\'#nuCloneButton\').remove();\n    $(\'#nuTab0\').remove();\n    $(\'#nuTab1\').remove();\n    $(\'#nuTab2\').trigger(\"click\");\n    $(\'#nuTab2\').remove();\n\n    nuSetTitle($(\'#sfo_description\').val());\n\n}\n\n$(\'#user_home\')\n.css({\n    \'color\': \'white\',\n    \'font-size\': \'13px\',\n    \'display\': \'inline\',\n    \'border-style\': \'solid\',\n    \'height\': 30,\n    \'text-shadow\': \'0 1px 2px #9AB973\',\n    \'border-color\': \'#9AB973\',\n    \'border-width\': \'0px 0px 1px 0px\',\n    \'background-color\': \'#88cb51\'\n});\n\nfunction nuFormTypeChanged() {\n\n    var t = String($(\'#sfo_type\').val());\n\n    var pb = \'previewbrowse\';\n    var pe = \'previewedit\';\n\n    var bb = \'bb_event\';\n    var be = \'be_event\';\n    var bs = \'bs_event\';\n    var as = \'as_event\';\n    var bd = \'bd_event\';\n    var ad = \'ad_event\';\n\n    nuEnable([pb, pe, bb, be, bs, as, bd, ad]);\n\n    nuSetValue(\'js_browse_edit\', \'Browse & Edit\');\n\n    if (t == \'browse\') {\n        nuDisable([pe, be, bs, as, bd, ad]);\n    } else\n        if (t == \'edit\') {\n            nuDisable([pb, pb, bb]);\n        } else\n            if (t == \'launch\') {\n                nuDisable([pb, bb, bs, as, bd, ad]);\n                nuSetValue(\'js_browse_edit\', \'Launch\');\n            } else\n                if (t == \'subform\') {\n                    nuDisable([pb, bb, be, bs, as, bd, ad]);\n                    nuDisable(\'sfo_javascript\');\n                }\n\n    var h = $(\'#sfo_type\').addClass(\'nuEdited\');\n\n    var o = [];\n    o.browse = [0, 1, 2];\n    o.edit = [0, 2];\n    o.browseedit = [0, 1, 2];\n    o.launch = [0, 2];\n    o.subform = [0, 1];\n\n    $(\'#sfo_type\').removeClass();\n    $(\'#sfo_type\').addClass(\'nu_\' + $(\'#sfo_type\').val());\n\n    if (h) {\n        $(\'#sfo_type\').addClass(\'nuEdited\');\n    }\n\n    $(\"#sfo_type > option\").each(function () {\n        if ($(this).val().trim() !== \"\") {\n            $(this).addClass(\'nu_\' + this.value);\n        }\n    });\n\n    for (var i = 0; i < 7; i++) {\n        $(\'#nuTab\' + i).removeClass(\'nuRelatedTab\');\n    }\n\n    t = o[$(\'#sfo_type\').val()];\n    if (t !== undefined) {\n\n        for (i = 0; i < t.length; i++) {\n            $(\'#nuTab\' + t[i]).addClass(\'nuRelatedTab\');\n        }\n\n    }\n\n    nuFormSetControlsVisibility();\n\n}\n\nfunction nuFormEventList() {\n\n    if ($(\'sob_all_type\').val() == \'subform\') {\n        return [\'onchange\',\n            \'onadd\'];\n    } else {\n        return [\'onblur\',\n            \'onchange\',\n            \'onfocus\',\n            \'onkeydown\'];\n    }\n\n}\n\nfunction nuFormOnDisplayBlur(event) {\n\n    var id = event.target.id;\n\n    var obj;\n    obj = nuSubformRowObject(id, \'sbr_display\');\n    var dispValue = obj.val();\n    if (dispValue !== \'\' && (dispValue.charAt(3) == \'_\' || dispValue.charAt(2) == \'_\')) {\n\n        let idx = dispValue.indexOf(\'_\');\n        if (idx == 2 || idx == 3) {\n            dispValue = dispValue.substring(idx + 1);\n        }\n\n        const title = dispValue.replaceAll(\'_\', \' \').nuCapitalise().nuToTitleCase();\n\n        let objTitle = nuSubformRowObject(id, \'sbr_title\');\n        if (objTitle.val() == \'\')\n            objTitle.val(title).change();\n    }\n\n}\n\nfunction nuFormOnTitleDisplayChanged(event) {\n\n    var obj;\n    var id = event.target.id;\n\n    if (nuSubformRowObject(id, \'sbr_display\').val().trim() == \'\' && nuSubformRowObject(id, \'sbr_title\').val().trim())\n        return;\n\n    obj = nuSubformRowObject(id, \'sbr_width\');\n    if (obj.val() == \'\')\n        obj.val(100).change();\n\n    obj = nuSubformRowObject(id, \'sbr_align\');\n    if (obj.prop(\"selectedIndex\") < 2)\n        obj.prop(\"selectedIndex\", 1).change();\n\n    obj = nuSubformRowObject(id, \'sbr_order\');\n    if (obj.val() == \'\') {\n\n        var max = 0;\n        $(\'[data-nu-field=sbr_order]\').each(function () {\n            var v = parseInt($(this).val());\n            max = (v > max) ? v : max;\n        });\n\n        obj.val(max + 10).change();\n    }\n\n}\n\nfunction nuFormOnTabsTitleChanged(event) {\n\n    var obj;\n    var id = event.target.id;\n\n    if (nuSubformRowObject(id, \'syt_title\').val().trim() == \'\' && nuSubformRowObject(id, \'syt_title\').val().trim())\n        return;\n\n    obj = nuSubformRowObject(id, \'syt_order\');\n    if (obj.val() == \'\') {\n\n        var max = 0;\n        $(\'[data-nu-field=syt_order]\').each(function () {\n            var v = parseInt($(this).val());\n            max = (v > max) ? v : max;\n        });\n\n        obj.val(max + 10).change();\n    }\n\n}\n\nfunction nuFromDefaultDescription() {\n\n    var s = \'zzzzsys_browse_sf\';\n    var r = nuSubformObject(s).rows.length - 1;\n    var o = s + nuPad3(r) + \'sbr_title\';\n\n    nuSetPlaceholder(o, \'Something\');\n\n}\n\nfunction nuFormUpdateAclCount() {\n    const l = $(\"[data-nu-field=\'slf_zzzzsys_access_id\']\").length - 2;\n    const t = l <= 0 ? \'\' : \' (\' + l + \')\';\n    $(\'#nuTab3\').html(nuTranslate(\'Access Levels\') + t);\n}\n\nfunction nuFormUpdateDisplayDatalists(i) {\n\n    const a = nuFORM.SQLFields($(\'#sfo_browse_sql\').val());\n    const selector = i === undefined ? \"[id$=\'sbr_display\']\" : \"#\" + i;\n\n    $(selector).each(function () {\n        nuAddDatalist($(this).attr(\'id\'), a);\n    });\n}\n\nfunction nuBeforeSave() {\n\n    var dupDisplay = nuSubformColumnUnique(\'zzzzsys_browse_sf\', \'sbr_display\', \'Display (Browse)\');\n\n    if (dupDisplay !== true) {\n\n        nuMessage(dupDisplay);\n        return false;\n    }\n\n    nuFormCopyAllTextareaValuesBack();\n    window.nuActiveNavButton = nuGetActiveNavButton();\n\n    return true;\n\n}\n\nfunction nuFormJSSelectCustomCode(t, obj) {\n\n    $(\'[data-custom-code-textarea-button]\').removeClass(\'nuButtonSelected\');\n    $(t).addClass(\'nuButtonSelected\');\n    nuSetProperty(\'js\', obj);\n    nuSetProperty(\'js_button\', $(t).attr(\'id\'));\n\n    $(\'[data-custom-code-textarea]\').nuHide();\n    nuShow(obj);\n    $(\'#\' + obj).trigger(\'focus\');\n\n    nuFormHighlightJSButtons()\n\n}\n\nfunction nuFormHighlightJSButtons() {\n\n    $(\'#js_edit\').toggleClass(\'nuButtonHighlighted\', $(\'#sfo_edit_javascript\').val() !== \'\');\n    $(\'#js_browse\').toggleClass(\'nuButtonHighlighted\', $(\'#sfo_browse_javascript\').val() !== \'\');\n    $(\'#js_browse_edit\').toggleClass(\'nuButtonHighlighted\', $(\'#sfo_javascript\').val() !== \'\');\n    $(\'#css_style\').toggleClass(\'nuButtonHighlighted\', $(\'#sfo_style\').val() !== \'\');\n\n}\n\n/*\n\nfunction nuOnMobileViewComplete() {\n\nconst elements = [{ input: \'#sfo_browse_javascript\' },{ input: \'#sfo_edit_javascript\' },{ input: \'#sfo_style\' },\n];\n\nconst inputAnchorTop = $(\'#sfo_javascript\').nuCSSNumber(\'top\');\n\nelements.forEach(({ input, offsety = 0 }) => {\n$(input).css(\'top\', inputAnchorTop + offsety);\n$(\'label_\' + input).css(\'top\', inputAnchorTop + offsety);\n});\n\n}\n */\n\nfunction nuOnMobileBeforeObjectPosition(id, element, top) {\n\n    if (id === \'sfo_edit_javascript\' || id === \'sfo_javascript\' || id === \'sfo_style\') {\n        top = 100;\n    }\n\n    return {\n        top\n    };\n\n}\n\nfunction nuFormImportACLAfterRun() {\n    nuClosePopup();\n    nuGetBreadcrumb();\n}\n\nfunction nuTabsAccesLevelsSetMarker() {\n    nuTabSetMarker(\'nu5fdb9ff026348\', \'accform000slf_zzzzsys_access_idcode\');\n}\n\nnuTabsAccesLevelsSetMarker();\nnuTabCustomCodeSetMarker();\n\nfunction nuTabCustomCodeSetMarker() {\n    const marker = nuGetValue(\'sfo_javascript\').trim() !== \'\' ||\n        nuGetValue(\'sfo_browse_javascript\').trim() !== \'\' ||\n        nuGetValue(\'sfo_edit_javascript\').trim() !== \'\'\n        nuTabSetMarker(\'nu5bad6cb37026348\', marker);\n}\n\nnuTabsAccesLevelsSetMarker();\n\n// Custom Code 2:\n\n\nfunction nuFormCopyAllTextareaValues() {\n    document.getElementById(\'nu-code-textarea-browse-edit\').value =\n        document.getElementById(\'sfo_javascript\').value;\n\n    document.getElementById(\'nu-code-textarea-browse\').value =\n        document.getElementById(\'sfo_browse_javascript\').value;\n\n    document.getElementById(\'nu-code-textarea-edit\').value =\n        document.getElementById(\'sfo_edit_javascript\').value;\n}\n\nif (nuDevMode()) {\n  nuFormCopyAllTextareaValues();\n  var activeNavButton = window.nuActiveNavButton;\n  nuSelectNavButton(activeNavButton);\n}\n\nfunction nuFormCopyAllTextareaValuesBack() {\n    if (!nuDevMode()) return;\n\n    const mappings = [\n        [\'nu-code-textarea-browse-edit\', \'sfo_javascript\'],\n        [\'nu-code-textarea-browse\', \'sfo_browse_javascript\'],\n        [\'nu-code-textarea-edit\', \'sfo_edit_javascript\']\n    ];\n\n    mappings.forEach(([sourceId, targetId]) => {\n        const source = document.getElementById(sourceId);\n        const target = document.getElementById(targetId);\n\n        if (source && source.classList.contains(\'nuEdited\') && target) {\n            target.value = source.value;\n            target.classList.add(\'nuEdited\'); // Add nuEdited class to the target\n        }\n    });\n}\n', '.nuButtonImagesmallLeft {\n  text-align: left!important;\n  padding-left: 43px;\n}\n\n\n#nuPreviewButton {\n  height:unset;\n  min-width: 34px;\n  width: 34px;\n  padding: 0 10px;\n  vertical-align: middle;\n}', '1', NULL),
('nuformat', 'browseedit', 'nuformat', 'Formats', 'nubuilder', '1', '', 'zzzzsys_format', 'zzzzsys_format_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_format \nORDER BY srm_type, srm_format', NULL, NULL, 'var newRecord = nuIsNewRecord();\n\nif (!newRecord && nuHasBeenSaved() > 0) {\n    parent.nuRefreshSelectObject(\'sob_input_format\', \'nuobject\');\n}\n\nif (!newRecord) {\n    nuSetTitle(nuGetValue(\'srm_format\'));\n} else {\n    nuSetTitle(nuTranslate(\'New\'));\n}\n\nvar $sign = $(\'#sign\');\nvar $separator = $(\'#separator\');\nvar $decimal = $(\'#decimal\');\nvar $places = $(\'#places\');\nvar $srmFormat = $(\'#srm_format\');\nvar $srmType = $(\'#srm_type\');\nvar $srmCurrency = $(\'#srm_currency\');\n\n$sign.addClass(\'nu-bold-big-text\');\n$separator.addClass(\'nu-bold-big-text\');\n$decimal.addClass(\'nu-bold-big-text\');\n$places.addClass(\'nu-bold-big-text\');\n$srmFormat.addClass(\'nuReadonly\').css(\'font-size\', \'22px\');\n\n\nnuSetFormatType();\n\nfunction nuAddToFormat(e) {\n    const srmTypeVal = $srmType.val();\n    if (srmTypeVal === \'Date\') {\n        let v = String(e.target.innerHTML);\n        if (v === \'Space\') {\n            v = \' \';\n        }\n        $srmFormat.nuSetValue($srmFormat.val() + v);\n    } else {\n        const si = $sign.val();\n        const se = $separator.val();\n        const pl = $places.val();\n        const de = Number(pl) > 0 ? $decimal.val() : \'\';\n        const cu = JSON.stringify([si, se, de, pl]);\n\n        const space = si !== \'\' ? \' \' : \'\';\n        $srmFormat.val(si + space + \'1\' + se + \'000\' + de + String(0).repeat(pl)).trigger(\'change\');\n        $srmCurrency.nuSetValue(cu);\n    }\n\n    nuFormatPreview();\n}\n\nfunction nuSetFormatType(a) {\n\n    const argLength = arguments.length;\n    nuHide(\'nucalculator\');\n    $(\"[data-nu-nunumber-format]\").nuHide();\n\n    if (argLength === 1) {\n        $srmFormat.val(\'\');\n    }\n\n    const srmTypeVal = $srmType.val();\n    if (srmTypeVal === \'Date\') {\n        if (argLength === 1) {\n            $srmFormat.val(\'\');\n        }\n        nuShow(\'nucalculator\');\n    }\n\n    if (srmTypeVal === \'Number\') {\n        if (argLength === 1) {\n            $srmFormat.val(\'1000\');\n            nuAddToFormat();\n        }\n        $(\"[data-nu-nunumber-format]\").nuShow();\n    }\n\n    $(\"[data-nu-nunumber-format]\").nuShow(srmTypeVal === \'Number\');\n\n    nuFormatPreview();\n    nuHasNotBeenEdited();\n\n}\n\n\nfunction nuFormatPreview() {\n    const inputType = $(\'#srm_type\').val();\n    const previewElement = $(\"#srm_preview\");\n\n    if (inputType === \'Date\') {\n        previewElement.attr(\"data-nu-format\", `D|${nuGetValue(\'srm_format\')}`);\n        nuSetDateValue(\'srm_preview\');\n    }\n\n    if (nuGetValue(\'srm_preview\') === \'\' && nuGetValue(\'srm_format\') !== \'\') {\n        $(\"#srm_preview\").removeAttr(\"data-nu-format\");\n        nuSetValue(\'srm_preview\', \'Format Error\');\n    }\n\n    nuEnable(\'srm_preview\', nuGetValue(\'srm_preview\') !== \'Format Error\');\n    nuShow(\'srm_preview\', inputType === \'Date\');\n}', '.nu-bold-big-text {\n    font-style: bold;\n    font-size: 18px;\n}', '1', NULL),
('nufrlaunch', 'launch', 'nufrlaunch', 'Fast Report', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', '\n$(\'#wrdaddable\').css({\'font-size\' : \'14px\', \'font-weight\' : 700, \'padding\' : 5});\n$(\'#frwrd\').css({\'font-size\' : \'14px\', \'font-weight\' : 700, \'padding\' : 5});\n$(\'#nufr\').css({\'text-align\' : \'left\', \'height\' : 410, \'background-color\': \'#ebebeb\'});\n\n$(\'#list\').addClass(\'nuScroll\').removeClass(\'nuReadonly\');\n\n$(\'.nuActionButton\').hide();\nnuAddActionButton(\'BuildFastReport\');\n\n\nfunction nuAddReportField(t){\n\n    var f   = nuPad3($(\"[data-nu-label=\'Field Name\']\").length - 1);\n\n    $(\'#fast_report_sf\' + f + \'field\').val($(t).html()).change();\n    $(\'#fast_report_sf\' + f + \'width\').val(100).change();\n    $(\'#fast_report_sf\' + f + \'sum\').val(\'no\').change();\n    $(\'#fast_report_sf\' + f + \'title\').val($(t).html()).change().trigger( \"select\" );\n    \n}\n\n\nfunction nuBeforeSave(){\n    \n    if($(\'#table\').val() === \'\'){\n        \n        nuMessage(nuTranslate(\'Validation Error\'), [\'<b>Table Data</b>\', nuTranslate(\'Cannot be left blank...\')])\n        return false;\n        \n    }\n    \n    \n    if($(\'#orderby\').val() === \'\'){\n        \n        nuMessage(nuTranslate(\'Validation Error\'), [\'<b>Order By</b>\', nuTranslate(\'Cannot be left blank...\')])\n        return false;\n        \n    }\n    \n    nuBuildFastReport();\n    \n    return true;\n    \n}\n\n\nfunction nuFRSetData() {\n\n    if($(\'#fieldlist\').val() !== \'\'){\n       \n        var s   = String($(\'#fieldlist\').val());\n        var ds  = s.replaceAll(\'[\',\'\').replaceAll(\']\',\'\').replaceAll(\'\\\\\',\'\').replaceAll(\'\"\',\'\');\n        var fl  = ds.split(\',\');\n        var fu  = [];\n        \n        $(\'#orderby\').find(\'option\').remove();\n    \n        for(var i = 0 ; i < fl.length ; i++){\n            \n            if(fl[i] != \'KEEP EXACT HEIGHT\'){\n                \n                fu[i]   = \'<tr><td><div style=\"overflow:hidden;width:285px;text-align:left;padding:2px\" onclick=\"nuAddReportField(this);\" class=\"nuCalculatorButton nu_input\">\' + fl[i] + \'</div></td></tr>\';\n        \n                $(\'#orderby\').append(\'<option value=\"\' + fl[i] + \'\">\' + fl[i] + \'</option>\');\n            \n            }\n                \n        }\n    \n        $(\'#nufr\').html(\'<table>\' + fu.join(\'\') + \'</table>\');\n        $(\'#orderby\').val(fl[0]);\n    \n    }\n\n}', NULL, NULL, NULL, NULL, NULL);
INSERT INTO `zzzzsys_form` (`zzzzsys_form_id`, `sfo_type`, `sfo_code`, `sfo_description`, `sfo_group`, `sfo_status`, `sfo_breadcrumb_title`, `sfo_table`, `sfo_primary_key`, `sfo_browse_redirect_form_id`, `sfo_browse_target`, `sfo_browse_row_height`, `sfo_browse_rows_per_page`, `sfo_browse_title_multiline`, `sfo_browse_autoresize_columns`, `sfo_browse_sql`, `sfo_javascript`, `sfo_browse_javascript`, `sfo_edit_javascript`, `sfo_style`, `sfo_mobile_view`, `sfo_json`) VALUES
('nulaunchable', 'browse', 'nulaunchable', 'Launchable Forms', 'nubuilder', '1', NULL, 'zzzzsys_form', 'zzzzsys_form_id', '', NULL, 0, 16, '0', NULL, 'SELECT * FROM zzzzsys_form\nWHERE sfo_type IN (\'edit\', \'browseedit\', \'launch\')\nAND (\n    SUBSTRING(zzzzsys_form_id, 1, 2) != \'nu\'\n    OR zzzzsys_form_id = \'nublank\'\n    OR zzzzsys_form_id = \'nuuserhome\'\n    )\nORDER BY sfo_code\n', '$(\'#sfo_breadcrumb_title\').addClass(\'sql\');\n$(\'#sfo_browse_sql\').addClass(\'sql\');\n$(\'#sfo_javascript\').addClass(\'js\');\n\nnuSetTitle($(\'#sfo_table\').val());\n\nnuACEInitDblClickHandlers();\n\nif(window.filter == \'justjs\'){\n    \n    $(\'#nuDeleteButton\').remove();\n    $(\'#nuCloneButton\').remove();\n    $(\'#nuTab0\').remove();\n    $(\'#nuTab1\').remove();\n    $(\'#nuTab2\').trigger( \"click\" );\n    $(\'#nuTab2\').remove();\n    \n    nuSetTitle($(\'#sfo_description\').val());\n    \n}\n\nfunction nuFormColor(){\n\n    var t   = String($(\'#sfo_type\').val());\n\n    var pb  = \'previewbrowse\';\n    var pe  = \'previewedit\';\n\n    var bb  = \'bb_event\';\n    var be  = \'be_event\';\n    var bs  = \'bs_event\';\n    var as  = \'as_event\';\n    var bd  = \'bd_event\';\n    var ad  = \'ad_event\';\n    \n    if(t == \'browse\'){\n        nuDisable([pe, be, bs, as, bd, ad]);\n    }\n    \n    if(t == \'edit\'){\n        nuDisable([pb, bb]);\n    }\n\n    if(t == \'launch\'){\n        nuDisable([pb, bb, as, as, bd, ad]);\n    }\n    \n    if(t == \'subform\'){\n        nuDisable([pb, bb, be, bs, as, bd, ad, \'sfo_javascript\']);\n    }\n\n    var h           = $(\'#sfo_type\').addClass(\'nuEdited\');\n    \n    var o           = [];\n    o.browse		= [0,1,2];\n    o.edit 		    = [0,2];\n    o.browseedit    = [0,1,2];\n    o.launch 	    = [0,2];\n    o.subform       = [0,1];\n    \n    $(\'#sfo_type\').removeClass();\n    $(\'#sfo_type\').addClass(\'nu_\'+$(\'#sfo_type\').val());\n    \n    if(h){\n        $(\'#sfo_type\').addClass(\'nuEdited\');\n    }\n    \n    $(\"#sfo_type > option\").each(function() {\n        $(this).addClass(\'nu_\'+this.value);\n    });\n\n    for(let i = 0 ; i < 7 ; i++){\n        $(\'#nuTab\' + i).removeClass(\'nuRelatedTab\');\n    }\n    \n    const oType   = o[$(\'#sfo_type\').val()];\n\n    if(oType !== undefined){\n        \n    	for(let i = 0 ; i < t.length ; i++){\n    		$(\'#nuTab\' + oType[i]).addClass(\'nuRelatedTab\');		\n    	}\n    	\n    }\n    \n}\n\nnuFormColor();\n\n$(\"[data-nu-column=\'nucolumn000\']\").each(function() {\n    $(this).addClass(\'nu_\'+this.textContent);\n});\n\nfunction nuEventList(){\n	\n	if($(\'sob_all_type\').val() == \'subform\'){\n		return [\'onchange\',\'onadd\'];\n	}else{\n		return [\'onblur\',\'onchange\',\'onfocus\',\'onkeydown\'];\n	}\n	\n}\n\n\n', NULL, NULL, NULL, NULL, NULL),
('nulaunchdates', 'launch', 'nulaunchdates', 'Between 2 Dates', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', '\nnuSetTitle(nuFORM.getCurrent().run_description);', NULL, NULL, NULL, NULL, NULL),
('nulaunchform', 'browse', 'nulaunchform', 'nuBuilder non-System Forms', 'nubuilder', '1', NULL, 'zzzzsys_form', 'zzzzsys_form_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_form\nWHERE sfo_type != \'subform\' AND zzzzsys_form_id != \'nuhome\'\nORDER BY sfo_code\n', '$(\"[data-nu-column=\'0\']\").each(function() {\n    $(this).addClass(\'nu_\'+this.textContent);\n});\n\n$(\'#nuAddButton\').remove();\n$(\'#nuPrintButton\').remove();\n\n', NULL, NULL, NULL, NULL, NULL),
('nunonsystemform', 'browse', 'nunonsystemform', 'nuBuilder non-System Forms', 'nubuilder', '1', NULL, 'zzzzsys_form', 'zzzzsys_form_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_form\nWHERE ((zzzzsys_form_id NOT LIKE \'nu%\' AND sfo_type != \'subform\')\nOR zzzzsys_form_id IN (\'nuaccess\', \'nuuser\', \'nulaunchdates\', \'nutranslate\', \'nupassword\', \'nufile\', \'nuuserhome\', \'nublank\', \'nurunreport\'))\nORDER BY sfo_code', '$(\"[data-nu-column=\'0\']\").each(function() {\n    $(this).addClass(\'nu_\'+this.textContent);\n});\n\n$(\'#nuAddButton\').remove();\n$(\'#nuPrintButton\').remove();\n\n', NULL, NULL, NULL, NULL, NULL),
('nunotes', 'browseedit', 'nunotes', 'Notes', 'nubuilder', '1', '#not_title#|New', 'zzzzsys_note', 'zzzzsys_note_id', '', NULL, 0, 0, '0', NULL, 'SELECT\n    zzzzsys_note.*, noc_name\nFROM\n    zzzzsys_note\nLEFT JOIN zzzzsys_note_category ON not_zzzzsys_note_category_id = zzzzsys_note_category.zzzzsys_note_category_id\nORDER BY\n    not_title ASC', NULL, NULL, 'nuHide(\'label_not_title\');\nnuSetPlaceholder(\'not_title\', nuTranslate(\'Title\'));\n\nnuHide(\'label_not_zzzzsys_note_category_id\');\nnuSetPlaceholder(\'not_zzzzsys_note_category_idcode\', nuTranslate(\'Category\'));\n\nfunction nuNotesHandleEnterKey() {\n\n    $(\'.ql-editor\').trigger(\"focus\");\n\n    let tinyB = tinyMCE.get(\'not_content_container\').getBody();\n    if (tinyB !== null) tinyB.focus();\n\n\n}\n\n$(\'#not_title\').nuOnEnterKey(nuNotesHandleEnterKey, true);\nnuTabAdditionalSetMarker();\n\n\nfunction nuTinyMCEOnInit(e, editor, id) {\n\n    if (nuUseMobileView()) {\n        $(function() {\n            const maxWidth = $(\'#\' + id)?.attr(\'data-nu-mobile-max-width\')?.nuJustNumbers();\n            const maxHeight = $(\'#\' + id)?.attr(\'data-nu-mobile-max-height\')?.nuJustNumbers();\n\n            nuTinyMCESetBounds(\'not_content\', 5, 70, maxWidth, maxHeight);\n            $(\'#not_updated_on\').css(\'top\', \'640px\');\n            $(\'#label_not_updated_on\').css(\'top\', \'620px\');\n        });\n    }\n\n}\n\n\nfunction nuTabAdditionalSetMarker() {\n   nuTabSetMarker(\'nu684e16abd1b5744\', \'not_text\');\n}', '', '1', NULL),
('nunotescategroy', 'browseedit', 'nunotescategory', 'Categories', 'nubuilder', '1', '#noc_name#|New', 'zzzzsys_note_category', 'zzzzsys_note_category_id', '', NULL, 0, 15, '0', NULL, 'SELECT * FROM zzzzsys_note_category\nORDER BY noc_name', 'nuHide(\'nuPrintButton\');', 'if (nuIsIframe()) {\n    var btn = nuAddActionButton(\'runCategories\', \'\', \'nuForm(\"\' + nuFormId() + \'\", \"\", \"\", \"\", 2);\');\n    btn.attr(\'title\', nuTranslate(\'Edit Categories\'));\n    nuAttachFontAwesome(btn.attr(\'id\'), \'fa-solid fa-list\');\n}', NULL, NULL, '1', NULL);
INSERT INTO `zzzzsys_form` (`zzzzsys_form_id`, `sfo_type`, `sfo_code`, `sfo_description`, `sfo_group`, `sfo_status`, `sfo_breadcrumb_title`, `sfo_table`, `sfo_primary_key`, `sfo_browse_redirect_form_id`, `sfo_browse_target`, `sfo_browse_row_height`, `sfo_browse_rows_per_page`, `sfo_browse_title_multiline`, `sfo_browse_autoresize_columns`, `sfo_browse_sql`, `sfo_javascript`, `sfo_browse_javascript`, `sfo_edit_javascript`, `sfo_style`, `sfo_mobile_view`, `sfo_json`) VALUES
('nuobject', 'browseedit', 'nuobject', 'Objects', 'nubuilder', '1', '#sob_all_id#|New', 'zzzzsys_object', 'zzzzsys_object_id', '', '', 0, 0, '1', '0', 'SELECT\n  *\nFROM\n  zzzzsys_object\n  JOIN #TABLE_ID# ON zzzzsys_object_id = theid JOIN zzzzsys_tab ON zzzzsys_tab_id = sob_all_zzzzsys_tab_id\n  JOIN zzzzsys_form ON zzzzsys_form_id = syt_zzzzsys_form_id\nWHERE\n  (\n    (\n      sob_all_type = \'#nu5bad6cb375afa75_filter#\'\n      OR left(\'#nu5bad6cb375afa75_filter#\', 1) IN (\'#\', \'\')\n    )\n    AND (\n      sob_input_type = \'#nu5bad6cb377a01b0_filter#\'\n      OR left(\'#nu5bad6cb377a01b0_filter#\', 1) IN (\'#\', \'\')\n    )\n    \n    AND (\n      sob_all_label = \'#nu5bad6cb375bd72e_filter#\'\n      OR left(\'#nu5bad6cb375bd72e_filter#\', 1) IN (\'#\', \'\')\n      OR LOCATE(sob_all_label, \'#nu5bad6cb375bd72e_filter#\') > 0\n    )\n\n  )\nORDER BY\n  sfo_description,\n  sob_input_type,\n  sob_all_id\n  \n  ', NULL, 'function nuObjectBrowseStyleBadge(column) {\n\n    function createBadgeHtml(text, objClass) {\n        return `\n            <span class=\"text-badge ${objClass}\" style=\"\n                border: none;\n                border-color: transparent;\n                border-radius: 12px;\n                padding: 2px 10px;\n                box-shadow: none;\n                display: inline-block;\n                white-space: nowrap;\n                line-height: 1.2;\n                transition: all 0.2s ease;\n                margin-top: 1px;\n            \">${text}</span>\n        `;\n    }\n\n    nuBrowseLoop([column], function (cell) {\n        const $cell = $(cell);\n        const cellText = $cell.text().trim();\n		const objClass = \'nu_\' + cellText;\n        if (cellText && cellText.length > 0) {\n            $cell.html(createBadgeHtml(cellText, objClass));\n        }\n    });\n}\n\nnuObjectBrowseStyleBadge(0);\n\n\n\n$(\"[data-nu-column=\'4\']\").each(function() {\n  $(this).html(stripHTMLTags($(this).html()).replace(/&nbsp;/g, \' \').trim());\n});\n\nfunction stripHTMLTags(s) {\n  return s == \'\' ? \'\' : s.replace(/<\\/?[^>]+(>|$)/g, \"\");\n}\n$(function() {\n  const types = [\n    [\"calc\", \"Calc\"],\n    [\"display\", \"Display\"],\n    [\"contentbox\", \"ContentBox\"],\n    [\"editor\", \"WYSIWYG Editor\"],\n    [\"chart\", \"Chart\"],\n    [\"html\", \"HTML\"],\n    [\"image\", \"Image\"],\n    [\"input\", \"Input\"],\n    [\"lookup\", \"Lookup\"],\n    [\"run\", \"Run\"],\n    [\"select\", \"Select\"],\n    [\"subform\", \"Subform\"],\n    [\"textarea\", \"Textarea\"],\n    [\"word\", \"Word\"]\n  ];\n  nuAddBrowseFilter(\'nu5bad6cb375afa75\').nuSearchablePopup({\n    items: types\n  });\n  const inputTypes = [\n    [\"nuDate\", \"nuDate\"],\n    [\"nuNumber\", \"nuNumber\"],\n    [\"nuScroll\", \"nuScroll\"],\n    [\"nuAutoNumber\", \"nuAutoNumber\"],\n    [\"button\", \"Button\"],\n    [\"checkbox\", \"Checkbox\"],\n    [\"color\", \"Color\"],\n    [\"datetime-local\", \"Datetime-Local\"],\n    [\"email\", \"Email\"],\n    [\"file\", \"File\"],\n    [\"image\", \"Image\"],\n    [\"month\", \"Month\"],\n    [\"number\", \"Number\"],\n    [\"password\", \"Password\"],\n    [\"radio\", \"Radio\"],\n    [\"range\", \"Range\"],\n    [\"reset\", \"Reset\"],\n    [\"search\", \"Search\"],\n    [\"tel\", \"Telephone\"],\n    [\"text\", \"Text\"],\n    [\"time\", \"Time\"],\n    [\"url\", \"URL\"],\n    [\"week\", \"Week\"]\n  ];\n  nuAddBrowseFilter(\'nu5bad6cb377a01b0\').nuSearchablePopup({\n    items: inputTypes\n  });\n});', 'function nuObjectEditAttributes() {\n\n    const arr = nuParseAttributes(sob_input_attribute.value);\n    const currentAttrs = Object.fromEntries(\n            arr.map(({\n                    key,\n                    value\n                }) => [key, value]));\n\n    openAttributeEditor(\n        currentAttrs,\n        function (savedAttributes) {\n        sob_input_attribute.value = nuObjectAttributesToString(savedAttributes);\n        /*\n        // Apply new attributes\n        Object.keys(savedAttributes).forEach(function(key) {\n        if (savedAttributes[key] === \'\') {\n        obj.attr(key, \'\'); // Boolean attributes\n        } else {\n        obj.attr(key, savedAttributes[key]);\n        }\n        });\n         */\n\n        // Mark form as edited\n        // nuFormHasBeenEdited(true);\n    });\n}\n\nfunction nuObjectAttributesToString(attributes) {\n    if (!attributes || typeof attributes !== \'object\') {\n        return \'\';\n    }\n\n    return Object.keys(attributes)\n    .map(key => {\n        const value = attributes[key];\n        // Handle boolean attributes (empty values)\n        if (value === \'\' || value === null || value === undefined) {\n            return key;\n        }\n        // Escape quotes in values and wrap in quotes\n        const escapedValue = String(value).replace(/\"/g, \'&quot;\');\n        return `${key}=\"${escapedValue}\"`;\n    })\n    .join(\',\');\n}\n\n\n(function($) {\n    \'use strict\';\n\n    // Flag to track if event handlers are already bound\n    let eventHandlersBound = false;\n\n    // Initialize the plugin when DOM is ready\n    $(document).ready(function() {\n        // Inject CSS styles\n        injectStyles();\n        // Inject HTML template\n        injectTemplate();\n        // Bind event handlers once\n        bindEventHandlers();\n    });\n\n    // CSS Styles (keeping your existing styles)\n    function injectStyles() {\n        const styles = `\n            <style id=\"nu-attr-editor-styles\">\n                .nu-attr-editor-overlay {\n                    position: fixed;\n                    top: 0;\n                    left: 0;\n                    width: 100%;\n                    height: 100%;\n                    background: rgba(0, 0, 0, 0.5);\n                    z-index: 10000;\n                    display: none;\n                    font-family: -apple-system, BlinkMacSystemFont, \'Segoe UI\', Roboto, sans-serif;\n                }\n\n                .nu-attr-editor-popup {\n                    position: fixed;\n                    top: 50%;\n                    left: 50%;\n                    transform: translate(-50%, -50%);\n                    background: white;\n                    border-radius: 8px;\n                    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);\n                    width: 90%;\n                    max-width: 600px;\n                    max-height: 80vh;\n                    overflow: hidden;\n                    z-index: 10001;\n                }\n\n                .nu-attr-editor-header {\n                    background: #f8f9fa;\n                    padding: 16px 20px;\n                    border-bottom: 1px solid #e9ecef;\n                    display: flex;\n                    justify-content: space-between;\n                    align-items: center;\n                }\n\n                .nu-attr-editor-header h3 {\n                    margin: 0;\n                    color: #495057;\n                    font-size: 18px;\n                }\n\n                .nu-attr-editor-close {\n                    background: none;\n                    border: none;\n                    font-size: 24px;\n                    cursor: pointer;\n                    color: #6c757d;\n                    padding: 0;\n                    width: 30px;\n                    height: 30px;\n                    display: flex;\n                    align-items: center;\n                    justify-content: center;\n                }\n\n                .nu-attr-editor-close:hover {\n                    color: #495057;\n                }\n\n                .nu-attr-editor-body {\n                    padding: 20px;\n                    max-height: 50vh;\n                    overflow-y: auto;\n                }\n\n                .nu-attr-editor-form {\n                    background: #f8f9fa;\n                    padding: 16px;\n                    border-radius: 6px;\n                    margin-bottom: 20px;\n                    border: 1px solid #e9ecef;\n                }\n\n                .nu-attr-editor-form-row {\n                    display: flex;\n                    gap: 10px;\n                    margin-bottom: 12px;\n                    align-items: end;\n                }\n\n                .nu-attr-editor-form-group {\n                    flex: 1;\n                }\n\n                .nu-attr-editor-form-group label {\n                    display: block;\n                    margin-bottom: 4px;\n                    font-weight: 500;\n                    color: #495057;\n                    font-size: 14px;\n                }\n\n                .nu-attr-editor-form-group input,\n                .nu-attr-editor-form-group select {\n                    width: 100%;\n                    padding: 8px 12px;\n                    border: 1px solid #ced4da;\n                    border-radius: 4px;\n                    font-size: 14px;\n                    box-sizing: border-box;\n                }\n\n                .nu-attr-editor-form-group input:focus,\n                .nu-attr-editor-form-group select:focus {\n                    outline: none;\n                    border-color: #007bff;\n                    box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);\n                }\n\n                .nu-attr-editor-add-btn {\n                    background: #28a745;\n                    color: white;\n                    border: none;\n                    padding: 8px 16px;\n                    border-radius: 4px;\n                    cursor: pointer;\n                    font-size: 14px;\n                    height: 35px;\n                }\n\n                .nu-attr-editor-add-btn:hover {\n                    background: #218838;\n                }\n\n                .nu-attr-editor-list {\n                    border: 1px solid #e9ecef;\n                    border-radius: 6px;\n                    overflow: hidden;\n                }\n\n                .nu-attr-editor-item {\n                    display: flex;\n                    align-items: center;\n                    padding: 12px 16px;\n                    border-bottom: 1px solid #e9ecef;\n                    background: white;\n                }\n\n                .nu-attr-editor-item:last-child {\n                    border-bottom: none;\n                }\n\n                .nu-attr-editor-item:nth-child(even) {\n                    background: #f8f9fa;\n                }\n\n                .nu-attr-editor-item-content {\n                    flex: 1;\n                }\n\n                .nu-attr-editor-item-name {\n                    font-weight: 500;\n                    color: #495057;\n                    margin-bottom: 2px;\n                }\n\n                .nu-attr-editor-item-value {\n                    color: #6c757d;\n                    font-size: 14px;\n                    font-family: monospace;\n                }\n\n                .nu-attr-editor-item-actions {\n                    display: flex;\n                    gap: 8px;\n                }\n\n                .nu-attr-editor-edit-btn,\n                .nu-attr-editor-remove-btn {\n                    padding: 6px 8px;\n                    border: none;\n                    border-radius: 7px;\n                    cursor: pointer;\n                    font-size: 14px;\n                    width: 32px;\n                    height: 32px;\n                    display: flex;\n                    align-items: center;\n                    justify-content: center;\n                }\n\n                .nu-attr-editor-edit-btn {\n                    background: #007bff;\n                    color: white;\n                }\n\n                .nu-attr-editor-edit-btn:hover {\n                    background: #0056b3;\n                }\n\n                .nu-attr-editor-remove-btn {\n                    background: #cc4d43;\n                    color: white;\n                }\n\n                .nu-attr-editor-remove-btn:hover {\n                    background: #c82333;\n                }\n\n                .nu-attr-editor-footer {\n                    background: #f8f9fa;\n                    padding: 16px 20px;\n                    border-top: 1px solid #e9ecef;\n                    display: flex;\n                    justify-content: flex-end;\n                    gap: 10px;\n                }\n\n                .nu-attr-editor-apply-btn,\n                .nu-attr-editor-cancel-btn {\n                    padding: 8px 20px;\n                    border: none;\n                    border-radius: 4px;\n                    cursor: pointer;\n                    font-size: 14px;\n                }\n\n                .nu-attr-editor-apply-btn {\n                    background: #007bff;\n                    color: white;\n                }\n\n                .nu-attr-editor-apply-btn:hover {\n                    background: #0056b3;\n                }\n\n                .nu-attr-editor-cancel-btn {\n                    background: #6c757d;\n                    color: white;\n                }\n\n                .nu-attr-editor-cancel-btn:hover {\n                    background: #545b62;\n                }\n\n                .nu-attr-editor-error {\n                    color: #dc3545;\n                    font-size: 12px;\n                    margin-top: 4px;\n                }\n\n                .nu-attr-editor-empty {\n                    text-align: center;\n                    padding: 40px 20px;\n                    color: #6c757d;\n                    font-style: italic;\n                }\n\n                .nu-attr-editor-custom-name {\n                    display: none;\n                }\n\n                .nu-attr-editor-custom-name.show {\n                    display: block;\n                }\n\n                .nu-attr-editor-value-text,\n                .nu-attr-editor-value-select {\n                    display: none;\n                }\n\n                .nu-attr-editor-value-text.show,\n                .nu-attr-editor-value-select.show {\n                    display: block;\n                }\n\n                .nu-attr-editor-boolean-notice {\n                    color: #6c757d;\n                    font-size: 12px;\n                    font-style: italic;\n                    margin-top: 4px;\n                }\n            </style>\n        `;\n        \n        // Only inject styles if not already present\n        if (!$(\'#nu-attr-editor-styles\').length) {\n            $(\'head\').append(styles);\n        }\n    }\n\n    // HTML Template\n    function injectTemplate() {\n        const template = `\n            <div class=\"nu-attr-editor-overlay\" id=\"nu-attr-editor-overlay\">\n                <div class=\"nu-attr-editor-popup\">\n                    <div class=\"nu-attr-editor-header\">\n                        <h3>Edit Attributes</h3>\n                        <button class=\"nu-attr-editor-close\">&times;</button>\n                    </div>\n                    <div class=\"nu-attr-editor-body\">\n                        <div class=\"nu-attr-editor-form\">\n                            <div class=\"nu-attr-editor-form-row\">\n                                <div class=\"nu-attr-editor-form-group\">\n                                    <label for=\"nu-attr-type\">Attribute Name</label>\n                                    <input type=\"text\" id=\"nu-attr-type\" list=\"nu-attr-suggestions\" placeholder=\"Enter attribute name or select from suggestions\">\n                                    <datalist id=\"nu-attr-suggestions\">\n                                        <option value=\"autocomplete\">\n                                        <option value=\"accesskey\">\n                                        <option value=\"data-\">\n                                        <option value=\"maxlength\">\n                                        <option value=\"placeholder\">\n                                        <option value=\"spellcheck\">\n                                        <option value=\"title\">\n                                        <option value=\"value\">\n                                        <option value=\"nu-label-position\">\n                                        <option value=\"nu-disable-calendar\">\n                                        <option value=\"nu-tooltip\">\n                                        <option value=\"nu-tooltip-icon\">\n                                    </datalist>\n                                </div>\n                                <div class=\"nu-attr-editor-form-group nu-attr-editor-custom-name\">\n                                    <label for=\"nu-attr-custom-name\">Custom Name</label>\n                                    <input type=\"text\" id=\"nu-attr-custom-name\" placeholder=\"attribute-name\">\n                                </div>\n                                <div class=\"nu-attr-editor-form-group\">\n                                    <label for=\"nu-attr-value\">Value</label>\n                                    <input type=\"text\" id=\"nu-attr-value-text\" class=\"nu-attr-editor-value-text\" placeholder=\"Enter value\">\n                                    <select id=\"nu-attr-value-select\" class=\"nu-attr-editor-value-select\">\n                                    </select>\n                                    <div class=\"nu-attr-editor-boolean-notice\" id=\"boolean-notice\" style=\"display: none;\">\n                                        Boolean attribute - no value needed\n                                    </div>\n                                </div>\n                                <button class=\"nu-attr-editor-add-btn\" type=\"button\">Add</button>\n                            </div>\n                            <div class=\"nu-attr-editor-error\" id=\"nu-attr-error\"></div>\n                        </div>\n                        \n                        <div class=\"nu-attr-editor-list\" id=\"nu-attr-list\">\n                            <div class=\"nu-attr-editor-empty\">No attributes added yet</div>\n                        </div>\n                    </div>\n                    <div class=\"nu-attr-editor-footer\">\n                        <button class=\"nu-attr-editor-cancel-btn\">Cancel</button>\n                        <button class=\"nu-attr-editor-apply-btn\">Apply</button>\n                    </div>\n                </div>\n            </div>\n        `;\n        \n        // Only inject template if not already present\n        if (!$(\'#nu-attr-editor-overlay\').length) {\n            $(\'body\').append(template);\n        }\n    }\n\n    // Bind event handlers only once\n    function bindEventHandlers() {\n        if (eventHandlersBound) return;\n        \n        \n        nuDatalistShowAllOnArrowClick(\'nu-attr-type\');\n        $(document).on(\'input change\', \'#nu-attr-type\', function() {\n            if (window.currentAttributeEditor) {\n                window.currentAttributeEditor.updateValueField();\n            }\n        });\n        \n        $(document).on(\'click\', \'.nu-attr-editor-add-btn\', function() {\n            if (window.currentAttributeEditor) {\n                window.currentAttributeEditor.addOrUpdateAttribute();\n            }\n        });\n        \n        $(document).on(\'click\', \'.nu-attr-editor-edit-btn\', function() {\n            if (window.currentAttributeEditor) {\n                const key = $(this).data(\'key\');\n                window.currentAttributeEditor.editAttribute(key);\n            }\n        });\n        \n        $(document).on(\'click\', \'.nu-attr-editor-remove-btn\', function() {\n            if (window.currentAttributeEditor) {\n                const key = $(this).data(\'key\');\n                window.currentAttributeEditor.removeAttribute(key);\n            }\n        });\n        \n        $(document).on(\'click\', \'.nu-attr-editor-close, .nu-attr-editor-cancel-btn\', function() {\n            if (window.currentAttributeEditor) {\n                window.currentAttributeEditor.hidePopup();\n                window.currentAttributeEditor.settings.onCancel();\n            }\n        });\n\n        $(document).on(\'click\', \'.nu-attr-editor-apply-btn\', function() {\n            if (window.currentAttributeEditor) {\n                window.currentAttributeEditor.hidePopup();\n                window.currentAttributeEditor.settings.onApply(window.currentAttributeEditor.currentAttributes);\n            }\n        });\n\n        $(document).on(\'click\', \'.nu-attr-editor-overlay\', function(e) {\n            if (e.target === this && window.currentAttributeEditor) {\n                window.currentAttributeEditor.hidePopup();\n                window.currentAttributeEditor.settings.onCancel();\n            }\n        });\n\n        $(document).on(\'keypress\', \'#nu-attr-type, #nu-attr-custom-name, #nu-attr-value-text\', function(e) {\n            if (e.which === 13 && window.currentAttributeEditor) {\n                window.currentAttributeEditor.addOrUpdateAttribute();\n            }\n        });\n\n        eventHandlersBound = true;\n    }\n\n    // Global function to open the attribute editor\n    window.openAttributeEditor = function(currentAttributes, onApply, onCancel) {\n        if (typeof currentAttributes === \'string\') {\n            try {\n                currentAttributes = JSON.parse(currentAttributes);\n            } catch (e) {\n                currentAttributes = {};\n            }\n        }\n        \n        currentAttributes = currentAttributes || {};\n        \n        onApply = onApply || function(attrs) { console.log(\'Applied:\', attrs); };\n        onCancel = onCancel || function() { console.log(\'Cancelled\'); };\n        \n        // Create a single instance and store globally\n        window.currentAttributeEditor = new AttributeEditor({\n            initialData: currentAttributes,\n            onApply: onApply,\n            onCancel: onCancel\n        });\n        \n        window.currentAttributeEditor.showPopup();\n    };\n\n    // AttributeEditor class\n    function AttributeEditor(options) {\n        this.settings = $.extend({\n            onApply: function(attributes) { console.log(\'Applied:\', attributes); },\n            onCancel: function() { console.log(\'Cancelled\'); },\n            initialData: {}\n        }, options);\n\n        this.currentAttributes = { ...this.settings.initialData };\n        this.editingKey = null;\n\n        // Attribute configurations for predefined attributes\n        this.attributeConfigs = {\n            \'autocomplete\': { type: \'select\', options: { \'on\': \'on\', \'off\': \'off\' }, placeholder: \'\' },\n            \'accesskey\': { type: \'text\', placeholder: \'Single character\' },\n            \'data-\': { type: \'text\', placeholder: \'String value\', requiresCustomName: true },\n            \'maxlength\': { type: \'text\', placeholder: \'Number value\' },\n            \'placeholder\': { type: \'text\', placeholder: \'Placeholder text\' },\n            \'spellcheck\': { type: \'select\', options: { \'true\': \'true\', \'false\': \'false\' }, placeholder: \'\' },\n            \'title\': { type: \'text\', placeholder: \'Tooltip text\' },\n            \'value\': { type: \'text\', placeholder: \'String\' },\n            \'nu-label-position\': { type: \'select\', options: { \'top\': \'top\', \'custom\': \'custom\' }, placeholder: \'\' },\n            \'nu-disable-calendar\': { type: \'boolean\', placeholder: \'\' },\n            \'nu-tooltip\': { type: \'text\', placeholder: \'Tooltip text\' },\n            \'nu-tooltip-icon\': { type: \'text\', placeholder: \'Tooltip text\' }\n        };\n    }\n\n    AttributeEditor.prototype.showError = function(message) {\n        $(\'#nu-attr-error\').text(message);\n    };\n\n    AttributeEditor.prototype.clearError = function() {\n        $(\'#nu-attr-error\').text(\'\');\n    };\n\n    AttributeEditor.prototype.isBooleanAttribute = function(attrName) {\n        const config = this.attributeConfigs[attrName];\n        return (config && config.type === \'boolean\');\n    };\n\n    AttributeEditor.prototype.updateValueField = function() {\n        const $typeInput = $(\'#nu-attr-type\');\n        const $customName = $(\'#nu-attr-custom-name\');\n        const $valueText = $(\'#nu-attr-value-text\');\n        const $valueSelect = $(\'#nu-attr-value-select\');\n        const $customNameGroup = $(\'.nu-attr-editor-custom-name\');\n        const $valueTextGroup = $(\'.nu-attr-editor-value-text\');\n        const $valueSelectGroup = $(\'.nu-attr-editor-value-select\');\n        const $booleanNotice = $(\'#boolean-notice\');\n        \n        const selectedType = $typeInput.val().trim();\n        const config = this.attributeConfigs[selectedType];\n        \n        this.clearError();\n        $valueText.val(\'\');\n        $valueSelect.empty();\n        $booleanNotice.hide();\n        \n        // Show/hide custom name field for data- attributes\n        if (selectedType === \'data-\' || selectedType.startsWith(\'data-\')) {\n            $customNameGroup.addClass(\'show\');\n            if (selectedType === \'data-\') {\n                $customName.focus();\n            }\n        } else {\n            $customNameGroup.removeClass(\'show\');\n            $customName.val(\'\');\n        }\n\n        // Check if it\'s a boolean attribute\n        if (this.isBooleanAttribute(selectedType)) {\n            $valueTextGroup.removeClass(\'show\');\n            $valueSelectGroup.removeClass(\'show\');\n            $booleanNotice.show();\n            return;\n        }\n\n        // If we have a predefined config, use it\n        if (config) {\n            $valueText.attr(\'placeholder\', config.placeholder);\n\n            if (config.type === \'select\') {\n                $valueTextGroup.removeClass(\'show\');\n                $valueSelectGroup.addClass(\'show\');\n                \n                Object.entries(config.options).forEach(([value, text]) => {\n                    $valueSelect.append(`<option value=\"${value}\">${text}</option>`);\n                });\n            } else {\n                $valueTextGroup.addClass(\'show\');\n                $valueSelectGroup.removeClass(\'show\');\n            }\n        } else {\n            $valueTextGroup.addClass(\'show\');\n            $valueSelectGroup.removeClass(\'show\');\n            $valueText.attr(\'placeholder\', \'Enter attribute value\');\n        }\n    };\n\n    AttributeEditor.prototype.getAttributeKey = function() {\n        const $typeInput = $(\'#nu-attr-type\');\n        const $customName = $(\'#nu-attr-custom-name\');\n        \n        const type = $typeInput.val().trim();\n        \n        if (type === \'data-\') {\n            const customName = $customName.val().trim();\n            return customName ? `data-${customName}` : \'\';\n        } else if (type.startsWith(\'data-\') && type.length > 5) {\n            return type;\n        }\n        \n        return type;\n    };\n\n    AttributeEditor.prototype.getAttributeValue = function() {\n        const $typeInput = $(\'#nu-attr-type\');\n        const $valueText = $(\'#nu-attr-value-text\');\n        const $valueSelect = $(\'#nu-attr-value-select\');\n        const $valueTextGroup = $(\'.nu-attr-editor-value-text\');\n        \n        const type = $typeInput.val().trim();\n        const config = this.attributeConfigs[type];\n        \n        if (this.isBooleanAttribute(type)) {\n            return \'\';\n        }\n        \n        if (config && config.type === \'select\') {\n            return $valueSelect.val();\n        } else {\n            if ($valueTextGroup.hasClass(\'show\')) {\n                return $valueText.val().trim();\n            }\n            return \'\';\n        }\n    };\n\n    AttributeEditor.prototype.validateAttributeWithValues = function(type, key, value) {\n        const config = this.attributeConfigs[type];\n\n        // Check if attribute name is provided\n        if (!type) {\n            this.showError(\'Please enter an attribute name\');\n            return false;\n        }\n\n        // Check if we have a valid key (important for data- attributes)\n        if (!key) {\n            this.showError(\'Please enter a valid attribute name\');\n            return false;\n        }\n\n        // Check for duplicate attributes (unless we\'re editing the same one)\n        if (this.editingKey !== key && this.currentAttributes.hasOwnProperty(key)) {\n            this.showError(\'This attribute already exists\');\n            return false;\n        }\n\n        // Validate predefined attributes\n        if (config) {\n            // Non-boolean attributes need values\n            if (config.type !== \'boolean\' && !this.isBooleanAttribute(type) && !value) {\n                this.showError(\'Please enter a value for this attribute\');\n                return false;\n            }\n\n            // Specific validation for accesskey\n            if (type === \'accesskey\' && value.length !== 1) {\n                this.showError(\'Access key must be a single character\');\n                return false;\n            }\n\n            // Specific validation for maxlength\n            if (type === \'maxlength\' && (isNaN(value) || parseInt(value) < 0)) {\n                this.showError(\'Max length must be a positive number\');\n                return false;\n            }\n        } else {\n            // For custom attributes, check if they need values\n            const isBooleanAttr = this.isBooleanAttribute(type);\n            const $valueTextGroup = $(\'.nu-attr-editor-value-text\');\n            \n            if (!isBooleanAttr && !value && $valueTextGroup.hasClass(\'show\')) {\n                this.showError(\'Please enter a value for this attribute\');\n                return false;\n            }\n        }\n\n        // All validation passed\n        return true;\n    };\n\n    AttributeEditor.prototype.validateAttribute = function() {\n        const type = $(\'#nu-attr-type\').val().trim();\n        const key = this.getAttributeKey();\n        const value = this.getAttributeValue();\n        return this.validateAttributeWithValues(type, key, value);\n    };\n\n    AttributeEditor.prototype.addOrUpdateAttribute = function() {\n        if (!this.validateAttribute()) return;\n\n        const key = this.getAttributeKey();\n        const value = this.getAttributeValue();\n\n        if (this.editingKey && this.editingKey !== key) {\n            delete this.currentAttributes[this.editingKey];\n        }\n\n        this.currentAttributes[key] = value;\n        this.clearForm();\n        this.renderAttributes();\n    };\n\n    AttributeEditor.prototype.clearForm = function() {\n        $(\'#nu-attr-type\').val(\'\');\n        $(\'#nu-attr-custom-name\').val(\'\');\n        $(\'#nu-attr-value-text\').val(\'\');\n        $(\'#nu-attr-value-select\').empty();\n        $(\'.nu-attr-editor-custom-name\').removeClass(\'show\');\n        $(\'.nu-attr-editor-value-text\').removeClass(\'show\');\n        $(\'.nu-attr-editor-value-select\').removeClass(\'show\');\n        $(\'#boolean-notice\').hide();\n        this.clearError();\n        this.editingKey = null;\n        $(\'.nu-attr-editor-add-btn\').text(\'Add\');\n    };\n\n    AttributeEditor.prototype.editAttribute = function(key) {\n        this.editingKey = key;\n        const value = this.currentAttributes[key];\n        \n        let type = key;\n        let customName = \'\';\n        \n        if (key.startsWith(\'data-\')) {\n            if (key === \'data-\') {\n                type = \'data-\';\n            } else {\n                const afterData = key.substring(5);\n                if (afterData && !afterData.includes(\'-\')) {\n                    type = \'data-\';\n                    customName = afterData;\n                } else {\n                    type = key;\n                }\n            }\n        }\n        \n        $(\'#nu-attr-type\').val(type);\n        this.updateValueField();\n        \n        if (customName) {\n            $(\'#nu-attr-custom-name\').val(customName);\n        }\n        \n        const config = this.attributeConfigs[type];\n        if (config && config.type === \'select\') {\n            $(\'#nu-attr-value-select\').val(value);\n        } else if (!this.isBooleanAttribute(type)) {\n            $(\'#nu-attr-value-text\').val(value);\n        }\n        \n        $(\'.nu-attr-editor-add-btn\').text(\'Update\');\n        \n        setTimeout(() => {\n            const typeInput = document.getElementById(\'nu-attr-type\');\n            typeInput.focus();\n            typeInput.scrollIntoView({ behavior: \'smooth\', block: \'center\' });\n        }, 100);\n    };\n\n    AttributeEditor.prototype.removeAttribute = function(key) {\n        delete this.currentAttributes[key];\n        this.renderAttributes();\n    };\n\n    AttributeEditor.prototype.renderAttributes = function() {\n        const $list = $(\'#nu-attr-list\');\n        $list.empty();\n        \n        const keys = Object.keys(this.currentAttributes);\n        if (keys.length === 0) {\n            $list.html(\'<div class=\"nu-attr-editor-empty\">No attributes added yet</div>\');\n            return;\n        }\n        \n        const self = this;\n        keys.forEach(key => {\n            const value = this.currentAttributes[key];\n            const displayValue = value || (this.isBooleanAttribute(key) ? \'(boolean)\' : \'(no value)\');\n            \n            const $item = $(`\n                <div class=\"nu-attr-editor-item\">\n                    <div class=\"nu-attr-editor-item-content\">\n                        <div class=\"nu-attr-editor-item-name\">${key}</div>\n                        <div class=\"nu-attr-editor-item-value\">${displayValue}</div>\n                    </div>\n                    <div class=\"nu-attr-editor-item-actions\">\n                        <button class=\"nu-attr-editor-edit-btn\" data-key=\"${key}\"><i class=\"fas fa-edit\"></i></button>\n                        <button class=\"nu-attr-editor-remove-btn\" data-key=\"${key}\"><i class=\"fas fa-trash\"></i></button>\n                    </div>\n                </div>\n            `);\n            \n            $list.append($item);\n        });\n    };\n\n    AttributeEditor.prototype.showPopup = function() {\n        const $overlay = $(\'#nu-attr-editor-overlay\');\n        $overlay.fadeIn(200);\n        this.renderAttributes();\n    };\n\n    AttributeEditor.prototype.hidePopup = function() {\n        const $overlay = $(\'#nu-attr-editor-overlay\');\n        $overlay.fadeOut(200);\n        this.clearForm();\n    };\n\n})(jQuery);\n\n/////////////////////////////////////////////////////////////////////\n\nif (! nuDevMode()) {\n    nuHideTabById(\'nu61e9964c9bf5e13\'); // JSON\n}\n\nnuShow(\'se_items_run\', !nuIsNewRecord());\nnuShow(\'sob_items_run\', !nuIsNewRecord());\n\n// Code Snippets form\nnuSetSnippetFormFilter(0, 0, 1, 0); // SQL\n\nnuHide(\'sob_code_snippet_display_lookupcode\');\nnuHide(\'sob_code_snippet_select_lookupcode\');\nnuHide(\'label_zzzzsys_event_sf\');\nnuHide(\'label_sob_html_code\');\nnuShow(\'sob_run_zzzzsys_form_open_button\', sob_run_zzzzsys_form_id.value !== \'\');\nnuShow(\'sob_lookup_zzzzsys_form_open_button\', sob_lookup_zzzzsys_form_id.value !== \'\');\nnuShow(\'sob_display_procedure_open_button\', sob_display_procedure.value !== \'\');\nnuShow(\'sob_select_procedure_open_button\', sob_select_procedure.value !== \'\');\n\nnuObjectDisplayInputIcon();\nnuObjectDisplayAccessCondition();\nnuObjectDisplayProcedureChanged();\nnuObjectSelectProcedureChanged();\n\nnuDisable(\'sob_calc_formula\');\nnuSetToolTip(\'sob_all_id_create_button\', nuTranslate(\'Add database column\'));\n\nwindow.parentTabs = parent.$(\'.nuTab\');\n\n\nvar tabIdDescLeft = $(\'#sob_all_zzzzsys_tab_iddescription\').nuCSSNumber(\'left\') + 11;\n$(\'#sob_all_zzzzsys_tab_iddescription\').css(\'left\', tabIdDescLeft + \'px\');\n\n$(\'#zzzzsys_event_sfsev_javascript\').attr(\'id\', \'jsfuntitle\');\n$(\'#sob_calc_formula\').addClass(\'nuCalculatorCurrency\').css(\'font-size\', \'12px\');\n$(\'#sob_all_display_condition\').addClass(\'sql\');\n$(\'#sob_all_default_value_sql\').addClass(\'sql\');\n$(\'#sob_display_sql\').addClass(\'sql\');\n$(\'#sob_input_datalist\').addClass(\'sql\');\n$(\'#sob_select_sql\').addClass(\'sql\');\n$(\'#sob_lookup_javascript\').addClass(\'js\');\n$(\'#sob_input_javascript\').addClass(\'js\');\n$(\'#sob_html_javascript\').addClass(\'js\');\n$(\'#sob_lookup_php\').addClass(\'php\');\n$(\'#sob_html_code\').addClass(\'html\');\n$(\'#sob_all_style\').addClass(\'css\');\n$(\'#sob_input_attribute\').addClass(\'css\');\n$(\"[id$=\'sev_javascript\']\").addClass(\'js\');\n$(\"#title_zzzzsys_event_sfsev_javascript\").removeClass(\'js\');\n$(\'#sob_run_zzzzsys_form_open_button\').toggleClass(\'input_button nuButton nuLookupButton\');\n$(\'#sob_lookup_zzzzsys_form_open_button\').toggleClass(\'input_button nuButton nuLookupButton\');\n$(\'#sob_subform_zzzzsys_form_open_button\').toggleClass(\'input_button nuButton nuLookupButton\');\n$(\'#sob_select_procedure_open_button\').toggleClass(\'input_button nuButton nuLookupButton\');\n$(\'#sob_display_procedure_open_button\').toggleClass(\'input_button nuButton nuLookupButton\');\n\n\n$(\'#sob_all_type_open_button\').toggleClass(\'input_button nuButton nuLookupButton\');\n\nnuObjectPreviewIcon(\'sob_input_icon_preview_html\', nuGetValue(\'sob_input_icon\'));\n\n\nvar placeholderText = \'Enter * to display the examples.\\n\\n\' + \n`1. SQL:\n   A valid SQL query that returns 2 columns (value, display).\n   Example:\n     SELECT table_id, description FROM table\n\n   Or using the Items table:\n     SELECT itm_value, itm_description \n     FROM zzzzsys_item \n     WHERE itm_object_id = \'#OBJECT_ID#\' AND itm_active = \'1\'\n     ORDER BY itm_description\n\n2. List:\n   A pipe-delimited list.\n   - First value: bound value (e.g., 1)\n   - Second value: display value (e.g., First)\n   Example:\n     1|First|\n     2|Second|\n     3|Third\n\n3. JSON / Array:\n   When value and display are the same.\n   Example:\n     [\"value1\", \"value2\", \"value3\"]\n`;\n\n$(\'#sob_select_sql\').prop(\'placeholder\', placeholderText);\n\n\n\n\nplaceholderText = `Array of items:\n[\"item 1\",\"item 2\",\"item 3\"]\n\nOr:\n\nJSON/Array:\nSELECT column_name FROM table_name \n\n`;\n\n$(\'#sob_input_datalist\').on(\'focus\', function() {\n    $(this).prop(\'placeholder\', placeholderText);\n}).on(\'blur\', function() {\n    $(this).prop(\'placeholder\', \'\');\n});\n\n\n$(\'#nuTab9\').on(\'click\', function() {\n    nuObjectTestChart();\n});\n\nnuAttachButtonImage(\'icon_lujs\', \'LUJS\');\nnuAttachButtonImage(\'icon_html\', \'HTML\');\nnuAttachButtonImage(\'ab_event\', \'AB\', \'nuButtonImageSmall\');\n// nuAttachButtonImage(\'di_sql\', \'SQL\',\'nuButtonImageSmall\');\n// nuAttachButtonImage(\'se_sql\', \'SQL\',\'nuButtonImageSmall\');\n\n$(\'#viewflowchart\')\n.css(\'padding\', \'46px 0px 0px 3px\')\n.css(\'text-align\', \'left\')\n.css(\'background-size\', \'75px\');\n\n\nif ($(\'#zzzzsys_event_sf000sev_event\').val() !== \'\') {\n    $(\'#nuTab11\').css(\'font-weight\', \'bold\');\n}\n\nnuObjectInputTypeChanged(nuGetValue(\'sob_input_type\'));\nnuObjectHideCalcObjects();\nnuObjectPopulateHTML();\nnuObjectAddDataListToRunId();\n\n$(\"button[id*=\'_btn_\']\").addClass(\'nuQuickButton\').removeClass(\'input_button nuButton\');\n\nvar filter = String(window.filter).split(\'|\');\n\nif (filter[0] == \'fromfastform\') {\n\n    $(\'#nuDeleteButton\').remove();\n    $(\'#nuCloneButton\').remove();\n    $(\'#nuSaveButton\').remove();\n    $(\'#sob_all_id\').val(filter[1]).addClass(\'nuHighlight\');\n    $(\'#sob_all_label\').val(filter[2]).addClass(\'nuHighlight\');\n\n}\n\nnuACEInitDblClickHandlers();\n\nnuHide(\'sob_input_format\');\nvar sit = nuGetValue(\'sob_input_type\');\nnuShow(\'sob_input_format\', sit == \'nuDate\' || sit == \'nuNumber\');\nnuShow(\'sob_input_javascript\', sit == \'nuScroll\');\n\nnuObjectColor();\nnuGetStartingTab();\n\n\nif (!nuIsNewRecord()) {\n\n    nuObjectMaximiseParentifDragOptionsBox();\n    nuObjectDisplayIncHeightButtons();\n    nuObjectShowDataType();\n\n} else {\n\n    nuSetValue(\'sob_all_top\', 0);\n    nuSetValue(\'sob_all_left\', 60);\n    nuSetValue(\'sob_all_height\', 22);\n    nuSetValue(\'sob_all_width\', 100);\n    nuSetValue(\'sob_all_validate\', 0);\n    nuSetValue(\'sob_all_access\', 0);\n    nuSetValue(\'sob_all_align\', \'left\');\n    nuSetValue(\'sob_all_cloneable\', \'1\');\n\n    nuHide(\'sob_all_type_open_button\');\n    nuHide(\'sob_all_type_input\');\n    nuHide(\'sob_all_id_create_button\');\n\n    if (nuIsIframe()) {\n        let pTab = nuSelectedTabId(parent);\n        if (pTab !== null) {\n            nuGetLookupId(pTab, \'sob_all_zzzzsys_tab_id\', false);\n        } else {\n            if (nuGetValue(\'sob_all_zzzzsys_tab_id\') === \'\' && parent.nuCurrentProperties().form_code == \'nuuserhome\') {\n                nuGetLookupId(\'nufastforms\', \'sob_all_zzzzsys_tab_id\', false);\n            }\n        }\n        $(\'#sob_all_label\').trigger(\"focus\");\n        nuSetValue(\'sob_all_type\', \'input\');\n        nuSetValue(\'sob_input_type\', \'text\');\n    }\n\n}\n\nnuObjectUpdateLookupDescriptionDatalist();\nnuObjectUpdateIdDatalist();\nnuObjectRunMethodChanged();\nnuHasNotBeenEdited();\n\n\nfunction nuObjectMaximiseParentifDragOptionsBox() {\n\n    let db = parent.parent.$(\'.nuDragOptionsBox\');\n    if (db.length === 0) return;\n\n    let dd = db.parent(); // nuDragDialog\n    let l = parseInt(dd.css(\'left\'), 10);\n\n    if (l == 2) return; // already maximised\n\n    let dt = db.nextAll(\'.nuDialogTitle\').find(\'#dialogTitleWords\');\n    if (dt.length !== 0) {\n        var e = {\n            target: {\n                id: \"dialogTitleWords\"\n            }}\n        parent.parent.nuResizeWindow(e);\n    }\n\n}\n\nfunction nuObjectColumnDataType(table, id) {\n\n    let s = nuFORM.tableSchema[table];\n    let i = -1;\n    if (typeof s !== \"undefined\") {\n        i = s.names.indexOf(id.val());\n    }\n\n    return i > -1 ? s.types[i]: \'\';\n\n}\n\nfunction nuObjectShowDataType() {\n\n    let id = $(\'#sob_all_id\');\n    let iDataType = $(\'#sob_all_id_datatype\');\n\n    let table = nuGetValue(\"sob_all_table\");\n    let dataType = \'\';\n\n    if (table !== \'\' && id.val() !== \'\') {\n        dataType = nuObjectColumnDataType(table, id);\n\n    }\n\n    iDataType.val(dataType);\n    nuObjectDisplayCreateButton();\n    nuObjectDisplayAlterButton();\n\n}\n\nfunction nuObjectObjectNoId() {\n    return [\'word\',\n        \'html\',\n        \'chart\',\n        \'button\',\n        \'run\',\n        \'subform\',\n        \'contentbox\'].indexOf(nuGetValue(\'sob_all_type\')) !== -1;\n}\n\nfunction nuObjectDisplayCreateButton() {\n\n    let dataType = nuObjectColumnDataType(nuGetValue(\"sob_all_table\"), $(\'#sob_all_id\'));\n    nuShow(\'sob_all_id_create_button\', dataType === \'\' && nuGetValue(\'sob_all_id\') !== \'\' && nuGetValue(\'sob_all_table\') !== \'\' && !nuObjectObjectNoId());\n\n}\n\nfunction nuObjectDisplayAlterButton() {\n   nuShow(\'sob_all_id_alter_column_button\', !nuIsNewRecord() && nuGetValue(\'sob_all_id_datatype\') !== \'\')\n}\n\nfunction nuObjectDisplayIncHeightButtons() {\n\n    var showButtons = [\'html\', \'chart\',\n        \'textarea\',\n        \'subform\',\n        \'image\',\n        \'contentbox\'].indexOf(nuGetValue(\'sob_all_type\')) !== -1;\n\n    $(\'[id^=sob_height_btn_set]\').nuShow(showButtons);\n}\n\n\nfunction nuObjectTestChart() {\n\n    let g = nuGetValue(\'sob_html_chart_type\');\n\n    if (g === \'\' || nuGetValue(\'sob_all_type\') !== \'chart\') {\n        $(\'#google_chart\').html(\'\');\n        return;\n    }\n\n    let c = \'ComboChart\';\n    let t = nuGetValue(\'sob_html_title\');\n    let x = nuGetValue(\'sob_html_vertical_label\');\n    let y = nuGetValue(\'sob_html_horizontal_label\');\n    let l = \'bars\';\n    let s = false;\n\n    let a = [\n        [\'Month\',\n            \'Shane\',\n            \'Dave\',\n            \'Adam\',\n            \'Paul\',\n            \'Chris\'],\n        [\'2025\',\n            100,\n            200,\n            300,\n            400,\n            500],\n        [\'2024\',\n            165,\n            238,\n            322,\n            498,\n            550],\n        [\'2024\',\n            165,\n            938,\n            522,\n            998,\n            450],\n        [\'2022\',\n            135,\n            1120,\n            599,\n            1268,\n            288]\n    ];\n\n    if (g == \'p\') c = \'PieChart\';\n    if (g == \'l\') l = \'lines\';\n    if (g == \'bh\') c = \'BarChart\';\n    if (g == \'bhs\') c = \'BarChart\';\n    if (g == \'bs\') s = true;\n    if (g == \'bhs\') s = true;\n\n    nuChart(\'google_chart\', c, a, t, x, y, l, s);\n\n}\n\nfunction nuObjectChartOnReady(i, wrapper) {\n    // let wrapper = window[\"google_chart_wrapper\"];\n    var options = {\n        seriesType: wrapper.m.seriesType,\n        chartArea: {\n            left: \"10%\",\n            width: \"65%\"\n        }\n    };\n    wrapper.setOptions(options);\n    wrapper.draw();\n}\n\nfunction nuObjectAddDataListToRunId() {\n\n    let arrRecordId = [\n        [\"     \",\n            nuTranslate(\"Leave blank to open a Browse Form\")],\n        [\"-1\",\n            nuTranslate(\"Open a new Record\")],\n        [\"#EXAMPLE_HASH_COOKIE#\",\n            nuTranslate(\"Use a Hash Cookie\")]\n    ];\n\n    nuAddDatalist(\'sob_run_id\', arrRecordId);\n\n    $(\'#sob_run_id\').on(\'input\', function() {\n        if ($(this).val() == \'     \') {\n            $(this).val(\'\').change();\n        }\n\n    });\n\n}\n\nfunction nuObjectColor() {\n\n    $(\'.nuValidate\').removeClass(\'nuValidate\');\n\n    let e = $(\'#sob_all_type\').hasClass(\'nuEdited\');\n    let o = [];\n\n    o.run = 1;\n    o.display = 2;\n    o.select = 3;\n    o.lookup = 4;\n    o.subform = 5;\n    o.image = 6;\n    o.input = 7;\n    o.html = 8;\n    o.chart = 9;\n    o.calc = 10;\n\n    $(\'#sob_all_type\').removeClass();\n\n    if (e) {\n        //-- keep class if edited\n        $(\'#sob_all_type\').addClass(\'nuEdited\');\n    }\n\n    $(\'#sob_all_type\').addClass(\'nu_\'+$(\'#sob_all_type\').val());\n\n    $(\"#sob_all_type > option\").each(function() {\n        $(this).addClass(\'nu_\'+this.value);\n    });\n\n    upObjectSetRelatedTabs(o);\n\n}\n\n\nfunction upObjectSetRelatedTabs(o) {\n\n    const selectedVal = $(\'#sob_all_type\').val();\n    let t = o[selectedVal];\n\n    $(\"[id^=\'nuTab\']\").removeClass(\'nuRelatedTab\');\n\n    for (let i = 1; i < o.length; i++) {\n        $(\'#nuTab\' + i).removeClass(\'nuRelatedTab\');\n    }\n\n    $(\'#nuTab0\').addClass(\'nuRelatedTab\');\n    $(\'#nuTab\' + t).addClass(\'nuRelatedTab\');\n    \n    const inputTargetFile = nuGetValue(\'sob_input_file_target\');\n    const idHTMLTab = \'nu5bad6cb36a71012\';\n    $(\'div[data-nu-tab-id=\' + idHTMLTab + \']\').toggleClass(\'nuRelatedTab\', (selectedVal === \'input\' && inputTargetFile == \'1\') || selectedVal === \'html\');\n    \n}\n\nfunction nuObjectDisplayAllTypeInput() {\n\n    let v = nuGetValue(\'sob_input_type\', \'text\');\n    v = nuGetValue(\'sob_all_type\') == \'input\' ? v: \'\';\n    $(\'#sob_all_type_input\').val(v);\n\n}\n\nfunction nuObjectTypeChanged() {\n\n    nuShow(\'sob_all_type_open_button\', sob_all_type.value !== \'\');\n    nuShow(\'sob_all_type_input\', sob_all_type.value !== \'\');\n\n    nuObjectColor();\n    nuObjectDisplayCreateButton();\n    nuObjectDisplayAlterButton();\n    nuObjectDisplayIncHeightButtons();\n    nuObjectDisplayAllTypeInput();\n    nuObjectDisplayInputIcon();\n\n}\n\nfunction nuObjectDisplayEditNuFormat() {\n  const format = sob_input_type.value;\n  nuShow(\'sob_input_nuformat_edit_button\', format === \'nuNumber\' || format === \'nuDate\');\n\n}\n\nfunction nuObjectInputTypeChanged(t) {\n\n    nuObjectDisplayEditNuFormat();\n\n    nuHide(\'sob_input_format\');\n    nuHide(\'sob_input_count\');\n    nuHide(\'sob_input_javascript\');\n    nuHide(\'sob_input_datalist\');\n    nuHide(\'sob_input_file_target\');\n\n\n    if (t == \'nuScroll\') {\n        nuShow(\'sob_input_javascript\');\n    }\n\n    if (t == \'file\') {\n        nuShow(\'sob_input_file_target\');\n\n        if (nuGetValue(\'sob_input_file_target\') == \'\') {\n            nuSetValue(\'sob_input_file_target\', \'0\');\n        }\n\n        nuObjectFileUploadScript();\n    }\n\n    if (t == \'nuAutoNumber\') {\n\n        nuShow(\'sob_input_count\');\n        $(\'#sob_input_javascript\').val(\'\').addClass(\'nuEdited\');\n\n    }\n\n    if (t == \'nuDate\' || t == \'nuNumber\' || t == \'number\' || t == \'text\' || t == \'email\' || t == \'search\' || t == \'month\') {\n        nuShow(\'sob_input_datalist\');\n        if ($(\'#sob_input_datalist\').val() == \'\' && $(\'#sob_all_id_datatype\').val() !== \'\') {\n            //   $(\'#sob_input_datalist\').val(\"SELECT DISTINCT `\" + $(\"#sob_all_id\").val() + \"` FROM `\" + $(\'#sob_all_table\').val() + \"` ORDER BY 1\").change();\n        }\n    }\n\n    if (t == \'nuDate\' || t == \'nuNumber\') {\n\n        nuShow(\'sob_input_format\');\n\n        $(\'#sob_input_format\').children().each(function(index) {\n\n            $(this).show();\n\n            if ($(this).val()[0] == \'D\' && t != \'nuDate\') {\n                $(this).hide();\n            }\n            if ($(this).val()[0] == \'N\' && t != \'nuNumber\') {\n                $(this).hide();\n            }\n\n        });\n\n       nuSetProperty(\'nu_format_get_default_input_type\', nuGetValue(\'sob_input_type\').slice(2));\n       nuRunPHPHidden(\'nu_format_get_default\');\n\n    }\n\n    nuObjectDisplayInputIcon();\n    nuObjectDisplayAllTypeInput();\n\n}\n\nfunction nuSetDefaultFormat(format) {\n   if (format !== \'\' && nuGetValue(\'sob_input_format\') === \'\') {\n       nuSetValue(\'sob_input_format\', format);\n   }\n}\n\nfunction nuObjectDisplayInputIcon() {\n    nuShow(\'sob_input_icon\',\n        sob_input_type.value == \'button\' || sob_all_type.value == \'run\' || sob_all_type.value == \'word\');\n}\n\nfunction nuObjectDisplayAccessCondition() {\n    nuShow(\'sob_all_access_condition\',\n        sob_all_access.value == \'9\');\n    $(\'[nu-access-button]\').nuShow(sob_all_access.value != \'9\');\n}\n\nfunction nuObjectHideCalcObjects() {\n\n    var f = $(\'#sob_all_zzzzsys_form_id\').val();\n\n    $(\'#add_total\').children().each(function(index) {\n\n\n        if ($(this).val() != f) {\n            $(this).hide();\n        }\n        if ($(this).text() == $(\'#sob_all_id\').val()) {\n            $(this).hide();\n        }\n\n    });\n\n}\n\nfunction nuObjectInsertOrAppendToCalcFormula(oldValue, newValue) {\n\n    const manualMode = nuGetValue(\'sob_calc_formula_edit_mode_checkbox\');\n    if (manualMode) {\n        nuInsertAtCaret(\'sob_calc_formula\', newValue);\n    } else {\n        nuSetValue(\'sob_calc_formula\', oldValue + newValue);\n    }\n\n}\n\nfunction nuObjectAddCalcObject(t) {\n\n    const i = $(t).attr(\'data-nu-ids\');\n    const oldValue = $(\'#sob_calc_formula\').val();\n    const newValue = \"nuTotal(\'\" + i + \"\')\";\n\n    if (i == \'\') {\n        return;\n    }\n\n    $(\'#sob_calc_formula\').addClass(\'nuEdited\')\n\n    nuObjectInsertOrAppendToCalcFormula(oldValue, newValue);\n\n    $(\'#add_total\').val(\'\');\n\n    nuHasBeenEdited();\n\n}\n\n\nfunction nuObjectAddToFormula(e) {\n\n    const newValue = e.target.innerHTML;\n    const oldValue = $(\'#sob_calc_formula\').val();\n\n    if (newValue == \'Clear\') {\n\n        $(\'#sob_calc_formula\')\n        .val(\'\')\n        .addClass(\'nuEdited\');\n        return;\n\n    }\n\n    $(\'#sob_calc_formula\').addClass(\'nuEdited\')\n\n    nuObjectInsertOrAppendToCalcFormula(oldValue, newValue);\n\n    nuHasBeenEdited();\n\n}\n\nfunction nuObjectPopulateHTML() {\n\n    var o = nuCalcObjects();\n    var a = [];\n\n    for (var i = 0; i < o.length; i++) {\n\n        var ids = String(o[i].ids);\n        var ty = o[i].type;\n        var id = String(o[i].ids).split(\'.\');\n        var sp = \'&nbsp;\';\n\n        if (id.length == 1) {\n            a.push(\'<tr><td><div title=\"\' + ty + \'\" style=\"overflow:hidden;width:305px;text-align:left;padding:2px\" onclick=\"nuObjectAddCalcObject(this);\" class=\"nuCalculatorButton nu_\' + o[i].type + \'\" data-nu-ids=\"\' + ids + \'\">\' + ids + \'</div></td></tr>\');\n        } else {\n\n            var h = \'<span title=\"subform\" class=\"nu_subform\">\' + id[0] + \'</span>.<span title=\"\' + ty + \'\" class=\"nu_input\" style=\"padding:7px 5px 7px 5px\">\' + id[1] + sp.repeat(200) + \'</span>\';\n            a.push(\'<tr><td><div style=\"overflow:hidden;width:305px;text-align:left;padding:2px;height:28px\" onclick=\"nuObjectAddCalcObject(this);\" class=\"nuCalculatorButton nu_subform\" data-nu-ids=\"\' + ids + \'\">\' + h + \'</div></td></tr>\');\n\n        }\n\n    }\n\n    $(\'#add_total\').html(\'<table>\' + a.join(\'\') + \'</table>\');\n\n}\n\n\nfunction nuObjectSetSelectIndex(i, index) {\n\n    $(\"#\" + i).prop(\"selectedIndex\", index).change();\n\n}\n\nfunction nuObjectSetLookupWidth() {\n    var w = $(\'#sob_lookup_description\').val() == $(\'#sob_lookup_code\').val() ? 0: 150;\n    var cw = $(\'#sob_lookup_description_width\').val();\n    if (cw == 0 || cw == 150 || w == 0) $(\'#sob_lookup_description_width\').val(w).change();\n}\n\nfunction nuObjectSubFormRowsCount(subform, fieldname) {\n\n    var sf = nuSubformObject(subform);\n    var col = sf.fields.indexOf(fieldname);\n    var c = 0;\n    for (var row = 0; row < sf.rows.length; row++) {\n        if (sf.deleted[row] == 0 && sf.rows[row][col].trim() != \'\') c++;\n    }\n\n    return c;\n\n}\n\nfunction nuObjecEnsureAutoNumberEndsWithNumber(str) {\n    if (str !== \'\') {\n        nuSetValue(\'sob_input_count\', /\\d$/.test(str) ? str: \'1\');\n    }\n}\n\nfunction nuBeforeSave() {\n\n    nuObjectRunMethodChanged();\n    nuObjectAdjustProperties();\n\n    nuObjecEnsureAutoNumberEndsWithNumber(sob_input_count.value);\n    \n    if (!nuObjectIdIsValid(nuGetValue(\'sob_all_id\'))) {\n        nuMessage(nuTranslate(\'Validation Error\'), nuTranslate(\'Invalid ID\'));\n        return false;\n    }\n\n    if ($(\'#sob_all_type\').val() == \'select\') {\n        $(\'#sob_select_multiple\').addClass(\'nuEdited\');\n    }\n\n    $(\"#sob_all_event\").prop(\'checked\', nuObjectSubFormRowsCount(\'zzzzsys_event_sf\', \'sev_event\') > 0).trigger(\'change\');\n\n}\n\nfunction nuObjectAdjustProperties() {\n\n    let type = nuGetValue(\'sob_all_type\');\n    let access = nuGetValue(\'sob_all_access\');\n    let validation = nuGetValue(\'sob_all_validate\');\n    let inputType = nuGetValue(\'sob_input_type\');\n    let inputFormat = nuGetValue(\'sob_input_format\');\n\n    if (type !== \'input\') {\n        if (inputType !== \'\') nuSetValue(\'sob_input_type\', \'\');\n        if (inputFormat !== \'\') nuSetValue(\'sob_input_format\', \'\');\n    }\n\n    if (type.containsAny([\'word\', \'html\', \'chart\', \'image\', \'contentbox\', \'contentbox\'])) {\n        if (validation !== \'0\') nuSetValue(\'sob_all_validate\', \'0\'); // validation --> none\n        if (access == \'1\') nuSetValue(\'sob_all_access\', \'0\'); // readonly --> editable\n    }\n\n    if (type === \'word\') {\n        if (access == \'1\') nuSetValue(\'sob_all_access\', \'0\'); // readonly --> editable\n        if (validation !== \'0\') nuSetValue(\'sob_all_validate\', \'0\'); // validation --> none\n        nuSetValue(\'sob_input_type\', \'\');\n        nuSetValue(\'sob_input_format\', \'\');\n    }\n\n    if (type === \'display\') {\n        if (access == \'1\') nuSetValue(\'sob_all_access\', \'0\'); // readonly --> editable\n    }\n\n}\n\nfunction nuObjectRunMethodChanged() {\n\n    var m = nuGetValue(\'sob_run_method\');\n    nuEnable(\'sob_run_target\', m == \'b\');\n\n    if ($(\'#sob_run_target\').prop(\"selectedIndex\") > 0 && m == \'b\') {\n        return;\n    }\n\n    if (m == \'b\' || m == \'i\') {\n        $(\'#sob_run_target\').prop(\"selectedIndex\", m == \'b\' ? 1: 0).change();\n    }\n\n}\n\nfunction nuOnClone() {\n    nuHide(\'sob_all_id_create_button\');\n}\n\nfunction nuObjectUpdateIdDatalist() {\n    var t = nuFORM.tableSchema[nuGetValue(\"sob_all_table\")];\n    nuAddDatalist(\'sob_all_id\', typeof t !== \"undefined\" ? t.names: []);\n}\n\nfunction nuObjectUpdateLookupDescriptionDatalist() {\n    let arr = nuFORM.tableSchema[nuGetValue(\"sob_lookup_table\")]?nuFORM.tableSchema[nuGetValue(\"sob_lookup_table\")].names: [];\n    nuAddDatalist(\'sob_lookup_description\', arr);\n}\n\nfunction nuObjectSetJSON() {\n\n    const data = {\n\n        \"type\": {\n\n            \"version\": \"1.0\",\n            \"mobile\": {\n                \"version\": \"1.0\",\n                \"name\": \"test1\",\n                \"visible\": true,\n                \"location\": {\n                    \"top\": sob_all_top.value,\n                    \"left\": sob_all_left.value\n                },\n                \"size\": {\n                    \"width\": sob_all_width.value,\n                    \"height\": sob_all_height.value\n                },\n                \"class\": [\"nuMobileInput\"]\n            }\n        }\n\n    }\n\n\n    var obj = JSON.stringify(data);\n    nuSetValue(\'sob_all_json\', obj);\n\n}\n\n\nfunction nuObjectExtractClassNames(htmlString) {\n  // Create a temporary DOM element\n  const tempDiv = document.createElement(\'div\');\n  tempDiv.innerHTML = htmlString;\n\n  const element = tempDiv.firstElementChild;\n  if (element && element.className) {\n    return element.className.trim();\n  }\n\n  return \'\';\n\n}\n\nfunction nuObjectPreviewIcon(i, s) {\n\n    s = nuEscapeHTML(s);\n\n    let $i = $(\'#\'+i);\n\n    $i.html(\'\');\n\n    if (s.startsWith(\'fas \') || s.startsWith(\'fa \') || s.startsWith(\'far \') || s.startsWith(\'fa-\')) {\n        $i.append(\'<i class=\"\' + s + \' fa-2x\' + \'\"></i>\');\n    } else if (s.startsWith(\'<i class=\"fa\')) {\n        let i = s.indexOf(\'>\', 10);\n        $i.append(s.nuInsertString(i-1, \' fa-2x\'));\n\n    } else {\n        $i.append(s);\n    }\n\n}\n\n\nfunction nuObjectFileUploadScript() {\n\n    nuObjectColor();\n\n    let htmlCode = $(\'#sob_html_code\');\n\n    if (nuGetValue(\'sob_input_file_target\') == \'1\' && ! htmlCode.val().includes(\'Uppy\')) {\n\n        nuRunPHPHidden(\'nu_upload_file_load_uppy_code\');\n        if (sob_all_height.value < 30) nuSetValue(\'sob_all_height\', \'250\');\n\n    }\n\n}\n\n\n// Pick Tabs\n\nfunction nuObjectOpenMenu(event, menu, element) {\n    event.stopPropagation();\n    ctxmenu.show(menu, element);\n}\n\n\nfunction nuObjectSetTabId(tabTitle) {\n\n    const tab = parent.$(\'.nuTab\').filter(function() {\n        return $(this).html() == tabTitle;\n    });\n\n    if (tab.length == 1) {\n        nuGetLookupId(tab.attr(\'data-nu-tab-id\'), \'sob_all_zzzzsys_tab_id\', true, true);\n\n    }\n\n}\n\nfunction nuObjectMenuPickTabsClick(element, event) {\n\n    if (!nuIsIframe()) {\n        return;\n    }\n\n    var items = [];\n\n    const item = {\n        text: nuTranslate(\'Tabs\')\n    };\n\n    items.push(item);\n\n    window.parentTabs.each(function() {\n        var item =\n        {\n            text: nuContextMenuItemText(this.innerHTML, \"fa-regular fa-square\"),\n            action: () => nuObjectSetTabId(this.innerHTML)\n        }\n\n        items.push(item);\n    });\n\n    nuObjectOpenMenu(event, items, element);\n\n}\n\nfunction nuObjectDisplayProcedureChanged() {\n    const hasDisplayProcedure = sob_display_procedurecode.value === \'\';\n    nuEnable(\'sob_display_sql\', hasDisplayProcedure);\n    $(\'#sob_display_sql\').toggleClass(\'nu-sql-strikethrough\', !hasDisplayProcedure);\n\n    nuShow(\'sob_display_procedure_open_button\', sob_display_procedure.value !== \'\');\n}\n\n$(\"#sob_display_procedurecode\").on(\"change\", function(event) {\n    nuObjectDisplayProcedureChanged();\n});\n\nfunction nuObjectSelectProcedureChanged() { \n    const hasProcedure = sob_select_procedurecode.value !== \'\';\n    const sqlValue = $(\'#sob_select_sql\').val();\n\n    nuEnable(\'sob_select_sql\', !hasProcedure);\n    const shouldStrikeThrough = hasProcedure && sqlValue !== \'\';\n    $(\'#sob_select_sql\').toggleClass(\'nu-sql-strikethrough\', shouldStrikeThrough);\n\n    nuShow(\'sob_select_procedure_open_button\', sob_select_procedure.value !== \'\');\n\n}\n\n$(\"#sob_select_procedurecode\").on(\"change\", function(event) {\n    nuObjectSelectProcedureChanged();\n});\n\n\n$(\'#sob_all_zzzzsys_tab_idbutton\').on(\'contextmenu\', function(e) {\n    e.preventDefault();\n    nuObjectMenuPickTabsClick(this, event);\n});\n\nfunction nuOnMobileViewComplete() { \n    \n    const elements = [\n        { input: \'#sob_input_file_target\', label: \'#label_sob_input_file_target\' },\n        { input: \'#sob_input_count\', label: \'#label_sob_input_count\' },\n        { input: \'#sob_input_javascript\', label: \'#label_sob_input_javascript\' },\n        { input: \'#sob_input_datalist\', label: \'#label_sob_input_datalist\', offsety: 80 }\n    ];\n\n    const inputAnchorTop = $(\'#sob_input_format\').nuCSSNumber(\'top\');\n    const inputAnchorTopLabel = $(\'#label_sob_input_format\').nuCSSNumber(\'top\');\n\n    elements.forEach(({ input, label, offsety = 0 }) => {\n\n        $(input).css(\'top\', inputAnchorTop + offsety);\n        $(label).css(\'top\', inputAnchorTopLabel + offsety);\n\n    });\n    \n}\n\nvar url = nuComposeURL(\n    \'https://fontawesome.com/search?ic=free\',\n    nuGetValue(\'label_sob_input_icon\'),\n    \'_blank\',\n    \'\',\n    \'View icon list on Font Awesome\'\n);\nnuSetValue(\'label_sob_input_icon\', url);\n\n\nfunction nuTabsCustomCodeSetMarker() {\n   nuTabSetMarker(\'nu5bad6cb370b409e\', \'zzzzsys_event_sf000sev_event\');\n}\n\nnuTabsCustomCodeSetMarker();\n\nfunction nuAfterSave(){\n if (nuIsPopup()) {\n	parent.nuUpdateMessage(\'refresh_required\');\n }\n}\n', '.nu-sql-strikethrough {\n    text-decoration: line-through;\n    color: #cdc7c7 !important;\n}\n', '1', NULL);
INSERT INTO `zzzzsys_form` (`zzzzsys_form_id`, `sfo_type`, `sfo_code`, `sfo_description`, `sfo_group`, `sfo_status`, `sfo_breadcrumb_title`, `sfo_table`, `sfo_primary_key`, `sfo_browse_redirect_form_id`, `sfo_browse_target`, `sfo_browse_row_height`, `sfo_browse_rows_per_page`, `sfo_browse_title_multiline`, `sfo_browse_autoresize_columns`, `sfo_browse_sql`, `sfo_javascript`, `sfo_browse_javascript`, `sfo_edit_javascript`, `sfo_style`, `sfo_mobile_view`, `sfo_json`) VALUES
('nuobjectgrid', 'browseedit', 'nuobjectgrid', 'Form Objects', 'nubuilder', '1', NULL, 'zzzzsys_form', 'zzzzsys_form_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_form\nINNER JOIN #TABLE_ID# ON zzzzsys_form_id = theid\nORDER BY sfo_code\n', 'function colorObjectTypes() {\n\n    // Color Types\n    $(\'select[id$=sob_all_type]\').find(\'option\').each(function(index,element){\n        $(element).addClass(\'nu_\' + element.value);\n    });\n    \n    $(\'select[id$=sob_all_type]\').each(function(index,element){\n        \n    	$(element).removeClass();\n    	$(element).addClass(\'nu_\' + element.value);\n    });\n\n}\n\nfunction afterinsertrowObjects() {\n   colorObjectTypes();\n}\n\nfunction nuSortSubform(s, c, e){\n}\n\nif (nuFormType() == \'edit\') {\n\n\n    const OPTION_ALL = \'(\' + nuTranslate(\'All\')  + \')\';\n    \n    var sfFilter = {};\n    sfFilter.objform = {\n    	\'sob_all_zzzzsys_tab_id\': {type: \'select\', blank: false, all: OPTION_ALL},\n    	\'sob_all_id\': {type: \'search\', placeholder: nuTranslate(\'Search\')},\n    	\'sob_all_type\': {type: \'select\', blank: false, all: OPTION_ALL},\n    	\'sob_all_label\': {type: \'search\', placeholder: nuTranslate(\'Search\')}\n    };\n    \n    nuSubformAddFilter(sfFilter);\n\n    $(\'#nuCloneButton\').remove();\n    $(\'#nuDeleteButton\').remove();\n\n    colorObjectTypes();\n\n    $(\'#title_objformbtnOpenDetails\').html(nuTranslate(\'Details\'));\n\n    if (nuIsNewRecord()) {\n        nuSetTitle(nuTranslate(\'New\'));\n    } else {\n        var frmInfo = $(\'#sfo_description\').val() + \' (\'+ $(\'#sfo_code\').val()+\')\';\n        //   if (window.nuFORM.breadcrumbs.length == 1) $(\'#nuTab0\').html(frmInfo);\n        nuSetTitle(frmInfo);\n        nuUpdateAclCount();\n    }\n}\n\nfunction nuFormColor() {\n\n    var t = String($(\'#sfo_type\').val());\n\n    var pb = \'previewbrowse\';\n    var pe = \'previewedit\';\n\n    var bb = \'bb_event\';\n    var be = \'be_event\';\n    var bs = \'bs_event\';\n    var as = \'as_event\';\n    var bd = \'bd_event\';\n    var ad = \'ad_event\';\n\n    if (t == \'browse\') {\n        nuDisable([pe, be, bs, as, bd, ad]);\n    } else\n    if (t == \'edit\') {\n        nuDisable([pb, pb]);\n    } else\n    if (t == \'launch\') {\n        nuDisable([pb, bb, bs, as, bd, ad]);\n    } else\n    if (t == \'subform\') {\n        nuDisable([pb, bb, be, bs, as, bd, ad]);\n        nuDisable(\'sfo_javascript\');\n    }\n\n    var h = $(\'#sfo_type\').addClass(\'nuEdited\');\n    var o = [];\n    o.browse = [0, 1, 2];\n    o.edit = [0, 2];\n    o.browseedit = [0, 1, 2];\n    o.launch = [0, 2];\n    o.subform = [0, 1];\n\n    $(\'#sfo_type\').removeClass();\n    $(\'#sfo_type\').addClass(\'nu_\' + $(\'#sfo_type\').val());\n\n    if (h) {\n        $(\'#sfo_type\').addClass(\'nuEdited\');\n    }\n\n    $(\"#sfo_type > option\").each(function() {\n        $(this).addClass(\'nu_\' + this.value);\n    });\n\n    for (var i = 0; i < 7; i++) {\n        $(\'#nuTab\' + i).removeClass(\'nuRelatedTab\');\n    }\n\n    t = o[$(\'#sfo_type\').val()];\n    if (t !== undefined) {\n\n        for (i = 0; i < t.length; i++) {\n            $(\'#nuTab\' + t[i]).addClass(\'nuRelatedTab\');\n        }\n\n    }\n\n}\n\nfunction nuEventList() {\n\n    if ($(\'sob_all_type\').val() == \'subform\') {\n        return [\'onchange\', \'onadd\'];\n    } else {\n        return [\'onblur\', \'onchange\', \'onfocus\', \'onkeydown\'];\n    }\n\n}\n\nfunction default_description() {\n\n    var s = \'zzzzsys_browse_sf\';\n    var r = nuSubformObject(s).rows.length - 1;\n    var o = s + nuPad3(r) + \'sbr_title\';\n    \n    nuSetPlaceholder(o, \'Something\');\n \n}\n\nfunction nuUpdateAclCount() {\n	var l = $(\"[data-nu-field=\'slf_zzzzsys_access_id\']\").length -2;\n	var t = l <= 0 ? \'\' : \' (\' + l + \')\';\n	$(\'#nuTab4\').html(nuTranslate(\'Access Level\') + t);\n}\n\n\nfunction createButton(target, pk, formType) {\n	\n	var btn = $(\"<button id=\'nuPreviewButton\' type=\'button\' data-form-type=\'\"+ formType +\"\' class=\'nuActionButton\'><i class=\'fa fa-search\'></i>&nbsp;</button>\");\n\n	$(target).html(btn).attr(\'title\',nuTranslate(\'Preview Form\'));\n	btn.on(\'click\',function(){\n	    var formType = $(this).attr(\"data-form-type\");\n	    var r = formType == \'launch\' || formType == \'edit\' || formType == \'subform\'  ? \'-1\' : \'\';\n	    nuForm(pk,r,\'\',\'\');\n	});\n}\n\nfunction addRowButtons(column) {\n  \n  $(\"[data-nu-column=\'\" + column + \"\']\").each(function(index) {\n      \n      var pk = $(this).attr(\'data-nu-primary-key\');\n      var r = $(this).attr(\'data-nu-row\');\n      var formType = $(\'#nucell_\'+ r + \'_1\').html();\n      \n      if (typeof pk !== \"undefined\") {\n          createButton(this, pk, formType);\n      }\n  })\n\n}\n\n', NULL, 'function nuOnSelectTab(tab) {\n    if (tab.id == \'nuTab1\') {\n     //   refreshIframe(tab);\n    }\n}\n\nfunction refreshIframeEvents(tab) {\n\n    const attrLoaded = \'nu-iframe-events-loaded\';\n    $tab = $(\'#\' + tab.id);\n    if (! $tab.attr(attrLoaded)) {\n        $tab.attr(attrLoaded, \'1\');\n        let fx = $(\"#iframe_objectevent\")[0].contentWindow;\n        fx.nuSetProperty(\'PARENT_FORM_ID\', nuRecordId());\n        fx.nuGetBreadcrumb();\n    }\n    \n}\n\nfunction refreshIframeItems(tab) {\n\n    const attrLoaded = \'nu-iframe-events-loaded\';\n    $tab = $(\'#\' + tab.id);\n    if (! $tab.attr(attrLoaded)) {\n        $tab.attr(attrLoaded, \'1\');\n        let fx = $(\"#iframe_items\")[0].contentWindow;\n        fx.nuSetProperty(\'PARENT_FORM_ID\', nuRecordId());\n        fx.nuGetBreadcrumb();\n    }\n    \n}', NULL, NULL, NULL),
('nupassword', 'launch', 'nupassword', 'Change Password', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', '$(\'#nuTab0\').hide();\n\n\nnuAddActionButton(\'nuRunPHPHidden\', nuTranslate(\'Save\'), \'nuRunPHPHidden(\"nu_change_password\")\');\n\n\nvar changePW = nuGetValue(\'display_change_required\');\n\nif (changePW) {\n    nuSetValue(\'display_change_required\', nuTranslate(changePW));\n} else {\n    nuHide(\'display_change_required\');\n}', NULL, NULL, NULL, '1', NULL),
('nuprocedure', 'browseedit', 'nuprocedure', 'Procedures', 'nubuilder', '1', '#sph_code#|New', 'zzzzsys_php', 'zzzzsys_php_id', '', NULL, 0, 19, '1', NULL, 'SELECT\n  *\nFROM\n  zzzzsys_php\n  LEFT JOIN zzzzsys_form ON zzzzsys_form_id = sph_zzzzsys_form_id\nWHERE\n  (\n    (\n      sph_system != \'1\'\n      OR sph_system IS NULL\n    )\n    OR (\n      \'#DEV_MODE#\' = \'1\'\n      AND LEFT(RIGHT(sph_code, 3), 1) <> \'_\'\n    )\n  )\n  AND nu_filter_match(\'sph_group\',\'nu5bad6cb376bd159\')\n  AND nu_filter_match(\'sph_category\',\'nu6878434013629b5\')\n  AND (\n    IFNULL(sph_status, \'1\') = \'#nu6862f0becfb7938_filter#\'\n    OR (\n      LEFT(\'#nu6862f0becfb7938_filter#\', 1) IN (\'#\', \'\') AND IFNULL(sph_status, \'\') <> \'3\'\n    )\n  )\nORDER BY\n  sph_code;\n', NULL, 'if (parent.nuCurrentProperties().form_id == \'nuaccess\') {\n    $(\'#nuBreadcrumb0\').html(nuTranslate(\'Procedures\'));\n}\n\nnuAddBrowseFilter(\'nu5bad6cb376bd159\').nuSearchableMultiPopup({ items: nuProcedureFilterGetGroup() });\n\nnuAddBrowseFilter(\'nu6878434013629b5\').nuSearchableMultiPopup({ items: nuProcedureFilterGetCategory() });\n\n\nvar dataStatus = [\n        [\"0\", \"Draft\"],\n        [\"1\", \"Active\"],\n        //    [\"2\",\"Disabled\"],\n        [\"3\", \"Archived\"]\n    ];\n\nnuAddBrowseFilter(\'nu6862f0becfb7938\').nuSearchablePopup({ // Status\n    items: dataStatus\n});\n\n\nnuBrowseStyleStatusColumn(4);\nnuBrowseStyleBadge(2); // Group', 'nuHide(\'sph_code_snippet_select_lookupcode\');\n\n// Code Snippets form\nnuSetSnippetFormFilter(0, 0, 0, 1); // PHP Code\n\nnuSetToolTip(\'title_accphpslp_zzzzsys_access_id\', \'Access levels that can use this procedure\');\nnuAttachButtonImage(\'icon_include_js\', \'JS\');\n\nvar recordId = nuRecordId();\nvar recordIdSuffix = recordId.slice(-2);\n\nwindow.nuImages = parent.nuImages;\n\nif (nuProcIsTemplate() && !nuDevMode()) {\n    nuDisableAllObjects();\n    nuMessage(\"Unable to save templates. Please clone them to create a new copy and save the cloned version instead.\", 2500);\n}\n\nwindow.nuHelp = \'Procedures\';\n\nif (!recordId.startsWith(\'nu\')) {\n    nuSetValue(\'sph_system\', \'0\');\n    nuSetValue(\'sph_hide\', \'\');\n}\n\nif (!nuIsNewRecord()) {\n    nuProcUpdateAclCount();\n    nuAddActionButton(\'RunHidden\');\n} else {\n    nuSetValue(\'sph_demo\', true);\n}\n\n\nif (nuGetValue(\'sph_javascript\') === \'\') {\n\nnuSetPlaceholder(\'sph_javascript\', \'// Enter * to use the example.\\n\\n\' + `function nuOnProcedureRun() {\n    // JavaScript code placed here will execute only if the procedure is run from this location.\n    \n    // Set Hash Cookie to pass to the PHP procedure\n    // nuSetProperty(\'myproperty\', \'myvalue\');\n    \n    // Override the default execution behavior (e.g., when running code asynchronously):\n    // nuRunThisProcedure();\n    // return false;\n}`);\n\n}\n\n\n$(\'#sph_php\')\n    .addClass(\'php\')\n    .on(\'dblclick\', function() {\n        nuOpenAce(\'PHP\', this.id);\n    });\n\n$(\'#sph_javascript\')\n    .addClass(\'js\')\n    .on(\'dblclick\', function() {\n        nuOpenAce(\'JS\', this.id);\n    });\n\n$(function() {\n    $(\'#sph_php\').scrollTop(window.scrollTop);\n});\n\nif (nuGetValue(\'sph_status\') === \'\') {\n    nuSetValue(\'sph_status\', \'1\', \'value\', false);\n}\n\nnuHasNotBeenEdited();\n\nfunction nuProcSetStyles() {\n    $(\'#sph_php\')\n        .css(\'padding\', \'3px 3px 3px 3px\')\n        .trigger(\"focus\");\n\n}\n\nfunction nuRunHiddenAction() {\n\n    let result = true;\n    if (nuGetValue(\'sph_javascript_active\') === true) {\n        eval(nuGetValue(\'sph_javascript\') + \' result = nuOnProcedureRun();\');\n    }\n\n    if (result !== false) {\n        nuRunThisProcedure();\n    }\n\n}\n\nfunction nuRunThisProcedure() {\n    if (sph_run.value == \'window\') {\n        nuRunPHP(sph_code.value, \'\', 0);\n    } else {\n        nuRunPHPHidden(sph_code.value);\n    }\n}\n\nfunction nuProcUpdateAclCount() {\n\n    const l = $(\"[data-nu-field=\'slp_zzzzsys_access_id\']\").length - 2;\n    const t = l <= 0 ? \'\' : \' (\' + l + \')\';\n    $(\'div[data-nu-tab-id=\' + \'nu5fdf7df2d873dd1\' + \']\').html(nuTranslate(\'Access Levels\') + t);\n\n}\n\nfunction nuProcIsTemplate() {\n    return nuGetValue(\'sph_template\');\n}\n\n\nfunction nuOnClone() {\n\n    let code = sph_code.value;\n\n    if (nuProcIsTemplate()) {\n        code = code == \'nu_send_welcome_email_template\' ? \'nu_send_welcome_email\' : code.substring(0, code.length - 9);\n        nuSetValue(\'sph_code\', code);\n        nuSetValue(\'sph_group\', \'\');\n        nuSetValue(\'sph_template\', false);\n        nuEnableAllObjects();\n    }\n\n    nuHide(\'nuRunHiddenButton\');\n\n}\n\nfunction nuOnSetSaved(v) {\n    nuEnable(\'nuRunHiddenButton\', v);\n}\n\nfunction nuBeforeSave() {\n\n    window.scrollTop = $(\'#sph_php\').scrollTop();\n    return true;\n\n}\n\nfunction nuProcedureSetMarker() {\n    const markerACL = nuGetValue(\'accphp000slp_zzzzsys_access_id\') !== \'\' || nuGetValue(\'sph_global\') === true;\n    nuTabSetMarker(\'nu5fdf7df2d873dd1\', markerACL);\n\n    const markerCode = nuGetValue(\'sph_javascript\').includes(\'nuOnProcedureRun\');\n    if (markerCode) {\n        const isActive = nuGetValue(\'sph_javascript_active\');\n        const markerClass = \'nuTabMarker\' + (isActive ? \'\' : \' nuTabGrey\');\n        nuTabSetMarker(\'nu68874e7a14a63ee\', true, markerClass);\n    } else {\n        nuTabSetMarker(\'nu68874e7a14a63ee\', false, \'nuTabMarker nuTabGrey\');\n    }\n\n}    \n\nnuProcedureSetMarker();\n\n\nfunction nuOnTabSelected(tab) {\n    nuProcedureSetMarker();\n}', '.nuTabMarker.nuTabGrey:after {\n    color: #8e8e8e !important;\n}', '1', NULL),
('nuemaillog', 'browseedit', 'nuemaillog', 'E-Mail Log', 'nubuilder', '1', '#eml_subject#|New', 'zzzzsys_email_log', 'zzzzsys_email_log_id', '', NULL, 0, 0, '1', NULL, 'SELECT * FROM zzzzsys_email_log \nLEFT JOIN zzzzsys_user ON zzzzsys_user_id = eml_user_id\nLEFT JOIN zzzzsys_form ON zzzzsys_form_id = eml_form_id\nWHERE (eml_state = \'#nu65f28ff562c4cea_filter#\' OR LEFT(\'#nu65f28ff562c4cea_filter#\',1) IN (\'#\',\'\'))\nORDER BY eml_created_at DESC', NULL, 'nuAddBrowseFilter(\'nu65f28ff562c4cea\').nuSearchablePopup({ items: nuEmailLogFilterGetGroup()});', NULL, NULL, '1', NULL),
('nurunjavascript', 'launch', 'nurunjavascript', 'Run JavaScript', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', 'nuAddActionButton(\'runOutputEval\', \'Run\', \'nuOutputEval()\');\n\nfunction scrollToBottom(id) {\n    let textarea = document.getElementById(id);\n    textarea.scrollTop = textarea.scrollHeight;\n}\n\nfunction nuOutputEval() {\n\n    try {\n        jsc_output.value += eval(jsc_Input.value) + \"\\n\";\n        scrollToBottom(\'jsc_output\');\n    } catch (e) {\n\n        jsc_output.value += e.message;\n    }\n\n}', NULL, NULL, NULL, NULL, NULL),
('nurunlist', 'browse', 'nurunlist', 'Run Form, Report or Procedure', 'nubuilder', '1', NULL, 'zzzzsys_debug', 'zzzzsys_debug_id', '', NULL, 0, 16, '0', NULL, 'SELECT * FROM #TABLE_ID#', '\n$(\"[data-nu-column=\'nucolumn000\']\").each(function() {\n\n    $(this).addClass(\'nu_\'+this.innerHTML);\n\n});', NULL, NULL, NULL, NULL, NULL),
('nurunphp', 'browse', 'nurunphp', 'Run Procedure', 'nubuilder', '1', NULL, 'zzzzsys_php', 'zzzzsys_php_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_php\nJOIN zzzzsys_form ON zzzzsys_form_id = sph_zzzzsys_form_id\nWHERE (sph_system != \'1\' OR sph_system IS NULL)\nORDER BY sph_code', '$(\'#nuAddButton\').remove();\n$(\'#nuPrintButton\').remove();\n\nfunction nuSelectBrowse(event) {\n\n    const $element = $(\'#\' + event.target.id);\n    const primaryKey = $element.attr(\'data-nu-primary-key\');\n\n    const row = $element.attr(\'data-nu-row\');\n    const phpFunction = $(\'#nucell_\' + row + \'_3\').html();\n\n    nuGetPHP(phpFunction, primaryKey);\n\n}\n', NULL, NULL, NULL, NULL, NULL),
('nurunreport', 'browse', 'nurunreport', 'Run Report', 'nubuilder', '1', NULL, 'zzzzsys_report', 'zzzzsys_report_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_report\nLEFT JOIN zzzzsys_form ON zzzzsys_form_id = sre_zzzzsys_form_id\nORDER BY sre_code', 'nuSetTitle(nuFORM.getCurrent().run_description);\n\n$(\'#nuAddButton\').remove();\n$(\'#nuPrintButton\').remove();\n\nfunction nuSelectBrowse(e) {\n\n    const cell = $(e.target).closest(\'div\');\n    const row = cell.attr(\'data-nu-row\');\n    const form = $(\'#nucell_\' + row + \'_0\').html() || \'nublank\';\n    const primaryKey = cell.attr(\'data-nu-primary-key\');\n\n    nuGetReport(form, primaryKey);\n\n}', NULL, NULL, NULL, NULL, NULL),
('nusample', 'launch', 'nusample', 'Default Fast Form Objects', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', '//$(\'#nuBreadcrumbHolder\').remove();\n$(\'#nuActionHolder\').remove();\n//$(\'#nuTabHolder\').remove();\n\n$(\'#nuOptions\').hide();\n\n$(\'#inputtextsample\').val(\'text\');\n$(\'#inputnumbersample\').val(4);\n$(\'#inputnunumbersample\').val(\'$ 1,234.56\');\n$(\'#inputnudatesample\').val(\'23-Jan-2021\');\n$(\'#inputnuscrollsample\').val(\'East\');\n$(\'#calcsample\').val(\'$ 1,238.56\');\n\n$(\'#selectsample\').val(1);\n$(\'#selectmultiselectsample\').val(0);\n$(\'#textareasample\').val(\"text-area\");\n\n$(\"[id^=\'label\']\").addClass(\'nu_input\').css({width:120, left:10, \'text-align\':\'center\'});\n\n$(\'#label_imagesample\').addClass(\'nu_image\').removeClass(\'nu_input\');\n$(\'#label_textareasample\').addClass(\'nu_textarea\').removeClass(\'nu_input\');\n$(\'#label_displaysample\').addClass(\'nu_display\').removeClass(\'nu_input\');\n$(\'#label_htmlsample\').addClass(\'nu_html\').removeClass(\'nu_input\');\n$(\'#label_calcsample\').addClass(\'nu_calc\').removeClass(\'nu_input\');\n$(\'#label_selectsample\').addClass(\'nu_select\').removeClass(\'nu_input\');\n$(\'#label_selectmultiselectsample\').addClass(\'nu_select\').removeClass(\'nu_input\');\n$(\'#label_lookupsample\').addClass(\'nu_lookup\').removeClass(\'nu_input\');\n$(\'#labelword\').addClass(\'nu_word\').removeClass(\'nu_input\');\n$(\'#label_subformsample\').addClass(\'nu_subform\').removeClass(\'nu_input\').css({left:10});\n\n$(\"[id^=\'label\']\")\n.addClass(\'nuCalculatorButton\')\n.removeClass(\'nuWord\')\n.css({\'height\':30, \'width\':220});\n\n\n\n\n', NULL, NULL, NULL, NULL, NULL),
('nusamplesubformform', 'launch', 'nusamplesubformform', 'Sample Subform Form', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', NULL, NULL, NULL, NULL, NULL, NULL),
('nuselect', 'browseedit', 'nuselect', 'SQL Builder', 'nubuilder', '1', '#sse_description#|New', 'zzzzsys_select', 'zzzzsys_select_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_select \r\nWHERE (sse_system != 1 OR sse_system IS NULL)\r\nORDER BY sse_description ASC\r\n\r\n', NULL, NULL, 'nuSetToolTip(\'sse_resize\', \'Resize\');\n$(\'#sse_sql\').css(\'z-index\', 1);\nnuLabelOnTop([\'nusvg\']);\n\n\n\nif (nuIsNewRecord()) {\n    $(\'#sse_edit\').val(0);\n}\n\n$(\"#sse_edit option[value=\'\']\").remove();\n\n$(\'#sse_sql\')\n.css(\'font-size\', \'10px\')\n.addClass(\'sql\')\n.on(\'dblclick\', function() {\n    nuOpenAce(\'SQL\', this.id);\n});\n\n$(\'#label_sse_sql\').remove();\nnuHide(\'sse_code_snippet_lookupcode\');\nnuSetSnippetFormFilter(0, 0, 1);\n\n$(\'#sse_resize\').addClass(\'nuAllowDblClick\');\n\nnuSelectSetSFCB();\n\nif (window.filter == \'justsql\') {\n\n    var sid = String(nuFORM.getCurrent().record_id);\n    var from = sid.substring(sid.length-2);\n\n    $(\'#nuDeleteButton\').remove();\n    $(\'#nuCloneButton\').remove();\n    $(\'#sse_description\').val(sid);\n\n    nuHide(\'sse_description\');\n\n    if (nuFORM.getCurrent().record_id != -1) {\n\n        $(\'#nuSaveButton\').hide();\n\n        if (from == \'BR\') {\n            nuAddActionButton(\'SaveToTextarea\', \'Copy to Form Browse SQL\', \'nuSelectCopySQL(\"sfo_browse_sql\")\');\n        }\n        if (from == \'SE\') {\n            nuAddActionButton(\'SaveToTextarea\', \'Copy to Select Object SQL\', \'nuSelectCopySQL(\"sob_select_sql\")\');\n        }\n        if (from == \'DI\') {\n            nuAddActionButton(\'SaveToTextarea\', \'Copy to Display Object SQL\', \'nuSelectCopySQL(\"sob_display_sql\")\');\n        }\n\n    }\n\n}\n\n\n$(\'#sse_sql\').css(\'overflow-x\', \'scroll\');\n\n\nnuSelectWhereClauses();\n\n\nfunction nuSelectCopySQL(target) {\n\n    const s = $(\'#sse_sql\').val();\n\n    parent.$(\'#\' + target).val(s).change();\n\n    parent.$(\'#dialogClose\').trigger(\"click\");\n\n}\n\n\nfunction nuSelectTempPHP() {\n\n    var p = [];\n\n    p.push(\'\');\n    p.push(\'$sql = \"\');\n    p.push(\'\');\n    p.push(\'CREATE TABLE #TABLE_ID#\');\n    p.push($(\'#sse_sql\').val());\n    p.push(\'\');\n    p.push(\'\";\');\n    p.push(\'\');\n    p.push(\"nuRunQuery($sql);\");\n    p.push(\'\');\n    nuMessage(p);\n\n    $(\"#nuMessageDiv\").css(\'text-align\', \'left\');\n\n}\n\nfunction nuBeforeSave() {\n\n    nuSelectBuildSQL();\n    return true;\n\n}\n\nfunction nuSelectWhereClauses() {\n\n    $(\"[id$=\'ssc_type\']select\").each(function(index) {\n\n        var p = $(this).attr(\'data-nu-prefix\');\n        var t = $(this).val();\n\n        if (t == 2 || t == 3) {\n\n            if ($(\'#\' + p + \'ssc_sort\').val() == \'\') {\n                $(\'#\' + p + \'ssc_sort\').val(\'ASC\');\n            }\n\n            $(\'#\' + p + \'ssc_clause\').hide();\n            $(\'#\' + p + \'ssc_sort\').show();\n\n        } else {\n\n            $(\'#\' + p + \'ssc_clause\').show();\n            $(\'#\' + p + \'ssc_sort\').hide();\n\n        }\n\n    });\n\n}\n\nfunction nuSelectWhereClausesold() {\n\n    $(\"[id$=\'ssc_type\']select\").each(function(index) {\n\n        var p = $(this).attr(\'data-nu-prefix\');\n        var t = $(this).val();\n\n        if (t == 2 || t == 3) {\n\n            if ($(\'#\' + p + \'ssc_sort\').val() == \'\') {\n                $(\'#\' + p + \'ssc_sort\').val(\'ASC\');\n            }\n\n            $(\'#\' + p + \'ssc_clause\').hide();\n            $(\'#\' + p + \'ssc_sort\').show();\n\n        } else {\n\n            $(\'#\' + p + \'ssc_clause\').show();\n            $(\'#\' + p + \'ssc_sort\').hide();\n\n        }\n\n    });\n\n}\n\nfunction nuSelectAddSQLTable(e) {\n\n    let s = $(\'#sqlframe\')[0].contentWindow.nuSQL;\n\n    s.addBox(e.target.value);\n    e.target.value = \'\';\n    s.buildSQL();\n\n}\n\nfunction nuSelectSFCB() {\n\n    nuSelectWhereClauses();\n    nuSelectBuildSQL();\n\n}\n\nfunction nuSelectBuildSQL() {\n    $(\'#sqlframe\')[0].contentWindow.nuSQL.buildSQL();\n}\n\nfunction nuSelectSetSFCB() {\n\n    $(\'.nuSubformCheckbox.zzzzsys_select_clause\').on(\'click\',\n        function() {\n            nuSelectSFCB();\n        });\n\n\n}\n\nfunction nuSelectResizeSQL() {\n\n    if ($(\'#sqlframe\').css(\'height\') == \'460px\') {\n        $(\'#sqlframe\').css(\'height\', 700);\n    } else {\n        $(\'#sqlframe\').css(\'height\', 460);\n    }\n\n}', NULL, '1', NULL),
('nusession', 'browse', 'nusession', 'Sessions', 'nubuilder', '1', NULL, 'zzzzsys_session', 'zzzzsys_session_id', '', NULL, 0, 0, '0', NULL, 'SELECT \n   *\nFROM (\n    SELECT \n        zzzzsys_session_id AS zzzzsys_session_id,\n        TRIM(BOTH \'\"\' FROM JSON_EXTRACT(sss_access, \'$.session.zzzzsys_user_id\')) AS login,\n        NULL AS user,\n        sss_login_time AS login_time,\n        TRIM(BOTH \'\"\' FROM JSON_EXTRACT(sss_access, \'$.session.ip_address\')) AS ip\n    FROM \n        zzzzsys_session\n    WHERE \n        TRIM(BOTH \'\"\' FROM JSON_EXTRACT(sss_access, \'$.session.global_access\')) = \'1\'\n    \n    UNION ALL\n    \n    SELECT \n        zzzzsys_session_id AS zzzzsys_session_id,\n        sus_login_name AS login,\n        sus_name AS user,\n        sss_login_time AS login_time,\n        TRIM(BOTH \'\"\' FROM JSON_EXTRACT(sss_access, \'$.session.ip_address\')) AS ip\n    FROM \n        zzzzsys_user\n        JOIN zzzzsys_session ON zzzzsys_user_id = TRIM(BOTH \'\"\' FROM JSON_EXTRACT(sss_access, \'$.session.zzzzsys_user_id\'))\n    WHERE \n        TRIM(BOTH \'\"\' FROM JSON_EXTRACT(sss_access, \'$.session.global_access\')) = \'0\'\n) AS combined_sessions WHERE (1)\nORDER BY \n    login_time DESC\n', 'nuHide(\'nuAddButton\');\n\nfunction nuSessionAddActionButton() {\n    const btn = nuAddActionButton(\'TerminateSession\', \'Terminate Sessions\', \'nuSessionAskTerminateSessions()\');\n    btn.addClass(\'nuSaveButtonEdited\');\n}\n\nfunction nuSessionRunTerminateSessions(option = \'\') {\n    nuSetProperty(\'nu_session_terminate_option\', option)\n    nuRunPHPHidden(\"nu_session_terminate\");\n}\n\nfunction nuSessionGetScreenWidth() {\n    return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;\n}\n\nfunction nuSessionGetBoxWidth() {\n    const screenWidth = nuSessionGetScreenWidth();\n    return Math.min(screenWidth * 0.9, 500) + \'px\';\n}\n\nfunction nuSessionAskTerminateSessions() {\n    $.confirm({\n        title: \'Terminate sessions\',\n        content: \"This will end all user sessions, which could result in unsaved work. Would you like to continue?\",\n\n        opacity: 0.5,\n        boxWidth: nuSessionGetBoxWidth(),\n        maxWidth: \'500px\',\n        useBootstrap: false,\n        modal: true,\n        closeIcon: false,\n        resizable: true,\n        zindex: 10000,\n        container: \'#nubody\',\n\n        buttons: {\n            terminateAll: {\n                text: \'Terminate all sessions\',\n                btnClass: \'btn-confirm-green\',\n                action: function () {\n                    nuSessionRunTerminateSessions(\"\");\n                }\n            },\n            terminateExceptMine: {\n                text: \'Terminate all sessions but mine\',\n                btnClass: \'btn-confirm-green\',\n                action: function () {\n                    nuSessionRunTerminateSessions(\"others\");\n                }\n            },\n            cancel: {\n                text: \'NO\',\n                btnClass: \'btn-red\',\n                action: function () {\n                    // Do nothing, just close the dialog\n                }\n            }\n        }\n    });\n}\n\nnuSessionAddActionButton();', 'function nuSessionDeleteRow(pk) {\n\n    if (confirm(nuTranslate(\"Terminate Session?\"))) {\n        nuSetProperty(\'nu_browse_delete_row_form_id\', nuFormId());\n        nuSetProperty(\'nu_browse_delete_row_record_id\', pk);\n\n        nuRunPHPHidden(\"nu_browse_delete_row\");\n    }\n\n}\n\nfunction nuAfterDeleteRow() {\n    nuSearchAction();\n}\n\nfunction nuSessionCreateDeleteButton(target, pk) {\n    const btn = $(\'<button type=\"button\" class=\"delete-session-button\" value=\"✖\">✖</button>\');\n    $(target).html(btn).attr(\'title\', nuTranslate(\'Terminate Session\'))\n\n    btn.css(\'margin-left\', \'10px\');\n\n    btn.on(\'click\', function() {\n        nuSessionDeleteRow(pk);\n    });\n}\n\n\n\nfunction nuSessioCreateDeleteButtons(column) {\n\n    $(\"[data-nu-column=\'\" + column + \"\']\").each(function(index) {\n        const pk = $(this).attr(\'data-nu-primary-key\');\n        if (pk) {\n            nuSessionCreateDeleteButton(this, pk);\n        }\n    })\n\n}\n\n\n$(\'[data-nu-column=\"5\"]\').each(function () {\n    const cellValue = $(this).text().trim();\n    const rowNum = $(this).attr(\"data-nu-row\");\n    if (cellValue === nuSERVERRESPONSE.session_id) {\n        const rowSelector = $(\"div[id^=\'nucell_\" + rowNum);\n        rowSelector.css(\"background-color\", \'#e9fce9\');\n    }\n});\n\nnuSessioCreateDeleteButtons(0); // 1st column', NULL, '.btn-confirm-green {\n    background-color: #83c685;\n}\n\n.delete-session-button {\n    background-color: #cc4d43;\n    color: #fff;\n    border: none;\n    font-size: 12px;\n    border-radius: 50%;\n    cursor: pointer;\n    transition: background-color 0.3s ease, box-shadow 0.3s ease, transform 0.1s ease;\n    width: 18px;\n    height: 18px;\n    margin-top: 4px;\n    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n    vertical-align: top;\n    transform: translateY(-10%);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n}\n\n.delete-session-button:hover {\n    background-color: #d32f2f;\n    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n}\n\n.delete-session-button:active {\n    transform: scale(0.95);\n    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);\n}\n\n', NULL, NULL),
('nusetup', 'edit', 'nusetup', 'Setup', 'nubuilder', '1', NULL, 'zzzzsys_setup', 'zzzzsys_setup_id', '', NULL, 0, 0, '0', NULL, '', NULL, NULL, '\n  if (window.configImport == \'1\') {\n    nuSetupConfigEffectiveMsg();\n  }\n  \n  if (set_smtp_username.value == \'1\') {\n    nuHide(\'set_nuemailtest_button\');\n  }\n  \n  $(function() {\n      $(\'#set_header\').scrollTop(window.scrollTop);\n  });\n  \n  $(\'#set_include\').addClass(\'js\');\n  $(\'#set_header\').addClass(\'js\');\n  $(\'#set_style\').addClass(\'css\');\n  \n  nuACEInitDblClickHandlers();\n  \n  $(\'#nuDeleteButton\').remove();\n  $(\'#nuCloneButton\').remove();\n  \n  \n  nuSetToolTip(\'set_denied\', nuTranslate(\'Disallow access to nuBuilder\\\'s core forms.\'), true);\n  \n  nuHide(\'set_code_snippet_lookupcode\');\n  nuAttachButtonImage(\'icon_js\', \'JS\');\n  nuAttachButtonImage(\'icon_include_js\', \'JS\');\n  nuAttachButtonImage(\'icon_css\', \'CSS\');\n  \n  nuSetProperty(\'set_header_current\', $(\'#set_header\').val());\n  nuSetProperty(\'set_style_current\', $(\'#set_style\').val());\n  nuSetProperty(\'set_include_current\', $(\'#set_include\').val());\n  nuSetProperty(\'set_language_current\', $(\'#set_language\').val());\n  \n  // Code Snippets form\n  nuSetSnippetFormFilter(0, 1, 0, 0);\n  \n  nuSetupSetConfigDatalist(\'$nuConfigGlobeadminHome\', [\'nuhome\']);\n  nuSetupSetConfigDatalist(\'nuShowJSErrors\', [\'none\',\'globeadmin\',\"everyone\"]);\n  nuSetupSetConfigDatalist(\'nuHideTabTitleIfOnlyOne\', [\'none\',\'globeadmin\',\"user\", \"everyone\"]);\n  nuSetupSetConfigDatalist(\'nuEditCloseAfterSave\', [\'None\',\'AllForms\',\"UserForms\",\"SystemForms\"]);\n  nuSetupSetConfigDatalist(\'nuCalendarWeekNumbers\', [\'None\',\'ISO 8601\',\"Western traditional\",\"Middle Eastern\"]);\n // nuSetupSetConfigDatalist(\'nuTheme\', [\'Light\',\'Dark\',\"System default\"]);\n\n  nuSelectAddEnglishOption(\'set_language\');\n\n  var devMode = nuDevMode(); \n  if (devMode) {\n        nuAddActionButton(\n          \'create_test_user\', \n          \'Create Test User\', \n          \'nuRunPHPHidden(\"nu_create_test_user\")\', \n          \'\', \n          \'fa fa-play\'\n        ).css(\'color\',\'green\');\n  } else {\n      nuHideTabById(\'nu5fe19e93306dd6e\');\n  }\n  \n  $(\'#set_files_version_user\').val(nuGetFilesVersion());\n  \n  function nuSetupIncVersion(i) {\n      \n      var dbv = $(\'#\' + i).val();\n      var dbvSplit = dbv.split(\"-\");\n      const major = dbvSplit[0];\n      const date = dbvSplit[1].slice(0, -3)\n      let build = parseInt(dbv.split(/[. ]+/).pop(), 10);\n  \n      let today = nuCurrentDate(\'yyyy.mm.dd\');\n  \n      build++;\n      if (date !== today) {\n          build = 0;\n      }\n  \n      return major + \'-\' + today + \'.\' + nuPad2(build);\n  }\n  \n  function nuSetupIncDBVersion() {\n      const dbInc = nuSetupIncVersion(\'set_db_version\');\n      $(\'#set_db_version_inc\').val(dbInc);\n  }\n  \n  function nuSetupIncFilesVersion() {\n      const filesInc = nuSetupIncVersion(\'set_files_version\');\n      $(\'#set_files_version_inc\').val(filesInc);\n  }\n  \n  \n  function nuSetupSelectToValueArray(id) {\n  \n      var a = [];\n      $(\'#\' + id + \' option:selected\').each(function(index) {\n          if ($(this).text() !== \'\') {\n              a.push($(this).val())\n          }\n      });\n  \n      return a;\n  \n  }\n  \n  \n  function nuBeforeSave() {\n  \n  \n      if ($(\'#set_language\').hasClass(\'nuEdited\')) {\n          $(\"#set_languages_included option[value=\'\" + $(\'#set_language\').val() + \"\']\").prop(\"selected\", true);\n          $(\'#set_languages_included\').trigger(\'change\');\n      }\n  \n      var v = \'\';\n      if (!$(\'#set_languages_included\').hasClass(\'nuEdited\')) v = \'-1\';\n  \n      if (v === \'\') {\n          var languagesIncluded = nuSetupSelectToValueArray(\'set_languages_included\');\n          v = languagesIncluded.length === 0 ? \'\': JSON.stringify(languagesIncluded);\n      }\n  \n      nuSetProperty(\'set_languages_included_json\', v);\n      window.scrollTop = $(\'#set_header\').scrollTop();\n  \n      nuSetupBeforeSaveConfig();\n  \n      return true;\n  \n  }\n  \n  // Config\n  \n  function nuAfterSave() {\n  \n      nuSetupConfigEffectiveMsg();\n      \n      nuAddCSSStyle(set_style.value);\n  }\n  \n  function nuSetupConfigEffectiveMsg() {\n  \n      if (window.configEffective == \'2\') {\n          nuMessage(nuTranslate(\'You will need to log in again for the changes to take effect.\'));\n      } else if (window.configEffective == \'3\' || window.configImport == \'1\') {\n          nuMessage(nuTranslate(\'You may need to restart your browser for the changes to take effect.\'));\n      }\n  \n      window.configEffective = \'1\';\n      window.configImport = \'0\';\n  \n  }\n  \n  // Settings:\n  \n  nuSetupSfAddFilters();\n  nuSetupSfChangeValueObjectTypes();\n  nuSetuSfSetDescriptionTitle();\n  nuSetupSfStoreInitialValues();\n  \n  $(\'#nuCloneButton\').remove();\n  $(\'#nuDeleteButton\').remove();\n  \n  \n  function nuOnSetSaved(v) {\n      if (v === false) {\n          nuDisable(\'button_import\');\n      }\n  }\n  \n  function nuSetupSfStoreInitialValues() {\n      $(\'[id ^=nuconfigsettings][id $=cfg_value]\').each(function() {\n          $(this).attr(\'data-org-value\', nuEncode(this.value));\n      });\n  }\n  \n  function nuSetupOnConfigValueChanged(t) {\n      let orgValue = nuDecode($(t).attr(\'data-org-value\'));\n      if (orgValue !== t.value) {\n          $(t).addClass(\'changedCgfValue\');\n      } else {\n          $(t).removeClass(\'changedCgfValue\');\n      }\n  }\n  \n  function nuSetuSfSetDescriptionTitle() {\n  \n      let fieldArr = nuSubformColumnArray(\'nuconfigsettings\', \'cfg_description\');\n  \n      for (var i = 0; i < fieldArr.length; i++) {\n  \n          var f = $(\'#nuconfigsettings\' + nuPad3(i) + \'cfg_description\');\n          if (f.val() !== \'\') {\n              f.attr(\'title\', f.val());\n          }\n  \n  \n      }\n  \n  }\n  \n  function nuSetupSfAddFilters() {\n\n      var sfFilter = {};\n      sfFilter.nuconfigsettings = {\n          \'cfg_category\': {\n              type: \'search\',\n              float: \'left\'\n          },\n          \'cfg_title\': {\n              type: \'search\'\n          }\n      };\n  \n      nuSubformAddFilter(sfFilter);\n  \n  }\n  \n  \n  function nuSetupChangeObjectTypeToSelectBoolean(i) {\n  \n      const el = $(\'#\' + i);\n  \n      el.replaceWith($(\'<select />\').attr({\n          id: el.attr(\'id\'),\n          name: el.attr(\'name\'),\n          class: el.attr(\'class\'),\n      }));\n  \n      let elSelect = $(\'#\' + i);\n  \n      elSelect.css({\n          top: el.nuCSSNumber(\'top\'),\n          left: el.nuCSSNumber(\'left\'),\n          width:  el.nuCSSNumber(\'width\'),\n          height: el.nuCSSNumber(\'height\'),\n          position: \'absolute\'\n      });\n  \n      nuSetupCopyAttributes(el[0], elSelect[0]);\n  \n      return elSelect;\n  \n  }\n  \n  function nuSetupCopyAttributes(source, target) {\n  \n      return Array.from(source.attributes).forEach(attribute => {\n          target.setAttribute(\n              attribute.nodeName === \'id\' ? \'data-id\': attribute.nodeName,\n              attribute.nodeValue\n          );\n      });\n  \n  }\n  \n  \n  function nuSetupSelectAddBooleanOptions(el, val) {\n  \n      el.append(\"<option value=\'\" + \'true\' + \"\'>\" + \'true\' + \"</option>\");\n      el.append(\"<option value=\'\" + \'false\' + \"\'>\" + \'false\' + \"</option>\");\n  \n      let index = val == \'true\' ? 0: (val == \'false\' ? 1: -1);\n  \n      el.prop(\'selectedIndex\', index);\n  \n  }\n  \n  function nuSetupSfChangeValueObjectTypes() {\n  \n      const sfName = \'nuconfigsettings\';\n      const sf = nuSubformObject(sfName);\n      const typeCol = sf.fields.indexOf(\'cfg_type\');\n  \n      for (let i = 0; i < sf.rows.length; i++) {\n  \n          const el = sfName + nuPad3(i) + \'cfg_value\';\n          const obj = $(\'#\'+ el);\n          const val = obj.val();\n          const type = sf.rows[i][typeCol];\n  \n          if (type == \'2\') {\n              let selectObj = nuSetupChangeObjectTypeToSelectBoolean(el);\n              nuSetupSelectAddBooleanOptions(selectObj, val);\n  \n          } else if (type == \'3\') {\n              document.getElementById(el).type = \'number\';\n  \n          } else if (type == \'9\') {\n              let selectObj = nuSetupChangeObjectTypeToSelectBoolean(el);\n              nuSetupAddAceOptions(selectObj, val);\n          }\n  \n      }\n  }\n  \n  function nuSetupAddAceOptions(obj, value) {\n  \n      const options = `\n          <optgroup label=\"Bright\">\n             <option value=\"chrome\">Chrome</option>\n             <option value=\"clouds\">Clouds</option>\n             <option value=\"crimson_editor\">Crimson Editor</option>\n             <option value=\"dawn\">Dawn</option>\n             <option value=\"dreamweaver\">Dreamweaver</option>\n             <option value=\"eclipse\">Eclipse</option>\n             <option value=\"github\">GitHub</option>\n             <option value=\"iplastic\">IPlastic</option>\n             <option value=\"solarized_light\">Solarized Light</option>\n             <option value=\"textmate\">TextMate</option>\n             <option value=\"tomorrow\">Tomorrow</option>\n             <option value=\"xcode\">XCode</option>\n             <option value=\"kuroir\">Kuroir</option>\n             <option value=\"katzenmilch\">KatzenMilch</option>\n             <option value=\"sqlserver\">SQL Server</option>\n          </optgroup>\n          <optgroup label=\"Dark\">\n             <option value=\"ambiance\">Ambiance</option>\n             <option value=\"chaos\">Chaos</option>\n             <option value=\"clouds_midnight\">Clouds Midnight</option>\n             <option value=\"dracula\">Dracula</option>\n             <option value=\"cobalt\">Cobalt</option>\n             <option value=\"gruvbox\">Gruvbox</option>\n             <option value=\"gob\">Green on Black</option>\n             <option value=\"idle_fingers\">idle Fingers</option>\n             <option value=\"kr_theme\">krTheme</option>\n             <option value=\"merbivore\">Merbivore</option>\n             <option value=\"merbivore_soft\">Merbivore Soft</option>\n             <option value=\"mono_industrial\">Mono Industrial</option>\n             <option value=\"monokai\">Monokai</option>\n             <option value=\"nord_dark\">Nord Dark</option>\n             <option value=\"one_dark\">One Dark</option>\n             <option value=\"pastel_on_dark\">Pastel on dark</option>\n             <option value=\"solarized_dark\">Solarized Dark</option>\n             <option value=\"terminal\">Terminal</option>\n             <option value=\"tomorrow_night\">Tomorrow Night</option>\n             <option value=\"tomorrow_night_blue\">Tomorrow Night Blue</option>\n             <option value=\"tomorrow_night_bright\">Tomorrow Night Bright</option>\n             <option value=\"tomorrow_night_eighties\">Tomorrow Night 80s</option>\n             <option value=\"twilight\">Twilight</option>\n             <option value=\"vibrant_ink\">Vibrant Ink</option>\n             <option value=\"github_dark\">GitHub Dark</option>\n          </optgroup>        \n      `;\n  \n      obj.html(options).val(value);\n  \n  }\n  \n  function nuSetupBeforeSaveConfig() {\n  \n      window.configEffective = \'1\';\n  \n      $(\'.nuEdited\').each(function() {\n          const rowId = this.id.replace(\'nuconfigsettings\', \'\').slice(0, 3);\n          const effective = $(\'#nuconfigsettings\' + rowId + \'cfg_effective\').val();\n  \n          if (effective == \'2\' || effective == \'3\') { // log in again or restart browser\n              window.configEffective = effective;\n              return false;\n          }\n  \n      })\n  \n  }\n  \n  \n  function nuSetupSetConfigDatalist(cfgItem, arrDatalist) {\n  \n       const input = $(\'input\').filter((i,v) => v.value == cfgItem);\n      if (input.length == 1) {\n          const valueId = input.attr(\'id\').replace(\'cfg_setting\',\'cfg_value\');\n          nuAddDatalist(valueId, arrDatalist);\n      }\n  \n  }\n  \n  ', '.changedCgfValue {\n  background-color: #dfe9ff;\n}\n\n.nuTabHolder {\n	background-color: white;\n	border-style: solid;\n	border-width: 0 0 1px;\n	border-color: lightgrey;\n	padding: 10px 0 0;\n	overflow: visible\n}', '1', NULL),
('nutab', 'browse', 'nutab', 'Form Tab', 'nubuilder', '1', NULL, 'zzzzsys_tab', 'zzzzsys_tab_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_tab\nJOIN zzzzsys_form ON zzzzsys_form_id = syt_zzzzsys_form_id\nORDER BY syt_order', '\n$(\"[data-nu-column=\'3\']\").each(function() {\n    $(this).addClass(\'nu_\'+this.textContent);\n});\n\n', NULL, NULL, NULL, NULL, NULL),
('nutablookup', 'browse', 'nutablookup', 'Form Tab Lookup', 'nubuilder', '1', NULL, 'zzzzsys_tab', 'zzzzsys_tab_id', '', NULL, 0, 16, '0', NULL, 'SELECT * FROM zzzzsys_tab\nJOIN zzzzsys_form ON zzzzsys_form_id = syt_zzzzsys_form_id\nJOIN #TABLE_ID# ON zzzzsys_form_id = theid\nORDER BY sfo_description, syt_order\n\n ', 'function getParentFormCode() {\n    \n    return parent.parent.nuCurrentProperties().form_code;\n    \n}\n\nif(nuFormType() == \'browse\'){\n    \n    if ( getParentFormCode() !== \'nuobject\' && window.filtered !== 1) {\n       nuAddActionButton(\'nuFilterCurrentForm\', \'Current Form only\', \'nuSearchAction(\"\", \"\'+getParentFormCode()+\'\");window.filtered = 1;\');            \n    }\n\n    //-- run as the Form is loaded      \n\n    $(\"[data-nu-column=\'3\']\").each(function() {\n        $(this).addClass(\'nu_\'+this.textContent);\n    });\n    \n    $(\'#nuAddButton\').remove();\n    $(\'#nuPrintButton\').remove();\n\n\n}\n    \n\n', NULL, NULL, NULL, NULL, NULL),
('nutimezone', 'browse', 'nutimezone', 'Time Zone', 'nubuilder', '1', NULL, 'zzzzsys_timezone', 'zzzzsys_timezone_id', '', NULL, 0, 16, '0', NULL, 'SELECT * \nFROM zzzzsys_timezone\nORDER BY stz_timezone', NULL, NULL, NULL, NULL, NULL, NULL),
('nutranslate', 'browseedit', 'nutranslate', 'Translation', 'nubuilder', '1', '#trl_english#|New', 'zzzzsys_translate', 'zzzzsys_translate_id', '', NULL, 0, 0, '1', NULL, 'SELECT\n  *\nFROM\n  zzzzsys_translate\nWHERE\n  (\n    (\n      trl_language = \'#nu5bad6cb3772dd22_filter#\'\n      OR left(\'#nu5bad6cb3772dd22_filter#\', 1) IN (\'#\', \'\')\n    )\n    AND (\n      if(zzzzsys_translate_id like \'nu%\', \'\', \'✔\') = \'#nu5fd8d2459834722_filter#\'\n      OR left(\'#nu5fd8d2459834722_filter#\', 1) IN (\'#\', \'\')\n    )\n  )\nORDER BY\n  trl_language,\n  trl_english', NULL, 'nuAddBrowseFilter(\'nu5bad6cb3772dd22\').nuSearchablePopup({ items: nuTranslationFilterGetLanguage() });\nnuAddBrowseFilter(\'nu5fd8d2459834722\').nuSearchablePopup({ items:[\"✔\"] });\n', '    if (nuCurrentProperties().record_id.startsWith(\'nu\')) {\n        $(\'#nuSaveButton\').remove();\n        $(\'#nuDeleteButton\').remove();\n    }', NULL, '1', NULL),
('nuupdate', 'launch', 'nuupdate', 'Update', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', 'nuHideHolders(0,2);\nnuHideTabs(0);\n\n$(document).ready(function(){\n\n    if (nuIsMobile()) {\n        $(\'#updateiframe\').css(\'width\', window.visualViewport.width + \'px\');\n    }\n});', NULL, NULL, NULL, '1', NULL),
('nuuser', 'browseedit', 'nuuser', 'Users', 'nubuilder', '1', '#sus_name#|New', 'zzzzsys_user', 'zzzzsys_user_id', '', NULL, 0, 0, '1', NULL, 'SELECT *\nFROM zzzzsys_user\nINNER JOIN zzzzsys_access ON zzzzsys_access_id = sus_zzzzsys_access_id\nWHERE\n(\n    (\n        ((\'#nu5fe0352637b2e4f_filter#\' LIKE \'#%\' OR (\'#nu5fe0352637b2e4f_filter#\' = \'\')) \n         AND (sus_expires_on > NOW() OR sus_expires_on IS NULL)) \n        OR (\'#nu5fe0352637b2e4f_filter#\' = \'Expired\' AND sus_expires_on < NOW())\n    )\n\n    AND nu_filter_match(\'sus_team\',\'nu5fd5b7fc8fad224\')\n    AND nu_filter_match(\'sus_position\',\'nu5fd5b7fc8de0c57\')\n    AND nu_filter_match(\'sus_department\',\'nu5fe035b0d058339\')\n    AND nu_filter_match(\'sus_language\',\'nu5bad6cb3746cc1b\')\n\n    AND\n    (CONCAT(sal_code,\' : \',sal_description) = \'#nu5bad6cb376141d0_filter#\' \n     OR LEFT(\'#nu5bad6cb376141d0_filter#\',1) IN (\'#\',\'\'))\n)\nORDER BY sus_name;\n', NULL, 'nuAddBrowseFilter(\'nu5fe0352637b2e4f\').nuSearchablePopup({ items: [\"Expired\"] }); // Status\nnuAddBrowseFilter(\'nu5bad6cb376141d0\').nuSearchablePopup({ items: nuUserFilterGetAccessLevel() }); // Access Level\nnuAddBrowseFilter(\'nu5bad6cb3746cc1b\').nuSearchablePopup({ items: nuUserFilterGetLanguage() }); // Language\nnuAddBrowseFilter(\'nu5fd5b7fc8de0c57\').nuSearchablePopup({ items: nuUserFilterGetPosition() }); // Position\nnuAddBrowseFilter(\'nu5fe035b0d058339\').nuSearchablePopup({ items: nuUserFilterGetDepartment() }); // Department\nnuAddBrowseFilter(\'nu5fd5b7fc8fad224\').nuSearchablePopup({ items: nuUserFilterGetTeam() }); // Team', 'jQuery.fn.extend({\n    nuWrapInForm: function(options = {}) {\n        const settings = Object.assign({\n            id: \'\',\n            action: \'\',\n            method: \'post\',\n            classes: \'\'\n        }, options);\n\n        const formAttrs = [\n            \'<form\',\n            settings.id ? ` id=\"${settings.id}\"` : \'\',\n            settings.action ? ` action=\"${settings.action}\"` : \'\',\n            settings.method ? ` method=\"${settings.method}\"` : \'\',\n            settings.classes ? ` class=\"${settings.classes}\"` : \'\',\n            \'></form>\'\n        ].join(\'\');\n\n        return this.wrapAll(formAttrs); // only called once for the full set\n    }\n});\n\n/*\n$(\'#new_password, #check_password\').nuWrapInForm({\n    id: \'passwordForm\',\n    action: \'\',\n    method: \'post\',\n    classes: \'my-form-class\'\n});\n*/\n\nnuSetPlaceholder(\'sus_code\', nuTranslate(\'(Optional)\'));\nnuSetToolTip(\'sus_code\', nuTranslate(\'E.g. Employee Id, Foreign Id etc. Leaving blank will set the \"Login Name\"\'));\nnuSetToolTip(\'sus_language\', nuTranslate(\'Leaving blank will use English\'));\n\nif (nuIsNewRecord()) {\n    nuHide(\'sus_zzzzsys_access_id_open_button\');\n    var password = [REDACTED] 12);\n    nuSetValue(\'new_password\', password);\n    nuSetValue(\'check_password\', password);\n    nuHasNotBeenEdited();\n}\n\n$(\'#sus_zzzzsys_access_id_open_button\').toggleClass(\'input_button nuButton nuLookupButton\')\nnuSelectAddEnglishOption(\'sus_language\');\n\nnuHasNotBeenEdited();\n\nfunction nuBeforeSave() {\n\n    let code = $(\'#sus_code\');\n    if (code.val() === \'\') {\n        code.nuSetValue(nuGetValue(\'sus_login_name\'));\n    }\n\n    return true;\n\n}\n\nfunction nuUserSplitFullName(fullName) {\n\n    const name = fullName.split(\' \');\n    const person = {};\n\n    if (name.length > 1) {\n        person.lastName = name.pop();\n        person.firstName = name.join(\' \');\n    } else {\n        person.lastName = \"\";\n        person.firstName = fullName;\n    }\n\n    return person;\n\n}\n\nfunction nuUserSetNameParts(element) {\n\n    if (nuGetValue(\'sus_name\') === \'\') {\n        const firstName = nuGetValue(\'sus_first_name\');\n        const lastName = nuGetValue(\'sus_last_name\');\n        if (firstName !== \'\' && lastName !== \'\') {\n            nuSetValue(\'sus_name\', nuGetValue(\'sus_first_name\') + \' \' + nuGetValue(\'sus_last_name\'));\n        }\n        return;\n    }\n\n    const hasStar = element.value === \'*\';\n\n    if (element.id === \'sus_first_name\' && !hasStar) return;\n    if (element.id === \'sus_last_name\' && !hasStar) return;\n\n    if (!nuIsNewRecord() && !hasStar) return;\n\n    const nameParts = nuUserSplitFullName(nuGetValue(\'sus_name\'));\n    nuSetValue(\'sus_first_name\', nameParts.firstName, \'value\', false);\n    $(\'#sus_first_name\').addClass(\'nuEdited\');\n    nuSetValue(\'sus_last_name\', nameParts.lastName, \'value\', false);\n    $(\'#sus_last_name\').addClass(\'nuEdited\');\n\n}\n\nfunction nuTabPermissionsSetMarker() {\n    nuTabSetMarker(\'nu65d7dbb966b5d37\', \'sf_permission000upe_identcode\');\n}\n\nnuTabPermissionsSetMarker();', '[data-lastpass-icon-root], [data-lastpass-root] {\n    display: none !important;\n}\n\n', '1', NULL);
INSERT INTO `zzzzsys_form` (`zzzzsys_form_id`, `sfo_type`, `sfo_code`, `sfo_description`, `sfo_group`, `sfo_status`, `sfo_breadcrumb_title`, `sfo_table`, `sfo_primary_key`, `sfo_browse_redirect_form_id`, `sfo_browse_target`, `sfo_browse_row_height`, `sfo_browse_rows_per_page`, `sfo_browse_title_multiline`, `sfo_browse_autoresize_columns`, `sfo_browse_sql`, `sfo_javascript`, `sfo_browse_javascript`, `sfo_edit_javascript`, `sfo_style`, `sfo_mobile_view`, `sfo_json`) VALUES
('nuappcloner', 'browseedit', 'nuappcloner', 'Application Cloner', 'nubuilder', '1', '#cla_code#|New', 'zzzzsys_app_cloner', 'zzzzsys_app_cloner_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_app_cloner', NULL, NULL, 'var pwOrgValue = nuGetValue(\'cla_target_password\');\n\nfunction nuAppClonerNoAutoFill(targetInputId) {\n\n    let tries = 0;\n    const maxTries = 40;\n\n    const clearAutofill = setInterval(() => {\n        document.querySelectorAll(\'input\').forEach(input => {\n            if (input.matches(\':-webkit-autofill\')) {\n                if (nuIsNewRecord()) {\n                    input.value = \'\';\n                } else {\n                    if (pwOrgValue !== input.value) {\n                        input.value = pwOrgValue;\n                    }\n                }\n                nuHasNotBeenEdited();\n            }\n        });\n\n        const target = document.getElementById(targetInputId);\n        if (target) target.focus();\n\n        if (++tries >= maxTries) {\n            clearInterval(clearAutofill);\n        }\n    }, 10);\n\n}\n\nfunction nuLoadCloneForm() {\n    // Get current database configuration\n    nuSetProperty(\'clone_source_db\', nuSERVERRESPONSE.database);\n\n    //    nuAppClonerNoAutoFill(\'cla_code\');\n\n    if (nuIsNewRecord()) {\n\n        // Set default values\n        nuSetValue(\'cla_target_host\', nuSERVERRESPONSE.host);\n        nuSetValue(\'cla_target_charset\', \'utf8mb4\');\n        nuSetValue(\'cla_target_port\', \'3306\');\n        nuSetValue(\'cla_insert_type\', \'INSERT\');\n        nuSetValue(\'cla_database_collation\', \'utf8mb4_unicode_ci\');\n        //   nuSetValue(\'cla_excluded_files\', \'nuconfig.php\');\n        // nuSelectSelectAll(\'cla_opt_2_include\'); // include all user tables/views\n\n\n        // Check all clone options by default\n        for (let i = 1; i <= 9; i++) {\n            nuSetValue(\'cla_opt_\' + i, \'checked\', true);\n        }\n\n        // Check default config options\n        nuSetValue(\'cla_show_progress\', \'checked\', true);\n        nuSetValue(\'cla_target_db_mode\', \'fail\', true);\n        nuSetValue(\'cla_copy_files_mode\', \'fail\', true);\n        nuSetValue(\'cla_copy_files\', \'checked\', true);\n\n        // Set source and target paths\n        nuSetValue(\'cla_source_path\', \'..\');\n\n        const db = nuSERVERRESPONSE.database;\n        nuSetValue(\'cla_target_path\', \'../../\' + nuCurrentDate() + \'_clone_\' + db);\n        nuSetValue(\'cla_target_db\', nuCurrentDate() + \'_clone_\' + db);\n\n\n        nuHasBeenEdited();\n    } else {\n        nuAppClonerHostChanged();\n    }\n\n\n    // Helper tooltips\n    nuSetToolTip(\'cla_dry_run_label\', \'Test the clone without making any changes\', true);\n    //   nuSetToolTip(\'cla_create_database_label\', \'Create target database if it doesn\\\'t exist (requires CREATE privilege)\', true);\n    nuSetToolTip(\'cla_transaction_mode_label\', \'Use transactions (may not work with DDL statements)\', true);\n    nuSetToolTip(\'cla_show_progress_label\', \'Show progress messages during cloning\', true);\n    nuSetToolTip(\'cla_opt_1\', \'CREATE statements for all nuBuilder system tables. E.g. zzzzsys_user, zzzzsys_access,..\', true);\n    nuSetToolTip(\'cla_opt_2\', \'CREATE statements for all non-nuBuilder tables and views. Does not start with prefix zzzzsys_*\', true);\n    nuSetToolTip(\'cla_opt_3\', \'INSERT statements for all nuBuilder system records (nu*). Primary key starts with nu*.\', true);\n    nuSetToolTip(\'cla_opt_4\', \'INSERT statements for all records in the zzzzsys tables which define the user\\\'s own application. Primary key does not start with nu*.\', true);\n    nuSetToolTip(\'cla_opt_5\', \'INSERT statements for all non-nuBuilder tables\', true);\n\n}\n\nnuLoadCloneForm();\n\n// Add action button to run the clone\nnuAddActionButton(\'RunHidden\', \'Run\', \'nuRunCloneApplication()\');\nnuAddActionButton(\'RunHiddenDry\', \'Dry Run\', \'nuRunCloneApplication(true)\');\nnuAttachFontAwesome(\'nuRunHiddenDryButton\', \'fa-width-auto fa-regular fa-lg fa-circle-play\')\n\n\n\n\n// Function to run the clone application\nfunction nuRunCloneApplication(dryRun = false) {\n\n    if (!nuIsSaved()) {\n        alert(nuTranslate(\'Form must be saved first..\'));\n        return;\n    }\n\n\n    // Validate required fields\n    const required = [\'clone_target_host\', \'clone_target_db\', \'clone_target_username\', \'clone_target_charset\'];\n    for (let field of required) {\n        if ($(\'#\' + field).val() === \'\' || $(\'#\' + field).val() === \'enter_your_value\') {\n            nuMessage([\'Please fill in all required target database fields\']);\n            $(\'#\' + field).focus();\n            return;\n        }\n    }\n\n    const progressId = nuID();\n\n    // Collect all parameters\n    const params = {\n        targetHost: nuGetValue(\'cla_target_host\'),\n        targetDB: nuGetValue(\'cla_target_db\'),\n        targetUsername: nuGetValue(\'cla_target_username\'),\n        targetPassword: [REDACTED]        targetCharset: nuGetValue(\'cla_target_charset\'),\n        targetPort: nuGetValue(\'cla_target_port\'),\n        sourcePath: nuGetValue(\'cla_source_path\'),\n        targetPath: nuGetValue(\'cla_target_path\'),\n        insertType: nuGetValue(\'cla_insert_type\'),\n        // Clone options\n        opts: [],\n\n        // Configuration\n        config: {\n            progressId: progressId,\n            copyFiles: nuGetValue(\'cla_copy_files\'),\n            showProgress: nuGetValue(\'cla_show_progress\'),\n            dryRun: dryRun, // nuGetValue(\'cla_dry_run\') ,\n            databaseMode: nuGetValue(\'cla_target_db_mode\'),\n            fileMode: nuGetValue(\'cla_copy_files_mode\'),\n            transactionMode: nuGetValue(\'cla_transaction_mode\'),\n            logFile: nuGetValue(\'cla_log_file\') || null,\n            databaseCollation: nuGetValue(\'cla_database_collation\'),\n            excludedFiles: $(\'#cla_excluded_files\').val().split(\',\').map(f => f.trim()).filter(f => f),\n            excludedDirs: $(\'#cla_excluded_dirs\').val().split(\',\').map(d => d.trim()).filter(d => d),\n            includeTablesAndViews: nuSelectToArray(\'cla_opt_2_include\'),\n            excludeTablesAndViews: nuSelectToArray(\'cla_opt_2_exclude\')\n            //  excludedFiles: nuGetValue(\'cla_excluded_files\').split(\',\').map(f => f.trim()).filter(f => f),\n            //   excludedDirs: nuGetValue(\'cla_excluded_dirs\').split(\',\').map(d => d.trim()).filter(d => d)\n        }\n    };\n\n    // Collect checked options\n    for (let i = 1; i <= 9; i++) {\n        if ($(\'#cla_opt_\' + i).is(\':checked\')) {\n            params.opts.push(i);\n        }\n    }\n\n    if (params.opts.length === 0) {\n        nuMessage([\'Please select at least one clone option\']);\n        return;\n    }\n\n\n    if (!dryRun) {\n        // Confirm action\n        const message = params.config.dryRun ?\n            \'Run clone in DRY RUN mode? (No changes will be made)\' :\n            \'Clone the application to \' + params.targetDB + \'?\\n\\nThis will copy all selected data and files.\';\n\n        if (!confirm(message)) {\n            return;\n        }\n    }\n\n    nuRunPHPHiddenWithParams(\'nu_app_cloner\', \'nu_app_cloner_params\', params);\n\n    const msgBody = nuAppClonerCreateProgressMessage();\n    nuAppClonerGetProgress(msgBody, nuFormId(), progressId);\n\n}\n\nfunction nuAppClonerGetProgress1(msgBody, progressId) {\n\n    function fetchProgress() {\n        fetch(\'core/nuapi.php?progressId=\' + encodeURIComponent(progressId))\n            .then(r => r.text())\n            .then(text => {\n                nuAppClonerOutputProgress(msgBody, text);\n            });\n    }\n\n    // Start polling every 3 seconds\n    const intervalId = setInterval(fetchProgress, 3000);\n\n    // Stop polling after 30 seconds // change in LIVE!\n    setTimeout(() => {\n        clearInterval(intervalId);\n    }, 30000);\n\n}\n\nfunction nuAppClonerGetProgress(msgBody, formId, progressId) {\n\n    function fetchProgress() {\n        if (window.stopPolling === true || formId !== formId || nuFormType() !== \'edit\') {\n            clearInterval(intervalId);\n            return;\n        }\n\n        fetch(\'core/nuapi.php?progressId=\' + encodeURIComponent(progressId))\n            .then(r => r.text())\n            .then(text => {\n                nuAppClonerOutputProgress(msgBody, text);\n            });\n    }\n\n    const intervalId = setInterval(fetchProgress, 2000);\n\n    setTimeout(() => {\n        clearInterval(intervalId);\n    }, 1200000); // 20 minutes\n}\n\n\nfunction nuAppClonerCreateProgressMessage() {\n    const msgDiv = nuMessage(\'Application Cloner\', \'<b>0</b> Starting Cloning Process\');\n    const msgElement = msgDiv[0];\n\n    msgElement.style.maxHeight = \'600px\';\n    msgElement.style.width = \'400px\';\n    msgElement.style.overflow = \'hidden\';\n\n    const msgBody = msgElement.querySelector(\'.nuMessageBody\');\n\n    if (msgBody) {\n        Object.assign(msgBody.style, {\n            maxHeight: \'600px\',\n            overflowY: \'auto\',\n            display: \'block\',\n            textAlign: \'left\',\n            paddingLeft: \'30px\'\n        });\n    }\n\n\n    msgDiv.addClass(\'nuAppClonerProgress\');\n\n    return msgBody;\n}\n\nfunction nuAppClonerOutputReverseLines(input) {\n    return input\n        .split(\'\\n\') // Split by line breaks\n        .filter(line => line) // Remove empty lines (optional)\n        .reverse() // Reverse the array of lines\n        .join(\'\\n\'); // Join back with line breaks\n}\n\n\nfunction nuAppClonerOutputProgress(msgBody, text) {\n    const childDiv = msgBody.querySelector(\'div\');\n    if (childDiv) {\n        childDiv.innerHTML = nuAppClonerOutputReverseLines(text).replace(/\\n/g, \'<br>\');\n        childDiv.scrollTop = childDiv.scrollHeight; // Scroll to bottom\n    }\n}\n\n\nfunction nuAppClonerHostChanged() {\n    $(\'[data-nu-copy-files]\').nuEnable(nuSERVERRESPONSE.host === cla_target_host.value);\n}\n', '', '0', NULL),
('nuuserhome', 'launch', 'nuuserhome', 'User Home', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', 'nuUserHomeCheckNoObjectsOnForm();\n\nfunction openNuObject() {\n\n    $(\'#nuMessageDiv\').remove();\n    nuPopup(\'nuobject\', \'-1\', window.nuFORM.getCurrent().form_id);\n\n}\n\nfunction nuUserHomeCheckNoObjectsOnForm() {\n    if (nuSERVERRESPONSE.objects.length === 0 && window.global_access) {\n        const message = `${nuTranslate(\'There are currently no objects on this form.\')}&nbsp;&nbsp;\n            <a href=\"javascript:openNuObject();\">${nuTranslate(\'Start adding some\')}</a>.`;\n        \n        $.nuInfoBar.info(message, {autoClose : false, closeOnClick : true});\n    }\n}', NULL, NULL, NULL, NULL, NULL),
('nuhome', 'launch', 'nuhome', 'Home', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', '//$(\'#user_home\').addClass(\'nuUserHomeButton\');\n$(\'.nuActionButton\').hide();\n\nnuGetStartingTab();\n\nfunction nuHomeOpenForm(formId, recordId, event) {\n    const target = event.ctrlKey ? \'2\' : \'0\';\n    nuForm(formId, recordId, \'\', \'\', target);\n}\n\n\nfunction nuHomeOpenCreateMenuConfig(menuType, event) {\n    const baseMenus = {\n        Procedure: [{\n                text: nuContextMenuItemText(\"Run\", \"fa-solid fa-play\"),\n                action: () => nuHomeOpenForm(\'nurunphp\', \'\', event)\n		},\n            {\n                text: nuContextMenuItemText(\"Add\", \"fa-solid fa-plus\"),\n                action: () => nuHomeOpenForm(\'nuprocedure\', \'-1\', event)\n		}\n		],\n        Notes: [{\n                text: nuContextMenuItemText(\"Add\", \"fa-solid fa-plus\"),\n                action: () => nuHomeOpenForm(\'nunotes\', \'-1\', event)\n		},\n            {\n                text: nuContextMenuItemText(\"Categories\", \"fa-solid fa-list\"),\n                action: () => nuHomeOpenForm(\'nunotescategroy\', \'\', event)\n		}\n		],\n        User: [{\n                text: nuContextMenuItemText(\"Add\", \"fa-solid fa-plus\"),\n                action: () => nuHomeOpenForm(\'nuuser\', \'-1\', event)\n		},\n            {\n                text: nuContextMenuItemText(\"Permission Items\", \"fa-solid fa-list\"),\n                action: () => nuHomeOpenForm(\'nupermissionitem\', \'\', event)\n		}\n		],\n        Email: [{\n                text: nuContextMenuItemText(\"Add Template\", \"fa-solid fa-plus\"),\n                action: () => nuHomeOpenForm(\'nuemailtemplate\', \'-1\', event)\n		},\n            {\n                text: nuContextMenuItemText(\"Email Templates\", \"fa-solid fa-list\"),\n                action: () => nuHomeOpenForm(\'nuemailtemplate\', \'\', event)\n		}\n		],\n        Report: [{\n                text: nuContextMenuItemText(\"Run\", \"fa-solid fa-play\"),\n                action: () => nuHomeOpenForm(\'nurunreport\', \'\', event)\n		},\n            {\n                text: nuContextMenuItemText(\"Add\", \"fa-solid fa-plus\"),\n                action: () => nuHomeOpenForm(\'nubuildreport\', \'-1\', event)\n		},\n            {\n                text: nuContextMenuItemText(\"Fast Report\", \"fa-solid fa-bolt\"),\n                action: () => nuHomeOpenForm(\'nufrlaunch\', \'\', event)\n		}\n		],\n        Form: [{\n                text: nuContextMenuItemText(\"Add\", \"fa-solid fa-plus\"),\n                action: () => nuHomeOpenForm(\'nuform\', \'-1\', event)\n		},\n            {\n                text: nuContextMenuItemText(\"Fast Form\", \"fa-solid fa-bolt\"),\n                action: () => nuHomeOpenForm(\'nufflaunch\', \'\', event)\n		}\n		],\n        Database: [{\n                text: nuContextMenuItemText(\"Sessions\", \"fa-solid fa-key\"),\n                action: () => nuHomeOpenForm(\'nusession\', \'\', event)\n		},\n            {\n                text: nuContextMenuItemText(\"Backup\", \"fa-regular fa-hard-drive\"),\n                action: () => nuRunBackup()\n		},\n            {\n                text: nuContextMenuItemText(nuTranslate(\"Cloner\") + \' (\' + nuTranslate(\"Forms\") + \')\', \"fa-regular fa-clone\"),\n                action: () => nuHomeOpenForm(\'nucloner\', \'\', event)\n		},\n            {\n                text: nuContextMenuItemText(nuTranslate(\"Cloner\") + \' (\' + nuTranslate(\"Application\") + \')\', \"fa-regular fa-clone\"),\n                action: () => nuHomeOpenForm(\'nuappcloner\', \'\', event)\n		},\n            {\n                text: nuContextMenuItemText(\"Update\", \"fa-solid fa-cloud-arrow-down\"),\n                action: () => nuHomeOpenForm(\'nuupdate\', \'\', event)\n		},\n            {\n                text: nuContextMenuItemText(\"CSV Transfer\", \"fa-solid fa-file-csv\"),\n                action: () => nuHomeOpenForm(\'nucsvtransfer\', \'-1\', event)\n		}\n		],\n        Setup: [{\n                text: nuContextMenuItemText(\"Format\", \"fa-solid fa-calendar\"),\n                action: () => nuHomeOpenForm(\'nuFormat\', \'\', event)\n		},\n            {\n                text: nuContextMenuItemText(\"Items\", \"fa-solid fa-list\"),\n                action: () => nuHomeOpenForm(\'nuitem\', \'\', event)\n		},\n            {\n                text: nuContextMenuItemText(\"Translation\", \"fa-solid fa-globe\"),\n                action: () => nuHomeOpenForm(\'nutranslate\', \'\', event)\n		}\n		]\n    };\n\n\n    if (menuType === \'Database\' && nuSERVERRESPONSE.is_demo) {\n        baseMenus.Database = baseMenus.Database.filter(item => item.text !== \"Sessions\");\n    }\n\n    if (menuType === \'Database\' && !nuDevMode()) {\n        baseMenus.Database = baseMenus.Database.filter(item =>\n            !item.text.includes(\"Application\")\n        );\n    }\n\n    const menu = [{\n        text: nuTranslate(menuType)\n	}, ...baseMenus[menuType]];\n    return menu;\n\n}\n\nfunction nuHomeMenuClick(element, event, menuType) {\n    const menu = nuHomeOpenCreateMenuConfig(menuType, event);\n    nuOpenContextMenu(event, menu, element);\n}', NULL, '', '', '1', NULL),
('nuemailtemplate', 'browseedit', 'nuemailtemplate', 'Email Templates', 'nubuilder', '1', '#emt_code#|New', 'zzzzsys_email_template', 'zzzzsys_email_template_id', '', NULL, 0, 0, '0', NULL, 'SELECT\n  zzzzsys_email_template.*,\n  sfo_description\nFROM\n  zzzzsys_email_template\n  LEFT JOIN zzzzsys_form ON zzzzsys_form_id = emt_form_id\nWHERE\n  (\n    (\n      ifnull(emt_group, \'\') = \'#nu635294e972c3b80_filter#\'\n      OR left(\'#nu635294e972c3b80_filter#\', 1) IN (\'#\', \'\')\n    )\n    AND (\n      ifnull(emt_category, \'\') = \'#nu68784fb4ac37836_filter#\'\n      OR left(\'#nu68784fb4ac37836_filter#\', 1) IN (\'#\', \'\')\n    )\n  )', NULL, 'nuBrowseStyleBadge(1); // Group\n\nnuAddBrowseFilter(\'nu635294e972c3b80\').nuSearchablePopup({ items: nuEmailTemplateFilterGetGroup() });\n\nnuAddBrowseFilter(\'nu68784fb4ac37836\').nuSearchablePopup({ items: nuEmailTemplateFilterGetCategory() });\n', 'nuLabelOnTop([\'emt_form_id\']);\nactiveObj = $(\'#emt_body\');\n\n$(\'#emt_avail_fields\').nuLabelOnTop();\nnuSelectRemoveMultiple(\'emt_avail_fields\');\n\nif (nuEmailTemplateIsTemplate() && !nuDevMode()) {\n    nuDisableAllObjects();\n    nuMessage(`${nuTranslate(\'Error\')}`, `${nuTranslate(\"Unable to save templates. Please clone them to create a new copy and save the cloned version instead.\")}`, 3500);\n}\n\nnuEmailTemplateSetPreviewText();\n\nfunction nuEmailTemplateAddSelectedField() {\n    const selObjectId = nuGetValue(\'emt_avail_fields\', \'text\');\n    const selObjectLabel = nuGetValue(\'emt_avail_fields\');\n    if (selObjectId !== \'\') {\n        const activeObjectId = nuEmailTemplateGetActiveObjectId();\n        const isBody = activeObjectId == \'emt_body\';\n        const label = isBody ? \'<b>\' + selObjectLabel + \': </b>\' : \'\';\n        nuInsertAtCaret(activeObjectId, label + \"#\" + selObjectId + \"#\" + (isBody ? \'\\n\' : \'\'));\n        $(\'#\' + activeObjectId).trigger(\'change\');\n    }\n}\n\n\nfunction nuEmailTemplateWrapText(elementID, openTag, closeTag) {\n    const textArea = $(\'#\' + elementID);\n    const len = textArea.val().length;\n    const start = textArea[0].selectionStart;\n    const end = textArea[0].selectionEnd;\n    if (start !== end) {\n        var selectedText = textArea.val().substring(start, end);\n        var replacement = openTag + selectedText + closeTag;\n        textArea.val(textArea.val().substring(0, start) + replacement + textArea.val().substring(end, len)).trigger(\'change\');\n    }\n}\n\nfunction nuEmailTemplateGetActiveObjectId() {\n    return activeObj.attr(\'id\');\n}\n\nfunction nuEmailTemplateFormatText(tag) {\n    nuEmailTemplateWrapText(nuEmailTemplateGetActiveObjectId(), \'<\' + tag + \'>\', \'</\' + tag + \'>\');\n}\n\nfunction nuEmailTemplateFormatText2(tag) {\n    nuEmailTemplateWrapText(nuEmailTemplateGetActiveObjectId(), tag, tag);\n}\n\nfunction nuEmailTemplateSetPreviewText() {\n    $(\'#textAreaPreviewDiv\').html($(\'#emt_body\').val().replace(/\\n/g, \'<br />\'));\n}\n\n\nfunction nuEmailTemplateIsTemplate() {\n    return nuGetValue(\'emt_template\');\n}\n\nfunction nuOnClone() {\n\n    const code = emt_code.value;\n\n    if (nuEmailTemplateIsTemplate()) {\n        nuSetValue(\'emt_code\', code.substring(0, code.length - 9));\n        nuSetValue(\'emt_group\', \'\');\n        nuSetValue(\'emt_template\', false);\n        nuEnableAllObjects();\n    }\n\n}', NULL, '1', NULL),
('nunuobjectevent', 'browseedit', 'nuobjectevent', 'Object Events', 'nubuilder', '1', '', 'zzzzsys_event', 'zzzzsys_event_id', '', NULL, 65, 5, '0', NULL, 'SELECT\n    *\nFROM\n    zzzzsys_event\nLEFT JOIN zzzzsys_object ON zzzzsys_object_id = sev_zzzzsys_object_id\nLEFT JOIN zzzzsys_tab ON zzzzsys_tab_id = sob_all_zzzzsys_tab_id\nWHERE\n    sob_all_zzzzsys_form_id = \'#PARENT_FORM_ID#\'\nORDER BY\n    syt_title,\n    sob_all_id', '$(\'#nuAddButton\').remove();\n$(\'#nuBreadcrumb1\').remove();\n\nfunction nuOnAddAction() {\n    return false;\n}\n\n\n// JavaScript column: Replace \\n with html br\n$(\"[data-nu-column=3]\").each(function() {\n    $(this).html($(this).html().replaceAll(\' \', \'&nbsp\').replace(/\\n/g, \"<br />\"));\n});', 'var parentTabEvents = parent.document.getElementById(\'nuTab1\');\nif (parentTabEvents) {\n  parent.refreshIframeEvents(parentTabEvents);\n}', '$(\"#sev_javascript\").addClass(\'js\');\n\n\n$(\'.js\').on(\'dblclick\', function() {\n    nuOpenAce(\'JS\', this.id);\n});\n', NULL, NULL, NULL),
('nupasswordgenerator', 'launch', 'nupasswordgenerator', 'Password Generator', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', 'nuHideHolders(2);\n\nnuAddActionButton(\'use_password\', nuTranslate(\'Use Password\'), \'nuPWGenUsePassword();\');\n\nfunction nuPWGenUsePassword() {\n   nuHasNotBeenEdited();\n   parent.nuSetValue(\'new_password\', pwg_input.value);\n   parent.nuSetValue(\'check_password\', pwg_input.value);\n   parent.nuClosePopup();\n}\n\n// Function to refresh the generated password\nfunction nuPWGenRefreshPassword() {\n\n    const length = parseInt(nuGetValue(\'pwg_length\')) || 15;\n    const upperBox = document.getElementById(\"pwg_uppercase\").checked;\n    const lowerBox = document.getElementById(\"pwg_lowercase\").checked;\n    const numberBox = document.getElementById(\"pwg_numbers\").checked;\n    const symbolBox = document.getElementById(\"pwg_symbols\").checked;\n\n    const arr = nuCharacterArray(symbolBox, numberBox, lowerBox, upperBox);\n    if (arr.length === 0) {\n        nuSetValue(\"pwg_input\", \"\");\n        return;\n    }\n\n    const password = [REDACTED] length);\n    nuSetValue(\"pwg_input\", password);\n\n}\n\n// Initial password generation\n$(document).ready(function() {\n    $(\"#pwg_range\").attr(\"max\", \"50\");\n    nuSetValue(\'pwg_range\', 15);\n    nuPWGenRefreshPassword();\n});\n\n\n// generate new password on slider change\ndocument.querySelector(\"#pwg_range\").oninput = () => {\n    document.querySelector(\"#pwg_length\").textContent = document.querySelector(\n        \"#pwg_length\"\n    ).value = document.querySelector(\"#pwg_range\").value;\n    nuPWGenRefreshPassword();\n};\n\n', NULL, NULL, 'input[type=range]::-webkit-slider-runnable-track {\n  width: 100%;\n  height: 10.4px;\n  cursor: pointer;\n  box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;\n  background: #3071a9;\n  border-radius: 1.3px;\n  border: 0.2px solid #010101;\n}\n\ninput[type=range]:focus::-webkit-slider-runnable-track {\n  background: #367ebd;\n}\n\ninput[type=\"range\"]::-webkit-slider-thumb {\n  -webkit-appearance: none;\n  appearance: none;\n  width: 25px;\n  height: 25px;\n  border-radius: 50%;\n  background: #009fda;\n  cursor: pointer;\n  margin: -2px; /* alignment fix for Chrome */\n}', '1', NULL),
('nupermissionitem', 'browseedit', 'nupermissionitem', 'Permission Items', 'nubuilder', '1', '#pme_ident#|New', 'zzzzsys_permission_item', 'zzzzsys_permission_item_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_permission_item', NULL, NULL, NULL, NULL, '1', NULL),
('nuuserpermission', 'subform', 'nuuserpermission', 'User Permission Items', 'nubuilder', '1', NULL, 'zzzzsys_user_permission', 'zzzzsys_user_permission_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_user_permission', NULL, NULL, NULL, NULL, NULL, NULL),
('nuphp', 'browseedit', 'nuphp', 'PHP', 'nubuilder', '1', '#sph_code#|New', 'zzzzsys_php', 'zzzzsys_php_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_php\nLEFT JOIN zzzzsys_form ON zzzzsys_form_id = sph_zzzzsys_form_id\nWHERE sph_description = \'SYSTEM PHP\' AND (LEFT(sph_code, 2) <> \'nu\' OR \'#DEV_MODE#\' = \'1\')\nORDER BY sph_code', NULL, 'if (parent.nuCurrentProperties().form_id == \'nuaccess\') {\n    $(\'#nuBreadcrumb0\').html(nuTranslate(\'Procedures\'));\n}\n\n\nnuDevMode();', 'nuHide(\'sph_code_snippet_select_lookupcode\');\n\n// Code Snippets form\nnuSetSnippetFormFilter(0, 0, 0, 1); // PHP Code\n\nvar recordId = nuRecordId();\nvar recordIdSuffix = recordId.slice(-2);\n\nwindow.nuImages = parent.nuImages;\nwindow.nuHelp = \'Functions\';\n\n$(\'#nuCloneButton\').remove();\n\nvar title = nuEventName() + \' - \' + recordId;\nif (nuIsIframe()) {\n    $(\'#nuBreadcrumb0\').html(title);\n} else {\n   nuSetTitle(title);\n}\n\nnuAttachButtonImage(\'icon\', recordIdSuffix);\nnuSetValue(\'sph_code\', recordId);\nnuHide(\'sph_code\');\nsetStyles();\n\n$(\'.nuSaveButtonEdited\').removeClass(\'nuSaveButtonEdited\');\n\n$(\'#sph_php\')\n.addClass(\'php\')\n.on(\'dblclick\', function() {\n    nuOpenAce(\'PHP\', this.id);\n});\n\n$(function() {\n    $(\'#sph_php\').scrollTop(window.scrollTop);\n});\n\nnuHasNotBeenEdited();\n\nfunction setStyles() {\n\n    $(\'#sph_php\')\n    .css(\'padding\', \'3px 3px 3px 3px\')\n    .trigger(\"focus\");\n\n}\n\nfunction nuPHPStartsWithPHPTag(str) {\n    return str.toLowerCase().startsWith(\"<?php\");\n}\n\nfunction nuBeforeSave() {\n\n    $php = $(\'#sph_php\');\n\n    if (nuPHPStartsWithPHPTag($php.val())) {\n       nuMessage(nuTranslate(\'The script must not start with a PHP tag\'));\n       return false;\n    }\n\n    if (nuFormType() == \'edit\') {\n        window.scrollTop = $php.scrollTop();\n    }\n\n    return true;\n\n}', NULL, '1', NULL),
('nu67f22e3ba027e23', 'browse', 'nufile_linked_objects', 'Linked Objects', 'nubuilder', '1', NULL, 'zzzzsys_object', 'zzzzsys_object_id', '', NULL, 0, 12, '0', NULL, 'SELECT\n    sob_all_id,\n    zzzzsys_form.sfo_code,\n    zzzzsys_form.sfo_description,\n    zzzzsys_object.sob_image_zzzzsys_file_id\nFROM\n    `zzzzsys_object`\nLEFT JOIN zzzzsys_form ON zzzzsys_form_id = zzzzsys_object.sob_all_zzzzsys_form_id\nWHERE\n    (sob_image_zzzzsys_file_id IS NOT NULL AND sfo_code <> \'nusample\')', NULL, 'nuHideHolders(0,1,2);\n\nfunction nuSelectBrowse(event, element) {    \n    const primaryKey = $(element).attr(\'data-nu-primary-key\');  \n    nuForm(\'nuObject\', primaryKey, \'\', \'\', \'2\');  \n}\n\n\nvar numRows = nuCurrentProperties().browse_filtered_rows;\nparent.nuSetValue(\'nuTab1\', nuTranslate(\'Linked Objects\') + \' (\' + numRows + \')\',\'html\')', NULL, NULL, NULL, NULL),
('nu682ce623ae184f0', 'launch', 'nuimportaccesslevel', 'Get Access Levels from a Form', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', 'nuAddActionButton(\'Run\', \'Run\', \'CopyACLRun()\');\n\nfunction CopyACLRun() {\n\n\n    if (nuGetValue(\'cpa_form_id\') === \'\' || nuGetValue(\'cpa_conflict\') === \'\') {\n        nuMessage(nuTranslate(\'Validation Error\'), \'Some required fields are missing.\');\n        return;\n    }\n\n    const sourceFormID = nuGetValue(\'cpa_form_id\');\n    const destinationFormID = parent.nuRecordId();\n\n    // const deleteAllExisting = nuGetValue(\'cpa_delete_all\'); // Boolean (true/false)\n    const skipIfExists = nuGetValue(\'cpa_delete_all\') == \'0\' // Boolean (true/false)\n    const overwriteIfExists = nuGetValue(\'overwrite_if_exists\') == \'1\' // Boolean (true/false)\n\n    nuHasNotBeenEdited();\n\n    // Send parameters to the PHP procedure\n    nuRunPHPHiddenWithParams(\'nu_get_access_levels_from_form\', \'params\', {\n        source_form_id: sourceFormID,\n        destination_form_id: destinationFormID,\n        // delete_all_existing: deleteAllExisting ? 1: 0,\n        skip_if_exists: skipIfExists ? 1: 0,\n        overwrite_if_exists: overwriteIfExists ? 1: 0\n    }, true);\n\n\n}\n\nfunction nuFormImportACLAfterRun() {\n  parent.nuFormImportACLAfterRun();\n}\n\n\nnuSetValue(\'cpa_conflict\',\'0\');', NULL, NULL, NULL, NULL, NULL),
('nu682ddc25aa0bb5f', 'browse', 'nunonsystemform_with_accesslevels', 'nuBuilder Forms with Access Levels', 'nubuilder', '1', NULL, 'zzzzsys_form', 'zzzzsys_form_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM #TABLE_ID#', '$(\"[data-nu-column=\'0\']\").each(function() {\n    $(this).addClass(\'nu_\'+this.textContent);\n});\n\n$(\'#nuAddButton\').remove();\n$(\'#nuPrintButton\').remove();', NULL, NULL, NULL, NULL, NULL),
('nupromptgenerator', 'browseedit', 'nupromptgenerator', 'Prompt Generator', 'nubuilder', NULL, '#pge_code#|New', 'zzzzsys_prompt_generator', 'zzzzsys_prompt_generator_id', '', NULL, 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_prompt_generator \nORDER BY IFNULL(pge_template,\'\') DESC, pge_code', NULL, 'function nuSelectBrowse(event, element) {\n    const primaryKey = $(element).attr(\'data-nu-primary-key\');\n    nuForm(nuFormId(), primaryKey, \'\', \'\',  nuIsPopup() ? \'1\': \'0\');\n}', 'if (nuIsNewRecord()) {\n    \n    if (nuIsPopup()) {\n      nuGeneratorGetParentInfo();\n    }\n\n    nuSetValue(\'pge_instruction\', \n      `Generate code snippets and explanations following nuBuilder conventions. ` +\n      `Use the information below when relevant to the prompt. ` +\n      `This context is provided to help understand requirements for generating code snippets and answering questions.\\n`\n    );\n    \n    nuHasNotBeenEdited();\n} else {\n   nuGeneratorRun(false);\n}\n\nnuGeneratorOnLoad();\n\nfunction nuGeneratorOnLoad() {\n  \n    if (Array.isArray(nuFORM.breadcrumbs) && nuFORM.breadcrumbs.length === 1) {\n        nuAddActionButton(\"PromptGeneratorBrowse\", \"<i class=\'fa-fw fa-regular fa-rectangle-list\'></i>\", \'nuGeneratorOpenBrowse()\', nuTranslate(\'Open Browse Form\'));\n    }\n    \n    nuAddActionButton(\'RunAIPromptGenerator\', nuTranslate(\'Copy\'), \'nuGeneratorRun()\', nuTranslate(\'Copy to Clipboard\'),\'fa fa-copy\');\n    nuAddActionButton(\'RunAIPromptGeneratorResponse\', nuTranslate(\'Ask AI\')+ \'&thinsp;&thinsp;&thinsp;\', \'nuAIPromptGetResponse(this)\', nuTranslate(\'Send prompt to AI and output response\'),\'fa  fa-wand-magic-sparkles\');\n    \n    nuSelectRemoveEmpty(\'pge_language\');\n    nuSelectRemoveEmpty(\'pge_scope\');\n    nuSelectRemoveEmpty(\'pge_tag\');\n    nuSelectRemoveEmpty(\'pge_table\');\n\n    $(\'#pge_prompt\').css(\'z-index\', 100);\n\n}\n\nfunction nuGeneratorCheckMandatory() {\n\n    const prompt = nuGetValue(\'pge_prompt\').trim();\n\n    if (prompt.length < 10) {\n        nuMessage(nuTranslate(\'The prompt must be at least 10 characters long. Please enter a more detailed prompt to continue.\'));\n        return false;\n    }\n\n    return true;\n\n}\n\n\nfunction nuGeneratorExec(button, procedureName, paramName, params, requireMandatory = true) {\n    \n    if (requireMandatory && !nuGeneratorCheckMandatory()) {\n        return;\n    }\n    \n    if (button) {\n        nuButtonLoading(button.id, true, 15);\n        params.buttonId = button.id; \n    }\n\n    nuRunPHPHiddenWithParams(procedureName, paramName, params);\n\n}\n\nfunction nuGeneratorRunGetTags(button) {\n\n    if (!nuGeneratorCheckMandatory()) return;\n\n    nuGeneratorExec(button,\n        \'nu_ai_prompt_generator_call_api\',\n        \'nuaipromptgenerator_params\', {\n            prompt: nuGetValue(\'pge_prompt\'),\n            tags: JSON.stringify(nuSelectToArray(\'pge_tag\',\'text\', false)),\n            procedure_type: \'tag\'\n        }, true\n    );\n}\n\nfunction nuGeneratorRun(copy = true) {\n \n    if (copy && !nuGeneratorCheckMandatory()) return;\n    \n    nuGeneratorExec(null,\n        \'nu_ai_prompt_generator_prompt\',\n        \'nuaipromptgenerator_prompt_params\', {\n            tables: JSON.stringify(nuSelectToArray(\'pge_table\')),\n            languages: JSON.stringify(nuSelectToArray(\'pge_language\')),\n            scopes: JSON.stringify(nuSelectToArray(\'pge_scope\')),\n            tags: JSON.stringify(nuSelectToArray(\'pge_tag\')),\n            copy: copy\n        }, false\n    );\n}\n\nfunction nuAIGeneratorGetFullPrompt() {\n	return nuGetValue(\'pge_instruction\') + \"\\n\\n\" + \"## User Input/Question:\\n\\n\"+ nuGetValue(\'pge_prompt\') + \"\\n\\n\" + nuGetValue(\'pge_prompt_extra\')\n}\n\nfunction nuAIPromptGetResponse(button) {\n\n    if (!nuGeneratorCheckMandatory()) return;\n\n    nuGeneratorExec(button,\n        \'nu_ai_prompt_generator_call_api\',\n        \'nuaipromptgenerator_params\', {\n            prompt: nuAIGeneratorGetFullPrompt(),\n            procedure_type: \'response\'\n        }\n    );\n}\n\nfunction nuGeneratorOpenBrowse() {\n\n    if (nuFormsUnsaved() !== 0) {\n        if (!confirm(nuTranslate(\'Leave this form without saving?\'))) {\n            return;\n        }\n\n    }\n\n    nuForm(nuFormId(), \'\', \'\', \'\', \'1\');\n\n}\n\nfunction nuGeneratorNormaliseNewlines(str) {\n    return str.replace(/\\\\r?\\\\n/g, String.fromCharCode(10));\n}\n\nfunction nuGeneratorExecuted(text, copy) {\n\n    const normalized = nuGeneratorNormaliseNewlines(text);\n    nuSetValue(\'pge_prompt_extra\', normalized);\n\n    if (copy) {\n        nuCopyToClipboard(nuAIGeneratorGetFullPrompt());\n    }\n\n}\n\nfunction nuGeneratorExecutedTags(id, arr, result) {\n\n    nuButtonLoading(id, false);\n        \n    if (!result) {\n        nuMessage(arr);\n        return;\n    }    \n        \n    function hasCommonElement(a, b) {\n      return a.some(item => b.includes(item));\n    }\n\n    function getOptionValuesByText(selectId, textsToMatch) {\n        const selectElement = document.getElementById(selectId);\n        if (!selectElement || !selectElement.options || !Array.isArray(textsToMatch)) {\n            return [];\n        }\n    \n        const normalizedTexts = textsToMatch.map(t => t.trim().toLowerCase());\n        const matchingValues = [];\n    \n        for (let option of selectElement.options) {\n            const optionText = option.text.trim().toLowerCase();\n            if (normalizedTexts.includes(optionText)) {\n                matchingValues.push(option.value);\n            }\n        }\n    \n        return matchingValues;\n    }\n\n    \n    const allTags = nuSelectToArray(\'pge_tag\',\'text\', false);\n    const selectedTags = nuSelectToArray(\'pge_tag\',\'text\', true);\n\n    if (!hasCommonElement(arr, allTags)) {\n        nuMessage(arr);       \n        return;\n    }\n\n    const textsToMatch = selectedTags.concat(arr);\n    nuSetValue(\'pge_tag\', getOptionValuesByText(\'pge_tag\', textsToMatch));\n\n}\n\nfunction nuGeneratorResponseExecuted(id, text, result) {\n\n    nuButtonLoading(id, false);\n        \n    if (!result) {\n        nuMessage(text);\n        return;\n    }    \n\n    nuSetValue(\'pge_output\', text);\n    nuSelectTabById(\'nu6835cb1661ba10b\'); // Select \"API Response\" Tab\n}\n\nfunction nuGeneratorGetParentInfo() {\n\n    const formId = parent.nuFormId();\n    if (!nuSERVERRESPONSE) return;\n\n    nuSetFocus(pge_prompt);\n\n    // 1) Table\n    const table = parent.nuSERVERRESPONSE.table;\n    if (table && table !== \'\' && table !== \'zzzzsys_php\' && table !== \'nupromptgenerator\') {\n        nuSetValue(\'pge_table\', table);\n    }\n\n    // 2) Suffix-based PHP scopes\n    const recordId = parent.nuRecordId();\n    const suffix = recordId.slice(-2).toLowerCase();\n    const phpSuffixes = [\'bb\', \'be\', \'as\', \'bs\', \'bd\'];\n    if (phpSuffixes.includes(suffix)) {\n        nuSetValue(\'pge_language\', \'nuphp\');\n        nuSetValue(\'pge_scope\', `nuphp_${suffix}`);\n        return; // done\n    }\n\n    // 3) Per‐form (and per‐tab) config\n    const config = {\n\n        nupromptgenerator:  {\n            tag: \"nuaiprompt_generator\"\n        },\n        \n        nuitem: {\n            tag: \"nuitems\"\n        },      \n        \n        nuuser: {\n            tag: \"nuusers\"\n        },\n        \n        nuaccess: {\n            tag: \"nuuser_access\"\n        },\n        \n        nufflaunch: {\n            language: \'numysql\',\n            scope: \'nufast_form_builder\'\n        },\n        \n        nuprocedure: {\n            language: \'nuphp\',\n            scope: \'nuphp_procedure\'\n        },\n        \n        nufile: {\n            tag: \"nufiles\"\n        },        \n\n        nutranslate: {\n            tag: \"nutranslations\"\n        },        \n\n        nucloner: {\n            tag: \"nucloner\"\n        },    \n        \n        nucsvtransfer: {\n            tag: \"nucsv_transfer\"\n        },    \n        \n        nuFormat: {\n            tag: \"nuformat_builder\"\n        },    \n        \n        nuobject: {\n            tabMap: {\n                \'nu5bad6cb36974818\': { // Display\n                    language: \'numysql\'\n                }, \n                \'nu5bad6cb369a6ee3\': {  // Select\n                    language: \'numysql\'\n                }\n            },\n            tag: \'nuobjects\'\n        },\n\n        nuform: {\n            tabMap: {\n                \'nu5bad6cb37026348\': {\n                    language: [\'javascript\', \'jquery\'],\n                    scope: \'nuform_custom_code\'\n                },\n                \'nu5bad6cb36757b92\': {\n                    language: \'numysql\'\n                }\n            },\n            tag: \'nuforms\'\n        },\n\n        nusetup: {\n            tabMap: {\n                \'nu61ce913f08336db\': {\n                    language: \'nucss\'\n                },\n                \'nu5bad6cb36e9143a\': {\n                    language: [\'nujavascript\', \'nujquery\'],\n                    scope: \'nusetup_header\'\n                }\n            },\n            tag: \'nusetup\'\n        }\n    };\n\n    const formCfg = config[formId];\n    if (!formCfg) return;\n\n    // If it\'s a simple form‐level setting...\n    if (formCfg.language) {\n        nuSetValue(\'pge_language\', formCfg.language);\n    }\n    if (formCfg.scope) {\n        nuSetValue(\'pge_scope\', formCfg.scope);\n    }\n    if (formCfg.tag) {\n        nuSetValue(\'pge_tag\', formCfg.tag);\n    }\n\n    // If it’s a tab-based setting, look up the tab\n    if (formCfg.tabMap) {\n        const tabId = parent.nuSelectedTabId();\n        const tabCfg = formCfg.tabMap[tabId];\n        if (tabCfg) {\n            nuSetValue(\'pge_language\', tabCfg.language);\n            if (tabCfg.scope) {\n                nuSetValue(\'pge_scope\', tabCfg.scope);\n            }\n        }\n    }\n\n}\n\n\nfunction nuGeneratorPasteCodeFromTextArea(insert = true) {\n\n  let parentTextAreaId = parent.nuGetProperty(\'js\');\n\n  if (parentTextAreaId) {\n\n    let text = parent.nuGetSelectedText(parentTextAreaId);\n\n    if (text === \'\') {\n      text = parent.nuGetValue(parentTextAreaId);\n    }\n\n    if (text !== \'\') { \n      if (insert) nuInsertTextAtCaret(\'pge_prompt\', text);\n      return true;\n    }\n  }\n\n return false;\n\n}\n\nnuShow(\'btn_insert_parent_code\', nuGeneratorPasteCodeFromTextArea(false));', NULL, NULL, NULL),
('nuitem', 'browseedit', 'nuitems', 'Items', 'nubuilder', '1', '#itm_value#|New', 'zzzzsys_item', 'zzzzsys_item_id', '', NULL, 0, 0, '1', NULL, 'SELECT\n  *\nFROM #TABLE_ID#\nWHERE\n  (\n    itm_active =\n    REPLACE\n      (\n        REPLACE\n          (\'#nu6836b7e927aed72_filter#\', \'✔\', \'1\'),\n          \'✖\',\n          \'0\'\n      )\n      OR left(\'#nu6836b7e927aed72_filter#\', 1) = \'\'\n      OR (\n        left(\'#nu6836b7e927aed72_filter#\', 1) = \'#\'\n        AND itm_active = \'1\'\n      )\n      AND nu_filter_match (\'itm_group\', \'nu683c1ed713aefaa\')\n  )', NULL, '$(function() {\n    nuAddBrowseFilter(\'nu6836b7e927aed72\').nuSearchablePopup({ items: [\"✔\",\"✖\"] });\n    nuAddBrowseFilter(\'nu683c1ed713aefaa\').nuSearchableMultiPopup({ items: nuItemsFilterGetGroup() });\n});\n\nnuBrowseStyleBadge(4); // Group', 'nuSetValue(\'itm_active\',true,null,false);\n\nif (Array.isArray(nuFORM.breadcrumbs) && nuFORM.breadcrumbs.length >= 2) {\n    var previousCrumb = nuFORM.breadcrumbs[nuFORM.breadcrumbs.length - 2];\n    var filter = previousCrumb?.filter;\n\n    if (nuIsNewRecord() && filter) {\n        nuGetLookupId(filter, \'itm_object_id\', false, false);\n    }\n}\n\n\n\n$(function() {\n\n    const ADDITIONAL_FIELDS = [\n      \'itm_css\',\n      \'itm_icon\',\n      \'itm_language\',\n      \'itm_access_level\'\n    ];\n\n    function nuTabsAdditionalSetMarker() {\n        const mark = ADDITIONAL_FIELDS.some(fieldId => {\n            const raw = nuGetValue(fieldId);\n            return typeof raw === \'string\' && raw.trim() !== \'\';\n        });\n\n        nuTabSetMarker(\'nu6836ba2403b7939\', mark);\n    }\n\n    function nuTabsAdditionalSetup() {\n        ADDITIONAL_FIELDS.forEach(fieldId => {\n            const el = document.getElementById(fieldId);\n            if (el) {\n                el.addEventListener(\'change\', nuTabsAdditionalSetMarker);\n            }\n        });\n\n        nuTabsAdditionalSetMarker();\n    }\n\n\n    nuTabsAdditionalSetup();\n\n});\n', NULL, NULL, NULL),
('nu68397bb77c048bb', 'browse', 'object_items', 'Items', 'nubuilder', '1', NULL, 'zzzzsys_item', 'zzzzsys_item_id', 'nuitem', NULL, 0, 13, '1', NULL, 'SELECT * FROM #TABLE_ID#\nWHERE (\n    itm_active = REPLACE(\'#nuBrowseTitle7_select#\', \'✔\', \'1\')\n    OR LEFT(\'#nuBrowseTitle7_select#\', 1) = \'\'\n    OR (LEFT(\'#nuBrowseTitle7_select#\', 1) = \'#\' AND itm_active = \'1\')\n)\nAND\n    (sob_all_zzzzsys_form_id = \'#PARENT_FORM_ID#\' OR \'#PARENT_FORM_ID#\' LIKE \'#%\')', 'var parentTabItems = parent.document.getElementById(\'nuTab2\');\nif (parentTabItems) {\n  parent.refreshIframeItems(parentTabItems);\n}', '$(function() {\n\n    const activeFilterId = \'nuBrowseTitle7_select\';\n    const hasVal = nuGetProperty(activeFilterId);\n    nuAddBrowseTitleSelect(7, [\"\", \"✔\"], 50, {\'text-align\': \'center\'\n    }); // Active\n    if (!hasVal) {\n        nuSetValue(activeFilterId, \'✔\', \'value\', false);\n    }\n\n    $(\'#\' + activeFilterId).parent().off(\"touchstart\");\n\n});', NULL, NULL, NULL, NULL),
('nualterdbcolumn', 'launch', 'nualterdbcolumn', 'Alter Database Column', 'nubuilder', '1', NULL, '', '', '', NULL, 0, 0, '0', NULL, '', 'function nuAlterDBColumnSetDefault() {\n\n    const table = parent.$(\'#sob_all_table\').val();\n    const id = parent.$(\'#sob_all_id\').val();\n    const type = parent.$(\'#sob_all_id_datatype\').val();\n\n    let qry = `\\`${id}\\` ${type} NULL DEFAULT NULL`;\n    let start = `ALTER TABLE \\`${table}\\` CHANGE \\`${id}\\``;\n\n    $(\'#sql_query_word\').html(start);\n    $(\'#sql_query\').val(qry);\n\n    nuSetProperty(\'sob_all_table\', table);\n    nuSetProperty(\'sob_all_id\', id);\n\n}\n\nnuAddActionButton(\'Run\', \'Run\', \'nuHasNotBeenEdited(); nuRunPHPHidden(\"nu_run_alter_db_column\")\');\nnuAddActionButton(\'Preview\', \'Preview\', \'nuAlterDBColumnPreview()\');\nnuAlterDBColumnSetDefault();\n\n\nfunction nuAlterDBColumnPreview() {\n\n    const query = nuGetValue(\'sql_query\');\n    let sql = nuGetValue(\'sql_query_word\', \'html\') + \' \' + query;\n\n    const escapeForHTMLAttribute = str => str.replace(/\\n/g, \'\\\\n\').replace(/\'/g, \"\\\\\'\");\n    const copyButtonHTML = (value, label) => `<button type=\"button\" class=\"nuActionButton nuAdminButton\" onclick=\"navigator.clipboard.writeText(nuTranslate(\'${escapeForHTMLAttribute(value)}\'))\">${nuTranslate(label)}</button>`;\n    const formIdCopyButton = copyButtonHTML(sql, \'Copy\');\n\n    nuMessage(\'Preview SQL\', sql + \';\' + \'<br></br>\' + formIdCopyButton);\n\n}\n\n$(\'#sql_query\').addClass(\'sql\');\n$(\'.sql\').on(\'dblclick\', function() {\n    nuOpenAce(\'SQL\', this.id);\n});', NULL, NULL, NULL, '1', NULL);

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_format`
--

CREATE TABLE `zzzzsys_format` (
  `zzzzsys_format_id` varchar(25) NOT NULL,
  `srm_type` varchar(10) DEFAULT NULL,
  `srm_default` varchar(1) DEFAULT NULL,
  `srm_format` varchar(300) DEFAULT NULL,
  `srm_currency` varchar(25) DEFAULT NULL,
  `srm_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

--
-- Dumping data for table `zzzzsys_format`
--

INSERT INTO `zzzzsys_format` (`zzzzsys_format_id`, `srm_type`, `srm_default`, `srm_format`, `srm_currency`, `srm_json`) VALUES
('nu59e28f061a779da', 'Number', '0', '$ 1,000.00', '[\"$\",\",\",\".\",\"2\"]', NULL),
('nu5d8a9b303b55b6d', 'Date', '0', 'dd-mm-yy', NULL, NULL),
('nu5d8a9b47ac4f5ae', 'Number', '1', '1000.00', '[\"\",\"\",\".\",2]', NULL),
('nu5fdfc72e7021ccf', 'Date', '1', 'yyyy-mm-dd', NULL, NULL),
('nu62fb20c1f13fd44', 'Date', '0', 'dd.mm.yyyy', NULL, NULL),
('nu687e3ae91ea9386', 'Number', NULL, '1000', '[\"\",\"\",\"\",\"\"]', NULL);

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_info`
--

CREATE TABLE `zzzzsys_info` (
  `zzzzsys_info_id` varchar(25) NOT NULL DEFAULT '',
  `inf_code` varchar(255) DEFAULT NULL,
  `inf_details` varchar(255) DEFAULT NULL,
  `inf_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

--
-- Dumping data for table `zzzzsys_info`
--

INSERT INTO `zzzzsys_info` (`zzzzsys_info_id`, `inf_code`, `inf_details`, `inf_json`) VALUES
('nu5fe23e83aea3466', 'nuDBVersion', 'V.4.9.1-2025.09.22.00', NULL),
('nu5fe23e83aea3467', 'nuFilesVersion', 'V.4.9.1-2025.09.22.00', NULL);

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_item`
--

CREATE TABLE `zzzzsys_item` (
  `zzzzsys_item_id` varchar(25) NOT NULL,
  `itm_value` varchar(1000) DEFAULT NULL,
  `itm_description` mediumtext,
  `itm_group` varchar(100) DEFAULT NULL,
  `itm_category` varchar(255) DEFAULT NULL,
  `itm_object_id` varchar(25) DEFAULT NULL,
  `itm_sort_order` int NOT NULL,
  `itm_tag` varchar(1000) DEFAULT NULL,
  `itm_additional1` text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci,
  `itm_additional2` varchar(2000) DEFAULT NULL,
  `itm_notes` varchar(2000) DEFAULT NULL,
  `itm_css` varchar(100) DEFAULT NULL,
  `itm_icon` varchar(100) DEFAULT NULL,
  `itm_language` varchar(25) DEFAULT NULL,
  `itm_parent_id` varchar(25) DEFAULT NULL,
  `itm_active` varchar(1) DEFAULT '1',
  `itm_created_on` datetime DEFAULT CURRENT_TIMESTAMP,
  `itm_updated_on` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `itm_access_level` varchar(2000) DEFAULT NULL,
  `itm_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

--
-- Dumping data for table `zzzzsys_item`
--

INSERT INTO `zzzzsys_item` (`zzzzsys_item_id`, `itm_value`, `itm_description`, `itm_group`, `itm_category`, `itm_object_id`, `itm_sort_order`, `itm_tag`, `itm_additional1`, `itm_additional2`, `itm_notes`, `itm_css`, `itm_icon`, `itm_language`, `itm_parent_id`, `itm_active`, `itm_created_on`, `itm_updated_on`, `itm_access_level`, `itm_json`) VALUES
('nu6835dac7c6c9cd1', 'nu2fa', '2FA', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6835dac7c6ca3b2', 'nucloner', 'Cloner', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6835dac7c6ca76c', 'nucsv_transfer', 'CSV Transfer', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6835dac7c6caaf9', 'nudatabase', 'Database', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6835dac7c6cae6b', 'nufile_manager', 'File Manager', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6835dac7c6cb10f', 'nufiles', 'Files', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6835dac7c6cb46f', 'nuformat_builder', 'Format Builder', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6835dac7c6cb89d', 'nuforms', 'Forms', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6835dac7c6cbbce', 'nufunctions', 'Functions', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6835dac7c6cbfde', 'nuhash_cookies', 'Hash Cookies', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6835dac7c6cc211', 'nuinstallation', 'Installation', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6835dac7c6cc504', 'nulogging_activity', 'Logging Activity', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6835dac7c6cc9b3', 'nulogging_in', 'Logging in', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6835dac7c6ccc85', 'nunavigation', 'Navigation', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6835dac7c6ccf8c', 'nuobjects', 'Objects', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6835dac7c6cd3a9', 'nuprocedures', 'Procedures', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6835dac7c6cd6e7', 'nureport_builder', 'Report Builder', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6835dac7c6cd96e', 'nureport_designer', 'Report Designer', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6835dac7c6cddaf', 'nureports', 'Reports', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6835dac7c6ce0d5', 'nusearch', 'Search', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6835dac7c6ce3c3', 'nusetup', 'Setup', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu68368dd067754d0', 'nuupdating', 'Updating', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu68368dd06775868', 'nuuser_access', 'User Access', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu68368dd06775c5b', 'nufile_includes', 'File Includes', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu68368dd067764e0', 'nutranslations', 'Translations', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu68368dd067768d7', 'nusso', 'SSO', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu68368dd06776c8a', 'nusql_builder', 'SQL Builder', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu68368dd06777027', 'nubrowse_form', 'Browse Form', 'nubuilder', NULL, 'nu68331b4f5e8b32a', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu68368dd067774a2', 'nuedit_form', 'Edit Form', 'nubuilder', NULL, 'nu68331b4f5e8b32a', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu68368dd06777802', 'nuform_custom_code', 'Form Custom Code', 'nubuilder', NULL, 'nu68331b4f5e8b32a', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu68368dd06777c91', 'nuphp_procedure', 'PHP Procedure', 'nubuilder', NULL, 'nu68331b4f5e8b32a', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu68368dd06778012', 'nuphp_bb', 'PHP BB', 'nubuilder', NULL, 'nu68331b4f5e8b32a', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu68368dd06778397', 'nuphp_be', 'PHP BE', 'nubuilder', NULL, 'nu68331b4f5e8b32a', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu68368dd0677871d', 'nuphp_as', 'PHP AS', 'nubuilder', NULL, 'nu68331b4f5e8b32a', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu68368dd06778aa2', 'nuphp_bs', 'PHP BS', 'nubuilder', NULL, 'nu68331b4f5e8b32a', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu68368dd06778e28', 'nuphp_bd', 'PHP BD', 'nubuilder', NULL, 'nu68331b4f5e8b32a', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu68368dd067791ae', 'nusetup_header', 'Setup -> Header', 'nubuilder', NULL, 'nu68331b4f5e8b32a', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6835dac7c6cx24f', 'nufast_form_builder', 'Fast Form Builder', 'nubuilder', NULL, 'nu683550b6279f3ac', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6836b43de528d4e', 'nujavascript', 'JavaScript', 'nubuilder', NULL, 'nu683303b2551aee5', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6836b43de529329', 'nujquery', 'jQuery', 'nubuilder', NULL, 'nu683303b2551aee5', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6836b43de529767', 'nuphp', 'PHP', 'nubuilder', NULL, 'nu683303b2551aee5', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6836b43de529b99', 'mysql', 'MySQL', 'nubuilder', NULL, 'nu683303b2551aee5', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6836b43de529e19', 'nucss', 'CSS', 'nubuilder', NULL, 'nu683303b2551aee5', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu6836b43de52a28a', 'nuhtml', 'HTML', 'nubuilder', NULL, 'nu683303b2551aee5', 0, NULL, NULL, NULL, '', NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu68393a3cde785fc', 'nuusers', 'Users', 'nubuilder', '', 'nu683550b6279f3ac', 0, '', '', '', '', '', '', '', '', '1', NULL, NULL, '', NULL),
('nu68395efedc7e870', 'nuaiprompt_generator', 'AI Prompt Generator', 'nubuilder', '', 'nu683550b6279f3ac', 0, '', '', '', '', '', '', '', '', '1', NULL, NULL, '', NULL),
('nu68396442aaf5852', 'nuitems', 'Items', 'nubuilder', '', 'nu683550b6279f3ac', 0, '', '', '', '', '', '', '', '', '1', NULL, NULL, '', NULL),
('nu683bf8e47923ade', 'input', 'Input', 'nubuilder', '', 'nu5bad6cb329fdf13', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bf9f95212106', 'select', 'Select', 'nubuilder', '', 'nu5bad6cb329fdf13', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bf9f952127d4', 'lookup', 'Lookup', 'nubuilder', '', 'nu5bad6cb329fdf13', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bf9f95212b28', 'run', 'Run', 'nubuilder', '', 'nu5bad6cb329fdf13', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bf9f95212e22', 'textarea', 'Textarea', 'nubuilder', '', 'nu5bad6cb329fdf13', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bf9f952132a2', 'word', 'Word', 'nubuilder', '', 'nu5bad6cb329fdf13', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bf9f9521367e', 'calc', 'Calc', 'nubuilder', '', 'nu5bad6cb329fdf13', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bf9f9521394b', 'display', 'Display', 'nubuilder', '', 'nu5bad6cb329fdf13', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bf9f95213d88', 'html', 'HTML', 'nubuilder', '', 'nu5bad6cb329fdf13', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bf9f952149a4', 'image', 'Image', 'nubuilder', '', 'nu5bad6cb329fdf13', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c1eb6', 'text', 'Text', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c255a', 'nuNumber', 'nuNumber', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c2951', 'number', 'Number', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c2c07', 'nuDate', 'nuDate', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c309c', 'button', 'Button', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c338f', 'checkbox', 'Checkbox', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c3743', 'image', 'Image', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c3ae6', 'search', 'Search', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c3eac', 'nuScroll', 'nuScroll', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c4120', 'nuAutoNumber', 'nuAutoNumber', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c454a', 'color', 'Color', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c4802', 'datetime-local', 'Datetime-Local', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c4c35', 'email', 'Email', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c4f57', 'file', 'File', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c53aa', 'hidden', 'Hidden', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c56bb', 'month', 'Month', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c5a07', 'password', 'Password', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c5ddd', 'radio', 'Radio', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c619f', 'range', 'Range', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c645a', 'reset', 'Reset', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c683e', 'tel', 'Telephone', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c6bd1', 'time', 'Time', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c6f94', 'url', 'URL', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bfb0b38c7265', 'week', 'Week', 'nubuilder', '', 'nu5bad6cb32c4d9de', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bff9414d5010', 'nu59e446589a370ca', 'Text', 'nubuilder', '', 'nu60741457ef6f315', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bff9414d560a', 'nu59e446589ac75be', 'Word', 'nubuilder', '', 'nu60741457ef6f315', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bff9414d5a3f', 'nu59e446589adce4d', 'Button', 'nubuilder', '', 'nu60741457ef6f315', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bff9414d5e04', 'nu59e446589b3714b', 'Calc', 'nubuilder', '', 'nu60741457ef6f315', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bff9414d61ae', 'nu59e446589b4c69b', 'Checkbox', 'nubuilder', '', 'nu60741457ef6f315', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bff9414d65df', 'nu59e446589a4d76a', 'Display', 'nubuilder', '', 'nu60741457ef6f315', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bff9414d68f1', 'nu59e446589bce3d7', 'nuAutoNumber', 'nubuilder', '', 'nu60741457ef6f315', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bff9414d6cea', 'nu59e446589ab1797', 'Lookup', 'nubuilder', '', 'nu60741457ef6f315', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bff9414d6ff6', 'nu59e446589b61190', 'nuScroll', 'nubuilder', '', 'nu60741457ef6f315', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bff9414d72a1', 'nu59e446589a1fc46', 'HTML', 'nubuilder', '', 'nu60741457ef6f315', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bff9414d766c', 'nu59e446589b0af4c', 'nuDate', 'nubuilder', '', 'nu60741457ef6f315', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bff9414d793a', 'nu59e446589a6400f', 'Select', 'nubuilder', '', 'nu60741457ef6f315', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bff9414d7cb3', 'nu59e446589b20a14', 'nuNumber', 'nubuilder', '', 'nu60741457ef6f315', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bff9414d8009', 'nu59e446589a9b145', 'Multiselect', 'nubuilder', '', 'nu60741457ef6f315', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bff9414d83cb', 'nu59e446589af5d86', 'Number', 'nubuilder', '', 'nu60741457ef6f315', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bff9414d872b', 'nu59e446589b75a6d', 'Textarea', 'nubuilder', '', 'nu60741457ef6f315', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bff9414d8ae7', 'nu59e446589cf91a2', 'File', 'nubuilder', '', 'nu60741457ef6f315', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bff9414d8d39', 'nu59e446589d1c64d', 'Image', 'nubuilder', '', 'nu60741457ef6f315', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683bff9414d916d', 'nu59e44658a0c7724', 'Subform', 'nubuilder', '', 'nu60741457ef6f315', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683eae95a2bf066', 'subform', 'Subform', 'nubuilder', NULL, 'nu5bad6cb329fdf13', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683eae7b182a96d', 'editor', 'WYSIWYG Editor', 'nubuilder', NULL, 'nu5bad6cb329fdf13', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu683eae4d1d9b44b', 'contentbox', 'ContentBox', 'nubuilder', NULL, 'nu5bad6cb329fdf13', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, NULL, NULL),
('nu68653d9d8b5cac4', 'chart', 'Chart', 'nubuilder', '', 'nu5bad6cb329fdf13', 0, '', '', '', '', '', '', '', '', '1', NULL, NULL, '', NULL);

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_note`
--

CREATE TABLE `zzzzsys_note` (
  `zzzzsys_note_id` varchar(25) NOT NULL,
  `not_title` varchar(60) NOT NULL,
  `not_content` mediumtext,
  `not_text` longtext,
  `not_updated_on` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `not_zzzzsys_note_category_id` varchar(25) DEFAULT NULL,
  `not_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_note_category`
--

CREATE TABLE `zzzzsys_note_category` (
  `zzzzsys_note_category_id` varchar(25) NOT NULL,
  `noc_name` varchar(1000) DEFAULT NULL,
  `hoc_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_object`
--

CREATE TABLE `zzzzsys_object` (
  `zzzzsys_object_id` varchar(25) NOT NULL,
  `sob_all_zzzzsys_form_id` varchar(25) DEFAULT NULL,
  `sob_all_table` varchar(300) DEFAULT NULL,
  `sob_all_type` varchar(20) DEFAULT NULL,
  `sob_all_id` varchar(300) DEFAULT NULL,
  `sob_all_label` varchar(1000) DEFAULT NULL,
  `sob_all_zzzzsys_tab_id` varchar(25) DEFAULT NULL,
  `sob_all_order` int DEFAULT '0',
  `sob_all_top` int DEFAULT NULL,
  `sob_all_left` int DEFAULT NULL,
  `sob_all_width` int DEFAULT NULL,
  `sob_all_height` int DEFAULT NULL,
  `sob_all_cloneable` varchar(1) DEFAULT NULL,
  `sob_all_align` varchar(10) DEFAULT NULL,
  `sob_all_validate` varchar(1) DEFAULT NULL,
  `sob_all_access` varchar(1) DEFAULT NULL,
  `sob_all_access_condition` varchar(1000) DEFAULT NULL,
  `sob_all_event` varchar(1) DEFAULT NULL,
  `sob_all_style_type` varchar(15) DEFAULT NULL,
  `sob_all_style` varchar(1000) DEFAULT NULL,
  `sob_calc_formula` varchar(3000) DEFAULT NULL,
  `sob_calc_format` varchar(30) DEFAULT NULL,
  `sob_run_zzzzsys_form_id` varchar(50) DEFAULT NULL,
  `sob_run_filter` varchar(300) DEFAULT NULL,
  `sob_run_method` varchar(1) DEFAULT NULL,
  `sob_run_target` varchar(1) DEFAULT NULL,
  `sob_run_type` varchar(1) DEFAULT NULL,
  `sob_run_id` varchar(50) DEFAULT NULL,
  `sob_display_sql` text,
  `sob_display_procedure` varchar(25) DEFAULT NULL,
  `sob_select_multiple` varchar(1) DEFAULT NULL,
  `sob_select_2` varchar(1) DEFAULT '0',
  `sob_select_sql` text,
  `sob_select_procedure` varchar(25) DEFAULT NULL,
  `sob_lookup_code` varchar(50) DEFAULT NULL,
  `sob_lookup_description` varchar(300) DEFAULT NULL,
  `sob_lookup_description_width` varchar(4) DEFAULT NULL,
  `sob_lookup_autocomplete` varchar(1) DEFAULT NULL,
  `sob_lookup_zzzzsys_form_id` varchar(50) DEFAULT NULL,
  `sob_lookup_javascript` text,
  `sob_lookup_php` varchar(25) DEFAULT NULL,
  `sob_lookup_table` varchar(500) DEFAULT NULL,
  `sob_subform_zzzzsys_form_id` varchar(50) DEFAULT NULL,
  `sob_subform_foreign_key` varchar(100) DEFAULT NULL,
  `sob_subform_add` varchar(1) DEFAULT NULL,
  `sob_subform_delete` varchar(1) DEFAULT NULL,
  `sob_subform_type` varchar(10) DEFAULT NULL,
  `sob_subform_table` varchar(300) DEFAULT NULL,
  `sob_input_count` varchar(15) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
  `sob_input_format` varchar(30) DEFAULT NULL,
  `sob_input_type` varchar(30) DEFAULT NULL,
  `sob_input_icon` varchar(50) DEFAULT NULL,
  `sob_input_javascript` text,
  `sob_input_datalist` text,
  `sob_input_attribute` varchar(1000) DEFAULT NULL,
  `sob_input_file_target` varchar(1) NOT NULL DEFAULT '0',
  `sob_html_code` longtext,
  `sob_html_chart_type` varchar(70) DEFAULT NULL,
  `sob_html_javascript` varchar(1000) DEFAULT NULL,
  `sob_html_title` varchar(70) DEFAULT NULL,
  `sob_html_vertical_label` varchar(70) DEFAULT NULL,
  `sob_html_horizontal_label` varchar(70) DEFAULT NULL,
  `sob_image_zzzzsys_file_id` varchar(25) DEFAULT NULL,
  `sob_all_json` mediumtext,
  `sob_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

--
-- Dumping data for table `zzzzsys_object`
--

INSERT INTO `zzzzsys_object` (`zzzzsys_object_id`, `sob_all_zzzzsys_form_id`, `sob_all_table`, `sob_all_type`, `sob_all_id`, `sob_all_label`, `sob_all_zzzzsys_tab_id`, `sob_all_order`, `sob_all_top`, `sob_all_left`, `sob_all_width`, `sob_all_height`, `sob_all_cloneable`, `sob_all_align`, `sob_all_validate`, `sob_all_access`, `sob_all_access_condition`, `sob_all_event`, `sob_all_style_type`, `sob_all_style`, `sob_calc_formula`, `sob_calc_format`, `sob_run_zzzzsys_form_id`, `sob_run_filter`, `sob_run_method`, `sob_run_target`, `sob_run_type`, `sob_run_id`, `sob_display_sql`, `sob_display_procedure`, `sob_select_multiple`, `sob_select_2`, `sob_select_sql`, `sob_select_procedure`, `sob_lookup_code`, `sob_lookup_description`, `sob_lookup_description_width`, `sob_lookup_autocomplete`, `sob_lookup_zzzzsys_form_id`, `sob_lookup_javascript`, `sob_lookup_php`, `sob_lookup_table`, `sob_subform_zzzzsys_form_id`, `sob_subform_foreign_key`, `sob_subform_add`, `sob_subform_delete`, `sob_subform_type`, `sob_subform_table`, `sob_input_count`, `sob_input_format`, `sob_input_type`, `sob_input_icon`, `sob_input_javascript`, `sob_input_datalist`, `sob_input_attribute`, `sob_input_file_target`, `sob_html_code`, `sob_html_chart_type`, `sob_html_javascript`, `sob_html_title`, `sob_html_vertical_label`, `sob_html_horizontal_label`, `sob_image_zzzzsys_file_id`, `sob_all_json`, `sob_json`) VALUES
('nu59e446589a1fc46', 'nusample', NULL, 'html', 'htmlsample', '|HTML', 'nu5bad6cb370eb06a', 120, 224, 261, 176, 45, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', NULL, NULL, NULL, NULL, NULL, '0', '<div id=\'adiv\' style=\'text-align:center;width:117px;height:45px;border:1px solid red;\' class=\'nuBreadcrumb\'>\n    Hello World\n</div>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589a370ca', 'nusample', NULL, 'input', 'inputtextsample', '|Text', 'nu5bad6cb373c384f', 10, 227, 238, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589a4d76a', 'nusample', NULL, 'display', 'displaysample', '|Display', 'nu5bad6cb370eb06a', 130, 129, 261, 137, 22, '1', 'right', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'SELECT COUNT(*) FROM zzzzsys_debug', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589a6400f', 'nusample', NULL, 'select', 'selectsample', '|Select', 'nu5bad6cb370eb06a', 200, 274, 261, 80, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|No|1|Yes', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589a848cc', 'nusample', NULL, 'word', 'bottomcorner', '', 'nu5bad6cb370eb06a', 220, 588, 595, 20, 22, '1', 'left', '0', '2', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589a9b145', 'nusample', NULL, 'select', 'selectmultiselectsample', '|Multiselect', 'nu5bad6cb370eb06a', 210, 331, 261, 117, 56, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '0', 'SELECT zzzzsys_format_id, srm_format FROM zzzzsys_format ORDER BY srm_type', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589ab1797', 'nusample', NULL, 'lookup', 'lookupsample', '|Lookup', 'nu5bad6cb370eb06a', 140, 177, 261, 70, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, 'sal_zzzzsys_form_id', 'sal_code', '150', NULL, 'nuaccess', NULL, NULL, 'zzzzsys_access', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589ac75be', 'nusample', NULL, 'word', 'wordsample', '|Word', 'nu5bad6cb370eb06a', 180, 33, 261, 117, 22, '1', 'center', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589adce4d', 'nusample', NULL, 'input', 'inputbuttonsample', '|Run', 'nu5bad6cb373c384f', 90, 42, 238, 117, 31, '1', 'center', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589af5d86', 'nusample', NULL, 'input', 'inputnumbersample', '|Number', 'nu5bad6cb373c384f', 40, 467, 238, 55, 22, '1', 'right', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589b0af4c', 'nusample', NULL, 'input', 'inputnudatesample', '|nuDate', 'nu5bad6cb373c384f', 20, 347, 238, 95, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'D|dd-mm-yyyy', 'nuDate', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589b20a14', 'nusample', NULL, 'input', 'inputnunumbersample', '|nuNumber', 'nu5bad6cb373c384f', 30, 407, 238, 90, 22, '1', 'right', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|1000.00', 'nuNumber', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589b3714b', 'nusample', NULL, 'calc', 'calcsample', '|Calc', 'nu5bad6cb370eb06a', 170, 81, 261, 98, 22, '1', 'right', '0', '0', NULL, NULL, NULL, NULL, 'nuTotal(\'inputnunumbersample\') + nuTotal(\'inputnumbersample\')', 'N|1000.00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589b4c69b', 'nusample', NULL, 'input', 'inputcheckboxsample', '|Checkbox', 'nu5bad6cb373c384f', 70, 107, 238, 16, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589b61190', 'nusample', NULL, 'input', 'inputnuscrollsample', '|nuScroll', 'nu5bad6cb373c384f', 80, 287, 238, 176, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'nuScroll', NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589b75a6d', 'nusample', NULL, 'textarea', 'textareasample', '|Textarea', 'nu5bad6cb370eb06a', 150, 407, 261, 195, 64, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589b8b4a1', 'nusample', NULL, 'word', 'labelword', '|Word', 'nu5bad6cb370eb06a', 190, 33, 214, 40, 22, '1', 'right', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589bce3d7', 'nusample', NULL, 'input', 'inputnuautonumbersample', '|nuAutoNumber', 'nu5bad6cb373c384f', 50, 167, 238, 73, 22, '1', 'right', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1000', 'N|$ 1,000.00', 'nuAutoNumber', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589cf91a2', 'nusample', NULL, 'input', 'inputfilesample', '|File', 'nu5bad6cb373c384f', 60, 527, 238, 300, 66, '1', 'right', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '89', 'N|$ 1,000.00', 'file', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589d1c64d', 'nusample', NULL, 'image', 'imagesample', '|Image', 'nu5bad6cb370eb06a', 160, 507, 261, 156, 85, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, 'nu5bad6cb37d02d01', NULL, NULL),
('nu59e44658a0c7724', 'nusample', NULL, 'subform', 'subformsample', 'Subform', 'nu5bad6cb3732c76e', 110, 53, 260, 300, 250, '1', 'right', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nusamplesubformform', 'zzzzsys_debug_id', '1', '1', 'g', NULL, '89', NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e44658a2b25af', 'nusample', NULL, 'word', 'labelbutton', '|Button', 'nu5bad6cb373c384f', 100, 42, 114, 40, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb325c8954', 'nuobject', 'zzzzsys_object', 'subform', 'zzzzsys_event_sf', ' ', 'nu5bad6cb370b409e', 1310, 30, 24, 966, 507, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, 'b', '0', NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', 'nuevent', 'sev_zzzzsys_object_id', '1', '1', 'g', 'zzzzsys_event', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb326243f9', 'nupassword', 'zzzzsys_user', 'display', 'the_user', '', 'nu5bad6cb36ed494f', 20, 70, 218, 200, 22, '1', 'center', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'SELECT sus_login_name\nFROM zzzzsys_user\nWHERE zzzzsys_user_id = \'#USER_ID#\'', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3263f2a8', 'nuform', 'zzzzsys_form', 'select', 'sfo_type', 'Form Type', 'nu5bad6cb36791fd5', 20, 42, 182, 140, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'browseedit|Browse and Edit|\nlaunch|Launch|\nsubform|Subform|\nbrowse|Browse|\nedit|Edit', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3265cea1', 'nuform', 'zzzzsys_form', 'input', 'sfo_code', 'Code', 'nu5bad6cb36791fd5', 30, 70, 182, 285, 22, '1', 'left', '3', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu684d3a67ef15036', 'nuhome', NULL, 'contentbox', 'contentbox_add', '', 'nu684d390a5e73fd1', 320, 10, 10, 1030, 362, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nuuser', NULL, 'b', '0', 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa fa-user', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32680d97', 'nuform', 'zzzzsys_form', 'input', 'sfo_description', 'Description', 'nu5bad6cb36791fd5', 40, 98, 182, 377, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb326a4367', 'nuform', 'zzzzsys_form', 'select', 'sfo_table', 'Table Name', 'nu5bad6cb36791fd5', 80, 215, 182, 292, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'n', NULL, NULL, NULL, NULL, '0', '1', 'SELECT table_name as a, table_name as b \nFROM INFORMATION_SCHEMA.TABLES \nWHERE table_schema = DATABASE()\nORDER BY table_name', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb326ddb36', 'nuform', 'zzzzsys_form', 'display', 'sfo_primary_key_display', 'Primary Key', '[REDACTED]', 160, 207, 182, 285, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'n', NULL, NULL, 'SELECT column_name\nFROM information_schema.columns\nWHERE  table_name = \'#sfo_table#\'\nAND table_schema = database()\nAND COLUMN_KEY = \'PRI\'', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb327181a4', 'nuform', 'zzzzsys_form', 'input', 'sfo_browse_row_height', 'Row Height', 'nu5bad6cb36757b92', 210, 36, 145, 50, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32737662', 'nuform', 'zzzzsys_form', 'input', 'sfo_browse_rows_per_page', 'Rows Per Page', 'nu5bad6cb36757b92', 220, 37, 351, 50, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3275e50e', 'nuform', 'zzzzsys_form', 'lookup', 'sfo_browse_redirect_form_id', 'Redirect To', 'nu5bad6cb36757b92', 250, 320, 145, 180, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\nFROM zzzzsys_form\nORDER BY sfo_code', NULL, 'sfo_code', 'sfo_description', '240', NULL, 'nuform', NULL, NULL, 'zzzzsys_form', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3278653c', 'nuform', 'zzzzsys_form', 'textarea', 'sfo_browse_sql', 'SQL', 'nu5bad6cb36757b92', 200, 384, 145, 981, 148, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false, data-nu-mobile-max-width=350px,placeholder=\"SQL\", title=\"JavaScript / Browse\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb327ab3b8', 'nuform', 'zzzzsys_form', 'subform', 'zzzzsys_browse_sf', 'Columns', 'nu5bad6cb36757b92', 190, 71, 145, 993, 239, '1', 'right', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nubrowse', 'sbr_zzzzsys_form_id', '1', '1', 'g', 'zzzzsys_browse', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb327ca554', 'nubrowse', 'zzzzsys_browse', 'input', 'sbr_title', 'Title', 'nu5bad6cb3683fa36', 10, 8, 69, 300, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb327ee8dc', 'nubrowse', 'zzzzsys_browse', 'input', 'sbr_display', 'Display', 'nu5bad6cb3683fa36', 20, 34, 69, 348, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'search', NULL, NULL, '[]', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb328350f1', 'nubrowse', 'zzzzsys_browse', 'select', 'sbr_align', 'Align', 'nu5bad6cb3683fa36', 30, 60, 69, 65, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'l|Left|r|Right|c|Center', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32856f55', 'nubrowse', 'zzzzsys_browse', 'select', 'sbr_format', 'Format', 'nu5bad6cb3683fa36', 40, 86, 69, 100, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT \n   CONCAT(LEFT(srm_type, 1), \'|\', TRIM(srm_format)) AS a, \n   srm_format AS b \nFROM zzzzsys_format\nORDER BY srm_type', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb328796fe', 'nubrowse', 'zzzzsys_browse', 'input', 'sbr_width', 'Width', 'nu5bad6cb3683fa36', 50, 112, 69, 50, 22, '1', 'right', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3289c6f6', 'nubrowse', 'zzzzsys_browse', 'input', 'sbr_order', 'Order', 'nu5bad6cb3683fa36', 60, 138, 69, 50, 22, '1', 'right', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb328be090', 'nuform', 'zzzzsys_form', 'subform', 'zzzzsys_tab_sf', 'Tabs', 'nu5bad6cb36791fd5', 120, 307, 182, 952, 232, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nutab', 'syt_zzzzsys_form_id', '1', '1', 'g', 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb328dde63', 'nutab', 'zzzzsys_tab', 'input', 'syt_title', 'Title', 'nu5bad6cb36c9250f', 10, 10, 100, 180, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb328f889b', 'nutab', 'zzzzsys_tab', 'input', 'syt_order', 'Order', 'nu5bad6cb36c9250f', 20, 31, 100, 46, 22, '1', 'right', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb329136ba', 'nuform', 'zzzzsys_form', 'input', 'bb_event', 'Before Browse', 'nu5bad6cb37026348', 400, 237, 42, 177, 29, '1', 'center', '0', '0', NULL, '1', 'Class', 'nuButtonImagesmallLeft', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32930450', 'nubuildreport', 'zzzzsys_report', 'input', 'open_builder', 'Report Designer', 'nu5bad6cb36804778', 80, 204, 236, 186, 40, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3295b165', 'nubuildreport', 'zzzzsys_report', 'textarea', 'sre_layout', 'Layout', 'nu5bad6cb36804778', 90, 253, 236, 300, 100, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32976d5d', 'nuform', 'zzzzsys_form', 'textarea', 'sfo_javascript', '', 'nu5bad6cb37026348', 340, 60, 266, 858, 467, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false,data-custom-code-textarea, data-nu-mobile-max-width=350px,data-nu-mobile-max-height=400px,title=\"Browse & Edit\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3299aecf', 'nuprocedure', 'zzzzsys_php', 'lookup', 'sph_zzzzsys_form_id', 'Launch From', 'nu5bad6cb36b27343', 70, 177, 142, 283, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\r\nFROM zzzzsys_form\r\nORDER BY sfo_code', NULL, 'sfo_code', 'sfo_description', '300', NULL, 'nulaunchable', NULL, NULL, 'zzzzsys_form', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb329dcb6e', 'nuobject', 'zzzzsys_object', 'lookup', 'sob_all_zzzzsys_tab_id', 'Form Tab', 'nu5bad6cb3686cb0d', 40, 14, 159, 140, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, 'syt_title', 'sfo_description', '272', '0', 'nutablookup', 'nuObjectUpdateIdDatalist();', NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb329fdf13', 'nuobject', 'zzzzsys_object', 'select', 'sob_all_type', 'Type', 'nu5bad6cb3686cb0d', 50, 41, 159, 144, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT itm_value, itm_description \nFROM zzzzsys_item \nWHERE itm_object_id = \'#OBJECT_ID#\' AND itm_active = \'1\'\nORDER BY itm_description', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32a1c004', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_id', 'ID', 'nu5bad6cb3686cb0d', 70, 95, 159, 324, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'n', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'search', NULL, NULL, '[]', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32a36c23', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_label', 'Label', 'nu5bad6cb3686cb0d', 60, 68, 159, 439, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32a5798c', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_order', 'Tabbing Order', 'nu5bad6cb3686cb0d', 550, 57, 0, 72, 22, '1', 'right', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32a7637b', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_top', 'Top', 'nu5bad6cb3686cb0d', 110, 185, 159, 50, 22, '1', 'right', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32a9998f', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_left', 'Left', 'nu5bad6cb3686cb0d', 120, 214, 159, 50, 22, '1', 'right', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32abf6a9', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_width', 'Width', 'nu5bad6cb3686cb0d', 130, 243, 159, 50, 22, '1', 'right', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32ae0077', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_height', 'Height', 'nu5bad6cb3686cb0d', 140, 272, 159, 50, 22, '1', 'right', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32b06a65', 'nuobject', 'zzzzsys_object', 'select', 'sob_all_cloneable', 'Cloneable', 'nu5bad6cb3686cb0d', 190, 428, 159, 182, 22, '1', 'right', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|No|1|Yes', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32b263c1', 'nuobject', 'zzzzsys_object', 'select', 'sob_all_align', 'Align', 'nu5bad6cb3686cb0d', 170, 370, 159, 182, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'left|Left|right|Right|center|Center', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32b417d0', 'nuobject', 'zzzzsys_object', 'select', 'sob_all_validate', 'Validation', 'nu5bad6cb3686cb0d', 180, 399, 159, 182, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|None|1|No Blanks|2|No Duplicates|3|No Duplicates/Blanks', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32b5c449', 'nuobject', 'zzzzsys_object', 'select', 'sob_all_access', 'Access', '[REDACTED]', 150, 341, 159, 182, 22, '1', 'center', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|0: Editable/Visible|\n1|1: Readonly|\n2|2: Hidden|\n3|3: Hidden (User)|\n4|4: Hidden (User) + Readonly|\n9|Condition', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32b77005', 'nuobject', 'zzzzsys_object', 'word', 'calctotwrd', 'Objects', 'nu5bad6cb36f99a7e', 1270, 192, 80, 343, 17, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32b9715a', 'nuobject', 'zzzzsys_object', 'word', 'calcfldwrd', 'Operators', 'nu5bad6cb36f99a7e', 1290, 192, 540, 151, 17, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32bd0b0a', 'nuobject', 'zzzzsys_object', 'textarea', 'sob_html_code', 'HTML', 'nu5bad6cb36a71012', 1150, 59, 98, 850, 430, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false, data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32bf6285', 'nuobject', 'zzzzsys_object', 'textarea', 'sob_display_sql', 'SQL', 'nu5bad6cb36974818', 700, 114, 114, 810, 384, '1', 'left', '0', '0', NULL, '0', 'CSS', 'padding:5px', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false, data-nu-mobile-max-width=350px, title=\"Display SQL\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32c14343', 'nuobject', 'zzzzsys_object', 'textarea', 'sob_select_sql', 'SQL<br>or<br>List', 'nu5bad6cb369a6ee3', 760, 114, 114, 810, 384, '1', 'left', '0', '0', NULL, '1', 'CSS', 'padding:5px', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false, data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32c2f35b', 'nuobject', 'zzzzsys_object', 'input', 'sob_select_multiple', 'Multiple', 'nu5bad6cb369a6ee3', 780, 39, 114, 16, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32c4d9de', 'nuobject', 'zzzzsys_object', 'select', 'sob_input_type', 'Input Type (and class)', 'nu5bad6cb36a4af06', 1050, 50, 239, 161, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '1', 'SELECT itm_value, itm_description \nFROM zzzzsys_item \nWHERE itm_object_id = \'#OBJECT_ID#\' AND itm_active = \'1\'\nORDER BY itm_description', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'placeholder=\"test\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu684d3a50305f3df', 'nuhome', NULL, 'run', 'run_add_nucodesnippets', 'Code Snippet', 'nu684d390a5e73fd1', 440, 316, 399, 236, 30, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nucodesnippet', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-file-code', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32c708be', 'nuobject', 'zzzzsys_object', 'select', 'sob_input_format', 'Format', 'nu5bad6cb36a4af06', 1070, 84, 239, 161, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT \n   CONCAT(LEFT(srm_type, 1), \'|\', TRIM(srm_format)) AS a, \n   srm_format AS b \nFROM zzzzsys_format\nORDER BY srm_type\n', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32c9102c', 'nuobject', 'zzzzsys_object', 'lookup', 'sob_subform_zzzzsys_form_id', 'Form', 'nu5bad6cb36a1c024', 950, 38, 178, 202, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\nFROM zzzzsys_form\nORDER BY sfo_code', NULL, 'sfo_code', 'sfo_description', '250', NULL, 'nuform', 'nuRefreshSelectObject(\'sob_subform_foreign_key\');', NULL, 'zzzzsys_form', 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32cb28dd', 'nuobject', 'zzzzsys_object', 'select', 'sob_subform_foreign_key', 'Foreign Key', '[REDACTED]', 960, 68, 178, 207, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '1', 'SELECT column_name, column_name\nFROM information_schema.columns\nWHERE  table_name = \'#sob_subform_table#\'\nAND table_schema = database()\nAND COLUMN_KEY <> \'PRI\'', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32cd0b84', 'nuobject', 'zzzzsys_object', 'select', 'sob_subform_add', 'Addable', 'nu5bad6cb36a1c024', 980, 101, 178, 60, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|No|1|Yes', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32ced09b', 'nuobject', 'zzzzsys_object', 'select', 'sob_subform_delete', 'Deleteable', 'nu5bad6cb36a1c024', 990, 131, 178, 60, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|No|1|Yes', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32d07376', 'nuobject', 'zzzzsys_object', 'select', 'sob_subform_type', 'Type', 'nu5bad6cb36a1c024', 1000, 161, 178, 60, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'g|Grid|f|Form', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32d22215', 'nuobject', 'zzzzsys_object', 'lookup', 'sob_run_zzzzsys_form_id', 'Run', 'nu5bad6cb368d9c40', 590, 34, 103, 271, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\nFROM zzzzsys_form\nORDER BY sfo_code', NULL, 'code', 'CONCAT(run, \' - \', description)', '324', NULL, 'nurunlist', 'nuShow(\'sob_run_zzzzsys_form_open_button\', sob_run_zzzzsys_form_id.value !== \'\');', NULL, 'zzzzsys_nudebug', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32d3ef22', 'nuobject', 'zzzzsys_object', 'input', 'sob_run_filter', 'Filter', 'nu5bad6cb368d9c40', 600, 64, 103, 271, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32d6add9', 'nuobject', 'zzzzsys_object', 'input', 'sob_run_id', 'Record ID', 'nu5bad6cb368d9c40', 610, 94, 103, 276, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'search', NULL, NULL, '[]', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32d8ec39', 'nuobject', 'zzzzsys_object', 'select', 'sob_run_method', 'Method', 'nu5bad6cb368d9c40', 620, 124, 103, 80, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'b|Button|i|iFrame', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32dcbcb4', 'nuobject', 'zzzzsys_object', 'lookup', 'sob_lookup_zzzzsys_form_id', 'Form', 'nu5bad6cb369d0088', 870, 33, 113, 337, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\nFROM zzzzsys_form\nORDER BY sfo_code', NULL, 'sfo_code', 'sfo_description', '250', NULL, 'nuform', 'nuShow(\'sob_lookup_zzzzsys_form_open_button\', sob_lookup_zzzzsys_form_id.value !== \'\');\n\nnuObjectUpdateLookupDescriptionDatalist();\nnuRefreshSelectObject(\'sob_lookup_code\');\n', NULL, 'zzzzsys_form', 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32e1a66a', 'nuobject', 'zzzzsys_object', 'select', 'sob_lookup_code', 'Code', 'nu5bad6cb369d0088', 880, 61, 113, 237, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '1', 'SELECT column_name, column_name\nFROM information_schema.columns\nWHERE  table_name = \'#sob_lookup_table#\'\nAND table_schema = database()\nAND COLUMN_KEY <> \'PRI\'', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32e47d18', 'nuobject', 'zzzzsys_object', 'input', 'sob_lookup_description', 'Description', 'nu5bad6cb369d0088', 890, 92, 113, 446, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'search', NULL, NULL, '[]', 'data-nu-mobile-max-width=250px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32e8733c', 'nuobject', 'zzzzsys_object', 'input', 'sob_lookup_description_width', 'Width', 'nu5bad6cb369d0088', 900, 92, 757, 50, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32ec104d', 'nuobject', 'zzzzsys_object', 'textarea', 'sob_lookup_javascript', '', 'nu5bad6cb369d0088', 860, 217, 113, 838, 255, '1', 'left', '0', '0', NULL, '0', 'CSS', 'padding:5px', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false, data-nu-mobile-max-width=350px, title=\"Lookup\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3316ef87', 'nuevent', 'zzzzsys_event', 'textarea', 'sev_javascript', 'JavaScript', 'nu5bad6cb36aaa539', 20, 1, 255, 751, 141, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'sev_zzzsys_object_id', '1', '1', 'g', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false,title=\"Event\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb331a6d3e', 'nuevent', 'zzzzsys_event', 'input', 'sev_event', 'Event', 'nu5bad6cb36aaa539', 10, 1, 55, 150, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'sev_zzzsys_object_id', '1', '1', 'g', NULL, NULL, NULL, 'search', NULL, NULL, 'nuChooseEventList()', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu684d3a09e8ba39f', 'nuhome', NULL, 'run', 'run_add_note', 'Notes', 'nu684d390a5e73fd1', 430, 263, 399, 236, 30, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nunotes', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-edit', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3351b6a4', 'nuaccess', 'zzzzsys_access', 'lookup', 'sal_zzzzsys_form_id', 'Home', 'nu5bad6cb36ac903f', 20, 67, 156, 200, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\nFROM zzzzsys_form\nORDER BY sfo_code', NULL, 'sfo_code', 'sfo_description', '350', NULL, 'nulaunchform', 'nuShow(\'sal_zzzzsys_form_id_open_button\', sal_zzzzsys_form_id.value !== \'\');', NULL, 'zzzzsys_form', 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3364460a', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_zzzzsys_form_id', 'Form ID', 'nu5bad6cb3686cb0d', 540, 13, 0, 72, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb336a9f96', 'nuaccess', 'zzzzsys_access', 'input', 'sal_code', 'Code', 'nu5bad6cb36ac903f', 30, 94, 156, 200, 22, '1', 'left', '3', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb33715015', 'nuaccessforms', 'zzzzsys_access_form', 'lookup', 'slf_zzzzsys_form_id', 'Form', 'nu5bad6cb36b994d2', 10, 20, 87, 280, 22, '1', 'left', '3', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\nFROM zzzzsys_form\nORDER BY sfo_code', NULL, 'sfo_code', 'sfo_description', '300', NULL, 'nunonsystemform', NULL, NULL, 'zzzzsys_form', NULL, NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb33762770', 'nuaccess', 'zzzzsys_access', 'subform', 'accform', ' ', 'nu5bad6cb36af0c58', 80, 20, 30, 1168, 540, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nuaccessforms', 'slf_zzzzsys_access_id', '1', '1', 'g', 'zzzzsys_access_form', NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-max-height=450px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb337ab8d0', 'nuaccessforms', 'zzzzsys_access_form', 'input', 'slf_add_button', 'Add', 'nu5bad6cb36b994d2', 20, 75, 87, 53, 18, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_form', 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, 'Title=\"Enable Button\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb338330bb', 'nuaccessforms', 'zzzzsys_access_form', 'input', 'slf_save_button', 'Save', 'nu5bad6cb36b994d2', 40, 127, 87, 53, 18, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_form', 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, 'Title=\"Enable Button\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb338c7612', 'nuaccessforms', 'zzzzsys_access_form', 'input', 'slf_delete_button', 'Delete', 'nu5bad6cb36b994d2', 60, 101, 87, 53, 18, '1', 'center', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_form', 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, 'Title=\"Enable Button\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3399c9cf', 'nuaccessforms', 'zzzzsys_access_form', 'input', 'slf_clone_button', 'Clone', 'nu5bad6cb36b994d2', 50, 153, 87, 53, 18, '1', 'center', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_form', 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, 'Title=\"Enable Button\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `zzzzsys_object` (`zzzzsys_object_id`, `sob_all_zzzzsys_form_id`, `sob_all_table`, `sob_all_type`, `sob_all_id`, `sob_all_label`, `sob_all_zzzzsys_tab_id`, `sob_all_order`, `sob_all_top`, `sob_all_left`, `sob_all_width`, `sob_all_height`, `sob_all_cloneable`, `sob_all_align`, `sob_all_validate`, `sob_all_access`, `sob_all_access_condition`, `sob_all_event`, `sob_all_style_type`, `sob_all_style`, `sob_calc_formula`, `sob_calc_format`, `sob_run_zzzzsys_form_id`, `sob_run_filter`, `sob_run_method`, `sob_run_target`, `sob_run_type`, `sob_run_id`, `sob_display_sql`, `sob_display_procedure`, `sob_select_multiple`, `sob_select_2`, `sob_select_sql`, `sob_select_procedure`, `sob_lookup_code`, `sob_lookup_description`, `sob_lookup_description_width`, `sob_lookup_autocomplete`, `sob_lookup_zzzzsys_form_id`, `sob_lookup_javascript`, `sob_lookup_php`, `sob_lookup_table`, `sob_subform_zzzzsys_form_id`, `sob_subform_foreign_key`, `sob_subform_add`, `sob_subform_delete`, `sob_subform_type`, `sob_subform_table`, `sob_input_count`, `sob_input_format`, `sob_input_type`, `sob_input_icon`, `sob_input_javascript`, `sob_input_datalist`, `sob_input_attribute`, `sob_input_file_target`, `sob_html_code`, `sob_html_chart_type`, `sob_html_javascript`, `sob_html_title`, `sob_html_vertical_label`, `sob_html_horizontal_label`, `sob_image_zzzzsys_file_id`, `sob_all_json`, `sob_json`) VALUES
('nu684d39a9dc0fc60', 'nuhome', NULL, 'run', 'run_add_form_button', 'Fast Form', 'nu684d390a5e73fd1', 350, 163, 67, 236, 30, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nufflaunch', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-regular fa-rectangle-list', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb33a4e07f', 'nuaccessforms', 'zzzzsys_access_form', 'input', 'slf_print_button', 'Print', 'nu5bad6cb36b994d2', 30, 49, 87, 53, 18, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_form', 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, 'Title=\"Enable Button\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb33ad88b7', 'nuuser', 'zzzzsys_user', 'input', 'sus_name', 'Full Name', 'nu5bad6cb36b63cae', 30, 42, 219, 329, 22, '0', 'left', '3', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'n', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'autocomplete=\"off\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"65\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu5bad6cb33b1013c', 'nuuser', 'zzzzsys_user', 'input', 'sus_email', 'Email', 'nu5bad6cb36b63cae', 150, 381, 219, 329, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'autocomplete=\"off\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"455\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu5bad6cb33b42890', 'nuuser', 'zzzzsys_user', 'input', 'sus_login_name', 'Login Name', 'nu5bad6cb36b63cae', 60, 129, 219, 238, 22, '0', 'left', '3', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'autocomplete=\"off\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"195\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu5bad6cb33b84bf4', 'nuuser', 'zzzzsys_user', 'input', 'new_password', 'Password', 'nu5bad6cb36b63cae', 80, 187, 219, 238, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'password', NULL, NULL, NULL, 'autocomplete=\"new-password\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"245\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu5bad6cb33d2481a', 'nuuser', 'zzzzsys_user', 'input', 'check_password', 'Confirm Password', '[REDACTED]', 90, 218, 219, 238, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'password', NULL, NULL, NULL, 'autocomplete=\"new-password\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"295\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu5bad6cb33d99a4b', 'nuuser', 'zzzzsys_user', 'lookup', 'sus_zzzzsys_access_id', 'Access Level', '[REDACTED]', 70, 158, 219, 329, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, 'sal_code', 'sal_description', '300', NULL, 'nuaccess', 'nuShow(\'sus_zzzzsys_access_id_open_button\',sus_zzzzsys_access_id.value !== \'\');', NULL, 'zzzzsys_access', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"115\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu5bad6cb33e17c28', 'nuprocedure', 'zzzzsys_php', 'input', 'sph_code', 'Code', 'nu5bad6cb36b27343', 20, 37, 142, 350, 22, '1', 'left', '3', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'search', NULL, NULL, '[\"nu_before_save\", \"nu_after_save\", \"nu_before_edit\", \"nu_before_browse\", \"nu_before_delete\", \"nu_after_delete\", \"nu_startup\", \"nu_check_password_policy\", \"nu_invalid_login\", \"nu_after_update\", \"nu_send_welcome_email\",\"nu_debug_result_added\"]', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu684d39cfda5a12e', 'nuhome', NULL, 'run', 'run_add_php', 'Procedure', 'nu684d390a5e73fd1', 370, 263, 67, 236, 30, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nuprocedure', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-code', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb33e77084', 'nusetup', 'zzzzsys_setup', 'contentbox', 'contentbox_auth', 'Auth SMTP Information', '[REDACTED]', 210, 39, 40, 539, 398, '1', 'center', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb33ed5ffe', 'nuprocedure', 'zzzzsys_php', 'textarea', 'sph_php', 'PHP', 'nu5bad6cb36b27343', 90, 233, 142, 764, 346, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false, data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb33fe854c', 'nuprocedure', 'zzzzsys_php', 'input', 'sph_description', 'Description', 'nu5bad6cb36b27343', 30, 65, 142, 608, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3400c80a', 'nubuildreport', 'zzzzsys_report', 'lookup', 'sre_zzzzsys_form_id', 'Launch From', 'nu5bad6cb36804778', 70, 166, 236, 186, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\nFROM zzzzsys_form\nORDER BY sfo_code', NULL, 'sfo_code', 'sfo_description', '200', NULL, 'nulaunchable', NULL, NULL, 'zzzzsys_form', 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb340c5469', 'nubuildreport', 'zzzzsys_report', 'input', 'sre_code', 'Code', 'nu5bad6cb36804778', 20, 54, 236, 186, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb340fb412', 'nubuildreport', 'zzzzsys_report', 'input', 'sre_description', 'Description', 'nu5bad6cb36804778', 30, 82, 236, 300, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34130517', 'nuaccessgroup', 'zzzzsys_user_group_access_level', 'lookup', 'gal_zzzzsys_access_id', 'Access To..', '[REDACTED]', 40, 40, 107, 70, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT \ncolor_id,\ncol_description\nFROM color\nORDER BY col_description', NULL, 'sal_code', 'sal_description', '300', NULL, 'nuaccess', NULL, NULL, 'zzzzsys_access', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3416c803', 'nudebug', 'zzzzsys_debug', 'textarea', 'deb_message', '', 'nu5bad6cb36bf8d38', 10, 16, 30, 786, 432, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb341ba4c3', 'nuprocedure', 'zzzzsys_php', 'select', 'sph_run', 'Run', 'nu5bad6cb36b27343', 80, 205, 142, 110, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'hide|Hidden|\nwindow|New tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb341fdfc3', 'nuaccessreport', 'zzzzsys_access_php', 'lookup', 'slp_zzzzsys_php_id', 'Procedure', 'nu5bad6cb36c55179', 0, 20, 100, 280, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, 'sph_code', 'sph_description', '300', NULL, 'nuprocedure', NULL, NULL, 'zzzzsys_php', NULL, NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34231992', 'nuaccess', 'zzzzsys_access', 'subform', 'accphp', ' ', 'nu5bad6cb36c16b42', 100, 20, 30, 675, 540, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nuaccessreport', 'slp_zzzzsys_access_id', '1', '1', 'g', 'zzzzsys_access_php', NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-max-height=450px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb342620ba', 'nuaccess', 'zzzzsys_access', 'subform', 'accreport', ' ', 'nu5bad6cb36c39fc8', 110, 20, 30, 675, 540, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nuaccesslevelreport', 'sre_zzzzsys_access_id', '1', '1', 'g', 'zzzzsys_access_report', NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-max-height=450px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb342de027', 'nuaccesslevelreport', 'zzzzsys_access_report', 'lookup', 'sre_zzzzsys_report_id', 'Report', 'nu5bad6cb36c75655', 30, 47, 163, 280, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, 'sre_code', 'sre_description', '300', '0', 'nubuildreport', NULL, NULL, 'zzzzsys_report', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb343a3176', 'nubuildreport', 'zzzzsys_report', 'input', 'sre_group', 'Group', 'nu5bad6cb36804778', 40, 110, 236, 186, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb344b93ac', 'nulaunchdates', NULL, 'input', 'from_date', 'Between', 'nu5bad6cb36cfbbfa', 10, 72, 115, 90, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'D|dd-mmm-yyyy', 'nuDate', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb344dffcc', 'nulaunchdates', NULL, 'input', 'to_date', 'And', 'nu5bad6cb36cfbbfa', 20, 72, 243, 90, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'D|dd-mmm-yyyy', 'nuDate', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb345094c6', 'nubuildreport', 'zzzzsys_report', 'lookup', 'sre_zzzzsys_php_id', 'Table', 'nu5bad6cb36804778', 50, 138, 236, 186, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, 'srd_code', 'srd_description', '200', NULL, 'nubuildtable', NULL, NULL, 'zzzzsys_report_data', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3452cdfe', 'nuprocedure', 'zzzzsys_php', 'input', 'sph_group', 'Group', 'nu5bad6cb36b27343', 40, 93, 142, 283, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, 'SELECT DISTINCT\n    `sph_group`\nFROM\n    `zzzzsys_php`\nWHERE\n    TRIM(IFNULL(`sph_group`, \'\')) <> \'\'\n    AND `sph_group` <> \'nubuilder\'\nORDER BY\n    `sph_group`', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb345bcd24', 'nusetup', 'zzzzsys_setup', 'lookup', 'set_zzzzsys_timezone_id', 'Time Zone', 'nu5bad6cb36d97acd', 130, 180, 227, 330, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, 'stz_timezone', 'stz_timezone', '0', NULL, 'nutimezone', NULL, NULL, 'zzzzsys_timezone', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3462cd79', 'nuuser', 'zzzzsys_user', 'select', 'sus_language', 'Language', 'nu5bad6cb36b63cae', 140, 354, 219, 153, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT trl_language, trl_language AS a \nFROM zzzzsys_translate\nGROUP BY trl_language', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_timezone', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"405\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu5bad6cb346642c0', 'nusetup', 'zzzzsys_setup', 'select', 'set_smtp_use_authentication', 'Use Authentication', '[REDACTED]', 280, 296, 245, 59, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|No|1|Yes', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb346a7c3b', 'nusetup', 'zzzzsys_setup', 'input', 'set_smtp_username', 'User Name', 'nu5bad6cb36e31edf', 220, 97, 245, 235, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb346df926', 'nusetup', 'zzzzsys_setup', 'input', 'set_smtp_password', 'Password', 'nu5bad6cb36e31edf', 230, 132, 245, 235, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34701820', 'nusetup', 'zzzzsys_setup', 'input', 'set_smtp_host', 'Host', 'nu5bad6cb36e31edf', 240, 164, 245, 235, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34724534', 'nusetup', 'zzzzsys_setup', 'input', 'set_smtp_from_address', 'Address', 'nu5bad6cb36e31edf', 250, 197, 245, 235, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3475031f', 'nusetup', 'zzzzsys_setup', 'input', 'set_smtp_from_name', 'From Name', 'nu5bad6cb36e31edf', 260, 230, 245, 235, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3477c73b', 'nusetup', 'zzzzsys_setup', 'input', 'set_smtp_port', 'Port', 'nu5bad6cb36e31edf', 270, 263, 245, 82, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'search', NULL, NULL, '[25,465,587,2525]', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb347da00e', 'nusetup', 'zzzzsys_setup', 'textarea', 'set_header', '', 'nu5bad6cb36e9143a', 10, 70, 81, 1200, 500, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT trl_language, trl_language AS a \nFROM zzzzsys_translate\nGROUP BY trl_language ', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_timezone', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false, data-nu-mobile-max-width=350px, title=\"Header\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3482a7d5', 'nutranslate', 'zzzzsys_translate', 'input', 'trl_language', 'Language', 'nu5bad6cb36eb07f0', 10, 54, 142, 100, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nuScroll', NULL, 'nuLanguages()', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3498f4e8', 'nutranslate', 'zzzzsys_translate', 'input', 'trl_english', 'English', 'nu5bad6cb36eb07f0', 20, 90, 142, 572, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb349c926f', 'nutranslate', 'zzzzsys_translate', 'input', 'trl_translation', 'Translation', 'nu5bad6cb36eb07f0', 40, 117, 142, 572, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34a11c21', 'nupassword', 'zzzzsys_user', 'input', 'new_password_check', 'Confirm New Password', '[REDACTED]', 50, 157, 218, 200, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'password', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34a592fd', 'nupassword', 'zzzzsys_user', 'input', 'new_password', 'New Password', '[REDACTED]', 40, 128, 218, 200, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'password', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34a8d913', 'nupassword', 'zzzzsys_user', 'input', 'old_password', 'Current Password', '[REDACTED]', 30, 99, 218, 200, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'SELECT CONCAT(\'( \', sus_login_name, \' )\')\nFROM zzzzsys_user\nWHERE zzzzsys_user_id = \'#RECORD_ID#\'', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'password', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34b050a0', 'nuobject', 'zzzzsys_object', 'input', 'ab_event', 'After Browse', 'nu5bad6cb369d0088', 910, 170, 113, 167, 29, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34c005d7', 'nuform', 'zzzzsys_form', 'input', 'be_event', 'Before Edit', 'nu5bad6cb37026348', 410, 271, 42, 177, 29, '1', 'center', '0', '0', NULL, '1', 'Class', 'nuButtonImagesmallLeft', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34c4775c', 'nuform', 'zzzzsys_form', 'input', 'bs_event', 'Before Save', 'nu5bad6cb37026348', 420, 305, 42, 177, 29, '1', 'center', '0', '0', NULL, '1', 'Class', 'nuButtonImagesmallLeft', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34d23de5', 'nuform', 'zzzzsys_form', 'input', 'as_event', 'After Save', 'nu5bad6cb37026348', 430, 339, 42, 177, 29, '1', 'center', '0', '0', NULL, '1', 'Class', 'nuButtonImagesmallLeft', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34d7e1db', 'nuform', 'zzzzsys_form', 'input', 'bd_event', 'Before Delete', 'nu5bad6cb37026348', 440, 373, 42, 177, 29, '1', 'center', '0', '0', NULL, '1', 'Class', 'nuButtonImagesmallLeft', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34e2eaec', 'nuform', 'zzzzsys_form', 'input', 'ad_event', 'After Delete', 'nu5bad6cb37026348', 450, 407, 42, 177, 29, '1', 'center', '0', '0', NULL, '1', 'Class', 'nuButtonImagesmallLeft', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34e5cc53', 'nuform', 'zzzzsys_form', 'input', 'previewedit', 'Preview Edit Form', 'nu5bad6cb36791fd5', 150, 151, 933, 201, 48, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34e80d7e', 'nuobject', 'zzzzsys_object', 'input', 'sob_lookup_table', 'Code', 'nu5bad6cb369d0088', 930, 19, 9, 50, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34ebf5bd', 'nufastformobjects', 'zzzzsys_object', 'input', 'ff_field', 'Field Name', 'nu5bad6cb36f72f8e', 20, 72, 23, 250, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'search', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34ee220e', 'nufastformobjects', 'zzzzsys_object', 'input', 'ff_label', 'Label', 'nu5bad6cb36f72f8e', 10, 46, 23, 220, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34f0470a', 'nufflaunch', NULL, 'subform', 'obj_sf', ' ', 'nu5bad6cb36f36433', 90, 152, 328, 913, 429, '1', 'right', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, 'nuffcustomobjects', NULL, 'i', NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_object', 'nufastformobjects', 'deb_message', '1', '1', 'g', 'zzzzsys_debug', NULL, NULL, NULL, NULL, NULL, NULL, 'sob_input_attribute', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34f26ff6', 'nuobject', 'zzzzsys_object', 'html', 'nucalculator', '', 'nu5bad6cb36f99a7e', 1300, 212, 540, 151, 210, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '<table>\n  <tr>\n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\'>1</td>\n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\'>2</td> \n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\'>3</td> \n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\' title=\'Add a Space\'> </td> \n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\'> + </td>\n  </tr>\n  <tr>\n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\'>4</td>\n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\'>5</td> \n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\'>6</td> \n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\'>.</td> \n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\'> - </td> \n  </tr>\n  <tr>\n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\'>7</td>\n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\'>8</td> \n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\'>9</td> \n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\'>0</td>\n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\'> * </td>\n  </tr>\n  <tr>\n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\'> ? </td>\n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\'> : </td> \n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\'> = </td> \n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\'> ! </td> \n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\'> / </td>\n  </tr>\n  <tr>\n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\'> ( </td>\n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\'> ) </td>\n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\' colspan=3>Clear</td>\n  </tr>\n  <tr>\n    <td onclick=\'nuObjectAddToFormula(event)\'  class=\'nuCalculatorButton\' colspan=5> Math.round( </td>\n  </tr>\n</table>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34f4618a', 'nuobject', 'zzzzsys_object', 'textarea', 'sob_calc_formula', 'Formula', 'nu5bad6cb36f99a7e', 1260, 81, 80, 599, 83, '1', 'left', '0', '0', NULL, '0', 'CSS', 'padding:5px', ' +', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false, data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34f64fa1', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_table', 'Table', 'nu5bad6cb3686cb0d', 570, 35, 0, 72, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34fa79c0', 'nuformat', 'zzzzsys_format', 'select', 'srm_type', 'Input Type', 'nu5bad6cb36fcbc18', 20, 45, 110, 100, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'Number|nuNumber|\nDate|nuDate', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34fcb8ad', 'nuformat', 'zzzzsys_form', 'input', 'srm_format', 'Format', 'nu5bad6cb36fcbc18', 40, 83, 110, 394, 35, '0', 'left', '3', '1', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb34feb6d2', 'nuobject', 'zzzzsys_object', 'input', 'sob_input_javascript', 'JavaScript Array', 'nu5bad6cb36a4af06', 1100, 81, 239, 436, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3502b8ec', 'nuobject', 'zzzzsys_object', 'select', 'sob_calc_format', 'Format', 'nu5bad6cb36f99a7e', 1240, 47, 80, 143, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT \n   CONCAT(LEFT(srm_type, 1), \'|\', TRIM(srm_format)) AS a, \n   srm_format AS b \nFROM zzzzsys_format\nWHERE srm_type = \'Number\'', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3507cf3f', 'nuformat', 'zzzzsys_format', 'html', 'nucalculator', '', 'nu5bad6cb36fcbc18', 110, 218, 110, 499, 32, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '<table id=\'tof\' class=\'nuEditBody\' style=\'width:400px\'>\n  <tr>\n    <td onclick=\'nuAddToFormat(event)\'  class=\'nuCalculatorButton date\' width=\'100%\'>yy</td>\n    <td onclick=\'nuAddToFormat(event)\'  class=\'nuCalculatorButton date\' width=\'100%\'>yyyy</td>\n    <td onclick=\'nuAddToFormat(event)\'  class=\'nuCalculatorButton date\' width=\'100%\'>pp</td>\n  </tr>\n  <tr>\n    <td onclick=\'nuAddToFormat(event)\'  class=\'nuCalculatorButton date\' width=\'100%\'>dd</td>\n    <td onclick=\'nuAddToFormat(event)\'  class=\'nuCalculatorButton date\' width=\'100%\'>ddd</td> \n    <td onclick=\'nuAddToFormat(event)\'  class=\'nuCalculatorButton date\' width=\'100%\'>dddd</td> \n  </tr>\n  <tr>\n    <td onclick=\'nuAddToFormat(event)\'  class=\'nuCalculatorButton date\' width=\'100%\'>mm</td>\n    <td onclick=\'nuAddToFormat(event)\'  class=\'nuCalculatorButton date\' width=\'100%\'>mmm</td> \n    <td onclick=\'nuAddToFormat(event)\'  class=\'nuCalculatorButton date\' width=\'100%\'>mmmm</td>\n  </tr>\n  <tr>\n    <td onclick=\'nuAddToFormat(event)\'  class=\'nuCalculatorButton date\' width=\'100%\'>hh</td> \n    <td onclick=\'nuAddToFormat(event)\'  class=\'nuCalculatorButton date\' width=\'100%\'>nn</td>\n    <td onclick=\'nuAddToFormat(event)\'  class=\'nuCalculatorButton date\' width=\'100%\'>ss</td>\n  </tr>\n  <tr>\n    <td onclick=\'nuAddToFormat(event)\'  class=\'nuCalculatorButton date\' width=\'100%\'>-</td>\n    <td onclick=\'nuAddToFormat(event)\'  class=\'nuCalculatorButton date\' width=\'100%\'>:</td> \n    <td onclick=\'nuAddToFormat(event)\'  class=\'nuCalculatorButton date\' width=\'100%\'>/</td> \n  </tr>\n  <tr>\n    <td onclick=\'nuAddToFormat(event)\'  class=\'nuCalculatorButton date\' width=\'100%\'>.</td>\n    <td onclick=\'nuAddToFormat(event)\'  class=\'nuCalculatorButton date\' width=\'100%\'>Space</td> \n    <td onclick=\'nuAddToFormat(event)\'  class=\'nuCalculatorButton date\' width=\'100%\'>,</td> \n  </tr>\n</table>\n', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3513b16c', 'nuformat', 'zzzzsys_format', 'input', 'sign', 'Sign', 'nu5bad6cb36fcbc18', 70, 265, 110, 52, 30, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, '[\"$\", \"£\", \"€\", \"¢\"]', 'data-nu-nunumber-format', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3518a9c0', 'nuform', 'zzzzsys_form', 'input', 'previewbrowse', 'Preview Browse Form', 'nu5bad6cb36791fd5', 140, 89, 933, 201, 48, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3526def5', 'nuobject', 'zzzzsys_object', 'html', 'add_total', '', 'nu5bad6cb36f99a7e', 1280, 212, 80, 343, 322, '1', 'right', '0', '0', NULL, '0', 'CSS', 'overflow-y: scroll; background-color: #ebebeb', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '0', 'SELECT \n   sob_all_zzzzsys_form_id AS theform,\n   sob_all_id as b\nFROM zzzzsys_object \nWHERE sob_input_type = \'nuNumber\'\nOR sob_input_type = \'number\'\nOR sob_all_type = \'calc\'\n\nUNION \n\nSELECT \n   su.sob_all_zzzzsys_form_id AS theform,\n   CONCAT(su.sob_all_id, \'.\', inp.sob_all_id) as b\nFROM zzzzsys_object AS su\nJOIN zzzzsys_object AS inp ON su.sob_subform_zzzzsys_form_id = inp.sob_all_zzzzsys_form_id\nWHERE su.sob_all_type = \'subform\'\nAND (\n        inp.sob_input_type = \'nuNumber\' OR \n        inp.sob_input_type = \'number\' OR \n        inp.sob_all_type = \'calc\'\n    )', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3528f51c', 'nuobject', 'zzzzsys_object', 'input', 'sob_subform_table', 'Code', 'nu5bad6cb36a1c024', 970, 3, 3, 50, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb352b1230', 'nufflaunch', NULL, 'word', 'ffwrd', 'New Fast Form', 'nu5bad6cb36f36433', 140, 107, 328, 881, 22, '1', 'center', '0', '0', NULL, '0', 'CSS', 'font-weight: 700; font-size: 14px', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb352dce42', 'nufflaunch', NULL, 'input', 'fastform_table', 'Table Name', 'nu5bad6cb36f36433', 30, 59, 152, 220, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'search', NULL, 'nuFORM.getJustTables()', 'SHOW TABLES', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu683fcd85512b737', 'nualterdbcolumn', NULL, 'textarea', 'sql_query', 'SQL', 'nu683fcd855008efe', 20, 64, 65, 500, 41, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, 'spellcheck=false, data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35304ffd', 'nufastformobjects', 'zzzzsys_object', 'input', 'ff_id', '', 'nu5bad6cb36f72f8e', 30, 20, 23, 5, 22, '1', 'left', '1', '2', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3532d677', 'nufflaunch', NULL, 'input', 'new_id', 'New ID', 'nu5bad6cb36f36433', 170, 9, -4, 10, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3565664f', 'nufflaunch', NULL, 'html', 'nucalculator', '', 'nu5bad6cb36f36433', 50, 152, 16, 302, 365, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'sob_input_attribute', '0', '\n<table id=\'tof\' style=\'width:300px\'>\n  <tr>\n    <td onclick=\'nuSelectFFObjects(event)\' id=\'nu59e446589a370ca\' class=\'nuCalculatorButton nu_input\' style=\'font-size:18px\' width=\'100%\'>Text</td>\n    <td onclick=\'nuSelectFFObjects(event)\' id=\'nu59e446589ac75be\' class=\'nuCalculatorButton nu_word\' style=\'font-size:18px\' width=\'100%\'>Word</td>\n  </tr>\n  <tr>\n    <td onclick=\'nuSelectFFObjects(event)\' id=\'nu59e446589adce4d\' class=\'nuCalculatorButton nu_input\' style=\'font-size:18px\' width=\'100%\'>Button</td>\n    <td onclick=\'nuSelectFFObjects(event)\' id=\'nu59e446589b3714b\' class=\'nuCalculatorButton nu_calc\' style=\'font-size:18px\' width=\'100%\'>Calc</td>\n  </tr>\n  <tr>\n    <td onclick=\'nuSelectFFObjects(event)\' id=\'nu59e446589b4c69b\' class=\'nuCalculatorButton nu_input\' style=\'font-size:18px\' width=\'100%\'>Checkbox</td>\n    <td onclick=\'nuSelectFFObjects(event)\' id=\'nu59e446589a4d76a\' class=\'nuCalculatorButton nu_display\' style=\'font-size:18px\' width=\'100%\'>Display</td>\n  </tr>\n  <tr>\n    <td onclick=\'nuSelectFFObjects(event)\' id=\'nu59e446589bce3d7\' class=\'nuCalculatorButton nu_input\' style=\'font-size:18px\' width=\'100%\'>nuAutoNumber</td>\n    <td onclick=\'nuSelectFFObjects(event)\' id=\'nu59e446589ab1797\' class=\'nuCalculatorButton nu_lookup\' style=\'font-size:18px\' width=\'100%\'>Lookup</td>\n  </tr>\n  <tr>\n    <td onclick=\'nuSelectFFObjects(event)\' id=\'nu59e446589b61190\' class=\'nuCalculatorButton nu_input\' style=\'font-size:18px\' width=\'100%\'>nuScroll</td>\n    <td onclick=\'nuSelectFFObjects(event)\' id=\'nu59e446589a1fc46\' class=\'nuCalculatorButton nu_html\' style=\'font-size:18px\' width=\'100%\'>HTML</td>\n  </tr>\n  <tr>\n    <td onclick=\'nuSelectFFObjects(event)\' id=\'nu59e446589b0af4c\' class=\'nuCalculatorButton nu_input\' style=\'font-size:18px\' width=\'100%\'>nuDate</td>\n    <td onclick=\'nuSelectFFObjects(event)\' id=\'nu59e446589a6400f\' class=\'nuCalculatorButton nu_select\' style=\'font-size:18px\' width=\'100%\'>Select</td>\n  </tr>\n  <tr>\n    <td onclick=\'nuSelectFFObjects(event)\' id=\'nu59e446589b20a14\' class=\'nuCalculatorButton nu_input\' style=\'font-size:18px\' width=\'100%\'>nuNumber</td>\n    <td onclick=\'nuSelectFFObjects(event)\' id=\'nu59e446589a9b145\' class=\'nuCalculatorButton nu_select\' style=\'font-size:18px\' width=\'100%\'>Multiselect</td>\n  </tr>\n  <tr>\n    <td onclick=\'nuSelectFFObjects(event)\' id=\'nu59e446589af5d86\' class=\'nuCalculatorButton nu_input\' style=\'font-size:18px\' width=\'100%\'>Number</td>\n    <td onclick=\'nuSelectFFObjects(event)\' id=\'nu59e446589b75a6d\' class=\'nuCalculatorButton nu_textarea\' style=\'font-size:18px\' width=\'100%\'>Textarea</td>\n  </tr>\n  <tr>\n    <td onclick=\'nuSelectFFObjects(event)\' id=\'nu59e446589cf91a2\' class=\'nuCalculatorButton nu_input\' style=\'font-size:18px\' width=\'100%\'>File</td>\n    <td onclick=\'nuSelectFFObjects(event)\' id=\'nu59e446589d1c64d\' class=\'nuCalculatorButton nu_image\' style=\'font-size:18px\' width=\'100%\'>Image</td>\n  </tr>\n  <tr>\n    <td onclick=\'nuSelectFFObjects(event)\' id=\'nu59e44658a0c7724\' class=\'nuCalculatorButton nu_subform\' style=\'font-size:18px\' width=\'100%\' colspan=\"2\">Subform</td>\n  </tr>\n</table>\n', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3568c736', 'nufflaunch', NULL, 'input', 'run_sam', '?', 'nu5bad6cb36f36433', 160, 125, 288, 21, 21, '1', 'center', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, 'b', NULL, NULL, '-1', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb356dfe23', 'nuobject', 'zzzzsys_object', 'input', 'sob_input_count', 'Next Number', 'nu5bad6cb36a4af06', 1090, 84, 239, 156, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35724861', 'nufile', 'zzzzsys_file', 'input', 'sfi_code', 'Code', 'nu5bad6cb3719774c', 20, 110, 153, 200, 22, '1', 'left', '3', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3574909c', 'nufile', 'zzzzsys_file', 'input', 'sfi_description', 'Description', 'nu5bad6cb3719774c', 40, 137, 153, 322, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35772a8c', 'nufile', 'zzzzsys_file', 'input', 'sfi_file', 'Upload File', 'nu5bad6cb3719774c', 30, 46, 153, 322, 50, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'file', NULL, NULL, NULL, NULL, '0', '\n        <div id=\"#uppy_div#\"></div>\n\n        <script>\n\n        nuInitUppy();\n\n        function nuInitUppy() {\n\n        const $objId= $(\'#\' + \'#this_object_id#\');\n        const target = \'#\' + \'#uppy_div#\';\n\n        let uppy = nuUppyCreate();\n\n        uppy.use(Uppy.Dashboard, {\n        inline: true\n        , bundle: true\n        , height: $objId.nuCSSNumber(\'height\')\n        , width: $objId.nuCSSNumber(\'width\')\n        , target: target\n        , showProgressDetails: true\n        , replaceTargetContent: true\n        , method: \'post\'\n        })\n        .use(Uppy.XHRUpload, {\n        endpoint: \'core/nuapi.php\'\n        })\n\n        uppy.on(\'upload\', (file) => {\n        uppy.setMeta({\n        procedure: \'NUUPLOADFILE_TEMPLATE\',\n        session_id: window.nuSESSION\n        })\n        });\n\n        uppy.on(\'complete\', (result) => {\n\n        if (window.nuOnFileUploadComplete) {\n        nuOnFileUploadComplete(\'FS\', $objId.attr(\'id\'), result);\n        }\n\n        })\n\n        }\n\n        </script>\n        ', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `zzzzsys_object` (`zzzzsys_object_id`, `sob_all_zzzzsys_form_id`, `sob_all_table`, `sob_all_type`, `sob_all_id`, `sob_all_label`, `sob_all_zzzzsys_tab_id`, `sob_all_order`, `sob_all_top`, `sob_all_left`, `sob_all_width`, `sob_all_height`, `sob_all_cloneable`, `sob_all_align`, `sob_all_validate`, `sob_all_access`, `sob_all_access_condition`, `sob_all_event`, `sob_all_style_type`, `sob_all_style`, `sob_calc_formula`, `sob_calc_format`, `sob_run_zzzzsys_form_id`, `sob_run_filter`, `sob_run_method`, `sob_run_target`, `sob_run_type`, `sob_run_id`, `sob_display_sql`, `sob_display_procedure`, `sob_select_multiple`, `sob_select_2`, `sob_select_sql`, `sob_select_procedure`, `sob_lookup_code`, `sob_lookup_description`, `sob_lookup_description_width`, `sob_lookup_autocomplete`, `sob_lookup_zzzzsys_form_id`, `sob_lookup_javascript`, `sob_lookup_php`, `sob_lookup_table`, `sob_subform_zzzzsys_form_id`, `sob_subform_foreign_key`, `sob_subform_add`, `sob_subform_delete`, `sob_subform_type`, `sob_subform_table`, `sob_input_count`, `sob_input_format`, `sob_input_type`, `sob_input_icon`, `sob_input_javascript`, `sob_input_datalist`, `sob_input_attribute`, `sob_input_file_target`, `sob_html_code`, `sob_html_chart_type`, `sob_html_javascript`, `sob_html_title`, `sob_html_vertical_label`, `sob_html_horizontal_label`, `sob_image_zzzzsys_file_id`, `sob_all_json`, `sob_json`) VALUES
('nu5bad6cb357973bf', 'nufile', 'zzzzsys_file', 'html', 'view_image', 'View', 'nu5bad6cb3719774c', 80, 206, 153, 400, 400, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '<style>\nimg#theview{\n    width:100%;\n    max-width:600px;\n    max-height:600px;\n}\n</style>\n\n<img id=\"theview\">\n\n', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb357ff16d', 'nufile', 'zzzzsys_file', 'input', 'sfi_group', 'Group', 'nu5bad6cb3719774c', 60, 164, 153, 200, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3582c2ca', 'nuobject', 'zzzzsys_object', 'lookup', 'sob_image_zzzzsys_file_id', 'Image', 'nu5bad6cb371c865e', 1030, 50, 108, 150, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\nFROM zzzzsys_form\nORDER BY sfo_code', NULL, 'sfi_code', 'sfi_description', '250', NULL, 'nufile', NULL, NULL, 'zzzzsys_file', 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb359524be', 'nuprocedure', 'zzzzsys_php', 'input', 'sph_system', 'System', 'nu5bad6cb36b27343', 150, 28, 790, 100, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35977ed6', 'nudebug', 'zzzzsys_debug', 'input', 'deb_added', '', 'nu5bad6cb36bf8d38', 10, 1, 1, 100, 22, '0', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3599e41f', 'nuselect', 'zzzzsys_select', 'input', 'sse_description', 'Description', 'nu5bad6cb371e2de7', 20, 10, 469, 313, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb359e7a1a', 'nuselect', 'zzzzsys_select', 'html', 'nusvg', 'Fields and Relationships', 'nu5bad6cb371e2de7', 90, 68, 801, 500, 200, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', '<iframe id=\'sqlframe\' src=\'core/nuselect.php\' style=\'height:460px;width:700px\'></iframe>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35a0a29e', 'nuselect', 'zzzzsys_select', 'input', 'sse_resize', '', 'nu5bad6cb371e2de7', 60, 32, 1465, 35, 26, '1', 'center', '0', '0', NULL, '1', 'Class', '-nuButton -input_button nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-arrows-alt', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35a52325', 'nuselect', 'zzzzsys_select', 'select', 'addtable', 'Add Table', 'nu5bad6cb371e2de7', 50, 34, 1163, 294, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '1', 'SELECT table_name as a, table_name as b \nFROM INFORMATION_SCHEMA.TABLES \nWHERE table_schema = DATABASE()\nORDER BY table_name', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35a8885a', 'nuclause', 'zzzzsys_select_clause', 'input', 'ssc_order', 'Order', 'nu5bad6cb37296979', 50, 154, 122, 45, 22, '1', 'right', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35ab1f0a', 'nuclause', 'zzzzsys_select_clause', 'select', 'ssc_type', 'Type', 'nu5bad6cb37296979', 10, 58, 122, 100, 22, '1', 'right', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '1|WHERE|\n2|GROUP BY|\n3|ORDER BY|\n4|HAVING\n', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35ad7f0a', 'nuclause', 'zzzzsys_select_clause', 'input', 'ssc_clause', 'Clause', 'nu5bad6cb37296979', 30, 122, 122, 189, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35afa1d0', 'nuclause', 'zzzzsys_select_clause', 'input', 'ssc_field', 'Field', 'nu5bad6cb37296979', 20, 90, 122, 220, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nuScroll', NULL, 'nuFORM.selectFields()', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35b23983', 'nuselect', 'zzzzsys_select', 'subform', 'zzzzsys_select_clause_sf', 'Clauses', 'nu5bad6cb371e2de7', 80, 361, 85, 700, 160, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nuclause', 'ssc_zzzzsys_select_id', '1', '1', 'g', 'zzzzsys_select_clause', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35b51370', 'nuselect', 'zzzzsys_select', 'textarea', 'sse_sql', 'SQL', 'nu5bad6cb371e2de7', 40, 68, 86, 687, 275, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false, data-nu-mobile-max-width=300px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35b860e2', 'nuclause', 'zzzzsys_select_clause', 'select', 'ssc_sort', 'Sort', 'nu5bad6cb37296979', 40, 154, 122, 70, 22, '1', 'right', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'ASC|ASC|DESC|DESC', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35beaf10', 'nuselect', 'zzzzsys_select', 'textarea', 'sse_json', 'JSON', 'nu5bad6cb371e2de7', 70, 7, 882, 73, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35c4c4ab', 'nuselect', 'zzzzsys_select', 'select', 'sse_edit', 'SQL', 'nu5bad6cb371e2de7', 30, 38, 85, 198, 22, '1', 'center', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|From SQL Builder|\n1|Edit Manually', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35cf61c0', 'nuform', 'zzzzsys_form', 'input', 'br_sql', 'SQL Builder', 'nu5bad6cb36757b92', 280, 346, 929, 209, 30, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35d26e8f', 'nuobject', 'zzzzsys_object', 'input', 'di_sql', 'SQL Builder', 'nu5bad6cb36974818', 720, 36, 715, 218, 30, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35d48819', 'nuobject', 'zzzzsys_object', 'input', 'se_sql', 'SQL Builder', 'nu5bad6cb369a6ee3', 810, 36, 715, 218, 30, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35d6b273', 'nufastformobjects', 'zzzzsys_object', 'input', 'ff_browse', 'Browse<br>Column', 'nu5bad6cb36f72f8e', 60, 124, 23, 58, 15, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nuobject', NULL, 'b', '0', NULL, '#ff_id#', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35d8ed3e', 'nufile', 'zzzzsys_file', 'textarea', 'sfi_json', 'Upload File', 'nu5bad6cb3719774c', 90, 45, 1, 121, 50, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35dadfc5', 'nufflaunch', NULL, 'select', 'fastform_type', 'Form Type', 'nu5bad6cb36f36433', 20, 32, 152, 140, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'browseedit|Browse and Edit|\nlaunch|Launch|\nsubform|Subform|\nbrowse|Browse|\nedit|Edit', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35dd12bb', 'nufflaunch', NULL, 'word', 'wrdaddable', 'Addable Objects', 'nu5bad6cb36f36433', 40, 107, 17, 302, 22, '1', 'center', '0', '0', NULL, '0', 'CSS', 'font-weight: 700; font-size: 14px', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35e1d998', 'nusetup', 'zzzzsys_setup', 'select', 'set_language', 'Admin Language', 'nu5bad6cb36d97acd', 150, 390, 227, 128, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '%LANGUAGES%', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_timezone', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35f2188f', 'nufrlaunch', 'zzzzsys_report', 'lookup', 'table', 'Table Data', 'nu5bad6cb3737e773', 20, 32, 138, 150, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, 'srd_code', 'srd_description', '220', NULL, 'nubuildtable', 'nuFRSetData();', NULL, 'zzzzsys_report_data', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35f5d25f', 'nufastreportobjects', 'zzzzsys_debug', 'input', 'width', 'Width', 'nu5bad6cb3734c18f', 30, 339, 295, 70, 22, '1', 'right', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35f8e8f3', 'nufrlaunch', NULL, 'html', 'list', '', 'nu5bad6cb3737e773', 50, 161, 72, 324, 406, '1', 'left', '0', '1', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', NULL, NULL, NULL, NULL, NULL, '0', '<div id=\'nufr\' style=\'overflow-y: scroll;height:250px;width:317px\'></div>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35fafc15', 'nufrlaunch', NULL, 'subform', 'fast_report_sf', ' ', 'nu5bad6cb3737e773', 80, 162, 428, 592, 406, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nufastreportobjects', 'deb_message', '1', '1', 'g', 'zzzzsys_debug', '89', NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35fcf854', 'nufrlaunch', NULL, 'input', 'fieldlist', 'list', 'nu5bad6cb3737e773', 60, 32, 44, 400, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'text', NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb35ff457a', 'nufrlaunch', NULL, 'word', 'wrdaddable', 'Available Fields', 'nu5bad6cb3737e773', 40, 114, 72, 324, 22, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb36018343', 'nufrlaunch', NULL, 'word', 'frwrd', 'New Fast Report', 'nu5bad6cb3737e773', 70, 114, 428, 592, 22, '1', 'center', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3604269d', 'nufastreportobjects', 'zzzzsys_debug', 'input', 'title', 'Title', 'nu5bad6cb3734c18f', 10, 300, 300, 196, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3608c14b', 'nufastreportobjects', 'zzzzsys_debug', 'input', 'sum', 'Sum', 'nu5bad6cb3734c18f', 30, 339, 295, 16, 18, '1', 'center', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3618939f', 'nufastreportobjects', 'zzzzsys_debug', 'input', 'field', 'Field Name', 'nu5bad6cb3734c18f', 20, 210, 289, 240, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb361c6536', 'nusamplesubformform', NULL, 'input', 'todo', 'To Do List', 'nu5bad6cb37405d73', 50, 50, 150, 242, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3625fd05', 'nuprocedure', 'zzzzsys_php', 'html', 'icon', '', 'nu5bad6cb36b27343', 100, 64, 36, 43, 39, '1', 'left', '0', '0', NULL, '0', 'CSS', 'background-size: 40px 37px;', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', '<div></div>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb36283501', 'nuobject', 'zzzzsys_object', 'html', 'icon_lujs', '', 'nu5bad6cb369d0088', 850, 221, 61, 44, 39, '1', 'left', '0', '0', NULL, '1', 'CSS', 'background-size: 40px 37px;', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '<div></div>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb362a86e6', 'nuform', 'zzzzsys_form', 'html', 'icon_js', '', 'nu5bad6cb37026348', 470, 40, 110, 43, 40, '1', 'left', '0', '0', NULL, '0', 'CSS', 'background-size: 40px 37px;', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', '<div></div>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb362c74c4', 'nutab', 'zzzzsys_tab', 'input', 'syt_help', 'Help', 'nu5bad6cb36c9250f', 30, 52, 100, 540, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb362e7e3f', 'nufrlaunch', NULL, 'calc', 'used', 'Used', 'nu5bad6cb3737e773', 90, 590, 950, 70, 22, '1', 'right', '1', '0', NULL, '0', NULL, NULL, 'nuTotal(\'fast_report_sf.width\')', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'no|No|yes|Yes', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb36308045', 'nufrlaunch', NULL, 'calc', 'remaining', 'Remaining', 'nu5bad6cb3737e773', 100, 621, 950, 70, 22, '1', 'right', '1', '0', NULL, '0', NULL, NULL, '1150 - nuTotal(\'fast_report_sf.width\')', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'no|No|yes|Yes', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb36334ee9', 'nufrlaunch', NULL, 'select', 'orderby', 'Order By', 'nu5bad6cb3737e773', 30, 64, 138, 256, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', ' |', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb363bb5b7', 'nuobject', 'zzzzsys_object', 'select', 'sob_html_chart_type', 'Chart Type', 'nu68653b5f3a91277', 1170, 58, 148, 327, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'p|Pie Graph|\nl|Line Graph|\nb|Bar Graph|\nbs|Bar Graph - Stacked|\nbh|Bar Graph - Horizontal|\nbhs|Bar Graph - Horizontal and Stacked\n\n\n\n', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3647b4cb', 'nuobject', 'zzzzsys_object', 'input', 'sob_html_title', 'Title', 'nu68653b5f3a91277', 1190, 116, 148, 327, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb364add63', 'nuobject', 'zzzzsys_object', 'input', 'sob_html_vertical_label', 'Vertical Label', 'nu68653b5f3a91277', 1200, 147, 148, 327, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb36568f2b', 'nuobject', 'zzzzsys_object', 'input', 'sob_html_horizontal_label', 'Horizontal Label', 'nu68653b5f3a91277', 1210, 177, 148, 327, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3658e2e6', 'nuobject', 'zzzzsys_object', 'input', 'sob_html_javascript', 'JavaScript Array', 'nu68653b5f3a91277', 1180, 87, 148, 327, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb366a1df1', 'nuobject', 'zzzzsys_object', 'chart', 'google_chart', '', 'nu68653b5f3a91277', 1220, 38, 612, 350, 192, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '<style>\n.bordered-div {\n    position: absolute; \n    top: 0;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    border: 1px solid lightgrey;\n    width: 300px;\n    height: 200px;\n}\n</style>\n\n<div class=\"bordered-div\"></div>', 'b', '[[\'Month\', \'Shane\', \'Dave\', \'Adam\', \'Paul\', \'Chris\'],[\'2019\', 100, 200, 300, 400, 500],[\'2020\', 165, 238, 322, 498, 550],[\'2021\', 165, 938, 522, 998, 450],[\'2022\', 135, 1120, 599, 1268, 288],]', '1', '2', '3', NULL, NULL, NULL),
('nu5bad6cb366e865e', 'nufflaunch', NULL, 'input', 'fastform_fk', 'Foreign Key Field Name', '[REDACTED]', 110, 59, 1028, 178, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, 'nuFORM.getTables()', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3670b7db', 'nubuildreport', 'zzzzsys_report', 'input', 'open_sql', 'Open', 'nu5bad6cb36804778', 60, 139, 667, 58, 22, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bd10c9148543a6', 'nuaccess', 'zzzzsys_access', 'input', 'sal_description', 'Description', 'nu5bad6cb36ac903f', 40, 120, 156, 326, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bef30c4f282d05', 'nufile', 'zzzzsys_file', 'html', 'corner', '', 'nu5bad6cb3719774c', 70, 546, 520, 14, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '<div></div>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5dcf3068d69ee0a', 'nuprocedure', 'zzzzsys_php', 'input', 'sph_hide', 'Hide', 'nu5bad6cb36b27343', 120, 0, 0, 100, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu683fcd855118cd4', 'nualterdbcolumn', NULL, 'word', 'sql_query_word', '<n></n>', 'nu683fcd855008efe', 10, 37, 70, 500, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5f711b9351ae752', 'nucsvtransfer', NULL, 'select', 'csv_transfer', 'Action', 'nu5f711b9343afdbd', 20, 69, 198, 170, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'export|Export to CSV File|import|Import from CSV File', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5f711b9352a6c59', 'nucsvtransfer', NULL, 'input', 'csv_from', '_________________________', 'nu5f711b9343afdbd', 30, 135, 198, 300, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, '[1,2,3,4]', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5f711b9353c3c52', 'nucsvtransfer', NULL, 'select', 'csv_delimiter', 'Delimiter', 'nu5f711b9343afdbd', 40, 163, 198, 100, 22, '1', 'center', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '44|Comma|9|Tab|59|Semicolon', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5f711b9354c1105', 'nucsvtransfer', NULL, 'input', 'csv_to', '_________________________', 'nu5f711b9343afdbd', 50, 191, 198, 300, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5f9aaac962c91dd', 'nucloner', 'zzzzsys_cloner', 'lookup', 'clo_form_source', 'Form', 'nu5f9aaac95bc52e7', 40, 69, 121, 215, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, 'sfo_code', 'sfo_description', '335', NULL, 'nuform', 'nuRefreshSelectObject(\'clo_tabs\');\nnuRefreshSelectObject(\'clo_subforms\');\nnuRefreshSelectObject(\'clo_iframe_forms\');', NULL, 'zzzzsys_form', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5f9aaac963362ca', 'nucloner', 'zzzzsys_cloner', 'lookup', 'clo_form_dest', 'Form', 'nu5f9aaac95bc52e7', 100, 287, 121, 216, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, 'sfo_code', 'sfo_description', '250', NULL, 'nuform', NULL, NULL, 'zzzzsys_form', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5f9aaac963ecc49', 'nucloner', 'zzzzsys_cloner', 'input', 'clo_dump', 'Dump SQL Statements', 'nu5f9aaac95bc52e7', 130, 397, 561, 18, 22, '1', 'right', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5f9aaac9644de7e', 'nucloner', 'zzzzsys_cloner', 'input', 'clo_objects', 'Without Objects', 'nu5f9aaac95bc52e7', 120, 397, 237, 18, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5f9ab0d78bb5520', 'nucloner', 'zzzzsys_cloner', 'select', 'clo_tabs', 'Tabs', 'nu5f9aaac95bc52e7', 50, 126, 121, 175, 96, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '0', 'SELECT `zzzzsys_tab_id`, `syt_title` FROM `zzzzsys_tab` \nLEFT JOIN zzzzsys_form on syt_zzzzsys_form_id = zzzzsys_form_id\nWHERE zzzzsys_form_id = \'#clo_form_source#\'\nORDER BY `syt_order`', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5f9ab47bbbe2540', 'nucloner', 'zzzzsys_cloner', 'html', 'clo_style', '', 'nu5f9aaac95bc52e7', 170, 18, 45, 18, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '<style>\n\nselect[multiple]{\n    box-sizing: content-box;\n    padding: 0 0 0 8px;\n}\n\n\n</style>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5f9ab63acc9fd0f', 'nucloner', 'zzzzsys_cloner', 'input', 'clo_notes', 'Notes', 'nu5f9aaac95bc52e7', 160, 497, 179, 400, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=250px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5f9ab977463753f', 'nucloner', 'zzzzsys_cloner', 'word', 'clo_form_dest_note', 'Leave blank to create a new form', 'nu5f9aaac95bc52e7', 110, 317, 121, 350, 22, '1', 'left', '0', '0', NULL, '0', 'CSS', 'font-weight: normal; font-size: smaller', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5f9d4ce275c966a', 'nucloner', 'zzzzsys_cloner', 'input', 'clo_new_pks', 'Generate new PKs', 'nu5f9aaac95bc52e7', 140, 427, 561, 18, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fa0ff78688e2c5', 'nucloner', 'zzzzsys_cloner', 'select', 'clo_subforms', 'Subforms', 'nu5f9aaac95bc52e7', 70, 126, 323, 175, 96, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '0', 'SELECT \n    sob_subform_zzzzsys_form_id, sob_all_id\n    FROM zzzzsys_object \nWHERE sob_all_zzzzsys_form_id = \'#clo_form_source#\' AND sob_all_type = \'subform\'', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fa249be5df47ad', 'nucloner', 'zzzzsys_cloner', 'input', 'clo_subforms_include', '', 'nu5f9aaac95bc52e7', 60, 104, 323, 14, 14, '1', 'right', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fa2751ed4195b7', 'nucloner', 'zzzzsys_cloner', 'select', 'clo_iframe_forms', 'IFrame forms', 'nu5f9aaac95bc52e7', 90, 126, 525, 175, 96, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '0', 'SELECT \n    `sob_run_zzzzsys_form_id`, sob_all_id\nFROM zzzzsys_object \nWHERE sob_all_zzzzsys_form_id =  \'#clo_form_source#\' AND sob_all_type = \'Run\'\nAND sob_run_method = \'i\' AND IFNULL(sob_run_zzzzsys_form_id,\'\') <> \'\'', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fa959f97244564', 'nucloner', 'zzzzsys_cloner', 'input', 'clo_iframe_forms_include', '', 'nu5f9aaac95bc52e7', 80, 105, 525, 14, 14, '1', 'right', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fab2f8952634e4', 'nuformat', 'zzzzsys_format', 'input', 'separator', 'Separator', 'nu5bad6cb36fcbc18', 80, 305, 110, 52, 30, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, '[\",\", \".\", \"\'\"]', 'data-nu-nunumber-format', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fab2fa48a504e4', 'nuformat', 'zzzzsys_format', 'input', 'decimal', 'Decimal', 'nu5bad6cb36fcbc18', 90, 346, 110, 52, 30, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, '[\".\", \",\"]', 'data-nu-nunumber-format', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fab2fb6e66f19b', 'nuformat', 'zzzzsys_format', 'input', 'places', 'Places', 'nu5bad6cb36fcbc18', 100, 382, 110, 52, 30, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, '[\"0\", \"1\", \"2\", \"3\", \"4\"]', 'data-nu-nunumber-format', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fab3e0f07cd2d8', 'nuformat', 'zzzzsys_format', 'input', 'srm_currency', '', 'nu5bad6cb36fcbc18', 30, 45, 318, 100, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fcef1492efb5a5', 'nuuser', 'zzzzsys_user', 'input', 'sus_code', 'Code', 'nu5bad6cb36b63cae', 160, 408, 219, 153, 22, '0', 'left', '3', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"505\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu5fcef37de94381d', 'nuuser', 'zzzzsys_user', 'input', 'sus_team', 'Team', 'nu5bad6cb36b63cae', 170, 435, 219, 329, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"555\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu5fcef39d0232810', 'nuuser', 'zzzzsys_user', 'input', 'sus_position', 'Position', 'nu5bad6cb36b63cae', 190, 489, 219, 329, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"655\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu5fd29810a6409bc', 'nunotes', 'zzzzsys_note', 'input', 'not_title', 'Title', 'nu5fd29810a60df91', 10, 26, 26, 585, 22, '0', 'left', '3', '0', NULL, '0', 'CSS', 'color: maroon; padding-left: 8; font-weight: bold; font-size: 15px', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fd29810a644544', 'nunotes', 'zzzzsys_note', 'input', 'not_updated_on', 'Updated on', 'nu5fd29810a60df91', 40, 26, 1050, 133, 22, '0', 'left', '0', '1', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fd29810a646742', 'nunotes', 'zzzzsys_note', 'editor', 'not_content', 'Content', 'nu5fd29810a60df91', 30, 65, 26, 1167, 460, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fd3a61c5abb1b7', 'nunotes', 'zzzzsys_note', 'lookup', 'not_zzzzsys_note_category_id', 'Category', 'nu5fd29810a60df91', 20, 26, 648, 214, 24, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, 'noc_name', 'noc_name', '0', NULL, 'nunotescategroy', NULL, NULL, 'zzzzsys_note_category', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fd3b22f8c32954', 'nunotescategroy', 'zzzzsys_note_category', 'input', 'noc_name', 'Name', 'nu5fd6f697276396f', 10, 38, 101, 150, 22, '1', 'left', '3', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fd498c9745563b', 'nuuser', 'zzzzsys_user', 'input', 'sus_additional1', 'Additional 1', 'nu5bad6cb36b63cae', 200, 516, 219, 329, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"705\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu5fd498d66e837da', 'nuuser', 'zzzzsys_user', 'input', 'sus_additional2', 'Additional 2', 'nu5bad6cb36b63cae', 210, 543, 219, 329, 24, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"755\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu5fd6f7819d659bc', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_cloneable_btn_yes', 'Yes', 'nu5bad6cb3686cb0d', 480, 428, 364, 60, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', '✔', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fd6f828a1e42b1', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_cloneable_btn_no', 'No', 'nu5bad6cb3686cb0d', 490, 428, 434, 60, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', '✖', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fd6fa0428adcd3', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_align_btn_left', '|Left', 'nu5bad6cb3686cb0d', 410, 370, 364, 130, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-align-left', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fd6fbe95c2c61d', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_align_btn_right', 'Right', 'nu5bad6cb3686cb0d', 420, 370, 509, 130, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-align-right', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fd6fc4a7ccf484', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_align_btn_center', 'Center', 'nu5bad6cb3686cb0d', 430, 370, 655, 130, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-align-center', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fd6fdad38e8f5d', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_validate_btn_no_blanks', 'No Blanks', 'nu5bad6cb3686cb0d', 450, 399, 509, 130, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-battery-full', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fd6fddae953fd3', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_access_btn_hidden', 'Hidden', 'nu5bad6cb3686cb0d', 400, 341, 655, 130, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-eye-slash', NULL, NULL, 'data-nu-mobile-hidden,nu-access-button', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fd6ff14ad0870d', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_access_btn_editable', 'Editable', 'nu5bad6cb3686cb0d', 380, 341, 364, 130, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-edit', NULL, NULL, 'data-nu-mobile-hidden,nu-access-button', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fd6ff6a0ef6017', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_access_btn_readonly', 'Readonly', 'nu5bad6cb3686cb0d', 390, 341, 509, 130, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-lock', NULL, NULL, 'data-nu-mobile-hidden,nu-access-button', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `zzzzsys_object` (`zzzzsys_object_id`, `sob_all_zzzzsys_form_id`, `sob_all_table`, `sob_all_type`, `sob_all_id`, `sob_all_label`, `sob_all_zzzzsys_tab_id`, `sob_all_order`, `sob_all_top`, `sob_all_left`, `sob_all_width`, `sob_all_height`, `sob_all_cloneable`, `sob_all_align`, `sob_all_validate`, `sob_all_access`, `sob_all_access_condition`, `sob_all_event`, `sob_all_style_type`, `sob_all_style`, `sob_calc_formula`, `sob_calc_format`, `sob_run_zzzzsys_form_id`, `sob_run_filter`, `sob_run_method`, `sob_run_target`, `sob_run_type`, `sob_run_id`, `sob_display_sql`, `sob_display_procedure`, `sob_select_multiple`, `sob_select_2`, `sob_select_sql`, `sob_select_procedure`, `sob_lookup_code`, `sob_lookup_description`, `sob_lookup_description_width`, `sob_lookup_autocomplete`, `sob_lookup_zzzzsys_form_id`, `sob_lookup_javascript`, `sob_lookup_php`, `sob_lookup_table`, `sob_subform_zzzzsys_form_id`, `sob_subform_foreign_key`, `sob_subform_add`, `sob_subform_delete`, `sob_subform_type`, `sob_subform_table`, `sob_input_count`, `sob_input_format`, `sob_input_type`, `sob_input_icon`, `sob_input_javascript`, `sob_input_datalist`, `sob_input_attribute`, `sob_input_file_target`, `sob_html_code`, `sob_html_chart_type`, `sob_html_javascript`, `sob_html_title`, `sob_html_vertical_label`, `sob_html_horizontal_label`, `sob_image_zzzzsys_file_id`, `sob_all_json`, `sob_json`) VALUES
('nu5fd757f9266ea99', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_validate_btn_none', 'None', 'nu5bad6cb3686cb0d', 440, 399, 364, 130, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-globe', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fd7583fbdb0750', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_validate_btn_no_duplicates', 'No Duplicates', 'nu5bad6cb3686cb0d', 460, 399, 656, 130, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-gem', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdb1b5b3b7b123', 'nucodesnippet', 'zzzzsys_code_snippet', 'input', 'cot_code', 'Code', 'nu5fdb1b5b254566f', 20, 38, 165, 354, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=200px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdb1b5b3c86d2c', 'nucodesnippet', 'zzzzsys_code_snippet', 'textarea', 'cot_source_code', 'Source Code', 'nu5fdb1b5b254566f', 80, 320, 165, 661, 271, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false, data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdb1b5b3d70508', 'nucodesnippet', 'zzzzsys_code_snippet', 'select', 'cot_language', 'Language', 'nu5fdb1b5b254566f', 60, 200, 165, 110, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '[\"JavaScript\",\"PHP\",\"SQL\",\"CSS\",\"HTML\",\"Other\"]', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdb1b5b3e7727c', 'nucodesnippet', 'zzzzsys_code_snippet', 'select', 'cot_scope', 'Selectable in', 'nu5fdb1b5b254566f', 70, 234, 165, 195, 75, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '0', '0|Forms / Custom Code|1|Setup / Header|2|SQL|3|Procedures/PHP', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdb1f7a0731ba4', 'nucodesnippet', 'zzzzsys_code_snippet', 'textarea', 'cot_description', 'Description', 'nu5fdb1b5b254566f', 40, 106, 165, 659, 40, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false, data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdb21b2b2daac4', 'nucodesnippet', 'zzzzsys_code_snippet', 'input', 'cot_url', 'URL', 'nu5fdb1b5b254566f', 50, 166, 165, 663, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdb22ce4a13271', 'nuform', 'zzzzsys_form', 'lookup', 'sfo_code_snippet_lookup', 'Insert-Snippet', 'nu5bad6cb37026348', 500, 29, 1091, 2, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\nFROM zzzzsys_form\nORDER BY sfo_code', NULL, 'cot_code', 'cot_source_code', '0', NULL, 'nucodesnippet', 'var c = $(\'#sfo_code_snippet_paste\').val();\n\nif (c !== \'\') {\n   nuInsertTextAtCaret(nuGetProperty(\'js\'), c);\n   $(\'#sfo_code_snippet_lookupcode\').val(\'\');\n}\n\n\n\n', NULL, 'zzzzsys_code_snippet', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdb25fd26d5e87', 'nuform', 'zzzzsys_form', 'textarea', 'sfo_code_snippet_paste', '', 'nu5bad6cb37026348', 510, 9, 710, 40, 40, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false,data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdb9ff762770', 'nuform', 'zzzzsys_access', 'subform', 'accform', ' ', 'nu5fdb9ff026348', 520, 46, 18, 1168, 431, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nu5fdb9ffd45efe', 'slf_zzzzsys_form_id', '1', '1', 'g', 'zzzzsys_access_form', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdb9ffe0330e', 'nu5fdb9ffd45efe', NULL, 'lookup', 'slf_zzzzsys_access_id', 'Access Level', 'nu5fdb9ffd6fbca', 10, 20, 250, 280, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, 'sal_code', 'sal_description', '300', NULL, 'nuaccess', NULL, NULL, 'zzzzsys_access', NULL, NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdb9ffe110d9', 'nu5fdb9ffd45efe', NULL, 'input', 'slf_add_button', 'Add', 'nu5fdb9ffd6fbca', 20, 46, 79, 53, 15, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_form', 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, 'title=\"Add\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu684d39763a58de4', 'nuhome', NULL, 'run', 'run_add_access', 'Access Level', '[REDACTED]', 340, 113, 67, 236, 30, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nuaccess', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-unlock', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdb9ffe1eb04', 'nu5fdb9ffd45efe', NULL, 'input', 'slf_save_button', 'Save', 'nu5fdb9ffd6fbca', 40, 118, 79, 53, 15, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_form', 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, 'title=\"Save\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdb9ffe2bdb4', 'nu5fdb9ffd45efe', NULL, 'input', 'slf_delete_button', 'Delete', 'nu5fdb9ffd6fbca', 60, 94, 79, 53, 15, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_form', 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, 'title=\"Delete\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu68483941bf1014d', 'nuform', 'zzzzsys_form', 'select', 'sfo_browse_target', 'Target', 'nu5bad6cb36757b92', 260, 320, 696, 213, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|New Breadcrumb|\n1|Current Breadcrumb|\n2|New tab|\n3|Popup', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdb9ffe390f2', 'nu5fdb9ffd45efe', NULL, 'input', 'slf_clone_button', 'Clone', 'nu5fdb9ffd6fbca', 50, 70, 79, 53, 15, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_form', 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, 'title=\"Clone\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdb9ffe4b29b', 'nu5fdb9ffd45efe', NULL, 'input', 'slf_print_button', 'Print', 'nu5fdb9ffd6fbca', 30, 22, 79, 53, 15, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_form', 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, 'title=\"Print\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdba6246ffc449', 'nusetup', 'zzzzsys_setup', 'input', 'set_denied', 'Access denied', '[REDACTED]', 160, 426, 227, 16, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_timezone', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdbb4226426ddb', 'nusetup', 'zzzzsys_setup', 'lookup', 'set_code_snippet_lookup', 'Insert-Snippet', 'nu5bad6cb36e9143a', 20, 39, 71, 2, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\nFROM zzzzsys_form\nORDER BY sfo_code', NULL, 'cot_code', 'cot_source_code', '0', NULL, 'nucodesnippet', '\nvar c = $(\'#set_code_snippet_paste\').val();\n\nif (c !== \'\') {\n   nuInsertTextAtCaret(\'set_header\', c);\n   $(\'#set_code_snippet_lookupcode\').val(\'\');\n}\n\n\n\n', NULL, 'zzzzsys_code_snippet', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdbb8c159f4b90', 'nusetup', 'zzzzsys_setup', 'textarea', 'set_code_snippet_paste', '', 'nu5bad6cb36e9143a', 40, 125, 924, 40, 40, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false,data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdbcb7f8f7e8a4', 'nucodesnippet', 'zzzzsys_code_snippet', 'input', 'cot_updated_on', 'Updated on', 'nu5fdb1b5b254566f', 90, 38, 700, 128, 22, '1', 'left', '0', '1', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdbd25d14019', 'nu5fdb9ffd45aaa', 'zzzzsys_object', 'select', 'sob_all_type', 'Type', 'nu5fdb9ffd6faaa', 40, 60, 83, 140, 20, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'calc|Calc|\ndisplay|Display|\ncontentbox|ContentBox|\neditor|WYSIWYG Editor|\nhtml|HTML|\nimage|Image|\ninput|Input|\nlookup|Lookup|\nrun|Run|\nselect|Select|\nsubform|Subform|\ntextarea|Textarea|\nword|Word', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdbd25d140ab', 'nu5fdb9ffd45aaa', 'zzzzsys_object', 'select', 'sob_all_zzzzsys_tab_id', 'Tab', 'nu5fdb9ffd6faaa', 10, 86, 83, 140, 20, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_tab_id,syt_title FROM zzzzsys_tab WHERE \nsyt_zzzzsys_form_id in (\'#record_id#\')', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdbd25d14189', 'nu5fdb9ffd45aaa', 'zzzzsys_object', 'input', 'sob_all_id', 'ID', 'nu5fdb9ffd6faaa', 30, 113, 83, 230, 20, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nuScroll', NULL, 'nuFORM.tableSchema[$(\"#sob_all_table\").val()]?nuFORM.tableSchema[$(\"#sob_all_table\").val()].names:[]', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdbd25d142ab', 'nu5fdb9ffd45aaa', 'zzzzsys_object', 'input', 'sob_all_label', 'Label', 'nu5fdb9ffd6faaa', 50, 86, 83, 180, 20, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdbd25d144e1', 'nu5fdb9ffd45aaa', 'zzzzsys_object', 'input', 'sob_all_top', 'Top', 'nu5fdb9ffd6faaa', 70, 142, 83, 50, 20, '1', 'right', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdbd25d145fd', 'nu5fdb9ffd45aaa', 'zzzzsys_object', 'input', 'sob_all_left', 'Left', 'nu5fdb9ffd6faaa', 80, 169, 83, 50, 20, '1', 'right', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdbd25d1470e', 'nu5fdb9ffd45aaa', 'zzzzsys_object', 'input', 'sob_all_width', 'Width', 'nu5fdb9ffd6faaa', 90, 142, 200, 50, 20, '1', 'right', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdbd25d14825', 'nu5fdb9ffd45aaa', 'zzzzsys_object', 'input', 'sob_all_height', 'Height', 'nu5fdb9ffd6faaa', 100, 169, 200, 50, 20, '1', 'right', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdbd25d1496d', 'nu5fdb9ffd45aaa', 'zzzzsys_object', 'select', 'sob_all_cloneable', 'Cloneable', 'nu5fdb9ffd6faaa', 110, 142, 344, 66, 20, '1', 'right', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|No|1|Yes', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdbd25d14a7a', 'nu5fdb9ffd45aaa', 'zzzzsys_object', 'select', 'sob_all_align', 'Align', 'nu5fdb9ffd6faaa', 120, 169, 344, 66, 20, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'left|Left|right|Right|center|Center', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdbd25d14b7c', 'nu5fdb9ffd45aaa', 'zzzzsys_object', 'select', 'sob_all_validate', 'Validation', 'nu5fdb9ffd6faaa', 130, 142, 504, 110, 20, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|None|1|No Blanks|2|No Duplicates|3|No Blanks/Duplicates', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdbd25d14ca4', 'nu5fdb9ffd45aaa', 'zzzzsys_object', 'select', 'sob_all_access', 'Access', 'nu5fdb9ffd6faaa', 140, 169, 504, 105, 20, '1', 'right', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|Editable|\n1|Readonly|\n2|Hidden|\n3|Hidden (User)|\n4|Hidden (User) + Readonly', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdbd8ae17c40b9', 'nuobject', 'zzzzsys_object', 'lookup', 'sob_code_snippet_display_lookup', 'Insert-Snippet', 'nu5bad6cb36974818', 680, 79, 884, 5, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\nFROM zzzzsys_form\nORDER BY sfo_code', NULL, 'cot_code', 'cot_source_code', '0', NULL, 'nucodesnippet', '\nvar c = $(\'#sob_code_snippet_paste\').val();\n\nif (c !== \'\') {\n   nuInsertTextAtCaret(\'sob_display_sql\', c);\n   $(\'#sob_code_snippet_display_lookupcode\').val(\'\');\n}\n\n\n', NULL, 'zzzzsys_code_snippet', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdbd8ea4333ed2', 'nuobject', 'zzzzsys_object', 'textarea', 'sob_code_snippet_paste', '', 'nu5bad6cb36974818', 690, 69, 884, 5, 22, '1', 'right', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\nFROM zzzzsys_form\nORDER BY sfo_code', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false,data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdbdaee571fbb3', 'nuobject', 'zzzzsys_object', 'lookup', 'sob_code_snippet_select_lookup', 'Insert-Snippet', 'nu5bad6cb369a6ee3', 820, 79, 885, 5, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\nFROM zzzzsys_form\nORDER BY sfo_code', NULL, 'cot_code', 'cot_source_code', '0', NULL, 'nucodesnippet', '\nvar c = $(\'#sob_code_snippet_paste\').val();\n\nif (c !== \'\') {\n   nuInsertTextAtCaret(\'sob_select_sql\', c);\n   $(\'#sob_code_snippet_select_lookupcode\').val(\'\');\n}\n\n\n', NULL, 'zzzzsys_code_snippet', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdbe049f365a', 'nu5fdb9ffd45aaa', 'zzzzsys_object', 'input', 'btnOpenDetails', '<i class=\"fa fa-ellipsis-v\" aria-hidden=\"true\"></i>', 'nu5fdb9ffd6faaa', 150, 247, 146, 45, 20, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdcde23d2db265', 'nuform', 'zzzzsys_form', 'input', 'width_setter', '°°', 'nu5bad6cb36791fd5', 170, 42, 1040, 30, 22, '1', 'left', '0', '2', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdcef9a8e8c47c', 'nuform', 'zzzzsys_form', 'lookup', 'sfo_code_snippet_sql_lookup', 'Insert-Snippet', 'nu5bad6cb36757b92', 270, 351, 136, 2, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\nFROM zzzzsys_form\nORDER BY sfo_code', NULL, 'cot_code', 'cot_source_code', '0', NULL, 'nucodesnippet', 'var c = $(\'#sfo_code_snippet_paste\').val();\n\nif (c !== \'\') {\n   nuInsertTextAtCaret(\'sfo_browse_sql\', c);\n   $(\'#sfo_code_snippet_sql_lookupcode\').val(\'\');\n}\n\n\n\n', NULL, 'zzzzsys_code_snippet', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fddb0a817e8bc2', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_id_datatype', 'Data Type', 'nu5bad6cb3686cb0d', 100, 122, 159, 157, 22, '1', 'left', '0', '1', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fde5c8f1e64a86', 'nuselect', 'zzzzsys_select', 'lookup', 'sse_code_snippet_lookup', 'Insert-Snippet', 'nu5bad6cb371e2de7', 100, 39, 743, 5, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\nFROM zzzzsys_form\nORDER BY sfo_code', NULL, 'cot_code', 'cot_source_code', '0', NULL, 'nucodesnippet', '\nvar c = $(\'#sse_code_snippet_paste\').val();\n\nif (c !== \'\') {\n   nuInsertTextAtCaret(\'sse_sql\', c);\n   $(\'#sse_code_snippet_lookupcode\').val(\'\');\n}\n\n\n', NULL, 'zzzzsys_code_snippet', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fde5d5ad6f69ec', 'nuselect', 'zzzzsys_select', 'textarea', 'sse_code_snippet_paste', '', 'nu5bad6cb371e2de7', 110, 21, 1093, 5, 22, '1', 'right', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\nFROM zzzzsys_form\nORDER BY sfo_code', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false,data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdfbfcaeea14a6', 'nuuser', 'zzzzsys_user', 'input', 'sus_expires_on', 'Expires On', 'nu5bad6cb36b63cae', 220, 574, 219, 84, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'D|yyyy-mm-dd', 'nuDate', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"805\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu5fe034cd38a5270', 'nuuser', 'zzzzsys_user', 'input', 'sus_department', 'Department', 'nu5bad6cb36b63cae', 180, 462, 219, 329, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"605\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu684d3aab96bff45', 'nuhome', NULL, 'run', 'run_add_file', 'File', 'nu684d390a5e73fd1', 400, 113, 399, 236, 30, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nufile', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-image', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu684d3afb4e8793b', 'nuhome', NULL, 'run', 'run_add_item', 'Item', 'nu684d390a5e73fd1', 380, 316, 67, 236, 30, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nuitem', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa fa-list', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fe0547b82db3de', 'nuauthentication', NULL, 'input', 'auth_code', 'Code', 'nu5fe0547b76e25d6', 40, 316, 167, 150, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fe0547b841fb32', 'nuauthentication', NULL, 'input', 'auth_verify_btn', 'Verify', 'nu5fe0547b76e25d6', 50, 347, 167, 117, 22, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fe19f9d396cc05', 'nusetup', 'zzzzsys_setup', 'display', 'set_db_version', 'DB', 'nu5fe19e93306dd6e', 320, 119, 113, 149, 22, '1', 'center', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'SELECT `inf_details` FROM `zzzzsys_info` WHERE `inf_code` = \'nuDBVersion\'', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fe19fb39693948', 'nusetup', 'zzzzsys_setup', 'display', 'set_files_version', 'Files', 'nu5fe19e93306dd6e', 350, 152, 113, 149, 22, '1', 'center', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'SELECT `inf_details` FROM `zzzzsys_info` WHERE `inf_code` = \'nuFilesVersion\'', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fe1a0f0c355360', 'nusetup', 'zzzzsys_setup', 'display', 'set_db_version_user', 'DB Version', 'nu5bad6cb36d97acd', 110, 75, 227, 140, 22, '1', 'center', '0', '1', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'SELECT `inf_details` FROM `zzzzsys_info` WHERE `inf_code` = \'nuDBVersion\'', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fe1a1310d52cd7', 'nusetup', 'zzzzsys_setup', 'display', 'set_files_version_user', 'Files Version', 'nu5bad6cb36d97acd', 120, 102, 227, 140, 22, '1', 'center', '0', '1', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'SELECT `inf_details` FROM `zzzzsys_info` WHERE `inf_code` = \'nuFilesVersion\'', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fe1aeac3363ae7', 'nusetup', 'zzzzsys_setup', 'input', 'set_db_version_inc_btn', '', 'nu5fe19e93306dd6e', 330, 118, 281, 33, 21, '1', 'center', '1', '0', NULL, '1', 'Class', '-nuButton -input_button nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-plus', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fe1af2e2b4455a', 'nusetup', 'zzzzsys_setup', 'input', 'set_db_version_inc', 'DB New', 'nu5fe19e93306dd6e', 340, 119, 413, 149, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', 'fa-solid fa-adjust', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fe1b155aed9e46', 'nusetup', 'zzzzsys_setup', 'input', 'set_files_version_inc_btn', '', 'nu5fe19e93306dd6e', 360, 152, 281, 33, 21, '1', 'center', '1', '0', NULL, '1', 'Class', '-nuButton -input_button nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-plus', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fe1b199e2c233e', 'nusetup', 'zzzzsys_setup', 'input', 'set_files_version_inc', 'Files New', 'nu5fe19e93306dd6e', 370, 151, 413, 149, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fe1bbb6cc15263', 'nusetup', 'zzzzsys_setup', 'input', 'set_dev_reset_tables', 'Reset Tables', 'nu5fe19e93306dd6e', 380, 76, 153, 16, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fe2be48bf89e9e', 'nuaccessforms', 'zzzzsys_access_form', 'select', 'slf_data_mode', 'Data Mode', 'nu5bad6cb36b994d2', 70, 196, 88, 100, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|No Edits', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_form', 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fe94c6815842ec', 'nuprocedure', 'zzzzsys_php', 'lookup', 'sph_code_snippet_select_lookup', 'Insert-Snippet', 'nu5bad6cb36b27343', 110, 205, 871, 5, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\r\nFROM zzzzsys_form\r\nORDER BY sfo_code', NULL, 'cot_code', 'cot_source_code', '0', NULL, 'nucodesnippet', 'const code = $(\'#sph_code_snippet_select_lookupdescription\').val();\n\nif (code !== \'\') {\n nuInsertTextAtCaret(\'sph_php\', code);\n $(\'#sph_code_snippet_select_lookupcode\').val(\'\');\n}\n\n\n', NULL, 'zzzzsys_code_snippet', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fe94c931478ff2', 'nuprocedure', 'zzzzsys_php', 'textarea', 'sph_code_snippet_paste', '', 'nu5bad6cb36b27343', 160, 100, 628, 5, 22, '1', 'right', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\r\nFROM zzzzsys_form\r\nORDER BY sfo_code', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false,data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5feb70700c7bfc2', 'nuupdate', NULL, 'html', 'upd_html', '', 'nu5feb70e6a6b9cf8', 10, 0, 10, 1000, 800, '1', 'center', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nunotes', NULL, 'b', '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '<iframe id=\"updateiframe\" src=\"update.htm?id=#SESSION_ID#\" style=\"width:90%; height:92%;overflow:auto;\"</iframe>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5feb9ff762770', 'nubuildreport', 'zzzzsys_access', 'subform', 'accrept', ' ', 'nu5fdf7fc6680a0b2', 100, 34, 56, 460, 489, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nu5feb9ffd45efe', 'sre_zzzzsys_report_id', '1', '1', 'g', 'zzzzsys_access_report', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5feb9ffe0330e', 'nu5feb9ffd45efe', NULL, 'select', 'sre_zzzzsys_access_id', 'Access levels that can use this report', 'nu5feb9ffd6fbca', 10, 300, 250, 400, 20, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT `zzzzsys_access_id`, CONCAT(`sal_code`,\" : \",`sal_description`) FROM `zzzzsys_access` ORDER BY 2', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_form', NULL, NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fed7cde6f84b9e', 'nuobjectgrid', 'zzzzsys_object', 'subform', 'objform', ' ', 'nu5fed7cde6151088', 10, 12, 7, 1387, 624, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nu5fdb9ffd45aaa', 'sob_all_zzzzsys_form_id', '1', '1', 'g', 'zzzzsys_object', '89', 'N|$ 1,000.00', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fed812c36293e7', 'nuobjectgrid', 'zzzzsys_object', 'input', 'sfo_description', 'Description', 'nu5fed7cde6151088', 20, 0, 0, 40, 22, '1', 'right', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nu5fdb9ffd45aaa', 'sob_all_zzzzsys_form_id', '1', '1', 'g', 'zzzzsys_object', '89', 'N|$ 1,000.00', 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fed8c73e475b16', 'nuform', 'zzzzsys_form', 'input', 'run_sfo_objects', 'Objects', 'nu5bad6cb36791fd5', 130, 42, 933, 201, 30, '1', 'center', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5feda5bd4324ece', 'nuobjectgrid', 'zzzzsys_object', 'input', 'sfo_code', 'Code', 'nu5fed7cde6151088', 30, 20, 0, 40, 22, '1', 'right', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nu5fdb9ffd45aaa', 'sob_all_zzzzsys_form_id', '1', '1', 'g', 'zzzzsys_object', '89', 'N|$ 1,000.00', 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fee9ff762770', 'nuprocedure', 'zzzzsys_access', 'subform', 'accphp', ' ', 'nu5fdf7df2d873dd1', 230, 70, 56, 459, 459, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nu5fee9ffd45efe', 'slp_zzzzsys_php_id', '1', '1', 'g', 'zzzzsys_access_php', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fee9ffe0330e', 'nu5fee9ffd45efe', NULL, 'select', 'slp_zzzzsys_access_id', 'Access Level', 'nu5fee9ffd6fbca', 10, 300, 250, 400, 20, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '1', 'SELECT zzzzsys_access_id, CONCAT(sal_code, \' : \', sal_description) FROM zzzzsys_access ORDER BY 2', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_form', NULL, NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5ff0352f501ba8c', 'nuobject', 'zzzzsys_object', 'input', 'sob_calc_formula_edit_mode_checkbox', 'Edit manually', 'nu5bad6cb36f99a7e', 1250, 45, 670, 16, 22, '1', 'right', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5ff2c03acc8a591', 'nuprocedure', 'zzzzsys_php', 'input', 'sph_global', 'Everyone', 'nu5fdf7df2d873dd1', 240, 38, 496, 16, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, 'title=\"Any user can access the procedure\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5ff32fdadb8f46f', 'nuobject', 'zzzzsys_object', 'input', 'sob_lookup_zzzzsys_form_open_button', '', 'nu5bad6cb369d0088', 920, 33, 729, 40, 22, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-external-link-alt', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5ff48b9c35a7beb', 'nuemailtest', NULL, 'input', 'set_smtp_from_address', 'From Address', 'nu5ff48b9c18dbf6f', 10, 49, 148, 300, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5ff48b9c3634db8', 'nuemailtest', NULL, 'input', 'set_smtp_from_name', 'From Name', 'nu5ff48b9c18dbf6f', 20, 76, 148, 300, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5ff48b9c3731e32', 'nuemailtest', NULL, 'textarea', 'ema_body', 'Body', 'nu5ff48b9c18dbf6f', 80, 253, 148, 289, 95, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5ff48b9c37be944', 'nuemailtest', NULL, 'input', 'ema_to', 'To', 'nu5ff48b9c18dbf6f', 30, 134, 148, 300, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5ff48b9c3846ee2', 'nuemailtest', NULL, 'input', 'ema_cc', 'Cc', 'nu5ff48b9c18dbf6f', 40, 161, 148, 300, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5ff48b9c38e471a', 'nuemailtest', NULL, 'input', 'ema_bcc', 'Bcc', 'nu5ff48b9c18dbf6f', 50, 188, 148, 300, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5ff4a82b76d96d6', 'nusetup', 'zzzzsys_setup', 'input', 'set_nuemailtest_button', 'Test Email', 'nu5bad6cb36e31edf', 300, 390, 245, 225, 39, '1', 'center', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-envelope', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5ff4b1040dfffd1', 'nuemailtest', NULL, 'input', 'ema_subject', 'Subject', 'nu5ff48b9c18dbf6f', 70, 225, 148, 300, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5ff4b56934a1973', 'nuemailtest', NULL, 'input', 'ema_save_data', '', 'nu5ff48b9c18dbf6f', 90, 405, 323, 50, 22, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-save', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5ff4b5f53f85f69', 'nuemailtest', NULL, 'input', 'ema_load_data', '', 'nu5ff48b9c18dbf6f', 100, 405, 398, 50, 22, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-upload', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5ff5afe5716ed04', 'nusetup', 'zzzzsys_setup', 'select', 'set_smtp_use_ssl', 'Use SSL', 'nu5bad6cb36e31edf', 290, 329, 245, 59, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|No|1|Yes', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5ff5b7b1b918a4b', 'nuobject', 'zzzzsys_object', 'input', 'sob_run_zzzzsys_form_open_button', '', 'nu5bad6cb368d9c40', 650, 34, 735, 40, 22, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-external-link-alt', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5ff727ad6f17b85', 'nuuser', 'zzzzsys_user', 'input', 'sus_zzzzsys_access_id_open_button', '', 'nu5bad6cb36b63cae', 240, 158, 874, 40, 22, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-external-link-alt', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5ffab1ab3b16807', 'nu5fdb9ffd45efe', NULL, 'select', 'slf_data_mode', 'Data Mode', 'nu5fdb9ffd6fbca', 70, 196, 88, 100, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|No Edits', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_form', 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60013e0626d80ce', 'nuobject', 'zzzzsys_object', 'input', 'sob_subform_zzzzsys_form_open_button', '', 'nu5bad6cb36a1c024', 1010, 38, 670, 40, 22, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-external-link-alt', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60028804f043b86', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_type_open_button', '', 'nu5bad6cb3686cb0d', 510, 42, 304, 24, 22, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-external-link-alt', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6004139ce814db8', 'nusetup', 'zzzzsys_setup', 'select', 'set_languages_included', 'Included Languages', 'nu5bad6cb36d97acd', 140, 220, 227, 450, 155, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', '%LANGUAGES%', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_timezone', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6006ecf9d0b4ceb', 'nuobject', 'zzzzsys_object', 'input', 'sob_select_2', 'Select2', 'nu5bad6cb369a6ee3', 790, 39, 250, 16, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60085a561599dfd', 'nuobject', 'zzzzsys_object', 'textarea', 'sob_input_datalist', 'Datalist', 'nu5bad6cb36a4af06', 1110, 117, 239, 436, 99, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false, data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `zzzzsys_object` (`zzzzsys_object_id`, `sob_all_zzzzsys_form_id`, `sob_all_table`, `sob_all_type`, `sob_all_id`, `sob_all_label`, `sob_all_zzzzsys_tab_id`, `sob_all_order`, `sob_all_top`, `sob_all_left`, `sob_all_width`, `sob_all_height`, `sob_all_cloneable`, `sob_all_align`, `sob_all_validate`, `sob_all_access`, `sob_all_access_condition`, `sob_all_event`, `sob_all_style_type`, `sob_all_style`, `sob_calc_formula`, `sob_calc_format`, `sob_run_zzzzsys_form_id`, `sob_run_filter`, `sob_run_method`, `sob_run_target`, `sob_run_type`, `sob_run_id`, `sob_display_sql`, `sob_display_procedure`, `sob_select_multiple`, `sob_select_2`, `sob_select_sql`, `sob_select_procedure`, `sob_lookup_code`, `sob_lookup_description`, `sob_lookup_description_width`, `sob_lookup_autocomplete`, `sob_lookup_zzzzsys_form_id`, `sob_lookup_javascript`, `sob_lookup_php`, `sob_lookup_table`, `sob_subform_zzzzsys_form_id`, `sob_subform_foreign_key`, `sob_subform_add`, `sob_subform_delete`, `sob_subform_type`, `sob_subform_table`, `sob_input_count`, `sob_input_format`, `sob_input_type`, `sob_input_icon`, `sob_input_javascript`, `sob_input_datalist`, `sob_input_attribute`, `sob_input_file_target`, `sob_html_code`, `sob_html_chart_type`, `sob_html_javascript`, `sob_html_title`, `sob_html_vertical_label`, `sob_html_horizontal_label`, `sob_image_zzzzsys_file_id`, `sob_all_json`, `sob_json`) VALUES
('nu60510d8a0496fd5', 'nuauthentication', NULL, 'input', 'send_token_btn', 'Send token', '[REDACTED]', 30, 265, 167, 117, 22, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6058b68e8111857', 'nuauthentication', NULL, 'html', 'authlabel', '', 'nu5fe0547b76e25d6', 20, 78, 109, 553, 200, '1', 'left', '0', '0', NULL, '0', 'CSS', 'text-align:left; font-size:14px;max-width: 300px;', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', 'Click \'Send token\' to send an email containing a security code to the registered email address for this account.<br>Please check  in spam/junk mail.\n<br><br>The verified token will be remembered on this device for 7 days.\n', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu605b522d65c642a', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_validate_btn_no_duplicates_or_blanks', 'No Duplicates/Blanks', 'nu5bad6cb3686cb0d', 470, 399, 800, 174, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-star', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu605dd92cf01da60', 'nuform', 'zzzzsys_form', 'select', 'sfo_browse_title_multiline', 'Multiline Titles', 'nu5bad6cb36757b92', 230, 37, 603, 70, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|No|1|Yes', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu606585106dffa9d', 'nuobject', 'zzzzsys_object', 'select', 'sob_run_target', 'Target', 'nu5bad6cb368d9c40', 630, 154, 103, 213, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'n', NULL, NULL, NULL, NULL, '0', '0', '0|New Breadcrumb|\n1|Current Breadcrumb|\n2|New tab|\n3|Popup', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6068360aa0d3dca', 'nuobject', 'zzzzsys_object', 'input', 'sob_run_type', 'Run Type', 'nu5bad6cb368d9c40', 640, 94, 442, 50, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6068770730f8338', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_event', 'Events', 'nu5bad6cb3686cb0d', 560, 79, 0, 72, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60689be08a368ab', 'nuadddbcolumn', NULL, 'word', 'sql_query_word', '<n></n>', 'nu60689be0792e7ca', 10, 37, 70, 300, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60689be08b67d8b', 'nuadddbcolumn', NULL, 'select', 'sql_after_column', 'After', 'nu60689be0792e7ca', 30, 126, 65, 250, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '1', 'SELECT column_name, column_name\nFROM information_schema.columns\nWHERE  table_name = \'#sob_all_table#\'\nAND table_schema = database()', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6068a0285e3c1b1', 'nuobject', 'zzzzsys_object', 'run', 'sob_all_id_create_button', '', 'nu5bad6cb3686cb0d', 80, 95, 506, 35, 22, '1', 'center', '0', '0', NULL, '0', 'Class', '-nuButton nuToolButton', NULL, NULL, 'nuadddbcolumn', NULL, 'b', '3', 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-plus-square', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60691e567cd0eb9', 'nuadddbcolumn', NULL, 'textarea', 'sql_query', 'SQL', 'nu60689be0792e7ca', 20, 64, 65, 500, 41, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, 'spellcheck=false, data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu606c448e53cd465', 'nufflaunch', NULL, 'select', 'nuFFAvailableColumns', '', 'nu5bad6cb36f36433', 80, 152, 328, 250, 429, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '0', 'SELECT column_name, column_name\nFROM information_schema.columns\nWHERE  table_name = \'#fastform_table#\'\nAND table_schema = database()\nAND COLUMN_KEY <> \'PRI\'', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'sob_input_attribute,data-nu-mobile-max-height=200px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu606c617681a8478', 'nufflaunch', NULL, 'word', 'nuFFAvailableColumnsWord', 'Available Fields', 'nu5bad6cb36f36433', 70, 107, 328, 250, 22, '1', 'center', '0', '0', NULL, '0', 'CSS', 'font-weight: 700; font-size: 14px', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu606df60755d4a22', 'nufflaunch', NULL, 'input', 'ff_hide_used_checkbox', 'Hide used', 'nu5bad6cb36f36433', 180, 596, 559, 85, 22, '1', 'center', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu606f399ea7b558f', 'nufflaunch', NULL, 'input', 'fastform_prefix', '', 'nu5bad6cb36f36433', 120, 12, 846, 165, 22, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, 'nuFORM.getTables()', NULL, 'maxlength=\"3\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60741457ef6f315', 'nufastformobjects', 'zzzzsys_object', 'select', 'ff_type', 'Object Type', 'nu5bad6cb36f72f8e', 40, 98, 23, 120, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT itm_value, itm_description \nFROM zzzzsys_item \nWHERE itm_object_id = \'#OBJECT_ID#\' AND itm_active = \'1\'\nORDER BY itm_description', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu683c1bd728da014', 'nuitem', 'zzzzsys_item', 'input', 'itm_group', 'Group', 'nu6836b7e919d69ce', 40, 112, 146, 403, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu683d383a262db78', 'nusetup', 'zzzzsys_setup', 'textarea', 'set_include', '', 'nu683d380ace2eb18', 50, 70, 81, 1200, 500, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT trl_language, trl_language AS a \nFROM zzzzsys_translate\nGROUP BY trl_language ', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_timezone', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false, data-nu-mobile-max-width=350px, title=\"Include\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60899b5088f4df6', 'nuselect', 'zzzzsys_select', 'input', 'sse_code', 'Code', 'nu5bad6cb371e2de7', 10, 10, 85, 195, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60e96ee3e51e1bb', 'nuobject', 'zzzzsys_object', 'input', 'sob_top_btn_increase_27', '+27', 'nu5bad6cb3686cb0d', 240, 185, 230, 50, 22, '1', 'left', '0', '0', NULL, '1', 'Class', 'nuQuickButtonIncrease', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60e9719f5d9bc8b', 'nuobject', 'zzzzsys_object', 'input', 'sob_height_btn_set_100', '100', 'nu5bad6cb3686cb0d', 330, 272, 230, 50, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60e971e1676ca2d', 'nuobject', 'zzzzsys_object', 'input', 'sob_height_btn_set_200', '200', 'nu5bad6cb3686cb0d', 340, 272, 290, 50, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60e97221bb95958', 'nuobject', 'zzzzsys_object', 'input', 'sob_height_btn_set_300', '300', 'nu5bad6cb3686cb0d', 350, 272, 350, 50, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60e9724c1fdd7c5', 'nuobject', 'zzzzsys_object', 'input', 'sob_height_btn_set_400', '400', 'nu5bad6cb3686cb0d', 360, 272, 407, 50, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60e9732db2a4125', 'nuobject', 'zzzzsys_object', 'input', 'sob_width_btn_set_100', '100', 'nu5bad6cb3686cb0d', 270, 243, 230, 50, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60e973518a26f21', 'nuobject', 'zzzzsys_object', 'input', 'sob_width_btn_set_200', '200', 'nu5bad6cb3686cb0d', 280, 243, 290, 50, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60e9736508a9b31', 'nuobject', 'zzzzsys_object', 'input', 'sob_width_btn_set_300', '300', 'nu5bad6cb3686cb0d', 290, 243, 350, 50, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60e973b6711a030', 'nuobject', 'zzzzsys_object', 'input', 'sob_width_btn_set_400', '400', 'nu5bad6cb3686cb0d', 300, 243, 408, 50, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60e974dd2df427c', 'nuobject', 'zzzzsys_object', 'input', 'sob_width_btn_set_700', '700', 'nu5bad6cb3686cb0d', 310, 243, 465, 50, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60e975102462aff', 'nuobject', 'zzzzsys_object', 'input', 'sob_height_btn_set_700', '700', 'nu5bad6cb3686cb0d', 370, 272, 465, 50, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60e97569692fac5', 'nuobject', 'zzzzsys_object', 'input', 'sob_width_btn_set_1000', '1000', 'nu5bad6cb3686cb0d', 320, 243, 523, 50, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60e975e932d74ef', 'nuobject', 'zzzzsys_object', 'input', 'sob_left_btn_increase', '+50', 'nu5bad6cb3686cb0d', 260, 214, 230, 50, 22, '1', 'left', '0', '0', NULL, '1', 'Class', 'nuQuickButtonIncrease', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60e9a848a6a6117', 'nuaccessforms', 'zzzzsys_access_form', 'select', 'slf_form_type', 'Form Type', 'nu5bad6cb36b994d2', 70, 196, 88, 100, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|Browse Only|1|Edit Only', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_form', 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60eed5345aa79e5', 'nufflaunch', NULL, 'input', 'check_nulog', 'Add nulog Column', 'nu5bad6cb36f36433', 150, 559, 280, 16, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60f84d84220174d', 'nuform', 'zzzzsys_form', 'input', 'sfo_breadcrumb_title', 'Breadcrumb Title', 'nu5bad6cb36791fd5', 70, 187, 182, 377, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60f8fd56e325e76', 'nuobject', 'zzzzsys_object', 'input', 'sob_top_btn_increase_50', '+50', 'nu5bad6cb3686cb0d', 250, 185, 290, 50, 22, '1', 'left', '0', '0', NULL, '1', 'Class', 'nuQuickButtonIncrease', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60f98db26a2cfbc', 'nucloner', 'zzzzsys_cloner', 'contentbox', 'source_form_contentbox', 'Source Form', 'nu5f9aaac95bc52e7', 10, 19, 25, 700, 197, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60f98de922bd42b', 'nucloner', 'zzzzsys_cloner', 'contentbox', 'destination_form_contentbox', 'Destination Form', 'nu5f9aaac95bc52e7', 20, 249, 25, 700, 75, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu60f98e098698b77', 'nucloner', 'zzzzsys_cloner', 'contentbox', 'options_contentbox', 'Options', 'nu5f9aaac95bc52e7', 30, 360, 25, 700, 150, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61053f6e7de8249', 'nufastformobjects', 'zzzzsys_object', 'input', 'ff_datatype', 'Data Type', 'nu5bad6cb36f72f8e', 50, 98, 23, 180, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'search', NULL, NULL, '[\"VARCHAR(1000)\",\n\"VARCHAR(100)\",	\n\"VARCHAR(50)\",	\n\"VARCHAR(25)\",	\n\"TEXT\",\n\"DATE\",\n\"DATETIME\", \n\"TIME\", 	\n\"INTEGER\",\n\"DECIMAL\",  \n\"TIMESTAMP\", \n\"CHAR\", \n\"TINYTEXT\", \n\"MEDIUMTEXT\", \n\"LONGTEXT\", \n\"TINYINT\",\n\"SMALLINT\", \n\"BIT\"]', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6106cb38a30a9b5', 'nufflaunch', NULL, 'input', 'ff_resize', '', 'nu5bad6cb36f36433', 130, 108, 1206, 35, 26, '1', 'center', '0', '0', NULL, '1', 'Class', 'nuAllowDblClick -nuButton nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-arrows-alt', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu610a662e2e599c2', 'nuform', 'zzzzsys_form', 'input', 'js_browse_edit', 'Browse & Edit', 'nu5bad6cb37026348', 370, 84, 42, 177, 29, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, 'data-custom-code-textarea-button', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu610a66550f61129', 'nuform', 'zzzzsys_form', 'input', 'js_browse', 'Browse', 'nu5bad6cb37026348', 380, 119, 42, 177, 29, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, 'data-custom-code-textarea-button', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu610a667b9beba56', 'nuform', 'zzzzsys_form', 'input', 'js_edit', 'Edit', 'nu5bad6cb37026348', 390, 154, 42, 177, 29, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, 'data-custom-code-textarea-button', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu610a66db7e3d0d6', 'nuform', 'zzzzsys_form', 'textarea', 'sfo_edit_javascript', '', 'nu5bad6cb37026348', 350, 60, 266, 858, 467, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false,data-custom-code-textarea, data-nu-mobile-max-width=350px,data-nu-mobile-max-height=400px, title=\"Edit\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu610a66eb04d3ef6', 'nuform', 'zzzzsys_form', 'textarea', 'sfo_browse_javascript', '', 'nu5bad6cb37026348', 330, 60, 266, 858, 467, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false,data-custom-code-textarea, data-nu-mobile-max-width=350px,data-nu-mobile-max-height=400px, title=\"Browse\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu610ae48090da463', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_type_input', '', 'nu5bad6cb3686cb0d', 500, 41, 336, 141, 22, '1', 'left', '0', '1', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61262a401eea0eb', 'nutab', 'zzzzsys_tab', 'select', 'syt_access', 'Access', '[REDACTED]', 30, 52, 100, 110, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '2|Hidden|3|Hidden (User)', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6137704e8c4f3d8', 'nu5fdb9ffd45efe', NULL, 'select', 'slf_form_type', 'Form Type', 'nu5fdb9ffd6fbca', 80, 196, 88, 100, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|Browse Only|1|Edit Only', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_form', 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu615339f900cf3a6', 'nuaccess', 'zzzzsys_access', 'input', 'sal_use_2fa', 'Use 2FA', 'nu5bad6cb36ac903f', 60, 180, 156, 16, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu615d8b3e42f240f', 'nuemailtest', NULL, 'select', 'ema_priority', 'Priority', 'nu5ff48b9c18dbf6f', 60, 368, 148, 100, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '1|High|\n3|Normal|\n5|Low', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6167e1ebe3b2f72', 'nuobject', 'zzzzsys_object', 'select', 'sob_all_style_type', 'Style', 'nu5bad6cb3686cb0d', 200, 457, 159, 80, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'CSS|CSS|\nClass|Class', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6167e23e89d6ec8', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_style', '', 'nu5bad6cb3686cb0d', 210, 457, 255, 466, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ab8d2d768c7c2', 'nusetup', 'zzzzsys_setup', 'contentbox', 'contentbox_setup', '', 'nu5bad6cb36d97acd', 100, 142, 40, 697, 348, '1', 'center', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ab8def79626ac', 'nusetup', 'zzzzsys_setup', 'contentbox', 'contentbox_setup_version', '', 'nu5bad6cb36d97acd', 90, 32, 40, 697, 80, '1', 'center', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ab8e4d6ec17b6', 'nusetup', 'zzzzsys_setup', 'contentbox', 'contentbox_developer', '', 'nu5fe19e93306dd6e', 310, 39, 40, 560, 198, '1', 'center', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ac4bee49f587c', 'nuform', 'zzzzsys_form', 'select', 'sfo_browse_autoresize_columns', 'Auto-resize Columns', 'nu5bad6cb36757b92', 240, 37, 923, 70, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|No|1|Yes', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ac8b6aca26395', 'nuuser', 'zzzzsys_user', 'contentbox', 'contentbox_login', 'Login', 'nu5bad6cb36b63cae', 10, 8, 38, 886, 281, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"15\",\"left\":\"15\"},\"size\":{\"width\":\"345\",\"height\":\"295\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu61ac8bec7d00a8d', 'nuuser', 'zzzzsys_user', 'contentbox', 'contentbox_additional', 'Additional', 'nu5bad6cb36b63cae', 20, 318, 38, 886, 265, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"353\",\"left\":\"15\"},\"size\":{\"width\":\"345\",\"height\":\"480\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu61ac928a1111d66', 'nuaccess', 'zzzzsys_access', 'contentbox', 'contentbox_user', '', 'nu5bad6cb36ac903f', 10, 0, 30, 760, 250, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, 'zzzzsys_access', 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ac94a36df3ab9', 'nuobject', 'zzzzsys_object', 'contentbox', 'contentbox_all_first', '', 'nu5bad6cb3686cb0d', 10, -16, 3, 1013, 141, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ac94fd4ae358d', 'nuobject', 'zzzzsys_object', 'contentbox', 'contentbox_all_position', 'Position & Size', 'nu5bad6cb3686cb0d', 20, 153, 3, 1013, 126, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ac953315d80fd', 'nuobject', 'zzzzsys_object', 'contentbox', 'contentbox_all_properties', 'Properties', 'nu5bad6cb3686cb0d', 30, 307, 3, 1013, 192, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ac95c55e8278b', 'nuobject', 'zzzzsys_object', 'contentbox', 'contentbox_run', '', 'nu5bad6cb368d9c40', 580, 0, 3, 850, 196, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ac962991b1a17', 'nuobject', 'zzzzsys_object', 'contentbox', 'contentbox_lookup_first', '', 'nu5bad6cb369d0088', 830, 0, 3, 989, 105, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ac96758a70191', 'nuobject', 'zzzzsys_object', 'contentbox', 'contentbox_lookup_second', '', 'nu5bad6cb369d0088', 840, 128, 3, 989, 346, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ac96e15e762c0', 'nuobject', 'zzzzsys_object', 'contentbox', 'contentbox_subform', '', 'nu5bad6cb36a1c024', 940, 0, 3, 720, 176, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ac97a0d251879', 'nuobject', 'zzzzsys_object', 'contentbox', 'contentbox_html_chart', 'Chart', 'nu68653b5f3a91277', 1160, 8, 3, 994, 211, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ac97e30f4c922', 'nuobject', 'zzzzsys_object', 'contentbox', 'contentbox_html', '', 'nu5bad6cb36a71012', 1130, 23, 1, 994, 500, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ac9c8275a6d3f', 'nutranslate', 'zzzzsys_translate', 'contentbox', 'contentbox_phrase', '', 'nu5bad6cb36eb07f0', 30, 7, 10, 750, 129, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ac9dcf6418a06', 'nucsvtransfer', NULL, 'contentbox', 'contentbox_transfer', '', 'nu5f711b9343afdbd', 10, 15, 17, 568, 260, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ad94ce20795b4', 'nuobject', 'zzzzsys_object', 'contentbox', 'contentbox_calc', '', 'nu5bad6cb36f99a7e', 1230, 7, 3, 720, 516, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ad95cc4a945af', 'nuobject', 'zzzzsys_object', 'contentbox', 'contentbox_image', '', 'nu5bad6cb371c865e', 1020, 0, 3, 720, 76, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ad95db2c0c292', 'nuobject', 'zzzzsys_object', 'contentbox', 'contentbox_input', '', 'nu5bad6cb36a4af06', 1040, 0, 3, 810, 225, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ad96843aebd57', 'nuobject', 'zzzzsys_object', 'contentbox', 'contentbox_select', '', 'nu5bad6cb369a6ee3', 740, 0, 3, 953, 496, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ad973c7fb2de0', 'nuobject', 'zzzzsys_object', 'contentbox', 'contentbox_display', '', 'nu5bad6cb36974818', 660, 0, 3, 953, 496, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ad98011541365', 'nufile', 'zzzzsys_file', 'contentbox', 'contentbox_file', '', 'nu5bad6cb3719774c', 10, 8, 22, 850, 550, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ad9884dc9cd01', 'nuformat', 'zzzzsys_format', 'contentbox', 'contentbox_format', '', 'nu5bad6cb36fcbc18', 10, 0, 3, 641, 419, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ade403495a778', 'nufrlaunch', NULL, 'contentbox', 'contentbox_fr', '', 'nu5bad6cb3737e773', 10, -5, 7, 1041, 636, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ade47ac8a12e3', 'nubuildreport', 'zzzzsys_report', 'contentbox', 'contentbox_report', '', 'nu5bad6cb36804778', 10, 5, 13, 731, 316, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'browse|Browse|edit|Edit|browseedit|Browse and Edit|criteria|Criteria or Home|procedure|Procedure|report|Report', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ade564071b92d', 'nuprocedure', 'zzzzsys_php', 'contentbox', 'contentbox_php', '', 'nu5bad6cb36b27343', 10, 0, 20, 940, 576, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ade7febed4755', 'nuprocedure', 'zzzzsys_php', 'contentbox', 'contentbox_acl', '', 'nu5fdf7df2d873dd1', 220, 0, 13, 557, 535, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ade9896dd4f69', 'nuform', 'zzzzsys_form', 'contentbox', 'contentbox_main', '', 'nu5bad6cb36791fd5', 10, 0, 20, 1168, 530, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ade9d739835b9', 'nuform', 'zzzzsys_form', 'contentbox', 'contentbox_browse', '', 'nu5bad6cb36757b92', 180, 1, 20, 1168, 530, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61adea3da348f04', 'nuform', 'zzzzsys_form', 'contentbox', 'contentbox_custom', '', 'nu5bad6cb37026348', 310, 0, 20, 1168, 530, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61af37280cecef0', 'nuobject', 'zzzzsys_object', 'input', 'sob_input_attribute', 'Attributes', 'nu5bad6cb3686cb0d', 220, 487, 159, 751, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61b4c3e0678a858', 'nuaddattribute', NULL, 'input', 'plh_value_text', 'Value', 'nu61b4c3e0517719b', 30, 66, 87, 285, 23, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'search', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61b4c3e0687b434', 'nuaddattribute', NULL, 'select', 'plh_attribute', 'Attribute', 'nu61b4c3e0517719b', 10, 33, 87, 150, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|autocomplete|\n1|accesskey|\n2|data-|\n3|maxlength|\n4|placeholder|\n5|spellcheck|\n6|title|\n7|value|\n8|nu-label-position|\n9|nu-disable-calendar|\n10|nu-tooltip|\n11|nu-tooltip-icon', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61b4c5355cfc99c', 'nuaddattribute', NULL, 'select', 'plh_value_select', 'Value', 'nu61b4c3e0517719b', 40, 66, 87, 285, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'on|on|\noff|off', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61b4c5e8e2b6f41', 'nuobject', 'zzzzsys_object', 'input', 'sob_input_attribute_edit_button', '', 'nu5bad6cb3686cb0d', 230, 487, 932, 35, 23, '1', 'center', '0', '0', NULL, '1', 'Class', '-nuButton nuToolButton', NULL, NULL, 'nuaddattribute', NULL, 'b', '3', 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-pen-to-square', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61b8493549e0d7b', 'nuaddattribute', NULL, 'input', 'plh_attribute_name', '', 'nu61b4c3e0517719b', 20, 33, 243, 129, 23, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'search', NULL, NULL, NULL, 'placeholder=\"name\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61b9eafed36e281', 'nuaccess', 'zzzzsys_access', 'input', 'sal_zzzzsys_form_id_open_button', '', 'nu5bad6cb36ac903f', 70, 67, 749, 40, 22, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-external-link-alt', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61bb746bc6b5911', 'nuauthentication', NULL, 'contentbox', 'contentbox', '2 Factor Authentication', '[REDACTED]', 10, 30, 81, 600, 400, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61cac33aab3fc06', 'nuform', 'zzzzsys_form', 'input', 'ff_resize', '', 'nu5bad6cb36757b92', 290, 37, 1105, 35, 26, '1', 'center', '0', '0', NULL, '1', 'Class', 'nuAllowDblClick -nuButton nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-arrows-alt', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ce91900008380', 'nusetup', 'zzzzsys_setup', 'textarea', 'set_style', '', 'nu61ce913f08336db', 80, 68, 81, 800, 500, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT trl_language, trl_language AS a \nFROM zzzzsys_translate\nGROUP BY trl_language ', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_timezone', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false, data-nu-mobile-max-width=350px, title=\"Style\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61cef87f1e35465', 'nusetup', 'zzzzsys_setup', 'html', 'icon_js', '', 'nu5bad6cb36e9143a', 30, 81, 27, 43, 39, '1', 'left', '0', '0', NULL, '0', 'CSS', 'background-size: 40px 37px;', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', '<div></div>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61d01434aabee5c', 'nusetup', 'zzzzsys_setup', 'html', 'icon_css', '', 'nu61ce913f08336db', 70, 83, 27, 43, 39, '1', 'left', '0', '0', NULL, '0', 'CSS', 'background-size: 40px 37px;', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', '<div></div>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `zzzzsys_object` (`zzzzsys_object_id`, `sob_all_zzzzsys_form_id`, `sob_all_table`, `sob_all_type`, `sob_all_id`, `sob_all_label`, `sob_all_zzzzsys_tab_id`, `sob_all_order`, `sob_all_top`, `sob_all_left`, `sob_all_width`, `sob_all_height`, `sob_all_cloneable`, `sob_all_align`, `sob_all_validate`, `sob_all_access`, `sob_all_access_condition`, `sob_all_event`, `sob_all_style_type`, `sob_all_style`, `sob_calc_formula`, `sob_calc_format`, `sob_run_zzzzsys_form_id`, `sob_run_filter`, `sob_run_method`, `sob_run_target`, `sob_run_type`, `sob_run_id`, `sob_display_sql`, `sob_display_procedure`, `sob_select_multiple`, `sob_select_2`, `sob_select_sql`, `sob_select_procedure`, `sob_lookup_code`, `sob_lookup_description`, `sob_lookup_description_width`, `sob_lookup_autocomplete`, `sob_lookup_zzzzsys_form_id`, `sob_lookup_javascript`, `sob_lookup_php`, `sob_lookup_table`, `sob_subform_zzzzsys_form_id`, `sob_subform_foreign_key`, `sob_subform_add`, `sob_subform_delete`, `sob_subform_type`, `sob_subform_table`, `sob_input_count`, `sob_input_format`, `sob_input_type`, `sob_input_icon`, `sob_input_javascript`, `sob_input_datalist`, `sob_input_attribute`, `sob_input_file_target`, `sob_html_code`, `sob_html_chart_type`, `sob_html_javascript`, `sob_html_title`, `sob_html_vertical_label`, `sob_html_horizontal_label`, `sob_image_zzzzsys_file_id`, `sob_all_json`, `sob_json`) VALUES
('nu61d031730fce93f', 'nuform', 'zzzzsys_form', 'html', 'icon_sql', '', 'nu5bad6cb36757b92', 300, 395, 88, 43, 40, '1', 'left', '0', '0', NULL, '0', 'CSS', 'background-size: 40px 37px;', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', '<div></div>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61d032ebbb134a6', 'nuform', 'zzzzsys_form', 'html', 'icon_php', '', 'nu5bad6cb37026348', 490, 194, 111, 43, 40, '1', 'left', '0', '0', NULL, '0', 'CSS', 'background-size: 40px 37px;', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', '<div></div>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61d035a3a03029c', 'nuobject', 'zzzzsys_object', 'html', 'icon_html', '', 'nu5bad6cb36a71012', 1140, 71, 24, 44, 39, '1', 'left', '0', '0', NULL, '0', 'CSS', 'background-size: 40px 37px;', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '<div></div>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61d699d672391cc', 'nufflaunch', NULL, 'contentbox', 'contentbox_top', '', 'nu5bad6cb36f36433', 10, 0, 16, 1225, 70, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'browseedit|Browse and Edit|\nlaunch|Launch|\nsubform|Subform|\nbrowse|Browse|\nedit|Edit', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61d6c2590b6dac1', 'nuform', 'zzzzsys_form', 'input', 'sfo_table_copy_button', '', 'nu5bad6cb36791fd5', 90, 215, 487, 35, 25, '1', 'center', '0', '0', NULL, '1', 'Class', '-nuButton nuToolButton -input_button', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-copy', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61d7cb6fe784cf4', 'nuaccess', 'zzzzsys_access', 'input', 'sal_group', 'Group', 'nu5bad6cb36ac903f', 50, 148, 156, 200, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61e42391506d467', 'nuform', 'zzzzsys_form', 'input', 'sfo_primary_key', 'Primary Key', '[REDACTED]', 100, 247, 182, 285, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'SELECT column_name\nFROM information_schema.columns\nWHERE  table_name = \'#sfo_table#\'\nAND table_schema = database()\nAND COLUMN_KEY = \'PRI\'', NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61e55dd85d03afb', 'nuobject', 'zzzzsys_object', 'input', 'sob_input_icon', 'Icon', 'nu5bad6cb3686cb0d', 520, 457, 811, 151, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'search', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61e9969a4925567', 'nu61e9969a239c033', 'zzzzsys_object_json', 'input', 'soj_json', 'Json', 'nu61e9969a4003a6f', 20, 10, 151, 300, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61e99e1862a3c0c', 'nu61e9969a239c033', 'zzzzsys_object_json', 'select', 'soj_type', 'Type', 'nu61e9969a4003a6f', 10, 43, 150, 75, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|0|\n1|1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61e9a3d726fc672', 'nuobject', 'zzzzsys_object', 'textarea', 'sob_all_json', 'JSON', 'nu61e9964c9bf5e13', 1320, 50, 50, 400, 300, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ea6d4bd6e9a49', 'nuobject', 'zzzzsys_object', 'input', 'generate_sob_all_json_button', 'Generate', 'nu61e9964c9bf5e13', 1330, 10, 50, 80, 20, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu61ee37c1ceb20df', 'nupassword', 'zzzzsys_user', 'contentbox', 'contentbox', '', 'nu5bad6cb36ed494f', 10, 11, 6, 515, 172, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'SELECT CONCAT(\'( \', sus_login_name, \' )\')\nFROM zzzzsys_user\nWHERE zzzzsys_user_id = \'#RECORD_ID#\'', NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu624f22f6b05b85c', 'nuobject', 'zzzzsys_object', 'html', 'sob_input_icon_preview', '', 'nu5bad6cb3686cb0d', 530, 455, 979, 23, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '<div id=\'sob_input_icon_preview_html\' </div>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6257b7628ac46ea', 'nuform', 'zzzzsys_form', 'input', 'css_style', 'Style', 'nu5bad6cb37026348', 460, 498, 42, 177, 29, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, 'data-custom-code-textarea-button', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6257b7a0dd2d233', 'nuform', 'zzzzsys_form', 'html', 'icon_style', '', 'nu5bad6cb37026348', 480, 452, 110, 43, 40, '1', 'left', '0', '0', NULL, '0', 'CSS', 'background-size: 40px 37px;', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', '<div></div>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6257c03f9f5dfc0', 'nuform', 'zzzzsys_form', 'textarea', 'sfo_style', '', 'nu5bad6cb37026348', 360, 60, 266, 858, 467, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false,data-custom-code-textarea, data-nu-mobile-max-width=350px,data-nu-mobile-max-height=400px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6273e620cb09f2e', 'nucsvtransfer', NULL, 'input', 'csv_delete_after_import', 'Delete File after Import', 'nu5f711b9343afdbd', 60, 240, 482, 16, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6291b842c635f61', 'nucloner', 'zzzzsys_cloner', 'input', 'clo_sql_replace_into', 'REPLACE INTO', 'nu5f9aaac95bc52e7', 150, 457, 561, 18, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu629b168a66288f0', 'nuprocedure', 'zzzzsys_php', 'display', 'sph_form_code', 'form code', 'nu5bad6cb36b27343', 130, 0, 0, 200, 20, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'SELECT sfo_code  FROM `zzzzsys_php` \nLEFT JOIN zzzzsys_form ON LEFT(zzzzsys_php_id,char_length(zzzzsys_php_id)-3)  = zzzzsys_form_id\nWHERE `zzzzsys_php_id` LIKE \'#RECORD_ID#\'', NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62aee449c3ac7e9', 'nu62aee4493239e3a', 'zzzzsys_config', 'input', 'cfg_category', 'Category', 'nu62aee449a876a58', 10, 10, 150, 100, 22, '1', 'left', '0', '1', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62aee449c50bbf6', 'nu62aee4493239e3a', 'zzzzsys_config', 'input', 'cfg_setting', 'Setting', 'nu62aee449a876a58', 30, 42, 150, 270, 22, '1', 'left', '0', '1', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62aee449c676cfb', 'nu62aee4493239e3a', 'zzzzsys_config', 'input', 'cfg_value', 'Value', 'nu62aee449a876a58', 40, 74, 150, 135, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62aee449c7d0758', 'nu62aee4493239e3a', 'zzzzsys_config', 'input', 'cfg_description', 'Description', 'nu62aee449a876a58', 50, 106, 150, 508, 22, '1', 'left', '0', '1', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62aee449c92710c', 'nu62aee4493239e3a', 'zzzzsys_config', 'input', 'cfg_type', 'Type', 'nu62aee449a876a58', 70, 138, 150, 0, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62afe0e1a56a398', 'nusetup', 'zzzzsys_setup', 'subform', 'nuconfigsettings', ' ', 'nu62b34b8c669ce6b', 180, 52, 40, 1288, 462, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nu62aee4493239e3a', 'zzzzsys_setup_id', '0', '0', 'g', 'zzzzsys_config', '89', NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbcba8da', 'nuhome', NULL, 'run', 'object_button', 'Objects', 'nu62cca90dba09759', 90, 270, 67, 236, 30, '1', 'left', '0', '0', NULL, '0', 'Class', 'input_button_left', NULL, NULL, 'nuobject', NULL, 'b', '0', 'F', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-cubes', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62afe67d3168116', 'nusetup', 'zzzzsys_setup', 'word', 'nuconfigsettingsfromdb_hint', 'Set  &#36;nuConfigSettingsFromDB = true; in nuconfig.php to use the settings here.', 'nu62b34b8c669ce6b', 170, 16, 40, 1033, 20, '1', 'left', '0', '0', NULL, '0', 'CSS', 'background-color:#f3e8e8;padding-left: 10px;padding-top: 3px;', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '89', NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62b14088e27f0c8', 'nu62aee4493239e3a', 'zzzzsys_config', 'input', 'cfg_effective', 'Effective', 'nu62aee449a876a58', 60, 74, 150, 0, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbc934c6', 'nuhome', NULL, 'run', 'run_access', 'Access Levels', '[REDACTED]', 50, 170, 67, 236, 30, '1', 'left', '0', '0', NULL, '0', 'Class', 'input_button_left', NULL, NULL, 'nuaccess', NULL, 'b', '0', 'F', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-unlock', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62b331e0b311799', 'nusetup', 'zzzzsys_setup', 'input', 'button_import', 'Import', 'nu62b34b8c669ce6b', 190, 11, 1128, 200, 30, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nu62aee4493239e3a', 'zzzzsys_setup_id', '0', '0', 'g', 'zzzzsys_config', '89', NULL, 'button', 'fa-solid fa-file-import', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62b332526687de5', 'nusetup', 'zzzzsys_setup', 'input', 'configImport', 'Import', 'nu62b34b8c669ce6b', 200, 140, 52, 25, 25, '1', 'center', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nu62aee4493239e3a', 'zzzzsys_setup_id', '0', '0', 'g', 'zzzzsys_config', '89', NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbce41b5', 'nuhome', NULL, 'run', 'form_button', 'Forms', 'nu62cca90dba09759', 70, 220, 67, 236, 30, '1', 'left', '0', '0', NULL, '0', 'Class', 'input_button_left', NULL, NULL, 'nuform', NULL, 'b', '0', 'F', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-regular fa-rectangle-list', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbcfab5a', 'nuhome', NULL, 'run', 'run_user', 'Users', 'nu62cca90dba09759', 30, 120, 67, 236, 30, '1', 'left', '0', '0', NULL, '0', 'Class', 'input_button_left', NULL, NULL, 'nuuser', NULL, 'b', '0', 'F', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa fa-user', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbd150b9', 'nuhome', NULL, 'run', 'edit_php', 'Procedures', 'nu62cca90dba09759', 110, 320, 67, 236, 30, '1', 'left', '0', '0', NULL, '0', 'Class', 'input_button_left', NULL, NULL, 'nuprocedure', NULL, 'b', '0', 'F', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-code', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbd350b4', 'nuhome', NULL, 'run', 'edit_report', 'Reports', 'nu62cca90dba09759', 240, 170, 731, 236, 30, '1', 'left', '0', '0', NULL, '0', 'Class', 'input_button_left', NULL, NULL, 'nubuildreport', NULL, 'b', '0', 'F', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-file-pdf', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbd7f63c', 'nuhome', NULL, 'input', 'menu_reports', '', 'nu62cca90dba09759', 250, 170, 968, 33, 30, '1', 'center', '0', '0', NULL, '1', 'Class', 'input_button_right', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nurunreport', NULL, '0', '0', NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-caret-down', NULL, NULL, 'data-nu-mobile-same-row=1', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbda09a7', 'nuhome', NULL, 'input', 'menu_procedures', '', 'nu62cca90dba09759', 120, 320, 304, 33, 30, '1', 'center', '0', '0', NULL, '1', 'Class', 'input_button_right', NULL, NULL, NULL, NULL, 'b', '0', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-caret-down', NULL, NULL, 'data-nu-mobile-same-row=1', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbdbe69d', 'nuhome', NULL, 'run', 'run_setup', 'Setup', 'nu62cca90dba09759', 130, 120, 399, 236, 30, '1', 'left', '0', '0', NULL, '0', 'Class', 'input_button_left', NULL, NULL, 'nusetup', NULL, 'b', '0', 'F', '1', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-cog', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbdd435b', 'nuhome', NULL, 'run', 'run_file', 'Files', 'nu62cca90dba09759', 200, 320, 399, 236, 30, '1', 'left', '0', '0', NULL, '0', 'Class', 'input_button_left', NULL, NULL, 'nufile', NULL, 'b', '0', 'F', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-image', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbe11f3d', 'nuhome', NULL, 'run', 'run_sql', 'SQL', 'nu62cca90dba09759', 180, 270, 399, 236, 30, '1', 'left', '0', '0', NULL, '0', 'Class', 'input_button_left', NULL, NULL, 'nuselect', NULL, 'b', '0', 'F', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-table', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbe23269', 'nuhome', NULL, 'input', 'open_database', 'Database', 'nu62cca90dba09759', 150, 170, 399, 236, 30, '0', 'left', '0', '0', NULL, '1', 'Class', 'input_button_left', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-database', NULL, NULL, 'title=\"phpMyAdmin\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbe2e1f9', 'nuhome', NULL, 'run', 'user_home', 'User Home', 'nu62cca90dba09759', 20, 61, 67, 269, 30, '1', 'left', '0', '0', NULL, '0', 'Class', 'nuUserHomeButton', NULL, NULL, 'nuuserhome', NULL, 'b', '0', 'F', '-1', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-home', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbe3f7d5', 'nuhome', NULL, 'run', 'run_note', 'Notes', 'nu62cca90dba09759', 220, 120, 731, 236, 30, '1', 'left', '0', '0', NULL, '0', 'Class', 'input_button_left', NULL, NULL, 'nunotes', NULL, 'b', '0', 'F', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-edit', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbe662c9', 'nuhome', NULL, 'run', 'run_nucodesnippets', 'Code Snippets', 'nu62cca90dba09759', 260, 220, 731, 236, 30, '0', 'left', '0', '0', NULL, '0', 'Class', 'input_button_left', NULL, NULL, 'nucodesnippet', NULL, 'b', '0', 'F', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-file-code', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbe72fcf', 'nuhome', NULL, 'input', 'menu_forms', '', 'nu62cca90dba09759', 80, 220, 304, 33, 30, '1', 'center', '0', '0', NULL, '1', 'Class', 'input_button_right', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nurunreport', NULL, '0', '0', NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-caret-down', NULL, NULL, 'data-nu-mobile-same-row=1', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbe7d11b', 'nuhome', NULL, 'input', 'menu_database', '', 'nu62cca90dba09759', 160, 170, 636, 33, 30, '1', 'center', '0', '0', NULL, '1', 'Class', 'input_button_right', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nurunreport', NULL, '0', '0', NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-caret-down', NULL, NULL, 'data-nu-mobile-same-row=1', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbe86fbb', 'nuhome', NULL, 'run', 'access_add', '', 'nu62cca90dba09759', 60, 170, 304, 33, 30, '1', 'center', '0', '0', NULL, '0', 'Class', 'input_button_right', NULL, NULL, 'nuaccess', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fas fa-plus', NULL, NULL, 'title=\"Add Access Level\", data-nu-mobile-same-row=1', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbe98b95', 'nuhome', NULL, 'input', 'user_add', '', 'nu62cca90dba09759', 40, 120, 304, 33, 30, '1', 'center', '0', '0', NULL, '1', 'Class', 'input_button_right', NULL, NULL, NULL, NULL, NULL, '0', 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-caret-down', NULL, NULL, 'data-nu-mobile-same-row=1', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbea4053', 'nuhome', NULL, 'input', 'menu_setup', '', 'nu62cca90dba09759', 140, 120, 636, 33, 30, '1', 'center', '0', '0', NULL, '1', 'Class', 'input_button_right', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nurunreport', NULL, '0', '0', NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-caret-down', NULL, NULL, 'data-nu-mobile-same-row=1', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbeb1355', 'nuhome', NULL, 'contentbox', 'contentbox', '', 'nu62cca90dba09759', 10, 10, 10, 1030, 362, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nuuser', NULL, 'b', '0', 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa fa-user', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbebf625', 'nuhome', NULL, 'run', 'objects_add', '', 'nu62cca90dba09759', 100, 270, 304, 33, 30, '1', 'center', '0', '0', NULL, '0', 'Class', 'input_button_right', NULL, NULL, 'nuobject', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fas fa-plus', NULL, NULL, 'title=\"Add Object\",data-nu-mobile-same-row=1', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbed87c1', 'nuhome', NULL, 'run', 'nucodesnippets_add', '', 'nu62cca90dba09759', 270, 220, 968, 33, 30, '1', 'center', '0', '0', NULL, '0', 'Class', 'input_button_right', NULL, NULL, 'nucodesnippet', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fas fa-plus', NULL, NULL, 'title=\"Add Code Snippet\",data-nu-mobile-same-row=1', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbee3839', 'nuhome', NULL, 'input', 'notes_add', '', 'nu62cca90dba09759', 230, 120, 968, 33, 30, '1', 'center', '0', '0', NULL, '1', 'Class', 'input_button_right', NULL, NULL, NULL, NULL, NULL, '0', 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-caret-down', NULL, NULL, 'data-nu-mobile-same-row=1', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbeed89a', 'nuhome', NULL, 'run', 'sql_add', '', 'nu62cca90dba09759', 190, 270, 636, 33, 30, '1', 'center', '0', '0', NULL, '0', 'Class', 'input_button_right', NULL, NULL, 'nuselect', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fas fa-plus', NULL, NULL, 'title=\"Add SQL\",data-nu-mobile-same-row=1', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62cca90dbef85e9', 'nuhome', NULL, 'run', 'sql_file', '', 'nu62cca90dba09759', 210, 320, 636, 33, 30, '1', 'center', '0', '0', NULL, '0', 'Class', 'input_button_right', NULL, NULL, 'nufile', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fas fa-plus', NULL, NULL, 'title=\"Add File\",data-nu-mobile-same-row=1', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62d61425e2ead71', 'nuform', 'zzzzsys_form', 'select', 'sfo_mobile_view', 'Mobile View', 'nu5bad6cb36791fd5', 110, 275, 182, 140, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'SELECT column_name\nFROM information_schema.columns\nWHERE  table_name = \'#sfo_table#\'\nAND table_schema = database()\nAND COLUMN_KEY = \'PRI\'', NULL, '0', '0', '1|Enabled', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62da06d4b6a76ab', 'nuobject', 'zzzzsys_object', 'select', 'sob_input_file_target', 'Target', 'nu5bad6cb36a4af06', 1080, 84, 239, 161, 22, '1', 'right', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|Database|\n1|File System\n', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu62daaede874a146', 'nuhome', NULL, 'input', 'run_filemanager', 'File Manager', 'nu62cca90dba09759', 170, 220, 399, 269, 30, '0', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-folder', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu630da6df8d518aa', 'nuuser', 'zzzzsys_user', 'input', 'sus_accessibility_features', 'Accessibility Features', 'nu5bad6cb36b63cae', 230, 570, 218, 16, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"755\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu635294e972e4176', 'nuemailtemplate', 'zzzzsys_email_template', 'html', 'emt_formatting_buttons', '', 'nu635294e9729b1a1', 140, 314, 694, 240, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '<style>\n\n    .nuActionButton.bold {\n        font-weight: bold;\n    }\n\n    .nuActionButton.italic {\n        font-style: italic;\n    }\n\n    .nuActionButton.ul {\n        text-decoration: underline;\n    }\n    \n    .nuFormatButton {\n        float: left;\n        width: 33px\n    }\n\n     #button-preview-close {\n        background-color: #f54c47;\n    }\n\n\n</style>\n\n<div>\n<input type=\"button\" class=\"nuFormatButton nuActionButton bold\" value=\"B\" onclick=\"nuEmailTemplateFormatText(\'b\');\" />\n<input type=\"button\" class=\"nuFormatButton nuActionButton italic\" value=\"I\" onclick=\"nuEmailTemplateFormatText(\'i\');\" />\n<input type=\"button\" class=\"nuFormatButton nuActionButton ul\" value=\"U\" onclick=\"nuEmailTemplateFormatText(\'u\');\" />\n<button id=\"button-preview\" class=\"nuFormatButton nuActionButton\" title=\"Preview\"><i class=\"fa-solid fa-magnifying-glass\"></i></button>\n<button id=\"button-preview-close\" class=\"nuFormatButton nuActionButton\" title=\"Close Preview\" style=\"visibility: hidden\"><i class=\"fa-solid fa-xmark\"></i></button>\n</div>\n\n<script>\n\n$.fn.nuEmailTemplateToggleVisibility = function (state) {\n    return this.each(function () {\n        $(this).css(\"visibility\", state ? \"visible\" :\n            (state === false ? \"hidden\" :\n                $(this).css(\"visibility\") === \"hidden\" ? \"visible\" : \"hidden\"));\n    });\n};\n\nfunction nuEmailTemplateTogglePreview() {\n    $(\'#button-preview\').nuEmailTemplateToggleVisibility();\n    $(\'#button-preview-close\').nuEmailTemplateToggleVisibility();\n    nuEmailTemplateSetPreviewText();\n    $(\'#emt_body\').nuEmailTemplateToggleVisibility();\n    $(\'#textAreaPreviewDiv\').nuEmailTemplateToggleVisibility();  \n}   \n\n$(\'#button-preview\').on(\'click\', function () {\n    nuEmailTemplateTogglePreview();\n});\n\n$(\'#button-preview-close\').on(\'click\', function () {\n    nuEmailTemplateTogglePreview();\n});\n\n    \n</script>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu635294e972e7339', 'nuemailtemplate', 'zzzzsys_email_template', 'input', 'emt_description', 'Description', 'nu635294e9729b1a1', 50, 65, 133, 500, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu635294e972e8dec', 'nuemailtemplate', 'zzzzsys_email_template', 'textarea', 'emt_body', 'Body', 'nu635294e9729b1a1', 130, 350, 133, 727, 243, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu635294e972ea5f4', 'nuemailtemplate', 'zzzzsys_email_template', 'select', 'emt_avail_fields', 'Available Fields', 'nu635294e9729b1a1', 170, 103, 945, 250, 497, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '0', 'SELECT\n    `sob_all_label`,\n    `sob_all_id`\nFROM\n    `zzzzsys_object`\nWHERE\n    sob_all_zzzzsys_form_id = \'#emt_form_id#\' AND sob_all_type IN(\'input\', \'select\', \'textarea\')\nORDER BY\n    sob_all_id ASC', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-max-height=250px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu635294e972ec39d', 'nuemailtemplate', 'zzzzsys_email_template', 'lookup', 'emt_form_id', 'Form', 'nu635294e9729b1a1', 160, 52, 945, 221, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, 'sfo_code', 'sfo_code', '0', NULL, 'nunonsystemform', 'nuRefreshSelectObject(\'emt_avail_fields\',nuFormId(), true);', NULL, 'zzzzsys_form', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu635294e972edc9a', 'nuemailtemplate', 'zzzzsys_email_template', 'input', 'emt_group', 'Group', 'nu635294e9729b1a1', 60, 94, 133, 280, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu635294e972ef846', 'nuemailtemplate', 'zzzzsys_email_template', 'input', 'emt_cc', 'Cc', 'nu635294e9729b1a1', 110, 292, 133, 470, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu635294e972f108a', 'nuemailtemplate', 'zzzzsys_email_template', 'input', 'emt_subject', 'Subject', 'nu635294e9729b1a1', 90, 236, 133, 740, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu635294e972f2b2d', 'nuemailtemplate', 'zzzzsys_email_template', 'input', 'emt_bcc', 'Bcc', 'nu635294e9729b1a1', 120, 320, 133, 470, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu635294e972f43a2', 'nuemailtemplate', 'zzzzsys_email_template', 'html', 'emt_body_preview', '', 'nu635294e9729b1a1', 150, 368, 133, 311, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '<div \n\nid=\"textAreaPreviewDiv\" name=\"textAreaPreviewDiv\" \n\nstyle=\"position:relative;width:740px;height:257px;border:1px solid\n #bf6d6d;overflow:auto; visibility: hidden; padding-left: 10px;padding-top: 10px; margin-top:-20px; z-index: 999; background-color: white;\">\n\n</div>\n', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu635294e972f5f54', 'nuemailtemplate', 'zzzzsys_email_template', 'input', 'emt_code', 'Code', 'nu635294e9729b1a1', 40, 36, 133, 280, 22, '1', 'left', '1', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu635294e972f78da', 'nuemailtemplate', 'zzzzsys_email_template', 'input', 'emt_to', 'To', 'nu635294e9729b1a1', 100, 264, 133, 470, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu635294e972f92d3', 'nuemailtemplate', 'zzzzsys_email_template', 'select', 'emt_language', 'Language', 'nu635294e9729b1a1', 80, 152, 133, 150, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '%LANGUAGES%', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6352a8007979ff2', 'nuhome', NULL, 'run', 'run_nuemailtempltates', 'Emails', 'nu62cca90dba09759', 280, 270, 731, 236, 30, '0', 'left', '0', '0', NULL, '0', 'Class', 'input_button_left', NULL, NULL, 'nuemaillog', NULL, 'b', '0', 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-square-envelope', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu63529abe120452b', 'nuemailtemplate', 'zzzzsys_email_template', 'contentbox', 'contentbox_top', '', 'nu635294e9729b1a1', 10, 0, 5, 900, 176, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu63529b163d3ee9f', 'nuemailtemplate', 'zzzzsys_email_template', 'contentbox', 'contentbox_bottom', '', 'nu635294e9729b1a1', 20, 205, 5, 900, 399, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu63529c115d9add7', 'nuemailtemplate', 'zzzzsys_email_template', 'contentbox', 'contentbox_right', '', 'nu635294e9729b1a1', 30, 0, 920, 300, 605, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6352a9c47ec423e', 'nuhome', NULL, 'input', 'menu_email', '', 'nu62cca90dba09759', 290, 270, 968, 33, 30, '1', 'center', '0', '0', NULL, '1', 'Class', 'input_button_right', NULL, NULL, NULL, NULL, NULL, '0', 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-caret-down', NULL, NULL, 'data-nu-mobile-same-row=1', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6662152de53409b', 'nuobject', 'zzzzsys_object', 'lookup', 'sob_display_procedure', 'Procedure', 'nu5bad6cb36974818', 710, 75, 114, 250, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, 'sph_code', 'sph_description', '250', NULL, 'nuprocedure', 'nuObjectDisplayProcedureChanged();', NULL, 'zzzzsys_php', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu639f27399891853', 'nufflaunch', NULL, 'input', 'fastform_primary_key', 'Primary Key', '[REDACTED]', 100, 59, 522, 230, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, 'nuFORM.getJustTables()', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu63ed203614c85fc', 'nucloner', 'zzzzsys_cloner', 'select', 'clo_tables_include', 'Include', 'nu63ed1fef9b6331f', 210, 151, 98, 350, 300, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', 'SHOW FULL TABLES WHERE Table_type = \"BASE TABLE\"', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu63ed219d9bc105c', 'nucloner', 'zzzzsys_cloner', 'input', 'clo_select_all_button', 'Select All', 'nu63ed1fef9b6331f', 180, 39, 98, 200, 22, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu63ed261ee9bac3f', 'nucloner', 'zzzzsys_cloner', 'input', 'clo_unselect_sys_button', 'Unselect zzzzsys_*', 'nu63ed1fef9b6331f', 190, 66, 98, 200, 22, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu63eda686a958487', 'nucloner', 'zzzzsys_cloner', 'select', 'clo_tables_exclude', 'Exclude', 'nu63ed1fef9b6331f', 220, 151, 500, 350, 300, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', 'SHOW TABLES', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu63eda77977c63cb', 'nucloner', 'zzzzsys_cloner', 'input', 'test_run', 'Export', 'nu63ed1fef9b6331f', 200, 66, 98, 200, 22, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu63efd6559d22f60', 'nunuobjectevent', 'zzzzsys_event', 'input', 'sev_event', 'Event', 'nu63f0aec186f6a6c', 20, 55, 103, 200, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, 'nuChooseEventList()', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu63efd6559d61dc5', 'nunuobjectevent', 'zzzzsys_event', 'textarea', 'sev_javascript', 'JavaScript', 'nu63f0aec186f6a6c', 30, 86, 103, 600, 300, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu63f0ae06b006018', 'nuobjectgrid', 'zzzzsys_form', 'run', 'iframe_objectevent', '', 'nu63f0adcb2c415fa', 40, 12, 7, 1251, 586, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nunuobjectevent', NULL, 'i', NULL, 'F', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu63f0cdedee73ade', 'nunuobjectevent', 'zzzzsys_event', 'input', 'sev_zzzzsys_object_id', 'Object Id', 'nu63f0aec186f6a6c', 10, 20, 500, 200, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu63f0ce5139561f7', 'nunuobjectevent', 'zzzzsys_event', 'display', 'sev_zzzzsys_object_name', 'Object', 'nu63f0aec186f6a6c', 40, 24, 103, 200, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'SELECT\n    `sob_all_id`\nFROM\n    `zzzzsys_object`\nWHERE\n    `zzzzsys_object_id` = \'#sev_zzzzsys_object_id#\'', NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu63f124950cabc67', 'nucodesnippet', 'zzzzsys_code_snippet', 'contentbox', 'contentbox', '', 'nu5fdb1b5b254566f', 10, 5, 10, 867, 594, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6401f7527bbe462', 'nucodesnippet', 'zzzzsys_code_snippet', 'input', 'cot_group', 'Group', 'nu5fdb1b5b254566f', 30, 72, 165, 354, 21, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=200px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu64310ae86d94bab', 'nuobject', 'zzzzsys_object', 'run', 'sob_input_format_add_button', '', 'nu5bad6cb36a4af06', 1120, 85, 416, 30, 22, '1', 'center', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, 'nuformat', NULL, 'b', '3', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-plus-square', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu64802f38f184778', 'nuform', 'zzzzsys_form', 'input', 'sfo_group', 'Group', 'nu5bad6cb36791fd5', 50, 126, 182, 377, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, 'SELECT DISTINCT\n    `sfo_group`\nFROM\n    `zzzzsys_form`\nWHERE\n    TRIM(IFNULL(`sfo_group`, \'\')) <> \'\'\n    AND (\n        \'#DEV_MODE#\' = \'1\'\n        OR IFNULL(`sfo_group`, \'\') <> \'nubuilder\'\n    )\nORDER BY\n    `sfo_group`\n', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `zzzzsys_object` (`zzzzsys_object_id`, `sob_all_zzzzsys_form_id`, `sob_all_table`, `sob_all_type`, `sob_all_id`, `sob_all_label`, `sob_all_zzzzsys_tab_id`, `sob_all_order`, `sob_all_top`, `sob_all_left`, `sob_all_width`, `sob_all_height`, `sob_all_cloneable`, `sob_all_align`, `sob_all_validate`, `sob_all_access`, `sob_all_access_condition`, `sob_all_event`, `sob_all_style_type`, `sob_all_style`, `sob_calc_formula`, `sob_calc_format`, `sob_run_zzzzsys_form_id`, `sob_run_filter`, `sob_run_method`, `sob_run_target`, `sob_run_type`, `sob_run_id`, `sob_display_sql`, `sob_display_procedure`, `sob_select_multiple`, `sob_select_2`, `sob_select_sql`, `sob_select_procedure`, `sob_lookup_code`, `sob_lookup_description`, `sob_lookup_description_width`, `sob_lookup_autocomplete`, `sob_lookup_zzzzsys_form_id`, `sob_lookup_javascript`, `sob_lookup_php`, `sob_lookup_table`, `sob_subform_zzzzsys_form_id`, `sob_subform_foreign_key`, `sob_subform_add`, `sob_subform_delete`, `sob_subform_type`, `sob_subform_table`, `sob_input_count`, `sob_input_format`, `sob_input_type`, `sob_input_icon`, `sob_input_javascript`, `sob_input_datalist`, `sob_input_attribute`, `sob_input_file_target`, `sob_html_code`, `sob_html_chart_type`, `sob_html_javascript`, `sob_html_title`, `sob_html_vertical_label`, `sob_html_horizontal_label`, `sob_image_zzzzsys_file_id`, `sob_all_json`, `sob_json`) VALUES
('nu64ec098aab4edac', 'nupasswordgenerator', NULL, 'input', 'pwg_input', 'Password', '[REDACTED]', 30, 59, 129, 300, 22, '1', 'left', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu64ec098aabab518', 'nupasswordgenerator', NULL, 'input', 'pwg_copy', '', 'nu64ec098a9d06dda', 40, 95, 170, 35, 25, '1', 'center', '0', '0', NULL, '1', 'Class', 'nuAllowDblClick -nuButton nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'button', 'fa-solid fa-copy', NULL, NULL, 'title=\"Copy\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu64ec098aac06a37', 'nupasswordgenerator', NULL, 'input', 'pwg_refresh', '', 'nu64ec098a9d06dda', 50, 95, 129, 35, 25, '1', 'center', '0', '0', NULL, '1', 'Class', 'nuAllowDblClick -nuButton nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'button', 'fa-solid fa-arrows-rotate', NULL, NULL, 'title=\'Refresh\'', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu64ec098aac5c389', 'nupasswordgenerator', NULL, 'input', 'pwg_length', 'Length', 'nu64ec098a9d06dda', 60, 173, 129, 31, 22, '1', 'center', '0', '0', NULL, '1', 'CSS', ' border-radius: 6px', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu64ec098aacb9761', 'nupasswordgenerator', NULL, 'input', 'pwg_uppercase', 'Uppercase', 'nu64ec098a9d06dda', 80, 236, 144, 16, 22, '1', 'right', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu64ec098aad152f4', 'nupasswordgenerator', NULL, 'input', 'pwg_lowercase', 'Lowercase', 'nu64ec098a9d06dda', 90, 268, 144, 16, 22, '1', 'right', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu64ec098aad6e797', 'nupasswordgenerator', NULL, 'input', 'pwg_numbers', 'Numbers', 'nu64ec098a9d06dda', 100, 236, 334, 16, 22, '1', 'right', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu64ec098aadca883', 'nupasswordgenerator', NULL, 'input', 'pwg_symbols', 'Symbols', 'nu64ec098a9d06dda', 110, 268, 334, 16, 22, '1', 'right', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu64f94bbfb765fa9', 'nupassword', 'zzzzsys_user', 'display', 'display_change_required', '', 'nu5bad6cb36ed494f', 60, 38, 14, 499, 21, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'SELECT IF(sus_change_password = \'1\', \'Your password has expired and must be changed.\',\'\')\nFROM zzzzsys_user\nWHERE zzzzsys_user_id = \'#USER_ID#\'\n', NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu64ec11125e36989', 'nupasswordgenerator', NULL, 'input', 'pwg_range', '', 'nu64ec098a9d06dda', 70, 171, 191, 235, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'range', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu64ec191221a5931', 'nupasswordgenerator', NULL, 'contentbox', 'contentbox_top', '', 'nu64ec098a9d06dda', 10, 0, 10, 500, 110, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu64ec1b4131ad536', 'nuuser', 'zzzzsys_user', 'run', 'button_generate_password', '', 'nu5bad6cb36b63cae', 100, 187, 476, 35, 23, '1', 'left', '0', '0', NULL, '0', 'Class', '-nuButton nuToolButton', NULL, NULL, 'nupasswordgenerator', NULL, 'b', '3', 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-key', NULL, NULL, 'title=\"Generate Password\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"245\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu64ec1ca0771d886', 'nupasswordgenerator', NULL, 'contentbox', 'contentbox_bottom', '', 'nu64ec098a9d06dda', 20, 136, 10, 500, 151, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu64f6d3792987c59', 'nuuser', 'zzzzsys_user', 'input', 'sus_change_password', 'Change password at next login', '[REDACTED]', 120, 251, 443, 16, 22, '1', 'left', '0', '0', NULL, '1', 'CSS', '{\"label\" : \"font-size: smaller\"}', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":false,\"location\":{\"top\":\"196\",\"left\":\"414\"},\"size\":{\"width\":\"16\",\"height\":\"22\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu64f955a34a6e245', 'nuuser', 'zzzzsys_user', 'input', 'user_send_welcome_email', 'Send welcome email', 'nu5bad6cb36b63cae', 130, 278, 443, 16, 22, '1', 'left', '0', '0', NULL, '1', 'CSS', '{\"label\" : \"font-size: smaller\"}', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":false,\"location\":{\"top\":\"196\",\"left\":\"414\"},\"size\":{\"width\":\"16\",\"height\":\"22\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu684d39404deb3ba', 'nuhome', NULL, 'run', 'run_add_user', 'User', 'nu684d390a5e73fd1', 330, 63, 67, 236, 30, '1', 'left', '0', '0', NULL, '0', 'Class', NULL, NULL, NULL, 'nuuser', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa fa-user', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu651128698ba8354', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_access_condition', '', 'nu5bad6cb3686cb0d', 160, 341, 363, 538, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'placeholder=SQL, data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65d777adf033c71', 'nupermissionitem', 'zzzzsys_permission_item', 'textarea', 'pme_description', 'Description', 'nu65d777ade2b7d70', 30, 106, 152, 300, 91, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65d777adf04fa5f', 'nupermissionitem', 'zzzzsys_permission_item', 'input', 'pme_ident', 'Ident', 'nu65d777ade2b7d70', 10, 30, 152, 303, 22, '1', 'left', '3', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65d7e1f835f64b1', 'nuuserpermission', 'zzzzsys_user_permission', 'input', 'upe_active', 'Active', 'nu65d7dabf091568e', 20, 10, 150, 18, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, 'pme_ident', 'pme_group', '200', NULL, 'nupermissionitem', NULL, NULL, 'zzzzsys_permission_item', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65d7dabf1036576', 'nuuserpermission', 'zzzzsys_user_permission', 'lookup', 'upe_ident', 'Items', 'nu65d7dabf091568e', 10, 42, 152, 300, 22, '1', 'left', '3', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, 'pme_ident', 'pme_group', '200', NULL, 'nupermissionitem', NULL, NULL, 'zzzzsys_permission_item', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65d781b0376ef77', 'nupermissionitem', 'zzzzsys_permission_item', 'input', 'pme_group', 'Group', 'nu65d777ade2b7d70', 20, 68, 152, 303, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65d7db18a6e2bab', 'nuuser', 'zzzzsys_user', 'subform', 'sf_permission', ' ', 'nu65d7dbb966b5d37', 250, 20, 20, 616, 515, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nuuserpermission', 'upe_zzzzsys_user_id', '1', '1', 'g', 'zzzzsys_user_permission', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"295\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu65e879425338a3a', 'nuprocedure', 'zzzzsys_php', 'input', 'sph_template', 'Template', 'nu5bad6cb36b27343', 140, 55, 790, 100, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65ea5cdd74cd0db', 'nuemailtemplate', 'zzzzsys_email_template', 'input', 'emt_template', 'Template', 'nu635294e9729b1a1', 180, 123, 333, 25, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f27499be08372', 'nuphp', 'zzzzsys_php', 'input', 'sph_code', 'Code', 'nu65f27499bd5df48', 20, 406, 91, 350, 22, '1', 'left', '3', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'search', NULL, NULL, '[\"nu_before_save\", \"nu_after_save\", \"nu_before_edit\", \"nu_before_browse\", \"nu_before_delete\", \"nu_after_delete\", \"nu_startup\", \"nu_check_password_policy\", \"nu_invalid_login\", \"nu_after_update\", \"nu_send_welcome_email\"]', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f27499be13b58', 'nuphp', 'zzzzsys_php', 'textarea', 'sph_php', '', 'nu65f27499bd5df48', 60, 34, 89, 782, 471, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false, title=\"PHP\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f27499be46067', 'nuphp', 'zzzzsys_php', 'input', 'sph_system', 'System', 'nu65f27499bd5df48', 30, 28, 790, 100, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f27499be54002', 'nuphp', 'zzzzsys_php', 'html', 'icon', '', 'nu65f27499bd5df48', 80, 32, 30, 43, 39, '1', 'left', '0', '0', NULL, '1', 'CSS', 'background-size: 40px 37px;', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '<div></div>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f27499be66f78', 'nuphp', 'zzzzsys_php', 'input', 'sph_hide', 'Hide', 'nu65f27499bd5df48', 50, 0, 0, 100, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f27499be765b1', 'nuphp', 'zzzzsys_php', 'lookup', 'sph_code_snippet_select_lookup', 'Insert-Snippet', 'nu65f27499bd5df48', 100, 34, 884, 5, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\r\nFROM zzzzsys_form\r\nORDER BY sfo_code', NULL, 'cot_code', 'cot_source_code', '0', NULL, 'nucodesnippet', 'var c = $(\'#sph_code_snippet_paste\').val();\n\nif (c !== \'\') {\n nuInsertTextAtCaret(\'sph_php\', c);\n $(\'#sph_code_snippet_select_lookupcode\').val(\'\');\n}\n\n\n', NULL, 'zzzzsys_code_snippet', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f27499be85465', 'nuphp', 'zzzzsys_php', 'textarea', 'sph_code_snippet_paste', '', 'nu65f27499bd5df48', 90, 100, 628, 5, 22, '1', 'right', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\r\nFROM zzzzsys_form\r\nORDER BY sfo_code', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false,data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f27499be982b5', 'nuphp', 'zzzzsys_php', 'contentbox', 'contentbox_php', '', 'nu65f27499bd5df48', 10, 0, 20, 940, 550, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f27499beacda7', 'nuphp', 'zzzzsys_php', 'display', 'sph_form_code', 'form code', 'nu65f27499bd5df48', 70, 0, 0, 200, 20, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'SELECT sfo_code  FROM `zzzzsys_php` \nLEFT JOIN zzzzsys_form ON LEFT(zzzzsys_php_id,char_length(zzzzsys_php_id)-3)  = zzzzsys_form_id\nWHERE `zzzzsys_php_id` LIKE \'#RECORD_ID#\'', NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f27499bebe651', 'nuphp', 'zzzzsys_php', 'input', 'sph_template', 'Template', 'nu65f27499bd5df48', 40, 55, 790, 100, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f28ff562f1578', 'nuemaillog', 'zzzzsys_email_log', 'input', 'eml_sent_at', 'Sent At', 'nu65f28ff562a8cc4', 20, 42, 147, 150, 22, '1', 'left', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f28ff562f3d41', 'nuemaillog', 'zzzzsys_email_log', 'input', 'eml_created_at', 'Created At', 'nu65f28ff562a8cc4', 10, 12, 147, 150, 22, '1', 'left', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f28ff562f65de', 'nuemaillog', 'zzzzsys_email_log', 'input', 'eml_state', 'State', 'nu65f28ff562a8cc4', 30, 72, 147, 300, 22, '1', 'left', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f28ff562f8907', 'nuemaillog', 'zzzzsys_email_log', 'input', 'eml_to', 'To', 'nu65f28ff562a8cc4', 100, 282, 147, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f28ff562fa2ab', 'nuemaillog', 'zzzzsys_email_log', 'input', 'eml_subject', 'Subject', 'nu65f28ff562a8cc4', 130, 372, 147, 705, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=300px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f28ff562fbf4c', 'nuemaillog', 'zzzzsys_email_log', 'input', 'eml_error', 'Error', 'nu65f28ff562a8cc4', 40, 102, 147, 300, 22, '1', 'left', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f28ff562fd846', 'nuemaillog', 'zzzzsys_email_log', 'input', 'eml_table_name', 'Table', 'nu65f28ff562a8cc4', 50, 132, 147, 300, 22, '1', 'left', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f28ff562fef08', 'nuemaillog', 'zzzzsys_email_log', 'input', 'eml_tag', 'Tag', 'nu65f28ff562a8cc4', 60, 162, 147, 300, 22, '1', 'left', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f28ff56300787', 'nuemaillog', 'zzzzsys_email_log', 'display', 'eml_form_id', 'Form', 'nu65f28ff562a8cc4', 70, 192, 147, 300, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'SELECT CONCAT(sfo_code, \': \', sfo_description) FROM zzzzsys_form WHERE zzzzsys_form_id = \'#eml_form_id#\'\n', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f28ff563025c5', 'nuemaillog', 'zzzzsys_email_log', 'display', 'eml_user_id', 'User', 'nu65f28ff562a8cc4', 80, 222, 147, 300, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'SELECT IF(LENGTH(\'#eml_user_id#\') = 15 AND sus_name IS NOT NULL, COALESCE(sus_name,\'admin\'), \'#eml_user_id#\') FROM zzzzsys_user WHERE zzzzsys_user_id = \'#eml_user_id#\'', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f28ff56304023', 'nuemaillog', 'zzzzsys_email_log', 'input', 'eml_record_id', 'Record Id', 'nu65f28ff562a8cc4', 90, 252, 147, 300, 22, '1', 'left', '0', '1', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f28ff563059f1', 'nuemaillog', 'zzzzsys_email_log', 'input', 'eml_cc', 'CC', 'nu65f28ff562a8cc4', 110, 312, 147, 300, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f28ff5630757b', 'nuemaillog', 'zzzzsys_email_log', 'input', 'eml_bcc', 'BCC', 'nu65f28ff562a8cc4', 120, 342, 147, 300, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f28ff563094d9', 'nuemaillog', 'zzzzsys_email_log', 'textarea', 'eml_body', 'Body', 'nu65f28ff562a8cc4', 140, 402, 147, 700, 200, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-max-width=300px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f8d60b0cacd08', 'nurunjavascript', NULL, 'textarea', 'jsc_Input', 'Input', 'nu65f8d60b05b6ec6', 10, 18, 68, 500, 250, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, 'spellcheck=false,placeholder=\"Press Ctrl+Enter to execute.\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu65f8d60b0cdf0d3', 'nurunjavascript', NULL, 'textarea', 'jsc_output', 'Output', 'nu65f8d60b05b6ec6', 20, 283, 68, 500, 250, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6644b7f133e91b7', 'nu62aee4493239e3a', 'zzzzsys_config', 'input', 'cfg_title', 'Title', 'nu62aee449a876a58', 20, 42, 150, 210, 22, '1', 'left', '0', '1', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu666dc5d36f67334', 'nufflaunch', NULL, 'select', 'fastform_objects', 'Object', 'nu5bad6cb36f36433', 60, 82, 152, 140, 22, '1', 'left', '0', '2', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'nu59e446589a370ca|Text|\nnu59e446589ac75be|Word|\nnu59e446589adce4d|Button|\nnu59e446589b3714b|Calc|\nnu59e446589b4c69b|Checkbox|\nnu59e446589a4d76a|Display|\nnu59e446589bce3d7|nuAutoNumber|\nnu59e446589ab1797|Lookup|\nnu59e446589b61190|nuScroll|\nnu59e446589a1fc46|HTML|\nnu59e446589b0af4c|nuDate|\nnu59e446589a6400f|Select|\nnu59e446589b20a14|nuNumber|\nnu59e446589a9b145|Multiselect|\nnu59e446589af5d86|Number|\nnu59e446589b75a6d|Textarea|\nnu59e446589cf91a2|File|\nnu59e446589d1c64d|Image|\nnu59e44658a0c7724|Subform', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'sob_input_attribute', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu67b5e2e63785295', 'nuformat', 'zzzzsys_form', 'input', 'srm_default', 'Default', '[REDACTED]', 60, 180, 110, 16, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu67bcf2045f3f018', 'nuformat', 'zzzzsys_form', 'input', 'srm_preview', 'Preview', 'nu5bad6cb36fcbc18', 50, 133, 110, 394, 35, '0', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'D|yyyy-mm-dd', 'nuDate', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu67c32e085ce5f95', 'nuprocedure', 'zzzzsys_php', 'input', 'sph_demo', 'Demo Access', '[REDACTED]', 250, 86, 496, 16, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu67c940bf969f659', 'nuuser', 'zzzzsys_user', 'input', 'sus_first_name', 'First Name', 'nu5bad6cb36b63cae', 40, 71, 219, 329, 22, '0', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'autocomplete=\"off\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"65\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu67c940d83501a9a', 'nuuser', 'zzzzsys_user', 'input', 'sus_last_name', 'Last Name', 'nu5bad6cb36b63cae', 50, 100, 219, 329, 22, '0', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'autocomplete=\"off\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"65\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu67f1436f5c9633b', 'nuform', 'zzzzsys_form', 'select', 'savedItemsDropdown', 'Versions', 'nu5bad6cb37026348', 320, 29, 912, 166, 22, '1', 'right', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '|', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu683fce583a3bbce', 'nuobject', 'zzzzsys_object', 'run', 'sob_all_id_alter_column_button', '', 'nu5bad6cb3686cb0d', 90, 122, 331, 35, 22, '1', 'center', '0', '0', NULL, '0', 'Class', '-nuButton nuToolButton', NULL, NULL, 'nualterdbcolumn', NULL, 'b', '3', 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-pen-to-square', NULL, NULL, 'title=\"Alter database column\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu67f22e3baab43be', 'nufile', 'zzzzsys_file', 'run', 'run_nufile_associated_objects', '', 'nu67f22d53d2c87ad', 100, 28, 22, 844, 441, '0', 'center', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nu67f22e3ba027e23', '#RECORD_ID#', 'i', NULL, 'F', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6819850150e77b6', 'nuobject', 'zzzzsys_object', 'run', 'sob_input_nuformat_edit_button', '', 'nu5bad6cb36a4af06', 1060, 86, 411, 35, 22, '1', 'center', '0', '0', NULL, '0', 'Class', '-nuButton nuToolButton', NULL, NULL, 'nuformat', NULL, 'b', '3', 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-regular fa-pen-to-square', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu682ce4b0a6444a8', 'nuform', 'zzzzsys_form', 'input', 'acl_copy_from_form_button', 'Import...', 'nu5fdb9ff026348', 530, 14, 985, 200, 25, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, 'nu682ce623ae184f0', NULL, NULL, NULL, 'F', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu682ce623b704846', 'nu682ce623ae184f0', NULL, 'lookup', 'cpa_form_id', 'Form', 'nu682ce623ae19b8a', 10, 43, 163, 100, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, 'sfo_code', 'sfo_description', '250', NULL, 'nu682ddc25aa0bb5f', NULL, NULL, 'zzzzsys_form', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu682ce623b71fd0f', 'nu682ce623ae184f0', NULL, 'input', 'cpa_delete_all', 'Remove all existing', 'nu682ce623ae19b8a', 20, 75, 163, 16, 22, '1', 'right', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu682ce623b73ff72', 'nu682ce623ae184f0', NULL, 'select', 'cpa_conflict', 'If exists', 'nu682ce623ae19b8a', 30, 85, 163, 100, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|Skip|\n1|Overwrite', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu682fe2a88429938', 'nuform', 'zzzzsys_form', 'select', 'sfo_status', 'Status', 'nu5bad6cb36791fd5', 60, 157, 182, 140, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|Draft|\n1|Active|\n3|Archived', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu682d656fb3f7c08', 'nu682ce623ae184f0', NULL, 'input', 'dummy_increase_size', '', 'nu682ce623ae19b8a', 40, 800, 1000, 0, 0, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu683303b254a5f09', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'input', 'pge_code', 'Code', 'nu683303b2448d46e', 20, 29, 148, 300, 22, '1', 'left', '3', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'placeholder=\"Required only when saving the form\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu683303b254d3257', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'input', 'pge_description', 'Description', 'nu683303b2448d46e', 30, 58, 148, 500, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu683303b254f82b7', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'select', 'pge_table', 'Tables', 'nu683303b2448d46e', 100, 390, 148, 998, 47, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', 'SELECT table_name as a, table_name as b \nFROM INFORMATION_SCHEMA.TABLES \nWHERE table_schema = DATABASE()\nORDER BY table_name', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu683303b2551aee5', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'select', 'pge_language', 'Languages', 'nu683303b2448d46e', 60, 263, 148, 998, 56, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', 'SELECT itm_value, itm_description FROM `zzzzsys_item` WHERE itm_object_id = \'#OBJECT_ID#\'', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu683303b2553cd68', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'textarea', 'pge_prompt_extra', 'Extra Information', 'nu683303b2448d46e', 110, 442, 148, 940, 80, '0', 'left', '0', '1', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu68330c2b11c8410', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'textarea', 'pge_prompt', 'Prompt', 'nu683303b2448d46e', 50, 158, 148, 940, 88, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false,placeholder=\"Ask anything\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu68331852701b9a1', 'nuhome', NULL, 'run', 'run_promptgenerator', 'Prompt Generator', 'nu62cca90dba09759', 300, 320, 731, 236, 30, '0', 'left', '0', '0', NULL, '0', 'Class', 'input_button_left', NULL, NULL, 'nupromptgenerator', NULL, 'b', '0', 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-magic', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu68331b4f5e8b32a', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'select', 'pge_scope', 'Scopes', 'nu683303b2448d46e', 70, 301, 148, 998, 56, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', 'SELECT itm_value, itm_description FROM `zzzzsys_item` WHERE itm_object_id = \'#OBJECT_ID#\'', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu683550b6279f3ac', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'select', 'pge_tag', 'Topics', 'nu683303b2448d46e', 80, 342, 148, 951, 56, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', 'SELECT itm_value, itm_description FROM `zzzzsys_item` WHERE itm_object_id = \'#OBJECT_ID#\'', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b70de7f0ad3', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_value', 'Value', 'nu6836b70dd94f3bd', 0, 10, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6835808fe52fb4f', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'input', 'btn_get_tags', '', 'nu683303b2448d46e', 90, 342, 1110, 35, 25, '1', 'center', '0', '0', NULL, '1', 'Class', '-nuButton nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-wand-magic-sparkles', NULL, NULL, 'title=\"Retrieve Tags from AI\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu683d38c7ab216e9', 'nusetup', 'zzzzsys_setup', 'html', 'icon_include_js', '', 'nu683d380ace2eb18', 60, 81, 27, 43, 39, '1', 'left', '0', '0', NULL, '0', 'CSS', 'background-size: 40px 37px;', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', '<div></div>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6835cb356cea275', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'textarea', 'pge_output', '', 'nu6835cb1661ba10b', 150, 15, 15, 900, 559, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b70de8275e4', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_description', 'Description', 'nu6836b70dd94f3bd', 5, 42, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b70de86049e', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_category', 'Category', 'nu6836b70dd94f3bd', 10, 74, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b70de88e7f9', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_object_id', 'Object Id', 'nu6836b70dd94f3bd', 15, 106, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b70de8c47d6', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_sort_order', 'Sort Order', 'nu6836b70dd94f3bd', 20, 138, 150, 55, 22, '1', 'right', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b70de9038a0', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_tag', 'Tag', 'nu6836b70dd94f3bd', 25, 170, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b70de93d5c6', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_additional1', 'Additional 1', 'nu6836b70dd94f3bd', 30, 202, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b70de96ddfc', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_additional2', 'Additional 2', 'nu6836b70dd94f3bd', 35, 234, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b70de9a16be', 'nu6836b70dd053bb4', 'zzzzsys_item', 'textarea', 'itm_notes', 'Notes', 'nu6836b70dd94f3bd', 40, 266, 150, 195, 64, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b70de9e5621', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_css', 'CSS', 'nu6836b70dd94f3bd', 45, 340, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b70dea216ac', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_icon', 'Icon', 'nu6836b70dd94f3bd', 50, 372, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b70dea64c96', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_language', 'Language', 'nu6836b70dd94f3bd', 55, 404, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b70deab79e8', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_parent_id', 'Parent Id', 'nu6836b70dd94f3bd', 60, 436, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b70deb0d733', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_active', 'Active', 'nu6836b70dd94f3bd', 65, 468, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b70deb45ef9', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_created_on', 'Created On', 'nu6836b70dd94f3bd', 70, 500, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b70deb7d7f0', 'nu6836b70dd053bb4', 'zzzzsys_item', 'input', 'itm_updated_on', 'Updated On', 'nu6836b70dd94f3bd', 75, 532, 150, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `zzzzsys_object` (`zzzzsys_object_id`, `sob_all_zzzzsys_form_id`, `sob_all_table`, `sob_all_type`, `sob_all_id`, `sob_all_label`, `sob_all_zzzzsys_tab_id`, `sob_all_order`, `sob_all_top`, `sob_all_left`, `sob_all_width`, `sob_all_height`, `sob_all_cloneable`, `sob_all_align`, `sob_all_validate`, `sob_all_access`, `sob_all_access_condition`, `sob_all_event`, `sob_all_style_type`, `sob_all_style`, `sob_calc_formula`, `sob_calc_format`, `sob_run_zzzzsys_form_id`, `sob_run_filter`, `sob_run_method`, `sob_run_target`, `sob_run_type`, `sob_run_id`, `sob_display_sql`, `sob_display_procedure`, `sob_select_multiple`, `sob_select_2`, `sob_select_sql`, `sob_select_procedure`, `sob_lookup_code`, `sob_lookup_description`, `sob_lookup_description_width`, `sob_lookup_autocomplete`, `sob_lookup_zzzzsys_form_id`, `sob_lookup_javascript`, `sob_lookup_php`, `sob_lookup_table`, `sob_subform_zzzzsys_form_id`, `sob_subform_foreign_key`, `sob_subform_add`, `sob_subform_delete`, `sob_subform_type`, `sob_subform_table`, `sob_input_count`, `sob_input_format`, `sob_input_type`, `sob_input_icon`, `sob_input_javascript`, `sob_input_datalist`, `sob_input_attribute`, `sob_input_file_target`, `sob_html_code`, `sob_html_chart_type`, `sob_html_javascript`, `sob_html_title`, `sob_html_vertical_label`, `sob_html_horizontal_label`, `sob_image_zzzzsys_file_id`, `sob_all_json`, `sob_json`) VALUES
('nu6836b70debb4625', 'nu6836b70dd053bb4', 'zzzzsys_item', 'select', 'itm_access_level', 'Access Level', '[REDACTED]', 80, 564, 150, 117, 56, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '0', 'SELECT zzzzsys_format_id, srm_format FROM zzzzsys_format ORDER BY srm_type', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu683818eb2cd941c', 'nuitem', 'zzzzsys_item', 'contentbox', 'contentbox_main', '', 'nu6836b7e919d69ce', 10, 3, 10, 670, 528, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b7e923f8a43', 'nuitem', 'zzzzsys_item', 'input', 'itm_value', 'Value', 'nu6836b7e919d69ce', 20, 44, 146, 300, 22, '1', 'left', '1', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b7e92424502', 'nuitem', 'zzzzsys_item', 'input', 'itm_description', 'Description', 'nu6836b7e919d69ce', 30, 78, 146, 403, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b7e924557bd', 'nuitem', 'zzzzsys_item', 'input', 'itm_category', 'Category', 'nu6836b7e919d69ce', 50, 146, 146, 403, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b7e9248b752', 'nuitem', 'zzzzsys_item', 'lookup', 'itm_object_id', 'Object Id', 'nu6836b7e919d69ce', 60, 180, 146, 200, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, 'sob_all_id', 'sob_all_label', '250', NULL, 'nuobject', NULL, NULL, 'zzzzsys_object', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b7e924b9ffa', 'nuitem', 'zzzzsys_item', 'input', 'itm_sort_order', 'Sort Order', 'nu6836b7e919d69ce', 70, 214, 146, 45, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b7e924e7ac1', 'nuitem', 'zzzzsys_item', 'input', 'itm_tag', 'Tags', 'nu6836b7e919d69ce', 80, 248, 146, 403, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b7e92514960', 'nuitem', 'zzzzsys_item', 'input', 'itm_additional1', 'Additional 1', 'nu6836b7e919d69ce', 90, 282, 146, 403, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b7e9254911c', 'nuitem', 'zzzzsys_item', 'textarea', 'itm_additional2', 'Additional 2', 'nu6836b7e919d69ce', 100, 316, 146, 403, 100, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b7e9258063e', 'nuitem', 'zzzzsys_item', 'textarea', 'itm_notes', 'Notes', 'nu6836b7e919d69ce', 110, 432, 146, 403, 53, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b7e925bb997', 'nuitem', 'zzzzsys_item', 'input', 'itm_css', 'CSS', 'nu6836ba2403b7939', 140, 44, 147, 300, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b7e925eddad', 'nuitem', 'zzzzsys_item', 'input', 'itm_icon', 'Icon', 'nu6836ba2403b7939', 150, 76, 147, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b7e926208fe', 'nuitem', 'zzzzsys_item', 'input', 'itm_language', 'Language', 'nu6836ba2403b7939', 160, 108, 147, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b7e92657e22', 'nuitem', 'zzzzsys_item', 'input', 'itm_parent_id', 'Parent Id', 'nu6836ba2403b7939', 170, 140, 147, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b7e92698f8c', 'nuitem', 'zzzzsys_item', 'input', 'itm_active', 'Active', 'nu6836b7e919d69ce', 120, 501, 143, 16, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b7e926d0c12', 'nuitem', 'zzzzsys_item', 'input', 'itm_created_on', 'Created On', 'nu6836ba2403b7939', 180, 204, 147, 300, 22, '1', 'left', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b7e92707d28', 'nuitem', 'zzzzsys_item', 'input', 'itm_updated_on', 'Updated On', 'nu6836ba2403b7939', 190, 236, 147, 300, 22, '1', 'left', '0', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6836b7e9273eccd', 'nuitem', 'zzzzsys_item', 'input', 'itm_access_level', 'Access Level', '[REDACTED]', 200, 172, 147, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6838192c8f845f3', 'nuitem', 'zzzzsys_item', 'contentbox', 'contentbox_additional', '', 'nu6836ba2403b7939', 130, 3, 10, 670, 494, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu68381cfca5d25d6', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'textarea', 'pge_instruction', 'Instruction', 'nu683303b2448d46e', 40, 88, 148, 987, 56, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'placeholder=\"General instructions for AI code generation\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6839a64a027491d', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'input', 'pge_template', 'Template', 'nu6839a62ff153165', 160, 35, 133, 18, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu68397c1a2885d17', 'nuobjectgrid', 'zzzzsys_form', 'run', 'iframe_items', '', 'nu68397cdfd04208e', 50, 12, 7, 1300, 586, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nu68397bb77c048bb', NULL, 'i', NULL, 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6839c0839613db8', 'nuobject', 'zzzzsys_object', 'run', 'se_items_run', 'Items', 'nu5bad6cb369a6ee3', 800, 36, 547, 150, 30, '1', 'center', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nu68397bb77c048bb', '#RECORD_ID#', 'b', '2', 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6839c3808249c42', 'nuobject', 'zzzzsys_object', 'run', 'sob_items_run', 'Items', 'nu5bad6cb36974818', 730, 36, 547, 150, 30, '1', 'center', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nu68397bb77c048bb', '#RECORD_ID#', 'b', '2', 'F', NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6839f172950573b', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'contentbox', 'contentbox_prompt', '', 'nu683303b2448d46e', 10, -3, 3, 1168, 519, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu683afbdd482c2bc', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'input', 'pge_prompt_resize', '', 'nu683303b2448d46e', 120, 160, 1111, 35, 26, '1', 'center', '0', '0', NULL, '1', 'Class', 'nuAllowDblClick -nuButton nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-arrows-alt', NULL, NULL, 'data-nu-mobile-hidden,title=\"Resize\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu683ba4810911b2f', 'nuhome', NULL, 'run', 'nuprompgenerator_add', '', 'nu62cca90dba09759', 310, 320, 968, 33, 30, '1', 'center', '0', '0', NULL, '0', 'Class', 'input_button_right', NULL, NULL, 'nupromptgenerator', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fas fa-plus', NULL, NULL, 'title=\"Add Prompt\",data-nu-mobile-same-row=1', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu683bb195950009c', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'input', 'pge_extra_info_resize', '', 'nu683303b2448d46e', 130, 442, 1111, 35, 26, '1', 'center', '0', '0', NULL, '1', 'Class', 'nuAllowDblClick -nuButton nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-arrows-alt', NULL, NULL, 'data-nu-mobile-hidden,title=\"Resize\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu683bbae11732fe9', 'nupromptgenerator', 'zzzzsys_prompt_generator', 'input', 'btn_insert_parent_code', '', 'nu683303b2448d46e', 140, 200, 1111, 29, 26, '1', 'center', '0', '0', NULL, '1', 'Class', 'nuAllowDblClick', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-code-merge', NULL, NULL, 'data-nu-mobile-hidden,title=\"Paste code from Custom Code\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu684d3a932026cee', 'nuhome', NULL, 'run', 'run_add_sql', 'SQL', 'nu684d390a5e73fd1', 390, 63, 399, 236, 30, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nuselect', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-table', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6842dc89403a4a6', 'nuuser', 'zzzzsys_user', 'input', 'btn_toggle_password', '', 'nu5bad6cb36b63cae', 110, 218, 476, 35, 23, '1', 'left', '0', '0', NULL, '1', 'Class', '-nuButton -input_button nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa fa-eye', NULL, NULL, 'autocomplete=\"new-password\",title=\"Show Password\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '{\"type\":{\"version\":\"1.0\",\"mobile\":{\"version\":\"1.0\",\"name\":\"test1\",\"visible\":true,\"location\":{\"top\":\"245\",\"left\":\"52\"},\"size\":{\"width\":\"250\",\"height\":\"25\"},\"class\":[\"nuMobileInput\"]}}}', NULL),
('nu684d3b1b6ad7b08', 'nuhome', NULL, 'run', 'run_add_translation', 'Translation', 'nu684d390a5e73fd1', 410, 163, 399, 236, 30, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nutranslate', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa fa-globe', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu684d3b3ccf6517c', 'nuhome', NULL, 'run', 'run_add_format', 'Format', 'nu684d390a5e73fd1', 420, 213, 399, 236, 30, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nuformat', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa fa-calendar', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu684d3b5eceaf8c8', 'nuhome', NULL, 'run', 'run_add_fast_report', 'Fast Report', 'nu684d390a5e73fd1', 360, 213, 67, 236, 30, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, 'nufrlaunch', NULL, 'b', '0', 'F', '-1', NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'fa-solid fa-cubes', NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu684e17844eca02f', 'nunotes', 'zzzzsys_note', 'textarea', 'not_text', 'Text', 'nu684e16abd1b5744', 40, 26, 30, 900, 500, '0', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nu-label-position=\"top\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu685bbb362822e46', 'nuobject', 'zzzzsys_object', 'lookup', 'sob_select_procedure', 'Procedure', 'nu5bad6cb369a6ee3', 770, 75, 114, 250, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, 'sph_code', 'sph_description', '250', NULL, 'nuprocedure', 'nuObjectSelectProcedureChanged();', NULL, 'zzzzsys_php', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6862ec595565cdc', 'nuprocedure', 'zzzzsys_php', 'select', 'sph_status', 'Status', 'nu5bad6cb36b27343', 60, 149, 142, 140, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|Draft|\n1|Active|\n3|Archived', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu68635e281bad53e', 'nuobject', 'zzzzsys_object', 'input', 'sob_display_procedure_open_button', '', 'nu5bad6cb36974818', 670, 75, 654, 40, 22, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-external-link-alt', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu68635f301aea9e9', 'nuobject', 'zzzzsys_object', 'input', 'sob_select_procedure_open_button', '', 'nu5bad6cb369a6ee3', 750, 75, 654, 40, 22, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nuform', NULL, '1', NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-external-link-alt', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu686741a18ccdc5a', 'nucodesnippet', 'zzzzsys_code_snippet', 'input', 'cot_template', 'Template', 'nu5fdb1b5b254566f', 60, 0, 165, 110, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6877e41edbd3800', 'nuemailtemplate', 'zzzzsys_email_template', 'input', 'emt_category', 'Category', 'nu635294e9729b1a1', 70, 123, 133, 280, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6878429d04f44ed', 'nuprocedure', 'zzzzsys_php', 'input', 'sph_category', 'Category', 'nu5bad6cb36b27343', 50, 121, 142, 283, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, 'SELECT DISTINCT\n    `sph_group`\nFROM\n    `zzzzsys_php`\nWHERE\n    TRIM(IFNULL(`sph_group`, \'\')) <> \'\'\n    AND `sph_group` <> \'nubuilder\'\nORDER BY\n    `sph_group`', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu687b3cd707cfbfd', 'nuform', 'zzzzsys_form', 'html', 'custom_code_2', '°', 'nu687b3c9ebc3e813', 540, 3, 10, 1194, 488, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '<style>\n        .nu-code-container {\n            display: flex;\n            height: 520px;\n        }\n        \n        .nu-sidebar {\n            width: 250px;\n            background: #f8f9fa;\n            color: #495057;\n            overflow-y: auto;\n            box-sizing: border-box;\n            border-right: 1px solid #dee2e6;\n        }\n\n        .nu-sidebar h3 {\n            padding: 0px 20px 3px;\n            font-size: 14px;\n            color: #6c757d;\n            text-transform: uppercase;\n            letter-spacing: 0.5px;\n            border-bottom: 1px solid #dee2e6;\n            margin-bottom: 15px;\n        }\n\n        .nu-nav-section {\n            margin-bottom: 2px;\n        }\n\n        .nu-nav-button {\n            display: block;\n            width: 100%;\n            padding: 8px 20px;\n            background: none;\n            border: none;\n            color: #495057;\n            text-align: left;\n            cursor: pointer;\n            transition: background-color 0.2s ease, padding-left 0.2s ease;\n            font-size: 14px;\n            position: relative;\n            box-sizing: border-box;\n        }\n\n        .nu-nav-button:nth-child(even) {\n            background: #f1f3f4;\n        }\n\n        .nu-nav-button:hover {\n            background: #e9ecef;\n            padding-left: 25px;\n        }\n\n        .nu-nav-button.active {\n            background: #2d84d1;\n            color: white;\n            border-left: 4px solid #1352a4;\n        }\n\n        .nu-nav-button.active:hover {\n            background: #1352a4;\n            color: white;\n        }\n\n        .nu-nav-button .badge {\n            background: #dc3545;\n            color: white;\n            padding: 2px 6px;\n            border-radius: 10px;\n            font-size: 10px;\n            float: right;\n            margin-top: 2px;\n        }\n\n        .nu-nav-button.active .badge {\n            background: #ffffff;\n            color: #2d84d1;\n        }\n\n        .nu-main-content {\n            flex: 1;\n            display: flex;\n            flex-direction: column;\n            background: white;\n        }\n\n        .nu-content-header {\n            background: white;\n            padding: 0px 20px;\n            border-bottom: 1px solid #ddd;\n        }\n\n        .nu-content-header h2 {\n            color: #2c3e50;\n            font-size: 18px;\n            margin-bottom: 5px;\n        }\n\n        .nu-content-header p {\n            color: #7f8c8d;\n            font-size: 14px;\n        }\n\n        .nu-code-area {\n            flex: 1;\n            padding: 30px;\n            display: none;\n        }\n\n        .nu-code-area.active {\n            display: block;\n        }\n\n        .nu-code-textarea {\n            width: 100%;\n            height: 100%;\n            border: 1px solid #ddd;\n            border-radius: 6px;\n            padding: 7px;\n            font-family: var(--nu-font-code), \'Monaco\', \'Menlo\', \'Ubuntu Mono\', monospace;\n            line-height: 1.5;\n            resize: none;\n            outline: none;\n            transition: border-color 0.2s ease;\n            box-sizing: border-box;\n        }\n\n        .nu-code-textarea:focus {\n            border-color: #3498db;\n        }\n\n        /* Custom scrollbar for sidebar */\n        .nu-sidebar::-webkit-scrollbar {\n            width: 6px;\n        }\n\n        .nu-sidebar::-webkit-scrollbar-track {\n            background: #f8f9fa;\n        }\n\n        .nu-sidebar::-webkit-scrollbar-thumb {\n            background: #dee2e6;\n            border-radius: 3px;\n        }\n\n        .nu-sidebar::-webkit-scrollbar-thumb:hover {\n            background: #adb5bd;\n        }\n    </style>\n\n    <div class=\"nu-code-container\">\n        <div class=\"nu-sidebar\">\n            <div class=\"nu-nav-section\">\n                <h3>JS Events</h3>\n                <button class=\"nu-nav-button active\" data-target=\"browse-edit\">Browse & Edit</button>\n                <button class=\"nu-nav-button\" data-target=\"browse\">Browse</button>\n                <button class=\"nu-nav-button\" data-target=\"edit\">Edit</button>\n            </div>\n\n            <div class=\"nu-nav-section\">\n                <h3>PHP Events</h3>\n                <button class=\"nu-nav-button\" data-target=\"before-browse\">\n                    Before Browse\n                    <span class=\"badge\">BB</span>\n                </button>\n                <button class=\"nu-nav-button\" data-target=\"before-edit\">\n                    Before Edit\n                    <span class=\"badge\">BE</span>\n                </button>\n                <button class=\"nu-nav-button\" data-target=\"before-save\">\n                    Before Save\n                    <span class=\"badge\">BS</span>\n                </button>\n                <button class=\"nu-nav-button\" data-target=\"after-save\">\n                    After Save\n                    <span class=\"badge\">AS</span>\n                </button>\n                <button class=\"nu-nav-button\" data-target=\"before-delete\">\n                    Before Delete\n                    <span class=\"badge\">BD</span>\n                </button>\n                <button class=\"nu-nav-button\" data-target=\"after-delete\">\n                    After Delete\n                    <span class=\"badge\">AD</span>\n                </button>\n            </div>\n\n            <div class=\"nu-nav-section\">\n                <h3>Styling</h3>\n                <button class=\"nu-nav-button\" data-target=\"css-style\">CSS Style</button>\n            </div>\n        </div>\n\n        <div class=\"nu-main-content\">\n            <div class=\"nu-content-header\">\n                <p id=\"current-description\">Code that runs when users can both browse and edit records</p>\n            </div>\n\n            <!-- Code areas for each section -->\n            <div class=\"nu-code-area active\" id=\"browse-edit-area\">\n                <textarea id=\"nu-code-textarea-browse-edit\" class=\"js nu-code-textarea\" title=\"Browse & Edit\" placeholder=\"Enter your Browse & Edit code here...\"></textarea>\n            </div>\n\n            <div class=\"nu-code-area\" id=\"browse-area\">\n                <textarea id=\"nu-code-textarea-browse\" class=\"js nu-code-textarea\"  title=\"Browse\" placeholder=\"Enter your Browse code here...\"></textarea>\n            </div>\n\n            <div class=\"nu-code-area\" id=\"edit-area\">\n                <textarea id=\"nu-code-textarea-edit\" class=\"js nu-code-textarea\"  title=\"Edit\" placeholder=\"Enter your Edit code here...\"></textarea>\n            </div>\n\n            <div class=\"nu-code-area\" id=\"before-browse-area\">\n                <textarea id=\"nu-code-textarea-php-bb\" class=\"php nu-code-textarea\" title=\"Before Browse (BB)\" placeholder=\"Enter your Before Browse PHP code here...\"></textarea>\n            </div>\n\n            <div class=\"nu-code-area\" id=\"before-edit-area\">\n                <textarea id=\"nu-code-textarea-php-be\" class=\"php nu-code-textarea\" title=\"Before Edit (BE)\" placeholder=\"Enter your Before Edit PHP code here...\"></textarea>\n            </div>\n\n            <div class=\"nu-code-area\" id=\"before-save-area\">\n                <textarea id=\"nu-code-textarea-php-bs\" class=\"php nu-code-textarea\" title=\"Before Save (BS)\" placeholder=\"Enter your Before Save PHP code here...\"></textarea>\n            </div>\n\n            <div class=\"nu-code-area\" id=\"after-save-area\">\n                <textarea id=\"nu-code-textarea-php-as\" class=\"php nu-code-textarea\" title=\"After Save (AS)\" placeholder=\"Enter your After Save PHP code here...\"></textarea>\n            </div>\n\n            <div class=\"nu-code-area\" id=\"before-delete-area\">\n                <textarea id=\"nu-code-textarea-php-bd\" class=\"php nu-code-textarea\" title=\"Before Delete (BD)\" placeholder=\"Enter your Before Delete PHP code here...\"></textarea>\n            </div>\n\n            <div class=\"nu-code-area\" id=\"after-delete-area\">\n                <textarea id=\"nu-code-textarea-php-ad\" class=\"php nu-code-textarea\" title=\"After Delete (AD)\" placeholder=\"Enter your After Delete PHP code here...\"></textarea>\n            </div>\n\n            <div class=\"nu-code-area\" id=\"css-style-area\">\n                <textarea id=\"nu-code-textarea-css\" class=\"nu-code-textarea css\" title=\"CSS Style\" placeholder=\"Enter your CSS styles here...\"></textarea>\n            </div>\n        </div>\n    </div>\n\n    <script>\n        var navButtons = document.querySelectorAll(\'.nu-nav-button\');\n        var codeAreas = document.querySelectorAll(\'.nu-code-area\');\n        var currentDescription = document.getElementById(\'current-description\');\n\n        var sectionInfo = {\n            \'browse-edit\': {\n                title: \'Browse & Edit\',\n                description: \'Code that runs when users can both browse and edit records\'\n            },\n            \'browse\': {\n                title: \'Browse\',\n                description: \'Code that runs when users are browsing records\'\n            },\n            \'edit\': {\n                title: \'Edit\',\n                description: \'Code that runs when users are editing records\'\n            },\n            \'before-browse\': {\n                title: \'Before Browse\',\n                description: \'PHP code executed before browsing records\'\n            },\n            \'before-edit\': {\n                title: \'Before Edit\',\n                description: \'PHP code executed before editing a record\'\n            },\n            \'before-save\': {\n                title: \'Before Save\',\n                description: \'PHP code executed before saving a record\'\n            },\n            \'after-save\': {\n                title: \'After Save\',\n                description: \'PHP code executed after saving a record\'\n            },\n            \'before-delete\': {\n                title: \'Before Delete\',\n                description: \'PHP code executed before deleting a record\'\n            },\n            \'after-delete\': {\n                title: \'After Delete\',\n                description: \'PHP code executed after deleting a record\'\n            },\n            \'css-style\': {\n                title: \'CSS Style\',\n                description: \'Custom CSS styles for this form\'\n            }\n        };\n\n        navButtons.forEach(button => {\n            button.addEventListener(\'click\', () => {\n                const targetId = button.dataset.target;\n                \n                // Remove active class from all buttons\n                navButtons.forEach(btn => btn.classList.remove(\'active\'));\n                // Add active class to clicked button\n                button.classList.add(\'active\');\n                \n                // Hide all code areas\n                codeAreas.forEach(area => area.classList.remove(\'active\'));\n                \n                // Show target code area\n                const targetArea = document.getElementById(targetId + \'-area\');\n                if (targetArea) {\n                    targetArea.classList.add(\'active\');\n                }\n                \n                // Update header\n                const info = sectionInfo[targetId];\n                if (info) {\n                    currentDescription.textContent = info.description;\n                }\n            });\n        });\n\n        // Function to programmatically select a navigation button\n        function nuSelectNavButton(targetId) {\n            const button = document.querySelector(`[data-target=\"${targetId}\"]`);\n            if (button) {\n                // Remove active class from all buttons\n                navButtons.forEach(btn => btn.classList.remove(\'active\'));\n                // Add active class to target button\n                button.classList.add(\'active\');\n                \n                // Hide all code areas\n                codeAreas.forEach(area => area.classList.remove(\'active\'));\n                \n                // Show target code area\n                const targetArea = document.getElementById(targetId + \'-area\');\n                if (targetArea) {\n                    targetArea.classList.add(\'active\');\n                }\n                \n                // Update header\n                const info = sectionInfo[targetId];\n                if (info) {\n                    currentDescription.textContent = info.description;\n                }\n                \n                return true; // Success\n            }\n            return false; // Button not found\n        }\n\n        // Function to get the currently active navigation button\n        function nuGetActiveNavButton() {\n            const activeButton = document.querySelector(\'.nu-nav-button.active\');\n            return activeButton ? activeButton.getAttribute(\'data-target\') : null;\n        }\n\n        // Handle textarea changes\n        document.querySelectorAll(\'.nu-code-textarea\').forEach(textarea => {\n            // Add nuEdited class on change\n            textarea.addEventListener(\'change\', function() {\n                this.classList.add(\'nuEdited\');\n                \n                // Map textarea ID to corresponding button data-target\n                const textareaToTarget = {\n                    \'nu-code-textarea-browse-edit\': \'browse-edit\',\n                    \'nu-code-textarea-browse\': \'browse\',\n                    \'nu-code-textarea-edit\': \'edit\',\n                    \'nu-code-textarea-php-bb\': \'before-browse\',\n                    \'nu-code-textarea-php-be\': \'before-edit\',\n                    \'nu-code-textarea-php-bs\': \'before-save\',\n                    \'nu-code-textarea-php-as\': \'after-save\',\n                    \'nu-code-textarea-php-bd\': \'before-delete\',\n                    \'nu-code-textarea-php-ad\': \'after-delete\',\n                    \'nu-code-textarea-css\': \'css-style\'\n                };\n                \n                const targetButton = textareaToTarget[this.id];\n                if (targetButton) {\n                    const button = document.querySelector(`[data-target=\"${targetButton}\"]`);\n                    if (button) {\n                        // Add/remove nuTabMarker based on content\n                        if (this.value.trim() !== \'\') {\n                            button.classList.add(\'nuTabMarker\');\n                        } else {\n                            button.classList.remove(\'nuTabMarker\');\n                        }\n                    }\n                }\n            });\n        });\n    </script>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885af953ea58be', 'nuappcloner', 'zzzzsys_app_cloner', 'contentbox', 'cla_target_section', 'Target Database', 'nu6885af953ea5089', 10, 76, 33, 958, 84, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'Target Database', NULL, NULL, NULL, NULL, NULL),
('nu6885af953ea5bf9', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_target_host', 'Host', 'nu6885af953ea5089', 100, 116, 185, 240, 20, '0', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'placeholder=\"E.g. 127.0.0.1\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885af953ea5ee9', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_target_db', 'Database', 'nu6885af953ea5089', 110, 146, 185, 240, 20, '0', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885af953ea61be', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_target_username', 'Username', 'nu6885af953ea5089', 120, 116, 558, 170, 20, '0', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'autocomplete=\"new-password\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885af953ea642e', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_target_password', 'Password', 'nu6885af953ea5089', 130, 146, 558, 170, 20, '0', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'password', NULL, NULL, NULL, 'autocomplete=\"new-password\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885af953ea671e', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_target_charset', 'Charset', 'nu6885af953ea554b', 340, 112, 205, 120, 20, '0', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885af953ea6a85', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_target_port', 'Port', 'nu6885af953ea554b', 350, 141, 205, 80, 20, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, 'placeholder=\"3306\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885af953ea6d7b', 'nuappcloner', 'zzzzsys_app_cloner', 'contentbox', 'cla_paths_section', 'Folder & Files', 'nu6885af953ea5089', 60, 188, 33, 958, 73, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'File Paths', NULL, NULL, NULL, NULL, NULL),
('nu6885af953ea709d', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_source_path', 'Source Path', 'nu6885af953ea5089', 150, 222, 321, 300, 20, '0', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'placeholder=\"..\",data-nu-copy-files', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885af953ea7390', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_target_path', 'Target Path', 'nu6885af953ea5089', 160, 251, 321, 300, 20, '0', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'placeholder=\"../../clone_directory_name\",data-nu-copy-files', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885af953ea7670', 'nuappcloner', 'zzzzsys_app_cloner', 'contentbox', 'cla_schema_structure_contentbox', 'Schema Structure', 'nu6885af953ea5089', 40, 291, 33, 260, 120, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'Clone Options', NULL, NULL, NULL, NULL, NULL),
('nu6885af953ea7978', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_opt_1', 'Create system tables', 'nu6885af953ea5089', 170, 330, 242, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885af953ea7cdd', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_opt_2', 'Create user tables and views', 'nu6885af953ea5089', 180, 359, 242, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885af953ea7fa8', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_opt_3', 'System records (nu*)', 'nu6885af953ea5089', 190, 330, 500, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885af953ea8214', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_opt_4', 'User records (non-nu*)', 'nu6885af953ea5089', 200, 359, 500, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885af953ea8555', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_opt_5', 'User table data', 'nu6885af953ea5089', 210, 389, 500, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885af953ea88ee', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_opt_6', 'Functions', 'nu6885af953ea5089', 220, 330, 739, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885af953ea8b6b', 'nuappcloner', 'zzzzsys_app_cloner', 'select', 'cla_insert_type', 'Type', 'nu6885af953ea5089', 260, 483, 132, 125, 20, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '[\"INSERT\",\"INSERT IGNORE\", \"REPLACE\"]', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6886eafb1c75924', 'nuappcloner', 'zzzzsys_app_cloner', 'select', 'cla_opt_2_include', 'Include', 'nu6886eb368899b19', 460, 140, 51, 458, 379, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', 'SELECT TABLE_NAME, TABLE_NAME\nFROM INFORMATION_SCHEMA.TABLES\nWHERE TABLE_SCHEMA = DATABASE()\n  AND TABLE_TYPE IN (\'BASE TABLE\', \'VIEW\')\n  AND TABLE_NAME NOT LIKE \'zzzzsys%\';', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nu-label-position=\"top\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885d26a27a80ed', 'nuappcloner', 'zzzzsys_app_cloner', 'contentbox', 'contentbox_advanced_options', 'Database', 'nu6885af953ea554b', 280, 13, 29, 747, 200, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'Target Database', NULL, NULL, NULL, NULL, NULL),
('nu6885af953ea9421', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_show_progress', 'Show Progress', 'nu6885af953ea554b', 380, 569, 202, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885af953ea97e5', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_dry_run', 'Dry Run (Test Mode)', 'nu6885af953ea5089', 270, 535, 246, 18, 22, '0', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885af953ea9a41', 'nuappcloner', 'zzzzsys_app_cloner', 'select', 'cla_target_db_mode', 'Database Creation Mode', 'nu6885af953ea554b', 400, 52, 205, 175, 22, '0', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'create|Create if not exists|\nfail|Fail if exists|\nclear|Clear if exists', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885af953ea9da4', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_transaction_mode', 'Use Transactions', 'nu6885af953ea554b', 310, 170, 205, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885af953eaa02d', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_log_file', 'Log File Path', 'nu6885af953ea554b', 320, 201, 205, 540, 20, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'placeholder=\"/path/to/clone.log (optional)\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `zzzzsys_object` (`zzzzsys_object_id`, `sob_all_zzzzsys_form_id`, `sob_all_table`, `sob_all_type`, `sob_all_id`, `sob_all_label`, `sob_all_zzzzsys_tab_id`, `sob_all_order`, `sob_all_top`, `sob_all_left`, `sob_all_width`, `sob_all_height`, `sob_all_cloneable`, `sob_all_align`, `sob_all_validate`, `sob_all_access`, `sob_all_access_condition`, `sob_all_event`, `sob_all_style_type`, `sob_all_style`, `sob_calc_formula`, `sob_calc_format`, `sob_run_zzzzsys_form_id`, `sob_run_filter`, `sob_run_method`, `sob_run_target`, `sob_run_type`, `sob_run_id`, `sob_display_sql`, `sob_display_procedure`, `sob_select_multiple`, `sob_select_2`, `sob_select_sql`, `sob_select_procedure`, `sob_lookup_code`, `sob_lookup_description`, `sob_lookup_description_width`, `sob_lookup_autocomplete`, `sob_lookup_zzzzsys_form_id`, `sob_lookup_javascript`, `sob_lookup_php`, `sob_lookup_table`, `sob_subform_zzzzsys_form_id`, `sob_subform_foreign_key`, `sob_subform_add`, `sob_subform_delete`, `sob_subform_type`, `sob_subform_table`, `sob_input_count`, `sob_input_format`, `sob_input_type`, `sob_input_icon`, `sob_input_javascript`, `sob_input_datalist`, `sob_input_attribute`, `sob_input_file_target`, `sob_html_code`, `sob_html_chart_type`, `sob_html_javascript`, `sob_html_title`, `sob_html_vertical_label`, `sob_html_horizontal_label`, `sob_image_zzzzsys_file_id`, `sob_all_json`, `sob_json`) VALUES
('nu6885af953eaa318', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_database_collation', 'Database Collation', 'nu6885af953ea554b', 330, 83, 205, 300, 20, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, '[\n  \"utf8mb4_unicode_ci\",\n  \"utf8mb4_general_ci\",\n  \"utf8mb4_0900_ai_ci\",\n  \"utf8mb4_bin\",\n  \"utf8_unicode_ci\",\n  \"utf8_general_ci\",\n  \"utf8_bin\",\n  \"latin1_swedish_ci\",\n  \"latin1_general_ci\",\n  \"latin1_bin\",\n  \"ascii_general_ci\",\n  \"ascii_bin\",\n  \"ucs2_general_ci\",\n  \"ucs2_bin\",\n  \"utf16_general_ci\",\n  \"utf16_bin\",\n  \"utf32_general_ci\",\n  \"utf32_bin\"\n]\n', 'placeholder=\"utf8mb4_unicode_ci\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885af953eaa6f5', 'nuappcloner', 'zzzzsys_app_cloner', 'textarea', 'cla_excluded_files', 'Excluded Files', 'nu6885af953ea554b', 360, 308, 202, 540, 103, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'placeholder=\"Comma-separated list of files to exclude\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885af953eaa9bc', 'nuappcloner', 'zzzzsys_app_cloner', 'textarea', 'cla_excluded_dirs', 'Excluded Directories', 'nu6885af953ea554b', 370, 425, 202, 540, 103, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'placeholder=\"Comma-separated list of directories to exclude\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885ddbdb29e346', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_opt_7', 'Procedures', 'nu6885af953ea5089', 230, 359, 739, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885ddcaad89708', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_opt_8', 'Triggers', 'nu6885af953ea5089', 240, 330, 920, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885ddd993eaec8', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_opt_9', '|Events', 'nu6885af953ea5089', 250, 359, 920, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885f95aaae86b6', 'nuappcloner', 'zzzzsys_app_cloner', 'contentbox', 'cla_contentbox_general', 'General', 'nu6885af953ea5089', 70, 10, 33, 958, 40, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'Target Database', NULL, NULL, NULL, NULL, NULL),
('nu6885f973ac7f703', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_code', 'Code', 'nu6885af953ea5089', 80, 41, 185, 200, 20, '0', 'left', '3', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'title=\"Unique Identifier\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6885f98746ff882', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_description', 'Description', 'nu6885af953ea5089', 90, 41, 558, 385, 20, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu688f7fd8847330f', 'nuappcloner', 'zzzzsys_app_cloner', 'contentbox', 'cla_data_content_contentbox', 'Data Content', 'nu6885af953ea5089', 50, 291, 320, 260, 120, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'Clone Options', NULL, NULL, NULL, NULL, NULL),
('nu6886eb1bb5d9ee2', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_includ_select_all_button', '', 'nu6886eb368899b19', 420, 73, 52, 35, 23, '1', 'center', '0', '0', NULL, '1', 'Class', '-nuButton nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'button', 'fa-regular fa-square-check', NULL, NULL, 'title=\"Select all\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6886ec5f4c9072b', 'nuappcloner', 'zzzzsys_app_cloner', 'contentbox', 'cla_contentbox_user_table_views', 'Include user tables and views', 'nu6886eb368899b19', 410, 10, 33, 979, 550, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'Target Database', NULL, NULL, NULL, NULL, NULL),
('nu6886ee5338fb4ac', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_include_unselect_all_button', '', 'nu6886eb368899b19', 440, 73, 100, 35, 23, '1', 'center', '0', '0', NULL, '1', 'Class', '-nuButton nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'button', 'fa-regular fa-square', NULL, NULL, 'title=\"Unselect all\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6886fc0e228c9f9', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_copy_files', 'Copy', 'nu6885af953ea5089', 140, 222, 152, 18, 22, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, 'data-nu-copy-files', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6887511e5689d14', 'nuprocedure', 'zzzzsys_php', 'input', 'sph_javascript_active', 'Active', 'nu68874e7a14a63ee', 210, 19, 852, 16, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', '0|Procedure|\n1|Run->Procedure', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu68874ed2b0489d7', 'nuprocedure', 'zzzzsys_php', 'textarea', 'sph_javascript', '', 'nu68874e7a14a63ee', 200, 47, 99, 764, 501, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false, data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6887f41bb42437f', 'nuprocedure', 'zzzzsys_php', 'html', 'icon_include_js', '', 'nu68874e7a14a63ee', 190, 53, 38, 43, 39, '1', 'left', '0', '0', NULL, '0', 'CSS', 'background-size: 40px 37px;', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', '<div></div>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu688ba5aa8781631', 'nuprocedure', 'zzzzsys_php', 'input', 'sph_run_hidden_btn', 'Hidden', 'nu5bad6cb36b27343', 170, 205, 281, 130, 24, '1', 'center', '0', '0', NULL, '1', 'Class', 'nuQuickButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-eye-slash', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu688ba64050cec1c', 'nuprocedure', 'zzzzsys_php', 'input', 'sph_run_window_btn', 'New tab', 'nu5bad6cb36b27343', 180, 205, 421, 130, 24, '1', 'center', '0', '0', NULL, '1', 'Class', 'nuQuickButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', 'fa-solid fa-eye-slash', NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu688f808b283498c', 'nuappcloner', 'zzzzsys_app_cloner', 'contentbox', 'cla_programmatic_element_contentbox', 'Programmatic Elements', 'nu6885af953ea5089', 30, 291, 600, 391, 120, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'Clone Options', NULL, NULL, NULL, NULL, NULL),
('nu688f80d72bf7728', 'nuappcloner', 'zzzzsys_app_cloner', 'contentbox', 'cla_insert_options_contentbox', 'Insert Options', 'nu6885af953ea5089', 20, 442, 33, 260, 60, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'Clone Options', NULL, NULL, NULL, NULL, NULL),
('nu688f9fb86bbee39', 'nuappcloner', 'zzzzsys_app_cloner', 'select', 'cla_opt_2_exclude', 'Exclude', 'nu6886eb368899b19', 470, 140, 533, 458, 379, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', 'SELECT TABLE_NAME, TABLE_NAME\nFROM INFORMATION_SCHEMA.TABLES\nWHERE TABLE_SCHEMA = DATABASE()\n  AND TABLE_TYPE IN (\'BASE TABLE\', \'VIEW\')\n  AND TABLE_NAME NOT LIKE \'zzzzsys%\';', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nu-label-position=\"top\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu688fa04c87b4359', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_exclude_select_all_button', '', 'nu6886eb368899b19', 430, 73, 533, 35, 23, '1', 'center', '0', '0', NULL, '1', 'Class', '-nuButton nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'button', 'fa-regular fa-square-check', NULL, NULL, 'title=\"Select all\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu688fa07d9e392fc', 'nuappcloner', 'zzzzsys_app_cloner', 'input', 'cla_exclude_unselect_all_button', '', 'nu6886eb368899b19', 450, 73, 581, 35, 23, '1', 'center', '0', '0', NULL, '1', 'Class', '-nuButton nuToolButton', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'button', 'fa-regular fa-square', NULL, NULL, 'title=\"Unselect all\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6892ac6ce866d56', 'nuappcloner', 'zzzzsys_app_cloner', 'select', 'cla_copy_files_mode', 'Copy Files Mode', 'nu6885af953ea554b', 390, 280, 202, 175, 22, '0', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'create|Create if not exists|\nfail|Fail if exists|\nclear|Clear if exists', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu6892af28283443b', 'nuappcloner', 'zzzzsys_app_cloner', 'contentbox', 'contentbox_advanced_folders_files', 'Folder & Files', 'nu6885af953ea554b', 300, 240, 29, 747, 288, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'Target Database', NULL, NULL, NULL, NULL, NULL),
('nu6892afe1cee71a8', 'nuappcloner', 'zzzzsys_app_cloner', 'contentbox', 'contentbox_advanced_others', '', 'nu6885af953ea554b', 290, 538, 29, 747, 40, '0', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'Target Database', NULL, NULL, NULL, NULL, NULL);

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_permission_item`
--

CREATE TABLE `zzzzsys_permission_item` (
  `zzzzsys_permission_item_id` varchar(25) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
  `pme_description` text,
  `pme_group` varchar(50) DEFAULT NULL,
  `pme_ident` varchar(50) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_php`
--

CREATE TABLE `zzzzsys_php` (
  `zzzzsys_php_id` varchar(25) NOT NULL,
  `sph_code` varchar(300) DEFAULT NULL,
  `sph_description` varchar(300) DEFAULT NULL,
  `sph_group` varchar(100) DEFAULT NULL,
  `sph_category` varchar(100) DEFAULT NULL,
  `sph_status` varchar(1) DEFAULT NULL,
  `sph_php` longtext,
  `sph_javascript` text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci,
  `sph_javascript_active` varchar(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
  `sph_run` varchar(20) DEFAULT NULL,
  `sph_zzzzsys_form_id` varchar(25) DEFAULT NULL,
  `sph_system` varchar(1) DEFAULT NULL,
  `sph_global` varchar(1) DEFAULT '0',
  `sph_demo` varchar(1) DEFAULT '1',
  `sph_template` varchar(1) NOT NULL DEFAULT '0',
  `sph_hide` varchar(1) DEFAULT NULL,
  `sph_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

--
-- Dumping data for table `zzzzsys_php`
--

INSERT INTO `zzzzsys_php` (`zzzzsys_php_id`, `sph_code`, `sph_description`, `sph_group`, `sph_category`, `sph_status`, `sph_php`, `sph_javascript`, `sph_javascript_active`, `sph_run`, `sph_zzzzsys_form_id`, `sph_system`, `sph_global`, `sph_demo`, `sph_template`, `sph_hide`, `sph_json`) VALUES
('nu5bad6cb329dcb6e_AB', 'nu5bad6cb329dcb6e_AB', 'System PHP', 'nubuilder', NULL, '1', '$s = \"\n        SELECT *\n        FROM zzzzsys_tab\n        JOIN zzzzsys_form ON zzzzsys_form_id = syt_zzzzsys_form_id\n        WHERE zzzzsys_tab_id = \'#LOOKUP_RECORD_ID#\'\n        \";\n\n$t = nuRunQuery($s);\n$c = db_num_rows($t);\nif ($c == 1) {\n    $r = db_fetch_object($t);\n}\n\nnuSetFormValue(\'sob_all_zzzzsys_form_id\', $c == 1 ? $r->syt_zzzzsys_form_id: \'\');\nnuSetFormValue(\'sob_all_table\', $c == 1 ? $r->sfo_table: \'\');', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nu5bad6cb32c9102c_AB', 'nu5bad6cb32c9102c_AB', 'System PHP', 'nubuilder', NULL, '1', '$s  = \"\n        SELECT * \n        FROM zzzzsys_form\n        WHERE zzzzsys_form_id = \'#LOOKUP_RECORD_ID#\'\n        \n        \";\n\n$t  = nuRunQuery($s);\n$c = db_num_rows($t);\nif ($c == 1) {$r  = db_fetch_object($t); }\n\n\nnuSetFormValue(\'sob_subform_table\', $c == 1 ? $r->sfo_table: \'\');', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nu5bad6cb32d22215_AB', 'nu5bad6cb32d22215_AB', 'System PHP', 'nubuilder', NULL, '1', '$lu = nuLookupRecord();\n\n// run not accessible when using temp tables\n// $runType = empty($lu->run) ? \'\' : substr($lu->run, 0, 1);\n// Workaround:\n$runType = nuRunType(\'\', $lu->ID);\nnuSetFormValue(\'sob_run_type\',  $runType);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nu5bad6cb32dcbcb4_AB', 'nu5bad6cb32dcbcb4_AB', 'System PHP', 'nubuilder', NULL, '1', '\n$s  = \"\n        SELECT * \n        FROM zzzzsys_form\n        WHERE zzzzsys_form_id = \'#LOOKUP_RECORD_ID#\'\n        \n        \";\n\n$t  = nuRunQuery($s);\n\nif (db_num_rows($t) == 1) {\n    $r  = db_fetch_object($t);\n    nuSetFormValue(\'sob_lookup_table\', $r->sfo_table);\n}    \n    \n', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nu5bad6cb33715015_AB', 'nu5bad6cb33715015_AB', 'System PHP', 'nubuilder', NULL, '1', '$lu = nuLookupRecord();\n$type = $lu->sfo_type ?? \'\';\n\nif ($type !== \'launch\') {\n\n    nuSetFormValue(\'slf_add_button\', \'1\');\n    nuSetFormValue(\'slf_print_button\', \'1\');\n\n    if ($type !== \'browse\') {\n        nuSetFormValue(\'slf_save_button\', \'1\');\n        nuSetFormValue(\'slf_clone_button\', \'1\');\n        nuSetFormValue(\'slf_delete_button\', \'1\');\n    }\n\n}', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nu5f6fe8bd7ff850a', 'nu_csv_transfer', 'CSV Transfer', 'nubuilder', 'Database', '1', '$csvTransfer = \'#csv_transfer#\';\n\nif ($csvTransfer == \'export\') {\n    nuToCSV(\'#csv_from#\', \'#csv_to#\', \'#csv_delimiter#\');\n} else if ($csvTransfer == \'import\') {\n    nuFromCSV(\'#csv_from#\', \'#csv_to#\', \'#csv_delimiter#\', \'#csv_delete_after_import#\');\n}', NULL, NULL, 'window', 'nublank', '1', '0', '0', '0', '', NULL),
('nu5fdb22ce4a13271_AB', 'nu5fdb22ce4a13271_AB', 'System PHP', 'nubuilder', NULL, '1', 'nuSetFormValue(\'sfo_code_snippet_paste\', nuLookupRecord()->cot_source_code);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nu5fdbb4226426ddb_AB', 'nu5fdbb4226426ddb_AB', 'System PHP', 'nubuilder', NULL, '1', 'nuSetFormValue(\'set_code_snippet_paste\', nuLookupRecord()->cot_source_code);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nu5fdbd8ae17c40b9_AB', 'nu5fdbd8ae17c40b9_AB', 'System PHP', 'nubuilder', NULL, '1', 'nuSetFormValue(\'sob_code_snippet_paste\', nuLookupRecord()->cot_source_code);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nu5fdbdaee571fbb3_AB', 'nu5fdbdaee571fbb3_AB', 'System PHP', 'nubuilder', NULL, '1', 'nuSetFormValue(\'sob_code_snippet_paste\', nuLookupRecord()->cot_source_code);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nu5fdcef9a8e8c47c_AB', 'nu5fdcef9a8e8c47c_AB', 'System PHP', 'nubuilder', NULL, '1', 'nuSetFormValue(\'sfo_code_snippet_paste\', nuLookupRecord()->cot_source_code);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nu5fde5c8f1e64a86_AB', 'nu5fde5c8f1e64a86_AB', 'System PHP', 'nubuilder', NULL, '1', 'nuSetFormValue(\'sse_code_snippet_paste\', nuLookupRecord()->cot_source_code);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nu5fdefa3f19faf1e', 'nu_get_record', 'Edit Record Navigator: Get Next/Previous Primary Key', 'nubuilder', 'Browse', '1', '$eri = json_decode(base64_decode(\'#NU_EDIT_RECORD_INFO#\'));\n$pk = $eri->primary_key;\n$action = $eri->_action;\n\n$goto_pk = \"\";\n$cr = \"\";\n\nif ($action == \'next\' || $action == \'back\') {\n    $t = nuRunQuery($eri->browse_sql);\n\n    while ($r = db_fetch_object($t)) {\n\n        if ($eri->record_id == $r->$pk) {\n            if ($action == \"next\") {\n                $r = db_fetch_object($t);\n                $goto_pk = $r->$pk;\n                break;\n            }\n            else {\n                $goto_pk = $cr;\n                break;\n            }\n        }\n\n        $cr = $r->$pk;\n    }\n}\n\n$j = \" onOpenRecord(\'$goto_pk\',\'$action\'); \";\n\nnuJavaScriptCallback($j);', NULL, NULL, 'hide', '', '1', '0', '1', '0', '', NULL),
('nu5fe07d3154346f7', 'nu_authentication_2fa_template', '2FA Authentication Send and Verify', 'nubuilder', '2FA', '1', '\nfunction nuGetEmail($adminEmail = \'\') {\n    $u = nuUser();\n    $email = $u->sus_email;\n    if ($email == null) $email = $adminEmail;\n    return $email;\n} \n\nfunction nuSendCodeByEmail($code) {\n    $content = \'Your Code: \'.$code;\n    $subject = \'nuBuilder Authentication Code\';\n    $fromName = \'nubuilder\';\n    $fromAddress = \'from@something.com\';\n    $sendTo = nuGetEmail(\'\'); // Pass the globeadmin email address here \n\n    nuSendEmail($sendTo, $fromAddress, $fromName, $content, \'$subject\', [], true);\n\n    nuDisplayError(\"An email has been sent to the registered account. Subject = \'\".$subject.\"\'\");\n}\n\n$command = ! isset($nuauthcommand) ? \"#nuauthcommand#\" : $nuauthcommand;\n\n$u		= (nuHash()[\'GLOBAL_ACCESS\'] == \'1\'  ? $_SESSION[\'nubuilder_session_data\'][\'GLOBEADMIN_NAME\'] : nuUser()->zzzzsys_user_id);\n\nif ($command == \'auth_check\') {                                                 // Check if the token is valid\n    \n    $auth2FACheck = $nuAuthCheck(get_defined_vars(), 3600);                     // Token validated less than 1 hour ago\n\n} elseif ($command == \'send\') {                                                 // Generate and send the token \n    \n    $token = nuGenerateToken(7);                                                // Generate a random string of length 7\n    \n    nuSet2FAToken($token);                                                      // Store the token in the session\n    nuSet2FAVerifiedTime();			\n    nuOutput2FATokenToConsole($token);                                          // For testing purposes, output the token to the developer console\n\n    //nuSendCodeByEmail($token);                                                // Send the token by email. \n    \n} elseif ($command == \'verify\') {                                               // Verify if the entered token is valid\n\n   //  next line is causing an error\n     $tokenExpired = nuAuthGetElapsedTime(nuGet2FATokenSentTime($u)) > 300;     // Sent token valid for 5 min (300 s)\n  \n    if (nuTokenMatches(\"#auth_code_verify#\", $u) && ! $tokenExpired) {          // Entered token matches and token is not expired\n        nuSetAuthenticated(\"#auth_code_verify#\");\n    } else {\n        nuShow2FAAuthenticationError();\n    }\n    		\n}\n', NULL, NULL, 'hide', '', '0', '1', '1', '1', '', NULL),
('nu5fe94c6815842ec_AB', 'nu5fe94c6815842ec_AB', 'System PHP', 'nubuilder', NULL, '1', 'nuSetFormValue(\'sph_code_snippet_paste\', nuLookupRecord()->cot_source_code);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nu5fee06b1acbe4bb', 'nu_backup', 'Create a Database Backup using mysqldump', 'nubuilder', 'Backup', '1', '// Use the correct namespace\nuse Ifsnop\\Mysqldump\\Mysqldump;\n\n// Get the JSON settings passed from JS via the \'params\' property\n$params = nuGetProperty(\'NUBACKUP_params\');\n$settings = $params ? nuDecode($params)[\'settings\'] : [];\n\n// Call backup process using the decoded settings\nnuBackupRun($settings);\n\nfunction nuBackupRun($settings) {\n\n	nuBackupLoadMysqldumpLibrary(\'../third_party/mysqldump/Mysqldump.php\');\n\n	// Extract values with defaults using null coalescing operator\n	$directory = $settings[\'directory\'] ?? \'\';\n	$fileName = $settings[\'fileName\'] ?? \'\';\n	$includeTables = $settings[\'include-tables\'] ?? [];\n	$excludeTables = $settings[\'exclude-tables\'] ?? [];\n	$includeViews = $settings[\'include-views\'] ?? [];\n	$nuRecordsFilter = $settings[\'nuRecordsFilter\'] ?? \'\'; // nu, user, empty = all (default)\n	unset($settings[\'nuRecordsFilter\']);\n	\n	$nuTableFilter = $settings[\'nuTableFilter\'] ?? \'\'; // nu, user, empty = all (default)\n	unset($settings[\'nuTableFilter\']);\n\n	// Merge default dump settings with any settings passed from JS\n	$dumpSettings = nuBackupBuildDumpSettings($settings);\n\n	// Prepare the backup directory and filename\n	$backupDirectory = nuBackupDirectory($directory);\n	$backupFileName = nuBackupFileName($fileName, $dumpSettings);\n\n	// Set which tables to include/exclude\n	nuBackupSetTables($dumpSettings, $includeTables, $excludeTables, $includeViews, $nuTableFilter);\n\n	$dumper = nuBackupCreateDumper($dumpSettings);\n\n	$tableWheres = nuBackupBuildTableWheres($nuRecordsFilter);\n	$dumper->setTableWheres($tableWheres);\n\n    $backupDirectory = str_replace([\'/\', \'\\\\\'], DIRECTORY_SEPARATOR, $backupDirectory);\n	$dumpFile = $backupDirectory . nuSanitizeFilename($backupFileName);\n	nuBackupCreateDirectoryIfNotExists($backupDirectory);\n\n	nuBackupStartDump($dumper, $dumpFile);\n\n	nuBackupCompleteNotification($backupDirectory, $backupFileName);\n}\n\nfunction nuBackupFileExtension($dumpSettings) {\n	if (!array_key_exists(\'compress\', $dumpSettings) || $dumpSettings[\'compress\'] === \'None\' || $dumpSettings[\'compress\'] === \'\') {\n		return \'\';\n	}\n	return \'.\' . strtolower($dumpSettings[\'compress\']);\n}\n\nfunction nuBackupDirectory($directory) {\n    // Use provided directory or default\n    $backupDir = !empty($directory) ? $directory : \'../backup/\';\n\n    // Ensure the directory exists\n    if (!is_dir($backupDir)) {\n        mkdir($backupDir, 0755, true);\n    }\n\n    // Define the path to index.htm\n    $indexFile = rtrim($backupDir, \'/\\\\\') . \'/index.htm\';\n\n    // If index.htm doesn\'t exist, create it with a hidden comment\n    if (!file_exists($indexFile)) {\n        $comment = \"<!-- for security reasons, do not delete this file. -->\";\n        file_put_contents($indexFile, $comment);\n    }\n\n    return $backupDir;\n}\n\nfunction nuBackupFileName($fileName, $dumpSettings) {\n	// If fileName is provided, use it; otherwise generate a default filename\n	$extension = nuBackupFileExtension($dumpSettings);\n\n	return !empty($fileName)\n		? $fileName . $extension\n		: date(\'Y-m-d_H:i:s\') . \'_\' . uniqid() . \'_nuBuilder_backup.sql\' . $extension;\n\n}\n\nfunction nuBackupBuildDumpSettings($settings = []) {\n\n	$defaults = [\n		\'single-transaction\' => false,\n		\'no-create-info\' => false,\n		\'lock-tables\' => false,\n		\'add-locks\' => false,\n		\'extended-insert\' => false,\n		\'skip-definer\' => true,\n		\'routines\' => true,\n        \'events\' => true,\n		\'compress\' => $settings[\'compress\'] ?? \'None\' // Mysqldump::NONE\n	];\n\n	return array_merge($defaults, $settings);\n\n}\n\nfunction nuBackupLoadMysqldumpLibrary($path) {\n	try {\n		require_once($path);\n	} catch (Exception $e) {\n		nuDisplayError(\'require_once failed! Error: \' . $e->getMessage());\n	}\n}\n\nfunction nuBackupCreateDumper($dumpSettings) {\n	global $nuConfigDBHost,\n	$nuConfigDBName,\n	$nuConfigDBUser,\n	$nuConfigDBPassword,\n	$nuConfigDBPort;\n	$nuConfigDBPort = $nuConfigDBPort ?? \'3306\';\n\n	$dsn = \"mysql:host={$nuConfigDBHost};dbname={$nuConfigDBName};port={$nuConfigDBPort}\";\n	return new Ifsnop\\Mysqldump\\Mysqldump($dsn, $nuConfigDBUser, $nuConfigDBPassword, $dumpSettings);\n}\n\nfunction nuBackupBuildTableWheres($nuRecordsFilter = \'\') {\n	$tableWheres = [\n		\"zzzzsys_session\" => \"zzzzsys_session_id not like \'s%\'\"\n	];\n\n	if (in_array($nuRecordsFilter, [\'user\', \'nu\'])) {\n		$sysTables = nuGetSysTables();\n		$conditionFunction = ($nuRecordsFilter === \'user\') ? \'nuBackupTableIdNotLikeNu\' : \'nuBackupTableIdLikeNu\';\n		foreach ($sysTables as $tableName) {\n		    if ($tableName !== \'zzzzsys_session\') {\n			    $tableWheres[$tableName] = $conditionFunction($tableName);\n		    }\n		}\n	}\n\n	return $tableWheres;\n}\n\nfunction nuBackupTableIdNotLikeNu($tableName) {\n	return \"{$tableName}_id not like \'nu%\'\";\n}\n\nfunction nuBackupTableIdLikeNu($tableName) {\n	return \"{$tableName}_id like \'nu%\'\";\n}\n\nfunction nuBackupCreateDirectoryIfNotExists($directory) {\n	if (!is_dir($directory)) {\n		mkdir($directory, 0755, true);\n	}\n}\n\nfunction nuBackupStartDump($dumper, $dumpFile) {\n	try {\n		$dumper->start($dumpFile);\n	} catch (Exception $e) {\n		nuDisplayError(\'Export Error: \' . $e->getMessage());\n	}\n}\n\nfunction nuBackupCompleteNotification($backupDirectory, $backupFileName) {\n	$encodedPath = base64_encode($backupDirectory . $backupFileName);\n	$js = \"nuMessage([\'<h2>Export completed!</h2><br>SQL Dump saved in \' + atob(\'$encodedPath\')]);\";\n	nuJavaScriptCallback($js);\n}\n\nfunction nuBackupSetTables(&$dumpSettings, $includeTables, $excludeTables, $includeViews, $nuTableFilter) {\n\n	$dumpSettings[\"include-tables\"] = is_array($includeTables) ? $includeTables : [];\n	$dumpSettings[\"exclude-tables\"] = is_array($excludeTables) ? $excludeTables : [];\n	$dumpSettings[\"include-views\"] = is_array($includeViews) ? $includeViews : [];\n\n    if ($nuTableFilter === \'nu\') {\n        $dumpSettings[\"include-tables\"] = array_merge($dumpSettings[\"include-tables\"], nuGetSysTables());\n        $dumpSettings[\"exclude-tables\"] = array_merge($dumpSettings[\"exclude-tables\"], nuGetUserTables());\n    } else if ($nuTableFilter === \'user\') {\n        $dumpSettings[\"exclude-tables\"] = array_merge($dumpSettings[\"exclude-tables\"], nuGetSysTables());\n        $dumpSettings[\"include-tables\"] = array_merge($dumpSettings[\"exclude-tables\"], nuGetUserTables());\n    }\n\n}', NULL, NULL, 'hide', '', '1', '0', '0', '0', '', NULL),
('nubuildtable_BB', 'nubuildtable_BB', 'System PHP', 'nubuilder', NULL, '1', '$select = \"\n    SELECT\n     CAST(CONCAT(\'PROCEDURE:\', `zzzzsys_php`.`zzzzsys_php_id`) AS CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_general_ci AS `zzzzsys_php_id`,\n     CAST(`zzzzsys_php`.`sph_code` AS CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_general_ci,\n     CAST(`zzzzsys_php`.`sph_description` AS CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_general_ci\n    FROM `zzzzsys_php`\n    WHERE\n     (`zzzzsys_php`.`sph_system` <> \'1\') \n     AND (LOCATE(\'{TABLE_ID}\', `zzzzsys_php`.`sph_php`) > \'0\') \n     AND (`zzzzsys_php`.`sph_template` <> 1)\n     \n    UNION\n    \n    SELECT\n     CAST(CONCAT(\'SQL:\', `zzzzsys_select`.`zzzzsys_select_id`) AS CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_general_ci AS `id`,\n     CAST(\'nuSQL\' AS CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_general_ci,\n     CAST(`zzzzsys_select`.`sse_description` AS CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_general_ci\n    FROM `zzzzsys_select`\n    WHERE\n     (`zzzzsys_select`.`sse_system` IS NULL OR `zzzzsys_select`.`sse_system` = \'\')\n     \n    UNION\n    \n    SELECT\n     CAST(CONCAT(\'TABLE:\', `TABLE_NAME`) AS CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_general_ci AS `id`,\n     CAST(\'nuTABLE\' AS CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_general_ci,\n     CAST(`TABLE_NAME` AS CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_general_ci\n    FROM `information_schema`.`tables` \n    WHERE \n     `TABLE_SCHEMA` = DATABASE()\n     AND `TABLE_NAME` NOT LIKE \'\\\\\\\\_%\' ESCAPE \'\\\\\\\\\'\n\";\n\n$select = str_replace(\"{TABLE_ID}\", \'#\'.\'TABLE_ID\'.\'#\', $select);\n\n$insert = \"\nINSERT INTO zzzzsys_report_data (\n `zzzzsys_report_data_id`,\n `srd_code`,\n `srd_description`)\n\".$select;\n\nnuRunQuery(\'DELETE FROM `zzzzsys_report_data`\');\nnuRunQuery($insert);\n', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nu5ff7efb1ed369a6', 'nu_refresh_select_object', 'Refresh a select object', 'nubuilder', 'Object', '1', 'function nuGetSelectValues($formId, $selectId) {\n\n    $sql = \"\n        SELECT\n            sob_select_sql\n        FROM\n            `zzzzsys_object`\n        WHERE\n            sob_all_zzzzsys_form_id = ? AND sob_all_id = ?\n    \";\n\n    $t = nuRunQuery($sql, [$formId, $selectId]);\n\n    $a = [];\n    if (db_num_rows($t) == 1) {\n\n        $r = db_fetch_row($t);\n        if ($r != false) {\n            \n            $disS = nuReplaceHashVariables($r[0]);\n\n            $t = nuRunQuery($disS);\n\n            while ($row = db_fetch_row($t)) {\n                $a[] = $row;\n            }\n\n            return json_encode($a);\n        }\n\n    }\n\n    return false;\n\n}\n\nfunction nuPopulateSelectObject($formId, $selectId, $removeBlank, $prefix) {\n\n    $j = nuGetSelectValues($formId, $selectId);\n\n    $selectId = $prefix.$selectId;\n\n    $cb = \"if (window.nuSelectObjectRefreshed) {\n    	    nuSelectObjectRefreshed(\'$formId\', \'$selectId\', nuSelectObjectRefreshedCount);\n         }\";\n\n    if ($j == false) {\n        \n        return \"var count = -1; \".$cb;\n        \n    } else {\n    	\n    return \"\n    	function nuPopulateSelectObject() {\n    	\n    		var p = $j;\n    \n    		$(\'#$selectId\').empty();\n    		\n    		if (\'$removeBlank\' == \'0\' ) {\n    		    $(\'#$selectId\').append(\'<option value=\\\"\\\"></option>\');\n    		}\n            \n            var count = 0;\n    \n    		if (p != \'\') {\n    		    var s = nuIsSaved();\n    			\n    			for (var i = 0; i < p.length; i++) {\n    				$(\'#$selectId\').append(\'<option value=\\\"\' + p[i][0] + \'\\\">\' + p[i][1] + \'</option>\');\n    				count ++;\n    			}\n    			\n    			if (s) { nuHasNotBeenEdited(); }\n    			\n    		}\n    		\n    		return count;\n    	}\n    	\n    	var nuSelectObjectRefreshedCount = nuPopulateSelectObject();\n\n    \".$cb;\n    }\n\n}\n\nfunction nu_refresh_select_object($selectId, $formIdHk, $removeBlank, $prefixHK) {\n\n    if (!nuHasProperty($formIdHk, $formId, false)) {\n        $formId = \'#form_id#\';\n    }\n\n    if (!nuHasProperty($prefixHK, $prefix, false)) {\n        $prefix = \'\';\n    }\n\n    $js = nuPopulateSelectObject($formId, $selectId, $removeBlank, $prefix);\n    nuJavaScriptCallback($js);\n\n}\n\nnu_refresh_select_object(\'#nu_refresh_select_object_selectid#\', \'nu_refresh_select_object_formid\', \'#nu_refresh_select_object_removeblank#\',\'nu_refresh_select_object_prefix\');', NULL, NULL, 'hide', '', '1', '1', '1', '0', '', NULL),
('nu5ff8249659aef00', 'nu_refresh_display_object', 'Refresh a display object', 'nubuilder', 'Object', '1', 'function nuGetDisplayValue($formId, $id) {\n\n    $sql = \"SELECT sob_display_sql, sob_display_procedure FROM `zzzzsys_object` WHERE sob_all_zzzzsys_form_id = ? AND sob_all_id = ?\";\n    $selectObject = nuRunQuery($sql, [$formId, $id]);\n\n    if (db_num_rows($selectObject) == 1) {\n        $obj = db_fetch_object($selectObject);\n\n        if ($obj != false) {\n\n            $displayProcedure = $obj->sob_display_procedure;\n\n            if (empty($displayProcedure)) {\n\n                $disS = nuReplaceHashVariables($obj->sob_display_sql);\n                $disT = nuRunQuery($disS);\n\n                if (db_num_rows($disT) >= 1) {\n                    $disR = db_fetch_row($disT);\n                    return $disR[0];\n                } else {\n                    return \"\";\n                }\n\n            } else {\n\n                $procedureCode = nuProcedure($displayProcedure);\n                if ($procedureCode !== \'\') {\n                    return nuEval($displayProcedure, $procedureCode);\n                } else {\n                    return false;\n                }\n            }\n        }\n    }\n\n    return false;\n}\n\n\nfunction nuRefreshDisplayObject() {\n\n    $HKPREFIX = \"nu_refresh_display_object_\";\n\n    if (!nuHasProperty(\"{$HKPREFIX}displayid\", $displayId, false)) {\n        return;\n    }\n\n    if (!nuHasProperty(\"{$HKPREFIX}formid\", $formId, false)) {\n        $formId = \'#form_id#\';\n    }\n\n    if (!nuHasProperty(\"{$HKPREFIX}prefix\", $prefix, false)) {\n        $prefix = \'\';\n    }\n\n\n    $value = nuGetDisplayValue($formId, $displayId);\n    $displayId = $prefix.$displayId;\n\n    if ($value === false && $value !== \'\') {\n        $js = \"nuMessage(nuTranslate(\'Error\'), nuTranslate(\'Failed to refresh the Display Object:\') + \' $displayId\'); \";\n    } else {\n\n        $value = base64_encode(json_encode($value));\n\n        $js = \"\n		    function nuRefreshDisplayObjectSetNewValue(displayId, value) {\n    			let obj = $(\'#\' + displayId);\n    			const format = obj.attr(\'data-nu-format\');\n    			const formattedValue = nuFORM.addFormatting(value, format);\n    			nuSetValue(displayId, formattedValue);\n		    }\n		    nuRefreshDisplayObjectSetNewValue(\'$displayId\', JSON.parse(atob(\'$value\')));\n			if (window.nuDisplayObjectRefreshed) {\n				nuDisplayObjectRefreshed(\'$displayId\', \'$formId\');\n			}\n		\";\n    }\n\n    nuJavaScriptCallback($js);\n\n}\n\nnuRefreshDisplayObject();', NULL, NULL, 'hide', '', '1', '1', '1', '0', '', NULL),
('nu6068bee1b6c63be', 'nu_run_add_db_column', 'Add a new database column', 'nubuilder', 'Database', '1', 'if (nuHash()[\'GLOBAL_ACCESS\'] == \'0\') return;\n\n$sql = \'ALTER TABLE `#sob_all_table#` ADD \' . \'#sql_query#\';\n$after = \'#sql_after_column#\';\nif ($after != \'\') {\n    $sql .= \" AFTER \" . $after;\n}\n\nif (preg_match(\'/DELETE |DROP |INSERT |;/\', strtoupper($sql))) {\n    $r = -2;\n} else {\n    $r = nuRunQuery($sql, [], true);\n}\n\nif ($r == 0) {\n    $js = \"$.nuInfoBar.success(nuTranslate(\'The column has been created successfully\')); \n           nuRefreshSelectObject(\'sql_after_column\'); \n           parent.nuUpdateMessage(\'refresh_required\');\";\n} else if ($r == -1) {\n    $js = \"$.nuInfoBar.error(nuTranslate(\'An error occurred while creating the column\') + \'. \' + nuTranslate(\'Check nuDebug Results for details\'));\";\n} else if ($r == -2) {\n    $js = \"$.nuInfoBar.error(nuTranslate(\'An error occurred while creating the column\') + \'. \' + nuTranslate(\'The query contains invalid keywords\'));\";\n}\n\nnuJavaScriptCallback($js);', NULL, NULL, 'hide', '', '1', '0', '0', '0', '', NULL),
('nu60f3f621d215470', 'nu_set_refresh_cache', 'Set marker to Refresh Form, Table schema', 'nubuilder', 'Session', '1', 'require(\'../nuconfig.php\');\n\nnuSetJSONDataAll(\'REFRESH_CACHE\',\'1\');\n\n$js = \"\n\nnuGetBreadcrumb();\n\nfunction nuMsgCacheRefreshed() {\n   nuMessage(nuTranslate(\'Information\'), nuTranslate(\'Cache Refreshed\'));\n}\nsetTimeout(nuMsgCacheRefreshed, 1000); \n\n\";\n\nnuJavaScriptCallback($js);\n\n', NULL, NULL, 'hide', '', '1', '0', '1', '0', '', NULL),
('nu60f8e2ea4d13aff', 'nu_import_users', 'Import users from a CSV file', 'nubuilder', 'User', '1', 'require_once(\'nusecurity.php\');\n\n$file = nuGetProperty(\'nu_import_users_file\');\n$delimiter = nuGetProperty(\'nu_import_users_delimiter\');\n\nnuImportUsersFromCSV(\"../temp/\".$file, $delimiter, \"\\n\");', NULL, NULL, 'window', NULL, '1', '0', '1', '0', '', NULL),
('nu610fd4ba4e73ede', 'nu_update_object', 'Update an Object\'s Properties', 'nubuilder', 'Object', '1', '$id = nuGetProperty(\'nu_update_object_id\');\n$value = nuGetProperty(\'nu_update_object_value\');\n$formId = nuGetProperty(\'nu_update_object_form_id\');\n$type = nuGetProperty(\'nu_update_object_type\');\n$column = nuGetProperty(\'nu_update_object_column\');\n$action = nuGetProperty(\'nu_update_object_action\');\n\nif ($action == \'move\') {\n\n        $query = \"\n            UPDATE\n                `zzzzsys_object`\n            SET\n                `sob_all_zzzzsys_tab_id` = ?\n            WHERE\n                `sob_all_zzzzsys_form_id` = ? AND `sob_all_id` = ?\n        \";\n\n        nuRunQuery($query, [$column, $formId, $id]);\n\n        $js = \"if (nuIsSaved()) {\n    	      nuGetBreadcrumb();\n    	   } else {\n    		  nuUpdateMessage(\'refresh_required\');\n    	}\";\n    	\n    	nuJavaScriptCallback($js);\n    	    \n        return;\n    \n}\n\nif ($action == \'delete\') {\n\n    $backupSQL = nuBuildInsertSQL(\n        \'zzzzsys_object\',\n        \'`sob_all_zzzzsys_form_id` = ? AND `sob_all_id` = ?\',\n        [$formId, $id]\n    );\n\n    nuDebug(\"Object $id Deleted in form $formId\", \"SQL to restore it:\", $backupSQL);\n\n    if ($type == \'tab\') {\n        // not in use yet\n\n        $query = \"\n            DELETE FROM `zzzzsys_tab`\n            WHERE `zzzzsys_tab_id` = ?\n        \";\n\n        nuRunQuery($query, [$id]);\n\n    } else if ($type == \'edit\') {\n\n        $query = \"\n            DELETE FROM `zzzzsys_object`\n            WHERE `sob_all_zzzzsys_form_id` = ? AND `sob_all_id` = ?\n        \";\n\n        nuRunQuery($query, [$formId, $id]);\n\n    } else {\n        // not in use yet\n\n        $query = \"\n            DELETE FROM `zzzzsys_browse`\n            WHERE `sbr_zzzzsys_form_id` = ? AND `sbr_order` = ?\n        \";\n\n        nuRunQuery($query, [$formId, $id]);\n\n    }\n\n\n    $js = \"nuHide(\'$id\')\";\n    nuJavaScriptCallback($js);\n\n    return;\n\n}\n\nif ($type == \'tab\') {\n\n    $query = \"\n            UPDATE `zzzzsys_tab`\n            SET $column = ?\n            WHERE `zzzzsys_tab_id` = ?\n    \";\n\n    nuRunQuery($query, [$value, $id]);\n\n} else if ($type == \'edit\') {\n\n    $query = \"\n        UPDATE `zzzzsys_object`\n        SET $column = ?\n        WHERE `sob_all_zzzzsys_form_id` = ? AND `sob_all_id` = ?\n    \";\n\n    nuRunQuery($query, [$value, $formId, $id]);\n\n} else {\n\n    $query = \"\n            UPDATE `zzzzsys_browse`\n            SET `$column` = ?\n            WHERE `sbr_zzzzsys_form_id` = ? AND `sbr_order` = ?\n    \";\n\n    nuRunQuery($query, [$value, $formId, $id]);\n\n}\n\nfunction nuBuildInsertSQL($table, $whereClause, $params) {\n    \n    $query = \"SELECT * FROM `$table` WHERE $whereClause\";\n    $result = nuRunQuery($query, $params);\n\n    if (db_num_rows($result) === 0) {\n        return null;\n    }\n\n    $row = db_fetch_array($result);\n\n    $columns = array_keys($row);\n\n    $values = array_map(function ($v) {\n        if (is_null($v)) {\n            return \'NULL\';\n        }\n        return \"\'\" . addslashes($v) . \"\'\";\n    },\n        array_values($row));\n\n    $colList = \'`\' . implode(\'`, `\',\n        $columns) . \'`\';\n    $valList = implode(\', \',\n        $values);\n\n    $insertSQL = \"INSERT INTO `$table` ($colList) VALUES ($valList);\";\n    return $insertSQL;\n    \n}', NULL, NULL, 'hide', NULL, '1', '0', '0', '0', '', NULL),
('nu61d8283e98e8b2e', 'nu_check_password_policy_template', 'Rules for enforcing Password policies', 'nubuilder', 'User', '1', 'function nuFATick($nok) {\n\n    $icon = $nok == false ? \"far fa-check-circle\" : \"far fa-times-circle\";\n    $color = $nok == false ? \"green\" : \"red\";\n    return \"&nbsp;&nbsp;<i class=\'$icon\' style=\'color:$color\'></i>&nbsp;&nbsp;\";\n\n}\n\nfunction nuCheckPasswordPolicy() {\n\n    $oldpw = \'#old_password#\';\n    $newpw = \'#new_password#\';\n\n    $atLeast = nuTranslate(\"Your New Password must contain at least\").\":\";\n    $msg = \'\';\n    $c = 0;\n\n    $check = strlen($newpw) < 8;\n    if ($check == true) $c++;\n    $msg .= nuFATick($check) . nuTranslate(\"8 Characters\") . \"<br>\";\n\n    $check = !preg_match(\"#[0-9]+#\", $newpw);\n    if ($check == true) $c++;\n    $msg .= nuFATick($check) . nuTranslate(\"1 Number\") . \"<br>\";\n\n    $check = !preg_match(\"#[A-Z]+#\", $newpw);\n    if ($check == true) $c++;\n    $msg .= nuFATick($check) . nuTranslate(\"1 Capital Letter\") . \"<br>\";\n\n    $check = !preg_match(\"#[a-z]+#\", $newpw);\n    if ($check == true) $c++;\n    $msg .= nuFATick($check) . nuTranslate(\"1 Lowercase Letter\") . \"<br>\";\n\n    $check = !preg_match(\'/[\\\'\\/~`\\!@#\\$%\\^&\\*\\(\\)_\\-\\+=\\{\\}\\[\\]\\|;:\"\\<\\>,\\.\\?\\\\\\]/\', $newpw);\n    if ($check == true) $c++;\n    $msg .= nuFATick($check) . nuTranslate(\"1 Special Character\") . \"<br>\";\n\n    if ($msg != $atLeast) $msg = $atLeast . \"<br><br>\" . $msg;\n\n    if ($newpw === $oldpw) {\n        $msg .= \"<br>\" . nuFATick(true) . nuTranslate(\"The provided New Password cannot be the same as the Current Password\") . \"<br>\";\n        $c++;\n    }\n\n    if ($c > 0) {\n        nuDisplayError($msg);\n        return false;\n    } else {\n        return true;\n    }\n\n}\n\n$check = nuCheckPasswordPolicy();', NULL, NULL, 'hide', '', '0', '1', '1', '1', '', NULL),
('nu61eceada0768c21', 'nu_change_password', 'Change user password', 'nubuilder', 'User', '1', '$oldPassword = \'#old_password#\';\n$newPasswordCheck = \'#new_password_check#\';\n$newPassword = \'#new_password#\';\n$session = \'#SESSION_ID#\';\n$userId = \"#USER_ID#\";\n\n\n\n//--\n\n$s = \"\n    SELECT sss_access\n    FROM zzzzsys_session\n    WHERE zzzzsys_session_id = ?\n\";\n\n$t = nuRunQuery($s, [$session]);\n$r = db_fetch_object($t);\n$j = json_decode($r->sss_access);\n\n//--\n\n$s = \"\n SELECT\n    sus_login_password,\n    sus_change_password\n FROM zzzzsys_user\n WHERE zzzzsys_user_id = ?\n\";\n\n$t = nuRunQuery($s, [$userId]);\n$r = db_fetch_object($t);\n$current = $r->sus_login_password;\n$changePassword = $r->sus_change_password;\n\n$useMd5 = $_SESSION[\'nubuilder_session_data\'][\'USE_MD5_PASSWORD_HASH\'] == true;\n\nif ($useMd5) {\n    $check = md5($oldPassword) == $current;\n} else {\n    $check = password_verify($oldPassword, $current);\n}\n\nif ($check == false) {\n    nuDisplayError(\'<h2>\' . nuTranslate(\'Error\') . \'</h2>\' . nuTranslate(\'Incorrect Password\'));\n    return;\n}\n\nif ($oldPassword == $newPassword) {\n\n    nuDisplayError(\'<h2>\' . nuTranslate(\'Error\') . \'</h2>\' . nuTranslate(\'Your new password cannot be the same as your old password\'));\n    return;\n}\n\nif ($oldPassword === \'\' || $newPassword === \'\') {\n    nuDisplayError(\'<h2>\' . nuTranslate(\'Error\') . \'</h2>\' . nuTranslate(\'The password cannot be left blank\'));\n    return;\n}\n\n\n//--\n\n$p = nuProcedure(\'nu_check_password_policy\');\n\nif ($p != \'\') {\n\n    eval($p);\n\n    if ($check == false) {\n        return;\n    }\n\n}\n\n//--\n\nif ($newPassword == $newPasswordCheck) {\n\n    $s = \"\n\n         UPDATE zzzzsys_user\n         SET\n            sus_login_password = ?,\n            sus_change_password = ?\n         WHERE zzzzsys_user_id = ?\n    \";\n\n    $pwHash = $useMd5 == true ? md5($newPassword) : nuPasswordHash($newPassword);\n\n    nuRunQuery($s, [$pwHash, \'0\', $userId]);\n\n    nuSetUserJSONData(\'PASSWORD_CHANGED_TIME\', time(), $userId);\n    nuSetUserJSONData(\'PASSWORD_CHANGED_SOURCE\', \'user\', $userId);\n\n\n\n    if (nuObjKey($_SESSION[\'nubuilder_session_data\'], \'SESSION_CHANGE_PW_STATUS\') == \'PENDING\') {\n        $_SESSION[\'nubuilder_session_data\'][\'SESSION_CHANGE_PW_STATUS\'] = \'CHANGED\';\n    }\n\n    $js = \"\n        function nuMsgAfterPasswordChange() {\n            if (\'$changePassword\' == \'1\') {\n                nuLogout();\n            }\n        }\n        nuMessage(nuTranslate(\'Information\'), nuTranslate(\'Your password has been successfully changed\'), 1500, nuMsgAfterPasswordChange);\n    \";\n\n\n} else {\n    $msg = nuTranslate(\'\"New Password\" must be the same as \"Confirm New Password\"\');\n    $js = \"nuMessage(nuTranslate(\'Error\'), \'$msg\');\";\n}\n\n\nnuJavaScriptCallback($js);', NULL, NULL, 'hide', '', '1', '1', '1', '0', '', NULL),
('nu62afe0e1933ee3b_BE', 'nu62afe0e1933ee3b_BE', 'System PHP', 'nubuilder', NULL, '1', 'require_once(\'nusetuplibs.php\');\n\n$config = nuConfigScript();\n$configCode = $config[\'code\'];\n$configJS = $config[\'js\'];\n\n$configJS = $configJS == null ? \"\" : $configJS. \" \" . \"nuHide(\'nuconfigsettingsfromdb_hint\'); \";\n\n\nif ($configCode != null) {\n    eval($config[\'code\']);\n}\n\nnuAddJavaScript($configJS);\n\n\nif (isset($_SESSION[\'nubuilder_session_data\'][\'USER_ADDITIONAL1_LABEL\']) && isset($nuConfigUserAdditional1Label)) {\n    $_SESSION[\'nubuilder_session_data\'][\'USER_ADDITIONAL1_LABEL\'] = $nuConfigUserAdditional1Label;\n}    \n\nif (isset($_SESSION[\'nubuilder_session_data\'][\'USER_ADDITIONAL2_LABEL\']) && isset($nuConfigUserAdditional2Label)) {\n    $_SESSION[\'nubuilder_session_data\'][\'USER_ADDITIONAL2_LABEL\'] = $nuConfigUserAdditional2Label;\n}\n\nif (isset($_SESSION[\'nubuilder_session_data\'][\'USER_CODE_LABEL\']) && isset($nuConfigUserCodeLabel)) {\n    $_SESSION[\'nubuilder_session_data\'][\'USER_CODE_LABEL\'] = $nuConfigUserCodeLabel;\n}\n\nnuAddJavaScript (\" \n   nuSERVERRESPONSE.buttons.Clone = \'0\';\n   nuSERVERRESPONSE.buttons.Delete = \'0\';\n\", true);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nuauthentication_BE', 'nuauthentication_BE', 'System PHP', 'nubuilder', NULL, '1', '$devMode = nuReplaceHashVariables(\"#DEV_MODE#\");\n\n$t = $devMode == \'1\' ? \'_template\' : \'\';\n\n$p  = nuProcedure(\'nu_authentication_2fa\'.$t);	\n\nif($p != \'\') { \n    eval($p); \n} else {\n    nuDisplayError(nuTranslate(\'The Procedure nu_authentication_2fa does not exist.\'));    \n}', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nucalcobjects_BB', 'nucalcobjects_BB', 'System PHP', 'nubuilder', NULL, '1', '$select = \"\n\n    SELECT \n       sob_all_zzzzsys_form_id AS theform,\n       \'\' AS theparent,\n       sob_all_id AS thechild,\n       CONCAT(sob_all_id) as thevalue\n    FROM zzzzsys_object \n    WHERE sob_input_type = \'number\'\n    OR sob_all_type = \'calc\'\n    \n    UNION \n    \n    SELECT \n       su.sob_all_zzzzsys_form_id AS theform,\n       su.sob_all_id AS theparent,\n       inp.sob_all_id AS thechild,\n       CONCAT(su.sob_all_id, \'.\', inp.sob_all_id) as thevalue\n    FROM zzzzsys_object AS su\n    JOIN zzzzsys_object AS inp ON su.sob_subform_zzzzsys_form_id = inp.sob_all_zzzzsys_form_id\n    WHERE su.sob_all_type = \'subform\'\n    AND (\n            inp.sob_input_type = \'nuNumber\' OR \n            inp.sob_input_type = \'number\' OR \n            inp.sob_all_type = \'calc\'\n        )\n\n\";\n    \nnuCreateTableFromSelect(\'#TABLE_ID#\', $select);', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL);
INSERT INTO `zzzzsys_php` (`zzzzsys_php_id`, `sph_code`, `sph_description`, `sph_group`, `sph_category`, `sph_status`, `sph_php`, `sph_javascript`, `sph_javascript_active`, `sph_run`, `sph_zzzzsys_form_id`, `sph_system`, `sph_global`, `sph_demo`, `sph_template`, `sph_hide`, `sph_json`) VALUES
('nuclonerphp', 'nu_cloner', 'Clone Forms, Objects, Events, PHP etc.', 'nubuilder', 'Cloner', '1', 'function hashCookieSet($h) {\n    return !(preg_match(\'/\\#(.*)\\#/\', $h) || trim($h) == \"\");\n}\n\nfunction pkWithoutEvent($pk) {\n    return substr($pk, 0, -3);\n}\n\nfunction eventFromPk($pk) {\n    return substr($pk, -3);\n}\n\nfunction lookupPk($arr, $key) {\n    \n    $a = array_column($arr, $key);\n    return isset($a[0]) ? $a [0] : \'\';\n\n}\n\nfunction addToArray(array &$arr, $key, $value) {\n    array_push($arr, [$key => $value]);\n}\n\nfunction getPk($pk) {\n    return \"#cloner_new_pks#\" != \'0\' ? nuID() : $pk;\n}\n\nfunction getTabList() {\n\n    $t = \"#cloner_tabs#\";\n    return !hashCookieSet($t) || strlen($t) < 3 ? \"\" : implode(\',\', json_decode($t));\n\n}\n\nfunction getSubformList() {\n\n    $t = \"#cloner_subforms#\";\n    return !hashCookieSet($t) || strlen($t) < 3 ? \"\" : \"\'\".implode(\"\',\'\", json_decode($t)).\"\'\";\n\n}\n\nfunction getIframeFormList() {\n\n    $t = \"#cloner_iframe_forms#\";\n    return !hashCookieSet($t) || strlen($t) < 3 ? \"\" : \"\'\".implode(\"\',\'\", json_decode($t)).\"\'\";\n\n}\n\nfunction getFormSource(&$f1) {\n\n    $f1 = \"#cloner_form_source#\";\n    if (!hashCookieSet($f1)) {\n        $f1 = \"#form_id#\";\n        return true;\n    }\n\n    return formExists($f1);\n\n}\n\nfunction getFormDestination(&$f2) {\n\n    $f2 = \"#cloner_form_dest#\";\n    if (!hashCookieSet($f2)) {\n        $f2 = \"\";\n        return true;\n    }\n\n    return formExists($f2);\n\n}\n\nfunction formSQL() {\n    return \"SELECT * FROM zzzzsys_form WHERE zzzzsys_form_id  = ? LIMIT 1\";\n}\n\nfunction formExists($f) {\n\n    $t = nuRunQuery(formSQL(), [$f]);\n    return db_num_rows($t) == 1;\n\n}\n\nfunction echoPlainText($val) {\n\n    echo \'<pre>\';\n    echo htmlspecialchars($val);\n    echo \'</pre>\';\n\n}\n\nfunction dumpFormInfo($f, $dump) {\n\n    if ($dump != \'1\') return;\n\n    $fi = getFormInfo($f);\n    echo \"<b>\";\n    echo \"-- nuBuilder cloner SQL Dump \" . \"<br>\";\n    echo \"-- Version 1.21 \" . \"<br>\";\n    echo \"-- Generation Time: \" . date(\"F d, Y h:i:s A\") . \"<br><br>\";\n    echo \"-- Form Description: \" . $fi[\"description\"] . \"<br>\";\n    echo \"-- Form Code: \" . $fi[\"code\"] . \"<br>\";\n    echo \"-- Form Table: \" . $fi[\"table\"] . \"<br>\";\n    echo \"-- Form Type: \" . $fi[\"type\"] . \"<br><br>\";\n\n    $notes = \"#cloner_notes#\";\n    echo hashCookieSet($notes) ? \"-- Notes: \" . $notes . \"<br>\" . \"<br>\" : \"\";\n    echo \"</b>\";\n\n}\n\nfunction createStatement($table, $columns, $row) {\n\n    $params = array_map(function ($val) {\n        return \"?\";\n    }\n    , $row);\n\n    return getStatement() . \"$table (\" . implode(\', \', $columns) . \") VALUES ( \" . implode(\" , \", $params) . \" ) \";\n\n}\n\nfunction echoHeader($header) {\n\n    echo \"<br>--<br>\";\n    echo \"-- <b>\" . $header . \"</b><br>\";\n    echo \"--<br><br>\";\n    \n}\n\nfunction getStatement() {\n    return \"#cloner_replace_into#\" == \'1\' ? \'REPLACE INTO \' : \'INSERT INTO \';\n}\n\nfunction dumpStatement($table, $row, &$first, $ident) {\n\n    $values = join(\', \', array_map(function ($value) {\n        return $value === null ? \'NULL\' : db_quote($value);\n    }\n    , $row));\n\n    if (!isset($first)) {\n        $ident = $ident == \'\' ? \'\' : \': \'. $ident;\n        echoHeader($table. $ident);\n        $first = false;\n    }\n\n    echoPlainText(getStatement() . \"$table (\" . implode(\', \', array_keys($row)) . \") \");\n    echoPlainText(\"VALUES ( \" . $values . \" ); \");\n\n}\n\n\nfunction writeRecord($table, $row, &$first, $ident) {\n\n    if (\"#cloner_dump#\" == \'1\') {\n         dumpStatement($table, $row, $first, $ident);\n    }\n    else {\n        $i = createStatement($table, array_keys($row) , $row);\n        nuRunQuery($i, array_values($row) , true);\n    }\n\n}\n\nfunction getFormType($f) {\n\n    $t = nuRunQuery(formSQL() , [$f]);\n    $row = db_fetch_array($t);\n\n    return $row[\'sfo_type\'];\n\n}\n\nfunction getFormInfo($f) {\n\n    $t = nuRunQuery(formSQL() , [$f]);\n    $row = db_fetch_object($t);\n\n    return [\n        \"code\" => $row->sfo_code,\n        \"description\" => $row->sfo_description,\n        \"type\" => $row->sfo_type,\n        \"table\" => $row->sfo_table\n    ];\n\n}\n\nfunction getNewFormCode($code) {\n\n    if (\"#cloner_new_pks#\" == \'0\') {\n        return $code;\n    } else {    \n        $s = \"SELECT COUNT(zzzzsys_form_id) + 1 FROM zzzzsys_form WHERE sfo_code LIKE ?\";\n        $t = nuRunQuery($s, [$code . \'_clone%\']);\n        $r = db_fetch_row($t);\n        return $code . \'_clone_\' . $r[0];\n    }\n\n}\n\nfunction cloneForm($f1) {\n\n    $t = nuRunQuery(formSQL(), [$f1]);\n    $row = db_fetch_array($t);\n\n    $newPk = getPk($row[\'zzzzsys_form_id\']);\n    $row[\'zzzzsys_form_id\'] = $newPk;\n    $row[\'sfo_code\'] = getNewFormCode($row[\'sfo_code\']);\n\n    writeRecord(\'zzzzsys_form\', $row, $first, $row[\'sfo_code\']);\n\n    return $newPk;\n\n}\n\nfunction cloneFormPHP($f1, $f2) {\n\n    $s = \"\n        SELECT\n            zzzzsys_php.*\n        FROM\n            zzzzsys_php\n        LEFT JOIN zzzzsys_form ON zzzzsys_form_id = LEFT(zzzzsys_php_id, LENGTH(zzzzsys_php_id) - 3)\n        WHERE\n            zzzzsys_form_id = ?\n	\";\n\n    $t = nuRunQuery($s, [$f1]);\n\n    while ($row = db_fetch_array($t)) {\n\n        $event = eventFromPk($row[\'zzzzsys_php_id\']);\n        $row[\'zzzzsys_php_id\'] = $f2 . $event;\n        $row[\'sph_code\'] = $f2 . $event;\n\n        writeRecord(\'zzzzsys_php\', $row, $first, \'\');\n\n    }\n\n}\n\nfunction cloneFormTabs($f1, $f2, $postifx = \'\') {\n\n    $tabPks = [];\n    \n    $s = \"SELECT * FROM zzzzsys_tab AS tab1 WHERE syt_zzzzsys_form_id  = ?\".whereTabs();\n    $t = nuRunQuery($s, [$f1]);\n\n    while ($row = db_fetch_array($t)) {\n\n        $newPk = getPk($row[\'zzzzsys_tab_id\']);\n        addToArray($tabPks, $row[\'zzzzsys_tab_id\'], $newPk);\n        $row[\'zzzzsys_tab_id\'] = $newPk;\n        $row[\'syt_title\'] = $row[\'syt_title\'].$postifx;\n        $row[\'syt_zzzzsys_form_id\'] = $f2;\n\n        writeRecord(\'zzzzsys_tab\', $row, $first, \'\');\n\n    }\n\n    return $tabPks;\n\n}\n\nfunction cloneFormBrowse($f1, $f2) {\n\n    $s = \"SELECT * FROM zzzzsys_browse WHERE sbr_zzzzsys_form_id  = ?\";\n    $t = nuRunQuery($s, [$f1]);\n\n    while ($row = db_fetch_array($t)) {\n\n        $newPk = getPk($row[\'zzzzsys_browse_id\']);\n        $row[\'zzzzsys_browse_id\'] = $newPk;\n        $row[\'sbr_zzzzsys_form_id\'] = $f2;\n\n        writeRecord(\'zzzzsys_browse\', $row, $first, \'\');\n\n    }\n\n}\n\nfunction whereTabs() {\n    \n    $tabs = getTabList();\n    \n    return $tabs != \'\' ? \" AND tab1.syt_order DIV 10 IN ($tabs) \" : \"\";\n    \n}\n\n\nfunction getTabIds($f1, $f2) {\n\n    $s = \"    \n        SELECT\n            tab1.zzzzsys_tab_id AS tab1,\n            tab2.zzzzsys_tab_id AS tab2\n        FROM\n            zzzzsys_tab AS tab1\n        LEFT JOIN zzzzsys_tab AS tab2\n        ON\n            tab1.syt_order = tab2.syt_order\n        WHERE\n            tab1.syt_zzzzsys_form_id = ? AND tab2.syt_zzzzsys_form_id = ? \n    \".whereTabs();\n\n    $t = nuRunQuery($s, [$f1, $f2]);\n\n    $tabPks = [];\n    while ($r = db_fetch_object($t)) {\n        addToArray($tabPks, $r->tab1, $r->tab2);\n    }\n\n    return $tabPks;\n\n}\n\nfunction cloneObjects($f1, $f2, array &$objectPks, $tabPks) {\n\n    $s = \"SELECT * FROM zzzzsys_object WHERE sob_all_zzzzsys_form_id = ?\";\n    $t = nuRunQuery($s, [$f1]);\n  \n    while ($row = db_fetch_array($t)) {\n\n        $row[\'sob_all_zzzzsys_form_id\'] = $f2;\n\n        $newPk = getPk($row[\'zzzzsys_object_id\']);\n        addToArray($objectPks, $row[\'zzzzsys_object_id\'], $newPk);\n\n        $row[\'zzzzsys_object_id\'] = $newPk;\n\n        $tabId = lookupPk($tabPks, $row[\'sob_all_zzzzsys_tab_id\']);\n\n        $row[\'sob_all_zzzzsys_tab_id\'] = $tabId;\n\n        if ($tabId != \"\") writeRecord(\'zzzzsys_object\', $row, $first,\'\');\n\n    }\n\n}\n\nfunction cloneObjectsPHP($f1, $objectPks) {\n\n    $s = \"\n        SELECT\n           zzzzsys_php.* \n        FROM\n           zzzzsys_php \n           LEFT JOIN\n              zzzzsys_object \n              ON zzzzsys_object_id = LEFT(zzzzsys_php_id, LENGTH(zzzzsys_php_id) - 3) \n        WHERE\n           sob_all_zzzzsys_form_id = ?\n	\";\n\n    $t = nuRunQuery($s, [$f1]);\n\n    while ($row = db_fetch_array($t)) {\n\n        $event = eventFromPk($row[\'zzzzsys_php_id\']);\n        $row[\'zzzzsys_php_id\'] = lookupPk($objectPks, pkWithoutEvent($row[\'zzzzsys_php_id\'])) . $event;\n        $code = lookupPk($objectPks, pkWithoutEvent($row[\'sph_code\']));\n        if ($code == \'\') { $row[\'sph_code\'] = $row[\'zzzzsys_php_id\']; }\n        $code .=  $event;\n\n        writeRecord(\'zzzzsys_php\', $row, $first, \'\');\n\n    }\n\n}\n\nfunction cloneFormSelect($f1, $f2, array &$formSelectPks) {\n\n    $s = \"\n        SELECT\n           zzzzsys_select.* \n        FROM\n           zzzzsys_select \n        WHERE LEFT(zzzzsys_select_id, LENGTH(zzzzsys_select_id) - 3)  = ?\n	\";\n\n    $t = nuRunQuery($s, [$f1]);\n\n    while ($row = db_fetch_array($t)) {\n\n        $event = eventFromPk($row[\'zzzzsys_select_id\']);\n        $newPk = $f2 . $event;\n        addToArray($formSelectPks, $row[\'zzzzsys_select_id\'], $newPk);\n        $row[\'zzzzsys_select_id\'] = $newPk;\n\n        writeRecord(\'zzzzsys_select\', $row, $first, \'\');\n\n    }\n\n}\n\nfunction cloneFormSelectClause($f1, $formSelectPks) {\n\n    $s = \"\n        SELECT\n           zzzzsys_select_clause.* \n        FROM\n           zzzzsys_select_clause \n           LEFT JOIN\n              zzzzsys_select \n              ON zzzzsys_select_id = ssc_zzzzsys_select_id \n           LEFT JOIN zzzzsys_form ON LEFT(zzzzsys_select_id, LENGTH(zzzzsys_select_id) - 3) = zzzzsys_form_id\n           WHERE zzzzsys_form_id  = ? \n	\";\n\n    $t = nuRunQuery($s, [$f1]);\n\n    while ($row = db_fetch_array($t)) {\n\n        $row[\'ssc_zzzzsys_select_id\'] = lookupPk($formSelectPks, $row[\'ssc_zzzzsys_select_id\']);\n        $row[\'zzzzsys_select_clause_id\'] = getPk($row[\'zzzzsys_select_clause_id\']);\n        if ($row[\'ssc_zzzzsys_select_id\'] != \"\") writeRecord(\'zzzzsys_select_clause\', $row, $first, \'\');\n\n    }\n\n}\n\nfunction cloneObjectsSelect($f1, $objectPks, array &$selectPks) {\n\n    $s = \"\n        SELECT\n           zzzzsys_select.* \n        FROM\n           zzzzsys_select \n           LEFT JOIN\n              zzzzsys_object \n              ON zzzzsys_object_id = LEFT(zzzzsys_select_id, LENGTH(zzzzsys_select_id) - 3) \n        WHERE\n           sob_all_zzzzsys_form_id = ?\n	\";\n\n    $t = nuRunQuery($s, [$f1]);\n\n    while ($row = db_fetch_array($t)) {\n\n        $event = eventFromPk($row[\'zzzzsys_select_id\']);\n        $newPk = lookupPk($objectPks, pkWithoutEvent($row[\'zzzzsys_select_id\'])) . $event;\n        addToArray($selectPks, $row[\'zzzzsys_select_id\'], $newPk);\n        $row[\'zzzzsys_select_id\'] = $newPk;\n\n        writeRecord(\'zzzzsys_select\', $row, $first, \'\');\n\n    }\n\n}\n\nfunction cloneObjectsSelectClause($f1, $selectPks) {\n\n    $s = \"\n        SELECT\n           zzzzsys_select_clause.* \n        FROM\n           zzzzsys_select_clause \n           LEFT JOIN\n              zzzzsys_select \n              ON zzzzsys_select_id = ssc_zzzzsys_select_id \n           LEFT JOIN\n              zzzzsys_object \n              ON zzzzsys_object_id = LEFT(zzzzsys_select_id, LENGTH(zzzzsys_select_id) - 3) \n        WHERE\n           sob_all_zzzzsys_form_id = ?\n	\";\n\n    $t = nuRunQuery($s, [$f1]);\n\n    while ($row = db_fetch_array($t)) {\n\n        $row[\'ssc_zzzzsys_select_id\'] = lookupPk($selectPks, $row[\'ssc_zzzzsys_select_id\']);\n        $row[\'zzzzsys_select_clause_id\'] = getPk($row[\'zzzzsys_select_clause_id\']);\n\n        if ($row[\'ssc_zzzzsys_select_id\'] != \"\") writeRecord(\'zzzzsys_select_clause\', $row, $first, \'\');\n\n    }\n\n}\n\nfunction cloneObjectsEvents($f1, $objectPks) {\n\n    $s = \"\n        SELECT\n            *\n        FROM\n            zzzzsys_event\n        WHERE\n            sev_zzzzsys_object_id IN (\n            SELECT\n                zzzzsys_object_id\n            FROM\n                zzzzsys_object\n            WHERE\n                sob_all_zzzzsys_form_id = ?\n        )\n    \";\n    $t = nuRunQuery($s, [$f1]);\n\n    while ($row = db_fetch_array($t)) {\n\n        $row[\'zzzzsys_event_id\'] = getPk($row[\'zzzzsys_event_id\']);\n        $row[\'sev_zzzzsys_object_id\'] = lookupPk($objectPks, $row[\'sev_zzzzsys_object_id\']);\n\n        writeRecord(\'zzzzsys_event\', $row, $first, \'\');\n\n    }\n\n}\n\nfunction getOpenForm($f2) {\n\n    $ft = getFormType($f2);\n    $r = $ft == \'browseedit\' ? \"\" : \"-1\";\n\n    $code = getFormInfo($f2) [\"code\"];\n\n    $msg = \"\n	   var buttons = \' <button onclick=\\\"$(\\\'#nuMessageDiv\\\').remove();nuForm(\\\'$f2\\\', \\\'$r\\\', \\\'\\\', \\\'\\\', \\\'2\\\');\\\" class=\\\"nuActionButton\\\">Open Form</button>\';\n	   nuMessage([\'<h2>Cloning complete.</h2>Code: $code\' + buttons]);\n	   console.log(\'Cloning complete. Form Code: $code\');\n   \";\n\n    return $msg;\n    \n}\n\nfunction clearHashCookies() {\n\n    return;\n    \"\n        function clearHashCookies() {\n            nuSetProperty(\'cloner_form_source\',\'\');\n            nuSetProperty(\'cloner_form_dest\',\'\');\n            nuSetProperty(\'cloner_tabs\',\'\');\n            nuSetProperty(\'cloner_objects\', \'1\');\n            nuSetProperty(\'cloner_subforms\', \'0\');\n            nuSetProperty(\'cloner_iframe_forms\', \'0\');\n            nuSetProperty(\'cloner_dump\',\'0\');\n            nuSetProperty(\'cloner_new_pks\',\'1\');\n            nuSetProperty(\'cloner_replace_into\',\'0\');\n        }\n        \n        clearHashCookies();\n    \";\n\n}\n\nfunction showError($msg) {\n    \n    nuJavaScriptCallback(\"nuMessage([\'<h2>Error</h2><br>\" . $msg . \"\']);\" . clearHashCookies());\n    \n}\n\nfunction showForm($f2, $dump) {\n\n    if ($dump == \'1\') return;\n    nuJavaScriptCallback(getOpenForm($f2) . clearHashCookies());\n\n}\n\nfunction whereSubforms() {\n    \n    $subforms = getSubformList();\n    return $subforms != \'\' ? \" AND sob_all_id IN ($subforms) \" : \"\";\n    \n}\n\nfunction whereRunIframeforms() {\n    \n    $forms = getIframeFormList();\n    return $forms != \'\' ? \" AND sob_all_id IN ($forms) \" : \"\";\n    \n}\n\nfunction updateObjectSubform($f1, $f2, $dump) {\n\n   $s = \"UPDATE zzzzsys_object SET sob_subform_zzzzsys_form_id = \'$f2\' WHERE sob_subform_zzzzsys_form_id = \'$f1\';\";\n   \n   if ($dump == \"1\") {\n       echoHeader(\'zzzzsys_object: UPDATE subform ID\');\n       echoPlainText($s);\n   } else {\n        $t = nuRunQuery($s);\n   }\n    \n}\n\nfunction updateIframeForm($f1, $f2, $dump) {\n\n   $s = \"UPDATE zzzzsys_object SET sob_run_zzzzsys_form_id = \'$f2\' WHERE sob_run_zzzzsys_form_id = \'$f1\';\";\n   \n   if ($dump == \"1\") {\n       echoHeader(\'zzzzsys_object: UPDATE Run iframe form\');\n       echoPlainText($s);\n   } else {\n        $t = nuRunQuery($s);\n   }\n    \n}\n\n\nfunction processIframeForms($f1, $tabPks, $dump) {\n\n    if (\"#cloner_iframe_forms#\" == \'0\') return;\n\n    $s = \"\n        SELECT\n            `sob_run_zzzzsys_form_id`\n        FROM\n            zzzzsys_object\n        WHERE\n            sob_all_zzzzsys_form_id = ? AND \n            sob_all_type = ? AND \n            sob_run_method = ? AND \n            IFNULL(sob_run_zzzzsys_form_id, \'\') <> \'\'\n        \";\n        \n    $s .= whereRunIframeforms();\n     \n    $t = nuRunQuery($s, [$f1,\'Run\',\'i\']);\n\n    while ($row = db_fetch_array($t)) {\n            \n           $f1 = $row[\'sob_run_zzzzsys_form_id\'];\n           \n           processForm($f1, $f2, $tabPks);\n           updateIframeForm($row[\'sob_run_zzzzsys_form_id\'], $f2, $dump);\n           processObjects($f1, $f2, $tabPks);\n           \n           $f2 = \"\";\n\n    }\n\n}\n\nfunction processSubforms($f1, $tabPks, $dump) {\n\n    if (\"#cloner_subforms#\" == \'0\') return;\n\n    $s = \"\n         SELECT \n            sob_subform_zzzzsys_form_id \n         FROM zzzzsys_object \n         WHERE sob_all_zzzzsys_form_id = ? AND sob_all_type = ?\n        \".whereSubforms();\n\n    $t = nuRunQuery($s, [$f1,\'subform\']);\n    while ($row = db_fetch_array($t)) {\n            \n           $f1 = $row[\'sob_subform_zzzzsys_form_id\'];\n\n           processForm($f1, $f2, $tabPks);\n           updateObjectSubform($row[\'sob_subform_zzzzsys_form_id\'], $f2, $dump);\n           processObjects($f1, $f2, $tabPks);\n           \n           $f2 = \"\";\n\n    }\n\n}\n\nfunction processForm($f1, &$f2, &$tabPks) {\n\n    if ($f2 != \"\") {\n        $tabPks = cloneFormTabs($f1, $f2, \'_clone\');\n        return;\n    }\n\n    $formSelectPks = [];\n    \n    $f2 = cloneForm($f1);\n    $tabPks = cloneFormTabs($f1, $f2);\n\n    cloneFormSelect($f1, $f2, $formSelectPks);\n    cloneFormSelectClause($f1, $formSelectPks);\n    cloneFormBrowse($f1, $f2);\n    cloneFormPHP($f1, $f2);\n\n}\n\nfunction processObjects($f1, $f2, &$tabPks) {\n\n    if (\"#cloner_objects#\" == \'0\') return;\n\n    $objectPks = [];\n    $selectPks = [];\n    \n    cloneObjects($f1, $f2, $objectPks, $tabPks);\n    cloneObjectsPHP($f1, $objectPks);\n    cloneObjectsSelect($f1, $objectPks, $selectPks);\n    cloneObjectsSelectClause($f1, $selectPks);\n    cloneObjectsEvents($f1, $objectPks);\n\n}\n\nfunction startCloner() {\n\n    $dump = \"#cloner_dump#\";\n\n	if(nuDemo(false) && $dump != \'1\'){\n\n		showError(\'Not available in the Demo...\');\n		return;\n\n	}\n	\n    $newPks = \"#cloner_new_pks#\";\n    if ($newPks == \'0\' && $dump != \'1\') {\n        showError(\'Primary keys can only be retained in dump mode.\');\n        return;\n    }\n\n    if (getFormSource($f1) == false) {\n        showError(\'The form $f1 (cloner_form_source) does not exist!\');\n        return;\n    }\n\n    if (getFormDestination($f2) == false) {\n        showError(\'The form $f2 (cloner_form_dest) does not exist!\');\n        return;\n    }\n\n\n\n    dumpFormInfo($f1, $dump);\n    processForm($f1, $f2, $tabPks);\n    processObjects($f1, $f2, $tabPks);\n    processSubforms($f1, $tabPks, $dump);\n    processIframeForms($f1, $tabPks, $dump);\n    \n    showForm($f2, $dump);\n\n}\n\nstartCloner();', NULL, NULL, 'hide', '', '1', '0', '0', '0', '', NULL),
('nucsvtransfer_BE', 'nucsvtransfer_BE', 'System PHP', 'nubuilder', NULL, '1', '\nfunction getCSVFiles() {\n\n    $f = [];\n    $dir = \'../temp/\';\n    $dh = opendir($dir);\n    while (false !== ($fileName = readdir($dh))) {\n        $ext = substr($fileName, strrpos($fileName, \'.\') + 1);\n        if (in_array($ext, [\n            \"txt\",\n            \"csv\",\n            \"tab\",\n            \"asc\"\n        ])) $f[] = $fileName;\n    }\n    closedir($dh);\n    return $f;\n}\n\n$f = getCSVFiles();\n$a = [];\n\n$countFiles = count($f);\nfor ($i = 0;$i < $countFiles;$i++) {\n\n    if ($f[$i][0] != \'.\') {\n        $a[] = \"\'\" . $f[$i] . \"\'\";\n    }\n}\n\nnuAddJavaScript(\"var nuCSVfiles = [\" . implode(\',\', $a) . \"];\");\n\n', NULL, NULL, NULL, NULL, '1', '0', '1', '0', '', NULL),
('nudebug_BD', 'nudebug_BD', 'System PHP', 'nubuilder', NULL, '1', '\n$i  = \'#instruction#\';\n\nif($i == \'all\'){\n    nuRunQuery(\"DELETE FROM zzzzsys_debug\");\n    \n}\n\n', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nufastform', 'nu_run_fast_form', 'Run Fast Form', 'nubuilder', 'Form', '1', 'nuBuildFastForm(\'#fastform_table#\', \'#fastform_type#\', \'#fastform_primary_key#\');', NULL, NULL, '', 'nufflaunch', '1', '0', '1', '0', '', NULL),
('nufastreport', 'nu_run_fast_report', 'Run Fast Report', 'nubuilder', 'Reporting', '1', 'nuBuildFastReport();\n\n', NULL, NULL, '', 'nufflaunch', '1', '0', '1', '0', '', NULL),
('nuform_AD', 'nuform_AD', 'System PHP', 'nubuilder', NULL, '1', 'nuDeleteForm(\'#RECORD_ID#\');', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nuform_AS', 'nuform_AS', 'System PHP', 'nubuilder', NULL, '1', '$recordId = \'#RECORD_ID#\';\n\nnuReorderBrowse($recordId);\nnuReorderTabs($recordId);', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nu684d2e20baf5b67', 'nu_browse_add_tab', 'Add Browse Tab', 'nubuilder', 'Browse', '1', '$decodedParams = nuGetProperty(\'nu_browse_add_tab_params\');\n\nif ($decodedParams) {\n    $parsedData = nuDecode($decodedParams);\n\n    $formId = $parsedData[\'form_id\'] ?? \'\';\n    $title = $parsedData[\'title\']  ?? \'New Tab\';\n    $order = $parsedData[\'order\']  ?? 0;\n\n    nuBrowseAddNewTab($formId, $title, $order);\n    nuReorderBrowse($formId);\n\n    $js = \"if (nuIsSaved()) { nuGetBreadcrumb()} else { parent.nuUpdateMessage(\'refresh_required\')} \";\n    nuJavaScriptCallback($js);\n}\n\nfunction nuBrowseAddNewTab($formId, $title, $order) {\n\n    $tabId = nuID();\n\n    $sql = \"\n        INSERT INTO zzzzsys_tab (\n            zzzzsys_tab_id,\n            syt_zzzzsys_form_id,\n            syt_title,\n            syt_order\n        ) VALUES (\n            :tabId,\n            :formId,\n            :title,\n            :tabOrder\n        )\n    \";\n\n    nuRunQuery($sql, [\n        \':tabId\' => $tabId,\n        \':formId\' => $formId,\n        \':title\' => $title,\n        \':tabOrder\' => $order\n    ]);\n\n    return $tabId;\n}', NULL, NULL, 'hide', NULL, '1', '0', '0', '0', '', NULL),
('nuform_BB', 'nuform_BB', 'System PHP', 'nubuilder', NULL, '1', '// Temp table\n$denied = $GLOBALS[\'nuSetup\']->set_denied == 1;\n\n$condition = $denied\n? \"(zzzzsys_form_id NOT LIKE \'nu%\' OR zzzzsys_form_id = \'nuuserhome\')\"\n: \"1=1\";\n\n$sql = \"\n    SELECT *\n    FROM zzzzsys_form\n    WHERE $condition\n    ORDER BY sfo_code\n\";\n\nnuCreateTableFromSelect(\'#TABLE_ID#\', $sql);\n\n\n// Group Filter\n$getDistinctGroupColumnQuery = function($column, $condition) {\n    return \"\n        SELECT\n          DISTINCT TRIM(`$column`)  AS trimmed_group\n        FROM\n          zzzzsys_form\n        WHERE\n          $condition AND (\n            IFNULL(`$column`, \'\') <> \'\')\n        ORDER BY\n          trimmed_group\n    \";\n};\n\n$sqlGroup = function($condition) use ($getDistinctGroupColumnQuery) {\n    return $getDistinctGroupColumnQuery(\'sfo_group\', $condition);\n};\n\n$group = nuEncodeQueryRowResults($sqlGroup($condition), []);\n\n$filterJS = \"\n    function nuFormFilterGetData(data) {\n        return JSON.parse(atob(data));\n    }\n    function nuFormFilterGetGroup() {\n        return nuFormFilterGetData(\'$group\');\n    }\n\";\n\nnuAddJavaScript($filterJS);', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nuform_BS', 'nuform_BS', 'System PHP', 'nubuilder', NULL, '1', '$o = \'#sfo_type#\';\n\nif (\'#sfo_type#\' == \'\') {\n    nuDisplayError(\'<b>Type</b> Cannot Be Blank..\', \'sfo_type\');\n}\nif (\'#sfo_description#\' == \'\') {\n    nuDisplayError(\'<b>Description</b> Cannot Be Blank..\', \'sfo_description\');\n}\n\n\nif ($o == \'browseedit\' || $o == \'subform\' || $o == \'browse\') {\n\n    if ($o != \'browse\') {\n        nuCheckTabs();\n    }\n\n    if ($o != \'subform\') {\n        nuCheckBrowse();\n    }\n\n    if (\'#sfo_browse_sql#\' == \'\') {\n        nuDisplayError(\'<b>Browse SQL</b> Cannot Be Blank..\', \'sfo_browse_sql\');\n    }\n}\n\nif ($o == \'edit\' or $o == \'launch\') {\n    nuCheckTabs();\n}\n\nif ($o != \'launch\') {\n    if (\'#sfo_table#\' == \'\') {\n        nuDisplayError(\'<b>Table Name</b> Cannot Be Blank..\', \'sfo_table\');\n    }\n    if (\'#sfo_primary_key#\' == \'\') {\n        nuDisplayError(\'<b>Primary Key</b> Cannot Be Blank..\', \'sfo_primary_key\');\n    }\n}\n\nfunction nuCheckBrowse() {\n\n    $r = 0;\n    $sf = nuSubformObject(\'zzzzsys_browse_sf\');\n\n    for ($i = 0; $i < count($sf->rows); $i++) {\n        if ($sf->deleted[$i] == 0) {\n            $r++;\n        }\n    }\n\n    if ($r == 0) {\n        nuDisplayError(\'<b>Must have at least 1</b> Browse Column Defined..\');\n    }\n\n}\n\nfunction nuCheckTabs() {\n\n    $r = 0;\n    $sf = nuSubformObject(\'zzzzsys_tab_sf\');\n\n    for ($i = 0; $i < count($sf->rows); $i++) {\n        if ($sf->deleted[$i] == 0) {\n            $r++;\n        }\n    }\n\n    if ($r == 0) {\n        nuDisplayError(\'<b>Must have at least 1</b> Tab Column Defined..\');\n    }\n\n}\n\n\nif (!empty($_POST[\'nuErrors\'])) {\n   nuSetValidationErrorTitle(\'Validation Error\');\n} ', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nuobject_BB', 'nuobject_BB', 'System PHP', 'nubuilder', NULL, '1', '$select = \"SELECT zzzzsys_object_id AS theid FROM zzzzsys_object WHERE \";\n$where = \"1\";\nif ($GLOBALS[\'nuSetup\']->set_denied == 1) {\n    $where = \"sob_all_zzzzsys_form_id NOT LIKE \'nu%\' OR sob_all_zzzzsys_form_id = \'nuuserhome\'\";\n}\n\nnuCreateTableFromSelect(\'#TABLE_ID#\', $select.$where);', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nuobject_BE', 'nuobject_BE', 'System PHP', 'nubuilder', NULL, '1', '$s = \"\n\nSELECT \n	sob_all_zzzzsys_form_id AS theform,\n	sob_all_id AS ids,\n	sob_all_type AS type\nFROM zzzzsys_object \nWHERE \nsob_all_zzzzsys_form_id = \'#sob_all_zzzzsys_form_id#\' AND \n	((sob_input_type = \'nuNumber\' AND sob_all_type = \'input\')\n	OR (sob_input_type = \'number\' AND sob_all_type = \'input\')\n	OR sob_all_type = \'calc\' OR sob_all_type = \'select\')\n\nUNION \n\nSELECT \n   su.sob_all_zzzzsys_form_id AS theform,\n   CONCAT(su.sob_all_id, \'.\', inp.sob_all_id) AS ids,\n   inp.sob_all_type AS type\nFROM zzzzsys_object AS su\nJOIN zzzzsys_object AS inp ON su.sob_subform_zzzzsys_form_id = inp.sob_all_zzzzsys_form_id\nWHERE \nsu.sob_all_type = \'subform\' AND \nsu.sob_all_zzzzsys_form_id = \'#sob_all_zzzzsys_form_id#\' AND \n	((inp.sob_input_type = \'nuNumber\' AND inp.sob_all_type = \'input\')\n	OR (inp.sob_input_type = \'number\' AND inp.sob_all_type = \'input\')\n	OR inp.sob_all_type = \'calc\' OR inp.sob_all_type = \'select\')\n\n\";\n\n$a  = [];\n$t  = nuRunQuery($s);\nwhile($r = db_fetch_object($t)){\n    $a[]  = $r;    \n}\n\n$j  = json_encode($a);\n\n$js = \"\n\nfunction nuCalcObjects(){\n    return $j;\n}\n\n\";\n\nnuAddJavaScript($js);\n\n', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nuobject_BS', 'nuobject_BS', 'System PHP', 'nubuilder', NULL, '1', '$r = \'#RECORD_ID#\';\n$f = \'#sob_all_zzzzsys_form_id#\';\n$o = \'#sob_all_id#\';\n\n$s = \"\n    \n        SELECT COUNT(*) \n        FROM zzzzsys_object\n        WHERE sob_all_zzzzsys_form_id = \'$f\'\n        AND sob_all_id = \'$o\'\n        AND zzzzsys_object_id != \'$r\'\n\n    \";\n\n$t = nuRunQuery($s);\n$r = db_fetch_row($t);\n\nif ($r[0] > 0) {\n    nuDisplayError(nuTranslate(\'This <b>ID</b> is already used on this Form..\'));\n}\n\nif (\'#sob_all_access#\' == 9 && \'#sob_all_access_condition#\' == \'\') {\n    nuDisplayErrorNotBlank(\'Access Condition\');\n}\n\n$o = \'#sob_all_type#\';\n\nif ($o == \'display\') {\n    if (\'#sob_display_sql#\' == \'\' && \'#sob_display_procedure#\' == \'\') {\n        nuDisplayErrorNotBlank(\'Display\');\n    }\n}\n\nif ($o == \'html\') {\n\n    if (\'#sob_html_code#\' == \'\' && \'#sob_html_chart_type#\' == \'\') {\n        nuDisplayError(nuTranslate(\'HTML Fields Cannot Both Be Blank..\'));\n    }\n    if (\'#sob_html_javascript#\' == \'\' && \'#sob_html_chart_type#\' != \'\') {\n        nuDisplayErrorNotBlank(\'HTML Javascript Array\');\n    }\n\n}\n\nif ($o == \'lookup\') {\n    if (\'#sob_lookup_zzzzsys_form_id#\' == \'\') {\n        nuDisplayErrorNotBlank(\'Form\');\n    }\n    if (\'#sob_lookup_code#\' == \'\') {\n        nuDisplayErrorNotBlank(\'Code\');\n    }\n    if (\'#sob_lookup_description#\' == \'\') {\n        nuDisplayErrorNotBlank(\'Descrition\');\n    }\n    if (\'#sob_lookup_description_width#\' == \'\') {\n        nuDisplayErrorNotBlank(\'Width\');\n    }\n}\n\nif ($o == \'run\') {\n    if (\'#sob_run_zzzzsys_form_id#\' == \'\') {\n        nuDisplayErrorNotBlank(\'Run\');\n    }\n    if (\'#sob_run_method#\' == \'\') {\n        nuDisplayErrorNotBlank(\'Method\');\n    }\n}\n\nif ($o == \'input\') {\n\n    if (\'#sob_input_type#\' == \'\') {\n        nuDisplayErrorNotBlank(\"Input\'s Input Type\");\n    }\n\n    if (\'#sob_input_type#\' == \'nuNumber\' || \'#sob_input_type#\' == \'nuDate\') {\n        if (\'#sob_input_format#\' == \'\') {\n            nuDisplayErrorNotBlank(\'Input Format\');\n        }\n    }\n\n    if (\'#sob_input_type#\' == \'nuAutoNumber\') {\n        if (\'#sob_input_count#\' == \'\') {\n            nuDisplayErrorNotBlank(\'Next Number\');\n        }\n    }\n\n}\n\nif ($o == \'select\') {\n    if (\'#sob_select_multiple#\' == \'\') {\n        nuDisplayErrorNotBlank(\'Multiple\');\n    }\n    if (\'#sob_select_sql#\' == \'\' && \'#sob_select_procedure#\' == \'\') {\n        nuDisplayErrorNotBlank(\'SQL/List or Procedure\');\n    }\n}\n\n\nif ($o == \'subform\') {\n    if (\'#sob_subform_zzzzsys_form_id#\' == \'\') {\n        nuDisplayErrorNotBlank(\'Form\');\n    }\n    if (\'#sob_subform_foreign_key#\' == \'\') {\n        nuDisplayErrorNotBlank(\'Foreign Key\');\n    }\n    if (\'#sob_subform_add#\' == \'\') {\n        nuDisplayErrorNotBlank(\'Addable\');\n    }\n    if (\'#sob_subform_delete#\' == \'\') {\n        nuDisplayErrorNotBlank(\'Deletable\');\n    }\n    if (\'#sob_subform_type#\' == \'\') {\n        nuDisplayErrorNotBlank(\'Type\');\n    }\n}\n\nif ($o == \'\') {\n    if (\'#sfo_browse_sql#\' == \'\') {\n        nuDisplayErrorNotBlank(\'Browse SQL\');\n    }\n}\n\nfunction nuDisplayErrorNotBlank($label) {\n\n    $label = \'<b>\' . $label . \'</b>\';\n    nuDisplayError($label . \' \' . nuTranslate(\'cannot be left blank\'));\n\n}\n\nif (!empty($_POST[\'nuErrors\'])) {\n   nuSetValidationErrorTitle(\'Validation Error\');\n} \n\n', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nuobjectgrid_AD', 'nuobjectgrid_AD', 'System PHP', 'nubuilder', NULL, '1', 'nuDeleteForm(\'#RECORD_ID#\');', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nuobjectgrid_AS', 'nuobjectgrid_AS', 'System PHP', 'nubuilder', NULL, '1', '$s  = \"\n    SELECT * \n    FROM zzzzsys_browse \n    WHERE sbr_zzzzsys_form_id = \'#RECORD_ID#\'\n    ORDER BY sbr_order;\n\";\n\n\n$t = nuRunQuery($s);\n$o = 10;\n\nwhile($r = db_fetch_object($t)){\n        \n    $s  = \"\n        UPDATE zzzzsys_browse \n        SET sbr_order = \'$o\'\n        WHERE zzzzsys_browse_id = \'$r->zzzzsys_browse_id\'\n        ORDER BY sbr_order;\n    \";\n    \n    nuRunQuery($s);\n    \n    $o = $o + 10;    \n    \n}\n\n$s  = \"\n    SELECT * \n    FROM zzzzsys_tab \n    WHERE syt_zzzzsys_form_id = \'#RECORD_ID#\'\n    ORDER BY syt_order;\n\";\n\n$t = nuRunQuery($s);\n$o = 10;\n\nwhile($r = db_fetch_object($t)){\n        \n    $s  = \"\n        UPDATE zzzzsys_tab \n        SET syt_order = \'$o\'\n        WHERE zzzzsys_tab_id = \'$r->zzzzsys_tab_id\'\n        ORDER BY syt_order;\n    \";\n    \n    nuRunQuery($s);\n    \n    $o = $o + 10;    \n    \n}\n', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nuobjectgrid_BB', 'nuobjectgrid_BB', 'System PHP', 'nubuilder', NULL, '1', '$select = \"SELECT zzzzsys_form_id AS theid FROM zzzzsys_form WHERE \";\n$where = \"1\";\nif ($GLOBALS[\'nuSetup\']->set_denied == 1) {\n    $where = \"zzzzsys_form_id NOT LIKE \'nu%\' OR zzzzsys_form_id = \'nuuserhome\'\";\n}\n\nnuCreateTableFromSelect(\'#TABLE_ID#\', $select.$where);', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nuobjectgrid_BD', 'nuobjectgrid_BD', 'System PHP', 'nubuilder', NULL, '1', 'nuDisplayError(nuTranslate(\'The Delete Operation is not available.\'));', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nuobjectgrid_BS', 'nuobjectgrid_BS', 'System PHP', 'nubuilder', NULL, '1', '\n    $o = \'#sfo_type#\';\n\n    if(\'#sfo_type#\'             == \'\'){nuDisplayError(\'<b>Type</b> Cannot Be Blank..\', \'sfo_type\');}\n    if(\'#sfo_code#\'             == \'\'){nuDisplayError(\'<b>Code</b> Cannot Be Blank..\', \'sfo_code\');}\n    if(\'#sfo_description#\'      == \'\'){nuDisplayError(\'<b>Description</b> Cannot Be Blank..\', \'sfo_description\');}\n\n\n    \n    \n    if($o == \'browseedit\' || $o == \'subform\' || $o == \'browse\'){\n        \n        if($o != \'browse\'){\n            nuCheckTabs();\n        }\n        \n        if($o != \'subform\'){\n            nuCheckBrowse();\n        }\n        \n        if(\'#sfo_browse_sql#\'   == \'\'){nuDisplayError(\'<b>Browse SQL</b> Cannot Be Blank..\', \'sfo_browse_sql\');}\n    }\n\n    if($o == \'edit\' or $o == \'launch\'){\n        nuCheckTabs();\n    }\n\n    if($o != \'launch\'){\n        if(\'#sfo_table#\'            == \'\'){nuDisplayError(\'<b>Table Name</b> Cannot Be Blank..\', \'sfo_table\');}\n        if(\'#sfo_primary_key#\'      == \'\'){nuDisplayError(\'<b>Primary Key</b> Cannot Be Blank..\', \'sfo_primary_key\');}\n    }\n\nfunction nuCheckBrowse(){\n\n    $r  = 0;\n    $sf = nuSubformObject(\'zzzzsys_browse_sf\');\n    \n    for($i = 0 ; $i < count($sf->rows) ; $i++){\n       if($sf->deleted[$i] == 0){$r++;}\n    }\n    \n    if($r == 0){\n       nuDisplayError(\'<b>Must have at least 1</b> Browse Column Defined..\');\n    }\n    \n}\n\nfunction nuCheckTabs(){\n\n    $r  = 0;\n    $sf = nuSubformObject(\'zzzzsys_tab_sf\');\n    \n    for($i = 0 ; $i < count($sf->rows) ; $i++){\n       if($sf->deleted[$i] == 0){$r++;}\n    }\n    \n    if($r == 0){\n       nuDisplayError(\'<b>Must have at least 1</b> Tab Column Defined..\');\n    }\n    \n}\n\n\n\n\n', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nupassword_BS', 'nupassword_BS', 'System PHP', 'nubuilder', NULL, '1', '$is		= \'#old_password#\';\n$was    = \'#new_password_check#\';\n$will   = \'#new_password#\';\n$ses    = \'#SESSION_ID#\';\n$userId = \"#USER_ID#\";\n\n//--\n\n$s      = \"\n    SELECT sss_access \n    FROM zzzzsys_session\n    WHERE zzzzsys_session_id = ?\n\";\n\n$t  = nuRunQuery($s, array($ses));\n$r  = db_fetch_object($t);\n$j  = json_decode($r->sss_access);\n\n//--\n\n$s      = \"\n    SELECT sus_login_password\n    FROM zzzzsys_user\n    WHERE zzzzsys_user_id = ?\n\";\n\n$t = nuRunQuery($s, array($userId));\n$r = db_fetch_object($t);\n$current = $r->sus_login_password;\n\n$useMd5 = $_SESSION[\'nubuilder_session_data\'][\'USE_MD5_PASSWORD_HASH\'] == true;\n\nif ($useMd5) {\n    $check =  md5($is) == $current;\n} else {\n    $check = password_verify($is, $current);\n}\n\nif ($check == false) {\n    nuDisplayError(nuTranslate(\'Incorrect Password\'));\n    return;\n}    \n\n//--\n\n$p    = nuProcedure(\'nu_check_password_policy\');\n\nif($p != \'\'){\n\n    eval($p);\n    \n    if($check == false){\n        return;\n    }\n\n}\n\n//--\n\nif($will == $was){\n\n    $s  = \"\n\n        UPDATE zzzzsys_user \n        SET sus_login_password = ?\n        WHERE zzzzsys_user_id = ?\n    \n    \";\n\n    $pwHash = $useMd5 == true ? md5($will) : nuPasswordHash($will);\n\n    nuRunQuery($s, array($pwHash, \"#RECORD_ID#\"));\n\n    nuSetUserJSONData(\'PASSWORD_CHANGED_TIME\', time() , $userId);\n    nuSetUserJSONData(\'PASSWORD_CHANGED_SOURCE\', \'user\', $userId);\n    \n}else {\n    nuDisplayError(nuTranslate(\'\"New Password\" must be the same as \"Confirm New Password\"\'));\n}\n', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nuprocedure_AS', 'nuprocedure_AS', 'System PHP', 'nubuilder', NULL, '1', '$justphp = nuObjKey(nuHash(),\'filter\') == \'justphp\';\n\nif (\'#DEV_MODE#\' != 1 && substr(\'#RECORD_ID#\', 0, 2) === \'nu\' ) {\n   if ($justphp) {\n        nuDisplayError(nuTranslate(\'<h2>\'.nuTranslate(\'Information\').\'</h2><br>Changes in system forms are overwritten with an update\'));  \n   } \n}\n\n', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nuprocedure_BB', 'nuprocedure_BB', 'System PHP', 'nubuilder', NULL, '1', '$getDistinctColumnQuery = function($column) {\n    return \"\n        SELECT\n          DISTINCT TRIM($column) AS `value`, TRIM($column) as `text`\n        FROM\n          zzzzsys_php\n          LEFT JOIN zzzzsys_form ON zzzzsys_form_id = sph_zzzzsys_form_id\n        WHERE\n          IFNULL($column, \'\') <> \'\'\n          AND (\n            (\n              sph_system != \'1\' OR sph_system IS NULL\n            )\n            OR (\n              \'#DEV_MODE#\' = \'1\' AND LEFT(RIGHT(sph_code, 3), 1) <> \'_\'\n            )\n          )\n        ORDER BY\n          `value`\n    \";\n};\n\n$sqlGroup = function() use ($getDistinctColumnQuery) {\n    return $getDistinctColumnQuery(\'sph_group\');\n};\n\n$sqlCategory = function() use ($getDistinctColumnQuery) {\n    return $getDistinctColumnQuery(\'sph_category\');\n};\n\n$group = nuEncodeQueryRowResults($sqlGroup(), [], [\'-1\', \'\']);\n$category = nuEncodeQueryRowResults($sqlCategory(), [], [\'-1\', \'\']);\n\n$filterJS = \"\n    function nuProcedureFilterGetData(data) {\n        return JSON.parse(atob(data));\n    }\n    function nuProcedureFilterGetGroup() {\n        return nuProcedureFilterGetData(\'$group\');\n    }\n    function nuProcedureFilterGetCategory() {\n        return nuProcedureFilterGetData(\'$category\');\n    }\n\";\n\nnuAddJavaScript($filterJS);', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nuprocedure_BE', 'nuprocedure_BE', 'System PHP', 'nubuilder', NULL, '1', '$rid = \'#RECORD_ID#\';\n\nif ($rid != \'-1\' and $rid != \'-2\') {\n\n    $s = \"SELECT * FROM zzzzsys_php WHERE zzzzsys_php_id = \'$rid\'\";\n    $t = nuRunQuery($s);\n    $r = db_fetch_object($t);\n\n    if (db_num_rows($t) == 0) {\n\n        $s = \"\n        INSERT INTO zzzzsys_php\n        (\n            zzzzsys_php_id,\n            sph_code,\n            sph_description,\n            sph_group,\n            sph_system\n        )\n        VALUES\n        (\n            \'$rid\',\n            \'$rid\',\n            \'System PHP\',\n            \'nubuilder\',\n            \'1\'\n        )\n        \";\n\n        nuRunQuery($s);\n\n    }\n\n}', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nuprocedure_BS', 'nuprocedure_BS', 'System PHP', 'nubuilder', NULL, '1', '$justphp = nuObjKey(nuHash(),\'filter\') == \'justphp\';\n\nif (\'#DEV_MODE#\' != 1 && \'#sph_template#\' == \'1\' ) {\n   if (! $justphp) {\n        nuDisplayError(nuTranslate(\"Templates cannot be saved. Clone it instead.\"));\n        return;\n   } \n}\n\n\n$rid    = \'#RECORD_ID#\';\n\nif($rid != \'-1\' and $rid != \'-2\'){ \n    \n    $s      = \"SELECT * FROM zzzzsys_php WHERE zzzzsys_php_id = \'$rid\'\";\n    $t      = nuRunQuery($s);\n    $r      = db_fetch_object($t);\n    \n    if(db_num_rows($t) == 0){\n    \n        $s              = \"\n        INSERT INTO zzzzsys_php\n        (\n            zzzzsys_php_id,\n            sph_code,\n            sph_description,\n            sph_group,\n            sph_system\n        )\n        VALUES\n        (\n            \'$rid\', \n            \'$rid\', \n            \'System PHP\', \n            \'nubuilder\', \n            \'1\'\n        )\n        \";\n        \n        nuRunQuery($s);\n        \n    }\n    \n}\n', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nuselect_BS', 'nuselect_BS', 'System PHP', 'nubuilder', NULL, '1', '$rid    = \'#RECORD_ID#\';\n\nif($rid != \'-1\' and $rid != \'-2\'){ \n    \n    $s      = \"SELECT * FROM zzzzsys_select WHERE zzzzsys_select_id = \'$rid\'\";\n    $t      = nuRunQuery($s);\n    $r      = db_fetch_object($t);\n    \n    if(db_num_rows($t) == 0){\n        \n        $s              = \"\n        INSERT INTO zzzzsys_select\n        (zzzzsys_select_id, sse_system)\n        VALUES\n        (\'$rid\', \'1\')\n        \";\n        \n        nuRunQuery($s);\n        \n    }\n    \n}\n\n', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nusethashcookie', 'nu_set_hash_cookie', 'Sets session persistent hash cookies', 'nubuilder', 'Session', '1', '$name = \'#nu_set_hash_cookie_name#\';\n$value = \'#nu_set_hash_cookie_value#\';\n\nnuSetProperty($name, $value, true);\n\n\n$js = \"\n    if(window.nuOnPropertySet){\n        nuOnPropertySet(\'$name\', \'$value\');\n    }\n\";\n\nnuJavaScriptCallback($js);', NULL, NULL, 'hide', '', '1', '1', '1', '0', '', NULL),
('nusetup_AS', 'nusetup_AS', 'System PHP', 'nubuilder', NULL, '1', 'function nuSetupWriteVersionToFile($dbVersion, $filesVersion) {\n\n    $f = fopen(__DIR__ . \'/../version.txt\', \"w+\") or die(\"Unable to open file!\");\n    fwrite($f, \"nuBuilder Forte 4.5\\n\\n\");\n    fwrite($f, \"DB Version: \".\"$dbVersion\\n\");\n    fwrite($f, \"Files Version: \".\"$filesVersion\\n\\n\");\n    fwrite($f, \"(V.MajorVersion-CurrentDate.BuildNumber)\");\n    fclose($f);\n\n}\n\n\n$DEV_MODE = \'#DEV_MODE#\' == \'1\';\n\n// Write Version Info\n\nif ($DEV_MODE) {\n\n    nuSetupSetConfigOrder();\n\n    $nuDumpCodes = nuProcedure(\'nu_dump_form_codes\');\n    eval($nuDumpCodes);\n\n    $nuNewDBV = \'#set_db_version_inc#\';\n    if ($nuNewDBV != \'\') {\n        $qry = \"UPDATE zzzzsys_info SET inf_details = ? WHERE  inf_code = \'nuDBVersion\'\";\n        nuRunQuery($qry, [$nuNewDBV]);\n        $nuDBV = $nuNewDBV;\n    } else {\n        $nuDBV = \'#set_db_version#\';\n    }\n\n    $nuNewFilesV = \'#set_files_version_inc#\';\n    if ($nuNewFilesV != \'\') {\n        $qry = \"UPDATE zzzzsys_info SET inf_details = ? WHERE  inf_code = \'nuFilesVersion\'\";\n        nuRunQuery($qry, [$nuNewFilesV]);\n        $nuFilesV = $nuNewFilesV;\n    } else {\n        $nuFilesV = \'#set_files_version#\';\n    }\n\n    if ($nuNewFilesV != \'\' || $nuNewDBV != \'\') {\n        nuSetupWriteVersionToFile($nuDBV, $nuFilesV);\n    }\n\n    if (\'#set_dev_reset_tables#\' == true) {\n\n        $lang = [\n            \"Afrikaans\", \"Arabic\", \"Armenian\", \"Catalan\", \"Chinese\", \"Czech\", \"Danish\", \"Dutch\",\n            \"French\", \"German\", \"Greek\", \"Hindi\", \"Hungarian\", \"Italian\", \"Japanese\", \"Malay\",\n            \"Norwegian\", \"Polish\", \"Portuguese (Brazil)\", \"Portuguese\", \"Romanian\", \"Russian\",\n            \"Slovak\", \"Spanish\", \"Tamil\", \"Turkish\", \"Vietnamese\"\n        ];\n\n        nuRunQuery(\'UPDATE zzzzsys_setup SET set_languages_included = ?, set_language = NULL WHERE zzzzsys_setup_id = 1\', $lang);\n\n        nuResetEmailSettings();\n\n        $q = \"\n                DELETE FROM `zzzzsys_user`;\n                DELETE FROM `zzzzsys_access`;\n                DELETE FROM `zzzzsys_access_form`;\n                DELETE FROM `zzzzsys_access_php`;\n                DELETE FROM `zzzzsys_access_report`;\n                DELETE FROM `zzzzsys_cloner`;\n                DELETE FROM `zzzzsys_app_cloner`;\n                DELETE FROM `zzzzsys_file` WHERE `sfi_group` <> \'nubuilder\';\n                DELETE FROM `zzzzsys_format` WHERE `zzzzsys_format_id` NOT LIKE \'nu%\';\n                DELETE FROM `zzzzsys_note`;\n                DELETE FROM `zzzzsys_email_template` WHERE `zzzzsys_email_template_id` NOT LIKE \'nu%\';\n                DELETE FROM `zzzzsys_note_category`;\n                DELETE FROM `zzzzsys_select` WHERE `zzzzsys_select_id` NOT LIKE \'nu%\';\n                DELETE FROM `zzzzsys_select_clause` WHERE `zzzzsys_select_clause_id` NOT LIKE \'nu%\';\n                DELETE FROM `zzzzsys_php` WHERE IFNULL(`sph_php`, \'\') = \'\';\n                DELETE FROM `zzzzsys_translate`;\n                DELETE FROM `zzzzsys_permission_item`;\n                DELETE FROM `zzzzsys_user_permission`;\n                DELETE FROM `zzzzsys_email_log`;\n                DELETE FROM `zzzzsys_report_data`;\n                DELETE zzzzsys_event\n                FROM zzzzsys_event\n                LEFT JOIN zzzzsys_object ON zzzzsys_object.zzzzsys_object_id = zzzzsys_event.sev_zzzzsys_object_id\n                WHERE zzzzsys_object.zzzzsys_object_id IS NULL;\n                UPDATE `zzzzsys_object` SET `sob_input_attribute` = NULL WHERE `sob_input_attribute` = \'\';\n                UPDATE `zzzzsys_form` SET `sfo_browse_javascript` = NULL WHERE TRIM(`sfo_browse_javascript`) = \'\';\n                UPDATE `zzzzsys_form` SET `sfo_javascript` = NULL WHERE TRIM(`sfo_javascript`) = \'\';\n                UPDATE `zzzzsys_tab` SET `syt_access` = NULL WHERE TRIM(`syt_access`) = \'\';\n                UPDATE `zzzzsys_tab` SET `syt_order` = \'-1\' WHERE `zzzzsys_tab_id` = \'nufastforms\';\n                UPDATE `zzzzsys_item` SET `itm_created_on` = NULL, `itm_updated_on` = NULL WHERE `zzzzsys_item_id` LIKE \'nu%\';\n                DELETE FROM `zzzzsys_prompt_generator` WHERE zzzzsys_prompt_generator_id LIKE \'nu%\';\n                DELETE FROM `zzzzsys_debug`;\n                DELETE FROM `zzzzsys_session`;\n        \";\n\n        nuRunQuery($q);\n\n        nuSetupSetDefaultValues();\n\n\n    }\n\n}\n\nfunction nuResetEmailSettings() {\n\n    $update =\n\n    \"\n        UPDATE `zzzzsys_setup`\n        SET\n           `set_smtp_username` = \'1\',\n          `set_smtp_password` = \'1\',\n          `set_smtp_host` = \'1\',\n          `set_smtp_from_address` = \'1\',\n          `set_smtp_from_name` = \'1\',\n          `set_smtp_port` = \'1\',\n          `set_smtp_use_authentication` = \'1\',\n          `set_smtp_use_ssl` = \'1\'\n       \";\n\n    nuRunQuery($update);\n\n}\n\nfunction nuSetupSetDefaultValues() {\n\n    $columns = db_field_names(\'zzzzsys_object\');\n    foreach ($columns as $name) {\n\n        if ($name === \'sob_all_label\') {\n            $newValue = \'\';\n        } else {\n            $newValue = null;\n        }\n\n        nuRunQuery(\"UPDATE `zzzzsys_object` SET `$name` = ? WHERE TRIM(IFNULL($name,\'\')) = \'\' \", [$newValue]);\n\n    }\n    \n    \n    nuRunQuery(\"UPDATE `zzzzsys_object` SET sob_all_label = \' \' WHERE `sob_all_type` LIKE \'subform\' AND IFNULL(sob_all_label,\'\') = \'\' \");\n\n}\n\nfunction nuImportSelectedLanguageFiles($l) {\n    try {\n        for ($i = 0; $i < count($l); $i++) {\n            if (trim($l[$i]) == \'\') continue;\n            $file = dirname(__FILE__). \'/languages/\'. $l[$i].\'.sql\';\n            $sql = file_get_contents($file);\n            if ($sql) {\n                nuRunQuery($sql);\n            } else {\n                nuDisplayError(\"Error opening the file: $file\");\n            }\n        }\n    }catch (Exception $e) {\n        nuDisplayError(nuTranslate(\'<h2>\'.nuTranslate(\'Error\').\'</h2><br>Error while importing language files.\'));\n    }\n}\n\nfunction nuSetupSetConfigOrder() {\n\n    $select = \"SELECT zzzzsys_config_id FROM `zzzzsys_config` ORDER BY `zzzzsys_config`.`cfg_order` ASC\";\n    $stmt = nuRunQuery($select);\n\n    $i = 10;\n    while ($row = db_fetch_array($stmt)) {\n\n        $s = \"UPDATE `zzzzsys_config` SET cfg_order = ? WHERE `zzzzsys_config_id`  = ?\";\n        nuRunQuery($s, [$i, $row[\'zzzzsys_config_id\']]);\n        $i = $i + 10;\n\n    }\n\n}\n\n\nfunction nuSetupDeletePMASubfolders($path) {\n    // Allowed folder names\n    $allowedFolders = [\"zh_CN\", \"vi\", \"tr\", \"sk\", \"ru\", \"ro\", \"pt_BR\", \"pt\", \"pl\", \"nl\", \"ja\", \"it\", \"hy\", \"fr\", \"es\", \"el\", \"de\", \"da\", \"cs\", \"ca\", \"ar\"];\n    \n    // Ensure path is a directory\n    if (!is_dir($path)) {\n        return false;\n    }\n    \n    // Scan directory\n    $folders = scandir($path);\n    \n    foreach ($folders as $folder) {\n        if ($folder === \'.\' || $folder === \'..\') {\n            continue;\n        }\n        \n        $fullPath = $path . DIRECTORY_SEPARATOR . $folder;\n        \n        // Check if it\'s a directory and not in the allowed list\n        if (is_dir($fullPath) && !in_array($folder, $allowedFolders)) {\n            nuSetupDeleteSubfoldersRecursively($fullPath);\n        }\n    }\n}\n\nfunction nuSetupDeleteSubfoldersRecursively($folderPath) {\n    if (!is_dir($folderPath)) {\n        return;\n    }\n    \n    $files = array_diff(scandir($folderPath), [\'.\', \'..\']);\n    \n    foreach ($files as $file) {\n        $filePath = $folderPath . DIRECTORY_SEPARATOR . $file;\n        if (is_dir($filePath)) {\n            nuSetupDeleteSubfoldersRecursively($filePath);\n        } else {\n            unlink($filePath);\n        }\n    }\n    \n    rmdir($folderPath);\n}\n\nfunction removePMALanguages() {\n    nuSetupDeletePMASubfolders(\'../third_partynudb/locale\');\n}\n\nremovePMALanguages();\n\n// Include/Exclude languages\n$t = \"#set_languages_included_json#\";\n\nif ($t != \'-1\') {\n    // no language change\n\n    nuRunQuery(\"DELETE FROM zzzzsys_translate WHERE zzzzsys_translate_id LIKE \'nu%\'\");\n    if ($t != \'\') nuImportSelectedLanguageFiles(json_decode($t));\n\n}\n\nif (\'#set_language_current#\' != \'#set_language#\') {\n    $_SESSION[\'nubuilder_session_data\'][\'translation\'] = nuGetTranslation(\'#set_language#\');\n    $_SESSION[\'nubuilder_session_data\'][\'language\'] = \'#set_language#\';\n}\n\n// Check if header textarea changed\n\nif (\'#set_header_current#\' != \'#set_header#\' || \'#set_include_current#\' != \'#set_include#\' || \'#set_style_current#\' != \'#set_style#\') {\n    nuDisplayMessage(nuTranslate(\'<h2>\'.nuTranslate(\'Information\').\'</h2><br>You will need to log in again for the changes to take effect.\'));\n}', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL);
INSERT INTO `zzzzsys_php` (`zzzzsys_php_id`, `sph_code`, `sph_description`, `sph_group`, `sph_category`, `sph_status`, `sph_php`, `sph_javascript`, `sph_javascript_active`, `sph_run`, `sph_zzzzsys_form_id`, `sph_system`, `sph_global`, `sph_demo`, `sph_template`, `sph_hide`, `sph_json`) VALUES
('nu65046f695d2ff3d', 'nu_create_test_user', 'Create a test user', 'nubuilder', 'Dev', '1', '$password = \'$2y$10$WqzRBCCDuPvyyq3Us53kFewUa02vhlT9NhZz5IOITVz3N8ZOSWgIu\'; // test\n\n$qry = \"\n    REPLACE\n    INTO `zzzzsys_user`(\n        `zzzzsys_user_id`,\n        `sus_zzzzsys_access_id`,\n        `sus_language`,\n        `sus_name`,\n        `sus_code`,\n        `sus_position`,\n        `sus_department`,\n        `sus_team`,\n        `sus_email`,\n        `sus_additional1`,\n        `sus_additional2`,\n        `sus_login_name`,\n        `sus_login_password`,\n        `sus_expires_on`,\n        `sus_change_password`,\n        `sus_accessibility_features`,\n        `sus_json`\n    )\n    VALUES(\n        \'test65046e167e07b56\',\n        \'test6505159c7272cf6\',\n        NULL,\n        \'test\',\n        \'test\',\n        \'pos1\',\n        \'dep1\',\n        \'test\',\n        NULL,\n        \'add1\',\n        \'add2\',\n        \'test\',\n        \'$password\',\n        NULL,\n        \'0\',\n        NULL,\n        NULL\n    );\n    \n    REPLACE INTO `zzzzsys_access` (`zzzzsys_access_id`, `sal_code`, `sal_description`, `sal_group`, `sal_zzzzsys_form_id`, `sal_use_2fa`, `sal_json`)\n    VALUES (\'test6505159c7272cf6\', \'test\', \'test\', \'test\', \'nuuserhome\', NULL, NULL);\n    \n    REPLACE INTO `zzzzsys_access_form` (`zzzzsys_access_form_id`, `slf_zzzzsys_access_id`, `slf_zzzzsys_form_id`, `slf_add_button`, `slf_save_button`, `slf_delete_button`, `slf_clone_button`, `slf_new_button`, `slf_print_button`, `slf_data_mode`, `slf_form_type`, `slf_json`)\n    VALUES\n    (\'test6505159c730ed6e\', \'test6505159c7272cf6\', \'nufile\', \'1\', \'1\', \'0\', \'1\', NULL, \'1\', NULL, NULL, NULL),\n    (\'test6505159c72cb67d\', \'test6505159c7272cf6\', \'nutranslate\', \'1\', \'1\', \'0\', \'1\', NULL, \'1\', NULL, NULL, NULL)\n\n\n\";\n\nnuRunQuery($qry);', NULL, NULL, 'hide', NULL, '1', '0', '1', '0', '', NULL),
('nusetup_BD', 'nusetup_BD', 'System PHP', 'nubuilder', NULL, '1', 'nuDisplayError(\'The Setup cannot be deleted!\');', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nusetup_BE', 'nusetup_BE', 'System PHP', 'nubuilder', NULL, '1', '// Settings\n\nrequire_once(\'nusetuplibs.php\');\n\n$config = nuConfigScript();\n$configCode = $config[\'code\'];\n$configJS = $config[\'js\'];\n\n$configJS = $configJS == null ? \"\" : $configJS. \" \" . \"nuHide(\'nuconfigsettingsfromdb_hint\'); \";\n\n\nif ($configCode != null) {\n    eval($config[\'code\']);\n}\n\nnuAddJavaScript($configJS);\n\n\nif (isset($_SESSION[\'nubuilder_session_data\'][\'USER_ADDITIONAL1_LABEL\']) && isset($nuConfigUserAdditional1Label)) {\n    $_SESSION[\'nubuilder_session_data\'][\'USER_ADDITIONAL1_LABEL\'] = $nuConfigUserAdditional1Label;\n}    \n\nif (isset($_SESSION[\'nubuilder_session_data\'][\'USER_ADDITIONAL2_LABEL\']) && isset($nuConfigUserAdditional2Label)) {\n    $_SESSION[\'nubuilder_session_data\'][\'USER_ADDITIONAL2_LABEL\'] = $nuConfigUserAdditional2Label;\n}\n\nif (isset($_SESSION[\'nubuilder_session_data\'][\'USER_CODE_LABEL\']) && isset($nuConfigUserCodeLabel)) {\n    $_SESSION[\'nubuilder_session_data\'][\'USER_CODE_LABEL\'] = $nuConfigUserCodeLabel;\n}\n\nnuAddJavaScript (\" \n   nuSERVERRESPONSE.buttons.Clone = \'0\';\n   nuSERVERRESPONSE.buttons.Delete = \'0\';\n\", true);\n\n\n//File Version\n\nfunction getFileVersion() {\n    $f = __DIR__ . \'/../version.txt\';\n    if (is_readable($f)) {\n        $lines = file($f);\n        if (count($lines) >= 4) {\n            $v = $lines[3];\n            $v = preg_replace(\"/\\r|\\n/\", \"\", $v);\n            $v = substr($v, 15);\n            return $v;\n        } \n    }\n    return \"Unknown\";\n}\n\n\n\n$v = getFileVersion();\n\n$j = \"\n\n    function nuGetFilesVersion() {\n        return \'$v\';\n    }\n\n\";\n\nnuAddJavaScript($j);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nutablookup_BB', 'nutablookup_BB', 'System PHP', 'nubuilder', NULL, '1', '$s = \"SELECT zzzzsys_form_id AS theid FROM zzzzsys_form WHERE \";\n$w = \"1\";\nif ($GLOBALS[\'nuSetup\']->set_denied == 1) {\n    $w = \"zzzzsys_form_id NOT LIKE \'nu%\' OR zzzzsys_form_id = \'nuuserhome\'\";\n}\n\nnuCreateTableFromSelect(\'#TABLE_ID#\', $s.$w);', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nutestemail', 'nu_test_email', 'Send a test email', 'nubuilder', 'Email', '1', '$to = \'#ema_to#\';\n$fromAddress = \'#set_smtp_from_address#\';\n$fromName = \'#set_smtp_from_name#\';\n$body = \'#ema_body#\';\n$subject = \'#ema_subject#\';\n$bcc = \'#ema_bcc#\';\n$cc = \'#ema_cc#\';\n$priority = \'#ema_priority#\';\n\n$recipient = ($to == \'\' && $bcc == \'\' && $cc == \'\') ? false : true;\n\nif (! $recipient || $fromAddress == \'\' || $fromName = \'\' || $body == \'\' || $subject == \'\') {\n    showMessage(nuTranslate(\'Error\'), nuTranslate(\'Required fields cannot be blank.\'));\n    return;\n}\n\n$result = nuSendEmail($to, $fromAddress, $fromName, $body, $subject, [], true, $cc, $bcc, [], $priority);\n\nif (count($result) == 2) {\n    showMessage(nuTranslate(\'Result\'), $result[1]);\n} else {\n    showMessage(nuTranslate(\'Result\'), $result[1].\'<br>\'.$result[2]);\n}\n\nfunction showMessage($title, $msg) {\n    nuJavaScriptCallback(\"nuMessage(\'$title\', \'$msg\');\");\n}', NULL, NULL, 'hide', '', '1', '0', '1', '0', '', NULL),
('nutranslate_AS', 'nutranslate_AS', 'System PHP', 'nubuilder', NULL, '1', '$i  = \'trl_english\';\r\n$t  = nuRunQuery(\'SELECT COUNT(*) FROM zzzzsys_debug\');\r\n$c  = db_fetch_row($t)[0];\r\n\r\n$j  = \";$(\'#$i\').val($c);\";\r\n\r\nnuJavaScriptCallback($j);\r\n', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nutranslate_BB', 'nutranslate_BB', 'System PHP', 'nubuilder', NULL, '1', 'function sqlLanguage() {\n    $sql = \"SELECT DISTINCT trl_language FROM `zzzzsys_translate` ORDER BY trl_language \";\n    return $sql;\n}\n\nfunction getBase64JsonDTString($sql) {\n   $result = nuRunQuery($sql);\n   $a = [];\n   $a[] = \'\';\n   while ($row = db_fetch_row($result)) {\n     $a[] = $row;\n   }\n   return base64_encode(json_encode( $a ));\n}\n\n$language = getBase64JsonDTString(sqlLanguage(),[]);\n\n$js = \"\n\n   function nuTranslationFilterGetLanguage() {\n      return JSON.parse(atob(\'$language\'));\n   }\n \n\";\n\nnuAddJavaScript($js);\n', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nutranslate_BD', 'nutranslate_BD', 'System PHP', 'nubuilder', NULL, '1', 'if (\'#DEV_MODE#\' != 1 && substr(\'#RECORD_ID#\', 0, 2) === \'nu\') {\n   nuDisplayError(\"nuBuilder\'s translation strings cannot be modified\");\n}', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nutranslate_BE', 'nutranslate_BE', 'System PHP', 'nubuilder', NULL, '1', '$t = nuRunQuery(\"SELECT MAX(trl_language) FROM zzzzsys_translate GROUP BY trl_language\");\n\n$a = [];\nwhile ($r = db_fetch_row($t)) {\n    $a[] = $r[0];\n}\n\n$j = json_encode($a);\n$f = \"\n\nfunction nuLanguages(){\n    return $j;\n}\n\n\";\n\nnuAddJavaScript($f);', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nutranslate_BS', 'nutranslate_BS', 'System PHP', 'nubuilder', NULL, '1', 'if (\'#DEV_MODE#\' != 1 && substr(\'#RECORD_ID#\', 0, 2) === \'nu\') {\n   nuDisplayError(\"nuBuilder\'s translation strings cannot be modified\");\n}', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nuuser_AS', 'nuuser_AS', 'System PHP', 'nubuilder', NULL, '1', '$changePassword = \'#sus_change_password#\' == \'1\';\n\nif (\'#check_password#\' != \'\') {\n\n    $userId = \"#RECORD_ID#\";\n\n    if ($_SESSION[\'nubuilder_session_data\'][\'USE_MD5_PASSWORD_HASH\'] != true) {\n        $pw = [REDACTED]    } else {\n        $pw = [REDACTED]    }\n\n    nuRunQuery(\"UPDATE zzzzsys_user SET sus_login_password = \'$pw\' WHERE zzzzsys_user_id = ?\", [$userId]);\n\n    nuSetUserJSONData(\'PASSWORD_CHANGED_TIME\', time(), $userId);\n\n    if ($changePassword) {\n        $expirationTime = time() + 3600;\n        nuSetUserJSONData(\'OTP_EXPIRATION_TIME\', $expirationTime, $userId);\n    }\n    \n\n}\n\n\nfunction nuUserSavedInfo() {\n\n    global $changePassword;\n\n    return array(\n        \'change_password\' => $changePassword,\n        \'new_user\' => nuHasNewRecordID(),\n        \'user_id\' => \'#RECORD_ID#\',\n        \'access_level_id\' => \'#sus_zzzzsys_access_id#\',\n        \'team\' => \'#sus_team#\',\n        \'department\' => \'#sus_department#\',\n        \'position\' => \'#sus_position#\' \n    );\n\n}\n\nif (\'#user_send_welcome_email#\' == \'1\') {\n    $result = nuRunProcedure(\'nu_send_welcome_email\');\n    if ($result === false) {\n        nuRunProcedure(\'nu_send_welcome_email_template\');\n    }\n}', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nuuser_BB', 'nuuser_BB', 'System PHP', 'nubuilder', NULL, '1', '$getDistinctUserColumnQuery = function($column) {\n\n    $sqlWhereExpired = \"(\n        ((\'#nu5fe0352637b2e4f_filter#\' LIKE \'#%\' OR \'#nu5fe0352637b2e4f_filter#\' = \'\') AND (sus_expires_on > NOW() OR sus_expires_on IS NULL)) OR\n        (\'#nu5fe0352637b2e4f_filter#\' = \'Expired\' AND sus_expires_on < NOW())\n    ) \";\n\n    return \"\n        SELECT DISTINCT IFNULL(`$column`, \'\') AS value, IFNULL(`$column`, \'\') AS `text`\n        FROM `zzzzsys_user`\n        WHERE IFNULL(`$column`, \'\') <> \'\'\n        AND $sqlWhereExpired\n        ORDER BY value\n    \";\n\n};\n\n$sqlPosition = function() use ($getDistinctUserColumnQuery) {\n    return $getDistinctUserColumnQuery(\'sus_position\');\n};\n\n$sqlTeam = function() use ($getDistinctUserColumnQuery) {\n    return $getDistinctUserColumnQuery(\'sus_team\');\n};\n\n$sqlDepartment = function() use ($getDistinctUserColumnQuery) {\n    $x = $getDistinctUserColumnQuery(\'sus_department\');\n    return $x;\n};\n\n$sqlLanguage = function() use ($getDistinctUserColumnQuery) {\n    return $getDistinctUserColumnQuery(\'sus_language\');\n};\n\n$sqlAccessLevel = function() {\n\n    $sqlWhereExpired = \"(\n        ((\'#nu5fe0352637b2e4f_filter#\' LIKE \'#%\' OR \'#nu5fe0352637b2e4f_filter#\' = \'\') AND (sus_expires_on > NOW() OR sus_expires_on IS NULL)) OR\n        (\'#nu5fe0352637b2e4f_filter#\' = \'Expired\' AND sus_expires_on < NOW()))\";\n\n    $sql = \"SELECT DISTINCT CONCAT(sal_code, \' : \', sal_description) AS display\n        FROM `zzzzsys_user`\n        INNER JOIN zzzzsys_access ON zzzzsys_access_id = sus_zzzzsys_access_id\n        WHERE $sqlWhereExpired\n        ORDER BY CONCAT(sal_code, \' : \', sal_description)\";\n\n    return $sql;\n\n};\n\n$position = nuEncodeQueryRowResults($sqlPosition(), [], [\'-1\',\'\']);\n$team = nuEncodeQueryRowResults($sqlTeam(), [], [\'-1\',\'\']);\n$department = nuEncodeQueryRowResults($sqlDepartment(), [], [\'-1\',\'\']);\n$language = nuEncodeQueryRowResults($sqlLanguage(), [], [\'-1\',\'\']);\n$accessLevel = nuEncodeQueryRowResults($sqlAccessLevel(), []);\n\n$filterJS = \"\n    function nuUserFilterGetData(data) {\n        return JSON.parse(atob(data));\n    }\n    function nuUserFilterGetPosition() {\n        return nuUserFilterGetData(\'$position\');\n    }\n    function nuUserFilterGetTeam() {\n        return nuUserFilterGetData(\'$team\');\n    }\n\n    function nuUserFilterGetDepartment() {\n        return nuUserFilterGetData(\'$department\');\n    }\n    function nuUserFilterGetLanguage() {\n        return nuUserFilterGetData(\'$language\');\n    }\n\n    function nuUserFilterGetAccessLevel() {\n        return nuUserFilterGetData(\'$accessLevel\');\n    }\n\";\n\n\n$addCode = $_SESSION[\'nubuilder_session_data\'][\'USER_CODE_LABEL\'] ?? \'\';\n\n$addCodeJS = \"\n\n    if (\'$addCode\' !== \'\') {\n        $(\'#nusort_5\').html(\'$addCode\')\n    };\n\n\";\n\nnuAddJavaScript($filterJS . $addCodeJS);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nuuser_BE', 'nuuser_BE', 'System PHP', 'nubuilder', NULL, '1', '$nubuilderSessionData = $_SESSION[\'nubuilder_session_data\'];\n\n$add1Label = $nubuilderSessionData[\'USER_ADDITIONAL1_LABEL\'] ?? \'\';\n$add2Label = $nubuilderSessionData[\'USER_ADDITIONAL2_LABEL\'] ?? \'\';\n$addCode = $nubuilderSessionData[\'USER_CODE_LABEL\'] ?? \'\';\n\n$js = \"\n\n    	if (\'$add1Label\') { nuSetLabelText(\'sus_additional1\', \'$add1Label\', true) };\n    	if (\'$add2Label\') { nuSetLabelText(\'sus_additional2\', \'$add2Label\', true) };\n    	if (\'$addCode\') { nuSetLabelText(\'sus_code\', \'$addCode\', true) };\n\";\n\nnuAddJavaScript($js);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nuuser_BS', 'nuuser_BS', 'System PHP', 'nubuilder', NULL, '1', '$newPassword = \'#new_password#\';\n$checkPassword = \'#check_password#\';\n$passwordsMatch = $newPassword === $checkPassword;\n$newRecord = nuHasNoRecordID();\n$email = \'#sus_email#\';\n$sendWelcomeEmail = \'#user_send_welcome_email#\' == \'1\';\n\n$err = \"\";\nif ($newRecord && (empty($newPassword) || empty($checkPassword))) {\n    $err = nuTranslate(\"Both password fields must be filled in.\");\n}\n\nif (!$passwordsMatch) {\n    $err = nuTranslate(\"The passwords do not match.\");\n}\n\nif ($sendWelcomeEmail) {\n\n    if (!nuIsValidEmail($email)) {\n        $err .= \'<br>\' . nuTranslate(\"Invalid email address.\");\n    }\n\n    if (!$newRecord && (empty($newPassword) || empty($checkPassword))) {\n        $err .= \'<br>\' . nuTranslate(\"Password required to send welcome email.\");\n    }\n\n}\n\nif (!empty($err)) {\n    nuDisplayError($err);\n}', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nusetup_BS', 'nusetup_BS', 'System PHP', 'nubuilder', NULL, '1', '$DEV_MODE = \'#DEV_MODE#\' == \'1\';\nif ($DEV_MODE) {\n     if (nuSetupHasNonNuPrefixes()) {\n         return;\n     }\n}\n\nfunction nuSetupHasNonNuPrefixes() {\n\n    $select = \"\n        SELECT \'zzzzsys_browse\', `zzzzsys_browse_id` FROM `zzzzsys_browse` WHERE `zzzzsys_browse_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'zzzzsys_cloner\', `zzzzsys_cloner_id` FROM `zzzzsys_cloner` WHERE `zzzzsys_cloner_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'zzzzsys_code_snippet\', `zzzzsys_code_snippet_id` FROM `zzzzsys_code_snippet` WHERE `zzzzsys_code_snippet_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'zzzzsys_config\', `zzzzsys_config_id` FROM `zzzzsys_config` WHERE `zzzzsys_config_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'zzzzsys_debug\', `zzzzsys_debug_id` FROM `zzzzsys_debug` WHERE `zzzzsys_debug_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'zzzzsys_email_log\', `zzzzsys_email_log_id` FROM `zzzzsys_email_log` WHERE `zzzzsys_email_log_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'zzzzsys_email_template\', `zzzzsys_email_template_id` FROM `zzzzsys_email_template` WHERE `zzzzsys_email_template_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'zzzzsys_event\', `zzzzsys_event_id` FROM `zzzzsys_event` WHERE `zzzzsys_event_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'zzzzsys_file\', `zzzzsys_file_id` FROM `zzzzsys_file` WHERE `zzzzsys_file_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'zzzzsys_form\', `zzzzsys_form_id` FROM `zzzzsys_form` WHERE `zzzzsys_form_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'zzzzsys_format\', `zzzzsys_format_id` FROM `zzzzsys_format` WHERE `zzzzsys_format_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'zzzzsys_info\', `zzzzsys_info_id` FROM `zzzzsys_info` WHERE `zzzzsys_info_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'zzzzsys_note\', `zzzzsys_note_id` FROM `zzzzsys_note` WHERE `zzzzsys_note_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'zzzzsys_note_category\', `zzzzsys_note_category_id` FROM `zzzzsys_note_category` WHERE `zzzzsys_note_category_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'zzzzsys_object\', `zzzzsys_object_id` FROM `zzzzsys_object` WHERE `zzzzsys_object_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'zzzzsys_permission_item\', `zzzzsys_permission_item_id` FROM `zzzzsys_permission_item` WHERE `zzzzsys_permission_item_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'zzzzsys_php\', `zzzzsys_php_id` FROM `zzzzsys_php` WHERE `zzzzsys_php_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'zzzzsys_report\', `zzzzsys_report_id` FROM `zzzzsys_report` WHERE `zzzzsys_report_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'zzzzsys_select\', `zzzzsys_select_id` FROM `zzzzsys_select` WHERE `zzzzsys_select_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'zzzzsys_select_clause\', `zzzzsys_select_clause_id` FROM `zzzzsys_select_clause` WHERE `zzzzsys_select_clause_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'zzzzsys_tab\', `zzzzsys_tab_id` FROM `zzzzsys_tab` WHERE `zzzzsys_tab_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'zzzzsys_translate\', `zzzzsys_translate_id` FROM `zzzzsys_translate` WHERE `zzzzsys_translate_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'zzzzsys_user_permission\', `zzzzsys_user_permission_id` FROM `zzzzsys_user_permission` WHERE `zzzzsys_user_permission_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'sob_all_zzzzsys_tab_id\', `sob_all_zzzzsys_tab_id` FROM `zzzzsys_object` WHERE `sob_all_zzzzsys_tab_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'sob_all_zzzzsys_form_id\', `sob_all_zzzzsys_form_id` FROM `zzzzsys_object` WHERE `sob_all_zzzzsys_form_id` NOT LIKE \'nu%\' UNION ALL\n        SELECT \'sob_run_zzzzsys_form_id\', `sob_run_zzzzsys_form_id` FROM `zzzzsys_object` WHERE `sob_run_zzzzsys_form_id` NOT LIKE \'nu%\' AND IFNULL(sob_run_zzzzsys_form_id, \'\') != \'\' UNION ALL\n        SELECT \'sob_lookup_zzzzsys_form_id\', `sob_lookup_zzzzsys_form_id` FROM `zzzzsys_object` WHERE `sob_lookup_zzzzsys_form_id` NOT LIKE \'nu%\' AND IFNULL(sob_lookup_zzzzsys_form_id, \'\') != \'\'  UNION ALL\n        SELECT \'sob_subform_zzzzsys_form_id\', `sob_subform_zzzzsys_form_id` FROM `zzzzsys_object` WHERE `sob_subform_zzzzsys_form_id` NOT LIKE \'nu%\' AND IFNULL(sob_subform_zzzzsys_form_id, \'\') != \'\' ;\n    \";\n    \n    $stmt = nuRunQuery($select);\n\n    if (db_num_rows($stmt) > 0) {\n        $msg = \'Rows with no nu-prefixes found:<br>\';\n        while($row = db_fetch_row($stmt)){\n             $msg .= $row[0].\"->\".$row[1].\"<br>\";\n        }\n    \n        nuDisplayError($msg);\n        false;\n    }\n    \n    return true;\n\n}\n\nfunction nuConfigValueToTable($line, $setting, $oldValue) {\n\n    $parts = explode(\"=\", $line);\n\n    $newValue = $parts[1];\n    $newValue = str_replace(\'\"\', \"\", $newValue);\n    $newValue = str_replace(\"\'\", \"\", $newValue);\n\n    $partsValue = explode(\";\", $newValue);\n    $newValue = trim($partsValue[0]);\n\n    $update = $newValue != $oldValue;\n\n    if ($setting == \'nuCalendarStartOfWeek\' && strlen($newValue) > 1) {\n        $newValue = str_replace(\"Monday\", \"1\", $newValue);\n        $newValue = str_replace(\"Sunday\", \"0\", $newValue);\n    }\n\n    if ($update) nuRunQuery(\'UPDATE zzzzsys_config SET cfg_value = ? WHERE cfg_setting = ?\', [$newValue, $setting]);\n\n    return $update;\n\n}\n\nif (\"#configImport#\" == \'1\') {\n\n    // Import config settings form nuconfig.php\n    $s = \"SELECT cfg_setting, cfg_value AS old_value FROM zzzzsys_config \";\n    $t = nuRunQuery($s);\n    $config = file(__DIR__ .\"/../nuconfig.php\");\n\n    while ($r = db_fetch_object($t)) {\n\n        foreach ($config as $line) {\n            if (trim($line) !== \'\' && nuStringContains($r->cfg_setting, $line) == true) {\n                nuConfigValueToTable($line, $r->cfg_setting, $r->old_value);\n                break;\n            }\n\n        }\n\n    }\n\n}', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nu62bdc77f2dc0351', 'nu_generate_uid_list', 'Generate nuID List', 'nubuilder', 'Dev', '1', '// Call: nuRunPHP(\'nu_generate_uid_list\',\'\',0)\n\nfor ($x = 0; $x <= 1000; $x++) {\n  echo nuID().\"<br>\";\n}', NULL, NULL, 'window', '', '1', '1', '1', '0', '', NULL),
('nu62c488df22285ea', 'nu_dump_form_codes', 'Dump form js and php codes  to files', 'nubuilder', 'Dev', '1', 'if (!nuGlobalAccess()) {\n    return;\n}\n\n// PHP\n$s = \"SELECT sph_code, sph_php FROM `zzzzsys_php`\";\n$t = nuRunQuery($s);\n\nwhile ($r = db_fetch_object($t)) {\n    nuSetupDumpCodeFile(\'php_codes\', $r->sph_code, $r->sph_php, \'\', \"php\");\n}\n\n// Object events\n$s = \"\n    SELECT\n        CONCAT(sfo_code, \'_\', sob_all_id, \'_\', zzzzsys_event_id) as id,\n        sev_javascript\n    FROM\n        zzzzsys_object\n    JOIN zzzzsys_event ON zzzzsys_event.sev_zzzzsys_object_id = zzzzsys_object.zzzzsys_object_id\n    JOIN zzzzsys_tab ON zzzzsys_tab_id = sob_all_zzzzsys_tab_id\n    JOIN zzzzsys_form ON zzzzsys_form_id = syt_zzzzsys_form_id\n    WHERE\n        IFNULL(sev_javascript, \'\') <> \'\'\n\";\n\n$t = nuRunQuery($s);\nwhile ($r = db_fetch_object($t)) {\n    nuSetupDumpCodeFile(\'object_events\', $r->id, $r->sev_javascript, \'\', \"js\");\n}\n\n\n// Form JS\n$s = \"SELECT sfo_code, sfo_javascript, sfo_browse_javascript, sfo_edit_javascript FROM `zzzzsys_form`\";\n$t = nuRunQuery($s);\n\nwhile ($r = db_fetch_object($t)) {\n\n    nuSetupDumpCodeFile(\'js_codes\', $r->sfo_code, $r->sfo_javascript, \'sfo_javascript\', \"js\");\n    nuSetupDumpCodeFile(\'js_codes\', $r->sfo_code, $r->sfo_edit_javascript, \'sfo_edit_javascript\', \"js\");\n    nuSetupDumpCodeFile(\'js_codes\', $r->sfo_code, $r->sfo_browse_javascript, \'sfo_browse_javascript\', \"js\");\n\n}\n\n\nfunction nuSetupDumpCodeFile($folder, $sfoCode, $code, $postfix, $extension) {\n    $postfix = $postfix == \'\' ? \'\' : \"_\" . $postfix;\n    $file = $sfoCode . $postfix . \".\" . $extension;\n    $code = $code == NULL ? \'\' : $code;\n\n    if (strlen($code) > 0) {\n        $dir = dirname(__DIR__, 1) . DIRECTORY_SEPARATOR . \"form_codes\" . DIRECTORY_SEPARATOR . $folder . DIRECTORY_SEPARATOR;\n\n        if (!file_exists($dir)) {\n            mkdir($dir, 0777, true);\n        }\n\n        $file_path = $dir . $file;\n        file_put_contents($file_path, $code);\n    }\n}', NULL, NULL, 'hide', '', '1', '0', '1', '0', '', NULL),
('nu62da72900a02b9a', 'nu_upload_file_template', 'Upload Files Template', 'nubuilder', 'File Upload', '1', '$allowedTypes = [\n    // Documents\n    \'application/pdf\',\n    \'application/msword\',\n    \'application/vnd.openxmlformats-officedocument.wordprocessingml.document\',\n    \'application/rtf\',\n\n    // Spreadsheets\n    \'application/vnd.ms-excel\',\n    \'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\',\n\n    // Presentations\n    \'application/vnd.ms-powerpoint\',\n    \'application/vnd.openxmlformats-officedocument.presentationml.presentation\',\n\n    // Text / Code\n    \'text/plain\',\n    \'text/csv\',\n    \'application/json\',\n    \'application/xml\',\n    \'text/xml\',\n    \'application/javascript\',\n    \'text/html\',\n    \'text/css\',\n\n    // Archives\n    \'application/zip\',\n    \'application/x-rar-compressed\',\n    \'application/x-7z-compressed\',\n\n    // Images\n    \'image/png\',\n    \'image/jpeg\',\n    \'image/svg+xml\',\n    \n    // Media\n    \'audio/mpeg\',\n    \'video/mp4\'\n];\n\n// Maximum file size\n$maxFileSize = 5 * 1024 * 1024; // (5 MB)\n\n// Target directory\n$targetDirectory = $_SERVER[\'DOCUMENT_ROOT\'] . \'/\';\n// $targetDirectory = \'../uploads/\';\n\n// Ensure the directory exists\nif (!is_dir($targetDirectory)) {\n    mkdir($targetDirectory, 0755, true);\n}\n\ntry {\n\n    // Sanitize file name\n    $fileName = nuSanitizeFilename(basename($_FILES[\'file\'][\'name\']));\n\n    // Check file size\n    if ($_FILES[\'file\'][\'size\'] > $maxFileSize) {\n        throw new Exception(\'Exceeded file size limit\');\n    }\n\n    // Check file type\n    $finfo = new finfo(FILEINFO_MIME_TYPE);\n    if (!in_array($finfo->file($_FILES[\'file\'][\'tmp_name\']), $allowedTypes)) {\n        throw new Exception(\'Invalid file type\');\n    }\n\n    // Build target file path\n    $targetFile = $targetDirectory . $fileName;\n\n    if (move_uploaded_file($_FILES[\'file\'][\'tmp_name\'], $targetFile)) {\n        $data = [\'url\' => $targetFile,\n            \'file\' => $fileName,\n            \'message\' => \'The file \' . $fileName . \' has been uploaded.\'];\n        http_response_code(201);\n        $result = json_encode($data);\n    } else {\n        throw new Exception(nuTranslate(\'Unable to move the uploaded file to its final location:\') . $targetFile);\n    }\n\n} catch(\\Throwable $th) {\n\n    $result = nuSetUploadError(\'Sorry, there was an error uploading your file.\');\n\n}', NULL, NULL, 'hide', '', '0', '1', '1', '1', '', NULL),
('nu6401bbc46484fe0', 'nu_debug_result_added_template', 'nuDebug Result Added Template', 'nubuilder', 'Debugging', '1', '$body = \"Debug ID: $nuDebugId <br><br>Debug Message: \" . nl2br($nuDebugMsg) . \"<br><br>User ID: $nuDebugUserId <br><br>Flag: $nuDebugFlag\";\n\n$to = \'your_email_address_here\';\n\n$subject = \'[nuBuilder] nuDebug Information Added\';\n\nnuSendEmail([\n    \'to\' => $to,\n    \'body\' => $body,\n    \'subject\' => $subject\n]);\n', NULL, NULL, 'hide', '', '0', '1', '1', '1', '', NULL),
('nu6454bcdad05d10e', 'nu_version_info', 'Display Version information', 'nubuilder', 'Information', '1', '$databaseSql = \"SELECT CONCAT(@@version_comment, \' \', @@version)\";\n$nuDbSql = \"SELECT inf_details FROM zzzzsys_info WHERE inf_code = ?\";\n$nuDbVersion = db_fetch_row(nuRunQuery($nuDbSql, [\'nuDBVersion\']))[0];\n$nuFilesVersion = db_fetch_row(nuRunQuery($nuDbSql, [\'nuFilesVersion\']))[0];\n\n$versionInfo =\n\'<h2>Version Info</h2><br>\' .\n\'Database: \' . db_fetch_row(nuRunQuery($databaseSql))[0] . \'<br>\' .\n\'PHP: \' . phpversion() . \'<br>\' .\n\'nuBuilder DB: \' . $nuDbVersion . \'<br>\' .\n\'nuBuilder Files: \' . $nuFilesVersion;\n\n$js = \"nuMessage(\'$versionInfo\').css(\'max-width\',\'400px\')\";\nnuJavaScriptCallback($js);', NULL, NULL, 'hide', '', '1', '0', '1', '0', '', NULL),
('nuemailtemplate_BS', 'nuemailtemplate_BS', 'System PHP', 'nubuilder', NULL, '1', 'if (\'#DEV_MODE#\' != 1 && \'#emt_template#\' == \'1\') {\n    nuDisplayError(nuTranslate(\"Templates cannot be saved. Clone it instead.\"));\n}\n\nfunction nuEmailtemplateExists($group, $code, $language) {\n\n    $sql = \"\n        SELECT 1\n        FROM zzzzsys_email_template\n        WHERE IFNULL(emt_group,\'\') = ?\n          AND IFNULL(emt_code,\'\')  = ?\n          AND IFNULL(emt_language,\'\') = ?\n        LIMIT 1\n    \";\n\n    $stmt = nuRunQuery($sql, [$group, $code, $language]);\n\n    return db_num_rows($stmt) > 0;\n}\n\nif (nuHasNoRecordID() \n    && nuEmailtemplateExists(\n        nuGetProperty(\'emt_group\'), \n        nuGetProperty(\'emt_code\'), \n        nuGetProperty(\'emt_language\')\n    )\n) {\n    nuDisplayError(\n        nuTranslate(\"Duplicate entry: Code, Group and Language together must form a unique template.\")\n    );\n}\n', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nu64f9c4ec5f59275', 'nu_send_welcome_email_template', 'Procedure is called when \"Send welcome email\" is checked in the user form', 'nubuilder', 'Email', '1', '// Retrieve Information about the user\n\n/*\n$userSavedInfo = nuUserSavedInfo();\n\n$userId           = $userSavedInfo[\"user_id\"];\n$AccessLevelId    = $userSavedInfo[\"access_level_id\"];\n$team             = $userSavedInfo[\"team\"];\n$department       = $userSavedInfo[\"department\"];\n$position         = $userSavedInfo[\"position\"];\n\n$changePassword   = $userSavedInfo[\"change_password\"]; // 1 = true, 0 = false\n$newUser          = $userSavedInfo[\"new_user\"];        // 1 = true, 0 = false\n\n*/\n\n// Retrieve the template data (Template code, language, group)\n// nuGetEmailTemplateData($code, $language = \'\', $group = \'\')\n\n$template = nuGetEmailTemplateData(\"nu_send_welcome_email_template\", \'\', \'nubuilder\');\nif ($template == false) {\n    // Retrieve the template data (Template code)\n    $template = nuGetEmailTemplateData(\"nu_send_welcome_email\", \'\');\n    if ($template == false) {\n        nuDisplayError(\'Unknown email template!\');\n        return;\n    }\n}\n\n$sendResult = sendEmailFromTemplate($template);\nif ($sendResult[0] != true) {\n    nuDisplayError($sendResult[1].\'<br>\'.$sendResult[2]);\n}\n\n// Sends an email message using an email template.\nfunction sendEmailFromTemplate($template) {\n\n    $body = str_replace(\'#\'.\'NUBUILDER_URL\'.\'#\', nuGetHttpOrigin() , $template[\'body\']);\n\n    $params = array(\n        \'to\' => $template[\'to\'],\n        \'cc\' => $template[\'cc\'],\n        \'bcc\' => $template[\'bcc\'],\n        \'body\' => nl2br($body),\n        \'subject\' => $template[\'subject\']\n    );\n\n    // Replace all Hash Cookies\n    foreach ($params as $key => $value) {\n        $params[$key] = nuReplaceHashVariables($value);\n    }\n\n    return nuSendEmail($params);\n\n}', NULL, NULL, 'hide', '', '0', '1', '1', '1', '', NULL),
('nu65d7dabf1036576_AB', 'nu65d7dabf1036576_AB', 'System PHP', 'nubuilder', NULL, '1', 'nuSetFormValue(\'upe_active\', \'1\');', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nuphp_AS', 'nuphp_AS', 'System PHP', 'nubuilder', NULL, '1', '$justphp = nuObjKey(nuHash(),\'filter\') == \'justphp\';\n\nif (\'#DEV_MODE#\' != 1 && substr(\'#RECORD_ID#\', 0, 2) === \'nu\' ) {\n   if ($justphp) {\n        nuDisplayError(nuTranslate(\'<h2>\'.nuTranslate(\'Information\').\'</h2><br>Changes in system forms are overwritten with an update\'));  \n   } \n}', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nuphp_BB', 'nuphp_BB', 'System PHP', 'nubuilder', NULL, '1', '$select  = \"SELECT zzzzsys_php_id AS theid FROM zzzzsys_php WHERE sph_system != \'1\'\";\n\nnuCreateTableFromSelect(\'#TABLE_ID#\', $select);', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nuphp_BE', 'nuphp_BE', 'System PHP', 'nubuilder', NULL, '1', 'return;\n$rid    = \'#RECORD_ID#\';\n\nif($rid != \'-1\' and $rid != \'-2\'){ \n    \n    $s      = \"SELECT * FROM zzzzsys_php WHERE zzzzsys_php_id = \'$rid\'\";\n    $t      = nuRunQuery($s);\n    $r      = db_fetch_object($t);\n    \n    if(db_num_rows($t) == 0){\n    \n        $s              = \"\n        INSERT INTO zzzzsys_php\n        (\n            zzzzsys_php_id,\n            sph_code,\n            sph_description,\n            sph_group,\n            sph_system\n        )\n        VALUES\n        (\n            \'$rid\', \n            \'$rid\', \n            \'System PHP\', \n            \'nubuilder\', \n            \'1\'\n        )\n        \";\n        \n        nuRunQuery($s);\n        \n    }\n    \n}\n\n', NULL, NULL, '', '', '1', '0', '1', '0', '', NULL),
('nuphp_BS', 'nuphp_BS', 'System PHP', 'nubuilder', NULL, '1', '$justphp = nuObjKey(nuHash(), \'filter\') == \'justphp\';\n\nif (\'#DEV_MODE#\' != 1 && \'#sph_template#\' == \'1\') {\n    if (! $justphp) {\n        nuDisplayError(nuTranslate(\"Templates cannot be saved. Clone it instead.\"));\n        return;\n    }\n}\n\n\n\n$rid = \'#RECORD_ID#\';\n\nif ($rid != \'-1\' and $rid != \'-2\') {\n\n    $s = \"SELECT * FROM zzzzsys_php WHERE zzzzsys_php_id = \'$rid\'\";\n    $t = nuRunQuery($s);\n    $r = db_fetch_object($t);\n\n    if (db_num_rows($t) == 0) {\n\n        $s = \"\n        INSERT INTO zzzzsys_php\n        (\n            zzzzsys_php_id,\n            sph_code,\n            sph_description,\n            sph_group,\n            sph_system\n        )\n        VALUES\n        (\n            \'$rid\',\n            \'$rid\',\n            \'System PHP\',\n            \'nubuilder\',\n            \'1\'\n        )\n        \";\n\n        nuRunQuery($s);\n\n    }\n\n}', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nu65f27499be765b1_AB', 'nu5fe94c6815842ec_AB', 'System PHP', 'nubuilder', NULL, '1', 'nuSetFormValue(\'sph_code_snippet_paste\', nuLookupRecord()->cot_source_code);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nuemaillog_BB', 'nuemaillog_BB', 'System PHP', 'nubuilder', NULL, '1', '$getDistinctUserColumnQuery = function($column) {\n    return \"SELECT DISTINCT `$column` FROM `zzzzsys_email_log` WHERE IFNULL(`$column`,\'\') <> \'\' ORDER BY `$column`\";\n};\n\n$sqlState = function() use ($getDistinctUserColumnQuery) {\n    return $getDistinctUserColumnQuery(\'eml_state\');\n};\n\n\n$state = nuEncodeQueryRowResults($sqlState(), [], [\'\']);\n\n$filterJS = \"\n    function nuEmailLogFilterGetData(data) {\n        return JSON.parse(atob(data));\n    }\n\n    function nuEmailLogFilterGetGroup() {\n        return nuEmailLogFilterGetData(\'$state\');\n    }\n\";\n\n\n\nnuAddJavaScript($filterJS);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nudebug_BB', 'nudebug_BB', 'System PHP', 'nubuilder', NULL, '1', '$getDistinctUserColumnQuery = function($column) {\n    return \"SELECT DISTINCT `$column` FROM `zzzzsys_debug` WHERE IFNULL(`$column`,\'\') <> \'\' ORDER BY `$column`\";\n};\n\n$sqlSFlag = function() use ($getDistinctUserColumnQuery) {\n    return $getDistinctUserColumnQuery(\'deb_flag\');\n};\n\n\n$flag = nuEncodeQueryRowResults($sqlSFlag(), [], [\'\']);\n\n$filterJS = \"\n    function getData(data) {\n        return JSON.parse(atob(data));\n    }\n\n    function getFlag() {\n        return getData(\'$flag\');\n    }\n\";\n\n\n\nnuAddJavaScript($filterJS);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nurunlist_BB', 'nurunlist_BB', 'System PHP', 'nubuilder', NULL, '1', '$select =\n\n\"\n    SELECT * FROM (\n    	 	 SELECT\n    	 	 	 	 `zzzzsys_form`.`zzzzsys_form_id` AS `zzzzsys_debug_id`,\n    	 	 	 	 \'Form\' AS `run`,\n    	 	 	 	 `zzzzsys_form`.`sfo_code` AS `code`,\n    	 	 	 	 `zzzzsys_form`.`sfo_description` AS `description`\n    	 	 FROM\n    	 	 	 	 `zzzzsys_form`\n    	 	 UNION\n    	 	 SELECT\n    	 	 	 	 `zzzzsys_report`.`zzzzsys_report_id` AS `zzzzsys_debug_id`,\n    	 	 	 	 \'Report\' AS `run`,\n    	 	 	 	 `zzzzsys_report`.`sre_code` AS `code`,\n    	 	 	 	 `zzzzsys_report`.`sre_description` AS `description`\n    	 	 FROM\n    	 	 	 	 `zzzzsys_report`\n    	 	 UNION\n    	 	 SELECT\n    	 	 	 	 `zzzzsys_php`.`zzzzsys_php_id` AS `zzzzsys_debug_id`,\n    	 	 	 	 \'Procedure\' AS `run`,\n    	 	 	 	 `zzzzsys_php`.`sph_code` AS `code`,\n    	 	 	 	 `zzzzsys_php`.`sph_description` AS `description`\n    	 	 FROM\n    	 	 	 	 `zzzzsys_php`\n    	 	 WHERE\n    	 	 	 	 (`zzzzsys_php`.`sph_system` <> 1)\n    ) AS combined\n    ORDER BY\n	 	 `code`\n\";\n\nnuCreateTableFromSelect(\'#TABLE_ID#\', $select);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nu5bad6cb35f2188f_AB', 'nu5bad6cb35f2188f_AB', 'System PHP', 'nubuilder', NULL, '1', '$r = nuLookupRecord();\n\nif (isset($r->zzzzsys_report_data_id)) {\n    $tt	= nuTTList($r->zzzzsys_report_data_id, \'nublank\');				    //-- Field list from Temp table\n    \n    nuSetFormValue(\'fieldlist\', json_encode($tt));\n}\n', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nu67a6f7ac7964d96', 'nu_session_terminate', 'Terminate nuBuilder Sessions', 'nubuilder', 'Session', '1', '$option = nuGetProperty(\'nu_session_terminate_option\');\nif (!$option) {\n    nuRunQuery(\'DELETE FROM `zzzzsys_session`\');\n} else {\n    $sessionID = nuHash()[\"session_id\"];\n    nuRunQuery(\'DELETE FROM `zzzzsys_session` WHERE zzzzsys_session_id <> ?\', [$sessionID]);\n}', NULL, NULL, 'hide', '', '1', '0', '0', '0', '', NULL),
('nu67aa95468188689', 'nu_browse_delete_row', 'Delete a Browse row', 'nubuilder', 'Browse', '1', 'function nuDeleteRowGetFormTableInfo($formId) {\n\n    $sql = \"SELECT sfo_table, sfo_primary_key FROM `zzzzsys_form` WHERE `zzzzsys_form_id` = ?\";\n\n    $t = nuRunQuery($sql, [$formId]);\n    $r = db_fetch_object($t);\n\n    return [$r->sfo_table,\n        $r->sfo_primary_key];\n\n}\n\n\nfunction nuDeleteRowHasDeletePermission($formId) {\n\n    if (nuGlobalAccess()) {\n        return true;\n    }\n\n    $sql = \"SELECT * FROM zzzzsys_access_form WHERE slf_zzzzsys_access_id = ? AND slf_zzzzsys_form_id = ?\";\n\n    $t = nuRunQuery($sql, [$groupId, $formId]);\n    $r = db_fetch_object($t);\n\n    return $r->slf_delete_button == 1;\n}\n\nfunction nuDeleteRowDeleteRecord($formId, $recordId) {\n\n    if (nuDeleteRowHasDeletePermission($formId)) {\n\n        $tableInfo = nuDeleteRowGetFormTableInfo($formId);\n        $tableName = $tableInfo[0];\n        $tablePk = $tableInfo[1];\n\n        $qry = \"DELETE FROM `$tableName` WHERE `$tablePk` = ? \";\n\n        nuRunQuery($qry, [$recordId]);\n\n        // The function afterDeleteRow() must be declared in the form\'s Custom Code\n        $j = \"nuAfterDeleteRow();\";\n        nuJavascriptCallback($j);\n\n    } else {\n        nuDisplayError(nuTranslate(\"Delete is disabled for this Access Level\"));\n    }\n\n}\n\nnuDeleteRowDeleteRecord(\"#nu_browse_delete_row_form_id#\", \"#nu_browse_delete_row_record_id#\");', NULL, NULL, 'hide', '', '1', '0', '0', '0', '', NULL),
('nuformat_BS', 'nuFormat_BS', 'System PHP', 'nubuilder', NULL, '1', 'if (\'#srm_default#\' == 0) return;\n\n$update = \"\n\n    UPDATE `zzzzsys_format`\n	SET srm_default = 0\n    WHERE srm_type = \'#srm_type#\'\n    AND zzzzsys_format_id <> ?\n\n\";\n\nnuRunQuery($update, [\'#record_id#\']);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nu67b5eba0a682823', 'nu_format_get_default', 'Get Default Input Format', 'nubuilder', 'Format', '1', '$inputType = nuGetProperty(\'nu_format_get_default_input_type\');\n$formats = nuGetDefaultFormats();\n$default = $formats[$inputType];\n\n$js = \"nuSetDefaultFormat(\'$default\'); \";\n\nnuJavaScriptCallback($js);', NULL, NULL, 'hide', '', '1', '0', '1', '0', '', NULL),
('nufile_BB', 'nufile_BB', 'System PHP', 'nubuilder', NULL, '1', '$select = \"\nSELECT \n    zf.*, \n    CASE \n        WHEN zf.sfi_group = \'nubuilder\' THEN 0\n        ELSE IFNULL(obj.counter, 0)\n    END AS counter\nFROM \n    zzzzsys_file zf\nLEFT JOIN (\n    SELECT \n        sob_image_zzzzsys_file_id AS zzzzsys_file_id,\n        COUNT(*) AS counter\n    FROM \n        zzzzsys_object\n    WHERE \n        sob_image_zzzzsys_file_id IS NOT NULL\n    GROUP BY \n        sob_image_zzzzsys_file_id\n) obj ON zf.zzzzsys_file_id = obj.zzzzsys_file_id\nORDER BY \n    sfi_code\n\n\";\n\n\nnuCreateTableFromSelect(\'#TABLE_ID#\', $select);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nu682ce26ca553942', 'nu_get_access_levels_from_form', 'Copies Access Levels from one form to another', 'nubuilder', 'Access Level', '1', '$decodedParams = nuGetProperty(\'params\');\nif ($decodedParams) {\n	$parsedData = nuDecode($decodedParams);\n\n	// Retrieve form IDs\n	$sourceFormID = $parsedData[\'source_form_id\'] ?? \'\';\n	$destinationFormID = $parsedData[\'destination_form_id\'] ?? \'\';\n\n	// Retrieve boolean options (expected as 0 or 1)\n	$deleteAllExisting = isset($parsedData[\'delete_all_existing\']) ? (bool) $parsedData[\'delete_all_existing\'] : false;\n	$skipIfExists = isset($parsedData[\'skip_if_exists\']) ? (bool) $parsedData[\'skip_if_exists\'] : true;\n	$overwriteIfExists = isset($parsedData[\'overwrite_if_exists\']) ? (bool) $parsedData[\'overwrite_if_exists\'] : true;\n\n} \n\n// nuDebug($sourceFormID, $destinationFormID, $deleteAllExisting, $skipIfExists, $overwriteIfExists);\n\n// Validate mutually exclusive options\nif ($skipIfExists && $overwriteIfExists) {\n	$js = \" nuMessage(\\\"Error: \'skipIfExists\' and \'overwriteIfExists\' cannot both be set to true.\\\");\";\n\n	nuJavaScriptCallback($js);  \n	return;\n}\n\n// If deletion is enabled, remove existing rows with the new form ID\nif ($deleteAllExisting) { nuDebug(\'delete existing\');\n	$deleteSQL = \"DELETE FROM zzzzsys_access_form WHERE slf_zzzzsys_form_id = ?\";\n	$deleteResult = nuRunQuery($deleteSQL, [$destinationFormID], true);\n\n	// Check if the DELETE was successful\n	if ($deleteResult === -1) {\n		// Handle the error (optional)\n		$error = nuGetLastError();\n		nuDebug(\'Delete failed:\', $error);\n	}\n}\n\n// Prepare the SELECT query to fetch rows with the old form ID\n$selectSQL = \"\n    SELECT\n        slf_zzzzsys_access_id,\n        slf_add_button,\n        slf_save_button,\n        slf_delete_button,\n        slf_clone_button,\n        slf_new_button,\n        slf_print_button,\n        slf_data_mode,\n        slf_form_type,\n        slf_json\n    FROM\n        zzzzsys_access_form\n    WHERE\n        slf_zzzzsys_form_id = ?\n\";\n\n// Execute the SELECT query\n$stmt = nuRunQuery($selectSQL, [$sourceFormID]);\n\n// Loop through each fetched row\nwhile ($row = db_fetch_object($stmt)) {\n	// Check if a matching row exists in the new form\n	$checkSQL = \"\n        SELECT zzzzsys_access_form_id FROM zzzzsys_access_form\n        WHERE slf_zzzzsys_form_id = ? AND slf_zzzzsys_access_id = ?\n        LIMIT 1\n    \";\n	$checkStmt = nuRunQuery($checkSQL, [$destinationFormID, $row->slf_zzzzsys_access_id]);\n	$existingRow = db_fetch_object($checkStmt);\n\n	if ($existingRow) {\n		if ($skipIfExists) {\n			// Matching row exists, skip insertion\n			continue;\n		} elseif ($overwriteIfExists) {\n			// Delete the existing matching row\n			$deleteMatchSQL = \"\n                DELETE FROM zzzzsys_access_form\n                WHERE zzzzsys_access_form_id = ?\n            \";\n			$deleteMatchResult = nuRunQuery($deleteMatchSQL, [$existingRow->zzzzsys_access_form_id], true);\n\n			// Check if the DELETE was successful\n			if ($deleteMatchResult === -1) {\n				// Handle the error (optional)\n				$error = nuGetLastError();\n				nuDebug(\'Delete matching row failed:\', $error);\n				continue; // Skip insertion if deletion fails\n			}\n		} else {\n			// Matching row exists and neither skip nor overwrite is enabled, skip insertion\n			continue;\n		}\n	}\n\n	// Generate a new unique ID for the primary key\n	$newID = nuID();\n\n	// Prepare the INSERT query to duplicate the row with the new form ID and new primary key\n	$insertSQL = \"\n        INSERT INTO zzzzsys_access_form (\n            zzzzsys_access_form_id,\n            slf_zzzzsys_access_id,\n            slf_zzzzsys_form_id,\n            slf_add_button,\n            slf_save_button,\n            slf_delete_button,\n            slf_clone_button,\n            slf_new_button,\n            slf_print_button,\n            slf_data_mode,\n            slf_form_type,\n            slf_json\n        ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)\n    \";\n\n	// Execute the INSERT query with the new values\n	$params = [\n		$newID,\n		$row->slf_zzzzsys_access_id,\n		$destinationFormID,\n		$row->slf_add_button,\n		$row->slf_save_button,\n		$row->slf_delete_button,\n		$row->slf_clone_button,\n		$row->slf_new_button,\n		$row->slf_print_button,\n		$row->slf_data_mode,\n		$row->slf_form_type,\n		$row->slf_json\n	];\n\n	$result = nuRunQuery($insertSQL, $params, true);\n\n	// Check if the INSERT was successful\n	if ($result === -1) {\n		// Handle the error (optional)\n		$error = nuGetLastError();\n		nuDebug(\'Insert failed:\', $error);\n	}\n}\n\n\n$js = \" nuFormImportACLAfterRun();\";\nnuJavaScriptCallback($js); ', NULL, NULL, 'hide', '', '1', '0', '0', '0', '', NULL),
('nu682ddc25aa0bb5f_BB', 'nu682ddc25aa0bb5f_BB', 'System PHP', 'nubuilder', NULL, '1', '$query = \"\n\nSELECT\n    f.*,\n    COUNT(af.slf_zzzzsys_form_id) AS access_levels_count,\n    GROUP_CONCAT(a.sal_code ORDER BY a.sal_code SEPARATOR \', \') AS access_levels\nFROM\n    zzzzsys_form f\nLEFT JOIN zzzzsys_access_form af\n    ON af.slf_zzzzsys_form_id = f.zzzzsys_form_id\nLEFT JOIN zzzzsys_access a\n    ON a.zzzzsys_access_id = af.slf_zzzzsys_access_id\nWHERE\n    f.zzzzsys_form_id NOT LIKE \'nu%\'\n    AND f.sfo_type != \'subform\'\nGROUP BY\n    f.zzzzsys_form_id\nHAVING\n    access_levels_count > 0\nORDER BY\n    f.sfo_code \";\n\n\nnuCreateTableFromSelect(\'#TABLE_ID#\', $query);\n', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nuaipromptgenerator', 'nu_ai_prompt_generator_prompt', 'AI prompt Generator', 'nubuilder', 'Generator', '1', 'include_once \'nuai.php\';\n\n// Fetch and decode parameters\n$paramsJson = nuGetProperty(\'nuaipromptgenerator_prompt_params\');\nif (empty($paramsJson)) {\n    return; // nothing to do\n}\n\n$params = nuDecode($paramsJson);\n$copy = $params[\'copy\'] ?? false;\n\n$outputString = nuAIPromptBuildPromptInformation($params);\n\n// Embed safely into JavaScript via JSON encoding\n$jsOutput = json_encode($outputString, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);\n\n$js = <<<JS\n(function() {\n     const text = $jsOutput;\n     nuGeneratorExecuted(text, $copy); \n})();\nJS;\n\nnuJavaScriptCallback($js);\n', NULL, NULL, 'hide', NULL, '1', '0', '1', '0', '', NULL);
INSERT INTO `zzzzsys_php` (`zzzzsys_php_id`, `sph_code`, `sph_description`, `sph_group`, `sph_category`, `sph_status`, `sph_php`, `sph_javascript`, `sph_javascript_active`, `sph_run`, `sph_zzzzsys_form_id`, `sph_system`, `sph_global`, `sph_demo`, `sph_template`, `sph_hide`, `sph_json`) VALUES
('nu683f01deaab6666', 'nu_inspect_record', 'Inspect a Record\'s Columns and Values', 'nubuilder', 'Debugging', '1', '$table = nuGetProperty(\'nu_inspect_record_table\');\n$record_id = nuGetProperty(\'nu_inspect_record_record_id\');\n\n$style = \"<style>\n.responsive-table {\n  overflow-x: auto;\n}\n\n.styled-table {\n  width: 100%;\n  border-collapse: collapse;\n  font-family: Arial, sans-serif;\n  margin-top: 1em;\n}\n\n.styled-table thead {\n  background-color: #f2f2f2;\n  cursor: pointer;\n}\n\n.styled-table th, .styled-table td {\n  border: 1px solid #ddd;\n  padding: 8px 12px;\n  user-select: text;\n}\n\n.styled-table tbody tr:nth-child(odd) {\n  background-color: #fafafa;\n}\n\n.styled-table tbody tr:nth-child(even) {\n  background-color: #f5f5f5;\n}\n\n.styled-table thead th {\n  position: sticky;\n  top: 0;\n  background-color: #f2f2f2;\n  z-index: 2;\n  user-select: all;\n}\n\ncode {\n  font-family: monospace;\n  padding: 2px 4px;\n  border-radius: 3px;\n}\n\n.filter-controls label {\n  user-select: none;\n}\n\n.filter-controls select {\n  user-select: none;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n}\n\n.filter-controls select {\n  padding: 4px 8px;\n  font-size: 14px;\n}\n\n.sort-icon {\n  margin-left: 5px;\n  opacity: 0.6;\n}\n\n.copy-icon {\n  margin-left: 8px;\n  cursor: pointer;\n  color: #5a5a5a;\n}\n</style>\";\n\n$link = \'<link rel=\"stylesheet\" href=\"../third_party/fontawesome/css/all.min.css\">\';\n\n$script = <<<JS\n<script>\nfunction filterRows() {\n	const select = document.getElementById(\'columnFilter\');\n	const rows = document.querySelectorAll(\'.styled-table tbody tr\');\n	const mode = select.value;\n\n	rows.forEach(row => {\n		const valueCell = row.querySelector(\'td:nth-child(3)\');\n		const text = valueCell.textContent.trim();\n		const isEmpty = text === \'\' || text === \'NULL\';\n		const isNonEmpty = !isEmpty;\n\n		if (mode === \'all\') {\n			row.style.display = \'\';\n		} else if (mode === \'nonempty\' && isNonEmpty) {\n			row.style.display = \'\';\n		} else if (mode === \'empty\' && isEmpty) {\n			row.style.display = \'\';\n		} else {\n			row.style.display = \'none\';\n		}\n	});\n}\n\nlet currentSort = { column: -1, direction: \'\' };\nfunction sortTable(columnIndex) {\n	const table = document.querySelector(\'.styled-table tbody\');\n	const rows = Array.from(table.rows);\n	const headers = document.querySelectorAll(\'.styled-table thead th\');\n\n	headers.forEach((th, i) => {\n		const icon = th.querySelector(\'.sort-icon\');\n		if (icon) icon.className = \'fa-solid sort-icon\';\n	});\n\n	let direction = \'asc\';\n	if (currentSort.column === columnIndex && currentSort.direction === \'asc\') direction = \'desc\';\n\n	rows.sort((a, b) => {\n		let aText = a.cells[columnIndex].innerText.trim().toLowerCase();\n		let bText = b.cells[columnIndex].innerText.trim().toLowerCase();\n		return (direction === \'asc\') ? aText.localeCompare(bText) : bText.localeCompare(aText);\n	});\n\n	rows.forEach(row => table.appendChild(row));\n\n	const icon = headers[columnIndex].querySelector(\'.sort-icon\');\n	if (icon) icon.classList.add(direction === \'asc\' ? \'fa-caret-up\' : \'fa-caret-down\');\n\n	currentSort = { column: columnIndex, direction };\n}\n\nfunction copyToClipboard(icon) {\n	const value = icon.getAttribute(\'data-value\');\n	navigator.clipboard.writeText(value);\n\n	icon.classList.remove(\"fa-copy\");\n	icon.classList.add(\"fa-solid\",\"fa-check\");\n\n	setTimeout(() => {\n		icon.classList.remove(\"fa-solid\",\"fa-check\");\n		icon.classList.add(\"fa-copy\");\n	}, 550);\n}\n\n</script>\nJS;\n\n$columns_query = \"\n	SELECT COLUMN_NAME, COLUMN_TYPE, COLUMN_KEY, COLUMN_COMMENT\n	FROM INFORMATION_SCHEMA.COLUMNS\n	WHERE TABLE_SCHEMA = DATABASE()\n	  AND TABLE_NAME = \'$table\'\n	ORDER BY ORDINAL_POSITION\n\";\n\n$columns_result = nuRunQuery($columns_query);\n\n$fieldInfo = db_field_info($table);\n$primaryKeys = $fieldInfo[2] ?? [];\n$firstPrimaryKey = $primaryKeys[0] ?? null;\n\n$data_query = \"SELECT * FROM `$table` WHERE `$firstPrimaryKey` = \'$record_id\' LIMIT 1\";\n$data_result = nuRunQuery($data_query);\n$data_row = db_fetch_array($data_result);\n\necho \'<div class=\"responsive-table\">\';\necho $style . $link . $script;\n\necho \'<div class=\"filter-controls\">\';\necho \'<label for=\"columnFilter\"><strong>Show:</strong> </label>\';\necho \'<select id=\"columnFilter\" onchange=\"filterRows()\">\';\necho \'<option value=\"all\">All Columns</option>\';\necho \'<option value=\"nonempty\">Only Columns With a Value</option>\';\necho \'<option value=\"empty\">Only Empty/Null Columns</option>\';\necho \'</select>\';\necho \'</div>\';\n\necho \'<table class=\"styled-table\">\';\necho \'<thead><tr>\';\necho \'<th onclick=\"sortTable(0)\">Field <i class=\"fa-solid sort-icon\"></i></th>\';\necho \'<th onclick=\"sortTable(1)\">Type <i class=\"fa-solid sort-icon\"></i></th>\';\necho \'<th onclick=\"sortTable(2)\">Value <i class=\"fa-solid sort-icon\"></i></th>\';\necho \'</tr></thead>\';\necho \'<tbody>\';\n\nwhile ($col = db_fetch_array($columns_result)) {\n	$name = $col[\'COLUMN_NAME\'];\n	$type = $col[\'COLUMN_TYPE\'];\n	$key = $col[\'COLUMN_KEY\'];\n	$comment = $col[\'COLUMN_COMMENT\'];\n\n	$raw_value = $data_row[$name] ?? null;\n	$value = is_null($raw_value) ? \'<em>NULL</em>\' : htmlspecialchars($raw_value);\n\n	$icon = \'\';\n	$bg = \'\';\n	if ($key == \'PRI\') {\n		$icon = \' <i class=\"fa-solid fa-key\" style=\"color:goldenrod;\" title=\"Primary Key\"></i>\';\n		$bg = \' style=\"background-color:#fff8dc;\"\';\n	} elseif ($key == \'MUL\') {\n		$icon = \' <i class=\"fa-solid fa-key\" style=\"color:grey;\" title=\"Foreign Key\"></i>\';\n		$bg = \' style=\"background-color:#f5f5f5;\"\';\n	}\n\n	$raw_length = mb_strlen($raw_value ?? \'\');\n\n	if ($raw_value === null || $raw_length <= 200) {\n		$display_value = $value;\n		$tooltip = \'\';\n	} else {\n		$display_value = htmlspecialchars(mb_substr($raw_value, 0, 200)) . \'…\';\n\n		$tooltip_content = mb_substr($raw_value, 0, 2000);\n		if ($raw_length > 2000) {\n			$tooltip_content .= \'…\';\n		}\n\n		$tooltip = \' title=\"\' . htmlspecialchars($tooltip_content) . \'\"\';\n	}\n\n	$escaped_value = htmlspecialchars($raw_value ?? \'\', ENT_QUOTES);\n\n	if (is_null($raw_value) || $raw_value === \'\') {\n		$copy_icon = \'\';\n	} else {\n		$copy_icon = \"<i class=\'fa-regular fa-copy copy-icon\' title=\'Copy\' data-value=\'$escaped_value\' onclick=\'copyToClipboard(this)\'></i>\";\n	}\n\n	$field_title = $comment ? \' title=\"\' . htmlspecialchars($comment) . \'\"\' : \'\';\n\n	echo \"<tr>\";\n	echo \"<td$bg><strong$field_title>$name</strong>$icon</td>\";\n	echo \"<td$bg><code>$type</code></td>\";\n	echo \"<td$bg><code$tooltip>$display_value</code>$copy_icon</td>\";\n	echo \"</tr>\";\n}\n\necho \'</tbody></table></div>\';', NULL, NULL, 'window', NULL, '1', '0', '1', '0', '', NULL),
('nuitem_BB', 'nuitem_BB', 'System PHP', 'nubuilder', NULL, '1', '// Temp table\n\n$denied = $GLOBALS[\'nuSetup\']->set_denied == 1;\n\n$condition = $denied\n    ? \"(zzzzsys_item_id NOT LIKE \'nu%\')\"\n    : \"1=1\";\n\n$sql = \"\n    SELECT\n        zzzzsys_item_id,\n        itm_value,\n        itm_description,\n        itm_category,\n        itm_group,\n        itm_tag,\n        itm_language,\n        sob_all_id,\n        sfo_code,\n        itm_active,\n        itm_created_on,\n        itm_updated_on\n    FROM\n        zzzzsys_item\n    LEFT JOIN zzzzsys_object ON zzzzsys_object_id = itm_object_id\n    LEFT JOIN zzzzsys_form ON zzzzsys_form_id = zzzzsys_object.sob_all_zzzzsys_form_id\n    WHERE\n        $condition\n    ORDER BY\n        sfo_code ASC,\n        sob_all_id ASC\n\";\n\n\nnuCreateTableFromSelect(\'#TABLE_ID#\', $sql);\n\n\n// Filter\n$getDistinctGroupColumnQuery = function($column, $condition) {\n    return \"\n        SELECT DISTINCT TRIM(`$column`) AS `value`, TRIM(`$column`) AS `text`\n        FROM zzzzsys_item\n        WHERE \n            IFNULL(itm_group, \'\') <> \'\' \n            AND ($condition)\n        ORDER BY `value`\n    \";\n};\n\n$sqlGroup = function($condition) use ($getDistinctGroupColumnQuery) {\n    return $getDistinctGroupColumnQuery(\'itm_group\', $condition);\n};\n\n$group = nuEncodeQueryRowResults($sqlGroup($condition), [], [\'-1\',\'\']);\n\n$filterJS = \"\n    function nuItemsFilterGetData(data) {\n        return JSON.parse(atob(data));\n    }\n    function nuItemsFilterGetGroup() {\n        return nuItemsFilterGetData(\'$group\');\n    }\n\";\n\nnuAddJavaScript($filterJS);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nuitem_AS', 'nuitem_AS', 'System PHP', 'nubuilder', NULL, '1', '// Don\'t store itm_created_on and itm_updated_on for nu-records:\n\n// Get the current record ID\n$recordID = \'#RECORD_ID#\';\n\n// Check if it starts with \'nu\'\nif (strpos($recordID, \'nu\') === 0) {\n    \n    // Prepare the SQL update\n    $sql = \"\n        UPDATE zzzzsys_item \n        SET itm_created_on = NULL, \n            itm_updated_on = NULL \n        WHERE zzzzsys_item_id = ?\n    \";\n\n    // Execute the query with parameter binding\n\n    nuRunQuery($sql, [$recordID]);\n}\n', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nu683830320e3343b', 'nu_ai_prompt_generator_test_credentials', 'Testing AI Credentials', 'nubuilder', 'Generator', '1', 'include_once \'nuai.php\';\n\n\n$result = nuAITestCredentials();\n\nif ($result[\'success\']) {\n    // Credentials are good\n    echo $result[\'message\'];            // e.g. “Credentials are valid!”\n} else {\n    // Something went wrong\n    // You can log full details if you like:\n   // error_log(\"OpenAI test failed ({$result[\'http_code\']}) Raw response: {$result[\'raw\']}\");\n    \n    // And display a user‐friendly message:\n    echo \"Error testing credentials: \" . $result[\'message\'];\n}', NULL, NULL, 'window', NULL, '1', '0', '1', '0', '', NULL),
('nu68394ef10bf2cc9', 'nu_ai_prompt_generator_call_api', 'AI Prompt Generator ', 'nubuilder', 'Generator', '1', 'include_once \'nuai.php\';\n\n// 1. Fetch the raw JSON params\n$paramsJson = nuGetProperty(\'nuaipromptgenerator_params\');\nif (empty($paramsJson)) {\n    return; // nothing to do\n}\n\n// 2. Decode\n$params       = nuDecode($paramsJson);\n$procedure    = $params[\'procedure_type\'] ?? null;\n$buttonId     = $params[\'buttonId\']       ?? null;\n\n// 3. Dispatch based on procedure_type\nswitch ($procedure) {\n    case \'response\':\n        $response     = nuAIPromptGetResponse($params);\n        $callbackName = \'nuGeneratorResponseExecuted\';\n        break;\n\n    case \'tag\':\n        $response     = nuAIPromptGetTagsFromPrompt($params);\n        $callbackName = \'nuGeneratorExecutedTags\';\n        break;\n\n    // --- add new cases here ---\n    // case \'something_else\':\n    //     $response     = nuAIPromptDoSomethingElse($params);\n    //     $callbackName = \'nuGeneratorSomethingElseExecuted\';\n    //     break;\n\n    default:\n        // unknown procedure — return or fire a generic error callback\n        $errorMsg = json_encode(\"Unknown procedure: {$procedure}\");\n        nuJavaScriptCallback(\"(function(){ console.error({$errorMsg}); })();\");\n        return;\n}\n\n// 4. Determine error vs. success\n$isError = ! empty($response[\'error\']);\n$payload = $isError\n    ? $response[\'message\']\n    : $response[\'result\'];\n\n// 5. JSON-encode for JS\n$buttonJs = json_encode($buttonId, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);\n$dataJs   = json_encode($payload,  JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);\n\n// 6. Build & fire the callback\n$js = sprintf(\n    \"(function(){%s(%s, %s, %s);})();\",\n    $callbackName,\n    $buttonJs,\n    $dataJs,\n    $isError ? \'false\' : \'true\'\n);\n\nnuJavaScriptCallback($js);\n', NULL, NULL, 'hide', '', '1', '0', '1', '0', '', NULL),
('nu68397bb77c048bb_BB', 'nu68397bb77c048bb_BB', 'System PHP', 'nubuilder', NULL, '1', '$denied = $GLOBALS[\'nuSetup\']->set_denied == 1;\n\n$condition = $denied\n    ? \"(zzzzsys_item_id NOT LIKE \'nu%\')\"\n    : \"1=1\";\n\n$sql = \"\n    SELECT\n        zzzzsys_item_id,\n        itm_value,\n        itm_description,\n        itm_category,\n        itm_object_id,\n        itm_tag,\n        itm_language,\n        sob_all_id,\n        sfo_code,\n        itm_active,\n        itm_created_on,\n        itm_updated_on,\n        itm_sort_order,\n        sob_all_zzzzsys_form_id\n    FROM\n        zzzzsys_item\n    LEFT JOIN zzzzsys_object ON zzzzsys_object_id = itm_object_id\n    LEFT JOIN zzzzsys_form ON zzzzsys_form_id = zzzzsys_object.sob_all_zzzzsys_form_id\n    WHERE\n        $condition\n    ORDER BY\n        sfo_code ASC,\n        sob_all_id ASC,\n        itm_value ASC\n\";\n\n\nnuCreateTableFromSelect(\'#TABLE_ID#\', $sql);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nu683fd76e8963821', 'nu_run_alter_db_column', 'Alter a database column', 'nubuilder', 'Database', '1', 'if (nuHash()[\'GLOBAL_ACCESS\'] == \'0\') return;\n\n$sql = \'ALTER TABLE `#sob_all_table#` CHANGE `#sob_all_id#` \' . \'#sql_query#\';\n\nif (preg_match(\'/DELETE |DROP |INSERT |;/\', strtoupper($sql))) {\n    $r = -2;\n} else {\n    $r = nuRunQuery($sql, [], true);\n}\n\nif ($r == 0) {\n    nuSetJSONDataAll(\'REFRESH_CACHE\', \'1\');\n    $js = \"$.nuInfoBar.success(nuTranslate(\'The column has been altered successfully\'));\n           parent.nuUpdateMessage(\'refresh_required\');\";\n} else if ($r == -1) {\n    $js = \"$.nuInfoBar.error(nuTranslate(\'An error occurred while altering the column\') + \'. \' + nuTranslate(\'Check nuDebug Results for details\'));\";\n} else if ($r == -2) {\n    $js = \"$.nuInfoBar.error(nuTranslate(\'An error occurred while altering the column\') + \'. \' + nuTranslate(\'The query contains invalid keywords\'));\";\n}\n\nnuJavaScriptCallback($js);', NULL, NULL, 'hide', '', '1', '0', '0', '0', '', NULL),
('nu5fdb9ffe0330e_AB', 'nu5fdb9ffe0330e_AB', 'System PHP', 'nubuilder', NULL, '1', '$hash = nuHash();\n$type = $hash[\'sfo_type\'] ?? \'\';\n\nif ($type !== \'launch\') {\n\n    nuSetFormValue(\'slf_add_button\', \'1\');\n    nuSetFormValue(\'slf_print_button\', \'1\');\n\n    if ($type !== \'browse\') {\n        nuSetFormValue(\'slf_save_button\', \'1\');\n        nuSetFormValue(\'slf_clone_button\', \'1\');\n        nuSetFormValue(\'slf_delete_button\', \'1\');\n    }\n\n}', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nu6866e2a9c6afd1c', 'nu_upload_file_load_uppy_code', 'Get Uppy html code', 'nubuilder', 'File Upload', NULL, 'function getNuRunFileUppyHtmlSourceCombined() {\n\n    $codes = [\'nu_upload_file_uppy_code_template\',\n        \'nu_upload_file_uppy_code\'];\n    foreach ($codes as $code) {\n        $source = db_fetch_value(\n            \'zzzzsys_code_snippet\',\n            \'cot_code\',\n            $code,\n            \'cot_source_code\'\n        );\n        if ($source) {\n            return $source;\n        }\n    }\n\n    return false;\n\n}\n\n$source = getNuRunFileUppyHtmlSourceCombined();\nif ($source !== false) {\n    $source = base64_encode(json_encode($source));\n    $js = \"let htmlCode = $(\'#sob_html_code\');\n        nuSetValue(\'sob_html_code\', htmlCode.val() + JSON.parse(atob(\'$source\'))); \";\n\n    nuJavaScriptCallback($js);\n}', NULL, NULL, 'window', NULL, '1', '0', '1', '0', '', NULL),
('nuemailtemplate_BB', 'nuemailtemplate_BB', 'System PHP', 'nubuilder', NULL, NULL, '$getDistinctColumnQuery = function(string $column): string {\n    return \"\n        SELECT\n          DISTINCT TRIM({$column}) AS trimmed_col\n        FROM\n          zzzzsys_email_template\n          LEFT JOIN zzzzsys_form\n            ON zzzzsys_form_id = emt_form_id\n        WHERE\n          IFNULL({$column}, \'\') <> \'\'\n        ORDER BY\n          trimmed_col\n    \";\n};\n\n$sqlGroup = function() use ($getDistinctColumnQuery): string {\n    return $getDistinctColumnQuery(\'emt_group\');\n};\n$sqlCategory = function() use ($getDistinctColumnQuery): string {\n    return $getDistinctColumnQuery(\'emt_category\');\n};\n\n$group    = nuEncodeQueryRowResults($sqlGroup(),    []);\n$category = nuEncodeQueryRowResults($sqlCategory(), []);\n\n$filterJS = <<<JS\nfunction nuEmailTemplateFilterGetData(data) {\n    return JSON.parse(atob(data));\n}\nfunction nuEmailTemplateFilterGetGroup() {\n    return nuEmailTemplateFilterGetData(\'$group\');\n}\nfunction nuEmailTemplateFilterGetCategory() {\n    return nuEmailTemplateFilterGetData(\'$category\');\n}\nJS;\n\nnuAddJavaScript($filterJS);\n', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nu6881aa082e6e173', 'nu_form_get_php', 'nubuilder', 'nubuilder', 'Dev', NULL, 'function nuFormGetPHP($record_id) {\n    return db_fetch_value(\'zzzzsys_php\', \'zzzzsys_php_id\', $record_id, \'sph_php\');\n}\n\n$val = nuEncode(nuFormGetPHP(\'nuuser_BB\'));\n$js = \"nuSetValue(\'nu-code-textarea-php-bb\', nuDecode(\'$val\'));\";\n\nnuJavaScriptCallback($js);\n\n\nnuDebug(nuEncode(\'1\'));', NULL, NULL, NULL, NULL, '1', '0', '1', '0', '', NULL),
('nuappcloner', 'nu_app_cloner', 'nuBuilder Application Cloner', 'nubuilder', 'Cloner', NULL, 'include_once \'nuappcloner.php\';\n\n// Get parameters from the form\n$params = nuGetProperty(\'nu_app_cloner_params\');\nif (!$params) {\n    nuAppClonerCallback(\'Error\', \'Failed to retrieve parameters\');\n    return;\n}\n\n$params = nuDecode($params);\n\n// Extract all parameters\n$targetHost = $params[\'targetHost\'] ?? \'\';\n$targetDB = $params[\'targetDB\'] ?? \'\';\n$targetUsername = $params[\'targetUsername\'] ?? \'\';\n$targetPassword = $params[\'targetPassword\'] ?? \'\';\n$targetCharset = $params[\'targetCharset\'] ?? \'utf8mb4\';\n$targetPort = intval($params[\'targetPort\'] ?? 3306);\n$sourcePath = realpath($params[\'sourcePath\'] ?? \'..\');\n$targetPath = $params[\'targetPath\'] ?? \'\';\n$insertType = $params[\'insertType\'] ?? \'INSERT\';\n$opts = $params[\'opts\'] ?? [];\n$config = $params[\'config\'] ?? [];\n\n// Convert string \"true\"/\"false\" to boolean if needed\nforeach ($config as $key => $value) {\n    if ($value === \'true\') $config[$key] = true;\n    if ($value === \'false\') $config[$key] = false;\n}\n\n\n// Create cloner instance\n$cloner = new nuBuilderCloner($config);\n\n// Run the clone operation\n$success = $cloner->cloneDatabase(\n    $targetDB,\n    $targetHost,\n    $targetUsername,\n    $targetPassword,\n    $targetCharset,\n    $targetPort,\n    $opts,\n    $insertType,\n    $sourcePath,\n    $targetPath\n);\n\nfunction nuAppClonerCallback(string $type, string $message): void {\n    nuJavaScriptCallback(\"nuMessage(\'$type\', \'\" . addslashes($message) . \"\');\");\n}', 'function nuOnProcedureRun() {\n    nuSetProperty(\'nu_app_cloner_params\',\'xx\');\n}', '1', 'hide', NULL, '1', '0', '1', '0', '', NULL),
('nuappcloner_BE', 'nuappcloner_BE', 'System PHP', 'nubuilder', NULL, NULL, 'if (nuDemo()) return;\n\nglobal $nuConfigDBUser;\nglobal $nuConfigDBPassword;\n\n$js = \"\n    	if (nuIsNewRecord()) { debugger;\n            nuSetValue(\'cla_target_username\', \'$nuConfigDBUser\'); \n            nuSetValue(\'cla_target_password\', \'$nuConfigDBPassword\'); \n        };\n\";\n\nnuAddJavaScript($js);', NULL, NULL, NULL, NULL, '1', '0', '1', '0', NULL, NULL),
('nu68c8e03bd841c4a', 'nu_send_welcome_email', 'Procedure is called when \"Send welcome email\" is checked in the user form', '', 'Email', '1', '// Retrieve Information about the user\n$user = nuUserSavedInfo();\n$accessLevelId = $user[\"access_level_id\"];\n\n// Decide which template to use based on access level\n\n// <<<<<<<< Use your  access level ids, template name and group names <<<<<<<<<<<<<<<<<<<<<<<\n\nnuDebug($accessLevelId);\n\nswitch ($accessLevelId) {\n\n    case \'67e3ff43a45adc2\': // vrijwilliger access level id\n        $template = nuGetEmailTemplateData(\"send_welcome_email\", \'\', \'vrijwilliger\'); \n        break;\n\n    case \'2660a0de8f28a52\': // sales access level id\n        $template = nuGetEmailTemplateData(\"send_welcome_email\", \'\', \'sales\');\n        break;\n\n    default: // Fallback (if access level not recognized)\n        $template = nuGetEmailTemplateData(\"send_welcome_email\", \'\', \'default\');\n        break;\n}\n\nif ($template == false) {\n    nuDisplayError(\'Unknown email template!\');\n    return;\n}\n\n$sendResult = sendEmailFromTemplate($template);\n\n\nif ($sendResult[0] != true) {\n    nuDisplayError($sendResult[1].\'<br>\'.$sendResult[2]);\n}\n\n\n// Sends an email message using an email template.\nfunction sendEmailFromTemplate($template) {\n\n    $body = str_replace(\'#\'.\'NUBUILDER_URL\'.\'#\', nuGetHttpOrigin() , $template[\'body\']);\n\n    $params = array(\n        \'to\'      => $template[\'to\'],\n        \'cc\'      => $template[\'cc\'],\n        \'bcc\'     => $template[\'bcc\'],\n        \'body\'    => nl2br($body),\n        \'subject\' => $template[\'subject\']\n    );\n\n    // Replace all Hash Cookies\n    foreach ($params as $key => $value) {\n        $params[$key] = nuReplaceHashVariables($value);\n    }\n\n    return nuSendEmail($params);\n}', '', '0', 'hide', '', '0', '1', '1', '0', '', NULL);

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_prompt_generator`
--

CREATE TABLE `zzzzsys_prompt_generator` (
  `zzzzsys_prompt_generator_id` varchar(25) NOT NULL,
  `pge_code` varchar(300) DEFAULT NULL,
  `pge_description` varchar(300) DEFAULT NULL,
  `pge_table` varchar(1000) DEFAULT NULL,
  `pge_language` varchar(1000) DEFAULT NULL,
  `pge_scope` varchar(300) DEFAULT NULL,
  `pge_prompt` longtext,
  `pge_tag` varchar(3000) DEFAULT NULL,
  `pge_template` varchar(1) DEFAULT NULL,
  `pge_instruction` varchar(3000) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_report`
--

CREATE TABLE `zzzzsys_report` (
  `zzzzsys_report_id` varchar(25) NOT NULL,
  `sre_code` varchar(300) DEFAULT NULL,
  `sre_description` varchar(300) DEFAULT NULL,
  `sre_group` varchar(100) DEFAULT NULL,
  `sre_zzzzsys_php_id` varchar(200) DEFAULT NULL,
  `sre_zzzzsys_form_id` varchar(25) DEFAULT NULL,
  `sre_layout` longtext,
  `sre_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_report_data`
--

CREATE TABLE `zzzzsys_report_data` (
  `zzzzsys_report_data_id` varchar(100) NOT NULL,
  `srd_code` varchar(300) DEFAULT NULL,
  `srd_description` varchar(300) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_select`
--

CREATE TABLE `zzzzsys_select` (
  `zzzzsys_select_id` varchar(25) NOT NULL,
  `sse_code` varchar(50) DEFAULT NULL,
  `sse_description` varchar(300) DEFAULT NULL,
  `sse_json` mediumtext,
  `sse_sql` mediumtext,
  `sse_edit` varchar(1) DEFAULT NULL,
  `sse_system` varchar(1) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_select_clause`
--

CREATE TABLE `zzzzsys_select_clause` (
  `zzzzsys_select_clause_id` varchar(25) NOT NULL,
  `ssc_zzzzsys_select_id` varchar(25) DEFAULT NULL,
  `ssc_type` varchar(300) DEFAULT NULL,
  `ssc_field` varchar(500) DEFAULT NULL,
  `ssc_clause` varchar(500) DEFAULT NULL,
  `ssc_sort` varchar(10) DEFAULT NULL,
  `ssc_order` varchar(500) DEFAULT NULL,
  `ssc_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_session`
--

CREATE TABLE `zzzzsys_session` (
  `zzzzsys_session_id` varchar(25) NOT NULL DEFAULT '',
  `sss_access` mediumtext,
  `sss_hashcookies` mediumtext,
  `sss_time` int DEFAULT NULL,
  `sss_login_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `sss_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_setup`
--

CREATE TABLE `zzzzsys_setup` (
  `zzzzsys_setup_id` varchar(25) NOT NULL DEFAULT '',
  `set_time_out_minutes` int DEFAULT NULL,
  `set_zzzzsys_timezone_id` varchar(25) DEFAULT NULL,
  `set_language` varchar(20) DEFAULT NULL,
  `set_languages_included` varchar(1000) DEFAULT NULL,
  `set_smtp_username` varchar(255) DEFAULT NULL,
  `set_smtp_password` varchar(255) DEFAULT NULL,
  `set_smtp_host` varchar(255) DEFAULT NULL,
  `set_smtp_from_address` varchar(255) DEFAULT NULL,
  `set_smtp_from_name` varchar(255) DEFAULT NULL,
  `set_smtp_port` int DEFAULT NULL,
  `set_smtp_use_authentication` varchar(1) DEFAULT NULL,
  `set_smtp_use_ssl` varchar(1) DEFAULT NULL,
  `set_header` longtext,
  `set_include` text,
  `set_style` longtext,
  `set_denied` varchar(1) DEFAULT NULL,
  `set_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

--
-- Dumping data for table `zzzzsys_setup`
--

INSERT INTO `zzzzsys_setup` (`zzzzsys_setup_id`, `set_time_out_minutes`, `set_zzzzsys_timezone_id`, `set_language`, `set_languages_included`, `set_smtp_username`, `set_smtp_password`, `set_smtp_host`, `set_smtp_from_address`, `set_smtp_from_name`, `set_smtp_port`, `set_smtp_use_authentication`, `set_smtp_use_ssl`, `set_header`, `set_include`, `set_style`, `set_denied`, `set_json`) VALUES
('1', 480, '5281a1220508372', '', '[\"\",\"Afrikaans\",\"Arabic\",\"Armenian\",\"Catalan\",\"Chinese\",\"Czech\",\"Danish\",\"Dutch\",\"French\",\"German\",\"Greek\",\"Hindi\",\"Hungarian\",\"Italian\",\"Japanese\",\"Malay\",\"Norwegian\",\"Polish\",\"Portuguese (Brazil)\",\"Portuguese\",\"Romanian\",\"Russian\",\"Slovak\",\"Spanish\",\"Tamil\",\"Turkish\",\"Vietnamese\"]', '1', '1', '1', '1', '1', 1, '1', '1', '// Functions placed here are available anywhere in nuBuilder.\n\n\n// Runs after each Edit Form loads\nfunction nuLoadEditGlobal(formId, formCode) {\n\n}\n\n// Runs after each Browse Form loads\nfunction nuLoadBrowseGlobal(formId, formCode) {\n\n}\n\n// Runs after each Edit and Browse Form loads\nfunction nuOnLoad(formId, formCode) {\n\n}', '// Add external CSS/JS file here\n\n<!--\n\n<link rel=\"stylesheet\" type=\"text/css\" href=\"path_to_css.css\"/>\n\n<script src=\"path_to_js.js\"></script>\n\n-->', '/* Define your own styles, override styles from nubuilder4.css */\n\n/*\n .nuActionButton {\n background-color: #579cb7\n}\n\n*/', '0', NULL);

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_tab`
--

CREATE TABLE `zzzzsys_tab` (
  `zzzzsys_tab_id` varchar(25) NOT NULL,
  `syt_zzzzsys_form_id` varchar(25) DEFAULT NULL,
  `syt_title` varchar(250) DEFAULT NULL,
  `syt_order` int DEFAULT NULL,
  `syt_help` varchar(3000) DEFAULT NULL,
  `syt_access` varchar(1) DEFAULT NULL,
  `syt_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

--
-- Dumping data for table `zzzzsys_tab`
--

INSERT INTO `zzzzsys_tab` (`zzzzsys_tab_id`, `syt_zzzzsys_form_id`, `syt_title`, `syt_order`, `syt_help`, `syt_access`, `syt_json`) VALUES
('nu5bad6cb36757b92', 'nuform', 'Browse', 20, 'nuOpenWiki(\'/Forms\');', NULL, NULL),
('nu5bad6cb36791fd5', 'nuform', 'Main', 10, 'nuOpenWiki(\'/Forms\');', NULL, NULL),
('nu5bad6cb36804778', 'nubuildreport', 'Report', 10, 'nuOpenWiki(\'/Reports\');', NULL, NULL),
('nu5bad6cb3683fa36', 'nubrowse', 'Browse', 10, '', NULL, NULL),
('nu5bad6cb3686cb0d', 'nuobject', 'All', 10, 'nuOpenWiki(\'/Objects_#Tab_-_All\');', NULL, NULL),
('nu5bad6cb368d9c40', 'nuobject', '|Run', 20, 'nuOpenWiki(\'/Objects#Tab_-_Run\');', NULL, NULL),
('nu5bad6cb36974818', 'nuobject', '|Display', 30, 'nuOpenWiki(\'/Objects#Tab_-_Display\');', NULL, NULL),
('nu5bad6cb369a6ee3', 'nuobject', '|Select', 40, 'nuOpenWiki(\'/Objects_#Tab_-_Select\');', NULL, NULL),
('nu5bad6cb369d0088', 'nuobject', '|Lookup', 50, 'nuOpenWiki(\'/Objects#Tab_-_Lookup\');', NULL, NULL),
('nu5bad6cb36a1c024', 'nuobject', '|Subform', 60, 'nuOpenWiki(\'/Objects#Tab_-_Subform\');', NULL, NULL),
('nu5bad6cb36a4af06', 'nuobject', '|Input', 80, 'nuOpenWiki(\'/Objects#Tab_-_Input\');', NULL, NULL),
('nu5bad6cb36a71012', 'nuobject', '|HTML', 90, 'nuOpenWiki(\'/Objects#Tab_-_HTML\');', NULL, NULL),
('nu5bad6cb36aaa539', 'nuevent', 'Event', 10, '', NULL, NULL),
('nu5bad6cb36ac903f', 'nuaccess', 'User', 10, 'nuOpenWiki(\'/User_Access#Creating_an_Access_Level\');', NULL, NULL),
('nu5bad6cb36af0c58', 'nuaccess', 'Forms', 20, 'nuOpenWiki(\'/User_Access#Creating_an_Access_Level\');', NULL, NULL),
('nu5bad6cb36b12637', 'nunonsystemform', 'Forms', 10, '', NULL, NULL),
('nu5bad6cb36b27343', 'nuprocedure', 'PHP', 10, 'nuOpenWiki(\'/Procedures\');', NULL, NULL),
('nu5bad6cb36b63cae', 'nuuser', 'User', 10, 'nuOpenWiki(\'/User_Access#Adding_a_User\');', NULL, NULL),
('nu5bad6cb36b994d2', 'nuaccessforms', 'Form', 10, '', NULL, NULL),
('nu5bad6cb36bc9e21', 'nublank', 'Launch', 10, '', NULL, NULL),
('nu5bad6cb36bdec72', 'nuaccessgroup', 'Access Group', 10, '', NULL, NULL),
('nu5bad6cb36bf8d38', 'nudebug', 'Debug', 10, '', NULL, NULL),
('nu5bad6cb36c16b42', 'nuaccess', 'Procedures', 30, 'nuOpenWiki(\'/User_Access#Creating_an_Access_Level\');', NULL, NULL),
('nu5bad6cb36c39fc8', 'nuaccess', 'Reports', 40, 'nuOpenWiki(\'/User_Access#Creating_an_Access_Level\');', NULL, NULL),
('nu5bad6cb36c55179', 'nuaccessreport', 'Access', 10, '', NULL, NULL),
('nu5bad6cb36c75655', 'nuaccesslevelreport', 'Access', 10, '', NULL, NULL),
('nu5bad6cb36c9250f', 'nutab', 'Tabs', 10, 'nuOpenWiki(\'/Forms#Tabs_.28Subform.29\');', NULL, NULL),
('nu5bad6cb36cb6102', 'nurunreport', 'Report', 10, '', NULL, NULL),
('nu5bad6cb36ce06d9', 'nurunphp', 'PHP', 10, '', NULL, NULL),
('nu5bad6cb36cfbbfa', 'nulaunchdates', 'Launch', 10, '', NULL, NULL),
('nu5bad6cb36d2177c', 'nurunlist', 'Test', 10, '', NULL, NULL),
('nu5bad6cb36d582df', 'nutimezone', 'Zone', 10, '', NULL, NULL),
('nu5bad6cb36d97acd', 'nusetup', 'Setup', 40, 'nuOpenWiki(\'/Setup#Setup\');', NULL, NULL),
('nu5bad6cb36e31edf', 'nusetup', 'Email', 60, 'nuOpenWiki(\'/Setup#Email_Settings\');', NULL, NULL),
('nu5bad6cb36e9143a', 'nusetup', 'Header', 10, 'nuOpenWiki(\'/Setup#Header\');', NULL, NULL),
('nu5bad6cb36eb07f0', 'nutranslate', 'Phrase', 10, 'nuOpenWiki(\'/Translations\');', NULL, NULL),
('nu5bad6cb36ed494f', 'nupassword', 'Change Password', 10, '', NULL, NULL),
('nu5bad6cb36f36433', 'nufflaunch', 'Form', 10, 'nuOpenWiki(\'/Form_Builder\');', NULL, NULL),
('nu5bad6cb36f72f8e', 'nufastformobjects', 'Label', 10, '', NULL, NULL),
('nu5bad6cb36f99a7e', 'nuobject', '|Calc', 110, 'nuOpenWiki(\'/Objects#Tab_-_Calc\');', NULL, NULL),
('nu5bad6cb36fcbc18', 'nuformat', 'Format', 10, 'nuOpenWiki(\'/Format_Builder\');', NULL, NULL),
('nu5bad6cb36ffc300', 'nuformatcurrency', 'Currency', 10, '', NULL, NULL),
('nu5bad6cb37026348', 'nuform', 'Custom Code', 30, 'nuOpenWiki(\'/Functions\');', NULL, NULL),
('nu5bad6cb370b409e', 'nuobject', 'Custom Code', 120, 'nuOpenWiki(\'/Objects#Tab_-_Custom_Code\');', NULL, NULL),
('nu5bad6cb370eb06a', 'nusample', 'Other Objects', 30, '', NULL, NULL),
('nu5bad6cb3719774c', 'nufile', 'Main', 10, 'nuOpenWiki(\'/Files\');', NULL, NULL),
('nu5bad6cb371c865e', 'nuobject', '|Image', 70, 'nuOpenWiki(\'/Objects#Tab_-_Image\');', NULL, NULL),
('nu5bad6cb371e2de7', 'nuselect', 'SQL', 10, 'nuOpenWiki(\'/SQL_Builder\');', NULL, NULL),
('nu5bad6cb3721b534', 'nulaunchable', 'Main', 10, '', NULL, NULL),
('nu5bad6cb3722f122', 'nulaunchable', 'Browse', 20, '', NULL, NULL),
('nu5bad6cb3724c6ca', 'nulaunchable', 'Custom Code', 30, '', NULL, NULL),
('nu5bad6cb37296979', 'nuclause', 'Clause', 10, '', NULL, NULL),
('nu5bad6cb3732c76e', 'nusample', 'Subform', 20, '', NULL, NULL),
('nu5bad6cb3734c18f', 'nufastreportobjects', 'Label', 10, '', NULL, NULL),
('nu5bad6cb3737e773', 'nufrlaunch', 'Main', 10, 'nuOpenWiki(\'/Report_Builder\');', NULL, NULL),
('nu5bad6cb373c384f', 'nusample', 'Inputs', 10, '', NULL, NULL),
('nu5bad6cb37405d73', 'nusamplesubformform', 'Main', 10, '', NULL, NULL),
('nu5bad6cb374207e3', 'nuuserhome', 'Main', 20, '', NULL, NULL),
('nu5bad6cb37434d3a', 'nulaunchform', 'Forms', 10, '', NULL, NULL),
('nu5bad6cb374482e8', 'nutablookup', 'Tabs', 10, 'nuOpenWiki(\'/Forms#Tabs_.28Subform.29\');', NULL, NULL),
('nu5f711b9343afdbd', 'nucsvtransfer', 'Transfer', 10, 'nuOpenWiki(\'/CSV_Transfer\');', NULL, NULL),
('nu5f9aaac95bc52e7', 'nucloner', 'Form', 10, '', NULL, NULL),
('nu5fd29810a60df91', 'nunotes', 'Notes', 10, '', NULL, NULL),
('nu5fd6f697276396f', 'nunotescategroy', 'Main', 10, '', NULL, NULL),
('nu5fd8ed305105aa6', 'nuuserlogged', 'Main', 10, '', NULL, NULL),
('nu5fdb1b5b254566f', 'nucodesnippet', 'Main', 10, '', NULL, NULL),
('nu5fdb9ff026348', 'nuform', 'Access Levels', 40, 'nuOpenWiki(\'/User_Access#Creating_an_Access_Level\');', NULL, NULL),
('nu5fdb9ffd6faaa', 'nu5fdb9ffd45aaa', 'Form', 10, '', NULL, NULL),
('nu5fdb9ffd6fbca', 'nu5fdb9ffd45efe', 'Form', 10, '', NULL, NULL),
('nu5fdf7df2d873dd1', 'nuprocedure', 'Access Levels', 30, 'nuOpenWiki(\'/User_Access\');', NULL, NULL),
('nu5fdf7fc6680a0b2', 'nubuildreport', 'Access Levels', 20, 'nuOpenWiki(\'/User_Access\');', NULL, NULL),
('nu5fe0547b76e25d6', 'nuauthentication', 'Authentication', 10, '', NULL, NULL),
('nu5fe19e93306dd6e', 'nusetup', 'Developer', 70, '', NULL, NULL),
('nu5feb70e6a6b9cf8', 'nuupdate', 'Update', 10, '', NULL, NULL),
('nu5feb9ffd6fbca', 'nu5feb9ffd45efe', 'Form', 10, '', NULL, NULL),
('nu5fed7cde6151088', 'nuobjectgrid', 'Objects', 10, '', NULL, NULL),
('nu5fee9ffd6fbca', 'nu5fee9ffd45efe', 'Form', 10, '', NULL, NULL),
('nu5ff48b9c18dbf6f', 'nuemailtest', 'Main', 10, '', NULL, NULL),
('nu60689be0792e7ca', 'nuadddbcolumn', 'Main', 10, '', NULL, NULL),
('nu61b4c3e0517719b', 'nuaddattribute', 'Main', 10, '', NULL, NULL),
('nu61ce913f08336db', 'nusetup', 'Style', 30, NULL, NULL, NULL),
('nu61e9964c9bf5e13', 'nuobject', 'JSON', 130, NULL, '2', NULL),
('nu61e9969a4003a6f', 'nu61e9969a239c033', 'Main', 10, NULL, NULL, NULL),
('nu62aee449a876a58', 'nu62aee4493239e3a', 'Main', 10, NULL, NULL, NULL),
('nu62cca90dba09759', 'nuhome', 'Main', 10, '', NULL, NULL),
('nufastforms', 'nuuserhome', 'Fast Forms', -1, NULL, NULL, NULL),
('nu62b34b8c669ce6b', 'nusetup', 'Settings', 50, NULL, NULL, NULL),
('nu635294e9729b1a1', 'nuemailtemplate', 'Main', 10, '', NULL, NULL),
('nu63ed1fef9b6331f', 'nucloner', 'Tables', 20, NULL, NULL, NULL),
('nunu63efd6558a386dd', 'nuobjectevent', 'Main', 10, NULL, NULL, NULL),
('nu63f0adcb2c415fa', 'nuobjectgrid', 'Events', 20, NULL, NULL, NULL),
('nu63f0aec186f6a6c', 'nunuobjectevent', 'Main', 10, NULL, NULL, NULL),
('nu64ec098a9d06dda', 'nupasswordgenerator', 'Main', 10, NULL, NULL, NULL),
('nu65d777ade2b7d70', 'nupermissionitem', 'Main', 10, NULL, NULL, NULL),
('nu65d7dabf091568e', 'nuuserpermission', 'Main', 10, NULL, NULL, NULL),
('nu65d7dbb966b5d37', 'nuuser', 'Permissions', 20, 'nuOpenWiki(\'/User_Access#Permissions\');', NULL, NULL),
('nu65f27499bd5df48', 'nuphp', 'PHP', 10, 'nuOpenWiki(\'/Procedures\');', NULL, NULL),
('nu65f28ff562a8cc4', 'nuemaillog', 'Main', 10, NULL, NULL, NULL),
('nu65f8d60b05b6ec6', 'nurunjavascript', 'Main', 10, NULL, NULL, NULL),
('nu67f22d53d2c87ad', 'nufile', 'Linked Objects', 20, NULL, NULL, NULL),
('nu67f22e3ba555c9a', 'nu67f22e3ba027e23', 'Main', 10, NULL, NULL, NULL),
('nu682ce623ae19b8a', 'nu682ce623ae184f0', 'Main', 10, NULL, NULL, NULL),
('nu682ddc25aab20aa', 'nu682ddc25aa0bb5f', 'Forms', 10, '', NULL, NULL),
('nu683303b2448d46e', 'nupromptgenerator', 'Prompt', 10, 'nuOpenWiki(\'/AI_Prompt_Generator\')', NULL, NULL),
('nu6835cb1661ba10b', 'nupromptgenerator', 'Response', 20, 'nuOpenWiki(\'/AI_Prompt_Generator\')', NULL, NULL),
('nu6836b70dd94f3bd', 'nu6836b70dd053bb4', 'Main', 10, NULL, NULL, NULL),
('nu6836b7e919d69ce', 'nuitem', 'Main', 10, 'nuOpenWiki(\'/Items\')', NULL, NULL),
('nu6836ba2403b7939', 'nuitem', 'Additional', 20, 'nuOpenWiki(\'/Items\')', NULL, NULL),
('nu6839a62ff153165', 'nupromptgenerator', 'Settings', 30, 'nuOpenWiki(\'/AI_Prompt_Generator\')', NULL, NULL),
('nu68397bb78618543', 'nu68397bb77c048bb', 'Main', 10, NULL, NULL, NULL),
('nu68397cdfd04208e', 'nuobjectgrid', 'Items', 30, NULL, NULL, NULL),
('nu683d380ace2eb18', 'nusetup', 'Include', 20, NULL, NULL, NULL),
('nu683fcd855008efe', 'nualterdbcolumn', 'Main', 10, '', NULL, NULL),
('nu684e16abd1b5744', 'nunotes', 'Additional', 20, NULL, NULL, NULL),
('nu684d390a5e73fd1', 'nuhome', 'Add', 20, NULL, NULL, NULL),
('nu68653b5f3a91277', 'nuobject', '|Chart', 100, NULL, NULL, NULL),
('nu687b3c9ebc3e813', 'nuform', 'Custom Code 2', 50, NULL, NULL, NULL),
('nu6885af953ea5089', 'nuappcloner', 'Settings', 10, '', NULL, NULL),
('nu6885af953ea554b', 'nuappcloner', 'Advanced', 20, '', NULL, NULL),
('nu6886eb368899b19', 'nuappcloner', 'Tables & Views', 30, NULL, NULL, NULL),
('nu68874e7a14a63ee', 'nuprocedure', 'JS', 20, NULL, NULL, NULL);

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_timezone`
--

CREATE TABLE `zzzzsys_timezone` (
  `zzzzsys_timezone_id` varchar(25) NOT NULL,
  `stz_timezone` mediumtext,
  `stz_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

--
-- Dumping data for table `zzzzsys_timezone`
--

INSERT INTO `zzzzsys_timezone` (`zzzzsys_timezone_id`, `stz_timezone`, `stz_json`) VALUES
('52819fa3409d46f', 'Africa/Abidjan', NULL),
('52819fa44106fdd', 'Africa/Accra', NULL),
('52819fa54a1c5c4', 'Africa/Addis_Ababa', NULL),
('52819fa64a81c45', 'Africa/Algiers', NULL),
('52819fa74aef179', 'Africa/Asmara', NULL),
('52819fa84b5bed6', 'Africa/Asmera', NULL),
('52819fa94bc9a93', 'Africa/Bamako', NULL),
('52819faa4c334ed', 'Africa/Bangui', NULL),
('52819fab4c9ff3f', 'Africa/Banjul', NULL),
('52819fac4d0b2f3', 'Africa/Bissau', NULL),
('52819fad4d6d2ab', 'Africa/Blantyre', NULL),
('52819fae4dd596d', 'Africa/Brazzaville', NULL),
('52819faf4e3ea69', 'Africa/Bujumbura', NULL),
('52819fb04ea2165', 'Africa/Cairo', NULL),
('52819fb14f0c347', 'Africa/Casablanca', NULL),
('52819fb24f7a1a9', 'Africa/Ceuta', NULL),
('52819fb34feb2b9', 'Africa/Conakry', NULL),
('52819fb4505727a', 'Africa/Dakar', NULL),
('52819fb550bf3bd', 'Africa/Dar_es_Salaam', NULL),
('52819fb6512b354', 'Africa/Djibouti', NULL),
('52819fb7519de97', 'Africa/Douala', NULL),
('52819fb8520ef05', 'Africa/El_Aaiun', NULL),
('52819fb9527a466', 'Africa/Freetown', NULL),
('52819fba52e8bfe', 'Africa/Gaborone', NULL),
('52819fbb535a8db', 'Africa/Harare', NULL),
('52819fbc53cc7cb', 'Africa/Johannesburg', NULL),
('52819fbd543bb3d', 'Africa/Juba', NULL),
('52819fbe54a483a', 'Africa/Kampala', NULL),
('52819fbf550c406', 'Africa/Khartoum', NULL),
('52819fc055a94f7', 'Africa/Kigali', NULL),
('52819fc156a0bb9', 'Africa/Kinshasa', NULL),
('52819fc2584bf74', 'Africa/Lagos     ', NULL),
('52819fc358f7f66', 'Africa/Libreville', NULL),
('52819fc45965c0d', 'Africa/Lome', NULL),
('52819fc559d1824', 'Africa/Luanda', NULL),
('52819fc65a72a20', 'Africa/Lubumbashi', NULL),
('52819fc75ae5c44', 'Africa/Lusaka', NULL),
('52819fc85b5ca8c', 'Africa/Malabo', NULL),
('52819fc95bd505d', 'Africa/Maputo', NULL),
('52819fca5e1862c', 'Africa/Maseru', NULL),
('52819fcb5e82cb2', 'Africa/Mbabane', NULL),
('52819fcc5eebbe0', 'Africa/Mogadishu', NULL),
('52819fcd5f56d2d', 'Africa/Monrovia', NULL),
('52819fce5fbef7c', 'Africa/Nairobi', NULL),
('52819fcf6025798', 'Africa/Ndjamena', NULL),
('52819fd0608eabc', 'Africa/Niamey', NULL),
('52819fd160f38e7', 'Africa/Nouakchott', NULL),
('52819fd26198388', 'Africa/Ouagadougou', NULL),
('52819fd36cef7d3', 'Africa/Porto-Novo', NULL),
('52819fd46d5db96', 'Africa/Sao_Tome', NULL),
('52819fd56e465c5', 'Africa/Timbuktu', NULL),
('52819fd66eb1b1d', 'Africa/Tripoli', NULL),
('52819fd76f1d1cf', 'Africa/Tunis', NULL),
('52819fd86f894da', 'Africa/Windhoek', NULL),
('52819fd96ff36de', 'America/Adak', NULL),
('52819fda705d5db', 'America/Anchorage', NULL),
('52819fdb70ca47b', 'America/Anguilla', NULL),
('52819fdc713665a', 'America/Antigua', NULL),
('52819fdd71a44c6', 'America/Araguaina', NULL),
('52819fde7211b94', 'America/Argentina/Buenos_Aires', NULL),
('52819fdf727d3b7', 'America/Argentina/Catamarca', NULL),
('52819fe072e958b', 'America/Argentina/ComodRivadavia', NULL),
('52819fe17352bc1', 'America/Argentina/Cordoba', NULL),
('52819fe274021b6', 'America/Argentina/Jujuy', NULL),
('52819fe37477a3e', 'America/Argentina/La_Rioja', NULL),
('52819fe474f1b3c', 'America/Argentina/Mendoza', NULL),
('52819fe5756aca9', 'America/Argentina/Rio_Gallegos', NULL),
('52819fe675e3a45', 'America/Argentina/Salta', NULL),
('52819fe7765b813', 'America/Argentina/San_Juan', NULL),
('52819fe876d4888', 'America/Argentina/San_Luis', NULL),
('52819fe97747d84', 'America/Argentina/Tucuman', NULL),
('52819fea77c0dbe', 'America/Argentina/Ushuaia', NULL),
('52819feb783abf9', 'America/Aruba', NULL),
('52819fec78b6d98', 'America/Asuncion', NULL),
('52819fed7926984', 'America/Atikokan', NULL),
('52819fee799c9bd', 'America/Atka', NULL),
('52819fef7a0e5c7', 'America/Bahia', NULL),
('52819ff087e6620', 'America/Bahia_Banderas', NULL),
('52819ff18856b00', 'America/Barbados', NULL),
('52819ff2890b040', 'America/Belem', NULL),
('52819ff3897c302', 'America/Belize', NULL),
('52819ff489eb768', 'America/Blanc-Sablon', NULL),
('52819ff58a5b604', 'America/Boa_Vista', NULL),
('52819ff68acf15d', 'America/Bogota', NULL),
('52819ff78b49038', 'America/Boise', NULL),
('52819ff88bbf287', 'America/Buenos_Aires', NULL),
('52819ff98c31a7c', 'America/Cambridge_Bay', NULL),
('52819ffa8c9fd3d', 'America/Campo_Grande', NULL),
('52819ffb8d0e9f3', 'America/Cancun', NULL),
('52819ffc8d8294c', 'America/Caracas', NULL),
('52819ffd8e40c54', 'America/Catamarca', NULL),
('52819ffe8ebf7a8', 'America/Cayenne', NULL),
('52819fff8f3deef', 'America/Cayman', NULL),
('5281a0008fb91da', 'America/Chicago', NULL),
('5281a001902eacc', 'America/Chihuahua', NULL),
('5281a00290a5cdf', 'America/Coral_Harbour', NULL),
('5281a0039121eb5', 'America/Cordoba', NULL),
('5281a00491d04fe', 'America/Costa_Rica', NULL),
('5281a00592545ff', 'America/Creston', NULL),
('5281a00692d3646', 'America/Cuiaba', NULL),
('5281a007935bea0', 'America/Curacao', NULL),
('5281a00893dac77', 'America/Danmarkshavn', NULL),
('5281a00994592a4', 'America/Dawson', NULL),
('5281a00a94e4d56', 'America/Dawson_Creek', NULL),
('5281a00b956da59', 'America/Denver', NULL),
('5281a00c95f4f78', 'America/Detroit', NULL),
('5281a00d9672fc4', 'America/Dominica', NULL),
('5281a00e96f1a71', 'America/Edmonton', NULL),
('5281a00f976ef28', 'America/Eirunepe', NULL),
('5281a01097ec36c', 'America/El_Salvador', NULL),
('5281a011986a4c9', 'America/Ensenada', NULL),
('5281a01298eb04c', 'America/Fort_Wayne', NULL),
('5281a013996e3cc', 'America/Fortaleza', NULL),
('5281a01499ee0d7', 'America/Glace_Bay', NULL),
('5281a0159a6738f', 'America/Godthab', NULL),
('5281a0169ae60fb', 'America/Goose_Bay', NULL),
('5281a0179b64421', 'America/Grand_Turk', NULL),
('5281a0189be3e29', 'America/Grenada', NULL),
('5281a0199c6344a', 'America/Guadeloupe', NULL),
('5281a01a9ce3844', 'America/Guatemala', NULL),
('5281a01b9d64472', 'America/Guayaquil', NULL),
('5281a01c9de431f', 'America/Guyana', NULL),
('5281a01d9e64a89', 'America/Halifax', NULL),
('5281a01e9ee5729', 'America/Havana', NULL),
('5281a01fa582b0b', 'America/Hermosillo', NULL),
('5281a020a60c1cb', 'America/Indiana/Indianapolis', NULL),
('5281a021a68ad1b', 'America/Indiana/Knox', NULL),
('5281a022a70ab7e', 'America/Indiana/Marengo', NULL),
('5281a023a78a9f8', 'America/Indiana/Petersburg', NULL),
('5281a024b6c65d2', 'America/Indiana/Tell_City', NULL),
('5281a025b743617', 'America/Indiana/Vevay', NULL),
('5281a026b7bd32b', 'America/Indiana/Vincennes', NULL),
('5281a027b83c7b7', 'America/Indiana/Winamac', NULL),
('5281a028b8b5382', 'America/Indianapolis', NULL),
('5281a029b92b8a4', 'America/Inuvik', NULL),
('5281a02ab9a5642', 'America/Iqaluit', NULL),
('5281a02bba2319a', 'America/Jamaica', NULL),
('5281a02cc3580ca', 'America/Jujuy', NULL),
('5281a02dc3d9b4a', 'America/Juneau', NULL),
('5281a02ec4b4b08', 'America/Kentucky/Louisville', NULL),
('5281a02fc57ddcd', 'America/Kentucky/Monticello', NULL),
('5281a030c5f7f87', 'America/Knox_IN', NULL),
('5281a031c67163d', 'America/Kralendijk', NULL),
('5281a032c6ecabc', 'America/La_Paz', NULL),
('5281a033c7667a3', 'America/Lima', NULL),
('5281a034c7e4ccf', 'America/Los_Angeles', NULL),
('5281a035c860612', 'America/Louisville', NULL),
('5281a036c8dfceb', 'America/Lower_Princes', NULL),
('5281a037c95acd2', 'America/Maceio', NULL),
('5281a038c9dae4d', 'America/Managua', NULL),
('5281a039ca5fd3d', 'America/Manaus', NULL),
('5281a03ad4029d7', 'America/Marigot', NULL),
('5281a03bd4800a8', 'America/Martinique', NULL),
('5281a03cd4f8d9d', 'America/Matamoros', NULL),
('5281a03dd56f298', 'America/Mazatlan', NULL),
('5281a03ed5eb8a2', 'America/Mendoza', NULL),
('5281a03fd6686ad', 'America/Menominee', NULL),
('5281a040d6e2a6f', 'America/Merida', NULL),
('5281a041d776ec4', 'America/Metlakatla', NULL),
('5281a042d7f6261', 'America/Mexico_City', NULL),
('5281a043d874e50', 'America/Miquelon', NULL),
('5281a044d8f40df', 'America/Moncton', NULL),
('5281a045d96f56b', 'America/Monterrey', NULL),
('5281a046d9eebc9', 'America/Montevideo', NULL),
('5281a047da6f51b', 'America/Montreal', NULL),
('5281a048daec32f', 'America/Montserrat', NULL),
('5281a049db6c822', 'America/Nassau', NULL),
('5281a04adbebf83', 'America/New_York', NULL),
('5281a04be29de22', 'America/Nipigon', NULL),
('5281a04ce3791ab', 'America/Nome', NULL),
('5281a04de4621e6', 'America/Noronha', NULL),
('5281a04ee4e9d8a', 'America/North_Dakota/Beulah', NULL),
('5281a04fe56a837', 'America/North_Dakota/Center', NULL),
('5281a050e5ec3bf', 'America/North_Dakota/New_Salem', NULL),
('5281a051e66c226', 'America/Ojinaga', NULL),
('5281a052e6eb6b1', 'America/Panama', NULL),
('5281a053e771ebf', 'America/Pangnirtung', NULL),
('5281a054e7f5d06', 'America/Paramaribo', NULL),
('5281a055e87432b', 'America/Phoenix', NULL),
('5281a056f3e39a9', 'America/Port-au-Prince', NULL),
('5281a058008a8ad', 'America/Port_of_Spain', NULL),
('5281a059011444a', 'America/Porto_Acre', NULL),
('5281a05a019da2e', 'America/Porto_Velho', NULL),
('5281a05b02270ec', 'America/Puerto_Rico', NULL),
('5281a05c02b2d2e', 'America/Rainy_River', NULL),
('5281a05d0abd421', 'America/Rankin_Inlet', NULL),
('5281a05e0b23bbb', 'America/Recife', NULL),
('5281a05f0ba9fac', 'America/Regina', NULL),
('5281a0600c2a582', 'America/Resolute', NULL),
('5281a0610cf1e16', 'America/Rio_Branco', NULL),
('5281a0620d6e73e', 'America/Rosario', NULL),
('5281a0630df269f', 'America/Santa_Isabel', NULL),
('5281a0640e7c243', 'America/Santarem', NULL),
('5281a0650f00b2b', 'America/Santiago', NULL),
('5281a0660f81e90', 'America/Santo_Domingo', NULL),
('5281a0671001fe9', 'America/Sao_Paulo', NULL),
('5281a06816b015a', 'America/Scoresbysund', NULL),
('5281a0691738a17', 'America/Shiprock', NULL),
('5281a06a17c07af', 'America/Sitka', NULL),
('5281a06b184793e', 'America/St_Barthelemy', NULL),
('5281a06c18cefca', 'America/St_Johns', NULL),
('5281a06d195ad37', 'America/St_Kitts', NULL),
('5281a06e19dcad8', 'America/St_Lucia', NULL),
('5281a06f1ab84cc', 'America/St_Thomas', NULL),
('5281a0701b4895b', 'America/St_Vincent', NULL),
('5281a0711bdc9cb', 'America/Swift_Current', NULL),
('5281a0721c6d284', 'America/Tegucigalpa', NULL),
('5281a0731cfe848', 'America/Thule', NULL),
('5281a0741d90667', 'America/Thunder_Bay', NULL),
('5281a0751e22f0d', 'America/Tijuana', NULL),
('5281a0761efa34f', 'America/Toronto', NULL),
('5281a0771f90738', 'America/Tortola', NULL),
('5281a0782119266', 'America/Vancouver', NULL),
('5281a07921a60bc', 'America/Virgin', NULL),
('5281a07a2262248', 'America/Whitehorse', NULL),
('5281a07b22f5dc0', 'America/Winnipeg', NULL),
('5281a07c2387969', 'America/Yakutat', NULL),
('5281a07d24138e6', 'America/Yellowknife', NULL),
('5281a07e24a3926', 'Antarctica/Casey', NULL),
('5281a07f253cc33', 'Antarctica/Davis', NULL),
('5281a080261a293', 'Antarctica/DumontDUrville', NULL),
('5281a08126af775', 'Antarctica/Macquarie', NULL),
('5281a082274083d', 'Antarctica/Mawson', NULL),
('5281a0832b865db', 'Antarctica/McMurdo', NULL),
('5281a0842c1a6a4', 'Antarctica/Palmer', NULL),
('5281a0852cac95d', 'Antarctica/Rothera', NULL),
('5281a0862d3c98a', 'Antarctica/South_Pole', NULL),
('5281a0872dca2fd', 'Antarctica/Syowa', NULL),
('5281a0882e5a3db', 'Antarctica/Vostok', NULL),
('5281a0892ef8f3e', 'Arctic/Longyearbyen', NULL),
('5281a08a2f8c58e', 'Asia/Aden', NULL),
('5281a08b392c116', 'Asia/Almaty', NULL),
('5281a08c39bfc99', 'Asia/Amman', NULL),
('5281a08d3a9af97', 'Asia/Anadyr', NULL),
('5281a08e3afe663', 'Asia/Aqtau', NULL),
('5281a08f3b8ffbf', 'Asia/Aqtobe', NULL),
('5281a0903c1eb18', 'Asia/Ashgabat', NULL),
('5281a0913cad956', 'Asia/Ashkhabad', NULL),
('5281a0923d493e0', 'Asia/Baghdad', NULL),
('5281a0933db361c', 'Asia/Bahrain', NULL),
('5281a0943e4d693', 'Asia/Baku', NULL),
('5281a0953ee5155', 'Asia/Bangkok', NULL),
('5281a0963f77c2f', 'Asia/Beirut', NULL),
('5281a09740551ac', 'Asia/Bishkek', NULL),
('5281a09840eba22', 'Asia/Brunei', NULL),
('5281a0994183708', 'Asia/Calcutta', NULL),
('5281a09a421c122', 'Asia/Choibalsan', NULL),
('5281a09b42b4a59', 'Asia/Chongqing', NULL),
('5281a09c434d7a2', 'Asia/Chungking', NULL),
('5281a09d5004cfc', 'Asia/Colombo', NULL),
('5281a09e50a0bc7', 'Asia/Dacca', NULL),
('5281a09f5139227', 'Asia/Damascus', NULL),
('5281a0a051ccb15', 'Asia/Dhaka', NULL),
('5281a0a15264929', 'Asia/Dili', NULL),
('5281a0a25931d48', 'Asia/Dubai', NULL),
('5281a0a359c69e6', 'Asia/Dushanbe', NULL),
('5281a0a45a5d9dd', 'Asia/Gaza', NULL),
('5281a0a55af5fb5', 'Asia/Harbin', NULL),
('5281a0a6683a809', 'Asia/Hebron', NULL),
('5281a0a768ccd66', 'Asia/Ho_Chi_Minh', NULL),
('5281a0a87491a25', 'Asia/Hong_Kong', NULL),
('5281a0a975249f9', 'Asia/Hovd', NULL),
('5281a0aa75b1122', 'Asia/Irkutsk', NULL),
('5281a0ab763ee82', 'Asia/Istanbul', NULL),
('5281a0ac76d0bba', 'Asia/Jakarta', NULL),
('5281a0ad7762040', 'Asia/Jayapura', NULL),
('5281a0ae77f9979', 'Asia/Jerusalem', NULL),
('5281a0af7888b2a', 'Asia/Kabul', NULL),
('5281a0b07f60fbd', 'Asia/Kamchatka', NULL),
('5281a0b17ff7b93', 'Asia/Karachi', NULL),
('5281a0b2808875b', 'Asia/Kashgar', NULL),
('5281a0b38121eec', 'Asia/Kathmandu', NULL),
('5281a0b481b3f82', 'Asia/Katmandu', NULL),
('5281a0b582467de', 'Asia/Khandyga', NULL),
('5281a0b682d7c6b', 'Asia/Kolkata', NULL),
('5281a0b7836a737', 'Asia/Krasnoyarsk', NULL),
('5281a0b883fc097', 'Asia/Kuala_Lumpur', NULL),
('5281a0b984900e1', 'Asia/Kuching', NULL),
('5281a0ba9625309', 'Asia/Kuwait', NULL),
('5281a0bb9995a61', 'Asia/Macao', NULL),
('5281a0bc9b6658f', 'Asia/Macau', NULL),
('5281a0bda2c3f39', 'Asia/Magadan', NULL),
('5281a0bea353642', 'Asia/Makassar', NULL),
('5281a0bfa3e3403', 'Asia/Manila', NULL),
('5281a0c0a47b670', 'Asia/Muscat', NULL),
('5281a0c1a513266', 'Asia/Nicosia', NULL),
('5281a0c2a5a914a', 'Asia/Novokuznetsk', NULL),
('5281a0c3a63e893', 'Asia/Novosibirsk', NULL),
('5281a0c4a6cfff2', 'Asia/Omsk', NULL),
('5281a0c5ac5370d', 'Asia/Oral', NULL),
('5281a0c6ad3a016', 'Asia/Phnom_Penh', NULL),
('5281a0c7add4a83', 'Asia/Pontianak', NULL),
('5281a0c8ae6fc1d', 'Asia/Pyongyang', NULL),
('5281a0c9af084a7', 'Asia/Qatar', NULL),
('5281a0caaf9a3f7', 'Asia/Qyzylorda', NULL),
('5281a0cbb029a0f', 'Asia/Rangoon', NULL),
('5281a0ccb0b8ed7', 'Asia/Riyadh', NULL),
('5281a0cdb14f26f', 'Asia/Saigon', NULL),
('5281a0ceb1e6900', 'Asia/Sakhalin', NULL),
('5281a0cfb27e770', 'Asia/Samarkand', NULL),
('5281a0d0b310ab9', 'Asia/Seoul', NULL),
('5281a0d1b3a71fe', 'Asia/Shanghai', NULL),
('5281a0d2b43caed', 'Asia/Singapore', NULL),
('5281a0d3b4ce508', 'Asia/Taipei', NULL),
('5281a0d4b5675f0', 'Asia/Tashkent', NULL),
('5281a0d5b6195f2', 'Asia/Tbilisi', NULL),
('5281a0d6b6a9048', 'Asia/Tehran', NULL),
('5281a0d7b738dfa', 'Asia/Tel_Aviv', NULL),
('5281a0d8b7ca13e', 'Asia/Thimbu', NULL),
('5281a0d9c3af580', 'Asia/Thimphu', NULL),
('5281a0dac410be3', 'Asia/Tokyo', NULL),
('5281a0dbc498d19', 'Asia/Ujung_Pandang', NULL),
('5281a0dcc5452d8', 'Asia/Ulaanbaatar', NULL),
('5281a0ddc5cffcb', 'Asia/Ulan_Bator', NULL),
('5281a0dec72d2c8', 'Asia/Urumqi', NULL),
('5281a0dfc802643', 'Asia/Ust-Nera', NULL),
('5281a0e0c8a8864', 'Asia/Vientiane', NULL),
('5281a0e1c97ee98', 'Asia/Vladivostok', NULL),
('5281a0e2c9f8bff', 'Asia/Yakutsk', NULL),
('5281a0e3ca96355', 'Asia/Yekaterinburg', NULL),
('5281a0e4cb41fb8', 'Asia/Yerevan', NULL),
('5281a0e5cbd2ab3', 'Atlantic/Azores', NULL),
('5281a0e6cc39d74', 'Atlantic/Bermuda', NULL),
('5281a0e7cd08d1f', 'Atlantic/Canary', NULL),
('5281a0e8cdf71cd', 'Atlantic/Cape_Verde', NULL),
('5281a0e9cee78d7', 'Atlantic/Faeroe', NULL),
('5281a0eacf865b6', 'Atlantic/Faroe', NULL),
('5281a0ebd023d83', 'Atlantic/Jan_Mayen', NULL),
('5281a0ecd083a61', 'Atlantic/Madeira', NULL),
('5281a0edd11319e', 'Atlantic/Reykjavik', NULL),
('5281a0eed19481b', 'Atlantic/South_Georgia', NULL),
('5281a0efd1f32fb', 'Atlantic/St_Helena', NULL),
('5281a0f0d28596b', 'Atlantic/Stanley', NULL),
('5281a0f1d34022d', 'Australia/ACT', NULL),
('5281a0f2d414c2c', 'Australia/Adelaide', NULL),
('5281a0f3d50b948', 'Australia/Brisbane', NULL),
('5281a0f4d5ad53b', 'Australia/Broken_Hill', NULL),
('5281a0f5d6511b5', 'Australia/Canberra', NULL),
('5281a0f6d6f2fcb', 'Australia/Currie', NULL),
('5281a0f7d793413', 'Australia/Darwin', NULL),
('5281a0f8d837181', 'Australia/Eucla', NULL),
('5281a0f9d8d96a3', 'Australia/Hobart', NULL),
('5281a0fad975081', 'Australia/LHI', NULL),
('5281a0fbda115d9', 'Australia/Lindeman', NULL),
('5281a0fcdab0d34', 'Australia/Lord_Howe', NULL),
('5281a0fddb58517', 'Australia/Melbourne', NULL),
('5281a0fedbfa7e6', 'Australia/North', NULL),
('5281a0ffdc99118', 'Australia/NSW', NULL),
('5281a100dd385a2', 'Australia/Perth', NULL),
('5281a101ddd8257', 'Australia/Queensland', NULL),
('5281a102de7b7a9', 'Australia/South', NULL),
('5281a103df20a58', 'Australia/Sydney', NULL),
('5281a104dfc5885', 'Australia/Tasmania', NULL),
('5281a105e06a9b6', 'Australia/Victoria', NULL),
('5281a106e10f94a', 'Australia/West', NULL),
('5281a107e1b7664', 'Australia/Yancowinna', NULL),
('5281a108e25bc93', 'Brazil/Acre', NULL),
('5281a109e3d5d6e', 'Brazil/DeNoronha', NULL),
('5281a10ae43d03b', 'Brazil/East', NULL),
('5281a10be4de708', 'Brazil/West', NULL),
('5281a10ce57f01e', 'Canada/Atlantic', NULL),
('5281a10de622257', 'Canada/Central', NULL),
('5281a10ee6bf449', 'Canada/East-Saskatchewan', NULL),
('5281a10fe75f2c4', 'Canada/Eastern', NULL),
('5281a110e80412c', 'Canada/Mountain', NULL),
('5281a111e8ab026', 'Canada/Newfoundland', NULL),
('5281a112e94ed84', 'Canada/Pacific', NULL),
('5281a113e9f0daa', 'Canada/Saskatchewan', NULL),
('5281a114f0b9085', 'Canada/Yukon', NULL),
('5281a115f1557e0', 'CET', NULL),
('5281a116f1f4f2e', 'Chile/Continental', NULL),
('5281a117f296fd5', 'Chile/EasterIsland', NULL),
('5281a118f33df3d', 'CST6CDT', NULL),
('5281a119f3e04e9', 'Cuba', NULL),
('5281a11b005e55d', 'EET', NULL),
('5281a11c00fa005', 'Egypt', NULL),
('5281a11d01970ad', 'Eire', NULL),
('5281a11e027c729', 'EST', NULL),
('5281a11f031f564', 'EST5EDT', NULL),
('5281a12003bd2d8', 'Etc/GMT', NULL),
('5281a121045accb', 'Etc/GMT+0', NULL),
('5281a1220508372', 'Etc/GMT+1', NULL),
('5281a12305b7170', 'Etc/GMT+10', NULL),
('5281a12406b3d0a', 'Etc/GMT+11', NULL),
('5281a125075e837', 'Etc/GMT+12', NULL),
('5281a126080e0f2', 'Etc/GMT+2', NULL),
('5281a12708c2a64', 'Etc/GMT+3', NULL),
('5281a128097255f', 'Etc/GMT+4', NULL),
('5281a1290a6ffbc', 'Etc/GMT+5', NULL),
('5281a12a0b21a7c', 'Etc/GMT+6', NULL),
('5281a12b0bcc422', 'Etc/GMT+7', NULL),
('5281a12c0c747f2', 'Etc/GMT+8', NULL),
('5281a12d0d21e28', 'Etc/GMT+9', NULL),
('5281a12e0dd3691', 'Etc/GMT-0', NULL),
('5281a12f14f8806', 'Etc/GMT-1', NULL),
('5281a13015ad04a', 'Etc/GMT-10', NULL),
('5281a131165c9a8', 'Etc/GMT-11', NULL),
('5281a132170a862', 'Etc/GMT-12', NULL),
('5281a13317ba384', 'Etc/GMT-13', NULL),
('5281a1341865467', 'Etc/GMT-14', NULL),
('5281a1351915ab2', 'Etc/GMT-2', NULL),
('5281a13619c9d77', 'Etc/GMT-3', NULL),
('5281a1371a7a768', 'Etc/GMT-4', NULL),
('5281a1381b291ad', 'Etc/GMT-5', NULL),
('5281a1391bd512c', 'Etc/GMT-6', NULL),
('5281a13a1cdc706', 'Etc/GMT-7', NULL),
('5281a13b1dde432', 'Etc/GMT-8', NULL),
('5281a13c1e901f3', 'Etc/GMT-9', NULL),
('5281a13d1f4118d', 'Etc/GMT0', NULL),
('5281a13e1fecf31', 'Etc/Greenwich', NULL),
('5281a13f20ea1f3', 'Etc/UCT', NULL),
('5281a14021ecc1a', 'Etc/Universal', NULL),
('5281a141276c8dd', 'Etc/UTC', NULL),
('5281a1422870f52', 'Etc/Zulu', NULL),
('5281a14328d7e27', 'Europe/Amsterdam', NULL),
('5281a144293e781', 'Europe/Andorra', NULL),
('5281a14529a6597', 'Europe/Athens', NULL),
('5281a1462a2183d', 'Europe/Belfast', NULL),
('5281a1472b27ab5', 'Europe/Belgrade', NULL),
('5281a1482b95f9d', 'Europe/Berlin', NULL),
('5281a1492c3f8d0', 'Europe/Bratislava', NULL),
('5281a14a2d40451', 'Europe/Brussels', NULL),
('5281a14b2de356d', 'Europe/Bucharest', NULL),
('5281a14c2e8003e', 'Europe/Budapest', NULL),
('5281a14d2ef47a3', 'Europe/Busingen', NULL),
('5281a14e2f9d4cf', 'Europe/Chisinau', NULL),
('5281a14f3048453', 'Europe/Copenhagen', NULL),
('5281a15030f2b55', 'Europe/Dublin', NULL),
('5281a1513ce8a90', 'Europe/Gibraltar', NULL),
('5281a1523d9455c', 'Europe/Guernsey', NULL),
('5281a1533e3ecc9', 'Europe/Helsinki', NULL),
('5281a1543ee5f5a', 'Europe/Isle_of_Man', NULL),
('5281a1553fb3f61', 'Europe/Istanbul', NULL),
('5281a15640623f7', 'Europe/Jersey', NULL),
('5281a1574109a27', 'Europe/Kaliningrad', NULL),
('5281a158421be40', 'Europe/Kiev', NULL),
('5281a15942d2df1', 'Europe/Lisbon', NULL),
('5281a15a4387b4d', 'Europe/Ljubljana', NULL),
('5281a15b443824d', 'Europe/London', NULL),
('5281a15c44ee825', 'Europe/Luxembourg', NULL),
('5281a15d459a699', 'Europe/Madrid', NULL),
('5281a15e46aa01e', 'Europe/Malta', NULL),
('5281a15f4756ead', 'Europe/Mariehamn', NULL),
('5281a16048033d3', 'Europe/Minsk', NULL),
('5281a16148b02d8', 'Europe/Monaco', NULL),
('5281a162495ae00', 'Europe/Moscow', NULL),
('5281a1634a06938', 'Europe/Nicosia', NULL),
('5281a1644ab2537', 'Europe/Oslo', NULL),
('5281a1654b607a0', 'Europe/Paris', NULL),
('5281a1664c0a464', 'Europe/Podgorica', NULL),
('5281a1675297098', 'Europe/Prague', NULL),
('5281a168534cbef', 'Europe/Riga', NULL),
('5281a16953c1632', 'Europe/Rome', NULL),
('5281a16a546eb1c', 'Europe/Samara', NULL),
('5281a16b55183d6', 'Europe/San_Marino', NULL),
('5281a16c55c3e49', 'Europe/Sarajevo', NULL),
('5281a16d567a909', 'Europe/Simferopol', NULL),
('5281a16e578c5ca', 'Europe/Skopje', NULL),
('5281a16f58a0561', 'Europe/Sofia', NULL),
('5281a17059b7e00', 'Europe/Stockholm', NULL),
('5281a1715ada39c', 'Europe/Tallinn', NULL),
('5281a1725b981dd', 'Europe/Tirane', NULL),
('5281a1735c520ab', 'Europe/Tiraspol', NULL),
('5281a1745d0c5ff', 'Europe/Uzhgorod', NULL),
('5281a1755dc75a3', 'Europe/Vaduz', NULL),
('5281a1765e7ec77', 'Europe/Vatican', NULL),
('5281a1775f33528', 'Europe/Vienna', NULL),
('5281a1785fee51e', 'Europe/Vilnius', NULL),
('5281a17960a75a5', 'Europe/Volgograd', NULL),
('5281a17a61653f3', 'Europe/Warsaw', NULL),
('5281a17b621c391', 'Europe/Zagreb', NULL),
('5281a17c62d8149', 'Europe/Zaporozhye', NULL),
('5281a17d6394bdc', 'Europe/Zurich', NULL),
('5281a17e64b04e6', 'Factory', NULL),
('5281a17f6566ce7', 'GB', NULL),
('5281a180667b0ff', 'GB-Eire', NULL),
('5281a18167364aa', 'GMT', NULL),
('5281a18267f39f3', 'GMT+0', NULL),
('5281a183690a029', 'GMT-0', NULL),
('5281a18469c9b45', 'GMT0', NULL),
('5281a1856a822c1', 'Greenwich', NULL),
('5281a1866b3a73f', 'Hongkong', NULL),
('5281a1876bf5f3f', 'HST', NULL),
('5281a1886cbc018', 'Iceland', NULL),
('5281a1896d7af41', 'Indian/Antananarivo', NULL),
('5281a18a6e38d94', 'Indian/Chagos', NULL),
('5281a18b6ef1055', 'Indian/Christmas', NULL),
('5281a18c6fa914a', 'Indian/Cocos', NULL),
('5281a18d716cac2', 'Indian/Comoro', NULL),
('5281a18e727f96b', 'Indian/Kerguelen', NULL),
('5281a18f7335833', 'Indian/Mahe', NULL),
('5281a1907dbe28e', 'Indian/Maldives', NULL),
('5281a1917e7a840', 'Indian/Mauritius', NULL),
('5281a1927f358dc', 'Indian/Mayotte', NULL),
('5281a1937ffce01', 'Indian/Reunion', NULL),
('5281a19480b8eb3', 'Iran', NULL),
('5281a1958174e03', 'Israel', NULL),
('5281a1968236672', 'Jamaica', NULL),
('5281a1978349c3b', 'Japan', NULL),
('5281a19884666fe', 'Kwajalein', NULL),
('5281a19985161dc', 'Libya', NULL),
('5281a19a85d936f', 'MET', NULL),
('5281a19b869ac55', 'Mexico/BajaNorte', NULL),
('5281a19c8755b50', 'Mexico/BajaSur', NULL),
('5281a19d8805651', 'Mexico/General', NULL),
('5281a19e88c6791', 'MST', NULL),
('5281a19f8a9df7c', 'MST7MDT', NULL),
('5281a1a08b568c9', 'Navajo', NULL),
('5281a1a18c10637', 'NZ', NULL),
('5281a1a28cc076a', 'NZ-CHAT', NULL),
('5281a1a38db68d2', 'Pacific/Apia', NULL),
('5281a1a48edbfe0', 'Pacific/Auckland', NULL),
('5281a1a58f97f6b', 'Pacific/Chatham', NULL),
('5281a1a690adea0', 'Pacific/Chuuk', NULL),
('5281a1a7914900c', 'Pacific/Easter', NULL),
('5281a1a89202f8f', 'Pacific/Efate', NULL),
('5281a1a992be08a', 'Pacific/Enderbury', NULL),
('5281a1aa9376832', 'Pacific/Fakaofo', NULL),
('5281a1ab969470b', 'Pacific/Fiji', NULL),
('5281a1ac9755655', 'Pacific/Funafuti', NULL),
('5281a1ad9816446', 'Pacific/Galapagos', NULL),
('5281a1ae98d3fae', 'Pacific/Gambier', NULL),
('5281a1af9991f3e', 'Pacific/Guadalcanal', NULL),
('5281a1b09a4fddd', 'Pacific/Guam', NULL),
('5281a1b19b0cfd2', 'Pacific/Honolulu', NULL),
('5281a1b29faa3dd', 'Pacific/Johnston', NULL),
('5281a1b3a0d3019', 'Pacific/Kiritimati', NULL),
('5281a1b4a18cdc0', 'Pacific/Kosrae', NULL),
('5281a1b5a2a9fe4', 'Pacific/Kwajalein', NULL),
('5281a1b6a366199', 'Pacific/Majuro', NULL),
('5281a1b7a41e352', 'Pacific/Marquesas', NULL),
('5281a1b8a543c50', 'Pacific/Midway', NULL),
('5281a1b9a65d08d', 'Pacific/Nauru', NULL),
('5281a1baa7229e2', 'Pacific/Niue', NULL),
('5281a1bba7e9f84', 'Pacific/Norfolk', NULL),
('5281a1bca8aff1f', 'Pacific/Noumea', NULL),
('5281a1bda973ea9', 'Pacific/Pago_Pago', NULL),
('5281a1beaa37ad1', 'Pacific/Palau', NULL),
('5281a1bfaaf8959', 'Pacific/Pitcairn', NULL),
('5281a1c0abb94a6', 'Pacific/Pohnpei', NULL),
('5281a1c1ac7d9a4', 'Pacific/Ponape', NULL),
('5281a1c2adaeefc', 'Pacific/Port_Moresby', NULL),
('5281a1c3ae74c55', 'Pacific/Rarotonga', NULL),
('5281a1c4af3715e', 'Pacific/Saipan', NULL),
('5281a1c5aff8b7a', 'Pacific/Samoa', NULL),
('5281a1c6b0be317', 'Pacific/Tahiti', NULL),
('5281a1c7b7d1d5a', 'Pacific/Tarawa', NULL),
('5281a1c8b88aa9e', 'Pacific/Tongatapu', NULL),
('5281a1c9b9b4eb9', 'Pacific/Truk', NULL),
('5281a1caba3a73f', 'Pacific/Wake', NULL),
('5281a1cbbb03788', 'Pacific/Wallis', NULL),
('5281a1ccc0a2ed7', 'Pacific/Yap', NULL),
('5281a1cdc1ce40f', 'Poland', NULL),
('5281a1cec2b8c7b', 'Portugal', NULL),
('5281a1cfc380ffd', 'PRC', NULL),
('5281a1d0c44a02a', 'PST8PDT', NULL),
('5281a1d1c5090a1', 'ROC', NULL),
('5281a1d2c5cc7f0', 'ROK', NULL),
('5281a1d3c69078e', 'Singapore', NULL),
('5281a1d4c757c4b', 'Turkey', NULL),
('5281a1d5c82280a', 'UCT', NULL),
('5281a1d6c8ec435', 'Universal', NULL),
('5281a1d7c9af2ed', 'US/Alaska', NULL),
('5281a1d8cabf7f1', 'US/Aleutian', NULL),
('5281a1d9cb7bad5', 'US/Arizona', NULL),
('5281a1dacc37651', 'US/Central', NULL),
('5281a1dbccf3617', 'US/East-Indiana', NULL),
('5281a1dcce1ad1c', 'US/Eastern', NULL),
('5281a1ddcee9e3c', 'US/Hawaii', NULL),
('5281a1decfb3884', 'US/Indiana-Starke', NULL),
('5281a1dfd0d95b2', 'US/Michigan', NULL),
('5281a1e0d1a0e86', 'US/Mountain', NULL),
('5281a1e1d267cf9', 'US/Pacific', NULL),
('5281a1e2d332a62', 'US/Pacific-New', NULL),
('5281a1e3d3f844f', 'US/Samoa', NULL),
('5281a1e4d4c2232', 'UTC', NULL),
('5281a1e5d5896c1', 'W-SU', NULL),
('5281a1e6d64f54c', 'WET', NULL),
('5281a1e7d719d77', 'Zulu', NULL);

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_translate`
--

CREATE TABLE `zzzzsys_translate` (
  `zzzzsys_translate_id` varchar(25) NOT NULL,
  `trl_language` varchar(20) DEFAULT NULL,
  `trl_english` varchar(500) DEFAULT NULL,
  `trl_translation` varchar(500) DEFAULT NULL,
  `trl_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_user`
--

CREATE TABLE `zzzzsys_user` (
  `zzzzsys_user_id` varchar(25) NOT NULL DEFAULT '',
  `sus_zzzzsys_access_id` varchar(25) DEFAULT NULL,
  `sus_language` varchar(20) DEFAULT NULL,
  `sus_name` varchar(50) DEFAULT NULL,
  `sus_first_name` varchar(30) DEFAULT NULL,
  `sus_last_name` varchar(30) DEFAULT NULL,
  `sus_code` varchar(50) DEFAULT NULL,
  `sus_position` varchar(50) DEFAULT NULL,
  `sus_department` varchar(50) DEFAULT NULL,
  `sus_team` varchar(50) DEFAULT NULL,
  `sus_email` varchar(255) DEFAULT NULL,
  `sus_additional1` varchar(100) DEFAULT NULL,
  `sus_additional2` varchar(100) DEFAULT NULL,
  `sus_permission` varchar(1000) DEFAULT NULL,
  `sus_login_name` varchar(50) DEFAULT NULL,
  `sus_login_password` varchar(300) DEFAULT NULL,
  `sus_expires_on` datetime DEFAULT NULL,
  `sus_change_password` varchar(1) DEFAULT NULL,
  `sus_accessibility_features` varchar(1) DEFAULT NULL,
  `sus_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

-- --------------------------------------------------------

--
-- Table structure for table `zzzzsys_user_permission`
--

CREATE TABLE `zzzzsys_user_permission` (
  `zzzzsys_user_permission_id` varchar(25) NOT NULL,
  `upe_zzzzsys_user_id` varchar(25) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
  `upe_ident` varchar(50) DEFAULT NULL,
  `upe_active` varchar(1) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;

--
-- Indexes for dumped tables
--

--
-- Indexes for table `zzzzsys_access`
--
ALTER TABLE `zzzzsys_access`
  ADD PRIMARY KEY (`zzzzsys_access_id`),
  ADD KEY `sal_name` (`sal_code`),
  ADD KEY `sal_zzzzsys_form_id` (`sal_zzzzsys_form_id`);

--
-- Indexes for table `zzzzsys_access_form`
--
ALTER TABLE `zzzzsys_access_form`
  ADD PRIMARY KEY (`zzzzsys_access_form_id`),
  ADD KEY `saf_zzzzsys_access_id` (`slf_zzzzsys_access_id`),
  ADD KEY `slf_zzzzsys_form_id` (`slf_zzzzsys_form_id`);

--
-- Indexes for table `zzzzsys_access_php`
--
ALTER TABLE `zzzzsys_access_php`
  ADD PRIMARY KEY (`zzzzsys_access_php_id`),
  ADD KEY `slp_zzzzsys_access_id` (`slp_zzzzsys_access_id`),
  ADD KEY `slp_zzzzsys_php_id` (`slp_zzzzsys_php_id`);

--
-- Indexes for table `zzzzsys_access_report`
--
ALTER TABLE `zzzzsys_access_report`
  ADD PRIMARY KEY (`zzzzsys_access_report_id`),
  ADD KEY `sre_zzzzsys_access_id` (`sre_zzzzsys_access_id`),
  ADD KEY `sre_zzzzsys_report_id` (`sre_zzzzsys_report_id`);

--
-- Indexes for table `zzzzsys_app_cloner`
--
ALTER TABLE `zzzzsys_app_cloner`
  ADD PRIMARY KEY (`zzzzsys_app_cloner_id`);

--
-- Indexes for table `zzzzsys_browse`
--
ALTER TABLE `zzzzsys_browse`
  ADD PRIMARY KEY (`zzzzsys_browse_id`),
  ADD KEY `sbr_zzzsys_form_id` (`sbr_zzzzsys_form_id`);

--
-- Indexes for table `zzzzsys_cloner`
--
ALTER TABLE `zzzzsys_cloner`
  ADD PRIMARY KEY (`zzzzsys_cloner_id`);

--
-- Indexes for table `zzzzsys_code_snippet`
--
ALTER TABLE `zzzzsys_code_snippet`
  ADD PRIMARY KEY (`zzzzsys_code_snippet_id`);

--
-- Indexes for table `zzzzsys_config`
--
ALTER TABLE `zzzzsys_config`
  ADD PRIMARY KEY (`zzzzsys_config_id`);

--
-- Indexes for table `zzzzsys_debug`
--
ALTER TABLE `zzzzsys_debug`
  ADD PRIMARY KEY (`zzzzsys_debug_id`);

--
-- Indexes for table `zzzzsys_email_log`
--
ALTER TABLE `zzzzsys_email_log`
  ADD PRIMARY KEY (`zzzzsys_email_log_id`),
  ADD KEY `eml_form_id` (`eml_form_id`),
  ADD KEY `eml_user_id` (`eml_user_id`),
  ADD KEY `eml_record_id` (`eml_record_id`);

--
-- Indexes for table `zzzzsys_email_template`
--
ALTER TABLE `zzzzsys_email_template`
  ADD PRIMARY KEY (`zzzzsys_email_template_id`);

--
-- Indexes for table `zzzzsys_event`
--
ALTER TABLE `zzzzsys_event`
  ADD PRIMARY KEY (`zzzzsys_event_id`),
  ADD KEY `sev_zzzsys_object_id` (`sev_zzzzsys_object_id`),
  ADD KEY `sev_event` (`sev_event`);

--
-- Indexes for table `zzzzsys_file`
--
ALTER TABLE `zzzzsys_file`
  ADD PRIMARY KEY (`zzzzsys_file_id`);

--
-- Indexes for table `zzzzsys_form`
--
ALTER TABLE `zzzzsys_form`
  ADD PRIMARY KEY (`zzzzsys_form_id`);

--
-- Indexes for table `zzzzsys_format`
--
ALTER TABLE `zzzzsys_format`
  ADD PRIMARY KEY (`zzzzsys_format_id`);

--
-- Indexes for table `zzzzsys_info`
--
ALTER TABLE `zzzzsys_info`
  ADD PRIMARY KEY (`zzzzsys_info_id`);

--
-- Indexes for table `zzzzsys_item`
--
ALTER TABLE `zzzzsys_item`
  ADD PRIMARY KEY (`zzzzsys_item_id`);

--
-- Indexes for table `zzzzsys_note`
--
ALTER TABLE `zzzzsys_note`
  ADD PRIMARY KEY (`zzzzsys_note_id`),
  ADD UNIQUE KEY `title` (`not_title`) USING BTREE,
  ADD KEY `not_zzzzsys_note_category_id` (`not_zzzzsys_note_category_id`);

--
-- Indexes for table `zzzzsys_note_category`
--
ALTER TABLE `zzzzsys_note_category`
  ADD PRIMARY KEY (`zzzzsys_note_category_id`);

--
-- Indexes for table `zzzzsys_object`
--
ALTER TABLE `zzzzsys_object`
  ADD PRIMARY KEY (`zzzzsys_object_id`),
  ADD KEY `sob_all_zzzzsys_form_id` (`sob_all_zzzzsys_form_id`),
  ADD KEY `sob_all_zzzzsys_tab_id` (`sob_all_zzzzsys_tab_id`),
  ADD KEY `sob_run_zzzzsys_form_id` (`sob_run_zzzzsys_form_id`),
  ADD KEY `sob_lookup_zzzzsys_form_id` (`sob_lookup_zzzzsys_form_id`),
  ADD KEY `sob_subform_zzzzsys_form_id` (`sob_subform_zzzzsys_form_id`),
  ADD KEY `sob_image_zzzzsys_file_id` (`sob_image_zzzzsys_file_id`);

--
-- Indexes for table `zzzzsys_permission_item`
--
ALTER TABLE `zzzzsys_permission_item`
  ADD PRIMARY KEY (`zzzzsys_permission_item_id`);

--
-- Indexes for table `zzzzsys_php`
--
ALTER TABLE `zzzzsys_php`
  ADD PRIMARY KEY (`zzzzsys_php_id`),
  ADD KEY `sph_zzzzsys_form_id` (`sph_zzzzsys_form_id`);

--
-- Indexes for table `zzzzsys_prompt_generator`
--
ALTER TABLE `zzzzsys_prompt_generator`
  ADD PRIMARY KEY (`zzzzsys_prompt_generator_id`);

--
-- Indexes for table `zzzzsys_report`
--
ALTER TABLE `zzzzsys_report`
  ADD PRIMARY KEY (`zzzzsys_report_id`),
  ADD KEY `sre_code` (`sre_code`);

--
-- Indexes for table `zzzzsys_report_data`
--
ALTER TABLE `zzzzsys_report_data`
  ADD PRIMARY KEY (`zzzzsys_report_data_id`);

--
-- Indexes for table `zzzzsys_select`
--
ALTER TABLE `zzzzsys_select`
  ADD PRIMARY KEY (`zzzzsys_select_id`);

--
-- Indexes for table `zzzzsys_select_clause`
--
ALTER TABLE `zzzzsys_select_clause`
  ADD PRIMARY KEY (`zzzzsys_select_clause_id`);

--
-- Indexes for table `zzzzsys_session`
--
ALTER TABLE `zzzzsys_session`
  ADD PRIMARY KEY (`zzzzsys_session_id`);

--
-- Indexes for table `zzzzsys_setup`
--
ALTER TABLE `zzzzsys_setup`
  ADD PRIMARY KEY (`zzzzsys_setup_id`);

--
-- Indexes for table `zzzzsys_tab`
--
ALTER TABLE `zzzzsys_tab`
  ADD PRIMARY KEY (`zzzzsys_tab_id`),
  ADD KEY `syt_zzzzsys_form_id` (`syt_zzzzsys_form_id`);

--
-- Indexes for table `zzzzsys_timezone`
--
ALTER TABLE `zzzzsys_timezone`
  ADD PRIMARY KEY (`zzzzsys_timezone_id`);

--
-- Indexes for table `zzzzsys_translate`
--
ALTER TABLE `zzzzsys_translate`
  ADD PRIMARY KEY (`zzzzsys_translate_id`);

--
-- Indexes for table `zzzzsys_user`
--
ALTER TABLE `zzzzsys_user`
  ADD PRIMARY KEY (`zzzzsys_user_id`),
  ADD KEY `sus_zzzzsys_access_id` (`sus_zzzzsys_access_id`),
  ADD KEY `sus_code` (`sus_code`);

--
-- Indexes for table `zzzzsys_user_permission`
--
ALTER TABLE `zzzzsys_user_permission`
  ADD PRIMARY KEY (`zzzzsys_user_permission_id`),
  ADD KEY `upe_zzzzsys_user_id` (`upe_zzzzsys_user_id`);
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
