ConstJScript.js

/* eslint no-unused-vars:off */

if (!Wsh) {
  /**
   * The wrapper object for @tuckn/WshX series.
   *
   * @global
   * @namespace
   * @type {object}
   */
  var Wsh = {};
}

(function () {
  if (Wsh && Wsh.Constants) return;

  /**
   * The constant values for @tuckn/WshXxxx modules.
   *
   * @memberof Wsh
   * @namespace Constants
   */
  Wsh.Constants = {};

  var CD = Wsh.Constants;

  CD.nonAutoClosing = 0;
  CD.defDisplayingSec = 10;

  /**
   * Whether to wait the application terminated. Used to {@link https://docs.microsoft.com/ja-jp/previous-versions/windows/scripting/cc364421%28v%3dmsdn.10%29|Wsh.Shell.Run}.
   *
   * @namespace waits
   * @memberof Wsh.Constants
   */
  /** @lends Wsh.Constants.waits */
  CD.waits = {
    /** @constant {boolean} */
    yes: true,
    /** @constant {boolean} */
    no: false,
    /** @constant {boolean} */
    def: true // @NOTE Defining `default:` occures JScript Error
  };

  /**
   * The application exit code. Used to {@link https://docs.microsoft.com/ja-jp/previous-versions/windows/scripting/cc364421%28v%3dmsdn.10%29|Wsh.Shell.Run and so on}. Note that the applications do not always follow this rule. I have seen that a few applications always return 1.
   *
   * @namespace runs
   * @memberof Wsh.Constants
   */
  /** @lends Wsh.Constants.runs */
  CD.runs = {
    /** @constant {number} */
    ok: 0,
    /** @constant {number} */
    err: 1
  };

  /**
   * A recommendation as to how the application window should be displayed initially. Used to {@link https://docs.microsoft.com/en-us/windows/win32/shell/shell-shellexecute|Shell.ShellExecute and Wsh.Shell.Run}. Note that the application can ignore this recommendation.
   *
   * @namespace windowStyles
   * @memberof Wsh.Constants
   */
  /** @lends Wsh.Constants.windowStyles */
  CD.windowStyles = {
    /**
     * Hides the window and activates another window.
     *
     * @constant {number}
     */
    hidden: 0,

    /**
     * Activates and displays a window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when displaying the window for the first time.
     *
     * @constant {number}
     */
    activeDef: 1,

    /**
     * Activates the window and displays it as a minimized window.
     *
     * @constant {number}
     */
    activeMin: 2,

    /**
     * Activates the window and displays it as a maximized window.
     *
     * @constant {number}
     */
    activeMax: 3,

    /**
     * Displays a window in its most recent size and position. The active window remains active.
     *
     * @constant {number}
     */
    nonActive: 4,

    /**
     * Activates the window and displays it in its current size and position.
     *
     * @constant {number}
     */
    active: 5,

    /**
     * Minimizes the specified window and activates the next top-level window in the Z order.
     *
     * @constant {number}
     */
    nonActiveMinNextActive: 6,

    /**
     * Displays the window as a minimized window. The active window remains active.
     *
     * @constant {number}
     */
    nonActiveMin: 7,

    /**
     * Displays the window in its current state. The active window remains active.
     *
     * @constant {number}
     */
    current: 8,

    /**
     * Activates and displays the window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when restoring a minimized window.
     *
     * @constant {number}
     */
    restore: 9,

    /**
     * Sets the show-state based on the state of the program that started the application.
     *
     * @constant {number}
     */
    stateOfProgram: 10
  };

  /**
   * Events of Windows Event Log. Used to {@link Wsh.OS.writeLogEvent}({@link Wsh.Shell.logLevels}).
   *
   * @namespace logLevels
   * @memberof Wsh.Constants
   */
  /** @lends Wsh.Constants.logLevels */
  CD.logLevels = {
    /** @constant {number} */
    success: 0,
    /** @constant {number} */
    error: 1,
    /** @constant {number} */
    warning: 2,
    /** @constant {number} */
    information: 4,
    /** @constant {number} */
    auditSuccess: 8,
    /** @constant {number} */
    auditFailure: 16
  };

  /**
   * Button types. Used to {@link console.popup}({@link WScript.Shell Popup}). {@link https://msdn.microsoft.com/ja-jp/library/cc364421.aspx|Microsoft}
   *
   * @namespace buttonTypes
   * @memberof Wsh.Constants
   */
  /** @lends Wsh.Constants.buttonTypes */
  CD.buttonTypes = {
    /** @constant {number} */
    ok: 0,
    /** @constant {number} */
    okCancel: 1,
    /** @constant {number} */
    stopRetryDisregard: 2,
    /** @constant {number} */
    yesNoCancel: 3,
    /** @constant {number} */
    yesNo: 4,
    /** @constant {number} */
    retryCancel: 5
  };

  /**
   * Icon types. Used to {@link console.popup}({@link WScript.Shell Popup}). {@link https://msdn.microsoft.com/ja-jp/library/cc364421.aspx|Microsoft}
   *
   * @namespace iconTypes
   * @memberof Wsh.Constants
   */
  /** @lends Wsh.Constants.iconTypes */
  CD.iconTypes = {
    /** @constant {number} */
    stop: 16,
    /** @constant {number} */
    question: 32,
    /** @constant {number} */
    excl: 48,
    /** @constant {number} */
    infomaiton: 64
  };

  /**
   * Enter codes. Used to {@link console.popup}({@link WScript.Shell Popup}). {@link https://msdn.microsoft.com/ja-jp/library/cc364421.aspx|Microsoft}
   *
   * @namespace enterCodes
   * @memberof Wsh.Constants
   */
  /** @lends Wsh.Constants.enterCodes */
  CD.enterCodes = {
    /** @constant {number} */
    ok: 1,
    /** @constant {number} */
    cancel: 2,
    /** @constant {number} */
    stop: 3,
    /** @constant {number} */
    retry: 4,
    /** @constant {number} */
    disregard: 5,
    /** @constant {number} */
    yes: 6,
    /** @constant {number} */
    no: 7,

    /**
     * If a user does not click a button before nSecondsToWait
     *
     * @constant {number}
     */
    not: -1
  };

  /**
   * Constants for {@link https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/filesystemobject-object|FileSystemObject object (FSO)}.
   *
   * @namespace fso
   * @memberof Wsh.Constants
   */
  /** @lends Wsh.Constants.fso */
  CD.fso = {
    /**
     * Indicates whether a new file can be created if the specified filename doesn't exist. Used to {@link https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/opentextfile-method|OpenTextFile method}.
     *
     * @namespace creates
     * @memberof Wsh.Constants.fso
     */
    /** @lends Wsh.Constants.fso.creates */
    creates: {
      /** @constant {boolean} */
      yes: true,
      /** @constant {boolean} */
      no: false,
      /** @constant {boolean} */
      def: true
    },

    /**
     * Indicates input/output mode. Used to {@link https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/opentextfile-method|OpenTextFile method}.
     *
     * @namespace ioModes
     * @memberof Wsh.Constants.fso
     */
    /** @lends Wsh.Constants.fso.ioModes */
    ioModes: {
      /** @constant {number} */
      forReading: 1,
      /** @constant {number} */
      forWriting: 2,
      /** @constant {number} */
      forAppending: 8
    },

    /**
     * indicates the format of the opened file. Used to {@link https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/opentextfile-method|OpenTextFile method}.
     *
     * @namespace formats
     * @memberof Wsh.Constants.fso
     */
    /** @lends Wsh.Constants.fso.formats */
    formats: {
      /** @constant {number} */
      def: -2,
      /** @constant {number} */
      unicode: -1,
      /** @constant {number} */
      ascii: 0
    },

    /**
     * Indicates if existing files are to be overwritten. Used to {@link https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/copyfile-method|CoyFile method} and so on.
     *
     * @namespace overwrites
     * @memberof Wsh.Constants.fso
     */
    /** @lends Wsh.Constants.fso.overwrites */
    overwrites: {
      /** @constant {boolean} */
      yes: true,
      /** @constant {boolean} */
      no: false,
      /** @constant {boolean} */
      def: true
    },

    /**
     * Indicates that files with read-only attribute set are to be deleted. Used to {@link https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/deletefile-method|DeleteFile method} and so on.
     *
     * @namespace force
     * @memberof Wsh.Constants.fso
     */
    /** @lends Wsh.Constants.fso.force */
    force: {
      /** @constant {boolean} */
      yes: true,
      /** @constant {boolean} */
      no: false,
      /** @constant {boolean} */
      def: false
    }
  };

  /**
   * Constants for {@link https://docs.microsoft.com/en-us/sql/ado/microsoft-activex-data-objects-ado?view=sql-server-ver15|Microsoft ActiveX Data Objects (ADO)}.
   *
   * @namespace ado
   * @memberof Wsh.Constants
   */
  /** @lends Wsh.Constants.ado */
  CD.ado = {
    /**
     * The types of data stored in a Stream object. {@link https://docs.microsoft.com/en-us/office/client-developer/access/desktop-database-reference/streamtypeenum|StreamTypeEnum}.
     *
     * @namespace types
     * @memberof Wsh.Constants.ado
     */
    /** @lends Wsh.Constants.ado.types */
    types: {
      /** @constant {number} */
      binary: 1,
      /** @constant {number} */
      text: 2
    },

    /**
     * Whether the shole stream or the next line shoud be read from a Stream object. {@link https://docs.microsoft.com/en-us/office/client-developer/access/desktop-database-reference/streamreadenum|StreamReadEnum}.
     *
     * @namespace reads
     * @memberof Wsh.Constants.ado
     */
    /** @lends Wsh.Constants.ado.reads */
    reads: {
      /** @constant {number} */
      all: -1,
      /** @constant {number} */
      line: -2
    },

    /**
     * Whether a line separator is appended to the string written to a Stream object.. {@link https://docs.microsoft.com/en-us/office/client-developer/access/desktop-database-reference/streamwriteenum|StreamWriteEnum}.
     *
     * @namespace writes
     * @memberof Wsh.Constants.ado
     */
    /** @lends Wsh.Constants.ado.writes */
    writes: {
      /** @constant {number} */
      char: 0,
      /** @constant {number} */
      line: 1
    },

    /**
     * Whether a file should be created or overwritten when saving from a Stream object. {@link https://docs.microsoft.com/en-us/office/client-developer/access/desktop-database-reference/saveoptionsenum|SaveOptionsEnum}.
     *
     * @namespace saveCreates
     * @memberof Wsh.Constants.ado
     */
    /** @lends Wsh.Constants.ado.saveCreates */
    saveCreates: {
      /** @constant {number} */
      notExist: 1,
      /** @constant {number} */
      overWrite: 2
    },

    /**
     * {@link https://docs.microsoft.com/en-us/office/client-developer/access/desktop-database-reference/charset-property-ado|Charset}. All Charset -> HKEY_CLASSES_ROOT\Mime\Database\Charset\
     *
     * @namespace charset
     * @memberof Wsh.Constants.ado
     */
    /** @lends Wsh.Constants.ado.charset */
    charset: {
      /** @constant {string} */
      latin1: 'iso-8859-1', // 1 Byte character
      /** @constant {string} */
      utf8: 'utf-8',
      /** @constant {string} */
      utf16: 'Unicode',
      /** @constant {string} */
      sjis: 'shift_jis'
    }
  };

  /**
   * The standardStreamTypes. Used to {@link https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/windows-scripting/y6hbz9es(v=vs.84)?redirectedfrom=MSDN|GetStandardStream method}.
   *
   * @namespace stdTypes
   * @memberof Wsh.Constants
   */
  /** @lends Wsh.Constants.stdTypes */
  CD.stdTypes = {
    /** @constant {number} */
    input: 0, // @NOTE Defining `in:` occures JScript Error
    /** @constant {number} */
    out: 1,
    /** @constant {number} */
    err: 2
  };

  /**
   * The folder specs. Used to {@link https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/getspecialfolder-method|GetSpecialFolder method}.
   *
   * @namespace folderSpecs
   * @memberof Wsh.Constants
   */
  /** @lends Wsh.Constants.folderSpecs */
  CD.folderSpecs = {
    /** @constant {number} */
    windows: 0,
    /** @constant {number} */
    system: 1,
    /** @constant {number} */
    temporary: 2
  };

  /**
   * Drive types {@link https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/drivetype-property|Microsoft}. Used to {@link https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/drivetype-property|Drives property}.
   *
   * @namespace driveTypes
   * @memberof Wsh.Constants
   */
  /** @lends Wsh.Constants.driveTypes */
  CD.driveTypes = {
    /** @constant {number} */
    unknown: 0,
    /** @constant {number} */
    removable: 1,
    /** @constant {number} */
    fixed: 2,
    /** @constant {number} */
    network: 3,
    /** @constant {number} */
    cdrom: 4,
    /** @constant {number} */
    ramDisk: 5
  };

  /**
   * Code Page Identifiers. {@link https://docs.microsoft.com/en-us/windows/win32/intl/code-page-identifiers|Microsoft Docs}
   *
   * @namespace codePageIdentifiers
   * @memberof Wsh.Constants
   */
  /** @lends Wsh.Constants.codePageIdentifiers */
  CD.codePageIdentifiers = {
    '037': 'IBM037', // IBM EBCDIC US-Canada
    '437': 'IBM437', // OEM United States
    '500': 'IBM500', // IBM EBCDIC International
    '708': 'ASMO-708', // Arabic (ASMO 708)
    '720': 'DOS-720', // Arabic (Transparent ASMO); Arabic (DOS)
    '737': 'ibm737', // OEM Greek (formerly 437G); Greek (DOS)
    '775': 'ibm775', // OEM Baltic; Baltic (DOS)
    '850': 'ibm850', // OEM Multilingual Latin 1; Western European (DOS)
    '852': 'ibm852', // OEM Latin 2; Central European (DOS)
    '855': 'IBM855', // OEM Cyrillic (primarily Russian)
    '857': 'ibm857', // OEM Turkish; Turkish (DOS)
    '858': 'IBM00858', // OEM Multilingual Latin 1 + Euro symbol
    '860': 'IBM860', // OEM Portuguese; Portuguese (DOS)
    '861': 'ibm861', // OEM Icelandic; Icelandic (DOS)
    '862': 'DOS-862', // OEM Hebrew; Hebrew (DOS)
    '863': 'IBM863', // OEM French Canadian; French Canadian (DOS)
    '864': 'IBM864', // OEM Arabic; Arabic (864)
    '865': 'IBM865', // OEM Nordic; Nordic (DOS)
    '866': 'cp866', // OEM Russian; Cyrillic (DOS)
    '869': 'ibm869', // OEM Modern Greek; Greek, Modern (DOS)
    '870': 'IBM870', // IBM EBCDIC Multilingual/ROECE (Latin 2); IBM EBCDIC Multilingual Latin 2
    '874': 'windows-874', // ANSI/OEM Thai (ISO 8859-11); Thai (Windows)
    '875': 'cp875', // IBM EBCDIC Greek Modern
    '932': 'shift_jis', // ANSI/OEM Japanese; Japanese (Shift-JIS)
    '936': 'gb2312', // ANSI/OEM Simplified Chinese (PRC, Singapore); Chinese Simplified (GB2312)
    '949': 'ks_c_5601-1987', // ANSI/OEM Korean (Unified Hangul Code)
    '950': 'big5', // ANSI/OEM Traditional Chinese (Taiwan; Hong Kong SAR, PRC); Chinese Traditional (Big5)
    '1026': 'IBM1026', // IBM EBCDIC Turkish (Latin 5)
    '1047': 'IBM01047', // IBM EBCDIC Latin 1/Open System
    '1140': 'IBM01140', // IBM EBCDIC US-Canada (037 + Euro symbol); IBM EBCDIC (US-Canada-Euro)
    '1141': 'IBM01141', // IBM EBCDIC Germany (20273 + Euro symbol); IBM EBCDIC (Germany-Euro)
    '1142': 'IBM01142', // IBM EBCDIC Denmark-Norway (20277 + Euro symbol); IBM EBCDIC (Denmark-Norway-Euro)
    '1143': 'IBM01143', // IBM EBCDIC Finland-Sweden (20278 + Euro symbol); IBM EBCDIC (Finland-Sweden-Euro)
    '1144': 'IBM01144', // IBM EBCDIC Italy (20280 + Euro symbol); IBM EBCDIC (Italy-Euro)
    '1145': 'IBM01145', // IBM EBCDIC Latin America-Spain (20284 + Euro symbol); IBM EBCDIC (Spain-Euro)
    '1146': 'IBM01146', // IBM EBCDIC United Kingdom (20285 + Euro symbol); IBM EBCDIC (UK-Euro)
    '1147': 'IBM01147', // IBM EBCDIC France (20297 + Euro symbol); IBM EBCDIC (France-Euro)
    '1148': 'IBM01148', // IBM EBCDIC International (500 + Euro symbol); IBM EBCDIC (International-Euro)
    '1149': 'IBM01149', // IBM EBCDIC Icelandic (20871 + Euro symbol); IBM EBCDIC (Icelandic-Euro)
    '1200': 'utf-16', // Unicode UTF-16, little endian byte order (BMP of ISO 10646); available only to managed applications
    '1201': 'unicodeFFFE', // Unicode UTF-16, big endian byte order; available only to managed applications
    '1250': 'windows-1250', // ANSI Central European; Central European (Windows)
    '1251': 'windows-1251', // ANSI Cyrillic; Cyrillic (Windows)
    '1252': 'windows-1252', // ANSI Latin 1; Western European (Windows)
    '1253': 'windows-1253', // ANSI Greek; Greek (Windows)
    '1254': 'windows-1254', // ANSI Turkish; Turkish (Windows)
    '1255': 'windows-1255', // ANSI Hebrew; Hebrew (Windows)
    '1256': 'windows-1256', // ANSI Arabic; Arabic (Windows)
    '1257': 'windows-1257', // ANSI Baltic; Baltic (Windows)
    '1258': 'windows-1258', // ANSI/OEM Vietnamese; Vietnamese (Windows)
    '1361': 'Johab', // Korean (Johab)
    '10000': 'macintosh', // MAC Roman; Western European (Mac)
    '10001': 'x-mac-japanese', // Japanese (Mac)
    '10002': 'x-mac-chinesetrad', // MAC Traditional Chinese (Big5); Chinese Traditional (Mac)
    '10003': 'x-mac-korean', // Korean (Mac)
    '10004': 'x-mac-arabic', // Arabic (Mac)
    '10005': 'x-mac-hebrew', // Hebrew (Mac)
    '10006': 'x-mac-greek', // Greek (Mac)
    '10007': 'x-mac-cyrillic', // Cyrillic (Mac)
    '10008': 'x-mac-chinesesimp', // MAC Simplified Chinese (GB 2312); Chinese Simplified (Mac)
    '10010': 'x-mac-romanian', // Romanian (Mac)
    '10017': 'x-mac-ukrainian', // Ukrainian (Mac)
    '10021': 'x-mac-thai', // Thai (Mac)
    '10029': 'x-mac-ce', // MAC Latin 2; Central European (Mac)
    '10079': 'x-mac-icelandic', // Icelandic (Mac)
    '10081': 'x-mac-turkish', // Turkish (Mac)
    '10082': 'x-mac-croatian', // Croatian (Mac)
    '12000': 'utf-32', // Unicode UTF-32, little endian byte order; available only to managed applications
    '12001': 'utf-32BE', // Unicode UTF-32, big endian byte order; available only to managed applications
    '20000': 'x-Chinese_CNS', // CNS Taiwan; Chinese Traditional (CNS)
    '20001': 'x-cp20001', // TCA Taiwan
    '20002': 'x_Chinese-Eten', // Eten Taiwan; Chinese Traditional (Eten)
    '20003': 'x-cp20003', // IBM5550 Taiwan
    '20004': 'x-cp20004', // TeleText Taiwan
    '20005': 'x-cp20005', // Wang Taiwan
    '20105': 'x-IA5', // IA5 (IRV International Alphabet No. 5, 7-bit); Western European (IA5)
    '20106': 'x-IA5-German', // IA5 German (7-bit)
    '20107': 'x-IA5-Swedish', // IA5 Swedish (7-bit)
    '20108': 'x-IA5-Norwegian', // IA5 Norwegian (7-bit)
    '20127': 'us-ascii', // US-ASCII (7-bit)
    '20261': 'x-cp20261', // T.61
    '20269': 'x-cp20269', // ISO 6937 Non-Spacing Accent
    '20273': 'IBM273', // IBM EBCDIC Germany
    '20277': 'IBM277', // IBM EBCDIC Denmark-Norway
    '20278': 'IBM278', // IBM EBCDIC Finland-Sweden
    '20280': 'IBM280', // IBM EBCDIC Italy
    '20284': 'IBM284', // IBM EBCDIC Latin America-Spain
    '20285': 'IBM285', // IBM EBCDIC United Kingdom
    '20290': 'IBM290', // IBM EBCDIC Japanese Katakana Extended
    '20297': 'IBM297', // IBM EBCDIC France
    '20420': 'IBM420', // IBM EBCDIC Arabic
    '20423': 'IBM423', // IBM EBCDIC Greek
    '20424': 'IBM424', // IBM EBCDIC Hebrew
    '20833': 'x-EBCDIC-KoreanExtended', // IBM EBCDIC Korean Extended
    '20838': 'IBM-Thai', // IBM EBCDIC Thai
    '20866': 'koi8-r', // Russian (KOI8-R); Cyrillic (KOI8-R)
    '20871': 'IBM871', // IBM EBCDIC Icelandic
    '20880': 'IBM880', // IBM EBCDIC Cyrillic Russian
    '20905': 'IBM905', // IBM EBCDIC Turkish
    '20924': 'IBM00924', // IBM EBCDIC Latin 1/Open System (1047 + Euro symbol)
    '20932': 'EUC-JP', // Japanese (JIS 0208-1990 and 0212-1990)
    '20936': 'x-cp20936', // Simplified Chinese (GB2312); Chinese Simplified (GB2312-80)
    '20949': 'x-cp20949', // Korean Wansung
    '21025': 'cp1025', // IBM EBCDIC Cyrillic Serbian-Bulgarian
    '21866': 'koi8-u', // Ukrainian (KOI8-U); Cyrillic (KOI8-U)
    '28591': 'iso-8859-1', // ISO 8859-1 Latin 1; Western European (ISO)
    '28592': 'iso-8859-2', // ISO 8859-2 Central European; Central European (ISO)
    '28593': 'iso-8859-3', // ISO 8859-3 Latin 3
    '28594': 'iso-8859-4', // ISO 8859-4 Baltic
    '28595': 'iso-8859-5', // ISO 8859-5 Cyrillic
    '28596': 'iso-8859-6', // ISO 8859-6 Arabic
    '28597': 'iso-8859-7', // ISO 8859-7 Greek
    '28598': 'iso-8859-8', // ISO 8859-8 Hebrew; Hebrew (ISO-Visual)
    '28599': 'iso-8859-9', // ISO 8859-9 Turkish
    '28603': 'iso-8859-13', // ISO 8859-13 Estonian
    '28605': 'iso-8859-15', // ISO 8859-15 Latin 9
    '29001': 'x-Europa', // Europa 3
    '38598': 'iso-8859-8-i', // ISO 8859-8 Hebrew; Hebrew (ISO-Logical)
    '50220': 'iso-2022-jp', // ISO 2022 Japanese with no halfwidth Katakana; Japanese (JIS)
    '50221': 'csISO2022JP', // ISO 2022 Japanese with halfwidth Katakana; Japanese (JIS-Allow 1 byte Kana)
    '50222': 'iso-2022-jp', // ISO 2022 Japanese JIS X 0201-1989; Japanese (JIS-Allow 1 byte Kana - SO/SI)
    '50225': 'iso-2022-kr', // ISO 2022 Korean
    '50227': 'x-cp50227', // ISO 2022 Simplified Chinese; Chinese Simplified (ISO 2022)
    '51932': 'euc-jp', // EUC Japanese
    '51936': 'EUC-CN', // EUC Simplified Chinese; Chinese Simplified (EUC)
    '51949': 'euc-kr', // EUC Korean
    '52936': 'hz-gb-2312', // HZ-GB2312 Simplified Chinese; Chinese Simplified (HZ)
    '54936': 'GB18030', // Windows XP and later: GB18030 Simplified Chinese (4 byte); Chinese Simplified (GB18030)
    '57002': 'x-iscii-de', // ISCII Devanagari
    '57003': 'x-iscii-be', // ISCII Bangla
    '57004': 'x-iscii-ta', // ISCII Tamil
    '57005': 'x-iscii-te', // ISCII Telugu
    '57006': 'x-iscii-as', // ISCII Assamese
    '57007': 'x-iscii-or', // ISCII Odia
    '57008': 'x-iscii-ka', // ISCII Kannada
    '57009': 'x-iscii-ma', // ISCII Malayalam
    '57010': 'x-iscii-gu', // ISCII Gujarati
    '57011': 'x-iscii-pa', // ISCII Punjabi
    '65000': 'utf-7', // Unicode (UTF-7)
    '65001': 'utf-8' // Unicode (UTF-8)
  };
})();