UNPKG

catproxy

Version:

a node proxy or host change tools

8 lines 447 kB
/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * monaco-css version: 1.2.1(340b687f6a37c3c300f3f5e4119e3bd3663f0cb9) * Released under the MIT license * https://github.com/Microsoft/monaco-css/blob/master/LICENSE.md *-----------------------------------------------------------------------------*/ !function(e){if("object"==typeof module&&"object"==typeof module.exports){var t=e(require,exports);void 0!==t&&(module.exports=t)}else"function"==typeof define&&define.amd&&define("vscode-css-languageservice/parser/cssScanner",["require","exports"],e)}(function(e,t){!function(e){e[e.Ident=0]="Ident",e[e.AtKeyword=1]="AtKeyword",e[e.String=2]="String",e[e.BadString=3]="BadString",e[e.BadUri=4]="BadUri",e[e.Hash=5]="Hash",e[e.Num=6]="Num",e[e.Percentage=7]="Percentage",e[e.Dimension=8]="Dimension",e[e.URI=9]="URI",e[e.UnicodeRange=10]="UnicodeRange",e[e.CDO=11]="CDO",e[e.CDC=12]="CDC",e[e.Colon=13]="Colon",e[e.SemiColon=14]="SemiColon",e[e.CurlyL=15]="CurlyL",e[e.CurlyR=16]="CurlyR",e[e.ParenthesisL=17]="ParenthesisL",e[e.ParenthesisR=18]="ParenthesisR",e[e.BracketL=19]="BracketL",e[e.BracketR=20]="BracketR",e[e.Whitespace=21]="Whitespace",e[e.Includes=22]="Includes",e[e.Dashmatch=23]="Dashmatch",e[e.SubstringOperator=24]="SubstringOperator",e[e.PrefixOperator=25]="PrefixOperator",e[e.SuffixOperator=26]="SuffixOperator",e[e.Delim=27]="Delim",e[e.EMS=28]="EMS",e[e.EXS=29]="EXS",e[e.Length=30]="Length",e[e.Angle=31]="Angle",e[e.Time=32]="Time",e[e.Freq=33]="Freq",e[e.Exclamation=34]="Exclamation",e[e.Resolution=35]="Resolution",e[e.Comma=36]="Comma",e[e.Charset=37]="Charset",e[e.EscapedJavaScript=38]="EscapedJavaScript",e[e.BadEscapedJavaScript=39]="BadEscapedJavaScript",e[e.Comment=40]="Comment",e[e.SingleLineComment=41]="SingleLineComment",e[e.EOF=42]="EOF",e[e.CustomToken=43]="CustomToken"}(t.TokenType||(t.TokenType={}));var n=t.TokenType,r=function(){function e(e){this.source=e,this.len=e.length,this.position=0}return e.prototype.substring=function(e,t){return void 0===t&&(t=this.position),this.source.substring(e,t)},e.prototype.eos=function(){return this.len<=this.position},e.prototype.pos=function(){return this.position},e.prototype.goBackTo=function(e){this.position=e},e.prototype.goBack=function(e){this.position-=e},e.prototype.advance=function(e){this.position+=e},e.prototype.nextChar=function(){return this.source.charCodeAt(this.position++)||0},e.prototype.peekChar=function(e){return void 0===e&&(e=0),this.source.charCodeAt(this.position+e)||0},e.prototype.lookbackChar=function(e){return void 0===e&&(e=0),this.source.charCodeAt(this.position-e)||0},e.prototype.advanceIfChar=function(e){return e===this.source.charCodeAt(this.position)&&(this.position++,!0)},e.prototype.advanceIfChars=function(e){var t;if(this.position+e.length>this.source.length)return!1;for(t=0;t<e.length;t++)if(this.source.charCodeAt(this.position+t)!==e[t])return!1;return this.advance(t),!0},e.prototype.advanceWhileChar=function(e){for(var t=this.position;this.position<this.len&&e(this.source.charCodeAt(this.position));)this.position++;return this.position-t},e}();t.MultiLineStream=r;var i="a".charCodeAt(0),o="e".charCodeAt(0),s="f".charCodeAt(0),a="i".charCodeAt(0),l="l".charCodeAt(0),c="p".charCodeAt(0),d="r".charCodeAt(0),h="u".charCodeAt(0),p="x".charCodeAt(0),m="z".charCodeAt(0),u="A".charCodeAt(0),f="E".charCodeAt(0),g="F".charCodeAt(0),b="I".charCodeAt(0),y="L".charCodeAt(0),w="P".charCodeAt(0),v="R".charCodeAt(0),x="U".charCodeAt(0),k="X".charCodeAt(0),S="Z".charCodeAt(0),T="0".charCodeAt(0),F="9".charCodeAt(0),E="~".charCodeAt(0),C="^".charCodeAt(0),I="=".charCodeAt(0),P="|".charCodeAt(0),A="-".charCodeAt(0),_="_".charCodeAt(0),D="%".charCodeAt(0),O="*".charCodeAt(0),R="(".charCodeAt(0),z=")".charCodeAt(0),N="<".charCodeAt(0),U=">".charCodeAt(0),j="@".charCodeAt(0),L="#".charCodeAt(0),M="$".charCodeAt(0),B="\\".charCodeAt(0),V="/".charCodeAt(0),q="\n".charCodeAt(0),$="\r".charCodeAt(0),K="\f".charCodeAt(0),W='"'.charCodeAt(0),G="'".charCodeAt(0),H=" ".charCodeAt(0),J="\t".charCodeAt(0),X=";".charCodeAt(0),Y=":".charCodeAt(0),Z="{".charCodeAt(0),Q="}".charCodeAt(0),ee="[".charCodeAt(0),te="]".charCodeAt(0),ne=",".charCodeAt(0),re=".".charCodeAt(0),ie="!".charCodeAt(0),oe=[h,x,d,v,l,y,R,R],se=[h,x,d,v,l,y,A,A,c,w,d,v,o,f,s,g,a,b,p,k,R,R],ae={};ae[X]=n.SemiColon,ae[Y]=n.Colon,ae[Z]=n.CurlyL,ae[Q]=n.CurlyR,ae[te]=n.BracketR,ae[ee]=n.BracketL,ae[R]=n.ParenthesisL,ae[z]=n.ParenthesisR,ae[ne]=n.Comma;var le={};le.em=n.EMS,le.ex=n.EXS,le.px=n.Length,le.cm=n.Length,le.mm=n.Length,le["in"]=n.Length,le.pt=n.Length,le.pc=n.Length,le.deg=n.Angle,le.rad=n.Angle,le.grad=n.Angle,le.ms=n.Time,le.s=n.Time,le.hz=n.Freq,le.khz=n.Freq,le["%"]=n.Percentage,le.dpi=n.Resolution,le.dpcm=n.Resolution;var ce=function(){function e(){this.ignoreComment=!0,this.ignoreWhitespace=!0}return e.prototype.setSource=function(e){this.stream=new r(e)},e.prototype.finishToken=function(e,t,n){return{offset:e,len:this.stream.pos()-e,type:t,text:n||this.stream.substring(e)}},e.prototype.substring=function(e,t){return this.stream.substring(e,e+t)},e.prototype.pos=function(){return this.stream.pos()},e.prototype.goBackTo=function(e){this.stream.goBackTo(e)},e.prototype.scan=function(){var e=this.trivia();if(null!==e)return e;var t=this.stream.pos();if(this.stream.eos())return this.finishToken(t,n.EOF);if(this.stream.advanceIfChars([N,ie,A,A]))return this.finishToken(t,n.CDO);if(this.stream.advanceIfChars([A,A,U]))return this.finishToken(t,n.CDC);var r=this._url();if(null!==r)return this.finishToken(t,r);var i=[];if(this.ident(i))return this.finishToken(t,n.Ident,i.join(""));if(this.stream.advanceIfChar(j)){if(i=["@"],this._name(i)){var o=i.join("");return"@charset"===o?this.finishToken(t,n.Charset,o):this.finishToken(t,n.AtKeyword,o)}return this.finishToken(t,n.Delim)}if(this.stream.advanceIfChar(L))return i=["#"],this._name(i)?this.finishToken(t,n.Hash,i.join("")):this.finishToken(t,n.Delim);if(this.stream.advanceIfChar(ie))return this.finishToken(t,n.Exclamation);if(this._number()){var s=this.stream.pos();if(i=[this.stream.substring(t,s)],this.stream.advanceIfChar(D))return this.finishToken(t,n.Percentage);if(this.ident(i)){var a=this.stream.substring(s).toLowerCase();return r=le[a],"undefined"!=typeof r?this.finishToken(t,r,i.join("")):this.finishToken(t,n.Dimension,i.join(""))}return this.finishToken(t,n.Num)}return i=[],r=this._string(i),null!==r?this.finishToken(t,r,i.join("")):(r=ae[this.stream.peekChar()],"undefined"!=typeof r?(this.stream.advance(1),this.finishToken(t,r)):this.stream.peekChar(0)===E&&this.stream.peekChar(1)===I?(this.stream.advance(2),this.finishToken(t,n.Includes)):this.stream.peekChar(0)===P&&this.stream.peekChar(1)===I?(this.stream.advance(2),this.finishToken(t,n.Dashmatch)):this.stream.peekChar(0)===O&&this.stream.peekChar(1)===I?(this.stream.advance(2),this.finishToken(t,n.SubstringOperator)):this.stream.peekChar(0)===C&&this.stream.peekChar(1)===I?(this.stream.advance(2),this.finishToken(t,n.PrefixOperator)):this.stream.peekChar(0)===M&&this.stream.peekChar(1)===I?(this.stream.advance(2),this.finishToken(t,n.SuffixOperator)):(this.stream.nextChar(),this.finishToken(t,n.Delim)))},e.prototype._matchWordAnyCase=function(e){var t=0;return this.stream.advanceWhileChar(function(n){var r=e[t]===n||e[t+1]===n;return r&&(t+=2),r}),t===e.length||(this.stream.goBack(t/2),!1)},e.prototype.trivia=function(){for(;;){var e=this.stream.pos();if(this._whitespace()){if(!this.ignoreWhitespace)return this.finishToken(e,n.Whitespace)}else{if(!this.comment())return null;if(!this.ignoreComment)return this.finishToken(e,n.Comment)}}},e.prototype.comment=function(){if(this.stream.advanceIfChars([V,O])){var e=!1,t=!1;return this.stream.advanceWhileChar(function(n){return t&&n===V?(e=!0,!1):(t=n===O,!0)}),e&&this.stream.advance(1),!0}return!1},e.prototype._number=function(){var e,t=0;return this.stream.peekChar()===re&&(t=1),e=this.stream.peekChar(t),e>=T&&e<=F&&(this.stream.advance(t+1),this.stream.advanceWhileChar(function(e){return e>=T&&e<=F||0===t&&e===re}),!0)},e.prototype._newline=function(e){var t=this.stream.peekChar();switch(t){case $:case K:case q:return this.stream.advance(1),e.push(String.fromCharCode(t)),t===$&&this.stream.advanceIfChar(q)&&e.push("\n"),!0}return!1},e.prototype._escape=function(e,t){var n=this.stream.peekChar();if(n===B){this.stream.advance(1),n=this.stream.peekChar();for(var r=0;r<6&&(n>=T&&n<=F||n>=i&&n<=s||n>=u&&n<=g);)this.stream.advance(1),n=this.stream.peekChar(),r++;if(r>0){try{var o=parseInt(this.stream.substring(this.stream.pos()-r),16);o&&e.push(String.fromCharCode(o))}catch(a){}return n===H||n===J?this.stream.advance(1):this._newline([]),!0}if(n!==$&&n!==K&&n!==q)return this.stream.advance(1),e.push(String.fromCharCode(n)),!0;if(t)return this._newline(e)}return!1},e.prototype._stringChar=function(e,t){var n=this.stream.peekChar();return 0!==n&&n!==e&&n!==B&&n!==$&&n!==K&&n!==q&&(this.stream.advance(1),t.push(String.fromCharCode(n)),!0)},e.prototype._string=function(e){if(this.stream.peekChar()===G||this.stream.peekChar()===W){var t=this.stream.nextChar();for(e.push(String.fromCharCode(t));this._stringChar(t,e)||this._escape(e,!0););return this.stream.peekChar()===t?(this.stream.nextChar(),e.push(String.fromCharCode(t)),n.String):n.BadString}return null},e.prototype._url=function(){if(this._matchWordAnyCase(oe)||this._matchWordAnyCase(se)){this._whitespace();var e=n.URI,t=this._string([]);return t===n.BadString?e=n.BadUri:null===t&&(this.stream.advanceWhileChar(function(e){return e!==z}),e=n.URI),this._whitespace(),this.stream.advanceIfChar(z)?e:n.BadUri}return null},e.prototype._whitespace=function(){var e=this.stream.advanceWhileChar(function(e){return e===H||e===J||e===q||e===K||e===$});return e>0},e.prototype._name=function(e){for(var t=!1;this._identChar(e)||this._escape(e);)t=!0;return t},e.prototype.ident=function(e){var t=this.stream.pos(),n=this._minus(e);if(n&&this._minus(e)){for(var r=!1;this._identChar(e)||this._escape(e);)r=!0;if(r)return!0}else if(this._identFirstChar(e)||this._escape(e)){for(;this._identChar(e)||this._escape(e););return!0}return this.stream.goBackTo(t),!1},e.prototype._identFirstChar=function(e){var t=this.stream.peekChar();return(t===_||t>=i&&t<=m||t>=u&&t<=S||t>=128&&t<=65535)&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},e.prototype._minus=function(e){var t=this.stream.peekChar();return t===A&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},e.prototype._identChar=function(e){var t=this.stream.peekChar();return(t===_||t===A||t>=i&&t<=m||t>=u&&t<=S||t>=T&&t<=F||t>=128&&t<=65535)&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},e}();t.Scanner=ce});var __extends=this&&this.__extends||function(e,t){function n(){this.constructor=e}for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)};!function(e){if("object"==typeof module&&"object"==typeof module.exports){var t=e(require,exports);void 0!==t&&(module.exports=t)}else"function"==typeof define&&define.amd&&define("vscode-css-languageservice/parser/cssNodes",["require","exports"],e)}(function(e,t){function n(e,t){var n=null;return!e||t<e.offset||t>e.end?null:(e.accept(function(e){return e.offset===-1&&e.length===-1||e.offset<=t&&e.end>=t&&(n?e.length<=n.length&&(n=e):n=e,!0)}),n)}function r(e,t){for(var r=n(e,t),i=[];r;)i.unshift(r),r=r.parent;return i}function i(e){var t=e.findParent(o.Declaration);return t&&t.getValue()&&t.getValue().encloses(e)?t:null}!function(e){e[e.Undefined=0]="Undefined",e[e.Identifier=1]="Identifier",e[e.Stylesheet=2]="Stylesheet",e[e.Ruleset=3]="Ruleset",e[e.Selector=4]="Selector",e[e.SimpleSelector=5]="SimpleSelector",e[e.SelectorInterpolation=6]="SelectorInterpolation",e[e.SelectorCombinator=7]="SelectorCombinator",e[e.SelectorCombinatorParent=8]="SelectorCombinatorParent",e[e.SelectorCombinatorSibling=9]="SelectorCombinatorSibling",e[e.SelectorCombinatorAllSiblings=10]="SelectorCombinatorAllSiblings",e[e.Page=11]="Page",e[e.PageBoxMarginBox=12]="PageBoxMarginBox",e[e.ClassSelector=13]="ClassSelector",e[e.IdentifierSelector=14]="IdentifierSelector",e[e.ElementNameSelector=15]="ElementNameSelector",e[e.PseudoSelector=16]="PseudoSelector",e[e.AttributeSelector=17]="AttributeSelector",e[e.Declaration=18]="Declaration",e[e.Declarations=19]="Declarations",e[e.Property=20]="Property",e[e.Expression=21]="Expression",e[e.BinaryExpression=22]="BinaryExpression",e[e.Term=23]="Term",e[e.Operator=24]="Operator",e[e.Value=25]="Value",e[e.StringLiteral=26]="StringLiteral",e[e.URILiteral=27]="URILiteral",e[e.EscapedValue=28]="EscapedValue",e[e.Function=29]="Function",e[e.NumericValue=30]="NumericValue",e[e.HexColorValue=31]="HexColorValue",e[e.MixinDeclaration=32]="MixinDeclaration",e[e.MixinReference=33]="MixinReference",e[e.VariableName=34]="VariableName",e[e.VariableDeclaration=35]="VariableDeclaration",e[e.Prio=36]="Prio",e[e.Interpolation=37]="Interpolation",e[e.NestedProperties=38]="NestedProperties",e[e.ExtendsReference=39]="ExtendsReference",e[e.SelectorPlaceholder=40]="SelectorPlaceholder",e[e.Debug=41]="Debug",e[e.If=42]="If",e[e.Else=43]="Else",e[e.For=44]="For",e[e.Each=45]="Each",e[e.While=46]="While",e[e.MixinContent=47]="MixinContent",e[e.Media=48]="Media",e[e.Keyframe=49]="Keyframe",e[e.FontFace=50]="FontFace",e[e.Import=51]="Import",e[e.Namespace=52]="Namespace",e[e.Invocation=53]="Invocation",e[e.FunctionDeclaration=54]="FunctionDeclaration",e[e.ReturnStatement=55]="ReturnStatement",e[e.MediaQuery=56]="MediaQuery",e[e.FunctionParameter=57]="FunctionParameter",e[e.FunctionArgument=58]="FunctionArgument",e[e.KeyframeSelector=59]="KeyframeSelector",e[e.ViewPort=60]="ViewPort",e[e.Document=61]="Document"}(t.NodeType||(t.NodeType={}));var o=t.NodeType;!function(e){e[e.Mixin=0]="Mixin",e[e.Rule=1]="Rule",e[e.Variable=2]="Variable",e[e.Function=3]="Function",e[e.Keyframe=4]="Keyframe",e[e.Unknown=5]="Unknown"}(t.ReferenceType||(t.ReferenceType={}));t.ReferenceType;t.getNodeAtOffset=n,t.getNodePath=r,t.getParentDeclaration=i;var s=function(){function e(e,t,n){void 0===e&&(e=-1),void 0===t&&(t=-1),this.parent=null,this.offset=e,this.length=t,n&&(this.nodeType=n)}return Object.defineProperty(e.prototype,"end",{get:function(){return this.offset+this.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"type",{get:function(){return this.nodeType||o.Undefined},set:function(e){this.nodeType=e},enumerable:!0,configurable:!0}),e.prototype.getTextProvider=function(){for(var e=this;e&&!e.textProvider;)e=e.parent;return e?e.textProvider:function(){return"unknown"}},e.prototype.getText=function(){return this.getTextProvider()(this.offset,this.length)},e.prototype.matches=function(e){return this.length===e.length&&this.getTextProvider()(this.offset,this.length)===e},e.prototype.startsWith=function(e){return this.length>=e.length&&this.getTextProvider()(this.offset,e.length)===e},e.prototype.endsWith=function(e){return this.length>=e.length&&this.getTextProvider()(this.end-e.length,e.length)===e},e.prototype.accept=function(e){"function"!=typeof e&&(e=e.visitNode.bind(e)),e(this)&&this.children&&this.children.forEach(function(t){t.accept(e)})},e.prototype.adoptChild=function(e,t){if(void 0===t&&(t=-1),e.parent&&e.parent.children){var n=e.parent.children.indexOf(e);n>=0&&e.parent.children.splice(n,1)}e.parent=this;var r=this.children;return r||(r=this.children=[]),t!==-1?r.splice(t,0,e):r.push(e),e},e.prototype.attachTo=function(e,t){return void 0===t&&(t=-1),e&&e.adoptChild(this,t),this},e.prototype.collectIssues=function(e){this.issues&&e.push.apply(e,this.issues)},e.prototype.addIssue=function(e){this.issues||(this.issues=[]),this.issues.push(e)},e.prototype.hasIssue=function(e){return this.issues&&this.issues.some(function(t){return t.getRule()===e})},e.prototype.isErroneous=function(){return this.issues&&this.issues.length>0},e.prototype.setNode=function(e,t,n){return void 0===n&&(n=-1),!!t&&(t.attachTo(this,n),this[e]=t,!0)},e.prototype.addChild=function(e){return!!e&&(this.children||(this.children=[]),e.attachTo(this),this.updateOffsetAndLength(e),!0)},e.prototype.updateOffsetAndLength=function(e){(e.offset<this.offset||this.offset===-1)&&(this.offset=e.offset);var t=e.end;(t>this.end||this.length===-1)&&(this.length=t-this.offset)},e.prototype.hasChildren=function(){return this.children&&this.children.length>0},e.prototype.getChildren=function(){return this.children?this.children.slice(0):[]},e.prototype.getChild=function(e){return this.children&&e<this.children.length?this.children[e]:null},e.prototype.addChildren=function(e){var t=this;e.forEach(function(e){return t.addChild(e)})},e.prototype.findFirstChildBeforeOffset=function(e){if(this.children)for(var t=null,n=this.children.length-1;n>=0;n--)if(t=this.children[n],t.offset<=e)return t;return null},e.prototype.findChildAtOffset=function(e,t){var n=this.findFirstChildBeforeOffset(e);return n&&n.end>=e?t?n.findChildAtOffset(e,!0)||n:n:null},e.prototype.encloses=function(e){return this.offset<=e.offset&&this.offset+this.length>=e.offset+e.length},e.prototype.getParent=function(){for(var e=this.parent;e instanceof a;)e=e.parent;return e},e.prototype.findParent=function(e){for(var t=this;t&&t.type!==e;)t=t.parent;return t},e.prototype.setData=function(e,t){this.options||(this.options={}),this.options[e]=t},e.prototype.getData=function(e){return this.options&&this.options.hasOwnProperty(e)?this.options[e]:null},e}();t.Node=s;var a=function(e){function t(t,n){void 0===n&&(n=-1),e.call(this,-1,-1),this.attachTo(t,n),this.offset=-1,this.length=-1}return __extends(t,e),t}(s);t.Nodelist=a;var l=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.Identifier},enumerable:!0,configurable:!0}),t.prototype.containsInterpolation=function(){return this.hasChildren()},t}(s);t.Identifier=l;var c=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.Stylesheet},enumerable:!0,configurable:!0}),t.prototype.setName=function(e){this.name=e},t}(s);t.Stylesheet=c;var d=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.Declarations},enumerable:!0,configurable:!0}),t}(s);t.Declarations=d;var h=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),t.prototype.getDeclarations=function(){return this.declarations},t.prototype.setDeclarations=function(e){return this.setNode("declarations",e)},t}(s);t.BodyDeclaration=h;var p=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.Ruleset},enumerable:!0,configurable:!0}),t.prototype.getSelectors=function(){return this.selectors||(this.selectors=new a(this)),this.selectors},t.prototype.isNested=function(){return this.parent&&null!==this.parent.findParent(o.Ruleset)},t}(h);t.RuleSet=p;var m=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.Selector},enumerable:!0,configurable:!0}),t}(s);t.Selector=m;var u=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.SimpleSelector},enumerable:!0,configurable:!0}),t}(s);t.SimpleSelector=u;var f=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),t}(s);t.AbstractDeclaration=f;var g=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.Declaration},enumerable:!0,configurable:!0}),t.prototype.setProperty=function(e){return this.setNode("property",e)},t.prototype.getProperty=function(){return this.property},t.prototype.getFullPropertyName=function(){var e=this.property?this.property.getName():"unknown";if(this.parent instanceof d&&this.parent.getParent()instanceof A){var n=this.parent.getParent().getParent();if(n instanceof t)return n.getFullPropertyName()+e}return e},t.prototype.getNonPrefixedPropertyName=function(){var e=this.getFullPropertyName();if(e&&"-"===e.charAt(0)){var t=e.indexOf("-",1);if(t!==-1)return e.substring(t+1)}return e},t.prototype.setValue=function(e){return this.setNode("value",e)},t.prototype.getValue=function(){return this.value},t.prototype.setNestedProperties=function(e){return this.setNode("nestedProprties",e)},t.prototype.getNestedProperties=function(){return this.nestedProprties},t}(f);t.Declaration=g;var b=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.Property},enumerable:!0,configurable:!0}),t.prototype.setIdentifier=function(e){return this.setNode("identifier",e)},t.prototype.getIdentifier=function(){return this.identifier},t.prototype.getName=function(){return this.getText()},t}(s);t.Property=b;var y=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.Invocation},enumerable:!0,configurable:!0}),t.prototype.getArguments=function(){return this.arguments||(this.arguments=new a(this)),this.arguments},t}(s);t.Invocation=y;var w=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.Function},enumerable:!0,configurable:!0}),t.prototype.setIdentifier=function(e){return this.setNode("identifier",e,0)},t.prototype.getIdentifier=function(){return this.identifier},t.prototype.getName=function(){return this.identifier?this.identifier.getText():""},t}(y);t.Function=w;var v=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.FunctionParameter},enumerable:!0,configurable:!0}),t.prototype.setIdentifier=function(e){return this.setNode("identifier",e,0)},t.prototype.getIdentifier=function(){return this.identifier},t.prototype.getName=function(){return this.identifier?this.identifier.getText():""},t.prototype.setDefaultValue=function(e){return this.setNode("defaultValue",e,0)},t.prototype.getDefaultValue=function(){return this.defaultValue},t}(s);t.FunctionParameter=v;var x=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.FunctionArgument},enumerable:!0,configurable:!0}),t.prototype.setIdentifier=function(e){return this.setNode("identifier",e,0)},t.prototype.getIdentifier=function(){return this.identifier},t.prototype.getName=function(){return this.identifier?this.identifier.getText():""},t.prototype.setValue=function(e){return this.setNode("value",e,0)},t.prototype.getValue=function(){return this.value},t}(s);t.FunctionArgument=x;var k=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.If},enumerable:!0,configurable:!0}),t.prototype.setExpression=function(e){return this.setNode("expression",e,0)},t.prototype.setElseClause=function(e){return this.setNode("elseClause",e)},t}(h);t.IfStatement=k;var S=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.For},enumerable:!0,configurable:!0}),t.prototype.setVariable=function(e){return this.setNode("variable",e,0)},t}(h);t.ForStatement=S;var T=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.Each},enumerable:!0,configurable:!0}),t.prototype.setVariable=function(e){return this.setNode("variable",e,0)},t}(h);t.EachStatement=T;var F=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.While},enumerable:!0,configurable:!0}),t}(h);t.WhileStatement=F;var E=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.Else},enumerable:!0,configurable:!0}),t}(h);t.ElseStatement=E;var C=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.FunctionDeclaration},enumerable:!0,configurable:!0}),t.prototype.setIdentifier=function(e){return this.setNode("identifier",e,0)},t.prototype.getIdentifier=function(){return this.identifier},t.prototype.getName=function(){return this.identifier?this.identifier.getText():""},t.prototype.getParameters=function(){return this.parameters||(this.parameters=new a(this)),this.parameters},t}(h);t.FunctionDeclaration=C;var I=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.ViewPort},enumerable:!0,configurable:!0}),t}(h);t.ViewPort=I;var P=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.FontFace},enumerable:!0,configurable:!0}),t}(h);t.FontFace=P;var A=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.NestedProperties},enumerable:!0,configurable:!0}),t}(h);t.NestedProperties=A;var _=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.Keyframe},enumerable:!0,configurable:!0}),t.prototype.setKeyword=function(e){return this.setNode("keyword",e,0)},t.prototype.getKeyword=function(){return this.keyword},t.prototype.setIdentifier=function(e){return this.setNode("identifier",e,0)},t.prototype.getIdentifier=function(){return this.identifier},t.prototype.getName=function(){return this.identifier?this.identifier.getText():""},t}(h);t.Keyframe=_;var D=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.KeyframeSelector},enumerable:!0,configurable:!0}),t}(h);t.KeyframeSelector=D;var O=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.Import},enumerable:!0,configurable:!0}),t.prototype.setMedialist=function(e){return!!e&&(e.attachTo(this),this.medialist=e,!0)},t}(s);t.Import=O;var R=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.Namespace},enumerable:!0,configurable:!0}),t}(s);t.Namespace=R;var z=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.Media},enumerable:!0,configurable:!0}),t}(h);t.Media=z;var N=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.Document},enumerable:!0,configurable:!0}),t}(h);t.Document=N;var U=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),t.prototype.getMediums=function(){return this.mediums||(this.mediums=new a(this)),this.mediums},t}(s);t.Medialist=U;var j=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.MediaQuery},enumerable:!0,configurable:!0}),t}(s);t.MediaQuery=j;var L=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.Page},enumerable:!0,configurable:!0}),t}(h);t.Page=L;var M=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.PageBoxMarginBox},enumerable:!0,configurable:!0}),t}(h);t.PageBoxMarginBox=M;var B=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.Expression},enumerable:!0,configurable:!0}),t}(s);t.Expression=B;var V=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.BinaryExpression},enumerable:!0,configurable:!0}),t.prototype.setLeft=function(e){return this.setNode("left",e)},t.prototype.getLeft=function(){return this.left},t.prototype.setRight=function(e){return this.setNode("right",e)},t.prototype.getRight=function(){return this.right},t.prototype.setOperator=function(e){return this.setNode("operator",e)},t.prototype.getOperator=function(){return this.operator},t}(s);t.BinaryExpression=V;var q=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.Term},enumerable:!0,configurable:!0}),t.prototype.setOperator=function(e){return this.setNode("operator",e)},t.prototype.getOperator=function(){return this.operator},t.prototype.setExpression=function(e){return this.setNode("expression",e)},t.prototype.getExpression=function(){return this.expression},t}(s);t.Term=q;var $=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.Operator},enumerable:!0,configurable:!0}),t}(s);t.Operator=$;var K=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.HexColorValue},enumerable:!0,configurable:!0}),t}(s);t.HexColorValue=K;var W=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.NumericValue},enumerable:!0,configurable:!0}),t.prototype.getValue=function(){for(var e,t=this.getText(),n=0,r=".".charCodeAt(0),i="0".charCodeAt(0),o="9".charCodeAt(0),s=0,a=t.length;s<a&&(e=t.charCodeAt(s),i<=e&&e<=o||e===r);s++)n+=1;return{value:t.substring(0,n),unit:n<t.length?t.substring(n):void 0}},t}(s);t.NumericValue=W;var G=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.VariableDeclaration},enumerable:!0,configurable:!0}),t.prototype.setVariable=function(e){return!!e&&(e.attachTo(this),this.variable=e,!0)},t.prototype.getVariable=function(){return this.variable},t.prototype.getName=function(){return this.variable?this.variable.getName():""},t.prototype.setValue=function(e){return!!e&&(e.attachTo(this),this.value=e,!0)},t.prototype.getValue=function(){return this.value},t}(f);t.VariableDeclaration=G;var H=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.Interpolation},enumerable:!0,configurable:!0}),t}(s);t.Interpolation=H;var J=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.VariableName},enumerable:!0,configurable:!0}),t.prototype.getName=function(){return this.getText()},t}(s);t.Variable=J;var X=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.ExtendsReference},enumerable:!0,configurable:!0}),t.prototype.setSelector=function(e){return this.setNode("selector",e,0)},t.prototype.getSelector=function(){return this.selector},t.prototype.getName=function(){return this.selector?this.selector.getText():""},t}(s);t.ExtendsReference=X;var Y=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.MixinReference},enumerable:!0,configurable:!0}),t.prototype.getNamespaces=function(){return this.namespaces||(this.namespaces=new a(this)),this.namespaces},t.prototype.setIdentifier=function(e){return this.setNode("identifier",e,0)},t.prototype.getIdentifier=function(){return this.identifier},t.prototype.getName=function(){return this.identifier?this.identifier.getText():""},t.prototype.getArguments=function(){return this.arguments||(this.arguments=new a(this)),this.arguments},t.prototype.setContent=function(e){return this.setNode("content",e)},t.prototype.getContent=function(){return this.content},t}(s);t.MixinReference=Y;var Z=function(e){function t(t,n){e.call(this,t,n)}return __extends(t,e),Object.defineProperty(t.prototype,"type",{get:function(){return o.MixinDeclaration},enumerable:!0,configurable:!0 }),t.prototype.setIdentifier=function(e){return this.setNode("identifier",e,0)},t.prototype.getIdentifier=function(){return this.identifier},t.prototype.getName=function(){return this.identifier?this.identifier.getText():""},t.prototype.getParameters=function(){return this.parameters||(this.parameters=new a(this)),this.parameters},t.prototype.setGuard=function(e){return e&&(e.attachTo(this),this.guard=e),!1},t}(h);t.MixinDeclaration=Z;var Q=function(e){function t(){e.apply(this,arguments)}return __extends(t,e),t.prototype.getConditions=function(){return this.conditions||(this.conditions=new a(this)),this.conditions},t}(s);t.LessGuard=Q;var ee=function(e){function t(){e.apply(this,arguments)}return __extends(t,e),t.prototype.setVariable=function(e){return this.setNode("variable",e)},t}(s);t.GuardCondition=ee,function(e){e[e.Ignore=1]="Ignore",e[e.Warning=2]="Warning",e[e.Error=4]="Error"}(t.Level||(t.Level={}));var te=(t.Level,function(){function e(e,t,n,r,i,o){void 0===i&&(i=e.offset),void 0===o&&(o=e.length),this.node=e,this.rule=t,this.level=n,this.message=r||t.message,this.offset=i,this.length=o}return e.prototype.getRule=function(){return this.rule},e.prototype.getLevel=function(){return this.level},e.prototype.getOffset=function(){return this.offset},e.prototype.getLength=function(){return this.length},e.prototype.getNode=function(){return this.node},e.prototype.getMessage=function(){return this.message},e}());t.Marker=te;var ne=function(){function e(){this.entries=[]}return e.entries=function(t){var n=new e;return t.accept(n),n.entries},e.prototype.visitNode=function(e){return e.isErroneous()&&e.collectIssues(this.entries),!0},e}();t.ParseErrorCollector=ne}),function(e){if("object"==typeof module&&"object"==typeof module.exports){var t=e(require,exports);void 0!==t&&(module.exports=t)}else"function"==typeof define&&define.amd&&define("vscode-nls/vscode-nls",["require","exports"],e)}(function(e,t){function n(e,t){var n;return n=0===t.length?e:e.replace(/\{(\d+)\}/g,function(e,n){var r=n[0];return"undefined"!=typeof t[r]?t[r]:e})}function r(e,t){for(var r=[],i=2;i<arguments.length;i++)r[i-2]=arguments[i];return n(t,r)}function i(e){return r}function o(e){return i}t.loadMessageBundle=i,t.config=o}),define("vscode-nls",["vscode-nls/vscode-nls"],function(e){return e}),function(e){if("object"==typeof module&&"object"==typeof module.exports){var t=e(require,exports);void 0!==t&&(module.exports=t)}else"function"==typeof define&&define.amd&&define("vscode-css-languageservice/parser/cssErrors",["require","exports","vscode-nls"],e)}(function(e,t){var n=e("vscode-nls"),r=n.loadMessageBundle(),i=function(){function e(e,t){this.id=e,this.message=t}return e}();t.CSSIssueType=i,t.ParseError={NumberExpected:new i("css-numberexpected",r("expected.number","number expected")),ConditionExpected:new i("css-conditionexpected",r("expected.condt","condition expected")),RuleOrSelectorExpected:new i("css-ruleorselectorexpected",r("expected.ruleorselector","at-rule or selector expected")),DotExpected:new i("css-dotexpected",r("expected.dot","dot expected")),ColonExpected:new i("css-colonexpected",r("expected.colon","colon expected")),SemiColonExpected:new i("css-semicolonexpected",r("expected.semicolon","semi-colon expected")),TermExpected:new i("css-termexpected",r("expected.term","term expected")),ExpressionExpected:new i("css-expressionexpected",r("expected.expression","expression expected")),OperatorExpected:new i("css-operatorexpected",r("expected.operator","operator expected")),IdentifierExpected:new i("css-identifierexpected",r("expected.ident","identifier expected")),PercentageExpected:new i("css-percentageexpected",r("expected.percentage","percentage expected")),URIOrStringExpected:new i("css-uriorstringexpected",r("expected.uriorstring","uri or string expected")),URIExpected:new i("css-uriexpected",r("expected.uri","URI expected")),VariableNameExpected:new i("css-varnameexpected",r("expected.varname","variable name expected")),VariableValueExpected:new i("css-varvalueexpected",r("expected.varvalue","variable value expected")),PropertyValueExpected:new i("css-propertyvalueexpected",r("expected.propvalue","property value expected")),LeftCurlyExpected:new i("css-lcurlyexpected",r("expected.lcurly","{ expected")),RightCurlyExpected:new i("css-rcurlyexpected",r("expected.rcurly","} expected")),LeftSquareBracketExpected:new i("css-rbracketexpected",r("expected.lsquare","[ expected")),RightSquareBracketExpected:new i("css-lbracketexpected",r("expected.rsquare","] expected")),LeftParenthesisExpected:new i("css-lparentexpected",r("expected.lparen","( expected")),RightParenthesisExpected:new i("css-rparentexpected",r("expected.rparent",") expected")),CommaExpected:new i("css-commaexpected",r("expected.comma","comma expected")),PageDirectiveOrDeclarationExpected:new i("css-pagedirordeclexpected",r("expected.pagedirordecl","page directive or declaraton expected")),UnknownAtRule:new i("css-unknownatrule",r("unknown.atrule","at-rule unknown")),UnknownKeyword:new i("css-unknownkeyword",r("unknown.keyword","unknown keyword")),SelectorExpected:new i("css-selectorexpected",r("expected.selector","selector expected")),StringLiteralExpected:new i("css-stringliteralexpected",r("expected.stringliteral","string literal expected"))}}),function(e){if("object"==typeof module&&"object"==typeof module.exports){var t=e(require,exports);void 0!==t&&(module.exports=t)}else"function"==typeof define&&define.amd&&define("vscode-css-languageservice/data/browsers",["require","exports"],e)}(function(e,t){t.data={css:{atdirectives:[{name:"@charset",desc:"Defines character set of the document."},{name:"@counter-style",desc:"Defines a custom counter style.",browsers:"FF33"},{name:"@font-face",desc:"Allows for linking to fonts that are automatically activated when needed. This permits authors to work around the limitation of 'web-safe' fonts, allowing for consistent rendering independent of the fonts available in a given user's environment."},{name:"@font-feature-values",desc:"Defines named values for the indices used to select alternate glyphs for a given font family.",browsers:"FF34"},{name:"@import",desc:"Includes content of another file."},{name:"@keyframes",desc:"Defines set of animation key frames.",browsers:"E,C43,FF16,IE10,O30,S9"},{name:"@media",desc:"Defines a stylesheet for a particular media type."},{name:"@-moz-document",desc:"Gecko-specific at-rule that restricts the style rules contained within it based on the URL of the document.",browsers:"FF1.8"},{name:"@-moz-keyframes",desc:"Defines set of animation key frames.",browsers:"FF5"},{name:"@-ms-viewport",desc:"Specifies the size, zoom factor, and orientation of the viewport.",browsers:"E,IE10"},{name:"@namespace",desc:"Declares a prefix and associates it with a namespace name.",browsers:"E,C,FF1,IE9,O8,S1"},{name:"@-o-keyframes",desc:"Defines set of animation key frames.",browsers:"O12"},{name:"@-o-viewport",desc:"Specifies the size, zoom factor, and orientation of the viewport.",browsers:"O11"},{name:"@page",desc:"Directive defines various page parameters."},{name:"@supports",desc:"A conditional group rule whose condition tests whether the user agent supports CSS property:value pairs.",browsers:"E,C28,FF22,O12.1,S9"},{name:"@-webkit-keyframes",desc:"Defines set of animation key frames.",browsers:"C,S4"}],pseudoclasses:[{name:":active",desc:"Applies while an element is being activated by the user. For example, between the times the user presses the mouse button and releases it."},{name:":any-link",desc:"Represents an element that acts as the source anchor of a hyperlink. Applies to both visited and unvisited links.",browsers:"S9"},{name:":checked",desc:"Radio and checkbox elements can be toggled by the user. Some menu items are 'checked' when the user selects them. When such elements are toggled 'on' the :checked pseudo-class applies.",browsers:"E,C,FF1,IE9,O9,S3.13"},{name:":corner-present",desc:"Non-standard. Indicates whether or not a scrollbar corner is present.",browsers:"C,S5"},{name:":decrement",desc:"Non-standard. Applies to buttons and track pieces. Indicates whether or not the button or track piece will decrement the view’s position when used.",browsers:"C,S5"},{name:":default",desc:"Applies to the one or more UI elements that are the default among a set of similar elements. Typically applies to context menu items, buttons, and select lists/menus.",browsers:"C,FF3,O10,S5"},{name:":disabled",desc:"Represents user interface elements that are in a disabled state; such elements have a corresponding enabled state.",browsers:"E,C,FF1.5,IE9,O9,S3.1"},{name:":double-button",desc:"Non-standard. Applies to buttons and track pieces. Applies when both buttons are displayed together at the same end of the scrollbar.",browsers:"C,S5"},{name:":empty",desc:"Represents an element that has no children at all.",browsers:"E,C,FF1.5,IE9,O9,S3.1"},{name:":enabled",desc:"Represents user interface elements that are in an enabled state; such elements have a corresponding disabled state.",browsers:"E,C,FF1.5,IE9,O9,S3.1"},{name:":end",desc:"Non-standard. Applies to buttons and track pieces. Indicates whether the object is placed after the thumb.",browsers:"C,S5"},{name:":first",desc:"When printing double-sided documents, the page boxes on left and right pages may be different. This can be expressed through CSS pseudo-classes defined in the page context."},{name:":first-child",desc:"Same as :nth-child(1). Represents an element that is the first child of some other element.",browsers:"E,C,FF3,IE7,O9.5,S3.1"},{name:":first-of-type",desc:"Same as :nth-of-type(1). Represents an element that is the first sibling of its type in the list of children of its parent element.",browsers:"E,C,FF3.5,IE9,O9.5,S3.2"},{name:":focus",desc:"Applies while an element has the focus (accepts keyboard or mouse events, or other forms of input)."},{name:":fullscreen",desc:"Matches any element that has its fullscreen flag set.",browsers:"E"},{name:":future",desc:"Represents any element that is defined to occur entirely after a :current element.",browsers:"C,O16,S6"},{name:":horizontal",desc:"Non-standard. Applies to any scrollbar pieces that have a horizontal orientation.",browsers:"C,S5"},{name:":host",desc:"When evaluated in the context of a shadow tree, matches the shadow tree’s host element.",browsers:"C35,O22"},{name:":host()",desc:"When evaluated in the context of a shadow tree, it matches the shadow tree’s host element if the host element, in its normal context, matches the selector argument.",browsers:"C35,O22"},{name:":host-context()",desc:"Tests whether there is an ancestor, outside the shadow tree, which matches a particular selector.",browsers:"C35,O22"},{name:":hover",desc:"Applies while the user designates an element with a pointing device, but does not necessarily activate it. For example, a visual user agent could apply this pseudo-class when the cursor (mouse pointer) hovers over a box generated by the element."},{name:":increment",desc:"Non-standard. Applies to buttons and track pieces. Indicates whether or not the button or track piece will increment the view’s position when used.",browsers:"C,S5"},{name:":indeterminate",desc:"Applies to UI elements whose value is in an indeterminate state.",browsers:"E,C,FF3.6,IE9,O10.6,S3"},{name:":in-range",desc:"Used in conjunction with the min and max attributes, whether on a range input, a number field, or any other types that accept those attributes.",browsers:"E13,C,FF10,O9.6,S5.1"},{name:":invalid",desc:"An element is :valid or :invalid when it is, respectively, valid or invalid with respect to data validity semantics defined by a different specification.",browsers:"E,C,FF4,IE10,O10,S5"},{name:":lang()",desc:"Represents an element that is in language specified.",browsers:"E,C,FF1,IE8,O8,S3"},{name:":last-child",desc:"Same as :nth-last-child(1). Represents an element that is the last child of some other element.",browsers:"E,C,FF1,IE9,O9.5,S3.1"},{name:":last-of-type",desc:"Same as :nth-last-of-type(1). Represents an element that is the last sibling of its type in the list of children of its parent element.",browsers:"E,C,FF3.5,IE9,O9.5,S3.1"},{name:":left",desc:"When printing double-sided documents, the page boxes on left and right pages may be different. This can be expressed through CSS pseudo-classes defined in the page context."},{name:":link",desc:"Applies to links that have not yet been visited."},{name:":matches()",desc:"Takes a selector list as its argument. It represents an element that is represented by its argument.",browsers:"S9"},{name:":-moz-any()",desc:"Represents an element that is represented by the selector list passed as its argument. Standardized as :matches().",browsers:"FF4"},{name:":-moz-any-link",desc:"Represents an element that acts as the source anchor of a hyperlink. Applies to both visited and unvisited links.",browsers:"FF1"},{name:":-moz-broken",desc:"Non-standard. Matches elements representing broken images.",browsers:"FF3"},{name:":-moz-drag-over",desc:"Non-standard. Matches elements when a drag-over event applies to it.",browsers:"FF1"},{name:":-moz-first-node",desc:"Non-standard. Represents an element that is the first child node of some other element.",browsers:"FF1"},{name:":-moz-focusring",desc:"Non-standard. Matches an element that has focus and focus ring drawing is enabled in the browser.",browsers:"FF4"},{name:":-moz-full-screen",desc:"Matches any element that has its fullscreen flag set. Standardized as :fullscreen.",browsers:"FF9"},{name:":-moz-last-node",desc:"Non-standard. Represents an element that is the last child node of some other element.",browsers:"FF1"},{name:":-moz-loading",desc:"Non-standard. Matches elements, such as images, that haven’t started loading yet.",browsers:"FF3"},{name:":-moz-only-whitespace",desc:"The same as :empty, except that it additionally matches elements that only contain code points affected by whitespace processing. Standardized as :blank.",browsers:"FF1.5"},{name:":-moz-placeholder",desc:"Deprecated. Represents placeholder text in an input field. Use ::-moz-placeholder for Firefox 19+.",browsers:"FF4"},{name:":-moz-submit-invalid",desc:"Non-standard. Represents any submit button when the contents of the associated form are not valid.",browsers:"FF4"},{name:":-moz-suppressed",desc:"Non-standard. Matches elements representing images that have been blocked from loading.",browsers:"FF3"},{name:":-moz-ui-invalid",desc:"Non-standard. Represents any validated form element whose value isn't valid ",browsers:"FF4"},{name:":-moz-ui-valid",desc:"Non-standard. Represents any validated form element whose value is valid ",browsers:"FF4"},{name:":-moz-user-disabled",desc:"Non-standard. Matches elements representing images that have been disabled due to the user’s preferences.",browsers:"FF3"},{name:":-moz-window-inactive",desc:"Non-standard. Matches elements in an inactive window.",browsers:"FF4"},{name:":-ms-fullscreen",desc:"Matches any element that has its fullscreen flag set.",browsers:"IE11"},{name:":-ms-input-placeholder",desc:"Represents placeholder text in an input field. Note: for Edge use the pseudo-element ::-ms-input-placeholder. Standardized as ::placeholder.",browsers:"IE10"},{name:":-ms-keyboard-active",desc:"Windows Store apps only. Applies one or more styles to an element when it has focus and the user presses the space bar.",browsers:"IE10"},{name:":-ms-lang()",desc:"Represents an element that is in the language specified. Accepts a comma seperated list of language tokens.",browsers:"E,IE10"},{name:":no-button",desc:"Non-standard. Applies to track pieces. Applies when there is no button at that end of the track.",browsers:"C,S5"},{name:":not()",desc:"The negation pseudo-class, :not(X), is a functional notation taking a simple selector (excluding the negation pseudo-class itself) as an argument. It represents an element that is not represented by its argument.",browsers:"E,C,FF1,IE9,O9.5,S2"},{name:":nth-child()",desc:"Represents an element that has an+b-1 siblings before it in the document tree, for any positive integer or zero value of n, and has a parent element.",browsers:"E,C,FF3.5,IE9,O9.5,S3.1"},{name:":nth-last-child()",desc:"Represents an element that has an+b-1 siblings after it in the document tree, for any positive integer or zero value of n, and has a parent element.",browsers:"E,C,FF3.5,IE9,O9.5,S3.1"},{name:":nth-last-of-type()",desc:"Represents an element that has an+b-1 siblings with the same expanded element name after it in the document tree, for any zero or positive integer value of n, and has a parent element.",browsers:"E,C,FF3.5,IE9,O9.5,S3.1"},{name:":nth-of-type()",desc:"Represents an element that has an+b-1 siblings with the same expanded element name before it in the document tree, for any zero or positive integer value of n, and has a parent element.",browsers:"E,C,FF3.5,IE9,O9.5,S3.1"},{name:":only-child",desc:"Represents an element that has a parent element and whose parent element has no other element children. Same as :first-child:last-child or :nth-child(1):nth-last-child(1), but with a lower specificity.",browsers:"E,C,FF1.5,IE9,O9.5,S3.1"},{name:":only-of-type",desc:"Matches every element that is the only child of its type, of its parent. Same as :first-of-type:last-of-type or :nth-of-type(1):nth-last-of-type(1), but with a lower specificity.",browsers:"E,C,FF3.5,IE9,O9.5,S3.2"},{name:":optional",desc:"A form element is :required or :optional if a value for it is, respectively, required or optional before th