---
source: crates/biome_css_parser/tests/spec_test.rs
expression: snapshot
---
## Input
```css
[title] {}
[title=foo] {}
[title="foo"] {}
[ title = "foo" ] {}
[ title = "foo" ] {}
[lang~="en-us"] {}
[lang|="zh"] {}
[href^="#"] {}
[href$=".org"] {}
[href*="example"] {}
[href*="insensitive" i] {}
[href*="insensitive" I] {}
[href*="cAsE" s] {}
[href*="cAsE" S] {}
[att] {}
[ att ] {}
[ att ] {}
a[ class = "test" ] {}
a[ class = "test" ] {}
[href*="insensitive" i] {}
[ href*="insensitive" i ] {}
[ href *= "insensitive" i ] {}
[ href ] {}
[frame=hsides i] {}
#id.class[target] {}
#id[target] {}
[target].class {}
[title='foo'] {}
[data-style='value'][data-loading] {}
[-data-style='value'][--data-loading] {}
a[href="te's't"] {}
a[href='te"s"t'] {}
[ng\:cloak] {}
[ng\3a cloak] {}
[ng\00003acloak] {}
[foo=\"] {}
[foo=\{] {}
[foo=\(] {}
[foo=yes\:\(it\'s\ work\)] {}
[attr=\;] { }
[*|attr|="test"] {}
[foo|attr|="test"] {}
[foo|att=val] {}
[*|att] {}
[ *|att ] {}
[|att] {}
[ |att ] {}
[ |att ] {}
```
## AST
```
CssRoot {
bom_token: missing (optional),
rules: CssRuleList [
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@0..1 "[" [] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@1..6 "title" [] [],
},
},
matcher: missing (optional),
r_brack_token: R_BRACK@6..8 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@8..9 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@9..10 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@10..12 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@12..17 "title" [] [],
},
},
matcher: CssAttributeMatcher {
operator: EQ@17..18 "=" [] [],
value: CssAttributeMatcherValue {
name: CssIdentifier {
value_token: IDENT@18..21 "foo" [] [],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@21..23 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@23..24 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@24..25 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@25..27 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@27..32 "title" [] [],
},
},
matcher: CssAttributeMatcher {
operator: EQ@32..33 "=" [] [],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@33..38 "\"foo\"" [] [],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@38..40 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@40..41 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@41..42 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@42..45 "[" [Newline("\n")] [Whitespace(" ")],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@45..51 "title" [] [Whitespace(" ")],
},
},
matcher: CssAttributeMatcher {
operator: EQ@51..53 "=" [] [Whitespace(" ")],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@53..59 "\"foo\"" [] [Whitespace(" ")],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@59..61 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@61..62 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@62..63 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@63..68 "[" [Newline("\n")] [Whitespace(" ")],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@68..76 "title" [] [Whitespace(" ")],
},
},
matcher: CssAttributeMatcher {
operator: EQ@76..80 "=" [] [Whitespace(" ")],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@80..88 "\"foo\"" [] [Whitespace(" ")],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@88..90 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@90..91 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@91..92 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@92..94 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@94..98 "lang" [] [],
},
},
matcher: CssAttributeMatcher {
operator: TILDE_EQ@98..100 "~=" [] [],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@100..107 "\"en-us\"" [] [],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@107..109 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@109..110 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@110..111 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@111..113 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@113..117 "lang" [] [],
},
},
matcher: CssAttributeMatcher {
operator: PIPEEQ@117..119 "|=" [] [],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@119..123 "\"zh\"" [] [],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@123..125 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@125..126 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@126..127 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@127..129 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@129..133 "href" [] [],
},
},
matcher: CssAttributeMatcher {
operator: CARETEQ@133..135 "^=" [] [],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@135..138 "\"#\"" [] [],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@138..140 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@140..141 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@141..142 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@142..144 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@144..148 "href" [] [],
},
},
matcher: CssAttributeMatcher {
operator: DOLLAR_EQ@148..150 "$=" [] [],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@150..156 "\".org\"" [] [],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@156..158 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@158..159 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@159..160 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@160..162 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@162..166 "href" [] [],
},
},
matcher: CssAttributeMatcher {
operator: STAREQ@166..168 "*=" [] [],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@168..177 "\"example\"" [] [],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@177..179 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@179..180 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@180..181 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@181..183 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@183..187 "href" [] [],
},
},
matcher: CssAttributeMatcher {
operator: STAREQ@187..189 "*=" [] [],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@189..203 "\"insensitive\"" [] [Whitespace(" ")],
},
},
modifier: I_KW@203..204 "i" [] [],
},
r_brack_token: R_BRACK@204..206 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@206..207 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@207..208 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@208..210 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@210..214 "href" [] [],
},
},
matcher: CssAttributeMatcher {
operator: STAREQ@214..216 "*=" [] [],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@216..230 "\"insensitive\"" [] [Whitespace(" ")],
},
},
modifier: I_KW@230..231 "I" [] [],
},
r_brack_token: R_BRACK@231..233 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@233..234 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@234..235 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@235..237 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@237..241 "href" [] [],
},
},
matcher: CssAttributeMatcher {
operator: STAREQ@241..243 "*=" [] [],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@243..250 "\"cAsE\"" [] [Whitespace(" ")],
},
},
modifier: S_KW@250..251 "s" [] [],
},
r_brack_token: R_BRACK@251..253 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@253..254 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@254..255 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@255..257 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@257..261 "href" [] [],
},
},
matcher: CssAttributeMatcher {
operator: STAREQ@261..263 "*=" [] [],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@263..270 "\"cAsE\"" [] [Whitespace(" ")],
},
},
modifier: S_KW@270..271 "S" [] [],
},
r_brack_token: R_BRACK@271..273 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@273..274 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@274..275 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@275..277 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@277..280 "att" [] [],
},
},
matcher: missing (optional),
r_brack_token: R_BRACK@280..282 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@282..283 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@283..284 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@284..287 "[" [Newline("\n")] [Whitespace(" ")],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@287..291 "att" [] [Whitespace(" ")],
},
},
matcher: missing (optional),
r_brack_token: R_BRACK@291..293 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@293..294 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@294..295 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@295..300 "[" [Newline("\n")] [Whitespace(" ")],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@300..306 "att" [] [Whitespace(" ")],
},
},
matcher: missing (optional),
r_brack_token: R_BRACK@306..308 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@308..309 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@309..310 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: CssTypeSelector {
namespace: missing (optional),
ident: CssIdentifier {
value_token: IDENT@310..312 "a" [Newline("\n")] [],
},
},
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@312..314 "[" [] [Whitespace(" ")],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@314..320 "class" [] [Whitespace(" ")],
},
},
matcher: CssAttributeMatcher {
operator: EQ@320..322 "=" [] [Whitespace(" ")],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@322..329 "\"test\"" [] [Whitespace(" ")],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@329..331 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@331..332 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@332..333 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: CssTypeSelector {
namespace: missing (optional),
ident: CssIdentifier {
value_token: IDENT@333..335 "a" [Newline("\n")] [],
},
},
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@335..339 "[" [] [Whitespace(" ")],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@339..347 "class" [] [Whitespace(" ")],
},
},
matcher: CssAttributeMatcher {
operator: EQ@347..351 "=" [] [Whitespace(" ")],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@351..360 "\"test\"" [] [Whitespace(" ")],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@360..362 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@362..363 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@363..364 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@364..366 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@366..370 "href" [] [],
},
},
matcher: CssAttributeMatcher {
operator: STAREQ@370..372 "*=" [] [],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@372..388 "\"insensitive\"" [] [Whitespace(" ")],
},
},
modifier: I_KW@388..389 "i" [] [],
},
r_brack_token: R_BRACK@389..391 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@391..392 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@392..393 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@393..398 "[" [Newline("\n")] [Whitespace(" ")],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@398..402 "href" [] [],
},
},
matcher: CssAttributeMatcher {
operator: STAREQ@402..404 "*=" [] [],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@404..420 "\"insensitive\"" [] [Whitespace(" ")],
},
},
modifier: I_KW@420..424 "i" [] [Whitespace(" ")],
},
r_brack_token: R_BRACK@424..426 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@426..427 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@427..428 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@428..433 "[" [Newline("\n")] [Whitespace(" ")],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@433..440 "href" [] [Whitespace(" ")],
},
},
matcher: CssAttributeMatcher {
operator: STAREQ@440..445 "*=" [] [Whitespace(" ")],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@445..461 "\"insensitive\"" [] [Whitespace(" ")],
},
},
modifier: I_KW@461..465 "i" [] [Whitespace(" ")],
},
r_brack_token: R_BRACK@465..467 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@467..468 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@468..469 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@469..474 "[" [Newline("\n")] [Whitespace(" ")],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@474..481 "href" [] [Whitespace(" ")],
},
},
matcher: missing (optional),
r_brack_token: R_BRACK@481..483 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@483..484 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@484..485 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@485..487 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@487..492 "frame" [] [],
},
},
matcher: CssAttributeMatcher {
operator: EQ@492..493 "=" [] [],
value: CssAttributeMatcherValue {
name: CssIdentifier {
value_token: IDENT@493..500 "hsides" [] [Whitespace(" ")],
},
},
modifier: I_KW@500..501 "i" [] [],
},
r_brack_token: R_BRACK@501..503 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@503..504 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@504..505 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssIdSelector {
hash_token: HASH@505..507 "#" [Newline("\n")] [],
name: CssCustomIdentifier {
value_token: IDENT@507..509 "id" [] [],
},
},
CssClassSelector {
dot_token: DOT@509..510 "." [] [],
name: CssCustomIdentifier {
value_token: IDENT@510..515 "class" [] [],
},
},
CssAttributeSelector {
l_brack_token: L_BRACK@515..516 "[" [] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@516..522 "target" [] [],
},
},
matcher: missing (optional),
r_brack_token: R_BRACK@522..524 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@524..525 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@525..526 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssIdSelector {
hash_token: HASH@526..528 "#" [Newline("\n")] [],
name: CssCustomIdentifier {
value_token: IDENT@528..530 "id" [] [],
},
},
CssAttributeSelector {
l_brack_token: L_BRACK@530..531 "[" [] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@531..537 "target" [] [],
},
},
matcher: missing (optional),
r_brack_token: R_BRACK@537..539 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@539..540 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@540..541 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@541..543 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@543..549 "target" [] [],
},
},
matcher: missing (optional),
r_brack_token: R_BRACK@549..550 "]" [] [],
},
CssClassSelector {
dot_token: DOT@550..551 "." [] [],
name: CssCustomIdentifier {
value_token: IDENT@551..557 "class" [] [Whitespace(" ")],
},
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@557..558 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@558..559 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@559..561 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@561..566 "title" [] [],
},
},
matcher: CssAttributeMatcher {
operator: EQ@566..567 "=" [] [],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@567..572 "'foo'" [] [],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@572..574 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@574..575 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@575..576 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@576..578 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@578..588 "data-style" [] [],
},
},
matcher: CssAttributeMatcher {
operator: EQ@588..589 "=" [] [],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@589..596 "'value'" [] [],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@596..597 "]" [] [],
},
CssAttributeSelector {
l_brack_token: L_BRACK@597..598 "[" [] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@598..610 "data-loading" [] [],
},
},
matcher: missing (optional),
r_brack_token: R_BRACK@610..612 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@612..613 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@613..614 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@614..616 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@616..627 "-data-style" [] [],
},
},
matcher: CssAttributeMatcher {
operator: EQ@627..628 "=" [] [],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@628..635 "'value'" [] [],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@635..636 "]" [] [],
},
CssAttributeSelector {
l_brack_token: L_BRACK@636..637 "[" [] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@637..651 "--data-loading" [] [],
},
},
matcher: missing (optional),
r_brack_token: R_BRACK@651..653 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@653..654 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@654..655 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: CssTypeSelector {
namespace: missing (optional),
ident: CssIdentifier {
value_token: IDENT@655..657 "a" [Newline("\n")] [],
},
},
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@657..658 "[" [] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@658..662 "href" [] [],
},
},
matcher: CssAttributeMatcher {
operator: EQ@662..663 "=" [] [],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@663..671 "\"te's't\"" [] [],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@671..673 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@673..674 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@674..675 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: CssTypeSelector {
namespace: missing (optional),
ident: CssIdentifier {
value_token: IDENT@675..677 "a" [Newline("\n")] [],
},
},
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@677..678 "[" [] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@678..682 "href" [] [],
},
},
matcher: CssAttributeMatcher {
operator: EQ@682..683 "=" [] [],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@683..691 "'te\"s\"t'" [] [],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@691..693 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@693..694 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@694..695 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@695..697 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@697..706 "ng\\:cloak" [] [],
},
},
matcher: missing (optional),
r_brack_token: R_BRACK@706..708 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@708..709 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@709..710 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@710..712 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@712..723 "ng\\3a cloak" [] [],
},
},
matcher: missing (optional),
r_brack_token: R_BRACK@723..725 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@725..726 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@726..727 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@727..729 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@729..743 "ng\\00003acloak" [] [],
},
},
matcher: missing (optional),
r_brack_token: R_BRACK@743..745 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@745..746 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@746..747 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@747..749 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@749..752 "foo" [] [],
},
},
matcher: CssAttributeMatcher {
operator: EQ@752..753 "=" [] [],
value: CssAttributeMatcherValue {
name: CssIdentifier {
value_token: IDENT@753..755 "\\\"" [] [],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@755..757 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@757..758 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@758..759 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@759..761 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@761..764 "foo" [] [],
},
},
matcher: CssAttributeMatcher {
operator: EQ@764..765 "=" [] [],
value: CssAttributeMatcherValue {
name: CssIdentifier {
value_token: IDENT@765..767 "\\{" [] [],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@767..769 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@769..770 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@770..771 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@771..773 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@773..776 "foo" [] [],
},
},
matcher: CssAttributeMatcher {
operator: EQ@776..777 "=" [] [],
value: CssAttributeMatcherValue {
name: CssIdentifier {
value_token: IDENT@777..779 "\\(" [] [],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@779..781 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@781..782 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@782..783 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@783..785 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@785..788 "foo" [] [],
},
},
matcher: CssAttributeMatcher {
operator: EQ@788..789 "=" [] [],
value: CssAttributeMatcherValue {
name: CssIdentifier {
value_token: IDENT@789..809 "yes\\:\\(it\\'s\\ work\\)" [] [],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@809..811 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@811..812 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@812..813 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@813..815 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: missing (optional),
name: CssIdentifier {
value_token: IDENT@815..819 "attr" [] [],
},
},
matcher: CssAttributeMatcher {
operator: EQ@819..820 "=" [] [],
value: CssAttributeMatcherValue {
name: CssIdentifier {
value_token: IDENT@820..822 "\\;" [] [],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@822..824 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@824..826 "{" [] [Whitespace(" ")],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@826..827 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@827..829 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: CssNamespace {
prefix: CssUniversalNamespacePrefix {
star_token: STAR@829..830 "*" [] [],
},
bitwise_or_token: PIPE@830..831 "|" [] [],
},
name: CssIdentifier {
value_token: IDENT@831..835 "attr" [] [],
},
},
matcher: CssAttributeMatcher {
operator: PIPEEQ@835..837 "|=" [] [],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@837..843 "\"test\"" [] [],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@843..845 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@845..846 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@846..847 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@847..849 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: CssNamespace {
prefix: CssNamedNamespacePrefix {
name: CssIdentifier {
value_token: IDENT@849..852 "foo" [] [],
},
},
bitwise_or_token: PIPE@852..853 "|" [] [],
},
name: CssIdentifier {
value_token: IDENT@853..857 "attr" [] [],
},
},
matcher: CssAttributeMatcher {
operator: PIPEEQ@857..859 "|=" [] [],
value: CssAttributeMatcherValue {
name: CssString {
value_token: CSS_STRING_LITERAL@859..865 "\"test\"" [] [],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@865..867 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@867..868 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@868..869 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@869..871 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: CssNamespace {
prefix: CssNamedNamespacePrefix {
name: CssIdentifier {
value_token: IDENT@871..874 "foo" [] [],
},
},
bitwise_or_token: PIPE@874..875 "|" [] [],
},
name: CssIdentifier {
value_token: IDENT@875..878 "att" [] [],
},
},
matcher: CssAttributeMatcher {
operator: EQ@878..879 "=" [] [],
value: CssAttributeMatcherValue {
name: CssIdentifier {
value_token: IDENT@879..882 "val" [] [],
},
},
modifier: missing (optional),
},
r_brack_token: R_BRACK@882..884 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@884..885 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@885..886 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@886..888 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: CssNamespace {
prefix: CssUniversalNamespacePrefix {
star_token: STAR@888..889 "*" [] [],
},
bitwise_or_token: PIPE@889..890 "|" [] [],
},
name: CssIdentifier {
value_token: IDENT@890..893 "att" [] [],
},
},
matcher: missing (optional),
r_brack_token: R_BRACK@893..895 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@895..896 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@896..897 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@897..902 "[" [Newline("\n")] [Whitespace(" ")],
name: CssAttributeName {
namespace: CssNamespace {
prefix: CssUniversalNamespacePrefix {
star_token: STAR@902..903 "*" [] [],
},
bitwise_or_token: PIPE@903..904 "|" [] [],
},
name: CssIdentifier {
value_token: IDENT@904..910 "att" [] [Whitespace(" ")],
},
},
matcher: missing (optional),
r_brack_token: R_BRACK@910..912 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@912..913 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@913..914 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@914..916 "[" [Newline("\n")] [],
name: CssAttributeName {
namespace: CssNamespace {
prefix: missing (optional),
bitwise_or_token: PIPE@916..917 "|" [] [],
},
name: CssIdentifier {
value_token: IDENT@917..920 "att" [] [],
},
},
matcher: missing (optional),
r_brack_token: R_BRACK@920..922 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@922..923 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@923..924 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@924..927 "[" [Newline("\n")] [Whitespace(" ")],
name: CssAttributeName {
namespace: CssNamespace {
prefix: missing (optional),
bitwise_or_token: PIPE@927..928 "|" [] [],
},
name: CssIdentifier {
value_token: IDENT@928..932 "att" [] [Whitespace(" ")],
},
},
matcher: missing (optional),
r_brack_token: R_BRACK@932..934 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@934..935 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@935..936 "}" [] [],
},
},
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssAttributeSelector {
l_brack_token: L_BRACK@936..941 "[" [Newline("\n")] [Whitespace(" ")],
name: CssAttributeName {
namespace: CssNamespace {
prefix: missing (optional),
bitwise_or_token: PIPE@941..942 "|" [] [],
},
name: CssIdentifier {
value_token: IDENT@942..948 "att" [] [Whitespace(" ")],
},
},
matcher: missing (optional),
r_brack_token: R_BRACK@948..950 "]" [] [Whitespace(" ")],
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@950..951 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@951..952 "}" [] [],
},
},
],
eof_token: EOF@952..953 "" [Newline("\n")] [],
}
```
## CST
```
0: CSS_ROOT@0..953
0: (empty)
1: CSS_RULE_LIST@0..952
0: CSS_QUALIFIED_RULE@0..10
0: CSS_SELECTOR_LIST@0..8
0: CSS_COMPOUND_SELECTOR@0..8
0: CSS_NESTED_SELECTOR_LIST@0..0
1: (empty)
2: CSS_SUB_SELECTOR_LIST@0..8
0: CSS_ATTRIBUTE_SELECTOR@0..8
0: L_BRACK@0..1 "[" [] []
1: CSS_ATTRIBUTE_NAME@1..6
0: (empty)
1: CSS_IDENTIFIER@1..6
0: IDENT@1..6 "title" [] []
2: (empty)
3: R_BRACK@6..8 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@8..10
0: L_CURLY@8..9 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@9..9
2: R_CURLY@9..10 "}" [] []
1: CSS_QUALIFIED_RULE@10..25
0: CSS_SELECTOR_LIST@10..23
0: CSS_COMPOUND_SELECTOR@10..23
0: CSS_NESTED_SELECTOR_LIST@10..10
1: (empty)
2: CSS_SUB_SELECTOR_LIST@10..23
0: CSS_ATTRIBUTE_SELECTOR@10..23
0: L_BRACK@10..12 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@12..17
0: (empty)
1: CSS_IDENTIFIER@12..17
0: IDENT@12..17 "title" [] []
2: CSS_ATTRIBUTE_MATCHER@17..21
0: EQ@17..18 "=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@18..21
0: CSS_IDENTIFIER@18..21
0: IDENT@18..21 "foo" [] []
2: (empty)
3: R_BRACK@21..23 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@23..25
0: L_CURLY@23..24 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@24..24
2: R_CURLY@24..25 "}" [] []
2: CSS_QUALIFIED_RULE@25..42
0: CSS_SELECTOR_LIST@25..40
0: CSS_COMPOUND_SELECTOR@25..40
0: CSS_NESTED_SELECTOR_LIST@25..25
1: (empty)
2: CSS_SUB_SELECTOR_LIST@25..40
0: CSS_ATTRIBUTE_SELECTOR@25..40
0: L_BRACK@25..27 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@27..32
0: (empty)
1: CSS_IDENTIFIER@27..32
0: IDENT@27..32 "title" [] []
2: CSS_ATTRIBUTE_MATCHER@32..38
0: EQ@32..33 "=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@33..38
0: CSS_STRING@33..38
0: CSS_STRING_LITERAL@33..38 "\"foo\"" [] []
2: (empty)
3: R_BRACK@38..40 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@40..42
0: L_CURLY@40..41 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@41..41
2: R_CURLY@41..42 "}" [] []
3: CSS_QUALIFIED_RULE@42..63
0: CSS_SELECTOR_LIST@42..61
0: CSS_COMPOUND_SELECTOR@42..61
0: CSS_NESTED_SELECTOR_LIST@42..42
1: (empty)
2: CSS_SUB_SELECTOR_LIST@42..61
0: CSS_ATTRIBUTE_SELECTOR@42..61
0: L_BRACK@42..45 "[" [Newline("\n")] [Whitespace(" ")]
1: CSS_ATTRIBUTE_NAME@45..51
0: (empty)
1: CSS_IDENTIFIER@45..51
0: IDENT@45..51 "title" [] [Whitespace(" ")]
2: CSS_ATTRIBUTE_MATCHER@51..59
0: EQ@51..53 "=" [] [Whitespace(" ")]
1: CSS_ATTRIBUTE_MATCHER_VALUE@53..59
0: CSS_STRING@53..59
0: CSS_STRING_LITERAL@53..59 "\"foo\"" [] [Whitespace(" ")]
2: (empty)
3: R_BRACK@59..61 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@61..63
0: L_CURLY@61..62 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@62..62
2: R_CURLY@62..63 "}" [] []
4: CSS_QUALIFIED_RULE@63..92
0: CSS_SELECTOR_LIST@63..90
0: CSS_COMPOUND_SELECTOR@63..90
0: CSS_NESTED_SELECTOR_LIST@63..63
1: (empty)
2: CSS_SUB_SELECTOR_LIST@63..90
0: CSS_ATTRIBUTE_SELECTOR@63..90
0: L_BRACK@63..68 "[" [Newline("\n")] [Whitespace(" ")]
1: CSS_ATTRIBUTE_NAME@68..76
0: (empty)
1: CSS_IDENTIFIER@68..76
0: IDENT@68..76 "title" [] [Whitespace(" ")]
2: CSS_ATTRIBUTE_MATCHER@76..88
0: EQ@76..80 "=" [] [Whitespace(" ")]
1: CSS_ATTRIBUTE_MATCHER_VALUE@80..88
0: CSS_STRING@80..88
0: CSS_STRING_LITERAL@80..88 "\"foo\"" [] [Whitespace(" ")]
2: (empty)
3: R_BRACK@88..90 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@90..92
0: L_CURLY@90..91 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@91..91
2: R_CURLY@91..92 "}" [] []
5: CSS_QUALIFIED_RULE@92..111
0: CSS_SELECTOR_LIST@92..109
0: CSS_COMPOUND_SELECTOR@92..109
0: CSS_NESTED_SELECTOR_LIST@92..92
1: (empty)
2: CSS_SUB_SELECTOR_LIST@92..109
0: CSS_ATTRIBUTE_SELECTOR@92..109
0: L_BRACK@92..94 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@94..98
0: (empty)
1: CSS_IDENTIFIER@94..98
0: IDENT@94..98 "lang" [] []
2: CSS_ATTRIBUTE_MATCHER@98..107
0: TILDE_EQ@98..100 "~=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@100..107
0: CSS_STRING@100..107
0: CSS_STRING_LITERAL@100..107 "\"en-us\"" [] []
2: (empty)
3: R_BRACK@107..109 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@109..111
0: L_CURLY@109..110 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@110..110
2: R_CURLY@110..111 "}" [] []
6: CSS_QUALIFIED_RULE@111..127
0: CSS_SELECTOR_LIST@111..125
0: CSS_COMPOUND_SELECTOR@111..125
0: CSS_NESTED_SELECTOR_LIST@111..111
1: (empty)
2: CSS_SUB_SELECTOR_LIST@111..125
0: CSS_ATTRIBUTE_SELECTOR@111..125
0: L_BRACK@111..113 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@113..117
0: (empty)
1: CSS_IDENTIFIER@113..117
0: IDENT@113..117 "lang" [] []
2: CSS_ATTRIBUTE_MATCHER@117..123
0: PIPEEQ@117..119 "|=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@119..123
0: CSS_STRING@119..123
0: CSS_STRING_LITERAL@119..123 "\"zh\"" [] []
2: (empty)
3: R_BRACK@123..125 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@125..127
0: L_CURLY@125..126 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@126..126
2: R_CURLY@126..127 "}" [] []
7: CSS_QUALIFIED_RULE@127..142
0: CSS_SELECTOR_LIST@127..140
0: CSS_COMPOUND_SELECTOR@127..140
0: CSS_NESTED_SELECTOR_LIST@127..127
1: (empty)
2: CSS_SUB_SELECTOR_LIST@127..140
0: CSS_ATTRIBUTE_SELECTOR@127..140
0: L_BRACK@127..129 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@129..133
0: (empty)
1: CSS_IDENTIFIER@129..133
0: IDENT@129..133 "href" [] []
2: CSS_ATTRIBUTE_MATCHER@133..138
0: CARETEQ@133..135 "^=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@135..138
0: CSS_STRING@135..138
0: CSS_STRING_LITERAL@135..138 "\"#\"" [] []
2: (empty)
3: R_BRACK@138..140 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@140..142
0: L_CURLY@140..141 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@141..141
2: R_CURLY@141..142 "}" [] []
8: CSS_QUALIFIED_RULE@142..160
0: CSS_SELECTOR_LIST@142..158
0: CSS_COMPOUND_SELECTOR@142..158
0: CSS_NESTED_SELECTOR_LIST@142..142
1: (empty)
2: CSS_SUB_SELECTOR_LIST@142..158
0: CSS_ATTRIBUTE_SELECTOR@142..158
0: L_BRACK@142..144 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@144..148
0: (empty)
1: CSS_IDENTIFIER@144..148
0: IDENT@144..148 "href" [] []
2: CSS_ATTRIBUTE_MATCHER@148..156
0: DOLLAR_EQ@148..150 "$=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@150..156
0: CSS_STRING@150..156
0: CSS_STRING_LITERAL@150..156 "\".org\"" [] []
2: (empty)
3: R_BRACK@156..158 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@158..160
0: L_CURLY@158..159 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@159..159
2: R_CURLY@159..160 "}" [] []
9: CSS_QUALIFIED_RULE@160..181
0: CSS_SELECTOR_LIST@160..179
0: CSS_COMPOUND_SELECTOR@160..179
0: CSS_NESTED_SELECTOR_LIST@160..160
1: (empty)
2: CSS_SUB_SELECTOR_LIST@160..179
0: CSS_ATTRIBUTE_SELECTOR@160..179
0: L_BRACK@160..162 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@162..166
0: (empty)
1: CSS_IDENTIFIER@162..166
0: IDENT@162..166 "href" [] []
2: CSS_ATTRIBUTE_MATCHER@166..177
0: STAREQ@166..168 "*=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@168..177
0: CSS_STRING@168..177
0: CSS_STRING_LITERAL@168..177 "\"example\"" [] []
2: (empty)
3: R_BRACK@177..179 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@179..181
0: L_CURLY@179..180 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@180..180
2: R_CURLY@180..181 "}" [] []
10: CSS_QUALIFIED_RULE@181..208
0: CSS_SELECTOR_LIST@181..206
0: CSS_COMPOUND_SELECTOR@181..206
0: CSS_NESTED_SELECTOR_LIST@181..181
1: (empty)
2: CSS_SUB_SELECTOR_LIST@181..206
0: CSS_ATTRIBUTE_SELECTOR@181..206
0: L_BRACK@181..183 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@183..187
0: (empty)
1: CSS_IDENTIFIER@183..187
0: IDENT@183..187 "href" [] []
2: CSS_ATTRIBUTE_MATCHER@187..204
0: STAREQ@187..189 "*=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@189..203
0: CSS_STRING@189..203
0: CSS_STRING_LITERAL@189..203 "\"insensitive\"" [] [Whitespace(" ")]
2: I_KW@203..204 "i" [] []
3: R_BRACK@204..206 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@206..208
0: L_CURLY@206..207 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@207..207
2: R_CURLY@207..208 "}" [] []
11: CSS_QUALIFIED_RULE@208..235
0: CSS_SELECTOR_LIST@208..233
0: CSS_COMPOUND_SELECTOR@208..233
0: CSS_NESTED_SELECTOR_LIST@208..208
1: (empty)
2: CSS_SUB_SELECTOR_LIST@208..233
0: CSS_ATTRIBUTE_SELECTOR@208..233
0: L_BRACK@208..210 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@210..214
0: (empty)
1: CSS_IDENTIFIER@210..214
0: IDENT@210..214 "href" [] []
2: CSS_ATTRIBUTE_MATCHER@214..231
0: STAREQ@214..216 "*=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@216..230
0: CSS_STRING@216..230
0: CSS_STRING_LITERAL@216..230 "\"insensitive\"" [] [Whitespace(" ")]
2: I_KW@230..231 "I" [] []
3: R_BRACK@231..233 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@233..235
0: L_CURLY@233..234 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@234..234
2: R_CURLY@234..235 "}" [] []
12: CSS_QUALIFIED_RULE@235..255
0: CSS_SELECTOR_LIST@235..253
0: CSS_COMPOUND_SELECTOR@235..253
0: CSS_NESTED_SELECTOR_LIST@235..235
1: (empty)
2: CSS_SUB_SELECTOR_LIST@235..253
0: CSS_ATTRIBUTE_SELECTOR@235..253
0: L_BRACK@235..237 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@237..241
0: (empty)
1: CSS_IDENTIFIER@237..241
0: IDENT@237..241 "href" [] []
2: CSS_ATTRIBUTE_MATCHER@241..251
0: STAREQ@241..243 "*=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@243..250
0: CSS_STRING@243..250
0: CSS_STRING_LITERAL@243..250 "\"cAsE\"" [] [Whitespace(" ")]
2: S_KW@250..251 "s" [] []
3: R_BRACK@251..253 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@253..255
0: L_CURLY@253..254 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@254..254
2: R_CURLY@254..255 "}" [] []
13: CSS_QUALIFIED_RULE@255..275
0: CSS_SELECTOR_LIST@255..273
0: CSS_COMPOUND_SELECTOR@255..273
0: CSS_NESTED_SELECTOR_LIST@255..255
1: (empty)
2: CSS_SUB_SELECTOR_LIST@255..273
0: CSS_ATTRIBUTE_SELECTOR@255..273
0: L_BRACK@255..257 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@257..261
0: (empty)
1: CSS_IDENTIFIER@257..261
0: IDENT@257..261 "href" [] []
2: CSS_ATTRIBUTE_MATCHER@261..271
0: STAREQ@261..263 "*=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@263..270
0: CSS_STRING@263..270
0: CSS_STRING_LITERAL@263..270 "\"cAsE\"" [] [Whitespace(" ")]
2: S_KW@270..271 "S" [] []
3: R_BRACK@271..273 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@273..275
0: L_CURLY@273..274 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@274..274
2: R_CURLY@274..275 "}" [] []
14: CSS_QUALIFIED_RULE@275..284
0: CSS_SELECTOR_LIST@275..282
0: CSS_COMPOUND_SELECTOR@275..282
0: CSS_NESTED_SELECTOR_LIST@275..275
1: (empty)
2: CSS_SUB_SELECTOR_LIST@275..282
0: CSS_ATTRIBUTE_SELECTOR@275..282
0: L_BRACK@275..277 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@277..280
0: (empty)
1: CSS_IDENTIFIER@277..280
0: IDENT@277..280 "att" [] []
2: (empty)
3: R_BRACK@280..282 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@282..284
0: L_CURLY@282..283 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@283..283
2: R_CURLY@283..284 "}" [] []
15: CSS_QUALIFIED_RULE@284..295
0: CSS_SELECTOR_LIST@284..293
0: CSS_COMPOUND_SELECTOR@284..293
0: CSS_NESTED_SELECTOR_LIST@284..284
1: (empty)
2: CSS_SUB_SELECTOR_LIST@284..293
0: CSS_ATTRIBUTE_SELECTOR@284..293
0: L_BRACK@284..287 "[" [Newline("\n")] [Whitespace(" ")]
1: CSS_ATTRIBUTE_NAME@287..291
0: (empty)
1: CSS_IDENTIFIER@287..291
0: IDENT@287..291 "att" [] [Whitespace(" ")]
2: (empty)
3: R_BRACK@291..293 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@293..295
0: L_CURLY@293..294 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@294..294
2: R_CURLY@294..295 "}" [] []
16: CSS_QUALIFIED_RULE@295..310
0: CSS_SELECTOR_LIST@295..308
0: CSS_COMPOUND_SELECTOR@295..308
0: CSS_NESTED_SELECTOR_LIST@295..295
1: (empty)
2: CSS_SUB_SELECTOR_LIST@295..308
0: CSS_ATTRIBUTE_SELECTOR@295..308
0: L_BRACK@295..300 "[" [Newline("\n")] [Whitespace(" ")]
1: CSS_ATTRIBUTE_NAME@300..306
0: (empty)
1: CSS_IDENTIFIER@300..306
0: IDENT@300..306 "att" [] [Whitespace(" ")]
2: (empty)
3: R_BRACK@306..308 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@308..310
0: L_CURLY@308..309 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@309..309
2: R_CURLY@309..310 "}" [] []
17: CSS_QUALIFIED_RULE@310..333
0: CSS_SELECTOR_LIST@310..331
0: CSS_COMPOUND_SELECTOR@310..331
0: CSS_NESTED_SELECTOR_LIST@310..310
1: CSS_TYPE_SELECTOR@310..312
0: (empty)
1: CSS_IDENTIFIER@310..312
0: IDENT@310..312 "a" [Newline("\n")] []
2: CSS_SUB_SELECTOR_LIST@312..331
0: CSS_ATTRIBUTE_SELECTOR@312..331
0: L_BRACK@312..314 "[" [] [Whitespace(" ")]
1: CSS_ATTRIBUTE_NAME@314..320
0: (empty)
1: CSS_IDENTIFIER@314..320
0: IDENT@314..320 "class" [] [Whitespace(" ")]
2: CSS_ATTRIBUTE_MATCHER@320..329
0: EQ@320..322 "=" [] [Whitespace(" ")]
1: CSS_ATTRIBUTE_MATCHER_VALUE@322..329
0: CSS_STRING@322..329
0: CSS_STRING_LITERAL@322..329 "\"test\"" [] [Whitespace(" ")]
2: (empty)
3: R_BRACK@329..331 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@331..333
0: L_CURLY@331..332 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@332..332
2: R_CURLY@332..333 "}" [] []
18: CSS_QUALIFIED_RULE@333..364
0: CSS_SELECTOR_LIST@333..362
0: CSS_COMPOUND_SELECTOR@333..362
0: CSS_NESTED_SELECTOR_LIST@333..333
1: CSS_TYPE_SELECTOR@333..335
0: (empty)
1: CSS_IDENTIFIER@333..335
0: IDENT@333..335 "a" [Newline("\n")] []
2: CSS_SUB_SELECTOR_LIST@335..362
0: CSS_ATTRIBUTE_SELECTOR@335..362
0: L_BRACK@335..339 "[" [] [Whitespace(" ")]
1: CSS_ATTRIBUTE_NAME@339..347
0: (empty)
1: CSS_IDENTIFIER@339..347
0: IDENT@339..347 "class" [] [Whitespace(" ")]
2: CSS_ATTRIBUTE_MATCHER@347..360
0: EQ@347..351 "=" [] [Whitespace(" ")]
1: CSS_ATTRIBUTE_MATCHER_VALUE@351..360
0: CSS_STRING@351..360
0: CSS_STRING_LITERAL@351..360 "\"test\"" [] [Whitespace(" ")]
2: (empty)
3: R_BRACK@360..362 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@362..364
0: L_CURLY@362..363 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@363..363
2: R_CURLY@363..364 "}" [] []
19: CSS_QUALIFIED_RULE@364..393
0: CSS_SELECTOR_LIST@364..391
0: CSS_COMPOUND_SELECTOR@364..391
0: CSS_NESTED_SELECTOR_LIST@364..364
1: (empty)
2: CSS_SUB_SELECTOR_LIST@364..391
0: CSS_ATTRIBUTE_SELECTOR@364..391
0: L_BRACK@364..366 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@366..370
0: (empty)
1: CSS_IDENTIFIER@366..370
0: IDENT@366..370 "href" [] []
2: CSS_ATTRIBUTE_MATCHER@370..389
0: STAREQ@370..372 "*=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@372..388
0: CSS_STRING@372..388
0: CSS_STRING_LITERAL@372..388 "\"insensitive\"" [] [Whitespace(" ")]
2: I_KW@388..389 "i" [] []
3: R_BRACK@389..391 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@391..393
0: L_CURLY@391..392 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@392..392
2: R_CURLY@392..393 "}" [] []
20: CSS_QUALIFIED_RULE@393..428
0: CSS_SELECTOR_LIST@393..426
0: CSS_COMPOUND_SELECTOR@393..426
0: CSS_NESTED_SELECTOR_LIST@393..393
1: (empty)
2: CSS_SUB_SELECTOR_LIST@393..426
0: CSS_ATTRIBUTE_SELECTOR@393..426
0: L_BRACK@393..398 "[" [Newline("\n")] [Whitespace(" ")]
1: CSS_ATTRIBUTE_NAME@398..402
0: (empty)
1: CSS_IDENTIFIER@398..402
0: IDENT@398..402 "href" [] []
2: CSS_ATTRIBUTE_MATCHER@402..424
0: STAREQ@402..404 "*=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@404..420
0: CSS_STRING@404..420
0: CSS_STRING_LITERAL@404..420 "\"insensitive\"" [] [Whitespace(" ")]
2: I_KW@420..424 "i" [] [Whitespace(" ")]
3: R_BRACK@424..426 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@426..428
0: L_CURLY@426..427 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@427..427
2: R_CURLY@427..428 "}" [] []
21: CSS_QUALIFIED_RULE@428..469
0: CSS_SELECTOR_LIST@428..467
0: CSS_COMPOUND_SELECTOR@428..467
0: CSS_NESTED_SELECTOR_LIST@428..428
1: (empty)
2: CSS_SUB_SELECTOR_LIST@428..467
0: CSS_ATTRIBUTE_SELECTOR@428..467
0: L_BRACK@428..433 "[" [Newline("\n")] [Whitespace(" ")]
1: CSS_ATTRIBUTE_NAME@433..440
0: (empty)
1: CSS_IDENTIFIER@433..440
0: IDENT@433..440 "href" [] [Whitespace(" ")]
2: CSS_ATTRIBUTE_MATCHER@440..465
0: STAREQ@440..445 "*=" [] [Whitespace(" ")]
1: CSS_ATTRIBUTE_MATCHER_VALUE@445..461
0: CSS_STRING@445..461
0: CSS_STRING_LITERAL@445..461 "\"insensitive\"" [] [Whitespace(" ")]
2: I_KW@461..465 "i" [] [Whitespace(" ")]
3: R_BRACK@465..467 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@467..469
0: L_CURLY@467..468 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@468..468
2: R_CURLY@468..469 "}" [] []
22: CSS_QUALIFIED_RULE@469..485
0: CSS_SELECTOR_LIST@469..483
0: CSS_COMPOUND_SELECTOR@469..483
0: CSS_NESTED_SELECTOR_LIST@469..469
1: (empty)
2: CSS_SUB_SELECTOR_LIST@469..483
0: CSS_ATTRIBUTE_SELECTOR@469..483
0: L_BRACK@469..474 "[" [Newline("\n")] [Whitespace(" ")]
1: CSS_ATTRIBUTE_NAME@474..481
0: (empty)
1: CSS_IDENTIFIER@474..481
0: IDENT@474..481 "href" [] [Whitespace(" ")]
2: (empty)
3: R_BRACK@481..483 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@483..485
0: L_CURLY@483..484 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@484..484
2: R_CURLY@484..485 "}" [] []
23: CSS_QUALIFIED_RULE@485..505
0: CSS_SELECTOR_LIST@485..503
0: CSS_COMPOUND_SELECTOR@485..503
0: CSS_NESTED_SELECTOR_LIST@485..485
1: (empty)
2: CSS_SUB_SELECTOR_LIST@485..503
0: CSS_ATTRIBUTE_SELECTOR@485..503
0: L_BRACK@485..487 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@487..492
0: (empty)
1: CSS_IDENTIFIER@487..492
0: IDENT@487..492 "frame" [] []
2: CSS_ATTRIBUTE_MATCHER@492..501
0: EQ@492..493 "=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@493..500
0: CSS_IDENTIFIER@493..500
0: IDENT@493..500 "hsides" [] [Whitespace(" ")]
2: I_KW@500..501 "i" [] []
3: R_BRACK@501..503 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@503..505
0: L_CURLY@503..504 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@504..504
2: R_CURLY@504..505 "}" [] []
24: CSS_QUALIFIED_RULE@505..526
0: CSS_SELECTOR_LIST@505..524
0: CSS_COMPOUND_SELECTOR@505..524
0: CSS_NESTED_SELECTOR_LIST@505..505
1: (empty)
2: CSS_SUB_SELECTOR_LIST@505..524
0: CSS_ID_SELECTOR@505..509
0: HASH@505..507 "#" [Newline("\n")] []
1: CSS_CUSTOM_IDENTIFIER@507..509
0: IDENT@507..509 "id" [] []
1: CSS_CLASS_SELECTOR@509..515
0: DOT@509..510 "." [] []
1: CSS_CUSTOM_IDENTIFIER@510..515
0: IDENT@510..515 "class" [] []
2: CSS_ATTRIBUTE_SELECTOR@515..524
0: L_BRACK@515..516 "[" [] []
1: CSS_ATTRIBUTE_NAME@516..522
0: (empty)
1: CSS_IDENTIFIER@516..522
0: IDENT@516..522 "target" [] []
2: (empty)
3: R_BRACK@522..524 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@524..526
0: L_CURLY@524..525 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@525..525
2: R_CURLY@525..526 "}" [] []
25: CSS_QUALIFIED_RULE@526..541
0: CSS_SELECTOR_LIST@526..539
0: CSS_COMPOUND_SELECTOR@526..539
0: CSS_NESTED_SELECTOR_LIST@526..526
1: (empty)
2: CSS_SUB_SELECTOR_LIST@526..539
0: CSS_ID_SELECTOR@526..530
0: HASH@526..528 "#" [Newline("\n")] []
1: CSS_CUSTOM_IDENTIFIER@528..530
0: IDENT@528..530 "id" [] []
1: CSS_ATTRIBUTE_SELECTOR@530..539
0: L_BRACK@530..531 "[" [] []
1: CSS_ATTRIBUTE_NAME@531..537
0: (empty)
1: CSS_IDENTIFIER@531..537
0: IDENT@531..537 "target" [] []
2: (empty)
3: R_BRACK@537..539 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@539..541
0: L_CURLY@539..540 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@540..540
2: R_CURLY@540..541 "}" [] []
26: CSS_QUALIFIED_RULE@541..559
0: CSS_SELECTOR_LIST@541..557
0: CSS_COMPOUND_SELECTOR@541..557
0: CSS_NESTED_SELECTOR_LIST@541..541
1: (empty)
2: CSS_SUB_SELECTOR_LIST@541..557
0: CSS_ATTRIBUTE_SELECTOR@541..550
0: L_BRACK@541..543 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@543..549
0: (empty)
1: CSS_IDENTIFIER@543..549
0: IDENT@543..549 "target" [] []
2: (empty)
3: R_BRACK@549..550 "]" [] []
1: CSS_CLASS_SELECTOR@550..557
0: DOT@550..551 "." [] []
1: CSS_CUSTOM_IDENTIFIER@551..557
0: IDENT@551..557 "class" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@557..559
0: L_CURLY@557..558 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@558..558
2: R_CURLY@558..559 "}" [] []
27: CSS_QUALIFIED_RULE@559..576
0: CSS_SELECTOR_LIST@559..574
0: CSS_COMPOUND_SELECTOR@559..574
0: CSS_NESTED_SELECTOR_LIST@559..559
1: (empty)
2: CSS_SUB_SELECTOR_LIST@559..574
0: CSS_ATTRIBUTE_SELECTOR@559..574
0: L_BRACK@559..561 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@561..566
0: (empty)
1: CSS_IDENTIFIER@561..566
0: IDENT@561..566 "title" [] []
2: CSS_ATTRIBUTE_MATCHER@566..572
0: EQ@566..567 "=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@567..572
0: CSS_STRING@567..572
0: CSS_STRING_LITERAL@567..572 "'foo'" [] []
2: (empty)
3: R_BRACK@572..574 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@574..576
0: L_CURLY@574..575 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@575..575
2: R_CURLY@575..576 "}" [] []
28: CSS_QUALIFIED_RULE@576..614
0: CSS_SELECTOR_LIST@576..612
0: CSS_COMPOUND_SELECTOR@576..612
0: CSS_NESTED_SELECTOR_LIST@576..576
1: (empty)
2: CSS_SUB_SELECTOR_LIST@576..612
0: CSS_ATTRIBUTE_SELECTOR@576..597
0: L_BRACK@576..578 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@578..588
0: (empty)
1: CSS_IDENTIFIER@578..588
0: IDENT@578..588 "data-style" [] []
2: CSS_ATTRIBUTE_MATCHER@588..596
0: EQ@588..589 "=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@589..596
0: CSS_STRING@589..596
0: CSS_STRING_LITERAL@589..596 "'value'" [] []
2: (empty)
3: R_BRACK@596..597 "]" [] []
1: CSS_ATTRIBUTE_SELECTOR@597..612
0: L_BRACK@597..598 "[" [] []
1: CSS_ATTRIBUTE_NAME@598..610
0: (empty)
1: CSS_IDENTIFIER@598..610
0: IDENT@598..610 "data-loading" [] []
2: (empty)
3: R_BRACK@610..612 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@612..614
0: L_CURLY@612..613 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@613..613
2: R_CURLY@613..614 "}" [] []
29: CSS_QUALIFIED_RULE@614..655
0: CSS_SELECTOR_LIST@614..653
0: CSS_COMPOUND_SELECTOR@614..653
0: CSS_NESTED_SELECTOR_LIST@614..614
1: (empty)
2: CSS_SUB_SELECTOR_LIST@614..653
0: CSS_ATTRIBUTE_SELECTOR@614..636
0: L_BRACK@614..616 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@616..627
0: (empty)
1: CSS_IDENTIFIER@616..627
0: IDENT@616..627 "-data-style" [] []
2: CSS_ATTRIBUTE_MATCHER@627..635
0: EQ@627..628 "=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@628..635
0: CSS_STRING@628..635
0: CSS_STRING_LITERAL@628..635 "'value'" [] []
2: (empty)
3: R_BRACK@635..636 "]" [] []
1: CSS_ATTRIBUTE_SELECTOR@636..653
0: L_BRACK@636..637 "[" [] []
1: CSS_ATTRIBUTE_NAME@637..651
0: (empty)
1: CSS_IDENTIFIER@637..651
0: IDENT@637..651 "--data-loading" [] []
2: (empty)
3: R_BRACK@651..653 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@653..655
0: L_CURLY@653..654 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@654..654
2: R_CURLY@654..655 "}" [] []
30: CSS_QUALIFIED_RULE@655..675
0: CSS_SELECTOR_LIST@655..673
0: CSS_COMPOUND_SELECTOR@655..673
0: CSS_NESTED_SELECTOR_LIST@655..655
1: CSS_TYPE_SELECTOR@655..657
0: (empty)
1: CSS_IDENTIFIER@655..657
0: IDENT@655..657 "a" [Newline("\n")] []
2: CSS_SUB_SELECTOR_LIST@657..673
0: CSS_ATTRIBUTE_SELECTOR@657..673
0: L_BRACK@657..658 "[" [] []
1: CSS_ATTRIBUTE_NAME@658..662
0: (empty)
1: CSS_IDENTIFIER@658..662
0: IDENT@658..662 "href" [] []
2: CSS_ATTRIBUTE_MATCHER@662..671
0: EQ@662..663 "=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@663..671
0: CSS_STRING@663..671
0: CSS_STRING_LITERAL@663..671 "\"te's't\"" [] []
2: (empty)
3: R_BRACK@671..673 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@673..675
0: L_CURLY@673..674 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@674..674
2: R_CURLY@674..675 "}" [] []
31: CSS_QUALIFIED_RULE@675..695
0: CSS_SELECTOR_LIST@675..693
0: CSS_COMPOUND_SELECTOR@675..693
0: CSS_NESTED_SELECTOR_LIST@675..675
1: CSS_TYPE_SELECTOR@675..677
0: (empty)
1: CSS_IDENTIFIER@675..677
0: IDENT@675..677 "a" [Newline("\n")] []
2: CSS_SUB_SELECTOR_LIST@677..693
0: CSS_ATTRIBUTE_SELECTOR@677..693
0: L_BRACK@677..678 "[" [] []
1: CSS_ATTRIBUTE_NAME@678..682
0: (empty)
1: CSS_IDENTIFIER@678..682
0: IDENT@678..682 "href" [] []
2: CSS_ATTRIBUTE_MATCHER@682..691
0: EQ@682..683 "=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@683..691
0: CSS_STRING@683..691
0: CSS_STRING_LITERAL@683..691 "'te\"s\"t'" [] []
2: (empty)
3: R_BRACK@691..693 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@693..695
0: L_CURLY@693..694 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@694..694
2: R_CURLY@694..695 "}" [] []
32: CSS_QUALIFIED_RULE@695..710
0: CSS_SELECTOR_LIST@695..708
0: CSS_COMPOUND_SELECTOR@695..708
0: CSS_NESTED_SELECTOR_LIST@695..695
1: (empty)
2: CSS_SUB_SELECTOR_LIST@695..708
0: CSS_ATTRIBUTE_SELECTOR@695..708
0: L_BRACK@695..697 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@697..706
0: (empty)
1: CSS_IDENTIFIER@697..706
0: IDENT@697..706 "ng\\:cloak" [] []
2: (empty)
3: R_BRACK@706..708 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@708..710
0: L_CURLY@708..709 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@709..709
2: R_CURLY@709..710 "}" [] []
33: CSS_QUALIFIED_RULE@710..727
0: CSS_SELECTOR_LIST@710..725
0: CSS_COMPOUND_SELECTOR@710..725
0: CSS_NESTED_SELECTOR_LIST@710..710
1: (empty)
2: CSS_SUB_SELECTOR_LIST@710..725
0: CSS_ATTRIBUTE_SELECTOR@710..725
0: L_BRACK@710..712 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@712..723
0: (empty)
1: CSS_IDENTIFIER@712..723
0: IDENT@712..723 "ng\\3a cloak" [] []
2: (empty)
3: R_BRACK@723..725 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@725..727
0: L_CURLY@725..726 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@726..726
2: R_CURLY@726..727 "}" [] []
34: CSS_QUALIFIED_RULE@727..747
0: CSS_SELECTOR_LIST@727..745
0: CSS_COMPOUND_SELECTOR@727..745
0: CSS_NESTED_SELECTOR_LIST@727..727
1: (empty)
2: CSS_SUB_SELECTOR_LIST@727..745
0: CSS_ATTRIBUTE_SELECTOR@727..745
0: L_BRACK@727..729 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@729..743
0: (empty)
1: CSS_IDENTIFIER@729..743
0: IDENT@729..743 "ng\\00003acloak" [] []
2: (empty)
3: R_BRACK@743..745 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@745..747
0: L_CURLY@745..746 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@746..746
2: R_CURLY@746..747 "}" [] []
35: CSS_QUALIFIED_RULE@747..759
0: CSS_SELECTOR_LIST@747..757
0: CSS_COMPOUND_SELECTOR@747..757
0: CSS_NESTED_SELECTOR_LIST@747..747
1: (empty)
2: CSS_SUB_SELECTOR_LIST@747..757
0: CSS_ATTRIBUTE_SELECTOR@747..757
0: L_BRACK@747..749 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@749..752
0: (empty)
1: CSS_IDENTIFIER@749..752
0: IDENT@749..752 "foo" [] []
2: CSS_ATTRIBUTE_MATCHER@752..755
0: EQ@752..753 "=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@753..755
0: CSS_IDENTIFIER@753..755
0: IDENT@753..755 "\\\"" [] []
2: (empty)
3: R_BRACK@755..757 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@757..759
0: L_CURLY@757..758 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@758..758
2: R_CURLY@758..759 "}" [] []
36: CSS_QUALIFIED_RULE@759..771
0: CSS_SELECTOR_LIST@759..769
0: CSS_COMPOUND_SELECTOR@759..769
0: CSS_NESTED_SELECTOR_LIST@759..759
1: (empty)
2: CSS_SUB_SELECTOR_LIST@759..769
0: CSS_ATTRIBUTE_SELECTOR@759..769
0: L_BRACK@759..761 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@761..764
0: (empty)
1: CSS_IDENTIFIER@761..764
0: IDENT@761..764 "foo" [] []
2: CSS_ATTRIBUTE_MATCHER@764..767
0: EQ@764..765 "=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@765..767
0: CSS_IDENTIFIER@765..767
0: IDENT@765..767 "\\{" [] []
2: (empty)
3: R_BRACK@767..769 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@769..771
0: L_CURLY@769..770 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@770..770
2: R_CURLY@770..771 "}" [] []
37: CSS_QUALIFIED_RULE@771..783
0: CSS_SELECTOR_LIST@771..781
0: CSS_COMPOUND_SELECTOR@771..781
0: CSS_NESTED_SELECTOR_LIST@771..771
1: (empty)
2: CSS_SUB_SELECTOR_LIST@771..781
0: CSS_ATTRIBUTE_SELECTOR@771..781
0: L_BRACK@771..773 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@773..776
0: (empty)
1: CSS_IDENTIFIER@773..776
0: IDENT@773..776 "foo" [] []
2: CSS_ATTRIBUTE_MATCHER@776..779
0: EQ@776..777 "=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@777..779
0: CSS_IDENTIFIER@777..779
0: IDENT@777..779 "\\(" [] []
2: (empty)
3: R_BRACK@779..781 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@781..783
0: L_CURLY@781..782 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@782..782
2: R_CURLY@782..783 "}" [] []
38: CSS_QUALIFIED_RULE@783..813
0: CSS_SELECTOR_LIST@783..811
0: CSS_COMPOUND_SELECTOR@783..811
0: CSS_NESTED_SELECTOR_LIST@783..783
1: (empty)
2: CSS_SUB_SELECTOR_LIST@783..811
0: CSS_ATTRIBUTE_SELECTOR@783..811
0: L_BRACK@783..785 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@785..788
0: (empty)
1: CSS_IDENTIFIER@785..788
0: IDENT@785..788 "foo" [] []
2: CSS_ATTRIBUTE_MATCHER@788..809
0: EQ@788..789 "=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@789..809
0: CSS_IDENTIFIER@789..809
0: IDENT@789..809 "yes\\:\\(it\\'s\\ work\\)" [] []
2: (empty)
3: R_BRACK@809..811 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@811..813
0: L_CURLY@811..812 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@812..812
2: R_CURLY@812..813 "}" [] []
39: CSS_QUALIFIED_RULE@813..827
0: CSS_SELECTOR_LIST@813..824
0: CSS_COMPOUND_SELECTOR@813..824
0: CSS_NESTED_SELECTOR_LIST@813..813
1: (empty)
2: CSS_SUB_SELECTOR_LIST@813..824
0: CSS_ATTRIBUTE_SELECTOR@813..824
0: L_BRACK@813..815 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@815..819
0: (empty)
1: CSS_IDENTIFIER@815..819
0: IDENT@815..819 "attr" [] []
2: CSS_ATTRIBUTE_MATCHER@819..822
0: EQ@819..820 "=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@820..822
0: CSS_IDENTIFIER@820..822
0: IDENT@820..822 "\\;" [] []
2: (empty)
3: R_BRACK@822..824 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@824..827
0: L_CURLY@824..826 "{" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_LIST@826..826
2: R_CURLY@826..827 "}" [] []
40: CSS_QUALIFIED_RULE@827..847
0: CSS_SELECTOR_LIST@827..845
0: CSS_COMPOUND_SELECTOR@827..845
0: CSS_NESTED_SELECTOR_LIST@827..827
1: (empty)
2: CSS_SUB_SELECTOR_LIST@827..845
0: CSS_ATTRIBUTE_SELECTOR@827..845
0: L_BRACK@827..829 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@829..835
0: CSS_NAMESPACE@829..831
0: CSS_UNIVERSAL_NAMESPACE_PREFIX@829..830
0: STAR@829..830 "*" [] []
1: PIPE@830..831 "|" [] []
1: CSS_IDENTIFIER@831..835
0: IDENT@831..835 "attr" [] []
2: CSS_ATTRIBUTE_MATCHER@835..843
0: PIPEEQ@835..837 "|=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@837..843
0: CSS_STRING@837..843
0: CSS_STRING_LITERAL@837..843 "\"test\"" [] []
2: (empty)
3: R_BRACK@843..845 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@845..847
0: L_CURLY@845..846 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@846..846
2: R_CURLY@846..847 "}" [] []
41: CSS_QUALIFIED_RULE@847..869
0: CSS_SELECTOR_LIST@847..867
0: CSS_COMPOUND_SELECTOR@847..867
0: CSS_NESTED_SELECTOR_LIST@847..847
1: (empty)
2: CSS_SUB_SELECTOR_LIST@847..867
0: CSS_ATTRIBUTE_SELECTOR@847..867
0: L_BRACK@847..849 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@849..857
0: CSS_NAMESPACE@849..853
0: CSS_NAMED_NAMESPACE_PREFIX@849..852
0: CSS_IDENTIFIER@849..852
0: IDENT@849..852 "foo" [] []
1: PIPE@852..853 "|" [] []
1: CSS_IDENTIFIER@853..857
0: IDENT@853..857 "attr" [] []
2: CSS_ATTRIBUTE_MATCHER@857..865
0: PIPEEQ@857..859 "|=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@859..865
0: CSS_STRING@859..865
0: CSS_STRING_LITERAL@859..865 "\"test\"" [] []
2: (empty)
3: R_BRACK@865..867 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@867..869
0: L_CURLY@867..868 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@868..868
2: R_CURLY@868..869 "}" [] []
42: CSS_QUALIFIED_RULE@869..886
0: CSS_SELECTOR_LIST@869..884
0: CSS_COMPOUND_SELECTOR@869..884
0: CSS_NESTED_SELECTOR_LIST@869..869
1: (empty)
2: CSS_SUB_SELECTOR_LIST@869..884
0: CSS_ATTRIBUTE_SELECTOR@869..884
0: L_BRACK@869..871 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@871..878
0: CSS_NAMESPACE@871..875
0: CSS_NAMED_NAMESPACE_PREFIX@871..874
0: CSS_IDENTIFIER@871..874
0: IDENT@871..874 "foo" [] []
1: PIPE@874..875 "|" [] []
1: CSS_IDENTIFIER@875..878
0: IDENT@875..878 "att" [] []
2: CSS_ATTRIBUTE_MATCHER@878..882
0: EQ@878..879 "=" [] []
1: CSS_ATTRIBUTE_MATCHER_VALUE@879..882
0: CSS_IDENTIFIER@879..882
0: IDENT@879..882 "val" [] []
2: (empty)
3: R_BRACK@882..884 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@884..886
0: L_CURLY@884..885 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@885..885
2: R_CURLY@885..886 "}" [] []
43: CSS_QUALIFIED_RULE@886..897
0: CSS_SELECTOR_LIST@886..895
0: CSS_COMPOUND_SELECTOR@886..895
0: CSS_NESTED_SELECTOR_LIST@886..886
1: (empty)
2: CSS_SUB_SELECTOR_LIST@886..895
0: CSS_ATTRIBUTE_SELECTOR@886..895
0: L_BRACK@886..888 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@888..893
0: CSS_NAMESPACE@888..890
0: CSS_UNIVERSAL_NAMESPACE_PREFIX@888..889
0: STAR@888..889 "*" [] []
1: PIPE@889..890 "|" [] []
1: CSS_IDENTIFIER@890..893
0: IDENT@890..893 "att" [] []
2: (empty)
3: R_BRACK@893..895 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@895..897
0: L_CURLY@895..896 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@896..896
2: R_CURLY@896..897 "}" [] []
44: CSS_QUALIFIED_RULE@897..914
0: CSS_SELECTOR_LIST@897..912
0: CSS_COMPOUND_SELECTOR@897..912
0: CSS_NESTED_SELECTOR_LIST@897..897
1: (empty)
2: CSS_SUB_SELECTOR_LIST@897..912
0: CSS_ATTRIBUTE_SELECTOR@897..912
0: L_BRACK@897..902 "[" [Newline("\n")] [Whitespace(" ")]
1: CSS_ATTRIBUTE_NAME@902..910
0: CSS_NAMESPACE@902..904
0: CSS_UNIVERSAL_NAMESPACE_PREFIX@902..903
0: STAR@902..903 "*" [] []
1: PIPE@903..904 "|" [] []
1: CSS_IDENTIFIER@904..910
0: IDENT@904..910 "att" [] [Whitespace(" ")]
2: (empty)
3: R_BRACK@910..912 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@912..914
0: L_CURLY@912..913 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@913..913
2: R_CURLY@913..914 "}" [] []
45: CSS_QUALIFIED_RULE@914..924
0: CSS_SELECTOR_LIST@914..922
0: CSS_COMPOUND_SELECTOR@914..922
0: CSS_NESTED_SELECTOR_LIST@914..914
1: (empty)
2: CSS_SUB_SELECTOR_LIST@914..922
0: CSS_ATTRIBUTE_SELECTOR@914..922
0: L_BRACK@914..916 "[" [Newline("\n")] []
1: CSS_ATTRIBUTE_NAME@916..920
0: CSS_NAMESPACE@916..917
0: (empty)
1: PIPE@916..917 "|" [] []
1: CSS_IDENTIFIER@917..920
0: IDENT@917..920 "att" [] []
2: (empty)
3: R_BRACK@920..922 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@922..924
0: L_CURLY@922..923 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@923..923
2: R_CURLY@923..924 "}" [] []
46: CSS_QUALIFIED_RULE@924..936
0: CSS_SELECTOR_LIST@924..934
0: CSS_COMPOUND_SELECTOR@924..934
0: CSS_NESTED_SELECTOR_LIST@924..924
1: (empty)
2: CSS_SUB_SELECTOR_LIST@924..934
0: CSS_ATTRIBUTE_SELECTOR@924..934
0: L_BRACK@924..927 "[" [Newline("\n")] [Whitespace(" ")]
1: CSS_ATTRIBUTE_NAME@927..932
0: CSS_NAMESPACE@927..928
0: (empty)
1: PIPE@927..928 "|" [] []
1: CSS_IDENTIFIER@928..932
0: IDENT@928..932 "att" [] [Whitespace(" ")]
2: (empty)
3: R_BRACK@932..934 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@934..936
0: L_CURLY@934..935 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@935..935
2: R_CURLY@935..936 "}" [] []
47: CSS_QUALIFIED_RULE@936..952
0: CSS_SELECTOR_LIST@936..950
0: CSS_COMPOUND_SELECTOR@936..950
0: CSS_NESTED_SELECTOR_LIST@936..936
1: (empty)
2: CSS_SUB_SELECTOR_LIST@936..950
0: CSS_ATTRIBUTE_SELECTOR@936..950
0: L_BRACK@936..941 "[" [Newline("\n")] [Whitespace(" ")]
1: CSS_ATTRIBUTE_NAME@941..948
0: CSS_NAMESPACE@941..942
0: (empty)
1: PIPE@941..942 "|" [] []
1: CSS_IDENTIFIER@942..948
0: IDENT@942..948 "att" [] [Whitespace(" ")]
2: (empty)
3: R_BRACK@948..950 "]" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@950..952
0: L_CURLY@950..951 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@951..951
2: R_CURLY@951..952 "}" [] []
2: EOF@952..953 "" [Newline("\n")] []
```