//
// Generated file. Do not edit manually.
//

using int32_t = System.Int32;
using uint32_t = System.Int32;

namespace Alba.CsCss.Style
{
    using nsCSSKeyword = CssKeyword;
    using nsCSSProperty = CssProperty;
    using nsStyle = CssStyle;

    internal partial class nsCSSProps
    {
        public static readonly int32_t[] kAnimationDirectionKTable = {
          (int)nsCSSKeyword.Normal, nsStyle.AnimationDirectionNormal,
          (int)nsCSSKeyword.Reverse, nsStyle.AnimationDirectionReverse,
          (int)nsCSSKeyword.Alternate, nsStyle.AnimationDirectionAlternate,
          (int)nsCSSKeyword.AlternateReverse, nsStyle.AnimationDirectionAlternateReverse,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kAnimationFillModeKTable = {
          (int)nsCSSKeyword.None, nsStyle.AnimationFillModeNone,
          (int)nsCSSKeyword.Forwards, nsStyle.AnimationFillModeForwards,
          (int)nsCSSKeyword.Backwards, nsStyle.AnimationFillModeBackwards,
          (int)nsCSSKeyword.Both, nsStyle.AnimationFillModeBoth,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kAnimationIterationCountKTable = {
          (int)nsCSSKeyword.Infinite, nsStyle.AnimationIterationCountInfinite,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kAnimationPlayStateKTable = {
          (int)nsCSSKeyword.Running, nsStyle.AnimationPlayStateRunning,
          (int)nsCSSKeyword.Paused, nsStyle.AnimationPlayStatePaused,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kAppearanceKTable = {
          (int)nsCSSKeyword.None,                   0/*unused*/,
          (int)nsCSSKeyword.Button,                 0/*unused*/,
          (int)nsCSSKeyword.Radio,                  0/*unused*/,
          (int)nsCSSKeyword.Checkbox,               0/*unused*/,
          (int)nsCSSKeyword.ButtonBevel,           0/*unused*/,
          (int)nsCSSKeyword.Toolbox,                0/*unused*/,
          (int)nsCSSKeyword.Toolbar,                0/*unused*/,
          (int)nsCSSKeyword.Toolbarbutton,          0/*unused*/,
          (int)nsCSSKeyword.Toolbargripper,         0/*unused*/,
          (int)nsCSSKeyword.Dualbutton,             0/*unused*/,
          (int)nsCSSKeyword.ToolbarbuttonDropdown, 0/*unused*/,
          (int)nsCSSKeyword.ButtonArrowUp,        0/*unused*/,
          (int)nsCSSKeyword.ButtonArrowDown,      0/*unused*/,
          (int)nsCSSKeyword.ButtonArrowNext,      0/*unused*/,
          (int)nsCSSKeyword.ButtonArrowPrevious,  0/*unused*/,
          (int)nsCSSKeyword.Meterbar,               0/*unused*/,
          (int)nsCSSKeyword.Meterchunk,             0/*unused*/,
          (int)nsCSSKeyword.Separator,              0/*unused*/,
          (int)nsCSSKeyword.Splitter,               0/*unused*/,
          (int)nsCSSKeyword.Statusbar,              0/*unused*/,
          (int)nsCSSKeyword.Statusbarpanel,         0/*unused*/,
          (int)nsCSSKeyword.Resizerpanel,           0/*unused*/,
          (int)nsCSSKeyword.Resizer,                0/*unused*/,
          (int)nsCSSKeyword.Listbox,                0/*unused*/,
          (int)nsCSSKeyword.Listitem,               0/*unused*/,
          (int)nsCSSKeyword.Treeview,               0/*unused*/,
          (int)nsCSSKeyword.Treeitem,               0/*unused*/,
          (int)nsCSSKeyword.Treetwisty,             0/*unused*/,
          (int)nsCSSKeyword.Treetwistyopen,         0/*unused*/,
          (int)nsCSSKeyword.Treeline,               0/*unused*/,
          (int)nsCSSKeyword.Treeheader,             0/*unused*/,
          (int)nsCSSKeyword.Treeheadercell,         0/*unused*/,
          (int)nsCSSKeyword.Treeheadersortarrow,    0/*unused*/,
          (int)nsCSSKeyword.Progressbar,            0/*unused*/,
          (int)nsCSSKeyword.Progresschunk,          0/*unused*/,
          (int)nsCSSKeyword.ProgressbarVertical,   0/*unused*/,
          (int)nsCSSKeyword.ProgresschunkVertical, 0/*unused*/,
          (int)nsCSSKeyword.Tab,                    0/*unused*/,
          (int)nsCSSKeyword.Tabpanels,              0/*unused*/,
          (int)nsCSSKeyword.Tabpanel,               0/*unused*/,
          (int)nsCSSKeyword.TabScrollArrowBack,  0/*unused*/,
          (int)nsCSSKeyword.TabScrollArrowForward, 0/*unused*/,
          (int)nsCSSKeyword.Tooltip,                0/*unused*/,
          (int)nsCSSKeyword.Spinner,                0/*unused*/,
          (int)nsCSSKeyword.SpinnerUpbutton,       0/*unused*/,
          (int)nsCSSKeyword.SpinnerDownbutton,     0/*unused*/,
          (int)nsCSSKeyword.SpinnerTextfield,      0/*unused*/,
          (int)nsCSSKeyword.Scrollbar,              0/*unused*/,
          (int)nsCSSKeyword.ScrollbarSmall,        0/*unused*/,
          (int)nsCSSKeyword.ScrollbarbuttonUp,     0/*unused*/,
          (int)nsCSSKeyword.ScrollbarbuttonDown,   0/*unused*/,
          (int)nsCSSKeyword.ScrollbarbuttonLeft,   0/*unused*/,
          (int)nsCSSKeyword.ScrollbarbuttonRight,  0/*unused*/,
          (int)nsCSSKeyword.ScrollbartrackHorizontal,    0/*unused*/,
          (int)nsCSSKeyword.ScrollbartrackVertical,      0/*unused*/,
          (int)nsCSSKeyword.ScrollbarthumbHorizontal,    0/*unused*/,
          (int)nsCSSKeyword.ScrollbarthumbVertical,      0/*unused*/,
          (int)nsCSSKeyword.Textfield,              0/*unused*/,
          (int)nsCSSKeyword.TextfieldMultiline,    0/*unused*/,
          (int)nsCSSKeyword.Caret,                  0/*unused*/,
          (int)nsCSSKeyword.Searchfield,            0/*unused*/,
          (int)nsCSSKeyword.Menulist,               0/*unused*/,
          (int)nsCSSKeyword.MenulistButton,        0/*unused*/,
          (int)nsCSSKeyword.MenulistText,          0/*unused*/,
          (int)nsCSSKeyword.MenulistTextfield,     0/*unused*/,
          (int)nsCSSKeyword.Range,                  0/*unused*/, // disabled on branch 0/*unused*/,
          (int)nsCSSKeyword.RangeThumb,            0/*unused*/, // disabled on branch 0/*unused*/,
          (int)nsCSSKeyword.ScaleHorizontal,       0/*unused*/,
          (int)nsCSSKeyword.ScaleVertical,         0/*unused*/,
          (int)nsCSSKeyword.ScalethumbHorizontal,  0/*unused*/,
          (int)nsCSSKeyword.ScalethumbVertical,    0/*unused*/,
          (int)nsCSSKeyword.Scalethumbstart,        0/*unused*/,
          (int)nsCSSKeyword.Scalethumbend,          0/*unused*/,
          (int)nsCSSKeyword.Scalethumbtick,         0/*unused*/,
          (int)nsCSSKeyword.Groupbox,               0/*unused*/,
          (int)nsCSSKeyword.CheckboxContainer,     0/*unused*/,
          (int)nsCSSKeyword.RadioContainer,        0/*unused*/,
          (int)nsCSSKeyword.CheckboxLabel,         0/*unused*/,
          (int)nsCSSKeyword.RadioLabel,            0/*unused*/,
          (int)nsCSSKeyword.ButtonFocus,           0/*unused*/,
          (int)nsCSSKeyword.Window,                 0/*unused*/,
          (int)nsCSSKeyword.Dialog,                 0/*unused*/,
          (int)nsCSSKeyword.Menubar,                0/*unused*/,
          (int)nsCSSKeyword.Menupopup,              0/*unused*/,
          (int)nsCSSKeyword.Menuitem,               0/*unused*/,
          (int)nsCSSKeyword.Checkmenuitem,          0/*unused*/,
          (int)nsCSSKeyword.Radiomenuitem,          0/*unused*/,
          (int)nsCSSKeyword.Menucheckbox,           0/*unused*/,
          (int)nsCSSKeyword.Menuradio,              0/*unused*/,
          (int)nsCSSKeyword.Menuseparator,          0/*unused*/,
          (int)nsCSSKeyword.Menuarrow,              0/*unused*/,
          (int)nsCSSKeyword.Menuimage,              0/*unused*/,
          (int)nsCSSKeyword.Menuitemtext,           0/*unused*/,
          (int)nsCSSKeyword.MozWinMediaToolbox, 0/*unused*/,
          (int)nsCSSKeyword.MozWinCommunicationsToolbox, 0/*unused*/,
          (int)nsCSSKeyword.MozWinBrowsertabbarToolbox,  0/*unused*/,
          (int)nsCSSKeyword.MozWinGlass,         0/*unused*/,
          (int)nsCSSKeyword.MozWinBorderlessGlass,      0/*unused*/,
          (int)nsCSSKeyword.MozMacUnifiedToolbar,       0/*unused*/,
          (int)nsCSSKeyword.MozWindowTitlebar,           0/*unused*/,
          (int)nsCSSKeyword.MozWindowTitlebarMaximized, 0/*unused*/,
          (int)nsCSSKeyword.MozWindowFrameLeft,         0/*unused*/,
          (int)nsCSSKeyword.MozWindowFrameRight,        0/*unused*/,
          (int)nsCSSKeyword.MozWindowFrameBottom,       0/*unused*/,
          (int)nsCSSKeyword.MozWindowButtonClose,       0/*unused*/,
          (int)nsCSSKeyword.MozWindowButtonMinimize,    0/*unused*/,
          (int)nsCSSKeyword.MozWindowButtonMaximize,    0/*unused*/,
          (int)nsCSSKeyword.MozWindowButtonRestore,     0/*unused*/,
          (int)nsCSSKeyword.MozWindowButtonBox,         0/*unused*/,
          (int)nsCSSKeyword.MozWindowButtonBoxMaximized, 0/*unused*/,
          (int)nsCSSKeyword.MozWinExcludeGlass,         0/*unused*/,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kBackfaceVisibilityKTable = {
          (int)nsCSSKeyword.Visible, nsStyle.BackfaceVisibilityVisible,
          (int)nsCSSKeyword.Hidden, nsStyle.BackfaceVisibilityHidden,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kTransformStyleKTable = {
          (int)nsCSSKeyword.Flat, nsStyle.TransformStyleFlat,
          (int)nsCSSKeyword.Preserve3d, nsStyle.TransformStylePreserve3d,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kBackgroundAttachmentKTable = {
          (int)nsCSSKeyword.Fixed, nsStyle.BgAttachmentFixed,
          (int)nsCSSKeyword.Scroll, nsStyle.BgAttachmentScroll,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kBackgroundInlinePolicyKTable = {
          (int)nsCSSKeyword.EachBox,     nsStyle.BgInlinePolicyEachBox,
          (int)nsCSSKeyword.Continuous,   nsStyle.BgInlinePolicyContinuous,
          (int)nsCSSKeyword.BoundingBox, nsStyle.BgInlinePolicyBoundingBox,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kBackgroundOriginKTable = {
          (int)nsCSSKeyword.BorderBox, nsStyle.BgOriginBorder,
          (int)nsCSSKeyword.PaddingBox, nsStyle.BgOriginPadding,
          (int)nsCSSKeyword.ContentBox, nsStyle.BgOriginContent,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kBackgroundPositionKTable = {
          (int)nsCSSKeyword.Center, nsStyle.BgPositionCenter,
          (int)nsCSSKeyword.Top, nsStyle.BgPositionTop,
          (int)nsCSSKeyword.Bottom, nsStyle.BgPositionBottom,
          (int)nsCSSKeyword.Left, nsStyle.BgPositionLeft,
          (int)nsCSSKeyword.Right, nsStyle.BgPositionRight,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kBackgroundRepeatKTable = {
          (int)nsCSSKeyword.NoRepeat,  nsStyle.BgRepeatNoRepeat,
          (int)nsCSSKeyword.Repeat,     nsStyle.BgRepeatRepeat,
          (int)nsCSSKeyword.RepeatX,   nsStyle.BgRepeatRepeatX,
          (int)nsCSSKeyword.RepeatY,   nsStyle.BgRepeatRepeatY,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kBackgroundRepeatPartKTable = {
          (int)nsCSSKeyword.NoRepeat,  nsStyle.BgRepeatNoRepeat,
          (int)nsCSSKeyword.Repeat,     nsStyle.BgRepeatRepeat,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kBackgroundSizeKTable = {
          (int)nsCSSKeyword.Contain, nsStyle.BgSizeContain,
          (int)nsCSSKeyword.Cover,   nsStyle.BgSizeCover,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kBorderCollapseKTable = {
          (int)nsCSSKeyword.Collapse,  nsStyle.BorderCollapse,
          (int)nsCSSKeyword.Separate,  nsStyle.BorderSeparate,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kBorderColorKTable = {
          (int)nsCSSKeyword.MozUseTextColor, nsStyle.ColorMozUseTextColor,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kBorderImageRepeatKTable = {
          (int)nsCSSKeyword.Stretch, nsStyle.BorderImageRepeatStretch,
          (int)nsCSSKeyword.Repeat, nsStyle.BorderImageRepeatRepeat,
          (int)nsCSSKeyword.Round, nsStyle.BorderImageRepeatRound,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kBorderImageSliceKTable = {
          (int)nsCSSKeyword.Fill, nsStyle.BorderImageSliceFill,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kBorderStyleKTable = {
          (int)nsCSSKeyword.None,   nsStyle.BorderStyleNone,
          (int)nsCSSKeyword.Hidden, nsStyle.BorderStyleHidden,
          (int)nsCSSKeyword.Dotted, nsStyle.BorderStyleDotted,
          (int)nsCSSKeyword.Dashed, nsStyle.BorderStyleDashed,
          (int)nsCSSKeyword.Solid,  nsStyle.BorderStyleSolid,
          (int)nsCSSKeyword.Double, nsStyle.BorderStyleDouble,
          (int)nsCSSKeyword.Groove, nsStyle.BorderStyleGroove,
          (int)nsCSSKeyword.Ridge,  nsStyle.BorderStyleRidge,
          (int)nsCSSKeyword.Inset,  nsStyle.BorderStyleInset,
          (int)nsCSSKeyword.Outset, nsStyle.BorderStyleOutset,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kBorderWidthKTable = {
          (int)nsCSSKeyword.Thin, nsStyle.BorderWidthThin,
          (int)nsCSSKeyword.Medium, nsStyle.BorderWidthMedium,
          (int)nsCSSKeyword.Thick, nsStyle.BorderWidthThick,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kBoxPropSourceKTable = {
          (int)nsCSSKeyword.Physical,     nsStyle.BoxpropSourcePhysical,
          (int)nsCSSKeyword.Logical,      nsStyle.BoxpropSourceLogical,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kBoxShadowTypeKTable = {
          (int)nsCSSKeyword.Inset, nsStyle.BoxShadowInset,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kBoxSizingKTable = {
          (int)nsCSSKeyword.ContentBox,  nsStyle.BoxSizingContent,
          (int)nsCSSKeyword.BorderBox,   nsStyle.BoxSizingBorder,
          (int)nsCSSKeyword.PaddingBox,  nsStyle.BoxSizingPadding,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kCaptionSideKTable = {
          (int)nsCSSKeyword.Top,                  nsStyle.CaptionSideTop,
          (int)nsCSSKeyword.Right,                nsStyle.CaptionSideRight,
          (int)nsCSSKeyword.Bottom,               nsStyle.CaptionSideBottom,
          (int)nsCSSKeyword.Left,                 nsStyle.CaptionSideLeft,
          (int)nsCSSKeyword.TopOutside,          nsStyle.CaptionSideTopOutside,
          (int)nsCSSKeyword.BottomOutside,       nsStyle.CaptionSideBottomOutside,
          (int)nsCSSKeyword.Unknown,              -1
        };

        public static readonly int32_t[] kClearKTable = {
          (int)nsCSSKeyword.None, nsStyle.ClearNone,
          (int)nsCSSKeyword.Left, nsStyle.ClearLeft,
          (int)nsCSSKeyword.Right, nsStyle.ClearRight,
          (int)nsCSSKeyword.Both, nsStyle.ClearLeftAndRight,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kColorKTable = {
          (int)nsCSSKeyword.Activeborder, (int)LookAndFeel.ColorID.activeborder,
          (int)nsCSSKeyword.Activecaption, (int)LookAndFeel.ColorID.activecaption,
          (int)nsCSSKeyword.Appworkspace, (int)LookAndFeel.ColorID.appworkspace,
          (int)nsCSSKeyword.Background, (int)LookAndFeel.ColorID.background,
          (int)nsCSSKeyword.Buttonface, (int)LookAndFeel.ColorID.buttonface,
          (int)nsCSSKeyword.Buttonhighlight, (int)LookAndFeel.ColorID.buttonhighlight,
          (int)nsCSSKeyword.Buttonshadow, (int)LookAndFeel.ColorID.buttonshadow,
          (int)nsCSSKeyword.Buttontext, (int)LookAndFeel.ColorID.buttontext,
          (int)nsCSSKeyword.Captiontext, (int)LookAndFeel.ColorID.captiontext,
          (int)nsCSSKeyword.Graytext, (int)LookAndFeel.ColorID.graytext,
          (int)nsCSSKeyword.Highlight, (int)LookAndFeel.ColorID.highlight,
          (int)nsCSSKeyword.Highlighttext, (int)LookAndFeel.ColorID.highlighttext,
          (int)nsCSSKeyword.Inactiveborder, (int)LookAndFeel.ColorID.inactiveborder,
          (int)nsCSSKeyword.Inactivecaption, (int)LookAndFeel.ColorID.inactivecaption,
          (int)nsCSSKeyword.Inactivecaptiontext, (int)LookAndFeel.ColorID.inactivecaptiontext,
          (int)nsCSSKeyword.Infobackground, (int)LookAndFeel.ColorID.infobackground,
          (int)nsCSSKeyword.Infotext, (int)LookAndFeel.ColorID.infotext,
          (int)nsCSSKeyword.Menu, (int)LookAndFeel.ColorID.menu,
          (int)nsCSSKeyword.Menutext, (int)LookAndFeel.ColorID.menutext,
          (int)nsCSSKeyword.Scrollbar, (int)LookAndFeel.ColorID.scrollbar,
          (int)nsCSSKeyword.Threeddarkshadow, (int)LookAndFeel.ColorID.threeddarkshadow,
          (int)nsCSSKeyword.Threedface, (int)LookAndFeel.ColorID.threedface,
          (int)nsCSSKeyword.Threedhighlight, (int)LookAndFeel.ColorID.threedhighlight,
          (int)nsCSSKeyword.Threedlightshadow, (int)LookAndFeel.ColorID.threedlightshadow,
          (int)nsCSSKeyword.Threedshadow, (int)LookAndFeel.ColorID.threedshadow,
          (int)nsCSSKeyword.Window, (int)LookAndFeel.ColorID.window,
          (int)nsCSSKeyword.Windowframe, (int)LookAndFeel.ColorID.windowframe,
          (int)nsCSSKeyword.Windowtext, (int)LookAndFeel.ColorID.windowtext,
          (int)nsCSSKeyword.MozActivehyperlinktext, nsStyle.ColorMozActivehyperlinktext,
          (int)nsCSSKeyword.MozButtondefault, (int)LookAndFeel.ColorID._moz_buttondefault,
          (int)nsCSSKeyword.MozButtonhoverface, (int)LookAndFeel.ColorID._moz_buttonhoverface,
          (int)nsCSSKeyword.MozButtonhovertext, (int)LookAndFeel.ColorID._moz_buttonhovertext,
          (int)nsCSSKeyword.MozCellhighlight, (int)LookAndFeel.ColorID._moz_cellhighlight,
          (int)nsCSSKeyword.MozCellhighlighttext, (int)LookAndFeel.ColorID._moz_cellhighlighttext,
          (int)nsCSSKeyword.MozEventreerow, (int)LookAndFeel.ColorID._moz_eventreerow,
          (int)nsCSSKeyword.MozField, (int)LookAndFeel.ColorID._moz_field,
          (int)nsCSSKeyword.MozFieldtext, (int)LookAndFeel.ColorID._moz_fieldtext,
          (int)nsCSSKeyword.MozDefaultBackgroundColor, nsStyle.ColorMozDefaultBackgroundColor,
          (int)nsCSSKeyword.MozDefaultColor, nsStyle.ColorMozDefaultColor,
          (int)nsCSSKeyword.MozDialog, (int)LookAndFeel.ColorID._moz_dialog,
          (int)nsCSSKeyword.MozDialogtext, (int)LookAndFeel.ColorID._moz_dialogtext,
          (int)nsCSSKeyword.MozDragtargetzone, (int)LookAndFeel.ColorID._moz_dragtargetzone,
          (int)nsCSSKeyword.MozHyperlinktext, nsStyle.ColorMozHyperlinktext,
          (int)nsCSSKeyword.MozHtmlCellhighlight, (int)LookAndFeel.ColorID._moz_html_cellhighlight,
          (int)nsCSSKeyword.MozHtmlCellhighlighttext, (int)LookAndFeel.ColorID._moz_html_cellhighlighttext,
          (int)nsCSSKeyword.MozMacChromeActive, (int)LookAndFeel.ColorID._moz_mac_chrome_active,
          (int)nsCSSKeyword.MozMacChromeInactive, (int)LookAndFeel.ColorID._moz_mac_chrome_inactive,
          (int)nsCSSKeyword.MozMacFocusring, (int)LookAndFeel.ColorID._moz_mac_focusring,
          (int)nsCSSKeyword.MozMacMenuselect, (int)LookAndFeel.ColorID._moz_mac_menuselect,
          (int)nsCSSKeyword.MozMacMenushadow, (int)LookAndFeel.ColorID._moz_mac_menushadow,
          (int)nsCSSKeyword.MozMacMenutextdisable, (int)LookAndFeel.ColorID._moz_mac_menutextdisable,
          (int)nsCSSKeyword.MozMacMenutextselect, (int)LookAndFeel.ColorID._moz_mac_menutextselect,
          (int)nsCSSKeyword.MozMacDisabledtoolbartext, (int)LookAndFeel.ColorID._moz_mac_disabledtoolbartext,
          (int)nsCSSKeyword.MozMacAlternateprimaryhighlight, (int)LookAndFeel.ColorID._moz_mac_alternateprimaryhighlight,
          (int)nsCSSKeyword.MozMacSecondaryhighlight, (int)LookAndFeel.ColorID._moz_mac_secondaryhighlight,
          (int)nsCSSKeyword.MozMenuhover, (int)LookAndFeel.ColorID._moz_menuhover,
          (int)nsCSSKeyword.MozMenuhovertext, (int)LookAndFeel.ColorID._moz_menuhovertext,
          (int)nsCSSKeyword.MozMenubartext, (int)LookAndFeel.ColorID._moz_menubartext,
          (int)nsCSSKeyword.MozMenubarhovertext, (int)LookAndFeel.ColorID._moz_menubarhovertext,
          (int)nsCSSKeyword.MozOddtreerow, (int)LookAndFeel.ColorID._moz_oddtreerow,
          (int)nsCSSKeyword.MozVisitedhyperlinktext, nsStyle.ColorMozVisitedhyperlinktext,
          (int)nsCSSKeyword.Currentcolor, nsStyle.ColorCurrentcolor,
          (int)nsCSSKeyword.MozWinMediatext, (int)LookAndFeel.ColorID._moz_win_mediatext,
          (int)nsCSSKeyword.MozWinCommunicationstext, (int)LookAndFeel.ColorID._moz_win_communicationstext,
          (int)nsCSSKeyword.MozNativehyperlinktext, (int)LookAndFeel.ColorID._moz_nativehyperlinktext,
          (int)nsCSSKeyword.MozComboboxtext, (int)LookAndFeel.ColorID._moz_comboboxtext,
          (int)nsCSSKeyword.MozCombobox, (int)LookAndFeel.ColorID._moz_combobox,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kContentKTable = {
          (int)nsCSSKeyword.OpenQuote, nsStyle.ContentOpenQuote,
          (int)nsCSSKeyword.CloseQuote, nsStyle.ContentCloseQuote,
          (int)nsCSSKeyword.NoOpenQuote, nsStyle.ContentNoOpenQuote,
          (int)nsCSSKeyword.NoCloseQuote, nsStyle.ContentNoCloseQuote,
          (int)nsCSSKeyword.MozAltContent, nsStyle.ContentAltContent,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kCursorKTable = {
          // CSS 2.0
          (int)nsCSSKeyword.Auto, nsStyle.CursorAuto,
          (int)nsCSSKeyword.Crosshair, nsStyle.CursorCrosshair,
          (int)nsCSSKeyword.Default, nsStyle.CursorDefault,
          (int)nsCSSKeyword.Pointer, nsStyle.CursorPointer,
          (int)nsCSSKeyword.Move, nsStyle.CursorMove,
          (int)nsCSSKeyword.EResize, nsStyle.CursorEResize,
          (int)nsCSSKeyword.NeResize, nsStyle.CursorNeResize,
          (int)nsCSSKeyword.NwResize, nsStyle.CursorNwResize,
          (int)nsCSSKeyword.NResize, nsStyle.CursorNResize,
          (int)nsCSSKeyword.SeResize, nsStyle.CursorSeResize,
          (int)nsCSSKeyword.SwResize, nsStyle.CursorSwResize,
          (int)nsCSSKeyword.SResize, nsStyle.CursorSResize,
          (int)nsCSSKeyword.WResize, nsStyle.CursorWResize,
          (int)nsCSSKeyword.Text, nsStyle.CursorText,
          (int)nsCSSKeyword.Wait, nsStyle.CursorWait,
          (int)nsCSSKeyword.Help, nsStyle.CursorHelp,
          // CSS 2.1
          (int)nsCSSKeyword.Progress, nsStyle.CursorSpinning,
          // CSS3 basic user interface module
          (int)nsCSSKeyword.Copy, nsStyle.CursorCopy,
          (int)nsCSSKeyword.Alias, nsStyle.CursorAlias,
          (int)nsCSSKeyword.ContextMenu, nsStyle.CursorContextMenu,
          (int)nsCSSKeyword.Cell, nsStyle.CursorCell,
          (int)nsCSSKeyword.NotAllowed, nsStyle.CursorNotAllowed,
          (int)nsCSSKeyword.ColResize, nsStyle.CursorColResize,
          (int)nsCSSKeyword.RowResize, nsStyle.CursorRowResize,
          (int)nsCSSKeyword.NoDrop, nsStyle.CursorNoDrop,
          (int)nsCSSKeyword.VerticalText, nsStyle.CursorVerticalText,
          (int)nsCSSKeyword.AllScroll, nsStyle.CursorAllScroll,
          (int)nsCSSKeyword.NeswResize, nsStyle.CursorNeswResize,
          (int)nsCSSKeyword.NwseResize, nsStyle.CursorNwseResize,
          (int)nsCSSKeyword.NsResize, nsStyle.CursorNsResize,
          (int)nsCSSKeyword.EwResize, nsStyle.CursorEwResize,
          (int)nsCSSKeyword.None, nsStyle.CursorNone,
          // -moz- prefixed vendor specific
          (int)nsCSSKeyword.MozGrab, nsStyle.CursorGrab,
          (int)nsCSSKeyword.MozGrabbing, nsStyle.CursorGrabbing,
          (int)nsCSSKeyword.MozZoomIn, nsStyle.CursorMozZoomIn,
          (int)nsCSSKeyword.MozZoomOut, nsStyle.CursorMozZoomOut,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kDirectionKTable = {
          (int)nsCSSKeyword.Ltr,      nsStyle.DirectionLtr,
          (int)nsCSSKeyword.Rtl,      nsStyle.DirectionRtl,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kDisplayKTable = {
          (int)nsCSSKeyword.None,               nsStyle.DisplayNone,
          (int)nsCSSKeyword.Inline,             nsStyle.DisplayInline,
          (int)nsCSSKeyword.Block,              nsStyle.DisplayBlock,
          (int)nsCSSKeyword.InlineBlock,       nsStyle.DisplayInlineBlock,
          (int)nsCSSKeyword.ListItem,          nsStyle.DisplayListItem,
          (int)nsCSSKeyword.Table,              nsStyle.DisplayTable,
          (int)nsCSSKeyword.InlineTable,       nsStyle.DisplayInlineTable,
          (int)nsCSSKeyword.TableRowGroup,    nsStyle.DisplayTableRowGroup,
          (int)nsCSSKeyword.TableHeaderGroup, nsStyle.DisplayTableHeaderGroup,
          (int)nsCSSKeyword.TableFooterGroup, nsStyle.DisplayTableFooterGroup,
          (int)nsCSSKeyword.TableRow,          nsStyle.DisplayTableRow,
          (int)nsCSSKeyword.TableColumnGroup, nsStyle.DisplayTableColumnGroup,
          (int)nsCSSKeyword.TableColumn,       nsStyle.DisplayTableColumn,
          (int)nsCSSKeyword.TableCell,         nsStyle.DisplayTableCell,
          (int)nsCSSKeyword.TableCaption,      nsStyle.DisplayTableCaption,
          // Make sure this is kept in sync with the code in
          // nsCSSFrameConstructor::ConstructXULFrame
          (int)nsCSSKeyword.MozBox,           nsStyle.DisplayBox,
          (int)nsCSSKeyword.MozInlineBox,    nsStyle.DisplayInlineBox,
        #if MOZ_XUL
          (int)nsCSSKeyword.MozGrid,          nsStyle.DisplayGrid,
          (int)nsCSSKeyword.MozInlineGrid,   nsStyle.DisplayInlineGrid,
          (int)nsCSSKeyword.MozGridGroup,    nsStyle.DisplayGridGroup,
          (int)nsCSSKeyword.MozGridLine,     nsStyle.DisplayGridLine,
          (int)nsCSSKeyword.MozStack,         nsStyle.DisplayStack,
          (int)nsCSSKeyword.MozInlineStack,  nsStyle.DisplayInlineStack,
          (int)nsCSSKeyword.MozDeck,          nsStyle.DisplayDeck,
          (int)nsCSSKeyword.MozPopup,         nsStyle.DisplayPopup,
          (int)nsCSSKeyword.MozGroupbox,      nsStyle.DisplayGroupbox,
        #endif
        #if MOZ_FLEXBOX
          // XXXdholbert NOTE: These currently need to be the last entries in the
          // table, because the "is flexbox enabled" pref that disables these will
          // disable all the entries after them, too.
          (int)nsCSSKeyword.Flex,               nsStyle.DisplayFlex,
          (int)nsCSSKeyword.InlineFlex,        nsStyle.DisplayInlineFlex,
        #endif // MOZ_FLEXBOX
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kEmptyCellsKTable = {
          (int)nsCSSKeyword.Show,                 nsStyle.TableEmptyCellsShow,
          (int)nsCSSKeyword.Hide,                 nsStyle.TableEmptyCellsHide,
          (int)nsCSSKeyword.MozShowBackground, nsStyle.TableEmptyCellsShowBackground,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kAlignItemsKTable = {
          (int)nsCSSKeyword.FlexStart, nsStyle.AlignItemsFlexStart,
          (int)nsCSSKeyword.FlexEnd,   nsStyle.AlignItemsFlexEnd,
          (int)nsCSSKeyword.Center,     nsStyle.AlignItemsCenter,
          (int)nsCSSKeyword.Baseline,   nsStyle.AlignItemsBaseline,
          (int)nsCSSKeyword.Stretch,    nsStyle.AlignItemsStretch,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kAlignSelfKTable = {
          (int)nsCSSKeyword.FlexStart, nsStyle.AlignItemsFlexStart,
          (int)nsCSSKeyword.FlexEnd,   nsStyle.AlignItemsFlexEnd,
          (int)nsCSSKeyword.Center,     nsStyle.AlignItemsCenter,
          (int)nsCSSKeyword.Baseline,   nsStyle.AlignItemsBaseline,
          (int)nsCSSKeyword.Stretch,    nsStyle.AlignItemsStretch,
          (int)nsCSSKeyword.Auto,       nsStyle.AlignSelfAuto,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kFlexDirectionKTable = {
          (int)nsCSSKeyword.Row,            nsStyle.FlexDirectionRow,
          (int)nsCSSKeyword.RowReverse,    nsStyle.FlexDirectionRowReverse,
          (int)nsCSSKeyword.Column,         nsStyle.FlexDirectionColumn,
          (int)nsCSSKeyword.ColumnReverse, nsStyle.FlexDirectionColumnReverse,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kJustifyContentKTable = {
          (int)nsCSSKeyword.FlexStart,    nsStyle.JustifyContentFlexStart,
          (int)nsCSSKeyword.FlexEnd,      nsStyle.JustifyContentFlexEnd,
          (int)nsCSSKeyword.Center,        nsStyle.JustifyContentCenter,
          (int)nsCSSKeyword.SpaceBetween, nsStyle.JustifyContentSpaceBetween,
          (int)nsCSSKeyword.SpaceAround,  nsStyle.JustifyContentSpaceAround,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kFloatKTable = {
          (int)nsCSSKeyword.None,  nsStyle.FloatNone,
          (int)nsCSSKeyword.Left,  nsStyle.FloatLeft,
          (int)nsCSSKeyword.Right, nsStyle.FloatRight,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kFloatEdgeKTable = {
          (int)nsCSSKeyword.ContentBox,  nsStyle.FloatEdgeContent,
          (int)nsCSSKeyword.MarginBox,  nsStyle.FloatEdgeMargin,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kFontKTable = {
          // CSS2.
          (int)nsCSSKeyword.Caption, nsStyle.FontCaption,
          (int)nsCSSKeyword.Icon, nsStyle.FontIcon,
          (int)nsCSSKeyword.Menu, nsStyle.FontMenu,
          (int)nsCSSKeyword.MessageBox, nsStyle.FontMessageBox,
          (int)nsCSSKeyword.SmallCaption, nsStyle.FontSmallCaption,
          (int)nsCSSKeyword.StatusBar, nsStyle.FontStatusBar,
        
          // Proposed for CSS3.
          (int)nsCSSKeyword.MozWindow, nsStyle.FontWindow,
          (int)nsCSSKeyword.MozDocument, nsStyle.FontDocument,
          (int)nsCSSKeyword.MozWorkspace, nsStyle.FontWorkspace,
          (int)nsCSSKeyword.MozDesktop, nsStyle.FontDesktop,
          (int)nsCSSKeyword.MozInfo, nsStyle.FontInfo,
          (int)nsCSSKeyword.MozDialog, nsStyle.FontDialog,
          (int)nsCSSKeyword.MozButton, nsStyle.FontButton,
          (int)nsCSSKeyword.MozPullDownMenu, nsStyle.FontPullDownMenu,
          (int)nsCSSKeyword.MozList, nsStyle.FontList,
          (int)nsCSSKeyword.MozField, nsStyle.FontField,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kFontSizeKTable = {
          (int)nsCSSKeyword.XxSmall, nsStyle.FontSizeXxsmall,
          (int)nsCSSKeyword.XSmall, nsStyle.FontSizeXsmall,
          (int)nsCSSKeyword.Small, nsStyle.FontSizeSmall,
          (int)nsCSSKeyword.Medium, nsStyle.FontSizeMedium,
          (int)nsCSSKeyword.Large, nsStyle.FontSizeLarge,
          (int)nsCSSKeyword.XLarge, nsStyle.FontSizeXlarge,
          (int)nsCSSKeyword.XxLarge, nsStyle.FontSizeXxlarge,
          (int)nsCSSKeyword.Larger, nsStyle.FontSizeLarger,
          (int)nsCSSKeyword.Smaller, nsStyle.FontSizeSmaller,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kFontStretchKTable = {
          (int)nsCSSKeyword.UltraCondensed, nsStyle.FontStretchUltraCondensed,
          (int)nsCSSKeyword.ExtraCondensed, nsStyle.FontStretchExtraCondensed,
          (int)nsCSSKeyword.Condensed, nsStyle.FontStretchCondensed,
          (int)nsCSSKeyword.SemiCondensed, nsStyle.FontStretchSemiCondensed,
          (int)nsCSSKeyword.Normal, nsStyle.FontStretchNormal,
          (int)nsCSSKeyword.SemiExpanded, nsStyle.FontStretchSemiExpanded,
          (int)nsCSSKeyword.Expanded, nsStyle.FontStretchExpanded,
          (int)nsCSSKeyword.ExtraExpanded, nsStyle.FontStretchExtraExpanded,
          (int)nsCSSKeyword.UltraExpanded, nsStyle.FontStretchUltraExpanded,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kFontStyleKTable = {
          (int)nsCSSKeyword.Normal, nsStyle.FontStyleNormal,
          (int)nsCSSKeyword.Italic, nsStyle.FontStyleItalic,
          (int)nsCSSKeyword.Oblique, nsStyle.FontStyleOblique,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kFontVariantKTable = {
          (int)nsCSSKeyword.Normal, nsStyle.FontVariantNormal,
          (int)nsCSSKeyword.SmallCaps, nsStyle.FontVariantSmallCaps,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kFontWeightKTable = {
          (int)nsCSSKeyword.Normal, nsStyle.FontWeightNormal,
          (int)nsCSSKeyword.Bold, nsStyle.FontWeightBold,
          (int)nsCSSKeyword.Bolder, nsStyle.FontWeightBolder,
          (int)nsCSSKeyword.Lighter, nsStyle.FontWeightLighter,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kIMEModeKTable = {
          (int)nsCSSKeyword.Normal, nsStyle.ImeModeNormal,
          (int)nsCSSKeyword.Auto, nsStyle.ImeModeAuto,
          (int)nsCSSKeyword.Active, nsStyle.ImeModeActive,
          (int)nsCSSKeyword.Disabled, nsStyle.ImeModeDisabled,
          (int)nsCSSKeyword.Inactive, nsStyle.ImeModeInactive,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kLineHeightKTable = {
          // -moz- prefixed, intended for internal use for single-line controls
          (int)nsCSSKeyword.MozBlockHeight, nsStyle.LineHeightBlockHeight,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kListStylePositionKTable = {
          (int)nsCSSKeyword.Inside, nsStyle.ListStylePositionInside,
          (int)nsCSSKeyword.Outside, nsStyle.ListStylePositionOutside,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kListStyleKTable = {
          (int)nsCSSKeyword.None, nsStyle.ListStyleNone,
          (int)nsCSSKeyword.Disc, nsStyle.ListStyleDisc,
          (int)nsCSSKeyword.Circle, nsStyle.ListStyleCircle,
          (int)nsCSSKeyword.Square, nsStyle.ListStyleSquare,
          (int)nsCSSKeyword.Decimal, nsStyle.ListStyleDecimal,
          (int)nsCSSKeyword.DecimalLeadingZero, nsStyle.ListStyleDecimalLeadingZero,
          (int)nsCSSKeyword.LowerRoman, nsStyle.ListStyleLowerRoman,
          (int)nsCSSKeyword.UpperRoman, nsStyle.ListStyleUpperRoman,
          (int)nsCSSKeyword.LowerGreek, nsStyle.ListStyleLowerGreek,
          (int)nsCSSKeyword.LowerAlpha, nsStyle.ListStyleLowerAlpha,
          (int)nsCSSKeyword.LowerLatin, nsStyle.ListStyleLowerLatin,
          (int)nsCSSKeyword.UpperAlpha, nsStyle.ListStyleUpperAlpha,
          (int)nsCSSKeyword.UpperLatin, nsStyle.ListStyleUpperLatin,
          (int)nsCSSKeyword.Hebrew, nsStyle.ListStyleHebrew,
          (int)nsCSSKeyword.Armenian, nsStyle.ListStyleArmenian,
          (int)nsCSSKeyword.Georgian, nsStyle.ListStyleGeorgian,
          (int)nsCSSKeyword.CjkIdeographic, nsStyle.ListStyleCjkIdeographic,
          (int)nsCSSKeyword.Hiragana, nsStyle.ListStyleHiragana,
          (int)nsCSSKeyword.Katakana, nsStyle.ListStyleKatakana,
          (int)nsCSSKeyword.HiraganaIroha, nsStyle.ListStyleHiraganaIroha,
          (int)nsCSSKeyword.KatakanaIroha, nsStyle.ListStyleKatakanaIroha,
          (int)nsCSSKeyword.MozCjkHeavenlyStem, nsStyle.ListStyleMozCjkHeavenlyStem,
          (int)nsCSSKeyword.MozCjkEarthlyBranch, nsStyle.ListStyleMozCjkEarthlyBranch,
          (int)nsCSSKeyword.MozTradChineseInformal, nsStyle.ListStyleMozTradChineseInformal,
          (int)nsCSSKeyword.MozTradChineseFormal, nsStyle.ListStyleMozTradChineseFormal,
          (int)nsCSSKeyword.MozSimpChineseInformal, nsStyle.ListStyleMozSimpChineseInformal,
          (int)nsCSSKeyword.MozSimpChineseFormal, nsStyle.ListStyleMozSimpChineseFormal,
          (int)nsCSSKeyword.MozJapaneseInformal, nsStyle.ListStyleMozJapaneseInformal,
          (int)nsCSSKeyword.MozJapaneseFormal, nsStyle.ListStyleMozJapaneseFormal,
          (int)nsCSSKeyword.MozArabicIndic, nsStyle.ListStyleMozArabicIndic,
          (int)nsCSSKeyword.MozPersian, nsStyle.ListStyleMozPersian,
          (int)nsCSSKeyword.MozUrdu, nsStyle.ListStyleMozUrdu,
          (int)nsCSSKeyword.MozDevanagari, nsStyle.ListStyleMozDevanagari,
          (int)nsCSSKeyword.MozGurmukhi, nsStyle.ListStyleMozGurmukhi,
          (int)nsCSSKeyword.MozGujarati, nsStyle.ListStyleMozGujarati,
          (int)nsCSSKeyword.MozOriya, nsStyle.ListStyleMozOriya,
          (int)nsCSSKeyword.MozKannada, nsStyle.ListStyleMozKannada,
          (int)nsCSSKeyword.MozMalayalam, nsStyle.ListStyleMozMalayalam,
          (int)nsCSSKeyword.MozBengali, nsStyle.ListStyleMozBengali,
          (int)nsCSSKeyword.MozTamil, nsStyle.ListStyleMozTamil,
          (int)nsCSSKeyword.MozTelugu, nsStyle.ListStyleMozTelugu,
          (int)nsCSSKeyword.MozThai, nsStyle.ListStyleMozThai,
          (int)nsCSSKeyword.MozLao, nsStyle.ListStyleMozLao,
          (int)nsCSSKeyword.MozMyanmar, nsStyle.ListStyleMozMyanmar,
          (int)nsCSSKeyword.MozKhmer, nsStyle.ListStyleMozKhmer,
          (int)nsCSSKeyword.MozHangul, nsStyle.ListStyleMozHangul,
          (int)nsCSSKeyword.MozHangulConsonant, nsStyle.ListStyleMozHangulConsonant,
          (int)nsCSSKeyword.MozEthiopicHalehame, nsStyle.ListStyleMozEthiopicHalehame,
          (int)nsCSSKeyword.MozEthiopicNumeric, nsStyle.ListStyleMozEthiopicNumeric,
          (int)nsCSSKeyword.MozEthiopicHalehameAm, nsStyle.ListStyleMozEthiopicHalehameAm,
          (int)nsCSSKeyword.MozEthiopicHalehameTiEr, nsStyle.ListStyleMozEthiopicHalehameTiEr,
          (int)nsCSSKeyword.MozEthiopicHalehameTiEt, nsStyle.ListStyleMozEthiopicHalehameTiEt,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kObjectOpacityKTable = {
          (int)nsCSSKeyword.MozObjectfillopacity, nsStyle.ObjectFillOpacity,
          (int)nsCSSKeyword.MozObjectstrokeopacity, nsStyle.ObjectStrokeOpacity,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kObjectPatternKTable = {
          (int)nsCSSKeyword.MozObjectfill, nsStyle.ColorObjectfill,
          (int)nsCSSKeyword.MozObjectstroke, nsStyle.ColorObjectstroke,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kOrientKTable = {
          (int)nsCSSKeyword.Horizontal, nsStyle.OrientHorizontal,
          (int)nsCSSKeyword.Vertical,   nsStyle.OrientVertical,
          (int)nsCSSKeyword.Auto,       nsStyle.OrientAuto,
          (int)nsCSSKeyword.Unknown,    -1
        };

        public static readonly int32_t[] kOutlineStyleKTable = {
          (int)nsCSSKeyword.None,   nsStyle.BorderStyleNone,
          (int)nsCSSKeyword.Auto,   nsStyle.BorderStyleAuto,
          (int)nsCSSKeyword.Dotted, nsStyle.BorderStyleDotted,
          (int)nsCSSKeyword.Dashed, nsStyle.BorderStyleDashed,
          (int)nsCSSKeyword.Solid,  nsStyle.BorderStyleSolid,
          (int)nsCSSKeyword.Double, nsStyle.BorderStyleDouble,
          (int)nsCSSKeyword.Groove, nsStyle.BorderStyleGroove,
          (int)nsCSSKeyword.Ridge,  nsStyle.BorderStyleRidge,
          (int)nsCSSKeyword.Inset,  nsStyle.BorderStyleInset,
          (int)nsCSSKeyword.Outset, nsStyle.BorderStyleOutset,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kOutlineColorKTable = {
          (int)nsCSSKeyword.MozUseTextColor, nsStyle.ColorMozUseTextColor,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kOverflowKTable = {
          (int)nsCSSKeyword.Auto, nsStyle.OverflowAuto,
          (int)nsCSSKeyword.Visible, nsStyle.OverflowVisible,
          (int)nsCSSKeyword.Hidden, nsStyle.OverflowHidden,
          (int)nsCSSKeyword.Scroll, nsStyle.OverflowScroll,
          // Deprecated:
          (int)nsCSSKeyword.MozScrollbarsNone, nsStyle.OverflowHidden,
          (int)nsCSSKeyword.MozScrollbarsHorizontal, nsStyle.OverflowScrollbarsHorizontal,
          (int)nsCSSKeyword.MozScrollbarsVertical, nsStyle.OverflowScrollbarsVertical,
          (int)nsCSSKeyword.MozHiddenUnscrollable, nsStyle.OverflowClip,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kOverflowSubKTable = {
          (int)nsCSSKeyword.Auto, nsStyle.OverflowAuto,
          (int)nsCSSKeyword.Visible, nsStyle.OverflowVisible,
          (int)nsCSSKeyword.Hidden, nsStyle.OverflowHidden,
          (int)nsCSSKeyword.Scroll, nsStyle.OverflowScroll,
          // Deprecated:
          (int)nsCSSKeyword.MozHiddenUnscrollable, nsStyle.OverflowClip,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kPageBreakKTable = {
          (int)nsCSSKeyword.Auto, nsStyle.PageBreakAuto,
          (int)nsCSSKeyword.Always, nsStyle.PageBreakAlways,
          (int)nsCSSKeyword.Avoid, nsStyle.PageBreakAvoid,
          (int)nsCSSKeyword.Left, nsStyle.PageBreakLeft,
          (int)nsCSSKeyword.Right, nsStyle.PageBreakRight,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kPageBreakInsideKTable = {
          (int)nsCSSKeyword.Auto, nsStyle.PageBreakAuto,
          (int)nsCSSKeyword.Avoid, nsStyle.PageBreakAvoid,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kPageMarksKTable = {
          (int)nsCSSKeyword.None, nsStyle.PageMarksNone,
          (int)nsCSSKeyword.Crop, nsStyle.PageMarksCrop,
          (int)nsCSSKeyword.Cross, nsStyle.PageMarksRegister,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kPageSizeKTable = {
          (int)nsCSSKeyword.Landscape, nsStyle.PageSizeLandscape,
          (int)nsCSSKeyword.Portrait, nsStyle.PageSizePortrait,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kPointerEventsKTable = {
          (int)nsCSSKeyword.None, nsStyle.PointerEventsNone,
          (int)nsCSSKeyword.Visiblepainted, nsStyle.PointerEventsVisiblepainted,
          (int)nsCSSKeyword.Visiblefill, nsStyle.PointerEventsVisiblefill,
          (int)nsCSSKeyword.Visiblestroke, nsStyle.PointerEventsVisiblestroke,
          (int)nsCSSKeyword.Visible, nsStyle.PointerEventsVisible,
          (int)nsCSSKeyword.Painted, nsStyle.PointerEventsPainted,
          (int)nsCSSKeyword.Fill, nsStyle.PointerEventsFill,
          (int)nsCSSKeyword.Stroke, nsStyle.PointerEventsStroke,
          (int)nsCSSKeyword.All, nsStyle.PointerEventsAll,
          (int)nsCSSKeyword.Auto, nsStyle.PointerEventsAuto,
          (int)nsCSSKeyword.Unknown, -1
        };

        public static readonly int32_t[] kPositionKTable = {
          (int)nsCSSKeyword.Static, nsStyle.PositionStatic,
          (int)nsCSSKeyword.Relative, nsStyle.PositionRelative,
          (int)nsCSSKeyword.Absolute, nsStyle.PositionAbsolute,
          (int)nsCSSKeyword.Fixed, nsStyle.PositionFixed,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kRadialGradientShapeKTable = {
          (int)nsCSSKeyword.Circle,  nsStyle.GradientShapeCircular,
          (int)nsCSSKeyword.Ellipse, nsStyle.GradientShapeElliptical,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kRadialGradientSizeKTable = {
          (int)nsCSSKeyword.ClosestSide,    nsStyle.GradientSizeClosestSide,
          (int)nsCSSKeyword.ClosestCorner,  nsStyle.GradientSizeClosestCorner,
          (int)nsCSSKeyword.FarthestSide,   nsStyle.GradientSizeFarthestSide,
          (int)nsCSSKeyword.FarthestCorner, nsStyle.GradientSizeFarthestCorner,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kRadialGradientLegacySizeKTable = {
          (int)nsCSSKeyword.ClosestSide,    nsStyle.GradientSizeClosestSide,
          (int)nsCSSKeyword.ClosestCorner,  nsStyle.GradientSizeClosestCorner,
          (int)nsCSSKeyword.FarthestSide,   nsStyle.GradientSizeFarthestSide,
          (int)nsCSSKeyword.FarthestCorner, nsStyle.GradientSizeFarthestCorner,
          // synonyms
          (int)nsCSSKeyword.Contain,         nsStyle.GradientSizeClosestSide,
          (int)nsCSSKeyword.Cover,           nsStyle.GradientSizeFarthestCorner,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kResizeKTable = {
          (int)nsCSSKeyword.None,       nsStyle.ResizeNone,
          (int)nsCSSKeyword.Both,       nsStyle.ResizeBoth,
          (int)nsCSSKeyword.Horizontal, nsStyle.ResizeHorizontal,
          (int)nsCSSKeyword.Vertical,   nsStyle.ResizeVertical,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kStackSizingKTable = {
          (int)nsCSSKeyword.Ignore, nsStyle.StackSizingIgnore,
          (int)nsCSSKeyword.StretchToFit, nsStyle.StackSizingStretchToFit,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kTableLayoutKTable = {
          (int)nsCSSKeyword.Auto, nsStyle.TableLayoutAuto,
          (int)nsCSSKeyword.Fixed, nsStyle.TableLayoutFixed,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kTextAlignKTable = {
          (int)nsCSSKeyword.Left, nsStyle.TextAlignLeft,
          (int)nsCSSKeyword.Right, nsStyle.TextAlignRight,
          (int)nsCSSKeyword.Center, nsStyle.TextAlignCenter,
          (int)nsCSSKeyword.Justify, nsStyle.TextAlignJustify,
          (int)nsCSSKeyword.MozCenter, nsStyle.TextAlignMozCenter,
          (int)nsCSSKeyword.MozRight, nsStyle.TextAlignMozRight,
          (int)nsCSSKeyword.MozLeft, nsStyle.TextAlignMozLeft,
          (int)nsCSSKeyword.Start, nsStyle.TextAlignDefault,
          (int)nsCSSKeyword.End, nsStyle.TextAlignEnd,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kTextAlignLastKTable = {
          (int)nsCSSKeyword.Auto, nsStyle.TextAlignAuto,
          (int)nsCSSKeyword.Left, nsStyle.TextAlignLeft,
          (int)nsCSSKeyword.Right, nsStyle.TextAlignRight,
          (int)nsCSSKeyword.Center, nsStyle.TextAlignCenter,
          (int)nsCSSKeyword.Justify, nsStyle.TextAlignJustify,
          (int)nsCSSKeyword.Start, nsStyle.TextAlignDefault,
          (int)nsCSSKeyword.End, nsStyle.TextAlignEnd,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kTextBlinkKTable = {
          (int)nsCSSKeyword.None, nsStyle.TextBlinkNone,
          (int)nsCSSKeyword.Blink, nsStyle.TextBlinkBlink,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kTextDecorationLineKTable = {
          (int)nsCSSKeyword.None, nsStyle.TextDecorationLineNone,
          (int)nsCSSKeyword.Underline, nsStyle.TextDecorationLineUnderline,
          (int)nsCSSKeyword.Overline, nsStyle.TextDecorationLineOverline,
          (int)nsCSSKeyword.LineThrough, nsStyle.TextDecorationLineLineThrough,
          (int)nsCSSKeyword.MozAnchorDecoration, nsStyle.TextDecorationLinePrefAnchors,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kTextDecorationStyleKTable = {
          (int)nsCSSKeyword.MozNone, nsStyle.TextDecorationStyleNone,
          (int)nsCSSKeyword.Solid, nsStyle.TextDecorationStyleSolid,
          (int)nsCSSKeyword.Double, nsStyle.TextDecorationStyleDouble,
          (int)nsCSSKeyword.Dotted, nsStyle.TextDecorationStyleDotted,
          (int)nsCSSKeyword.Dashed, nsStyle.TextDecorationStyleDashed,
          (int)nsCSSKeyword.Wavy, nsStyle.TextDecorationStyleWavy,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kTextOverflowKTable = {
          (int)nsCSSKeyword.Clip, nsStyle.TextOverflowClip,
          (int)nsCSSKeyword.Ellipsis, nsStyle.TextOverflowEllipsis,
          (int)nsCSSKeyword.Unknown, -1
        };

        public static readonly int32_t[] kTextTransformKTable = {
          (int)nsCSSKeyword.None, nsStyle.TextTransformNone,
          (int)nsCSSKeyword.Capitalize, nsStyle.TextTransformCapitalize,
          (int)nsCSSKeyword.Lowercase, nsStyle.TextTransformLowercase,
          (int)nsCSSKeyword.Uppercase, nsStyle.TextTransformUppercase,
          (int)nsCSSKeyword.FullWidth, nsStyle.TextTransformFullwidth,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kTransitionTimingFunctionKTable = {
          (int)nsCSSKeyword.Ease, nsStyle.TransitionTimingFunctionEase,
          (int)nsCSSKeyword.Linear, nsStyle.TransitionTimingFunctionLinear,
          (int)nsCSSKeyword.EaseIn, nsStyle.TransitionTimingFunctionEaseIn,
          (int)nsCSSKeyword.EaseOut, nsStyle.TransitionTimingFunctionEaseOut,
          (int)nsCSSKeyword.EaseInOut, nsStyle.TransitionTimingFunctionEaseInOut,
          (int)nsCSSKeyword.StepStart, nsStyle.TransitionTimingFunctionStepStart,
          (int)nsCSSKeyword.StepEnd, nsStyle.TransitionTimingFunctionStepEnd,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kUnicodeBidiKTable = {
          (int)nsCSSKeyword.Normal, nsStyle.UnicodeBidiNormal,
          (int)nsCSSKeyword.Embed, nsStyle.UnicodeBidiEmbed,
          (int)nsCSSKeyword.BidiOverride, nsStyle.UnicodeBidiOverride,
          (int)nsCSSKeyword.MozIsolate, nsStyle.UnicodeBidiIsolate,
          (int)nsCSSKeyword.MozIsolateOverride, nsStyle.UnicodeBidiIsolateOverride,
          (int)nsCSSKeyword.MozPlaintext, nsStyle.UnicodeBidiPlaintext,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kUserFocusKTable = {
          (int)nsCSSKeyword.None,           nsStyle.UserFocusNone,
          (int)nsCSSKeyword.Normal,         nsStyle.UserFocusNormal,
          (int)nsCSSKeyword.Ignore,         nsStyle.UserFocusIgnore,
          (int)nsCSSKeyword.SelectAll,     nsStyle.UserFocusSelectAll,
          (int)nsCSSKeyword.SelectBefore,  nsStyle.UserFocusSelectBefore,
          (int)nsCSSKeyword.SelectAfter,   nsStyle.UserFocusSelectAfter,
          (int)nsCSSKeyword.SelectSame,    nsStyle.UserFocusSelectSame,
          (int)nsCSSKeyword.SelectMenu,    nsStyle.UserFocusSelectMenu,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kUserInputKTable = {
          (int)nsCSSKeyword.None,     nsStyle.UserInputNone,
          (int)nsCSSKeyword.Auto,     nsStyle.UserInputAuto,
          (int)nsCSSKeyword.Enabled,  nsStyle.UserInputEnabled,
          (int)nsCSSKeyword.Disabled, nsStyle.UserInputDisabled,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kUserModifyKTable = {
          (int)nsCSSKeyword.ReadOnly,  nsStyle.UserModifyReadOnly,
          (int)nsCSSKeyword.ReadWrite, nsStyle.UserModifyReadWrite,
          (int)nsCSSKeyword.WriteOnly, nsStyle.UserModifyWriteOnly,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kUserSelectKTable = {
          (int)nsCSSKeyword.None,       nsStyle.UserSelectNone,
          (int)nsCSSKeyword.Auto,       nsStyle.UserSelectAuto,
          (int)nsCSSKeyword.Text,       nsStyle.UserSelectText,
          (int)nsCSSKeyword.Element,    nsStyle.UserSelectElement,
          (int)nsCSSKeyword.Elements,   nsStyle.UserSelectElements,
          (int)nsCSSKeyword.All,        nsStyle.UserSelectAll,
          (int)nsCSSKeyword.Toggle,     nsStyle.UserSelectToggle,
          (int)nsCSSKeyword.TriState,  nsStyle.UserSelectTriState,
          (int)nsCSSKeyword.MozAll,   nsStyle.UserSelectMozAll,
          (int)nsCSSKeyword.MozNone,  nsStyle.UserSelectNone,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kVerticalAlignKTable = {
          (int)nsCSSKeyword.Baseline, nsStyle.VerticalAlignBaseline,
          (int)nsCSSKeyword.Sub, nsStyle.VerticalAlignSub,
          (int)nsCSSKeyword.Super, nsStyle.VerticalAlignSuper,
          (int)nsCSSKeyword.Top, nsStyle.VerticalAlignTop,
          (int)nsCSSKeyword.TextTop, nsStyle.VerticalAlignTextTop,
          (int)nsCSSKeyword.Middle, nsStyle.VerticalAlignMiddle,
          (int)nsCSSKeyword.MozMiddleWithBaseline, nsStyle.VerticalAlignMiddleWithBaseline,
          (int)nsCSSKeyword.Bottom, nsStyle.VerticalAlignBottom,
          (int)nsCSSKeyword.TextBottom, nsStyle.VerticalAlignTextBottom,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kVisibilityKTable = {
          (int)nsCSSKeyword.Visible, nsStyle.VisibilityVisible,
          (int)nsCSSKeyword.Hidden, nsStyle.VisibilityHidden,
          (int)nsCSSKeyword.Collapse, nsStyle.VisibilityCollapse,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kWhitespaceKTable = {
          (int)nsCSSKeyword.Normal, nsStyle.WhitespaceNormal,
          (int)nsCSSKeyword.Pre, nsStyle.WhitespacePre,
          (int)nsCSSKeyword.Nowrap, nsStyle.WhitespaceNowrap,
          (int)nsCSSKeyword.PreWrap, nsStyle.WhitespacePreWrap,
          (int)nsCSSKeyword.PreLine, nsStyle.WhitespacePreLine,
          (int)nsCSSKeyword.MozPreDiscardNewlines, nsStyle.WhitespacePreDiscardNewlines,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kWidthKTable = {
          (int)nsCSSKeyword.MozMaxContent, nsStyle.WidthMaxContent,
          (int)nsCSSKeyword.MozMinContent, nsStyle.WidthMinContent,
          (int)nsCSSKeyword.MozFitContent, nsStyle.WidthFitContent,
          (int)nsCSSKeyword.MozAvailable, nsStyle.WidthAvailable,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kWindowShadowKTable = {
          (int)nsCSSKeyword.None, nsStyle.WindowShadowNone,
          (int)nsCSSKeyword.Default, nsStyle.WindowShadowDefault,
          (int)nsCSSKeyword.Menu, nsStyle.WindowShadowMenu,
          (int)nsCSSKeyword.Tooltip, nsStyle.WindowShadowTooltip,
          (int)nsCSSKeyword.Sheet, nsStyle.WindowShadowSheet,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kWordBreakKTable = {
          (int)nsCSSKeyword.Normal, nsStyle.WordbreakNormal,
          (int)nsCSSKeyword.BreakAll, nsStyle.WordbreakBreakAll,
          (int)nsCSSKeyword.KeepAll, nsStyle.WordbreakKeepAll,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kWordWrapKTable = {
          (int)nsCSSKeyword.Normal, nsStyle.WordwrapNormal,
          (int)nsCSSKeyword.BreakWord, nsStyle.WordwrapBreakWord,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kHyphensKTable = {
          (int)nsCSSKeyword.None, nsStyle.HyphensNone,
          (int)nsCSSKeyword.Manual, nsStyle.HyphensManual,
          (int)nsCSSKeyword.Auto, nsStyle.HyphensAuto,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kBoxAlignKTable = {
          (int)nsCSSKeyword.Stretch,  nsStyle.BoxAlignStretch,
          (int)nsCSSKeyword.Start,   nsStyle.BoxAlignStart,
          (int)nsCSSKeyword.Center, nsStyle.BoxAlignCenter,
          (int)nsCSSKeyword.Baseline, nsStyle.BoxAlignBaseline,
          (int)nsCSSKeyword.End, nsStyle.BoxAlignEnd,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kBoxDirectionKTable = {
          (int)nsCSSKeyword.Normal,  nsStyle.BoxDirectionNormal,
          (int)nsCSSKeyword.Reverse,   nsStyle.BoxDirectionReverse,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kBoxOrientKTable = {
          (int)nsCSSKeyword.Horizontal,  nsStyle.BoxOrientHorizontal,
          (int)nsCSSKeyword.Vertical,   nsStyle.BoxOrientVertical,
          (int)nsCSSKeyword.InlineAxis, nsStyle.BoxOrientHorizontal,
          (int)nsCSSKeyword.BlockAxis, nsStyle.BoxOrientVertical,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kBoxPackKTable = {
          (int)nsCSSKeyword.Start,  nsStyle.BoxPackStart,
          (int)nsCSSKeyword.Center,   nsStyle.BoxPackCenter,
          (int)nsCSSKeyword.End, nsStyle.BoxPackEnd,
          (int)nsCSSKeyword.Justify, nsStyle.BoxPackJustify,
          (int)nsCSSKeyword.Unknown,-1
        };

        public static readonly int32_t[] kDominantBaselineKTable = {
          (int)nsCSSKeyword.Auto, nsStyle.DominantBaselineAuto,
          (int)nsCSSKeyword.UseScript, nsStyle.DominantBaselineUseScript,
          (int)nsCSSKeyword.NoChange, nsStyle.DominantBaselineNoChange,
          (int)nsCSSKeyword.ResetSize, nsStyle.DominantBaselineResetSize,
          (int)nsCSSKeyword.Alphabetic, nsStyle.DominantBaselineAlphabetic,
          (int)nsCSSKeyword.Hanging, nsStyle.DominantBaselineHanging,
          (int)nsCSSKeyword.Ideographic, nsStyle.DominantBaselineIdeographic,
          (int)nsCSSKeyword.Mathematical, nsStyle.DominantBaselineMathematical,
          (int)nsCSSKeyword.Central, nsStyle.DominantBaselineCentral,
          (int)nsCSSKeyword.Middle, nsStyle.DominantBaselineMiddle,
          (int)nsCSSKeyword.TextAfterEdge, nsStyle.DominantBaselineTextAfterEdge,
          (int)nsCSSKeyword.TextBeforeEdge, nsStyle.DominantBaselineTextBeforeEdge,
          (int)nsCSSKeyword.Unknown, -1
        };

        public static readonly int32_t[] kFillRuleKTable = {
          (int)nsCSSKeyword.Nonzero, nsStyle.FillRuleNonzero,
          (int)nsCSSKeyword.Evenodd, nsStyle.FillRuleEvenodd,
          (int)nsCSSKeyword.Unknown, -1
        };

        public static readonly int32_t[] kImageRenderingKTable = {
          (int)nsCSSKeyword.Auto, nsStyle.ImageRenderingAuto,
          (int)nsCSSKeyword.Optimizespeed, nsStyle.ImageRenderingOptimizespeed,
          (int)nsCSSKeyword.Optimizequality, nsStyle.ImageRenderingOptimizequality,
          (int)nsCSSKeyword.MozCrispEdges, nsStyle.ImageRenderingCrispedges,
          (int)nsCSSKeyword.Unknown, -1
        };

        public static readonly int32_t[] kMaskTypeKTable = {
          (int)nsCSSKeyword.Luminance, nsStyle.MaskTypeLuminance,
          (int)nsCSSKeyword.Alpha, nsStyle.MaskTypeAlpha,
          (int)nsCSSKeyword.Unknown, -1
        };

        public static readonly int32_t[] kShapeRenderingKTable = {
          (int)nsCSSKeyword.Auto, nsStyle.ShapeRenderingAuto,
          (int)nsCSSKeyword.Optimizespeed, nsStyle.ShapeRenderingOptimizespeed,
          (int)nsCSSKeyword.Crispedges, nsStyle.ShapeRenderingCrispedges,
          (int)nsCSSKeyword.Geometricprecision, nsStyle.ShapeRenderingGeometricprecision,
          (int)nsCSSKeyword.Unknown, -1
        };

        public static readonly int32_t[] kStrokeLinecapKTable = {
          (int)nsCSSKeyword.Butt, nsStyle.StrokeLinecapButt,
          (int)nsCSSKeyword.Round, nsStyle.StrokeLinecapRound,
          (int)nsCSSKeyword.Square, nsStyle.StrokeLinecapSquare,
          (int)nsCSSKeyword.Unknown, -1
        };

        public static readonly int32_t[] kStrokeLinejoinKTable = {
          (int)nsCSSKeyword.Miter, nsStyle.StrokeLinejoinMiter,
          (int)nsCSSKeyword.Round, nsStyle.StrokeLinejoinRound,
          (int)nsCSSKeyword.Bevel, nsStyle.StrokeLinejoinBevel,
          (int)nsCSSKeyword.Unknown, -1
        };

        public static readonly int32_t[] kStrokeObjectValueKTable = {
          (int)nsCSSKeyword.MozObjectvalue, nsStyle.StrokePropObjectvalue,
          (int)nsCSSKeyword.Unknown, -1
        };

        public static readonly int32_t[] kTextAnchorKTable = {
          (int)nsCSSKeyword.Start, nsStyle.TextAnchorStart,
          (int)nsCSSKeyword.Middle, nsStyle.TextAnchorMiddle,
          (int)nsCSSKeyword.End, nsStyle.TextAnchorEnd,
          (int)nsCSSKeyword.Unknown, -1
        };

        public static readonly int32_t[] kTextRenderingKTable = {
          (int)nsCSSKeyword.Auto, nsStyle.TextRenderingAuto,
          (int)nsCSSKeyword.Optimizespeed, nsStyle.TextRenderingOptimizespeed,
          (int)nsCSSKeyword.Optimizelegibility, nsStyle.TextRenderingOptimizelegibility,
          (int)nsCSSKeyword.Geometricprecision, nsStyle.TextRenderingGeometricprecision,
          (int)nsCSSKeyword.Unknown, -1
        };

        public static readonly int32_t[] kVectorEffectKTable = {
          (int)nsCSSKeyword.None, nsStyle.VectorEffectNone,
          (int)nsCSSKeyword.NonScalingStroke, nsStyle.VectorEffectNonScalingStroke,
          (int)nsCSSKeyword.Unknown, -1
        };

        public static readonly int32_t[] kColorInterpolationKTable = {
          (int)nsCSSKeyword.Auto, nsStyle.ColorInterpolationAuto,
          (int)nsCSSKeyword.Srgb, nsStyle.ColorInterpolationSrgb,
          (int)nsCSSKeyword.Linearrgb, nsStyle.ColorInterpolationLinearrgb,
          (int)nsCSSKeyword.Unknown, -1
        };

        public static readonly int32_t[] kColumnFillKTable = {
          (int)nsCSSKeyword.Auto, nsStyle.ColumnFillAuto,
          (int)nsCSSKeyword.Balance, nsStyle.ColumnFillBalance,
          (int)nsCSSKeyword.Unknown, -1
        };

        public static readonly nsCSSProperty[] gAnimationSubpropTable = {
          nsCSSProperty.AnimationDuration,
          nsCSSProperty.AnimationTimingFunction,
          nsCSSProperty.AnimationDelay,
          nsCSSProperty.AnimationDirection,
          nsCSSProperty.AnimationFillMode,
          nsCSSProperty.AnimationIterationCount,
          // List animation-name last so we serialize it last, in case it has
          // a value that conflicts with one of the other properties.  (See
          // how Declaration::GetValue serializes 'animation'.
          nsCSSProperty.AnimationName,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderRadiusSubpropTable = {
          // Code relies on these being in topleft-topright-bottomright-bottomleft
          // order.
          nsCSSProperty.BorderTopLeftRadius,
          nsCSSProperty.BorderTopRightRadius,
          nsCSSProperty.BorderBottomRightRadius,
          nsCSSProperty.BorderBottomLeftRadius,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gOutlineRadiusSubpropTable = {
          // Code relies on these being in topleft-topright-bottomright-bottomleft
          // order.
          nsCSSProperty.MozOutlineRadiusTopLeft,
          nsCSSProperty.MozOutlineRadiusTopRight,
          nsCSSProperty.MozOutlineRadiusBottomRight,
          nsCSSProperty.MozOutlineRadiusBottomLeft,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBackgroundSubpropTable = {
          nsCSSProperty.BackgroundColor,
          nsCSSProperty.BackgroundImage,
          nsCSSProperty.BackgroundRepeat,
          nsCSSProperty.BackgroundAttachment,
          nsCSSProperty.BackgroundPosition,
          nsCSSProperty.BackgroundClip,
          nsCSSProperty.BackgroundOrigin,
          nsCSSProperty.BackgroundSize,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderSubpropTable = {
          nsCSSProperty.BorderTopWidth,
          nsCSSProperty.BorderRightWidthValue,
          nsCSSProperty.BorderRightWidthLtrSource,
          nsCSSProperty.BorderRightWidthRtlSource,
          nsCSSProperty.BorderBottomWidth,
          nsCSSProperty.BorderLeftWidthValue,
          nsCSSProperty.BorderLeftWidthLtrSource,
          nsCSSProperty.BorderLeftWidthRtlSource,
          nsCSSProperty.BorderTopStyle,
          nsCSSProperty.BorderRightStyleValue,
          nsCSSProperty.BorderRightStyleLtrSource,
          nsCSSProperty.BorderRightStyleRtlSource,
          nsCSSProperty.BorderBottomStyle,
          nsCSSProperty.BorderLeftStyleValue,
          nsCSSProperty.BorderLeftStyleLtrSource,
          nsCSSProperty.BorderLeftStyleRtlSource,
          nsCSSProperty.BorderTopColor,
          nsCSSProperty.BorderRightColorValue,
          nsCSSProperty.BorderRightColorLtrSource,
          nsCSSProperty.BorderRightColorRtlSource,
          nsCSSProperty.BorderBottomColor,
          nsCSSProperty.BorderLeftColorValue,
          nsCSSProperty.BorderLeftColorLtrSource,
          nsCSSProperty.BorderLeftColorRtlSource,
          nsCSSProperty.BorderTopColors,
          nsCSSProperty.BorderRightColors,
          nsCSSProperty.BorderBottomColors,
          nsCSSProperty.BorderLeftColors,
          nsCSSProperty.BorderImageSource,
          nsCSSProperty.BorderImageSlice,
          nsCSSProperty.BorderImageWidth,
          nsCSSProperty.BorderImageOutset,
          nsCSSProperty.BorderImageRepeat,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderBottomSubpropTable = {
          // nsCSSDeclaration.cpp outputs the subproperties in this order.
          // It also depends on the color being third.
          nsCSSProperty.BorderBottomWidth,
          nsCSSProperty.BorderBottomStyle,
          nsCSSProperty.BorderBottomColor,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderColorSubpropTable = {
          // Code relies on these being in top-right-bottom-left order.
          // Code relies on these matching the NS_SIDE_* constants.
          nsCSSProperty.BorderTopColor,
          nsCSSProperty.BorderRightColorValue,
          nsCSSProperty.BorderBottomColor,
          nsCSSProperty.BorderLeftColorValue,
          // extras:
          nsCSSProperty.BorderLeftColorLtrSource,
          nsCSSProperty.BorderLeftColorRtlSource,
          nsCSSProperty.BorderRightColorLtrSource,
          nsCSSProperty.BorderRightColorRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderEndColorSubpropTable = {
          // nsCSSParser::ParseDirectionalBoxProperty depends on this order
          nsCSSProperty.BorderEndColorValue,
          nsCSSProperty.BorderRightColorLtrSource,
          nsCSSProperty.BorderLeftColorRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderLeftColorSubpropTable = {
          // nsCSSParser::ParseDirectionalBoxProperty depends on this order
          nsCSSProperty.BorderLeftColorValue,
          nsCSSProperty.BorderLeftColorLtrSource,
          nsCSSProperty.BorderLeftColorRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderRightColorSubpropTable = {
          // nsCSSParser::ParseDirectionalBoxProperty depends on this order
          nsCSSProperty.BorderRightColorValue,
          nsCSSProperty.BorderRightColorLtrSource,
          nsCSSProperty.BorderRightColorRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderStartColorSubpropTable = {
          // nsCSSParser::ParseDirectionalBoxProperty depends on this order
          nsCSSProperty.BorderStartColorValue,
          nsCSSProperty.BorderLeftColorLtrSource,
          nsCSSProperty.BorderRightColorRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderEndSubpropTable = {
          // nsCSSDeclaration.cpp output the subproperties in this order.
          // It also depends on the color being third.
          nsCSSProperty.BorderEndWidthValue,
          nsCSSProperty.BorderEndStyleValue,
          nsCSSProperty.BorderEndColorValue,
          // extras:
          nsCSSProperty.BorderRightWidthLtrSource,
          nsCSSProperty.BorderLeftWidthRtlSource,
          nsCSSProperty.BorderRightStyleLtrSource,
          nsCSSProperty.BorderLeftStyleRtlSource,
          nsCSSProperty.BorderRightColorLtrSource,
          nsCSSProperty.BorderLeftColorRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderLeftSubpropTable = {
          // nsCSSDeclaration.cpp outputs the subproperties in this order.
          // It also depends on the color being third.
          nsCSSProperty.BorderLeftWidthValue,
          nsCSSProperty.BorderLeftStyleValue,
          nsCSSProperty.BorderLeftColorValue,
          // extras:
          nsCSSProperty.BorderLeftWidthLtrSource,
          nsCSSProperty.BorderLeftWidthRtlSource,
          nsCSSProperty.BorderLeftStyleLtrSource,
          nsCSSProperty.BorderLeftStyleRtlSource,
          nsCSSProperty.BorderLeftColorLtrSource,
          nsCSSProperty.BorderLeftColorRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderRightSubpropTable = {
          // nsCSSDeclaration.cpp outputs the subproperties in this order.
          // It also depends on the color being third.
          nsCSSProperty.BorderRightWidthValue,
          nsCSSProperty.BorderRightStyleValue,
          nsCSSProperty.BorderRightColorValue,
          // extras:
          nsCSSProperty.BorderRightWidthLtrSource,
          nsCSSProperty.BorderRightWidthRtlSource,
          nsCSSProperty.BorderRightStyleLtrSource,
          nsCSSProperty.BorderRightStyleRtlSource,
          nsCSSProperty.BorderRightColorLtrSource,
          nsCSSProperty.BorderRightColorRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderStartSubpropTable = {
          // nsCSSDeclaration.cpp outputs the subproperties in this order.
          // It also depends on the color being third.
          nsCSSProperty.BorderStartWidthValue,
          nsCSSProperty.BorderStartStyleValue,
          nsCSSProperty.BorderStartColorValue,
          // extras:
          nsCSSProperty.BorderLeftWidthLtrSource,
          nsCSSProperty.BorderRightWidthRtlSource,
          nsCSSProperty.BorderLeftStyleLtrSource,
          nsCSSProperty.BorderRightStyleRtlSource,
          nsCSSProperty.BorderLeftColorLtrSource,
          nsCSSProperty.BorderRightColorRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderStyleSubpropTable = {
          // Code relies on these being in top-right-bottom-left order.
          nsCSSProperty.BorderTopStyle,
          nsCSSProperty.BorderRightStyleValue,
          nsCSSProperty.BorderBottomStyle,
          nsCSSProperty.BorderLeftStyleValue,
          // extras:
          nsCSSProperty.BorderLeftStyleLtrSource,
          nsCSSProperty.BorderLeftStyleRtlSource,
          nsCSSProperty.BorderRightStyleLtrSource,
          nsCSSProperty.BorderRightStyleRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderLeftStyleSubpropTable = {
          // nsCSSParser::ParseDirectionalBoxProperty depends on this order
          nsCSSProperty.BorderLeftStyleValue,
          nsCSSProperty.BorderLeftStyleLtrSource,
          nsCSSProperty.BorderLeftStyleRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderRightStyleSubpropTable = {
          // nsCSSParser::ParseDirectionalBoxProperty depends on this order
          nsCSSProperty.BorderRightStyleValue,
          nsCSSProperty.BorderRightStyleLtrSource,
          nsCSSProperty.BorderRightStyleRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderStartStyleSubpropTable = {
          // nsCSSParser::ParseDirectionalBoxProperty depends on this order
          nsCSSProperty.BorderStartStyleValue,
          nsCSSProperty.BorderLeftStyleLtrSource,
          nsCSSProperty.BorderRightStyleRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderEndStyleSubpropTable = {
          // nsCSSParser::ParseDirectionalBoxProperty depends on this order
          nsCSSProperty.BorderEndStyleValue,
          nsCSSProperty.BorderRightStyleLtrSource,
          nsCSSProperty.BorderLeftStyleRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderTopSubpropTable = {
          // nsCSSDeclaration.cpp outputs the subproperties in this order.
          // It also depends on the color being third.
          nsCSSProperty.BorderTopWidth,
          nsCSSProperty.BorderTopStyle,
          nsCSSProperty.BorderTopColor,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderWidthSubpropTable = {
          // Code relies on these being in top-right-bottom-left order.
          nsCSSProperty.BorderTopWidth,
          nsCSSProperty.BorderRightWidthValue,
          nsCSSProperty.BorderBottomWidth,
          nsCSSProperty.BorderLeftWidthValue,
          // extras:
          nsCSSProperty.BorderLeftWidthLtrSource,
          nsCSSProperty.BorderLeftWidthRtlSource,
          nsCSSProperty.BorderRightWidthLtrSource,
          nsCSSProperty.BorderRightWidthRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderLeftWidthSubpropTable = {
          // nsCSSParser::ParseDirectionalBoxProperty depends on this order
          nsCSSProperty.BorderLeftWidthValue,
          nsCSSProperty.BorderLeftWidthLtrSource,
          nsCSSProperty.BorderLeftWidthRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderRightWidthSubpropTable = {
          // nsCSSParser::ParseDirectionalBoxProperty depends on this order
          nsCSSProperty.BorderRightWidthValue,
          nsCSSProperty.BorderRightWidthLtrSource,
          nsCSSProperty.BorderRightWidthRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderStartWidthSubpropTable = {
          // nsCSSParser::ParseDirectionalBoxProperty depends on this order
          nsCSSProperty.BorderStartWidthValue,
          nsCSSProperty.BorderLeftWidthLtrSource,
          nsCSSProperty.BorderRightWidthRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderEndWidthSubpropTable = {
          // nsCSSParser::ParseDirectionalBoxProperty depends on this order
          nsCSSProperty.BorderEndWidthValue,
          nsCSSProperty.BorderRightWidthLtrSource,
          nsCSSProperty.BorderLeftWidthRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gFontSubpropTable = {
          nsCSSProperty.FontFamily,
          nsCSSProperty.FontStyle,
          nsCSSProperty.FontVariant,
          nsCSSProperty.FontWeight,
          nsCSSProperty.FontSize,
          nsCSSProperty.LineHeight,
          nsCSSProperty.FontSizeAdjust, // XXX Added LDB.
          nsCSSProperty.FontStretch, // XXX Added LDB.
          nsCSSProperty.XSystemFont,
          nsCSSProperty.FontFeatureSettings,
          nsCSSProperty.FontLanguageOverride,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gListStyleSubpropTable = {
          nsCSSProperty.ListStyleType,
          nsCSSProperty.ListStyleImage,
          nsCSSProperty.ListStylePosition,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gMarginSubpropTable = {
          // Code relies on these being in top-right-bottom-left order.
          nsCSSProperty.MarginTop,
          nsCSSProperty.MarginRightValue,
          nsCSSProperty.MarginBottom,
          nsCSSProperty.MarginLeftValue,
          // extras:
          nsCSSProperty.MarginLeftLtrSource,
          nsCSSProperty.MarginLeftRtlSource,
          nsCSSProperty.MarginRightLtrSource,
          nsCSSProperty.MarginRightRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gMarginLeftSubpropTable = {
          // nsCSSParser::ParseDirectionalBoxProperty depends on this order
          nsCSSProperty.MarginLeftValue,
          nsCSSProperty.MarginLeftLtrSource,
          nsCSSProperty.MarginLeftRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gMarginRightSubpropTable = {
          // nsCSSParser::ParseDirectionalBoxProperty depends on this order
          nsCSSProperty.MarginRightValue,
          nsCSSProperty.MarginRightLtrSource,
          nsCSSProperty.MarginRightRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gMarginStartSubpropTable = {
          // nsCSSParser::ParseDirectionalBoxProperty depends on this order
          nsCSSProperty.MarginStartValue,
          nsCSSProperty.MarginLeftLtrSource,
          nsCSSProperty.MarginRightRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gMarginEndSubpropTable = {
          // nsCSSParser::ParseDirectionalBoxProperty depends on this order
          nsCSSProperty.MarginEndValue,
          nsCSSProperty.MarginRightLtrSource,
          nsCSSProperty.MarginLeftRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gOutlineSubpropTable = {
          // nsCSSDeclaration.cpp outputs the subproperties in this order.
          // It also depends on the color being third.
          nsCSSProperty.OutlineWidth,
          nsCSSProperty.OutlineStyle,
          nsCSSProperty.OutlineColor,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gColumnsSubpropTable = {
          nsCSSProperty.MozColumnCount,
          nsCSSProperty.MozColumnWidth,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gColumnRuleSubpropTable = {
          // nsCSSDeclaration.cpp outputs the subproperties in this order.
          // It also depends on the color being third.
          nsCSSProperty.MozColumnRuleWidth,
          nsCSSProperty.MozColumnRuleStyle,
          nsCSSProperty.MozColumnRuleColor,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gFlexSubpropTable = {
          nsCSSProperty.FlexGrow,
          nsCSSProperty.FlexShrink,
          nsCSSProperty.FlexBasis,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gOverflowSubpropTable = {
          nsCSSProperty.OverflowX,
          nsCSSProperty.OverflowY,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gPaddingSubpropTable = {
          // Code relies on these being in top-right-bottom-left order.
          nsCSSProperty.PaddingTop,
          nsCSSProperty.PaddingRightValue,
          nsCSSProperty.PaddingBottom,
          nsCSSProperty.PaddingLeftValue,
          // extras:
          nsCSSProperty.PaddingLeftLtrSource,
          nsCSSProperty.PaddingLeftRtlSource,
          nsCSSProperty.PaddingRightLtrSource,
          nsCSSProperty.PaddingRightRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gPaddingLeftSubpropTable = {
          // nsCSSParser::ParseDirectionalBoxProperty depends on this order
          nsCSSProperty.PaddingLeftValue,
          nsCSSProperty.PaddingLeftLtrSource,
          nsCSSProperty.PaddingLeftRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gPaddingRightSubpropTable = {
          // nsCSSParser::ParseDirectionalBoxProperty depends on this order
          nsCSSProperty.PaddingRightValue,
          nsCSSProperty.PaddingRightLtrSource,
          nsCSSProperty.PaddingRightRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gPaddingStartSubpropTable = {
          // nsCSSParser::ParseDirectionalBoxProperty depends on this order
          nsCSSProperty.PaddingStartValue,
          nsCSSProperty.PaddingLeftLtrSource,
          nsCSSProperty.PaddingRightRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gPaddingEndSubpropTable = {
          // nsCSSParser::ParseDirectionalBoxProperty depends on this order
          nsCSSProperty.PaddingEndValue,
          nsCSSProperty.PaddingRightLtrSource,
          nsCSSProperty.PaddingLeftRtlSource,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gTextDecorationSubpropTable = {
          nsCSSProperty.TextBlink,
          nsCSSProperty.TextDecorationColor,
          nsCSSProperty.TextDecorationLine,
          nsCSSProperty.TextDecorationStyle,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gTransitionSubpropTable = {
          nsCSSProperty.TransitionProperty,
          nsCSSProperty.TransitionDuration,
          nsCSSProperty.TransitionTimingFunction,
          nsCSSProperty.TransitionDelay,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gBorderImageSubpropTable = {
          nsCSSProperty.BorderImageSource,
          nsCSSProperty.BorderImageSlice,
          nsCSSProperty.BorderImageWidth,
          nsCSSProperty.BorderImageOutset,
          nsCSSProperty.BorderImageRepeat,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gMarkerSubpropTable = {
          nsCSSProperty.MarkerStart,
          nsCSSProperty.MarkerMid,
          nsCSSProperty.MarkerEnd,
          nsCSSProperty.Unknown
        };

        public static readonly nsCSSProperty[] gMozTransformSubpropTable = {
          nsCSSProperty.Transform,
          nsCSSProperty.Unknown
        };

        public static readonly int32_t[] kOrientationKeywords = {
          (int)nsCSSKeyword.Portrait,                 nsStyle.OrientationPortrait,
          (int)nsCSSKeyword.Landscape,                nsStyle.OrientationLandscape,
          (int)nsCSSKeyword.Unknown,                  -1
        };

        public static readonly int32_t[] kScanKeywords = {
          (int)nsCSSKeyword.Progressive,              nsStyle.ScanProgressive,
          (int)nsCSSKeyword.Interlace,                nsStyle.ScanInterlace,
          (int)nsCSSKeyword.Unknown,                  -1
        };

    }
}
