emblem-source 0.3.2 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. checksums.yaml +8 -8
  2. data/dist/emblem.js +592 -482
  3. data/dist/emblem.min.js +2 -2
  4. metadata +4 -3
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MjI1ZDM3YTlmODA2ZGVhNzg2NzM3ODBlNDU1NTRhM2RkNjRmNzcyNA==
4
+ YWFkODYyOWU0MGQ3N2M5ZWZjYjVhMGI0NDczM2RhNTQxMTAzYzRmOQ==
5
5
  data.tar.gz: !binary |-
6
- OGI0NGQyNDRjOWVlOWU5YTM0MTY4YTI2YmY3OTg1NDM1MGMxYTNiYg==
6
+ ZjE0YTNiNjYxYmUwZjYyYmE5MmQ0MDllNDEwNTk0YWE1MjJjNDk1YQ==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- NmVlNDVkOTQ5MzVkYzJlMTJlY2MyZWNhM2ZjYTViNWIzNDQ2ZGNmY2Q5MzBi
10
- ZGZiMmMxZmQwOGZjNTVjYjFjNzQ3NDMzYWVjYTMxNDU4MjliMGMzMWJkMjhm
11
- MTA5NmNkZTk4MWZmZjA0OWU0YTMwNDhkNzQxNjNiNjkzNTBkMzU=
9
+ YWNkNDFjOGYzZjkzOThmNjY4MDc0YThlOGMxYWE0ZjI1NDA1NDRkNTQyMDAz
10
+ ZGEyNzg3NWE1MjhhZTVjODFlNGVlOWJjNDA1NGNjYThmZGUwZDEyZTViMWU5
11
+ MjNlYzg0YTExMmY2MTc0MGYxMzZiNWMzNmRhMDgyOTRlMzc3NmQ=
12
12
  data.tar.gz: !binary |-
13
- Y2Q2MjFjOWQxNDA1OTliMjkxNTRhMjBkMzFhNWM4OTYzOGVlYTI4NjRkYzhi
14
- MjZlMjJjOTJjNTJkMjI3OWMwOTQ2MzZjMjMxOGU4MTdhN2IzZDU2NTBmZjhl
15
- YjU4MzFkNTI2YmY1MWRmNDMyYTE5YjI0NGRkMTRlZTc4ZjZmMTk=
13
+ MzQ1ZTg1MGRkMGRiOGJlNmNkYjljNmFmNzc1NmMwZTEyZDg2NjQ5MjExNDI5
14
+ YWRlNWY1MjE4MWUyZjM5NGZlMTQzY2ZmMDZkM2M1YmI3NmU5NzgzMDQ3ODNj
15
+ ZGQ4YTI5MmY1NGE1ZGRmOGRkYWQzY2YxMzQ4M2NlZDY1NDBiN2M=
data/dist/emblem.js CHANGED
@@ -103,7 +103,7 @@ this.Emblem = {};
103
103
 
104
104
  Emblem = this.Emblem;
105
105
 
106
- Emblem.VERSION = "0.3.2";
106
+ Emblem.VERSION = "0.3.4";
107
107
 
108
108
  module.exports = Emblem;
109
109
 
@@ -367,34 +367,38 @@ Emblem.Parser = (function() {
367
367
  peg$c38 = function(t) { return ['tagName', t]; },
368
368
  peg$c39 = function(i) { return ['elementId', i]; },
369
369
  peg$c40 = function(c) { return ['class', c]; },
370
- peg$c41 = function(id, classes) { return [id, classes]; },
371
- peg$c42 = function(classes) { return [null, classes]; },
372
- peg$c43 = function(a) { return a; },
373
- peg$c44 = function(h) { return new AST.HashNode(h); },
374
- peg$c45 = "PathIdent",
375
- peg$c46 = "..",
376
- peg$c47 = "\"..\"",
377
- peg$c48 = ".",
378
- peg$c49 = "\".\"",
379
- peg$c50 = /^[a-zA-Z0-9_$\-!?\^]/,
380
- peg$c51 = "[a-zA-Z0-9_$\\-!?\\^]",
381
- peg$c52 = function(s) { return s; },
382
- peg$c53 = "Key",
383
- peg$c54 = ":",
384
- peg$c55 = "\":\"",
385
- peg$c56 = function(h) { return [h[0], h[2]]; },
386
- peg$c57 = function(s, p) { return { part: p, separator: s }; },
387
- peg$c58 = function(first, tail) {
370
+ peg$c41 = function(a) {
371
+ return a;
372
+ },
373
+ peg$c42 = function(id, classes) { return [id, classes]; },
374
+ peg$c43 = function(classes) { return [null, classes]; },
375
+ peg$c44 = function(a) { return a; },
376
+ peg$c45 = function(h) { return new AST.HashNode(h); },
377
+ peg$c46 = "PathIdent",
378
+ peg$c47 = "..",
379
+ peg$c48 = "\"..\"",
380
+ peg$c49 = ".",
381
+ peg$c50 = "\".\"",
382
+ peg$c51 = /^[a-zA-Z0-9_$\-!?\^]/,
383
+ peg$c52 = "[a-zA-Z0-9_$\\-!?\\^]",
384
+ peg$c53 = function(s) { return s; },
385
+ peg$c54 = "Key",
386
+ peg$c55 = ":",
387
+ peg$c56 = "\":\"",
388
+ peg$c57 = function(h) { return [h[0], h[2]]; },
389
+ peg$c58 = function(n) { return n; },
390
+ peg$c59 = function(s, p) { return { part: p, separator: s }; },
391
+ peg$c60 = function(first, tail) {
388
392
  var ret = [{ part: first }];
389
393
  for(var i = 0; i < tail.length; ++i) {
390
394
  ret.push(tail[i]);
391
395
  }
392
396
  return ret;
393
397
  },
394
- peg$c59 = "PathSeparator",
395
- peg$c60 = /^[\/.]/,
396
- peg$c61 = "[\\/.]",
397
- peg$c62 = function(v) {
398
+ peg$c61 = "PathSeparator",
399
+ peg$c62 = /^[\/.]/,
400
+ peg$c63 = "[\\/.]",
401
+ peg$c64 = function(v) {
398
402
  var last = v[v.length - 1];
399
403
  var match;
400
404
  var suffixModifier;
@@ -408,30 +412,32 @@ Emblem.Parser = (function() {
408
412
 
409
413
  return idNode;
410
414
  },
411
- peg$c63 = function(v) { return new AST.StringNode(v); },
412
- peg$c64 = function(v) { return new AST.IntegerNode(v); },
413
- peg$c65 = function(v) { return new AST.BooleanNode(v); },
414
- peg$c66 = "Boolean",
415
- peg$c67 = "true",
416
- peg$c68 = "\"true\"",
417
- peg$c69 = "false",
418
- peg$c70 = "\"false\"",
419
- peg$c71 = "Integer",
420
- peg$c72 = /^[0-9]/,
421
- peg$c73 = "[0-9]",
422
- peg$c74 = function(s) { return parseInt(s); },
423
- peg$c75 = "\"",
424
- peg$c76 = "\"\\\"\"",
425
- peg$c77 = "'",
426
- peg$c78 = "\"'\"",
427
- peg$c79 = function(p) { return p[1]; },
428
- peg$c80 = /^[^"}]/,
429
- peg$c81 = "[^\"}]",
430
- peg$c82 = /^[^'}]/,
431
- peg$c83 = "[^'}]",
432
- peg$c84 = /^[A-Za-z]/,
433
- peg$c85 = "[A-Za-z]",
434
- peg$c86 = function(ind, nodes, w) {
415
+ peg$c65 = function(v) { return new AST.StringNode(v); },
416
+ peg$c66 = function(v) { return new AST.IntegerNode(v); },
417
+ peg$c67 = function(v) { return new AST.BooleanNode(v); },
418
+ peg$c68 = "Boolean",
419
+ peg$c69 = "true",
420
+ peg$c70 = "\"true\"",
421
+ peg$c71 = "false",
422
+ peg$c72 = "\"false\"",
423
+ peg$c73 = "Integer",
424
+ peg$c74 = "-",
425
+ peg$c75 = "\"-\"",
426
+ peg$c76 = /^[0-9]/,
427
+ peg$c77 = "[0-9]",
428
+ peg$c78 = function(s) { return parseInt(s); },
429
+ peg$c79 = "\"",
430
+ peg$c80 = "\"\\\"\"",
431
+ peg$c81 = "'",
432
+ peg$c82 = "\"'\"",
433
+ peg$c83 = function(p) { return p[1]; },
434
+ peg$c84 = /^[^"}]/,
435
+ peg$c85 = "[^\"}]",
436
+ peg$c86 = /^[^'}]/,
437
+ peg$c87 = "[^'}]",
438
+ peg$c88 = /^[A-Za-z]/,
439
+ peg$c89 = "[A-Za-z]",
440
+ peg$c90 = function(ind, nodes, w) {
435
441
  nodes.unshift(new AST.ContentNode(ind));
436
442
 
437
443
  for(var i = 0; i < w.length; ++i) {
@@ -441,12 +447,12 @@ Emblem.Parser = (function() {
441
447
  }
442
448
  return nodes;
443
449
  },
444
- peg$c87 = /^[|`']/,
445
- peg$c88 = "[|`']",
446
- peg$c89 = "<",
447
- peg$c90 = "\"<\"",
448
- peg$c91 = function() { return '<'; },
449
- peg$c92 = function(s, nodes, indentedNodes) {
450
+ peg$c91 = /^[|`']/,
451
+ peg$c92 = "[|`']",
452
+ peg$c93 = "<",
453
+ peg$c94 = "\"<\"",
454
+ peg$c95 = function() { return '<'; },
455
+ peg$c96 = function(s, nodes, indentedNodes) {
450
456
  if(nodes.length || !indentedNodes) {
451
457
  nodes.push("\n");
452
458
  }
@@ -479,50 +485,50 @@ Emblem.Parser = (function() {
479
485
 
480
486
  return ret;
481
487
  },
482
- peg$c93 = function(first, tail) {
488
+ peg$c97 = function(first, tail) {
483
489
  return textNodesResult(first, tail);
484
490
  },
485
- peg$c94 = function(first, tail) { return textNodesResult(first, tail); },
486
- peg$c95 = "{",
487
- peg$c96 = "\"{\"",
488
- peg$c97 = /^[^}]/,
489
- peg$c98 = "[^}]",
490
- peg$c99 = function(text) {
491
+ peg$c98 = function(first, tail) { return textNodesResult(first, tail); },
492
+ peg$c99 = "{",
493
+ peg$c100 = "\"{\"",
494
+ peg$c101 = /^[^}]/,
495
+ peg$c102 = "[^}]",
496
+ peg$c103 = function(text) {
491
497
  // Force interpretation as mustache.
492
498
  // TODO: change to just parse with a specific rule?
493
499
  text = "=" + text;
494
500
  return Emblem.parse(text).statements[0];
495
501
  },
496
- peg$c100 = function(m) { m.escaped = true; return m; },
497
- peg$c101 = function(m) { m.escaped = false; return m; },
498
- peg$c102 = function(a) { return new AST.ContentNode(a); },
499
- peg$c103 = "any character",
500
- peg$c104 = "SingleMustacheOpen",
501
- peg$c105 = "DoubleMustacheOpen",
502
- peg$c106 = "{{",
503
- peg$c107 = "\"{{\"",
504
- peg$c108 = "TripleMustacheOpen",
505
- peg$c109 = "{{{",
506
- peg$c110 = "\"{{{\"",
507
- peg$c111 = "SingleMustacheClose",
508
- peg$c112 = "}",
509
- peg$c113 = "\"}\"",
510
- peg$c114 = "DoubleMustacheClose",
511
- peg$c115 = "}}",
512
- peg$c116 = "\"}}\"",
513
- peg$c117 = "TripleMustacheClose",
514
- peg$c118 = "}}}",
515
- peg$c119 = "\"}}}\"",
516
- peg$c120 = "InterpolationOpen",
517
- peg$c121 = "#{",
518
- peg$c122 = "\"#{\"",
519
- peg$c123 = "InterpolationClose",
520
- peg$c124 = "==",
521
- peg$c125 = "\"==\"",
522
- peg$c126 = function() { return false; },
523
- peg$c127 = function() { return true; },
524
- peg$c128 = function(h, s) { return h || s; },
525
- peg$c129 = function(h, inTagMustaches, fullAttributes) {
502
+ peg$c104 = function(m) { m.escaped = true; return m; },
503
+ peg$c105 = function(m) { m.escaped = false; return m; },
504
+ peg$c106 = function(a) { return new AST.ContentNode(a); },
505
+ peg$c107 = "any character",
506
+ peg$c108 = "SingleMustacheOpen",
507
+ peg$c109 = "DoubleMustacheOpen",
508
+ peg$c110 = "{{",
509
+ peg$c111 = "\"{{\"",
510
+ peg$c112 = "TripleMustacheOpen",
511
+ peg$c113 = "{{{",
512
+ peg$c114 = "\"{{{\"",
513
+ peg$c115 = "SingleMustacheClose",
514
+ peg$c116 = "}",
515
+ peg$c117 = "\"}\"",
516
+ peg$c118 = "DoubleMustacheClose",
517
+ peg$c119 = "}}",
518
+ peg$c120 = "\"}}\"",
519
+ peg$c121 = "TripleMustacheClose",
520
+ peg$c122 = "}}}",
521
+ peg$c123 = "\"}}}\"",
522
+ peg$c124 = "InterpolationOpen",
523
+ peg$c125 = "#{",
524
+ peg$c126 = "\"#{\"",
525
+ peg$c127 = "InterpolationClose",
526
+ peg$c128 = "==",
527
+ peg$c129 = "\"==\"",
528
+ peg$c130 = function() { return false; },
529
+ peg$c131 = function() { return true; },
530
+ peg$c132 = function(h, s) { return h || s; },
531
+ peg$c133 = function(h, inTagMustaches, fullAttributes) {
526
532
  var tagName = h[0] || 'div',
527
533
  shorthandAttributes = h[1] || [],
528
534
  id = shorthandAttributes[0],
@@ -558,9 +564,9 @@ Emblem.Parser = (function() {
558
564
  return [tagOpenContent, new AST.ContentNode('</' + tagName + '>')];
559
565
  }
560
566
  },
561
- peg$c130 = function(s) { return { shorthand: s, id: true}; },
562
- peg$c131 = function(s) { return { shorthand: s }; },
563
- peg$c132 = function(shorthands) {
567
+ peg$c134 = function(s) { return { shorthand: s, id: true}; },
568
+ peg$c135 = function(s) { return { shorthand: s }; },
569
+ peg$c136 = function(shorthands) {
564
570
  var id, classes = [];
565
571
  for(var i = 0, len = shorthands.length; i < len; ++i) {
566
572
  var shorthand = shorthands[i];
@@ -573,28 +579,39 @@ Emblem.Parser = (function() {
573
579
 
574
580
  return [id, classes];
575
581
  },
576
- peg$c133 = function(a) {
577
- return [new AST.ContentNode(' ')].concat(a);
582
+ peg$c137 = function(a) {
583
+ if (a.length) {
584
+ return [new AST.ContentNode(' ')].concat(a);
585
+ } else {
586
+ return [];
587
+ }
578
588
  },
579
- peg$c134 = /^[A-Za-z.0-9_\-]/,
580
- peg$c135 = "[A-Za-z.0-9_\\-]",
581
- peg$c136 = function(id) { return new AST.MustacheNode([id]); },
582
- peg$c137 = function(event, mustacheNode) {
589
+ peg$c138 = /^[A-Za-z.0-9_\-]/,
590
+ peg$c139 = "[A-Za-z.0-9_\\-]",
591
+ peg$c140 = function(id) { return new AST.MustacheNode([id]); },
592
+ peg$c141 = function(event, mustacheNode) {
583
593
  // Unshift the action helper and augment the hash
584
594
  return [unshiftParam(mustacheNode, 'action', [['on', new AST.StringNode(event)]])];
585
595
  },
586
- peg$c138 = function(value) { return value.replace(/ *$/, ''); },
587
- peg$c139 = "!",
588
- peg$c140 = "\"!\"",
589
- peg$c141 = function(key, value) { return IS_EMBER; },
590
- peg$c142 = function(key, value) {
596
+ peg$c142 = function(key, boolValue) {
597
+ if (boolValue === 'true') {
598
+ return [ new AST.ContentNode(key) ];
599
+ } else {
600
+ return [];
601
+ }
602
+ },
603
+ peg$c143 = function(value) { return value.replace(/ *$/, ''); },
604
+ peg$c144 = "!",
605
+ peg$c145 = "\"!\"",
606
+ peg$c146 = function(key, value) { return IS_EMBER; },
607
+ peg$c147 = function(key, value) {
591
608
  var hashNode = new AST.HashNode([[key, new AST.StringNode(value)]]);
592
609
  var params = [new AST.IdNode([{part: 'bindAttr'}])];
593
610
  var mustacheNode = new AST.MustacheNode(params, hashNode);
594
611
 
595
612
  return [mustacheNode];
596
613
  },
597
- peg$c143 = function(key, id) {
614
+ peg$c148 = function(key, id) {
598
615
  var mustacheNode = new AST.MustacheNode([id]);
599
616
 
600
617
  if(IS_EMBER && id._emblemSuffixModifier === '!') {
@@ -607,54 +624,52 @@ Emblem.Parser = (function() {
607
624
  new AST.ContentNode('"'),
608
625
  ];
609
626
  },
610
- peg$c144 = function(key, nodes) {
627
+ peg$c149 = function(key, nodes) {
611
628
  var result = [ new AST.ContentNode(key + '=' + '"') ].concat(nodes);
612
629
  return result.concat([new AST.ContentNode('"')]);
613
630
  },
614
- peg$c145 = "_",
615
- peg$c146 = "\"_\"",
616
- peg$c147 = "-",
617
- peg$c148 = "\"-\"",
618
- peg$c149 = "%",
619
- peg$c150 = "\"%\"",
620
- peg$c151 = "#",
621
- peg$c152 = "\"#\"",
622
- peg$c153 = function(c) { return c;},
623
- peg$c154 = "CSSIdentifier",
624
- peg$c155 = /^[_a-zA-Z0-9\-]/,
625
- peg$c156 = "[_a-zA-Z0-9\\-]",
626
- peg$c157 = /^[_a-zA-Z]/,
627
- peg$c158 = "[_a-zA-Z]",
628
- peg$c159 = /^[\x80-\xFF]/,
629
- peg$c160 = "[\\x80-\\xFF]",
630
- peg$c161 = "KnownHTMLTagName",
631
- peg$c162 = function(t) { return !!KNOWN_TAGS[t]; },
632
- peg$c163 = function(t) { return t; },
633
- peg$c164 = "a JS event",
634
- peg$c165 = function(t) { return !!KNOWN_EVENTS[t]; },
635
- peg$c166 = "INDENT",
636
- peg$c167 = "\uEFEF",
637
- peg$c168 = "\"\\uEFEF\"",
638
- peg$c169 = function() { return ''; },
639
- peg$c170 = "DEDENT",
640
- peg$c171 = "\uEFFE",
641
- peg$c172 = "\"\\uEFFE\"",
642
- peg$c173 = "Unmatched DEDENT",
643
- peg$c174 = "\uEFEE",
644
- peg$c175 = "\"\\uEFEE\"",
645
- peg$c176 = "LineEnd",
646
- peg$c177 = "\r",
647
- peg$c178 = "\"\\r\"",
648
- peg$c179 = "\uEFFF",
649
- peg$c180 = "\"\\uEFFF\"",
650
- peg$c181 = "\n",
651
- peg$c182 = "\"\\n\"",
652
- peg$c183 = "ANYDEDENT",
653
- peg$c184 = "RequiredWhitespace",
654
- peg$c185 = "OptionalWhitespace",
655
- peg$c186 = "InlineWhitespace",
656
- peg$c187 = /^[ \t]/,
657
- peg$c188 = "[ \\t]",
631
+ peg$c150 = "_",
632
+ peg$c151 = "\"_\"",
633
+ peg$c152 = "%",
634
+ peg$c153 = "\"%\"",
635
+ peg$c154 = "#",
636
+ peg$c155 = "\"#\"",
637
+ peg$c156 = function(c) { return c;},
638
+ peg$c157 = "CSSIdentifier",
639
+ peg$c158 = /^[_a-zA-Z0-9\-]/,
640
+ peg$c159 = "[_a-zA-Z0-9\\-]",
641
+ peg$c160 = /^[_a-zA-Z]/,
642
+ peg$c161 = "[_a-zA-Z]",
643
+ peg$c162 = /^[\x80-\xFF]/,
644
+ peg$c163 = "[\\x80-\\xFF]",
645
+ peg$c164 = "KnownHTMLTagName",
646
+ peg$c165 = function(t) { return !!KNOWN_TAGS[t]; },
647
+ peg$c166 = function(t) { return t; },
648
+ peg$c167 = "a JS event",
649
+ peg$c168 = function(t) { return !!KNOWN_EVENTS[t]; },
650
+ peg$c169 = "INDENT",
651
+ peg$c170 = "\uEFEF",
652
+ peg$c171 = "\"\\uEFEF\"",
653
+ peg$c172 = function() { return ''; },
654
+ peg$c173 = "DEDENT",
655
+ peg$c174 = "\uEFFE",
656
+ peg$c175 = "\"\\uEFFE\"",
657
+ peg$c176 = "Unmatched DEDENT",
658
+ peg$c177 = "\uEFEE",
659
+ peg$c178 = "\"\\uEFEE\"",
660
+ peg$c179 = "LineEnd",
661
+ peg$c180 = "\r",
662
+ peg$c181 = "\"\\r\"",
663
+ peg$c182 = "\uEFFF",
664
+ peg$c183 = "\"\\uEFFF\"",
665
+ peg$c184 = "\n",
666
+ peg$c185 = "\"\\n\"",
667
+ peg$c186 = "ANYDEDENT",
668
+ peg$c187 = "RequiredWhitespace",
669
+ peg$c188 = "OptionalWhitespace",
670
+ peg$c189 = "InlineWhitespace",
671
+ peg$c190 = /^[ \t]/,
672
+ peg$c191 = "[ \\t]",
658
673
 
659
674
  peg$currPos = 0,
660
675
  peg$reportedPos = 0,
@@ -978,7 +993,7 @@ Emblem.Parser = (function() {
978
993
  }
979
994
 
980
995
  function peg$parselegacyPartialInvocation() {
981
- var s0, s1, s2, s3, s4, s5, s6, s7;
996
+ var s0, s1, s2, s3, s4, s5, s6;
982
997
 
983
998
  s0 = peg$currPos;
984
999
  if (input.charCodeAt(peg$currPos) === 62) {
@@ -993,30 +1008,24 @@ Emblem.Parser = (function() {
993
1008
  if (s2 !== null) {
994
1009
  s3 = peg$parselegacyPartialName();
995
1010
  if (s3 !== null) {
996
- s4 = peg$parse_();
1011
+ s4 = [];
1012
+ s5 = peg$parseinMustacheParam();
1013
+ while (s5 !== null) {
1014
+ s4.push(s5);
1015
+ s5 = peg$parseinMustacheParam();
1016
+ }
997
1017
  if (s4 !== null) {
998
- s5 = [];
999
- s6 = peg$parseinMustacheParam();
1000
- while (s6 !== null) {
1001
- s5.push(s6);
1002
- s6 = peg$parseinMustacheParam();
1003
- }
1018
+ s5 = peg$parse_();
1004
1019
  if (s5 !== null) {
1005
- s6 = peg$parse_();
1020
+ s6 = peg$parseTERM();
1006
1021
  if (s6 !== null) {
1007
- s7 = peg$parseTERM();
1008
- if (s7 !== null) {
1009
- peg$reportedPos = s0;
1010
- s1 = peg$c15(s3, s5);
1011
- if (s1 === null) {
1012
- peg$currPos = s0;
1013
- s0 = s1;
1014
- } else {
1015
- s0 = s1;
1016
- }
1017
- } else {
1022
+ peg$reportedPos = s0;
1023
+ s1 = peg$c15(s3, s4);
1024
+ if (s1 === null) {
1018
1025
  peg$currPos = s0;
1019
- s0 = peg$c0;
1026
+ s0 = s1;
1027
+ } else {
1028
+ s0 = s1;
1020
1029
  }
1021
1030
  } else {
1022
1031
  peg$currPos = s0;
@@ -1886,47 +1895,67 @@ Emblem.Parser = (function() {
1886
1895
  }
1887
1896
 
1888
1897
  function peg$parsehtmlMustacheAttribute() {
1889
- var s0, s1;
1898
+ var s0, s1, s2, s3;
1890
1899
 
1891
1900
  s0 = peg$currPos;
1892
- s1 = peg$parsetagNameShorthand();
1901
+ s1 = peg$parse_();
1893
1902
  if (s1 !== null) {
1894
- peg$reportedPos = s0;
1895
- s1 = peg$c38(s1);
1896
- }
1897
- if (s1 === null) {
1898
- peg$currPos = s0;
1899
- s0 = s1;
1900
- } else {
1901
- s0 = s1;
1902
- }
1903
- if (s0 === null) {
1904
- s0 = peg$currPos;
1905
- s1 = peg$parseidShorthand();
1906
- if (s1 !== null) {
1907
- peg$reportedPos = s0;
1908
- s1 = peg$c39(s1);
1903
+ s2 = peg$currPos;
1904
+ s3 = peg$parsetagNameShorthand();
1905
+ if (s3 !== null) {
1906
+ peg$reportedPos = s2;
1907
+ s3 = peg$c38(s3);
1909
1908
  }
1910
- if (s1 === null) {
1911
- peg$currPos = s0;
1912
- s0 = s1;
1909
+ if (s3 === null) {
1910
+ peg$currPos = s2;
1911
+ s2 = s3;
1913
1912
  } else {
1914
- s0 = s1;
1913
+ s2 = s3;
1915
1914
  }
1916
- if (s0 === null) {
1917
- s0 = peg$currPos;
1918
- s1 = peg$parseclassShorthand();
1919
- if (s1 !== null) {
1920
- peg$reportedPos = s0;
1921
- s1 = peg$c40(s1);
1915
+ if (s2 === null) {
1916
+ s2 = peg$currPos;
1917
+ s3 = peg$parseidShorthand();
1918
+ if (s3 !== null) {
1919
+ peg$reportedPos = s2;
1920
+ s3 = peg$c39(s3);
1922
1921
  }
1922
+ if (s3 === null) {
1923
+ peg$currPos = s2;
1924
+ s2 = s3;
1925
+ } else {
1926
+ s2 = s3;
1927
+ }
1928
+ if (s2 === null) {
1929
+ s2 = peg$currPos;
1930
+ s3 = peg$parseclassShorthand();
1931
+ if (s3 !== null) {
1932
+ peg$reportedPos = s2;
1933
+ s3 = peg$c40(s3);
1934
+ }
1935
+ if (s3 === null) {
1936
+ peg$currPos = s2;
1937
+ s2 = s3;
1938
+ } else {
1939
+ s2 = s3;
1940
+ }
1941
+ }
1942
+ }
1943
+ if (s2 !== null) {
1944
+ peg$reportedPos = s0;
1945
+ s1 = peg$c41(s2);
1923
1946
  if (s1 === null) {
1924
1947
  peg$currPos = s0;
1925
1948
  s0 = s1;
1926
1949
  } else {
1927
1950
  s0 = s1;
1928
1951
  }
1952
+ } else {
1953
+ peg$currPos = s0;
1954
+ s0 = peg$c0;
1929
1955
  }
1956
+ } else {
1957
+ peg$currPos = s0;
1958
+ s0 = peg$c0;
1930
1959
  }
1931
1960
 
1932
1961
  return s0;
@@ -1957,7 +1986,7 @@ Emblem.Parser = (function() {
1957
1986
  }
1958
1987
  if (s2 !== null) {
1959
1988
  peg$reportedPos = s0;
1960
- s1 = peg$c41(s1, s2);
1989
+ s1 = peg$c42(s1, s2);
1961
1990
  if (s1 === null) {
1962
1991
  peg$currPos = s0;
1963
1992
  s0 = s1;
@@ -1992,7 +2021,7 @@ Emblem.Parser = (function() {
1992
2021
  }
1993
2022
  if (s1 !== null) {
1994
2023
  peg$reportedPos = s0;
1995
- s1 = peg$c42(s1);
2024
+ s1 = peg$c43(s1);
1996
2025
  }
1997
2026
  if (s1 === null) {
1998
2027
  peg$currPos = s0;
@@ -2005,31 +2034,22 @@ Emblem.Parser = (function() {
2005
2034
  }
2006
2035
 
2007
2036
  function peg$parseinMustacheParam() {
2008
- var s0, s1, s2;
2037
+ var s0, s1;
2009
2038
 
2010
2039
  s0 = peg$currPos;
2011
- s1 = peg$parse_();
2040
+ s1 = peg$parsehtmlMustacheAttribute();
2041
+ if (s1 === null) {
2042
+ s1 = peg$parseparam();
2043
+ }
2012
2044
  if (s1 !== null) {
2013
- s2 = peg$parsehtmlMustacheAttribute();
2014
- if (s2 === null) {
2015
- s2 = peg$parseparam();
2016
- }
2017
- if (s2 !== null) {
2018
- peg$reportedPos = s0;
2019
- s1 = peg$c43(s2);
2020
- if (s1 === null) {
2021
- peg$currPos = s0;
2022
- s0 = s1;
2023
- } else {
2024
- s0 = s1;
2025
- }
2026
- } else {
2027
- peg$currPos = s0;
2028
- s0 = peg$c0;
2029
- }
2030
- } else {
2045
+ peg$reportedPos = s0;
2046
+ s1 = peg$c44(s1);
2047
+ }
2048
+ if (s1 === null) {
2031
2049
  peg$currPos = s0;
2032
- s0 = peg$c0;
2050
+ s0 = s1;
2051
+ } else {
2052
+ s0 = s1;
2033
2053
  }
2034
2054
 
2035
2055
  return s0;
@@ -2051,7 +2071,7 @@ Emblem.Parser = (function() {
2051
2071
  }
2052
2072
  if (s1 !== null) {
2053
2073
  peg$reportedPos = s0;
2054
- s1 = peg$c44(s1);
2074
+ s1 = peg$c45(s1);
2055
2075
  }
2056
2076
  if (s1 === null) {
2057
2077
  peg$currPos = s0;
@@ -2067,41 +2087,41 @@ Emblem.Parser = (function() {
2067
2087
  var s0, s1, s2, s3;
2068
2088
 
2069
2089
  peg$silentFails++;
2070
- if (input.substr(peg$currPos, 2) === peg$c46) {
2071
- s0 = peg$c46;
2090
+ if (input.substr(peg$currPos, 2) === peg$c47) {
2091
+ s0 = peg$c47;
2072
2092
  peg$currPos += 2;
2073
2093
  } else {
2074
2094
  s0 = null;
2075
- if (peg$silentFails === 0) { peg$fail(peg$c47); }
2095
+ if (peg$silentFails === 0) { peg$fail(peg$c48); }
2076
2096
  }
2077
2097
  if (s0 === null) {
2078
2098
  if (input.charCodeAt(peg$currPos) === 46) {
2079
- s0 = peg$c48;
2099
+ s0 = peg$c49;
2080
2100
  peg$currPos++;
2081
2101
  } else {
2082
2102
  s0 = null;
2083
- if (peg$silentFails === 0) { peg$fail(peg$c49); }
2103
+ if (peg$silentFails === 0) { peg$fail(peg$c50); }
2084
2104
  }
2085
2105
  if (s0 === null) {
2086
2106
  s0 = peg$currPos;
2087
2107
  s1 = peg$currPos;
2088
2108
  s2 = [];
2089
- if (peg$c50.test(input.charAt(peg$currPos))) {
2109
+ if (peg$c51.test(input.charAt(peg$currPos))) {
2090
2110
  s3 = input.charAt(peg$currPos);
2091
2111
  peg$currPos++;
2092
2112
  } else {
2093
2113
  s3 = null;
2094
- if (peg$silentFails === 0) { peg$fail(peg$c51); }
2114
+ if (peg$silentFails === 0) { peg$fail(peg$c52); }
2095
2115
  }
2096
2116
  if (s3 !== null) {
2097
2117
  while (s3 !== null) {
2098
2118
  s2.push(s3);
2099
- if (peg$c50.test(input.charAt(peg$currPos))) {
2119
+ if (peg$c51.test(input.charAt(peg$currPos))) {
2100
2120
  s3 = input.charAt(peg$currPos);
2101
2121
  peg$currPos++;
2102
2122
  } else {
2103
2123
  s3 = null;
2104
- if (peg$silentFails === 0) { peg$fail(peg$c51); }
2124
+ if (peg$silentFails === 0) { peg$fail(peg$c52); }
2105
2125
  }
2106
2126
  }
2107
2127
  } else {
@@ -2130,7 +2150,7 @@ Emblem.Parser = (function() {
2130
2150
  }
2131
2151
  if (s2 !== null) {
2132
2152
  peg$reportedPos = s0;
2133
- s1 = peg$c52(s1);
2153
+ s1 = peg$c53(s1);
2134
2154
  if (s1 === null) {
2135
2155
  peg$currPos = s0;
2136
2156
  s0 = s1;
@@ -2150,7 +2170,7 @@ Emblem.Parser = (function() {
2150
2170
  peg$silentFails--;
2151
2171
  if (s0 === null) {
2152
2172
  s1 = null;
2153
- if (peg$silentFails === 0) { peg$fail(peg$c45); }
2173
+ if (peg$silentFails === 0) { peg$fail(peg$c46); }
2154
2174
  }
2155
2175
 
2156
2176
  return s0;
@@ -2165,11 +2185,11 @@ Emblem.Parser = (function() {
2165
2185
  s2 = peg$parsenmchar();
2166
2186
  if (s2 === null) {
2167
2187
  if (input.charCodeAt(peg$currPos) === 58) {
2168
- s2 = peg$c54;
2188
+ s2 = peg$c55;
2169
2189
  peg$currPos++;
2170
2190
  } else {
2171
2191
  s2 = null;
2172
- if (peg$silentFails === 0) { peg$fail(peg$c55); }
2192
+ if (peg$silentFails === 0) { peg$fail(peg$c56); }
2173
2193
  }
2174
2194
  }
2175
2195
  while (s2 !== null) {
@@ -2177,11 +2197,11 @@ Emblem.Parser = (function() {
2177
2197
  s2 = peg$parsenmchar();
2178
2198
  if (s2 === null) {
2179
2199
  if (input.charCodeAt(peg$currPos) === 58) {
2180
- s2 = peg$c54;
2200
+ s2 = peg$c55;
2181
2201
  peg$currPos++;
2182
2202
  } else {
2183
2203
  s2 = null;
2184
- if (peg$silentFails === 0) { peg$fail(peg$c55); }
2204
+ if (peg$silentFails === 0) { peg$fail(peg$c56); }
2185
2205
  }
2186
2206
  }
2187
2207
  }
@@ -2192,7 +2212,7 @@ Emblem.Parser = (function() {
2192
2212
  peg$silentFails--;
2193
2213
  if (s0 === null) {
2194
2214
  s1 = null;
2195
- if (peg$silentFails === 0) { peg$fail(peg$c53); }
2215
+ if (peg$silentFails === 0) { peg$fail(peg$c54); }
2196
2216
  }
2197
2217
 
2198
2218
  return s0;
@@ -2202,7 +2222,7 @@ Emblem.Parser = (function() {
2202
2222
  var s0, s1, s2, s3, s4, s5;
2203
2223
 
2204
2224
  s0 = peg$currPos;
2205
- s1 = peg$parse_();
2225
+ s1 = peg$parse__();
2206
2226
  if (s1 !== null) {
2207
2227
  s2 = peg$currPos;
2208
2228
  s3 = peg$parsekey();
@@ -2320,7 +2340,7 @@ Emblem.Parser = (function() {
2320
2340
  }
2321
2341
  if (s2 !== null) {
2322
2342
  peg$reportedPos = s0;
2323
- s1 = peg$c56(s2);
2343
+ s1 = peg$c57(s2);
2324
2344
  if (s1 === null) {
2325
2345
  peg$currPos = s0;
2326
2346
  s0 = s1;
@@ -2340,17 +2360,37 @@ Emblem.Parser = (function() {
2340
2360
  }
2341
2361
 
2342
2362
  function peg$parseparam() {
2343
- var s0;
2363
+ var s0, s1, s2;
2344
2364
 
2345
- s0 = peg$parsebooleanNode();
2346
- if (s0 === null) {
2347
- s0 = peg$parseintegerNode();
2348
- if (s0 === null) {
2349
- s0 = peg$parsepathIdNode();
2350
- if (s0 === null) {
2351
- s0 = peg$parsestringNode();
2365
+ s0 = peg$currPos;
2366
+ s1 = peg$parse__();
2367
+ if (s1 !== null) {
2368
+ s2 = peg$parsebooleanNode();
2369
+ if (s2 === null) {
2370
+ s2 = peg$parseintegerNode();
2371
+ if (s2 === null) {
2372
+ s2 = peg$parsepathIdNode();
2373
+ if (s2 === null) {
2374
+ s2 = peg$parsestringNode();
2375
+ }
2352
2376
  }
2353
2377
  }
2378
+ if (s2 !== null) {
2379
+ peg$reportedPos = s0;
2380
+ s1 = peg$c58(s2);
2381
+ if (s1 === null) {
2382
+ peg$currPos = s0;
2383
+ s0 = s1;
2384
+ } else {
2385
+ s0 = s1;
2386
+ }
2387
+ } else {
2388
+ peg$currPos = s0;
2389
+ s0 = peg$c0;
2390
+ }
2391
+ } else {
2392
+ peg$currPos = s0;
2393
+ s0 = peg$c0;
2354
2394
  }
2355
2395
 
2356
2396
  return s0;
@@ -2369,7 +2409,7 @@ Emblem.Parser = (function() {
2369
2409
  s5 = peg$parsepathIdent();
2370
2410
  if (s5 !== null) {
2371
2411
  peg$reportedPos = s3;
2372
- s4 = peg$c57(s4, s5);
2412
+ s4 = peg$c59(s4, s5);
2373
2413
  if (s4 === null) {
2374
2414
  peg$currPos = s3;
2375
2415
  s3 = s4;
@@ -2392,7 +2432,7 @@ Emblem.Parser = (function() {
2392
2432
  s5 = peg$parsepathIdent();
2393
2433
  if (s5 !== null) {
2394
2434
  peg$reportedPos = s3;
2395
- s4 = peg$c57(s4, s5);
2435
+ s4 = peg$c59(s4, s5);
2396
2436
  if (s4 === null) {
2397
2437
  peg$currPos = s3;
2398
2438
  s3 = s4;
@@ -2410,7 +2450,7 @@ Emblem.Parser = (function() {
2410
2450
  }
2411
2451
  if (s2 !== null) {
2412
2452
  peg$reportedPos = s0;
2413
- s1 = peg$c58(s1, s2);
2453
+ s1 = peg$c60(s1, s2);
2414
2454
  if (s1 === null) {
2415
2455
  peg$currPos = s0;
2416
2456
  s0 = s1;
@@ -2433,17 +2473,17 @@ Emblem.Parser = (function() {
2433
2473
  var s0, s1;
2434
2474
 
2435
2475
  peg$silentFails++;
2436
- if (peg$c60.test(input.charAt(peg$currPos))) {
2476
+ if (peg$c62.test(input.charAt(peg$currPos))) {
2437
2477
  s0 = input.charAt(peg$currPos);
2438
2478
  peg$currPos++;
2439
2479
  } else {
2440
2480
  s0 = null;
2441
- if (peg$silentFails === 0) { peg$fail(peg$c61); }
2481
+ if (peg$silentFails === 0) { peg$fail(peg$c63); }
2442
2482
  }
2443
2483
  peg$silentFails--;
2444
2484
  if (s0 === null) {
2445
2485
  s1 = null;
2446
- if (peg$silentFails === 0) { peg$fail(peg$c59); }
2486
+ if (peg$silentFails === 0) { peg$fail(peg$c61); }
2447
2487
  }
2448
2488
 
2449
2489
  return s0;
@@ -2456,7 +2496,7 @@ Emblem.Parser = (function() {
2456
2496
  s1 = peg$parsepath();
2457
2497
  if (s1 !== null) {
2458
2498
  peg$reportedPos = s0;
2459
- s1 = peg$c62(s1);
2499
+ s1 = peg$c64(s1);
2460
2500
  }
2461
2501
  if (s1 === null) {
2462
2502
  peg$currPos = s0;
@@ -2475,7 +2515,7 @@ Emblem.Parser = (function() {
2475
2515
  s1 = peg$parsestring();
2476
2516
  if (s1 !== null) {
2477
2517
  peg$reportedPos = s0;
2478
- s1 = peg$c63(s1);
2518
+ s1 = peg$c65(s1);
2479
2519
  }
2480
2520
  if (s1 === null) {
2481
2521
  peg$currPos = s0;
@@ -2494,7 +2534,7 @@ Emblem.Parser = (function() {
2494
2534
  s1 = peg$parseinteger();
2495
2535
  if (s1 !== null) {
2496
2536
  peg$reportedPos = s0;
2497
- s1 = peg$c64(s1);
2537
+ s1 = peg$c66(s1);
2498
2538
  }
2499
2539
  if (s1 === null) {
2500
2540
  peg$currPos = s0;
@@ -2513,7 +2553,7 @@ Emblem.Parser = (function() {
2513
2553
  s1 = peg$parseboolean();
2514
2554
  if (s1 !== null) {
2515
2555
  peg$reportedPos = s0;
2516
- s1 = peg$c65(s1);
2556
+ s1 = peg$c67(s1);
2517
2557
  }
2518
2558
  if (s1 === null) {
2519
2559
  peg$currPos = s0;
@@ -2529,57 +2569,80 @@ Emblem.Parser = (function() {
2529
2569
  var s0, s1;
2530
2570
 
2531
2571
  peg$silentFails++;
2532
- if (input.substr(peg$currPos, 4) === peg$c67) {
2533
- s0 = peg$c67;
2572
+ if (input.substr(peg$currPos, 4) === peg$c69) {
2573
+ s0 = peg$c69;
2534
2574
  peg$currPos += 4;
2535
2575
  } else {
2536
2576
  s0 = null;
2537
- if (peg$silentFails === 0) { peg$fail(peg$c68); }
2577
+ if (peg$silentFails === 0) { peg$fail(peg$c70); }
2538
2578
  }
2539
2579
  if (s0 === null) {
2540
- if (input.substr(peg$currPos, 5) === peg$c69) {
2541
- s0 = peg$c69;
2580
+ if (input.substr(peg$currPos, 5) === peg$c71) {
2581
+ s0 = peg$c71;
2542
2582
  peg$currPos += 5;
2543
2583
  } else {
2544
2584
  s0 = null;
2545
- if (peg$silentFails === 0) { peg$fail(peg$c70); }
2585
+ if (peg$silentFails === 0) { peg$fail(peg$c72); }
2546
2586
  }
2547
2587
  }
2548
2588
  peg$silentFails--;
2549
2589
  if (s0 === null) {
2550
2590
  s1 = null;
2551
- if (peg$silentFails === 0) { peg$fail(peg$c66); }
2591
+ if (peg$silentFails === 0) { peg$fail(peg$c68); }
2552
2592
  }
2553
2593
 
2554
2594
  return s0;
2555
2595
  }
2556
2596
 
2557
2597
  function peg$parseinteger() {
2558
- var s0, s1, s2, s3;
2598
+ var s0, s1, s2, s3, s4, s5;
2559
2599
 
2560
2600
  peg$silentFails++;
2561
2601
  s0 = peg$currPos;
2562
2602
  s1 = peg$currPos;
2563
- s2 = [];
2564
- if (peg$c72.test(input.charAt(peg$currPos))) {
2565
- s3 = input.charAt(peg$currPos);
2603
+ s2 = peg$currPos;
2604
+ if (input.charCodeAt(peg$currPos) === 45) {
2605
+ s3 = peg$c74;
2566
2606
  peg$currPos++;
2567
2607
  } else {
2568
2608
  s3 = null;
2569
- if (peg$silentFails === 0) { peg$fail(peg$c73); }
2609
+ if (peg$silentFails === 0) { peg$fail(peg$c75); }
2610
+ }
2611
+ if (s3 === null) {
2612
+ s3 = peg$c1;
2570
2613
  }
2571
2614
  if (s3 !== null) {
2572
- while (s3 !== null) {
2573
- s2.push(s3);
2574
- if (peg$c72.test(input.charAt(peg$currPos))) {
2575
- s3 = input.charAt(peg$currPos);
2576
- peg$currPos++;
2577
- } else {
2578
- s3 = null;
2579
- if (peg$silentFails === 0) { peg$fail(peg$c73); }
2615
+ s4 = [];
2616
+ if (peg$c76.test(input.charAt(peg$currPos))) {
2617
+ s5 = input.charAt(peg$currPos);
2618
+ peg$currPos++;
2619
+ } else {
2620
+ s5 = null;
2621
+ if (peg$silentFails === 0) { peg$fail(peg$c77); }
2622
+ }
2623
+ if (s5 !== null) {
2624
+ while (s5 !== null) {
2625
+ s4.push(s5);
2626
+ if (peg$c76.test(input.charAt(peg$currPos))) {
2627
+ s5 = input.charAt(peg$currPos);
2628
+ peg$currPos++;
2629
+ } else {
2630
+ s5 = null;
2631
+ if (peg$silentFails === 0) { peg$fail(peg$c77); }
2632
+ }
2580
2633
  }
2634
+ } else {
2635
+ s4 = peg$c0;
2636
+ }
2637
+ if (s4 !== null) {
2638
+ s3 = [s3, s4];
2639
+ s2 = s3;
2640
+ } else {
2641
+ peg$currPos = s2;
2642
+ s2 = peg$c0;
2581
2643
  }
2582
2644
  } else {
2645
+ peg$currPos = s2;
2583
2646
  s2 = peg$c0;
2584
2647
  }
2585
2648
  if (s2 !== null) {
@@ -2588,7 +2651,7 @@ Emblem.Parser = (function() {
2588
2651
  s1 = s2;
2589
2652
  if (s1 !== null) {
2590
2653
  peg$reportedPos = s0;
2591
- s1 = peg$c74(s1);
2654
+ s1 = peg$c78(s1);
2592
2655
  }
2593
2656
  if (s1 === null) {
2594
2657
  peg$currPos = s0;
@@ -2599,7 +2662,7 @@ Emblem.Parser = (function() {
2599
2662
  peg$silentFails--;
2600
2663
  if (s0 === null) {
2601
2664
  s1 = null;
2602
- if (peg$silentFails === 0) { peg$fail(peg$c71); }
2665
+ if (peg$silentFails === 0) { peg$fail(peg$c73); }
2603
2666
  }
2604
2667
 
2605
2668
  return s0;
@@ -2611,21 +2674,21 @@ Emblem.Parser = (function() {
2611
2674
  s0 = peg$currPos;
2612
2675
  s1 = peg$currPos;
2613
2676
  if (input.charCodeAt(peg$currPos) === 34) {
2614
- s2 = peg$c75;
2677
+ s2 = peg$c79;
2615
2678
  peg$currPos++;
2616
2679
  } else {
2617
2680
  s2 = null;
2618
- if (peg$silentFails === 0) { peg$fail(peg$c76); }
2681
+ if (peg$silentFails === 0) { peg$fail(peg$c80); }
2619
2682
  }
2620
2683
  if (s2 !== null) {
2621
2684
  s3 = peg$parsehashDoubleQuoteStringValue();
2622
2685
  if (s3 !== null) {
2623
2686
  if (input.charCodeAt(peg$currPos) === 34) {
2624
- s4 = peg$c75;
2687
+ s4 = peg$c79;
2625
2688
  peg$currPos++;
2626
2689
  } else {
2627
2690
  s4 = null;
2628
- if (peg$silentFails === 0) { peg$fail(peg$c76); }
2691
+ if (peg$silentFails === 0) { peg$fail(peg$c80); }
2629
2692
  }
2630
2693
  if (s4 !== null) {
2631
2694
  s2 = [s2, s3, s4];
@@ -2645,21 +2708,21 @@ Emblem.Parser = (function() {
2645
2708
  if (s1 === null) {
2646
2709
  s1 = peg$currPos;
2647
2710
  if (input.charCodeAt(peg$currPos) === 39) {
2648
- s2 = peg$c77;
2711
+ s2 = peg$c81;
2649
2712
  peg$currPos++;
2650
2713
  } else {
2651
2714
  s2 = null;
2652
- if (peg$silentFails === 0) { peg$fail(peg$c78); }
2715
+ if (peg$silentFails === 0) { peg$fail(peg$c82); }
2653
2716
  }
2654
2717
  if (s2 !== null) {
2655
2718
  s3 = peg$parsehashSingleQuoteStringValue();
2656
2719
  if (s3 !== null) {
2657
2720
  if (input.charCodeAt(peg$currPos) === 39) {
2658
- s4 = peg$c77;
2721
+ s4 = peg$c81;
2659
2722
  peg$currPos++;
2660
2723
  } else {
2661
2724
  s4 = null;
2662
- if (peg$silentFails === 0) { peg$fail(peg$c78); }
2725
+ if (peg$silentFails === 0) { peg$fail(peg$c82); }
2663
2726
  }
2664
2727
  if (s4 !== null) {
2665
2728
  s2 = [s2, s3, s4];
@@ -2679,7 +2742,7 @@ Emblem.Parser = (function() {
2679
2742
  }
2680
2743
  if (s1 !== null) {
2681
2744
  peg$reportedPos = s0;
2682
- s1 = peg$c79(s1);
2745
+ s1 = peg$c83(s1);
2683
2746
  }
2684
2747
  if (s1 === null) {
2685
2748
  peg$currPos = s0;
@@ -2708,12 +2771,12 @@ Emblem.Parser = (function() {
2708
2771
  s3 = peg$c0;
2709
2772
  }
2710
2773
  if (s3 !== null) {
2711
- if (peg$c80.test(input.charAt(peg$currPos))) {
2774
+ if (peg$c84.test(input.charAt(peg$currPos))) {
2712
2775
  s4 = input.charAt(peg$currPos);
2713
2776
  peg$currPos++;
2714
2777
  } else {
2715
2778
  s4 = null;
2716
- if (peg$silentFails === 0) { peg$fail(peg$c81); }
2779
+ if (peg$silentFails === 0) { peg$fail(peg$c85); }
2717
2780
  }
2718
2781
  if (s4 !== null) {
2719
2782
  s3 = [s3, s4];
@@ -2740,12 +2803,12 @@ Emblem.Parser = (function() {
2740
2803
  s3 = peg$c0;
2741
2804
  }
2742
2805
  if (s3 !== null) {
2743
- if (peg$c80.test(input.charAt(peg$currPos))) {
2806
+ if (peg$c84.test(input.charAt(peg$currPos))) {
2744
2807
  s4 = input.charAt(peg$currPos);
2745
2808
  peg$currPos++;
2746
2809
  } else {
2747
2810
  s4 = null;
2748
- if (peg$silentFails === 0) { peg$fail(peg$c81); }
2811
+ if (peg$silentFails === 0) { peg$fail(peg$c85); }
2749
2812
  }
2750
2813
  if (s4 !== null) {
2751
2814
  s3 = [s3, s4];
@@ -2784,12 +2847,12 @@ Emblem.Parser = (function() {
2784
2847
  s3 = peg$c0;
2785
2848
  }
2786
2849
  if (s3 !== null) {
2787
- if (peg$c82.test(input.charAt(peg$currPos))) {
2850
+ if (peg$c86.test(input.charAt(peg$currPos))) {
2788
2851
  s4 = input.charAt(peg$currPos);
2789
2852
  peg$currPos++;
2790
2853
  } else {
2791
2854
  s4 = null;
2792
- if (peg$silentFails === 0) { peg$fail(peg$c83); }
2855
+ if (peg$silentFails === 0) { peg$fail(peg$c87); }
2793
2856
  }
2794
2857
  if (s4 !== null) {
2795
2858
  s3 = [s3, s4];
@@ -2816,12 +2879,12 @@ Emblem.Parser = (function() {
2816
2879
  s3 = peg$c0;
2817
2880
  }
2818
2881
  if (s3 !== null) {
2819
- if (peg$c82.test(input.charAt(peg$currPos))) {
2882
+ if (peg$c86.test(input.charAt(peg$currPos))) {
2820
2883
  s4 = input.charAt(peg$currPos);
2821
2884
  peg$currPos++;
2822
2885
  } else {
2823
2886
  s4 = null;
2824
- if (peg$silentFails === 0) { peg$fail(peg$c83); }
2887
+ if (peg$silentFails === 0) { peg$fail(peg$c87); }
2825
2888
  }
2826
2889
  if (s4 !== null) {
2827
2890
  s3 = [s3, s4];
@@ -2846,12 +2909,12 @@ Emblem.Parser = (function() {
2846
2909
  function peg$parsealpha() {
2847
2910
  var s0;
2848
2911
 
2849
- if (peg$c84.test(input.charAt(peg$currPos))) {
2912
+ if (peg$c88.test(input.charAt(peg$currPos))) {
2850
2913
  s0 = input.charAt(peg$currPos);
2851
2914
  peg$currPos++;
2852
2915
  } else {
2853
2916
  s0 = null;
2854
- if (peg$silentFails === 0) { peg$fail(peg$c85); }
2917
+ if (peg$silentFails === 0) { peg$fail(peg$c89); }
2855
2918
  }
2856
2919
 
2857
2920
  return s0;
@@ -2875,7 +2938,7 @@ Emblem.Parser = (function() {
2875
2938
  s4 = peg$parseanyDedent();
2876
2939
  if (s4 !== null) {
2877
2940
  peg$reportedPos = s0;
2878
- s1 = peg$c86(s1, s2, s3);
2941
+ s1 = peg$c90(s1, s2, s3);
2879
2942
  if (s1 === null) {
2880
2943
  peg$currPos = s0;
2881
2944
  s0 = s1;
@@ -2909,12 +2972,12 @@ Emblem.Parser = (function() {
2909
2972
  var s0, s1, s2;
2910
2973
 
2911
2974
  s0 = peg$currPos;
2912
- if (peg$c87.test(input.charAt(peg$currPos))) {
2975
+ if (peg$c91.test(input.charAt(peg$currPos))) {
2913
2976
  s1 = input.charAt(peg$currPos);
2914
2977
  peg$currPos++;
2915
2978
  } else {
2916
2979
  s1 = null;
2917
- if (peg$silentFails === 0) { peg$fail(peg$c88); }
2980
+ if (peg$silentFails === 0) { peg$fail(peg$c92); }
2918
2981
  }
2919
2982
  if (s1 !== null) {
2920
2983
  if (input.charCodeAt(peg$currPos) === 32) {
@@ -2929,7 +2992,7 @@ Emblem.Parser = (function() {
2929
2992
  }
2930
2993
  if (s2 !== null) {
2931
2994
  peg$reportedPos = s0;
2932
- s1 = peg$c52(s1);
2995
+ s1 = peg$c53(s1);
2933
2996
  if (s1 === null) {
2934
2997
  peg$currPos = s0;
2935
2998
  s0 = s1;
@@ -2949,11 +3012,11 @@ Emblem.Parser = (function() {
2949
3012
  s1 = peg$currPos;
2950
3013
  peg$silentFails++;
2951
3014
  if (input.charCodeAt(peg$currPos) === 60) {
2952
- s2 = peg$c89;
3015
+ s2 = peg$c93;
2953
3016
  peg$currPos++;
2954
3017
  } else {
2955
3018
  s2 = null;
2956
- if (peg$silentFails === 0) { peg$fail(peg$c90); }
3019
+ if (peg$silentFails === 0) { peg$fail(peg$c94); }
2957
3020
  }
2958
3021
  peg$silentFails--;
2959
3022
  if (s2 !== null) {
@@ -2964,7 +3027,7 @@ Emblem.Parser = (function() {
2964
3027
  }
2965
3028
  if (s1 !== null) {
2966
3029
  peg$reportedPos = s0;
2967
- s1 = peg$c91();
3030
+ s1 = peg$c95();
2968
3031
  }
2969
3032
  if (s1 === null) {
2970
3033
  peg$currPos = s0;
@@ -3016,7 +3079,7 @@ Emblem.Parser = (function() {
3016
3079
  }
3017
3080
  if (s3 !== null) {
3018
3081
  peg$reportedPos = s0;
3019
- s1 = peg$c92(s1, s2, s3);
3082
+ s1 = peg$c96(s1, s2, s3);
3020
3083
  if (s1 === null) {
3021
3084
  peg$currPos = s0;
3022
3085
  s0 = s1;
@@ -3092,7 +3155,7 @@ Emblem.Parser = (function() {
3092
3155
  s3 = peg$parseTERM();
3093
3156
  if (s3 !== null) {
3094
3157
  peg$reportedPos = s0;
3095
- s1 = peg$c93(s1, s2);
3158
+ s1 = peg$c97(s1, s2);
3096
3159
  if (s1 === null) {
3097
3160
  peg$currPos = s0;
3098
3161
  s0 = s1;
@@ -3120,25 +3183,25 @@ Emblem.Parser = (function() {
3120
3183
 
3121
3184
  s0 = peg$currPos;
3122
3185
  if (input.charCodeAt(peg$currPos) === 34) {
3123
- s1 = peg$c75;
3186
+ s1 = peg$c79;
3124
3187
  peg$currPos++;
3125
3188
  } else {
3126
3189
  s1 = null;
3127
- if (peg$silentFails === 0) { peg$fail(peg$c76); }
3190
+ if (peg$silentFails === 0) { peg$fail(peg$c80); }
3128
3191
  }
3129
3192
  if (s1 !== null) {
3130
3193
  s2 = peg$parseattributeTextNodesInner();
3131
3194
  if (s2 !== null) {
3132
3195
  if (input.charCodeAt(peg$currPos) === 34) {
3133
- s3 = peg$c75;
3196
+ s3 = peg$c79;
3134
3197
  peg$currPos++;
3135
3198
  } else {
3136
3199
  s3 = null;
3137
- if (peg$silentFails === 0) { peg$fail(peg$c76); }
3200
+ if (peg$silentFails === 0) { peg$fail(peg$c80); }
3138
3201
  }
3139
3202
  if (s3 !== null) {
3140
3203
  peg$reportedPos = s0;
3141
- s1 = peg$c43(s2);
3204
+ s1 = peg$c44(s2);
3142
3205
  if (s1 === null) {
3143
3206
  peg$currPos = s0;
3144
3207
  s0 = s1;
@@ -3160,25 +3223,25 @@ Emblem.Parser = (function() {
3160
3223
  if (s0 === null) {
3161
3224
  s0 = peg$currPos;
3162
3225
  if (input.charCodeAt(peg$currPos) === 39) {
3163
- s1 = peg$c77;
3226
+ s1 = peg$c81;
3164
3227
  peg$currPos++;
3165
3228
  } else {
3166
3229
  s1 = null;
3167
- if (peg$silentFails === 0) { peg$fail(peg$c78); }
3230
+ if (peg$silentFails === 0) { peg$fail(peg$c82); }
3168
3231
  }
3169
3232
  if (s1 !== null) {
3170
3233
  s2 = peg$parseattributeTextNodesInnerSingle();
3171
3234
  if (s2 !== null) {
3172
3235
  if (input.charCodeAt(peg$currPos) === 39) {
3173
- s3 = peg$c77;
3236
+ s3 = peg$c81;
3174
3237
  peg$currPos++;
3175
3238
  } else {
3176
3239
  s3 = null;
3177
- if (peg$silentFails === 0) { peg$fail(peg$c78); }
3240
+ if (peg$silentFails === 0) { peg$fail(peg$c82); }
3178
3241
  }
3179
3242
  if (s3 !== null) {
3180
3243
  peg$reportedPos = s0;
3181
- s1 = peg$c43(s2);
3244
+ s1 = peg$c44(s2);
3182
3245
  if (s1 === null) {
3183
3246
  peg$currPos = s0;
3184
3247
  s0 = s1;
@@ -3253,7 +3316,7 @@ Emblem.Parser = (function() {
3253
3316
  }
3254
3317
  if (s2 !== null) {
3255
3318
  peg$reportedPos = s0;
3256
- s1 = peg$c94(s1, s2);
3319
+ s1 = peg$c98(s1, s2);
3257
3320
  if (s1 === null) {
3258
3321
  peg$currPos = s0;
3259
3322
  s0 = s1;
@@ -3323,7 +3386,7 @@ Emblem.Parser = (function() {
3323
3386
  }
3324
3387
  if (s2 !== null) {
3325
3388
  peg$reportedPos = s0;
3326
- s1 = peg$c94(s1, s2);
3389
+ s1 = peg$c98(s1, s2);
3327
3390
  if (s1 === null) {
3328
3391
  peg$currPos = s0;
3329
3392
  s0 = s1;
@@ -3360,11 +3423,11 @@ Emblem.Parser = (function() {
3360
3423
  s1 = peg$currPos;
3361
3424
  peg$silentFails++;
3362
3425
  if (input.charCodeAt(peg$currPos) === 123) {
3363
- s2 = peg$c95;
3426
+ s2 = peg$c99;
3364
3427
  peg$currPos++;
3365
3428
  } else {
3366
3429
  s2 = null;
3367
- if (peg$silentFails === 0) { peg$fail(peg$c96); }
3430
+ if (peg$silentFails === 0) { peg$fail(peg$c100); }
3368
3431
  }
3369
3432
  peg$silentFails--;
3370
3433
  if (s2 === null) {
@@ -3376,21 +3439,21 @@ Emblem.Parser = (function() {
3376
3439
  if (s1 !== null) {
3377
3440
  s2 = peg$currPos;
3378
3441
  s3 = [];
3379
- if (peg$c97.test(input.charAt(peg$currPos))) {
3442
+ if (peg$c101.test(input.charAt(peg$currPos))) {
3380
3443
  s4 = input.charAt(peg$currPos);
3381
3444
  peg$currPos++;
3382
3445
  } else {
3383
3446
  s4 = null;
3384
- if (peg$silentFails === 0) { peg$fail(peg$c98); }
3447
+ if (peg$silentFails === 0) { peg$fail(peg$c102); }
3385
3448
  }
3386
3449
  while (s4 !== null) {
3387
3450
  s3.push(s4);
3388
- if (peg$c97.test(input.charAt(peg$currPos))) {
3451
+ if (peg$c101.test(input.charAt(peg$currPos))) {
3389
3452
  s4 = input.charAt(peg$currPos);
3390
3453
  peg$currPos++;
3391
3454
  } else {
3392
3455
  s4 = null;
3393
- if (peg$silentFails === 0) { peg$fail(peg$c98); }
3456
+ if (peg$silentFails === 0) { peg$fail(peg$c102); }
3394
3457
  }
3395
3458
  }
3396
3459
  if (s3 !== null) {
@@ -3399,7 +3462,7 @@ Emblem.Parser = (function() {
3399
3462
  s2 = s3;
3400
3463
  if (s2 !== null) {
3401
3464
  peg$reportedPos = s0;
3402
- s1 = peg$c99(s2);
3465
+ s1 = peg$c103(s2);
3403
3466
  if (s1 === null) {
3404
3467
  peg$currPos = s0;
3405
3468
  s0 = s1;
@@ -3433,7 +3496,7 @@ Emblem.Parser = (function() {
3433
3496
  s5 = peg$parsedoubleClose();
3434
3497
  if (s5 !== null) {
3435
3498
  peg$reportedPos = s0;
3436
- s1 = peg$c100(s3);
3499
+ s1 = peg$c104(s3);
3437
3500
  if (s1 === null) {
3438
3501
  peg$currPos = s0;
3439
3502
  s0 = s1;
@@ -3473,7 +3536,7 @@ Emblem.Parser = (function() {
3473
3536
  s5 = peg$parsehashStacheClose();
3474
3537
  if (s5 !== null) {
3475
3538
  peg$reportedPos = s0;
3476
- s1 = peg$c100(s3);
3539
+ s1 = peg$c104(s3);
3477
3540
  if (s1 === null) {
3478
3541
  peg$currPos = s0;
3479
3542
  s0 = s1;
@@ -3520,7 +3583,7 @@ Emblem.Parser = (function() {
3520
3583
  s5 = peg$parsetripleClose();
3521
3584
  if (s5 !== null) {
3522
3585
  peg$reportedPos = s0;
3523
- s1 = peg$c101(s3);
3586
+ s1 = peg$c105(s3);
3524
3587
  if (s1 === null) {
3525
3588
  peg$currPos = s0;
3526
3589
  s0 = s1;
@@ -3572,7 +3635,7 @@ Emblem.Parser = (function() {
3572
3635
  s1 = s2;
3573
3636
  if (s1 !== null) {
3574
3637
  peg$reportedPos = s0;
3575
- s1 = peg$c102(s1);
3638
+ s1 = peg$c106(s1);
3576
3639
  }
3577
3640
  if (s1 === null) {
3578
3641
  peg$currPos = s0;
@@ -3605,7 +3668,7 @@ Emblem.Parser = (function() {
3605
3668
  s1 = s2;
3606
3669
  if (s1 !== null) {
3607
3670
  peg$reportedPos = s0;
3608
- s1 = peg$c102(s1);
3671
+ s1 = peg$c106(s1);
3609
3672
  }
3610
3673
  if (s1 === null) {
3611
3674
  peg$currPos = s0;
@@ -3626,11 +3689,11 @@ Emblem.Parser = (function() {
3626
3689
  s2 = peg$parsenonMustacheUnit();
3627
3690
  if (s2 === null) {
3628
3691
  if (input.charCodeAt(peg$currPos) === 34) {
3629
- s2 = peg$c75;
3692
+ s2 = peg$c79;
3630
3693
  peg$currPos++;
3631
3694
  } else {
3632
3695
  s2 = null;
3633
- if (peg$silentFails === 0) { peg$fail(peg$c76); }
3696
+ if (peg$silentFails === 0) { peg$fail(peg$c80); }
3634
3697
  }
3635
3698
  }
3636
3699
  peg$silentFails--;
@@ -3646,7 +3709,7 @@ Emblem.Parser = (function() {
3646
3709
  peg$currPos++;
3647
3710
  } else {
3648
3711
  s2 = null;
3649
- if (peg$silentFails === 0) { peg$fail(peg$c103); }
3712
+ if (peg$silentFails === 0) { peg$fail(peg$c107); }
3650
3713
  }
3651
3714
  if (s2 !== null) {
3652
3715
  peg$reportedPos = s0;
@@ -3678,11 +3741,11 @@ Emblem.Parser = (function() {
3678
3741
  s2 = peg$parsenonMustacheUnit();
3679
3742
  if (s2 === null) {
3680
3743
  if (input.charCodeAt(peg$currPos) === 39) {
3681
- s2 = peg$c77;
3744
+ s2 = peg$c81;
3682
3745
  peg$currPos++;
3683
3746
  } else {
3684
3747
  s2 = null;
3685
- if (peg$silentFails === 0) { peg$fail(peg$c78); }
3748
+ if (peg$silentFails === 0) { peg$fail(peg$c82); }
3686
3749
  }
3687
3750
  }
3688
3751
  peg$silentFails--;
@@ -3698,7 +3761,7 @@ Emblem.Parser = (function() {
3698
3761
  peg$currPos++;
3699
3762
  } else {
3700
3763
  s2 = null;
3701
- if (peg$silentFails === 0) { peg$fail(peg$c103); }
3764
+ if (peg$silentFails === 0) { peg$fail(peg$c107); }
3702
3765
  }
3703
3766
  if (s2 !== null) {
3704
3767
  peg$reportedPos = s0;
@@ -3742,7 +3805,7 @@ Emblem.Parser = (function() {
3742
3805
  s1 = s2;
3743
3806
  if (s1 !== null) {
3744
3807
  peg$reportedPos = s0;
3745
- s1 = peg$c102(s1);
3808
+ s1 = peg$c106(s1);
3746
3809
  }
3747
3810
  if (s1 === null) {
3748
3811
  peg$currPos = s0;
@@ -3774,7 +3837,7 @@ Emblem.Parser = (function() {
3774
3837
  peg$currPos++;
3775
3838
  } else {
3776
3839
  s2 = null;
3777
- if (peg$silentFails === 0) { peg$fail(peg$c103); }
3840
+ if (peg$silentFails === 0) { peg$fail(peg$c107); }
3778
3841
  }
3779
3842
  if (s2 !== null) {
3780
3843
  peg$reportedPos = s0;
@@ -3832,7 +3895,7 @@ Emblem.Parser = (function() {
3832
3895
  s5 = peg$parsesingleClose();
3833
3896
  if (s5 !== null) {
3834
3897
  peg$reportedPos = s0;
3835
- s1 = peg$c100(s3);
3898
+ s1 = peg$c104(s3);
3836
3899
  if (s1 === null) {
3837
3900
  peg$currPos = s0;
3838
3901
  s0 = s1;
@@ -3882,16 +3945,16 @@ Emblem.Parser = (function() {
3882
3945
 
3883
3946
  peg$silentFails++;
3884
3947
  if (input.charCodeAt(peg$currPos) === 123) {
3885
- s0 = peg$c95;
3948
+ s0 = peg$c99;
3886
3949
  peg$currPos++;
3887
3950
  } else {
3888
3951
  s0 = null;
3889
- if (peg$silentFails === 0) { peg$fail(peg$c96); }
3952
+ if (peg$silentFails === 0) { peg$fail(peg$c100); }
3890
3953
  }
3891
3954
  peg$silentFails--;
3892
3955
  if (s0 === null) {
3893
3956
  s1 = null;
3894
- if (peg$silentFails === 0) { peg$fail(peg$c104); }
3957
+ if (peg$silentFails === 0) { peg$fail(peg$c108); }
3895
3958
  }
3896
3959
 
3897
3960
  return s0;
@@ -3901,17 +3964,17 @@ Emblem.Parser = (function() {
3901
3964
  var s0, s1;
3902
3965
 
3903
3966
  peg$silentFails++;
3904
- if (input.substr(peg$currPos, 2) === peg$c106) {
3905
- s0 = peg$c106;
3967
+ if (input.substr(peg$currPos, 2) === peg$c110) {
3968
+ s0 = peg$c110;
3906
3969
  peg$currPos += 2;
3907
3970
  } else {
3908
3971
  s0 = null;
3909
- if (peg$silentFails === 0) { peg$fail(peg$c107); }
3972
+ if (peg$silentFails === 0) { peg$fail(peg$c111); }
3910
3973
  }
3911
3974
  peg$silentFails--;
3912
3975
  if (s0 === null) {
3913
3976
  s1 = null;
3914
- if (peg$silentFails === 0) { peg$fail(peg$c105); }
3977
+ if (peg$silentFails === 0) { peg$fail(peg$c109); }
3915
3978
  }
3916
3979
 
3917
3980
  return s0;
@@ -3921,17 +3984,17 @@ Emblem.Parser = (function() {
3921
3984
  var s0, s1;
3922
3985
 
3923
3986
  peg$silentFails++;
3924
- if (input.substr(peg$currPos, 3) === peg$c109) {
3925
- s0 = peg$c109;
3987
+ if (input.substr(peg$currPos, 3) === peg$c113) {
3988
+ s0 = peg$c113;
3926
3989
  peg$currPos += 3;
3927
3990
  } else {
3928
3991
  s0 = null;
3929
- if (peg$silentFails === 0) { peg$fail(peg$c110); }
3992
+ if (peg$silentFails === 0) { peg$fail(peg$c114); }
3930
3993
  }
3931
3994
  peg$silentFails--;
3932
3995
  if (s0 === null) {
3933
3996
  s1 = null;
3934
- if (peg$silentFails === 0) { peg$fail(peg$c108); }
3997
+ if (peg$silentFails === 0) { peg$fail(peg$c112); }
3935
3998
  }
3936
3999
 
3937
4000
  return s0;
@@ -3942,16 +4005,16 @@ Emblem.Parser = (function() {
3942
4005
 
3943
4006
  peg$silentFails++;
3944
4007
  if (input.charCodeAt(peg$currPos) === 125) {
3945
- s0 = peg$c112;
4008
+ s0 = peg$c116;
3946
4009
  peg$currPos++;
3947
4010
  } else {
3948
4011
  s0 = null;
3949
- if (peg$silentFails === 0) { peg$fail(peg$c113); }
4012
+ if (peg$silentFails === 0) { peg$fail(peg$c117); }
3950
4013
  }
3951
4014
  peg$silentFails--;
3952
4015
  if (s0 === null) {
3953
4016
  s1 = null;
3954
- if (peg$silentFails === 0) { peg$fail(peg$c111); }
4017
+ if (peg$silentFails === 0) { peg$fail(peg$c115); }
3955
4018
  }
3956
4019
 
3957
4020
  return s0;
@@ -3961,17 +4024,17 @@ Emblem.Parser = (function() {
3961
4024
  var s0, s1;
3962
4025
 
3963
4026
  peg$silentFails++;
3964
- if (input.substr(peg$currPos, 2) === peg$c115) {
3965
- s0 = peg$c115;
4027
+ if (input.substr(peg$currPos, 2) === peg$c119) {
4028
+ s0 = peg$c119;
3966
4029
  peg$currPos += 2;
3967
4030
  } else {
3968
4031
  s0 = null;
3969
- if (peg$silentFails === 0) { peg$fail(peg$c116); }
4032
+ if (peg$silentFails === 0) { peg$fail(peg$c120); }
3970
4033
  }
3971
4034
  peg$silentFails--;
3972
4035
  if (s0 === null) {
3973
4036
  s1 = null;
3974
- if (peg$silentFails === 0) { peg$fail(peg$c114); }
4037
+ if (peg$silentFails === 0) { peg$fail(peg$c118); }
3975
4038
  }
3976
4039
 
3977
4040
  return s0;
@@ -3981,17 +4044,17 @@ Emblem.Parser = (function() {
3981
4044
  var s0, s1;
3982
4045
 
3983
4046
  peg$silentFails++;
3984
- if (input.substr(peg$currPos, 3) === peg$c118) {
3985
- s0 = peg$c118;
4047
+ if (input.substr(peg$currPos, 3) === peg$c122) {
4048
+ s0 = peg$c122;
3986
4049
  peg$currPos += 3;
3987
4050
  } else {
3988
4051
  s0 = null;
3989
- if (peg$silentFails === 0) { peg$fail(peg$c119); }
4052
+ if (peg$silentFails === 0) { peg$fail(peg$c123); }
3990
4053
  }
3991
4054
  peg$silentFails--;
3992
4055
  if (s0 === null) {
3993
4056
  s1 = null;
3994
- if (peg$silentFails === 0) { peg$fail(peg$c117); }
4057
+ if (peg$silentFails === 0) { peg$fail(peg$c121); }
3995
4058
  }
3996
4059
 
3997
4060
  return s0;
@@ -4001,17 +4064,17 @@ Emblem.Parser = (function() {
4001
4064
  var s0, s1;
4002
4065
 
4003
4066
  peg$silentFails++;
4004
- if (input.substr(peg$currPos, 2) === peg$c121) {
4005
- s0 = peg$c121;
4067
+ if (input.substr(peg$currPos, 2) === peg$c125) {
4068
+ s0 = peg$c125;
4006
4069
  peg$currPos += 2;
4007
4070
  } else {
4008
4071
  s0 = null;
4009
- if (peg$silentFails === 0) { peg$fail(peg$c122); }
4072
+ if (peg$silentFails === 0) { peg$fail(peg$c126); }
4010
4073
  }
4011
4074
  peg$silentFails--;
4012
4075
  if (s0 === null) {
4013
4076
  s1 = null;
4014
- if (peg$silentFails === 0) { peg$fail(peg$c120); }
4077
+ if (peg$silentFails === 0) { peg$fail(peg$c124); }
4015
4078
  }
4016
4079
 
4017
4080
  return s0;
@@ -4022,16 +4085,16 @@ Emblem.Parser = (function() {
4022
4085
 
4023
4086
  peg$silentFails++;
4024
4087
  if (input.charCodeAt(peg$currPos) === 125) {
4025
- s0 = peg$c112;
4088
+ s0 = peg$c116;
4026
4089
  peg$currPos++;
4027
4090
  } else {
4028
4091
  s0 = null;
4029
- if (peg$silentFails === 0) { peg$fail(peg$c113); }
4092
+ if (peg$silentFails === 0) { peg$fail(peg$c117); }
4030
4093
  }
4031
4094
  peg$silentFails--;
4032
4095
  if (s0 === null) {
4033
4096
  s1 = null;
4034
- if (peg$silentFails === 0) { peg$fail(peg$c123); }
4097
+ if (peg$silentFails === 0) { peg$fail(peg$c127); }
4035
4098
  }
4036
4099
 
4037
4100
  return s0;
@@ -4041,12 +4104,12 @@ Emblem.Parser = (function() {
4041
4104
  var s0, s1, s2;
4042
4105
 
4043
4106
  s0 = peg$currPos;
4044
- if (input.substr(peg$currPos, 2) === peg$c124) {
4045
- s1 = peg$c124;
4107
+ if (input.substr(peg$currPos, 2) === peg$c128) {
4108
+ s1 = peg$c128;
4046
4109
  peg$currPos += 2;
4047
4110
  } else {
4048
4111
  s1 = null;
4049
- if (peg$silentFails === 0) { peg$fail(peg$c125); }
4112
+ if (peg$silentFails === 0) { peg$fail(peg$c129); }
4050
4113
  }
4051
4114
  if (s1 !== null) {
4052
4115
  if (input.charCodeAt(peg$currPos) === 32) {
@@ -4061,7 +4124,7 @@ Emblem.Parser = (function() {
4061
4124
  }
4062
4125
  if (s2 !== null) {
4063
4126
  peg$reportedPos = s0;
4064
- s1 = peg$c126();
4127
+ s1 = peg$c130();
4065
4128
  if (s1 === null) {
4066
4129
  peg$currPos = s0;
4067
4130
  s0 = s1;
@@ -4098,7 +4161,7 @@ Emblem.Parser = (function() {
4098
4161
  }
4099
4162
  if (s2 !== null) {
4100
4163
  peg$reportedPos = s0;
4101
- s1 = peg$c127();
4164
+ s1 = peg$c131();
4102
4165
  if (s1 === null) {
4103
4166
  peg$currPos = s0;
4104
4167
  s0 = s1;
@@ -4144,7 +4207,7 @@ Emblem.Parser = (function() {
4144
4207
  }
4145
4208
  if (s3 !== null) {
4146
4209
  peg$reportedPos = peg$currPos;
4147
- s4 = peg$c128(s1, s2);
4210
+ s4 = peg$c132(s1, s2);
4148
4211
  if (s4) {
4149
4212
  s4 = peg$c1;
4150
4213
  } else {
@@ -4194,7 +4257,7 @@ Emblem.Parser = (function() {
4194
4257
  }
4195
4258
  if (s3 !== null) {
4196
4259
  peg$reportedPos = s0;
4197
- s1 = peg$c129(s1, s2, s3);
4260
+ s1 = peg$c133(s1, s2, s3);
4198
4261
  if (s1 === null) {
4199
4262
  peg$currPos = s0;
4200
4263
  s0 = s1;
@@ -4226,7 +4289,7 @@ Emblem.Parser = (function() {
4226
4289
  s3 = peg$parseidShorthand();
4227
4290
  if (s3 !== null) {
4228
4291
  peg$reportedPos = s2;
4229
- s3 = peg$c130(s3);
4292
+ s3 = peg$c134(s3);
4230
4293
  }
4231
4294
  if (s3 === null) {
4232
4295
  peg$currPos = s2;
@@ -4239,7 +4302,7 @@ Emblem.Parser = (function() {
4239
4302
  s3 = peg$parseclassShorthand();
4240
4303
  if (s3 !== null) {
4241
4304
  peg$reportedPos = s2;
4242
- s3 = peg$c131(s3);
4305
+ s3 = peg$c135(s3);
4243
4306
  }
4244
4307
  if (s3 === null) {
4245
4308
  peg$currPos = s2;
@@ -4255,7 +4318,7 @@ Emblem.Parser = (function() {
4255
4318
  s3 = peg$parseidShorthand();
4256
4319
  if (s3 !== null) {
4257
4320
  peg$reportedPos = s2;
4258
- s3 = peg$c130(s3);
4321
+ s3 = peg$c134(s3);
4259
4322
  }
4260
4323
  if (s3 === null) {
4261
4324
  peg$currPos = s2;
@@ -4268,7 +4331,7 @@ Emblem.Parser = (function() {
4268
4331
  s3 = peg$parseclassShorthand();
4269
4332
  if (s3 !== null) {
4270
4333
  peg$reportedPos = s2;
4271
- s3 = peg$c131(s3);
4334
+ s3 = peg$c135(s3);
4272
4335
  }
4273
4336
  if (s3 === null) {
4274
4337
  peg$currPos = s2;
@@ -4283,7 +4346,7 @@ Emblem.Parser = (function() {
4283
4346
  }
4284
4347
  if (s1 !== null) {
4285
4348
  peg$reportedPos = s0;
4286
- s1 = peg$c132(s1);
4349
+ s1 = peg$c136(s1);
4287
4350
  }
4288
4351
  if (s1 === null) {
4289
4352
  peg$currPos = s0;
@@ -4324,17 +4387,20 @@ Emblem.Parser = (function() {
4324
4387
  if (s1 !== null) {
4325
4388
  s2 = peg$parseactionAttribute();
4326
4389
  if (s2 === null) {
4327
- s2 = peg$parseboundAttribute();
4390
+ s2 = peg$parsebooleanAttribute();
4328
4391
  if (s2 === null) {
4329
- s2 = peg$parserawMustacheAttribute();
4392
+ s2 = peg$parseboundAttribute();
4330
4393
  if (s2 === null) {
4331
- s2 = peg$parsenormalAttribute();
4394
+ s2 = peg$parserawMustacheAttribute();
4395
+ if (s2 === null) {
4396
+ s2 = peg$parsenormalAttribute();
4397
+ }
4332
4398
  }
4333
4399
  }
4334
4400
  }
4335
4401
  if (s2 !== null) {
4336
4402
  peg$reportedPos = s0;
4337
- s1 = peg$c133(s2);
4403
+ s1 = peg$c137(s2);
4338
4404
  if (s1 === null) {
4339
4405
  peg$currPos = s0;
4340
4406
  s0 = s1;
@@ -4356,12 +4422,12 @@ Emblem.Parser = (function() {
4356
4422
  function peg$parseboundAttributeValueChar() {
4357
4423
  var s0;
4358
4424
 
4359
- if (peg$c134.test(input.charAt(peg$currPos))) {
4425
+ if (peg$c138.test(input.charAt(peg$currPos))) {
4360
4426
  s0 = input.charAt(peg$currPos);
4361
4427
  peg$currPos++;
4362
4428
  } else {
4363
4429
  s0 = null;
4364
- if (peg$silentFails === 0) { peg$fail(peg$c135); }
4430
+ if (peg$silentFails === 0) { peg$fail(peg$c139); }
4365
4431
  }
4366
4432
  if (s0 === null) {
4367
4433
  s0 = peg$parsenonSeparatorColon();
@@ -4379,7 +4445,7 @@ Emblem.Parser = (function() {
4379
4445
  s1 = peg$parsepathIdNode();
4380
4446
  if (s1 !== null) {
4381
4447
  peg$reportedPos = s0;
4382
- s1 = peg$c136(s1);
4448
+ s1 = peg$c140(s1);
4383
4449
  }
4384
4450
  if (s1 === null) {
4385
4451
  peg$currPos = s0;
@@ -4398,21 +4464,21 @@ Emblem.Parser = (function() {
4398
4464
  s0 = peg$currPos;
4399
4465
  s1 = peg$currPos;
4400
4466
  if (input.charCodeAt(peg$currPos) === 34) {
4401
- s2 = peg$c75;
4467
+ s2 = peg$c79;
4402
4468
  peg$currPos++;
4403
4469
  } else {
4404
4470
  s2 = null;
4405
- if (peg$silentFails === 0) { peg$fail(peg$c76); }
4471
+ if (peg$silentFails === 0) { peg$fail(peg$c80); }
4406
4472
  }
4407
4473
  if (s2 !== null) {
4408
4474
  s3 = peg$parseinMustache();
4409
4475
  if (s3 !== null) {
4410
4476
  if (input.charCodeAt(peg$currPos) === 34) {
4411
- s4 = peg$c75;
4477
+ s4 = peg$c79;
4412
4478
  peg$currPos++;
4413
4479
  } else {
4414
4480
  s4 = null;
4415
- if (peg$silentFails === 0) { peg$fail(peg$c76); }
4481
+ if (peg$silentFails === 0) { peg$fail(peg$c80); }
4416
4482
  }
4417
4483
  if (s4 !== null) {
4418
4484
  s2 = [s2, s3, s4];
@@ -4432,21 +4498,21 @@ Emblem.Parser = (function() {
4432
4498
  if (s1 === null) {
4433
4499
  s1 = peg$currPos;
4434
4500
  if (input.charCodeAt(peg$currPos) === 39) {
4435
- s2 = peg$c77;
4501
+ s2 = peg$c81;
4436
4502
  peg$currPos++;
4437
4503
  } else {
4438
4504
  s2 = null;
4439
- if (peg$silentFails === 0) { peg$fail(peg$c78); }
4505
+ if (peg$silentFails === 0) { peg$fail(peg$c82); }
4440
4506
  }
4441
4507
  if (s2 !== null) {
4442
4508
  s3 = peg$parseinMustache();
4443
4509
  if (s3 !== null) {
4444
4510
  if (input.charCodeAt(peg$currPos) === 39) {
4445
- s4 = peg$c77;
4511
+ s4 = peg$c81;
4446
4512
  peg$currPos++;
4447
4513
  } else {
4448
4514
  s4 = null;
4449
- if (peg$silentFails === 0) { peg$fail(peg$c78); }
4515
+ if (peg$silentFails === 0) { peg$fail(peg$c82); }
4450
4516
  }
4451
4517
  if (s4 !== null) {
4452
4518
  s2 = [s2, s3, s4];
@@ -4466,7 +4532,7 @@ Emblem.Parser = (function() {
4466
4532
  }
4467
4533
  if (s1 !== null) {
4468
4534
  peg$reportedPos = s0;
4469
- s1 = peg$c79(s1);
4535
+ s1 = peg$c83(s1);
4470
4536
  }
4471
4537
  if (s1 === null) {
4472
4538
  peg$currPos = s0;
@@ -4495,7 +4561,62 @@ Emblem.Parser = (function() {
4495
4561
  s3 = peg$parseactionValue();
4496
4562
  if (s3 !== null) {
4497
4563
  peg$reportedPos = s0;
4498
- s1 = peg$c137(s1, s3);
4564
+ s1 = peg$c141(s1, s3);
4565
+ if (s1 === null) {
4566
+ peg$currPos = s0;
4567
+ s0 = s1;
4568
+ } else {
4569
+ s0 = s1;
4570
+ }
4571
+ } else {
4572
+ peg$currPos = s0;
4573
+ s0 = peg$c0;
4574
+ }
4575
+ } else {
4576
+ peg$currPos = s0;
4577
+ s0 = peg$c0;
4578
+ }
4579
+ } else {
4580
+ peg$currPos = s0;
4581
+ s0 = peg$c0;
4582
+ }
4583
+
4584
+ return s0;
4585
+ }
4586
+
4587
+ function peg$parsebooleanAttribute() {
4588
+ var s0, s1, s2, s3;
4589
+
4590
+ s0 = peg$currPos;
4591
+ s1 = peg$parsekey();
4592
+ if (s1 !== null) {
4593
+ if (input.charCodeAt(peg$currPos) === 61) {
4594
+ s2 = peg$c4;
4595
+ peg$currPos++;
4596
+ } else {
4597
+ s2 = null;
4598
+ if (peg$silentFails === 0) { peg$fail(peg$c5); }
4599
+ }
4600
+ if (s2 !== null) {
4601
+ if (input.substr(peg$currPos, 4) === peg$c69) {
4602
+ s3 = peg$c69;
4603
+ peg$currPos += 4;
4604
+ } else {
4605
+ s3 = null;
4606
+ if (peg$silentFails === 0) { peg$fail(peg$c70); }
4607
+ }
4608
+ if (s3 === null) {
4609
+ if (input.substr(peg$currPos, 5) === peg$c71) {
4610
+ s3 = peg$c71;
4611
+ peg$currPos += 5;
4612
+ } else {
4613
+ s3 = null;
4614
+ if (peg$silentFails === 0) { peg$fail(peg$c72); }
4615
+ }
4616
+ }
4617
+ if (s3 !== null) {
4618
+ peg$reportedPos = s0;
4619
+ s1 = peg$c142(s1, s3);
4499
4620
  if (s1 === null) {
4500
4621
  peg$currPos = s0;
4501
4622
  s0 = s1;
@@ -4523,11 +4644,11 @@ Emblem.Parser = (function() {
4523
4644
 
4524
4645
  s0 = peg$currPos;
4525
4646
  if (input.charCodeAt(peg$currPos) === 123) {
4526
- s1 = peg$c95;
4647
+ s1 = peg$c99;
4527
4648
  peg$currPos++;
4528
4649
  } else {
4529
4650
  s1 = null;
4530
- if (peg$silentFails === 0) { peg$fail(peg$c96); }
4651
+ if (peg$silentFails === 0) { peg$fail(peg$c100); }
4531
4652
  }
4532
4653
  if (s1 !== null) {
4533
4654
  s2 = peg$parse_();
@@ -4569,15 +4690,15 @@ Emblem.Parser = (function() {
4569
4690
  s4 = peg$parse_();
4570
4691
  if (s4 !== null) {
4571
4692
  if (input.charCodeAt(peg$currPos) === 125) {
4572
- s5 = peg$c112;
4693
+ s5 = peg$c116;
4573
4694
  peg$currPos++;
4574
4695
  } else {
4575
4696
  s5 = null;
4576
- if (peg$silentFails === 0) { peg$fail(peg$c113); }
4697
+ if (peg$silentFails === 0) { peg$fail(peg$c117); }
4577
4698
  }
4578
4699
  if (s5 !== null) {
4579
4700
  peg$reportedPos = s0;
4580
- s1 = peg$c138(s3);
4701
+ s1 = peg$c143(s3);
4581
4702
  if (s1 === null) {
4582
4703
  peg$currPos = s0;
4583
4704
  s0 = s1;
@@ -4644,11 +4765,11 @@ Emblem.Parser = (function() {
4644
4765
  s4 = peg$currPos;
4645
4766
  peg$silentFails++;
4646
4767
  if (input.charCodeAt(peg$currPos) === 33) {
4647
- s5 = peg$c139;
4768
+ s5 = peg$c144;
4648
4769
  peg$currPos++;
4649
4770
  } else {
4650
4771
  s5 = null;
4651
- if (peg$silentFails === 0) { peg$fail(peg$c140); }
4772
+ if (peg$silentFails === 0) { peg$fail(peg$c145); }
4652
4773
  }
4653
4774
  peg$silentFails--;
4654
4775
  if (s5 === null) {
@@ -4659,7 +4780,7 @@ Emblem.Parser = (function() {
4659
4780
  }
4660
4781
  if (s4 !== null) {
4661
4782
  peg$reportedPos = peg$currPos;
4662
- s5 = peg$c141(s1, s3);
4783
+ s5 = peg$c146(s1, s3);
4663
4784
  if (s5) {
4664
4785
  s5 = peg$c1;
4665
4786
  } else {
@@ -4667,7 +4788,7 @@ Emblem.Parser = (function() {
4667
4788
  }
4668
4789
  if (s5 !== null) {
4669
4790
  peg$reportedPos = s0;
4670
- s1 = peg$c142(s1, s3);
4791
+ s1 = peg$c147(s1, s3);
4671
4792
  if (s1 === null) {
4672
4793
  peg$currPos = s0;
4673
4794
  s0 = s1;
@@ -4715,7 +4836,7 @@ Emblem.Parser = (function() {
4715
4836
  s3 = peg$parsepathIdNode();
4716
4837
  if (s3 !== null) {
4717
4838
  peg$reportedPos = s0;
4718
- s1 = peg$c143(s1, s3);
4839
+ s1 = peg$c148(s1, s3);
4719
4840
  if (s1 === null) {
4720
4841
  peg$currPos = s0;
4721
4842
  s0 = s1;
@@ -4755,7 +4876,7 @@ Emblem.Parser = (function() {
4755
4876
  s3 = peg$parseattributeTextNodes();
4756
4877
  if (s3 !== null) {
4757
4878
  peg$reportedPos = s0;
4758
- s1 = peg$c144(s1, s3);
4879
+ s1 = peg$c149(s1, s3);
4759
4880
  if (s1 === null) {
4760
4881
  peg$currPos = s0;
4761
4882
  s0 = s1;
@@ -4796,44 +4917,33 @@ Emblem.Parser = (function() {
4796
4917
  return s0;
4797
4918
  }
4798
4919
 
4799
- function peg$parseattributeValue() {
4800
- var s0;
4801
-
4802
- s0 = peg$parsestring();
4803
- if (s0 === null) {
4804
- s0 = peg$parseparam();
4805
- }
4806
-
4807
- return s0;
4808
- }
4809
-
4810
4920
  function peg$parseattributeChar() {
4811
4921
  var s0;
4812
4922
 
4813
4923
  s0 = peg$parsealpha();
4814
4924
  if (s0 === null) {
4815
- if (peg$c72.test(input.charAt(peg$currPos))) {
4925
+ if (peg$c76.test(input.charAt(peg$currPos))) {
4816
4926
  s0 = input.charAt(peg$currPos);
4817
4927
  peg$currPos++;
4818
4928
  } else {
4819
4929
  s0 = null;
4820
- if (peg$silentFails === 0) { peg$fail(peg$c73); }
4930
+ if (peg$silentFails === 0) { peg$fail(peg$c77); }
4821
4931
  }
4822
4932
  if (s0 === null) {
4823
4933
  if (input.charCodeAt(peg$currPos) === 95) {
4824
- s0 = peg$c145;
4934
+ s0 = peg$c150;
4825
4935
  peg$currPos++;
4826
4936
  } else {
4827
4937
  s0 = null;
4828
- if (peg$silentFails === 0) { peg$fail(peg$c146); }
4938
+ if (peg$silentFails === 0) { peg$fail(peg$c151); }
4829
4939
  }
4830
4940
  if (s0 === null) {
4831
4941
  if (input.charCodeAt(peg$currPos) === 45) {
4832
- s0 = peg$c147;
4942
+ s0 = peg$c74;
4833
4943
  peg$currPos++;
4834
4944
  } else {
4835
4945
  s0 = null;
4836
- if (peg$silentFails === 0) { peg$fail(peg$c148); }
4946
+ if (peg$silentFails === 0) { peg$fail(peg$c75); }
4837
4947
  }
4838
4948
  }
4839
4949
  }
@@ -4847,11 +4957,11 @@ Emblem.Parser = (function() {
4847
4957
 
4848
4958
  s0 = peg$currPos;
4849
4959
  if (input.charCodeAt(peg$currPos) === 37) {
4850
- s1 = peg$c149;
4960
+ s1 = peg$c152;
4851
4961
  peg$currPos++;
4852
4962
  } else {
4853
4963
  s1 = null;
4854
- if (peg$silentFails === 0) { peg$fail(peg$c150); }
4964
+ if (peg$silentFails === 0) { peg$fail(peg$c153); }
4855
4965
  }
4856
4966
  if (s1 !== null) {
4857
4967
  s2 = peg$parsecssIdentifier();
@@ -4881,17 +4991,17 @@ Emblem.Parser = (function() {
4881
4991
 
4882
4992
  s0 = peg$currPos;
4883
4993
  if (input.charCodeAt(peg$currPos) === 35) {
4884
- s1 = peg$c151;
4994
+ s1 = peg$c154;
4885
4995
  peg$currPos++;
4886
4996
  } else {
4887
4997
  s1 = null;
4888
- if (peg$silentFails === 0) { peg$fail(peg$c152); }
4998
+ if (peg$silentFails === 0) { peg$fail(peg$c155); }
4889
4999
  }
4890
5000
  if (s1 !== null) {
4891
5001
  s2 = peg$parsecssIdentifier();
4892
5002
  if (s2 !== null) {
4893
5003
  peg$reportedPos = s0;
4894
- s1 = peg$c153(s2);
5004
+ s1 = peg$c156(s2);
4895
5005
  if (s1 === null) {
4896
5006
  peg$currPos = s0;
4897
5007
  s0 = s1;
@@ -4915,11 +5025,11 @@ Emblem.Parser = (function() {
4915
5025
 
4916
5026
  s0 = peg$currPos;
4917
5027
  if (input.charCodeAt(peg$currPos) === 46) {
4918
- s1 = peg$c48;
5028
+ s1 = peg$c49;
4919
5029
  peg$currPos++;
4920
5030
  } else {
4921
5031
  s1 = null;
4922
- if (peg$silentFails === 0) { peg$fail(peg$c49); }
5032
+ if (peg$silentFails === 0) { peg$fail(peg$c50); }
4923
5033
  }
4924
5034
  if (s1 !== null) {
4925
5035
  s2 = peg$parsecssIdentifier();
@@ -4952,7 +5062,7 @@ Emblem.Parser = (function() {
4952
5062
  peg$silentFails--;
4953
5063
  if (s0 === null) {
4954
5064
  s1 = null;
4955
- if (peg$silentFails === 0) { peg$fail(peg$c154); }
5065
+ if (peg$silentFails === 0) { peg$fail(peg$c157); }
4956
5066
  }
4957
5067
 
4958
5068
  return s0;
@@ -4979,12 +5089,12 @@ Emblem.Parser = (function() {
4979
5089
  function peg$parsenmchar() {
4980
5090
  var s0;
4981
5091
 
4982
- if (peg$c155.test(input.charAt(peg$currPos))) {
5092
+ if (peg$c158.test(input.charAt(peg$currPos))) {
4983
5093
  s0 = input.charAt(peg$currPos);
4984
5094
  peg$currPos++;
4985
5095
  } else {
4986
5096
  s0 = null;
4987
- if (peg$silentFails === 0) { peg$fail(peg$c156); }
5097
+ if (peg$silentFails === 0) { peg$fail(peg$c159); }
4988
5098
  }
4989
5099
  if (s0 === null) {
4990
5100
  s0 = peg$parsenonascii();
@@ -4996,12 +5106,12 @@ Emblem.Parser = (function() {
4996
5106
  function peg$parsenmstart() {
4997
5107
  var s0;
4998
5108
 
4999
- if (peg$c157.test(input.charAt(peg$currPos))) {
5109
+ if (peg$c160.test(input.charAt(peg$currPos))) {
5000
5110
  s0 = input.charAt(peg$currPos);
5001
5111
  peg$currPos++;
5002
5112
  } else {
5003
5113
  s0 = null;
5004
- if (peg$silentFails === 0) { peg$fail(peg$c158); }
5114
+ if (peg$silentFails === 0) { peg$fail(peg$c161); }
5005
5115
  }
5006
5116
  if (s0 === null) {
5007
5117
  s0 = peg$parsenonascii();
@@ -5013,12 +5123,12 @@ Emblem.Parser = (function() {
5013
5123
  function peg$parsenonascii() {
5014
5124
  var s0;
5015
5125
 
5016
- if (peg$c159.test(input.charAt(peg$currPos))) {
5126
+ if (peg$c162.test(input.charAt(peg$currPos))) {
5017
5127
  s0 = input.charAt(peg$currPos);
5018
5128
  peg$currPos++;
5019
5129
  } else {
5020
5130
  s0 = null;
5021
- if (peg$silentFails === 0) { peg$fail(peg$c160); }
5131
+ if (peg$silentFails === 0) { peg$fail(peg$c163); }
5022
5132
  }
5023
5133
 
5024
5134
  return s0;
@@ -5052,11 +5162,11 @@ Emblem.Parser = (function() {
5052
5162
  peg$silentFails++;
5053
5163
  s0 = peg$currPos;
5054
5164
  if (input.charCodeAt(peg$currPos) === 37) {
5055
- s1 = peg$c149;
5165
+ s1 = peg$c152;
5056
5166
  peg$currPos++;
5057
5167
  } else {
5058
5168
  s1 = null;
5059
- if (peg$silentFails === 0) { peg$fail(peg$c150); }
5169
+ if (peg$silentFails === 0) { peg$fail(peg$c153); }
5060
5170
  }
5061
5171
  if (s1 !== null) {
5062
5172
  s2 = peg$parse_();
@@ -5064,7 +5174,7 @@ Emblem.Parser = (function() {
5064
5174
  s3 = peg$parsetagString();
5065
5175
  if (s3 !== null) {
5066
5176
  peg$reportedPos = s0;
5067
- s1 = peg$c52(s3);
5177
+ s1 = peg$c53(s3);
5068
5178
  if (s1 === null) {
5069
5179
  peg$currPos = s0;
5070
5180
  s0 = s1;
@@ -5089,7 +5199,7 @@ Emblem.Parser = (function() {
5089
5199
  peg$silentFails--;
5090
5200
  if (s0 === null) {
5091
5201
  s1 = null;
5092
- if (peg$silentFails === 0) { peg$fail(peg$c161); }
5202
+ if (peg$silentFails === 0) { peg$fail(peg$c164); }
5093
5203
  }
5094
5204
 
5095
5205
  return s0;
@@ -5102,7 +5212,7 @@ Emblem.Parser = (function() {
5102
5212
  s1 = peg$parsetagString();
5103
5213
  if (s1 !== null) {
5104
5214
  peg$reportedPos = peg$currPos;
5105
- s2 = peg$c162(s1);
5215
+ s2 = peg$c165(s1);
5106
5216
  if (s2) {
5107
5217
  s2 = peg$c1;
5108
5218
  } else {
@@ -5110,7 +5220,7 @@ Emblem.Parser = (function() {
5110
5220
  }
5111
5221
  if (s2 !== null) {
5112
5222
  peg$reportedPos = s0;
5113
- s1 = peg$c163(s1);
5223
+ s1 = peg$c166(s1);
5114
5224
  if (s1 === null) {
5115
5225
  peg$currPos = s0;
5116
5226
  s0 = s1;
@@ -5132,12 +5242,12 @@ Emblem.Parser = (function() {
5132
5242
  function peg$parsetagChar() {
5133
5243
  var s0;
5134
5244
 
5135
- if (peg$c155.test(input.charAt(peg$currPos))) {
5245
+ if (peg$c158.test(input.charAt(peg$currPos))) {
5136
5246
  s0 = input.charAt(peg$currPos);
5137
5247
  peg$currPos++;
5138
5248
  } else {
5139
5249
  s0 = null;
5140
- if (peg$silentFails === 0) { peg$fail(peg$c156); }
5250
+ if (peg$silentFails === 0) { peg$fail(peg$c159); }
5141
5251
  }
5142
5252
  if (s0 === null) {
5143
5253
  s0 = peg$parsenonSeparatorColon();
@@ -5151,11 +5261,11 @@ Emblem.Parser = (function() {
5151
5261
 
5152
5262
  s0 = peg$currPos;
5153
5263
  if (input.charCodeAt(peg$currPos) === 58) {
5154
- s1 = peg$c54;
5264
+ s1 = peg$c55;
5155
5265
  peg$currPos++;
5156
5266
  } else {
5157
5267
  s1 = null;
5158
- if (peg$silentFails === 0) { peg$fail(peg$c55); }
5268
+ if (peg$silentFails === 0) { peg$fail(peg$c56); }
5159
5269
  }
5160
5270
  if (s1 !== null) {
5161
5271
  s2 = peg$currPos;
@@ -5203,7 +5313,7 @@ Emblem.Parser = (function() {
5203
5313
  s1 = peg$parsetagString();
5204
5314
  if (s1 !== null) {
5205
5315
  peg$reportedPos = peg$currPos;
5206
- s2 = peg$c165(s1);
5316
+ s2 = peg$c168(s1);
5207
5317
  if (s2) {
5208
5318
  s2 = peg$c1;
5209
5319
  } else {
@@ -5211,7 +5321,7 @@ Emblem.Parser = (function() {
5211
5321
  }
5212
5322
  if (s2 !== null) {
5213
5323
  peg$reportedPos = s0;
5214
- s1 = peg$c163(s1);
5324
+ s1 = peg$c166(s1);
5215
5325
  if (s1 === null) {
5216
5326
  peg$currPos = s0;
5217
5327
  s0 = s1;
@@ -5229,7 +5339,7 @@ Emblem.Parser = (function() {
5229
5339
  peg$silentFails--;
5230
5340
  if (s0 === null) {
5231
5341
  s1 = null;
5232
- if (peg$silentFails === 0) { peg$fail(peg$c164); }
5342
+ if (peg$silentFails === 0) { peg$fail(peg$c167); }
5233
5343
  }
5234
5344
 
5235
5345
  return s0;
@@ -5244,7 +5354,7 @@ Emblem.Parser = (function() {
5244
5354
  s2 = peg$parse__();
5245
5355
  if (s2 !== null) {
5246
5356
  peg$reportedPos = s0;
5247
- s1 = peg$c52(s2);
5357
+ s1 = peg$c53(s2);
5248
5358
  if (s1 === null) {
5249
5359
  peg$currPos = s0;
5250
5360
  s0 = s1;
@@ -5269,15 +5379,15 @@ Emblem.Parser = (function() {
5269
5379
  peg$silentFails++;
5270
5380
  s0 = peg$currPos;
5271
5381
  if (input.charCodeAt(peg$currPos) === 61423) {
5272
- s1 = peg$c167;
5382
+ s1 = peg$c170;
5273
5383
  peg$currPos++;
5274
5384
  } else {
5275
5385
  s1 = null;
5276
- if (peg$silentFails === 0) { peg$fail(peg$c168); }
5386
+ if (peg$silentFails === 0) { peg$fail(peg$c171); }
5277
5387
  }
5278
5388
  if (s1 !== null) {
5279
5389
  peg$reportedPos = s0;
5280
- s1 = peg$c169();
5390
+ s1 = peg$c172();
5281
5391
  }
5282
5392
  if (s1 === null) {
5283
5393
  peg$currPos = s0;
@@ -5288,7 +5398,7 @@ Emblem.Parser = (function() {
5288
5398
  peg$silentFails--;
5289
5399
  if (s0 === null) {
5290
5400
  s1 = null;
5291
- if (peg$silentFails === 0) { peg$fail(peg$c166); }
5401
+ if (peg$silentFails === 0) { peg$fail(peg$c169); }
5292
5402
  }
5293
5403
 
5294
5404
  return s0;
@@ -5300,15 +5410,15 @@ Emblem.Parser = (function() {
5300
5410
  peg$silentFails++;
5301
5411
  s0 = peg$currPos;
5302
5412
  if (input.charCodeAt(peg$currPos) === 61438) {
5303
- s1 = peg$c171;
5413
+ s1 = peg$c174;
5304
5414
  peg$currPos++;
5305
5415
  } else {
5306
5416
  s1 = null;
5307
- if (peg$silentFails === 0) { peg$fail(peg$c172); }
5417
+ if (peg$silentFails === 0) { peg$fail(peg$c175); }
5308
5418
  }
5309
5419
  if (s1 !== null) {
5310
5420
  peg$reportedPos = s0;
5311
- s1 = peg$c169();
5421
+ s1 = peg$c172();
5312
5422
  }
5313
5423
  if (s1 === null) {
5314
5424
  peg$currPos = s0;
@@ -5319,7 +5429,7 @@ Emblem.Parser = (function() {
5319
5429
  peg$silentFails--;
5320
5430
  if (s0 === null) {
5321
5431
  s1 = null;
5322
- if (peg$silentFails === 0) { peg$fail(peg$c170); }
5432
+ if (peg$silentFails === 0) { peg$fail(peg$c173); }
5323
5433
  }
5324
5434
 
5325
5435
  return s0;
@@ -5331,15 +5441,15 @@ Emblem.Parser = (function() {
5331
5441
  peg$silentFails++;
5332
5442
  s0 = peg$currPos;
5333
5443
  if (input.charCodeAt(peg$currPos) === 61422) {
5334
- s1 = peg$c174;
5444
+ s1 = peg$c177;
5335
5445
  peg$currPos++;
5336
5446
  } else {
5337
5447
  s1 = null;
5338
- if (peg$silentFails === 0) { peg$fail(peg$c175); }
5448
+ if (peg$silentFails === 0) { peg$fail(peg$c178); }
5339
5449
  }
5340
5450
  if (s1 !== null) {
5341
5451
  peg$reportedPos = s0;
5342
- s1 = peg$c169();
5452
+ s1 = peg$c172();
5343
5453
  }
5344
5454
  if (s1 === null) {
5345
5455
  peg$currPos = s0;
@@ -5350,7 +5460,7 @@ Emblem.Parser = (function() {
5350
5460
  peg$silentFails--;
5351
5461
  if (s0 === null) {
5352
5462
  s1 = null;
5353
- if (peg$silentFails === 0) { peg$fail(peg$c173); }
5463
+ if (peg$silentFails === 0) { peg$fail(peg$c176); }
5354
5464
  }
5355
5465
 
5356
5466
  return s0;
@@ -5362,34 +5472,34 @@ Emblem.Parser = (function() {
5362
5472
  peg$silentFails++;
5363
5473
  s0 = peg$currPos;
5364
5474
  if (input.charCodeAt(peg$currPos) === 13) {
5365
- s1 = peg$c177;
5475
+ s1 = peg$c180;
5366
5476
  peg$currPos++;
5367
5477
  } else {
5368
5478
  s1 = null;
5369
- if (peg$silentFails === 0) { peg$fail(peg$c178); }
5479
+ if (peg$silentFails === 0) { peg$fail(peg$c181); }
5370
5480
  }
5371
5481
  if (s1 === null) {
5372
5482
  s1 = peg$c1;
5373
5483
  }
5374
5484
  if (s1 !== null) {
5375
5485
  if (input.charCodeAt(peg$currPos) === 61439) {
5376
- s2 = peg$c179;
5486
+ s2 = peg$c182;
5377
5487
  peg$currPos++;
5378
5488
  } else {
5379
5489
  s2 = null;
5380
- if (peg$silentFails === 0) { peg$fail(peg$c180); }
5490
+ if (peg$silentFails === 0) { peg$fail(peg$c183); }
5381
5491
  }
5382
5492
  if (s2 !== null) {
5383
5493
  if (input.charCodeAt(peg$currPos) === 10) {
5384
- s3 = peg$c181;
5494
+ s3 = peg$c184;
5385
5495
  peg$currPos++;
5386
5496
  } else {
5387
5497
  s3 = null;
5388
- if (peg$silentFails === 0) { peg$fail(peg$c182); }
5498
+ if (peg$silentFails === 0) { peg$fail(peg$c185); }
5389
5499
  }
5390
5500
  if (s3 !== null) {
5391
5501
  peg$reportedPos = s0;
5392
- s1 = peg$c126();
5502
+ s1 = peg$c130();
5393
5503
  if (s1 === null) {
5394
5504
  peg$currPos = s0;
5395
5505
  s0 = s1;
@@ -5411,7 +5521,7 @@ Emblem.Parser = (function() {
5411
5521
  peg$silentFails--;
5412
5522
  if (s0 === null) {
5413
5523
  s1 = null;
5414
- if (peg$silentFails === 0) { peg$fail(peg$c176); }
5524
+ if (peg$silentFails === 0) { peg$fail(peg$c179); }
5415
5525
  }
5416
5526
 
5417
5527
  return s0;
@@ -5428,7 +5538,7 @@ Emblem.Parser = (function() {
5428
5538
  peg$silentFails--;
5429
5539
  if (s0 === null) {
5430
5540
  s1 = null;
5431
- if (peg$silentFails === 0) { peg$fail(peg$c183); }
5541
+ if (peg$silentFails === 0) { peg$fail(peg$c186); }
5432
5542
  }
5433
5543
 
5434
5544
  return s0;
@@ -5456,7 +5566,7 @@ Emblem.Parser = (function() {
5456
5566
  peg$silentFails--;
5457
5567
  if (s0 === null) {
5458
5568
  s1 = null;
5459
- if (peg$silentFails === 0) { peg$fail(peg$c184); }
5569
+ if (peg$silentFails === 0) { peg$fail(peg$c187); }
5460
5570
  }
5461
5571
 
5462
5572
  return s0;
@@ -5475,7 +5585,7 @@ Emblem.Parser = (function() {
5475
5585
  peg$silentFails--;
5476
5586
  if (s0 === null) {
5477
5587
  s1 = null;
5478
- if (peg$silentFails === 0) { peg$fail(peg$c185); }
5588
+ if (peg$silentFails === 0) { peg$fail(peg$c188); }
5479
5589
  }
5480
5590
 
5481
5591
  return s0;
@@ -5485,17 +5595,17 @@ Emblem.Parser = (function() {
5485
5595
  var s0, s1;
5486
5596
 
5487
5597
  peg$silentFails++;
5488
- if (peg$c187.test(input.charAt(peg$currPos))) {
5598
+ if (peg$c190.test(input.charAt(peg$currPos))) {
5489
5599
  s0 = input.charAt(peg$currPos);
5490
5600
  peg$currPos++;
5491
5601
  } else {
5492
5602
  s0 = null;
5493
- if (peg$silentFails === 0) { peg$fail(peg$c188); }
5603
+ if (peg$silentFails === 0) { peg$fail(peg$c191); }
5494
5604
  }
5495
5605
  peg$silentFails--;
5496
5606
  if (s0 === null) {
5497
5607
  s1 = null;
5498
- if (peg$silentFails === 0) { peg$fail(peg$c186); }
5608
+ if (peg$silentFails === 0) { peg$fail(peg$c189); }
5499
5609
  }
5500
5610
 
5501
5611
  return s0;
@@ -5527,7 +5637,7 @@ Emblem.Parser = (function() {
5527
5637
  peg$currPos++;
5528
5638
  } else {
5529
5639
  s2 = null;
5530
- if (peg$silentFails === 0) { peg$fail(peg$c103); }
5640
+ if (peg$silentFails === 0) { peg$fail(peg$c107); }
5531
5641
  }
5532
5642
  if (s2 !== null) {
5533
5643
  peg$reportedPos = s0;