Legato
Legato

GoFiler Legato Script Reference

 

Legato v 1.5b

Application v 5.24b

  

 

Appendix A — Legato SDK Standard Definitions

//
//      Legato Preprocess SDK
//      ---------------------
//
//      These definitions are built into the default operation of Legato. The can be overridden by placing:
//
//              #pragma NoSDK
//
//      at the start of an application. This file is provided to allow programmers to see the underlying 
//      definitions and also, if desired, override and change the definitions. If they are changed, a different
//      filename should be used to avoid the contents being overwritten during application update cycles.
//
//      Unless noted, the source of the define framework or support within the base PSG modules. Part of the
//      SDK defines are based on the Windows SDK.
//
//      Rev 10/21/2024
//
//      (c) 2013-2024 Novaworks, LLC. Certain parts derived from Microsoft Windows SDK.
//


                                                        /********************************************************/
                                                        /* Base Defines                                         */
                                                        /* ------------                                         */
                                                        /********************************************************/

                                                                /************************************************/
                                                                /* SDK                                          */
                                                                /************************************************/

                                                                        /****************************************/
#define LEGATO                                                          /* We Are Running Legato                */
#define LS_SDK_VERSION  "ls_sdk_15b"                                    /* SDK Reference Version                */
#define LS_SDK_15B                                                      /* SDK Defined Version                  */

                                                                /************************************************/
                                                                /* General Items                                */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Logic (Win SDK)                   */
                                                                        /*  * Win SDK                           */
#define FALSE                                           0               /* Boolean                              */
#define TRUE                                            1               /* Boolean                              */
                                                                        /*  * Java                              */
#define false                                           0               /* Java Friendly Boolean                */
#define true                                            1               /* Java Friendly Boolean                */
                                                                        /*                                      */
                                                                        /* ** Handles                           */                                                                        
#define NULL_HANDLE                                     0               /* General Null Handle Value            */
#define NULL                                            0               /* Like Windows/C++ Value (void *0)     */
#define INVALID_HANDLE_VALUE                            0xFFFFFFFF      /* Similar to Windows SDK               */
                                                                        /*                                      */

                                                                        /****************************************/
                                                                        /* ** Error Codes                       */
                                                                        /*  * Control                           */
#define ERROR_MASK                                      0xFF000000      /* Error Code Mask                      */
#define ERROR_CLASS_MASK                                0xC0000000      /* Type Error Code Mask                 */
#define ERROR_BIT                                       0x80000000      /* All Errors Must Have Bit Set         */
                                                                        /*  o Code Types                        */
#define ERROR_CODE_TYPE_MASK                            0x00400000      /* Error Code Type Mask                 */
#define ERROR_CT_LOCAL                                  0x00000000      /* Code is Local (default)              */
#define ERROR_CT_WINDOWS                                0x00400000      /* Code is Windows API Code             */
                                                                        /*  o Optional Report Information       */
#define ERROR_REPORTED                                  0x00800000      /* Error was Reported/Recorded          */
                                                                        /* (by default all fatal errors are     */
                                                                        /*  reported at the point of the error) */
                                                                        /*  o Data Types (apply to parameters)  */
#define ERROR_DATA_TYPE_MASK                            0x00300000      /* Error Code Type Mask                 */
#define ERROR_DT_GENERAL                                0x00000000      /* General Error (default)              */
#define ERROR_DT_SOURCE                                 0x00100000      /* Applies to Source Data               */
#define ERROR_DT_DESTINATION                            0x00200000      /* Applies to Destination Data          */
                                                                        /*  o Cancel Expansion                  */
#define ERROR_CANCEL_MASK                               0x00300000      /* Mask for Cancel Type                 */
#define ERROR_CANCEL_ELECTIVE                           0x00000000      /* Cancelled At Request of User         */
#define ERROR_CANCEL_NON_ELECTIVE                       0x00100000      /* Cancelled Because of Condition       */
                                                                        /*  * No Error                          */
#define ERROR_NONE                                      0x00000000      /* No Error                             */
#define ERROR_NONE_MASK                                 0x000FFFFF      /* No Error Return Value Mask           */
#define ERROR_MESSAGE_OK                                0x20000000      /* No Error (Result for Message)        */
#define ERROR_NO_REPORT                                 0x00000000      /* Error not Reported (semantic)        */
                                                                        /*  * Inter-Window Messages             */
#define ERROR_MESSAGE                                   0x20000000      /* Error/Result is Message              */
                                                                        /*  * Non-Fatal Class Errors            */
#define ERROR_SOFT                                      0x80000000      /* Class (Soft Error)                   */
#define ERROR_EOD                                       0x81000000      /* End of Data                          */
#define ERROR_CANCEL                                    0x82000000      /* Operation was Cancelled              */
#define ERROR_OVERFLOW                                  0x83000000      /* Value or String Overflow             */
#define ERROR_SYNTAX                                    0x84000000      /* Value or String Syntax Error         */
#define ERROR_FILE                                      0x85000000      /* File Windows API Error (with type)   */
#define ERROR_FUNCTION_NOT_SUPPORTED                    0x86000000      /* Function Not Supported               */
#define ERROR_RANGE                                     0x87000000      /* Parameter Out of Range               */
#define ERROR_REMOTE                                    0x88000000      /* Error from Remote System (Cloud)     */
#define ERROR_EXIT                                      0x89000000      /* Function Requests Exit/No error      */
#define ERROR_CONTEXT                                   0x8A000000      /* The Context Was Not Correct          */
#define ERROR_TIME_OUT                                  0x8B000000      /* A Timeout Occurred in a Routine      */
                                                                        /*  * Fatal Class Errors                */
#define ERROR_FATAL                                     0xC0000000      /* Class (Non-Specific Fatal Error)     */
#define ERROR_MEMORY                                    0xC1000000      /* Error Allocating or Locking Memory   */
#define ERROR_FILE_IO                                   0xC2000000      /* File Error, Read/Write/Position      */
#define ERROR_FILE_INTERNAL                             0xC3000000      /* File Error, Internal File            */
#define ERROR_FILE_EXTERNAL                             0xC4000000      /* File Error, External File (user)     */
#define ERROR_WINDOWS_API                               0xC5000000      /* Windows API Error (with type)        */
#define ERROR_PARAMETER                                 0xC6000000      /* An Invalid Parameter Was Passed      */
#define ERROR_RESOURCE                                  0xC7000000      /* Resource Could Not be Found          */
#define ERROR_CONDITION                                 0xC8000000      /* Invalid Condition Existed in Routine */
                                                                        /*  (7-F reserved)                      */
                                                                        /*  * Error Details                     */
#define ERROR_CODE_MASK                                 0x0000FFFF      /* Error Code Mask                      */
#define ERROR_FATAL_LOCAL     (ERROR_FATAL  | (ERROR_CT_LOCAL))         /* Fatal Error with a Local Code        */
#define ERROR_SOFT_LOCAL      (ERROR_SOFT   | (ERROR_CT_LOCAL))         /* Soft Error with a Local Code         */
#define ERROR_CANCEL_AUTO     (ERROR_CANCEL | ERROR_CANCEL_NON_ELECTIVE)/* Non-Elective Cancelled (Condition)   */
                                                                        /*                                      */
                                                                        /*  o Cancel Sub Modes                  */
#define ERROR_CANCEL_AUTO     (ERROR_CANCEL | ERROR_CANCEL_NON_ELECTIVE)/* Non-Elective Cancelled (Condition)   */
                                                                        /*  > Menu Codes                        */
#define ERROR_CANCEL_CODE_MASK                          0x0000F000      /* Mask (Avoid File Error Conflicts)    */
#define ERROR_CANCEL_NO_INFO                            0x00000000      /* No Additional Information            */
#define ERROR_CANCEL_USER                               0x00001000      /* User Stopped Process                 */
#define ERROR_CANCEL_SELECT_MODE                        0x00002000      /* Invalid Select State                 */
#define ERROR_CANCEL_CONTEXT                            0x00003000      /* Invalid Context or State             */
#define ERROR_CANCEL_PARAMETER                          0x00004000      /* Required Parameter Missing           */
                                                                        /*                                      */
                                                                        /*  * Local Codes                       */
#define ERROR_LOCAL_NOT_DEFINED                                  1      /* No Local Code                        */
#define ERROR_LOCAL_NO_RESOURCE                                  2      /* Resource Not Found                   */
#define ERROR_LOCAL_BAD_DATA                                     3      /* Bad Internal Data                    */
#define ERROR_LOCAL_SECURITY_VALIDATION                          4      /* Error Validating Security            */

                                                                /************************************************/
                                                                /* Security Information                         */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Definitions                       */
                                                                        /*  * Mode                              */
#define SP_RIGHTS_DISBALED                                       0      /* Security is Disabled                 */
#define SP_RIGHTS_APPLICATION                                    1      /* Security is From Application         */
                                                                        /*                                      */
                                                                        /* ** Security Rights                   */
                                                                        /*  * General                           */
#define SP_RIGHTS_ALL                           0xFFFFFFFFFFFFFFFF      /* All Access                           */
                                                                        /*  * System                            */
#define SP_RIGHTS_CAN_SHELL_EXECUTE             0x0000000000000010      /* Execute Programs                     */
#define SP_RIGHTS_CAN_SHELL_COMMANDS            0x0000000000000020      /* Run Shell Commands                   */
#define SP_RIGHTS_CAN_RUN_DLL                   0x0000000000000040      /* Execute DLL Extensions               */
#define SP_RIGHTS_CAN_RUN_SCRIPTS               0x0000000000000080      /* Execute Other Scripts                */
                                                                        /*  * Internet                          */
#define SP_RIGHTS_CAN_ACCESS_INTERNET           0x0000000000000100      /* Internet Access                      */
#define SP_RIGHTS_CAN_ACCESS_EMAIL              0x0000000000000200      /* Email Access                         */
                                                                        /*  * File                              */
#define SP_RIGHTS_CAN_READ_USER_FILES           0x0000000010000000      /* Read User Access                     */
#define SP_RIGHTS_CAN_WRITE_USER_FILES          0x0000000020000000      /* Write User Access                    */
#define SP_RIGHTS_CAN_DELETE_USER_FILES         0x0000000040000000      /* Delete User Access                   */
#define SP_RIGHTS_CAN_ENUMERATE_USER_FILES      0x0000000080000000      /* Enumerate User Access                */
#define SP_RIGHTS_CAN_READ_ALL_FILES            0x0000000100000000      /* Read All Access                      */
#define SP_RIGHTS_CAN_WRITE_ALL_FILES           0x0000000200000000      /* Write All Access                     */
#define SP_RIGHTS_CAN_DELETE_ALL_FILES          0x0000000400000000      /* Delete All Access                    */
#define SP_RIGHTS_CAN_ENUMERATE_ALL_FILES       0x0000000800000000      /* Enumerate All Access                 */
                                                                        /*  * Settings/Registry                 */
#define SP_RIGHTS_CAN_READ_REGISTRY             0x0000010000000000      /* Read Registry                        */
#define SP_RIGHTS_CAN_WRITE_REGISTRY            0x0000020000000000      /* Write Registry                       */
#define SP_RIGHTS_CAN_READ_INI_FILES            0x0000040000000000      /* Read INI Files                       */
#define SP_RIGHTS_CAN_WRITE_INI_FILES           0x0000080000000000      /* Write INI Files                      */
                                                                        /*  * Data                              */
#define SP_RIGHTS_CAN_ACCESS_ODBC               0x0000100000000000      /* Data Base Access                     */
                                                                        /*  * EDGAR System                      */
#define SP_RIGHTS_CAN_ACCESS_LIBRARIES          0x0001000000000000      /* Access EDGAR Libraries               */
#define SP_RIGHTS_CAN_ACCESS_EDGAR_SYSTEM       0x0002000000000000      /* Access EDGAR System                  */
                                                                        /*                                      */
                                                                        /* ** Retrieval Mode                    */
                                                                        /*  * Items                             */
#define SP_SECURITY_MODE                                         0      /* Retrieve Current Mode                */
#define SP_SECURITY_TRUSTED                                      1      /* Retrieve Trusted Bits                */
#define SP_SECURITY_QUERY                                        2      /* Retrieve Query Bits                  */
#define SP_SECURITY_UNTRUSTED                                    3      /* Retrieve Untrusted Bits              */

                                                                        /****************************************/
                                                                        /* ** ScriptSign Error Defines          */
                                                                        /*  * Expanded Error Info               */
#define SCRIPT_SIGN_ALREADY_SIGNED                      0x00100000      /* Error Opening Certificate Store      */
#define SCRIPT_SIGN_CERTIFICATE_STORE                   0x00200000      /* Error Opening Certificate Store      */
#define SCRIPT_SIGN_CERTIFICATE_TYPE                    0x00300000      /* Error No Appropriate Type            */
#define SCRIPT_SIGN_SIGNING                             0x00400000      /* Error Signing the Message (script)   */
#define SCRIPT_SIGN_WRITING                             0x00500000      /* Error Writing the Script File        */
                                                                        /*                                      */
                                                                        /* ** ScriptCrunch Flags (SDK)          */
                                                                        /*  * Control                           */
#define SCRIPT_CRUNCH_WANT_LOG                          0x00000001      /* Return Pointer to Log (caller owns)  */
#define SCRIPT_CRUNCH_SIGN                              0x00000002      /* Sign Code                            */
#define SCRIPT_CRUNCH_ENCRYPT                           0x00000004      /* Encrypt Code                         */
#define SCRIPT_CRUNCH_DEBUG_INFO                        0x00000008      /* Add Debug Info                       */


                                                                /************************************************/
                                                                /* Vaiables                                     */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Axis Definitions                  */
                                                                        /* Specified  as [1][2][3]  for up to a */
                                                                        /* maximum of three.  Depending the use */
                                                                        /* the names may value.  The dimensions */
                                                                        /* are specified as zero-based.         */
                                                                        /*  * Cube                              */
#define AXIS_X                                          0               /* X                                    */
#define AXIS_Y                                          1               /* Y                                    */
#define AXIS_Z                                          2               /* Z                                    */
                                                                        /*  * Data Style/Table                  */
#define AXIS_ROW                                        0               /* Table Row                            */
#define AXIS_COL                                        1               /* Table Column                         */
                                                                        /*  * Other                             */
#define AXIS_ALL                                        -1              /* All (limited use)                    */

                                                                        /****************************************/
                                                                        /* ** Array Items                       */
                                                                        /*  * Limits                            */
#define ARRAY_MAX_KEY_NAME_SIZE                         80              /* Maximum Size of a Key Name (with /0) */

                                                                        /****************************************/
                                                                        /* ** Array Support                     */
                                                                        /*  * Find In List/Table                */
#define FIND_EXACT                                      0x00000000      /* Match Exactly                        */
#define FIND_NO_CASE                                    0x00000001      /* Not Case-Sensitive                   */
#define FIND_WILD_CARD                                  0x00000002      /* Use Wild Card Matching               */
#define FIND_WILD_CARD_NO_CASE                          0x00000003      /* Use Wild Card Matching No Case       */
#define FIND_PARTIAL                                    0x00000004      /* Match Loosely/Partially              */
#define FIND_PARTIAL_NO_CASE                            0x00000005      /* Match Loosely/Partially No Case      */
                                                                        /*  * Sort                              */
                                                                        /*  o Types                             */
#define SORT_TYPE_MASK                                  0x0000000F      /* Sort Mask                            */
#define SORT_ALPHA                                      0x00000000      /* Sort As Text                         */
#define SORT_ALPHA_NUMERIC                              0x00000001      /* Sort As Text Expand Numbers          */
#define SORT_NUMERIC                                    0x00000002      /* Loose Numeric Matching               */
#define SORT_DATE                                       0x00000003      /* Date Mode                            */
                                                                        /*  o Options                           */
#define SORT_ASCENDING                                  0x00000000      /* Ascending Order                      */
#define SORT_DESCENDING                                 0x00001000      /* Descending Order                     */
#define SORT_NO_CASE                                    0x00004000      /* Not Case-Sensitive                   */
                                                                        /*  * TableToText                       */
#define TTT_CRLF_LINE_ENDING                            0x00000000      /* CR/LF (Absence of Flag)              */
#define TTT_SIMPLE_LINE_ENDING                          0x00000001      /* Use CR only Line Endings             */
#define TTT_KEY_NAMES_TO_HEADER                         0x00000002      /* Convert Key Names to CSV Row 0       */
#define TTT_ADD_UTF_8_HEADER                            0x00000008      /* Add UTF-8 Header                     */

                                                                /************************************************/
                                                                /* Object Types                                 */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Script Object Types               */
                                                                        /*  * Types                             */
#define SOT_LOCATION_MASK                               0xFF000000      /* Location Mask                        */
#define SOT_LOCAL                                       0x00000000      /* Local Object (0x00------)            */
                                                                        /* (others DLL Types for organization)  */
                                                                        /*  * Support/Script Built In           */
#define SOT_BASIC_FILE_OBJECT                           0x00000000      /* Basic File Object                    */
#define SOT_MAPPED_TEXT_OBJECT                          0x00000001      /* Mapped Text Object                   */
#define SOT_EDIT_OBJECT                                 0x00000002      /* Edit Object                          */
#define SOT_POOL_OBJECT                                 0x00000003      /* Pool Object                          */
#define SOT_LOG_OBJECT                                  0x00000004      /* Log Object                           */
#define SOT_WORD_PARSE_OBJECT                           0x00000005      /* Word Parse Object                    */
#define SOT_CSV_OBJECT                                  0x00000006      /* CSV Object                           */
#define SOT_MD5_DIGEST_OBJECT                           0x00000007      /* MD5 Digest Object                    */
#define SOT_FOLDER_ENUM_OBJECT                          0x00000008      /* Find File Object                     */
#define SOT_FTP_OBJECT                                  0x00000009      /* FTP Communications Class             */
#define SOT_HTTP_OBJECT                                 0x0000000A      /* HTTP Communications Class            */
#define SOT_ZIP_OBJECT                                  0x0000000B      /* Compression Object                   */
#define SOT_DATA_SHEET_OBJECT                           0x0000000C      /* Data Sheet Object                    */
#define SOT_CLIPBOARD_OBJECT                            0x0000000D      /* Clipboard Object (base)              */
#define SOT_CONSOLE_WINDOW                              0x0000000E      /* Console (Synthetic, as Window Handle)*/
#define SOT_DATA_OBJECT                                 0x0000000F      /* Data Object                          */
#define SOT_RESOURCE_OBJECT                             0x00000010      /* Resource Object                      */
#define SOT_APP_LOG_OBJECT                              0x00000011      /* Application Log Object               */
                                                                        /*  * Higher Level Comm Objects         */
#define SOT_SERIAL_OBJECT                               0x52000001      /* Serial Object Class                  */
#define SOT_POP_OBJECT                                  0x52000005      /* POP3 Object Class                    */
                                                                        /*  * Database Module                   */
                                                                        /*  o ODBC Objects                      */
#define SOT_ODBC_CONNECTION                             0x53000001      /* ODBC Connection                      */
#define SOT_ODBC_RESULT                                 0x53000002      /* ODBC Result                          */
                                                                        /*  * Data View Objects                 */
#define SOT_DATA_VIEW_OBJECT                            0x41000001      /* Data View Class                      */
                                                                        /*  * Font Related Objects              */
#define SOT_FONT_SUB_OBJECT                             0x55000001      /* Font Substution                      */
                                                                        /*  * Images                            */
#define SOT_IMAGE_OBJECT                                0x57000001      /* Image Object                         */
                                                                        /*  * SGML Related Objects              */
#define SOT_SGML_OBJECT                                 0x5A000001      /* SGML Class                           */
#define SOT_DTD_OBJECT                                  0x5A000002      /* DTD Class                            */
#define SOT_MIME_OBJECT                                 0x5A000003      /* MIME Class                           */
#define SOT_HTML_OBJECT                                 0x5A000010      /* HTML Writer Class                    */
#define SOT_OUTLINE_OBJECT                              0x5A000011      /* HTML Outline Class                   */
#define SOT_HEADER_OBJECT                               0x5A000012      /* HTML Header Class                    */
#define SOT_TABLE_MAP_OBJECT                            0x5A000013      /* HTML Table Map Class                 */
#define SOT_FIELD_OBJECT                                0x5A000014      /* HTML/PSG Field Class                 */
#define SOT_RSS_OBJECT                                  0x5A000015      /* RSS Class                            */
#define SOT_IXBRL_OBJECT                                0x5A000016      /* iXBRL Class                          */
#define SOT_HTML_CONTEXT_OBJECT                         0x5A000017      /* HTML Context Class                   */
#define SOT_PAGE_BREAK_OBJECT                           0x5A000018      /* HTML Page Break Class                */
#define SOT_HTML_STYLE_OBJECT                           0x5A000019      /* HTML Style Class                     */
#define SOT_XDX_OBJECT                                  0x5A00001A      /* XDX Interface Object                 */
#define SOT_XBRL_OBJECT                                 0x5A00001B      /* XBRL Model/Instance Object           */
                                                                        /*  * Translation Objects               */
#define SOT_EXCEL_EXPORT_OBJECT                         0x5B000001      /* Excel Export                         */
                                                                        /*  * Base EDGAR Objects                */
#define SOT_EA_OBJECT                                   0x61000001      /* EDGAR Archive Class                  */
#define SOT_EM_OBJECT                                   0x61000002      /* EDGAR Message Class                  */
#define SOT_ES_OBJECT                                   0x61000003      /* EDGAR System Class                   */
                                                                        /*  * XRBL                              */
#define SOT_XBRL_VIEW_OBJECT                            0x65000001      /* XBRL View Object                     */


                                                                /************************************************/
                                                                /* Frame and Windows                            */
                                                                /************************************************/

                                                                        /****************************************/
#define MAX_MDI_VIEWS                                   512             /* Maximum Number of Views              */
                                                                        /*                                      */
                                                                        /* ** Window/View Types                 */
                                                                        /*  * ID                                */
#define EDX_TYPE_ID_MASK                                0x00000FFF      /* Unique ID By View (see below)        */
                                                                        /*  * Mapped Data Types                 */
#define EDX_TYPE_MASK                                   0xC0000000      /* Class Window Mask                    */
#define EDX_TYPE_EDIT                                   0x00000000      /* Editor Class Window (any data)       */
#define EDX_TYPE_VIEW                                   0x40000000      /* View Only Type (with mapped data)    */
                                                                        /*  * Non-Mapped Data                   */
#define EDX_TYPE_PROJECT                                0x80000000      /* Editor Class Window                  */
#define EDX_TYPE_TAB_VIEW                               0xC0000000      /* Tab View (Rack/Index) Class Window   */
                                                                        /*  * Characteristics (support)         */
#define EDX_TYPE_READ_ONLY                              0x00100000      /* View is Read Only                    */
#define EDX_TYPE_TEXT                                   0x00200000      /* View Supports Text/Free Flow         */
#define EDX_TYPE_HTML                                   0x00400000      /* View Supports HTML/Free Flow         */
#define EDX_TYPE_DATA                                   0x00800000      /* View Supports Table/Data Structure   */
#define EDX_TYPE_IMAGE                                  0x01000000      /* View Supports Image Editing          */
#define EDX_TYPE_VIDEO                                  0x02000000      /* View Supports Video Editing          */
#define EDX_TYPE_AUDIO                                  0x04000000      /* View Supports Audio Editing          */
#define EDX_TYPE_CODE                                   0x08000000      /* View Supports Text/Free Flow         */
#define EDX_TYPE_SUPPORT_EDX                            0x20000000      /* Supports EDX                         */
                                                                        /*  * Location Addressing (caret)       */
#define EDX_TYPE_POS_MASK                               0x000FF000      /* Type of Location (bitwise)           */
#define EDX_TYPE_POS_NONE                               0x00000000      /* Does not Support Positioning/Caret   */
#define EDX_TYPE_POS_TEXT                               0x00001000      /* Text X/Y Caret                       */
#define EDX_TYPE_POS_CELLS                              0x00002000      /* Data as Rows/Columns Caret           */
#define EDX_TYPE_POS_PIXELS                             0x00004000      /* Pixel Positioning                    */
#define EDX_TYPE_POS_TIME                               0x00008000      /* Time Positioning                     */
#define EDX_TYPE_POS_FIELD                              0x00010000      /* Named Fields                         */
                                                                        /*                                      */
                                                                        /* ** Known View IDs                    */
                                                                        /*  * Novaworks Base Types              */
#define EDX_TYPE_PSG_DASHBOARD                          0x00000010      /* Dashboard View                       */
#define EDX_TYPE_PSG_DATA_VIEW                          0x00000020      /* Data View (edit, native)             */
#define EDX_TYPE_PSG_FORMS_VIEW                         0x00000030      /* Forms View (native, data view)       */
#define EDX_TYPE_PSG_IMAGE_VIEW                         0x00000040      /* Image View (edit)                    */
#define EDX_TYPE_PSG_OBJECT_VIEW                        0x00000050      /* Object (PDF) View (read only)        */
#define EDX_TYPE_PSG_PAGE_VIEW                          0x00000060      /* Page View                            */
#define EDX_TYPE_PSG_PDF_VIEW                           0x00000070      /* PDF View (edit/convert)              */
#define EDX_TYPE_PSG_PROJECT_VIEW                       0x00000080      /* Project View (native)                */
#define EDX_TYPE_PSG_TEXT_VIEW                          0x00000090      /* Text View                            */
                                                                        /*  * Novaworks EDGAR Types             */
#define EDX_TYPE_EDGAR_VIEW                             0x00000110      /* EDGAR Submission View                */
#define EDX_TYPE_NSS_VIEW                               0x00000120      /* Novaworks Submission Service         */
#define EDX_TYPE_XBRL_VIEW                              0x00000130      /* XBRL View (data view)                */
#define EDX_TYPE_XBRL_TREE                              0x00000140      /* XBRL Tree View (data view)           */
#define EDX_TYPE_XML_13F_VIEW                           0x00000150      /* Form 13F View (data view)            */
#define EDX_TYPE_XML_13H_VIEW                           0x00000160      /* Form 13H View (data view)            */
#define EDX_TYPE_XML_D_VIEW                             0x00000170      /* Form D View (data view)              */
#define EDX_TYPE_XML_MA_VIEW                            0x00000180      /* Form MA View (data view)             */
#define EDX_TYPE_XML_MFP_VIEW                           0x00000190      /* Form MFP View (data view)            */
#define EDX_TYPE_XML_NSAR_VIEW                          0x000001A0      /* Form NSAR View (data view) (not XML) */
#define EDX_TYPE_XML_SDR_VIEW                           0x000001A8      /* Form SDR View (data view)            */
#define EDX_TYPE_XML_S16_VIEW                           0x000001B0      /* Section 16 View (data view)          */
#define EDX_TYPE_XML_RGA_VIEW                           0x000001C0      /* Regulation A View (data view)        */
#define EDX_TYPE_XML_C_VIEW                             0x000001D0      /* Form C View (data view)              */
#define EDX_TYPE_XML_17_VIEW                            0x000001E0      /* Form X-17A-5 View (data view)        */
#define EDX_TYPE_XML_CFP_VIEW                           0x000001F0      /* Form CFPORTAL View (data view)       */
#define EDX_TYPE_XML_17H_VIEW                           0x00000210      /* Form 17-H View (data view)           */
#define EDX_TYPE_XML_TA_VIEW                            0x00000220      /* Form TA View (data view)             */
#define EDX_TYPE_XML_CEN_VIEW                           0x00000230      /* Form N-CEN View (data view)          */
#define EDX_TYPE_XML_NPT_VIEW                           0x00000240      /* Form N-PORT View (data view)         */
#define EDX_TYPE_XML_S16_COM_VIEW                       0x00000250      /* Section 16 Composite View (data view)*/
#define EDX_TYPE_XML_ATS_VIEW                           0x00000260      /* Form ATS-N View (data view)          */
#define EDX_TYPE_XML_24F2_VIEW                          0x00000270      /* Form 24F-2 View (data view)          */
#define EDX_TYPE_XML_144_VIEW                           0x00000280      /* Form 144 View (data view)            */
#define EDX_TYPE_XML_NPX_VIEW                           0x00000290      /* Form N-PX View (data view)           */

                                                                        /****************************************/
                                                                        /* ** Status Bar                        */
#define FRAME_SB_LEFT                                            0      /* Left Message                         */
#define FRAME_SB_RIGHT                                           1      /* Right Message                        */

                                                        /********************************************************/
                                                        /* Internal Functions                                   */
                                                        /********************************************************/

                                                                /************************************************/
                                                                /* Math                                         */
                                                                /************************************************/

                                                                        /****************************************/
#define ANGLE_MODE_RADIANS                                       0      /* Angle as Radians (default)           */
#define ANGLE_MODE_DEGREES                                       1      /* Angle as Degrees                     */
#define ANGLE_MODE_GRADIANS                                      2      /* Angle as Gradians                    */
#define ANGLE_MODE_RETRIEVE                                      3      /* Get Angle Mode                       */

                                                                        /****************************************/
                                                                        /* ** Round                             */
                                                                        /*  * Modes                             */
#define ROUND_NEAREST                                            0      /* Round Towards the Nearest            */
#define ROUND_UPWARD                                             1      /* Round towards Positive Infinity      */
#define ROUND_DOWNWARD                                           2      /* Round Towards Negative Infinity      */
#define ROUND_TOWARD_ZERO                                        3      /* Round Toward Zero                    */

        
                                                                /************************************************/
                                                                /* Message Boxes                                */
                                                                /************************************************/

                                                                        /****************************************/
#define MB_INFO                                                 'I'     /* Info                                 */
#define MB_NONE                                                 'N'     /* None                                 */
#define MB_QUESTION                                             'Q'     /* Question                             */
#define MB_STOP                                                 'S'     /* Stop                                 */
#define MB_EXCLAMATION                                          'X'     /* Exclamation                          */

                                                                        /****************************************/
                                                                        /* ** Windows SDK MessageBeep           */
#define MB_OK                                           0x00000000      /* Windows SDK                          */
#define MB_OKCANCEL                                     0x00000001      /* Windows SDK                          */
#define MB_ABORTRETRYIGNORE                             0x00000002      /* Windows SDK                          */
#define MB_YESNOCANCEL                                  0x00000003      /* Windows SDK                          */
#define MB_YESNO                                        0x00000004      /* Windows SDK                          */
#define MB_RETRYCANCEL                                  0x00000005      /* Windows SDK                          */
#define MB_CANCELTRYCONTINUE                            0x00000006      /* Windows SDK                          */
#define MB_ICONHAND                                     0x00000010      /* Windows SDK                          */
#define MB_ICONQUESTION                                 0x00000020      /* Windows SDK                          */
#define MB_ICONEXCLAMATION                              0x00000030      /* Windows SDK                          */
#define MB_ICONASTERISK                                 0x00000040      /* Windows SDK                          */


                                                                /************************************************/
                                                                /* EnumerateScripts                             */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /*  * Modes                             */
#define ES_ALL                                          0x00000003      /* Enumerate All Scripts                */
#define ES_ACTIVE                                       0x00000001      /* Active Scripts                       */
#define ES_COMPLETE                                     0x00000002      /* Completed Scripts                    */


                                                                /************************************************/
                                                                /* File Path Stuff                              */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Path Functions                    */
                                                                        /*  * Errors Sub Codes for add_paths()  */
#define AP_ERROR_NONE                                   0x00000000      /* No error                             */
                                                                        /*  * These are Bitsise With QU_        */
#define AP_SOURCE_NOT_RELATIVE                          0x00010000      /* Source is Not Relative Path          */
#define AP_SOURCE_SYNTAX                                0x00020000      /* Syntax Error Relative Path           */
#define AP_SOURCE_EXCEEDS_ROOT                          0x00040000      /* Up Tree '..' Went Passed Root        */
#define AP_OVERFLOW                                     0x00080000      /* Result is to Large (MAX_PATH_SIZE)   */
                                                        
                                                                        /****************************************/
                                                                        /* ** Qualify UTL Resource Information  */
                                                                        /*  * Result Flags                      */
#define QU_RESULT_MASK                                  0x000FFFFF      /* Mask for Overall Result              */
#define QU_SCHEME_MASK                                  0x000000FF      /* Mask for Scheme Type                 */
#define QU_ABS_PATH_SPECIFIED                           0x00000100      /* Absolute Path was Specified          */
#define QU_ROOT_SPECIFIED                               0x00000200      /* Source was Root ("/dog...")          */
#define QU_RELATIVE                                     0x00000400      /* Source was Relative                  */
#define QU_NAME_APPEND                                  0x00001000      /* Appended Name to Path                */
#define QU_ERROR                                        0x00004000      /* Error in Path                        */
#define QU_NO_PATH_BASIS                                0x00008000      /* No Basis for Path (error)            */
                                                                        /*  * Add Path Errors                   */
                                                                        /* AP_ ...                              */

                                                                        /****************************************/
                                                                        /* ** Compression Levels                */
                                                                        /*  * ZLIB                              */
#define ZLIB_NO_COMPRESSION                                      0      /* No Compression                       */
#define ZLIB_BEST_SPEED                                          1      /* Best Speed                           */
#define ZLIB_BEST_COMPRESSION                                    9      /* Best Compression                     */
#define ZLIB_DEFAULT_COMPRESSION                                 6      /* Default Compression                  */

                                                                /************************************************/
                                                                /* Date Formatting                              */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Date/Time to String Convert       */
                                                                        /*  * Date Modes                        */
#define DS_DATE_MASK                                    0x0000000F      /* Type Mask                            */
#define DS_MMDDYY                                       0x00000000      /* mm/dd/yy ...                         */
#define DS_MMDDYYYY                                     0x00000001      /* mm/dd/yyyy ...                       */
#define DS_DDMMYY                                       0x00000002      /* dd/mm/yy ...                         */
#define DS_DDMMYYYY                                     0x00000003      /* dd/mm/yyyy ...                       */
#define DS_MMMDDYY                                      0x00000004      /* mmm/dd/yy ... (JUN 30)               */
#define DS_MMMDDYYYY                                    0x00000005      /* mmm/dd/yyyy ... (JUN 30)             */
#define DS_DDMMMYY                                      0x00000006      /* dd/mmm/yy ... (30 JUN)               */
#define DS_DDMMMYYYY                                    0x00000007      /* dd/mmm/yyyy ... (30 JUN)             */
#define DS_YYYYMMDD                                     0x00000008      /* yyyy/mm/dd ...                       */
#define DS_MON_DAY_YEAR                                 0x00000009      /* Mon. Day, Year ...                   */
#define DS_MONTH_DAY_YEAR                               0x0000000A      /* Month Day, Year ...                  */
#define DS_WEEKDAY_MONTH_DAY_YEAR                       0x0000000B      /* Weekday, Month Day, Year ...         */
                                                                        /*  * Time Mode                         */
#define DS_TIME_MASK                                    0x000000F0      /* Type Mask                            */
#define DS_TIME_SHIFT                                            4      /* Time Shift                           */
#define DS_HHMM_24                                      0x00000000      /* hh:mm (24-hour)                      */
#define DS_HHMM_12                                      0x00000010      /* hh:mm (12-hour)                      */
#define DS_HHMMSS_24                                    0x00000020      /* hh:mm:ss (24-hour)                   */
#define DS_HHMMSS_12                                    0x00000030      /* hh:mm:ss (12-hour)                   */
#define DS_HHMMSS_ND_24                                 0x00000040      /* hhmmss (24-hour)                     */
#define DS_MMSS                                         0x00000050      /* mm:ss                                */
                                                                        /*  * Time Zone                         */
#define DS_TIME_ZONE_MASK                               0x0000F000      /* Time Zone (12 hours +/-)             */      // not presently implemented
#define DS_TIME_ZONE_SHIFT                                      12      /* Time Zone Shift                      */
#define DS_TIME_ZONE_30                                 0x00001000      /* Time Zone add :30                    */
#define DS_TIME_ZONE_BACK                               0x00002000      /* Time Zone is -                       */
#define DS_TIME_ZONE                                    0x00004000      /* Add Time Zone                        */
                                                                        /*  * Date Delimeter Characters         */
#define DS_CHAR_MASK                                    0x000F0000      /* Character Mask                       */
#define DS_CHAR_SHIFT                                           16      /* Character Shift                      */
#define DS_SLASH                                        0x00000000      /* Slashes                              */
#define DS_DASH                                         0x00010000      /* Dashes                               */
#define DS_SPACES                                       0x00020000      /* Spaces                               */
#define DS_SPACESCOMMA                                  0x00030000      /* Spaces + Commas (Month Day, Year)    */
#define DS_PERIODS                                      0x00040000      /* Periods                              */
                                                                        /*  * Output Mode                       */
#define DS_OUTPUT_MASK                                  0x0F000000      /* Date Time Mask                       */
#define DS_OUTPUT_SHIFT                                         24      /* Date Time Shift                      */
#define DS_DATE                                         0x00000000      /* Date Only                            */
#define DS_TIME                                         0x01000000      /* Time Only                            */
#define DS_DATE_TIME                                    0x02000000      /* Date then Time                       */
#define DS_DATE_AT_TIME                                 0x03000000      /* Date at Time                         */
#define DS_TIME_DATE                                    0x04000000      /* Time then Date                       */
#define DS_DATE_T_TIME                                  0x05000000      /* Date 'T' and Time (ISO-8601)         */
                                                                        /*  * Case                              */
#define DS_CASE_MASK                                    0x30000000      /* Case Mask                            */
#define DS_CASE_SHIFT                                           28      /* Case Shift                           */
#define DS_DEFAULT_CASE                                 0x00000000      /* All Lower Case                       */
#define DS_LOWER                                        0x10000000      /* All Lower Case                       */
#define DS_UPPER                                        0x20000000      /* All Upper Case                       */
#define DS_INITIAL                                      0x30000000      /* Initial                              */
                                                                        /*  o Other Flags                       */
#define DS_NO_ZERO_FILL                                 0x80000000      /* No Zero Filling                      */
                                                                        /*  * Combined Types                    */
#define DS_ISO_8601                                     0x05010028      /* ISO-8601 24 Hour Shorthand           */
                                                                        /*  * File Time to String Augment       */
#define DS_FILETIME_UTC                                 0x00000100      /* Do Not Convert to Local Time         */
#define DS_AS_UTC                                       0x00000100      /* Use UTC on Get Date Function         */
                                                                        /*  * MS Conversions                    */
#define DS_MS_AUTOHIDE_S                                0x00000000      /* Auto hide Seconds                    */
#define DS_MS_ALWAYSHIDE_S                              0x00000001      /* Always hide Seconds                  */
                                                                        /*                                      */
                                                                        /* ** String to Date                    */
                                                                        /*  * Convert Mode                      */
#define SD_PARSEMODE                                    0x0000000F      /* String Parse Mode                    */
#define SD_AMERICAN                                     0x00000000      /* String is American                   */
#define SD_EUROPEAN                                     0x00000001      /* String is European                   */
#define SD_ISO_8601                                     0x00000002      /* String is ISO-8601                   */
#define SD_RFC_2822                                     0x00000003      /* RFC 2822 Internet Message Format     */
#define SD_PARTIAL                                      0x00010000      /* Can be Partial                       */
                                                                        /*                                      */
                                                                        /* ** GetDayOfWeek/GetDateTimeComponents*/
                                                                        /*  * Days                              */
#define DOW_SUNDAY                                               0      /* Sunday                               */
#define DOW_MONDAY                                               1      /* Monday                               */
#define DOW_TUESDAY                                              2      /* Tuesday                              */
#define DOW_WEDNESDAY                                            3      /* Wednesday                            */
#define DOW_THURSDAY                                             4      /* Thursday                             */
#define DOW_FRIDAY                                               5      /* Friday                               */
#define DOW_SATURDAY                                             6      /* Saturday                             */


                                                                /************************************************/
                                                                /* Time Zone Functions                          */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** StringToTimeZone                  */
#define STTZ_MODE_MASK                              0xC000              /* Mode (Z + or -)                      */
#define STTZ_UTC                                    0x4000              /* Specified as 'Z'                     */
#define STTZ_PLUS                                   0x8000              /* Zone Offset Specified as '+'         */
#define STTZ_MINUS                                  0xC000              /* Zone Offset Specified as '-'         */
#define STTZ_MINUTES                                0x003F              /* Zone Minutes                         */
#define STTZ_HOURS                                  0x3F00              /* Zone Hours                           */

                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** IsNumeric Flags                   */
                                                                        /*  * Mode                              */
#define IS_NUM_MODE_MASK                                0x0000000F      /* Mode Mask Type                       */
#define IS_NUM_MODE_US                                  0x00000000      /* US Mode                              */
                                                                        /*  * Input Constraints                 */
#define IS_NUM_DIGITS_ONLY                              0x00000000      /* Only Digits (default)                */
#define IS_NUM_ALLOW_ALL                                0x000000F0      /* Cover All Modes                      */
#define IS_NUM_ALLOW_DECIMAL                            0x00000010      /* Allow Decimal                        */
#define IS_NUM_ALLOW_COMMAS                             0x00000020      /* Allow Commas                         */
#define IS_NUM_ALLOW_NEG_DASH                           0x00000040      /* Allow Negative as -                  */
#define IS_NUM_ALLOW_NEG_HOLE                           0x00000080      /* Allow Negative as ()                 */
                                                                        /*  * Output Results                    */
#define IS_NUM_HAS_DECIMAL                              0x00100000      /* Has Decimal                          */
#define IS_NUM_HAS_COMMAS                               0x00200000      /* Has Commas                           */
#define IS_NUM_HAS_NEG_DASH                             0x00400000      /* Has Negative as -                    */
#define IS_NUM_HAS_NEG_HOLE                             0x00800000      /* Has Negative as ()                   */

                                                                        /****************************************/
                                                                        /* ** FormatNumber                      */
                                                                        /*  * Decimal Fraction                  */
#define FN_DECIMALS_MASK                                0x0000000F      /* Decimal Mask (count of decimals)     */
                                                                        /*  * Options                           */
#define FN_OPTIONS_MASK                                 0x0000FFF0      /* Options Mask (flags)                 */
                                                                        /*  o Negative Numbers                  */
#define FN_NEGATIVE_MASK                                0x00000030      /* Negative Mode Mask                   */
#define FN_NEGATIVE_LEADING_DASH                        0x00000000      /* Negative as Leading '-123'           */
#define FN_NEGATIVE_TRAILING_DASH                       0x00000010      /* Negative as Trailing '123-'          */
#define FN_NEGATIVE_PAREN                               0x00000020      /* Negative in the Hole '(123)'         */
                                                                        /*  o Rounding                          */
#define FN_ROUNDING_MASK                                0x000000C0      /* Rounding Mode Mask                   */
#define FN_TRUNCATE_NUMBER                              0x00000000      /* Truncate Extra Digits Number         */
#define FN_ROUND_HALF_EVEN                              0x00000080      /* Round Number Up/Down                 */
                                                                        /*  o Source Options                    */
#define FN_EU_SOURCE                                    0x00008000      /* Source Decimal is a Comma            */
                                                                        /*  * Resulting Format (ordinal)        */
#define FN_FORMAT_MASK                                  0x000F0000      /* Format Mask                          */
#define FN_STRIP_FORMAT                                 0x00000000      /* No formatting                        */
#define FN_US_FORMAT                                    0x00010000      /* Format in US, UK, Canada Style       */
#define FN_EU_FORMAT                                    0x00020000      /* Format in Euro Style                 */
#define FN_GE_FORMAT                                    0x00030000      /* Format in German Style               */
#define FN_IN_FORMAT                                    0x00040000      /* Format in Indian Style               */
#define FN_PERCENT                                      0x000A0000      /* Format as Percent (100th)            */


                                                                /************************************************/
                                                                /* Edit Data Objects                            */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Select Data (Omnibus, as EDX_)    */
                                                                        /*  * Select Modes                      */
#define EDO_NOT_SELECTED                                         0      /* Edit Not Selected                    */
#define EDO_LINEAR_SELECT                                        1      /* Linear Select                        */
#define EDO_BLOCK_SELECT                                         2      /* Block Select                         */
#define EDO_ARRAY_SELECT                                         3      /* Array Select                         */
#define EDO_OBJECT_SELECT                                        4      /* Some Type of Object Select           */
                                                                        /*  * Select Clues                      */
#define EDO_SELECT_NO_CLUE                                       0      /* No Clue                              */
#define EDO_SELECT_ALL                                           1      /* Selected Entire Document             */
#define EDO_SELECT_BLOCK                                         2      /* Block (whole boundaries)             */
#define EDO_SELECT_CELL                                          3      /* Table Cell                           */
#define EDO_SELECT_COLUMN                                        4      /* Table Column                         */
#define EDO_SELECT_ROW                                           5      /* Table Row                            */
#define EDO_SELECT_REGION                                        6      /* Table Square Region of Cells         */
#define EDO_SELECT_TABLE                                         7      /* Table                                */
#define EDO_SELECT_IMAGE                                         8      /* Image/Picture Object                 */
#define EDO_SELECT_PAGE                                          9      /* Select Page                          */
#define EDO_SELECT_PAGE_FIELD                                   10      /* Select Page Field                    */
#define EDO_SELECT_CONTROL                                      11      /* Format Control Object                */
#define EDO_SELECT_FRAME                                        12      /* Frame Object                         */
#define EDO_SELECT_OBJECT                                       13      /* General Object                       */
#define EDO_SELECT_LIST_ITEM                                    14      /* List Item (Generated)                */
                                                                        /*                                      */
                                                                        /* ** Window Types                      */
                                                                        /*  * Mapped Data Types                 */
#define EDO_TYPE_MASK                                   0xF0000000      /* Class Window Mask                    */
#define EDO_TYPE_EDIT                                   0x10000000      /* Editor Class Window (any data)       */
#define EDO_TYPE_VIEW                                   0x20000000      /* View Type (with mapped data)         */
                                                                        /*  * Non-Mapped Data                   */
#define EDO_TYPE_PROJECT                                0x30000000      /* Editor Class Window                  */
#define EDO_TYPE_TAB_VIEW                               0x40000000      /* Tab View (Rack/Index) Class Window   */
                                                                        /*                                      */

                                                                /************************************************/
                                                                /* Session Data                                 */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** TestAndSetSessionValue            */
                                                                        /*  * Match Modes                       */
#define TASSV_MATCH_TYPE                                0x0000000F      /* Match Mask                           */
#define TASSV_MATCH                                     0x00000000      /* The Match String Must Match          */
#define TASSV_NO_MATCH                                  0x00000001      /* The Match String Does not Match      */


                                                                /************************************************/
                                                                /* Activity                                     */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** GetLastActivityTick               */
                                                                        /*  * Modes                             */
#define GLAT_ANY_ACTION                                 0               /* Last Tick on Any Action              */
#define GLAT_MOUSE_CLICK                                1               /* Last Tick on Mouse Click Action      */
#define GLAT_KEYBOARD                                   2               /* Last Tick on Keyboard Action         */
#define GLAT_EDIT_ACTION                                3               /* Last Tick on Edit Action             */
#define GLAT_DIALOG_ACTION                              4               /* Last Tick on Dialog Action           */

                                                                /************************************************/
                                                                /* Tab Processing                               */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Tabify Function                   */
#define TABIFY_PROTECT_LITERALS                         0x00000002      /* Protect String Literals              */

                                                                /************************************************/
                                                                /* Word Parsing                                 */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Parse Data                        */
                                                                        /*  * Modes                             */
#define WP_MODE_MASK                                    0x0000000F      /* Mode Mask                            */
                                                                        /*  o Parse Type (SDK specific)         */
#define WP_GENERAL                                      0x00000000      /* General – Stops on Word Spaces       */
#define WP_SGML_TAG                                     0x00000001      /* Tags – Stops on SGML Tags            */
#define WP_PROGRAM                                      0x00000002      /* Program                              */
#define WP_PROGRAM_GROUP                                0x00000003      /* Program Groups                       */
#define WP_TAG_ENCAPSULATE                              0x00000004      /* Parse Tags <> Adobe/Encapsulated     */
#define WP_OBJECT_NOTATION                              0x00000005      /* Object Notation Parse                */
                                                                        /*  o Flags (SDK specific)              */
#define WP_BIG_WORD_BUFFER                              0x00000010      /* Use 2MB Word Buffer                  */
#define WP_PROGRAM_AUGMENTED_QUOTES                     0x00002000      /* Allow Extended Strings (like L"..")  */
#define WP_PROGRAM_DASHES_IN_NAMES                      0x00004000      /* Allow Dashes in Names (like $a-b)    */
                                                                        /*  * Output Flags                      */
#define WP_OUT_FLAG_MASK                                0xFFFF0000      /* Mask for Output Flags                */
                                                                        /*  o General                           */
#define WP_EOB                                          0x00010000      /* End of Buffer                        */
#define WP_LEADER_BREAK                                 0x00020000      /* Stopped for Leader or Ellipse        */
#define WP_STOP_POSITION                                0x00040000      /* Stop Position Hit (passed)           */
#define WP_OVERFLOW                                     0x00080000      /* Buffer Overflow                      */
                                                                        /*  o Tag Mode                          */
#define WP_TAG_BREAK                                    0x02000000      /* Word Broke on Tag Syntax             */
                                                                        /*  o Program Mode                      */
#define WP_PROGRAM_SPACE                                0x01000000      /* Broke on Program White Space         */
#define WP_PROGRAM_BREAK                                0x02000000      /* Broke on Program Syntax              */
#define WP_PROGRAM_BREAK_SET                            0x04000000      /* Item Is Program Syntax               */
#define WP_PROGRAM_SYNTAX_ERROR                         0x08000000      /* Program Syntax Error                 */
#define WP_PROGRAM_STRING                               0x10000000      /* Return Expression Group              */
#define WP_PROGRAM_PARAMETER                            0x20000000      /* Function Group - ()                  */
#define WP_PROGRAM_ARRAY                                0x40000000      /* Array Group - []                     */
#define WP_PROGRAM_FAIL_CLOSE                           0x80000000      /* Failed to Close Expression           */
                                                                        /*                                      */
                                                                        /* ** Program Parse Results             */
                                                                        /*  * Control                           */
#define WP_RESULT_MASK                                  0x0000FFFF      /* Parse Result Mask                    */
#define WP_RESULT_GROUP_MASK                            0x0000FF00      /* Parse Result Mask                    */
#define WP_RESULT_CALLER_MASK                           0xFFFF0000      /* Reserved (Caller Bits/Space)         */
                                                                        /*  * Strings (literal)                 */
#define NW_RESULT_STRING                                0x00000000      /* Normal Narrow String (default " / ') */
#define NW_RESULT_STRING_L                              0x00000001      /* Wide String                  L"      */
#define NW_RESULT_STRING_R                              0x00000002      /* Raw String (8-bit)           R"      */
                                                                        /*  * Comments                          */
#define WP_RESULT_COMMENT                               0x00000100      /* Comment Group                        */
#define WP_RESULT_COMMENT_EOL                           0x00000101      /* Comment to EOL               / /     */
#define WP_RESULT_COMMENT_OPEN                          0x00000102      /* Comment to Open              / *     */
#define WP_RESULT_COMMENT_CLOSE                         0x00000103      /* Comment to Close             * /     */
                                                                        /*  * Control                           */
#define WP_RESULT_CONTROL                               0x00000200      /* Control Group                        */
#define WP_RESULT_END                                   0x00000201      /* Expression End               ;       */
#define WP_RESULT_NEXT                                  0x00000202      /* Next Item/Parameter          ,       */
#define WP_RESULT_BLOCK_OPEN                            0x00000203      /* Block/Group Open             {       */
#define WP_RESULT_BLOCK_CLOSE                           0x00000204      /* Block/Group Close            }       */
#define WP_RESULT_LABEL                                 0x00000205      /* Label / ID                   :       */
                                                                        /*  * Logical Operators                 */
#define WP_RESULT_LOGICAL_OPERATOR                      0x00000300      /* Logical Group                        */
#define WP_RESULT_LOGICAL_NOT                           0x00000301      /* Logical NOT                  !       */
#define WP_RESULT_LOGICAL_AND                           0x00000302      /* Logical AND                  &&      */
#define WP_RESULT_LOGICAL_OR                            0x00000303      /* Logical OR                   ||      */
#define WP_RESULT_EQUAL_TO                              0x00000304      /* Equal to                     ==      */
#define WP_RESULT_GREATER_EQUAL                         0x00000305      /* Greater Than                 >=      */
#define WP_RESULT_LESS_EQUAL                            0x00000306      /* Less Than Equal              <=      */
#define WP_RESULT_NOT_EQUAL_TO                          0x00000307      /* Not Equal                    !=      */
#define WP_RESULT_GREATER                               0x00000308      /* Greater Than                 >       */
#define WP_RESULT_LESS                                  0x00000309      /* Less Than                    <       */
                                                                        /*  * Math                              */
#define WP_RESULT_MATH_OPERATOR                         0x00000400      /* Math Group                           */
#define WP_RESULT_MATH_ASSIGN                           0x00000401      /* Assign (Equal)               =       */
#define WP_RESULT_MATH_PLUS                             0x00000402      /* Plus                         +       */
#define WP_RESULT_MATH_MINUS                            0x00000403      /* Minus                        -       */
#define WP_RESULT_MATH_MULTIPLY                         0x00000404      /* Multiply (pointer)           *       */
#define WP_RESULT_MATH_DIVIDE                           0x00000405      /* Divide                       /       */
#define WP_RESULT_MATH_MODULUS                          0x00000406      /* Modulus                      %       */
#define WP_RESULT_MATH_INVERT                           0x00000407      /* Invert                       ~       */
                                                                        /*  * Bitwise Math                      */
#define WP_RESULT_BITWISE_OPERATOR                      0x00000500      /* Bitwise Group                        */
#define WP_RESULT_MATH_AND                              0x00000501      /* Math And                     &       */
#define WP_RESULT_MATH_OR                               0x00000502      /* Math OR                      |       */
#define WP_RESULT_MATH_XOR                              0x00000503      /* Math XOR                     ^       */
#define WP_RESULT_SHIFT_LEFT                            0x00000504      /* Shift Left                   <<      */
#define WP_RESULT_SHIFT_RIGHT                           0x00000505      /* Shift Right                  >>      */
                                                                        /*  * Postfix/Prefix                    */
#define WP_RESULT_POSTFIX                               0x00000600      /* Postfix Group                        */
#define WP_RESULT_INCREMENT                             0x00000601      /* Increment                    ++      */
#define WP_RESULT_DECREMENT                             0x00000602      /* Decrement                    --      */
#define WP_RESULT_NAMESPACE                             0x00000603      /* Namespace                    ::      */
#define WP_RESULT_MEMBER                                0x00000604      /* Member                       .       */
#define WP_RESULT_MEMBER_POINTER                        0x00000605      /* Member as Pointer            ->      */
                                                                        /*  * Assignment                        */
#define WP_RESULT_ASSIGNMENT                            0x00000700      /* Assignment Group                     */
#define WP_RESULT_ASSIGN_PLUS                           0x00000701      /* Assign w/Plus                +=      */
#define WP_RESULT_ASSIGN_MINUS                          0x00000702      /* Assign w/Minus               -=      */
#define WP_RESULT_ASSIGN_MULTIPLY                       0x00000703      /* Assign w/Times               *=      */
#define WP_RESULT_ASSIGN_DIVIDE                         0x00000704      /* Assign w/Divide              /=      */
#define WP_RESULT_ASSIGN_MODULUS                        0x00000705      /* Assign w/Modulus             %=      */
#define WP_RESULT_ASSIGN_AND                            0x00000706      /* Assign w/Bitwise AND         &=      */
#define WP_RESULT_ASSIGN_OR                             0x00000707      /* Assign w/Bitwise OR          |=      */
#define WP_RESULT_ASSIGN_XOR                            0x00000708      /* Assign w/Bitwise XOR         ^=      */
#define WP_RESULT_ASSIGN_SHIFT_LEFT                     0x00000709      /* Assign w/Shift Left          <<=     */
#define WP_RESULT_ASSIGN_SHIFT_RIGHT                    0x0000070A      /* Assign w/Shift Right         >>=     */
                                                                        /*  * Non-C                             */
#define WP_RESULT_NON_C                                 0x00000800      /* Non-C Group                          */
#define WP_RESULT_NC_NOT_EQUAL                          0x00000801      /* Not Equal                    <>      */
#define WP_RESULT_NC_ASSIGN_CAT                         0x00000802      /* Assign and Cat               .=      */
#define WP_RESULT_NC_EQUAL_TYPE                         0x00000803      /* Equal Strict                 ===     */
#define WP_RESULT_NC_NOT_EQUAL_TYPE                     0x00000804      /* Not Equal Strict             !==     */


                                                                        /****************************************/
                                                                        /* ** GetTagTextContent                 */
                                                                        /*  * Control                           */
#define SGML_CT_RAW_SPACE                               0x00000001      /* Collect Spaces (opposed word space)  */
                                                                        /*  * Character Entities                */
#define SGML_CT_TRANSLATE_ENTITIES                      0x00000002      /* Translate Character Entities         */
#define SGML_CT_TRANSLATE_HTML_NAMES                    0x00000004      /* Translate HTML Entity Names          */
#define SGML_CT_TRANSLATE_TO_UTF                        0x00000010      /* Translate to UTF                     */

                                                                        /****************************************/
                                                                        /* ** ValueToCharacterEntity            */
                                                                        /*  * Value to Entity                   */
#define CE_XML_ONLY                                     0x00000001      /* XML Characters Only                  */
#define CE_HTML_4_ONLY                                  0x00000002      /* HTML 4 Characters Only               */
#define CE_HEX_CHARACTERS                               0x00000010      /* Create Hex Entity Values             */


                                                                /************************************************/
                                                                /* Hex Conversion                               */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Hex Dump Flags                    */
                                                                        /*  * Legend Index                      */
#define HD_INDEX_MASK                                   0x00000003      /* Index Format Mask                    */
#define HD_INDEX_16_BITS                                0x00000000      /* 16 Bit Index                         */
#define HD_INDEX_8_BITS                                 0x00000001      /* 8 Bit Index                          */
#define HD_INDEX_32_BITS                                0x00000002      /* 32 Bit Index                         */
#define HD_INDEX_NONE                                   0x00000003      /* No Index                             */
                                                                        /*  * Breaks                            */
#define HD_4_BREAK                                      0x00000010      /* Add 4 Break                          */
#define HD_8_BREAK                                      0x00000020      /* Add 8 Break                          */
                                                                        /*  * Output                            */
#define HD_ADD_LF                                       0x00000100      /* Add in line feed                     */
#define HD_ADD_TEXT                                     0x00000200      /* Output Text                          */
#define HD_WIDTH_MASK                                   0x000F0000      /*  o Format Width Mask                 */
#define HD_WIDTH_4                                      0x00010000      /* Format as Quads                      */
#define HD_WIDTH_8                                      0x00020000      /* Format as 8's                        */
#define HD_WIDTH_16                                     0x00000000      /* Format as 16's                       */
                                                                        /*  * Common Types                      */
                                                                        /* Small Buffer Out                     */
#define HD_8_TEXT       HD_INDEX_8_BITS | HD_WIDTH_8 | HD_ADD_TEXT
                                                                        /* Medium Buffer Out                    */
#define HD_16_TEXT      HD_INDEX_16_BITS | HD_WIDTH_16 | HD_ADD_TEXT

                                                                /************************************************/
                                                                /* Integer to Byte Units                        */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Modes                             */
                                                                        /*  * Conversion Modes                  */
#define ITBU_UNIT_MASK                                  0x0000000F      /* Unit Type Mask                       */
#define ITBU_UNIT_AUTO                                  0x00000000      /* Automatic Select of Units            */
#define ITBU_UNIT_BYTES                                 0x00000001      /* Units as Bytes (bytes)               */
#define ITBU_UNIT_K_BYTES                               0x00000002      /* Units as Kilo Bytes (kb)             */
#define ITBU_UNIT_M_BYTES                               0x00000003      /* Units as Mega Bytes (mb)             */
#define ITBU_UNIT_G_BYTES                               0x00000004      /* Units as Gega Bytes (gb)             */
#define ITBU_UNIT_T_BYTES                               0x00000005      /* Units as Tera Bytes (tb)             */
                                                                        /*  o Modifier Flags                    */
#define ITBU_NO_UNITS                                   0x00000010      /* Do Not Add Units                     */
#define ITBU_USE_10THS                                  0x00000020      /* Allow 10ths of Units                 */
#define ITBU_USE_100THS                                 0x00000040      /* Allow 100ths of Units                */
#define ITBU_FRACTION_UP                                0x00000080      /* Fraction Up (1025 to 2K)             */
                                                                        /*  * Case Options                      */
#define ITBU_CASE_MASK                                  0x00000F00      /* Case Type Mask                       */
#define ITBU_CASE_LOWER                                 0x00000000      /* Lower Case (bytes, mb, kb)           */
#define ITBU_CASE_INITIAL                               0x00000100      /* Initial Case (Bytes, Mb, Kb)         */
#define ITBU_CASE_UPPER                                 0x00000200      /* Upper Case (BYTES, MB, KB)           */
                                                                        /*  * Space Options                     */
#define ITBU_SPACE_MASK                                 0x0000F000      /* Space Mask (hehe)                    */
#define ITBU_SPACE_AUTO                                 0x00000000      /* Space Auto (25 bytes, 16mb)          */
#define ITBU_SPACE_ALWAYS                               0x00001000      /* Space Always (25 bytes, 16 mb)       */
#define ITBU_SPACE_NEVER                                0x00002000      /* Space Never (25bytes, 16mb)          */


                                                                /************************************************/
                                                                /* String Pool Object (SPO)                     */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** SPO Function Flags                */
                                                                        /*  * PoolAppendAsPCData                */
#define SPO_PCDATA_ADD_BR                               0x00000001      /* Replace 0x0D with <BR>               */
#define SPO_PCDATA_ADD_XML                              0x00000002      /* Use XML <BR/>                        */
#define SPO_PCDATA_NO_CODES                             0x00000004      /* Don't Dump In Code                   */
#define SPO_PCDATA_LEAD_NBSP                            0x00000008      /* Leading Spaces to Non-Breaking Space */
#define SPO_PCDATA_UP_TO_UNICODE                        0x00000010      /* Convert ANSI to UNICODE              */
#define SPO_PCDATA_NO_ESCAPE                            0x00000020      /* Do Not Convert Escape Codes          */
#define SPO_PCDATA_PASS_RETURNS                         0x00000040      /* Pass Returns and Line Feeds          */
#define SPO_PCDATA_BACKSLASH_CODES                      0x00000080      /* Process Backslashed Codes            */
#define SPO_PCDATA_ESCAPE_QUOTE                         0x00000100      /* Escape Quote (") Character           */
#define SPO_PCDATA_ACCEPT_UTF_8                         0x00000200      /* Incoming Text is UTF-8               */
#define SPO_PCDATA_WRAP_LONG_LINES                      0x00001000      /* Wrap Excessive Long Lines            */
#define SPO_PCDATA_PASS_THROUGH                         0x00002000      /* Pass Through Everything Not Control  */


                                                                        /****************************************/
                                                                        /* ** Line Endings                      */
                                                                        /*  * set_new_lines_flag()              */
#define SPO_SNLF_NO_NEW_LINES                                   0       /* No New Lines, Same as False          */
#define SPO_SNLF_CR_LF                                          1       /* Return and New Line, Same as True    */
#define SPO_SNLF_LF_ONLY                                        2       /* New Line Only                        */


                                                                /************************************************/
                                                                /* General String functions                     */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** FindInString                      */
#define FIS_NOT_CASE_SENSITIVE                          0x00000000      /* Find without Case Sensitivity        */
#define FIS_CASE_SENSITIVE                              0x00000001      /* Find with Case Sensitivity           */
#define FIS_LOOK_BACK                                   0x00010000      /* Scan Backwards (reverse)             */


                                                                /************************************************/
                                                                /* Word Types                                   */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Word/Item Type Return Codes       */
                                                                        /*  * Item Types                        */
#define WT_TYPE_ITEM_MASK                               0x000F0000      /* Item Type Mask                       */
#define WT_TYPE_UNKNOWN                                 0x00000000      /* Unknown Value                        */
#define WT_TYPE_WORD                                    0x00010000      /* Word (dog, cat, monkey)              */
#define WT_TYPE_NUMBER                                  0x00020000      /* Number                               */
#define WT_TYPE_NUMBER_SERIAL                           0x00030000      /* Serial Number (12, 63,)              */
#define WT_TYPE_LEADER                                  0x00040000      /* Leader Line                          */
#define WT_TYPE_RULER                                   0x00050000      /* Ruler (possble or dash, nil)         */
#define WT_TYPE_CURRENCY_LEADER                         0x00060000      /* Opening Currency "$   1,121"         */
#define WT_TYPE_NIL                                     0x00070000      /* Compound Nil "--(a)"                 */
#define WT_TYPE_DATE                                    0x00080000      /* Date (12/12/12 or 12/12 or 12.12.12) */
                                                                        /*  * Word Variations                   */
#define WT_WORD_MASK                                    0x00700000      /* Word Type Mask                       */
                                                                        /*  o Types                             */
#define WT_WORD_UNKNOWN                                 0x00000000      /* Unknown/General Word Type            */
#define WT_WORD_LOWER                                   0x00100000      /* Lower Case Word                      */
#define WT_WORD_UPPER                                   0x00200000      /* Upper Case Word                      */
#define WT_WORD_INITIAL                                 0x00300000      /* Initial Cap                          */
                                                                        /*  o Word Flags                        */
#define WT_WORD_TRAIL_MASK                              0x000000FF      /* Punctuation (low char)               */
#define WT_WORD_TRAIL_PUNCTUATION                       0x00800000      /* Trails Punctuation (in low char)     */
#define WT_WORD_QUOTED                                  0x01000000      /* Word quoted                          */
#define WT_WORD_IN_HOLE                                 0x02000000      /* Word has paren                       */
#define WT_WORD_LEADER_TRAIL                            0x04000000      /* Word has a Trailing Leader Line      */
                                                                        /*  o Lexicon                           */
#define WT_WORD_LEXICON_MASK                            0x70000000      /* Lexicon Mask                         */
#define WT_WORD_DATE_MONTH                              0x10000000      /* Word is in Month Lexicon             */
#define WT_WORD_DATE_DAY                                0x20000000      /* Word is in Day Lexicon               */
#define WT_WORD_HONORIFIC                               0x30000000      /* Word is in Honorific Lexicon         */
                                                                        /*  * Number Variations                 */
#define WT_NUMBER_ALIGN_MASK                            0x000000FF      /* Alignment Position at Size           */
#define WT_NUMBER_MASK                                  0x00700000      /* Number Type Mask                     */
                                                                        /*  o Types                             */
#define WT_NUMBER_UNKNOWN                               0x00000000      /* Unknown Type                         */
#define WT_NUMBER_YEAR                                  0x00100000      /* Number is Year (1900 - 2099)         */
#define WT_NUMBER_DAY                                   0x00200000      /* Number is Day (1, - 31,)             */
#define WT_NUMBER_FORMATTED                             0x00300000      /* Number is Formatted                  */
#define WT_NUMBER_LIST                                  0x00400000      /* Part of a List (1-99 with trail)     */
                                                                        /*  o Number Flags                      */
#define WT_NUMBER_NEGATIVE                              0x01000000      /* Negative Number (000) or -000        */
#define WT_NUMBER_IN_HOLE                               0x02000000      /* Negative Number (000)                */
#define WT_NUMBER_FOOTNOTE                              0x04000000      /* Has Footnote                         */
#define WT_NUMBER_CURRENCY                              0x08000000      /* Has Currency                         */
#define WT_NUMBER_PERCENT                               0x10000000      /* Has Percent                          */
#define WT_NUMBER_IN_HOLE_ERROR                         0x20000000      /* Error in Parenthetical               */
#define WT_NUMBER_BAD_FORMAT                            0x40000000      /* Bad Format                           */
                                                                        /*  * Leader Variation                  */
#define WT_LEADER_SIZE_MASK                             0x00000FFF      /* Word Type Mask (character in bottom) */
                                                                        /*  * Ruler Variations                  */
#define WT_RULER_MASK                                   0x00700000      /* Word Type Mask (character in bottom) */
#define WT_RULER_CHARACTER                              0x000000FF      /* Mask for Ruler Character             */
                                                                        /*  o Ruler types                       */
#define WT_RULER_MIXED                                  0x00000000      /* Of Indeterminate Type                */
#define WT_RULER_SUBTOTAL                               0x00100000      /* Subtotal Type                        */
#define WT_RULER_TOTAL                                  0x00200000      /* Total Type                           */
                                                                        /*  o Ruler Flags                       */
#define WT_RULER_DASH                                   0x01000000      /* Possible Connecting Dash             */
                                                                        /*  * Date Variations                   */
#define WT_DATE_MASK                                    0x0F000000      /* Date Code Mask                       */
#define WT_DATE_AS_GENERAL                              0x00000000      /* Date as Any Type                     */
#define WT_DATE_ISO_8601                                0x01000000      /* Date as ISO (in part, w w/o time)    */
#define WT_DATE_TIME_ONLY                               0x02000000      /* Date (Time)                          */
                                                                        /*  * Unknown Word Data                 */
#define WT_UNKNOWN_ALPHA                                0x0000000F      /* Alpha Count                          */
#define WT_UNKNOWN_NUMERIC                              0x000000F0      /* Numeric Count                        */
#define WT_UNKNOWN_CURRENCY                             0x00000300      /* Currecy Count (4)                    */
#define WT_UNKNOWN_PUNCTUATION                          0x00000C00      /* Sentence Puctuation Count (4)        */
#define WT_UNKNOWN_COMMA_PERIOD                         0x00003000      /* Comma Period Count                   */
#define WT_UNKNOWN_GROUP                                0x0000C000      /* Paren, Brace, Group                  */
#define WT_UNKNOWN_QUOTE                                0x00300000      /* Quote Character Count                */
#define WT_UNKNOWN_FOOTNOTE                             0x00C00000      /* Footnote Type Characters             */
#define WT_UNKNOWN_RULE                                 0x03000000      /* Rule Character Count                 */
#define WT_UNKNOWN_ELLIPSE                              0x0C000000      /* Ellipse Count                        */
#define WT_UNKNOWN_OTHER                                0x30000000      /* Other Count                          */
                                                        
                                                                        /****************************************/
                                                                        /* ** List Type Codes (match reformat)  */
                                                                        /*  * List Type                         */
#define LT_COUNT_MASK                                   0x000000FF      /* Mask Counter Number (or character)   */
#define LT_MASK                                         0x0000FF00      /* Format Mask                          */
                                                                        /*  o Type Codes                        */
#define LT_TYPE_MASK                                    0x00000F00      /* List Type Mask                       */
#define LT_TYPE_UNKNOWN                                 0x00000000      /* Unknown Type                         */
#define LT_TYPE_ARABIC                                  0x00000100      /* List Type                            */
#define LT_TYPE_UPPER_ALPHA                             0x00000200      /* A, B, C ...                          */
#define LT_TYPE_LOWER_ALPHA                             0x00000300      /* a, b, c ...                          */
#define LT_TYPE_UPPER_ROMAN                             0x00000400      /* I, II, III ...                       */
#define LT_TYPE_LOWER_ROMAN                             0x00000500      /* i, ii, iii ...                       */
#define LT_TYPE_BULLET                                  0x00000600      /* Bullet Type                          */
#define LT_TYPE_COMPOSITE                               0x00000700      /* Number is Composite 10.24            */
#define LT_TYPE_CHECKBOX                                0x00000800      /* Check Box Type [x]                   */
#define LT_TYPE_AMBIGUOUS_I                             0x00000900      /* Contains an I on it's Own            */
                                                                        /*  o Containers/Format                 */
#define LT_FORMAT_MASK                                  0x0000F000      /* Format Mask                          */
#define LT_FORMAT_NONE                                  0x00000000      /* No formatting                        */
#define LT_FORMAT_IN_HOLE                               0x00001000      /* Word In Hole (a)                     */
#define LT_FORMAT_IN_BRACKET                            0x00002000      /* Word In Hole [a]                     */
#define LT_FORMAT_IN_BRACE                              0x00003000      /* Word In Hole {a}                     */
#define LT_FORMAT_WINGS                                 0x00004000      /* Word In Wings  -23-                  */
#define LT_FORMAT_PERIOD_TRAIL                          0x00005000      /* Number is Dec Trailed 1., 2.         */
#define LT_FORMAT_PAREN_TRAIL                           0x00006000      /* Number is Trailed 1) 2)              */
#define LT_FORMAT_BRACKET_TRAIL                         0x00007000      /* Number is Trailed 1] 2]              */

                                                                /************************************************/
                                                                /* Align String                                 */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Quad Modes                        */
#define QUAD_NONE                                                0      /* No Action                            */
#define QUAD_LEFT                                                1      /* Move Left                            */
#define QUAD_RIGHT                                               2      /* Move Right                           */
#define QUAD_CENTER                                              3      /* Move to Center                       */
#define QUAD_JUSTIFY                                             4      /* Justify                              */
#define QUAD_ALIGN                                               5      /* Align on Right Edge                  */
                                                                 

                                                                /************************************************/
                                                                /* Case Change                                  */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Case Change Modes                 */
                                                                        /*  * Flags                             */
#define CASE_CHANGE_SGML                                0x10000000      /* Treat as SGML/HTML                   */
                                                                        /*  * Specified (Match VIC)             */
#define CASE_CHANGE_MODE_MASK                           0x0000000F      /* Mask for Case Mode                   */
#define CASE_CHANGE_LOWER                               0x00000002      /* Lower                                */
#define CASE_CHANGE_UPPER                               0x00000003      /* Upper                                */
#define CASE_CHANGE_SENTENCE                            0x00000004      /* Sentence                             */
#define CASE_CHANGE_INITIAL                             0x00000005      /* Initial                              */
#define CASE_CHANGE_TITLE                               0x00000006      /* Title                                */

                                                                /************************************************/
                                                                /* General String                               */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** ScanString() Modes                */
#define SCAN_STRING_AUTO                                         0      /* Auto Detect List Type                */
#define SCAN_STRING_LINES                                        1      /* List as Line Values                  */
#define SCAN_STRING_COMMA                                        2      /* List as Comma Delimited Values       */
#define SCAN_STRING_SPACES                                       3      /* List as Space Delimited Values       */


                                                                /************************************************/
                                                                /* URI Processing                               */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** URI Schemes                       */
                                                                        /*  * Selected "Standard"               */
#define URI_SCHEME_UNKNOWN                              -1              /* Unknown Scheme                       */
#define URI_SCHEME_NONE                                 0               /* No Scheme                            */
#define URI_SCHEME_HTTP                                 1               /* HTTP                                 */
#define URI_SCHEME_HTTPS                                2               /* HTTPS                                */
#define URI_SCHEME_FTP                                  3               /* FTP                                  */
#define URI_SCHEME_GOPHER                               4               /* Gopher                               */
#define URI_SCHEME_MAILTO                               5               /* Mail Server                          */
#define URI_SCHEME_TELNET                               6               /* Telnet Connection                    */
#define URI_SCHEME_NEWS                                 7               /* USENET News                          */
#define URI_SCHEME_FILE                                 8               /* Local File                           */
#define URI_SCHEME_WIAS                                 9               /* Wide Area Information Servers        */
#define URI_SCHEME_NNTP                                 10              /* USENET New Group NNTP                */
#define URI_SCHEME_PROPERO                              11              /* Prospero Directory Service           */
#define URI_SCHEME_JAVASCRIPT                           12              /* JavaScript (runs code, not URI)      */
#define URI_SCHEME_DATA                                 13              /* Data (runs like URL inline Data)     */
                                                                        /*  * PSG Specific                      */
#define URI_SCHEME_FUNCTION                             14              /* Function (menu ID)                   */
#define URI_SCHEME_VFC                                  15              /* Virtual File Cloud                   */

                                                                /************************************************/
                                                                /* Get QName Parts                              */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** GetQNameParts                     */
#define GQNP_PREFIX                                     0               /* "Prefix" Key/Index                   */
#define GQNP_LOCAL_PART                                 1               /* "LocalPart" Key/Index                */


                                                                /************************************************/
                                                                /* Basic File Object                            */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Windows File Function Defines     */
                                                                        /*  * file::open/create/delete Modes    */
#define FO_READ                                         0x00000000      /* Read Only                            */
#define FO_WRITE                                        0x00000001      /* Read and Write                       */
#define FO_WANT_RENAME                                  0x00000002      /* Want Rename Access                   */      // Only Partial implemented because of Windows Versions
#define FO_WANT_OVERLAPPED                              0x00000004      /* Want Overlapped IO                   */
#define FO_WANT_ATTRIBUTES                              0x00000008      /* Want Attributes Changes              */
#define FO_SHARE_READ                                   0x00000010      /* Allow Others to Open as Read         */
#define FO_SHARE_WRITE                                  0x00000020      /* Allow Others to Open as Write        */
#define FO_TEMP_FILE                                    0x00010001      /* Create/Delete Temp File Exclusive    */
#define FO_DELAY_CREATE                                 0x00020001      /* Create Only, Delay on Share          */
#define FO_CREATE_HIDDEN                                0x00080000      /* Make Hidden on Create                */
#define FO_ICM_EXCLUDE                                  0x00100000      /* Delete, Do Not Call ICM              */
#define FO_WAIT_OPEN                                    0x00200000      /* Delay on Share (open)                */
#define FO_ALLOW_INHERIT_HANDLE                         0x00400000      /* Set Secirity Descriptor to Inherit   */
#define FO_FORCE_SPOOL                                  0x00800000      /* Forces Spoolout (file_object only)   */
                                                                        /*  * Applies to Some Operations        */
#define FO_DO_NOT_CORRECT_NAME                          0x10000000      /* Will Not Correct 8.3/Path Issues     */
#define FO_NO_HTTP_CACHE                                0x40000000      /* No Cache Request on HTTP Load        */
#define FO_NO_ERROR_REPORT                              0x80000000      /* Return Errors, No Message Box        */
                                                                        /*  * Internal                          */
#define FO_DELAY_FLAG                                   0x00020000      /* Delay on Share (test for delay)      */
                                                        
                                                                /************************************************/
                                                                /* Mapped Text Object                           */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Flags                             */
                                                                        /*  * Incoming                          */
#define MFC_USE_MY_HANDLE                       0x0000000000000001      /* Caller Provides and Owns File Handle */
#define MFC_REPORT_PROGRESS                     0x0000000000000004      /* Display Progress (status)            */
#define MFC_OPEN_READ                           0x0000000000000008      /* Open as Read Only Share              */
#define MFC_ALLOW_READ_ONLY                     0x0000000000000010      /* Open Any Read Only                   */
#define MFC_QUERY_READ_ONLY                     0x0000000000000020      /* Query Before Opening Read Only       */
#define MFC_INDEPENDENT_STRING                  0x0000000000000040      /* Mapped String is Copied              */
#define MFC_NO_CACHE                            0x0000000000000080      /* Do Not Read Cache (HTTP)             */
#define MFC_MULTIPLE_THREAD_OPEN                0x0000000000000100      /* Open in a Multiple Thread Mode       */
#define MFC_UNICODE_FILE                        0x0000000000000200      /* Treat file as UNICODE                */
#define MFC_MAP_INTO_EXISTING                   0x0000000000000400      /* Map the File Into Existing Structure */
#define MFC_MAP_TEMP_FILE                       0x0000000000000800      /* Map Temp File as if it was Source    */
                                                                        /*  * These Flags Match MAP Flags       */
#define MFC_TRANSLATE_MAP_FLAGS                 0x000000000FFFF000      /* Allow These Flags to Translate       */
#define MFC_RECOVERY_TRACKING                   0x0000000000001000      /* Use Recovery Tracking                */
#define MFC_UNDO_TRACKING                       0x0000000000002000      /* Keep Undo Information                */
#define MFC_ALLOW_TABS                          0x0000000000004000      /* Tabs Are Allowed and Processed       */
#define MFC_BINARY                              0x0000000000008000      /* File is Binary (no map)              */
#define MFC_ALLOW_SHARE_TRACKING                0x0000000000010000      /* Allow File Share Tracking            */
#define MFC_LOCAL_FILE_IMAGE                    0x0000000000020000      /* Map File Content Copied to MSP       */
#define MFC_UNICODE_TO_UTF_8                    0x0000000000040000      /* Translate Unicode Lines to UTF-8     */
#define MFC_SILENT                              0x0000000000080000      /* No Internal Errors Reported to User  */
#define MFC_ALLOW_FILE_EDIT_LOG                 0x0000000000100000      /* Allow File Edit Log (if enabled)     */
                                                                        /*  * Result                            */
#define MFC_LINE_WRAP                           0x0000010000000000      /* A Line Exceeded Line Limit           */
#define MFC_TABS                                0x0000020000000000      /* Tabs Were in File                    */
#define MFC_REQUEST_IMPORT                      0x0000040000000000      /* Request Import (not opened)          */
#define MFC_USER_CANCEL                         0x0000080000000000      /* User Canceled                        */
                                                                        /*  * Sharing                           */
#define MFC_APPLICATION_SHARE_MODE              0x0000100000000000      /* Uses the Preferences Share Mode      */
                                                                        /*   Not set defaults to Read Share     */
#define MFC_ALLOW_WRITE_SHARE                   0x0000200000000000      /* Read Only/Someone Else is Write      */
                                                                        /*   Set allows a map of file allowing  */
                                                                        /*   write share                        */ 
                                                                        /*                                      */
                                                                        /* ** Mapped Save File                  */
                                                                        /*  * Save Flags (save_flag)            */
#define MSF_BAK_FILE_LIMIT                              0x0000000F      /* Limit of Journal Files               */
#define MSF_BAK_FILE_AS_JOURNAL                         0x00000100      /* Perform Backup as Journal Files      */
#define MSF_BAK_FILE_HIDDEN                             0x00000200      /* Make Backup Files Hidden             */
#define MSF_NO_BAK_FILE                                 0x00000400      /* No Backup File                       */
#define MSF_NO_NEWLINES                                 0x00010000      /* No 0x0A New Line Codes               */
#define MSF_WRITE_ATTRIBUTES                            0x00020000      /* Write Attribute File                 */
#define MSF_OVERRIDE_READ_ONLY                          0x00040000      /* Override Read Only Setting           */
#define MSF_NO_FILE_SAVE_NOTIFY                         0x00100000      /* Do Not Notify Application of Change  */
                                                                        /*                                      */
                                                                        /* ** Mapped Text Object Encoding       */
                                                                        /*  * Shifted Version of MAP_           */
#define MTE_CONTAINS_UNICODE                            0x00008000      /* UNICODE Chars Added/Mapped > 0x00FF  */
#define MTE_UNICODE                                     0x00004000      /* Mapped as UNICODE                    */
#define MTE_BIG_ENDIAN                                  0x00002000      /* Set if Big Ending Style              */
#define MTE_UTF_8                                       0x00001000      /* Set if UTF-8                         */

                                                                /************************************************/
                                                                /* File/Folder Enumeration                      */
                                                                /* -----------------------                      */
                                                                /* Not all of these settings are supported in   */
                                                                /* the script interface.                        */

                                                                        /*                                      */
                                                                        /* ** Loading/Append (folder_flags)     */
                                                                        /*  * Append Flags                      */
#define FOLDER_LOAD_NO_RECURSE                          0x00000000      /* No Recurse                           */
#define FOLDER_LOAD_RECURSE                             0x00000001      /* Recurse Into Subdirectories          */
#define FOLDER_LOAD_FOLDER_TO_BRACKETS                  0x00000002      /* Add Brackets to Directory Names      */
#define FOLDER_LOAD_FOLDER_NAMES                        0x00000004      /* Add Folder Names to List             */
#define FOLDER_LOAD_RECENT_30                           0x00000008      /* Load only past 30 days               */
#define FOLDER_LOAD_NO_FOLDER_NAV                       0x00000010      /* Skip the '.' and '..' Entries        */
#define FOLDER_LOAD_NO_HIDDEN                           0x00000020      /* Do not Load Hidden Files             */
#define FOLDER_LOAD_NO_SYSTEM                           0x00000040      /* Do not Load System Files             */
#define FOLDER_LOAD_CASE_SENSITIVE                      0x00000080      /* Match Case-Sensitive                 */
#define FOLDER_LOAD_MATCH_FOLDERS                       0x00000100      /* Mask on Folder Names Too             */
                                                                        /*  * Files                             */
#define FOLDER_UTF_NAMES                                0x00001000      /* Contain UTF Coded Name (Unicode)     */
                                                                        /*  * User Flags                        */
#define FOLDER_LOAD_USER_MASK                           0xFFFF0000      /* User Mask                            */
#define FOLDER_USE_PROGRESS                             0x00100000      /* Use Legato's Progress Display        */
                                                                        /*                                      */
                                                                        /* ** Load Places                       */
                                                                        /*  * Flags                             */
#define FOLDER_LOAD_PLACES_GROUP                        0x00000001      /* Add Groupings                        */
#define FOLDER_LOAD_PLACES_SPACER                       0x00000002      /* Add Spacer (blank between)           */
                                                                        /*                                      */
                                                                        /* ** Sorting                           */
                                                                        /*  * Sort Flags                        */
#define FOLDER_SORT_TYPE_MASK                           0x0000000F      /* Sort Type Index                      */
                                                                        /*  o Types                             */
#define FOLDER_SORT_NAME                                0x00000000      /* Sort by Name                         */
#define FOLDER_SORT_EXT                                 0x00000001      /* Sort by Extension (then name)        */
#define FOLDER_SORT_LAST_ACCESS                         0x00000002      /* Sort by Last Access Time             */
#define FOLDER_SORT_LAST_MODIFIED                       0x00000003      /* Sort by Last Modified Time           */
#define FOLDER_SORT_CREATE                              0x00000004      /* Sort by Create Time                  */
#define FOLDER_SORT_SIZE                                0x00000005      /* Sort by Size                         */
#define FOLDER_SORT_CALLER_DWORD                        0x00000006      /* Sort by Caller DWORD                 */
#define FOLDER_SORT_CALLER_STRING                       0x00000007      /* Sort by Caller String                */
                                                                        /*  o Flags                             */
#define FOLDER_SORT_DESCENDING                          0x01000000      /* Sort Descending                      */
#define FOLDER_SORT_SIMPLE                              0x02000000      /* Sort Non-Smart                       */
#define FOLDER_SORT_CASE                                0x04000000      /* Sort Case-Sensitive                  */
#define FOLDER_SORT_UNGROUP_DIRECTORIES                 0x08000000      /* Directory Names '[' etc Not Grouped  */
                                                                        /*                                      */
                                                                        /* ** Column Display Data               */
                                                                        /*  * These tokens can be added to the  */
                                                                        /*    columns list to display various   */
                                                                        /*    fields, the columns headers will  */
                                                                        /*    be overridden.                    */
#define FOLDER_FIELD_NAME                                        1      /* Filename                             */
#define FOLDER_FIELD_NAME_COMPOSITE                              2      /* Filename [directory]                 */
#define FOLDER_FIELD_NAME_ICON                                   3      /* Filename with Icon                   */
#define FOLDER_FIELD_NAME_SHORT                                  4      /* Short Filename 8.3                   */
#define FOLDER_FIELD_SIZE                                        5      /* Size                                 */
#define FOLDER_FIELD_SIZE_APX                                    6      /* Size (approximate KB, MB, GB)        */
#define FOLDER_FIELD_SIZE_KB                                     7      /* Size (approximate KB)                */
#define FOLDER_FIELD_TYPE                                        8      /* File Type                            */
#define FOLDER_FIELD_MODIFIED_TIME                               9      /* Modified Time                        */
#define FOLDER_FIELD_CREATE_TIME                                10      /* Create Time                          */
#define FOLDER_FIELD_ATTRIBUTES                                 11      /* File Attributes                      */
#define FOLDER_FIELD_STATUS                                     12      /* Open Status                          */
                                                                        /*                                      */
                                                                        /* ** Query                             */
#define FOLDER_QUERY_ERROR_FILES                        0x00000001      /* Display Only Files with Action Error */


                                                                /************************************************/
                                                                /* Data Sheet                                   */
                                                                /* ----------                                   */

                                                                        /****************************************/
                                                                        /* ** Cell Information                  */
                                                                        /*  * Display Type                      */
#define DS_CF_DISPLAY_TYPE_MASK                         0x0000000F      /* Mask for Type Data                   */
#define DS_CF_DISPLAY_TEXT                              0x00000000      /* Text Cell (multiple, icons)          */
#define DS_CF_DISPLAY_CHECKBOX                          0x00000001      /* Display Check Box                    */
#define DS_CF_DISPLAY_CHECKBOX_AUTO                     0x00000002      /* Display Check Box (auto)             */
#define DS_CF_DISPLAY_RADIO                             0x00000003      /* Display Radio Button                 */
#define DS_CF_DISPLAY_RADIO_AUTO                        0x00000004      /* Display Radio Button (auto)          */
#define DS_CF_DISPLAY_PUSHBUTTON                        0x00000005      /* Display Push Button                  */
#define DS_CF_DISPLAY_PUSHBUTTON_TOGGLE                 0x00000006      /* Display Push Button (auto)           */
#define DS_CF_DISPLAY_COMBOBOX                          0x00000007      /* Display Combo Box Select             */
#define DS_CF_DISPLAY_COMBOBOX_EDIT                     0x00000008      /* Display Combo Box and Edit           */
#define DS_CF_DISPLAY_LISTBOX                           0x00000009      /* Display List Box                     */
#define DS_CF_DISPLAY_IMAGE                             0x0000000A      /* Display Image/Picture                */
#define DS_CF_DISPLAY_V_SCROLL                          0x0000000B      /* Display Vertical Scroll              */
#define DS_CF_DISPLAY_H_SCROLL                          0x0000000C      /* Display Horizontal Scroll            */
#define DS_CF_DISPLAY_HTML                              0x0000000D      /* Display HTML                         */
#define DS_CF_DISPLAY_NUMERIC                           0x0000000E      /* Display Numeric (original in edit)   */
#define DS_CF_DISPLAY_PROGRESS                          0x0000000F      /* Display As Progress                  */
                                                                        /*  * Display Attributes                */
#define DS_CF_NON_CELL                                  0x00000010      /* Cell is not Displayed or Navigated   */
#define DS_CF_CALCULATE                                 0x00000020      /* Field is Calculable (by caller)      */
#define DS_CF_NO_CLIP                                   0x00000040      /* Display can Extend Outside of Cell   */
                                                                        /*  o Protection                        */
#define DS_CF_READ_ONLY                                 0x00000100      /* Cell is Read-Only                    */
#define DS_CF_PROTECTED                                 0x00000200      /* Cell is Protected (password)         */
#define DS_CF_OPEN_AS_DISABLED                          0x00001000      /* Cell Open as Disabled (Saved)        */
#define DS_CF_OPEN_AS_HIDDEN                            0x00002000      /* Cell Open as Hidden (Saved)          */
                                                                        /*  o d_data Control Items              */
#define DS_CF_D_DATA_LINES                              0x00000400      /* Specifies Wrapped Line Count         */
                                                                        /*  * Display and Cell Control          */
#define DS_CF_CONTROL_MASK                              0x000F0000      /* Cell Control Mask                    */
                                                                        /*  o Dereferenced Pointers (Offset)    */
#define DS_CF_DRP_MASK                                  0x00030000      /* Dereferenced Pointers Mask           */
#define DS_CF_DRP_DISPLAY                               0x00010000      /* Display is a Non-Pool Pointer        */
#define DS_CF_DRP_AA                                    0x00020000      /* Attributes is a Non-Pool Pointer     */
                                                                        /*  o Cell Highlighting/State           */
#define DS_CF_HIGHLIGHT_MASK                            0x00F00000      /* Highlight Index Mask                 */
#define DS_CF_HIGHLIGHT_SHIFT                                   20      /* Highlight Index Shift                */
#define DS_CF_DISABLED                                  0x01000000      /* Cell Disabled                        */
#define DS_CF_HIDDEN                                    0x02000000      /* Cell is Hidden (transparent)         */
#define DS_CF_DOG_EAR_MASK                              0x3C000000      /* Cell Dog Ear Mask                    */
#define DS_CF_DOG_EAR_TIP_NW                            0x04000000      /* Cell has Top Left Dog Ear Tip        */
#define DS_CF_DOG_EAR_TIP_NE                            0x08000000      /* Cell has Top Right Dog Ear Tip       */
#define DS_CF_DOG_EAR_TIP_SE                            0x10000000      /* Cell has Bottom Right Dog Ear Tip    */
#define DS_CF_DOG_EAR_TIP_SW                            0x20000000      /* Cell has Bottom Left Dog Ear Tip     */
                                                                        /*  o Cell Processing                   */
#define DS_CF_DIRTY                                     0x80000000      /* Cell Size/Data Must be Calculated    */
                                                                        /*                                      */
                                                                        /* ** Display Data (d_data)             */
                                                                        /*  * As Text Field                     */
#define DS_CD_TEXT_LINES_MASK                           0x0000FFFF      /* Specifies Wrapped Line Count         */
#define DS_CD_TEXT_WRAP_AUTO                            0x00080000      /* Cell Data Can Wrap                   */
#define DS_CD_TEXT_LINK                                 0x00100000      /* Cell is a link (href in type)        */
                                                                        /*  * As Combo Box or List              */
#define DS_CD_OBJECT_INDEX_MASK                         0x00FFFFFF      /* Mask for Object Index                */
#define DS_CD_OBJECT_CONTROL_MASK                       0xFF000000      /* Mask for Object Control              */
#define DS_CD_OBJECT_FLAG                               0x80000000      /* Is Object                            */
                                                                        /*  o Specific Types                    */
#define DS_CD_LIST_COMBO_NOTIFY                         0x10000000      /* Notify on Combo Actions (drop)       */
#define DS_CD_LIST_MULTI_SELECT                         0x20000000      /* Allow Multi-Select (list only)       */
#define DS_CD_LIST_STORE_SELECT_INDEX                   0x40000000      /* Store List Indices (else string)     */
                                                                        /*  * As Numeric Field                  */
                                                                        /* (matches DV Codes)                   */
#define DS_CD_NUMERIC_DECIMAL_PLACE_MASK                0x000000FF      /* Precise Digit (- rounds number)      */
                                                                        /*  o Display Options                   */
#define DS_CD_NUMERIC_INVERT_CREDIT_DEBIT               0x00000100      /* Treat Numbers as Credit/Debit Values */
#define DS_CD_NUMERIC_NEG_IN_HOLE                       0x00000200      /* Show Negative Numbers in Hole (123)  */
#define DS_CD_NUMERIC_NEG_IN_RED                        0x00000400      /* Show Negative Numbers As Red         */
#define DS_CD_NUMERIC_USE_1000                          0x00000800      /* Use Thousand Separators              */
#define DS_CD_NUMERIC_ZERO_AS_DASH                      0x00001000      /* Replace Zero with '--'               */
                                                                        /*  o Sub Types                         */
#define DS_CD_NUMERIC_SUB_MASK                          0x0F000000      /* Numeric Sub Type Mask                */
#define DS_CD_NUMERIC_ACCOUNTING                        0x00000000      /* Accounting Numbers                   */
#define DS_CD_NUMERIC_PERCENTAGE                        0x01000000      /* Percentage                           */
#define DS_CD_NUMERIC_FRACTION                          0x02000000      /* Fractions                            */
#define DS_CD_NUMERIC_WHOLE                             0x03000000      /* Whole Numbers                        */
#define DS_CD_NUMERIC_REAL                              0x04000000      /* Real (float) Numbers                 */
#define DS_CD_NUMERIC_SCIENTIFIC                        0x05000000      /* Scientific Exp Numbers               */
                                                                        /*  o Currency (accounting only)        */
#define DS_CD_NUMERIC_CURRENCY_MASK                     0x00F00000      /* Currency Mask                        */
#define DS_CD_NUMERIC_NO_CURRENCY                       0x00000000      /* Currency None                        */
#define DS_CD_NUMERIC_US_DOLLAR                         0x00100000      /* Currency Dollars                     */
#define DS_CD_NUMERIC_EURO                              0x00200000      /* Currency Euros                       */
#define DS_CD_NUMERIC_POUND                             0x00300000      /* Currency Pounds                      */
#define DS_CD_NUMERIC_YEN                               0x00400000      /* Currency Yen                         */

                                                                        /****************************************/
                                                                        /* ** Column Array Control Flags        */
                                                                        /*  * User Settable                     */
#define DS_CC_NO_RESIZE                                 0x00000001      /* User Cannot Resize                   */
#define DS_CC_ALLOW_DRAG                                0x00000002      /* User Can Drag and Drop Columns       */
#define DS_CC_ALLOW_SELECT                              0x00000004      /* User Can Select                      */
#define DS_CC_ALLOW_RENAME                              0x00000008      /* User Can Rename                      */
#define DS_CC_ALLOW_PRESS                               0x00000010      /* User Can Press Button (sort)         */
                                                                        /*  o Contents                          */
#define DS_CC_DEFAULT_NAME                              0x00000020      /* Default Name (A, B, C)               */
#define DS_CC_DIRTY                                     0x00000040      /* Column Needs Recalculation           */
                                                                        /*  o Select (Highlight)                */
#define DS_CC_HIGHLIGHT                                 0x00000080      /* Column is Highlighted (legend)       */
                                                                        /*  o Column (match DC_ style) Text     */
#define DS_CC_TEXT_MODE_MASK                            0x00000C00      /* Text Mode Mask (Left, Right, etc)    */
#define DS_CC_TEXT_DEFAULT                              0x00000000      /* Default (Left Text)                  */
#define DS_CC_TEXT_LEFT                                 0x00000400      /* Left Text                            */
#define DS_CC_TEXT_CENTER                               0x00000800      /* Center Text                          */
#define DS_CC_TEXT_RIGHT                                0x00000C00      /* Right Text                           */
                                                                        /*  o Protection                        */
#define DS_CC_READ_ONLY                                 0x00001000      /* Column is Read-Only                  */
#define DS_CC_PROTECTED                                 0x00002000      /* Column is Protected (password)       */
                                                                        /*  * Sorting                           */
#define DS_CC_SORT_TYPE_MASK                            0x000F0000      /* Sort Type Mask                       */
#define DS_CC_SORT_NONE                                 0x00000000      /* Sort Not Allows                      */
#define DS_CC_SORT_TEXT                                 0x00010000      /* Sort Text (w/ case-sensitivity)      */
#define DS_CC_SORT_TEXT_NO_CASE                         0x00020000      /* Sort Text (no case-sensitivity)      */
#define DS_CC_SORT_TEXT_NUMERIC                         0x00030000      /* Sort Text/Numbers (as File List)     */
#define DS_CC_SORT_NUMERIC                              0x00040000      /* Sort Treat as Auto Number            */
#define DS_CC_SORT_DATE_AUTO                            0x00050000      /* Sort Treat as Auto Date              */
                                                                        /*  * Control (Private)                 */
#define DS_CC_HIDDEN                                    0x00100000      /* Column is Hidden                     */
#define DS_CC_DISABLED                                  0x00200000      /* Column is Disabled                   */
#define DS_CC_SORT_MASK                                 0x00C00000      /* Column Sort Mask                     */
#define DS_CC_SORT_ACTIVE                               0x00400000      /* Column Sort is Active (only one)     */
#define DS_CC_SORT_DESCEND                              0x00800000      /* Sort Descending/Ascending            */
                                                                        /*  * Reserved                          */
#define DS_CC_RESERVED                                  0xFF000000      /* Reserved (internal flags)            */
                                                                        /*  * Caller Combos                     */
#define DS_CC_SORT                                      0x00020410      /* General Sort, Left Align             */
#define DS_CC_SORT_DATE                                 0x00050410      /* Date Sort, Left Align                */
#define DS_CC_SORT_FILES                                0x00030410      /* Filename Sort, Left Align            */
#define DS_CC_SORT_NUMBERS                              0x00040C10      /* Sort as Numeric, Right Align         */
#define DS_CC_SORT_RIGHT                                0x00020C10      /* General Sort, Right Align            */

                                                                        /****************************************/
                                                                        /* ** Row Array Control Flags           */
                                                                        /*  * Masks                             */
#define DS_RC_SHEET_FLAG_MASK                           0x0000FFFF      /* Mask for Our Flags                   */
#define DS_RC_CALLER_FLAG_MASK                          0xFFFF0000      /* Mask for Caller Flags (button)       */
                                                                        /*  * User Settable                     */
#define DS_RC_NO_RESIZE                                 0x00000001      /* User Cannot Resize                   */
#define DS_RC_ALLOW_DRAG                                0x00000002      /* User Can Drag and Drop Rows          */
#define DS_RC_ALLOW_SELECT                              0x00000004      /* User Can Select                      */
#define DS_RC_ALLOW_RENAME                              0x00000008      /* User Can Rename                      */
#define DS_RC_ALLOW_PRESS                               0x00000010      /* User Can Press Button                */
                                                                        /*  o Display Label Mode                */
#define DS_RC_LABEL_MASK                                0x00000C00      /* Vertical Text Mode Mask              */
#define DS_RC_LABEL_LEFT                                0x00000000      /* Left Text (default)                  */
#define DS_RC_LABEL_CENTER                              0x00000400      /* Center Text                          */
#define DS_RC_LABEL_RIGHT                               0x00000800      /* Right Text                           */
                                                                        /*  o Default Cell Text (match DC_)     */
#define DS_RC_TEXT_VERT_MASK                            0x00000300      /* Vertical Text Mode Mask              */
#define DS_RC_TEXT_DEFAULT                              0x00000000      /* Default (middle)                     */
#define DS_RC_TEXT_MIDDLE                               0x00000100      /* Middle (default)                     */
#define DS_RC_TEXT_TOP                                  0x00000200      /* Top Text                             */
#define DS_RC_TEXT_BOTTOM                               0x00000300      /* Bottom Text                          */
                                                                        /*  o Protection                        */
#define DS_RC_READ_ONLY                                 0x00001000      /* Row is Read-Only                     */
#define DS_RC_PROTECTED                                 0x00002000      /* Row is Protected                     */
                                                                        /*  * Control (Private)                 */
#define DS_RC_CARET                                     0x00000020      /* Row is Caret Position                */
#define DS_RC_HIDDEN                                    0x00000040      /* Row is Hidden                        */
#define DS_RC_DISABLED                                  0x00000080      /* Row is Disabled                      */
#define DS_RC_SELECTED                                  0x00004000      /* Row is Selected                      */
#define DS_RC_DIRTY                                     0x00008000      /* Row Needs Recalculation              */


                                                                        /****************************************/
                                                                        /* ** Select Support Data               */
                                                                        /*  * Clue (used for clip, delete)      */
#define DS_SELECT_NONE                                           0      /* No Select                            */
#define DS_SELECT_CELLS                                          1      /* Selected Cell(s) (Scattered)         */
#define DS_SELECT_ROWS                                           2      /* Selected Rows                        */
#define DS_SELECT_COLUMNS                                        3      /* Selected Columns                     */
#define DS_SELECT_REGION                                         4      /* Selected Region                      */
#define DS_SELECT_ALL                                            5      /* Selected All                         */
#define DS_SELECT_ALL_AS_SHEET                                   6      /* Selected All (as sheet)              */

                                                                        /****************************************/
                                                                        /* ** Data Sheet Import                 */
#define DS_IMPORT_USE_PROGRESS                          0x00000001      /* Use Script Progress                  */

                                                                        /****************************************/
                                                                        /* ** Data Control Clone                */
                                                                        /*  * Bitwise Flags                     */
#define DC_CLONE_COPY_ALL                               0x00000000      /* Copy All                             */
#define DC_CLONE_NO_UNDO                                0x00000010      /* Do Not Process Undo                  */
#define DC_CLONE_NO_COPY_DATA                           0x00000020      /* Don't Copy Display Data              */
#define DC_CLONE_NO_COPY_ATTRIBUTES                     0x00000040      /* Don't Copy Aggregate Attribute Data  */
#define DC_CLONE_NO_STYLE                               0x00000080      /* Don't Copy Style Data                */
#define DC_CLONE_ROW_HEIGHT                             0x00000100      /* Clone Row Heights                    */

                                                                        /****************************************/
                                                                        /* ** Data Control Combobox Find        */
                                                                        /*  * Bitwise Flags                     */
#define DCC_LBC_FIND_INDEX_MASK                         0x0000FFFF      /* Starting Index of Search             */
#define DCC_LBC_FIND_PARTIAL                            0x10000000      /* Match Any Segment of Field           */
#define DCC_LBC_FIND_NO_CASE                            0x20000000      /* Not Case Sensitive                   */

                                                                /************************************************/
                                                                /* CSV Functions                                */
                                                                /* -------------                                */

                                                                        /****************************************/
                                                                        /* ** CSVWriteTable                     */
#define CSV_WT_CRLF_LINE_ENDING                         0x00000000      /* CR/LF (Absence of Flag)              */
#define CSV_WT_SIMPLE_LINE_ENDING                       0x00000001      /* Use CR only Line Endings             */
#define CSV_WT_KEY_NAMES_TO_HEADER                      0x00000002      /* Convert Key Names to CSV Row 0       */
#define CSV_WT_CREATE_EXCEL_STYLE_CSV                   0x00000004      /* Create Excel Style CSV               */
#define CSV_WT_ADD_UTF_8_HEADER                         0x00000008      /* Add UTF-8 Header                     */
                                                                        /*                                      */
                                                                        /* ** CSVSetExportFlags                 */
#define CSV_APF_DELIMITER_MASK                          0x000000FF      /* Delimiter (other than comma)         */
#define CSV_APF_QUOTE_AS_REQUIRED                       0x00001000      /* Only Quote if Required (Excel Style) */
#define CSV_APF_LINE_ENDING_MASK                        0x00F00000      /* Line Ending Mask                     */
#define CSV_APF_LINE_ENDING_CRLF                        0x00000000      /* Line Endings as CR/LF                */
#define CSV_APF_LINE_ENDING_CR                          0x00100000      /* Line Endings as CR Only              */
#define CSV_APF_LINE_ENDING_LF                          0x00200000      /* Line Endings as LF Only              */


                                                                /************************************************/
                                                                /* JSON Functions                               */
                                                                /* --------------                               */

                                                                        /****************************************/
                                                                        /* ** JSONLoad                          */
                                                                        /*  * Options                           */
#define JSON_LOAD_SUPPRESS_PROGRESS                     0x00000001      /* No Progress on Load (TRUE)           */

                                                                        /****************************************/
                                                                        /* ** JSON Data Types                   */
                                                                        /*  * Item Types                        */
#define JSON_DATA_TYPE_NULL                                      0      /* NULL Type                            */
#define JSON_DATA_TYPE_STRING                                    1      /* String Type                          */
#define JSON_DATA_TYPE_NUMBER                                    2      /* Number Type                          */
#define JSON_DATA_TYPE_OBJECT                                    3      /* Object Type                          */
#define JSON_DATA_TYPE_ARRAY                                     4      /* Array Type                           */
#define JSON_DATA_TYPE_BOOL                                      5      /* Bool Type                            */



                                                                /************************************************/
                                                                /* Text Attributes                              */
                                                                /* ---------------                              */
                                                                /* Text  attrubutes  allow  addditional  infor- */
                                                                /* mation to be carried  in  mapped  and  other */
                                                                /* data  files.  In  addition,  objects  may be */
                                                                /* indexed.                                     */

                                                                        /****************************************/
                                                                        /* ** Support Data Types                */
                                                                        /*  * Types and Masks                   */
#define TA                                              dword           /* 32 Bit Text Attribute Data Type      */
                                                                        /*  * Control Information               */
#define TA_NULL                                         0x40000000      /* Evalivaent of /0 But Holds Slot      */
#define TA_OBJECT                                       0x80000000      /* Item is an Object Flag               */
#define TA_ERROR_FLAG                                   0x80000000      /* Error on Character (OR'ed)           */
                                                                        /* (note that 0x40000000 cannot be used)*/
#define TA_OBJECT_MASK                                  0x007FFFFF      /* 23 Bit Object Index                  */
                                                                        /*  * Compression RLE Codes             */
#define TA_RLE_CODE                                     0xC0000000      /* Run Length Code                      */
#define TA_RLE_COUNT                                    0x0000FFFF      /* Run Length Count                     */
                                                                        /*                                      */
                                                                        /* ** Text Attributes                   */
                                                                        /*  * Text Color (16 only)              */
#define TA_CI_MASK                                      0x0000001F      /* Color Index Mask (see CI_ codes)     */
                                                                        /*  * Font State Styles                 */
#define TA_FS_MASK                                      0x00008060      /* Font Mask _ Small Caps               */
#define TA_NORMAL                                       0x00000000      /* Normal                               */
#define TA_BOLD                                         0x00000020      /* Bold                                 */
#define TA_ITALIC                                       0x00000040      /* Italic                               */
#define TA_BOLD_ITALIC                                  0x00000060      /* Bold Italic                          */
#define TA_HIDDEN                                       0x00000080      /* Hidden Text                          */
                                                                        /*  * Underlines (3 bits)               */
#define TA_UL_MASK                                      0x00000700      /* Underlining Mask                     */
#define TA_UL_NONE                                      0x00000000      /* No Underlining                       */
#define TA_UL_SINGLE                                    0x00000100      /* Single Underline                     */
#define TA_UL_DOUBLE                                    0x00000200      /* Double Underline                     */
#define TA_UL_THICK                                     0x00000300      /* Thick Underline                      */
#define TA_UL_DOTTED                                    0x00000400      /* Dotted Underline                     */
#define TA_UL_DASHED                                    0x00000500      /* Dashed Underline                     */
#define TA_UL_WAVE                                      0x00000600      /* Wave Underline                       */
#define TA_UL_OVERLINE                                  0x00000700      /* Overline Line Type                   */
                                                                        /*  * Line Through (2 bits)             */
#define TA_LT_MASK                                      0x00001800      /* Line Through Mask                    */
#define TA_LT_NONE                                      0x00000000      /* No Line Through                      */
#define TA_LT_SINGLE                                    0x00000800      /* Single Line Strikethrough            */
#define TA_LT_DOUBLE                                    0x00001000      /* Double Line Strikethrough            */
#define TA_LT_LINE_OVER                                 0x00001800      /* Line Over                            */
                                                                        /*  * Text Case Adjustment              */
#define TA_TC_MASK                                      0x0000E000      /* Text Case Mask                       */
#define TA_TC_NORMAL                                    0x00000000      /* Normal Case                          */
#define TA_TC_CAPITALIZE                                0x00002000      /* Capitalize                           */
#define TA_TC_UPPER                                     0x00004000      /* All Caps                             */
#define TA_TC_LOWER                                     0x00006000      /* All Lower Case                       */
                                                                        /*  o Small Caps                        */
#define TA_TC_SMALL_CAPS                                0x00008000      /* Small Caps                           */
                                                                        /*  * Vertical/Text Position            */
#define TA_VP_MASK                                      0x00030000      /* Text Position Mask                   */
#define TA_VP_NORMAL                                    0x00000000      /* Normal Base Line Text Position       */
#define TA_VP_SUPER                                     0x00010000      /* Superscript                          */
#define TA_VP_SUB                                       0x00020000      /* Subscript                            */
#define TA_VP_RESERVED                                  0x00030000      /* Not Used (reserved)                  */
                                                                        /*  * Special Effect                    */
#define TA_SE_MASK                                      0x001C0000      /* Special Text Mask                    */
#define TA_SE_NONE                                      0x00000000      /* Normal Text (no special attribute)   */
#define TA_SE_OUTLINE                                   0x00040000      /* Outline Text                         */
#define TA_SE_SHADOW                                    0x00080000      /* Shadow Text                          */
#define TA_SE_EMBOSS                                    0x000C0000      /* Embossed Text                        */
#define TA_SE_ENGRAVE                                   0x00100000      /* Engraved Text                        */
#define TA_SE_REVERSE                                   0x00140000      /* Reversed Text                        */
#define TA_SE_BOX                                       0x00180000      /* Outlined Box                         */
#define TA_SE_RESERVED                                  0x001C0000      /* Not Used (open)                      */
                                                                        /*  * Revised Text                      */
#define TA_RT_MASK                                      0x00600000      /* Revised Text Mask                    */
#define TA_RT_NONE                                      0x00000000      /* No Text Revision                     */
#define TA_RT_ADDED                                     0x00200000      /* Added Text Attribute                 */
#define TA_RT_DELETED                                   0x00400000      /* Deleted Text                         */
#define TA_RT_ALTERED                                   0x00600000      /* Altered Text (ambiguous change)      */
                                                                        /*  * Display Control/Keywords Ordinals */
#define TA_DC_MASK                                      0x3F800000      /* Display Control Mask                 */
                                                                        /*  o Spelling (bitwise)                */
#define TA_DC_SPELL_MASK                                0x30000000      /* Grammar Error                        */
#define TA_DC_SPELL_ERROR                               0x10000000      /* Spelling Error                       */
#define TA_DC_SPELL_IGNORE                              0x20000000      /* Spelling Ignore (not marked)         */
                                                                        /*  o Flags                             */
#define TA_DC_ERROR                                     0x00800000      /* Error (Combined with Keyword)        */
#define TA_DC_KEYWORD_MASK                              0x0F000000      /* Keyword Ordinal Mask                 */
#define TA_DC_KEYWORD_COMPOSITE_MASK                    0x0F800000      /* General Keyword                      */
                                                                        /*  o Keywords (combined with error)    */
#define TA_DC_NONE                                      0x00000000      /* No Keyword                           */
#define TA_DC_REVISED_AREA                              0x01000000      /* Revised Area                         */
                                                                        /*  - HTML/SGML/XML                     */
#define TA_DC_ELEMENT                                   0x02000000      /* Element                              */
#define TA_DC_ELEMENT_NAMESPACE                         0x03000000      /* Element with XML Namespace           */
#define TA_DC_ATTRIBUTE                                 0x04000000      /* Attribute                            */
#define TA_DC_ATTRIBUTE_VALUE                           0x05000000      /* Attribute Value                      */
                                                                        /* (0x06 open)                          */
#define TA_DC_ENTITY                                    0x07000000      /* SGML Entity                          */
#define TA_DC_CHARACTER                                 0x08000000      /* SGML Character                       */
#define TA_DC_SGML_COMMENT                              0x09000000      /* SGML Comment                         */
#define TA_DC_SGML_DIRECTIVE                            0x0A000000      /* SGML Comment as a Directive (PSG)    */
                                                                        /*  - Programming/Script                */
#define TA_DC_KEYWORD                                   0x0B000000      /* General Keyword                      */
#define TA_DC_LITERAL                                   0x0C000000      /* Literal                              */
#define TA_DC_VARIABLE                                  0x0D000000      /* Variable                             */
#define TA_DC_COMMENT                                   0x0E000000      /* Comment                              */
#define TA_DC_DIRECTIVE                                 0x0F000000      /* Directive (define, pragma)           */
                                                                        /*                                      */                                                      
                                                                        /* ** Color Attribute Positions         */
                                                                        /*  * 16 HTML Colors on Index           */
#define TA_CI_BLACK                                     0x00000000      /* Black        #000000 (default)       */
#define TA_CI_AQUA                                      0x00000001      /* Aqua         #00FFFF                 */
#define TA_CI_BLUE                                      0x00000002      /* Blue         #0000FF                 */
#define TA_CI_FUCHSIA                                   0x00000003      /* Fuchsia      #FF00FF                 */
#define TA_CI_GRAY                                      0x00000004      /* Gray         #808080                 */
#define TA_CI_GREEN                                     0x00000005      /* Green        #008000                 */
#define TA_CI_LIME                                      0x00000006      /* Lime         #00FF00                 */
#define TA_CI_MAROON                                    0x00000007      /* Maroon       #800000                 */
#define TA_CI_NAVY                                      0x00000008      /* Navy         #000080                 */
#define TA_CI_OLIVE                                     0x00000009      /* Olive        #808000                 */
#define TA_CI_PURPLE                                    0x0000000A      /* Purple       #800080                 */
#define TA_CI_RED                                       0x0000000B      /* Red          #FF0000                 */
#define TA_CI_SILVER                                    0x0000000C      /* Silver       #C0C0C0                 */
#define TA_CI_TEAL                                      0x0000000D      /* Teal         #008080                 */
#define TA_CI_WHITE                                     0x0000000E      /* White        #FFFFFF                 */
#define TA_CI_YELLOW                                    0x0000000F      /* Yellow       #FFFF00                 */
                                                                        /*  * 16 Colors Programmable            */
#define TA_CI_PALETTE_FLAG                              0x00000010      /* Using Palette                        */

                                                                        /****************************************/
                                                                        /* ** Color References                  */
#define RGB_DEFAULT                                     0xFF000000      /* Default or Transparent Color         */
#define RGB_TRANSPARENT                                 0xFF000000      /* Transparent Color                    */
#define RGB_AUTO                                        0xFE000000      /* Auto Color                           */
#define RGB_MIXED                                       0xFD000000      /* Mixed Color                          */
                                                                        /*                                      */

                                                                        /****************************************/
                                                                        /* ** Color Translate (RGB to Name)     */
#define RGB_COLOR_TO_HEX                                0               /* Color as #RRGGBB                     */
#define RGB_COLOR_TO_HEX_TRANSPARENT                    1               /* Color as #RRGGBB allow "transparnet" */
#define RGB_COLOR_TO_DECIMAL                            2               /* Color as rgb(rr,gg,bb)               */
#define RGB_COLOR_TO_NAME                               3               /* Color as Name                        */

                                                                        /****************************************/
#define PSG_DIRECTIVE_COLOR                             "#027D01"       /* Color for Directives                 */
                                                                        /*   This color is  used for items that */
                                                                        /*   need  to  be embedded or hidden in */
                                                                        /*   applications such as MS Word.      */

                                                                /************************************************/
                                                                /* Progress                                     */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Progress Window                   */
                                                                        /*  * Flags                             */
#define PW_BAR_MASK                                     0x000000F0      /* Bar Mask                             */
#define PW_BAR_DEFAULT                                  0x00000000      /* Default Progress                     */
#define PW_BAR_XP_STYLE                                 0x00000020      /* Windows Style Progress Bar           */
#define PW_NO_CANCEL                                    0x00000001      /* No Cancel Button                     */
#define PW_NO_YIELD                                     0x00000002      /* Do Not Yield for Messages            */
#define PW_BAR_NO_PERCENT                               0x00000004      /* No Percentage Bar                    */
#define PW_BOX_STYLE_MASK                               0x00000F00      /* Box Style Mask                       */
#define PW_STANDARD_BOX_STYLE                           0x00000000      /* Standard Box (default)               */
#define PW_SMALL_BOX_STYLE                              0x00000100      /* Use Small Box (no visible cancel)    */
#define PW_LARGE_BOX_STYLE                              0x00000200      /* Large Small Box (File Transfer)      */
#define PW_HIDE_CAPTION                                 0x00001000      /* Hide the caption                     */
#define PW_APPLICATION_LOG                              0x00002000      /* Post to Application Log              */
#define PW_INHIBIT_PROGRESS                             0x01000000      /* Don't Display Percent Updates        */
#define PW_EMPTY_MESSAGE                                0x10000000      /* Message Display was Empty (hResult)  */
#define PW_EMPTY_SUBMESSAGE                             0x20000000      /* .. to avoid writing alot of blanks   */
#define PW_REQUEST_PENDING                              0x40000000      /* A Cancel or Pause is Pending         */

                                                                /************************************************/
                                                                /* Log Messages                                 */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Log Message Types                 */
#define LOG_TYPE_MASK                                   0x0000000F      /* Type Mask                            */
#define LOG_NONE                                        0x00000000      /* No Message Type                      */
#define LOG_INFO                                        0x00000001      /* Information Message                  */
#define LOG_ADVISORY                                    0x00000002      /* Advisory Message                     */
#define LOG_WARNING                                     0x00000003      /* Warning Message                      */
#define LOG_ERROR                                       0x00000004      /* Error Message                        */
#define LOG_FATAL                                       0x00000005      /* Fatal Error Message (cause failure)  */
#define LOG_STRING_ONLY                                 0x00000006      /* The Index Is Empty, Only String      */

                                                                        /****************************************/
#define APP_LOG_HANDLE                       MakeHandle(0x00001001)     /* Application Log Handle               */

                                                                        /****************************************/
                                                                        /* ** Log Property Positions            */
#define LOG_PROP_OFFSET                                          0      /* Caller Offset        c_offset        */
#define LOG_PROP_STRING_1                                        1      /* General (260 bytes)  c_s1            */
#define LOG_PROP_STRING_2                                        2      /* General (64 bytes)   c_s2            */
#define LOG_PROP_STRING_3                                        3      /* General (64 bytes)   c_s3            */
#define LOG_PROP_STRING_4                                        4      /* General (64 bytes)   c_s4            */
#define LOG_PROP_DWORD_1                                         5      /* General              c_d1            */
#define LOG_PROP_DWORD_2                                         6      /* General              c_d1            */
#define LOG_PROP_DWORD_3                                         7      /* General              c_d1            */
#define LOG_PROP_DWORD_4                                         8      /* General              c_d1            */


                                                                /************************************************/
                                                                /* Encoding (Files)                             */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Encode/Decode                     */
                                                                        /*  * Encoding Mode                     */
#define ENCODE_MODE_MASK                                0x0000000F      /* Encodeing Mode Mask                  */
#define ENCODE_BASE64                                   0x00000000      /* Base64                               */
#define ENCODE_UUENCODING                               0x00000001      /* Unix-to-Unix Encoding                */
#define ENCODE_BASE32                                   0x00000002      /* Base32 (RFC-4648)                    */
                                                                        /*  * Options                           */
#define ENCODE_NO_LINE_ENDINGS                          0x00010000      /* Remove Line Endings (solid block)    */
#define ENCODE_ENCODE_LINE_ENDINGS                      0x00020000      /* Encode Line Endings (\r)             */

                                                                /************************************************/
                                                                /* Image Objects                                */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** GIF Export                        */
#define IMAGE_GIF_WEB                                   0x00000100      /* Web Colors                           */
#define IMAGE_GIF_332                                   0x00000200      /* 332 Colors                           */
#define IMAGE_GIF_BEST_GUESS                            0x00000400      /* Use Best Guess                       */


                                                        /********************************************************/
                                                        /* Dialog                                               */
                                                        /* ------                                               */
                                                        /* Note that  Windows SDK  dialog defitions are located */
                                                        /* later in the Windows section.                        */
                                                        /********************************************************/

                                                                /************************************************/
                                                                /* Common Dialog Layering                       */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Browse Files/Folders              */
                                                                        /*  * BrowseSaveFile                    */
#define BSF_EDGAR_NAME                                      0x0001      /* Check for EDGAR Compliant Name       */
#define BSF_NO_OVERWRITE_CHECK                              0x0002      /* Do Not Test for Overwrite            */
                                                                        /*                                      */
                                                                        /* ** Operation Modes                   */
                                                                        /*  * Ordinal (match browse modes)      */
#define BROWSE_EXPLORE                                           0      /* Free Standing Explorer               */
#define BROWSE_OPEN                                              1      /* Open Browse Dialog                   */
#define BROWSE_SAVE                                              2      /* Save Browse Dialog                   */
#define BROWSE_ADMIN                                             3      /* Administrative (setup, no scope)     */

                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** DialogEnumerateControls           */
                                                                        /*  * Class ID (arbitary)               */
                                                                        /*    (Win32 Common Classes)            */
                                                                        /*  o Class Ordinals                    */
#define DEC_CLASS_BUTTON                                         0      /* Button (Buttons, check, radio, group)*/
#define DEC_CLASS_COMBOBOX                                       1      /* Combo Box                            */
#define DEC_CLASS_EDIT                                           2      /* Edit Control                         */
#define DEC_CLASS_LISTBOX                                        3      /* List Box                             */
#define DEC_CLASS_MDICLIENT                                      4      /* MDI Client Window                    */
#define DEC_CLASS_RICHEDIT                                       5      /* RTF Edit Control                     */
#define DEC_CLASS_SCROLLBAR                                      6      /* Scrollbar                            */
#define DEC_CLASS_STATIC                                         7      /* Static Control                       */
#define DEC_CLASS_UNKNOWN                                       -1      /* Unknown Control Type                 */

                                                                /************************************************/
                                                                /* Support for Control Specific Functions       */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Advanced Flags for EditGetText    */
                                                                        /*    (TC_GF_)                          */
                                                                        /*  * General                           */
#define EGT_FLAG_REQUIRED                               0x80000000      /* Field Is Required                    */
#define EGT_FLAG_DO_NOT_TRIM                            0x40000000      /* Don't Trim Spaces                    */
                                                                        /*  * Field Types                       */
#define EGT_FLAG_TYPE_MASK                              0x0F000000      /* Mask for Type                        */
#define EGT_FLAG_STRING                                 0x00000000      /* General String (no test)             */
#define EGT_FLAG_NUMERIC                                0x01000000      /* Numeric Field                        */
#define EGT_FLAG_ACCOUNTING                             0x02000000      /* Accounting Style Field               */
#define EGT_FLAG_CURRENCY                               0x03000000      /* Currency Field                       */
#define EGT_FLAG_HEX                                    0x08000000      /* Hex Field (0x000000)                 */
                                                                        /*  o Numeric Options (general)         */
#define EGT_FLAG_NO_ZERO                                0x10000000      /* Zero Not Allowed                     */
#define EGT_FLAG_UPPER_LIMIT                            0x20000000      /* Upper Limit on Value (embed or void) */
#define EGT_FLAG_NEGATIVE                               0x40000000      /* Negative Allowed                     */
#define EGT_FLAG_UPPER_LIMIT_MASK                       0x00FFFFFF      /* Upper Limit Value Mask               */
                                                                        /*  o String Options                    */
#define EGT_FLAG_FILE_MODE_MASK                         0x00000FFF      /* File Modes are Used                  */
#define EGT_FLAG_FILE_MUST_EXIST                        0x00000001      /* Check File for Existing File         */
#define EGT_FLAG_FILE_CAN_OPEN_READ                     0x00000002      /* Check File can Open as Read          */
#define EGT_FLAG_FILE_CAN_OPEN_WRITE                    0x00000004      /* Check File can Open as Write         */
#define EGT_FLAG_FILE_QUERY_OVERWRITE                   0x00000008      /* Query Overwrite                      */
#define EGT_FLAG_FILE_PATH_REQUIRED                     0x00000010      /* Must Have a Path                     */
#define EGT_FLAG_FILE_REQUIRES_EXTENSION                0x00000020      /* Requires a File Extension            */
#define EGT_FLAG_FILE_LOCAL_PATH                        0x00000040      /* String Cannot be URL                 */
#define EGT_FLAG_FILE_PATH_MUST_EXIST                   0x00000080      /* Specified Path Must Exist            */
                                                                        /*  o Accounting Options                */
#define EGT_FLAG_ACCOUNTING_ALLOW_ALL                   0x000000F0      /* Cover All Modes                      */
#define EGT_FLAG_ACCOUNTING_ALLOW_DECIMAL               0x00000010      /* Allow Decimal                        */
#define EGT_FLAG_ACCOUNTING_ALLOW_COMMAS                0x00000020      /* Allow Commas                         */
#define EGT_FLAG_ACCOUNTING_ALLOW_NEG_DASH              0x00000040      /* Allow Negative as -                  */
#define EGT_FLAG_ACCOUNTING_ALLOW_NEG_HOLE              0x00000080      /* Allow Negative as ()                 */


                                                                /************************************************/
                                                                /* Dialogs                                      */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** GetMessageParameter Types         */
                                                                        /*  * Page Class                        */
#define GMP_TYPE_P_TYPE                                          0      /* Type of Page                         */
#define GMP_TYPE_P_LEVEL                                         1      /* Level of Page (tree type)            */
#define GMP_TYPE_P_NUMBER                                        2      /* Page Number                          */
#define GMP_TYPE_HWPARENT                                        3      /* Page (Dialog/Prop) Window Handle     */
#define GMP_TYPE_FLAGS                                           4      /* Control Flags                        */
                                                                        /*  * Raw Message Information           */
#define GMP_TYPE_HWPAGE                                          5      /* Page (Dialog) Window Handle          */
#define GMP_TYPE_MESSAGE                                         6      /* Message ID (WM_)                     */
#define GMP_TYPE_WPARAM                                          7      /* "Word" Parameter                     */
#define GMP_TYPE_LPARAM                                          8      /* "Long" Parameter                     */
                                                                        /*  * Translated Message                */
#define GMP_TYPE_P_AC                                            9      /* Page Action Code                     */
#define GMP_TYPE_C_ID                                           10      /* Control ID                           */
#define GMP_TYPE_C_AC                                           11      /* Control Action Code (Message)        */
#define GMP_TYPE_C_LP                                           12      /* Control LPARAM (param data)          */
#define GMP_TYPE_C_HDR                                          13      /* Control Notification                 */
                                                                        /*  * Parent                            */
#define GMP_TYPE_DIALOG                                         14      /* Dialog Class Pointer (parent)        */
                                                                        /*  * Page Data                         */
#define GMP_TYPE_PX                                             15      /* Page Index (Property Sheet)          */


                                                                /************************************************/
                                                                /* Data Control Notification                    */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** List Box Analogues                */
#define DCN_ERROR_SPACE                                 (-2)            /*  * Error in Space (LBN_ERRSPACE)     */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Control Handle           */
                                                                        /*                                      */
#define DCN_SELECT_CHANGE                               1               /*  * Select Change (LBN_SELCHANGE)     */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Control Handle           */
                                                                        /*                                      */
#define DCN_DOUBLE_CLICK                                2               /*  * Double Click on Item (LBN_DBLCLK) */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Control Handle           */
                                                                        /*                                      */
#define DCN_SELECT_CANCEL                               3               /*  * Select Cancel (LBN_SELCANCEL)     */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Control Handle           */
                                                                        /*                                      */
#define DCN_SET_FOCUS                                   4               /*  * Set Focus (LBN_SETFOCUS)          */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Control Handle           */
                                                                        /*                                      */
#define DCN_KILL_FOCUS                                  5               /*  * Kill Focus (LBN_KILLFOCUS)        */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Control Handle           */
                                                                        /*                                      */
                                                                        /* ** Data Control Specific             */
#define DCN_RIGHT_CLICK                                 6               /*  * Right Click (on up button)        */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Control Handle           */
                                                                        /*                                      */
#define DCN_ICON_CLICK                                  7               /*  * Clicked on Icon (down button)     */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Control Handle           */
                                                                        /*                                      */
#define DCN_EDIT_CHANGE                                 8               /*  * Non-Caller Change Was Made        */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Control Handle           */
                                                                        /*                                      */
#define DCN_EDIT_CHANGING                               9               /*  * Non-Caller Edit About to Change   */
                                                                        /* This function will not have changed  */
                                                                        /* the cell. Call                       */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Control Handle           */
                                                                        /*                                      */
#define DCN_BUTTON_CLICK                                10              /*  * Clicked on a Button Type          */
                                                                        /* Button Click will be sent if the     */
                                                                        /* Control Click message is not         */
                                                                        /* processed.                           */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Control Handle           */
                                                                        /*                                      */
#define DCN_DOUBLE_CLICK_SELECT                         11              /*  * Double Click on Selected Item     */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Control Handle           */
                                                                        /*                                      */
#define DCN_CONTEXT_MENU_KEY                            12              /*  * Pressed Context Menu (cp points)  */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Control Handle           */
                                                                        /*                                      */
#define DCN_CONTROL_CLICK                               13              /*  * Click on Control Type             */
                                                                        /* Button Click will follow if the      */
                                                                        /* Control Click message is not         */
                                                                        /* processed and the control type is    */
                                                                        /* button type. Get the caret position  */
                                                                        /* to locate the control, not the       */
                                                                        /* select position.                     */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Window Handle            */
                                                                        /*    return = TRUE or Not TRUE         */
                                                                        /* Caller returns TRUE to prevent any   */
                                                                        /* prevent any further processing of    */
                                                                        /* the message.                         */
                                                                        /*                                      */
#define DCN_EDIT_CONTROL_ACTIVATE                       14              /*  * Edit Control Activate             */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Window Handle            */
                                                                        /*    return = FALSE (ok to activate)   */
                                                                        /*                                      */
#define DCN_EDIT_CONTROL_ACTIVATED                      15              /*  * Edit Control Has Been Activated   */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Window Handle            */
                                                                        /*                                      */
#define DCN_GET_EDIT_CONTROL_SIZE                       16              /*  * Request Size of Edit Control      */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Window Handle            */
                                                                        /*    return = Max Size (w/ terminator) */
                                                                        /*                                      */
#define DCN_POPUP_FUNCTION                              17              /*  * Menu for Popup About to Display   */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Window Handle            */
                                                                        /*                                      */
#define DCN_POPUP_MENU_CELL                             17              /*  * Menu for Popup About to Display   */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Window Handle            */
                                                                        /*                                      */
#define DCN_POPUP_MENU_COLUMN                           18              /*  * Menu for Popup About to Display   */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Window Handle            */
                                                                        /*                                      */
#define DCN_POPUP_MENU_CORNER                           19              /*  * Menu for Popup About to Display   */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Window Handle            */
                                                                        /*                                      */
#define DCN_POPUP_MENU_ROW                              20              /*  * Menu for Popup About to Display   */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Window Handle            */
                                                                        /*                                      */
#define DCN_TAB_OUT                                     21              /*  * Tab Passed Edge                   */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Window Handle            */
                                                                        /*                                      */
#define DCN_SIZE_CHANGE                                 22              /*  * Non-Caller Size Change Was Made   */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Control Handle           */
                                                                        /*                                      */
#define DCN_COMBO_DROP                                  23              /*  * User Clicked Combo Drop           */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Control Handle           */
                                                                        /*    return = FALSE (ok to drop)       */
                                                                        /*             TRUE (do not drop)       */
                                                                        /*                                      */
#define DCN_COL_LEGEND_CHANGE                           24              /*  * Column Drag/Legend Change Was Made*/
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Control Handle           */
                                                                        /*                                      */
#define DCN_ROW_LEGEND_CHANGE                           25              /*  * Row Drag/Legend Change Was Made   */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Control Handle           */
                                                                        /*                                      */
#define DCN_SORT_CHANGE                                 26              /*  * Sort was Changed (by user)        */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = Control Handle           */
                                                                        /*                                      */
#define DCN_VK_NOTIFY                                   30              /*  * Virtual Key Notify (key down)     */
                                                                        /* Only selected VK_ keys are passed.   */
                                                                        /*    wParam = Control ID               */
                                                                        /*    lParam = LOWORD VK_               */
                                                                        /*             HIWORD flags             */
        #define DCN_VK_MASK                             0x000FFFF       /* Virtual Key Mask                     */
        #define DCN_VK_ACCENT_MASK                      0xF000000       /* Accent Keys Mask                     */
        #define DCN_VK_SHIFT                            0x1000000       /* Shift Key Pressed                    */
        #define DCN_VK_CONTROL                          0x2000000       /* Control Key Pressed                  */
        #define DCN_VK_ALT                              0x4000000       /* Alt/Menu Key Pressed                 */
                                                                        /*                                      */
#define DCN_MENU_FUNCTION_BASE                          99              /* ** Any Message above this are menu   */
                                                                        /* function IDs. This only applies for  */
                                                                        /* dialog style controls. Notification  */
                                                                        /* is only set if DCC_POPUP_NOTIFY is   */
                                                                        /* set for a menu.                      */


                                                                /************************************************/
                                                                /* Data Control Settings/Functions              */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Data-Control Control Flags        */
                                                                        /*    (DataViewSetEditFlags)            */
                                                                        /*  * Control                           */
#define DC_DIALOG_CONTROL_FRAME                         0x00000100      /* Item is Control with Thin Border     */
#define DC_HIGHLIGHTING_RECT                            0x00000200      /* Highlight Box Enabled (non-focus)    */
                                                                        /*  * Display                           */
#define DC_EDITING_FLAGS_MASK                           0x00FFFC00      /* These Flags May Be Changed by Caller */
#define DC_DISPLAY_EDIT                                 0x00000400      /* Display Edit Data                    */
#define DC_BACKGROUND_HIGHLIGHT_ENABLED                 0x00000800      /* Display Cell Background Highlighting */
                                                                        /*  o Template and Edit Mode            */
#define DC_TEMPLATE_MODE                                0x00001000      /* Operating in Template Mode           */
#define DC_TEMPLATE_LOCAL_EDIT_MASK                     0x00006000      /* Local Editing                        */
#define DC_TEMPLATE_LOCAL_EDIT                          0x00002000      /* Local Editing (on demand)            */
#define DC_TEMPLATE_LOCAL_EDIT_AUTO                     0x00004000      /* Local Editing (auto)                 */
#define DC_TEMPLATE_LOCAL_EDIT_STATUS                   0x00008000      /* Display Local Edit Status Bar        */
                                                                        /*  o Edit Flags                        */
#define DC_TEMPLATE_LOCAL_EDIT_OVERWRITE                0x00010000      /* Local Editing Overwite (auto delete) */
#define DC_TEMPLATE_LOCAL_EDIT_SELECT_ALL               0x00020000      /* Local Editing Selects All            */
#define DC_TEMPLATE_BUTTONS_OFF                         0x00040000      /* Buttons Do Not Operate               */
#define DC_TEMPLATE_EDIT_CONTROL_BORDER                 0x00080000      /* Add a Border to On Sheet Edit        */
                                                                        /*  * Styles                            */
#define DC_AUTOKEY_SELECT                               0x00100000      /* Autokey Sort and Select              */
#define DC_DRAG_ON                                      0x00200000      /* Drag and Drop On                     */
#define DC_RULERS_DISPLAY_FLAT                          0x00400000      /* Column and Row as Flat Style         */
                                                                        /*  * Painting                          */
#define DC_WINDOW_UPDATE_OUTSTANDING                    0x01000000      /* Invalidate Window Outstanding        */
#define DC_DIRTY_UPDATE_OUTSTANDING                     0x02000000      /* Dirty Update Outstanding             */
#define DC_DIRTY_OBJECTS_OUTSTANDING                    0x04000000      /* Dirty Objects Outstanding            */
#define DC_FIXED_SIZE_CELLS                             0x08000000      /* No Measuring of Cells                */
                                                                        /*  * Modes                             */
#define DC_OVERRIDE_PROTECT                             0x80000000      /* Protect and Read-Only Override       */

                                                                        /****************************************/
                                                                        /* ** DataControlSetGridMode            */
#define DCC_GRID_NONE                                   0x00000000      /* No Grid Lines                        */
#define DCC_GRID_HORIZONTAL                             0x00000001      /* Horizontal Grid Lines                */
#define DCC_GRID_VERTICAL                               0x00000002      /* Vertical Grid Lines                  */
#define DCC_GRID_BOTH                                   0x00000003      /* Both Grid Lines                      */

                                                                        /****************************************/
                                                                        /* ** DataControlFindCell               */
                                                                        /*  * Options Parameter                 */
#define DCC_FIND_NOT_CASE_SENSITIVE                     0x00000000      /* Find in Non-Case-Sensitive Mode      */
#define DCC_FIND_CASE_SENSITIVE                         0x00000001      /* Find in Case-Sensitive Mode          */
#define DCC_FIND_WHOLE_WORDS                            0x00000002      /* Whole Word Only                      */
#define DCC_FIND_PARTIAL_MATCH                          0x00000004      /* Partial Field Match                  */
#define DCC_FIND_COLUMN_ONLY                            0x00000010      /* Match Only Specified Column          */

                                                                        /****************************************/
                                                                        /* ** Select                            */
                                                                        /*  * Modes                             */
#define DCC_SELECT_MODE_ROW                             0x00000000      /* Select Row (default)                 */
#define DCC_SELECT_MODE_COLUMN                          0x00000001      /* Select Column                        */
#define DCC_SELECT_MODE_CELL                            0x00000002      /* Select Cell                          */
#define DCC_SELECT_MODE_NONE                            0x00000003      /* Select None (Cells Implied)          */
#define DCC_SELECT_MODE_MASK                            0x0000000F      /* Select Type Mask                     */
                                                                        /*  o Flags                             */
#define DCC_SELECT_MODE_MULTIPLE                        0x00001000      /* Allow Multiple Selections            */
#define DCC_NO_AUTO_SELECT                              0x00002000      /* Requires Shift or Control Select     */
#define DCC_TRACK_SELECT                                0x00006000      /* Single Selects Track Arrows          */

                                                                        /****************************************/
                                                                        /*  ** Refresh Modes                    */
#define DCC_REFRESH_COLUMN                              0x00000001      /* Refresh Column Heading               */
#define DCC_REFRESH_ROW                                 0x00000002      /* Refresh Row Heading                  */
#define DCC_REFRESH_ALL                                 0x00000003      /* Refresh Column/Row Headings (default)*/

                                                                        /****************************************/
                                                                        /* ** Legend Styles                     */
#define DCC_COL_MODE_SET_FLAT                           0x00000001      /* Display Style Flat                   */

                                                                        /****************************************/
                                                                        /* ** DataControlSetLocalEditMode       */
                                                                        /*  * Mode                              */
#define DCC_EDIT_MODE_MASK                              0x00000003      /* Edit Mode Mask                       */
#define DCC_EDIT_MODE_NONE                              0x00000000      /* Not Allowed                          */
#define DCC_EDIT_MODE_ALLOWED                           0x00000001      /* Allowed                              */
#define DCC_EDIT_MODE_AUTO                              0x00000002      /* Allowed (auto)                       */
                                                                        /*  * Flags                             */
#define DCC_EDIT_OVERWRITE                              0x00000010      /* Overwrite Content on Over-Type       */
#define DCC_EDIT_CONTROL_SELECT_ALL                     0x00000020      /* Cause Select All on Auto Entry       */

                                                                        /****************************************/
                                                                        /* ** DataControlGetString              */
                                                                        /*  * Deliminter                        */
#define DCC_GS_DELIMITER                                0xF0000000      /* Delimiter Mask                       */
                                                                        /*  * Returned Format                   */
#define DCC_GS_TABBED                                   0x00000000      /* Return Tab Delimited                 */
#define DCC_GS_SPACES                                   0x10000000      /* Return Space Delimited               */
#define DCC_GS_COMMA                                    0x20000000      /* Return Comma Delimited               */
                                                                        /*  * Position                          */
#define DCC_GS_ROW_MASK                                 0x0FFFFFFF      /* Specified Row Mask                   */

                                                                        /****************************************/
                                                                        /* ** DataControlSetCellHighlight       */
                                                                        /*  * Column Index                      */
#define DCC_SCH_CLEAR                                            0      /* Color  0 - Clear (none)              */
#define DCC_SCH_YELLOW                                           1      /* Color  1 - Yellow                    */
#define DCC_SCH_LIGHT_YELLOW                                     2      /* Color  2 - Light Yellow              */
#define DCC_SCH_GOLD                                             3      /* Color  3 - Gold                      */
#define DCC_SCH_FUSHIA                                           4      /* Color  4 - Fushia                    */
#define DCC_SCH_ROSE                                             5      /* Color  5 - Rose                      */
#define DCC_SCH_TAN                                              6      /* Color  6 - Tan                       */
#define DCC_SCH_AQUA                                             7      /* Color  7 - Aqua                      */
#define DCC_SCH_GREEN                                            8      /* Color  8 - Green                     */
#define DCC_SCH_CYAN                                             9      /* Color  9 - Cyan                      */
#define DCC_SCH_TURQUOISE                                       10      /* Color 10 - Turquoise                 */
#define DCC_SCH_SKY_BLUE                                        11      /* Color 11 - Sky Blue                  */
#define DCC_SCH_PALE_BLUE                                       12      /* Color 12 - Pale Blue                 */
#define DCC_SCH_LAVENDER                                        13      /* Color 13 - Lavender                  */
#define DCC_SCH_GRAY                                            14      /* Color 14 - Gray                      */
#define DCC_SCH_SILVER                                          15      /* Color 15 - Silver                    */


                                                                /************************************************/
                                                                /* Edit Notifications                           */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** EN_ Expansion for Text/Page View  */
                                                                        /*  * Base                              */
#define ENX_BASE                                0x0B00                  /* This is Outside of v.50 SDK          */
                                                                        /*                                      */
#define ENX_ACCEPT                              ENX_BASE +  0           /*  * Pressed Accept                    */
                                                                        /* In a dialog, the Escape Key may be   */
                                                                        /* intercepted.                         */
                                                                        /*                                      */
#define ENX_CANCEL                              ENX_BASE +  2           /*  * Pressed Escape or Cancel          */
                                                                        /* In a dialog, the Escape Key may be   */
                                                                        /* intercepted.                         */
                                                                        /*                                      */
#define ENX_NAVIGATE                            ENX_BASE +  4           /*  * Clicked on a Browsable Link       */
                                                                        /* Parent must query address.           */




                                                                /************************************************/
                                                                /* Page Control Notification                    */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** List Box Analogues                */
                                                                        /*  * Page Control Only                 */
#define PCN_UPDATE_STATUS                               0x0010          /* Status/Position Change               */
#define PCN_CLICK_SINGLE                                0x0011          /* Click Once (Post Process)            */
#define PCN_CLICK_DOUBLE                                0x0012          /* Click Double (Post Process)          */
#define PCN_CLICK_TRIPLE                                0x0013          /* Click Triple (Post Process)          */
#define PCN_RIGHT_CLICK                                 0x0014          /* Right Click/Context Menu             */
#define PCN_DRAG_SELECT                                 0x0015          /* Drag Selected (Post Process)         */
#define PCN_KEYBOARD_NAVIGATE                           0x0016          /* Change Position on Keyboard          */
#define PCN_CONTEXT_MENU_KEY                            0x0017          /* Pressed Context Menu Key             */
#define PCN_CONTEXT_MENU_OPEN                           0x0018          /* Open Context Menu (to be presented)  */
#define PCN_CONTEXT_MENU_CLOSE                          0x0019          /* Close Context Menu                   */
                                                                        /*  * Edit Control Only (Win SDK EN_)   */
#define PCN_SET_FOCUS                                   0x0100          /* Control Set Focus                    */
#define PCN_KILL_FOCUS                                  0x0200          /* Control Kill Focus                   */
#define PCN_CHANGE                                      0x0300          /* Content Has Changed                  */
#define PCN_UPDATE                                      0x0400          /* Content About Changed                */
#define PCN_ERRSPACE                                    0x0500          /* Insufficient Memory                  */
#define PCN_MAX_TEXT                                    0x0501          /* Exceeded User Set Maximum Characters */
#define PCN_HSCROLL                                     0x0601          /* Horizontal Scroll Change             */
#define PCN_VSCROLL                                     0x0602          /* Vertical Scroll Change               */



                                                        /********************************************************/
                                                        /* Event Support                                        */
                                                        /********************************************************/


                                                                /************************************************/
                                                                /* Data View                                    */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** On Click          (on_click)      */
                                                                        /*  * Click Types                       */
#define DV_CLICK_CELL_TYPE_MASK                         0x0000000F      /* Mask for Type Data                   */
                                                                        /*  * Cell States                       */
#define DV_CLICK_READ_ONLY                              0x00010000      /* Cell is Read Only                    */
                                                                        /*  * Specific Type Bits                */
#define DV_CLICK_STATE_TRUE                             0x01000000      /* True, if the Type Supports State     */

                                                                /************************************************/
                                                                /* Forms View                                   */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Contexts          (on_menu_init)  */
                                                                        /*  * Edit Items                        */
#define FV_CONTEXT_RESET                        0x0000000000000000      /* Reset Contexts                       */
                                                                        /*  o Edit Items                        */
#define FV_EDIT_COPY                            0x0000000000000001      /* Copy Data                            */
#define FV_EDIT_PASTE                           0x0000000000000002      /* Paste Data                           */
                                                                        /*  o File Items                        */
#define FV_FILE_EXPORT_POPUP                    0x0000000000000010      /* File Export Popup                    */
#define FV_FILE_EXPORT                          0x0000000000000020      /* File Export                          */
#define FV_FILE_IMPORT_POPUP                    0x0000000000000040      /* File Import Popup                    */
#define FV_FILE_IMPORT                          0x0000000000000080      /* File Import                          */
#define FV_FILE_LAUNCH                          0x0000000000000100      /* File Launch to Browser               */
#define FV_FILE_PRINT                           0x0000000000000200      /* File Print/PDF                       */
#define FV_FILE_SAVE                            0x0000000000000400      /* File Save of Workbook                */
                                                                        /*  o Data View Items (non-hook)        */
#define FV_DATA_EDIT_CELL                       0x0000000000001000      /* Edit Cell in View (Page View)        */
#define FV_DATA_EDIT_CELL_TEXT                  0x0000000000002000      /* Edit Cell as Text                    */
#define FV_DATA_EDIT_ROW                        0x0000000000004000      /* Edit Row                             */
                                                                        /*  o Forms View Items                  */
#define FV_FORM_ADD_ENTRY                       0x0000000000010000      /* Form Add Entry Function              */
#define FV_FORM_CLONE_ENTRY                     0x0000000000020000      /* Form Clone Entry Function            */
#define FV_FORM_COPY_POPUP                      0x0000000000040000      /* Form Copy Popup Menu Function        */
#define FV_FORM_COPY_CELL                       0x0000000000080000      /* Form Copy Cell                       */
#define FV_FORM_COPY_ROW                        0x0000000000100000      /* Form Copy Table Row                  */
#define FV_FORM_COPY_TABLE                      0x0000000000200000      /* Form Copy Table                      */
#define FV_FORM_DELETE_POPUP                    0x0000000000400000      /* Form Delete Popup                    */
#define FV_FORM_DELETE_ALL                      0x0000000000800000      /* Form Delete All                      */
#define FV_FORM_DELETE_ENTRY                    0x0000000001000000      /* Form Delete Entry                    */
#define FV_FORM_EDIT_ENTRY                      0x0000000002000000      /* Form Edit Entry                      */
#define FV_FORM_EDIT_ROW                        0x0000000004000000      /* Form Edit Entry                      */
#define FV_FORM_EXPORT_TABLE_CSV                0x0000000008000000      /* Form Export Table as &CSV            */
#define FV_FORM_EXPORT_TABLE_XML                0x0000000010000000      /* Form Export Table as &XML            */
#define FV_FORM_MOVE_DOWN                       0x0000000020000000      /* Form Move Entry Down                 */
#define FV_FORM_MOVE_UP                         0x0000000040000000      /* Form Move Entry Up                   */
#define FV_FORM_OPTIONS_POPUP                   0x0000000080000000      /* Form Options Popup Menu              */
#define FV_FORM_TOOLS_POPUP                     0x0000000100000000      /* Form Tools Popup Menu                */
#define FV_FORM_VALIDATE                        0x0000000800000000      /* Form Validate                        */



                                                /****************************************************************/

                                                        /********************************************************/
                                                        /* Collaboration                                        */
                                                        /********************************************************/

                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Locations                         */
                                                                        /*  * Codes                             */
#define CM_LOCATION_UNKNOWN                                     0       /* Location Not Set                     */
#define CM_LOCATION_ALL                                         0       /* Reference All Locations              */
#define CM_LOCATION_GLOBAL                                      1       /* Global                               */
#define CM_LOCATION_USER                                        2       /* User                                 */
#define CM_LOCATION_PROJECT                                     3       /* Project File                         */
#define CM_LOCATION_PROJECT_ENTRY                               4       /* Project Entry                        */
#define CM_LOCATION_TEMPLATE                                    5       /* Template                             */

                                                        /********************************************************/
                                                        /* SGML Module                                          */
                                                        /* -----------                                          */
                                                        /********************************************************/

                                                                /************************************************/
                                                                /* DTD                                          */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** DTD Load Types (dtd_type)         */
                                                                        /*  * Internal DTDs (well known)        */
                                                                        /* (Note: these are ordered for legacy  */
                                                                        /*        compatibility with a dialog   */
                                                                        /*        loader, lower nybble)         */
#define DTD_DEFAULT_MASK                                0x000000FF      /* Mask for Internal DTD                */
#define DTD_DIALOG_MASK                                 0x0000000F      /* These are Dialog Ordinals            */
#define DTD_CUSTOM                                      0x00000000      /* No Specific DTD Set or Custom        */
#define DTD_UNKNOWN                                     0x00000000      /* No Specific DTD Set or Custom        */
#define DTD_DEFAULT_EDGAR_HYBRID                        0x00000001      /* Default EDGAR Hybrid HTML 3.2        */
#define DTD_DEFAULT_EDGAR_XHTML                         0x00000002      /* Default XHTML/XBRL EDGAR 1.0/3.2     */
#define DTD_DEFAULT_EDGAR_IXBRL                         0x00000007      /* Default XHTML/iXBRL EDGAR 1.0/4.x    */
#define DTD_DEFAULT_HTML_20                             0x00000010      /* Default HTML 2.x                     */
#define DTD_DEFAULT_HTML_32                             0x00000003      /* Default HTML 3.2                     */
#define DTD_DEFAULT_HTML_40_TRANSITIONAL                0x00000004      /* Default HTML 4.01 Transitional       */
#define DTD_DEFAULT_HTML_40_STRICT                      0x00000005      /* Default HTML 4.01 Strict             */
#define DTD_DEFAULT_HTML_40_FRAMESET                    0x00000020      /* Default HTML 4.01 Frameset           */
#define DTD_DEFAULT_HTML_50                             0x00000030      /* Default HTML 5.0                     */
#define DTD_DEFAULT_XHTML_10_TRANSITIONAL               0x00000006      /* Default XHTML 1.0 Transitional       */
#define DTD_DEFAULT_XHTML_10_STRICT                     0x00000050      /* Default XHTML 1.0 Strict             */
#define DTD_DEFAULT_XHTML_10_FRAMESET                   0x00000060      /* Default XHTML 1.0 Frameset           */
#define DTD_DEFAULT_XHTML_11                            0x00000080      /* Default XHTML 1.1 (strict)           */
#define DTD_DEFAULT_XHTML_11_BASIC                      0x00000090      /* Default XHTML 1.1 Basic              */
#define DTD_DEFAULT_XSD                                 0x000000A0      /* Default XSD                          */
                                                                        /*  o DOCTYPE Clues and Flags           */
#define DTD_CLUE_MASK                                   0x0000FF00      /* Mask for Clue Flags                  */
#define DTD_XHTML_AS_XML                                0x00000100      /* XHTML as XML (Wrapper)               */
                                                                        /*  * Types (Make Up of DTD)            */
#define DTD_TYPE_MASK                                   0x000F0000      /* Type of DTD                          */
#define DTD_TYPE_DEFAULT                                0x00000000      /* Default/Internal (HTML)              */
#define DTD_TYPE_HTML                                   0x00010000      /* HTML External Load                   */
#define DTD_TYPE_XML_ON_THE_FLY                         0x00020000      /* DTD Built on the Fly                 */
#define DTD_TYPE_XML_INTERNAL                           0x00030000      /* XML Internal Load                    */
#define DTD_TYPE_XML_SCHEMA                             0x00040000      /* XML External Load                    */
#define DTD_TYPE_CSS                                    0x000A0000      /* CSS (only)                           */
#define DTD_TYPE_SASS                                   0x000B0000      /* Syntactically awesome style sheets   */
#define DTD_TYPE_SCSS                                   0x000C0000      /* SASS CSS                             */
                                                                        /*  * General/Parse Flags               */
#define DTD_FLAGS_MASK                                  0x0FF00000      /* Mask for Control/Parse               */
#define DTD_FLAG_XML_HEADER                             0x00100000      /* Has XML Wrapper (<?xml...)           */
#define DTD_FLAG_HTML                                   0x00200000      /* HTML Root                            */
#define DTD_FLAG_HTML_IMPLIED                           0x00400000      /* HTML Implied on Content Root         */
#define DTD_FLAG_HTML_DEFAULT                           0x00800000      /* HTML Forced to Default               */
#define DTD_FLAG_DOCTYPE                                0x01000000      /* Employs DOCTYPE                      */
#define DTD_FLAG_SCHEMA                                 0x02000000      /* Schema Root                          */
#define DTD_FLAG_XMLNS                                  0x04000000      /* Employs Namespaces                   */
#define DTD_FLAG_ADHOC_SEGMENT                          0x08000000      /* DTD Has Been Forced for Segment      */
                                                                        /*  o Test Mask                         */
#define DTD_FLAG_HTML_MASK                              0x00E00000      /* Any HTML Items                       */
                                                                        /*  o Options                           */
#define DTD_FLAG_OPTIONS_MASK                           0x70000000      /* Mask for Options                     */
#define DTD_FLAG_LOOSE_TAG_CASE                         0x10000000      /* Remove XHTML Case-Sensitive          */

                                                                        /****************************************/
                                                                        /* ** Modes                             */
                                                                        /*  * HTML Type                         */
#define DTD_HTML_TYPE_UNKNOWN                                   0       /* Unknown (not setup)                  */
#define DTD_HTML_TYPE_HTML                                      1       /* Loose HTML                           */
#define DTD_HTML_TYPE_XHTML                                     2       /* XHTML                                */
                                                                        /*  * HTML Sub Type                     */
#define DTD_HTML_SUB_TYPE_UNKNOWN                               0       /* Unknown (not setup)                  */
#define DTD_HTML_SUB_TYPE_FINAL                                 1       /* Final                                */
#define DTD_HTML_SUB_TYPE_LOOSE                                 2       /* Loose                                */
#define DTD_HTML_SUB_TYPE_TRANSITIONAL                          3       /* Transitional                         */
#define DTD_HTML_SUB_TYPE_STRICT                                4       /* Strict                               */
#define DTD_HTML_SUB_TYPE_BASIC                                 5       /* Basic                                */
#define DTD_HTML_SUB_TYPE_FRAMESET                              6       /* Frame Set                            */
                                                                        /*  * Case                              */
#define DTD_HTML_CASE_UNKNOWN                                   0       /* Unknown (not setup)                  */
#define DTD_HTML_CASE_UPPER                                     1       /* Upper Case Tags                      */
#define DTD_HTML_CASE_LOWER                                     2       /* Lower Case Tags                      */

                                                                        /****************************************/
                                                                        /* ** Function Returns                  */
                                                                        /*    DTDGetCSSPropertyCase()           */
                                                                        /*    DTDGetTagCase()                   */
                                                                        /*  * Tag and CSS from DTD              */
#define DTD_CASE_UPPER                                  0x00000000      /* Upper Case (default)                 */
#define DTD_CASE_LOWER                                  0x00000001      /* Lower Case                           */
#define DTD_CASE_INITIAL                                0x00000002      /* Case in Initial Caps                 */


                                                                        /****************************************/
                                                                        /* ** Function Returns                  */
                                                                        /*  * sgml_get_element_case()           */
#define SGML_GET_CASE_UNKNOWN                                   0       /* Unknown                              */
#define SGML_GET_CASE_MIXED                                     1       /* Mixed Case                           */
#define SGML_GET_CASE_UPPER                                     2       /* Upper Case                           */
#define SGML_GET_CASE_LOWER                                     3       /* Lower Case                           */

                                                                /************************************************/
                                                                /* SGML Parse                                   */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Result Codes/Flags                */
                                                                        /*  * Errors (Bitwise)                  */
#define SPI_RC_ERROR_MASK                               0x0FFFF000      /* Mask for Errors                      */
#define SPI_RC_ERROR_NON_ATTRIBUTE_MASK                 0x0F9FF000      /* Mask for Errors (no attribute errors)*/
                                                                        /*  o DTD Error Codes                   */
#define SPI_RC_ERROR_ELEMENT_NOT_IN_DTD                 0x00001000      /* Element not in DTD                   */
#define SPI_RC_ERROR_NAMESPACE_NOT_IN_DTD               0x00002000      /* Namespace not in DTD                 */
                                                                        /*  o General Parsing Errors            */
#define SPI_RC_OVERFLOW                                 0x00010000      /* Item Overflowed Buffer               */
#define SPI_RC_ENTITY_ERROR                             0x00020000      /* Character Entity Had Error (space)   */
#define SPI_RC_TAG_ERROR                                0x00040000      /* SGML Tag Error                       */
#define SPI_RC_ELEMENT_ERROR                            0x00080000      /* SGML Element in Error                */
#define SPI_RC_ELEMENT_NAMESPACE_ERROR                  0x00100000      /* SGML Namespace in Error (for element)*/
#define SPI_RC_ATTRIBUTE_ERROR                          0x00200000      /* SGML Attribute in Error (one or more)*/
#define SPI_RC_ATTRIBUTE_NAMESPACE_ERROR                0x00400000      /* SGML Attribute in Error (one or more)*/
#define SPI_RC_QUOTE_ERROR                              0x00800000      /* Error Quoting Value                  */
#define SPI_RC_NO_CLOSE_ERROR                           0x01000000      /* Failure to Close Tag                 */
#define SPI_RC_TO_MANY_PARAMETERS                       0x02000000      /* Overflow in Parameter List           */
#define SPI_RC_ELEMENT_CASE_ERROR                       0x04000000      /* Element XHTML Case Mismatch          */
#define SPI_RC_ATTRIBUTE_CASE_ERROR                     0x08000000      /* Attribute XHTML Case Mismatch        */
                                                                        /*  o Value Errors (if enabled)         */
#define SPI_RC_VALUE_ERROR                              0x10000000      /* HTML or CSS Value(s) in Error        */
#define SPI_RC_UNKNOWN_PROPERTY                         0x20000000      /* Unknown CSS Property                 */
                                                                        /*  * Break Codes                       */
#define SPI_RC_BREAK_MASK                               0x0000000F      /* Break Type Mask                      */
#define SPI_RC_BREAK_NORMAL                             0x00000000      /* Broke on Space, ';' or '.'           */
#define SPI_RC_BREAK_ELEMENT                            0x00000001      /* Broke on Start of Tag                */
#define SPI_RC_BREAK_CHAR                               0x00000002      /* Broke on Start of Char Entity        */
                                                                        /*                                      */
                                                                        /* ** Parse Next Item Modes             */
                                                                        /*  * Leading Space Mode                */
#define SPI_LS_ITEM                                     0               /* Return Leading Space as Item         */
#define SPI_LS_BUFFER                                   1               /* Load Space into Buffer               */
#define SPI_LS_IGNORE                                   2               /* Ignore Leading Space (Except Flag)   */
                                                                        /*  * Item Types                        */
#define SPI_TYPE_SPACE                                  0               /* Item is Word Spaces                  */
#define SPI_TYPE_TEXT                                   1               /* Item is Text                         */
#define SPI_TYPE_CHAR                                   2               /* Item is Character Entity             */
#define SPI_TYPE_TAG                                    3               /* Item is Tag                          */
                                                                        /*                                      */
                                                                        /* ** Comments                          */
                                                                        /*  * Comment Parsing Mode              */
#define SPC_TEXT                                        0               /* Treat as Text                        */
#define SPC_COLON_SINGLE                                1               /* Colon Delimited (dog: legs)          */
#define SPC_COLON_MULTIPLE                              2               /* Colon Multiple (dog: legs; cat: fur) */
#define SPC_ATTRIBUTES                                  3               /* Treat as Element Attribute           */

                                                                /************************************************/
                                                                /* Structured Parameter Types                   */
                                                                /* --------------------------                   */
                                                                /* Data is stored as  an  offset  to  the local */
                                                                /* heap  offset  or  as  a  type  with a value. */
                                                                /* Unless otherwise specified,  all  values are */
                                                                /* signed in 100ths units. This is used largely */
                                                                /* SGML by has support low level support.  Note */
                                                                /* that the support module does  not  have  any */
                                                                /* SGML heap processing. This is here mostly to */
                                                                /* support numeric conversions.                 */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Data Types                        */
                                                                        /*  * PVALUE is the general 32-bit data */
                                                                        /*    word using PT_ types              */
#define PVALUE                                          dword           /* Parameter Value (in framework)       */
#define TOKEN                                           dword           /* General/DTD Token Value              */
                                                                        /*                                      */

                                                                        /****************************************/
                                                                        /* ** Parameter Types                   */
                                                                        /*  * Parameter Control                 */
#define PT_MASK                                         0xF8000000      /* Parameter Type Mask                  */
#define PT_VALUE_MASK                                   0x03FFFFFF      /* Value Mask                           */
#define PT_HEAP_MASK                                    0x0000FFFF      /* Mask for Data on Heap              ‡ */
#define PT_KEYWORD_MASK                                 0x0000FFFF      /* Ordinal Value Mask for Keyword       */
#define PT_KEYWORD_BYTE_MASK                            0x000000FF      /* Ordinal Value Mask for Keyword       */
#define PT_IMPORTANT                                    0x04000000      /* Item has Important Designation       */
                                                                        /*  o Signed Numbers                    */
#define PT_SIGN_BIT                                     0x02000000      /* Sign, Sign Extend Bit, Data Type     */
#define PT_SIGN_EXTEND                                  0xFC000000      /* OR to Extend Data Sign               */
                                                                        /*  o Non Value Conditions              */
#define PT_NON_LITERAL                                  0xF8000000      /* Value Portion not Literal Data     ‡ */
#define PT_CONTROL_MASK                                 0xFFFFFFF0      /* Value is a Control Type              */
#define PT_IMPLIED                                      0xFFFFFFFF      /* Value is Implied (default)           */
#define PT_MIXED                                        0xFFFFFFFE      /* Mixed Condition (multiple items)     */
#define PT_UNTRANSLATED                                 0xFFFFFFFD      /* Value Expected to be Translated      */
#define PT_NOT_SPECIFIED                                0xFFFFFFFC      /* Implied/Not Specified (in shorthand) */
#define PT_STRING                                       0xF8000000      /* Offset to String on Heap < 7FFFFF0 ‡ */
#define PT_STRING_SIZE                                  0x07FF0000      /* Size of Item on Heap               ‡ */
#define PT_ARRAY                                        0xE8000000      /* Offset to Array Data on Heap       ‡ */
#define PT_ARRAY_COMMA                                  0x02000000      /* Array Entries Comma Delimited      ‡ */
#define PT_ARRAY_COUNT                                  0x01FF0000      /* Mask to Count of PT_ on Heap       ‡ */
                                                                        /*  o Errors (on heap)                  */
#define PT_ERROR                                        0xD8000000      /* Error Data on Heap (Error : String)‡ */
#define PT_ERROR_MASK                                   0x07FF0000      /* Mark for Error Type                  */
#define PT_ERROR_NO_DETAIL                              0x0000FFFF      /* No Offset for Detail Error String    */
                                                                        /*  - Simple Codes                      */
#define PT_ERROR_NONE                                   0x00000000      /* No Error in Value                    */
#define PT_ERROR_SYNTAX                                 0x00010000      /* Item Fails on Syntax                 */
#define PT_ERROR_QUOTE                                  0x00020000      /* Failure to Close Quote               */
#define PT_ERROR_UNITS                                  0x00030000      /* Inappropriate Units                  */
#define PT_ERROR_RANGE                                  0x00040000      /* Value Out of Range                   */
#define PT_ERROR_SIZE                                   0x00050000      /* Value to Big                         */
#define PT_ERROR_KEYWORD                                0x00060000      /* Invalid Keyword                      */
#define PT_ERROR_REQUIRED                               0x00070000      /* Value Required                       */
#define PT_ERROR_DUPLICATE                              0x00080000      /* Value Duplicated Elsewhere           */
#define PT_ERROR_OVERFLOW                               0x00090000      /* Value Overflows Internal Data        */
#define PT_ERROR_WHOLE_UNITS                            0x000A0000      /* Values May Be Whole Only             */
#define PT_ERROR_UNKNOWN_UNITS                          0x000B0000      /* Unknown Units                        */
#define PT_ERROR_CONFLICT                               0x000C0000      /* Conflicting Parameters               */
#define PT_ERROR_CSS_PROPERTY_NAME                      0x000D0000      /* Unknown CSS Property Name            */
#define PT_ERROR_CSS_UNKNOWN_SH_ITEM                    0x000E0000      /* Unknown Item (CSS shorthand)         */
#define PT_ERROR_HEAP_OVERFLOW                          0x04000000      /* Internal Heap Overflow (no offset)   */
                                                                        /*  - Warnings                          */      // this is an issue about strorage
#define PT_WARNING_FRACTIONAL_UNITS                     0x01010000      /* Fractional Units Not Allowed         */
                                                                        /*  * Property Types                    */
                                                                        /*  o SGML                              */
#define PT_INT                                          0x00000000      /* Unsigned Int (    ie, 23.23)         */
#define PT_SIGNED_INT                                   0x08000000      /* Signed Int   (+/- ie, -2.2, +7)      */
#define PT_PERCENT                                      0x18000000      /* Percentage   (43.00%)                */
#define PT_RGB                                          0x28000000      /* Color        (24-bit RGB | string) ‡ */
#define PT_RGB_MASK                                     0x00FFFFFF      /* Mask for Heap or Color             ‡ */
#define PT_RGB_HEAP_FLAG                                0x02000000      /* Color Flag, Value on Heap XXXX/ss  ‡ */
#define PT_KEYWORD                                      0x38000000      /* Keyword Token                      ‡ */
#define PT_KEYWORD_MASK                                 0x0000FFFF      /* Keyword Mask (16-bit)              ‡ */
#define PT_CHAR                                         0x48000000      /* Character    (8-bit ANSI)            */
#define PT_CHAR_MASK                                    0x000000FF      /* Character Mask                       */
#define PT_BOOL                                         0x58000000      /* Bool         (CHECHED=CHECKED)       */
                                                                        /*  o CSS Size Metric                   */
#define PT_MM                                           0x10000000      /* Millimeters  (+/- ie, 12.22mm)       */
#define PT_CM                                           0x20000000      /* Centimeters  (+/- ie, 3.12cm)        */
                                                                        /*  o CSS Size English                  */
#define PT_IN_100                                       0x30000000      /* Inch (100)   (+/- ie, 2.50in)        */      //legacy, obsolete, kept for settings files
#define PT_IN                                           0x68000000      /* Inch (10000) (+/- ie, 2.3250in)      */
                                                                        /*  o CSS Size Typography               */
#define PT_PX                                           0x40000000      /* Px Pixel     (+/- ie, 4.84px)        */
#define PT_EM                                           0x50000000      /* Em Spaces    (+/- ie, 2.23em)        */
#define PT_EX                                           0x60000000      /* Ex Height    (+/- ie, 1.15ex)        */
#define PT_PC                                           0x70000000      /* Picas        (+/- ie, 12.50pc)       */
#define PT_PT                                           0x80000000      /* Points       (+/- ie, 22.40pt)       */
                                                                        /*  o CSS Angle                         */
#define PT_DEG                                          0x90000000      /* Degrees      (+/- ie, 4.01deg)       */
#define PT_GRAD                                         0xA0000000      /* Grads        (+/- ie, 21.22grad)     */
#define PT_RAD                                          0xB0000000      /* Rads         (+/- ie, 2.77rad)       */
                                                                        /*  o CSS Time                          */
#define PT_HZ                                           0xC0000000      /* Hertz        (+   ie, 122.12hz)      */
#define PT_KHZ                                          0xD0000000      /* Kilohertz    (+   ie, 12.11khz)      */
#define PT_MS                                           0xE0000000      /* Milliseconds (+   ie, 12.11ms)       */
#define PT_S                                            0xF0000000      /* Seconds      (+   ie, 4.23s)         */
                                                                        /*  * Special Keywords (match PK_)      */
#define PT_AUTO                                         0x000000F8      /* Value is 'Auto'                      */
#define PT_INHERIT                                      0x000000FA      /* Value is 'Inherit'                   */
                                                                        /*                                      */
                                                                        /* ‡ Not Supported in the Support DLL   */
                                                                        /*                                      */
                                                                        /* ** Color Processing                  */
                                                                        /*  * Constants                         */
#define PT_NULL_COLOR                                   0xFF000000      /* Value is Implied (default)           */
                                                                        /*  * Translation Flags                 */
#define COLOR_HTML                                      0x00000001      /* HTML Colors Allowed                  */
#define COLOR_CSS                                       0x00000002      /* CSS Colors Allowed                   */


                                                                        /****************************************/
                                                                        /* Token Types                          */
                                                                        /****************************************/
                                                                        /*                                      */
                                                                        /* ** Token Types                       */
                                                                        /*  * Token Control                     */
#define TT_TYPE_MASK                                    0xF0000000      /* Token Type Mask                      */
#define TT_TOKEN_MASK                                   0x000FFFFF      /* Token Value Mask                     */
#define TT_TOKEN_MASK_16                                0x0000FFFF      /* Token Value Mask (non field)         */
#define TT_USER_FLAG                                    0x00008000      /* Token is User defined                */
                                                                        /*  * Fields                            */
                                                                        /* Note that fields can receive pseudo  */
                                                                        /*    token status for SGML open/close  */
                                                                        /*    for stacking and other purposes.  */
#define TT_SGML_FIELD_MASK                              0x000F0000      /* Field Mask                           */
#define TT_SGML_FIELD                                   0x00030000      /* Field Type/Name (Match SGML_FIELD)   */
                                                                        /*  * SGML (HTML/XML)                   */
#define TT_SGML_OPEN                                    0x10000000      /* SGML Start Element (i.e., TABLE)     */
#define TT_SGML_CLOSE                                   0x20000000      /* SGML End Element (i.e., /TABLE)      */
#define TT_ATTRIBUTE                                    0x30000000      /* SGML Attribute                       */
#define TT_ENTITY                                       0x40000000      /* Entity                               */
#define TT_VALUE                                        0x50000000      /* Named Entity Values (Properties)     */
#define TT_NAMESPACE                                    0x60000000      /* XML Name Space                       */
#define TT_NAMESPACE_DEFAULT                            0x60000000      /* Default Namespace                    */
                                                                        /*  * CSS                               */
#define TT_CSS_PROPERTY                                 0x70000000      /* CSS Property (ie. border)            */
#define TT_CSS_RULE                                     0x80000000      /* CSS Rule (ie. @import)               */
                                                                        /*  * Miscellaneous                     */
#define TT_NULL                                         0xF0000000      /* Item is NULL (attribute, etc)        */
#define TT_ERROR                                        (TT_NULL + 1)   /* Error in Item                        */
#define TT_UNIVERSAL                                    (TT_NULL + 2)   /* Universal (* specified)              */
#define TT_UNIVERSAL_IMPLIED                            (TT_NULL + 3)   /* Universal (not specified)            */


                                                                        /****************************************/
                                                                        /* ** Element List Flags                */
                                                                        /*    These can be attached to elements */
                                                                        /*    in the flags field.               */
                                                                        /*  * Element Source/Authority          */
                                                                        /*  o General                           */
#define W3C_ELEMENT                                     0x00000001      /* W3C Element (XML)                    */
                                                                        /*  o HTML                              */
#define ELF_W3C_ELEMENT                                 0x00000001      /* W3C Element (bitwise)                */
#define ELF_HTML_3                                      0x00000001      /* W3C Element HTML 3.x (before HTML 4) */
#define ELF_HTML_4                                      0x00000003      /* W3C Element HTML 4.x                 */
#define ELF_HTML_5                                      0x00000005      /* W3C Element HTML 5.x                 */
#define ELF_SEC_EDGAR_ELEMENT                           0x00000100      /* SEC EDGAR Element                    */
#define ELF_OBSOLETE_ELEMENT                            0x00000800      /* Element is Obsolete                  */
                                                                        /*  * Element Open/Close                */
#define ELF_EOC_CLOSE_MASK                              0x00003000      /* Close Mask                           */
#define ELF_EOC_MUST_CLOSE                              0x00000000      /* Must Close (default)                 */
#define ELF_EOC_OPTIONAL_CLOSE                          0x00001000      /* Optional Close (non-XML)             */
#define ELF_EOC_NO_CLOSE                                0x00002000      /* Element Does not Have Close (HTML)   */
                                                                        /*  o Flags                             */
#define ELF_EOC_NO_CONTENT                              0x00004000      /* Does not Have Content (XHTML)        */
                                                                        /*  * Element Child Content             */
#define ELF_REQUIRED_CONTENT                            0x00010000      /* Content is Required (not <TR />)     */

                                                                /************************************************/
                                                                /* Function Specific                            */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** SGMLGetParameters - Mode          */
#define SGML_GP_HTML                                            0       /* HTML Mode                            */
#define SGML_GP_XML                                             1       /* XML Mode                             */

                                                                        /****************************************/
                                                                        /* ** SGMLGetParameterFlags             */
                                                                        /*  * General                           */
#define SGML_PE_PARAMETER_OK_MASK                           0x003F      /* No Errors or Remove Mask (0 = OK)    */
#define SGML_PE_ERROR                                       0x0001      /* Error in Entry                       */
#define SGML_PE_OUT_OF_CONTEXT                              0x0002      /* The Attribute in DTD for Element     */
#define SGML_PE_UNKNOWN_ATTRIBUTE                           0x0004      /* The Attribute was not in the DTD     */
#define SGML_PE_UNKNOWN_PROPERTY                            0x0008      /* The CSS Properties is Unknown        */
#define SGML_PE_DELETED                                     0x0010      /* This Item has Been Deleted           */
#define SGML_PE_RESERVED                                    0x0020      /* (Bit is Available as Error)          */
                                                                        /*  * CSS                               */
#define SGML_PE_CSS_CONFLICT                                0x0040      /* Attribute Conflict with CSS          */
#define SGML_PE_CSS_OVERRIDE                                0x0080      /* Value Moved to CSS Property          */
#define SGML_PE_CSS_IMPORTANT                               0x0100      /* !Important Term Was Used             */
                                                                        /*  * Format                            */
#define SGML_PE_PRECEED_BY_RETURN                           0x0200      /* The Attribute was on a New Line      */
#define SGML_PE_VALUE_QUOTED                                0x0400      /* The Attribute/Value was Quotes (HTML)*/
#define SGML_PE_NO_SPACE_ON_EMPTY_ELEMENT                   0x0800      /* No Leading Space on Empty Element    */
                                                                        /*  * Control                           */
#define SGML_PE_CSS_CONTROL_MASK                            0xF000      /* Control Mask                         */
#define SGML_PE_CSS_MARKED                                  0x1000      /* General Marking Flag                 */
#define SGML_PE_CSS_DERIVED_FROM_SHORTHAND                  0x2000      /* Value Came from Shorthand            */
#define SGML_PE_CSS_PROMOTED_FROM_MSO                       0x4000      /* Was Promoted from MSO (no detail)    */
#define SGML_PE_CSS_CONFLICT_WITH_MSO                       0x8000      /* Conflicted with MSO (no detail)      */


                                                                        /****************************************/
                                                                        /* ** Function: SGMLFindClosingElement  */
                                                                        /*  * Flags                             */
#define SP_FCE_NONE                                     0x00000000      /* No Flags (for empty param)           */
#define SP_FCE_TRANSLATE_CHARS                          0x00000001      /* Translate Characters to ANSI         */
#define SP_FCE_TEXT_ONLY                                0x00000002      /* Get Just the Text from Content       */
#define SP_FCE_TRANSLATED_TEXT                          0x00000003      /* Combination                          */
#define SP_FCE_CODE_AS_IS                               0x00000010      /* Return Code As Is (not white spaced) */
#define SP_FCE_INCLUDE_WRAPPER                          0x00000020      /* Adds Open and Close Tags             */


                                                                        /****************************************/
                                                                        /* ** Function: HTMLContextScan         */
                                                                        /*  * Set to Track Information          */
#define HFS_GET_STACK_ONLY                              0x00000000      /* No flags (Loads Only Context Stack)  */
#define HFS_GET_NAME_SPACE                              0x00000001      /* Track NAME Space                     */
#define HFS_GET_URI_REFERENCE                           0x00000002      /* Track URI References                 */
#define HFS_GET_CLASS                                   0x00000004      /* Track CLASS References               */
#define HFS_GET_OBJECTS                                 0x00000008      /* Track Object/Image Definitions       */
#define HFS_GET_FIELD                                   0x00000010      /* Track Marker Definitions             */
#define HFS_GET_FONTS                                   0x00010000      /* Track Font References                */
#define HFS_GET_COLORS                                  0x00020000      /* Track Color References               */
                                                                        /*  * Returned Bits                     */
#define HFS_RESULT_NESTING                              0x00100000      /* File Contains Stack/Nesting Error(s) */
#define HFS_RESULT_MID_ENTITY                           0x00200000      /* Stopped Mid Entity                   */
#define HFS_RESULT_MID_ELEMENT                          0x00400000      /* Stopped Mid Element                  */
#define HFS_RESULT_NOT_VALID_POINT                      0x00600000      /* Combine Above                        */

                                                                        /****************************************/
                                                                        /* ** Function: HTMLConformCode         */
                                                                        /*  * Options Parameter                 */
#define HCC_ADD_DTD_HEADER                              0x00000001      /* Adds DTD Header                      */

                                                                        /****************************************/
                                                                        /* ** Function: HTMLTidyCode            */
                                                                        /*  * General                           */
#define HTC_ALL_OPTIONS                                 0x0000FFFF      /* All Options On                       */
                                                                        /*  o Tidy                              */
#define HTC_TIDY_CODE_BREAKS                            0x00000001      /* Tidy Code Breaks (blocks)            */
#define HTC_TIDY_CODE_LINE_ENDINGS                      0x00000002      /* Tidy Code Line Endings               */
#define HTC_TIDY_CODE_WRAP                              0x00000004      /* Wrap the Code                        */
                                                                        /*  o HTML                              */
#define HTC_REPORT_TAG_ERRORS                           0x00000010      /* Report Tag Errors to Log             */
#define HTC_REPORT_CSS_ERRORS                           0x00000020      /* Report CSS Errors to Log             */
#define HTC_REWRITE_CODE                                0x00000040      /* Rewrites Corrected Tags              */
#define HTC_REWRITE_CHAR_ENTITIES                       0x00000080      /* Rewrite Character Entities           */
#define HTC_REWRITE_CASE_MASK                           0x00000300      /* Tag Case Mask Tags                   */
#define HTC_REWRITE_CASE_DTD                            0x00000000      /* Case Matches DTD                     */
#define HTC_REWRITE_CASE_UPPER                          0x00000100      /* Case to Upper                        */
#define HTC_REWRITE_CASE_LOWER                          0x00000200      /* Case to Lower                        */
                                                                        /*  o Caller Flags (not used by us)     */
#define HTC_CALLER_OPTIONS                              0xFFFF0000      /* All Options On                       */
                                                                        /*  > Caller Predefined                 */
#define HTC_PRESENT_LOG                                 0x00020000      /* Present a Log                        */
                                                                        /*                                      */
                                                                        /* ** Function: HTMLToXHTML             */
                                                                        /*  * General                           */
#define HTX_ALL_OPTIONS                                 0x0000FFFF      /* All Options On                       */
                                                                        /*  o Tidy                              */
#define HTX_TIDY_CODE_BREAKS                            0x00000001      /* Tidy Code Breaks (blocks)            */
#define HTX_TIDY_CODE_LINE_ENDINGS                      0x00000002      /* Tidy Code Line Endings               */
#define HTX_TIDY_CODE_WRAP                              0x00000004      /* Wrap the Code                        */
                                                                        /*  o HTML                              */
#define HTX_REPORT_TAG_ERRORS                           0x00000010      /* Report Tag Errors to Log             */
#define HTX_REPORT_CSS_ERRORS                           0x00000020      /* Report CSS Errors to Log             */
#define HTX_REPORT_NESTING_ERRORS                       0x00000040      /* Report Nesting Errors to Log         */
#define HTX_NO_HEADER                                   0x00000100      /* No Header or Footer                  */
                                                                        /*  o EDGAR                             */
#define HTX_REMOVE_EDGAR_TAGS                           0x00001000      /* Remove Revisions, Page Etc.          */
#define HTX_UPDATE_EDGAR_R_TAGS                         0x00002000      /* Update Revisions to -sec-ix-redline  */
                                                                        /*  o Caller Flags (not used by us)     */
#define HTX_CALLER_OPTIONS                              0xFFFF0000      /* All Options On                       */
                                                                        /*  > Caller Predefined                 */
#define HTX_IXBRL_NAMESPACE                             0x00010000      /* iXBRL Namespace                      */
#define HTX_PRESENT_LOG                                 0x00020000      /* Present a Log                        */

                                                                        /****************************************/
                                                                        /* ** Function: SGMLScrubParameters     */
                                                                        /*  * Flags                             */
#define SGML_SCRUB_HTML_ATTRIBUTES                      0x00000001      /* Scrub HTML Attributes                */
#define SGML_SCRUB_KEEP_CORE_ATTRIBUTES                 0x00000002      /* Keep TITLE STYLE CLASS ID (default)  */
#define SGML_SCRUB_ALL_CSS                              0x00000100      /* Delete All CSS                       */
#define SGML_SCRUB_NON_W3C_CSS                          0x00000200      /* Delete Non-W3C Items                 */


                                                                /************************************************/
                                                                /* HTML Tools                                   */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** HTML Validation                   */
                                                                        /*  * Options                           */
                                                                        /* (File's DTD can Override All)        */
#define HTML_VALIDATE_OPTIONS_MASK                      0x007FFFFF      /* Mask for All Options                 */
#define HTML_VALIDATE_DTD_MASK                          0x000000FF      /* Specified DTD Mask (DTD_DEFAULT_)    */
                                                                        /*  o Option Bits                       */
#define HTML_VALIDATE_UXC_FLAG                          0x00000100      /* Use XML Conventions                  */
#define HTML_VALIDATE_TUN_FLAG                          0x00000200      /* Test Namespace Unique Names          */
#define HTML_VALIDATE_CCE_FLAG                          0x00000400      /* Check Character Entities             */
#define HTML_VALIDATE_WCN_FLAG                          0x00000800      /* W3C Compliant Names                  */
#define HTML_VALIDATE_CTN_FLAG                          0x00001000      /* Check Tag Nesting                    */
#define HTML_VALIDATE_UFN_FLAG                          0x00002000      /* Warn Uncommon Font on Names          */
#define HTML_VALIDATE_TEL_FLAG                          0x00004000      /* Text External URL Links              */
#define HTML_VALIDATE_WOD_FLAG                          0x00008000      /* Warn of Obsolete/Deprecated Items    */
#define HTML_VALIDATE_VQC_MODE                          0x00010000      /* Value Quote Mode                     */
#define HTML_VALIDATE_CSS_FLAG                          0x00020000      /* Check CSS Conflicts                  */
#define HTML_VALIDATE_XES_FLAG                          0x00040000      /* XML Empty Element Space Test <br />  */
#define HTML_VALIDATE_BPC_FLAG                          0x00080000      /* Best Practices Check Flag            */
#define HTML_VALIDATE_SFC_FLAG                          0x00100000      /* Symbol Font Check Flag               */
#define HTML_VALIDATE_FORCE_UPDATE                      0x00400000      /* Cause Flags to be Accepted (!= 0)    */
                                                                        /*  * Legato Control                    */
#define HTML_VALIDATE_PROGRESS                          0x00800000      /* Pass Progress Display Into Funncion  */
                                                                        /*  * Calling Flags                     */
#define HTML_VALIDATE_NO_HEADING                        0x01000000      /* No Heading Allowed                   */
#define HTML_VALIDATE_NO_CHAR_NAMES                     0x02000000      /* No Character Names Allowed           */
#define HTML_VALIDATE_FORCE_XML                         0x04000000      /* Force XML Checking                   */
#define HTML_VALIDATE_NO_OBJECTS                        0x08000000      /* Do Not Allow Objects                 */
                                                                        /*  * EDGAR Specific                    */
#define HTML_VALIDATE_XBRL_HTML                         0x10000000      /* Force XBRL EAL                       */
#define HTML_VALIDATE_XBRL_HTML_FO                      0x20000000      /* Force XBRL EAL (Fatal Only)          */

                                                                /************************************************/
                                                                /* HTML Page Breaks                             */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Map Entry Flags                   */
                                                                        /*  * Control (bitwise)                 */
#define HPB_ENTRY_ALTERED                               0x00000001      /* Page Has Been Edited                 */
#define HPB_ENTRY_DELETED                               0x00000002      /* Page Has Been Deleted                */
#define HPB_ENTRY_UPDATE_MASK                           0x00000003      /* Required Update within Document      */
                                                                        /*                                      */
                                                                        /* ** Formatted Page Break Types        */
                                                                        /*  * Types                             */
#define HPB_TYPE_MASK                                   0x0000000F      /* Break Type Mask                      */
                                                                        /*  o Types                             */
#define HPB_TYPE_UNKNOWN                                0x00000000      /* Unknown Break Type                   */
#define HPB_TYPE_FIELD                                  0x00000001      /* Field Style Page Break               */
#define HPB_TYPE_FIELD_CAPTION                          0x00000002      /* Field Style Page Caption             */
#define HPB_TYPE_EDGARIZER                              0x00000003      /* EDGARizer Style                      */
#define HPB_TYPE_GENERAL                                0x00000004      /* Unknown Break Style                  */
                                                                        /*  * CSS                               */
#define HPB_TYPE_BEFORE                                 0x00001000      /* Break Before Block                   */
#define HPB_TYPE_AFTER                                  0x00002000      /* Break After Block                    */
#define HPB_TYPE_INSIDE                                 0x00004000      /* Break Inside Block                   */
                                                                        /*  * Page Information                  */
#define HPB_TYPE_SECTION_START                          0x00010000      /* Starts a Section                     */
#define HPB_TYPE_SOFT_BREAK                             0x00020000      /* Soft Page Break                      */
#define HPB_TYPE_SOFT_BLOCK                             0x00040000      /* Breaks a Block                       */

                                                                        /****************************************/
                                                                        /* ** Header/Footer Format              */
                                                                        /*  * Structured Data Clue              */
                                                                        /* (note: this does not get stored but  */
                                                                        /*        rather is implied by the      */
                                                                        /*        properties dialog.)           */
#define HPB_FORMAT_AUTO                                          -1     /* Auto (Based on A/B/C Cells)          */
#define HPB_FORMAT_CENTER                                         0     /* Center                               */
#define HPB_FORMAT_LEFT                                           1     /* Left                                 */
#define HPB_FORMAT_RIGHT                                          2     /* Right                                */
#define HPB_FORMAT_LEFT_RIGHT                                     3     /* Left/Right                           */
#define HPB_FORMAT_ALL                                            4     /* Left/Center/Right                    */
#define HPB_FORMAT_FREE_FORMAT                                    5     /* Unstructured                         */
#define HPB_FORMAT_MIXED                                          5     /* Mixed (dialog only)                  */


                                                        /********************************************************/
                                                        /* Default HTML                                         */
                                                        /* ------------                                         */
                                                        /* These are the defined tokens for HTML 5 plus some    */
                                                        /* non-W3C elements.                                    */
                                                        /********************************************************/

                                                                        /****************************************/
                                                                        /* ** Psuedo Element                    */
#define HT_PCDATA                       (TT_SGML_OPEN +   0)            /* Text/Entity Data                     */

                                                                /************************************************/
                                                                /* Elements                                     */
                                                                /************************************************/


                                                                        /****************************************/
                                                                        /* W3C Elements                         */
                                                                        /****************************************/
                                                                        /*                                      */
                                                                        /* ** Elements                          */
                                                                        /*  * Open Elements                     */
#define HT_A                            (TT_SGML_OPEN  +   1)           /* Anchor                               */
#define HT_ABBR                         (TT_SGML_OPEN  +   2)           /* Abbreviated Form                     */
#define HT_ACRONYM                      (TT_SGML_OPEN  +   3)           /* Defines an Acronym                   */
#define HT_ADDRESS                      (TT_SGML_OPEN  +   4)           /* Author's Address                     */
#define HT_APPLET                       (TT_SGML_OPEN  +   5)           /* Applet                               */
#define HT_AREA                         (TT_SGML_OPEN  +   6)           /* Section                              */
#define HT_ARTICLE                      (TT_SGML_OPEN  +   7)           /* Article Container            5.0     */
#define HT_ASIDE                        (TT_SGML_OPEN  +   8)           /* Aside Sidebar                5.0     */
#define HT_AUDIO                        (TT_SGML_OPEN  +   9)           /* Audio Player                 5.0     */
#define HT_B                            (TT_SGML_OPEN  +  10)           /* Bold                                 */
#define HT_BASE                         (TT_SGML_OPEN  +  11)           /* Base URL     (This File)             */
#define HT_BASEFONT                     (TT_SGML_OPEN  +  12)           /* Base Font Size                       */
#define HT_BDI                          (TT_SGML_OPEN  +  13)           /* Text Direction               5.0     */
#define HT_BDO                          (TT_SGML_OPEN  +  14)           /* I18N BiDi Override                   */
#define HT_BIG                          (TT_SGML_OPEN  +  15)           /* Large Font Size                      */
#define HT_BLOCKQUOTE                   (TT_SGML_OPEN  +  16)           /* Block Quote                          */
#define HT_BODY                         (TT_SGML_OPEN  +  17)           /* Body of Document                     */
#define HT_BR                           (TT_SGML_OPEN  +  18)           /* Line Break                           */
#define HT_BUTTON                       (TT_SGML_OPEN  +  19)           /* Push Button                          */
#define HT_CANVAS                       (TT_SGML_OPEN  +  20)           /* Scriptable bitmap canvas     5.0     */
#define HT_CAPTION                      (TT_SGML_OPEN  +  21)           /* Table Caption                        */
#define HT_CENTER                       (TT_SGML_OPEN  +  22)           /* Center                               */
#define HT_CITE                         (TT_SGML_OPEN  +  23)           /* Citation                             */
#define HT_CODE                         (TT_SGML_OPEN  +  24)           /* Code                                 */
#define HT_COL                          (TT_SGML_OPEN  +  25)           /* Table Column Def                     */
#define HT_COLGROUP                     (TT_SGML_OPEN  +  26)           /* Table Column Def Group               */
#define HT_DATA                         (TT_SGML_OPEN  +  27)           /* Machine-Readable Equivalent  5.0     */
#define HT_DATALIST                     (TT_SGML_OPEN  +  28)           /* Container for Combobox       5.0     */
#define HT_DD                           (TT_SGML_OPEN  +  29)           /* Item Definition                      */
#define HT_DEL                          (TT_SGML_OPEN  +  30)           /* Marks Deleted Text           4.0     */
#define HT_DETAILS                      (TT_SGML_OPEN  +  31)           /* Disclosure Control           5.0     */
#define HT_DFN                          (TT_SGML_OPEN  +  32)           /* Definition                           */
#define HT_DIALOG                       (TT_SGML_OPEN  +  33)           /* Dialog                       5.0     */
#define HT_DIR                          (TT_SGML_OPEN  +  34)           /* Directory List                       */
#define HT_DIV                          (TT_SGML_OPEN  +  35)           /* Document Division                    */
#define HT_DL                           (TT_SGML_OPEN  +  36)           /* Definition List                      */
#define HT_DT                           (TT_SGML_OPEN  +  37)           /* Definition Term                      */
#define HT_EM                           (TT_SGML_OPEN  +  38)           /* Emphasis                             */
#define HT_EMBED                        (TT_SGML_OPEN  +  39)           /* Embed Object                 5.2     */
#define HT_FIELDSET                     (TT_SGML_OPEN  +  40)           /* Form Control Group                   */
#define HT_FIGCAPTION                   (TT_SGML_OPEN  +  41)           /* Figure Caption               5.0     */
#define HT_FIGURE                       (TT_SGML_OPEN  +  42)           /* Figure                       5.0     */
#define HT_FONT                         (TT_SGML_OPEN  +  43)           /* Font Name, Size, Color       3.2     */
#define HT_FOOTER                       (TT_SGML_OPEN  +  44)           /* Fotter for a Page            5.0     */
#define HT_FORM                         (TT_SGML_OPEN  +  45)           /* Define Form Block                    */
#define HT_FRAME                        (TT_SGML_OPEN  +  46)           /* Define Frame                         */
#define HT_FRAMESET                     (TT_SGML_OPEN  +  47)           /* Frame Document                       */
#define HT_H1                           (TT_SGML_OPEN  +  48)           /* Heading Level 1                      */
#define HT_H2                           (TT_SGML_OPEN  +  49)           /* Heading Level 2                      */
#define HT_H3                           (TT_SGML_OPEN  +  50)           /* Heading Level 3                      */
#define HT_H4                           (TT_SGML_OPEN  +  51)           /* Heading Level 4                      */
#define HT_H5                           (TT_SGML_OPEN  +  52)           /* Heading Level 5                      */
#define HT_H6                           (TT_SGML_OPEN  +  53)           /* Heading Level 6                      */
#define HT_HEAD                         (TT_SGML_OPEN  +  54)           /* HTML Head Group                      */
#define HT_HEADER                       (TT_SGML_OPEN  +  55)           /* Header                       5.0     */
#define HT_HR                           (TT_SGML_OPEN  +  56)           /* Horizontal Rule                      */
#define HT_HTML                         (TT_SGML_OPEN  +  57)           /* Header                               */
#define HT_I                            (TT_SGML_OPEN  +  58)           /* Italic                               */
#define HT_IFRAME                       (TT_SGML_OPEN  +  59)           /* Inline Subwindow                     */
#define HT_IMG                          (TT_SGML_OPEN  +  60)           /* Display Image                        */
#define HT_INPUT                        (TT_SGML_OPEN  +  61)           /* Format Control                       */
#define HT_INS                          (TT_SGML_OPEN  +  62)           /* Inserted Text                4.0     */
#define HT_ISINDEX                      (TT_SGML_OPEN  +  63)           /* Searchable                           */
#define HT_KBD                          (TT_SGML_OPEN  +  64)           /* Keyboard Input                       */
#define HT_KEYGEN                       (TT_SGML_OPEN  +  65)           /* Cryptographic Key-Pair       5.0     */
#define HT_LABEL                        (TT_SGML_OPEN  +  66)           /* Form Field Label Text                */
#define HT_LEGEND                       (TT_SGML_OPEN  +  67)           /* Fieldset Legend                      */
#define HT_LI                           (TT_SGML_OPEN  +  68)           /* List Item                            */
#define HT_LINK                         (TT_SGML_OPEN  +  69)           /* Relationship                         */
#define HT_MAIN                         (TT_SGML_OPEN  +  70)           /* Main Content                 5.2     */
#define HT_MAP                          (TT_SGML_OPEN  +  71)           /* Map                                  */
#define HT_MARK                         (TT_SGML_OPEN  +  72)           /* Mark/Highlight               5.0     */
#define HT_MENU                         (TT_SGML_OPEN  +  73)           /* Menu List                            */
#define HT_MENUITEM                     (TT_SGML_OPEN  +  74)           /* Menu Command                 5.0     */
#define HT_META                         (TT_SGML_OPEN  +  75)           /* Meta Information                     */
#define HT_METER                        (TT_SGML_OPEN  +  76)           /* Meter                        5.0     */
#define HT_NAV                          (TT_SGML_OPEN  +  77)           /* Nav                          5.0     */
#define HT_NOFRAMES                     (TT_SGML_OPEN  +  78)           /* Unframed Content                     */
#define HT_NOSCRIPT                     (TT_SGML_OPEN  +  79)           /* Alternate for non-script             */
#define HT_OBJECT                       (TT_SGML_OPEN  +  80)           /* Generic Embedded Object              */
#define HT_OL                           (TT_SGML_OPEN  +  81)           /* Ordered List                         */
#define HT_OPTGROUP                     (TT_SGML_OPEN  +  82)           /* Option Group                         */
#define HT_OPTION                       (TT_SGML_OPEN  +  83)           /* Option                               */
#define HT_OUTPUT                       (TT_SGML_OPEN  +  84)           /* Output Value                 5.0     */
#define HT_P                            (TT_SGML_OPEN  +  85)           /* Paragraph                            */
#define HT_PARAM                        (TT_SGML_OPEN  +  86)           /* Named Property Value                 */
#define HT_PICTURE                      (TT_SGML_OPEN  +  87)           /* Picture Element              5.2     */
#define HT_PRE                          (TT_SGML_OPEN  +  88)           /* Preformatted                         */
#define HT_PROGRESS                     (TT_SGML_OPEN  +  89)           /* Progress Bar                 5.0     */
#define HT_Q                            (TT_SGML_OPEN  +  90)           /* Short Inline Quote                   */
#define HT_RP                           (TT_SGML_OPEN  +  91)           /* Ruby Parenthesis Annotation  5.0     */
#define HT_RT                           (TT_SGML_OPEN  +  92)           /* Ruby Annotation Text         5.0     */
#define HT_RTC                          (TT_SGML_OPEN  +  93)           /* Ruby Annotation Container    5.2     */
#define HT_RUBY                         (TT_SGML_OPEN  +  94)           /* Ruby Annotation              5.0     */
#define HT_S                            (TT_SGML_OPEN  +  95)           /* Strikeout                            */
#define HT_SAMP                         (TT_SGML_OPEN  +  96)           /* Sample Output                        */
#define HT_SCRIPT                       (TT_SGML_OPEN  +  97)           /* Scripts                              */
#define HT_SECTION                      (TT_SGML_OPEN  +  98)           /* Generic Section              5.0     */
#define HT_SELECT                       (TT_SGML_OPEN  +  99)           /* Selection List                       */
#define HT_SMALL                        (TT_SGML_OPEN  + 100)           /* Small Font Size                      */
#define HT_SOURCE                       (TT_SGML_OPEN  + 101)           /* Media Source                 5.0     */
#define HT_SPAN                         (TT_SGML_OPEN  + 102)           /* Generic Lang/Style Cont              */
#define HT_STRIKE                       (TT_SGML_OPEN  + 103)           /* Strikethough                         */
#define HT_STRONG                       (TT_SGML_OPEN  + 104)           /* Strong Emphasis                      */
#define HT_STYLE                        (TT_SGML_OPEN  + 105)           /* Style Sheets                         */
#define HT_SUB                          (TT_SGML_OPEN  + 106)           /* Subscript                            */
#define HT_SUMMARY                      (TT_SGML_OPEN  + 107)           /* Caption for Details          5.0     */
#define HT_SUP                          (TT_SGML_OPEN  + 108)           /* Superscript                          */
#define HT_TABLE                        (TT_SGML_OPEN  + 109)           /* Define Table                         */
#define HT_TBODY                        (TT_SGML_OPEN  + 110)           /* Table Body                           */
#define HT_TD                           (TT_SGML_OPEN  + 111)           /* Table Cell                           */
#define HT_TEMPLATE                     (TT_SGML_OPEN  + 112)           /* Temaplate                    5.0     */
#define HT_TEXTAREA                     (TT_SGML_OPEN  + 113)           /* Text Area                            */
#define HT_TFOOT                        (TT_SGML_OPEN  + 114)           /* Defines Table Footer                 */
#define HT_TH                           (TT_SGML_OPEN  + 115)           /* Table Header Cell                    */
#define HT_THEAD                        (TT_SGML_OPEN  + 116)           /* Defines Table Header                 */
#define HT_TIME                         (TT_SGML_OPEN  + 117)           /* Time                         5.0     */
#define HT_TITLE                        (TT_SGML_OPEN  + 118)           /* Title                                */
#define HT_TR                           (TT_SGML_OPEN  + 119)           /* Table Row                            */
#define HT_TRACK                        (TT_SGML_OPEN  + 120)           /* Timed Text Track             5.0     */
#define HT_TT                           (TT_SGML_OPEN  + 121)           /* Typewriter                           */
#define HT_U                            (TT_SGML_OPEN  + 122)           /* Underline                            */
#define HT_UL                           (TT_SGML_OPEN  + 123)           /* Unordered List                       */
#define HT_VAR                          (TT_SGML_OPEN  + 124)           /* Variable                             */
#define HT_VIDEO                        (TT_SGML_OPEN  + 125)           /* Video                        5.0     */
#define HT_WBR                          (TT_SGML_OPEN  + 126)           /* Word/Line Break              5.0     */      // moved from defacto
                                                                        /*  * Close Elements (must match start) */
#define HT__A                           (TT_SGML_CLOSE +   1)           /* Anchor                               */
#define HT__ABBR                        (TT_SGML_CLOSE +   2)           /* Abbreviated Form                     */
#define HT__ACRONYM                     (TT_SGML_CLOSE +   3)           /* Defines an Acronym                   */
#define HT__ADDRESS                     (TT_SGML_CLOSE +   4)           /* Author's Address                     */
#define HT__APPLET                      (TT_SGML_CLOSE +   5)           /* Applet                               */
#define HT__AREA                        (TT_SGML_CLOSE +   6)           /* Section                              */
#define HT__ARTICLE                     (TT_SGML_CLOSE +   7)           /* Article Container            5.0     */
#define HT__ASIDE                       (TT_SGML_CLOSE +   8)           /* Aside Sidebar                5.0     */
#define HT__AUDIO                       (TT_SGML_CLOSE +   9)           /* Audio Player                 5.0     */
#define HT__B                           (TT_SGML_CLOSE +  10)           /* Bold                                 */
#define HT__BASE                        (TT_SGML_CLOSE +  11)           /* Base URL     (This File)             */
#define HT__BASEFONT                    (TT_SGML_CLOSE +  12)           /* Base Font Size                       */
#define HT__BDI                         (TT_SGML_CLOSE +  13)           /* Text Direction               5.0     */
#define HT__BDO                         (TT_SGML_CLOSE +  14)           /* I18N BiDi Override                   */
#define HT__BIG                         (TT_SGML_CLOSE +  15)           /* Large Font Size                      */
#define HT__BLOCKQUOTE                  (TT_SGML_CLOSE +  16)           /* Block Quote                          */
#define HT__BODY                        (TT_SGML_CLOSE +  17)           /* Body of Document                     */
#define HT__BR                          (TT_SGML_CLOSE +  18)           /* Line Break                           */
#define HT__BUTTON                      (TT_SGML_CLOSE +  19)           /* Push Button                          */
#define HT__CANVAS                      (TT_SGML_CLOSE +  20)           /* Scriptable bitmap canvas     5.0     */
#define HT__CAPTION                     (TT_SGML_CLOSE +  21)           /* Table Caption                        */
#define HT__CENTER                      (TT_SGML_CLOSE +  22)           /* Center                               */
#define HT__CITE                        (TT_SGML_CLOSE +  23)           /* Citation                             */
#define HT__CODE                        (TT_SGML_CLOSE +  24)           /* Code                                 */
#define HT__COL                         (TT_SGML_CLOSE +  25)           /* Table Column Def                     */
#define HT__COLGROUP                    (TT_SGML_CLOSE +  26)           /* Table Column Def Group               */
#define HT__DATA                        (TT_SGML_CLOSE +  27)           /* Machine-Readable Equivalent  5.0     */
#define HT__DATALIST                    (TT_SGML_CLOSE +  28)           /* Container for Combobox       5.0     */
#define HT__DD                          (TT_SGML_CLOSE +  29)           /* Item Definition                      */
#define HT__DEL                         (TT_SGML_CLOSE +  30)           /* Marks Deleted Text                   */
#define HT__DETAILS                     (TT_SGML_CLOSE +  31)           /* Disclosure Control           5.0     */
#define HT__DFN                         (TT_SGML_CLOSE +  32)           /* Definition                           */
#define HT__DIALOG                      (TT_SGML_CLOSE +  33)           /* Dialog                       5.0     */
#define HT__DIR                         (TT_SGML_CLOSE +  34)           /* Directory List                       */
#define HT__DIV                         (TT_SGML_CLOSE +  35)           /* Document Division                    */
#define HT__DL                          (TT_SGML_CLOSE +  36)           /* Definition List                      */
#define HT__DT                          (TT_SGML_CLOSE +  37)           /* Definition Term                      */
#define HT__EM                          (TT_SGML_CLOSE +  38)           /* Emphasis                             */
#define HT__EMBED                       (TT_SGML_CLOSE +  39)           /* Embed Object                 5.2     */
#define HT__FIELDSET                    (TT_SGML_CLOSE +  40)           /* Form Control Group                   */
#define HT__FIGCAPTION                  (TT_SGML_CLOSE +  41)           /* Figure Caption               5.0     */
#define HT__FIGURE                      (TT_SGML_CLOSE +  42)           /* Figure                       5.0     */
#define HT__FONT                        (TT_SGML_CLOSE +  43)           /* Font Name, Size, Color               */
#define HT__FOOTER                      (TT_SGML_CLOSE +  44)           /* Fotter for a Page            5.0     */
#define HT__FORM                        (TT_SGML_CLOSE +  45)           /* Define Form Block                    */
#define HT__FRAME                       (TT_SGML_CLOSE +  46)           /* Define Frame                         */
#define HT__FRAMESET                    (TT_SGML_CLOSE +  47)           /* Frame Document                       */
#define HT__H1                          (TT_SGML_CLOSE +  48)           /* Heading Level 1                      */
#define HT__H2                          (TT_SGML_CLOSE +  49)           /* Heading Level 2                      */
#define HT__H3                          (TT_SGML_CLOSE +  50)           /* Heading Level 3                      */
#define HT__H4                          (TT_SGML_CLOSE +  51)           /* Heading Level 4                      */
#define HT__H5                          (TT_SGML_CLOSE +  52)           /* Heading Level 5                      */
#define HT__H6                          (TT_SGML_CLOSE +  53)           /* Heading Level 6                      */
#define HT__HEAD                        (TT_SGML_CLOSE +  54)           /* HTML Head                            */
#define HT__HEADER                      (TT_SGML_CLOSE +  55)           /* Header                       5.0     */
#define HT__HR                          (TT_SGML_CLOSE +  56)           /* Horizontal Rule                      */
#define HT__HTML                        (TT_SGML_CLOSE +  57)           /* Header                               */
#define HT__I                           (TT_SGML_CLOSE +  58)           /* Italic                               */
#define HT__IFRAME                      (TT_SGML_CLOSE +  59)           /* Inline Subwindow                     */
#define HT__IMG                         (TT_SGML_CLOSE +  60)           /* Display Image                        */
#define HT__INPUT                       (TT_SGML_CLOSE +  61)           /* Format Control                       */
#define HT__INS                         (TT_SGML_CLOSE +  62)           /* Inserted Text                        */
#define HT__ISINDEX                     (TT_SGML_CLOSE +  63)           /* Searchable                           */
#define HT__KBD                         (TT_SGML_CLOSE +  64)           /* Keyboard Input                       */
#define HT__KEYGEN                      (TT_SGML_CLOSE +  65)           /* Cryptographic Key-Pair       5.0     */
#define HT__LABEL                       (TT_SGML_CLOSE +  66)           /* Form Field Label Text                */
#define HT__LEGEND                      (TT_SGML_CLOSE +  67)           /* Fieldset Legend                      */
#define HT__LI                          (TT_SGML_CLOSE +  68)           /* List Item                            */
#define HT__LINK                        (TT_SGML_CLOSE +  69)           /* Relationship                         */
#define HT__MAIN                        (TT_SGML_CLOSE +  70)           /* Main Content                 5.2     */
#define HT__MAP                         (TT_SGML_CLOSE +  71)           /* Map                                  */
#define HT__MARK                        (TT_SGML_CLOSE +  72)           /* Mark/Highlight               5.0     */
#define HT__MENU                        (TT_SGML_CLOSE +  73)           /* Menu List                            */
#define HT__MENUITEM                    (TT_SGML_CLOSE +  74)           /* Menu Command                 5.0     */
#define HT__META                        (TT_SGML_CLOSE +  75)           /* Meta Information                     */
#define HT__METER                       (TT_SGML_CLOSE +  76)           /* Meter                        5.0     */
#define HT__NAV                         (TT_SGML_CLOSE +  77)           /* Nav                          5.0     */
#define HT__NOFRAMES                    (TT_SGML_CLOSE +  78)           /* Unframed Content                     */
#define HT__NOSCRIPT                    (TT_SGML_CLOSE +  79)           /* Alternate for non-script             */
#define HT__OBJECT                      (TT_SGML_CLOSE +  80)           /* Generic Embedded Object              */
#define HT__OL                          (TT_SGML_CLOSE +  81)           /* Ordered List                         */
#define HT__OPTGROUP                    (TT_SGML_CLOSE +  82)           /* Option Group                         */
#define HT__OPTION                      (TT_SGML_CLOSE +  83)           /* Option                               */
#define HT__OUTPUT                      (TT_SGML_CLOSE +  84)           /* Output Value                 5.0     */
#define HT__P                           (TT_SGML_CLOSE +  85)           /* Paragraph                            */
#define HT__PARAM                       (TT_SGML_CLOSE +  86)           /* Named Property Value                 */
#define HT__PICTURE                     (TT_SGML_CLOSE +  87)           /* Picture Element              5.2     */
#define HT__PRE                         (TT_SGML_CLOSE +  88)           /* Preformatted                         */
#define HT__PROGRESS                    (TT_SGML_CLOSE +  89)           /* Progress Bar                 5.0     */
#define HT__Q                           (TT_SGML_CLOSE +  90)           /* Short Inline Quote                   */
#define HT__RP                          (TT_SGML_CLOSE +  91)           /* Ruby Parenthesis Annotation  5.0     */
#define HT__RT                          (TT_SGML_CLOSE +  92)           /* Ruby Annotation Text         5.0     */
#define HT__RTC                         (TT_SGML_CLOSE +  93)           /* Ruby Annotation Container    5.2     */
#define HT__RUBY                        (TT_SGML_CLOSE +  94)           /* Ruby Annotation              5.0     */
#define HT__S                           (TT_SGML_CLOSE +  95)           /* Strikeout                            */
#define HT__SAMP                        (TT_SGML_CLOSE +  96)           /* Sample Output                        */
#define HT__SCRIPT                      (TT_SGML_CLOSE +  97)           /* Scripts                              */
#define HT__SECTION                     (TT_SGML_CLOSE +  98)           /* Generic Section              5.0     */
#define HT__SELECT                      (TT_SGML_CLOSE +  99)           /* Selection List                       */
#define HT__SMALL                       (TT_SGML_CLOSE + 100)           /* Small Font Size                      */
#define HT__SOURCE                      (TT_SGML_CLOSE + 101)           /* Media Source                 5.0     */
#define HT__SPAN                        (TT_SGML_CLOSE + 102)           /* Generic Lang/Style Cont              */
#define HT__STRIKE                      (TT_SGML_CLOSE + 103)           /* Strikethough                         */
#define HT__STRONG                      (TT_SGML_CLOSE + 104)           /* Strong Emphasis                      */
#define HT__STYLE                       (TT_SGML_CLOSE + 105)           /* Style Sheets                         */
#define HT__SUB                         (TT_SGML_CLOSE + 106)           /* Subscript                            */
#define HT__SUMMARY                     (TT_SGML_CLOSE + 107)           /* Caption for Details          5.0     */
#define HT__SUP                         (TT_SGML_CLOSE + 108)           /* Superscript                          */
#define HT__TABLE                       (TT_SGML_CLOSE + 109)           /* Define Table                         */
#define HT__TBODY                       (TT_SGML_CLOSE + 110)           /* Table Body                           */
#define HT__TD                          (TT_SGML_CLOSE + 111)           /* Table Cell                           */
#define HT__TEMPLATE                    (TT_SGML_CLOSE + 112)           /* Temaplate                    5.0     */
#define HT__TEXTAREA                    (TT_SGML_CLOSE + 113)           /* Text Area                            */
#define HT__TFOOT                       (TT_SGML_CLOSE + 114)           /* Defines Table Footer                 */
#define HT__TH                          (TT_SGML_CLOSE + 115)           /* Table Header Cell                    */
#define HT__THEAD                       (TT_SGML_CLOSE + 116)           /* Defines Table Header                 */
#define HT__TIME                        (TT_SGML_CLOSE + 117)           /* Time                         5.0     */
#define HT__TITLE                       (TT_SGML_CLOSE + 118)           /* Title                                */
#define HT__TR                          (TT_SGML_CLOSE + 119)           /* Table Row                            */
#define HT__TRACK                       (TT_SGML_CLOSE + 120)           /* Timed Text Track             5.0     */
#define HT__TT                          (TT_SGML_CLOSE + 121)           /* Typewriter                           */
#define HT__U                           (TT_SGML_CLOSE + 122)           /* Underline                            */
#define HT__UL                          (TT_SGML_CLOSE + 123)           /* Unordered List                       */
#define HT__VAR                         (TT_SGML_CLOSE + 124)           /* Variable                             */
#define HT__VIDEO                       (TT_SGML_CLOSE + 125)           /* Video                        5.0     */
#define HT__WBR                         (TT_SGML_CLOSE + 126)           /* Word/Line Break              5.0     */      // moved from defacto

                                                                        /****************************************/
                                                                        /* Non-W3C Elements                     */
                                                                        /****************************************/
                                                                        /* ** Elements                          */
                                                                        /*  * Open Elements                     */
#define HT_BGSOUND                      (TT_SGML_OPEN + 201)            /* Background Sound†    (IE)            */
#define HT_BLINK                        (TT_SGML_OPEN + 202)            /* Blinking†                            */
#define HT_COMMENT                      (TT_SGML_OPEN + 203)            /* Comment                              */
#define HT_ILAYER                       (TT_SGML_OPEN + 204)            /* Inline Layer†        (Netscape)      */
#define HT_LAYER                        (TT_SGML_OPEN + 205)            /* Layer Text†          (Netscape)      */
#define HT_LISTING                      (TT_SGML_OPEN + 206)            /* Listing†                             */
#define HT_MARQUEE                      (TT_SGML_OPEN + 207)            /* Marquee†                             */
#define HT_MULTICOL                     (TT_SGML_OPEN + 208)            /* Multi-Column†                        */
#define HT_NEXTID                       (TT_SGML_OPEN + 209)            /* Next ID†             (non DTD)       */
#define HT_NOBR                         (TT_SGML_OPEN + 210)            /* No Break†                            */
#define HT_NOLAYER                      (TT_SGML_OPEN + 211)            /* No Layer Text†       (Netscape)      */
#define HT_PLAINTEXT                    (TT_SGML_OPEN + 212)            /* Make Plain Text†                     */
#define HT_SERVER                       (TT_SGML_OPEN + 213)            /* Selection List                       */
#define HT_SPACER                       (TT_SGML_OPEN + 214)            /* Spacer†                              */
#define HT_TEXTFLOW                     (TT_SGML_OPEN + 215)            /* Text Flow†                           */
#define HT_XMP                          (TT_SGML_OPEN + 216)            /* Example†                             */
                                                                        /*  * Close Elements                    */
#define HT__BGSOUND                     (TT_SGML_CLOSE + 201)           /* Background Sound†    (IE)            */
#define HT__BLINK                       (TT_SGML_CLOSE + 202)           /* Blinking†                            */
#define HT__COMMENT                     (TT_SGML_CLOSE + 203)           /* Comment                              */
#define HT__ILAYER                      (TT_SGML_CLOSE + 204)           /* Inline Layer†        (Netscape)      */
#define HT__LAYER                       (TT_SGML_CLOSE + 205)           /* Layer Text†          (Netscape)      */
#define HT__LISTING                     (TT_SGML_CLOSE + 206)           /* Listing†                             */
#define HT__MARQUEE                     (TT_SGML_CLOSE + 207)           /* Marquee†                             */
#define HT__MULTICOL                    (TT_SGML_CLOSE + 208)           /* Multi-Column†                        */
#define HT__NEXTID                      (TT_SGML_CLOSE + 209)           /* Next ID†             (non DTD)       */
#define HT__NOBR                        (TT_SGML_CLOSE + 210)           /* No Break†                            */
#define HT__NOLAYER                     (TT_SGML_CLOSE + 211)           /* No Layer Text†       (Netscape)      */
#define HT__PLAINTEXT                   (TT_SGML_CLOSE + 212)           /* Make Plain Text†                     */
#define HT__SERVER                      (TT_SGML_CLOSE + 213)           /* Selection List                       */
#define HT__SPACER                      (TT_SGML_CLOSE + 214)           /* Spacer†                              */
#define HT__TEXTFLOW                    (TT_SGML_CLOSE + 215)           /* Text Flow†                           */
#define HT__XMP                         (TT_SGML_CLOSE + 216)           /* Example†                             */
                                                                        /*  * EDGAR Elements                    */
#define HT_E_CCC                        (TT_SGML_OPEN  + 301)           /* CCC                                  */
#define HT_E_CIK                        (TT_SGML_OPEN  + 302)           /* CIK                                  */
#define HT_E_MODULE                     (TT_SGML_OPEN  + 303)           /* MODULE                               */
#define HT_E_NAME                       (TT_SGML_OPEN  + 304)           /* NAME                                 */
#define HT_E_PAGE                       (TT_SGML_OPEN  + 305)           /* PAGE                                 */
#define HT_E__PAGE                      (TT_SGML_CLOSE + 305)           /* /PAGE                                */
#define HT_E_R                          (TT_SGML_OPEN  + 306)           /* R                                    */
#define HT_E__R                         (TT_SGML_CLOSE + 306)           /* /R                                   */
#define HT_E_SEGMENT                    (TT_SGML_OPEN  + 307)           /* SEGMENT                              */

                                                                /************************************************/
                                                                /* Attributes                                   */
                                                                /* ----------                                   */
                                                                /* The following is a predefined list  of  HTML */
                                                                /* attributes.  Attributes taken from a DTD may */
                                                                /* use the token values specified  here  or  in */
                                                                /* other prefined sections of this module.  New */
                                                                /* attributes are always defined at SA_CUSTOM.  */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* Attributes                           */
                                                                        /****************************************/
                                                                        /*                                      */
                                                                        /* ** W3C Attributes                    */
#define HA_ABBR                         (TT_ATTRIBUTE + 101)            /* ABBR                Abbreviation     */
#define HA_ACCEPT                       (TT_ATTRIBUTE + 102)            /* ACCEPT              MIME types       */
#define HA_ACCEPT_CHARSET               (TT_ATTRIBUTE + 103)            /* ACCEPT-CHARSET      Supported Sets   */
#define HA_ACCESSKEY                    (TT_ATTRIBUTE + 104)            /* ACCESSKEY           Field Key Char   */
#define HA_ACTION                       (TT_ATTRIBUTE + 105)            /* ACTION              Parameter        */
#define HA_ALIGN                        (TT_ATTRIBUTE + 106)            /* ALIGN               Alignment        */
#define HA_ALINK                        (TT_ATTRIBUTE + 107)            /* ALINK               Active Link      */
#define HA_ALLOW                        (TT_ATTRIBUTE + 108)            /* ALLOW                                */
#define HA_ALLOWFULLSCREEN              (TT_ATTRIBUTE + 109)            /* ALLOWFULLSCREEN     HTML 5           */
#define HA_ALLOWPAYMENTREQUEST          (TT_ATTRIBUTE + 110)            /* ALLOWPAYMENTREQUEST                  */
#define HA_ALT                          (TT_ATTRIBUTE + 111)            /* ALT                 Alt Text         */
#define HA_ARCHIVE                      (TT_ATTRIBUTE + 112)            /* ARCHIVE             Archive List     */
#define HA_ASYNC                        (TT_ATTRIBUTE + 113)            /* ASYNC               HTML 5           */
#define HA_AUTOCOMPLETE                 (TT_ATTRIBUTE + 114)            /* AUTOCOMPLETE        HTML 5           */
#define HA_AUTOFOCUS                    (TT_ATTRIBUTE + 115)            /* AUTOFOCUS           HTML 5           */
#define HA_AUTOPLAY                     (TT_ATTRIBUTE + 116)            /* AUTOPLAY            HTML 5           */      // Moved to defacto with HTML 5
#define HA_AXIS                         (TT_ATTRIBUTE + 117)            /* AXIS                Names of Headers */
#define HA_BACKGROUND                   (TT_ATTRIBUTE + 118)            /* BACKGROUND          Background       */
#define HA_BGCOLOR                      (TT_ATTRIBUTE + 119)            /* BGCOLOR             Background Color */
#define HA_BORDER                       (TT_ATTRIBUTE + 120)            /* BORDER              Border           */
#define HA_CELLPADDING                  (TT_ATTRIBUTE + 121)            /* CELLPADDING         Cell Padding     */
#define HA_CELLSPACING                  (TT_ATTRIBUTE + 122)            /* CELLSPACING         Cell Spacing     */
#define HA_CHALLENGE                    (TT_ATTRIBUTE + 123)            /* CHALLENGE           HTML 5           */
#define HA_CHAR                         (TT_ATTRIBUTE + 124)            /* CHAR                Align Character  */
#define HA_CHAROFF                      (TT_ATTRIBUTE + 125)            /* CHAROFF             Offset for Align */
#define HA_CHARSET                      (TT_ATTRIBUTE + 126)            /* CHARSET             Set for Link     */
#define HA_CHECKED                      (TT_ATTRIBUTE + 127)            /* CHECKED             Checked          */
#define HA_CITE                         (TT_ATTRIBUTE + 128)            /* CITE                Reference        */
#define HA_CLASS                        (TT_ATTRIBUTE + 129)            /* CLASS               Class for Element*/
#define HA_CLASSID                      (TT_ATTRIBUTE + 130)            /* CLASSID             Object Class     */
#define HA_CLEAR                        (TT_ATTRIBUTE + 131)            /* CLEAR               Clear Textwrap   */
#define HA_CODE                         (TT_ATTRIBUTE + 132)            /* CODE                Code Location    */
#define HA_CODEBASE                     (TT_ATTRIBUTE + 133)            /* CODEBASE            Location         */
#define HA_CODETYPE                     (TT_ATTRIBUTE + 134)            /* CODETYPE            Content Type     */
#define HA_COLOR                        (TT_ATTRIBUTE + 135)            /* COLOR               Color            */
#define HA_COLS                         (TT_ATTRIBUTE + 136)            /* COLS                Column           */
#define HA_COLSPAN                      (TT_ATTRIBUTE + 137)            /* COLSPAN             Columns to Span  */
#define HA_COMMAND                      (TT_ATTRIBUTE + 138)            /* COMMAND             HTML 5           */
#define HA_COMPACT                      (TT_ATTRIBUTE + 139)            /* COMPACT             Compact          */
#define HA_CONTENT                      (TT_ATTRIBUTE + 140)            /* CONTENT             Content          */
#define HA_CONTENTEDITABLE              (TT_ATTRIBUTE + 141)            /* CONTENTEDITABLE     HTML 5           */
#define HA_CONTEXTMENU                  (TT_ATTRIBUTE + 142)            /* CONTEXTMENU         HTML 5           */
#define HA_CONTROLS                     (TT_ATTRIBUTE + 143)            /* CONTROLS            HTML 5           */      // Moved to defacto with HTML 5
#define HA_COORDS                       (TT_ATTRIBUTE + 144)            /* COORDS              Coordinates      */
#define HA_CROSSORIGIN                  (TT_ATTRIBUTE + 145)            /* CROSSORIGIN         HTML 5           */
#define HA_DATA                         (TT_ATTRIBUTE + 146)            /* DATA                Object Data      */
#define HA_DATETIME                     (TT_ATTRIBUTE + 147)            /* DATETIME            Date/Time        */
#define HA_DECLARE                      (TT_ATTRIBUTE + 148)            /* DECLARE             Don't Instantiate*/
#define HA_DEFAULT                      (TT_ATTRIBUTE + 149)            /* DEFAULT             HTML 5           */
#define HA_DEFER                        (TT_ATTRIBUTE + 150)            /* DEFER               Defer Execution  */
#define HA_DIR                          (TT_ATTRIBUTE + 151)            /* DIR                 Direction of Text*/
#define HA_DIRNAME                      (TT_ATTRIBUTE + 152)            /* DIRNAME             HTML 5           */
#define HA_DISABLED                     (TT_ATTRIBUTE + 153)            /* DISABLED            Disable Control  */
#define HA_DOWNLOAD                     (TT_ATTRIBUTE + 154)            /* DOWNLOAD            HTML 5           */
#define HA_DRAGGABLE                    (TT_ATTRIBUTE + 155)            /* DRAGGABLE           HTML 5           */
#define HA_DROPZONE                     (TT_ATTRIBUTE + 156)            /* DROPZONE            HTML 5           */
#define HA_ENCTYPE                      (TT_ATTRIBUTE + 157)            /* ENCTYPE             Form Info        */
#define HA_FACE                         (TT_ATTRIBUTE + 158)            /* FACE                Font             */
#define HA_FOR                          (TT_ATTRIBUTE + 159)            /* FOR                 Match ID         */
#define HA_FORM                         (TT_ATTRIBUTE + 160)            /* FORM                HTML 5           */
#define HA_FORMACTION                   (TT_ATTRIBUTE + 161)            /* FORMACTION          HTML 5           */
#define HA_FORMENCTYPE                  (TT_ATTRIBUTE + 162)            /* FORMENCTYPE         HTML 5           */
#define HA_FORMMETHOD                   (TT_ATTRIBUTE + 163)            /* FORMMETHOD          HTML 5           */
#define HA_FORMNOVALIDATE               (TT_ATTRIBUTE + 164)            /* FORMNOVALIDATE      HTML 5           */
#define HA_FORMTARGET                   (TT_ATTRIBUTE + 165)            /* FORMTARGET          HTML 5           */
#define HA_FRAME                        (TT_ATTRIBUTE + 166)            /* FRAME               Table Frame      */
#define HA_FRAMEBORDER                  (TT_ATTRIBUTE + 167)            /* FRAMEBORDER         Borders          */
#define HA_HEADERS                      (TT_ATTRIBUTE + 168)            /* HEADERS             ID's for Headers */
#define HA_HEIGHT                       (TT_ATTRIBUTE + 169)            /* HEIGHT              Dimension/Height */
#define HA_HIDDEN                       (TT_ATTRIBUTE + 170)            /* HIDDEN              HTML 5           */      // Moved to defacto with HTML 5
#define HA_HIGH                         (TT_ATTRIBUTE + 171)            /* HIGH                HTML 5           */
#define HA_HREF                         (TT_ATTRIBUTE + 172)            /* HREF                Reference URL    */
#define HA_HREFLANG                     (TT_ATTRIBUTE + 173)            /* HREFLANG            Base USI Lang    */
#define HA_HSPACE                       (TT_ATTRIBUTE + 174)            /* HSPACE              Horz Spacing     */
#define HA_HTTP_EQUIV                   (TT_ATTRIBUTE + 175)            /* HTTP-EQUIV          Meta Information */
#define HA_ICON                         (TT_ATTRIBUTE + 176)            /* ICON                HTML 5           */
#define HA_ID                           (TT_ATTRIBUTE + 177)            /* ID                  ID of Element    */
#define HA_INERT                        (TT_ATTRIBUTE + 178)            /* INERT               HTML 5           */
#define HA_INPUTMODE                    (TT_ATTRIBUTE + 179)            /* INPUTMODE           HTML 5           */
#define HA_ISMAP                        (TT_ATTRIBUTE + 180)            /* ISMAP               Image Map Server */
#define HA_ITEMID                       (TT_ATTRIBUTE + 181)            /* ITEMID              HTML 5           */
#define HA_ITEMPROP                     (TT_ATTRIBUTE + 182)            /* ITEMPROP            HTML 5           */
#define HA_ITEMREF                      (TT_ATTRIBUTE + 183)            /* ITEMREF             HTML 5           */
#define HA_ITEMSCOPE                    (TT_ATTRIBUTE + 184)            /* ITEMSCOPE           HTML 5           */
#define HA_ITEMTYPE                     (TT_ATTRIBUTE + 185)            /* ITEMTYPE            HTML 5           */
#define HA_KEYTYPE                      (TT_ATTRIBUTE + 186)            /* KEYTYPE             HTML 5           */
#define HA_KIND                         (TT_ATTRIBUTE + 187)            /* KIND                HTML 5           */
#define HA_LABEL                        (TT_ATTRIBUTE + 188)            /* LABEL               Menus            */
#define HA_LANG                         (TT_ATTRIBUTE + 189)            /* LANG                Longuage Code    */
#define HA_LANGUAGE                     (TT_ATTRIBUTE + 190)            /* LANGUAGE            Script Language  */
#define HA_LINK                         (TT_ATTRIBUTE + 191)            /* LINK                Color of Link    */
#define HA_LIST                         (TT_ATTRIBUTE + 192)            /* LIST                HTML 5           */
#define HA_LONGDESC                     (TT_ATTRIBUTE + 193)            /* LONGDESC            URL of Desc      */
#define HA_LOOP                         (TT_ATTRIBUTE + 194)            /* LOOP                HTML 5           */      // Moved to defacto with HTML 5
#define HA_LOW                          (TT_ATTRIBUTE + 195)            /* LOW                 HTML 5           */
#define HA_MANIFEST                     (TT_ATTRIBUTE + 196)            /* MANIFEST            HTML 5           */
#define HA_MARGINHEIGHT                 (TT_ATTRIBUTE + 197)            /* MARGINHEIGHT        Margin Height    */
#define HA_MARGINWIDTH                  (TT_ATTRIBUTE + 198)            /* MARGINWIDTH         Margin Width     */
#define HA_MAX                          (TT_ATTRIBUTE + 199)            /* MAX                 HTML 5           */
#define HA_MAXLENGTH                    (TT_ATTRIBUTE + 200)            /* MAXLENGTH           Max Input Length */
#define HA_MEDIA                        (TT_ATTRIBUTE + 201)            /* MEDIA               Media for Link   */
#define HA_MEDIAGROUP                   (TT_ATTRIBUTE + 202)            /* MEDIAGROUP          HTML 5           */
#define HA_MENU                         (TT_ATTRIBUTE + 203)            /* MENU                HTML 5           */      // Moved to defacto with HTML 5
#define HA_METHOD                       (TT_ATTRIBUTE + 204)            /* METHOD              Form Method      */
#define HA_MIN                          (TT_ATTRIBUTE + 205)            /* MIN                 HTML 5           */
#define HA_MULTIPLE                     (TT_ATTRIBUTE + 206)            /* MULTIPLE            Multiple Choice  */
#define HA_MUTED                        (TT_ATTRIBUTE + 207)            /* MUTED               HTML 5           */
#define HA_NAME                         (TT_ATTRIBUTE + 208)            /* NAME                Name Parameter   */
#define HA_NOHREF                       (TT_ATTRIBUTE + 209)            /* NOHREF              No action region */
#define HA_NONCE                        (TT_ATTRIBUTE + 210)            /* NONCE               HTML 5           */
#define HA_NORESIZE                     (TT_ATTRIBUTE + 211)            /* NORESIZE            Not Resizable    */
#define HA_NOSHADE                      (TT_ATTRIBUTE + 212)            /* NOSHADE             Non-shaed Rule   */
#define HA_NOVALIDATE                   (TT_ATTRIBUTE + 213)            /* NOVALIDATE          HTML 5           */
#define HA_NOWRAP                       (TT_ATTRIBUTE + 214)            /* NOWRAP              No Linebreaks    */
#define HA_OBJECT                       (TT_ATTRIBUTE + 215)            /* OBJECT              Object Name      */
#define HA_ONABORT                      (TT_ATTRIBUTE + 216)            /* ONABORT             HTML 5           */
#define HA_ONAFTERPRINT                 (TT_ATTRIBUTE + 217)            /* ONAFTERPRINT        HTML 5           */
#define HA_ONBEFOREPRINT                (TT_ATTRIBUTE + 218)            /* ONBEFOREPRINT       HTML 5           */
#define HA_ONBEFOREUNLOAD               (TT_ATTRIBUTE + 219)            /* ONBEFOREUNLOAD      HTML 5           */
#define HA_ONBLUR                       (TT_ATTRIBUTE + 220)            /* ONBLUR              Script Event     */
#define HA_ONCANCEL                     (TT_ATTRIBUTE + 221)            /* ONCANCEL            HTML 5           */
#define HA_ONCANPLAY                    (TT_ATTRIBUTE + 222)            /* ONCANPLAY           HTML 5           */
#define HA_ONCANPLAYTHROUGH             (TT_ATTRIBUTE + 223)            /* ONCANPLAYTHROUGH    HTML 5           */
#define HA_ONCHANGE                     (TT_ATTRIBUTE + 224)            /* ONCHANGE            Script Event     */
#define HA_ONCLICK                      (TT_ATTRIBUTE + 225)            /* ONCLICK             Script Event     */
#define HA_ONCLOSE                      (TT_ATTRIBUTE + 226)            /* ONCLOSE             HTML 5           */
#define HA_ONCONTEXTMENU                (TT_ATTRIBUTE + 227)            /* ONCONTEXTMENU       HTML 5           */
#define HA_ONCOPY                       (TT_ATTRIBUTE + 228)            /* ONCOPY              Script Event     */
#define HA_ONCUECHANGE                  (TT_ATTRIBUTE + 229)            /* ONCUECHANGE         HTML 5           */
#define HA_ONCUT                        (TT_ATTRIBUTE + 230)            /* ONCUT               Script Event     */
#define HA_ONDBLCLICK                   (TT_ATTRIBUTE + 231)            /* ONDBLCLICK          Script Event     */
#define HA_ONDRAG                       (TT_ATTRIBUTE + 232)            /* ONDRAG              HTML 5           */
#define HA_ONDRAGEND                    (TT_ATTRIBUTE + 233)            /* ONDRAGEND           HTML 5           */
#define HA_ONDRAGENTER                  (TT_ATTRIBUTE + 234)            /* ONDRAGENTER         HTML 5           */
#define HA_ONDRAGEXIT                   (TT_ATTRIBUTE + 235)            /* ONDRAGEXIT          HTML 5           */
#define HA_ONDRAGLEAVE                  (TT_ATTRIBUTE + 236)            /* ONDRAGLEAVE         HTML 5           */
#define HA_ONDRAGOVER                   (TT_ATTRIBUTE + 237)            /* ONDRAGOVER          HTML 5           */
#define HA_ONDRAGSTART                  (TT_ATTRIBUTE + 238)            /* ONDRAGSTART         HTML 5           */
#define HA_ONDROP                       (TT_ATTRIBUTE + 239)            /* ONDROP              HTML 5           */
#define HA_ONDURATIONCHANGE             (TT_ATTRIBUTE + 240)            /* ONDURATIONCHANGE    HTML 5           */
#define HA_ONEMPTIED                    (TT_ATTRIBUTE + 241)            /* ONEMPTIED           HTML 5           */
#define HA_ONENDED                      (TT_ATTRIBUTE + 242)            /* ONENDED             HTML 5           */
#define HA_ONERROR                      (TT_ATTRIBUTE + 243)            /* ONERROR             HTML 5           */
#define HA_ONFOCUS                      (TT_ATTRIBUTE + 244)            /* ONFOCUS             Script Event     */
#define HA_ONHASHCHANGE                 (TT_ATTRIBUTE + 245)            /* ONHASHCHANGE        HTML 5           */
#define HA_ONINPUT                      (TT_ATTRIBUTE + 246)            /* ONINPUT             HTML 5           */
#define HA_ONINVALID                    (TT_ATTRIBUTE + 247)            /* ONINVALID           HTML 5           */
#define HA_ONKEYDOWN                    (TT_ATTRIBUTE + 248)            /* ONKEYDOWN           Script Event     */
#define HA_ONKEYPRESS                   (TT_ATTRIBUTE + 249)            /* ONKEYPRESS          Script Event     */
#define HA_ONKEYUP                      (TT_ATTRIBUTE + 250)            /* ONKEYUP             Script Event     */
#define HA_ONLANGUAGECHANGE             (TT_ATTRIBUTE + 251)            /* ONLANGUAGECHANGE    HTML 5           */
#define HA_ONLOAD                       (TT_ATTRIBUTE + 252)            /* ONLOAD              Script Event     */
#define HA_ONLOADEDDATA                 (TT_ATTRIBUTE + 253)            /* ONLOADEDDATA        HTML 5           */
#define HA_ONLOADEDMETADATA             (TT_ATTRIBUTE + 254)            /* ONLOADEDMETADATA    HTML 5           */
#define HA_ONLOADSTART                  (TT_ATTRIBUTE + 255)            /* ONLOADSTART         HTML 5           */
#define HA_ONMESSAGE                    (TT_ATTRIBUTE + 256)            /* ONMESSAGE           HTML 5           */
#define HA_ONMOUSEDOWN                  (TT_ATTRIBUTE + 257)            /* ONMOUSEDOWN         Script Event     */
#define HA_ONMOUSEENTER                 (TT_ATTRIBUTE + 258)            /* ONMOUSEENTER        HTML 5           */
#define HA_ONMOUSELEAVE                 (TT_ATTRIBUTE + 259)            /* ONMOUSELEAVE        HTML 5           */
#define HA_ONMOUSEMOVE                  (TT_ATTRIBUTE + 260)            /* ONMOUSEMOVE         Script Event     */
#define HA_ONMOUSEOUT                   (TT_ATTRIBUTE + 261)            /* ONMOUSEOUT          Script Event     */
#define HA_ONMOUSEOVER                  (TT_ATTRIBUTE + 262)            /* ONMOUSEOVER         Script Event     */
#define HA_ONMOUSEUP                    (TT_ATTRIBUTE + 263)            /* ONMOUSEUP           Script Event     */
#define HA_ONMOUSEWHEEL                 (TT_ATTRIBUTE + 264)            /* ONMOUSEWHEEL        HTML 5           */
#define HA_ONOFFLINE                    (TT_ATTRIBUTE + 265)            /* ONOFFLINE           HTML 5           */
#define HA_ONONLINE                     (TT_ATTRIBUTE + 266)            /* ONONLINE            HTML 5           */
#define HA_ONPAGEHIDE                   (TT_ATTRIBUTE + 267)            /* ONPAGEHIDE          HTML 5           */
#define HA_ONPAGESHOW                   (TT_ATTRIBUTE + 268)            /* ONPAGESHOW          HTML 5           */
#define HA_ONPASTE                      (TT_ATTRIBUTE + 269)            /* ONPASTE             Script Event     */
#define HA_ONPAUSE                      (TT_ATTRIBUTE + 270)            /* ONPAUSE             HTML 5           */
#define HA_ONPLAY                       (TT_ATTRIBUTE + 271)            /* ONPLAY              HTML 5           */
#define HA_ONPLAYING                    (TT_ATTRIBUTE + 272)            /* ONPLAYING           HTML 5           */
#define HA_ONPOPSTATE                   (TT_ATTRIBUTE + 273)            /* ONPOPSTATE          HTML 5           */
#define HA_ONPROGRESS                   (TT_ATTRIBUTE + 274)            /* ONPROGRESS          HTML 5           */
#define HA_ONRATECHANGE                 (TT_ATTRIBUTE + 275)            /* ONRATECHANGE        HTML 5           */
#define HA_ONRESET                      (TT_ATTRIBUTE + 276)            /* ONRESET             Script Event     */
#define HA_ONRESIZE                     (TT_ATTRIBUTE + 277)            /* ONRESIZE            HTML 5           */
#define HA_ONSCROLL                     (TT_ATTRIBUTE + 278)            /* ONSCROLL            HTML 5           */
#define HA_ONSEARCH                     (TT_ATTRIBUTE + 279)            /* ONSEARCH            HTML 5           */
#define HA_ONSEEKED                     (TT_ATTRIBUTE + 280)            /* ONSEEKED            HTML 5           */
#define HA_ONSEEKING                    (TT_ATTRIBUTE + 281)            /* ONSEEKING           HTML 5           */
#define HA_ONSELECT                     (TT_ATTRIBUTE + 282)            /* ONSELECT            Script Event     */
#define HA_ONSHOW                       (TT_ATTRIBUTE + 283)            /* ONSHOW              HTML 5           */
#define HA_ONSORT                       (TT_ATTRIBUTE + 284)            /* ONSORT              HTML 5           */
#define HA_ONSTALLED                    (TT_ATTRIBUTE + 285)            /* ONSTALLED           HTML 5           */
#define HA_ONSTORAGE                    (TT_ATTRIBUTE + 286)            /* ONSTORAGE           HTML 5           */
#define HA_ONSUBMIT                     (TT_ATTRIBUTE + 287)            /* ONSUBMIT            Script Event     */
#define HA_ONSUSPEND                    (TT_ATTRIBUTE + 288)            /* ONSUSPEND           HTML 5           */
#define HA_ONTIMEUPDATE                 (TT_ATTRIBUTE + 289)            /* ONTIMEUPDATE        HTML 5           */
#define HA_ONTOGGLE                     (TT_ATTRIBUTE + 290)            /* ONTOGGLE            HTML 5           */
#define HA_ONUNLOAD                     (TT_ATTRIBUTE + 291)            /* ONUNLOAD            Script Event     */
#define HA_ONVOLUMECHANGE               (TT_ATTRIBUTE + 292)            /* ONVOLUMECHANGE      HTML 5           */
#define HA_ONWAITING                    (TT_ATTRIBUTE + 293)            /* ONWAITING           HTML 5           */
#define HA_ONWHEEL                      (TT_ATTRIBUTE + 294)            /* ONWHEEL             HTML 5           */
#define HA_OPEN                         (TT_ATTRIBUTE + 295)            /* OPEN                HTML 5           */
#define HA_OPTIMUM                      (TT_ATTRIBUTE + 296)            /* OPTIMUM             HTML 5           */
#define HA_PATTERN                      (TT_ATTRIBUTE + 297)            /* PATTERN             HTML 5           */
#define HA_PLACEHOLDER                  (TT_ATTRIBUTE + 298)            /* PLACEHOLDER         HTML 5           */
#define HA_POSTER                       (TT_ATTRIBUTE + 299)            /* POSTER              HTML 5           */
#define HA_PRELOAD                      (TT_ATTRIBUTE + 300)            /* PRELOAD             HTML 5           */
#define HA_PROFILE                      (TT_ATTRIBUTE + 301)            /* PROFILE             Meta Dictionary  */
#define HA_PROMPT                       (TT_ATTRIBUTE + 302)            /* PROMPT              Prompt           */
#define HA_RADIOGROUP                   (TT_ATTRIBUTE + 303)            /* RADIOGROUP          HTML 5           */
#define HA_READONLY                     (TT_ATTRIBUTE + 304)            /* READONLY            Input Control    */
#define HA_REFERRERPOLICY               (TT_ATTRIBUTE + 305)            /* REFERRERPOLICY                       */
#define HA_REL                          (TT_ATTRIBUTE + 306)            /* REL                 Relationship     */
#define HA_REQUIRED                     (TT_ATTRIBUTE + 307)            /* REQUIRED            HTML 5           */
#define HA_REV                          (TT_ATTRIBUTE + 308)            /* REV                 Reverse Rel      */
#define HA_REVERSED                     (TT_ATTRIBUTE + 309)            /* REVERSED            HTML 5           */
#define HA_ROWS                         (TT_ATTRIBUTE + 310)            /* ROWS                Row Heights      */
#define HA_ROWSPAN                      (TT_ATTRIBUTE + 311)            /* ROWSPAN             Rows to Span     */
#define HA_RULES                        (TT_ATTRIBUTE + 312)            /* RULES               Table Rules      */
#define HA_SANDBOX                      (TT_ATTRIBUTE + 313)            /* SANDBOX             HTML 5           */
#define HA_SCHEME                       (TT_ATTRIBUTE + 314)            /* SCHEME              Scheme           */
#define HA_SCOPE                        (TT_ATTRIBUTE + 315)            /* SCOPE               Header Scope     */
#define HA_SCOPED                       (TT_ATTRIBUTE + 316)            /* SCOPED              HTML 5           */
#define HA_SCROLLING                    (TT_ATTRIBUTE + 317)            /* SCROLLING           Scroll Frame     */
#define HA_SEAMLESS                     (TT_ATTRIBUTE + 318)            /* SEAMLESS            HTML 5           */
#define HA_SELECTED                     (TT_ATTRIBUTE + 319)            /* SELECTED            Swelected        */
#define HA_SHAPE                        (TT_ATTRIBUTE + 320)            /* SHAPE               Shape            */
#define HA_SIZE                         (TT_ATTRIBUTE + 321)            /* SIZE                Size Parameter   */
#define HA_SIZES                        (TT_ATTRIBUTE + 322)            /* SIZES               HTML 5           */
#define HA_SPAN                         (TT_ATTRIBUTE + 323)            /* SPAN                Column           */
#define HA_SPELLCHECK                   (TT_ATTRIBUTE + 324)            /* SPELLCHECK          HTML 5           */
#define HA_SRC                          (TT_ATTRIBUTE + 325)            /* SRC                 Source URL       */
#define HA_SRCDOC                       (TT_ATTRIBUTE + 326)            /* SRCDOC              HTML 5           */
#define HA_SRCLANG                      (TT_ATTRIBUTE + 327)            /* SRCLANG             HTML 5           */
#define HA_SRCSET                       (TT_ATTRIBUTE + 328)            /* SRCSET              HTML 5           */
#define HA_STANDBY                      (TT_ATTRIBUTE + 329)            /* STANDBY             Loading Message  */
#define HA_START                        (TT_ATTRIBUTE + 330)            /* START               Starting Number  */
#define HA_STEP                         (TT_ATTRIBUTE + 331)            /* STEP                HTML 5           */
#define HA_STYLE                        (TT_ATTRIBUTE + 332)            /* STYLE               Inline Style     */
#define HA_SUMMARY                      (TT_ATTRIBUTE + 333)            /* SUMMARY             Table Summary    */
#define HA_TABINDEX                     (TT_ATTRIBUTE + 334)            /* TABINDEX            Tab Index Pos    */
#define HA_TARGET                       (TT_ATTRIBUTE + 335)            /* TARGET              Target Name      */
#define HA_TEXT                         (TT_ATTRIBUTE + 336)            /* TEXT                Text Color       */
#define HA_TITLE                        (TT_ATTRIBUTE + 337)            /* TITLE               Title of Element */
#define HA_TRANSLATE                    (TT_ATTRIBUTE + 338)            /* TRANSLATE           HTML 5           */
#define HA_TYPE                         (TT_ATTRIBUTE + 339)            /* TYPE                General Type     */
#define HA_TYPEMUSTMATCH                (TT_ATTRIBUTE + 340)            /* TYPEMUSTMATCH       HTML 5           */
#define HA_USEMAP                       (TT_ATTRIBUTE + 341)            /* USEMAP              Imagemap URL     */
#define HA_VALIGN                       (TT_ATTRIBUTE + 342)            /* VALIGN              Vertical Align   */
#define HA_VALUE                        (TT_ATTRIBUTE + 343)            /* VALUE               Value Parameter  */
#define HA_VALUETYPE                    (TT_ATTRIBUTE + 344)            /* VALUETYPE           Param Type       */
#define HA_VERSION                      (TT_ATTRIBUTE + 345)            /* VERSION             HTML Version     */
#define HA_VLINK                        (TT_ATTRIBUTE + 346)            /* VLINK               Visited Link     */
#define HA_VSPACE                       (TT_ATTRIBUTE + 347)            /* VSPACE              Vert Spacing     */
#define HA_WIDTH                        (TT_ATTRIBUTE + 348)            /* WIDTH               Width Parameter  */
#define HA_WRAP                         (TT_ATTRIBUTE + 349)            /* WRAP                HTML 5           */
#define HA_XMLNS                        (TT_ATTRIBUTE + 350)            /* XMLNS               Name Space       */
                                                                        /* ** Non-W3C Attributes                */
#define HA_AUTOSTART                    (TT_ATTRIBUTE + 402)            /* AUTOSTART           EMBED            */
#define HA_BACKGROUNDCOLOR              (TT_ATTRIBUTE + 403)            /* BACKGROUNDCOLOR     EMBED            */
#define HA_BORDERCOLOR                  (TT_ATTRIBUTE + 404)            /* BORDERCOLOR         TABLE            */
#define HA_CACHE                        (TT_ATTRIBUTE + 405)            /* CACHE               EMBED            */
#define HA_CONSOLE                      (TT_ATTRIBUTE + 406)            /* CONSOLE             EMBED            */
#define HA_CONTROLLER                   (TT_ATTRIBUTE + 407)            /* CONTROLLER          EMBED            */
#define HA_CORRECTION                   (TT_ATTRIBUTE + 409)            /* CORRECTION          EMBED            */
#define HA_ENDTIME                      (TT_ATTRIBUTE + 410)            /* ENDTIME             EMBED            */
#define HA_FLASHVARS                    (TT_ATTRIBUTE + 411)            /* FLASHVARS           EMBED            */
#define HA_FOV                          (TT_ATTRIBUTE + 412)            /* FOV                 EMBED            */
#define HA_KIOSKMODE                    (TT_ATTRIBUTE + 414)            /* KIOSKMODE           EMBED            */
#define HA_MOVIEID                      (TT_ATTRIBUTE + 417)            /* MOVIEID             EMBED            */
#define HA_MOVIENAME                    (TT_ATTRIBUTE + 418)            /* MOVIENAME           EMBED            */
#define HA_NODE                         (TT_ATTRIBUTE + 419)            /* NODE                EMBED            */
#define HA_NOJAVA                       (TT_ATTRIBUTE + 420)            /* NOJAVA              EMBED            */
#define HA_NOLABELS                     (TT_ATTRIBUTE + 421)            /* NOLABELS            EMBED            */
#define HA_NOLOGO                       (TT_ATTRIBUTE + 422)            /* NOLOGO              EMBED            */
#define HA_NUMLOOP                      (TT_ATTRIBUTE + 423)            /* NUMLOOP             EMBED            */
#define HA_PAN                          (TT_ATTRIBUTE + 424)            /* PAN                 EMBED            */
#define HA_PLAYCOUNT                    (TT_ATTRIBUTE + 425)            /* PLAYCOUNT           EMBED            */
#define HA_PLAYEVERYFRAME               (TT_ATTRIBUTE + 426)            /* PLAYEVERYFRAME      EMBED            */
#define HA_PLUGINSPAGE                  (TT_ATTRIBUTE + 427)            /* PLUGINSPAGE         EMBED            */
#define HA_PLUGINURL                    (TT_ATTRIBUTE + 428)            /* PLUGINURL           EMBED            */
#define HA_PROPERTY                     (TT_ATTRIBUTE + 429)            /* PROPERTY            Open Graph       */
#define HA_QTSRC                        (TT_ATTRIBUTE + 430)            /* QTSRC               EMBED            */
#define HA_QUALITY                      (TT_ATTRIBUTE + 431)            /* QUALITY             EMBED            */
#define HA_REGION                       (TT_ATTRIBUTE + 432)            /* REGION              EMBED            */
#define HA_SCALE                        (TT_ATTRIBUTE + 433)            /* SCALE               EMBED            */
#define HA_SCROLLAMOUNT                 (TT_ATTRIBUTE + 434)            /* SCROLLAMOUNT        IFRAME           */
#define HA_SHUFFLE                      (TT_ATTRIBUTE + 435)            /* SHUFFLE             EMBED            */
#define HA_STARTTIME                    (TT_ATTRIBUTE + 436)            /* STARTTIME           EMBED            */
#define HA_SWLIVECONNECT                (TT_ATTRIBUTE + 437)            /* SWLIVECONNECT       EMBED            */
#define HA_TARGETCACHE                  (TT_ATTRIBUTE + 438)            /* TARGETCACHE         EMBED            */
#define HA_TILT                         (TT_ATTRIBUTE + 439)            /* TILT                EMBED            */
#define HA_VOLUME                       (TT_ATTRIBUTE + 440)            /* VOLUME              EMBED            */
#define HA_WMODE                        (TT_ATTRIBUTE + 441)            /* WMODE               EMBED            */
                                                                        /*                                      */
                                                                        /* ** XHTML Attributes                  */
#define HA_ENCODING                     (TT_ATTRIBUTE + 451)            /* encoding            ?xml             */
                                                                        /*                                      */
#define HA_HTML_LAST                    (TT_ATTRIBUTE + 500)            /* Last HTML Attribute                  */



                                                                /************************************************/
                                                                /* CSS Properties                               */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Control                           */
                                                                        /*  * Flags                             */
#define CSS_SH                                  0x00000002              /* Item is a Shorthand Prop             */
#define CSS_NWS                                 0x00100000              /* Property is Not Widely Supported     */
#define CSS_NS                                  0x00200000              /* Property is Not Supported            */
                                                                        /*  * Source                            */
#define CSS_SPEC_MASK                           0x000F0000              /* Source of Element                    */
#define CSS_CSS1                                0x00000000              /* CSS 1 or Earilier but W3C)           */
#define CSS_CSS2                                0x00010000              /* CSS 2.x                              */
#define CSS_CSS3                                0x00020000              /* CSS 3                                */
#define CSS_MSO                                 0x00030000              /* Microsoft Office Property            */
#define CSS_MOZILLA                             0x00040000              /* Moxilla                              */
#define CSS_WEBKIT                              0x00050000              /* WebKit (Open Source)                 */
#define CSS_SEC                                 0x00060000              /* SEC                                  */
#define CSS_NOVAWORKS                           0x00070000              /* Novaworks                            */
                                                                        /*                                      */
                                                                        /* ** CSS Tokens                        */
                                                                        /*  * W3C (Generally Accepted)          */
#define CP_ALIGN_CONTENT                (TT_CSS_PROPERTY +   1)         /* align-content                        */ 
#define CP_ALIGN_ITEMS                  (TT_CSS_PROPERTY +   2)         /* align-items                          */ 
#define CP_ALIGN_SELF                   (TT_CSS_PROPERTY +   3)         /* align-self                           */ 
#define CP_ALL                          (TT_CSS_PROPERTY +   4)         /* all                                  */ 
#define CP_ALL_SPACE_TREATMENT          (TT_CSS_PROPERTY +   5)         /* all-space-treatment                  */ //Not current
#define CP_ANIMATION                    (TT_CSS_PROPERTY +   6)         /* animation                            */
#define CP_ANIMATION_DELAY              (TT_CSS_PROPERTY +   7)         /* animation-delay                      */
#define CP_ANIMATION_DIRECTION          (TT_CSS_PROPERTY +   8)         /* animation-direction                  */
#define CP_ANIMATION_DURATION           (TT_CSS_PROPERTY +   9)         /* animation-duration                   */
#define CP_ANIMATION_FILL_MODE          (TT_CSS_PROPERTY +  10)         /* animation-fill-mode                  */
#define CP_ANIMATION_ITERATION_COUNT    (TT_CSS_PROPERTY +  11)         /* animation-iteration-count            */
#define CP_ANIMATION_NAME               (TT_CSS_PROPERTY +  12)         /* animation-name                       */
#define CP_ANIMATION_PLAY_STATE         (TT_CSS_PROPERTY +  13)         /* animation-play-state                 */
#define CP_ANIMATION_TIMING_FUNCTION    (TT_CSS_PROPERTY +  14)         /* animation-timing-function            */
#define CP_APPEARANCE                   (TT_CSS_PROPERTY +  15)         /* appearance                           */
#define CP_AZIMUTH                      (TT_CSS_PROPERTY +  16)         /* azimuth                              */
#define CP_BACKFACE_VISIBILITY          (TT_CSS_PROPERTY +  17)         /* backface-visibility                  */
#define CP_BACKGROUND                   (TT_CSS_PROPERTY +  18)         /* background                           */
#define CP_BACKGROUND_ATTACHMENT        (TT_CSS_PROPERTY +  19)         /* background-attachment                */
#define CP_BACKGROUND_BLEND_MODE        (TT_CSS_PROPERTY +  20)         /* background-blend-mode                */
#define CP_BACKGROUND_CLIP              (TT_CSS_PROPERTY +  21)         /* background-clip                      */
#define CP_BACKGROUND_COLOR             (TT_CSS_PROPERTY +  22)         /* background-color                     */
#define CP_BACKGROUND_IMAGE             (TT_CSS_PROPERTY +  23)         /* background-image                     */
#define CP_BACKGROUND_ORIGIN            (TT_CSS_PROPERTY +  24)         /* background-origin                    */
#define CP_BACKGROUND_POSITION          (TT_CSS_PROPERTY +  25)         /* background-position                  */
#define CP_BACKGROUND_REPEAT            (TT_CSS_PROPERTY +  26)         /* background-repeat                    */
#define CP_BACKGROUND_SIZE              (TT_CSS_PROPERTY +  27)         /* background-size                      */
#define CP_BLOCK_PROGRESSION            (TT_CSS_PROPERTY +  28)         /* block-progression                    */ //Not current
#define CP_BORDER                       (TT_CSS_PROPERTY +  29)         /* border                               */
#define CP_BORDER_BOTTOM                (TT_CSS_PROPERTY +  30)         /* border-bottom                        */
#define CP_BORDER_BOTTOM_COLOR          (TT_CSS_PROPERTY +  31)         /* border-bottom-color                  */
#define CP_BORDER_BOTTOM_LEFT_RADIUS    (TT_CSS_PROPERTY +  32)         /* border-bottom-left-radius            */
#define CP_BORDER_BOTTOM_RIGHT_RADIUS   (TT_CSS_PROPERTY +  33)         /* border-bottom-right-radius           */
#define CP_BORDER_BOTTOM_STYLE          (TT_CSS_PROPERTY +  34)         /* border-bottom-style                  */
#define CP_BORDER_BOTTOM_WIDTH          (TT_CSS_PROPERTY +  35)         /* border-bottom-width                  */
#define CP_BORDER_COLLAPSE              (TT_CSS_PROPERTY +  36)         /* border-collapse                      */
#define CP_BORDER_COLOR                 (TT_CSS_PROPERTY +  37)         /* border-color                         */
#define CP_BORDER_IMAGE                 (TT_CSS_PROPERTY +  38)         /* border-image                         */ //
#define CP_BORDER_IMAGE_OUTSET          (TT_CSS_PROPERTY +  39)         /* border-image-outset                  */
#define CP_BORDER_IMAGE_REPEAT          (TT_CSS_PROPERTY +  40)         /* border-image-repeat                  */
#define CP_BORDER_IMAGE_SLICE           (TT_CSS_PROPERTY +  41)         /* border-image-slice                   */
#define CP_BORDER_IMAGE_SOURCE          (TT_CSS_PROPERTY +  42)         /* border-image-source                  */
#define CP_BORDER_IMAGE_WIDTH           (TT_CSS_PROPERTY +  43)         /* border-image-width                   */
#define CP_BORDER_LEFT                  (TT_CSS_PROPERTY +  44)         /* border-left                          */
#define CP_BORDER_LEFT_COLOR            (TT_CSS_PROPERTY +  45)         /* border-left-color                    */
#define CP_BORDER_LEFT_STYLE            (TT_CSS_PROPERTY +  46)         /* border-left-style                    */
#define CP_BORDER_LEFT_WIDTH            (TT_CSS_PROPERTY +  47)         /* border-left-width                    */
#define CP_BORDER_RADIUS                (TT_CSS_PROPERTY +  48)         /* border-radius                        */
#define CP_BORDER_RIGHT                 (TT_CSS_PROPERTY +  49)         /* border-right                         */
#define CP_BORDER_RIGHT_COLOR           (TT_CSS_PROPERTY +  50)         /* border-right-color                   */
#define CP_BORDER_RIGHT_STYLE           (TT_CSS_PROPERTY +  51)         /* border-right-style                   */
#define CP_BORDER_RIGHT_WIDTH           (TT_CSS_PROPERTY +  52)         /* border-right-width                   */
#define CP_BORDER_SPACING               (TT_CSS_PROPERTY +  53)         /* border-spacing                       */
#define CP_BORDER_STYLE                 (TT_CSS_PROPERTY +  54)         /* border-style                         */
#define CP_BORDER_TOP                   (TT_CSS_PROPERTY +  55)         /* border-top                           */
#define CP_BORDER_TOP_COLOR             (TT_CSS_PROPERTY +  56)         /* border-top-color                     */
#define CP_BORDER_TOP_LEFT_RADIUS       (TT_CSS_PROPERTY +  57)         /* border-top-left-radius               */
#define CP_BORDER_TOP_RIGHT_RADIUS      (TT_CSS_PROPERTY +  58)         /* border-top-right-radius              */
#define CP_BORDER_TOP_STYLE             (TT_CSS_PROPERTY +  59)         /* border-top-style                     */
#define CP_BORDER_TOP_WIDTH             (TT_CSS_PROPERTY +  60)         /* border-top-width                     */
#define CP_BORDER_WIDTH                 (TT_CSS_PROPERTY +  61)         /* border-width                         */
#define CP_BOTTOM                       (TT_CSS_PROPERTY +  62)         /* bottom                               */
#define CP_BOX_ALIGN                    (TT_CSS_PROPERTY +  63)         /* box-align                            */
#define CP_BOX_DECORATION_BREAK         (TT_CSS_PROPERTY +  64)         /* box-decoration-break                 */
#define CP_BOX_DIRECTION                (TT_CSS_PROPERTY +  65)         /* box-direction                        */
#define CP_BOX_FLEX                     (TT_CSS_PROPERTY +  66)         /* box-flex                             */
#define CP_BOX_FLEX_GROUP               (TT_CSS_PROPERTY +  67)         /* box-flex-group                       */
#define CP_BOX_LINES                    (TT_CSS_PROPERTY +  68)         /* box-lines                            */
#define CP_BOX_ORDINAL_GROUP            (TT_CSS_PROPERTY +  69)         /* box-ordinal-group                    */
#define CP_BOX_ORIENT                   (TT_CSS_PROPERTY +  70)         /* box-orient                           */
#define CP_BOX_SHADOW                   (TT_CSS_PROPERTY +  71)         /* box-shadow                           */
#define CP_BOX_SIZING                   (TT_CSS_PROPERTY +  72)         /* box-sizing                           */
#define CP_BREAK_AFTER                  (TT_CSS_PROPERTY +  73)         /* break-after                          */
#define CP_BREAK_BEFORE                 (TT_CSS_PROPERTY +  74)         /* break-before                         */
#define CP_BREAK_INSIDE                 (TT_CSS_PROPERTY +  75)         /* break-inside                         */
#define CP_CAPTION_SIDE                 (TT_CSS_PROPERTY +  76)         /* caption-side                         */
#define CP_CARET_COLOR                  (TT_CSS_PROPERTY +  77)         /* caret-color                          */
#define CP_CLEAR                        (TT_CSS_PROPERTY +  78)         /* clear                                */
#define CP_CLIP                         (TT_CSS_PROPERTY +  79)         /* clip                                 */
#define CP_CLIP_PATH                    (TT_CSS_PROPERTY +  80)         /* clip-path                            */
#define CP_COLOR                        (TT_CSS_PROPERTY +  81)         /* color                                */
#define CP_COLUMN                       (TT_CSS_PROPERTY +  82)         /* column                               */
#define CP_COLUMNS                      (TT_CSS_PROPERTY +  83)         /* columns                              */
#define CP_COLUMN_COUNT                 (TT_CSS_PROPERTY +  84)         /* column-count                         */
#define CP_COLUMN_FILL                  (TT_CSS_PROPERTY +  85)         /* column-fill                          */
#define CP_COLUMN_GAP                   (TT_CSS_PROPERTY +  86)         /* column-gap                           */
#define CP_COLUMN_RULE                  (TT_CSS_PROPERTY +  87)         /* column-rule                          */
#define CP_COLUMN_RULE_COLOR            (TT_CSS_PROPERTY +  88)         /* column-rule-color                    */
#define CP_COLUMN_RULE_STYLE            (TT_CSS_PROPERTY +  89)         /* column-rule-style                    */
#define CP_COLUMN_RULE_WIDTH            (TT_CSS_PROPERTY +  90)         /* column-rule-width                    */
#define CP_COLUMN_SPAN                  (TT_CSS_PROPERTY +  91)         /* column-span                          */
#define CP_COLUMN_WIDTH                 (TT_CSS_PROPERTY +  92)         /* column-width                         */
#define CP_CONTENT                      (TT_CSS_PROPERTY +  93)         /* content                              */
#define CP_COUNTER_INCREMENT            (TT_CSS_PROPERTY +  94)         /* counter-increment                    */
#define CP_COUNTER_RESET                (TT_CSS_PROPERTY +  95)         /* counter-reset                        */
#define CP_CUE                          (TT_CSS_PROPERTY +  96)         /* cue                                  */
#define CP_CUE_AFTER                    (TT_CSS_PROPERTY +  97)         /* cue-after                            */
#define CP_CUE_BEFORE                   (TT_CSS_PROPERTY +  98)         /* cue-before                           */
#define CP_CURSOR                       (TT_CSS_PROPERTY +  99)         /* cursor                               */
#define CP_DIRECTION                    (TT_CSS_PROPERTY + 100)         /* direction                            */
#define CP_DISPLAY                      (TT_CSS_PROPERTY + 101)         /* display                              */
#define CP_ELEVATION                    (TT_CSS_PROPERTY + 102)         /* elevation                            */
#define CP_EMPTY_CELLS                  (TT_CSS_PROPERTY + 103)         /* empty-cells                          */
#define CP_FILTER                       (TT_CSS_PROPERTY + 104)         /* filter                               */
#define CP_FLEX                         (TT_CSS_PROPERTY + 105)         /* flex                                 */
#define CP_FLEX_BASIS                   (TT_CSS_PROPERTY + 106)         /* flex-basis                           */
#define CP_FLEX_DIRECTION               (TT_CSS_PROPERTY + 107)         /* flex-direction                       */
#define CP_FLEX_FLOW                    (TT_CSS_PROPERTY + 108)         /* flex-flow                            */
#define CP_FLEX_GROW                    (TT_CSS_PROPERTY + 109)         /* flex-grow                            */
#define CP_FLEX_SHRINK                  (TT_CSS_PROPERTY + 110)         /* flex-shrink                          */
#define CP_FLEX_WRAP                    (TT_CSS_PROPERTY + 111)         /* flex-wrap                            */
#define CP_FLOAT                        (TT_CSS_PROPERTY + 112)         /* float                                */
#define CP_FONT                         (TT_CSS_PROPERTY + 113)         /* font                                 */
#define CP_FONT_FAMILY                  (TT_CSS_PROPERTY + 114)         /* font-family                          */
#define CP_FONT_FEATURE_SETTINGS        (TT_CSS_PROPERTY + 115)         /* font-feature-settings                */
#define CP_FONT_KERNING                 (TT_CSS_PROPERTY + 116)         /* font-kerning                         */
#define CP_FONT_OPTICAL_SIZING          (TT_CSS_PROPERTY + 117)         /* font-optical-sizing                  */
#define CP_FONT_SIZE                    (TT_CSS_PROPERTY + 118)         /* font-size                            */
#define CP_FONT_SIZE_ADJUST             (TT_CSS_PROPERTY + 119)         /* font-size-adjust                     */
#define CP_FONT_STRETCH                 (TT_CSS_PROPERTY + 120)         /* font-stretch                         */
#define CP_FONT_STYLE                   (TT_CSS_PROPERTY + 121)         /* font-style                           */
#define CP_FONT_VARIANT                 (TT_CSS_PROPERTY + 122)         /* font-variant                         */
#define CP_FONT_VARIANT_ALTERNATES      (TT_CSS_PROPERTY + 123)         /* font-variant-alternates              */      // this is in mozzilla and on W3C in testing, not in any specs
#define CP_FONT_VARIANT_CAPS            (TT_CSS_PROPERTY + 124)         /* font-variant-caps                    */
#define CP_FONT_VARIANT_EAST_ASIAN      (TT_CSS_PROPERTY + 125)         /* font-variant-east-asian              */
#define CP_FONT_VARIANT_LIGATURES       (TT_CSS_PROPERTY + 126)         /* font-variant-ligatures               */
#define CP_FONT_VARIANT_NUMERIC         (TT_CSS_PROPERTY + 127)         /* font-variant-numeric                 */
#define CP_FONT_VARIANT_POSITION        (TT_CSS_PROPERTY + 128)         /* font-variant-position                */
#define CP_FONT_VARIATION_SETTINGS      (TT_CSS_PROPERTY + 129)         /* font-variation-settings              */
#define CP_FONT_WEIGHT                  (TT_CSS_PROPERTY + 130)         /* font-weight                          */
#define CP_GAP                          (TT_CSS_PROPERTY + 131)         /* gap                                  */
#define CP_GLYPH_ORIENTATION_HORIZONTAL (TT_CSS_PROPERTY + 132)         /* glyph-orientation-horizont           */
#define CP_GLYPH_ORIENTATION_VERTICAL   (TT_CSS_PROPERTY + 133)         /* glyph-orientation-vertical           */
#define CP_GRID                         (TT_CSS_PROPERTY + 134)         /* grid                                 */
#define CP_GRID_AREA                    (TT_CSS_PROPERTY + 135)         /* grid-area                            */
#define CP_GRID_AUTO_COLUMNS            (TT_CSS_PROPERTY + 136)         /* grid-auto-columns                    */
#define CP_GRID_AUTO_FLOW               (TT_CSS_PROPERTY + 137)         /* grid-auto-flow                       */
#define CP_GRID_AUTO_ROWS               (TT_CSS_PROPERTY + 138)         /* grid-auto-rows                       */
#define CP_GRID_COLUMN                  (TT_CSS_PROPERTY + 139)         /* grid-column                          */
#define CP_GRID_COLUMN_END              (TT_CSS_PROPERTY + 140)         /* grid-column-end                      */
#define CP_GRID_COLUMN_GAP              (TT_CSS_PROPERTY + 141)         /* grid-column-gap                      */
#define CP_GRID_COLUMN_START            (TT_CSS_PROPERTY + 142)         /* grid-column-start                    */
#define CP_GRID_GAP                     (TT_CSS_PROPERTY + 143)         /* grid-gap                             */
#define CP_GRID_ROW                     (TT_CSS_PROPERTY + 144)         /* grid-row                             */
#define CP_GRID_ROW_END                 (TT_CSS_PROPERTY + 145)         /* grid-row-end                         */
#define CP_GRID_ROW_GAP                 (TT_CSS_PROPERTY + 146)         /* grid-row-gap                         */
#define CP_GRID_ROW_START               (TT_CSS_PROPERTY + 147)         /* grid-row-start                       */
#define CP_GRID_TEMPLATE                (TT_CSS_PROPERTY + 148)         /* grid-template                        */
#define CP_GRID_TEMPLATE_AREAS          (TT_CSS_PROPERTY + 149)         /* grid-template-areas                  */ 
#define CP_GRID_TEMPLATE_COLUMNS        (TT_CSS_PROPERTY + 150)         /* grid-template-columns                */
#define CP_GRID_TEMPLATE_ROWS           (TT_CSS_PROPERTY + 151)         /* grid-template-rows                   */
#define CP_HANGING_PUNCTUATION          (TT_CSS_PROPERTY + 152)         /* hanging-punctuation                  */
#define CP_HEIGHT                       (TT_CSS_PROPERTY + 153)         /* height                               */
#define CP_HYPHENS                      (TT_CSS_PROPERTY + 154)         /* hyphens                              */
#define CP_ICON                         (TT_CSS_PROPERTY + 155)         /* icon                                 */
#define CP_ISOLATION                    (TT_CSS_PROPERTY + 156)         /* isolation                            */
#define CP_JUSTIFY_CONTENT              (TT_CSS_PROPERTY + 157)         /* justify-content                      */
#define CP_KERNING_MODE                 (TT_CSS_PROPERTY + 158)         /* kerning-mode                         */
#define CP_KERNING_PAIR_THRESHOLD       (TT_CSS_PROPERTY + 159)         /* kerning-pair-threshold               */
#define CP_LEFT                         (TT_CSS_PROPERTY + 160)         /* left                                 */
#define CP_LETTER_SPACING               (TT_CSS_PROPERTY + 161)         /* letter-spacing                       */
#define CP_LINEFEED_TREATMENT           (TT_CSS_PROPERTY + 162)         /* linefeed-treatment                   */
#define CP_LINE_BREAK                   (TT_CSS_PROPERTY + 163)         /* line-break                           */
#define CP_LINE_GRID                    (TT_CSS_PROPERTY + 164)         /* line-grid                            */
#define CP_LINE_GRID_MODE               (TT_CSS_PROPERTY + 165)         /* line-grid-mode                       */
#define CP_LINE_GRID_PROGRESSION        (TT_CSS_PROPERTY + 166)         /* line-grid-progression                */
#define CP_LINE_HEIGHT                  (TT_CSS_PROPERTY + 167)         /* line-height                          */
#define CP_LIST_STYLE                   (TT_CSS_PROPERTY + 168)         /* list-style                           */
#define CP_LIST_STYLE_IMAGE             (TT_CSS_PROPERTY + 169)         /* list-style-image                     */
#define CP_LIST_STYLE_POSITION          (TT_CSS_PROPERTY + 170)         /* list-style-position                  */
#define CP_LIST_STYLE_TYPE              (TT_CSS_PROPERTY + 171)         /* list-style-type                      */
#define CP_MARGIN                       (TT_CSS_PROPERTY + 172)         /* margin                               */
#define CP_MARGIN_BOTTOM                (TT_CSS_PROPERTY + 173)         /* margin-bottom                        */
#define CP_MARGIN_LEFT                  (TT_CSS_PROPERTY + 174)         /* margin-left                          */
#define CP_MARGIN_RIGHT                 (TT_CSS_PROPERTY + 175)         /* margin-right                         */
#define CP_MARGIN_TOP                   (TT_CSS_PROPERTY + 176)         /* margin-top                           */
#define CP_MARKER_OFFSET                (TT_CSS_PROPERTY + 177)         /* marker-offset                        */
#define CP_MARKS                        (TT_CSS_PROPERTY + 178)         /* marks                                */
#define CP_MAX_FONT_SIZE                (TT_CSS_PROPERTY + 179)         /* max-font-size                        */
#define CP_MAX_HEIGHT                   (TT_CSS_PROPERTY + 180)         /* max-height                           */
#define CP_MAX_WIDTH                    (TT_CSS_PROPERTY + 181)         /* max-width                            */
#define CP_MIN_FONT_SIZE                (TT_CSS_PROPERTY + 182)         /* min-font-size                        */
#define CP_MIN_HEIGHT                   (TT_CSS_PROPERTY + 183)         /* min-height                           */
#define CP_MIN_WIDTH                    (TT_CSS_PROPERTY + 184)         /* min-width                            */
#define CP_MIX_BLEND_MODE               (TT_CSS_PROPERTY + 185)         /* mix-blend-mode                       */
#define CP_NAV_DOWN                     (TT_CSS_PROPERTY + 186)         /* nav-down                             */
#define CP_NAV_INDEX                    (TT_CSS_PROPERTY + 187)         /* nav-index                            */
#define CP_NAV_LEFT                     (TT_CSS_PROPERTY + 188)         /* nav-left                             */
#define CP_NAV_RIGHT                    (TT_CSS_PROPERTY + 189)         /* nav-right                            */
#define CP_NAV_UP                       (TT_CSS_PROPERTY + 190)         /* nav-up                               */
#define CP_OBJECT_FIT                   (TT_CSS_PROPERTY + 191)         /* object-fit                           */
#define CP_OBJECT_POSITION              (TT_CSS_PROPERTY + 192)         /* object-position                      */
#define CP_OPACITY                      (TT_CSS_PROPERTY + 193)         /* opacity                              */
#define CP_ORDER                        (TT_CSS_PROPERTY + 194)         /* order                                */
#define CP_ORPHANS                      (TT_CSS_PROPERTY + 195)         /* orphans                              */
#define CP_OUTLINE                      (TT_CSS_PROPERTY + 196)         /* outline                              */
#define CP_OUTLINE_COLOR                (TT_CSS_PROPERTY + 197)         /* outline-color                        */
#define CP_OUTLINE_OFFSET               (TT_CSS_PROPERTY + 198)         /* outline-offset                       */
#define CP_OUTLINE_STYLE                (TT_CSS_PROPERTY + 199)         /* outline-style                        */
#define CP_OUTLINE_WIDTH                (TT_CSS_PROPERTY + 200)         /* outline-width                        */
#define CP_OVERFLOW                     (TT_CSS_PROPERTY + 201)         /* overflow                             */
#define CP_OVERFLOW_WRAP                (TT_CSS_PROPERTY + 202)         /* overflow-wrap                        */
#define CP_OVERFLOW_X                   (TT_CSS_PROPERTY + 203)         /* overflow-x                           */
#define CP_OVERFLOW_Y                   (TT_CSS_PROPERTY + 204)         /* overflow-y                           */
#define CP_PADDING                      (TT_CSS_PROPERTY + 205)         /* padding                              */
#define CP_PADDING_BOTTOM               (TT_CSS_PROPERTY + 206)         /* padding-bottom                       */
#define CP_PADDING_LEFT                 (TT_CSS_PROPERTY + 207)         /* padding-left                         */
#define CP_PADDING_RIGHT                (TT_CSS_PROPERTY + 208)         /* padding-right                        */
#define CP_PADDING_TOP                  (TT_CSS_PROPERTY + 209)         /* padding-top                          */
#define CP_PAGE                         (TT_CSS_PROPERTY + 210)         /* page                                 */
#define CP_PAGE_BREAK_AFTER             (TT_CSS_PROPERTY + 211)         /* page-break-after                     */
#define CP_PAGE_BREAK_BEFORE            (TT_CSS_PROPERTY + 212)         /* page-break-before                    */
#define CP_PAGE_BREAK_INSIDE            (TT_CSS_PROPERTY + 213)         /* page-break-inside                    */
#define CP_PAUSE                        (TT_CSS_PROPERTY + 214)         /* pause                                */
#define CP_PAUSE_AFTER                  (TT_CSS_PROPERTY + 215)         /* pause-after                          */
#define CP_PAUSE_BEFORE                 (TT_CSS_PROPERTY + 216)         /* pause-before                         */
#define CP_PERSPECTIVE                  (TT_CSS_PROPERTY + 217)         /* perspective                          */
#define CP_PERSPECTIVE_ORIGIN           (TT_CSS_PROPERTY + 218)         /* perspective-origin                   */
#define CP_PITCH                        (TT_CSS_PROPERTY + 219)         /* pitch                                */
#define CP_PITCH_RANGE                  (TT_CSS_PROPERTY + 220)         /* pitch-range                          */
#define CP_PLAY_DURING                  (TT_CSS_PROPERTY + 221)         /* play-during                          */
#define CP_POINTER_EVENTS               (TT_CSS_PROPERTY + 222)         /* pointer-events                       */
#define CP_POSITION                     (TT_CSS_PROPERTY + 223)         /* position                             */
#define CP_PUNCTUATION_TRIM             (TT_CSS_PROPERTY + 224)         /* punctuation-trim                     */
#define CP_QUOTES                       (TT_CSS_PROPERTY + 225)         /* quotes                               */
#define CP_RESIZE                       (TT_CSS_PROPERTY + 226)         /* resize                               */
#define CP_RICHNESS                     (TT_CSS_PROPERTY + 227)         /* richness                             */
#define CP_RIGHT                        (TT_CSS_PROPERTY + 228)         /* right                                */
#define CP_ROTATION                     (TT_CSS_PROPERTY + 229)         /* rotation                             */
#define CP_ROTATION_POINT               (TT_CSS_PROPERTY + 230)         /* rotation-point                       */
#define CP_ROW_GAP                      (TT_CSS_PROPERTY + 231)         /* row-gap                              */
#define CP_SCROLLBAR_3DLIGHT_COLOR      (TT_CSS_PROPERTY + 232)         /* scrollbar-3dlight-color              */
#define CP_SCROLLBAR_ARROW_COLOR        (TT_CSS_PROPERTY + 233)         /* scrollbar-arrow-color                */
#define CP_SCROLLBAR_DARKSHADOW_COLOR   (TT_CSS_PROPERTY + 234)         /* scrollbar-darkshadow-color           */
#define CP_SCROLLBAR_FACE_COLOR         (TT_CSS_PROPERTY + 235)         /* scrollbar-face-color                 */
#define CP_SCROLLBAR_HIGHLIGHT_COLOR    (TT_CSS_PROPERTY + 236)         /* scrollbar-highlight-color            */
#define CP_SCROLLBAR_SHADOW_COLOR       (TT_CSS_PROPERTY + 237)         /* scrollbar-shadow-color               */
#define CP_SCROLLBAR_TRACK_COLOR        (TT_CSS_PROPERTY + 238)         /* scrollbar-track-color                */
#define CP_SCROLL_BEHAVIOR              (TT_CSS_PROPERTY + 239)         /* scroll-behavior                      */
#define CP_SIZE                         (TT_CSS_PROPERTY + 240)         /* size                                 */
#define CP_SPEAK                        (TT_CSS_PROPERTY + 241)         /* speak                                */
#define CP_SPEAK_HEADER                 (TT_CSS_PROPERTY + 242)         /* speak-header                         */
#define CP_SPEAK_NUMERAL                (TT_CSS_PROPERTY + 243)         /* speak-numeral                        */
#define CP_SPEAK_PUNCTUATION            (TT_CSS_PROPERTY + 244)         /* speak-punctuation                    */
#define CP_SPEECH_RATE                  (TT_CSS_PROPERTY + 245)         /* speech-rate                          */
#define CP_STRESS                       (TT_CSS_PROPERTY + 246)         /* stress                               */
#define CP_TABLE_LAYOUT                 (TT_CSS_PROPERTY + 247)         /* table-layout                         */
#define CP_TAB_SIZE                     (TT_CSS_PROPERTY + 248)         /* tab-size                             */
#define CP_TEXT_ALIGN                   (TT_CSS_PROPERTY + 249)         /* text-align                           */
#define CP_TEXT_ALIGN_LAST              (TT_CSS_PROPERTY + 250)         /* text-align-last                      */
#define CP_TEXT_AUTOSPACE               (TT_CSS_PROPERTY + 251)         /* text-autospace                       */
#define CP_TEXT_BLINK                   (TT_CSS_PROPERTY + 252)         /* text-blink                           */
#define CP_TEXT_COMBINE                 (TT_CSS_PROPERTY + 253)         /* text-combine                         */
#define CP_TEXT_DECORATION              (TT_CSS_PROPERTY + 254)         /* text-decoration                      */
#define CP_TEXT_DECORATION_COLOR        (TT_CSS_PROPERTY + 255)         /* text-decoration-color                */
#define CP_TEXT_DECORATION_LINE         (TT_CSS_PROPERTY + 256)         /* text-decoration-line                 */
#define CP_TEXT_DECORATION_STYLE        (TT_CSS_PROPERTY + 257)         /* text-decoration-style                */
#define CP_TEXT_INDENT                  (TT_CSS_PROPERTY + 258)         /* text-indent                          */
#define CP_TEXT_JUSTIFY                 (TT_CSS_PROPERTY + 259)         /* text-justify                         */
#define CP_TEXT_JUSTIFY_TRIM            (TT_CSS_PROPERTY + 260)         /* text-justify-trim                    */
#define CP_TEXT_KASHIDA_SPACE           (TT_CSS_PROPERTY + 261)         /* text-kashida-space                   */
#define CP_TEXT_LINE_THROUGH            (TT_CSS_PROPERTY + 262)         /* text-line-through                    */
#define CP_TEXT_LINE_THROUGH_COLOR      (TT_CSS_PROPERTY + 263)         /* text-line-through-color              */
#define CP_TEXT_LINE_THROUGH_MODE       (TT_CSS_PROPERTY + 264)         /* text-line-through-mode               */
#define CP_TEXT_LINE_THROUGH_STYLE      (TT_CSS_PROPERTY + 265)         /* text-line-through-style              */
#define CP_TEXT_LINE_THROUGH_WIDTH      (TT_CSS_PROPERTY + 266)         /* text-line-through-width              */
#define CP_TEXT_OVERFLOW                (TT_CSS_PROPERTY + 267)         /* text-overflow                        */
#define CP_TEXT_OVERFLOW_ELLIPSIS       (TT_CSS_PROPERTY + 268)         /* text-overflow-ellipsis               */
#define CP_TEXT_OVERFLOW_MODE           (TT_CSS_PROPERTY + 269)         /* text-overflow-mode                   */
#define CP_TEXT_OVERLINE                (TT_CSS_PROPERTY + 270)         /* text-overline                        */
#define CP_TEXT_OVERLINE_COLOR          (TT_CSS_PROPERTY + 271)         /* text-overline-color                  */
#define CP_TEXT_OVERLINE_MODE           (TT_CSS_PROPERTY + 272)         /* text-overline-mode                   */
#define CP_TEXT_OVERLINE_STYLE          (TT_CSS_PROPERTY + 273)         /* text-overline-style                  */
#define CP_TEXT_OVERLINE_WIDTH          (TT_CSS_PROPERTY + 274)         /* text-overline-width                  */
#define CP_TEXT_SCRIPT                  (TT_CSS_PROPERTY + 275)         /* text-script                          */
#define CP_TEXT_SHADOW                  (TT_CSS_PROPERTY + 276)         /* text-shadow                          */
#define CP_TEXT_TRANSFORM               (TT_CSS_PROPERTY + 277)         /* text-transform                       */
#define CP_TEXT_UNDERLINE               (TT_CSS_PROPERTY + 278)         /* text-underline                       */
#define CP_TEXT_UNDERLINE_COLOR         (TT_CSS_PROPERTY + 279)         /* text-underline-color                 */
#define CP_TEXT_UNDERLINE_MODE          (TT_CSS_PROPERTY + 280)         /* text-underline-mode                  */
#define CP_TEXT_UNDERLINE_POSITION      (TT_CSS_PROPERTY + 281)         /* text-underline-position              */
#define CP_TEXT_UNDERLINE_STYLE         (TT_CSS_PROPERTY + 282)         /* text-underline-style                 */
#define CP_TEXT_UNDERLINE_WIDTH         (TT_CSS_PROPERTY + 283)         /* text-underline-width                 */
#define CP_TOP                          (TT_CSS_PROPERTY + 284)         /* top                                  */
#define CP_TRANSFORM                    (TT_CSS_PROPERTY + 285)         /* transform                            */
#define CP_TRANSFORM_ORIGIN             (TT_CSS_PROPERTY + 286)         /* transform-origin                     */
#define CP_TRANSFORM_STYLE              (TT_CSS_PROPERTY + 287)         /* transform-style                      */
#define CP_TRANSITION                   (TT_CSS_PROPERTY + 288)         /* transition                           */
#define CP_TRANSITION_DELAY             (TT_CSS_PROPERTY + 289)         /* transition-delay                     */
#define CP_TRANSITION_DURATION          (TT_CSS_PROPERTY + 290)         /* transition-duration                  */
#define CP_TRANSITION_PROPERTY          (TT_CSS_PROPERTY + 291)         /* transition-property                  */
#define CP_TRANSITION_TIMING_FUNCTION   (TT_CSS_PROPERTY + 292)         /* transition-timing-function           */
#define CP_UNICODE_BIDI                 (TT_CSS_PROPERTY + 293)         /* unicode-bidi                         */
#define CP_USER_SELECT                  (TT_CSS_PROPERTY + 294)         /* user-select                          */
#define CP_VERTICAL_ALIGN               (TT_CSS_PROPERTY + 295)         /* vertical-align                       */
#define CP_VISIBILITY                   (TT_CSS_PROPERTY + 296)         /* visibility                           */
#define CP_VOICE_FAMILY                 (TT_CSS_PROPERTY + 297)         /* voice-family                         */
#define CP_VOLUME                       (TT_CSS_PROPERTY + 298)         /* volume                               */
#define CP_WHITE_SPACE                  (TT_CSS_PROPERTY + 299)         /* white-space                          */
#define CP_WHITE_SPACE_TREATMENT        (TT_CSS_PROPERTY + 300)         /* white-space-treatment                */
#define CP_WIDOWS                       (TT_CSS_PROPERTY + 301)         /* widows                               */
#define CP_WIDTH                        (TT_CSS_PROPERTY + 302)         /* width                                */
#define CP_WORD_BREAK                   (TT_CSS_PROPERTY + 303)         /* word-break                           */
#define CP_WORD_BREAK_CJK               (TT_CSS_PROPERTY + 304)         /* word-break-cjk                       */
#define CP_WORD_BREAK_INSIDE            (TT_CSS_PROPERTY + 305)         /* word-break-inside                    */
#define CP_WORD_SPACING                 (TT_CSS_PROPERTY + 306)         /* word-spacing                         */
#define CP_WORD_WRAP                    (TT_CSS_PROPERTY + 307)         /* word-wrap                            */
#define CP_WRAP_OPTION                  (TT_CSS_PROPERTY + 308)         /* wrap-option                          */
#define CP_WRITING_MODE                 (TT_CSS_PROPERTY + 309)         /* writing-mode                         */
#define CP_Z_INDEX                      (TT_CSS_PROPERTY + 310)         /* z-index                              */
#define CP__END_W3C                     (TT_CSS_PROPERTY + 311)         /* End of W3C Properties                */
                                                                        /*  * Other Stuff                       */
#define CP_LAYOUT_GRID_MODE             (TT_CSS_PROPERTY + 438)         /* layout-grid-mode                     */
#define CP_TAB_INTERVAL                 (TT_CSS_PROPERTY + 439)         /* tab-interval                         */
#define CP_TAB_STOPS                    (TT_CSS_PROPERTY + 440)         /* tab-stops                            */
                                                                        /*  * Mozilla Specific                  */
#define CP_MOX_BACKGROUND_CLIP          (TT_CSS_PROPERTY + 441)         /* moz-background-clip                  */
#define CP_MOZ_BOX_SIZING               (TT_CSS_PROPERTY + 442)         /* moz-box-sizing                       */
                                                                        /*  * Webkit Specific                   */
#define CP_WEBKIT_BACKGROUND_CLIP       (TT_CSS_PROPERTY + 451)         /* webkit-background-clip               */
#define CP_WEBKIT_BOX_SIZING            (TT_CSS_PROPERTY + 452)         /* webkit-box-sizing                    */
                                                                        /*  * Microsoft Office CSS              */
#define MSO_FIRST_TOKEN                 (TT_CSS_PROPERTY + 500)         /* (first for testing)                  */
#define MP_ANSI_FONT_WEIGHT             (TT_CSS_PROPERTY + 584)         /* mso-ansi-font-weight                 */
#define MP_ANSI_LANGUAGE                (TT_CSS_PROPERTY + 501)         /* mso-ansi-language                    */
#define MP_BACKGROUND_SOURCE            (TT_CSS_PROPERTY + 502)         /* mso-background-source                */
#define MP_BIDI_LANGUAGE                (TT_CSS_PROPERTY + 503)         /* mso-bidi-language                    */
#define MP_BIDI_FONT_FAMILY             (TT_CSS_PROPERTY + 504)         /* mso-bidi-font-family                 */
#define MP_BIDI_FONT_SIZE               (TT_CSS_PROPERTY + 505)         /* mso-bidi-font-size                   */
#define MP_BIDI_FONT_WEIGHT             (TT_CSS_PROPERTY + 506)         /* mso-bidi-font-weight                 */
#define MP_BOOKMARK                     (TT_CSS_PROPERTY + 507)         /* mso-bookmark                         */
#define MP_BORDER_BOTTOM_ALT            (TT_CSS_PROPERTY + 508)         /* mso-border-bottom-alt                */
#define MP_BORDER_COLOR_ALT             (TT_CSS_PROPERTY + 509)         /* mso-border-color-alt                 */
#define MP_BORDER_LEFT_ALT              (TT_CSS_PROPERTY + 510)         /* mso-border-left-alt                  */
#define MP_BORDER_RIGHT_ALT             (TT_CSS_PROPERTY + 511)         /* mso-border-right-alt                 */
#define MP_BORDER_TOP_ALT               (TT_CSS_PROPERTY + 512)         /* mso-border-top-alt                   */
#define MP_BREAK_TYPE                   (TT_CSS_PROPERTY + 513)         /* mso-break-type                       */
#define MP_CELL_SPECIAL                 (TT_CSS_PROPERTY + 514)         /* mso-cell-special                     */
#define MP_COLOR_ALT                    (TT_CSS_PROPERTY + 585)         /* mso-color-alt                        */
#define MP_COMMENT_REFERENCE            (TT_CSS_PROPERTY + 515)         /* mso-comment-reference                */
#define MP_DATA_PLACEMENT               (TT_CSS_PROPERTY + 516)         /* mso-data-placement                   */
#define MP_DISPLAYED_DECIMAL_SEPARATOR  (TT_CSS_PROPERTY + 517)         /* mso-displayed-decimal-separator      */
#define MP_DISPLAYED_THOUSAND_SEPARATOR (TT_CSS_PROPERTY + 518)         /* mso-displayed-thousand-separator     */
#define MP_ELEMENT                      (TT_CSS_PROPERTY + 519)         /* mso-element                          */
#define MP_ELEMENT_ANCHOR_HORIZONTAL    (TT_CSS_PROPERTY + 520)         /* mso-element-anchor-horizontal        */
#define MP_ELEMENT_ANCHOR_VERTICAL      (TT_CSS_PROPERTY + 521)         /* mso-element-anchor-vertical          */
#define MP_ELEMENT_FRAME_HEIGHT         (TT_CSS_PROPERTY + 522)         /* mso-element-frame-height             */
#define MP_ELEMENT_FRAME_WIDTH          (TT_CSS_PROPERTY + 523)         /* mso-element-frame-width              */
#define MP_ELEMENT_LEFT                 (TT_CSS_PROPERTY + 524)         /* mso-element-left                     */
#define MP_ELEMENT_TOP                  (TT_CSS_PROPERTY + 525)         /* mso-element-top                      */
#define MP_ELEMENT_WRAP                 (TT_CSS_PROPERTY + 526)         /* mso-element-wrap                     */
#define MP_ENDNOTE_CON_SEPARATOR        (TT_CSS_PROPERTY + 527)         /* mso-endnote-continuation-separator   */
#define MP_ENDNOTE_ID                   (TT_CSS_PROPERTY + 528)         /* mso-endnote-id                       */
#define MP_ENDNOTE_NUMBERING_STYLE      (TT_CSS_PROPERTY + 529)         /* mso-endnote-numbering-style          */
#define MP_ENDNOTE_SEPARATOR            (TT_CSS_PROPERTY + 530)         /* mso-endnote-separator                */
#define MP_FAREAST_FONT_FAMILY          (TT_CSS_PROPERTY + 531)         /* mso-fareast-font-family              */
#define MP_FAREAST_LANGUAGE             (TT_CSS_PROPERTY + 532)         /* mso-fareast-language                 */
#define MP_FIELD_CODE                   (TT_CSS_PROPERTY + 533)         /* mso-field-code                       */
#define MP_FONT_CHARSET                 (TT_CSS_PROPERTY + 534)         /* mso-font-charset                     */
#define MP_FONT_FORMAT                  (TT_CSS_PROPERTY + 535)         /* mso-font-format                      */
#define MP_FONT_PITCH                   (TT_CSS_PROPERTY + 536)         /* mso-font-pitch                       */
#define MP_FONT_SIGNATURE               (TT_CSS_PROPERTY + 537)         /* mso-font-signature                   */
#define MP_FOOTER_DATA                  (TT_CSS_PROPERTY + 538)         /* mso-footer-data                      */
#define MP_FOOTER_MARGIN                (TT_CSS_PROPERTY + 539)         /* mso-footer-margin                    */
#define MP_FOOTNOTE_CONT_SEPARATOR      (TT_CSS_PROPERTY + 540)         /* mso-footnote-continuation-separator  */
#define MP_FOOTNOTE_ID                  (TT_CSS_PROPERTY + 541)         /* mso-footnote-id                      */
#define MP_FOOTNOTE_SEPARATOR           (TT_CSS_PROPERTY + 542)         /* mso-footnote-separator               */
#define MP_GENERIC_FONT_FAMILY          (TT_CSS_PROPERTY + 543)         /* mso-generic-font-family              */
#define MP_HEADER_DATA                  (TT_CSS_PROPERTY + 544)         /* mso-header-data                      */
#define MP_HEADER_MARGIN                (TT_CSS_PROPERTY + 545)         /* mso-header-margin                    */
#define MP_HEIGHT_RULE                  (TT_CSS_PROPERTY + 546)         /* mso-height-rule                      */
#define MP_HEIGHT_SOURCE                (TT_CSS_PROPERTY + 547)         /* mso-height-source                    */
#define MP_HIDE                         (TT_CSS_PROPERTY + 548)         /* mso-hide                             */
#define MP_HIGHLIGHT                    (TT_CSS_PROPERTY + 549)         /* mso-highlight                        */
#define MP_IGNORE                       (TT_CSS_PROPERTY + 550)         /* mso-ignore                           */
#define MP_LIST                         (TT_CSS_PROPERTY + 551)         /* mso-list                             */
#define MP_MARGIN_BOTTOM_ALT            (TT_CSS_PROPERTY + 552)         /* mso-margin-bottom-alt                */
#define MP_MARGIN_TOP_ALT               (TT_CSS_PROPERTY + 553)         /* mso-margin-top-alt                   */
#define MP_NO_PROOF                     (TT_CSS_PROPERTY + 554)         /* mso-no-proof                         */
#define MP_NUMBER_FORMAT                (TT_CSS_PROPERTY + 555)         /* mso-number-format                    */
#define MP_OUTLINE_LEVEL                (TT_CSS_PROPERTY + 556)         /* mso-outline-level                    */
#define MP_PADDING_ALT                  (TT_CSS_PROPERTY + 557)         /* mso-padding-alt                      */
#define MP_PAGE_ORIENTATION             (TT_CSS_PROPERTY + 558)         /* mso-page-orientation                 */
#define MP_PAGINATION                   (TT_CSS_PROPERTY + 559)         /* mso-pagination                       */
#define MP_PAPER_SOURCE                 (TT_CSS_PROPERTY + 560)         /* mso-paper-source                     */
#define MP_PARA_MARGIN                  (TT_CSS_PROPERTY + 561)         /* mso-para-margin                      */
#define MP_PARA_MARGIN_BOTTOM           (TT_CSS_PROPERTY + 562)         /* mso-para-margin-bottom               */
#define MP_PATTERN                      (TT_CSS_PROPERTY + 563)         /* mso-pattern                          */
#define MP_PROP_CHANGE                  (TT_CSS_PROPERTY + 583)         /* mso-prop-change                      */
#define MP_PROTECTION                   (TT_CSS_PROPERTY + 564)         /* mso-protection                       */
#define MP_ROTATE                       (TT_CSS_PROPERTY + 565)         /* mso-rotate                           */
#define MP_ROW_MARGIN_RIGHT             (TT_CSS_PROPERTY + 566)         /* mso-row-margin-right                 */
#define MP_SHADING                      (TT_CSS_PROPERTY + 567)         /* mso-shading                          */
#define MP_SPACERUN                     (TT_CSS_PROPERTY + 568)         /* mso-spacerun                         */
#define MP_SPECIAL_CHARACTER            (TT_CSS_PROPERTY + 569)         /* mso-special-character                */
#define MP_STYLE_NAME                   (TT_CSS_PROPERTY + 570)         /* mso-style-name                       */
#define MP_STYLE_NOSHOW                 (TT_CSS_PROPERTY + 571)         /* mso-style-noshow                     */
#define MP_STYLE_PARENT                 (TT_CSS_PROPERTY + 572)         /* mso-style-parent                     */
#define MP_TAB_COUNT                    (TT_CSS_PROPERTY + 573)         /* mso-tab-count                        */
#define MP_TABLE_DELETED                (TT_CSS_PROPERTY + 574)         /* mso-table-deleted                    */
#define MP_TABLE_LAYOUT_ALT             (TT_CSS_PROPERTY + 575)         /* mso-table-layout-alt                 */
#define MP_TEXT_INDENT_ALT              (TT_CSS_PROPERTY + 582)         /* mso-text-indent-alt                  */
#define MP_TSTYLE_COLBAND_SIZE          (TT_CSS_PROPERTY + 576)         /* mso-tstyle-colband-size              */
#define MP_TSTYLE_ROWBAND_SIZE          (TT_CSS_PROPERTY + 577)         /* mso-tstyle-rowband-size              */
#define MP_WIDTH_SOURCE                 (TT_CSS_PROPERTY + 578)         /* mso-width-source                     */
#define MP_YFTI_FIRSTROW                (TT_CSS_PROPERTY + 579)         /* mso-yfti-firstrow                    */
#define MP_YFTI_IROW                    (TT_CSS_PROPERTY + 580)         /* mso-yfti-irow                        */
#define MP_YFTI_LASTROW                 (TT_CSS_PROPERTY + 581)         /* mso-yfti-lastrow                     */
#define MSO_LAST_TOKEN                  (TT_CSS_PROPERTY + 599)         /* (last for testing)                   */
                                                                        /*  * Novaworks Specific                */
#define CP_NWS_BLOCK_BEHAVIOR           (TT_CSS_PROPERTY + 700)         /* -nws-block-behavior                  */
                                                                        /*  * SEC Specific                      */
#define CP_SEC_EXTRACT                  (TT_CSS_PROPERTY + 720)         /* -sec-extract                         */
#define CP_SEC_IX_HIDDEN                (TT_CSS_PROPERTY + 721)         /* -sec-ix-hidden                       */
#define CP_SEC_IX_REDLINE               (TT_CSS_PROPERTY + 722)         /* -sec-ix-redline                      */



                                                        /********************************************************/
                                                        /* Ordinal Keyword Values                               */
                                                        /* ----------------------                               */
                                                        /* These values apply to basic  CSS  and  HTML  keyword */
                                                        /* values.  If a keyword applies to a parameter, it  is */
                                                        /* stored in this form  with PT_KEYWORD or'ed  on  top. */
                                                        /* These values are tied to the placement of keywords   */
                                                        /* on various lists.                                    */
                                                        /********************************************************/

                                                                        /****************************************/
                                                                        /* ** Alignment - CAlign, IAlign...     */
#define PK_ALIGN_DEFAULT                                0               /* Default                              */
#define PK_ALIGN_LEFT                                   1               /* Left                                 */
#define PK_ALIGN_RIGHT                                  2               /* Right                                */
#define PK_ALIGN_CENTER                                 3               /* Center                               */
#define PK_ALIGN_JUSTIFY                                4               /* Justify                              */
#define PK_ALIGN_TOP                                    5               /* Top                                  */
#define PK_ALIGN_BOTTOM                                 6               /* Bottom                               */
#define PK_ALIGN_MIDDLE                                 7               /* Middle                               */
#define PK_ALIGN_CHAR                                   8               /* Character                            */


                                                                        /****************************************/
                                                                        /* ** Autocomplete                      */
#define PK_AUTOCOMPLETE_DEFAULT                         0               /* Default                              */
#define PK_AUTOCOMPLETE_ON                              1               /* ON                                   */
#define PK_AUTOCOMPLETE_OFF                             2               /* OFF                                  */
#define PK_AUTOCOMPLETE_NAME                            3               /* OFF                                  */
#define PK_AUTOCOMPLETE_HONORIFIC_PREFIX                4               /* OFF                                  */
#define PK_AUTOCOMPLETE_GIVEN_NAME                      5               /* OFF                                  */
#define PK_AUTOCOMPLETE_ADDITIONAL_NAME                 6               /* OFF                                  */
#define PK_AUTOCOMPLETE_FAMILY_NAME                     7               /* OFF                                  */
#define PK_AUTOCOMPLETE_HONORIFIC_SUFFIX                8               /* OFF                                  */
#define PK_AUTOCOMPLETE_NICKNAME                        9               /* OFF                                  */
#define PK_AUTOCOMPLETE_ORGANIZATION_TITLE              10              /* OFF                                  */
#define PK_AUTOCOMPLETE_USERNAME                        11              /* OFF                                  */
#define PK_AUTOCOMPLETE_NEW_PASSWORD                    12              /* OFF                                  */
#define PK_AUTOCOMPLETE_CURRENT_PASSWORD                13              /* OFF                                  */
#define PK_AUTOCOMPLETE_ORGANIZATION                    14              /* OFF                                  */
#define PK_AUTOCOMPLETE_STREET_ADDRESS                  15              /* OFF                                  */
#define PK_AUTOCOMPLETE_ADDRESS_LINE1                   16              /* OFF                                  */
#define PK_AUTOCOMPLETE_ADDRESS_LINE2                   17              /* OFF                                  */
#define PK_AUTOCOMPLETE_ADDRESS_LINE3                   18              /* OFF                                  */
#define PK_AUTOCOMPLETE_ADDRESS_LEVEL4                  19              /* OFF                                  */
#define PK_AUTOCOMPLETE_ADDRESS_LEVEL3                  20              /* OFF                                  */
#define PK_AUTOCOMPLETE_ADDRESS_LEVEL2                  21              /* OFF                                  */
#define PK_AUTOCOMPLETE_ADDRESS_LEVEL1                  22              /* OFF                                  */
#define PK_AUTOCOMPLETE_COUNTRY                         23              /* OFF                                  */
#define PK_AUTOCOMPLETE_COUNTRY_NAME                    24              /* OFF                                  */
#define PK_AUTOCOMPLETE_POSTAL_CODE                     25              /* OFF                                  */
#define PK_AUTOCOMPLETE_CC_NAME                         26              /* OFF                                  */
#define PK_AUTOCOMPLETE_CC_GIVEN_NAME                   27              /* OFF                                  */
#define PK_AUTOCOMPLETE_CC_ADDITIONAL_NAME              28              /* OFF                                  */
#define PK_AUTOCOMPLETE_CC_FAMILY_NAME                  29              /* OFF                                  */
#define PK_AUTOCOMPLETE_CC_NUMBER                       30              /* OFF                                  */
#define PK_AUTOCOMPLETE_CC_EXP                          31              /* OFF                                  */
#define PK_AUTOCOMPLETE_CC_EXP_MONTH                    32              /* OFF                                  */
#define PK_AUTOCOMPLETE_CC_EXP_YEAR                     33              /* OFF                                  */
#define PK_AUTOCOMPLETE_CC_CSC                          34              /* OFF                                  */
#define PK_AUTOCOMPLETE_CC_TYPE                         35              /* OFF                                  */
#define PK_AUTOCOMPLETE_TRANSACTION_CURRENCY            36              /* OFF                                  */
#define PK_AUTOCOMPLETE_TRANSACTION_AMOUNT              37              /* OFF                                  */
#define PK_AUTOCOMPLETE_LANGUAGE                        38              /* OFF                                  */
#define PK_AUTOCOMPLETE_BDAY                            39              /* OFF                                  */
#define PK_AUTOCOMPLETE_BDAY_DAY                        40              /* OFF                                  */
#define PK_AUTOCOMPLETE_BDAY_MONTH                      41              /* OFF                                  */
#define PK_AUTOCOMPLETE_BDAY_YEAR                       42              /* OFF                                  */
#define PK_AUTOCOMPLETE_SEX                             43              /* OFF                                  */
#define PK_AUTOCOMPLETE_URL                             44              /* OFF                                  */
#define PK_AUTOCOMPLETE_PHOTO                           45              /* OFF                                  */
#define PK_AUTOCOMPLETE_TEL                             46              /* OFF                                  */
#define PK_AUTOCOMPLETE_TEL_COUNTRY_CODE                47              /* OFF                                  */
#define PK_AUTOCOMPLETE_TEL_NATIONAL                    48              /* OFF                                  */
#define PK_AUTOCOMPLETE_TEL_AREA_CODE                   49              /* OFF                                  */
#define PK_AUTOCOMPLETE_TEL_LOCAL                       50              /* OFF                                  */
#define PK_AUTOCOMPLETE_TEL_LOCAL_PREFIX                51              /* OFF                                  */
#define PK_AUTOCOMPLETE_TEL_LOCAL_SUFFIX                52              /* OFF                                  */
#define PK_AUTOCOMPLETE_TEL_EXTENSION                   53              /* OFF                                  */
#define PK_AUTOCOMPLETE_EMAIL                           54              /* OFF                                  */
#define PK_AUTOCOMPLETE_IMPP                            55              /* OFF                                  */
#define PK_AUTOCOMPLETE_END                             56              /* End marker                           */

                                                                        /****************************************/
                                                                        /* ** Clear                             */
#define PK_CLEAR_DEFAULT                                0               /* Default                              */
#define PK_CLEAR_NONE                                   1               /* None                                 */
#define PK_CLEAR_LEFT                                   2               /* Left                                 */
#define PK_CLEAR_RIGHT                                  3               /* Right                                */
#define PK_CLEAR_BOTH                                   4               /* All                                  */

                                                                        /****************************************/
                                                                        /*  ** Contenteditable                  */
#define PK_CONTENTEDITABLE_DEFAULT                      0               /* (default)                            */
#define PK_CONTENTEDITABLE_TRUE                         1               /* True                                 */
#define PK_CONTENTEDITABLE_FALSE                        2               /* False                                */
#define PK_CONTENTEDITABLE_END                          3               /* End marker                           */

                                                                        /****************************************/
                                                                        /* ** Direction of Text                 */
#define PK_DIR_DEFAULT                                  0               /* Default                              */
#define PK_DIR_LTR                                      1               /* Left to Right                        */
#define PK_DIR_RTL                                      2               /* Right to Left                        */
#define PK_DIR_AUTO                                     3               /* Auto                                 */

                                                                        /****************************************/
                                                                        /* ** Draggable                         */
#define PK_DRAGGABLE_DEFAULT                            0               /* Default                              */
#define PK_DRAGGABLE_TRUE                               1               /* True                                 */
#define PK_DRAGGABLE_FALSE                              2               /* False                                */
#define PK_DRAGGABLE_AUTO                               3               /* Auto                                 */
#define PK_DRAGGABLE_END                                4               /* End marker                           */

                                                                        /****************************************/
                                                                        /* ** Dropzone                          */
#define PK_DROPZONE_DEFAULT                             0               /* Default                              */
#define PK_DROPZONE_COPY                                1               /* True                                 */
#define PK_DROPZONE_MOVE                                2               /* False                                */
#define PK_DROPZONE_LINK                                3               /* Auto                                 */
#define PK_DROPZONE_END                                 4               /* End marker                           */

                                                                        /****************************************/
                                                                        /* ** Enctype                           */
#define PK_ENCTYPE_DEFAULT                              0               /* Default                              */
#define PK_ENCTYPE_APPLICATION                          1               /* True                                 */
#define PK_ENCTYPE_MULTIPART                            2               /* False                                */
#define PK_ENCTYPE_TEXT                                 3               /* Auto                                 */
#define PK_ENCTYPE_END                                  4               /* End marker                           */

                                                                        /****************************************/
                                                                        /* ** Http equiv                        */
#define PK_HTTP_EQUIV_DEFAULT                           0               /* Default                              */
#define PK_HTTP_EQUIV_CONTENT_TYPE                      1               /* Content-type                         */
#define PK_HTTP_EQUIV_DEFAULT_STYLE                     2               /* Default-style                        */
#define PK_HTTP_EQUIV_REFRESH                           3               /* Refresh                              */
#define PK_HTTP_EQUIV_END                               4               /* End marker                           */

                                                                        /****************************************/
                                                                        /* ** Kind                              */
#define PK_KIND_DEFAULT                                 0               /* Default                              */
#define PK_KIND_CAPTIONS                                1               /* Captions                             */
#define PK_KIND_CHAPTERS                                2               /* Chapters                             */
#define PK_KIND_DESCRIPTIONS                            3               /* Descriptions                         */
#define PK_KIND_METADATA                                4               /* Metadata                             */
#define PK_KIND_SUBTITLES                               5               /* Subtitles                            */
#define PK_KIND_END                                     6               /* End marker                           */

                                                                        /****************************************/
#define PK_MEDIA_DEFAULT                                0               /* Media All                            */
#define PK_MEDIA_ALL                                    1               /* Media All                            */
#define PK_MEDIA_AURAL                                  2               /* Speech Synthesizers                  */
#define PK_MEDIA_BRAILLE                                3               /* Braille Tactile Feedback             */
#define PK_MEDIA_EMBOSSED                               4               /* Braille Printer                      */
#define PK_MEDIA_HANDHELD                               5               /* PDA                                  */
#define PK_MEDIA_PRINT                                  6               /* Printing                             */
#define PK_MEDIA_PROJECTION                             7               /* Projection                           */
#define PK_MEDIA_SCREEN                                 8               /* Computer/Color                       */
#define PK_MEDIA_TTY                                    9               /* Fixed Pitch Terminals                */
#define PK_MEDIA_TV                                     10              /* Television                           */

                                                                        /****************************************/
                                                                        /* ** Form Method                       */
#define PK_METHOD_DEFAULT                               0               /* Default                              */
#define PK_METHOD_GET                                   1               /* Get                                  */
#define PK_METHOD_POST                                  2               /* Post                                 */

                                                                        /****************************************/
                                                                        /* ** Media Preload                     */
#define PK_PRELOAD_DEFAULT                              0               /* Default                              */
#define PK_PRELOAD_NONE                                 1               /* None                                 */
#define PK_PRELOAD_METADATA                             2               /* Metadata                             */
#define PK_PRELOAD_AUTO                                 3               /* Auto                                 */
#define PK_PRELOAD_END                                  4               /* End marker                           */

                                                                        /****************************************/
                                                                        /* ** Link                              */
                                                                        /*  * Rel and Rev                       */
#define PK_A_REL_DEFAULT                                0               /* (default)                            */
#define PK_A_REL_ALTERNATE                              1               /* alternate                            */
#define PK_A_REL_APPENDIX                               2               /* appendix                             */
#define PK_A_REL_AUTHOR                                 3               /* author                               */
#define PK_A_REL_BOOKMARK                               4               /* bookmark                             */
#define PK_A_REL_CHAPTER                                5               /* chapter                              */
#define PK_A_REL_CONTENTS                               6               /* contents                             */
#define PK_A_REL_EXTERNAL                               7               /* external                     html5   */          
#define PK_A_REL_GLOSSARY                               8               /* glossary                             */
#define PK_A_REL_HELP                                   9               /* help                                 */
#define PK_A_REL_INDEX                                  10              /* index                                */
#define PK_A_REL_LICENSE                                11              /* license                              */
#define PK_A_REL_NEXT                                   12              /* next                                 */
#define PK_A_REL_NOFOLLOW                               13              /* nofollow                             */
#define PK_A_REL_NOOPENER                               14              /* noopener                     html5   */
#define PK_A_REL_NOREFERRER                             15              /* noreferrer                           */
#define PK_A_REL_PREFETCH                               16              /* prefetch                             */
#define PK_A_REL_PREV                                   17              /* prev                                 */
#define PK_A_REL_SEARCH                                 18              /* search                               */
#define PK_A_REL_SECTION                                19              /* section                              */
#define PK_A_REL_SUBSECTION                             20              /* subsection                           */
#define PK_A_REL_TAG                                    21              /* tag                                  */
#define PK_A_REL_XREF                                   22              /* xref                                 */

                                                                        /****************************************/
                                                                        /* ** Link                              */
                                                                        /*  * Rel and Rev                       */
#define PK_LINK_REL_DEFAULT                              0              /* (default)                            */
#define PK_LINK_REL_ALTERNATE                            1              /* Alternate                            */
#define PK_LINK_REL_ARCHIVES                             2              /* Archives                             */
#define PK_LINK_REL_APPENDIX                             3              /* Appendix                             */
#define PK_LINK_REL_AUTHOR                               4              /* Author                               */
#define PK_LINK_REL_BOOKMARK                             5              /* Bookmark                             */
#define PK_LINK_REL_CANONICAL                            6              /* Canonical                            */
#define PK_LINK_REL_CHAPTER                              7              /* Chapter                              */
#define PK_LINK_REL_CONTENTS                             8              /* Contents                             */
#define PK_LINK_REL_COPYRIGHT                            9              /* Copyright                            */
#define PK_LINK_REL_DNS_PREFETCH                        10              /* Dns-prefetch                         */
#define PK_LINK_REL_EXTERNAL                            11              /* External                             */
#define PK_LINK_REL_FIRST                               12              /* First                                */
#define PK_LINK_REL_GLOSSARY                            13              /* Glossary                             */
#define PK_LINK_REL_HELP                                14              /* Help                                 */
#define PK_LINK_REL_ICON                                15              /* Icon                                 */
#define PK_LINK_REL_INDEX                               16              /* Index                                */
#define PK_LINK_REL_LAST                                17              /* Last                                 */
#define PK_LINK_REL_LICENSE                             18              /* License                              */
#define PK_LINK_REL_MODULEPRELOAD                       19              /* Modulepreload                        */
#define PK_LINK_REL_NEXT                                20              /* Next                                 */
#define PK_LINK_REL_NOFOLLOW                            21              /* Nofollow                             */
#define PK_LINK_REL_NOREFERRER                          22              /* Noreferrer                           */
#define PK_LINK_REL_PINGBACK                            23              /* Pingback                             */
#define PK_LINK_REL_PRECONNECT                          24              /* Preconnect                           */
#define PK_LINK_REL_PREFETCH                            25              /* Prefetch                             */
#define PK_LINK_REL_PRELOAD                             26              /* Preload                              */
#define PK_LINK_REL_PRERENDER                           27              /* Prerender                            */
#define PK_LINK_REL_PREV                                28              /* Prev                                 */
#define PK_LINK_REL_SEARCH                              29              /* Search                               */
#define PK_LINK_REL_SECTION                             30              /* Section                              */
#define PK_LINK_REL_SIDEBAR                             31              /* Sidebar                              */
#define PK_LINK_REL_START                               32              /* Start                                */
#define PK_LINK_REL_STYLESHEET                          33              /* Stylesheet                           */
#define PK_LINK_REL_SUBSECTION                          34              /* Subsection                           */
#define PK_LINK_REL_TAG                                 35              /* Tag                                  */
#define PK_LINK_REL_UP                                  36              /* Up                                   */
#define PK_LINK_REL_XREF                                37              /* Xref                                 */
#define PK_LINK_REL_SHORTCUT_ICON                       38              /* Shortcut Icon                        */

                                                                        /****************************************/
                                                                        /* ** Table (Cells, rows, etc.)         */
                                                                        /*  * Scope                             */
#define PK_SCOPE_DEFAULT                                0               /* Default                              */
#define PK_SCOPE_ROW                                    1               /* Row                                  */
#define PK_SCOPE_COL                                    2               /* Column                               */
#define PK_SCOPE_ROWGROUP                               3               /* Row Group                            */
#define PK_SCOPE_COLGROUP                               4               /* Col Group                            */
                                                                        /*  * TFrame                            */
#define PK_TABLE_FRAME_DEFAULT                          0               /* Default                              */
#define PK_TABLE_FRAME_VOID                             1               /* Void                                 */
#define PK_TABLE_FRAME_ABOVE                            2               /* Above                                */
#define PK_TABLE_FRAME_BELOW                            3               /* Below                                */
#define PK_TABLE_FRAME_HSIDE                            4               /* Hside                                */
#define PK_TABLE_FRAME_LHS                              5               /* LHS                                  */
#define PK_TABLE_FRAME_RHS                              6               /* RHS                                  */
#define PK_TABLE_FRAME_VSIDES                           7               /* Vsides                               */
#define PK_TABLE_FRAME_BOX                              8               /* Box                                  */
#define PK_TABLE_FRAME_BORDER                           9               /* Border                               */
                                                                        /*  * TRules                            */
#define PK_TRULES_DEFAULT                               0               /* Default                              */
#define PK_TRULES_NONE                                  1               /* None                                 */
#define PK_TRULES_GROUPS                                2               /* Groups                               */
#define PK_TRULES_ROWS                                  3               /* Rows                                 */
#define PK_TRULES_COLS                                  4               /* Cols                                 */
#define PK_TRULES_ALL                                   5               /* All                                  */
                                                                        /*  * VAlign                            */
#define PK_VALIGN_DEFAULT                               0               /* Default                              */
#define PK_VALIGN_TOP                                   1               /* Top                                  */
#define PK_VALIGN_MIDDLE                                2               /* Middle                               */
#define PK_VALIGN_BOTTOM                                3               /* Bottom                               */
#define PK_VALIGN_BASELINE                              4               /* Baseline                             */

                                                                        /****************************************/
                                                                        /* ** Frame Scrolling                   */
#define PK_SCROLLING_DEFAULT                            0               /* Default                              */
#define PK_SCROLLING_YES                                1               /* Yes                                  */
#define PK_SCROLLING_NO                                 2               /* No                                   */
#define PK_SCROLLING_AUTO                               3               /* Auto                                 */
#define PK_SCROLLING_END                                4               /* End marker                           */

                                                                        /****************************************/
                                                                        /* ** Shape                             */
#define PK_SHAPE_DEFAULT                                0               /* Default                              */
#define PK_SHAPE_RECT                                   1               /* Rectangle                            */
#define PK_SHAPE_CIRCLE                                 2               /* Circle                               */
#define PK_SHAPE_POLYGON                                3               /* Polygon                              */
#define PK_SHAPE_DEFSHAPE                               4               /* Default                              */

                                                                        /****************************************/
                                                                        /* ** Shape                             */
#define PK_SPELLCHECK_DEFAULT                           0               /* Default                              */
#define PK_SPELLCHECK_TRUE                              1               /* True                                 */
#define PK_SPELLCHECK_FALSE                             2               /* False                                */
#define PK_SPELLCHECK_END                               3               /* End marker                           */

                                                                        /****************************************/
                                                                        /* ** Translate                         */
#define PK_TRANSLATE_DEFAULT                            0               /* Default                              */
#define PK_TRANSLATE_YES                                1               /* Yes                                  */
#define PK_TRANSLATE_NO                                 2               /* No                                   */
#define PK_TRANSLATE_END                                3               /* End marker                           */

                                                                        /****************************************/
                                                                        /* ** Type, Shared                      */
                                                                        /*  * BUTTON Types                      */
#define PK_TYPE_BUTTON_DEFAULT                          0               /* Default                              */
#define PK_TYPE_BUTTON_SUBMIT                           1               /* Submit                               */
#define PK_TYPE_BUTTON_RESET                            2               /* Reset                                */
#define PK_TYPE_BUTTON_BUTTON                           3               /* Button                               */
                                                                        /*  * INPUT                             */
#define PK_TYPE_INPUT_DEFAULT                           0               /* Not Specified (default)              */
#define PK_TYPE_INPUT_BUTTON                            4               /* Button                               */
#define PK_TYPE_INPUT_CHECKBOX                          5               /* Checkbox                             */
#define PK_TYPE_INPUT_FILE                              6               /* File                                 */
#define PK_TYPE_INPUT_HIDDEN                            7               /* Hidden                               */
#define PK_TYPE_INPUT_IMAGE                             8               /* Image                                */
#define PK_TYPE_INPUT_PASSWORD                          9               /* Password                             */
#define PK_TYPE_INPUT_RADIO                             10              /* Radio                                */
#define PK_TYPE_INPUT_RESET                             11              /* Reset                                */
#define PK_TYPE_INPUT_SUBMIT                            12              /* Submit                               */
#define PK_TYPE_INPUT_TEXT                              13              /* Text                                 */
                                                                        /*  * OL Ordered List                   */
#define PK_TYPE_OL_DEFAULT                              0               /* Default                              */
#define PK_TYPE_OL_DECIMAL                              14              /* Decimal                              */
#define PK_TYPE_OL_ALPHA                                15              /* Alpha lowercase                      */
#define PK_TYPE_OL_UPPER_ALPHA                          16              /* Alpha uppercase                      */
#define PK_TYPE_OL_ROMAN                                17              /* Roman lowercase                      */
#define PK_TYPE_OL_UPPER_ROMAN                          18              /* Roman Uppercase                      */
                                                                        /*  * UL Unordered List                 */
#define PK_TYPE_UL_DEFAULT                              0               /* Default                              */
#define PK_TYPE_UL_DISC                                 19              /* Disc                                 */
#define PK_TYPE_UL_SQUARE                               20              /* Square                               */
#define PK_TYPE_UL_CIRCLE                               21              /* Circle                               */

                                                                        /****************************************/
                                                                        /* ** Param Value Type                  */
#define PK_PARAM_VTYPE_DEFAULT                          0               /* Default                              */
#define PK_PARAM_VTYPE_DATA                             1               /* Data                                 */
#define PK_PARAM_VTYPE_REF                              2               /* Ref                                  */
#define PK_PARAM_VTYPE_OBJECT                           3               /* Object                               */

                                                                        /****************************************/
                                                                        /* ** Param Value Type                  */
#define PK_WRAP_DEFAULT                                 0               /* Default                              */
#define PK_WRAP_YES                                     1               /* Yes                                  */
#define PK_WRAP_NO                                      2               /* No                                   */
#define PK_WRAP_END                                     3               /* End marker                           */

                                                                        /****************************************/
                                                                        /* ** CSS Keywords                      */
                                                                        /*  * Universal Values                  */
#define PK_IMPLIED                                      0               /* Implied (no value given)             */
                                                                        /*  o Match PT_ Types (truncated)       */
#define PK_MIXED                                        0xFE            /* "Mixed" Value        0xFFFFFF FE     */
#define PK_NOT_SPECIFIED                                0xFC            /* Not Specified Value  0xFFFFFF FC     */
#define PK_AUTO                                         0xF8            /* Value is 'Auto'                      */
#define PK_INHERIT                                      0xFA            /* Value is 'Inherit'                   */
#define PK_NONE                                         0xF6            /* Value is 'None'                      */
#define PK_INITIAL                                      0xF4            /* Value is 'Initial'                   */
#define PK_UNSET                                        0xF2            /* Value is 'Unset'                     */
#define PK_REVERT                                       0xF0            /* Value is 'Revert'                    */
                                                                        /*  o Global Value Range                */
#define PK_GLOBAL_LAST                                  0xFC            /* Top of Range                         */
#define PK_GLOBAL_FIRST                                 0xF0            /* Bottom of Range                      */
                                                                        /*  * Pseudo Values                     */
                                                                        /*  o Revisions                         */
#define PK_REVISION_NONE                                0               /* No Revisions                         */
#define PK_REVISION_ALTERED                             1               /* Revised (EDGAR)                      */
#define PK_REVISION_INSERTED                            2               /* Insert                               */
#define PK_REVISION_DELETED                             3               /* Delete                               */
                                                                        /*  * Align-Content                     */
#define PK_ALIGN_CONTENT_STRETCH                        1               /* Stretch                              */
#define PK_ALIGN_CONTENT_CENTER                         2               /* Center                               */
#define PK_ALIGN_CONTENT_FLEX_START                     3               /* Flex-Start                           */
#define PK_ALIGN_CONTENT_FLEX_END                       4               /* Flex-End                             */
#define PK_ALIGN_CONTENT_SPACE_BETWEEN                  5               /* Space-Between                        */
#define PK_ALIGN_CONTENT_SPACE_AROUND                   6               /* Space-Around                         */
                                                                        /*  * Align-Items                       */
#define PK_ALIGN_ITEMS_STRETCH                          1               /* Stretch                              */
#define PK_ALIGN_ITEMS_CENTER                           2               /* Center                               */
#define PK_ALIGN_ITEMS_FLEX_START                       3               /* Flex-Start                           */
#define PK_ALIGN_ITEMS_FLEX_END                         4               /* Flex-End                             */
#define PK_ALIGN_ITEMS_BASELINE                         5               /* Baseline                             */
                                                                        /*  * Align-Self                        */
#define PK_ALIGN_SELF_STRETCH                           1               /* Stretch                              */
#define PK_ALIGN_SELF_CENTER                            2               /* Center                               */
#define PK_ALIGN_SELF_FLEX_START                        3               /* Flex-Start                           */
#define PK_ALIGN_SELF_FLEX_END                          4               /* Flex-End                             */
#define PK_ALIGN_SELF_BASELINE                          5               /* Baseline                             */
                                                                        /*  * Appearance                        */
#define PK_ANIMATION_DIR_NORMAL                         1               /* Normal                               */
#define PK_ANIMATION_DIR_REVERSE                        2               /* Reverse                              */
#define PK_ANIMATION_DIR_ALTERNATE                      3               /* Alternate                            */
#define PK_ANIMATION_DIR_ALTERNATE_REVERSE              4               /* Alternate-Reverse                    */
                                                                        /*  * Animation-Fill-Mode               */
#define PK_ANIMATION_FILL_MODE_BACKWORDS                1               /* Backwards                            */
#define PK_ANIMATION_FILL_MODE_BOTH                     2               /* Both                                 */
#define PK_ANIMATION_FILL_MODE_FORWORDS                 3               /* Forwards                             */
                                                                        /*  * Appearance                        */
#define PK_APPEARANCE_AUTO                              1               /* Auto                                 */
#define PK_APPEARANCE_NONE                              2               /* None                                 */
#define PK_APPEARANCE_END                               2               /* End                                  */
                                                                        /*  * Azimuth                           */
#define PK_AZIMUTH_LEFT_SIDE                            1               /* Left-side                            */
#define PK_AZIMUTH_FAR_LEFT                             2               /* Far-left                             */
#define PK_AZIMUTH_LEFT                                 3               /* Left                                 */
#define PK_AZIMUTH_CENTER_LEFT                          4               /* Center-left                          */
#define PK_AZIMUTH_CENTER                               5               /* Center                               */
#define PK_AZIMUTH_CENTER_RIGHT                         6               /* Center-right                         */
#define PK_AZIMUTH_RIGHT                                7               /* Right                                */
#define PK_AZIMUTH_FAR_RIGHT                            8               /* Far-right                            */
#define PK_AZIMUTH_RIGHT_SIDE                           9               /* Right-side                           */
#define PK_AZIMUTH_BEHIND                               10              /* Behind                               */
#define PK_AZIMUTH_LEFTWARDS                            11              /* Leftwards                            */
#define PK_AZIMUTH_RIGHTWARDS                           12              /* Rightwards                           */
                                                                        /*  * Background Attachment             */
#define PK_BG_ATTACHMENT_SCROLL                         1               /* Scroll                               */
#define PK_BG_ATTACHMENT_LOCAL                          2               /* Local                                */
#define PK_BG_ATTACHMENT_FIXED                          3               /* Fixed                                */
                                                                        /*  * Background-Clip                   */
#define PK_BG_CLIP_PADDING_BOX                          1               /* Padding-Box                          */
#define PK_BG_CLIP_BORDER_BOX                           2               /* Border-Box                           */
#define PK_BG_CLIP_CONTENT_BOX                          3               /* Content-Box                          */
#define PK_BG_CLIP_END                                  3               /* End marker                           */
                                                                        /*  * Background-Color                  */
#define PK_BG_COLOR_TRANSPARENT                         1               /* Transparent                          */
#define PK_BG_COLOR_CURRENTCOLOR                        2               /* CurrentColor                         */
                                                                        /*  * Background Image                  */
#define PK_BG_IMAGE_NONE                                1               /* None                                 */
                                                                        /*  * Background Position               */
#define PK_BG_POSITION_TOP                              1               /* Top                                  */
#define PK_BG_POSITION_CENTER                           2               /* Center                               */
#define PK_BG_POSITION_BOTTOM                           3               /* Bottom                               */
#define PK_BG_POSITION_LEFT                             4               /* Left                                 */
#define PK_BG_POSITION_RIGHT                            5               /* Right                                */
                                                                        /*  * Background-Repeat                 */
#define PK_BG_REPEAT_DEFAULT                            0               /* (implied)                            */
#define PK_BG_REPEAT_NO_REPEAT                          1               /* No-Repeat                            */
#define PK_BG_REPEAT_REPEAT                             2               /* Repeat                               */
#define PK_BG_REPEAT_REPEAT_X                           3               /* Repeat-X                             */
#define PK_BG_REPEAT_REPEAT_Y                           4               /* Repeat-Y                             */
#define PK_BG_REPEAT_ROUND                              5               /* Round                                */
#define PK_BG_REPEAT_SPACE                              6               /* Space                                */
                                                                        /*  * Background-Size                   */
#define PK_BG_SIZE_COVER                                1               /* Cover                                */
#define PK_BG_SIZE_CONTAIN                              2               /* Contain                              */
#define PK_BG_SIZE_END                                  3               /* End                                  */
                                                                        /*  * Border-Collapse                   */
#define PK_BORDER_COLLAPSE_COLLAPSE                     1               /* Border-Collapse                      */
#define PK_BORDER_COLLAPSE_SEPARATE                     2               /* Border-Separate                      */
                                                                        /*  * Border-Color                      */
#define PK_BORDER_COLOR_TRANSPARENT                     1               /* Transparent                          */
#define PK_BORDER_COLOR_CURRENTCOLOR                    2               /* CurrentColor                         */
                                                                        /*  * Border-Image-Slice                */
#define PK_BORDER_IMAGE_SLICE_FILL                      1               /* Stretch                              */
#define PK_BORDER_IMAGE_SLICE_END                       2               /* Repeat                               */
                                                                        /*  * Border-Image-Repeat               */
#define PK_BORDER_IMAGE_REPEAT_STRETCH                  1               /* Stretch                              */
#define PK_BORDER_IMAGE_REPEAT_REPEAT                   2               /* Repeat                               */
#define PK_BORDER_IMAGE_REPEAT_ROUND                    3               /* Round                                */
#define PK_BORDER_IMAGE_REPEAT_SPACE                    4               /* Space                                */
#define PK_BORDER_IMAGE_REPEAT_END                      5               /* End                                  */
                                                                        /*  * Border-Style                      */
#define PK_BORDER_STYLE_DEFAULT                         0               /* (implied)                            */
#define PK_BORDER_STYLE_NONE                            1               /* None                                 */
#define PK_BORDER_STYLE_HIDDEN                          2               /* Hidden                               */
#define PK_BORDER_STYLE_DOTTED                          3               /* Dotted                               */
#define PK_BORDER_STYLE_DASHED                          4               /* Dashed                               */
#define PK_BORDER_STYLE_SOLID                           5               /* Solid                                */
#define PK_BORDER_STYLE_DOUBLE                          6               /* Double                               */
#define PK_BORDER_STYLE_GROOVE                          7               /* Groove                               */
#define PK_BORDER_STYLE_RIDGE                           8               /* Ridge                                */
#define PK_BORDER_STYLE_INSET                           9               /* Inset                                */
#define PK_BORDER_STYLE_OUTSET                          10              /* Outset                               */
                                                                        /*  * Border-Width                      */
#define PK_BORDER_RESERVED                              1               /* (Auto for Widths, Not on Border)     */
#define PK_BORDER_THIN                                  2               /* Thin                                 */
#define PK_BORDER_MEDIUM                                3               /* Medium                               */
#define PK_BORDER_THICK                                 4               /* Thick                                */

                                                                        /*  * Bottom (same as other position)   */
#define PK_BOTTOM_AUTO                                  1               /* Auto                                 */
                                                                        /*  * Box-Decoration-Break              */
#define PK_BOX_DECORATION_BREAK_CLONE                   1               /* Clone                                */
#define PK_BOX_DECORATION_BREAK_SLICE                   2               /* Slice                                */
#define PK_BOX_DECORATION_BREAK_END                     3               /* End marker                           */
                                                                        /*  * <shadow>                          */
#define PK_SHADOW_INSET                                 1               /* Inset                                */
#define PK_SHADOW_END                                   2               /* End marker                           */
                                                                        /*  * Box Sizing (all types)            */
#define PK_BOX_SIZING_CONTENT_BOX                       1               /* Content-Box                          */
#define PK_BOX_SIZING_BORDER_BOX                        2               /* Border-Box                           */
                                                                        /*  * Break-After                       */
                                                                        /* See PK_PAGE_BREAK_                   */
                                                                        /*  * Break-Before                      */
                                                                        /* See PK_PAGE_BREAK_                   */
                                                                        /*  * Break-Inside                      */
                                                                        /* See PK_PAGE_BREAK_                   */
                                                                        /*  * Caption-Side                      */
#define PK_CAPTION_DEFAULT                              0               /* (default)                            */
#define PK_CAPTION_SIDE_TOP                             1               /* Top                                  */
#define PK_CAPTION_SIDE_BOTTOM                          2               /* Bottom                               */
#define PK_CAPTION_SIDE_LEFT                            3               /* Left                                 */
#define PK_CAPTION_SIDE_RIGHT                           4               /* Right                                */
                                                                        /*  * Clear (match HTML)                */
#define PK_CLEAR_DEFAULT                                0               /* (default)                            */
#define PK_CLEAR_NONE                                   1               /* None                                 */
#define PK_CLEAR_LEFT                                   2               /* Left                                 */
#define PK_CLEAR_RIGHT                                  3               /* Right                                */
#define PK_CLEAR_BOTH                                   4               /* Both                                 */
                                                                        /*  * Clip                              */
#define PK_CLIP_DEFAULT                                 0               /* (default)                            */
#define PK_CLIP_RECT                                    1               /* Rect (shape)                         */
                                                                        /*  * Color                             */
#define PK_COLOR_TRANSPARENT                            1               /* Transparent                          */
#define PK_COLOR_CURRENTCOLOR                           2               /* CurrentColor                         */
                                                                        /*  * Colors (on Windows, to RGB)       */
#define PK_WINDOW_ACTIVEBORDER                          1               /* Activeborder                         */
#define PK_WINDOW_ACTIVECAPTION                         2               /* Activecaption                        */
#define PK_WINDOW_APPWORKSPACE                          3               /* Appworkspace                         */
#define PK_WINDOW_BACKGROUND                            4               /* Background                           */
#define PK_WINDOW_BUTTONFACE                            5               /* Buttonface                           */
#define PK_WINDOW_BUTTONHIGHLIGHT                       6               /* Buttonhighlight                      */
#define PK_WINDOW_BUTTONSHADOW                          7               /* Buttonshadow                         */
#define PK_WINDOW_BUTTONTEXT                            8               /* Buttontext                           */
#define PK_WINDOW_CAPTIONTEXT                           9               /* Captiontext                          */
#define PK_WINDOW_GRAYTEXT                              10              /* Graytext                             */
#define PK_WINDOW_HIGHLIGHT                             11              /* Highlight                            */
#define PK_WINDOW_HIGHLIGHTTEXT                         12              /* Highlighttext                        */
#define PK_WINDOW_INACTIVEBORDER                        13              /* Inactiveborder                       */
#define PK_WINDOW_INACTIVECAPTION                       14              /* Inactivecaption                      */
#define PK_WINDOW_INACTIVECAPTIONTEXT                   15              /* Inactivecaptiontext                  */
#define PK_WINDOW_INFOBACKGROUND                        16              /* Infobackground                       */
#define PK_WINDOW_INFOTEXT                              17              /* Infotext                             */
#define PK_WINDOW_MENU                                  18              /* Menu                                 */
#define PK_WINDOW_MENUTEXT                              19              /* Menutext                             */
#define PK_WINDOW_SCROLLBAR                             20              /* Scrollbar                            */
#define PK_WINDOW_THREEDDARKSHADOW                      21              /* Threeddarkshadow                     */
#define PK_WINDOW_THREEDFACE                            22              /* Threedface                           */
#define PK_WINDOW_THREEDHIGHLIGHT                       23              /* Threedhighlight                      */
#define PK_WINDOW_THREEDLIGHTSHADOW                     24              /* Threedlightshadow                    */
#define PK_WINDOW_THREEDSHADOW                          25              /* Threedshadow                         */
#define PK_WINDOW_WINDOW                                26              /* Window                               */
#define PK_WINDOW_WINDOWFRAME                           27              /* Windowframe                          */
#define PK_WINDOW_WINDOWTEXT                            28              /* Windowtext                           */
                                                                        /*  * Content                           */
#define PK_CONTENT_OPEN_QUOTE                           1               /* Open-Quote                           */
#define PK_CONTENT_CLOSE_QUOTE                          2               /* Close-Quote                          */
#define PK_CONTENT_NO_OPEN_QUOTE                        3               /* No-open-Quote                        */
#define PK_CONTENT_NO_CLOSE_QUOTE                       4               /* No-close-Quote                       */
                                                                        /*  * Counter-Increment                 */
#define PK_COUNTER_INCREMENT_NONE                       1               /* None                                 */
                                                                        /*  * Cursor (order match other tables) */
#define PK_CURSOR_IMPLIED                               0               /* (default) - NOTE                     */
#define PK_CURSOR_CROSSHAIR                             1               /* Crosshair                            */
#define PK_CURSOR_DEFAULT                               2               /* Default                              */
#define PK_CURSOR_POINTER                               3               /* Pointer                              */
#define PK_CURSOR_MOVE                                  4               /* Move                                 */
#define PK_CURSOR_E_RESIZE                              5               /* E-Resize                             */
#define PK_CURSOR_NE_RESIZE                             6               /* NE-Resize                            */
#define PK_CURSOR_NW_RESIZE                             7               /* NW-Resize                            */
#define PK_CURSOR_N_RESIZE                              8               /* N-Resize                             */
#define PK_CURSOR_SE_RESIZE                             9               /* SE-Resize                            */
#define PK_CURSOR_SW_RESIZE                             10              /* SW-Resize                            */
#define PK_CURSOR_S_RESIZE                              11              /* S-Resize                             */
#define PK_CURSOR_W_RESIZE                              12              /* W-Resize                             */
#define PK_CURSOR_TEXT                                  13              /* Text                                 */
#define PK_CURSOR_WAIT                                  14              /* Wait                                 */
#define PK_CURSOR_HELP                                  15              /* Help                                 */
#define PK_CURSOR_PROGRESS                              16              /* Progress                             */
#define PK_CURSOR_ALIAS                                 17              /* Alias                                */
#define PK_CURSOR_ALL_SCROLL                            18              /* All-Scroll                           */
#define PK_CURSOR_CELL                                  19              /* Cell                                 */
#define PK_CURSOR_CONTEXT_MENU                          20              /* Context-Menu                         */
#define PK_CURSOR_COL_RESIZE                            21              /* Col-Resize                           */
#define PK_CURSOR_COPY                                  22              /* Copy                                 */
#define PK_CURSOR_EW_RESIZE                             23              /* EW-Resize                            */
#define PK_CURSOR_GRAB                                  24              /* Grab                                 */
#define PK_CURSOR_GRABBING                              25              /* Grabbing                             */
#define PK_CURSOR_NESW_RESIZE                           26              /* NESW-Resize                          */
#define PK_CURSOR_NS_RESIZE                             27              /* NS-Resize                            */
#define PK_CURSOR_NWSE_RESIZE                           28              /* NWSE-Resize                          */
#define PK_CURSOR_NO_DROP                               29              /* No-Drop                              */
#define PK_CURSOR_NONE                                  30              /* None                                 */
#define PK_CURSOR_NOT_ALLOWED                           31              /* Not-Allowed                          */
#define PK_CURSOR_ROW_RESIZE                            32              /* Row-Resize                           */
#define PK_CURSOR_VERTICAL_TEXT                         33              /* Vertical-Text                        */
#define PK_CURSOR_ZOOM_IN                               34              /* Zoom-In                              */
#define PK_CURSOR_ZOOM_OUT                              35              /* Zoom-Out                             */
#define PK_CURSOR__LAST                                 35              /* (last item)                          */
                                                                        /*  * Direction                         */
#define PK_DIRECTION_DEFAULT                             0              /* (default)                            */
#define PK_DIRECTION_LTR                                 1              /* Ltr                                  */
#define PK_DIRECTION_RTL                                 2              /* Rtl                                  */
#define PK_DIRECTION__LAST                               2              /* (last item)                          */
                                                                        /*  * Display   (must match BS_BOX_)    */
#define PK_DISPLAY_DEFAULT                               0              /* (default)                            */
#define PK_DISPLAY_BLOCK                                 1              /* Block                                */      //W3C
#define PK_DISPLAY_COMPACT                               2              /* Compact                              */
#define PK_DISPLAY_CONTENTS                              3              /* Contents                             */
#define PK_DISPLAY_FLEX                                  4              /* Flex                                 */      //W3C
#define PK_DISPLAY_GRID                                  5              /* Grid                                 */      //W3C
#define PK_DISPLAY_INITIAL                               6              /* Initial                              */
#define PK_DISPLAY_INLINE                                7              /* Inline                               */      //W3C
#define PK_DISPLAY_INLINE_BLOCK                          8              /* Inline-Block                         */      //W3C
#define PK_DISPLAY_INLINE_FLEX                           9              /* Inline-Flex                          */      //W3C
#define PK_DISPLAY_INLINE_GRID                          10              /* Inline-Grid                          */      //W3C
#define PK_DISPLAY_INLINE_LIST_ITEM                     11              /* Inline-List-Item                     */      //W3C
#define PK_DISPLAY_INLINE_TABLE                         12              /* Inline-Table                         */      //W3C
#define PK_DISPLAY_LIST_ITEM                            13              /* List-Item                            */      //W3C
#define PK_DISPLAY_MARKER                               14              /* Marker                               */
#define PK_DISPLAY_NONE                                 15              /* None                                 */      //W3C
#define PK_DISPLAY_RUBY                                 16              /* Ruby                                 */      //W3C
#define PK_DISPLAY_RUN_IN                               17              /* Run-In                               */
#define PK_DISPLAY_TABLE                                18              /* Table                                */      //W3C
#define PK_DISPLAY_TABLE_CAPTION                        19              /* Table-Caption                        */      //W3C
#define PK_DISPLAY_TABLE_CELL                           20              /* Table-Cell                           */      //W3C
#define PK_DISPLAY_TABLE_COLUMN                         21              /* Table-Column                         */
#define PK_DISPLAY_TABLE_COLUMN_GROUP                   22              /* Table-Column-Group                   */
#define PK_DISPLAY_TABLE_FOOTER_GROUP                   23              /* Table-Footer-Group                   */
#define PK_DISPLAY_TABLE_HEADER_GROUP                   24              /* Table-Header-Group                   */
#define PK_DISPLAY_TABLE_ROW_GROUP                      25              /* Table-Row-Group                      */
#define PK_DISPLAY_TABLE_ROW                            26              /* Table-Row                            */
#define PK_DISPLAY__LAST                                26              /* (last item)                          */
                                                                        /*  * Elevation                         */
#define PK_ELEVATION_DEFAULT                            0               /* (default)                            */
#define PK_ELEVATION_BELOW                              1               /* Below                                */
#define PK_ELEVATION_LEVEL                              2               /* Level                                */
#define PK_ELEVATION_ABOVE                              3               /* Above                                */
#define PK_ELEVATION_HIGHER                             4               /* Higher                               */
#define PK_ELEVATION_LOWER                              5               /* Lower                                */
#define PK_ELEVATION__LAST                              5               /* (last item)                          */
                                                                        /*  * Empty-Cells                       */
#define PK_EMPTY_CELLS_DEFAULT                          0               /* (default)                            */
#define PK_EMPTY_CELLS_SHOW                             1               /* Show                                 */
#define PK_EMPTY_CELLS_HIDE                             2               /* Hide                                 */
#define PK_EMPTY_CELLS__LAST                            2               /* (last item)                          */
                                                                        /*  * Flex-Basis                        */
#define PK_FLEX_BASIS_CONTENT                           1               /* Content                              */
#define PK_FLEX_BASIS_END                               2               /* End marker                           */
                                                                        /*  * Flex-Direction                    */
#define PK_FLEX_DIRECTION_ROW                           1               /* Row                                  */
#define PK_FLEX_DIRECTION_ROW_REVERSE                   2               /* Row-Reverse                          */
#define PK_FLEX_DIRECTION_COLUMN                        3               /* Column                               */
#define PK_FLEX_DIRECTION_COLUMN_REVERSE                4               /* Column-Reverse                       */
#define PK_FLEX_DIRECTION_END                           5               /* End marker                           */
                                                                        /*  * Flex-Wrap                         */
#define PK_FLEX_WRAP_NOWRAP                             1               /* Nowrap                               */
#define PK_FLEX_WRAP_WRAP                               2               /* Wrap                                 */
#define PK_FLEX_WRAP_WRAP_REVERSE                       3               /* Wrap-Reverse                         */
#define PK_FLEX_WRAP_END                                4               /* End marker                           */
                                                                        /*  * Float                             */
#define PK_FLOAT_DEFAULT                                0               /* (default)                            */
#define PK_FLOAT_NONE                                   1               /* None                                 */
#define PK_FLOAT_LEFT                                   2               /* Left                                 */
#define PK_FLOAT_RIGHT                                  3               /* Right                                */
                                                                        /*  * Font Size                         */
#define PK_FONT_SIZE_DEFAULT                            0               /* (default)                            */
#define PK_FONT_SIZE_XX_SMALL                           1               /* Size Range 1 (note that this is the  */
#define PK_FONT_SIZE_X_SMALL                            2               /* Size Range 2  same for IE but not    */
#define PK_FONT_SIZE_SMALL                              3               /* Size Range 3  for FireFox)           */
#define PK_FONT_SIZE_MEDIUM                             4               /* Size Range 4                         */
#define PK_FONT_SIZE_LARGE                              5               /* Size Range 5                         */
#define PK_FONT_SIZE_X_LARGE                            6               /* Size Range 6                         */
#define PK_FONT_SIZE_XX_LARGE                           7               /* Size Range 7                         */
#define PK_FONT_SIZE_LARGER                             8               /* Same as Range +1                     */
#define PK_FONT_SIZE_SMALLER                            9               /* Same as Range -1                     */
                                                                        /*  * Font-Size-Adjust                  */
#define PK_FONT_SIZE_ADJUST_DEFAULT                     0               /* (default)                            */
#define PK_FONT_SIZE_ADJUST_NONE                        1               /* None                                 */
                                                                        /*  * Stretch Values CSS                */
#define PK_FONT_STRETCH_DEFAULT                         0               /* (default)                            */
#define PK_FONT_STRETCH_NORMAL                          1               /* Normal                               */
#define PK_FONT_STRETCH_WIDER                           2               /* Wider                                */
#define PK_FONT_STRETCH_NARROWER                        3               /* Narrow                               */
#define PK_FONT_STRETCH_ULTRA_CONDENSED                 4               /* Ultra-Condensed                      */
#define PK_FONT_STRETCH_EXTRA_CONDENSED                 5               /* Extra-Condensed                      */
#define PK_FONT_STRETCH_CONDENSED                       6               /* Condensed                            */
#define PK_FONT_STRETCH_SEMI_CONDENSED                  7               /* Semi-Condensed                       */
#define PK_FONT_STRETCH_SEMI_EXPANDED                   8               /* Semi-Expanded                        */
#define PK_FONT_STRETCH_EXPANDED                        9               /* Expanded                             */
#define PK_FONT_STRETCH_EXTRA_EXPANDED                  10              /* Extra-Expanded                       */
#define PK_FONT_STRETCH_ULTRA_EXPANDED                  11              /* Ultra-Expanded                       */
                                                                        /*  * Font-Style                        */
#define PK_FONT_STYLE_NORMAL                            1               /* Normal                               */
#define PK_FONT_STYLE_ITALIC                            2               /* Italic                               */
#define PK_FONT_STYLE_OBLIQUE                           3               /* Oblique                              */
                                                                        /*  * Font-Variant                      */
#define PK_FONT_VARIANT_NORMAL                          1               /* Normal                               */
#define PK_FONT_VARIANT_SMALL_CAPS                      2               /* Small-Caps                           */
                                                                        /*  * Font-Variant-Caps                 */
#define PK_FVC_NORMAL                                   1               /* Normal                               */
#define PK_FVC_SMALL_CAPS                               2               /* Small-Caps                           */
#define PK_FVC_ALL_SMALL_CAPS                           3               /* All-Small-Caps                       */
#define PK_FVC_PETITE_CAPS                              4               /* Petite-Caps",                        */
#define PK_FVC_ALL_PETITE_CAPS                          5               /* All-Petite-Caps                      */
#define PK_FVC_UNICASE                                  6               /* Unicase                              */
#define PK_FVC_TITLING_CAPS                             7               /* Titling-Caps                         */
                                                                        /*  * Font-Variant-East-Asian           */
#define PK_FVEA_NORMAL                                  1               /* Normal                               */
#define PK_FVEA_JIS78                                   2               /* JIS78                                */
#define PK_FVEA_JIS83                                   3               /* JIS83                                */
#define PK_FVEA_JIS90                                   4               /* JIS90                                */
#define PK_FVEA_JIS04                                   5               /* JIS04                                */
#define PK_FVEA_SIMPLIFIED                              6               /* Simplified                           */
#define PK_FVEA_TRADITIONAL                             7               /* Traditional                          */
#define PK_FVEA_FULL_WIDTH                              8               /* Full-Width                           */
#define PK_FVEA_PROPORTIONAL_WIDTH                      9               /* Proportional-Width                   */
#define PK_FVEA_RUBY                                    10              /* Ruby                                 */
                                                                        /*  * Font-Variant-Numeric              */
#define PK_FVN_NORMAL                                   1               /* Normal                               */
#define PK_FVN_LINING_NUMS                              2               /* Lining-Nums                          */
#define PK_FVN_OLDSTYLE_NUMS                            3               /* Oldstyle-Nums                        */
#define PK_FVN_PROPORTIONAL_NUMS                        4               /* Proportional-Nums                    */
#define PK_FVN_TABULAR_NUMS                             5               /* Tabular-Nums                         */
#define PK_FVN_DIAGONAL_FRACTIONS                       6               /* Diagonal-Fractions                   */
#define PK_FVN_STACKED_FRACTIONS                        7               /* Stacked-Fractions                    */
#define PK_FVN_ORDINAL                                  8               /* Ordinal                              */
#define PK_FVN_SLASHED_ZERO                             9               /* Slashed-Zero                         */
                                                                        /*  * Font-Variant-Ligature             */
#define PK_FVL_NORMAL                                   1               /* Normal                               */
#define PK_FVL_COMMON_LIGATURES                         2               /* Common-Ligatures                     */
#define PK_FVL_NO_COMMON_LIGATURES                      3               /* No-Common-Ligatures                  */
#define PK_FVL_DISCRETIONARY_LIGATURES                  4               /* Discretionary-Ligatures              */
#define PK_FVL_NO_DISCRETIONARY_LIGATURES               5               /* No-Discretionary-Ligatures           */
#define PK_FVL_HISTORICAL_LIGATURES                     6               /* Historical-Ligatures                 */
#define PK_FVL_NO_HISTORICAL_LIGATURES                  7               /* No-Historical-Ligatures              */
#define PK_FVL_CONTEXTUAL                               8               /* Contextual                           */
#define PK_FVL_NO_CONTEXTUAL                            9               /* No-Contextual                        */
                                                                        /*  * Font-Variant-Position             */
#define PK_FVP_NORMAL                                   1               /* Normal                               */
#define PK_FVP_SUB                                      2               /* Sub                                  */
#define PK_FVP_SUPER                                    3               /* Super                                */
                                                                        /*  * Font-Weight                       */
#define PK_FONT_WEIGHT_NORMAL                           1               /* Normal                               */
#define PK_FONT_WEIGHT_BOLD                             2               /* Bold                                 */
#define PK_FONT_WEIGHT_BOLDER                           3               /* Bolder                               */
#define PK_FONT_WEIGHT_LIGHT                            4               /* Light                                */
#define PK_FONT_WEIGHT_LIGHTER                          5               /* Lighter                              */
#define PK_FONT_WEIGHT_100                              6               /* 100                                  */
#define PK_FONT_WEIGHT_200                              7               /* 200                                  */
#define PK_FONT_WEIGHT_300                              8               /* 300                                  */
#define PK_FONT_WEIGHT_400                              9               /* 400                                  */
#define PK_FONT_WEIGHT_500                              10              /* 500                                  */
#define PK_FONT_WEIGHT_600                              11              /* 600                                  */
#define PK_FONT_WEIGHT_700                              12              /* 700                                  */
#define PK_FONT_WEIGHT_800                              13              /* 800                                  */
#define PK_FONT_WEIGHT_900                              14              /* 900                                  */
                                                                        /*  * Gap                               */
#define PK_GAP_NORMAL                                   1               /* Normal                               */
#define PK_GAP_END                                      2               /* End marker                           */
                                                                        /*  * Grid-Auto-Flow                    */
#define PK_GRID_AUTO_FLOW_ROW                           1               /* Row                                  */
#define PK_GRID_AUTO_FLOW_COLUMN                        2               /* Column                               */
#define PK_GRID_AUTO_FLOW_DENSE                         3               /* Dense                                */
#define PK_GRID_AUTO_FLOW_END                           4               /* End marker                           */
                                                                        /*  * Height                            */
#define PK_HEIGHT_AUTO                                  1               /* Auto                                 */
                                                                        /*  * Left (same as other position)     */
#define PK_LEFT_AUTO                                    1               /* Auto                                 */
                                                                        /*  * Letter Spacing                    */
#define PK_LETTER_SPACING_NORMAL                        1               /* Normal                               */
                                                                        /*  * Letter Spacing                    */
#define PK_LINE_HEIGHT_NORMAL                           1               /* Normal                               */
                                                                        /*  * List-Style-Image                  */
#define PK_LIST_STYLE_IMAGE_NONE                        1               /* None                                 */
                                                                        /*  * List-Style-Position               */
#define PK_LIST_STYLE_POS_INSIDE                        1               /* Inside                               */
#define PK_LIST_STYLE_POS_OUTSIDE                       2               /* Outside                              */
                                                                        /*  * List-Style-Type                   */
#define PK_LIST_STYLE_TYPE_DEFAULT                      0               /* (default)                            */
#define PK_LIST_STYLE_TYPE_NONE                         1               /* None                                 */
#define PK_LIST_STYLE_TYPE_DISC                         2               /* Disc                                 */
#define PK_LIST_STYLE_TYPE_CIRCLE                       3               /* Circle                               */
#define PK_LIST_STYLE_TYPE_SQUARE                       4               /* Square                               */
#define PK_LIST_STYLE_TYPE_DECIMAL                      5               /* Decimal                              */
#define PK_LIST_STYLE_TYPE_DECIMAL_LDG_ZERO             6               /* Decimal-Leading-Zero                 */
#define PK_LIST_STYLE_TYPE_LOWER_ROMAN                  7               /* Lower-Roman                          */
#define PK_LIST_STYLE_TYPE_UPPER_ROMAN                  8               /* Upper-Roman                          */
#define PK_LIST_STYLE_TYPE_LOWER_ALPHA                  9               /* Lower-Alpha                          */
#define PK_LIST_STYLE_TYPE_UPPER_ALPHA                  10              /* Upper-Alpha                          */
#define PK_LIST_STYLE_TYPE_LOWER_LATIN                  11              /* Lower-Latin                          */
#define PK_LIST_STYLE_TYPE_UPPER_LATIN                  12              /* Upper-Latin                          */
#define PK_LIST_STYLE_TYPE_LOWER_GREEK                  13              /* Lower-Greek                          */
#define PK_LIST_STYLE_TYPE_UPPER_GREEK                  14              /* Upper-Greek                          */
#define PK_LIST_STYLE_TYPE_HEBREW                       15              /* Hebrew                               */
#define PK_LIST_STYLE_TYPE_ARMENIAN                     16              /* Armenian                             */
#define PK_LIST_STYLE_TYPE_GEORGIAN                     17              /* Georgian                             */
#define PK_LIST_STYLE_TYPE_CJK_IDEOGRAPHIC              18              /* CJK-Ideographic                      */
#define PK_LIST_STYLE_TYPE_HIRAGANA                     19              /* Hiragana                             */
#define PK_LIST_STYLE_TYPE_KATAKANA                     20              /* Katakana                             */
#define PK_LIST_STYLE_TYPE_HIRAGANA_IROHA               21              /* Hiragana-Iroha                       */
#define PK_LIST_STYLE_TYPE_KATAKANA_IROHA               22              /* Katakana-Iroha                       */
                                                                        /*  * Marks                             */
#define PK_MARKS_CROP                                   1               /* Crop                                 */
#define PK_MARKS_CROSS                                  2               /* Cross                                */
#define PK_MARKS_NONE                                   3               /* None                                 */
#define PK_MARKS_END                                    4               /* End                                  */
                                                                        /*  * Overflow                          */
#define PK_OVERFLOW_HIDDEN                              1               /* Hidden                               */
#define PK_OVERFLOW_SCROLL                              2               /* Scroll                               */
#define PK_OVERFLOW_VISIBLE                             3               /* Visible                              */
#define PK_OVERFLOW_AUTO                                PK_AUTO         /* Auto                                 */
                                                                        /*  * Overflow-Wrap                     */
#define PK_OVERFLOW_WRAP_NORMAL                         1               /* Normal                               */
#define PK_OVERFLOW_WRAP_BREAK_WORD                     2               /* Break-Word                           */
#define PK_OVERFLOW_WRAP_ANYWHERE                       3               /* Anywhere                             */
                                                                        /* * Outline-Color                      */
#define PK_OUTLINE_COLOR_INVERT                         1               /* Invert                               */
#define PK_OUTLINE_COLOR_TRANSPARENT                    2               /* Transparent                          */
#define PK_OUTLINE_COLOR_END                            3               /* End marker                           */
                                                                        /*  * Page                              */
#define PK_PAGE_AUTO                                    1               /* Auto                                 */
                                                                        /*  * Page-Break-After/Before           */
#define PK_PAGE_BREAK_ALL                               1               /* All                                  */
#define PK_PAGE_BREAK_ALWAYS                            2               /* Always                               */
#define PK_PAGE_BREAK_AVOID                             3               /* Avoid                                */
#define PK_PAGE_BREAK_AVOID_COLUMN                      4               /* Avoid-Column                         */
#define PK_PAGE_BREAK_AVOID_PAGE                        5               /* Avoid-Page                           */
#define PK_PAGE_BREAK_AVOID_REGION                      6               /* Avoid-Region                         */
#define PK_PAGE_BREAK_COLUMN                            7               /* Column                               */
#define PK_PAGE_BREAK_LEFT                              8               /* Left                                 */
#define PK_PAGE_BREAK_PAGE                              9               /* Page                                 */
#define PK_PAGE_BREAK_RECTO                             10              /* Recto                                */
#define PK_PAGE_BREAK_REGION                            11              /* Region                               */
#define PK_PAGE_BREAK_RIGHT                             12              /* Right                                */
#define PK_PAGE_BREAK_VERSO                             13              /* Verso                                */
#define PK_PAGE_BREAK_END_LIST                          13              /* end of list                          */
                                                                        /*  * Page-Break-Inside                 */
                                                                        /* See PK_PAGE_BREAK_                   */
                                                                        /*  * Pause                             */
#define PK_PAUSE_NONE                                   1               /* None                                 */
#define PK_PAUSE_X_WEAK                                 2               /* X-Weak                               */
#define PK_PAUSE_WEAK                                   3               /* Weak                                 */
#define PK_PAUSE_MEDIUM                                 4               /* Medium                               */
#define PK_PAUSE_STRONG                                 5               /* Strong                               */
#define PK_PAUSE_X_STRONG                               6               /* X-Strong                             */
#define PK_PAUSE_END                                    7               /* End                                  */
                                                                        /*  * Pitch                             */
#define PK_PITCH_X_LOW                                  1               /* X-Low                                */
#define PK_PITCH_LOW                                    2               /* Low                                  */
#define PK_PITCH_MEDIUM                                 3               /* Medium                               */
#define PK_PITCH_HIGH                                   4               /* High                                 */
#define PK_PITCH_X_HIGH                                 5               /* X-High                               */
#define PK_PITCH_END                                    6               /* Avoid                                */
                                                                        /*  * Play-During                       */
#define PK_PLAY_DURING_AUTO                             1               /* Auto                                 */
#define PK_PLAY_DURING_MIX                              2               /* Mix                                  */
#define PK_PLAY_DURING_NONE                             3               /* None                                 */
#define PK_PLAY_DURING_REPEAT                           4               /* Repeat                               */
                                                                        /*  * Position                          */
#define PK_POSITION_ABSOLUTE                            1               /* Absolute                             */
#define PK_POSITION_FIXED                               2               /* Fixed                                */
#define PK_POSITION_RELATIVE                            3               /* Relative                             */
#define PK_POSITION_STATIC                              4               /* Static                               */
                                                                        /*  * Right (same as other position)    */
#define PK_RIGHT_AUTO                                   1               /* Auto                                 */
                                                                        /*  * Size                              */
#define PK_SIZE_LANDSCAPE                               1               /* Landscape                            */
#define PK_SIZE_PORTRAIT                                2               /* Portrait                             */
#define PK_SIZE_A5                                      3               /* A5                                   */
#define PK_SIZE_A4                                      4               /* A4                                   */
#define PK_SIZE_A3                                      5               /* A3                                   */
#define PK_SIZE_B5                                      6               /* B5                                   */
#define PK_SIZE_B4                                      7               /* B4                                   */
#define PK_SIZE_JIS_B5                                  8               /* JIS-B5                               */
#define PK_SIZE_JIS_B4                                  9               /* JIS-B4                               */
#define PK_SIZE_LETTER                                  10              /* Letter                               */
#define PK_SIZE_LEGAL                                   11              /* Legal                                */
#define PK_SIZE_LEDGER                                  12              /* Ledger                               */
#define PK_SIZE_END                                     13              /* End-Marker                           */
                                                                        /*  * Speak                             */
#define PK_SPEAK_NORMAL                                 1               /* Normal                               */
#define PK_SPEAK_NONE                                   2               /* None                                 */
#define PK_SPEAK_SPELL_OUT                              3               /* Spell-out                            */
#define PK_SPEAK_END                                    4               /* End marker                           */
                                                                        /*  * Speak_Header                      */
#define PK_SPEAK_HEADER_ALWAYS                          1               /* Always                               */
#define PK_SPEAK_HEADER_ONCE                            2               /* Once                                 */
#define PK_SPEAK_HEADER_END                             3               /* End marker                           */
                                                                        /*  * Speak_Numeral                     */
#define PK_SPEAK_NUMERAL_CONTINUOUS                     1               /* Continuous                           */
#define PK_SPEAK_NUMERAL_DIGITS                         2               /* Digits                               */
#define PK_SPEAK_NUMERAL_END                            3               /* End marker                           */
                                                                        /*  * Speak_Punctuation                 */
#define PK_SPEAK_PUNCTUATION_CODE                       1               /* Code                                 */
#define PK_SPEAK_PUNCTUATION_NONE                       2               /* None                                 */
#define PK_SPEAK_PUNCTUATION_END                        3               /* End marker                           */
                                                                        /*  * Speak_Punctuation                 */
#define PK_SPEECH_RATE_X_SLOW                           1               /* X-Slow                               */
#define PK_SPEECH_RATE_SLOW                             2               /* Slow                                 */
#define PK_SPEECH_RATE_MEDIUM                           3               /* Medium                               */
#define PK_SPEECH_RATE_FAST                             4               /* Fast                                 */
#define PK_SPEECH_RATE_X_FAST                           5               /* X-Fast                               */
#define PK_SPEECH_RATE_FASTER                           6               /* Faster                               */
#define PK_SPEECH_RATE_SLOWER                           7               /* Slower                               */
#define PK_SPEECH_RATE_END                              8               /* End marker                           */
                                                                        /*  * Table-Layout                      */
#define PK_TABLE_LAYOUT_AUTO                            1               /* Auto                                 */
#define PK_TABLE_LAYOUT_FIXED                           2               /* Fixed                                */
                                                                        /*  * Text-Align (Match HTML ALIGN)     */
#define PK_TEXT_ALIGN_LEFT                              1               /* Left                                 */
#define PK_TEXT_ALIGN_RIGHT                             2               /* Right                                */
#define PK_TEXT_ALIGN_CENTER                            3               /* Center                               */
#define PK_TEXT_ALIGN_JUSTIFY                           4               /* Justify                              */
                                                                        /*  * Text-Decoration                   */
#define PK_TEXT_DECORATION_LINE_UNDER                   1               /* Underline                            */
#define PK_TEXT_DECORATION_LINE_THROUGH                 2               /* Line-Through                         */
#define PK_TEXT_DECORATION_LINE_OVER                    3               /* Overline                             */
#define PK_TEXT_DECORATION_LINE_UNDER_THROUGH           4               /* Underline Through Line               */
#define PK_TEXT_DECORATION_LINE_UNDER_OVER              5               /* Underline Over Line                  */
#define PK_TEXT_DECORATION_LINE_UNDER_THROUGH_OVER      6               /* Underline Through Over Line          */
#define PK_TEXT_DECORATION_LINE_THROUGH_OVER            7               /* Line-Through Over                    */
//efine PK_TEXT_DECORATION_BLINK                        8               /* Blink                                */      // no longer supported by browsers
                                                                        /*  * Text-Decoration-Style             */
#define PK_TEXT_DECORATION_STYLE_SOLID                  1               /* Solid                                */
#define PK_TEXT_DECORATION_STYLE_DOUBLE                 2               /* Double                               */
#define PK_TEXT_DECORATION_STYLE_DOTTED                 3               /* Dotted                               */
#define PK_TEXT_DECORATION_STYLE_DASHED                 4               /* Dashed                               */
#define PK_TEXT_DECORATION_STYLE_WAVY                   5               /* Wavy                                 */
#define PK_TEXT_DECORATION_STYLE_END                    6               /* End marker                           */
                                                                        /*  * Text-Transform                    */
#define PK_TEXT_TRANSFORM_CAPTIALIZE                    1               /* Capitalize                           */
#define PK_TEXT_TRANSFORM_UPPERCASE                     2               /* Uppercase                            */
#define PK_TEXT_TRANSFORM_LOWERCASE                     3               /* Lowercase                            */
#define PK_TEXT_TRANSFORM_NONE                          4               /* None                                 */
                                                                        /*  * Text-Underline-Style      (CSS-3) */
#define PK_TEXT_UNDERLINE_STYLE_NONE                    1               /* None                                 */
#define PK_TEXT_UNDERLINE_STYLE_SOLID                   2               /* Solid                                */
#define PK_TEXT_UNDERLINE_STYLE_DOUBLE                  3               /* Double                               */
#define PK_TEXT_UNDERLINE_STYLE_DOTTED                  4               /* Dotted                               */
#define PK_TEXT_UNDERLINE_STYLE_DASHED                  5               /* Dashed                               */
#define PK_TEXT_UNDERLINE_STYLE_DOT_DASH                6               /* Dot-Dash                             */
#define PK_TEXT_UNDERLINE_STYLE_DOT_DOT_DASH            7               /* Dot-Dot-Dash                         */
#define PK_TEXT_UNDERLINE_STYLE_WAVE                    8               /* Wave                                 */
                                                                        /*  * Top/Right/Bottom/Left Etc         */
#define PK_TOP_AUTO                                     1               /* Auto                                 */
#define PK_TOP_ETC_AUTO                                 1               /* Auto (for coverage of b, l, r)       */
                                                                        /*  * Grid-Properties                   */
#define PK_GRID_BREADTH_MIN_CONTENT                     1               /* min-content                          */
#define PK_GRID_BREADTH_MAX_CONTENT                     2               /* max-content                          */
#define PK_GRID_BREADTH_AUTO                            3               /* auto                                 */
#define PK_GRID_SIZE_MINMAX                             4               /* minmax                               */
#define PK_GRID_SIZE_FIT_CONTENT                        5               /* fit-content                          */
#define PK_GRID_REPEAT                                  6               /* repeat                               */
#define PK_GRID_LINE_SPAN                               7               /* grid-line span                       */
#define PK_GRID_REPEAT_AUTO_FILL                        8               /* grid-repeat auto-fill                */
#define PK_GRID_REPEAT_AUTO_FIT                         9               /* grid-repeat auto-fit                 */
#define PK_GRID_END                                     10              /* End marker                           */

                                                                        /*  * Transition-Property               */
#define PK_TRANSITION_PROPERTY_ALL                      1               /* All                                  */
#define PK_TRANSITION_PROPERTY_END                      2               /* End marker                           */
                                                                        /*  * Transition-Property               */
#define PK_TIMING_FUNCTION_LINEAR                       1               /* Linear                               */
#define PK_TIMING_FUNCTION_EASE                         2               /* Ease                                 */
#define PK_TIMING_FUNCTION_EASE_IN                      3               /* Ease-In                              */
#define PK_TIMING_FUNCTION_EASE_OUT                     4               /* Ease-Out                             */
#define PK_TIMING_FUNCTION_EASE_IN_OUT                  5               /* Ease-In-out                          */
#define PK_TIMING_FUNCTION_STEP_START                   6               /* Step-Start                           */
#define PK_TIMING_FUNCTION_STEP_END                     7               /* Step-End                             */
#define PK_TIMING_FUNCTION_JUMP_START                   8               /* Jump-Start                           */
#define PK_TIMING_FUNCTION_JUMP_END                     9               /* Jump-End                             */
#define PK_TIMING_FUNCTION_JUMP_NONE                    10              /* Jump-None                            */
#define PK_TIMING_FUNCTION_JUMP_BOTH                    11              /* Jump-Both                            */
#define PK_TIMING_FUNCTION_START                        12              /* Start                                */
#define PK_TIMING_FUNCTION_END                          13              /* End                                  */
#define PK_TIMING_FUNCTION_BEZIER                       14              /* Bezier Keyword                       */
#define PK_TIMING_FUNCTION_STEPS                        15              /* Steps Keyword                        */
#define PK_TIMING_FUNCTION_END_MARKER                   16              /* End marker                           */
                                                                        /*  * Unicode-Bidi                      */
#define PK_UNICODE_BIDI_NORMAL                          1               /* Normal                               */
#define PK_UNICODE_BIDI_EMBED                           2               /* Embed                                */
#define PK_UNICODE_BIDI_ISOLATE                         3               /* Isolate                              */
#define PK_UNICODE_BIDI_BIDI_OVERRIDE                   4               /* Bidi-Override                        */
#define PK_UNICODE_BIDI_ISOLATE_OVERRIDE                5               /* Isolate-Override                     */
#define PK_UNICODE_BIDI_PLAINTEXT                       6               /* Plaintext                            */
#define PK_UNICODE_BIDI_END                             7               /* End marker                           */
                                                                        /*  * Vertical Align (match HTML base)  */
#define PK_VERTICAL_ALIGN_TOP                           1               /* Top (of Area)                        */
#define PK_VERTICAL_ALIGN_MIDDLE                        2               /* Middle                               */
#define PK_VERTICAL_ALIGN_BOTTOM                        3               /* Bottom (of Area)                     */
#define PK_VERTICAL_ALIGN_BASELINE                      4               /* Baseline                             */
#define PK_VERTICAL_ALIGN_SUB                           5               /* Sub(script)                          */
#define PK_VERTICAL_ALIGN_SUPER                         6               /* Super(script)                        */
#define PK_VERTICAL_ALIGN_TEXT_TOP                      7               /* Text-Top                             */
#define PK_VERTICAL_ALIGN_TEXT_BOTTOM                   8               /* Text-Bottom                          */
                                                                        /*  * Visibility                        */
#define PK_VISIBILITY_VISIBLE                           1               /* Visible                              */
#define PK_VISIBILITY_HIDDEN                            2               /* Hidden                               */
#define PK_VISIBILITY_COLLAPSE                          3               /* Collapse                             */
                                                                        /*  * Volume                            */
#define PK_VOLUME_SILENT                                1               /* Silent                               */
#define PK_VOLUME_X_SOFT                                2               /* X-Soft                               */
#define PK_VOLUME_SOFT                                  3               /* Soft                                 */
#define PK_VOLUME_MEDIUM                                4               /* Medium                               */
#define PK_VOLUME_LOUD                                  5               /* Loud                                 */
#define PK_VOLUME_X_LOUD                                6               /* X-Loud                               */
#define PK_VOLUME_END                                   7               /* End marker                           */
                                                                        /*  * Width                             */
#define PK_WIDTH_AUTO                                   1               /* Auto                                 */
                                                                        /*  * White-Space                       */
#define PK_WHITE_SPACE_NORMAL                           1               /* Normal                               */
#define PK_WHITE_SPACE_INITIAL                          2               /* Initial                              */
#define PK_WHITE_SPACE_PRE                              3               /* Pre                                  */
#define PK_WHITE_SPACE_PRE_LINE                         4               /* Pre-Line                             */
#define PK_WHITE_SPACE_PRE_WRAP                         5               /* Pre-Wrap                             */
#define PK_WHITE_SPACE_NOWRAP                           6               /* NoWrap                               */
                                                                        /*  * Word-Break                        */
#define PK_WORD_BREAK_NORMAL                            1               /* Normal                               */
#define PK_WORD_BREAK_KEEP_ALL                          2               /* Keep-All                             */
#define PK_WORD_BREAK_BREAK_ALL                         3               /* Break-All                            */
                                                                        /*  * Word-Spacing                      */
#define PK_WORD_SPACING_NORMAL                          1               /* Normal                               */
                                                                        /*  * Z-Index                           */
#define PK_Z_INDEX_AUTO                                 1               /* Auto                                 */
                                                                        /*  * Non-W3C                           */
                                                                        /*  o Novaworks                         */
#define PK_NWS_BLOCK_BEHAVIOR_SOFT                      1               /* Soft                                 */
                                                                        /*  o SEC-Extract                       */
#define PK_SEC_EXTRACT_EXHIBIT                          1               /* Exhibit                              */
#define PK_SEC_EXTRACT_SUMMARY                          2               /* Summary                              */
                                                                        /*  o SEC-IX-Redline                    */
#define PK_SEC_IX_REDLINE_TRUE                          1               /* True                                 */


                                                                /************************************************/
                                                                /* HTML Element Testers                         */
                                                                /************************************************/

                                                                        /****************************************/
#define HTML_IS_FALSE                                   0               /* Does Not Match Element Type, FALSE   */
#define HTML_IS_OPEN                                    1               /* Head Element is an Open Tag          */
#define HTML_IS_CLOSE                                   2               /* Head Element is an Close Tag         */
#define HTML_IS_SELF                                    4               /* Head Element is an Self Close Tag    */
#define HTML_IS_DOC_CLOSE                               5               /* Element Document Close Tag           */


                                                        /********************************************************/
                                                        /* HTML Table Object                                    */
                                                        /* -----------------                                    */
                                                        /********************************************************/

                                                                        /****************************************/
                                                                        /*                                      */
                                                                        /* ** Error Flags (err_flags)           */
                                                                        /*  * Tagging Order Errors              */
#define MAP_ERROR_ROW_NEST                              0x00000001      /* Row Nesting Error                    */
#define MAP_ERROR_TABLE_CLOSE                           0x00000002      /* Failure to Close Table               */
                                                                        /*  * Tagging Content Errors            */
#define MAP_ERROR_IN_CELL                               0x00000010      /* There was as Error in a Cell         */
#define MAP_ERROR_IN_ROW                                0x00000020      /* There was as Error in a Row          */
#define MAP_ERROR_IN_COL                                0x00000040      /* There was as Error in COL Groups     */
                                                                        /*  * Text Errors                       */
#define MAP_ERROR_PCDATA_CONTEXT                        0x00000100      /* PC Data Out Of Context               */
#define MAP_ERROR_ELEMENT_CONTEXT                       0x00000200      /* Element Out Of Context               */
                                                                        /*  * Span Errors                       */
#define MAP_ERROR_ROW_SPAN_OUTSIDE                      0x00001000      /* Row Spanned Outside Table            */
                                                                        /*                                      */
                                                                        /* ** Function Flags                    */
                                                                        /*  * Map Table Flags                   */
#define MAP_MT_CSS_WIDTHS                               0x00000001      /* Only Read CSS Widths                 */
                                                                        /*  * Get Layout Status (results)       */
#define MAP_GLS_ERRORS                                  0x000F0FF0      /* Has Width Errors                     */
#define MAP_GLS_WIDTH_ERROR                             0x00000FF0      /* Has Width Errors                     */
                                                                        /*  o Widths                            */
#define MAP_GLS_WIDTH_MIXED                             0x00000010      /* Has Mixed Width Data                 */
#define MAP_GLS_WIDTH_SPAN                              0x00000020      /* Spanned Col Has Width Data           */
#define MAP_GLS_WIDTH_OPEN                              0x00000040      /* Open or Default Width                */
#define MAP_GLS_WIDTH_VALUE_ERROR                       0x00000080      /* Width is in Error                    */
#define MAP_GLS_WIDTH_CONFLICT_UNITS                    0x00000100      /* Conflicting Width Units              */
                                                                        /*  o Overall Table                     */
#define MAP_GLS_TABLE_STRUCTURE_ERROR                   0x00010000      /* Some Sort of Structural Error        */
#define MAP_GLS_TABLE_UNITS                             0xFF000000      /* Units for Table (FF is mixed)        */
                                                                        /*  * Get Cell Content as Text          */
#define MAP_GCCT_ALLOW_STYLE_TAGS                       0x00000001      /* [IN]  Allow Style Tags               */
#define MAP_GCCT_CHAR_ENTITIES                          0x00010000      /* [OUT] Contained Untranslated Chars   */
#define MAP_GCCT_STYLE_TAGS                             0x00020000      /* [OUT] Contained Style Tags           */
#define MAP_GCCT_WHITE_TEXT                             0x00040000      /* [OUT] Contained White Text (tag)     */
#define MAP_GCCT_OBJECTS                                0x00080000      /* [OUT] Contained Image/Object         */
#define MAP_GCCT_STYLE_MASK                             0xFFF00000      /* [OUT] Style Mask                     */
#define MAP_GCCT_STYLE_B                                0x00100000      /* [OUT] Contained B Tag                */
#define MAP_GCCT_STYLE_I                                0x00200000      /* [OUT] Contained I Tag                */
#define MAP_GCCT_STYLE_U                                0x00400000      /* [OUT] Contained U Tag                */
#define MAP_GCCT_STYLE_S                                0x00800000      /* [OUT] Contained S Tag                */
#define MAP_GCCT_STYLE_SUP                              0x01000000      /* [OUT] Contained S Tag                */
#define MAP_GCCT_STYLE_SUB                              0x02000000      /* [OUT] Contained S Tag                */
#define MAP_GCCT_STYLE_FONT                             0x04000000      /* [OUT] Contained FONT Tag             */
#define MAP_GCCT_STYLE_A                                0x08000000      /* [OUT] Contained A Tag                */
#define MAP_GCCT_STYLE_OTHER                            0x80000000      /* [OUT] Contained Other (EM) Tag       */
                                                                        /*  * Map Write to EDX                  */
#define MAP_WRITE_NO_TABLE_TAG                          0x80000000      /* Do Not Write <TABLE> Tag             */
                                                                        /*  * Map Write to Pool                 */
#define MAP_WRITE_ALLOW_CELL_OVERRIDE                   0x00000001      /* Use Cell Flags if Available          */
                                                                        /*  o Character                         */
#define MAP_WRITE_PROCESS_UTF                           0x00000002      /* Read UTF-8 and Process               */
                                                                        /*  o Coding                            */
#define MAP_WRITE_NO_PAD                                0x00000004      /* Do Not Pad Cells                     */
#define MAP_WRITE_NO_WRAP                               0x00000008      /* Do Not Wrap Cell Content             */
#define MAP_WRITE_CODE_GUTTERS_WITH_DATA                0x00000010      /* Put Gutters on Same Line             */
#define MAP_WRITE_NEW_LINES                             0x00000020      /* New Lines (0x0D 0x0A)                */
                                                                        /*  o General Options/Attributes        */
#define MAP_WRITE_NO_IDS                                0x00000200      /* Remove Any IDs                       */
#define MAP_WRITE_NO_CLASS                              0x00000400      /* Remove Any CLASS References          */
#define MAP_WRITE_NO_HEIGHT                             0x00000800      /* Remove Any HEIGHT Specifications     */
#define MAP_WRITE_NO_PADDING                            0x00001000      /* Remove Any Padding                   */
#define MAP_WRITE_NO_PROPERTIES                         0x00002000      /* Rip Out Everything                   */
#define MAP_WRITE_TRIM_MATRIX                           0x00004000      /* Extra Columns, Rows Removed          */
#define MAP_WRITE_STRIP_STYLE                           0x00008000      /* Strip All Style/Font Stuff           */
                                                                        /*  o Cells (can be overridden)         */
#define MAP_WRITE_CELL_OVERRIDE_MASK                    0xFFFF0000      /* Flags Specific of Cells              */
#define MAP_WRITE_CELL_NBSP                             0x00010000      /* Replace with Non-Breaking Space      */
#define MAP_WRITE_CELL_EMPTY_NBSP                       0x00020000      /* Fill Empty Cells Non-Breaking Space  */
#define MAP_WRITE_CELL_CONTENTS                         0x00040000      /* Write the Content of Cell            */
#define MAP_WRITE_CELL_NO_TABLES                        0x00080000      /* Do Not Write Table Items             */
#define MAP_WRITE_CELL_NO_BLOCKS                        0x00100000      /* Do Not Write Blocks                  */
#define MAP_WRITE_CELL_NO_STYLE                         0x00200000      /* Do Not Write Inline Styles           */
#define MAP_WRITE_CELL_NO_LEADERS                       0x00400000      /* Remove Any Leader Data               */
#define MAP_WRITE_CELL_NO_PAGE_BREAKS                   0x00800000      /* Remove Page Break Data               */
#define MAP_WRITE_CELL_DISPLAY_NONE                     0x01000000      /* Pass Through Display: None           */
#define MAP_WRITE_CELL_NO_LEADING_NBSP                  0x02000000      /* Trim Off Leading nbsp                */
#define MAP_WRITE_CELL_RIGHT_PAD_NUMBER                 0x04000000      /* Right Pad Number for () Spacing      */
#define MAP_WRITE_CELL_STRIP_HDR_ACCESS                 0x08000000      /* Strip Out Header Reference Access    */
                                                                        /*  * Flags map_entry_to_string()       */
#define MAP_ETS_WRITE_COLUMN_WIDTH                      0x00000001      /* Write the Column Width               */
#define MAP_ETS_NO_COLUMN_OVERRIDE                      0x00000002      /* Do Not Apply Column Data to Cell     */
#define MAP_ETS_FORCE_UPDATE_OF_TAG                     0x00000004      /* Force the Cell to Write to Buffer    */
                                                                        /*  * Export Modes                      */
                                                                        /*  o Modes                             */
#define MAP_EXPORT_NO_TABLE                             0x00000000      /* Remove Table Frame                   */
#define MAP_EXPORT_SINGLE_BLOCK                         0x00000001      /* Table to Single Block                */
#define MAP_EXPORT_ROWS_TO_BLOCKS                       0x00000002      /* Rows to Blocks                       */
#define MAP_EXPORT_CELLS_TO_BLOCKS                      0x00000003      /* Cells to Blocks                      */
#define MAP_EXPORT_REMOVE_ALL_CODE                      0x00000004      /* Remove All Code                      */
#define MAP_EXPORT_MAKE_TABBED                          0x00000005      /* Make ANSI Tabbed Table               */
#define MAP_EXPORT_MAKE_PRINT_IMAGE                     0x00000006      /* Make ANSI Print Image                */
                                                                        /*  o Options                           */
#define MAP_EXPORT_ADD_NEW_LINES                        0x00010000      /* Flag for String Pool                 */
                                                                        /*  * Table to String Table             */
#define MAP_TO_TABLE_AS_HTML                            0x00010000      /* Return Data as HTML                  */
#define MAP_FILL_NULL_CELLS                             0x000000FF      /* Fill Null Cell with Character        */


                                                                        /****************************************/
                                                                        /* ** Cell/Column Flags                 */
                                                                        /*  * Bitwise Content (Column)          */
#define COL_CONTENT_MASK                                0x0000FFFF      /* Content Mask                         */
                                                                        /*  o Same as Cell Modes                */
#define COL_CONTENT_NIL                                 0x00000001      /* Nil or Dashes                        */
#define COL_CONTENT_TEXT                                0x00000002      /* General Text                         */
#define COL_CONTENT_HEADER                              0x00000004      /* Header, Date Lexicon or Number       */
#define COL_CONTENT_FINANCIAL                           0x00000008      /* Financial Figure                     */
#define COL_CONTENT_NUMERIC                             0x00000010      /* Non-Financial Figure (not date)      */
#define COL_CONTENT_FOOTNOTE                            0x00000020      /* Footnote                             */
                                                                        /*  o Column Hints                      */
#define COL_CONTENT_HINT_CURRENCY                       0x00000100      /* Currency                             */
#define COL_CONTENT_HINT_DATE                           0x00000200      /* Cell Has Date Lexicon Item(s)        */
#define COL_CONTENT_HINT_YEAR                           0x00000400      /* Cell Has Date Year                   */
#define COL_CONTENT_HINT_HEADER                         0x00000800      /* Cell Has Other Header Lexicon        */
                                                                        /*  * Column Only Control Flags         */
#define COL_UPDATED                                     0x00100000      /* This Column has Changed              */
#define COL_GUTTER_OPEN                                 0x00200000      /* Column Is an Open Gutter             */
#define COL_GUTTER_CLOSE                                0x00400000      /* Column Is a Close Gutter             */
                                                                        /*  * Cell/Column Flags                 */
#define CELL_FLAGS_MASK                                 0xFF000000      /* Cell Mask                            */
#define CELL_HEAD                                       0x01000000      /* Table Data (heading)                 */
#define CELL_DATA                                       0x02000000      /* Table Data (body)                    */
#define CELL_ERROR                                      0x04000000      /* One or More Fields Contained Errors  */
#define CELL_COL_HEAD                                   0x08000000      /* Column Head Specification (COL)      */
#define CELL_CONTENT                                    0x10000000      /* Cell/Column Had Content (not nbsp)   */
#define CELL_TEXT                                       0x20000000      /* Cell Has Text                        */
#define CELL_NUMBER                                     0x40000000      /* Cell Has Number (accounting 1,234)   */
#define CELL_IN_HOLE                                    0x80000000      /* Number has a Trailing Parenthesis    */

                                                        /********************************************************/
                                                        /* HTML Header Object                                   */
                                                        /* ------------------                                   */
                                                        /********************************************************/

                                                                        /****************************************/
                                                                        /* ** Error Flags                       */
                                                                        /*  * Header Map                        */
#define HH_HM_EXTRANEOUS_PCDATA                         0x00000001      /* Extraneous Text in Header            */
#define HH_HM_MULTIPLE_ITEMS                            0x00000002      /* Mutliple Items (HEAD HEAD ...)       */
#define HH_HM_INVALID_TAGS                              0x00000004      /* Tag(s) Present out of Context        */
#define HH_HM_NO_BODY                                   0x00000008      /* No Body was Found                    */

                                                                        /****************************************/
                                                                        /* ** Elements in Header Flags          */
#define HH_HM_MASK                                      0x00FFFFFF      /* Heading Mask                         */
#define HH_HM_DOCTYPE                                   0x00000001      /* <DOCTYPE> was present                */
#define HH_HM_HTML                                      0x00000002      /* <HTML> was present                   */
#define HH_HM_HEAD                                      0x00000004      /* <HEAD> was present                   */
#define HH_HM_TITLE                                     0x00000008      /* <TITLE> was present                  */
#define HH_HM_ISINDEX                                   0x00000010      /* <ISINDEX> was present                */
#define HH_HM_META                                      0x00000020      /* <META> was present                   */
#define HH_HM_LINK                                      0x00000040      /* <LINK> was present                   */
#define HH_HM_BASE                                      0x00000080      /* <BASE> was present                   */
#define HH_HM_SCRIPT                                    0x00000100      /* <SCRIPT> was present                 */
#define HH_HM_OBJECT                                    0x00000200      /* <OBJECT> was present                 */
#define HH_HM_STYLE                                     0x00000400      /* <STYLE> was present                  */
#define HH_HM_BASEFONT                                  0x00000800      /* <BASEFONT> was present               */
#define HH_HM__HEAD                                     0x00010000      /* </HEAD> was present                  */
#define HH_HM_BODY                                      0x00020000      /* <BODY> was present                   */
#define HH_HM_COMMENT                                   0x80000000      /* <!-- > was present                   */

                                                                        /****************************************/
                                                                        /* ** Write Clear Header Flags          */
#define WCH_NO_MAP                                      0x00000001      /* Do Not Map/Remap                     */
#define WCH_NO_LINK_TABLE                               0x00000002      /* Do Not Write Link Table              */
#define WCH_NO_META_TABLE                               0x00000004      /* Do Not Write Meta Table              */
#define WCH_NO_STYLE_TABLE                              0x00000008      /* Do Not Write Style Table             */
#define WCH_NO_SCRIPTS                                  0x00000010      /* Do Not Write Scripts                 */


                                                        /********************************************************/
                                                        /* HTML Table Object                                    */
                                                        /* -----------------                                    */
                                                        /********************************************************/

                                                                        /****************************************/
                                                                        /* ** Map Entry Flags                   */
                                                                        /*  * Cell Type/Entry Flags (flags)     */
                                                                        /*  o Style Content Clues               */
#define ME_DCC_H_LINE                                   0x00000010      /* Horizontal Line <HR>                 */
#define ME_DCC_D_LINE                                   0x00000020      /* Drawing Lines (-, _, etc)            */
#define ME_DCC_V_BORDERS                                0x00000040      /* Vertical Borders (CSS)               */
#define ME_DCC_H_BORDERS                                0x00000080      /* Horizontal Borders (CSS)             */
#define ME_DCC_BACKGROUND                               0x00000100      /* Has Background Specified             */
#define ME_DCC_TH                                       0x00000200      /* Contains (is) Header <TH>            */
#define ME_DCC_BLOCKS                                   0x00000400      /* Contains Block Tags                  */
#define ME_DCC_TABLE_IN_TABLE                           0x00000800      /* Contains Table in Table Tags         */
#define ME_DCC_INLINE                                   0x00001000      /* Contains Inline Tags                 */
#define ME_DCC_OTHER_TAGS                               0x00008000      /* Contains Other Block Tags            */
                                                                        /*  o Attributes                        */
#define ME_HAS_WIDTH                                    0x00010000      /* Specified WIDTH (or width:)          */
#define ME_HAS_COLSPAN                                  0x00020000      /* Specified COLSPAN                    */
#define ME_HAS_ROWSPAN                                  0x00040000      /* Specified ROLSPAN                    */
                                                                        /*  * Map Entry Types                   */
#define ME_TYPE_MASK                                    0x00F00000      /* Type Mask                            */
#define ME_TYPE_MASK_CF                                 0x01F00000      /* Type Mask w/ Close Flag              */
#define ME_TYPE_TABLE                                   0x00000000      /* Table Entry (TABLE Tag)              */
#define ME_TYPE_CAPTION                                 0x00100000      /* Table Entry (CAPTION Tag)            */
#define ME_TYPE_ROW_GROUP                               0x00200000      /* Row Group (THEAD, TBODY, TFOOT)      */
#define ME_TYPE_ROW                                     0x00300000      /* Row (TR)                             */
#define ME_TYPE_COL_GROUP                               0x00400000      /* Column Grouping Start (COLGROUP)     */
#define ME_TYPE_COL                                     0x00500000      /* Column Definition (COL)              */
#define ME_TYPE_CELL                                    0x00600000      /* Cell (TD or TH)                      */
#define ME_TYPE_FLOAT_BR                                0x00700000      /* Table Float Control Break            */
#define ME_TYPE_CLOSE_FLAG                              0x01000000      /* This is a Close Tag                  */
                                                                        /*  * Edit Action                       */
#define ME_DELETED                                      0x04000000      /* Cell/Row Deleted                     */
#define ME_NEW                                          0x08000000      /* New Cell/Entry                       */
#define ME_REPLACE                                      0x10000000      /* Replace Cell/Entry                   */
#define ME_UPDATED                                      0x20000000      /* Entry is Updated                     */
#define ME_UPDATED_COLSPAN                              0x40000000      /* Entry is Updated for Columns Span    */
#define ME_AS_EMPTY                                     0x80000000      /* Treat as Empty                       */
                                                                        /*                                      */
                                                                        /* ** Cell/Row Content Flags (c_flags)  */
                                                                        /*  * Data Type Flags                   */
#define ME_CF_TYPE_MASK                                 0x0000000F      /* Cell Type Mask                       */
                                                                        /*  o Types                             */
#define ME_CF_TYPE_CONFLICTED                           0x0000000F      /* Conflicted/Mixed (row combine)       */
#define ME_CF_TYPE_UNKNOWN                              0x00000000      /* Unknown Cell Type                    */
#define ME_CF_TYPE_EMPTY                                0x00000001      /* Nothing in Cell                      */
#define ME_CF_TYPE_NIL                                  0x00000002      /* Nil or Dashes                        */
#define ME_CF_TYPE_TEXT                                 0x00000003      /* General Text                         */
#define ME_CF_TYPE_HEADER                               0x00000004      /* Header, Date Lexicon or Number       */
#define ME_CF_TYPE_FINANCIAL                            0x00000005      /* Financial Figure                     */
#define ME_CF_TYPE_NUMERIC                              0x00000006      /* Non-Financial Figure (not date)      */
#define ME_CF_TYPE_FOOTNOTE                             0x00000007      /* Footnote                             */
                                                                        /*  * Hints (match TEC_ROW_HINT_)       */
#define ME_CF_HINT_HEADER_MASK                          0x00003F00      /* Mask for Header Style                */
#define ME_CF_HINT_DATE                                 0x00000100      /* Cell Has Date Lexicon Item(s)        */
#define ME_CF_HINT_YEAR                                 0x00000200      /* Cell Has Date Yesr                   */
#define ME_CF_HINT_HEADER                               0x00000400      /* Cell Has Other Header Lexicon        */
#define ME_CF_HINT_TOTAL_RULE                           0x00000800      /* Cell Has Total ('=')                 */
#define ME_CF_HINT_HR_1                                 0x00001000      /* Cell Has <HR>                        */
#define ME_CF_HINT_HR_2                                 0x00002000      /* Cell Has <HR> (Double)               */
#define ME_CF_HINT_CURRENCY                             0x00004000      /* Cell Has Currency (not shared)       */
                                                                        /*  * High Level (row only, bitwise)    */
#define ME_CF_HINT_STUB_TEXT                            0x00100000      /* Stub Text                            */
#define ME_CF_HINT_DATA                                 0x00200000      /* Non-Stub Data                        */
#define ME_CF_HINT_LINE_ITEM                            0x00300000      /* Stub and Line Data                   */
#define ME_CF_HINT_HEADER_ROW                           0x00400000      /* Header Style Data                    */
                                                                        /*                                      */
                                                                        /* ** Extended Style Flags (s_flags)    */
                                                                        /*  * Borders                           */
                                                                        /*  o Top Border                        */
#define ME_SF_TOP_BORDER_MASK                           0x0000000F      /* Border Mask                          */
#define ME_SF_TOP_BORDER_NONE                           0x00000000      /* No Border                            */
#define ME_SF_TOP_BORDER_SINGLE                         0x00000001      /* Single Border (thin)                 */
#define ME_SF_TOP_BORDER_DOUBLE                         0x00000002      /* Double Border                        */
#define ME_SF_TOP_BORDER_HEAVY                          0x00000003      /* Heavy/Thick Border                   */
                                                                        /*  o Bottom Border                     */
#define ME_SF_BOTTOM_BORDER_MASK                        0x000000F0      /* Border Mask                          */
#define ME_SF_BOTTOM_BORDER_NONE                        0x00000000      /* No Border                            */
#define ME_SF_BOTTOM_BORDER_SINGLE                      0x00000010      /* Single Border (thin)                 */
#define ME_SF_BOTTOM_BORDER_DOUBLE                      0x00000020      /* Double Border                        */
#define ME_SF_BOTTOM_BORDER_HEAVY                       0x00000030      /* Heavy/Thick Border                   */


                                                        /********************************************************/
                                                        /* HTML Context                                         */
                                                        /* ------------                                         */
                                                        /********************************************************/

                                                                        /****************************************/
                                                                        /* ** Local Types (e_type)              */
                                                                        /*  * Types (ordinal & bitwise)         */
                                                                        /*     - Ordinals for Context Stack     */
                                                                        /*     - Bitwise for Stack Popping      */
                                                                        /*  o Masks                             */
#define HC_STK_TYPE_MASK                                0x0FFF000F      /* Mask for Complete Type               */
#define HC_STK_ORDINAL_MASK                             0x0000000F      /* Mask for Type Ordinal                */
#define HC_STK_FLAG_MASK                                0x0FFF0000      /* Mask for Flags                       */
#define HC_STK_ELEMENT_MASK                             0x00FF0000      /* HTML Element Bits                    */
#define HC_STK_FIELD_MASK                               0x0F000000      /* Field Bits                           */
                                                                        /*  o Types (combined bit/ordinal)      */
#define HC_STK_PCDATA                                   0x00000000      /* No Type (PCDATA)                     */
#define HC_STK_INLINE                                   0x00010001      /* Inline Type (SPAN, B, I...)          */
#define HC_STK_BLOCK_SOFT                               0x00020002      /* Block Type (P...)                    */
#define HC_STK_BLOCK_HARD                               0x00040003      /* Block Type (DIV, CENTER...)          */
#define HC_STK_CONTAINER                                0x00080004      /* Container (TABLE, TBODY ...)         */
#define HC_STK_HEADER                                   0x00100005      /* Header Tags (BASE, TITLE...)         */
#define HC_STK_BODY                                     0x00200006      /* Body Container (BODY)                */
#define HC_STK_FIELD_BLOCK                              0x04000007      /* Field Block Container                */
#define HC_STK_FIELD_INLINE                             0x08000008      /* Field Inline Container               */
                                                                        /*  o Types Ordinals                    */
#define HC_STK_TYPE_PCDATA                              0x00000000      /* No Type (PCDATA)                     */
#define HC_STK_TYPE_INLINE                              0x00000001      /* Inline Type (SPAN, B, I...)          */
#define HC_STK_TYPE_BLOCK_SOFT                          0x00000002      /* Block Type (P...)                    */
#define HC_STK_TYPE_BLOCK_HARD                          0x00000003      /* Block Type (DIV, CENTER...)          */
#define HC_STK_TYPE_CONTAINER                           0x00000004      /* Container (TABLE, TBODY ...)         */
#define HC_STK_TYPE_HEADER                              0x00000005      /* Header Tags (BASE, TITLE...)         */
#define HC_STK_TYPE_BODY                                0x00000006      /* Body Container (BODY)                */
#define HC_STK_TYPE_FIELD_BLOCK                         0x00000007      /* Field Block Container                */
#define HC_STK_TYPE_FIELD_INLINE                        0x00000008      /* Field Inline Container               */
                                                                        /*  o Type Flags (Bits)                 */
#define HC_STK_FLAG_PCDATA                              0x00000000      /* No Type (PCDATA)                     */
#define HC_STK_FLAG_INLINE                              0x00010000      /* Inline Type (SPAN, B, I...)          */
#define HC_STK_FLAG_BLOCK_SOFT                          0x00020000      /* Block Type (P...)                    */
#define HC_STK_FLAG_BLOCK_HARD                          0x00040000      /* Block Type (DIV, CENTER...)          */
#define HC_STK_FLAG_CONTAINER                           0x00080000      /* Container (TABLE, TBODY ...)         */
#define HC_STK_FLAG_HEADER                              0x00100000      /* Header Tags (BASE, TITLE...)         */
#define HC_STK_FLAG_BODY                                0x00200000      /* Body Container (BODY)                */
#define HC_STK_FLAG_FIELD_BLOCK                         0x04000000      /* Field Block Container                */
#define HC_STK_FLAG_FIELD_INLINE                        0x08000000      /* Field Inline Container               */
                                                                        /*  o Bitwise Testing                   */
#define HC_STK_IS_BLOCK                                 0x00060000      /* Block Mask                           */
#define HC_STK_INLINE_STOP                              0x003E0000      /* Combo for Inline Stop                */
                                                                        /*  * Indicator (Bitwise Flags)         */
#define HC_STK_NO_CLOSE                                 0x10000000      /* Special Type (BASEFONT)              */
#define HC_STK_HAS_PCDATA                               0x20000000      /* PCDATA Was In Nest                   */
#define HC_STK_HAS_DISPLAY_DATA                         0x40000000      /* Has Data that Renders                */
                                                                        /*  * Display Types (CSS)               */
#define HC_STK_DISPLAY_DEFAULT                          0x0000FF00      /* (default)                            */
#define HC_STK_DISPLAY_INLINE                           0x00000000      /* Inline                               */
#define HC_STK_DISPLAY_BLOCK                            0x00000100      /* Block                                */
#define HC_STK_DISPLAY_LIST_ITEM                        0x00000200      /* List-Item                            */
#define HC_STK_DISPLAY_RUN_IN                           0x00000300      /* Run-In                               */
#define HC_STK_DISPLAY_COMPACT                          0x00000400      /* Compact                              */
#define HC_STK_DISPLAY_MARKER                           0x00000500      /* Marker                               */
#define HC_STK_DISPLAY_TABLE                            0x00000600      /* Table                                */
#define HC_STK_DISPLAY_INLINE_TABLE                     0x00000700      /* Inline-Table                         */
#define HC_STK_DISPLAY_TABLE_ROW_GROUP                  0x00000800      /* Table-Row-Group                      */
#define HC_STK_DISPLAY_TABLE_HEADER_GROUP               0x00000900      /* Table-Header-Group                   */
#define HC_STK_DISPLAY_TABLE_FOOTER_GROUP               0x00000A00      /* Table-Footer-Group                   */
#define HC_STK_DISPLAY_TABLE_ROW                        0x00000B00      /* Table-Row                            */
#define HC_STK_DISPLAY_TABLE_COLUMN_GROUP               0x00000C00      /* Table-Column-Group                   */
#define HC_STK_DISPLAY_TABLE_COLUMN                     0x00000D00      /* Table-Column                         */
#define HC_STK_DISPLAY_TABLE_CELL                       0x00000E00      /* Table-Cell                           */
#define HC_STK_DISPLAY_TABLE_CAPTION                    0x00000F00      /* Table-Caption                        */
#define HC_STK_DISPLAY_NONE                             0x00001000      /* None                                 */


                                                        /********************************************************/
                                                        /* HTML Writer                                          */
                                                        /* -----------                                          */
                                                        /********************************************************/

                                                                        /****************************************/
                                                                        /* ** Encoding                          */
#define HC_ENCODE_DEFAULT                                        0      /* Default (CP1252/ISO Latin ANSI)      */
#define HC_ENCODE_ISO_8859                                       1      /* ISO-8859 (8-bit)                     */
#define HC_ENCODE_XML                                            2      /* UNICODE XML (no char names) (8-bit)  */
#define HC_ENCODE_UTF                                            3      /* UTF Encoding (UNICODE)               */



                                                        /********************************************************/
                                                        /* Outline Object                                       */
                                                        /* --------------                                       */
                                                        /********************************************************/

                                                                /************************************************/
                                                                /* Scan Flags                                   */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Control Flags                     */
                                                                        /*  * Flags                             */
#define HO_MAP_EMPTY_BLOCKS                             0x00010000      /* Map Empty Blocks                     */
#define HO_MAP_ABS_POSITIONS                            0x00020000      /* Add in Absolute Position             */
#define HO_MAP_ANALYSIS                                 0x00040000      /* Perform Analysis                     */      // future
#define HO_MAP_TABLE_CONTENT                            0x00080000      /* Map Table Content                    */
#define HO_MAP_MAP_IDS                                  0x00100000      /* Map IDs                              */
#define HO_MAP_MAP_KEYWORDS                             0x00200000      /* Map Keyword (word array)             */
#define HO_MAP_MAP_FIELD_SET                            0x00400000      /* Map PSG Fields Set Variable          */
                                                                        /*  o Keyword Options                   */
#define HO_MAP_KEYWORD_NUMBERS                          0x00000001      /* Numbers                              */
#define HO_MAP_KEYWORD_DATES                            0x00000002      /* Dates                                */
#define HO_MAP_KEYWORD_CARDINAL                         0x00000004      /* Cardinal Numbers                     */
                                                                        /*                                      */
                                                                        /* ** Types                             */
                                                                        /*  * Basic Types                       */
#define HO_TYPE_MASK                                    0x00FF0000      /* Type Mask                            */
#define HO_TYPE_UNKNOWN                                 0x00000000      /* Unknown Type                         */
#define HO_TYPE_EMPTY                                   0x00010000      /* Empty                                */
#define HO_TYPE_BLOCK_GENERAL                           0x00020000      /* General Block (unknown)              */
#define HO_TYPE_HEADING                                 0x00030000      /* Heading                              */
#define HO_TYPE_PARAGRAPH                               0x00040000      /* Paragraph                            */
#define HO_TYPE_LIST                                    0x00050000      /* List Item                            */
#define HO_TYPE_TABLE_GENERAL                           0x00060000      /* Table General/Unknown                */
#define HO_TYPE_TABLE_TOC                               0x00070000      /* Table of Contents                    */
#define HO_TYPE_TABLE_INDEX                             0x00080000      /* Table Index/List                     */
#define HO_TYPE_TABLE_LIST                              0x00090000      /* Table List Item                      */
#define HO_TYPE_TABLE_FINANCIAL                         0x000A0000      /* Table Financial                      */
#define HO_TYPE_PAGE_BREAK                              0x000B0000      /* Page Break                           */
#define HO_TYPE_FIELD_SET                               0x000C0000      /* Field Set                            */
#define HO_TYPE_ID_GROUP                                0x000F0000      /* Specifies a Named Position           */
#define HO_TYPE_TABLE_CELL                              0x00100000      /* Table Cell (Table Content Only)      */
                                                                        /*  * Mode (relies on PK_TEXT_ALIGN)    */
#define HO_TYPE_MODE_MASK                               0x0000000F      /* Type Mask                            */
#define HO_TYPE_MODE_LEFT                               0x00000001      /* Left                                 */
#define HO_TYPE_MODE_RIGHT                              0x00000002      /* Right                                */
#define HO_TYPE_MODE_CENTER                             0x00000003      /* Center                               */
#define HO_TYPE_MODE_JUSTIFY                            0x00000004      /* Justify                              */
                                                                        /*  * Paragraph Expansion               */
#define HO_TYPE_PARA_LEAD_IN                            0x00000010      /* Lead-In                              */


                                                        /********************************************************/
                                                        /* SGML Fields                                          */
                                                        /* -----------                                          */
                                                        /********************************************************/

                                                                /************************************************/

                                                                        /****************************************/
                                                                        /*  * Result Code                       */
                                                                        /*  o Errors                            */
#define FIELD_RESULT_ERROR_MASK                         0x0000FFFF      /* Result Error Mask                    */
#define FIELD_RESULT_UNKNOWN_PROPERTY                   0x00000001      /* Unknown Properties Name              */
#define FIELD_RESULT_PARAMETER_ERROR                    0x00000002      /* Error in Parameter                   */
#define FIELD_RESULT_UNKNOWN_FIELD_NAME                 0x00000004      /* Unknown Field Name                   */
                                                                        /*  o Conditions                        */
#define FIELD_RESULT_SELF_CLOSE                         0x00010000      /* Field Is Self Close                  */
#define FIELD_RESULT_STOPPED                            0x00020000      /* Stopped on HTML/XML Tag              */
#define FIELD_RESULT_DATA                               0x10000000      /* Currently Contains Data              */

                                                                        /****************************************/
                                                                        /* ** Field Token Codes                 */
                                                                        /*  * Masks/Codes                       */
#define SGML_FIELD_RESERVE                              0xFFF00000      /* Area Reserved (for SGML token, etc)  */
#define SGML_FIELD_TYPE_MASK                            0x000F0000      /* Type of Field Mask                   */
#define SGML_FIELD_TOKEN_MASK                           0x00000FFF      /* Field Token Mask                     */
                                                                        /*  (zero reserved for error)           */
#define SGML_FIELD_TYPE_PROPERTY                        0x00010000      /* Property Name                        */
#define SGML_FIELD_TYPE_PROPERTY_CALLER                 0x00020000      /* Caller Property Name                 */
#define SGML_FIELD_TYPE_NAME                            0x00030000      /* Field Name (must position with TT_)  */
#define SGML_FIELD_TYPE_NAME_CALLER                     0x00040000      /* Caller Field Name                    */
                                                                        /*  * Close                             */
#define SGML_FIELD_CLOSE                                0x00008000      /* Field for Close                      */
                                                                        /*                                      */
                                                                        /* ** Standard Field Property           */
                                                                        /*  * Standard (prop: )                 */
#define SGML_FIELD_PROP_CONTEXT                         0x00010001      /* Context:                             */
#define SGML_FIELD_PROP_DATA                            0x00010002      /* Data:                                */
#define SGML_FIELD_PROP_DATE                            0x00010003      /* Date:                                */
#define SGML_FIELD_PROP_FIELD                           0x00010004      /* Field: (should be first)             */
#define SGML_FIELD_PROP_FILE                            0x00010005      /* File:                                */
#define SGML_FIELD_PROP_FILTER                          0x00010006      /* Filter:                              */
#define SGML_FIELD_PROP_FORMAT                          0x00010007      /* Format:                              */
#define SGML_FIELD_PROP_FUNCTION                        0x00010008      /* Function:                            */
#define SGML_FIELD_PROP_ID                              0x00010009      /* ID:                                  */
#define SGML_FIELD_PROP_LEVEL                           0x0001000A      /* Level:                               */
#define SGML_FIELD_PROP_MAP                             0x0001000B      /* Map:                                 */
#define SGML_FIELD_PROP_MODE                            0x0001000C      /* Mode:                                */
#define SGML_FIELD_PROP_NAME                            0x0001000D      /* Name:                                */
#define SGML_FIELD_PROP_OPTIONS                         0x0001000E      /* Options:                             */
#define SGML_FIELD_PROP_RANGE                           0x0001000F      /* Range:                               */
#define SGML_FIELD_PROP_SECTION                         0x00010010      /* Section:                             */
#define SGML_FIELD_PROP_SEQUENCE                        0x00010011      /* Sequence:                            */
#define SGML_FIELD_PROP_SIZE                            0x00010012      /* Size:                                */
#define SGML_FIELD_PROP_STATUS                          0x00010013      /* Status:                              */
#define SGML_FIELD_PROP_STYLE                           0x00010014      /* Style:                               */
#define SGML_FIELD_PROP_TEMPLATE                        0x00010015      /* Template:                            */
#define SGML_FIELD_PROP_TYPE                            0x00010016      /* Type:                                */
#define SGML_FIELD_PROP_VALUE                           0x00010017      /* Value:                               */
#define SGML_FIELD_PROP_VERSION                         0x00010018      /* Version:                             */
                                                                        /*                                      */
                                                                        /* ** Standard Field Names              */
                                                                        /*  * Error                             */
#define SGML_FIELD_NAME_INVALID                         0x00030000      /* Invalid or Unknown                   */
                                                                        /*  * Comments                          */
#define SGML_FIELD_NAME_ANNOTATION                      0x00030001      /* Annotation                           */
#define SGML_FIELD_NAME_COMMENT                         0x00030002      /* Comment                              */
                                                                        /*  * Control                           */
#define SGML_FIELD_NAME_CONDITIONAL                     0x00030011      /* Conditional Segment                  */
#define SGML_FIELD_NAME_LINK                            0x00030012      /* Link to External File                */
#define SGML_FIELD_NAME_INCLUDE_TEXT                    0x00030013      /* Included-Text/File                   */
#define SGML_FIELD_NAME_INSERT                          0x00030014      /* Insert (Text)                        */
#define SGML_FIELD_NAME_NAMED_AREA                      0x00030015      /* Named Area                           */
#define SGML_FIELD_NAME_SET                             0x00030016      /* Set Environment/Name Variable        */
#define SGML_FIELD_NAME_SPLIT_SEGMENT                   0x00030017      /* File is Split Segment                */
                                                                        /*  * Date                              */
#define SGML_FIELD_NAME_DATE_TIME                       0x00030021      /* Generated Date and Time              */
                                                                        /*  * Document Info                     */
#define SGML_FIELD_NAME_DOC_INFO                        0x00030041      /* Document Default Info                */
#define SGML_FIELD_NAME_DOC_DEFAULT                     0x00030042      /* Document Default Value               */
                                                                        /*  * Indexing                          */
#define SGML_FIELD_NAME_AUTO_INDEX                      0x00030051      /* Generated Index                      */
#define SGML_FIELD_NAME_AUTO_TOC                        0x00030052      /* Generated TOC                        */
                                                                        /*  * List                              */
#define SGML_FIELD_NAME_LIST                            0x00030061      /* List (table)                         */
                                                                        /*  * Pagination                        */
#define SGML_FIELD_NAME_PAGE_DATA                       0x00030071      /* Page Data (Header/Footer, parameters)*/
                                                                        /*  * Pseudo Data                       */
#define SGML_FIELD_NAME_PSEUDO_TAG                      0x00030081      /* Pseudo-Tag                           */
                                                                        /*  * Rules                             */
#define SGML_FIELD_NAME_RULE_PAGE                       0x00030091      /* Page Rule Sequence                   */
#define SGML_FIELD_NAME_RULE_TABLE                      0x00030092      /* Table Rule Sequence                  */
                                                                        /*  * Sequence Number                   */
#define SGML_FIELD_NAME_SEQUENCE                        0x000300A1      /* Generated Sequence Number            */
                                                                        /*  * Symbol                            */
#define SGML_FIELD_NAME_SYMBOL                          0x000300B1      /* Symbol Auto                          */
                                                                        /*  * Table                             */
#define SGML_FIELD_NAME_TABLE                           0x000300C1      /* Table Additional Info                */
                                                                        /*  * Text                              */
#define SGML_FIELD_NAME_MARK                            0x000300D1      /* Mark/Highlight Area                  */
#define SGML_FIELD_NAME_MERGE_FIELD                     0x000300D2      /* Merge Field                          */
#define SGML_FIELD_NAME_MERGE_RECORD                    0x000300D3      /* Merge Record Area                    */
                                                                        /*  o Translation                       */
#define SGML_FIELD_NAME_XDATA                           0x000300E1      /* Translate Clue Data                  */


                                                        /********************************************************/

                                                                /************************************************/
                                                                /* XDX Support                                  */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** XDX Codes                         */
                                                                        /*  * Report Control                    */
#define XDX_CONTROL                                     0x00            /* (reserved for control)               */
#define XDX_XDX_VERSION                                 0x01            /* XDX Version                          */
#define XDX_TAXONOMY                                    0x02            /* Taxonomy Data                        */
#define XDX_NAMESPACE                                   0x03            /* Namespace Data                       */
#define XDX_REPORT_PERIOD                               0x04            /* Report Period                        */
#define XDX_DEI_FACT                                    0x05            /* Miscellaneous DEI Fact               */
#define XDX_UNIT_DEFINE                                 0x06            /* Unit Define                          */
#define XDX_LINK                                        0x07            /* XDX Link                             */
#define XDX_EMBED                                       0x08            /* XDX Embedded Data                    */
                                                                        /*  * Context Control                   */
#define XDX_RISK_DATE                                   0x10            /* (reserved for control)               */
#define XDX_DIMENSION_APPLY                             0x11            /* Apply Dimension to everything        */
                                                                        /*  * Presentation Control              */
#define XDX_STRUCT_ROOT                                 0x20            /* Set Root Element                     */
#define XDX_STRUCT_TABLE                                0x21            /* Set Root Table Element               */
#define XDX_STRUCT_LINEITEMS                            0x22            /* Set Root Line Items Element          */
#define XDX_BLOCK_EXCLUDE                               0x23            /* Set Exclude Block                    */
                                                                        /*  * Standard Presentation             */
#define XDX_PRESENTATION                                0x30            /* Presentation Data                    */
                                                                        /*  * Tables (Statements, Details)      */
#define XDX_TABLE_ROW_ELEMENT                           0x40            /* Row Element Data                     */
#define XDX_TABLE_ROW_CONTEXT                           0x41            /* Row Default Context                  */
#define XDX_TABLE_ROW_LABEL                             0x42            /* Stub Data (if different that 1)      */
#define XDX_TABLE_ROW_DATE                              0x43            /* Row Date (can have element too)      */
#define XDX_TABLE_COLUMN_ELEMENT                        0x48            /* Column Element Data                  */
#define XDX_TABLE_COLUMN_CONTEXT                        0x49            /* Column Default Context               */
#define XDX_TABLE_COLUMN_LABEL                          0x4A            /* Column Label                         */
#define XDX_TABLE_COLUMN_DIMENSION                      0x4B            /* Column Dimension                     */
                                                                        /*  * Disclosure                        */
                                                                        /*  o Level 1                           */
#define XDX_NOTE_L1_BLOCK                               0x80            /* Notes Data (begin)                   */
#define XDX_NOTE_L1_BLOCK_END                           0x81            /* Notes Data (end)                     */
#define XDX_NOTE_L1_LABEL                               0x82            /* Label (if not inclosed on block)     */
                                                                        /*  o Level 2                           */
#define XDX_NOTE_L2_BLOCK                               0x84            /* Notes Data (begin)                   */
#define XDX_NOTE_L2_BLOCK_END                           0x85            /* Notes Data (end)                     */
#define XDX_NOTE_L2_LABEL                               0x86            /* Label (if not inclosed on block)     */
                                                                        /*  o Level 3                           */
#define XDX_NOTE_L3_TABLE                               0x88            /* Notes Data (table only)              */
#define XDX_NOTE_L3_BLOCK                               0x89            /* Notes Data (block start)             */
#define XDX_NOTE_L3_BLOCK_END                           0x8A            /* Notes Data (end)                     */
#define XDX_NOTE_L3_LABEL                               0x8B            /* Label (if not inclosed on block)     */
                                                                        /*  o Loose Facts                       */
#define XDX_INLINE_FACT                                 0x90            /* Fact Data                            */
#define XDX_INLINE_LABEL                                0x91            /* Inline Label                         */
#define XDX_BLOCK_FACT                                  0x98            /* Fact Data                            */
                                                                        /*  o Risk Return                       */
                                                                        /*  - Series/Perspectus                 */
#define XDX_RISK_SERIES                                 0xA0            /* Prospectus Summary (begin)           */
#define XDX_RISK_SERIES_END                             0xA1            /* Prospectus Summary (end)             */
#define XDX_RISK_SERIES_LABEL                           0xA2            /* Label (if not inclosed on block)     */
                                                                        /*  - Table                             */
#define XDX_RISK_TABLE                                  0xA5            /* Table (resets presentation state)    */
                                                                        /*  - Narrative                         */
#define XDX_RISK_BLOCK                                  0xA8            /* Text Data (begin)                    */
#define XDX_RISK_BLOCK_END                              0xA9            /* Text Data (end)                      */
                                                                        /*  o Reference                         */
#define XDX_DATA_SHEET_REF                              0xB0            /* Data Sheet Reference                 */
                                                                        /*  o Groups                            */
#define XDX_GROUPING_PART                               0xC0            /* Part of a Group                      */
                                                                        /*  o Footnotes                         */
#define XDX_FOOTNOTE_FID                                0xF0            /* ID Definition (ie., (1))             */
#define XDX_FOOTNOTE_TEXT                               0xF1            /* Text (must follow FID)               */
#define XDX_FOOTNOTE_REF                                0xF2            /* Loose Reference/Cell (by FIDs)       */
#define XDX_FOOTNOTE_REF_ROW                            0xF4            /* Row Reference (by FIDs)              */
#define XDX_FOOTNOTE_REF_COLUMN                         0xF5            /* Column Reference (by FIDs)           */
#define XDX_FOOTNOTE_REF_TABLE                          0xF6            /* Table Reference (by FIDs)            */
                                                                        /*  o Miscellaneous                     */
#define XDX_INLINE_END                                  0xFF            /* Indicates Inline End (directive)     */

                                                                        /****************************************/
                                                                        /* ** Display Items                     */
                                                                        /*  * General                           */
#define XDX_DISPLAY_USEREDITMASK                        0xFFF0FFFF      /* Things user can change               */
                                                                        /*  * Full Types                        */
#define XDX_DISPLAY_TYPE_MASK                           0xF0000000      /* Type Mask                            */
#define XDX_DISPLAY_GENERAL                             0x00000000      /* General (No extra formatting)        */
#define XDX_DISPLAY_CARDINAL                            0x10000000      /* Cardinal Type (five hundred thirty)  */
#define XDX_DISPLAY_CARDINAL_MIX                        0x20000000      /* Cardinal Mixed Type (5.3 hundred)    */
#define XDX_DISPLAY_BOOLEAN                             0x30000000      /* Boolean Value                        */
#define XDX_DISPLAY_DATE                                0x40000000      /* Dates (May 3, 2011 or Feb 2011)      */
#define XDX_DISPLAY_ISODURATION                         0x80000000      /* ISO Duration                         */
                                                                        /*  * Type Flags                        */
                                                                        /*  o ISO Duration                      */
#define XDX_DISPLAY_ISO_MASK                            0x0F000000      /* ISO Mask                             */
#define XDX_DISPLAY_ISO_FULL                            0x00000000      /* Full Duration (3 Years, 6 months)    */
#define XDX_DISPLAY_ISO_YEARS                           0x01000000      /* Assume Years  (ie 3 -> 3 Years)      */
#define XDX_DISPLAY_ISO_MONTHS                          0x02000000      /* Assume Months (ie 3 -> 3 Months)     */
#define XDX_DISPLAY_ISO_WEEKS                           0x03000000      /* Assume Weeks  (ie 3 -> 3 Weeks)      */
#define XDX_DISPLAY_ISO_DAYS                            0x04000000      /* Assume Days   (ie 3 -> 3 Days)       */
#define XDX_DISPLAY_ISO_HOURS                           0x05000000      /* Assume Hours  (ie 3 -> 3 Hours)      */
                                                                        /*  o Boolean                           */
#define XDX_DISPLAY_BOOL_MASK                           0x0F000000      /* Boolean Mask                         */
#define XDX_DISPLAY_BOOL_AUTO                           0x00000000      /* Auto                                 */
#define XDX_DISPLAY_BOOL_TRUE                           0x01000000      /* True                                 */
#define XDX_DISPLAY_BOOL_FALSE                          0x02000000      /* False                                */
                                                                        /*  * Partial Types                     */
#define XDX_DISPLAY_PERCENT                             0x00100000      /* Is Percent (x100)                    */
                                                                        /*  * Additional Formatting             */
#define XDX_DISPLAY_NONEFORZERO                         0x00000001      /* None for 0 (None in text)            */
#define XDX_DISPLAY_NOFORZERO                           0x00000002      /* No for 0 (No in text)                */
#define XDX_DISPLAY_DASHFORZERO                         0x00000004      /* - for 0 (- is normally nil)          */
#define XDX_DISPLAY_NOCOMMAS                            0x00000008      /* No Commas in number                  */
#define XDX_DISPLAY_USENEGATIVE                         0x00000010      /* Use Negative Sign instead of parens  */
#define XDX_DISPLAY_INVERT                              0x00010000      /* Invert Value                         */

                                                                        /****************************************/
                                                                        /* ** Modes/Etc                         */
                                                                        /*  * Period Match                      */
#define XDX_ROW_PM_NONE                                         0       /* Not Defined (Duration)               */
#define XDX_ROW_PM_INSTANT                                      1       /* Instant                              */
#define XDX_ROW_PM_BEGINNING                                    2       /* Instant (Beginning Duration)         */
#define XDX_ROW_PM_ENDING                                       3       /* Instant (Ending Duration)            */
                                                                        /*  * Calculation Relations             */
#define XDX_ROW_CALC_ADD                                        0       /* Adds                                 */
#define XDX_ROW_CALC_SUB                                        1       /* Subtracts                            */
#define XDX_ROW_CALC_TOT                                        2       /* Totals                               */
                                                                        /*  * Relationships                     */
#define XDX_ROW_POS_AUTO                                        0       /* Auto (use indent)                    */
#define XDX_ROW_POS_CHILD                                       1       /* Child                                */
#define XDX_ROW_POS_BEFORE                                      2       /* Before                               */
#define XDX_ROW_POS_AFTER                                       3       /* After                                */


                                                                        /****************************************/
                                                                        /* ** XDX ID Parse Data                 */
                                                                        /*  * Return Errors                     */
#define XDX_SYNTAX_NOT_XDX                  (ERROR_SYNTAX |  0x0000)    /* Syntax Error, no XDX_                */
#define XDX_SYNTAX_CHECK                    (ERROR_SYNTAX |  0x1000)    /* Group Does Not Check                 */
#define XDX_SYNTAX_CODE                     (ERROR_SYNTAX |  0x2000)    /* Bad XDX Code or Syntax               */
#define XDX_SYNTAX_PARAMETER                (ERROR_SYNTAX |  0x3000)    /* Parameter Error                      */
#define XDX_SYNTAX_DUPLICATE                (ERROR_SYNTAX |  0x4000)    /* Dusplicate Parameter Error           */
#define XDX_WRONG_TYPE                      (ERROR_SYNTAX |  0x8000)    /* Mismatch on Parameter Type           */
#define XDX_IGNORED_PARAMETERS              (ERROR_SYNTAX |  0x9000)    /* Parameters Were Ignored              */


                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** XDXCreateTransactionLog           */
                                                                        /*  * Options                           */
#define XDX_XTL_SORTED                                  0x00000010      /* Sort Data                            */
#define XDX_XTL_SORTED_MASK                             0x0000000F      /* Sorted Mask (XE_KEY_)                */
#define XDX_XTL_KEY_ELEMENT                             0x00000000      /* Element Key                          */
#define XDX_XTL_KEY_CONTEXT                             0x00000001      /* Context Key                          */
#define XDX_XTL_KEY_OPTIMIZED                           0x00000002      /* Optimized Key                        */
#define XDX_XTL_CHANGES_ONLY                            0x00010000      /* Write Only Changes                   */
#define XDX_XTL_ADD_ELE_ARRAY                           0x00020000      /* Add Element Array as Comment         */
#define XDX_XTL_ADD_UNITDEFS                            0x00040000      /* Add Unit Definitions                 */
#define XDX_XTL_NO_DATA                                 0x00100000      /* No Data                              */
                                                                        /*                                      */
#define XDX_XTL_OPTIMIZE_ORDER          (XDX_XTL_SORTED | XDX_XTL_KEY_OPTIMIZED)


                                                                        /****************************************/
                                                                        /* ** XDXValidateAll, XDXValidateAXBRL  */
                                                                        /*  * Errors                            */
#define XDXV_ERROR_LEVEL_MASK                           0x00000003      /* Error Type Mask                      */
#define XDXV_ERROR_LEVEL_LOW                            0x00000000      /* Low Tolerance (everything dumped out)*/
#define XDXV_ERROR_LEVEL_MEDIUM                         0x00000001      /* Medium Tolerance                     */
#define XDXV_ERROR_LEVEL_HIGH                           0x00000002      /* High Tolerance (no tax, warnings)    */
                                                                        /*  * Options                           */
#define XDXV_DISPLAY_PROGRESS                           0x00010000      /* Use Progress Window                  */
#define XDXV_NO_LOG_WRAPPER                             0x00020000      /* No Header or Summary on Log          */


                                                        /********************************************************/
                                                        /* Format Module                                        */
                                                        /* -------------                                        */
                                                        /********************************************************/

                                                                /************************************************/
                                                                /* CSS Palette Manager                          */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** CSS Property Pages                */
                                                                        /*    CSSEditDeclaration                */
                                                                        /*    CSSEditProperties                 */
                                                                        /*  * General                           */
#define CEP_DEFAULT_PAGES                       0x00000000              /* Present All Pages                    */
#define CEP_ALL_PAGES                           0x00FFFFFF              /* Present All Pages                    */
                                                                        /*  * Bitwise                           */
#define CEP_ELEMENT_PAGE                        0x00000001              /* Element Page                         */
#define CEP_FONT_PAGE                           0x00000002              /* Font Page                            */
#define CEP_SPACING_PAGE                        0x00000004              /* Spacing Page                         */
#define CEP_FORMAT_PAGE                         0x00000008              /* Format Page                          */
#define CEP_BOX_PAGE                            0x00000010              /* Box Page                             */
#define CEP_POSITION_PAGE                       0x00000020              /* Position Page                        */
#define CEP_BORDER_PAGE                         0x00000040              /* Border Page                          */
#define CEP_OUTLINE_PAGE                        0x00000080              /* Outline Page                         */
#define CEP_BACKGND_PAGE                        0x00000100              /* Background/Fill Page                 */
#define CEP_PAGE_PAGE                           0x00000200              /* Page Page                            */
#define CEP_WINDOW_PAGE                         0x00000400              /* Window Page                          */
#define CEP_LIST_PATH                           0x00000800              /* List Page                            */
#define CEP_MISC_PAGE                           0x00001000              /* Miscellaneous Page                   */
                                                                        /*  * Unsupported                       */
#define CEP_UNSUPPORTED_PAGE                    0x01000000              /* Unsupported Items                    */
                                                                        /*  * Other                             */
#define CEP_MULTIPLE_SELECT                     0x08000000              /* Act as if Multiple Selected Items    */
                                                                        /*  * Partial Pages                     */
#define CEP_FORMAT_PAGINATION_PAGE              0x20000000              /* Format Page (Pagination Only)        */


                                                        /********************************************************/
                                                        /* Encoding                                             */
                                                        /* --------                                             */
                                                        /********************************************************/

                                                                /************************************************/
                                                                /* Encryption                                   */
                                                                /* ----------                                   */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** AES                               */
                                                                        /*  * Modes                             */
#define AES_MODE_ECB                                             1      /* ECB Cipher mode                      */
#define AES_MODE_CBC                                             2      /* CBC Cipher mode                      */
#define AES_MODE_CFB1                                            3      /* 1-bit CFB Cipher mode                */
                                                                        /*  * Padding                           */
#define AES_PAD_ZEROFILL                                         0      /* Zero Fill Padding                    */
#define AES_PAD_RFC2040                                          1      /* RFC-2040 Padding                     */
#define AES_PAD_NOPADDING                                        2      /* No Padding (only encrypts blocks)    */


                                                        /********************************************************/
                                                        /* Internet/Communications                              */
                                                        /* -----------------------                              */
                                                        /********************************************************/

                                                                /************************************************/
                                                                /* HTTP                                         */
                                                                /* ----                                         */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** HTTP                              */
                                                                        /*  * General                           */
#define HTTP_NO_CACHE                                   0x00000001      /* No File Caching                      */
#define HTTP_NO_COOKIES                                 0x00000002      /* No Cookies                           */
#define HTTP_NO_AUTH_DLG                                0x00000004      /* No Authentication Dialog             */
                                                                        /*  * HTTPGetFile                       */
#define HTTP_GET_FILE_NO_CACHE                          0x00000001      /* No Cache                             */
#define HTTP_GET_FILE_NO_PROGRESS                       0x00000004      /* No Progress Update                   */
                                                                        /*  * HTTPGetUserAgent                  */
#define HTTP_GUA_CURRENT                                0               /* Current                              */
#define HTTP_GUA_MASQUERADE                             1               /* Masquerade                           */
#define HTTP_GUA_DEFAULT                                2               /* Default                              */


                                                                /************************************************/
                                                                /* Serial                                       */
                                                                /* ------                                       */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Settings         (Windows SDK)    */
                                                                        /*  * Stop Bit Modes                    */
#define SP_STOP_BIT_ONE                                 0               /* 1 Stop Bit           ONESTOPBIT      */
#define SP_STOP_BIT_ONE_FIVE                            1               /* 1.5 Stop Bits        ONE5STOPBITS    */
#define SP_STOP_BIT_TWO                                 2               /* 2 Stop Bits          TWOSTOPBITS     */
                                                                        /*  * Data Parity Check                 */
#define SP_PARITY_NONE                                  0               /* No Parity Check      NOPARITY        */
#define SP_PARITY_EVEN                                  2               /* Even Parity Check    EVENPARITY      */
#define SP_PARITY_ODD                                   1               /* Odd Parity Check     ODDPARITY       */
                                                                        /*  * Handshaking Modes                 */
#define SP_HANDSHAKE_NONE                               0               /* No Handshaking (software or other)   */
#define SP_HANDSHAKE_SOFTWARE                           1               /* Handshaking Via Ctrl+Q Ctrl+S        */
#define SP_HANDSHAKE_HARDWARE                           2               /* Handshaking Via CTS/RTS, DSR         */
                                                                        /*  * Duplex Mode                       */
#define SP_DUPLEX_HALF                                  0               /* Half Duplex Mode (does not echo)     */
#define SP_DUPLEX_FULL                                  1               /* Full Duplex Mode (echos receive)     */

                                                                        /****************************************/
                                                                        /* ** Serial Port Expanded Errors       */
                                                                        /*  * Masks                             */
#define SP_ERROR_STATE_MASK                             0xF0000000      /* An Error Condition Exists            */
#define SP_CONDITION_MASK                               0x000F0000      /* An Error Condition Exists            */
#define SP_CHANNEL_MASK                                 0x000000FF      /* Channel Codes (from Windows SK)      */
                                                                        /*  * Windows Codes                     */
#define SP_CTS_FLAG                                     0x00000010      /* Clear to Send (CTS, MS_CTS_ON)       */
#define SP_DSR_FLAG                                     0x00000020      /* Data Set Ready (DSR, MS_DSR_ON)      */
#define SP_RING_FLAG                                    0x00000040      /* Ring Signal (MS_RING_ON)             */
#define SP_DCD_ON                                       0x00000080      /* Data Carrier (DCD, MS_RLSD_ON)       */
                                                                        /*  * General Errors                    */
#define SP_CANCEL                                       0x80010000      /* User Cancel/Abort                    */
#define SP_LINK_OFFLINE                                 0x80030000      /* Link Offline (no DCD/RSLD)           */
#define SP_TX_ERROR                                     0x80040000      /* Transmit Error                       */
                                                                        /*  * Conditions                        */
#define SP_LINK_UNKNOWN                                 0x00050000      /* Link Status Was Not Tested           */
#define SP_LINK_ONLINE                                  0x00060000      /* Link Online (has DCD/RSLD)           */



                                                /****************************************************************/

                                                        /********************************************************/
                                                        /* Application Specific: GoFiler                        */
                                                        /********************************************************/

                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Function Types and Modes          */
                                                                        /*  * EDGARValidateValue                */
#define EVV_REPORT_ERROR                                0x10000000      /* Report Error in Message Box          */
#define EVV_TYPE_MASK                                   0x0000FFFF      /* Mask for Types                       */
                                                                        /* (EIS Schema)         (Example)       */
#define EVV_ACCESSION_NUMBER                            0x00000001      /* CIK_TYPE                             */
#define EVV_CATEGORY                                    0x00000002      /* Category                             */
#define EVV_CCC                                         0x00000003      /* CCC_TYPE                             */
#define EVV_CIK                                         0x00000004      /* CIK_TYPE             0123456789      */
#define EVV_CLASS_ID                                    0x00000005      /* Class ID                             */
#define EVV_CLASS_NAME                                  0x00000006      /* Class Name                           */
#define EVV_COMPANY_NAME                                0x00000007      /* Company Name                         */
#define EVV_CONTACT_NAME                                0x00000008      /* Contact Name                         */
#define EVV_CUSIP                                       0x00000009      /* CUSIP                                */
#define EVV_DATE_TYPE                                   0x00000011      /* DATE_TYPE            mm/yyyy         */
#define EVV_DATE_MM_YYYY_TYPE                           0x00000012      /* DATE_MM_YYYY_TYPE    mm-dd-yyyy      */
#define EVV_DATE_YYYY                                   0x00000013      /* Date as YYYY                         */
#define EVV_DECIMAL_TYPE14_2                            0x00000014      /* DECIMAL_TYPE14_2     22.33           */
#define EVV_DECIMAL_TYPE20_8                            0x00000015      /* DECIMAL_TYPE20_8     22222.33333     */
#define EVV_DEPOSITORY                                  0x00000016      /* Depository                           */
#define EVV_DESCRIPTION                                 0x00000017      /* Description                          */
#define EVV_DOCUMENT_TYPE                               0x00000018      /* Document Type                        */
#define EVV_EMAIL                                       0x00000019      /* Email                                */
#define EVV_ENTITY_NAME                                 0x00000021      /* Entity Name                          */
#define EVV_FILE_NAME                                   0x00000022      /* File Name                            */
#define EVV_FILE_NUMBER                                 0x00000023      /* File Number                          */
#define EVV_FISCAL_YEAR                                 0x00000024      /* Fiscal Year                          */
#define EVV_GROUP_NAME                                  0x00000025      /* Group Name                           */
#define EVV_INTEGER_TYPE_2                              0x00000029      /* INTEGER_TYPE_2       12              */
#define EVV_INTEGER_TYPE_8                              0x00000031      /* INTEGER_TYPE_8       12345678        */
#define EVV_IRS_NUMBER                                  0x00000026      /* IRS Number                           */
#define EVV_ITEM_ID                                     0x00000027      /* Item ID                              */
#define EVV_ITEM_ID_2                                   0x00000028      /* Item ID 2                            */
#define EVV_PASSWORD                                    0x00000032      /* Password                             */
#define EVV_PHONE                                       0x00000033      /* Phone                                */
#define EVV_MONEY                                       0x00000034      /* Money                                */
#define EVV_NUMBER                                      0x00000035      /* Number                               */
#define EVV_SECURITY_NAME                               0x00000036      /* Security Name                        */
#define EVV_SERIAL_NAME                                 0x00000037      /* Serial Name                          */
#define EVV_SERIES_ID                                   0x00000038      /* Series ID            S123456789      */
#define EVV_SHARES_ID                                   0x00000039      /* Shares ID            series or Class */
#define EVV_SROS                                        0x00000041      /* SROS                                 */
#define EVV_SS_NUMBER                                   0x00000042      /* SS Number                            */
#define EVV_TIN_NUMBER                                  0x00000043      /* TIN Number                           */
                                                                        /* (non-schema)                         */
#define EVV_NS_DATE_YYYY                                0x00000100      /* DATE_YYYY            2000            */

                                                                        /****************************************/
                                                                        /* ** Application EDGAR Library         */
                                                                        /*  * Type                              */
#define EAL_CIK_LIBRARY                                          0      /* CIK Library                          */
#define EAL_RO_LIBRARY                                           1      /* Reporting Owner Library              */
#define EAL_SC_LIBRARY                                           2      /* Series/Class Library                 */

                                                                        /****************************************/
                                                                        /* ** EDGAR Response Messages           */
                                                                        /*  * Result Codes                      */
#define EM_RESULT_UNKNOWN                                        0      /* Unknown Status                       */
#define EM_RESULT_TEST_FAIL                                      1      /* Test Filing Failed                   */
#define EM_RESULT_TEST_PASS                                      2      /* Test Filing Passed                   */
#define EM_RESULT_TEST_PASS_XBRL_FAIL                            3      /* Test Filing Passed/XBRL Fail         */
#define EM_RESULT_LIVE_FAIL                                      4      /* Live Filing Failed                   */
#define EM_RESULT_LIVE_PASS                                      5      /* Live Filing Passed                   */
#define EM_RESULT_LIVE_PASS_XBRL_FAIL                            6      /* Live Filing Passed/XBRL Fail         */

                                                                        /****************************************/
                                                                        /* ** Type Codes                        */
                                                                        /*  * Type                              */
#define EM_LIST_TYPE_MASK                               0xF0000000      /* Type Mask                            */
#define EM_LIST_NULL                                    0x00000000      /* Undefined Type (EOL)                 */
#define EM_LIST_WARNING                                 0x10000000      /* Warning Message                      */
#define EM_LIST_ERROR                                   0x20000000      /* Error Message                        */
                                                                        /*  * Source                            */
#define EM_LIST_SOURCE_MASK                             0x0000000F      /* Source Mask                          */
#define EM_LIST_EDGAR_XML                               0x00000001      /* EDGAR XML Error Message              */
#define EM_LIST_XBRL                                    0x00000002      /* XBRL Message                         */

                                                                        /****************************************/
                                                                        /* ** EDGAR Session                     */
                                                                        /*  * Portal Mode                       */
                                                                        /*    (EDGARSessionOpenSession)         */
#define ES_CONNECT_MAIN                                          0      /* General Connection                   */
#define ES_CONNECT_ONLINE_FORMS                                  1      /* Online Forms                         */
#define ES_CONNECT_EDGAR_NEXT_BETA                               2      /* EDGAR Next Beta                      */
#define ES_CONNECT_EDGAR_NEXT_BETA_ONLINE_FORMS                  3      /* EDGAR Next Beta Online Forms         */

                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Script Data Ordinals (Legato SDK) */
                                                                        /*  * File                              */
#define PROJECT_ENTRY_NAME                                       0      /* Source Name (relative)               */
#define PROJECT_ENTRY_MOD_TIME                                   1      /* Time the File Was Modified           */
#define PROJECT_ENTRY_SIZE                                       2      /* Size of the File                     */
#define PROJECT_ENTRY_F_TYPE                                     3      /* File Type (FT_)                      */
#define PROJECT_ENTRY_FLAGS                                      4      /* Flags                                */
                                                                        /*  o Non-Saved Data                    */
#define PROJECT_ENTRY_STATUS_DESCIPTION                          5      /* File Status (open status)            */
                                                                        /*  * Application Properties            */
#define PROJECT_ENTRY_D_TYPE                                     6      /* Descriptive Type (Document EDGAR)    */
#define PROJECT_ENTRY_DESCRIPTION                                7      /* File Description                     */
#define PROJECT_ENTRY_COMMENT                                    8      /* Comment                              */
#define PROJECT_ENTRY_EDIT_STATUS                                9      /* Edit Status                          */
                                                                        /*  * Publishing                        */
#define PROJECT_ENTRY_MEMBER_FLAGS                              10      /* Membership Flags                     */
#define PROJECT_ENTRY_SWITCHES                                  11      /* Publishing Switches                  */
                                                                        /*  o FTP Server                        */
#define PROJECT_ENTRY_LU_SIZE                                   12      /* Last Upload Size                     */
#define PROJECT_ENTRY_LU_MOD_TIME                               13      /* Last Upload Modified Time            */
#define PROJECT_ENTRY_LU_SERVER_TIME                            14      /* File Time on File Server             */

                                                                        /****************************************/
                                                                        /* ** Find Options (Legato)             */
                                                                        /*  * How To Match                      */
#define PROJECT_FIND_MATCH_MASK                         0x00070000      /* How to Compare                       */
#define PROJECT_FIND_EXACT                              0x00000000      /* Character for Character              */
#define PROJECT_FIND_CONTAINS                           0x00010000      /* Partial - Contains                   */
#define PROJECT_FIND_STARTS_WITH                        0x00020000      /* Partial - Starts With                */
#define PROJECT_FIND_WILDCARD                           0x00030000      /* Wild Card                            */
#define PROJECT_FIND_MATCH_CASE                         0x00080000      /* Force Case Match                     */
                                                                        /*  * What To Match                     */
#define PROJECT_FIND_FIELD_MASK                         0x0FF00000      /* Look In All Fields                   */
#define PROJECT_FIND_IN_ALL_FIELDS                      0x00000000      /* Look In All Fields                   */
#define PROJECT_FIND_ENTRY_NAME                         0x00100000      /* Find by Entry Name (File)            */
#define PROJECT_FIND_RESOLVED_NAME                      0x00200000      /* Find by Resolved Name                */
#define PROJECT_FIND_TYPE                               0x00400000      /* Descriptive Type (Document EDGAR)    */
#define PROJECT_FIND_DESCRIPTION                        0x00800000      /* File Description                     */
#define PROJECT_FIND_COMMENT                            0x01000000      /* Comment                              */
#define PROJECT_FIND_EDIT_STATUS                        0x02000000      /* Edit Status                          */
#define PROJECT_FIND_SWITCHES                           0x04000000      /* Publishing Switches                  */



                                                        /********************************************************/

                                                                /************************************************/
                                                                /* File Types                                   */
                                                                /* ----------                                   */
                                                                /* Note that some of  these  types  are  psuedo */
                                                                /* codes  for  exchange  or  internal use.  For */
                                                                /* example,  FT_HTML_CLEANED  is  HTML that has */
                                                                /* been converted, the result is FT_HTML.       */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** File Typs Formats                 */
                                                                        /*  * Masks                             */
                                                                        /*  o Main Types                        */
#define FT_TYPE_FLAGS                                   0xE0000000      /* File Format Flags (not clipboard)    */
#define FT_TYPE_MASK                                    0x0000FFFF      /* File Type Mask (less version)        */      // Should regroup this
#define FT_CLASS_MASK                                   0x0000F000      /* File Class Indicator Mask            */
#define FT_TYPE_ORDINAL_MASK                            0x000007FF      /* File Type Ordinal Mask               */
#define FT_VARIATION_MASK                               0x1F000000      /* File Type Major Ordinal Mask         */
#define FT_REQUIRES_TRANSLATION                         0x20000000      /* Used by Application for Translate    */
                                                                        /*  o Versioning                        */
#define FT_VERSION_MASK                                 0x00FF0000      /* File Type Ordinal Mask               */
#define FT_SUB_TYPE_MASK                                0x0FF00000      /* Sub Type Ordinal Mask (HTML)         */
                                                                        /*  o Flags                             */
#define FT_A                                            0x00000800      /* ASCII Base (can be opened as text)   */
                                                                        /*  o Unknown                           */
#define FT_UNKNOWN                                      0x00000000      /* Unknown File Type                    */
#define FT_MIXED                                        0xFFFFFFFE      /* Mixed File Type                      */
                                                                        /*  * Text Formats                      */
#define FT_TYPE_TEXT                    0x00001000                      /* Format Indicator Group               */
#define FT_TYPE_TEXT_PRINT_IMAGE        0x00000000                      /* Print Image Group (0x0nn)            */
#define FT_ANSI                         FT_TYPE_TEXT     + 0x001 + FT_A /* ANSI Format (CB)                     */
#define FT_OEM                          FT_TYPE_TEXT     + 0x002 + FT_A /* OEM Format (CB)                      */
#define FT_UNICODE                      FT_TYPE_TEXT     + 0x003 + FT_A /* Unicode Text (CB)                    */
#define FT_ASCII                        FT_TYPE_TEXT     + 0x004 + FT_A /* ASCII Text 7-bit                     */
#define FT_UTF_8                        FT_TYPE_TEXT     + 0x005 + FT_A /* Unicode UTF-8 Text                   */
#define FT_MAC                          FT_TYPE_TEXT     + 0x011 + FT_A /* Mac Text                             */
#define FT_TEXT                         FT_TYPE_TEXT     + 0x012 + FT_A /* Text Format (Coding Unknown)         */
#define FT_HTML                         FT_TYPE_TEXT     + 0x101 + FT_A /* HTML Native (CB/File Type)           */
#define FT_HTML_CODE                    FT_TYPE_TEXT     + 0x102 + FT_A /* HTML Native Code Only (in Code View) */
#define FT_HTML_CLEANED                 FT_TYPE_TEXT     + 0x103 + FT_A /* HTML Converted (Cleaned)             */
#define FT_RTF                          FT_TYPE_TEXT     + 0x104 + FT_A /* Rich Text Format (CB)                */
#define FT_CSS                          FT_TYPE_TEXT     + 0x105 + FT_A /* Cascading Style Sheet                */
#define FT_LOG                          FT_TYPE_TEXT     + 0x106 + FT_A /* Log File (Text)                      */
#define FT_SASS                         FT_TYPE_TEXT     + 0x107 + FT_A /* Syntactically Awesome Style Sheets   */
#define FT_SCSS                         FT_TYPE_TEXT     + 0x108 + FT_A /* SASS Cascading Style Sheet           */
#define FT_WORD                         FT_TYPE_TEXT     + 0x201        /* Microsoft Word                       */
#define FT_POWERPOINT                   FT_TYPE_TEXT     + 0x202        /* Microsoft PowerPoint                 */
#define FT_PDF                          FT_TYPE_TEXT     + 0x211        /* Portable Document Format             */
#define FT_POSTSCRIPT                   FT_TYPE_TEXT     + 0x212 + FT_A /* Postscript Format                    */
#define FT_WORDPERFECT                  FT_TYPE_TEXT     + 0x213        /* WordPerfect                          */
#define FT_PAGEMAKER                    FT_TYPE_TEXT     + 0x221        /* Adobe PageMaker                      */
#define FT_INDB                         FT_TYPE_TEXT     + 0x222        /* Adobe InDesign Book (INDB)           */
#define FT_INDD                         FT_TYPE_TEXT     + 0x223        /* Adobe InDesign Document (INDD)       */
#define FT_IDML                         FT_TYPE_TEXT     + 0x224        /* Adobe InDesign XML (IDML)            */
#define FT_QUARKXPRESS                  FT_TYPE_TEXT     + 0x231        /* Quark XPress                         */
#define FT_SEC_MESSAGE                  FT_TYPE_TEXT     + 0x301 + FT_A /* SEC Acceptance/Suspense Message      */
                                                                        /*  * Data (Spreadsheet, etc)           */
#define FT_TYPE_DATA                    0x00002000                      /* Format Indicator Group               */
#define FT_CSV                          FT_TYPE_DATA     + 0x001 + FT_A /* CSV (CB)                             */
#define FT_DIF                          FT_TYPE_DATA     + 0x002        /* DIF (CB)                             */
#define FT_SYLK                         FT_TYPE_DATA     + 0x003        /* SYLK (CB)                            */
#define FT_MAP                          FT_TYPE_DATA     + 0x004 + FT_A /* Visual Studio Map                    */
#define FT_DAT                          FT_TYPE_DATA     + 0x005 + FT_A /* General Data File (text)             */
#define FT_XML                          FT_TYPE_DATA     + 0x101 + FT_A /* XML (non-specific)                   */
#define FT_XSD                          FT_TYPE_DATA     + 0x102 + FT_A /* XML Style Data (non-specific)        */
#define FT_NETSCAPE_BOOKMARK            FT_TYPE_DATA     + 0x103 + FT_A /* Netscape Bookmark File               */
#define FT_RSD                          FT_TYPE_DATA     + 0x104 + FT_A /* Really Simple Discovery XML Data     */
#define FT_RSS                          FT_TYPE_DATA     + 0x105 + FT_A /* Really Simple Syndication XML Data   */
#define FT_DTD                          FT_TYPE_DATA     + 0x106 + FT_A /* Document Type Definition (SGML)      */
#define FT_EXCEL                        FT_TYPE_DATA     + 0x201        /* Microsoft Excel                      */
#define FT_IXBRL                        FT_TYPE_DATA     + 0x321 + FT_A /* Inline XBRL File (XHTML)             */
#define FT_XBRL                         FT_TYPE_DATA     + 0x301 + FT_A /* XBRL File Group Member (mv has file) */
  #define       FT_XBRL_INS               FT_XBRL        + 0x01000000   /*  - Instance (main)                   */
  #define       FT_XBRL_SCH               FT_XBRL        + 0x02000000   /*  - Schema                            */
  #define       FT_XBRL_CAL               FT_XBRL        + 0x03000000   /*  - Calculation                       */
  #define       FT_XBRL_DEF               FT_XBRL        + 0x04000000   /*  - Definition                        */
  #define       FT_XBRL_LAB               FT_XBRL        + 0x05000000   /*  - Label                             */
  #define       FT_XBRL_PRE               FT_XBRL        + 0x06000000   /*  - Presentation                      */
  #define       FT_XBRL_REF               FT_XBRL        + 0x07000000   /*  - Reference                         */
#define FT_XFR                          FT_TYPE_DATA     + 0x302 + FT_A /* XBRL Financial Report (PSG, XDS)     */
#define FT_XFDL                         FT_TYPE_DATA     + 0x303 + FT_A /* XFDL (EDGAR and Sec16 Filing)        */
#define FT_XML_SECTION_16               FT_TYPE_DATA     + 0x304 + FT_A /* Section 16 XML (EDGAR)               */
#define FT_XML_FORM_13F                 FT_TYPE_DATA     + 0x305 + FT_A /* Form 13F XML (EDGAR)                 */
#define FT_XML_FORM_13F_TAB             FT_TYPE_DATA     + 0x306 + FT_A /* Form 13F Table XML (EDGAR)           */
#define FT_XML_FORM_13H                 FT_TYPE_DATA     + 0x307 + FT_A /* Form 13H XML (EDGAR)                 */
#define FT_XML_FORM_17A                 FT_TYPE_DATA     + 0x319 + FT_A /* Form X-17A-5 XML (EDGAR)             */
#define FT_XML_FORM_17H                 FT_TYPE_DATA     + 0x31D + FT_A /* Form 17H XML (EDGAR)                 */
#define FT_XML_FORM_24F_2               FT_TYPE_DATA     + 0x322 + FT_A /* Form 24F-@ XML (EDGAR)               */
#define FT_XML_FORM_ATS                 FT_TYPE_DATA     + 0x31F + FT_A /* Form ATS-N XML (EDGAR)               */
#define FT_XML_FORM_C                   FT_TYPE_DATA     + 0x31A + FT_A /* Form C XML (EDGAR)                   */
#define FT_XML_FORM_CFP                 FT_TYPE_DATA     + 0x31B + FT_A /* Form CFPORTAL XML (EDGAR)            */
#define FT_XML_FORM_D                   FT_TYPE_DATA     + 0x308 + FT_A /* Form D XML (EDGAR)                   */
#define FT_XML_FORM_MA                  FT_TYPE_DATA     + 0x309 + FT_A /* Form MA XML (EDGAR)                  */
#define FT_XML_FORM_N_CEN               FT_TYPE_DATA     + 0x320 + FT_A /* Form N-CEN XML (EDGAR)               */
#define FT_XML_FORM_N_MFP               FT_TYPE_DATA     + 0x310 + FT_A /* Form N-MFP XML (EDGAR)               */
#define FT_XML_FORM_N_MFP1              FT_TYPE_DATA     + 0x31C + FT_A /* Form N-MFP1 XML (EDGAR)              */
#define FT_XML_FORM_N_PORT              FT_TYPE_DATA     + 0x323 + FT_A /* Form N-PORT XML (EDGAR)              */
#define FT_XML_FORM_N_SAR               FT_TYPE_DATA     + 0x311 + FT_A /* Form N-SAR XML (EDGAR)               */      //discontinued
#define FT_XML_FORM_N_PX                FT_TYPE_DATA     + 0x325 + FT_A /* Form N-PORT XML (EDGAR)              */
#define FT_XML_FORM_N_PX_PVR            FT_TYPE_DATA     + 0x326 + FT_A /* Form N-PORT PVR XML (EDGAR)          */
#define FT_XML_FORM_SDR                 FT_TYPE_DATA     + 0x316 + FT_A /* Form SDR XML (EDGAR)                 */
#define FT_XML_FORM_SDR_EXHIBIT         FT_TYPE_DATA     + 0x317 + FT_A /* Form SDR XML (EDGAR Exhibit)         */
  #define FT_XML_FORM_SDR_EX_A   FT_XML_FORM_SDR_EXHIBIT + 0x01000000   /*  - Exhibit A - Controlling Persons   */
  #define FT_XML_FORM_SDR_EX_B   FT_XML_FORM_SDR_EXHIBIT + 0x02000000   /*  - Exhibit B - Chief Compliance Off  */
  #define FT_XML_FORM_SDR_EX_C   FT_XML_FORM_SDR_EXHIBIT + 0x03000000   /*  - Exhibit C - Director Governors    */
  #define FT_XML_FORM_SDR_EX_G   FT_XML_FORM_SDR_EXHIBIT + 0x04000000   /*  - Exhibit G - Affiliates            */
  #define FT_XML_FORM_SDR_EX_I   FT_XML_FORM_SDR_EXHIBIT + 0x05000000   /*  - Exhibit I - Service Provider Con  */
  #define FT_XML_FORM_SDR_EX_T   FT_XML_FORM_SDR_EXHIBIT + 0x06000000   /*  - Exhibit T - Subscriber Information*/
#define FT_XML_FORM_TA                  FT_TYPE_DATA     + 0x31E + FT_A /* Form TA XML (EDGAR, all)             */
#define FT_XML_EDGAR                    FT_TYPE_DATA     + 0x312 + FT_A /* EDGARLink Online (EDGAR XML)         */
  #define FT_XML_EDGAR_S16       FT_XML_EDGAR            + 0x0E000000   /* EDGARLink Online (Section 16 Only)   */
#define FT_XML_EDGAR_COMPRESSED         FT_TYPE_DATA     + 0x313        /* EDGARLink Online (EDGAR Compressed)  */
  #define FT_XML_EDGAR_COM_ELO   FT_XML_EDGAR_COMPRESSED + 0x01000000   /*  - Normal EDGAR Link Online          */
  #define FT_XML_EDGAR_COM_13F   FT_XML_EDGAR_COMPRESSED + 0x02000000   /*  - Form 13F                          */
  #define FT_XML_EDGAR_COM_13H   FT_XML_EDGAR_COMPRESSED + 0x03000000   /*  - Form 13H                          */
  #define FT_XML_EDGAR_COM_MA    FT_XML_EDGAR_COMPRESSED + 0x04000000   /*  - Form MA                           */
  #define FT_XML_EDGAR_COM_SDR   FT_XML_EDGAR_COMPRESSED + 0x05000000   /*  - Form SDR                          */
  #define FT_XML_EDGAR_COM_RGA   FT_XML_EDGAR_COMPRESSED + 0x06000000   /*  - Regulation A                      */
  #define FT_XML_EDGAR_COM_17A   FT_XML_EDGAR_COMPRESSED + 0x07000000   /*  - Form X-17A-5                      */
  #define FT_XML_EDGAR_COM_C     FT_XML_EDGAR_COMPRESSED + 0x08000000   /*  - Form C                            */
  #define FT_XML_EDGAR_COM_CFP   FT_XML_EDGAR_COMPRESSED + 0x09000000   /*  - Form CFPORTAL                     */
  #define FT_XML_EDGAR_COM_17H   FT_XML_EDGAR_COMPRESSED + 0x0A000000   /*  - Form 17H                          */
  #define FT_XML_EDGAR_COM_TA    FT_XML_EDGAR_COMPRESSED + 0x0B000000   /*  - Form TA                           */
  #define FT_XML_EDGAR_COM_CEN   FT_XML_EDGAR_COMPRESSED + 0x0C000000   /*  - Form N-CEN                        */
  #define FT_XML_EDGAR_COM_NPT   FT_XML_EDGAR_COMPRESSED + 0x0D000000   /*  - Form N-PORT                       */
  #define FT_XML_EDGAR_COM_S16   FT_XML_EDGAR_COMPRESSED + 0x0E000000   /*  - Section 16 (Combined)             */
  #define FT_XML_EDGAR_COM_ATS   FT_XML_EDGAR_COMPRESSED + 0x0F000000   /*  - Form ATS-N                        */
#define FT_XFDL_COMPRESSED              FT_TYPE_DATA     + 0x314 + FT_A /* XFDL (EDGAR Compressed)              */
#define FT_XML_FORM_ABS                 FT_TYPE_DATA     + 0x315 + FT_A /* Form ABS XML (EDGAR)                 */
  #define FT_XML_ABS_AUTOLEASE   FT_XML_FORM_ABS         + 0x01000000   /*  - Auto Lease                        */
  #define FT_XML_ABS_AUTOLOAN    FT_XML_FORM_ABS         + 0x02000000   /*  - Auto Loan                         */
  #define FT_XML_ABS_CMBS        FT_XML_FORM_ABS         + 0x03000000   /*  - Commercial Mortgage               */
  #define FT_XML_ABS_DS          FT_XML_FORM_ABS         + 0x04000000   /*  - Debt Securities                   */
  #define FT_XML_ABS_RMBS        FT_XML_FORM_ABS         + 0x05000000   /*  - Residential Mortgage              */
  #define FT_XML_ABS_NOTES       FT_XML_FORM_ABS         + 0x06000000   /*  - Disclosure Notes (Ex-103)         */
#define FT_XML_REG_A                    FT_TYPE_DATA     + 0x318 + FT_A /* Regulation XML (EDGAR)               */
#define FT_XDS                          FT_TYPE_DATA     + 0x401 + FT_A /* XML Data Sheet (PSG, Data View)      */
  #define FT_XDS_II              FT_XDS                  + 0x01000000   /* XML Data Sheet (Mark II)             */
#define FT_XDT                          FT_TYPE_DATA     + 0x402 + FT_A /* XML Data Template (PSG, Data View)   */
#define FT_XFT                          FT_TYPE_DATA     + 0x403 + FT_A /* XML Forms Template (Forms View)      */
                                                                        /*  * Images                            */
#define FT_TYPE_IMAGE                   0x00003000                      /* Format Indicator Group               */
#define FT_BITMAP                       FT_TYPE_IMAGE    + 0x001        /* Bitmap (CB)                          */
#define FT_DIB                          FT_TYPE_IMAGE    + 0x002        /* Device Independent Bitmap (CB)       */
#define FT_META                         FT_TYPE_IMAGE    + 0x003        /* Windows Meta (CB)                    */
#define FT_ENHMETA                      FT_TYPE_IMAGE    + 0x004        /* Windows Enhance Meta (CB)            */
#define FT_GIF                          FT_TYPE_IMAGE    + 0x005        /* Graphics Interchange Format (CB)     */
#define FT_JPEG                         FT_TYPE_IMAGE    + 0x006        /* JPEG Image Format (CB)               */
#define FT_PNG                          FT_TYPE_IMAGE    + 0x007        /* Portable Network Graphic (CB)        */
#define FT_TIFF                         FT_TYPE_IMAGE    + 0x008        /* Tag Image Format (CB)                */
#define FT_PCX                          FT_TYPE_IMAGE    + 0x009        /* Quick Draw Mac                       */
#define FT_EXIF                         FT_TYPE_IMAGE    + 0x00A        /* Exchangeable Image File Format (EXIF)*/
#define FT_EMZ                          FT_TYPE_IMAGE    + 0x00B        /* Compression Windows Enhanced Meta    */
#define FT_EPS                          FT_TYPE_IMAGE    + 0x00C        /* Encapsulated Postscript              */
#define FT_ICON                         FT_TYPE_IMAGE    + 0x010        /* Icon                                 */
                                                                        /*  * Multi Media                       */
#define FT_TYPE_MEDIA                   0x00004000                      /* Format Indicator Group               */
#define FT_AVI                          FT_TYPE_MEDIA    + 0x001        /* Audio Video                          */
#define FT_FLASH                        FT_TYPE_MEDIA    + 0x002        /* Flash (Shockwave)                    */
#define FT_MIDI                         FT_TYPE_MEDIA    + 0x003        /* MIDI File                            */
#define FT_MOVIE                        FT_TYPE_MEDIA    + 0x004        /* Movie                                */
#define FT_MP3                          FT_TYPE_MEDIA    + 0x005        /* MPEG-1 Audio Layer 3 (CB)            */
#define FT_WAVE                         FT_TYPE_MEDIA    + 0x006        /* Wave (CB)                            */
#define FT_WMA                          FT_TYPE_MEDIA    + 0x007        /* Windows Media Player                 */
#define FT_FLAC                         FT_TYPE_MEDIA    + 0x008        /* Free Lossless Audio Codec            */
#define FT_OBJECT                       FT_TYPE_MEDIA    + 0x009        /* Generic Object                       */
                                                                        /*  * Exchange/Server Types             */
#define FT_TYPE_EXCHANGE                0x00005000                      /* Format Indicator Group               */
#define FT_FILES                        FT_TYPE_EXCHANGE + 0x001        /* Files/Directories (CB)               */
#define FT_DROP                         FT_TYPE_EXCHANGE + 0x002        /* Dropped Files/Object (CB)            */
#define FT_ZIP                          FT_TYPE_EXCHANGE + 0x003        /* Zipped/Compressed                    */
#define FT_BAK                          FT_TYPE_EXCHANGE + 0x004        /* Backup File                          */
#define FT_MHT                          FT_TYPE_EXCHANGE + 0x005 + FT_A /* Mime Encoded HTML File               */
#define FT_MHT_EXTRACTED                FT_TYPE_EXCHANGE + 0x006        /* Mime Encoded HTML File (extracted)   */
#define FT_FOLDER                       FT_TYPE_EXCHANGE + 0x007        /* Folder Only (pseudo type)            */
#define FT_FOLDER_UP                    FT_TYPE_EXCHANGE + 0x008        /* Folder Only Up (pseudo type)         */
#define FT_GZIP                         FT_TYPE_EXCHANGE + 0x009        /* GZip Compressed                      */
#define FT_HTTP                         FT_TYPE_EXCHANGE + 0x103        /* Web HTTP                             */
#define FT_HTTPS                        FT_TYPE_EXCHANGE + 0x104        /* Web HTTPS                            */
#define FT_FTP                          FT_TYPE_EXCHANGE + 0x105        /* Web FTP                              */
#define FT_MIME                         FT_TYPE_EXCHANGE + 0x106 + FT_A /* MIME, Web Mail (MHT Related)         */
#define FT_GFBINARY                     FT_TYPE_EXCHANGE + 0x201        /* GoFiler Binary File (generic)        */
#define FT_PDFZONE                      FT_TYPE_EXCHANGE + 0x208        /* PDF Zoning File                      */
#define FT_XML_LOG_DATA                 FT_TYPE_EXCHANGE + 0x210 + FT_A /* XML Log Data (Info View)             */
                                                                        /*  * Program/Script Types              */
#define FT_TYPE_PROGRAM                 0x00006000                      /* Format Indicator Group               */
#define FT_TYPE_PROGRAM_TEXT            0x00000000                      /* Text File Group                      */
#define FT_TYPE_PROGRAM_BINARY          0x00000100                      /* Binary File Group                    */
#define FT_BATCH                        FT_TYPE_PROGRAM  + 0x001 + FT_A /* Batch File (MSDOS, Command)          */
#define FT_C                            FT_TYPE_PROGRAM  + 0x002 + FT_A /* C                                    */
#define FT_C_PLUSPLUS                   FT_TYPE_PROGRAM  + 0x003 + FT_A /* C++                                  */
#define FT_C_HEADER                     FT_TYPE_PROGRAM  + 0x004 + FT_A /* C Header                             */
#define FT_C_SHARP                      FT_TYPE_PROGRAM  + 0x005 + FT_A /* C#                                   */
#define FT_JAVA                         FT_TYPE_PROGRAM  + 0x006 + FT_A /* Java Application                     */
#define FT_JAVASCRIPT                   FT_TYPE_PROGRAM  + 0x007 + FT_A /* Java Script/JScript                  */
#define FT_PERL                         FT_TYPE_PROGRAM  + 0x008 + FT_A /* Perl Script                          */
#define FT_PHP                          FT_TYPE_PROGRAM  + 0x009 + FT_A /* PHP: Hypertext Preprocessor          */
#define FT_VBSCRIPT                     FT_TYPE_PROGRAM  + 0x00A + FT_A /* Visual Basic Script                  */
#define FT_SQL                          FT_TYPE_PROGRAM  + 0x00D + FT_A /* Structured Query Language            */
#define FT_RESOURCE_SCRIPT              FT_TYPE_PROGRAM  + 0x00E + FT_A /* Resource Script (windows)            */
#define FT_ERB                          FT_TYPE_PROGRAM  + 0x00F + FT_A /* Ruby on Rails                        */
#define FT_LEGATO                       FT_TYPE_PROGRAM  + 0x010 + FT_A /* Legato Script (PSG)                  */
#define FT_LEGATO_C                     FT_TYPE_PROGRAM  + 0x011        /* Legato Script Crunched/Encrypted     */
#define FT_PYTHON                       FT_TYPE_PROGRAM  + 0x013 + FT_A /* Python                               */
#define FT_XULE                         FT_TYPE_PROGRAM  + 0x018 + FT_A /* XULE (XBRL Rule Language)            */
#define FT_EXE                          FT_TYPE_PROGRAM  + 0x10B        /* Executable                           */
#define FT_DLL                          FT_TYPE_PROGRAM  + 0x10C        /* Executable Extension                 */
                                                                        /*  * Project/File List Types           */
#define FT_TYPE_PROJECT                 0x00007000                      /* Format Indicator Group               */
#define FT_PRIME_PROJECT                FT_TYPE_PROJECT  + 0x001 + FT_A /* Prime Project File                   */
#define FT_EDGAR_FLASH_PROJECT          FT_TYPE_PROJECT  + 0x101 + FT_A /* EDGAR Flash Project File             */
#define FT_HTML_EASE_PROJECT            FT_TYPE_PROJECT  + 0x102 + FT_A /* HTML Ease Project File               */
#define FT_EDGAR_EASE_PROJECT           FT_TYPE_PROJECT  + 0x103 + FT_A /* EDGAR Ease Project File              */
#define FT_GOFILER_PROJECT              FT_TYPE_PROJECT  + 0x104 + FT_A /* GoFiler Project File (v 1.x & 2.x)   */
#define FT_GOFILER_PROJECT_3X           FT_TYPE_PROJECT  + 0x105 + FT_A /* GoFiler Project File (v 3.x)         */
  #define FT_GFP_3X_ELO          FT_GOFILER_PROJECT_3X   + 0x01000000   /*  - Normal EDGAR Link Online          */
  #define FT_GFP_3X_13H          FT_GOFILER_PROJECT_3X   + 0x02000000   /*  - Form 13H                          */
  #define FT_GFP_3X_13F          FT_GOFILER_PROJECT_3X   + 0x03000000   /*  - Form 13F                          */
  #define FT_GFP_3X_MA           FT_GOFILER_PROJECT_3X   + 0x04000000   /*  - Form MA                           */
  #define FT_GFP_3X_SDR          FT_GOFILER_PROJECT_3X   + 0x05000000   /*  - Form SDR                          */
  #define FT_GFP_3X_RGA          FT_GOFILER_PROJECT_3X   + 0x06000000   /*  - Regulation A                      */
  #define FT_GFP_3X_17A          FT_GOFILER_PROJECT_3X   + 0x07000000   /*  - Form X-17A-5                      */
  #define FT_GFP_3X_C            FT_GOFILER_PROJECT_3X   + 0x08000000   /*  - Form C                            */
  #define FT_GFP_3X_CFP          FT_GOFILER_PROJECT_3X   + 0x09000000   /*  - Form CFPORTAL                     */
  #define FT_GFP_3X_17H          FT_GOFILER_PROJECT_3X   + 0x0A000000   /*  - Form 17H                          */
  #define FT_GFP_3X_TA           FT_GOFILER_PROJECT_3X   + 0x0B000000   /*  - Form TA                           */
  #define FT_GFP_3X_CEN          FT_GOFILER_PROJECT_3X   + 0x0C000000   /*  - Form N-CEN                        */
  #define FT_GFP_3X_NPT          FT_GOFILER_PROJECT_3X   + 0x0D000000   /*  - Form N-PORT                       */
  #define FT_GFP_3X_S16          FT_GOFILER_PROJECT_3X   + 0x0E000000   /*  - Section 16 (Combined)             */
  #define FT_GFP_3X_ATS          FT_GOFILER_PROJECT_3X   + 0x0F000000   /*  - Form ATS-N                        */
  #define FT_GFP_3X_24F_2        FT_GOFILER_PROJECT_3X   + 0x00100000   /*  - Form ATS-N                        */
#define FT_MSVS_PROJECT                 FT_TYPE_PROJECT  + 0x201 + FT_A /* MS Visual Studio Project             */
#define FT_MP3_PLAYLIST                 FT_TYPE_PROJECT  + 0x301 + FT_A /* MP3 Playlist                         */
#define FT_CAB_FILELIST                 FT_TYPE_PROJECT  + 0x401        /* File List for Install                */
#define FT_MSI_FILELIST                 FT_TYPE_PROJECT  + 0x402        /* File List for Install                */      // add gz and tar
#define FT_SEC_COMPOSITE_EDGAR          FT_TYPE_PROJECT  + 0x501 + FT_A /* SEC Composite                        */
#define FT_SEC_RETURN_COPY              FT_TYPE_PROJECT  + 0x502 + FT_A /* SEC Return Copy                      */
#define FT_WINDOWS_LINK                 FT_TYPE_PROJECT  + 0x601        /* Windows Shortcut (Link)              */
#define FT_PSG_EDIT_OBJECT              FT_TYPE_PROJECT  + 0x602        /* PSG Edit Object                      */
                                                                        /*  * Places (Drives, etc)              */
#define FT_TYPE_PLACE                   0x00008000                      /* Format Indicator Group               */
#define FT_CLOUD                        FT_TYPE_PLACE    + 0x001        /* Cloud (VFC or other)                 */
#define FT_COMPUTER                     FT_TYPE_PLACE    + 0x002        /* Computer (local drives)              */
#define FT_DESKTOP                      FT_TYPE_PLACE    + 0x003        /* User Desktop                         */
#define FT_LIBRARIES                    FT_TYPE_PLACE    + 0x004        /* User Libraries                       */
#define FT_LOCAL_CD_DVD                 FT_TYPE_PLACE    + 0x005        /* Local CD/DVD Disk                    */
#define FT_LOCAL_CLOUD                  FT_TYPE_PLACE    + 0x006        /* Local Attached to Cloud              */
#define FT_LOCAL_DISK                   FT_TYPE_PLACE    + 0x007        /* Local Fixed Disk                     */
#define FT_LOCAL_FLOPPY                 FT_TYPE_PLACE    + 0x008        /* Local Floppy Disk                    */
#define FT_LOCAL_NETWORK                FT_TYPE_PLACE    + 0x009        /* Local Network Mapped Drive           */
#define FT_LOCAL_RAMDISK                FT_TYPE_PLACE    + 0x00A        /* Local RAM Drive                      */
#define FT_LOCAL_REDIRECT               FT_TYPE_PLACE    + 0x00B        /* Local Network Redirected Drive       */
#define FT_LOCAL_REMOVABLE              FT_TYPE_PLACE    + 0x00C        /* Local Flash Drive                    */
#define FT_MY_DOCUMENTS                 FT_TYPE_PLACE    + 0x00D        /* User "My Documents"                  */
#define FT_NETWORK                      FT_TYPE_PLACE    + 0x00E        /* Unmapped Network Places              */
#define FT_REDIRECTED                   FT_TYPE_PLACE    + 0x00F        /* Redirected Drive (Client)            */
#define FT_PROJECT                      FT_TYPE_PLACE    + 0x010        /* Application Recent Projects          */
#define FT_RECENT                       FT_TYPE_PLACE    + 0x011        /* Application Recent non-Projects      */
#define FT_SHARE                        FT_TYPE_PLACE    + 0x012        /* Network Share Name                   */
                                                                        /*  * Display (for icons)               */
                                                                        /* (these are not file types)           */
#define FT_TYPE_DISPLAY                 0x0000F000                      /* Format Indicator Group               */
#define FT_DISPLAY_CONNECT_BOTTOM       FT_TYPE_DISPLAY  + 0x001        /* Connector Bottom                     */
#define FT_DISPLAY_CONNECT_MIDDLE       FT_TYPE_DISPLAY  + 0x002        /* Connector Middle                     */
#define FT_DISPLAY_CONNECT_PASS         FT_TYPE_DISPLAY  + 0x003        /* Connector Pass Through               */
#define FT_DISPLAY_MINUS                FT_TYPE_DISPLAY  + 0x004        /* Minus (hide group)                   */
#define FT_DISPLAY_MINUS_BOTTOM         FT_TYPE_DISPLAY  + 0x005        /* Minus (hide group)                   */
#define FT_DISPLAY_MINUS_MIDDLE         FT_TYPE_DISPLAY  + 0x006        /* Minus (hide group)                   */
#define FT_DISPLAY_MINUS_TOP            FT_TYPE_DISPLAY  + 0x007        /* Minus (hide group)                   */
#define FT_DISPLAY_PLUS                 FT_TYPE_DISPLAY  + 0x008        /* Plus (show group)                    */
#define FT_DISPLAY_PLUS_BOTTOM          FT_TYPE_DISPLAY  + 0x009        /* Plus (show group)                    */
#define FT_DISPLAY_PLUS_MIDDLE          FT_TYPE_DISPLAY  + 0x00A        /* Plus (show group)                    */
#define FT_DISPLAY_PLUS_TOP             FT_TYPE_DISPLAY  + 0x00B        /* Plus (show group)                    */
#define FT_DISPLAY_SPACE                FT_TYPE_DISPLAY  + 0x00C        /* Space                                */

                                                                        /****************************************/
                                                                        /* ** Sub Types                         */
                                                                        /* Note: These bits conflict with the   */
                                                                        /*       version bits. Use caution if   */
                                                                        /*       this is layered on the f_type  */
                                                                        /*       value.                         */
                                                                        /*  * HTML (Ordinal)                    */
#define FT_HTML_TYPE_MASK                               0x03F00000      /* Up to 64 Sub Types                   */
                                                                        /*  o Types                             */
#define FT_HTML_UNKNOWN                                 0x00000000      /* Unknown                              */
#define FT_HTML_WORD                                    0x00100000      /* MS Word                              */
#define FT_HTML_EXCEL                                   0x00200000      /* MS Excel                             */
#define FT_HTML_POWERPOINT                              0x00300000      /* MS PowerPoint                        */
#define FT_HTML_FRONTPAGE                               0x00400000      /* MS FrontPage                         */
#define FT_HTML_OFFICE_UNKNOWN                          0x00700000      /* MS Unknown                           */
#define FT_HTML_EDGARIZER                               0x01000000      /* EDGARizer                            */
#define FT_HTML_PROFILE                                 0x01100000      /* Profile (same as EDGARizer)          */
#define FT_HTML_SEC_PUB                                 0x01200000      /* SEC Publisher                        */
#define FT_HTML_WEBFILINGS                              0x01300000      /* Web Filings                          */
#define FT_HTML_WEBFILINGS_TIDY                         0x01400000      /* Web Filings (Tidied)                 */
#define FT_HTML_WDESK                                   0x01500000      /* Workiva Wdesk (Web Filings)          */
#define FT_HTML_WDESK_TIDY                              0x01600000      /* Workiva Wdesk (Tidied)               */
                                                                        /*  o Flags                             */
#define FT_HTML_OVER_SIZE_LINES                         0x08000000      /* Overwide/Line Size                   */
                                                                        /*  * EDGAR                             */
#define FT_EDGAR_DOCUMENT                               0x00100000      /* EDGAR Document Container             */



                                                        /********************************************************/
                                                        /* Clipbaord                                            */
                                                        /* ---------                                            */
                                                        /********************************************************/

                                                                /************************************************/
                                                                /* Application Codes                            */
                                                                /* -----------------                            */
                                                                /* Application  Codes  are  used  to   identify */
                                                                /* specific  applications  posting  data on the */
                                                                /* clipboard.                                   */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Applications/Codes                */
                                                                        /*  * Format                            */
#define CBA_KNOWN_APPLICATION           0x10000000                      /* Known Application Flag               */
#define CBA_SPREADSHEET                 0x00008000                      /* Application is a Spreadsheet         */
                                                                        /*  o Masks                             */
#define CBA_VENDOR_MASK                 0x00FF0000                      /* Vendor Mask                          */
#define CBA_PRODUCT_MASK                0x00007F00                      /* Product Mask                         */
#define CBA_VERSION_MASK                0x000000FF                      /* Version Mask (Major/Minor) 00-unk    */
                                                                        /*  o Combination Masks                 */
#define CBA_TYPE_MASK                   0x10FF0000                      /* Type (Known and Vendor Mask)         */
#define CBA_APPLICATION_MASK            0x10FF7F00                      /* Application (Known, Vendor, App Mask)*/
                                                                        /*  * Application Local Types           */
#define CBA_TYPE_APPLICATION            0x10000000                      /* Local Application                    */
#define CBA_GOFILER                     CBA_TYPE_APPLICATION +  0x0100  /* GoFiler                              */
#define CBA_PAGEPRIME                   CBA_TYPE_APPLICATION +  0x0200  /* PagePrime                            */
#define CBA_PRIMEPAD                    CBA_TYPE_APPLICATION +  0x0300  /* PrimePad                             */
                                                                        /*  * Adobe                             */
#define CBA_TYPE_ADOBE                  0x10010000                      /* Adobe                                */
#define CBA_ACROBAT                     CBA_TYPE_ADOBE     +    0x0100  /* Acrobat                              */
#define CBA_FIREWORKS                   CBA_TYPE_ADOBE     +    0x0200  /* Fireworks                            */
#define CBA_PAGEMAKER                   CBA_TYPE_ADOBE     +    0x0300  /* PageMaker                            */
#define CBA_INDESIGN                    CBA_TYPE_ADOBE     +    0x0400  /* InDesign                             */
                                                                        /*  * Delta Graph                       */
#define CBA_TYPE_DELTAGRAPH             0x10020000                      /* Delta Graph                          */
#define CBA_DELTAGRAPH                  CBA_TYPE_DELTAGRAPH +   0x0100  /* Delta Graph                          */
                                                                        /*  * Google                            */
#define CBA_TYPE_GOOGLE                 0x10030000                      /* Google                               */
#define CBA_CHROME                      CBA_TYPE_GOOGLE +       0x0100  /* Firefox                              */
                                                                        /*  * Microsoft                         */
#define CBA_TYPE_MICROSOFT              0x10040000                      /* Microsoft Applications w/ Window     */
#define CBA_EXCEL                       CBA_TYPE_MICROSOFT +    0x8100  /* Excel                                */
#define CBA_EXPLORER                    CBA_TYPE_MICROSOFT +    0x0200  /* Explorer                             */
#define CBA_INTERNET_EXPLORER           CBA_TYPE_MICROSOFT +    0x0300  /* Internet Explorer                    */
#define CBA_NOTEPAD                     CBA_TYPE_MICROSOFT +    0x0400  /* Notepad                              */
#define CBA_OUTLOOK                     CBA_TYPE_MICROSOFT +    0x0500  /* Outlook                              */
#define CBA_PAINT                       CBA_TYPE_MICROSOFT +    0x0600  /* Paint                                */
#define CBA_PHOTOEDITOR                 CBA_TYPE_MICROSOFT +    0x0700  /* Photo Editor                         */
#define CBA_POWERPOINT                  CBA_TYPE_MICROSOFT +    0x0800  /* Power Point                          */
#define CBA_WORD                        CBA_TYPE_MICROSOFT +    0x0900  /* Word                                 */
#define CBA_WORDPAD                     CBA_TYPE_MICROSOFT +    0x0A00  /* WordPad                              */
#define CBA_WORKS_SPREADSHEET           CBA_TYPE_MICROSOFT +    0x8B00  /* Works SpreadSheet                    */
#define CBA_WORKS_WORD_PROCESSOR        CBA_TYPE_MICROSOFT +    0x0C00  /* Works Word Processor                 */
#define CBA_VISUAL_STUDIO               CBA_TYPE_MICROSOFT +    0x0D00  /* Visual Studio                        */
                                                                        /*  * Mozilla                           */
#define CBA_TYPE_MOZILLA                0x10050000                      /* Mozilla                              */
#define CBA_FIREFOX                     CBA_TYPE_MOZILLA +      0x0100  /* Firefox                              */
                                                                        /*  * Opera                             */
#define CBA_TYPE_OPERA                  0x10060000                      /* Opera Group                          */
#define CBA_OPERA                       CBA_TYPE_OPERA +        0x0100  /* Opera Browser                        */
                                                                        /*  * Quark                             */
#define CBA_TYPE_QUARK                  0x10070000                      /* QuarkXpress                          */
#define CBA_QUARKXPRESS                 CBA_TYPE_QUARK +        0x0100  /* QuarkXpress                          */


                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Functions                         */
                                                                        /*  * ClipboardGetHTML                  */
#define CB_GET_HTML_RAW                                         0       /* Get the Raw HTML Clipboard           */
#define CB_GET_HTML_COMPLETE                                    1       /* Get the HTML Compelte                */
#define CB_GET_HTML_FRAGMENT                                    2       /* Get the HTML Fragment                */
#define CB_GET_HTML_SELECTION                                   3       /* Get the HTML Selection               */


                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Windows SDK Defitions             */
                                                                        /* (cleaned up from WinUser.h)          */
#define CF_TEXT                                             0x0001
#define CF_BITMAP                                           0x0002
#define CF_METAFILEPICT                                     0x0003
#define CF_SYLK                                             0x0004
#define CF_DIF                                              0x0005
#define CF_TIFF                                             0x0006
#define CF_OEMTEXT                                          0x0007
#define CF_DIB                                              0x0008
#define CF_PALETTE                                          0x0009
#define CF_PENDATA                                          0x000A
#define CF_RIFF                                             0x000B
#define CF_WAVE                                             0x000C
#define CF_UNICODETEXT                                      0x000D
#define CF_ENHMETAFILE                                      0x000E
#define CF_HDROP                                            0x000F
#define CF_LOCALE                                           0x0010
#define CF_DIBV5                                            0x0011
#define CF_OWNERDISPLAY                                     0x0080
#define CF_DSPTEXT                                          0x0081
#define CF_DSPBITMAP                                        0x0082
#define CF_DSPMETAFILEPICT                                  0x0083
#define CF_DSPENHMETAFILE                                   0x008E


                                                        /********************************************************/
                                                        /* Conversion                                           */
                                                        /* ----------                                           */
                                                        /********************************************************/

                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Conversion Flags (top level)      */
                                                                        /*    (c_flags)                         */
                                                                        /*  * This Shares with Options Settings */
#define XL_GLOBAL_FLAGS_MASK                            0xFFFF0000      /* Global Import/Translate Options      */
#define XL_MODULE_FLAGS_MASK                            0x0000FFFF      /* Reserved Import/Translate Options    */
#define XL_SUB_TYPE_MASK                                0x0000000F      /* Sub Type of Conversion for Module    */
                                                                        /*  * General Flags                     */
                                                                        /*  o Control                           */
#define XL_QUIET                                        0x00010000      /* Do Not Display Messages              */
#define XL_PSG_FORMAT                                   0x00020000      /* Output in PSG Format (if possible)   */
#define XL_NO_NEW_LINES                                 0x00040000      /* Output With 0x0D (not 0x0D/0x0A)     */
#define XL_WANT_LOG                                     0x00080000      /* Output Errors to Translate Log       */
                                                                        /*  o Context                           */
#define XL_CONVERT_AS_INSERT                            0x00100000      /* Treat as Inserting                   */
#define XL_MULTI_IMPORT                                 0x00200000      /* Importing Multiple Sheets            */
#define XL_SOURCED_FROM_CLIPBOARD                       0x00400000      /* Sourced from Clipboard               */
                                                                        /*  o Multiple Files                    */
#define XL_GROUP_IMPORT_MODE_MASK                       0x03000000      /* Multiple File Mode (if supported)    */
#define XL_GROUP_IMPORT_SINGLE                          0x00000000      /* Import Single File                   */
#define XL_GROUP_IMPORT_MULTIPLE                        0x01000000      /* Automatically Import Multiple        */
#define XL_GROUP_IMPORT_QUERY                           0x02000000      /* Query if Multiple                    */
                                                                        /*                                      */

                                                                        /****************************************/
                                                                        /* ** TranslateAddHook                  */
                                                                        /*  * Flags                             */
#define TAH_ALLOW_DUPLICATES                            0x00000001      /* Allow Duplicate Type Pairs           */
                                                                        /*  * Return Codes                      */
                                                                        /*  o Translate Table                   */
#define TAH_INDEX_MASK                                  0x000000FF      /* Translate Table Index Mask           */
                                                                        /*  o Flags                             */
#define TAH_REPLACED_BY_NAME                            0x00010000      /* Replaced Existing Name               */
#define TAH_REPLACED_BY_TYPE                            0x00020000      /* Replaced Existing Type Pair          */
#define TAH_OVERRODE_TYPE_MATCH                         0x00040000      /* Overrode Existing File Type Match    */



                                                        /********************************************************/
                                                        /* XBRL Object Defines                                  */
                                                        /* -------------------                                  */
                                                        /********************************************************/

                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** XBRLGetLinkbaseList               */
                                                                        /*  * Status Flags                      */
#define XM_LB_ERROR_MASK                                0x00000FFF      /* File Error Code                      */
#define XM_LB_IGNORE                                    0x00010000      /* Ignored Taxonomy/Schema              */
#define XM_LB_ERROR                                     0x00020000      /* Error Processing                     */
#define XM_LB_LOADED                                    0x00040000      /* Loaded                               */

                                                        /********************************************************/
                                                        /* XBRL Defines                                         */
                                                        /* ------------                                         */
                                                        /********************************************************/

                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Types                             */
                                                                        /*  * Taxonomy Type                     */
#define XT_TT_UNKNOWN                                           0       /* Unknown/Not Set                      */
#define XT_TT_US_GAAP                                           1       /* US-GAAP                              */
#define XT_TT_RISK_RETURN                                       2       /* Risk Return                          */
#define XT_TT_UK_GAAP                                           3       /* UK-GAAP                              */
#define XT_TT_IFRS                                              4       /* IFRS                                 */
#define XT_TT_REPORT                                            5       /* Report Template (User, XET)          */
                                                                        /*  * Presentation Type                 */
#define XT_PT_UNKNOWN                                           0       /* Unknown/Not Set                      */
                                                                        /*  o GAAP                              */
#define XT_PT_COVER_ENTITY                                    101       /* Entity                               */
#define XT_PT_STATEMENT_UNKNOWN                               110       /* Statement - Unknown/Non-Standard     */
#define XT_PT_STATEMENT_BALANCE_SHEET                         111       /* Statement - Balance Sheet            */
#define XT_PT_STATEMENT_CASH_FLOWS                            112       /* Statement - Cash Flows               */
#define XT_PT_STATEMENT_OPERATIONS                            113       /* Statement - Operations               */
#define XT_PT_STATEMENT_EQUITY                                114       /* Statement - Changes in Equity        */
#define XT_PT_STATEMENT_BALANCE_SHEET_P                       121       /* Parenthetical - Balance Sheet        */
#define XT_PT_STATEMENT_CASH_FLOWS_P                          122       /* Parenthetical - Cash Flows           */
#define XT_PT_STATEMENT_OPERATIONS_P                          123       /* Parenthetical - Operations           */
#define XT_PT_STATEMENT_EQUITY_P                              124       /* Parenthetical - Changes in Equity    */
#define XT_PT_DISCLOSURE_TEXT                                 131       /* Disclosure Text                      */
#define XT_PT_DISCLOSURE_POLICY                               132       /* Disclosure Accounting Policy         */
#define XT_PT_DISCLOSURE_TABLE                                133       /* Disclosure Table                     */
#define XT_PT_DISCLOSURE_DETAIL                               134       /* Disclosure Detail                    */
#define XT_PT_DISCLOSURE_NARRATIVE                            135       /* Disclosure Narrative                 */
                                                                        /*  o Non-Presentation (Sheet) Names    */
#define XT_PT_PSEUDO_SCHEMA                                   501       /* Schema Information                   */
#define XT_PT_PSEUDO_CONTEXTS                                 502       /* Context Information                  */
#define XT_PT_PSEUDO_XBRL_FIELDS                              503       /* XBRL Financial Fields                */
#define XT_PT_PSEUDO_CUSTOM_FIELDS                            504       /* Custom Fields                        */
#define XT_PT_PSEUDO_FOOTNOTES                                505       /* Footnotes                            */
#define XT_PT_PSEUDO_PROSPECTUS                               506       /* Prospectus Organization              */
#define XT_PT_PSEUDO_SERIES                                   507       /* Series and Classes                   */
#define XT_PT_PSEUDO_PERFORMANCE                              508       /* Performance                          */
                                                                        /*                                      */
                                                                        
                                                                        /****************************************/
                                                                        /* ** Substitution Group                */
#define XBRL_SUB_GROUP_ANY                              0xFFFFFFFF      /* Not Known (not standard)             */
#define XBRL_SUB_GROUP_ITEM                             0x00000100      /* Item                                 */
#define XBRL_SUB_GROUP_DIMENSION                        0x00000200      /* Dimension                            */
#define XBRL_SUB_GROUP_HYPERCUBE                        0x00000300      /* HyperCube                            */
#define XBRL_SUB_GROUP_TUPLE                            0x00000400      /* Tuple                                */

                                                                /************************************************/
                                                                /* Inline XBRL Map                              */
                                                                /* ---------------                              */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Map Type (m_type, bitwise)        */
                                                                        /*  * Type                              */
#define IX_MAP_TYPE_MASK                                0x000000FF      /* Entry Type Mask                      */      // reorder
#define IX_MAP_TYPE_XML                                 0x00000001      /* XML Entry (header)                   */
#define IX_MAP_TYPE_HTML                                0x00000002      /* HTML Entry (header)                  */
#define IX_MAP_TYPE_META_FIELD                          0x00000003      /* Meta Field                           */
#define IX_MAP_TYPE_CONTEXT                             0x00000008      /* Context Field (aggregate)            */
#define IX_MAP_TYPE_UNIT                                0x00000009      /* Unit Field (aggregate)               */
#define IX_MAP_TYPE_RELATIONSHIP                        0x0000000A      /* Relationship                         */
#define IX_MAP_TYPE_CONTINUATION                        0x00000010      /* Continuation                         */
#define IX_MAP_TYPE_FRACTION                            0x00000012      /* Fraction                             */
#define IX_MAP_TYPE_HEADER                              0x00000014      /* Header (Complete)                    */
#define IX_MAP_TYPE_HIDDEN                              0x00000015      /* Hidden                               */
#define IX_MAP_TYPE_NONFRACTION                         0x00000016      /* NonFraction                          */
#define IX_MAP_TYPE_NONNUMERIC                          0x00000018      /* NonNumeric                           */
#define IX_MAP_TYPE_FOOTNOTE                            0x0000001A      /* Footnote                             */
#define IX_MAP_TYPE_EXCLUDE                             0x0000001C      /* Exclude                              */
#define IX_MAP_TYPE_SECHIDDEN                           0x0000001D      /* SEC Hidden (not ix tag)              */
                                                                        /*  * Flags                             */
#define IX_MAP_UPDATE_MASK                              0x000F0000      /* Data Revised (exclusive bitwise)     */
#define IX_MAP_REVSIED                                  0x00010000      /* Revised Data                         */
#define IX_MAP_NEW                                      0x00020000      /* New Data                             */
#define IX_MAP_HEADER_ENTRY                             0x00100000      /* Entry is Part of Header              */
#define IX_MAP_FACT_ENTRY                               0x00200000      /* Entry is a Fact                      */
#define IX_MAP_RAW_STRING                               0x00400000      /* Pool Offset is String (fsp)          */
#define IX_MAP_OPEN_ONLY                                0x00800000      /* Manage Open Tag Only                 */
#define IX_MAP_EMPTY                                    0x00001000      /* Tag has empty contents               */
                                                                        /*  o States                            */
#define IX_MAP_EMBED_MASK                               0x0F000000      /* Item Inside Nested Group             */
#define IX_MAP_HEADING                                  0x01000000      /* Item is in Heading                   */
#define IX_MAP_HIDDEN                                   0x02000000      /* Item is in Hidden Group              */
                                                                        /*  o Errors                            */
#define IX_MAP_ERROR                                    0x10000000      /* Entry Had Errors                     */

                                                                        /****************************************/
                                                                        /* ** Map Content (m_flags)             */
                                                                        /*  * Error (overlays ERROR_)           */
#define IX_MAP_ERROR_MASK                               0x80000000      /* Reserved for Error Return            */
                                                                        /*  * Status                            */
#define IX_MAP_FLAGS_COMPLETE                           0x00000001      /* Map Was Completed                    */
#define IX_MAP_FLAGS_HAS_IXBRL                          0x00000002      /* Inline XBRL Was Found                */
                                                                        /*  * Specific Elements                 */
#define IX_MAP_FLAGS_HTML_NAMESPACE                     0x00000010      /* Has HTML Namespace                   */
#define IX_MAP_FLAGS_CONTEXT                            0x00000020      /* Has 'context'                        */
#define IX_MAP_FLAGS_CONTINUATION                       0x00000040      /* Has 'continuation'                   */
#define IX_MAP_FLAGS_DENOMINATOR                        0x00000080      /* Has 'denominator'                    */
#define IX_MAP_FLAGS_EXCLUDE                            0x00000100      /* Has 'exclude'                        */
#define IX_MAP_FLAGS_FOOTNOTE                           0x00000200      /* Has 'footnote'                       */
#define IX_MAP_FLAGS_FRACTION                           0x00000400      /* Has 'fraction'                       */
#define IX_MAP_FLAGS_HEADER                             0x00000800      /* Has 'header'                         */
#define IX_MAP_FLAGS_HIDDEN                             0x00001000      /* Has 'hidden'                         */
#define IX_MAP_FLAGS_NONFRACTION                        0x00002000      /* Has 'nonFraction'                    */
#define IX_MAP_FLAGS_NONNUMERIC                         0x00004000      /* Has 'nonNumeric'                     */
#define IX_MAP_FLAGS_NUMERATOR                          0x00008000      /* Has 'numerator'                      */
#define IX_MAP_FLAGS_REFERENCES                         0x00010000      /* Has 'references'                     */
#define IX_MAP_FLAGS_RELATIONSHIP                       0x00020000      /* Has 'relationship'                   */
#define IX_MAP_FLAGS_RESOURCES                          0x00040000      /* Has 'resources'                      */
#define IX_MAP_FLAGS_TUPLE                              0x00080000      /* Has 'tuple'                          */
#define IX_MAP_FLAGS_UNIT                               0x00100000      /* Has 'unit'                           */

                                                                /************************************************/
                                                                /* XBRL Model                                   */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Fact Attributes (attributes)      */
                                                                        /*  * iXBRL                             */
#define XM_FACT_HIDDEN                                  0x00000100      /* Fact Is Hidden                       */
#define XM_FACT_TRANSFORMATION_ERROR                    0x000000FF      /* Error in Transformation (mask)       */
                                                                        /*  * XDX Transaction Log               */
#define XM_FACT_XTL_NEGATED                             0x00001000      /* Presentation Line Item Negated       */
                                                                        /*  * General                           */
#define XM_FACT_CELL_POSITION                           0x00008000      /* Data X/Y Position is a Cell Position */
                                                                        /*  * Error Conditiond                  */
#define XM_FACT_INVALID_TRANSFORMATION                  0x00010000      /* Invalid Transformation Specified     */
#define XM_FACT_INVALID_TRANSLATION                     0x00020000      /* Failed to Translate (XTL)            */
#define XM_FACT_CONCEPT_ERROR                           0x00100000      /* Issue with Concept                   */
#define XM_FACT_CONTEXT_ERROR                           0x00200000      /* Issue with Context                   */
#define XM_FACT_UNIT_ERROR                              0x00400000      /* Issue with Units                     */
#define XM_FACT_DATA_TYPE_ERROR                         0x00800000      /* Data Did Not Pass Data Type Test     */
#define XM_FACT_XHTML_ERROR                             0x01000000      /* HTML Data Error                      */
#define XM_FACT_NIL_ERROR                               0x02000000      /* Nil Issue                            */
#define XM_FACT_ERROR                                   0x10000000      /* There was an Error with the Fact     */

                                                                        /****************************************/
                                                                        /* ** XBRLSetOptions                    */
                                                                        /*  * API Options                       */
#define XM_OPTIONS_TERSE_DATA_SETS                      0x00000001      /* Do Not Report Certain Items          */
#define XM_OPTIONS_VERBOSE_DATA_SETS                    0x00000002      /* Report Extra Items Certain Items     */
                                                                        /*  * Model Processing                  */
#define XM_OPTIONS_NO_TAXONOMY_ERRORS                   0x00010000      /* Do Not Report Taxonomy Errors        */
                                                                        
                                                                        /****************************************/
                                                                        /* ** XBRLGetInstanceFormat             */
                                                                        /*  * Source                            */
#define XM_SOURCE_MASK                                  0x000000F0      /* Source Mask                          */
#define XM_SOURCE_EMPTY                                 0x00000000      /* Created New                          */
#define XM_SOURCE_TAXONOMY_ONLY                         0x00000010      /* Taxonomy Only (No Instance)          */
#define XM_SOURCE_XML                                   0x00000020      /* XML XBRL                             */
#define XM_SOURCE_IXBRL                                 0x00000030      /* iXBRL                                */
#define XM_SOURCE_JSON                                  0x00000040      /* XBRL JSON                            */
#define XM_SOURCE_CSV                                   0x00000050      /* XBRL CSV                             */
#define XM_SOURCE_XTL                                   0x00000060      /* XDX Transaction Log                  */

                                                                        /****************************************/
                                                                        /* ** Context Flags (ct_flags)          */
                                                                        /*  * Errors                            */
#define XM_CONTEXT_ERROR_MASK                           0x0000FFFF      /* Mask for Error Bits                  */
#define XM_CONTEXT_DUPLICATE_ID                         0x00000001      /* Duplicate ID                         */
#define XM_CONTEXT_DUPLICATE_CONTENT                    0x00000002      /* Duplicate Content                    */
#define XM_CONTEXT_MISSING_CONTENT                      0x00000004      /* Missing Content                      */
#define XM_CONTEXT_NOT_REFERENCED                       0x00000008      /* Not Referenced                       */
#define XM_CONTEXT_PROPERTY_ERROR                       0x00000010      /* Error in Property                    */
                                                                        /*                                      */
                                                                        /* ** Member Data Flags (md_flags)      */
                                                                        /*  * Conditions                        */
#define XM_MEMBER_EXPLICIT                                    0x01      /* Explicit Dimension                   */
#define XM_MEMBER_TYPED                                       0x02      /* Typed Dimension                      */
#define XM_MEMBER_ERROR                                       0x80      /* Dimension has an Error               */
                                                                        /*                                      */
                                                                        /* ** Limits                            */
#define XM_CONTEXT_MAX_MEMBERS                                  10      /* Maximum Number of Dimensions         */
#define XM_UNIT_MAX_MEASURES                                    10      /* Max Allowed Measures                 */

                                                                        /****************************************/
                                                                        /* ** Linkbase Types                    */
                                                                        /*    XBRLGetRoleReferences             */
                                                                        /*  * Role Ref Source Type (src_type)   */
#define XM_RRST_UNDEFINED                                       0       /* Undefined (not set)                  */
#define XM_RRST_CALCULATION                                     1       /* Calculation Linkbase                 */
#define XM_RRST_DEFINITION                                      2       /* Definition Linkbase                  */
#define XM_RRST_FOOTNOTE                                        3       /* Footnote Link                        */
#define XM_RRST_LABEL                                           4       /* Label Linkbase                       */
#define XM_RRST_PRESENTATION                                    5       /* Presentation Linkbase                */
#define XM_RRST_REFERENCE                                       6       /* Reference Linkbase                   */

                                                                        /****************************************/
                                                                        /* ** Taxonomy Type/Codes               */
                                                                        /*    XBRLGetBaseTaxonomyType           */
                                                                        /*  * Data Structure                    */
#define XM_BT_UNKNOWN                                   0x00000000      /* Not Known                            */
#define XM_BT_FAMILY_MASK                               0x7F000000      /* Family Mask (avoid ERROR_BIT)        */
#define XM_BT_VERSION_MASK                              0x00FFF000      /* Version/Variation Mask               */
#define XM_BT_YEAR_MASK                                 0x00000FFF      /* Taxonomy Year Mask                   */
                                                                        /*  * Version                           */
#define XM_BT_VERSION_QUARTERS                          0x00800000      /* Quarter Flag                         */
#define XM_BT_VERSION_DATE                              0x00400000      /* Date Flag (mm-dd)                    */
#define XM_BT_VERSION_SUPPLEMENT                        0x00200000      /* Taxonomy Supplement                  */
                                                                        /*  o Quarters                          */
#define XM_BT_VERSION_QTR_MASK                          0x00007000      /* Quarter Mask                         */
#define XM_BT_VERSION_QTR_SHIFT                                 12      /* Shift to Normalize Quarter           */
#define XM_BT_VERSION_Q1                                0x00001000      /* Quarter 1                            */
#define XM_BT_VERSION_Q2                                0x00002000      /* Quarter 2                            */
#define XM_BT_VERSION_Q3                                0x00003000      /* Quarter 3                            */
#define XM_BT_VERSION_Q4                                0x00004000      /* Quarter 4                            */
                                                                        /*  o Date mm-dd                        */
#define XM_BT_VERSION_DD_SHIFT                                  12      /* Shift to Normalize Day               */
#define XM_BT_VERSION_DD_MASK                           0x0001F000      /* Mask for Day (1-31, 0 not used)      */
#define XM_BT_VERSION_MM_SHIFT                                  17      /* Shift to Normalize Day               */
#define XM_BT_VERSION_MM_MASK                           0x001E0000      /* Mask for Month (1-12, 0 not used)    */
                                                                        /*  * Primary entry Point Taxonomies    */
                                                                        /*  o FERC (does not allow for date)    */
#define XM_BT_FERC                                      0x04000000      /* FERC Group                           */
                                                                        /*  > Form Variation                    */
#define XM_BT_FERC_FORM_1                               0x00001000      /* Form 1 Group                         */
#define XM_BT_FERC_FORM_2                               0x00002000      /* Form 2 Group                         */
#define XM_BT_FERC_FORM_6                               0x00003000      /* Form 6 Group                         */
#define XM_BT_FERC_FORM_60                              0x00004000      /* Form 60 Group                        */
#define XM_BT_FERC_FORM_714                             0x00005000      /* Form 714 Group                       */
                                                                        /*  > Years                             */
#define XM_BT_FERC_2020                         (XM_BT_FERC |   2020)   /* FERC 2020                            */
#define XM_BT_FERC_2021                         (XM_BT_FERC |   2021)   /* FERC 2021                            */
#define XM_BT_FERC_2022                         (XM_BT_FERC |   2022)   /* FERC 2022                            */
#define XM_BT_FERC_2023                         (XM_BT_FERC |   2023)   /* FERC 2023                            */
#define XM_BT_FERC_2024                         (XM_BT_FERC |   2024)   /* FERC 2024                            */
                                                                        /*  > Combined                          */
                                                                        /*  - 2022                              */
#define XM_BT_FERC_2020_FORM_1          (XM_BT_FERC_2022 | 0x00001000)  /* Form   1 Group                       */
#define XM_BT_FERC_2020_FORM_2          (XM_BT_FERC_2022 | 0x00002000)  /* Form   2 Group                       */
#define XM_BT_FERC_2020_FORM_6          (XM_BT_FERC_2022 | 0x00003000)  /* Form   6 Group                       */
#define XM_BT_FERC_2020_FORM_60         (XM_BT_FERC_2022 | 0x00004000)  /* Form  60 Group                       */
#define XM_BT_FERC_2020_FORM_714        (XM_BT_FERC_2022 | 0x00005000)  /* Form 714 Group                       */
                                                                        /*  - 2023                              */
#define XM_BT_FERC_2021_FORM_1          (XM_BT_FERC_2023 | 0x00001000)  /* Form   1 Group                       */
#define XM_BT_FERC_2021_FORM_2          (XM_BT_FERC_2023 | 0x00002000)  /* Form   2 Group                       */
#define XM_BT_FERC_2021_FORM_6          (XM_BT_FERC_2023 | 0x00003000)  /* Form   6 Group                       */
#define XM_BT_FERC_2021_FORM_60         (XM_BT_FERC_2023 | 0x00004000)  /* Form  60 Group                       */
#define XM_BT_FERC_2021_FORM_714        (XM_BT_FERC_2023 | 0x00005000)  /* Form 714 Group                       */
                                                                        /*  o SEC                               */
                                                                        /*  > CEF                               */      //https://xbrl.sec.gov/cef/2022/cef-2022.xsd
#define XM_BT_CEF                                       0x02000000      /* CEF Group                            */
#define XM_BT_CEF_2021                          (XM_BT_CEF |    2021)   /* CEF 2021                             */
#define XM_BT_CEF_2022                          (XM_BT_CEF |    2022)   /* CEF 2022                             */
#define XM_BT_CEF_2023                          (XM_BT_CEF |    2023)   /* CEF 2023                             */
#define XM_BT_CEF_2024                          (XM_BT_CEF |    2024)   /* CEF 2024                             */
                                                                        /*  > ECD                               */
#define XM_BT_ECD                                       0x03000000      /* ECD Group                            */
#define XM_BT_ECD_2022                          (XM_BT_ECD |    2022)   /* ECD 2022                             */
#define XM_BT_ECD_2023                          (XM_BT_ECD |    2023)   /* ECD 2023                             */
#define XM_BT_ECD_2024                          (XM_BT_ECD |    2024)   /* ECD 2024                             */
                                                                        /*  > (gap for FERC)                    */
                                                                        /*  > FFD                               */      //http://xbrl.sec.gov/ffd/2023
#define XM_BT_FFD                                       0x05000000      /* FFD Group                            */
#define XM_BT_FFD_2023                          (XM_BT_FFD |    2023)   /* FFD 2023                             */
                                                                        /*  > FND                               */
#define XM_BT_FND                                       0x06000000      /* FND Group                            */
                                                                        /*  > OEF                               */
#define XM_BT_OEF                                       0x07000000      /* OEF Group                            */
                                                                        /*  > Risk Return                       */
#define XM_BT_RR                                        0x08000000      /* Risk Return Group                    */
#define XM_BT_RR_2006                           (XM_BT_RR |     2006)   /* Risk Return 2006                     */
#define XM_BT_RR_2008                           (XM_BT_RR |     2008)   /* Risk Return 2008                     */
#define XM_BT_RR_2010                           (XM_BT_RR |     2010)   /* Risk Return 2010                     */
#define XM_BT_RR_2012                           (XM_BT_RR |     2012)   /* Risk Return 2012                     */
#define XM_BT_RR_2018                           (XM_BT_RR |     2018)   /* Risk Return 2018                     */
#define XM_BT_RR_2021                           (XM_BT_RR |     2021)   /* Risk Return 2021                     */
#define XM_BT_RR_2022                           (XM_BT_RR |     2022)   /* Risk Return 2022                     */
#define XM_BT_RR_2023                           (XM_BT_RR |     2023)   /* Risk Return 2023                     */
#define XM_BT_RR_2024                           (XM_BT_RR |     2024)   /* Risk Return 2024                     */
                                                                        /*  > RXP                               */
                                                                        /*  > VIP                               */
#define XM_BT_VIP                                       0x0A000000      /* VIP Group                            */
#define XM_BT_VIP_2022                          (XM_BT_VIP |    2022)   /* VIP 2022                             */
#define XM_BT_VIP_2023                          (XM_BT_VIP |    2023)   /* VIP 2023                             */
#define XM_BT_VIP_2024                          (XM_BT_VIP |    2024)   /* VIP 2024                             */
                                                                        /*  o IFRS                              */      //Taxonomy XBRL_PT_IFRS
#define XM_BT_IFRS                                      0x11000000      /* IFRS Group                           */
#define XM_BT_IFRS_2016                         (XM_BT_IFRS |   2016)   /* IFRS 2016                            */
#define XM_BT_IFRS_2017                         (XM_BT_IFRS |   2017)   /* IFRS 2017                            */
#define XM_BT_IFRS_2018                         (XM_BT_IFRS |   2018)   /* IFRS 2018                            */
#define XM_BT_IFRS_2019                         (XM_BT_IFRS |   2019)   /* IFRS 2019                            */
#define XM_BT_IFRS_2020                         (XM_BT_IFRS |   2020)   /* IFRS 2020                            */
#define XM_BT_IFRS_2021                         (XM_BT_IFRS |   2021)   /* IFRS 2021                            */
#define XM_BT_IFRS_2022                         (XM_BT_IFRS |   2022)   /* IFRS 2022                            */
#define XM_BT_IFRS_2023                         (XM_BT_IFRS |   2023)   /* IFRS 2023                            */
#define XM_BT_IFRS_2024                         (XM_BT_IFRS |   2024)   /* IFRS 2024                            */
                                                                        /*  o SASB (obsolete)                   */
#define XM_BT_SASB                                      0x18000000      /* SASB Group                           */
#define XM_BT_SASB_2021                         (XM_BT_SASB |   2021)   /* SASB 2021                            */
                                                                        /*  o FASB                              */
                                                                        /*  > US-GAAP                           */
#define XM_BT_UGT                                       0x21000000      /* US-GAAP Group                        */
#define XM_BT_UGT_2009                          (XM_BT_UGT |    2009)   /* US-GAAP 2009                         */
#define XM_BT_UGT_2010                          (XM_BT_UGT |    2010)   /* US-GAAP 2010                         */
#define XM_BT_UGT_2011                          (XM_BT_UGT |    2011)   /* US-GAAP 2011                         */
#define XM_BT_UGT_2012                          (XM_BT_UGT |    2012)   /* US-GAAP 2012                         */
#define XM_BT_UGT_2013                          (XM_BT_UGT |    2013)   /* US-GAAP 2013                         */
#define XM_BT_UGT_2014                          (XM_BT_UGT |    2014)   /* US-GAAP 2014                         */
#define XM_BT_UGT_2015                          (XM_BT_UGT |    2015)   /* US-GAAP 2015                         */
#define XM_BT_UGT_2016                          (XM_BT_UGT |    2016)   /* US-GAAP 2016                         */
#define XM_BT_UGT_2017                          (XM_BT_UGT |    2017)   /* US-GAAP 2017                         */
#define XM_BT_UGT_2018                          (XM_BT_UGT |    2018)   /* US-GAAP 2018                         */
#define XM_BT_UGT_2019                          (XM_BT_UGT |    2019)   /* US-GAAP 2019                         */
#define XM_BT_UGT_2020                          (XM_BT_UGT |    2020)   /* US-GAAP 2020                         */
#define XM_BT_UGT_2021                          (XM_BT_UGT |    2021)   /* US-GAAP 2021                         */
#define XM_BT_UGT_2022                          (XM_BT_UGT |    2022)   /* US-GAAP 2022                         */
#define XM_BT_UGT_2023                          (XM_BT_UGT |    2023)   /* US-GAAP 2023                         */
#define XM_BT_UGT_2024                          (XM_BT_UGT |    2024)   /* US-GAAP 2024                         */
                                                                        /*  * Supporting Taxonomies/Schema      */
                                                                        /*  o FASB Supporting                   */
                                                                        /*  > SRT                               */
#define XM_BT_SRT                                       0x31000000      /* SRT Group                            */      //https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd
                                                                        /*  > SRT-Roles                         */
#define XM_BT_SRT_ROLES                                 0x32000000      /* SRT Types Group                      */      //https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd
                                                                        /*  > SRT-Types                         */
#define XM_BT_SRT_TYPES                                 0x33000000      /* SRT Types Group                      */      //https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd
                                                                        /*  > US-Roles                          */
#define XM_BT_US_ROLES                                  0x38000000      /* US-Roles                             */      //https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd
                                                                        /*  > US-Types                          */
#define XM_BT_US_TYPES                                  0x39000000      /* US-Types                             */      //https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd
                                                                        /*  o SEC Supporting                    */
                                                                        /*  > Country                           */      //https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd
#define XM_BT_COUNTRY                                   0x51000000      /* Country Group                        */
                                                                        /*  > Currency                          */      //https://xbrl.sec.gov/currency/2022/currency-2022.xsd
#define XM_BT_CURRENCY                                  0x52000000      /* Currecy Group                        */
                                                                        /*  > DEI                               */      //https://xbrl.sec.gov/dei/2022/dei-2022.xsd
#define XM_BT_DEI                                       0x53000000      /* DEI Group                            */
                                                                        /*  > Exchange                          */      //https://xbrl.sec.gov/exch/2022/exch-2022.xsd
#define XM_BT_EXCH                                      0x54000000      /* Exchange Group                       */
                                                                        /*  > Standard Industrial Classifiation */      //https://xbrl.sec.gov/sic/2022/sic-2022.xsd
#define XM_BT_SIC                                       0x56000000      /* State and Province Group             */
                                                                        /*  > State and Province                */      //https://xbrl.sec.gov/stpr/2022/stpr-2022.xsd
#define XM_BT_STPR                                      0x57000000      /* State and Province Group             */
                                                                        /*  o XBRL Supporting                   */
                                                                        /*  > DTR                               */
#define XM_BT_DTR                                       0x71000000      /* DTR Group                            */
                                                                        /*  > DTR Numeric                       */
#define XM_BT_DTR_NUMERIC                               0x72000000      /* DTR Group                            */
                                                                        /*  > DTR Non Numeric                   */
#define XM_BT_DTR_NON_NUMERIC                           0x73000000      /* DTR Group                            */
                                                                        /*  > DTR Types                         */      //https://www.xbrl.org/dtr/type/2020-01-21/types.xsd
#define XM_BT_DTR_TYPES                                 0x74000000      /* DTR Group                            */
                                                                        /*  > Link Role Reference               */
                                                                        /*  - Negated                           */      //http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd
#define XM_BT_LRR_NEGATED                               0x77000000      /* LRR Group                            */
                                                                        /*  - Net                               */      //http://www.xbrl.org/lrr/role/net-2009-12-16.xsd
#define XM_BT_LRR_NET                                   0x78000000      /* LRR Group                            */
                                                                        /*  - ESMA Arcrole                      */      //http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd
#define XM_BT_LRR_ESMA                                  0x79000000      /* LRR Group                            */
                                                                        /*  - Fact Explanatory                  */      //http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd
#define XM_BT_LRR_FACT_EXPL                             0x7A000000      /* LRR Group                            */



                                                                        /****************************************/
                                                                        /* ** Export Types (prototype)          */
                                                                        /*  * Export What                       */
#define XM_EXPORT_TYPE_MASK                             0x0FFFF000      /* Export Type Mask                     */
                                                                        /*  o Instance Items                    */
#define XM_EXPORT_CONTEXTS                              0x00001000      /* Contexts                             */
#define XM_EXPORT_FACTS_XML                             0x00002000      /* Facts (XML)                          */
#define XM_EXPORT_FACTS_IXBRL                           0x00003000      /* Facts (iXBRL)                        */
#define XM_EXPORT_FOOTNOTES                             0x00004000      /* Footnotes                            */
#define XM_EXPORT_IX_HEADER_OPEN                        0x00005000      /* iXBRL Header Tags                    */
#define XM_EXPORT_IX_HEADER_CLOSE                       0x00006000      /* iXBRL Header Tags                    */
#define XM_EXPORT_REFERENCES                            0x00007000      /* References (Schema)                  */
#define XM_EXPORT_UNITS                                 0x00008000      /* Units                                */
                                                                        /*  o Combination                       */
#define XM_EXPORT_XML_INSTANCE                          0x0000B000      /* XML Instance                         */
#define XM_EXPORT_IXBRL_HIDDEN                          0x0000C000      /* iXBRL Hidden Section of an Instance  */
                                                                        /*  o Taxonomy                          */
#define XM_EXPORT_CONCEPTS                              0x00010000      /* Concepts (only)                      */
#define XM_EXPORT_SCHEMA                                0x00020000      /* Schema                               */
                                                                        /*  > Linkbases                         */
#define XM_EXPORT_CALCULATION                           0x00110000      /* Calculation Linkbase                 */
#define XM_EXPORT_DEFINITION                            0x00120000      /* Definition Linkbase                  */
#define XM_EXPORT_LABELS                                0x00130000      /* Label Linkbase                       */
#define XM_EXPORT_PRESENTATION                          0x00140000      /* Presentation Linkbase                */
#define XM_EXPORT_REFERENCE                             0x00150000      /* Reference Linkbase                   */
                                                                        /*  * Options                           */
#define XM_EXPORT_PAD_MASK                              0x0000000F      /* Pad of Code                          */
#define XM_EXPORT_INDENT_MASK                           0x000000F0      /* Indent Mask                          */
#define XM_EXPORT_INDENT_SHIFT                          0x00000004      /* Indent Shift Value                   */
#define XM_EXPORT_NEW_LINES                             0x10000000      /* Adds New Lines                       */



                                                        /********************************************************/
                                                        /* EDGAR                                                */
                                                        /* -----                                                */
                                                        /********************************************************/

                                                                /************************************************/
                                                                /* EDGAR Validate                               */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** EDGAR Validate Number             */
                                                                        /*  * Formatting                        */
#define EDGAR_NUM_FLAGS                                 0x00000000      /* Base Flag                            */
#define EDGAR_NUM_ALLOWSIGN                             0x00000001      /* Can have +/-                         */
#define EDGAR_NUM_FORCESIGN                             0x00000003      /* Must have +/-                        */
#define EDGAR_NUM_FORCEWD                               0x00000004      /* Must have Whole Digit                */
#define EDGAR_NUM_FORCEALLWD                            0x0000000C      /* Must have All Whole Digits           */
#define EDGAR_NUM_FORCEFD                               0x00000010      /* Must have Fractional Digits          */
#define EDGAR_NUM_FORCEALLFD                            0x00000030      /* Must have All Fractional Digits      */
#define EDGAR_NUM_FORCEALL                              0x0000003C      /* Must have All Digits                 */
                                                                        /*  * Special                           */
#define EDGAR_NUM_NOZERO                                0x00010000      /* Zero Not allowed                     */
#define EDGAR_NUM_FORCENEG                              0x00020001      /* Should be Negative                   */
#define EDGAR_NUM_FORCEPOS                              0x00040000      /* Should be Positive                   */

                                                                /************************************************/
                                                                /* EDAC (EDGAR)                                 */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** EDGAR Validate Number             */
                                                                        /*  * Error Codes                       */
#define EDAC_ERR_CON_NA                        (ERROR_CONTEXT | 0x1001) /* Context Not allowed                  */
#define EDAC_ERR_CON_CNT                       (ERROR_CONTEXT | 0x1002) /* Incorrect number of contexts         */
#define EDAC_ERR_CON_ERR                       (ERROR_CONTEXT | 0x1003) /* Incorrect/wrong Context              */
#define EDAC_ERR_CON_INVALID                   (ERROR_CONTEXT | 0x2001) /* Invalid Condition                    */
#define EDAC_ERR_PRIMARY_NAME_NOT_SUPPORTED    (ERROR_CONTEXT | 0x2002) /* Main Token Not Supported             */
#define EDAC_ERR_NAME_NOT_IN_SET               (ERROR_CONTEXT | 0x2003) /* Specified Name is Not in Data Set    */
#define EDAC_ERR_INVALID_ACCESS_POINT          (ERROR_CONTEXT | 0x2004) /* Specified Point Cannot be Accessed   */


                                                                /************************************************/
                                                                /* Windows Version Numbers                      */
                                                                /************************************************/

                                                                        /****************************************/
#define WIN_MAJOR_2003                                           7      /* Windows 2003 (server)                */
#define WIN_MAJOR_XP                                             8      /* Windows XP                           */
#define WIN_MAJOR_VISTA                                          9      /* Windows Vista                        */
#define WIN_MAJOR_7                                             10      /* Windows 7                            */
#define WIN_MAJOR_8                                             11      /* Windows 8                            */
#define WIN_MAJOR_81                                            12      /* Windows 8.1                          */
#define WIN_MAJOR_10                                            13      /* Windows 10                           */
#define WIN_MAJOR_11                                            14      /* Windows 11                           */





                                                /****************************************************************/

                                                        /********************************************************/
                                                        /* Direct Windows SDK Defines                           */
                                                        /* --------------------------                           */
                                                        /* These are derived from the Microsoft Windows SDK.    */
                                                        /********************************************************/

                                                        /********************************************************/

                                                                /************************************************/
                                                                /* Registry Functions (Matches Windows SDK)     */
                                                                /************************************************/

                                                                        /****************************************/
#define REG_NONE                                                 0      /* No value type (error)                */
#define REG_SZ                                                   1      /* Unicode /0 Terminated String         */
#define REG_EXPAND_SZ                                            2      /* Unicode /0 Environment Variables     */
#define REG_BINARY                                               3      /* Free Form Binary Data                */
#define REG_DWORD                                                4      /* 32-bit Number (not sign specific)    */
#define REG_DWORD_LITTLE_ENDIAN                                  4      /* Same as REG_DWORD (defined by WinSDK)*/
#define REG_DWORD_BIG_ENDIAN                                     5      /* 32-bit Number Swapped Order          */
#define REG_LINK                                                 6      /* Symbolic Link (unicode)              */
#define REG_MULTI_SZ                                             7      /* Multiple Unicode Strings             */
#define REG_RESOURCE_LIST                                        8      /* Resource List in the Resource Map    */
#define REG_FULL_RESOURCE_DESCRIPTOR                             9      /* Resource List in the Hardware Desc   */
#define REG_RESOURCE_REQUIREMENTS_LIST                          10      /* Resource Requirements List           */
#define REG_QWORD                                               11      /* 64-bit Number (not sign specific)    */
#define REG_QWORD_LITTLE_ENDIAN                                 11      /* 64-bit Number (same as REG_QWORD)    */


                                                                /************************************************/
                                                                /* Resource Types (Based on Windows SDK)        */
                                                                /************************************************/

                                                                        /****************************************/
#define RT_CURSOR                                                1      /* MAKEINTRESOURCE(1)                   */
#define RT_BITMAP                                                2      /* MAKEINTRESOURCE(2)                   */
#define RT_ICON                                                  3      /* MAKEINTRESOURCE(3)                   */
#define RT_MENU                                                  4      /* MAKEINTRESOURCE(4)                   */
#define RT_DIALOG                                                5      /* MAKEINTRESOURCE(5)                   */
#define RT_STRING                                                6      /* MAKEINTRESOURCE(6)                   */
#define RT_FONTDIR                                               7      /* MAKEINTRESOURCE(7)                   */
#define RT_FONT                                                  8      /* MAKEINTRESOURCE(8)                   */
#define RT_ACCELERATOR                                           9      /* MAKEINTRESOURCE(9)                   */
#define RT_RCDATA                                               10      /* MAKEINTRESOURCE(10)                  */
#define RT_MESSAGETABLE                                         11      /* MAKEINTRESOURCE(11)                  */
#define RT_GROUP_CURSOR                                         12      /* MAKEINTRESOURCE( ... )               */
#define RT_GROUP_ICON                                           14      /* MAKEINTRESOURCE( ... )               */
#define RT_VERSION                                              16      /* MAKEINTRESOURCE(16)                  */
#define RT_DLGINCLUDE                                           17      /* MAKEINTRESOURCE(17)                  */
#define RT_PLUGPLAY                                             19      /* MAKEINTRESOURCE(19)                  */
#define RT_VXD                                                  20      /* MAKEINTRESOURCE(20)                  */
#define RT_ANICURSOR                                            21      /* MAKEINTRESOURCE(21)                  */
#define RT_ANIICON                                              22      /* MAKEINTRESOURCE(22)                  */
#define RT_HTML                                                 23      /* MAKEINTRESOURCE(23)                  */
#define RT_MANIFEST                                             24      /* MAKEINTRESOURCE(24)                  */


                                                        /********************************************************/

                                                                /************************************************/
                                                                /* Window Styles                                */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* * Window Styles                      */
#define WS_OVERLAPPED                                   0x00000000
#define WS_POPUP                                        0x80000000
#define WS_CHILD                                        0x40000000
#define WS_MINIMIZE                                     0x20000000
#define WS_VISIBLE                                      0x10000000
#define WS_DISABLED                                     0x08000000
#define WS_CLIPSIBLINGS                                 0x04000000
#define WS_CLIPCHILDREN                                 0x02000000
#define WS_MAXIMIZE                                     0x01000000
#define WS_CAPTION                                      0x00C00000      /* WS_BORDER | WS_DLGFRAME              */
#define WS_BORDER                                       0x00800000
#define WS_DLGFRAME                                     0x00400000
#define WS_VSCROLL                                      0x00200000
#define WS_HSCROLL                                      0x00100000
#define WS_SYSMENU                                      0x00080000
#define WS_THICKFRAME                                   0x00040000
#define WS_GROUP                                        0x00020000
#define WS_TABSTOP                                      0x00010000

#define WS_MINIMIZEBOX                                  0x00020000
#define WS_MAXIMIZEBOX                                  0x00010000

#define WS_TILED                                        0x00000000      /* WS_OVERLAPPED                        */
#define WS_ICONIC                                       0x01000000      /* WS_MINIMIZE                          */
#define WS_SIZEBOX                                      0x00040000      /* WS_THICKFRAME                        */
#define WS_TILEDWINDOW                                  0x00CF0000      /* WS_OVERLAPPEDWINDOW                  */
                                                                        /* * Common Window Styles               */
#define WS_OVERLAPPEDWINDOW                             0x00CF0000      /* WS_OVERLAPPED | WS_CAPTION |         */
                                                                        /* WS_SYSMENU | WS_THICKFRAME |         */
                                                                        /* WS_MINIMIZEBOX | WS_MAXIMIZEBOX      */
#define WS_POPUPWINDOW                                  0x80880000      /* WS_POPUP | WS_BORDER | WS_SYSMENU    */
#define WS_CHILDWINDOW                                  0x40000000      /* WS_CHILD                             */

                                                                        /* * Extended Window Styles             */
#define WS_EX_DLGMODALFRAME                             0x00000001
#define WS_EX_NOPARENTNOTIFY                            0x00000004
#define WS_EX_TOPMOST                                   0x00000008
#define WS_EX_ACCEPTFILES                               0x00000010
#define WS_EX_TRANSPARENT                               0x00000020
#define WS_EX_MDICHILD                                  0x00000040
#define WS_EX_TOOLWINDOW                                0x00000080
#define WS_EX_WINDOWEDGE                                0x00000100
#define WS_EX_CLIENTEDGE                                0x00000200
#define WS_EX_CONTEXTHELP                               0x00000400
#define WS_EX_RIGHT                                     0x00001000
#define WS_EX_LEFT                                      0x00000000
#define WS_EX_RTLREADING                                0x00002000
#define WS_EX_LTRREADING                                0x00000000
#define WS_EX_LEFTSCROLLBAR                             0x00004000
#define WS_EX_RIGHTSCROLLBAR                            0x00000000

#define WS_EX_CONTROLPARENT                             0x00010000
#define WS_EX_STATICEDGE                                0x00020000
#define WS_EX_APPWINDOW                                 0x00040000

#define WS_EX_OVERLAPPEDWINDOW                          0x00000300      /* WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE  */
#define WS_EX_PALETTEWINDOW                             0x00000188      /* WS_EX_WINDOWEDGE |                   */
                                                                        /* WS_EX_TOOLWINDOW | WS_EX_TOPMOST     */
#define WS_EX_LAYERED                                   0x00080000

#define WS_EX_NOINHERITLAYOUT                           0x00100000
#define WS_EX_LAYOUTRTL                                 0x00400000
#define WS_EX_COMPOSITED                                0x02000000
#define WS_EX_NOACTIVATE                                0x08000000



                                                        /********************************************************/

                                                                /************************************************/
                                                                /* Drive Types (GetVolumeType)                  */
                                                                /************************************************/

#define DRIVE_UNKNOWN                                            0      // not returned in Legato (-1)
#define DRIVE_NO_ROOT_DIR                                        1      // not returned in Legato
#define DRIVE_REMOVABLE                                          2
#define DRIVE_FIXED                                              3
#define DRIVE_REMOTE                                             4
#define DRIVE_CDROM                                              5
#define DRIVE_RAMDISK                                            6

                                                        /********************************************************/

                                                                /************************************************/
                                                                /* Common Errros (source winroot.h)             */
                                                                /************************************************/

#define ERROR_SUCCESS                                             0
#define ERROR_INVALID_FUNCTION                                    1
#define ERROR_FILE_NOT_FOUND                                      2
#define ERROR_PATH_NOT_FOUND                                      3
#define ERROR_ACCESS_DENIED                                       5
#define ERROR_INVALID_HANDLE                                      6
#define ERROR_NOT_ENOUGH_MEMORY                                   8
#define ERROR_INVALID_DRIVE                                      15
#define ERROR_CURRENT_DIRECTORY                                  16
#define ERROR_NOT_SAME_DEVICE                                    17
#define ERROR_NO_MORE_FILES                                      18
#define ERROR_WRITE_PROTECT                                      19
#define ERROR_BAD_UNIT                                           20
#define ERROR_NOT_READY                                          21
#define ERROR_BAD_COMMAND                                        22
#define ERROR_CRC                                                23
#define ERROR_BAD_LENGTH                                         24
#define ERROR_SEEK                                               25
#define ERROR_NOT_DOS_DISK                                       26
#define ERROR_SECTOR_NOT_FOUND                                   27
#define ERROR_OUT_OF_PAPER                                       28
#define ERROR_WRITE_FAULT                                        29
#define ERROR_READ_FAULT                                         30
#define ERROR_SHARING_VIOLATION                                  32
#define ERROR_LOCK_VIOLATION                                     33
#define ERROR_WRONG_DISK                                         34
#define ERROR_SHARING_BUFFER_EXCEEDED                            36
#define ERROR_HANDLE_EOF                                         38
#define ERROR_HANDLE_DISK_FULL                                   39
#define ERROR_NOT_SUPPORTED                                      50
#define ERROR_REM_NOT_LIST                                       51
#define ERROR_DUP_NAME                                           52
#define ERROR_BAD_NETPATH                                        53
#define ERROR_NETWORK_BUSY                                       54
#define ERROR_DEV_NOT_EXIST                                      55
#define ERROR_TOO_MANY_CMDS                                      56
#define ERROR_ADAP_HDW_ERR                                       57
#define ERROR_BAD_NET_RESP                                       58
#define ERROR_UNEXP_NET_ERR                                      59
#define ERROR_BAD_REM_ADAP                                       60
#define ERROR_PRINTQ_FULL                                        61
#define ERROR_NO_SPOOL_SPACE                                     62
#define ERROR_PRINT_CANCELLED                                    63
#define ERROR_NETNAME_DELETED                                    64
#define ERROR_NETWORK_ACCESS_DENIED                              65
#define ERROR_BAD_DEV_TYPE                                       66
#define ERROR_BAD_NET_NAME                                       67
#define ERROR_TOO_MANY_NAMES                                     68
#define ERROR_TOO_MANY_SESS                                      69
#define ERROR_SHARING_PAUSED                                     70
#define ERROR_REQ_NOT_ACCEP                                      71
#define ERROR_REDIR_PAUSED                                       72
#define ERROR_FILE_EXISTS                                        80
#define ERROR_CANNOT_MAKE                                        82
#define ERROR_FAIL_I24                                           83
#define ERROR_OUT_OF_STRUCTURES                                  84
#define ERROR_ALREADY_ASSIGNED                                   85
#define ERROR_INVALID_PASSWORD                                   86
#define ERROR_INVALID_PARAMETER                                  87
#define ERROR_NET_WRITE_FAULT                                    88
#define ERROR_NO_PROC_SLOTS                                      89
#define ERROR_TOO_MANY_SEMAPHORES                               100
#define ERROR_EXCL_SEM_ALREADY_OWNED                            101
#define ERROR_SEM_IS_SET                                        102
#define ERROR_TOO_MANY_SEM_REQUESTS                             103
#define ERROR_INVALID_AT_INTERRUPT_TIME                         104
#define ERROR_SEM_OWNER_DIED                                    105
#define ERROR_SEM_USER_LIMIT                                    106
#define ERROR_DISK_CHANGE                                       107
#define ERROR_DRIVE_LOCKED                                      108
#define ERROR_BROKEN_PIPE                                       109
#define ERROR_OPEN_FAILED                                       110
#define ERROR_BUFFER_OVERFLOW                                   111
#define ERROR_DISK_FULL                                         112
#define ERROR_NO_MORE_SEARCH_HANDLES                            113
#define ERROR_INVALID_TARGET_HANDLE                             114
#define ERROR_INVALID_CATEGORY                                  117
#define ERROR_INVALID_VERIFY_SWITCH                             118
#define ERROR_BAD_DRIVER_LEVEL                                  119
#define ERROR_CALL_NOT_IMPLEMENTED                              120
#define ERROR_SEM_TIMEOUT                                       121
#define ERROR_INSUFFICIENT_BUFFER                               122
#define ERROR_INVALID_NAME                                      123
#define ERROR_INVALID_LEVEL                                     124
#define ERROR_NO_VOLUME_LABEL                                   125
#define ERROR_MOD_NOT_FOUND                                     126
#define ERROR_PROC_NOT_FOUND                                    127
#define ERROR_WAIT_NO_CHILDREN                                  128
#define ERROR_CHILD_NOT_COMPLETE                                129
#define ERROR_DIRECT_ACCESS_HANDLE                              130
#define ERROR_NEGATIVE_SEEK                                     131
#define ERROR_SEEK_ON_DEVICE                                    132
#define ERROR_IS_JOIN_TARGET                                    133
#define ERROR_IS_JOINED                                         134
#define ERROR_IS_SUBSTED                                        135
#define ERROR_NOT_JOINED                                        136
#define ERROR_NOT_SUBSTED                                       137
#define ERROR_JOIN_TO_JOIN                                      138
#define ERROR_SUBST_TO_SUBST                                    139
#define ERROR_JOIN_TO_SUBST                                     140
#define ERROR_SUBST_TO_JOIN                                     141
#define ERROR_BUSY_DRIVE                                        142
#define ERROR_SAME_DRIVE                                        143
#define ERROR_DIR_NOT_ROOT                                      144
#define ERROR_DIR_NOT_EMPTY                                     145
#define ERROR_IS_SUBST_PATH                                     146
#define ERROR_IS_JOIN_PATH                                      147
#define ERROR_PATH_BUSY                                         148
#define ERROR_IS_SUBST_TARGET                                   149
#define ERROR_SYSTEM_TRACE                                      150
#define ERROR_INVALID_EVENT_COUNT                               151
#define ERROR_TOO_MANY_MUXWAITERS                               152
#define ERROR_INVALID_LIST_FORMAT                               153
#define ERROR_LABEL_TOO_LONG                                    154
#define ERROR_TOO_MANY_TCBS                                     155
#define ERROR_SIGNAL_REFUSED                                    156
#define ERROR_DISCARDED                                         157
#define ERROR_NOT_LOCKED                                        158
#define ERROR_BAD_THREADID_ADDR                                 159
#define ERROR_BAD_ARGUMENTS                                     160
#define ERROR_BAD_PATHNAME                                      161
#define ERROR_SIGNAL_PENDING                                    162
#define ERROR_MAX_THRDS_REACHED                                 164
#define ERROR_LOCK_FAILED                                       167
#define ERROR_BUSY                                              170
#define ERROR_CANCEL_VIOLATION                                  173
#define ERROR_ATOMIC_LOCKS_NOT_SUPPORTED                        174
#define ERROR_INVALID_SEGMENT_NUMBER                            180
#define ERROR_INVALID_ORDINAL                                   182
#define ERROR_ALREADY_EXISTS                                    183
#define ERROR_INVALID_FLAG_NUMBER                               186
#define ERROR_SEM_NOT_FOUND                                     187
#define ERROR_INVALID_STARTING_CODESEG                          188
#define ERROR_INVALID_STACKSEG                                  189
#define ERROR_INVALID_MODULETYPE                                190
#define ERROR_INVALID_EXE_SIGNATURE                             191
#define ERROR_EXE_MARKED_INVALID                                192
#define ERROR_BAD_EXE_FORMAT                                    193
#define ERROR_ITERATED_DATA_EXCEEDS_64k                         194
#define ERROR_INVALID_MINALLOCSIZE                              195
#define ERROR_DYNLINK_FROM_INVALID_RING                         196
#define ERROR_IOPL_NOT_ENABLED                                  197
#define ERROR_INVALID_SEGDPL                                    198
#define ERROR_AUTODATASEG_EXCEEDS_64k                           199
#define ERROR_RING2SEG_MUST_BE_MOVABLE                          200
#define ERROR_RELOC_CHAIN_XEEDS_SEGLIM                          201
#define ERROR_INFLOOP_IN_RELOC_CHAIN                            202
#define ERROR_ENVVAR_NOT_FOUND                                  203
#define ERROR_NO_SIGNAL_SENT                                    205
#define ERROR_FILENAME_EXCED_RANGE                              206
#define ERROR_RING2_STACK_IN_USE                                207
#define ERROR_META_EXPANSION_TOO_LONG                           208
#define ERROR_INVALID_SIGNAL_NUMBER                             209
#define ERROR_THREAD_1_INACTIVE                                 210
#define ERROR_LOCKED                                            212
#define ERROR_TOO_MANY_MODULES                                  214
#define ERROR_NESTING_NOT_ALLOWED                               215
#define ERROR_EXE_MACHINE_TYPE_MISMATCH                         216
#define ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY                   217
#define ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY            218
#define ERROR_FILE_CHECKED_OUT                                  220
#define ERROR_CHECKOUT_REQUIRED                                 221
#define ERROR_BAD_FILE_TYPE                                     222
#define ERROR_FILE_TOO_LARGE                                    223
#define ERROR_FORMS_AUTH_REQUIRED                               224
#define ERROR_VIRUS_INFECTED                                    225
#define ERROR_VIRUS_DELETED                                     226
#define ERROR_PIPE_LOCAL                                        229
#define ERROR_BAD_PIPE                                          230
#define ERROR_PIPE_BUSY                                         231
#define ERROR_NO_DATA                                           232
#define ERROR_PIPE_NOT_CONNECTED                                233
#define ERROR_MORE_DATA                                         234
#define ERROR_NO_WORK_DONE                                      235
#define ERROR_VC_DISCONNECTED                                   240
#define ERROR_INVALID_EA_NAME                                   254
#define ERROR_EA_LIST_INCONSISTENT                              255
#define ERROR_WAIT_TIMEOUT                                      258             // this does not match Windows SDK 'WAIT_TIMEOUT' because of a name conflict
#define ERROR_NO_MORE_ITEMS                                     259
#define ERROR_CANNOT_COPY                                       266
#define ERROR_DIRECTORY                                         267
#define ERROR_EAS_DIDNT_FIT                                     275
#define ERROR_EA_FILE_CORRUPT                                   276
#define ERROR_EA_TABLE_FULL                                     277
#define ERROR_INVALID_EA_HANDLE                                 278
#define ERROR_EAS_NOT_SUPPORTED                                 282
#define ERROR_NOT_OWNER                                         288
#define ERROR_TOO_MANY_POSTS                                    298
#define ERROR_PARTIAL_COPY                                      299
#define ERROR_OPLOCK_NOT_GRANTED                                300
#define ERROR_INVALID_OPLOCK_PROTOCOL                           301
#define ERROR_DISK_TOO_FRAGMENTED                               302
#define ERROR_DELETE_PENDING                                    303
#define ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING 304
#define ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME                 305
#define ERROR_SECURITY_STREAM_IS_INCONSISTENT                   306
#define ERROR_INVALID_LOCK_RANGE                                307
#define ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT                       308
#define ERROR_NOTIFICATION_GUID_ALREADY_DEFINED                 309
#define ERROR_INVALID_EXCEPTION_HANDLER                         310
#define ERROR_DUPLICATE_PRIVILEGES                              311
#define ERROR_NO_RANGES_PROCESSED                               312
#define ERROR_NOT_ALLOWED_ON_SYSTEM_FILE                        313
#define ERROR_DISK_RESOURCES_EXHAUSTED                          314
#define ERROR_INVALID_TOKEN                                     315
#define ERROR_DEVICE_FEATURE_NOT_SUPPORTED                      316
#define ERROR_MR_MID_NOT_FOUND                                  317
#define ERROR_SCOPE_NOT_FOUND                                   318
#define ERROR_UNDEFINED_SCOPE                                   319
#define ERROR_INVALID_CAP                                       320
#define ERROR_DEVICE_UNREACHABLE                                321
#define ERROR_DEVICE_NO_RESOURCES                               322
#define ERROR_DATA_CHECKSUM_ERROR                               323
#define ERROR_INTERMIXED_KERNEL_EA_OPERATION                    324
#define ERROR_FILE_LEVEL_TRIM_NOT_SUPPORTED                     326
#define ERROR_OFFSET_ALIGNMENT_VIOLATION                        327
#define ERROR_INVALID_FIELD_IN_PARAMETER_LIST                   328
#define ERROR_OPERATION_IN_PROGRESS                             329
#define ERROR_BAD_DEVICE_PATH                                   330
#define ERROR_TOO_MANY_DESCRIPTORS                              331
#define ERROR_SCRUB_DATA_DISABLED                               332
#define ERROR_NOT_REDUNDANT_STORAGE                             333
#define ERROR_RESIDENT_FILE_NOT_SUPPORTED                       334
#define ERROR_COMPRESSED_FILE_NOT_SUPPORTED                     335
#define ERROR_DIRECTORY_NOT_SUPPORTED                           336
#define ERROR_NOT_READ_FROM_COPY                                337
#define ERROR_FT_WRITE_FAILURE                                  338
#define ERROR_FT_DI_SCAN_REQUIRED                               339
#define ERROR_INVALID_KERNEL_INFO_VERSION                       340
#define ERROR_INVALID_PEP_INFO_VERSION                          341
#define ERROR_OBJECT_NOT_EXTERNALLY_BACKED                      342
#define ERROR_EXTERNAL_BACKING_PROVIDER_UNKNOWN                 343
#define ERROR_COMPRESSION_NOT_BENEFICIAL                        344
#define ERROR_STORAGE_TOPOLOGY_ID_MISMATCH                      345
#define ERROR_BLOCKED_BY_PARENTAL_CONTROLS                      346
#define ERROR_BLOCK_TOO_MANY_REFERENCES                         347
#define ERROR_MARKED_TO_DISALLOW_WRITES                         348
#define ERROR_ENCLAVE_FAILURE                                   349
#define ERROR_FAIL_NOACTION_REBOOT                              350
#define ERROR_FAIL_SHUTDOWN                                     351
#define ERROR_FAIL_RESTART                                      352
#define ERROR_MAX_SESSIONS_REACHED                              353
#define ERROR_NETWORK_ACCESS_DENIED_EDP                         354
#define ERROR_DEVICE_HINT_NAME_BUFFER_TOO_SMALL                 355
#define ERROR_EDP_POLICY_DENIES_OPERATION                       356
#define ERROR_EDP_DPL_POLICY_CANT_BE_SATISFIED                  357
#define ERROR_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT             358
#define ERROR_DEVICE_IN_MAINTENANCE                             359
#define ERROR_NOT_SUPPORTED_ON_DAX                              360
#define ERROR_DAX_MAPPING_EXISTS                                361
#define ERROR_CLOUD_FILE_PROVIDER_NOT_RUNNING                   362
#define ERROR_CLOUD_FILE_METADATA_CORRUPT                       363
#define ERROR_CLOUD_FILE_METADATA_TOO_LARGE                     364
#define ERROR_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE                365
#define ERROR_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH        366
#define ERROR_CHILD_PROCESS_BLOCKED                             367
#define ERROR_STORAGE_LOST_DATA_PERSISTENCE                     368
#define ERROR_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE            369
#define ERROR_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT       370
#define ERROR_FILE_SYSTEM_VIRTUALIZATION_BUSY                   371
#define ERROR_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN       372
#define ERROR_GDI_HANDLE_LEAK                                   373
#define ERROR_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS                374
#define ERROR_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED         375
#define ERROR_NOT_A_CLOUD_FILE                                  376
#define ERROR_CLOUD_FILE_NOT_IN_SYNC                            377
#define ERROR_CLOUD_FILE_ALREADY_CONNECTED                      378
#define ERROR_CLOUD_FILE_NOT_SUPPORTED                          379
#define ERROR_CLOUD_FILE_INVALID_REQUEST                        380
#define ERROR_CLOUD_FILE_READ_ONLY_VOLUME                       381
#define ERROR_CLOUD_FILE_CONNECTED_PROVIDER_ONLY                382
#define ERROR_CLOUD_FILE_VALIDATION_FAILED                      383
#define ERROR_SMB1_NOT_AVAILABLE                                384
#define ERROR_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION      385
#define ERROR_CLOUD_FILE_AUTHENTICATION_FAILED                  386
#define ERROR_CLOUD_FILE_INSUFFICIENT_RESOURCES                 387
#define ERROR_CLOUD_FILE_NETWORK_UNAVAILABLE                    388
#define ERROR_CLOUD_FILE_UNSUCCESSFUL                           389
#define ERROR_CLOUD_FILE_NOT_UNDER_SYNC_ROOT                    390
#define ERROR_CLOUD_FILE_IN_USE                                 391
#define ERROR_CLOUD_FILE_PINNED                                 392
#define ERROR_CLOUD_FILE_REQUEST_ABORTED                        393
#define ERROR_CLOUD_FILE_PROPERTY_CORRUPT                       394
#define ERROR_CLOUD_FILE_ACCESS_DENIED                          395
#define ERROR_CLOUD_FILE_INCOMPATIBLE_HARDLINKS                 396
#define ERROR_CLOUD_FILE_PROPERTY_LOCK_CONFLICT                 397
#define ERROR_CLOUD_FILE_REQUEST_CANCELED                       398
#define ERROR_EXTERNAL_SYSKEY_NOT_SUPPORTED                     399


                                                                /************************************************/
                                                                /* Windows Messages (WinUser.h)                 */
                                                                /************************************************/

                                                                        /****************************************/

#define WM_NULL                                             0x0000
#define WM_CREATE                                           0x0001
#define WM_DESTROY                                          0x0002
#define WM_MOVE                                             0x0003
#define WM_SIZE                                             0x0005
#define WM_ACTIVATE                                         0x0006
#define WM_SETFOCUS                                         0x0007
#define WM_KILLFOCUS                                        0x0008
#define WM_ENABLE                                           0x000A
#define WM_SETREDRAW                                        0x000B
#define WM_SETTEXT                                          0x000C
#define WM_GETTEXT                                          0x000D
#define WM_GETTEXTLENGTH                                    0x000E
#define WM_PAINT                                            0x000F
#define WM_CLOSE                                            0x0010
#define WM_QUERYENDSESSION                                  0x0011
#define WM_QUERYOPEN                                        0x0013
#define WM_ENDSESSION                                       0x0016
#define WM_QUIT                                             0x0012
#define WM_ERASEBKGND                                       0x0014
#define WM_SYSCOLORCHANGE                                   0x0015
#define WM_SHOWWINDOW                                       0x0018
#define WM_WININICHANGE                                     0x001A
#define WM_SETTINGCHANGE                                    0x001A
#define WM_DEVMODECHANGE                                    0x001B
#define WM_ACTIVATEAPP                                      0x001C
#define WM_FONTCHANGE                                       0x001D
#define WM_TIMECHANGE                                       0x001E
#define WM_CANCELMODE                                       0x001F
#define WM_SETCURSOR                                        0x0020
#define WM_MOUSEACTIVATE                                    0x0021
#define WM_CHILDACTIVATE                                    0x0022
#define WM_QUEUESYNC                                        0x0023
#define WM_GETMINMAXINFO                                    0x0024
#define WM_PAINTICON                                        0x0026
#define WM_ICONERASEBKGND                                   0x0027
#define WM_NEXTDLGCTL                                       0x0028
#define WM_SPOOLERSTATUS                                    0x002A
#define WM_DRAWITEM                                         0x002B
#define WM_MEASUREITEM                                      0x002C
#define WM_DELETEITEM                                       0x002D
#define WM_VKEYTOITEM                                       0x002E
#define WM_CHARTOITEM                                       0x002F
#define WM_SETFONT                                          0x0030
#define WM_GETFONT                                          0x0031
#define WM_SETHOTKEY                                        0x0032
#define WM_GETHOTKEY                                        0x0033
#define WM_QUERYDRAGICON                                    0x0037
#define WM_COMPAREITEM                                      0x0039
#define WM_GETOBJECT                                        0x003D
#define WM_COMPACTING                                       0x0041
#define WM_COMMNOTIFY                                       0x0044
#define WM_WINDOWPOSCHANGING                                0x0046
#define WM_WINDOWPOSCHANGED                                 0x0047
#define WM_POWER                                            0x0048
#define WM_COPYDATA                                         0x004A
#define WM_CANCELJOURNAL                                    0x004B
#define WM_NOTIFY                                           0x004E
#define WM_INPUTLANGCHANGEREQUEST                           0x0050
#define WM_INPUTLANGCHANGE                                  0x0051
#define WM_TCARD                                            0x0052
#define WM_HELP                                             0x0053
#define WM_USERCHANGED                                      0x0054
#define WM_NOTIFYFORMAT                                     0x0055
#define WM_CONTEXTMENU                                      0x007B
#define WM_STYLECHANGING                                    0x007C
#define WM_STYLECHANGED                                     0x007D
#define WM_DISPLAYCHANGE                                    0x007E
#define WM_GETICON                                          0x007F
#define WM_SETICON                                          0x0080
#define WM_NCCREATE                                         0x0081
#define WM_NCDESTROY                                        0x0082
#define WM_NCCALCSIZE                                       0x0083
#define WM_NCHITTEST                                        0x0084
#define WM_NCPAINT                                          0x0085
#define WM_NCACTIVATE                                       0x0086
#define WM_GETDLGCODE                                       0x0087
#define WM_NCMOUSEMOVE                                      0x00A0
#define WM_NCLBUTTONDOWN                                    0x00A1
#define WM_NCLBUTTONUP                                      0x00A2
#define WM_NCLBUTTONDBLCLK                                  0x00A3
#define WM_NCRBUTTONDOWN                                    0x00A4
#define WM_NCRBUTTONUP                                      0x00A5
#define WM_NCRBUTTONDBLCLK                                  0x00A6
#define WM_NCMBUTTONDOWN                                    0x00A7
#define WM_NCMBUTTONUP                                      0x00A8
#define WM_NCMBUTTONDBLCLK                                  0x00A9
#define WM_NCXBUTTONDOWN                                    0x00AB
#define WM_NCXBUTTONUP                                      0x00AC
#define WM_NCXBUTTONDBLCLK                                  0x00AD
#define WM_INPUT_DEVICE_CHANGE                              0x00FE
#define WM_INPUT                                            0x00FF
#define WM_KEYFIRST                                         0x0100
#define WM_KEYDOWN                                          0x0100
#define WM_KEYUP                                            0x0101
#define WM_CHAR                                             0x0102
#define WM_DEADCHAR                                         0x0103
#define WM_SYSKEYDOWN                                       0x0104
#define WM_SYSKEYUP                                         0x0105
#define WM_SYSCHAR                                          0x0106
#define WM_SYSDEADCHAR                                      0x0107
#define WM_UNICHAR                                          0x0109
#define WM_KEYLAST                                          0x0109
#define WM_IME_STARTCOMPOSITION                             0x010D
#define WM_IME_ENDCOMPOSITION                               0x010E
#define WM_IME_COMPOSITION                                  0x010F
#define WM_IME_KEYLAST                                      0x010F
#define WM_INITDIALOG                                       0x0110
#define WM_COMMAND                                          0x0111
#define WM_SYSCOMMAND                                       0x0112
#define WM_TIMER                                            0x0113
#define WM_HSCROLL                                          0x0114
#define WM_VSCROLL                                          0x0115
#define WM_INITMENU                                         0x0116
#define WM_INITMENUPOPUP                                    0x0117
#define WM_GESTURE                                          0x0119
#define WM_GESTURENOTIFY                                    0x011A
#define WM_MENUSELECT                                       0x011F
#define WM_MENUCHAR                                         0x0120
#define WM_ENTERIDLE                                        0x0121
#define WM_MENURBUTTONUP                                    0x0122
#define WM_MENUDRAG                                         0x0123
#define WM_MENUGETOBJECT                                    0x0124
#define WM_UNINITMENUPOPUP                                  0x0125
#define WM_MENUCOMMAND                                      0x0126
#define WM_CHANGEUISTATE                                    0x0127
#define WM_UPDATEUISTATE                                    0x0128
#define WM_QUERYUISTATE                                     0x0129
#define WM_CTLCOLORMSGBOX                                   0x0132
#define WM_CTLCOLOREDIT                                     0x0133
#define WM_CTLCOLORLISTBOX                                  0x0134
#define WM_CTLCOLORBTN                                      0x0135
#define WM_CTLCOLORDLG                                      0x0136
#define WM_CTLCOLORSCROLLBAR                                0x0137
#define WM_CTLCOLORSTATIC                                   0x0138
#define WM_MOUSEFIRST                                       0x0200
#define WM_MOUSEMOVE                                        0x0200
#define WM_LBUTTONDOWN                                      0x0201
#define WM_LBUTTONUP                                        0x0202
#define WM_LBUTTONDBLCLK                                    0x0203
#define WM_RBUTTONDOWN                                      0x0204
#define WM_RBUTTONUP                                        0x0205
#define WM_RBUTTONDBLCLK                                    0x0206
#define WM_MBUTTONDOWN                                      0x0207
#define WM_MBUTTONUP                                        0x0208
#define WM_MBUTTONDBLCLK                                    0x0209
#define WM_XBUTTONDOWN                                      0x020B
#define WM_XBUTTONUP                                        0x020C
#define WM_XBUTTONDBLCLK                                    0x020D
#define WM_MOUSEHWHEEL                                      0x020E
#define WM_MOUSELAST                                        0x020E
#define WM_PARENTNOTIFY                                     0x0210
#define WM_ENTERMENULOOP                                    0x0211
#define WM_EXITMENULOOP                                     0x0212
#define WM_NEXTMENU                                         0x0213
#define WM_SIZING                                           0x0214
#define WM_CAPTURECHANGED                                   0x0215
#define WM_MOVING                                           0x0216
#define WM_POWERBROADCAST                                   0x0218
#define WM_DEVICECHANGE                                     0x0219
#define WM_MDICREATE                                        0x0220
#define WM_MDIDESTROY                                       0x0221
#define WM_MDIACTIVATE                                      0x0222
#define WM_MDIRESTORE                                       0x0223
#define WM_MDINEXT                                          0x0224
#define WM_MDIMAXIMIZE                                      0x0225
#define WM_MDITILE                                          0x0226
#define WM_MDICASCADE                                       0x0227
#define WM_MDIICONARRANGE                                   0x0228
#define WM_MDIGETACTIVE                                     0x0229
#define WM_MDISETMENU                                       0x0230
#define WM_ENTERSIZEMOVE                                    0x0231
#define WM_EXITSIZEMOVE                                     0x0232
#define WM_DROPFILES                                        0x0233
#define WM_MDIREFRESHMENU                                   0x0234
#define WM_TOUCH                                            0x0240
#define WM_IME_SETCONTEXT                                   0x0281
#define WM_IME_NOTIFY                                       0x0282
#define WM_IME_CONTROL                                      0x0283
#define WM_IME_COMPOSITIONFULL                              0x0284
#define WM_IME_SELECT                                       0x0285
#define WM_IME_CHAR                                         0x0286
#define WM_IME_REQUEST                                      0x0288
#define WM_IME_KEYDOWN                                      0x0290
#define WM_IME_KEYUP                                        0x0291
#define WM_MOUSEHOVER                                       0x02A1
#define WM_MOUSELEAVE                                       0x02A3
#define WM_NCMOUSEHOVER                                     0x02A0
#define WM_NCMOUSELEAVE                                     0x02A2
#define WM_WTSSESSION_CHANGE                                0x02B1
#define WM_TABLET_FIRST                                     0x02C0
#define WM_TABLET_LAST                                      0x02DF
#define WM_CUT                                              0x0300
#define WM_COPY                                             0x0301
#define WM_PASTE                                            0x0302
#define WM_CLEAR                                            0x0303
#define WM_UNDO                                             0x0304
#define WM_RENDERFORMAT                                     0x0305
#define WM_RENDERALLFORMATS                                 0x0306
#define WM_DESTROYCLIPBOARD                                 0x0307
#define WM_DRAWCLIPBOARD                                    0x0308
#define WM_PAINTCLIPBOARD                                   0x0309
#define WM_VSCROLLCLIPBOARD                                 0x030A
#define WM_SIZECLIPBOARD                                    0x030B
#define WM_ASKCBFORMATNAME                                  0x030C
#define WM_CHANGECBCHAIN                                    0x030D
#define WM_HSCROLLCLIPBOARD                                 0x030E
#define WM_QUERYNEWPALETTE                                  0x030F
#define WM_PALETTEISCHANGING                                0x0310
#define WM_PALETTECHANGED                                   0x0311
#define WM_HOTKEY                                           0x0312
#define WM_PRINT                                            0x0317
#define WM_PRINTCLIENT                                      0x0318
#define WM_APPCOMMAND                                       0x0319
#define WM_THEMECHANGED                                     0x031A
#define WM_CLIPBOARDUPDATE                                  0x031D
#define WM_DWMCOMPOSITIONCHANGED                            0x031E
#define WM_DWMNCRENDERINGCHANGED                            0x031F
#define WM_DWMCOLORIZATIONCOLORCHANGED                      0x0320
#define WM_DWMWINDOWMAXIMIZEDCHANGE                         0x0321
#define WM_DWMSENDICONICTHUMBNAIL                           0x0323
#define WM_DWMSENDICONICLIVEPREVIEWBITMAP                   0x0326
#define WM_GETTITLEBARINFOEX                                0x033F
#define WM_HANDHELDFIRST                                    0x0358
#define WM_HANDHELDLAST                                     0x035F
#define WM_AFXFIRST                                         0x0360
#define WM_AFXLAST                                          0x037F
#define WM_PENWINFIRST                                      0x0380
#define WM_PENWINLAST                                       0x038F
#define WM_USER                                             0x0400
#define WM_APP                                              0x8000

                                                                        /****************************************/
                                                                        /* ** WM_SIZE (size_changed procedure)  */
                                                                        /*  * Message mode (wParam) values      */
#define SIZE_RESTORED                                            0
#define SIZE_MINIMIZED                                           1
#define SIZE_MAXIMIZED                                           2
#define SIZE_MAXSHOW                                             3
#define SIZE_MAXHIDE                                             4

                                                                /************************************************/
                                                                /* Keyboard                                     */
                                                                /* --------                                     */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Virtual Keys, Standard Set        */
#define VK_LBUTTON                                            0x01    
#define VK_RBUTTON                                            0x02    
#define VK_CANCEL                                             0x03    
#define VK_MBUTTON                                            0x04    
#define VK_XBUTTON1                                           0x05    
#define VK_XBUTTON2                                           0x06    
                                                                        /*  * 0x07 : unassigned                 */
#define VK_BACK                                               0x08
#define VK_TAB                                                0x09
                                                                        /*  * 0x0A - 0x0B : reserved            */
#define VK_CLEAR                                              0x0C
#define VK_RETURN                                             0x0D
                                                              
#define VK_SHIFT                                              0x10
#define VK_CONTROL                                            0x11
#define VK_MENU                                               0x12
#define VK_PAUSE                                              0x13
#define VK_CAPITAL                                            0x14
                                                              
#define VK_KANA                                               0x15
#define VK_HANGEUL                                            0x15
#define VK_HANGUL                                             0x15
#define VK_JUNJA                                              0x17
#define VK_FINAL                                              0x18
#define VK_HANJA                                              0x19
#define VK_KANJI                                              0x19
                                                              
#define VK_ESCAPE                                             0x1B
                                                              
#define VK_CONVERT                                            0x1C
#define VK_NONCONVERT                                         0x1D
#define VK_ACCEPT                                             0x1E
#define VK_MODECHANGE                                         0x1F
                                                              
#define VK_SPACE                                              0x20
#define VK_PRIOR                                              0x21
#define VK_NEXT                                               0x22
#define VK_END                                                0x23
#define VK_HOME                                               0x24
#define VK_LEFT                                               0x25
#define VK_UP                                                 0x26
#define VK_RIGHT                                              0x27
#define VK_DOWN                                               0x28
#define VK_SELECT                                             0x29
#define VK_PRINT                                              0x2A
#define VK_EXECUTE                                            0x2B
#define VK_SNAPSHOT                                           0x2C
#define VK_INSERT                                             0x2D
#define VK_DELETE                                             0x2E
#define VK_HELP                                               0x2F
                                                                        /*  * Not Defined in Windows SDK        */
#define VK_0                                                  0x30
#define VK_1                                                  0x31
#define VK_2                                                  0x32
#define VK_3                                                  0x33
#define VK_4                                                  0x34
#define VK_5                                                  0x35
#define VK_6                                                  0x36
#define VK_7                                                  0x37
#define VK_8                                                  0x38
#define VK_9                                                  0x39

                                                                        /*  * 0x40 : unassigned                 */
#define VK_A                                                  0x41
#define VK_B                                                  0x42
#define VK_C                                                  0x43
#define VK_D                                                  0x44
#define VK_E                                                  0x45
#define VK_F                                                  0x46
#define VK_G                                                  0x47
#define VK_H                                                  0x48
#define VK_I                                                  0x49
#define VK_J                                                  0x4A
#define VK_K                                                  0x4B
#define VK_L                                                  0x4C
#define VK_M                                                  0x4D
#define VK_N                                                  0x4E
#define VK_O                                                  0x4F
#define VK_P                                                  0x50
#define VK_Q                                                  0x51
#define VK_R                                                  0x52
#define VK_S                                                  0x53
#define VK_T                                                  0x54
#define VK_U                                                  0x55
#define VK_V                                                  0x56
#define VK_W                                                  0x57
#define VK_X                                                  0x58
#define VK_Y                                                  0x59
#define VK_Z                                                  0x5A

#define VK_LWIN                                               0x5B
#define VK_RWIN                                               0x5C
#define VK_APPS                                               0x5D

                                                                        /*  * 0x5E : reserved                   */
#define VK_SLEEP                                              0x5F
                                                              
#define VK_NUMPAD0                                            0x60
#define VK_NUMPAD1                                            0x61
#define VK_NUMPAD2                                            0x62
#define VK_NUMPAD3                                            0x63
#define VK_NUMPAD4                                            0x64
#define VK_NUMPAD5                                            0x65
#define VK_NUMPAD6                                            0x66
#define VK_NUMPAD7                                            0x67
#define VK_NUMPAD8                                            0x68
#define VK_NUMPAD9                                            0x69
#define VK_MULTIPLY                                           0x6A
#define VK_ADD                                                0x6B
#define VK_SEPARATOR                                          0x6C
#define VK_SUBTRACT                                           0x6D
#define VK_DECIMAL                                            0x6E
#define VK_DIVIDE                                             0x6F
#define VK_F1                                                 0x70
#define VK_F2                                                 0x71
#define VK_F3                                                 0x72
#define VK_F4                                                 0x73
#define VK_F5                                                 0x74
#define VK_F6                                                 0x75
#define VK_F7                                                 0x76
#define VK_F8                                                 0x77
#define VK_F9                                                 0x78
#define VK_F10                                                0x79
#define VK_F11                                                0x7A
#define VK_F12                                                0x7B
#define VK_F13                                                0x7C
#define VK_F14                                                0x7D
#define VK_F15                                                0x7E
#define VK_F16                                                0x7F
#define VK_F17                                                0x80
#define VK_F18                                                0x81
#define VK_F19                                                0x82
#define VK_F20                                                0x83
#define VK_F21                                                0x84
#define VK_F22                                                0x85
#define VK_F23                                                0x86
#define VK_F24                                                0x87

                                                                        /*  * 0x88 - 0x8F : unassigned          */
#define VK_NUMLOCK                                            0x90
#define VK_SCROLL                                             0x91
                                                                        /*  * NEC PC-9800 kbd definitions       */
#define VK_OEM_NEC_EQUAL                                      0x92      // '=' key on numpad
                                                                        /*  * Fujitsu/OASYS kbd definitions     */
#define VK_OEM_FJ_JISHO                                       0x92      // 'Dictionary' key
#define VK_OEM_FJ_MASSHOU                                     0x93      // 'Unregister word' key
#define VK_OEM_FJ_TOUROKU                                     0x94      // 'Register word' key
#define VK_OEM_FJ_LOYA                                        0x95      // 'Left OYAYUBI' key
#define VK_OEM_FJ_ROYA                                        0x96      // 'Right OYAYUBI' key
                                                                        /*  * 0x97 - 0x9F : unassigned          */

                                                                        /*  * VK_L* & VK_R* - left and right    */
#define VK_LSHIFT                                             0xA0
#define VK_RSHIFT                                             0xA1
#define VK_LCONTROL                                           0xA2
#define VK_RCONTROL                                           0xA3
#define VK_LMENU                                              0xA4
#define VK_RMENU                                              0xA5
                                                              
#define VK_BROWSER_BACK                                       0xA6
#define VK_BROWSER_FORWARD                                    0xA7
#define VK_BROWSER_REFRESH                                    0xA8
#define VK_BROWSER_STOP                                       0xA9
#define VK_BROWSER_SEARCH                                     0xAA
#define VK_BROWSER_FAVORITES                                  0xAB
#define VK_BROWSER_HOME                                       0xAC
                                                              
#define VK_VOLUME_MUTE                                        0xAD
#define VK_VOLUME_DOWN                                        0xAE
#define VK_VOLUME_UP                                          0xAF
#define VK_MEDIA_NEXT_TRACK                                   0xB0
#define VK_MEDIA_PREV_TRACK                                   0xB1
#define VK_MEDIA_STOP                                         0xB2
#define VK_MEDIA_PLAY_PAUSE                                   0xB3
#define VK_LAUNCH_MAIL                                        0xB4
#define VK_LAUNCH_MEDIA_SELECT                                0xB5
#define VK_LAUNCH_APP1                                        0xB6
#define VK_LAUNCH_APP2                                        0xB7
                                                                        /*  * 0xB8 - 0xB9 : reserved            */
#define VK_OEM_1                                              0xBA      // ';:' for US
#define VK_OEM_PLUS                                           0xBB      // '+' any country
#define VK_OEM_COMMA                                          0xBC      // ',' any country
#define VK_OEM_MINUS                                          0xBD      // '-' any country
#define VK_OEM_PERIOD                                         0xBE      // '.' any country
#define VK_OEM_2                                              0xBF      // '/?' for US
#define VK_OEM_3                                              0xC0      // '`~' for US
                                                                        /*  * 0xC1 - 0xD7 : reserved            */
                                                                        /*  * 0xD8 - 0xDA : unassigned          */
#define VK_OEM_4                                              0xDB      //  '[{' for US
#define VK_OEM_5                                              0xDC      //  '\|' for US
#define VK_OEM_6                                              0xDD      //  ']}' for US
#define VK_OEM_7                                              0xDE      //  ''"' for US
#define VK_OEM_8                                              0xDF
                                                                        /*  * 0xE0 : reserved                   */

                                                                        /*  * Various extended or enhanced      (/
                                                                        /*    keyboards                         */
#define VK_OEM_AX                                             0xE1      //  'AX' key on Japanese AX kbd
#define VK_OEM_102                                            0xE2      //  "<>" or "\|" on RT 102-key kbd.
#define VK_ICO_HELP                                           0xE3      //  Help key on ICO
#define VK_ICO_00                                             0xE4      //  00 key on ICO

#define VK_PROCESSKEY                                         0xE5

#define VK_ICO_CLEAR                                          0xE6

#define VK_PACKET                                             0xE7

                                                                        /*  * 0xE8 : unassigned                 */

                                                                        /*  * Nokia/Ericsson definitions        */
#define VK_OEM_RESET                                          0xE9
#define VK_OEM_JUMP                                           0xEA
#define VK_OEM_PA1                                            0xEB
#define VK_OEM_PA2                                            0xEC
#define VK_OEM_PA3                                            0xED
#define VK_OEM_WSCTRL                                         0xEE
#define VK_OEM_CUSEL                                          0xEF
#define VK_OEM_ATTN                                           0xF0
#define VK_OEM_FINISH                                         0xF1
#define VK_OEM_COPY                                           0xF2
#define VK_OEM_AUTO                                           0xF3
#define VK_OEM_ENLW                                           0xF4
#define VK_OEM_BACKTAB                                        0xF5
                                                              
#define VK_ATTN                                               0xF6
#define VK_CRSEL                                              0xF7
#define VK_EXSEL                                              0xF8
#define VK_EREOF                                              0xF9
#define VK_PLAY                                               0xFA
#define VK_ZOOM                                               0xFB
#define VK_NONAME                                             0xFC
#define VK_PA1                                                0xFD
#define VK_OEM_CLEAR                                          0xFE



                                                        /********************************************************/
                                                        /* Dialog and Dialog Action/Notify Procedure            */
                                                        /* -----------------------------------------            */
                                                        /* Windows dialog controls that  send notifications  to */
                                                        /* the parent application have those mesages translated */
                                                        /* into the dialog 'action' procedure.                  */
                                                        /********************************************************/


                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** Dialog Class Shorthand            */
                                                                        /*    (These are defined directly in    */
                                                                        /*     resource compiler but this       */
                                                                        /*     allows for IDE color coding)     */
#define DATETIMEPICK_CLASS              "SysDateTimePick32"             /* Date/Time Picker Class               */
#define WC_BUTTON                       "Button"                        /* Button Class                         */
#define WC_COMBOBOX                     "ComboBox"                      /* Combo Box Class                      */
#define WC_COMBOBOXEX                   "ComboBoxEx32"                  /* Combo Box Ex Class                   */
#define WC_EDIT                         "Edit"                          /* Edit Control Class                   */
#define WC_HEADER                       "SysHeader32"                   /* Sys Header 32 Class                  */
#define WC_IPADDRESS                    "SysIPAddress32"                /* Sys IP Address 32 Class              */
#define WC_LINK                         "SysLink"                       /* Sys Link Class                       */
#define WC_LISTBOX                      "ListBox"                       /* List Box Class                       */
#define WC_LISTVIEW                     "SysListView32"                 /* Sys List View 32 Class               */
#define WC_NATIVEFONTCTL                "NativeFontCtl"                 /* Native Font Control Class            */
#define WC_PAGESCROLLER                 "SysPager"                      /* System Pager Class                   */
#define WC_TABCONTROL                   "SysTabControl32"               /* System Tab Control Class             */
#define WC_TRACKBAR                     "msctls_trackbar32"             /* Trackbar Control Class (non-MS SDK)  */
#define WC_TREEVIEW                     "SysTreeView32"                 /* System Tree View Class               */
#define WC_SCROLLBAR                    "ScrollBar"                     /* Scroll Bar Class                     */
#define WC_STATIC                       "Static"                        /* Static Class                         */

                                                                /************************************************/
                                                                /* Dialog Styles                                */
                                                                /* -------------                                */
                                                                /************************************************/


#define DS_ABSALIGN                                     0x0001
#define DS_SYSMODAL                                     0x0002
#define DS_LOCALEDIT                                    0x0020
#define DS_SETFONT                                      0x0040
#define DS_MODALFRAME                                   0x0080
#define DS_NOIDLEMSG                                    0x0100
#define DS_SETFOREGROUND                                0x0200
#define DS_3DLOOK                                       0x0004
#define DS_FIXEDSYS                                     0x0008
#define DS_NOFAILCREATE                                 0x0010
#define DS_CONTROL                                      0x0400
#define DS_CENTER                                       0x0800
#define DS_CENTERMOUSE                                  0x1000
#define DS_CONTEXTHELP                                  0x2000

#define DS_SHELLFONT                                    0x0048          /* (DS_SETFONT | DS_FIXEDSYS)           */


                                                                /************************************************/
                                                                /* Notification Base                            */
                                                                /* -----------------                            */
                                                                /* These are use as a base for ComCtrl32 items  */
                                                                /* that use notifications. Most of these track  */
                                                                /* with the Windows SDK.                        */
                                                                /************************************************/

#define NM_FIRST                                        (0)          
#define NM_LAST                                         (-99)

#define NM_OUTOFMEMORY                                  (-1)            //(NM_FIRST-1)  // fix this after parse error
#define NM_CLICK                                        (-2)            //(NM_FIRST-2) 
#define NM_DBLCLK                                       (-3)            //(NM_FIRST-3) 
#define NM_RETURN                                       (-4)            //(NM_FIRST-4) 
#define NM_RCLICK                                       (-5)            //(NM_FIRST-5) 
#define NM_RDBLCLK                                      (-6)            //(NM_FIRST-6) 
#define NM_SETFOCUS                                     (-7)            //(NM_FIRST-7) 
#define NM_KILLFOCUS                                    (-8)            //(NM_FIRST-8) 
#define NM_CUSTOMDRAW                                   (-12)           //(NM_FIRST-12)
#define NM_HOVER                                        (-13)           //(NM_FIRST-13)
#define NM_NCHITTEST                                    (-14)           //(NM_FIRST-14)
#define NM_KEYDOWN                                      (-15)           //(NM_FIRST-15)
#define NM_RELEASEDCAPTURE                              (-16)           //(NM_FIRST-16)
#define NM_SETCURSOR                                    (-17)           //(NM_FIRST-17)
#define NM_CHAR                                         (-18)           //(NM_FIRST-18)
#define NM_TOOLTIPSCREATED                              (-19)           //(NM_FIRST-19)
#define NM_LDOWN                                        (-20)           //(NM_FIRST-20)
#define NM_RDOWN                                        (-21)           //(NM_FIRST-21)
#define NM_THEMECHANGED                                 (-22)           //(NM_FIRST-22)
#define NM_FONTCHANGED                                  (-23)           //(NM_FIRST-23)
#define NM_CUSTOMTEXT                                   (-24)           //(NM_FIRST-24)
#define NM_TVSTATEIMAGECHANGING                         (-24)           //(NM_FIRST-24)


#define TCN_FIRST                                       (-550)          // tab control
#define TCN_LAST                                        (-580)

#define DTN_FIRST                                       (-753)          // datetimepick2
#define DTN_LAST                                        (-799)

#define IPN_FIRST                                       (-860)          // IP address control
#define IPN_LAST                                        (-879)          

#define TRBN_FIRST                                      (-1501)         // trackbar control
#define TRBN_LAST                                       (-1519)


                                                                /************************************************/
                                                                /* Common Dialog IDs                            */
                                                                /* -----------------                            */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* Buttons                              */
                                                                        /****************************************/

#define IDOK                                                     1
#define IDCANCEL                                                 2
#define IDABORT                                                  3
#define IDRETRY                                                  4
#define IDIGNORE                                                 5
#define IDYES                                                    6
#define IDNO                                                     7
#define IDCLOSE                                                  8
#define IDHELP                                                   9
#define IDTRYAGAIN                                              10
#define IDCONTINUE                                              11

                                                                        /****************************************/
                                                                        /* System Menu Command Values           */
                                                                        /****************************************/

#define SC_SIZE                                             0xF000
#define SC_MOVE                                             0xF010
#define SC_MINIMIZE                                         0xF020
#define SC_MAXIMIZE                                         0xF030
#define SC_NEXTWINDOW                                       0xF040
#define SC_PREVWINDOW                                       0xF050
#define SC_CLOSE                                            0xF060
#define SC_VSCROLL                                          0xF070
#define SC_HSCROLL                                          0xF080
#define SC_MOUSEMENU                                        0xF090
#define SC_KEYMENU                                          0xF100
#define SC_ARRANGE                                          0xF110
#define SC_RESTORE                                          0xF120
#define SC_TASKLIST                                         0xF130
#define SC_SCREENSAVE                                       0xF140
#define SC_HOTKEY                                           0xF150
#define SC_DEFAULT                                          0xF160
#define SC_MONITORPOWER                                     0xF170
#define SC_CONTEXTHELP                                      0xF180
#define SC_SEPARATOR                                        0xF00F


                                                                /************************************************/
                                                                /* Button Class                                 */
                                                                /* ------------                                 */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* Styles                               */
                                                                        /****************************************/

#define BS_PUSHBUTTON                                       0x0000
#define BS_DEFPUSHBUTTON                                    0x0001
#define BS_CHECKBOX                                         0x0002
#define BS_AUTOCHECKBOX                                     0x0003
#define BS_RADIOBUTTON                                      0x0004
#define BS_3STATE                                           0x0005
#define BS_AUTO3STATE                                       0x0006
#define BS_GROUPBOX                                         0x0007
#define BS_USERBUTTON                                       0x0008
#define BS_AUTORADIOBUTTON                                  0x0009
#define BS_PUSHBOX                                          0x000A
#define BS_OWNERDRAW                                        0x000B
#define BS_SPLITBUTTON                                      0x000C
#define BS_DEFSPLITBUTTON                                   0x000D
#define BS_COMMANDLINK                                      0x000E
#define BS_DEFCOMMANDLINK                                   0x000F
#define BS_TYPEMASK                                         0x000F
#define BS_LEFTTEXT                                         0x0020
#define BS_TEXT                                             0x0000
#define BS_ICON                                             0x0040
#define BS_BITMAP                                           0x0080
#define BS_LEFT                                             0x0100
#define BS_RIGHT                                            0x0200
#define BS_CENTER                                           0x0300
#define BS_TOP                                              0x0400
#define BS_BOTTOM                                           0x0800
#define BS_VCENTER                                          0x0C00
#define BS_PUSHLIKE                                         0x1000
#define BS_MULTILINE                                        0x2000
#define BS_NOTIFY                                           0x4000
#define BS_FLAT                                             0x8000
#define BS_RIGHTBUTTON                                  BS_LEFTTEXT

                                                                        /****************************************/
                                                                        /* Notifications                        */
                                                                        /****************************************/

#define BN_CLICKED                                               0
#define BN_PAINT                                                 1
#define BN_HILITE                                                2
#define BN_UNHILITE                                              3
#define BN_DISABLE                                               4
#define BN_DOUBLECLICKED                                         5
#define BN_PUSHED                                        BN_HILITE
#define BN_UNPUSHED                                    BN_UNHILITE
#define BN_DBLCLK                                 BN_DOUBLECLICKED
#define BN_SETFOCUS                                              6
#define BN_KILLFOCUS                                             7

                                                                        /****************************************/
                                                                        /* Button States                        */
                                                                        /****************************************/

#define BST_UNCHECKED                                       0x0000
#define BST_CHECKED                                         0x0001
#define BST_INDETERMINATE                                   0x0002
#define BST_PUSHED                                          0x0004
#define BST_FOCUS                                           0x0008



                                                                /************************************************/
                                                                /* Combo Box Control Notifications              */
                                                                /* -------------------------------              */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* Styles                               */
                                                                        /****************************************/

#define CBS_SIMPLE                                          0x0001
#define CBS_DROPDOWN                                        0x0002
#define CBS_DROPDOWNLIST                                    0x0003
#define CBS_OWNERDRAWFIXED                                  0x0010
#define CBS_OWNERDRAWVARIABLE                               0x0020
#define CBS_AUTOHSCROLL                                     0x0040
#define CBS_OEMCONVERT                                      0x0080
#define CBS_SORT                                            0x0100
#define CBS_HASSTRINGS                                      0x0200
#define CBS_NOINTEGRALHEIGHT                                0x0400
#define CBS_DISABLENOSCROLL                                 0x0800
#define CBS_UPPERCASE                                       0x2000
#define CBS_LOWERCASE                                       0x4000

                                                                        /****************************************/
                                                                        /* Notifications                        */
                                                                        /****************************************/
                                                                        /* Windows SDK Versions                 */
#define CBN_ERRSPACE                                           (-1)
#define CBN_SELCHANGE                                            1
#define CBN_DBLCLK                                               2
#define CBN_SETFOCUS                                             3
#define CBN_KILLFOCUS                                            4
#define CBN_EDITCHANGE                                           5
#define CBN_EDITUPDATE                                           6
#define CBN_DROPDOWN                                             7
#define CBN_CLOSEUP                                              8
#define CBN_SELENDOK                                             9
#define CBN_SELENDCANCEL                                        10
                                                                        /* Our Verbase Versions                 */
#define CBN_SELECT_CHANGE                                        1
#define CBN_DOUBLE_CLICK                                         2
#define CBN_SET_FOCUS                                            3
#define CBN_KILL_FOCUS                                           4
#define CBN_EDIT_CHANGE                                          5
#define CBN_EDIT_UPDATE                                          6
#define CBN_DROPDOWN                                             7
#define CBN_CLOSE_UP                                             8
#define CBN_SELECT_END_OK                                        9
#define CBN_SELECT_END_CANCEL                                   10


                                                                /************************************************/
                                                                /* Date Time Picker                             */
                                                                /* ----------------                             */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* Styles                               */
                                                                        /****************************************/

#define DTS_UPDOWN                                          0x0001
#define DTS_SHOWNONE                                        0x0002
#define DTS_SHORTDATEFORMAT                                 0x0000
#define DTS_LONGDATEFORMAT                                  0x0004
#define DTS_SHORTDATECENTURYFORMAT                          0x000C
#define DTS_TIMEFORMAT                                      0x0009
#define DTS_APPCANPARSE                                     0x0010
#define DTS_RIGHTALIGN                                      0x0020

                                                                        /****************************************/
                                                                        /* Notification (via notify)            */
                                                                        /****************************************/


                                                                        // These follow the Wide Unicode version (A)
#define DTN_DATETIMECHANGE                              (DTN_FIRST - 6)
#define DTN_USERSTRING                                  (DTN_FIRST - 5)
#define DTN_WMKEYDOWN                                   (DTN_FIRST - 4)
#define DTN_FORMATQUERY                                 (DTN_FIRST - 2)
#define DTN_DROPDOWN                                    (DTN_FIRST - 1)
#define DTN_CLOSEUP                                     (DTN_FIRST)


                                                                /************************************************/
                                                                /* Edit Control Codes                           */
                                                                /* ------------------                           */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* Styles                               */
                                                                        /****************************************/

#define ES_LEFT                                             0x0000
#define ES_CENTER                                           0x0001
#define ES_RIGHT                                            0x0002
#define ES_MULTILINE                                        0x0004
#define ES_UPPERCASE                                        0x0008
#define ES_LOWERCASE                                        0x0010
#define ES_PASSWORD                                         0x0020
#define ES_AUTOVSCROLL                                      0x0040
#define ES_AUTOHSCROLL                                      0x0080
#define ES_NOHIDESEL                                        0x0100
#define ES_OEMCONVERT                                       0x0400
#define ES_READONLY                                         0x0800
#define ES_WANTRETURN                                       0x1000
#define ES_NUMBER                                           0x2000

                                                                        /****************************************/
                                                                        /* Notifications                        */
                                                                        /****************************************/


#define EN_SETFOCUS                                         0x0100
#define EN_KILLFOCUS                                        0x0200
#define EN_CHANGE                                           0x0300
#define EN_UPDATE                                           0x0400
#define EN_ERRSPACE                                         0x0500
#define EN_MAXTEXT                                          0x0501
#define EN_HSCROLL                                          0x0601
#define EN_VSCROLL                                          0x0602
#define EN_ALIGN_LTR_EC                                     0x0700
#define EN_ALIGN_RTL_EC                                     0x0701

                                                                /************************************************/
                                                                /* IP Address Control                           */
                                                                /* ------------------                           */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* Notifications                        */
                                                                        /****************************************/


#define IPN_FIELDCHANGED                                (IPN_FIRST - 0)
#define IPN_SETFOCUS                                        0x0100      // EN_SETFOCUS   Win32SDK
#define IPN_KILLFOCUS                                       0x0200      // EN_KILLFOCUS  Win32SDK
#define IPN_CHANGE                                          0x0300      // EN_CHANGE     Win32SDK


                                                                /************************************************/
                                                                /* Listbox Codes                                */
                                                                /* -------------                                */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* Styles                               */
                                                                        /****************************************/

                                                                        /* Windows SDK Versions                 */
#define LBS_NOTIFY                                          0x0001
#define LBS_SORT                                            0x0002
#define LBS_NOREDRAW                                        0x0004
#define LBS_MULTIPLESEL                                     0x0008
#define LBS_OWNERDRAWFIXED                                  0x0010
#define LBS_OWNERDRAWVARIABLE                               0x0020
#define LBS_HASSTRINGS                                      0x0040
#define LBS_USETABSTOPS                                     0x0080
#define LBS_NOINTEGRALHEIGHT                                0x0100
#define LBS_MULTICOLUMN                                     0x0200
#define LBS_WANTKEYBOARDINPUT                               0x0400
#define LBS_EXTENDEDSEL                                     0x0800
#define LBS_DISABLENOSCROLL                                 0x1000
#define LBS_NODATA                                          0x2000
#define LBS_NOSEL                                           0x4000
#define LBS_COMBOBOX                                        0x8000
#define LBS_STANDARD                                    0x00A00003      /* LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER */

                                                                        /****************************************/
                                                                        /* Notifications                        */
                                                                        /****************************************/

                                                                        /* Windows SDK Versions                 */
#define LBN_ERRSPACE                                           (-2)
#define LBN_SELCHANGE                                            1
#define LBN_DBLCLK                                               2
#define LBN_SELCANCEL                                            3
#define LBN_SETFOCUS                                             4
#define LBN_KILLFOCUS                                            5
                                                                        /* Our Verbase Versions                 */
#define LBN_SELECT_CHANGE                                        1
#define LBN_DOUBLE_CLICK                                         2
#define LBN_SELECT_CANCEL                                        3
#define LBN_SET_FOCUS                                            4
#define LBN_KILL_FOCUS                                           5

                                                                        /****************************************/
                                                                        /* Messages                             */
                                                                        /****************************************/

                                                                        /* Windows SDK Versions                 */
#define LB_ADDSTRING                                        0x0180
#define LB_INSERTSTRING                                     0x0181
#define LB_DELETESTRING                                     0x0182
#define LB_SELITEMRANGEEX                                   0x0183
#define LB_RESETCONTENT                                     0x0184
#define LB_SETSEL                                           0x0185
#define LB_SETCURSEL                                        0x0186
#define LB_GETSEL                                           0x0187
#define LB_GETCURSEL                                        0x0188
#define LB_GETTEXT                                          0x0189
#define LB_GETTEXTLEN                                       0x018A
#define LB_GETCOUNT                                         0x018B
#define LB_SELECTSTRING                                     0x018C
#define LB_DIR                                              0x018D
#define LB_GETTOPINDEX                                      0x018E
#define LB_FINDSTRING                                       0x018F
#define LB_GETSELCOUNT                                      0x0190
#define LB_GETSELITEMS                                      0x0191
#define LB_SETTABSTOPS                                      0x0192
#define LB_GETHORIZONTALEXTENT                              0x0193
#define LB_SETHORIZONTALEXTENT                              0x0194
#define LB_SETCOLUMNWIDTH                                   0x0195
#define LB_ADDFILE                                          0x0196
#define LB_SETTOPINDEX                                      0x0197
#define LB_GETITEMRECT                                      0x0198
#define LB_GETITEMDATA                                      0x0199
#define LB_SETITEMDATA                                      0x019A
#define LB_SELITEMRANGE                                     0x019B
#define LB_SETANCHORINDEX                                   0x019C
#define LB_GETANCHORINDEX                                   0x019D
#define LB_SETCARETINDEX                                    0x019E
#define LB_GETCARETINDEX                                    0x019F
#define LB_SETITEMHEIGHT                                    0x01A0
#define LB_GETITEMHEIGHT                                    0x01A1
#define LB_FINDSTRINGEXACT                                  0x01A2
#define LB_SETLOCALE                                        0x01A5
#define LB_GETLOCALE                                        0x01A6
#define LB_SETCOUNT                                         0x01A7
#define LB_INITSTORAGE                                      0x01A8
#define LB_ITEMFROMPOINT                                    0x01A9
#define LB_MULTIPLEADDSTRING                                0x01B1
#define LB_GETLISTBOXINFO                                   0x01B2
#define LB_MSGMAX                                           0x01B3


                                                                /************************************************/
                                                                /* Rich Edit Control                            */
                                                                /* -----------------                            */
                                                                /************************************************/


                                                                        /****************************************/
                                                                        /* Rich Edit Notification/Commands      */
                                                                        /****************************************/
#define EN_MSGFILTER                                        0x0700
#define EN_REQUESTRESIZE                                    0x0701
#define EN_SELCHANGE                                        0x0702
#define EN_DROPFILES                                        0x0703
#define EN_PROTECTED                                        0x0704
#define EN_CORRECTTEXT                                      0x0705
#define EN_STOPNOUNDO                                       0x0706
#define EN_IMECHANGE                                        0x0707
#define EN_SAVECLIPBOARD                                    0x0708
#define EN_OLEOPFAILED                                      0x0709
#define EN_OBJECTPOSITIONS                                  0x070A
#define EN_LINK                                             0x070B
#define EN_DRAGDROPDONE                                     0x070C
#define EN_PARAGRAPHEXPANDED                                0x070D
#define EN_PAGECHANGE                                       0x070E
#define EN_LOWFIRTF                                         0x070F
#define EN_ALIGNLTR                                         0x0710
#define EN_ALIGNRTL                                         0x0711
#define EN_CLIPFORMAT                                       0x0712
#define EN_STARTCOMPOSITION                                 0x0713
#define EN_ENDCOMPOSITION                                   0x0714


                                                                /************************************************/
                                                                /* Scroll Bar Notification Codes (SBN_)         */
                                                                /* -----------------------------                */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* Scroll Bar Notification Commands     */
                                                                        /****************************************/
                                                                        /* (as associated with WM_xSCROLL)      */
                                                                        /* Windows SDK Versions                 */
#define SB_LINEUP                                                0
#define SB_LINELEFT                                              0
#define SB_LINEDOWN                                              1
#define SB_LINERIGHT                                             1
#define SB_PAGEUP                                                2
#define SB_PAGELEFT                                              2
#define SB_PAGEDOWN                                              3
#define SB_PAGERIGHT                                             3
#define SB_THUMBPOSITION                                         4
#define SB_THUMBTRACK                                            5
#define SB_TOP                                                   6
#define SB_LEFT                                                  6
#define SB_BOTTOM                                                7
#define SB_RIGHT                                                 7
#define SB_ENDSCROLL                                             8


                                                                /************************************************/
                                                                /* Static Control Notification Codes (STN_)     */
                                                                /* ---------------------------------            */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* Styles                               */
                                                                        /****************************************/
                                                                        /* Windows SDK Versions                 */
#define SS_LEFT                                             0x0000
#define SS_CENTER                                           0x0001
#define SS_RIGHT                                            0x0002
#define SS_ICON                                             0x0003
#define SS_BLACKRECT                                        0x0004
#define SS_GRAYRECT                                         0x0005
#define SS_WHITERECT                                        0x0006
#define SS_BLACKFRAME                                       0x0007
#define SS_GRAYFRAME                                        0x0008
#define SS_WHITEFRAME                                       0x0009
#define SS_USERITEM                                         0x000A
#define SS_SIMPLE                                           0x000B
#define SS_LEFTNOWORDWRAP                                   0x000C
#define SS_OWNERDRAW                                        0x000D
#define SS_BITMAP                                           0x000E
#define SS_ENHMETAFILE                                      0x000F
#define SS_ETCHEDHORZ                                       0x0010
#define SS_ETCHEDVERT                                       0x0011
#define SS_ETCHEDFRAME                                      0x0012
#define SS_TYPEMASK                                         0x001F
#define SS_REALSIZECONTROL                                  0x0040
#define SS_NOPREFIX                                         0x0080
#define SS_NOTIFY                                           0x0100
#define SS_CENTERIMAGE                                      0x0200
#define SS_RIGHTJUST                                        0x0400
#define SS_REALSIZEIMAGE                                    0x0800
#define SS_SUNKEN                                           0x1000
#define SS_EDITCONTROL                                      0x2000
#define SS_ENDELLIPSIS                                      0x4000
#define SS_PATHELLIPSIS                                     0x8000
#define SS_WORDELLIPSIS                                     0xC000
#define SS_ELLIPSISMASK                                     0xC000

                                                                        /****************************************/
                                                                        /* Notifications                        */
                                                                        /****************************************/
                                                                        /* Windows SDK Versions                 */
#define STN_CLICKED                                              0
#define STN_DBLCLK                                               1
#define STN_ENABLE                                               2
#define STN_DISABLE                                              3



                                                                /************************************************/
                                                                /* Tab Control                                  */
                                                                /* -----------                                  */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* Notifications                        */
                                                                        /****************************************/

#define TCN_KEYDOWN                                     (TCN_FIRST - 0)
#define TCN_SELCHANGE                                   (TCN_FIRST - 1)
#define TCN_SELCHANGING                                 (TCN_FIRST - 2)
#define TCN_GETOBJECT                                   (TCN_FIRST - 3)
#define TCN_FOCUSCHANGE                                 (TCN_FIRST - 4)

                                                        
                                                                /************************************************/
                                                                /* Trackbar Control                             */
                                                                /* ----------------                             */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* Styles                               */
                                                                        /****************************************/

                                                                        /* Windows SDK Versions                 */
#define TBS_AUTOTICKS                                   0x00000001
#define TBS_VERT                                        0x00000002
#define TBS_HORZ                                        0x00000000
#define TBS_TOP                                         0x00000004
#define TBS_BOTTOM                                      0x00000000
#define TBS_LEFT                                        0x00000004
#define TBS_RIGHT                                       0x00000000
#define TBS_BOTH                                        0x00000008
#define TBS_NOTICKS                                     0x00000010
#define TBS_ENABLESELRANGE                              0x00000020
#define TBS_FIXEDLENGTH                                 0x00000040
#define TBS_NOTHUMB                                     0x00000080
#define TBS_TOOLTIPS                                    0x00000100
#define TBS_REVERSED                                    0x00000200
#define TBS_DOWNISLEFT                                  0x00000400
#define TBS_NOTIFYBEFOREMOVE                            0x00000800
#define TBS_TRANSPARENTBKGND                            0x00001000

                                                                        /****************************************/
                                                                        /* Notifications                        */
                                                                        /****************************************/

                                                                        /* Windows SDK Versions                 */
#define TRBN_THUMBPOSCHANGING                           (TRBN_FIRST-1)

                                                                        /* Layered Items, Scollbar (SB_)        */
#define TRBN_LINEUP                                              0
#define TRBN_LINELEFT                                            0
#define TRBN_LINEDOWN                                            1
#define TRBN_LINERIGHT                                           1
#define TRBN_PAGEUP                                              2
#define TRBN_PAGELEFT                                            2
#define TRBN_PAGEDOWN                                            3
#define TRBN_PAGERIGHT                                           3
#define TRBN_THUMBPOSITION                                       4
#define TRBN_THUMBTRACK                                          5
#define TRBN_TOP                                                 6
#define TRBN_LEFT                                                6
#define TRBN_BOTTOM                                              7
#define TRBN_RIGHT                                               7
#define TRBN_ENDSCROLL                                           8

                                                                        /****************************************/
                                                                        /* Functions                            */
                                                                        /****************************************/
                                                                        /* * TrackbarGetBuddy TrackbarSetBuddy  */
#define TB_SB_RIGHT                                              0
#define TB_SB_LEFT                                               1
#define TB_SB_TOP                                                1
#define TB_SB_BOTTOM                                             0

                                                                /************************************************/
                                                                /* Up/Down Buddy Control                        */
                                                                /* ---------------------                        */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* Styles                               */
                                                                        /****************************************/

                                                                        /* Windows SDK Versions                 */
#define UDS_WRAP                                            0x0001
#define UDS_SETBUDDYINT                                     0x0002
#define UDS_ALIGNRIGHT                                      0x0004
#define UDS_ALIGNLEFT                                       0x0008
#define UDS_AUTOBUDDY                                       0x0010
#define UDS_ARROWKEYS                                       0x0020
#define UDS_HORZ                                            0x0040
#define UDS_NOTHOUSANDS                                     0x0080
#define UDS_HOTTRACK                                        0x0100

                                                                        /****************************************/
                                                                        /* Notifications                        */
                                                                        /****************************************/

#define UDN_FIRST                                       (721)
#define UDN_LAST                                        (729)

#define UDN_DELTAPOS                                    (UDN_FIRST - 1)

                                                                        /****************************************/
                                                                        /* Messages                             */
                                                                        /****************************************/

#define UDM_SETRANGE                                    (WM_USER+101)
#define UDM_GETRANGE                                    (WM_USER+102)
#define UDM_SETPOS                                      (WM_USER+103)
#define UDM_GETPOS                                      (WM_USER+104)
#define UDM_SETBUDDY                                    (WM_USER+105)
#define UDM_GETBUDDY                                    (WM_USER+106)
#define UDM_SETACCEL                                    (WM_USER+107)
#define UDM_GETACCEL                                    (WM_USER+108)
#define UDM_SETBASE                                     (WM_USER+109)
#define UDM_GETBASE                                     (WM_USER+110)
#define UDM_SETRANGE32                                  (WM_USER+111)
#define UDM_GETRANGE32                                  (WM_USER+112)
//#define UDM_SETUNICODEFORMAT                          CCM_SETUNICODEFORMAT
//#define UDM_GETUNICODEFORMAT                          CCM_GETUNICODEFORMAT
#define UDM_SETPOS32                                    (WM_USER+113)
#define UDM_GETPOS32                                    (WM_USER+114)


                                                        /********************************************************/
                                                        /* Window Positioning                                   */
                                                        /* ------------------                                   */
                                                        /********************************************************/

                                                                /************************************************/
                                                                /* ShowWindow() Commands                        */
                                                                /************************************************/

#define SW_HIDE                                                  0
#define SW_SHOWNORMAL                                            1
#define SW_NORMAL                                                1
#define SW_SHOWMINIMIZED                                         2
#define SW_SHOWMAXIMIZED                                         3
#define SW_MAXIMIZE                                              3
#define SW_SHOWNOACTIVATE                                        4
#define SW_SHOW                                                  5
#define SW_MINIMIZE                                              6
#define SW_SHOWMINNOACTIVE                                       7
#define SW_SHOWNA                                                8
#define SW_RESTORE                                               9
#define SW_SHOWDEFAULT                                          10
#define SW_FORCEMINIMIZE                                        11
#define SW_MAX                                                  11


                                                        /********************************************************/

                                                                /************************************************/
                                                                /* Files                                        */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** File Attributes                   */
#define FILE_ATTRIBUTE_READONLY                         0x00000001  
#define FILE_ATTRIBUTE_HIDDEN                           0x00000002  
#define FILE_ATTRIBUTE_SYSTEM                           0x00000004  
#define FILE_ATTRIBUTE_DIRECTORY                        0x00000010  
#define FILE_ATTRIBUTE_ARCHIVE                          0x00000020  
#define FILE_ATTRIBUTE_DEVICE                           0x00000040  
#define FILE_ATTRIBUTE_NORMAL                           0x00000080  
#define FILE_ATTRIBUTE_TEMPORARY                        0x00000100  
#define FILE_ATTRIBUTE_SPARSE_FILE                      0x00000200  
#define FILE_ATTRIBUTE_REPARSE_POINT                    0x00000400  
#define FILE_ATTRIBUTE_COMPRESSED                       0x00000800  
#define FILE_ATTRIBUTE_OFFLINE                          0x00001000  
#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED              0x00002000  
#define FILE_ATTRIBUTE_ENCRYPTED                        0x00004000  
#define FILE_ATTRIBUTE_VIRTUAL                          0x00010000  

                                                                        /* ** Combo/List Box                    */

#define DDL_READWRITE                                   0x00000000
#define DDL_READONLY                                    0x00000001
#define DDL_HIDDEN                                      0x00000002
#define DDL_SYSTEM                                      0x00000004
#define DDL_DIRECTORY                                   0x00000010
#define DDL_ARCHIVE                                     0x00000020
#define DDL_DRIVES                                      0x00004000
#define DDL_EXCLUSIVE                                   0x00008000


                                                        /********************************************************/

                                                                /************************************************/
                                                                /* Processes/Thread                             */
                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* ** GetProcessExitCode                */
#define STILL_ACTIVE                                    259
                                                                        /* ** WaitForObject                     */
#define WAIT_ABANDONED                                  0x00000080
#define WAIT_OBJECT_0                                   0x00000000
#define WAIT_TIMEOUT                                    0x00000102
#define WAIT_FAILED                                     0xFFFFFFFF

                                                        /********************************************************/

                                                                /************************************************/

                                                                        /****************************************/
                                                                        /* GetSystemMetrics() codes             */
#define SM_CXSCREEN                                     0
#define SM_CYSCREEN                                     1
#define SM_CXVSCROLL                                    2
#define SM_CYHSCROLL                                    3
#define SM_CYCAPTION                                    4
#define SM_CXBORDER                                     5
#define SM_CYBORDER                                     6
#define SM_CXDLGFRAME                                   7
#define SM_CYDLGFRAME                                   8
#define SM_CYVTHUMB                                     9
#define SM_CXHTHUMB                                     10
#define SM_CXICON                                       11
#define SM_CYICON                                       12
#define SM_CXCURSOR                                     13
#define SM_CYCURSOR                                     14
#define SM_CYMENU                                       15
#define SM_CXFULLSCREEN                                 16
#define SM_CYFULLSCREEN                                 17
#define SM_CYKANJIWINDOW                                18
#define SM_MOUSEPRESENT                                 19
#define SM_CYVSCROLL                                    20
#define SM_CXHSCROLL                                    21
#define SM_DEBUG                                        22
#define SM_SWAPBUTTON                                   23
#define SM_RESERVED1                                    24
#define SM_RESERVED2                                    25
#define SM_RESERVED3                                    26
#define SM_RESERVED4                                    27
#define SM_CXMIN                                        28
#define SM_CYMIN                                        29
#define SM_CXSIZE                                       30
#define SM_CYSIZE                                       31
#define SM_CXFRAME                                      32
#define SM_CYFRAME                                      33
#define SM_CXMINTRACK                                   34
#define SM_CYMINTRACK                                   35
#define SM_CXDOUBLECLK                                  36
#define SM_CYDOUBLECLK                                  37
#define SM_CXICONSPACING                                38
#define SM_CYICONSPACING                                39
#define SM_MENUDROPALIGNMENT                            40
#define SM_PENWINDOWS                                   41
#define SM_DBCSENABLED                                  42
#define SM_CMOUSEBUTTONS                                43
#define SM_CXFIXEDFRAME                                 SM_CXDLGFRAME
#define SM_CYFIXEDFRAME                                 SM_CYDLGFRAME
#define SM_CXSIZEFRAME                                  SM_CXFRAME
#define SM_CYSIZEFRAME                                  SM_CYFRAME
#define SM_SECURE                                       44
#define SM_CXEDGE                                       45
#define SM_CYEDGE                                       46
#define SM_CXMINSPACING                                 47
#define SM_CYMINSPACING                                 48
#define SM_CXSMICON                                     49
#define SM_CYSMICON                                     50
#define SM_CYSMCAPTION                                  51
#define SM_CXSMSIZE                                     52
#define SM_CYSMSIZE                                     53
#define SM_CXMENUSIZE                                   54
#define SM_CYMENUSIZE                                   55
#define SM_ARRANGE                                      56
#define SM_CXMINIMIZED                                  57
#define SM_CYMINIMIZED                                  58
#define SM_CXMAXTRACK                                   59
#define SM_CYMAXTRACK                                   60
#define SM_CXMAXIMIZED                                  61
#define SM_CYMAXIMIZED                                  62
#define SM_NETWORK                                      63
#define SM_CLEANBOOT                                    67
#define SM_CXDRAG                                       68
#define SM_CYDRAG                                       69
#define SM_SHOWSOUNDS                                   70
#define SM_CXMENUCHECK                                  71
#define SM_CYMENUCHECK                                  72
#define SM_SLOWMACHINE                                  73
#define SM_MIDEASTENABLED                               74
#define SM_MOUSEWHEELPRESENT                            75
#define SM_XVIRTUALSCREEN                               76
#define SM_YVIRTUALSCREEN                               77
#define SM_CXVIRTUALSCREEN                              78
#define SM_CYVIRTUALSCREEN                              79
#define SM_CMONITORS                                    80
#define SM_SAMEDISPLAYFORMAT                            81
#define SM_IMMENABLED                                   82
#define SM_CXFOCUSBORDER                                83
#define SM_CYFOCUSBORDER                                84
#define SM_TABLETPC                                     86
#define SM_MEDIACENTER                                  87
#define SM_STARTER                                      88
#define SM_SERVERR2                                     89
#define SM_MOUSEHORIZONTALWHEELPRESENT                  91
#define SM_CXPADDEDBORDER                               92
#define SM_DIGITIZER                                    94
#define SM_MAXIMUMTOUCHES                               95
#define SM_REMOTESESSION                                0x1000
#define SM_SHUTTINGDOWN                                 0x2000
#define SM_REMOTECONTROL                                0x2001
#define SM_CARETBLINKINGENABLED                         0x2002

                                                        /********************************************************/
                                                        /* OLE Processesing                                     */
                                                        /* ----------------                                     */
                                                        /********************************************************/

                                                                /************************************************/
                                                                /* Special Parameters                           */
                                                                /************************************************/

#define OLE_PARAM_EMPTY                                 "{oleempty}"