@angular/language-service 12.1.1 → 12.1.5
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.
- package/bundles/ivy.js +2589 -567
- package/bundles/language-service.js +2171 -323
- package/package.json +1 -1
- package/api.externs.js +0 -0
- package/api.mjs +0 -15
- package/index.mjs +0 -29
package/bundles/ivy.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v12.1.
|
|
2
|
+
* @license Angular v12.1.5
|
|
3
3
|
* Copyright Google LLC All Rights Reserved.
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -478,269 +478,6 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
478
478
|
function mergeNsAndName(prefix, localName) {
|
|
479
479
|
return prefix ? `:${prefix}:${localName}` : localName;
|
|
480
480
|
}
|
|
481
|
-
// see https://www.w3.org/TR/html51/syntax.html#named-character-references
|
|
482
|
-
// see https://html.spec.whatwg.org/multipage/entities.json
|
|
483
|
-
// This list is not exhaustive to keep the compiler footprint low.
|
|
484
|
-
// The `{` / `ƫ` syntax should be used when the named character reference does not
|
|
485
|
-
// exist.
|
|
486
|
-
const NAMED_ENTITIES = {
|
|
487
|
-
'Aacute': '\u00C1',
|
|
488
|
-
'aacute': '\u00E1',
|
|
489
|
-
'Acirc': '\u00C2',
|
|
490
|
-
'acirc': '\u00E2',
|
|
491
|
-
'acute': '\u00B4',
|
|
492
|
-
'AElig': '\u00C6',
|
|
493
|
-
'aelig': '\u00E6',
|
|
494
|
-
'Agrave': '\u00C0',
|
|
495
|
-
'agrave': '\u00E0',
|
|
496
|
-
'alefsym': '\u2135',
|
|
497
|
-
'Alpha': '\u0391',
|
|
498
|
-
'alpha': '\u03B1',
|
|
499
|
-
'amp': '&',
|
|
500
|
-
'and': '\u2227',
|
|
501
|
-
'ang': '\u2220',
|
|
502
|
-
'apos': '\u0027',
|
|
503
|
-
'Aring': '\u00C5',
|
|
504
|
-
'aring': '\u00E5',
|
|
505
|
-
'asymp': '\u2248',
|
|
506
|
-
'Atilde': '\u00C3',
|
|
507
|
-
'atilde': '\u00E3',
|
|
508
|
-
'Auml': '\u00C4',
|
|
509
|
-
'auml': '\u00E4',
|
|
510
|
-
'bdquo': '\u201E',
|
|
511
|
-
'Beta': '\u0392',
|
|
512
|
-
'beta': '\u03B2',
|
|
513
|
-
'brvbar': '\u00A6',
|
|
514
|
-
'bull': '\u2022',
|
|
515
|
-
'cap': '\u2229',
|
|
516
|
-
'Ccedil': '\u00C7',
|
|
517
|
-
'ccedil': '\u00E7',
|
|
518
|
-
'cedil': '\u00B8',
|
|
519
|
-
'cent': '\u00A2',
|
|
520
|
-
'Chi': '\u03A7',
|
|
521
|
-
'chi': '\u03C7',
|
|
522
|
-
'circ': '\u02C6',
|
|
523
|
-
'clubs': '\u2663',
|
|
524
|
-
'cong': '\u2245',
|
|
525
|
-
'copy': '\u00A9',
|
|
526
|
-
'crarr': '\u21B5',
|
|
527
|
-
'cup': '\u222A',
|
|
528
|
-
'curren': '\u00A4',
|
|
529
|
-
'dagger': '\u2020',
|
|
530
|
-
'Dagger': '\u2021',
|
|
531
|
-
'darr': '\u2193',
|
|
532
|
-
'dArr': '\u21D3',
|
|
533
|
-
'deg': '\u00B0',
|
|
534
|
-
'Delta': '\u0394',
|
|
535
|
-
'delta': '\u03B4',
|
|
536
|
-
'diams': '\u2666',
|
|
537
|
-
'divide': '\u00F7',
|
|
538
|
-
'Eacute': '\u00C9',
|
|
539
|
-
'eacute': '\u00E9',
|
|
540
|
-
'Ecirc': '\u00CA',
|
|
541
|
-
'ecirc': '\u00EA',
|
|
542
|
-
'Egrave': '\u00C8',
|
|
543
|
-
'egrave': '\u00E8',
|
|
544
|
-
'empty': '\u2205',
|
|
545
|
-
'emsp': '\u2003',
|
|
546
|
-
'ensp': '\u2002',
|
|
547
|
-
'Epsilon': '\u0395',
|
|
548
|
-
'epsilon': '\u03B5',
|
|
549
|
-
'equiv': '\u2261',
|
|
550
|
-
'Eta': '\u0397',
|
|
551
|
-
'eta': '\u03B7',
|
|
552
|
-
'ETH': '\u00D0',
|
|
553
|
-
'eth': '\u00F0',
|
|
554
|
-
'Euml': '\u00CB',
|
|
555
|
-
'euml': '\u00EB',
|
|
556
|
-
'euro': '\u20AC',
|
|
557
|
-
'exist': '\u2203',
|
|
558
|
-
'fnof': '\u0192',
|
|
559
|
-
'forall': '\u2200',
|
|
560
|
-
'frac12': '\u00BD',
|
|
561
|
-
'frac14': '\u00BC',
|
|
562
|
-
'frac34': '\u00BE',
|
|
563
|
-
'frasl': '\u2044',
|
|
564
|
-
'Gamma': '\u0393',
|
|
565
|
-
'gamma': '\u03B3',
|
|
566
|
-
'ge': '\u2265',
|
|
567
|
-
'gt': '>',
|
|
568
|
-
'harr': '\u2194',
|
|
569
|
-
'hArr': '\u21D4',
|
|
570
|
-
'hearts': '\u2665',
|
|
571
|
-
'hellip': '\u2026',
|
|
572
|
-
'Iacute': '\u00CD',
|
|
573
|
-
'iacute': '\u00ED',
|
|
574
|
-
'Icirc': '\u00CE',
|
|
575
|
-
'icirc': '\u00EE',
|
|
576
|
-
'iexcl': '\u00A1',
|
|
577
|
-
'Igrave': '\u00CC',
|
|
578
|
-
'igrave': '\u00EC',
|
|
579
|
-
'image': '\u2111',
|
|
580
|
-
'infin': '\u221E',
|
|
581
|
-
'int': '\u222B',
|
|
582
|
-
'Iota': '\u0399',
|
|
583
|
-
'iota': '\u03B9',
|
|
584
|
-
'iquest': '\u00BF',
|
|
585
|
-
'isin': '\u2208',
|
|
586
|
-
'Iuml': '\u00CF',
|
|
587
|
-
'iuml': '\u00EF',
|
|
588
|
-
'Kappa': '\u039A',
|
|
589
|
-
'kappa': '\u03BA',
|
|
590
|
-
'Lambda': '\u039B',
|
|
591
|
-
'lambda': '\u03BB',
|
|
592
|
-
'lang': '\u27E8',
|
|
593
|
-
'laquo': '\u00AB',
|
|
594
|
-
'larr': '\u2190',
|
|
595
|
-
'lArr': '\u21D0',
|
|
596
|
-
'lceil': '\u2308',
|
|
597
|
-
'ldquo': '\u201C',
|
|
598
|
-
'le': '\u2264',
|
|
599
|
-
'lfloor': '\u230A',
|
|
600
|
-
'lowast': '\u2217',
|
|
601
|
-
'loz': '\u25CA',
|
|
602
|
-
'lrm': '\u200E',
|
|
603
|
-
'lsaquo': '\u2039',
|
|
604
|
-
'lsquo': '\u2018',
|
|
605
|
-
'lt': '<',
|
|
606
|
-
'macr': '\u00AF',
|
|
607
|
-
'mdash': '\u2014',
|
|
608
|
-
'micro': '\u00B5',
|
|
609
|
-
'middot': '\u00B7',
|
|
610
|
-
'minus': '\u2212',
|
|
611
|
-
'Mu': '\u039C',
|
|
612
|
-
'mu': '\u03BC',
|
|
613
|
-
'nabla': '\u2207',
|
|
614
|
-
'nbsp': '\u00A0',
|
|
615
|
-
'ndash': '\u2013',
|
|
616
|
-
'ne': '\u2260',
|
|
617
|
-
'ni': '\u220B',
|
|
618
|
-
'not': '\u00AC',
|
|
619
|
-
'notin': '\u2209',
|
|
620
|
-
'nsub': '\u2284',
|
|
621
|
-
'Ntilde': '\u00D1',
|
|
622
|
-
'ntilde': '\u00F1',
|
|
623
|
-
'Nu': '\u039D',
|
|
624
|
-
'nu': '\u03BD',
|
|
625
|
-
'Oacute': '\u00D3',
|
|
626
|
-
'oacute': '\u00F3',
|
|
627
|
-
'Ocirc': '\u00D4',
|
|
628
|
-
'ocirc': '\u00F4',
|
|
629
|
-
'OElig': '\u0152',
|
|
630
|
-
'oelig': '\u0153',
|
|
631
|
-
'Ograve': '\u00D2',
|
|
632
|
-
'ograve': '\u00F2',
|
|
633
|
-
'oline': '\u203E',
|
|
634
|
-
'Omega': '\u03A9',
|
|
635
|
-
'omega': '\u03C9',
|
|
636
|
-
'Omicron': '\u039F',
|
|
637
|
-
'omicron': '\u03BF',
|
|
638
|
-
'oplus': '\u2295',
|
|
639
|
-
'or': '\u2228',
|
|
640
|
-
'ordf': '\u00AA',
|
|
641
|
-
'ordm': '\u00BA',
|
|
642
|
-
'Oslash': '\u00D8',
|
|
643
|
-
'oslash': '\u00F8',
|
|
644
|
-
'Otilde': '\u00D5',
|
|
645
|
-
'otilde': '\u00F5',
|
|
646
|
-
'otimes': '\u2297',
|
|
647
|
-
'Ouml': '\u00D6',
|
|
648
|
-
'ouml': '\u00F6',
|
|
649
|
-
'para': '\u00B6',
|
|
650
|
-
'permil': '\u2030',
|
|
651
|
-
'perp': '\u22A5',
|
|
652
|
-
'Phi': '\u03A6',
|
|
653
|
-
'phi': '\u03C6',
|
|
654
|
-
'Pi': '\u03A0',
|
|
655
|
-
'pi': '\u03C0',
|
|
656
|
-
'piv': '\u03D6',
|
|
657
|
-
'plusmn': '\u00B1',
|
|
658
|
-
'pound': '\u00A3',
|
|
659
|
-
'prime': '\u2032',
|
|
660
|
-
'Prime': '\u2033',
|
|
661
|
-
'prod': '\u220F',
|
|
662
|
-
'prop': '\u221D',
|
|
663
|
-
'Psi': '\u03A8',
|
|
664
|
-
'psi': '\u03C8',
|
|
665
|
-
'quot': '\u0022',
|
|
666
|
-
'radic': '\u221A',
|
|
667
|
-
'rang': '\u27E9',
|
|
668
|
-
'raquo': '\u00BB',
|
|
669
|
-
'rarr': '\u2192',
|
|
670
|
-
'rArr': '\u21D2',
|
|
671
|
-
'rceil': '\u2309',
|
|
672
|
-
'rdquo': '\u201D',
|
|
673
|
-
'real': '\u211C',
|
|
674
|
-
'reg': '\u00AE',
|
|
675
|
-
'rfloor': '\u230B',
|
|
676
|
-
'Rho': '\u03A1',
|
|
677
|
-
'rho': '\u03C1',
|
|
678
|
-
'rlm': '\u200F',
|
|
679
|
-
'rsaquo': '\u203A',
|
|
680
|
-
'rsquo': '\u2019',
|
|
681
|
-
'sbquo': '\u201A',
|
|
682
|
-
'Scaron': '\u0160',
|
|
683
|
-
'scaron': '\u0161',
|
|
684
|
-
'sdot': '\u22C5',
|
|
685
|
-
'sect': '\u00A7',
|
|
686
|
-
'shy': '\u00AD',
|
|
687
|
-
'Sigma': '\u03A3',
|
|
688
|
-
'sigma': '\u03C3',
|
|
689
|
-
'sigmaf': '\u03C2',
|
|
690
|
-
'sim': '\u223C',
|
|
691
|
-
'spades': '\u2660',
|
|
692
|
-
'sub': '\u2282',
|
|
693
|
-
'sube': '\u2286',
|
|
694
|
-
'sum': '\u2211',
|
|
695
|
-
'sup': '\u2283',
|
|
696
|
-
'sup1': '\u00B9',
|
|
697
|
-
'sup2': '\u00B2',
|
|
698
|
-
'sup3': '\u00B3',
|
|
699
|
-
'supe': '\u2287',
|
|
700
|
-
'szlig': '\u00DF',
|
|
701
|
-
'Tau': '\u03A4',
|
|
702
|
-
'tau': '\u03C4',
|
|
703
|
-
'there4': '\u2234',
|
|
704
|
-
'Theta': '\u0398',
|
|
705
|
-
'theta': '\u03B8',
|
|
706
|
-
'thetasym': '\u03D1',
|
|
707
|
-
'thinsp': '\u2009',
|
|
708
|
-
'THORN': '\u00DE',
|
|
709
|
-
'thorn': '\u00FE',
|
|
710
|
-
'tilde': '\u02DC',
|
|
711
|
-
'times': '\u00D7',
|
|
712
|
-
'trade': '\u2122',
|
|
713
|
-
'Uacute': '\u00DA',
|
|
714
|
-
'uacute': '\u00FA',
|
|
715
|
-
'uarr': '\u2191',
|
|
716
|
-
'uArr': '\u21D1',
|
|
717
|
-
'Ucirc': '\u00DB',
|
|
718
|
-
'ucirc': '\u00FB',
|
|
719
|
-
'Ugrave': '\u00D9',
|
|
720
|
-
'ugrave': '\u00F9',
|
|
721
|
-
'uml': '\u00A8',
|
|
722
|
-
'upsih': '\u03D2',
|
|
723
|
-
'Upsilon': '\u03A5',
|
|
724
|
-
'upsilon': '\u03C5',
|
|
725
|
-
'Uuml': '\u00DC',
|
|
726
|
-
'uuml': '\u00FC',
|
|
727
|
-
'weierp': '\u2118',
|
|
728
|
-
'Xi': '\u039E',
|
|
729
|
-
'xi': '\u03BE',
|
|
730
|
-
'Yacute': '\u00DD',
|
|
731
|
-
'yacute': '\u00FD',
|
|
732
|
-
'yen': '\u00A5',
|
|
733
|
-
'yuml': '\u00FF',
|
|
734
|
-
'Yuml': '\u0178',
|
|
735
|
-
'Zeta': '\u0396',
|
|
736
|
-
'zeta': '\u03B6',
|
|
737
|
-
'zwj': '\u200D',
|
|
738
|
-
'zwnj': '\u200C',
|
|
739
|
-
};
|
|
740
|
-
// The &ngsp; pseudo-entity is denoting a space. see:
|
|
741
|
-
// https://github.com/dart-lang/angular/blob/0bb611387d29d65b5af7f9d2515ab571fd3fbee4/_tests/test/compiler/preserve_whitespace_test.dart
|
|
742
|
-
const NGSP_UNICODE = '\uE500';
|
|
743
|
-
NAMED_ENTITIES['ngsp'] = NGSP_UNICODE;
|
|
744
481
|
|
|
745
482
|
/**
|
|
746
483
|
* @license
|
|
@@ -6410,9 +6147,6 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
6410
6147
|
this.span = span;
|
|
6411
6148
|
this.sourceSpan = sourceSpan;
|
|
6412
6149
|
}
|
|
6413
|
-
visit(visitor, context = null) {
|
|
6414
|
-
return null;
|
|
6415
|
-
}
|
|
6416
6150
|
toString() {
|
|
6417
6151
|
return 'AST';
|
|
6418
6152
|
}
|
|
@@ -7679,7 +7413,7 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
7679
7413
|
const key = this._visit(ast.key, _Mode.Expression);
|
|
7680
7414
|
const value = this._visit(ast.value, _Mode.Expression);
|
|
7681
7415
|
if (obj === this._implicitReceiver) {
|
|
7682
|
-
this._localResolver.maybeRestoreView(
|
|
7416
|
+
this._localResolver.maybeRestoreView();
|
|
7683
7417
|
}
|
|
7684
7418
|
return convertToStatementIfNeeded(mode, obj.key(key).set(value));
|
|
7685
7419
|
}
|
|
@@ -8151,7 +7885,6 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
8151
7885
|
class BuiltinFunctionCall extends FunctionCall {
|
|
8152
7886
|
constructor(span, sourceSpan, args, converter) {
|
|
8153
7887
|
super(span, sourceSpan, null, args);
|
|
8154
|
-
this.args = args;
|
|
8155
7888
|
this.converter = converter;
|
|
8156
7889
|
}
|
|
8157
7890
|
}
|
|
@@ -9001,6 +8734,2149 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
9001
8734
|
return result;
|
|
9002
8735
|
}
|
|
9003
8736
|
|
|
8737
|
+
/**
|
|
8738
|
+
* @license
|
|
8739
|
+
* Copyright Google LLC All Rights Reserved.
|
|
8740
|
+
*
|
|
8741
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
8742
|
+
* found in the LICENSE file at https://angular.io/license
|
|
8743
|
+
*/
|
|
8744
|
+
// Mapping between all HTML entity names and their unicode representation.
|
|
8745
|
+
// Generated from https://html.spec.whatwg.org/multipage/entities.json by stripping
|
|
8746
|
+
// the `&` and `;` from the keys and removing the duplicates.
|
|
8747
|
+
// see https://www.w3.org/TR/html51/syntax.html#named-character-references
|
|
8748
|
+
const NAMED_ENTITIES = {
|
|
8749
|
+
'AElig': '\u00C6',
|
|
8750
|
+
'AMP': '\u0026',
|
|
8751
|
+
'amp': '\u0026',
|
|
8752
|
+
'Aacute': '\u00C1',
|
|
8753
|
+
'Abreve': '\u0102',
|
|
8754
|
+
'Acirc': '\u00C2',
|
|
8755
|
+
'Acy': '\u0410',
|
|
8756
|
+
'Afr': '\uD835\uDD04',
|
|
8757
|
+
'Agrave': '\u00C0',
|
|
8758
|
+
'Alpha': '\u0391',
|
|
8759
|
+
'Amacr': '\u0100',
|
|
8760
|
+
'And': '\u2A53',
|
|
8761
|
+
'Aogon': '\u0104',
|
|
8762
|
+
'Aopf': '\uD835\uDD38',
|
|
8763
|
+
'ApplyFunction': '\u2061',
|
|
8764
|
+
'af': '\u2061',
|
|
8765
|
+
'Aring': '\u00C5',
|
|
8766
|
+
'angst': '\u00C5',
|
|
8767
|
+
'Ascr': '\uD835\uDC9C',
|
|
8768
|
+
'Assign': '\u2254',
|
|
8769
|
+
'colone': '\u2254',
|
|
8770
|
+
'coloneq': '\u2254',
|
|
8771
|
+
'Atilde': '\u00C3',
|
|
8772
|
+
'Auml': '\u00C4',
|
|
8773
|
+
'Backslash': '\u2216',
|
|
8774
|
+
'setminus': '\u2216',
|
|
8775
|
+
'setmn': '\u2216',
|
|
8776
|
+
'smallsetminus': '\u2216',
|
|
8777
|
+
'ssetmn': '\u2216',
|
|
8778
|
+
'Barv': '\u2AE7',
|
|
8779
|
+
'Barwed': '\u2306',
|
|
8780
|
+
'doublebarwedge': '\u2306',
|
|
8781
|
+
'Bcy': '\u0411',
|
|
8782
|
+
'Because': '\u2235',
|
|
8783
|
+
'becaus': '\u2235',
|
|
8784
|
+
'because': '\u2235',
|
|
8785
|
+
'Bernoullis': '\u212C',
|
|
8786
|
+
'Bscr': '\u212C',
|
|
8787
|
+
'bernou': '\u212C',
|
|
8788
|
+
'Beta': '\u0392',
|
|
8789
|
+
'Bfr': '\uD835\uDD05',
|
|
8790
|
+
'Bopf': '\uD835\uDD39',
|
|
8791
|
+
'Breve': '\u02D8',
|
|
8792
|
+
'breve': '\u02D8',
|
|
8793
|
+
'Bumpeq': '\u224E',
|
|
8794
|
+
'HumpDownHump': '\u224E',
|
|
8795
|
+
'bump': '\u224E',
|
|
8796
|
+
'CHcy': '\u0427',
|
|
8797
|
+
'COPY': '\u00A9',
|
|
8798
|
+
'copy': '\u00A9',
|
|
8799
|
+
'Cacute': '\u0106',
|
|
8800
|
+
'Cap': '\u22D2',
|
|
8801
|
+
'CapitalDifferentialD': '\u2145',
|
|
8802
|
+
'DD': '\u2145',
|
|
8803
|
+
'Cayleys': '\u212D',
|
|
8804
|
+
'Cfr': '\u212D',
|
|
8805
|
+
'Ccaron': '\u010C',
|
|
8806
|
+
'Ccedil': '\u00C7',
|
|
8807
|
+
'Ccirc': '\u0108',
|
|
8808
|
+
'Cconint': '\u2230',
|
|
8809
|
+
'Cdot': '\u010A',
|
|
8810
|
+
'Cedilla': '\u00B8',
|
|
8811
|
+
'cedil': '\u00B8',
|
|
8812
|
+
'CenterDot': '\u00B7',
|
|
8813
|
+
'centerdot': '\u00B7',
|
|
8814
|
+
'middot': '\u00B7',
|
|
8815
|
+
'Chi': '\u03A7',
|
|
8816
|
+
'CircleDot': '\u2299',
|
|
8817
|
+
'odot': '\u2299',
|
|
8818
|
+
'CircleMinus': '\u2296',
|
|
8819
|
+
'ominus': '\u2296',
|
|
8820
|
+
'CirclePlus': '\u2295',
|
|
8821
|
+
'oplus': '\u2295',
|
|
8822
|
+
'CircleTimes': '\u2297',
|
|
8823
|
+
'otimes': '\u2297',
|
|
8824
|
+
'ClockwiseContourIntegral': '\u2232',
|
|
8825
|
+
'cwconint': '\u2232',
|
|
8826
|
+
'CloseCurlyDoubleQuote': '\u201D',
|
|
8827
|
+
'rdquo': '\u201D',
|
|
8828
|
+
'rdquor': '\u201D',
|
|
8829
|
+
'CloseCurlyQuote': '\u2019',
|
|
8830
|
+
'rsquo': '\u2019',
|
|
8831
|
+
'rsquor': '\u2019',
|
|
8832
|
+
'Colon': '\u2237',
|
|
8833
|
+
'Proportion': '\u2237',
|
|
8834
|
+
'Colone': '\u2A74',
|
|
8835
|
+
'Congruent': '\u2261',
|
|
8836
|
+
'equiv': '\u2261',
|
|
8837
|
+
'Conint': '\u222F',
|
|
8838
|
+
'DoubleContourIntegral': '\u222F',
|
|
8839
|
+
'ContourIntegral': '\u222E',
|
|
8840
|
+
'conint': '\u222E',
|
|
8841
|
+
'oint': '\u222E',
|
|
8842
|
+
'Copf': '\u2102',
|
|
8843
|
+
'complexes': '\u2102',
|
|
8844
|
+
'Coproduct': '\u2210',
|
|
8845
|
+
'coprod': '\u2210',
|
|
8846
|
+
'CounterClockwiseContourIntegral': '\u2233',
|
|
8847
|
+
'awconint': '\u2233',
|
|
8848
|
+
'Cross': '\u2A2F',
|
|
8849
|
+
'Cscr': '\uD835\uDC9E',
|
|
8850
|
+
'Cup': '\u22D3',
|
|
8851
|
+
'CupCap': '\u224D',
|
|
8852
|
+
'asympeq': '\u224D',
|
|
8853
|
+
'DDotrahd': '\u2911',
|
|
8854
|
+
'DJcy': '\u0402',
|
|
8855
|
+
'DScy': '\u0405',
|
|
8856
|
+
'DZcy': '\u040F',
|
|
8857
|
+
'Dagger': '\u2021',
|
|
8858
|
+
'ddagger': '\u2021',
|
|
8859
|
+
'Darr': '\u21A1',
|
|
8860
|
+
'Dashv': '\u2AE4',
|
|
8861
|
+
'DoubleLeftTee': '\u2AE4',
|
|
8862
|
+
'Dcaron': '\u010E',
|
|
8863
|
+
'Dcy': '\u0414',
|
|
8864
|
+
'Del': '\u2207',
|
|
8865
|
+
'nabla': '\u2207',
|
|
8866
|
+
'Delta': '\u0394',
|
|
8867
|
+
'Dfr': '\uD835\uDD07',
|
|
8868
|
+
'DiacriticalAcute': '\u00B4',
|
|
8869
|
+
'acute': '\u00B4',
|
|
8870
|
+
'DiacriticalDot': '\u02D9',
|
|
8871
|
+
'dot': '\u02D9',
|
|
8872
|
+
'DiacriticalDoubleAcute': '\u02DD',
|
|
8873
|
+
'dblac': '\u02DD',
|
|
8874
|
+
'DiacriticalGrave': '\u0060',
|
|
8875
|
+
'grave': '\u0060',
|
|
8876
|
+
'DiacriticalTilde': '\u02DC',
|
|
8877
|
+
'tilde': '\u02DC',
|
|
8878
|
+
'Diamond': '\u22C4',
|
|
8879
|
+
'diam': '\u22C4',
|
|
8880
|
+
'diamond': '\u22C4',
|
|
8881
|
+
'DifferentialD': '\u2146',
|
|
8882
|
+
'dd': '\u2146',
|
|
8883
|
+
'Dopf': '\uD835\uDD3B',
|
|
8884
|
+
'Dot': '\u00A8',
|
|
8885
|
+
'DoubleDot': '\u00A8',
|
|
8886
|
+
'die': '\u00A8',
|
|
8887
|
+
'uml': '\u00A8',
|
|
8888
|
+
'DotDot': '\u20DC',
|
|
8889
|
+
'DotEqual': '\u2250',
|
|
8890
|
+
'doteq': '\u2250',
|
|
8891
|
+
'esdot': '\u2250',
|
|
8892
|
+
'DoubleDownArrow': '\u21D3',
|
|
8893
|
+
'Downarrow': '\u21D3',
|
|
8894
|
+
'dArr': '\u21D3',
|
|
8895
|
+
'DoubleLeftArrow': '\u21D0',
|
|
8896
|
+
'Leftarrow': '\u21D0',
|
|
8897
|
+
'lArr': '\u21D0',
|
|
8898
|
+
'DoubleLeftRightArrow': '\u21D4',
|
|
8899
|
+
'Leftrightarrow': '\u21D4',
|
|
8900
|
+
'hArr': '\u21D4',
|
|
8901
|
+
'iff': '\u21D4',
|
|
8902
|
+
'DoubleLongLeftArrow': '\u27F8',
|
|
8903
|
+
'Longleftarrow': '\u27F8',
|
|
8904
|
+
'xlArr': '\u27F8',
|
|
8905
|
+
'DoubleLongLeftRightArrow': '\u27FA',
|
|
8906
|
+
'Longleftrightarrow': '\u27FA',
|
|
8907
|
+
'xhArr': '\u27FA',
|
|
8908
|
+
'DoubleLongRightArrow': '\u27F9',
|
|
8909
|
+
'Longrightarrow': '\u27F9',
|
|
8910
|
+
'xrArr': '\u27F9',
|
|
8911
|
+
'DoubleRightArrow': '\u21D2',
|
|
8912
|
+
'Implies': '\u21D2',
|
|
8913
|
+
'Rightarrow': '\u21D2',
|
|
8914
|
+
'rArr': '\u21D2',
|
|
8915
|
+
'DoubleRightTee': '\u22A8',
|
|
8916
|
+
'vDash': '\u22A8',
|
|
8917
|
+
'DoubleUpArrow': '\u21D1',
|
|
8918
|
+
'Uparrow': '\u21D1',
|
|
8919
|
+
'uArr': '\u21D1',
|
|
8920
|
+
'DoubleUpDownArrow': '\u21D5',
|
|
8921
|
+
'Updownarrow': '\u21D5',
|
|
8922
|
+
'vArr': '\u21D5',
|
|
8923
|
+
'DoubleVerticalBar': '\u2225',
|
|
8924
|
+
'par': '\u2225',
|
|
8925
|
+
'parallel': '\u2225',
|
|
8926
|
+
'shortparallel': '\u2225',
|
|
8927
|
+
'spar': '\u2225',
|
|
8928
|
+
'DownArrow': '\u2193',
|
|
8929
|
+
'ShortDownArrow': '\u2193',
|
|
8930
|
+
'darr': '\u2193',
|
|
8931
|
+
'downarrow': '\u2193',
|
|
8932
|
+
'DownArrowBar': '\u2913',
|
|
8933
|
+
'DownArrowUpArrow': '\u21F5',
|
|
8934
|
+
'duarr': '\u21F5',
|
|
8935
|
+
'DownBreve': '\u0311',
|
|
8936
|
+
'DownLeftRightVector': '\u2950',
|
|
8937
|
+
'DownLeftTeeVector': '\u295E',
|
|
8938
|
+
'DownLeftVector': '\u21BD',
|
|
8939
|
+
'leftharpoondown': '\u21BD',
|
|
8940
|
+
'lhard': '\u21BD',
|
|
8941
|
+
'DownLeftVectorBar': '\u2956',
|
|
8942
|
+
'DownRightTeeVector': '\u295F',
|
|
8943
|
+
'DownRightVector': '\u21C1',
|
|
8944
|
+
'rhard': '\u21C1',
|
|
8945
|
+
'rightharpoondown': '\u21C1',
|
|
8946
|
+
'DownRightVectorBar': '\u2957',
|
|
8947
|
+
'DownTee': '\u22A4',
|
|
8948
|
+
'top': '\u22A4',
|
|
8949
|
+
'DownTeeArrow': '\u21A7',
|
|
8950
|
+
'mapstodown': '\u21A7',
|
|
8951
|
+
'Dscr': '\uD835\uDC9F',
|
|
8952
|
+
'Dstrok': '\u0110',
|
|
8953
|
+
'ENG': '\u014A',
|
|
8954
|
+
'ETH': '\u00D0',
|
|
8955
|
+
'Eacute': '\u00C9',
|
|
8956
|
+
'Ecaron': '\u011A',
|
|
8957
|
+
'Ecirc': '\u00CA',
|
|
8958
|
+
'Ecy': '\u042D',
|
|
8959
|
+
'Edot': '\u0116',
|
|
8960
|
+
'Efr': '\uD835\uDD08',
|
|
8961
|
+
'Egrave': '\u00C8',
|
|
8962
|
+
'Element': '\u2208',
|
|
8963
|
+
'in': '\u2208',
|
|
8964
|
+
'isin': '\u2208',
|
|
8965
|
+
'isinv': '\u2208',
|
|
8966
|
+
'Emacr': '\u0112',
|
|
8967
|
+
'EmptySmallSquare': '\u25FB',
|
|
8968
|
+
'EmptyVerySmallSquare': '\u25AB',
|
|
8969
|
+
'Eogon': '\u0118',
|
|
8970
|
+
'Eopf': '\uD835\uDD3C',
|
|
8971
|
+
'Epsilon': '\u0395',
|
|
8972
|
+
'Equal': '\u2A75',
|
|
8973
|
+
'EqualTilde': '\u2242',
|
|
8974
|
+
'eqsim': '\u2242',
|
|
8975
|
+
'esim': '\u2242',
|
|
8976
|
+
'Equilibrium': '\u21CC',
|
|
8977
|
+
'rightleftharpoons': '\u21CC',
|
|
8978
|
+
'rlhar': '\u21CC',
|
|
8979
|
+
'Escr': '\u2130',
|
|
8980
|
+
'expectation': '\u2130',
|
|
8981
|
+
'Esim': '\u2A73',
|
|
8982
|
+
'Eta': '\u0397',
|
|
8983
|
+
'Euml': '\u00CB',
|
|
8984
|
+
'Exists': '\u2203',
|
|
8985
|
+
'exist': '\u2203',
|
|
8986
|
+
'ExponentialE': '\u2147',
|
|
8987
|
+
'ee': '\u2147',
|
|
8988
|
+
'exponentiale': '\u2147',
|
|
8989
|
+
'Fcy': '\u0424',
|
|
8990
|
+
'Ffr': '\uD835\uDD09',
|
|
8991
|
+
'FilledSmallSquare': '\u25FC',
|
|
8992
|
+
'FilledVerySmallSquare': '\u25AA',
|
|
8993
|
+
'blacksquare': '\u25AA',
|
|
8994
|
+
'squarf': '\u25AA',
|
|
8995
|
+
'squf': '\u25AA',
|
|
8996
|
+
'Fopf': '\uD835\uDD3D',
|
|
8997
|
+
'ForAll': '\u2200',
|
|
8998
|
+
'forall': '\u2200',
|
|
8999
|
+
'Fouriertrf': '\u2131',
|
|
9000
|
+
'Fscr': '\u2131',
|
|
9001
|
+
'GJcy': '\u0403',
|
|
9002
|
+
'GT': '\u003E',
|
|
9003
|
+
'gt': '\u003E',
|
|
9004
|
+
'Gamma': '\u0393',
|
|
9005
|
+
'Gammad': '\u03DC',
|
|
9006
|
+
'Gbreve': '\u011E',
|
|
9007
|
+
'Gcedil': '\u0122',
|
|
9008
|
+
'Gcirc': '\u011C',
|
|
9009
|
+
'Gcy': '\u0413',
|
|
9010
|
+
'Gdot': '\u0120',
|
|
9011
|
+
'Gfr': '\uD835\uDD0A',
|
|
9012
|
+
'Gg': '\u22D9',
|
|
9013
|
+
'ggg': '\u22D9',
|
|
9014
|
+
'Gopf': '\uD835\uDD3E',
|
|
9015
|
+
'GreaterEqual': '\u2265',
|
|
9016
|
+
'ge': '\u2265',
|
|
9017
|
+
'geq': '\u2265',
|
|
9018
|
+
'GreaterEqualLess': '\u22DB',
|
|
9019
|
+
'gel': '\u22DB',
|
|
9020
|
+
'gtreqless': '\u22DB',
|
|
9021
|
+
'GreaterFullEqual': '\u2267',
|
|
9022
|
+
'gE': '\u2267',
|
|
9023
|
+
'geqq': '\u2267',
|
|
9024
|
+
'GreaterGreater': '\u2AA2',
|
|
9025
|
+
'GreaterLess': '\u2277',
|
|
9026
|
+
'gl': '\u2277',
|
|
9027
|
+
'gtrless': '\u2277',
|
|
9028
|
+
'GreaterSlantEqual': '\u2A7E',
|
|
9029
|
+
'geqslant': '\u2A7E',
|
|
9030
|
+
'ges': '\u2A7E',
|
|
9031
|
+
'GreaterTilde': '\u2273',
|
|
9032
|
+
'gsim': '\u2273',
|
|
9033
|
+
'gtrsim': '\u2273',
|
|
9034
|
+
'Gscr': '\uD835\uDCA2',
|
|
9035
|
+
'Gt': '\u226B',
|
|
9036
|
+
'NestedGreaterGreater': '\u226B',
|
|
9037
|
+
'gg': '\u226B',
|
|
9038
|
+
'HARDcy': '\u042A',
|
|
9039
|
+
'Hacek': '\u02C7',
|
|
9040
|
+
'caron': '\u02C7',
|
|
9041
|
+
'Hat': '\u005E',
|
|
9042
|
+
'Hcirc': '\u0124',
|
|
9043
|
+
'Hfr': '\u210C',
|
|
9044
|
+
'Poincareplane': '\u210C',
|
|
9045
|
+
'HilbertSpace': '\u210B',
|
|
9046
|
+
'Hscr': '\u210B',
|
|
9047
|
+
'hamilt': '\u210B',
|
|
9048
|
+
'Hopf': '\u210D',
|
|
9049
|
+
'quaternions': '\u210D',
|
|
9050
|
+
'HorizontalLine': '\u2500',
|
|
9051
|
+
'boxh': '\u2500',
|
|
9052
|
+
'Hstrok': '\u0126',
|
|
9053
|
+
'HumpEqual': '\u224F',
|
|
9054
|
+
'bumpe': '\u224F',
|
|
9055
|
+
'bumpeq': '\u224F',
|
|
9056
|
+
'IEcy': '\u0415',
|
|
9057
|
+
'IJlig': '\u0132',
|
|
9058
|
+
'IOcy': '\u0401',
|
|
9059
|
+
'Iacute': '\u00CD',
|
|
9060
|
+
'Icirc': '\u00CE',
|
|
9061
|
+
'Icy': '\u0418',
|
|
9062
|
+
'Idot': '\u0130',
|
|
9063
|
+
'Ifr': '\u2111',
|
|
9064
|
+
'Im': '\u2111',
|
|
9065
|
+
'image': '\u2111',
|
|
9066
|
+
'imagpart': '\u2111',
|
|
9067
|
+
'Igrave': '\u00CC',
|
|
9068
|
+
'Imacr': '\u012A',
|
|
9069
|
+
'ImaginaryI': '\u2148',
|
|
9070
|
+
'ii': '\u2148',
|
|
9071
|
+
'Int': '\u222C',
|
|
9072
|
+
'Integral': '\u222B',
|
|
9073
|
+
'int': '\u222B',
|
|
9074
|
+
'Intersection': '\u22C2',
|
|
9075
|
+
'bigcap': '\u22C2',
|
|
9076
|
+
'xcap': '\u22C2',
|
|
9077
|
+
'InvisibleComma': '\u2063',
|
|
9078
|
+
'ic': '\u2063',
|
|
9079
|
+
'InvisibleTimes': '\u2062',
|
|
9080
|
+
'it': '\u2062',
|
|
9081
|
+
'Iogon': '\u012E',
|
|
9082
|
+
'Iopf': '\uD835\uDD40',
|
|
9083
|
+
'Iota': '\u0399',
|
|
9084
|
+
'Iscr': '\u2110',
|
|
9085
|
+
'imagline': '\u2110',
|
|
9086
|
+
'Itilde': '\u0128',
|
|
9087
|
+
'Iukcy': '\u0406',
|
|
9088
|
+
'Iuml': '\u00CF',
|
|
9089
|
+
'Jcirc': '\u0134',
|
|
9090
|
+
'Jcy': '\u0419',
|
|
9091
|
+
'Jfr': '\uD835\uDD0D',
|
|
9092
|
+
'Jopf': '\uD835\uDD41',
|
|
9093
|
+
'Jscr': '\uD835\uDCA5',
|
|
9094
|
+
'Jsercy': '\u0408',
|
|
9095
|
+
'Jukcy': '\u0404',
|
|
9096
|
+
'KHcy': '\u0425',
|
|
9097
|
+
'KJcy': '\u040C',
|
|
9098
|
+
'Kappa': '\u039A',
|
|
9099
|
+
'Kcedil': '\u0136',
|
|
9100
|
+
'Kcy': '\u041A',
|
|
9101
|
+
'Kfr': '\uD835\uDD0E',
|
|
9102
|
+
'Kopf': '\uD835\uDD42',
|
|
9103
|
+
'Kscr': '\uD835\uDCA6',
|
|
9104
|
+
'LJcy': '\u0409',
|
|
9105
|
+
'LT': '\u003C',
|
|
9106
|
+
'lt': '\u003C',
|
|
9107
|
+
'Lacute': '\u0139',
|
|
9108
|
+
'Lambda': '\u039B',
|
|
9109
|
+
'Lang': '\u27EA',
|
|
9110
|
+
'Laplacetrf': '\u2112',
|
|
9111
|
+
'Lscr': '\u2112',
|
|
9112
|
+
'lagran': '\u2112',
|
|
9113
|
+
'Larr': '\u219E',
|
|
9114
|
+
'twoheadleftarrow': '\u219E',
|
|
9115
|
+
'Lcaron': '\u013D',
|
|
9116
|
+
'Lcedil': '\u013B',
|
|
9117
|
+
'Lcy': '\u041B',
|
|
9118
|
+
'LeftAngleBracket': '\u27E8',
|
|
9119
|
+
'lang': '\u27E8',
|
|
9120
|
+
'langle': '\u27E8',
|
|
9121
|
+
'LeftArrow': '\u2190',
|
|
9122
|
+
'ShortLeftArrow': '\u2190',
|
|
9123
|
+
'larr': '\u2190',
|
|
9124
|
+
'leftarrow': '\u2190',
|
|
9125
|
+
'slarr': '\u2190',
|
|
9126
|
+
'LeftArrowBar': '\u21E4',
|
|
9127
|
+
'larrb': '\u21E4',
|
|
9128
|
+
'LeftArrowRightArrow': '\u21C6',
|
|
9129
|
+
'leftrightarrows': '\u21C6',
|
|
9130
|
+
'lrarr': '\u21C6',
|
|
9131
|
+
'LeftCeiling': '\u2308',
|
|
9132
|
+
'lceil': '\u2308',
|
|
9133
|
+
'LeftDoubleBracket': '\u27E6',
|
|
9134
|
+
'lobrk': '\u27E6',
|
|
9135
|
+
'LeftDownTeeVector': '\u2961',
|
|
9136
|
+
'LeftDownVector': '\u21C3',
|
|
9137
|
+
'dharl': '\u21C3',
|
|
9138
|
+
'downharpoonleft': '\u21C3',
|
|
9139
|
+
'LeftDownVectorBar': '\u2959',
|
|
9140
|
+
'LeftFloor': '\u230A',
|
|
9141
|
+
'lfloor': '\u230A',
|
|
9142
|
+
'LeftRightArrow': '\u2194',
|
|
9143
|
+
'harr': '\u2194',
|
|
9144
|
+
'leftrightarrow': '\u2194',
|
|
9145
|
+
'LeftRightVector': '\u294E',
|
|
9146
|
+
'LeftTee': '\u22A3',
|
|
9147
|
+
'dashv': '\u22A3',
|
|
9148
|
+
'LeftTeeArrow': '\u21A4',
|
|
9149
|
+
'mapstoleft': '\u21A4',
|
|
9150
|
+
'LeftTeeVector': '\u295A',
|
|
9151
|
+
'LeftTriangle': '\u22B2',
|
|
9152
|
+
'vartriangleleft': '\u22B2',
|
|
9153
|
+
'vltri': '\u22B2',
|
|
9154
|
+
'LeftTriangleBar': '\u29CF',
|
|
9155
|
+
'LeftTriangleEqual': '\u22B4',
|
|
9156
|
+
'ltrie': '\u22B4',
|
|
9157
|
+
'trianglelefteq': '\u22B4',
|
|
9158
|
+
'LeftUpDownVector': '\u2951',
|
|
9159
|
+
'LeftUpTeeVector': '\u2960',
|
|
9160
|
+
'LeftUpVector': '\u21BF',
|
|
9161
|
+
'uharl': '\u21BF',
|
|
9162
|
+
'upharpoonleft': '\u21BF',
|
|
9163
|
+
'LeftUpVectorBar': '\u2958',
|
|
9164
|
+
'LeftVector': '\u21BC',
|
|
9165
|
+
'leftharpoonup': '\u21BC',
|
|
9166
|
+
'lharu': '\u21BC',
|
|
9167
|
+
'LeftVectorBar': '\u2952',
|
|
9168
|
+
'LessEqualGreater': '\u22DA',
|
|
9169
|
+
'leg': '\u22DA',
|
|
9170
|
+
'lesseqgtr': '\u22DA',
|
|
9171
|
+
'LessFullEqual': '\u2266',
|
|
9172
|
+
'lE': '\u2266',
|
|
9173
|
+
'leqq': '\u2266',
|
|
9174
|
+
'LessGreater': '\u2276',
|
|
9175
|
+
'lessgtr': '\u2276',
|
|
9176
|
+
'lg': '\u2276',
|
|
9177
|
+
'LessLess': '\u2AA1',
|
|
9178
|
+
'LessSlantEqual': '\u2A7D',
|
|
9179
|
+
'leqslant': '\u2A7D',
|
|
9180
|
+
'les': '\u2A7D',
|
|
9181
|
+
'LessTilde': '\u2272',
|
|
9182
|
+
'lesssim': '\u2272',
|
|
9183
|
+
'lsim': '\u2272',
|
|
9184
|
+
'Lfr': '\uD835\uDD0F',
|
|
9185
|
+
'Ll': '\u22D8',
|
|
9186
|
+
'Lleftarrow': '\u21DA',
|
|
9187
|
+
'lAarr': '\u21DA',
|
|
9188
|
+
'Lmidot': '\u013F',
|
|
9189
|
+
'LongLeftArrow': '\u27F5',
|
|
9190
|
+
'longleftarrow': '\u27F5',
|
|
9191
|
+
'xlarr': '\u27F5',
|
|
9192
|
+
'LongLeftRightArrow': '\u27F7',
|
|
9193
|
+
'longleftrightarrow': '\u27F7',
|
|
9194
|
+
'xharr': '\u27F7',
|
|
9195
|
+
'LongRightArrow': '\u27F6',
|
|
9196
|
+
'longrightarrow': '\u27F6',
|
|
9197
|
+
'xrarr': '\u27F6',
|
|
9198
|
+
'Lopf': '\uD835\uDD43',
|
|
9199
|
+
'LowerLeftArrow': '\u2199',
|
|
9200
|
+
'swarr': '\u2199',
|
|
9201
|
+
'swarrow': '\u2199',
|
|
9202
|
+
'LowerRightArrow': '\u2198',
|
|
9203
|
+
'searr': '\u2198',
|
|
9204
|
+
'searrow': '\u2198',
|
|
9205
|
+
'Lsh': '\u21B0',
|
|
9206
|
+
'lsh': '\u21B0',
|
|
9207
|
+
'Lstrok': '\u0141',
|
|
9208
|
+
'Lt': '\u226A',
|
|
9209
|
+
'NestedLessLess': '\u226A',
|
|
9210
|
+
'll': '\u226A',
|
|
9211
|
+
'Map': '\u2905',
|
|
9212
|
+
'Mcy': '\u041C',
|
|
9213
|
+
'MediumSpace': '\u205F',
|
|
9214
|
+
'Mellintrf': '\u2133',
|
|
9215
|
+
'Mscr': '\u2133',
|
|
9216
|
+
'phmmat': '\u2133',
|
|
9217
|
+
'Mfr': '\uD835\uDD10',
|
|
9218
|
+
'MinusPlus': '\u2213',
|
|
9219
|
+
'mnplus': '\u2213',
|
|
9220
|
+
'mp': '\u2213',
|
|
9221
|
+
'Mopf': '\uD835\uDD44',
|
|
9222
|
+
'Mu': '\u039C',
|
|
9223
|
+
'NJcy': '\u040A',
|
|
9224
|
+
'Nacute': '\u0143',
|
|
9225
|
+
'Ncaron': '\u0147',
|
|
9226
|
+
'Ncedil': '\u0145',
|
|
9227
|
+
'Ncy': '\u041D',
|
|
9228
|
+
'NegativeMediumSpace': '\u200B',
|
|
9229
|
+
'NegativeThickSpace': '\u200B',
|
|
9230
|
+
'NegativeThinSpace': '\u200B',
|
|
9231
|
+
'NegativeVeryThinSpace': '\u200B',
|
|
9232
|
+
'ZeroWidthSpace': '\u200B',
|
|
9233
|
+
'NewLine': '\u000A',
|
|
9234
|
+
'Nfr': '\uD835\uDD11',
|
|
9235
|
+
'NoBreak': '\u2060',
|
|
9236
|
+
'NonBreakingSpace': '\u00A0',
|
|
9237
|
+
'nbsp': '\u00A0',
|
|
9238
|
+
'Nopf': '\u2115',
|
|
9239
|
+
'naturals': '\u2115',
|
|
9240
|
+
'Not': '\u2AEC',
|
|
9241
|
+
'NotCongruent': '\u2262',
|
|
9242
|
+
'nequiv': '\u2262',
|
|
9243
|
+
'NotCupCap': '\u226D',
|
|
9244
|
+
'NotDoubleVerticalBar': '\u2226',
|
|
9245
|
+
'npar': '\u2226',
|
|
9246
|
+
'nparallel': '\u2226',
|
|
9247
|
+
'nshortparallel': '\u2226',
|
|
9248
|
+
'nspar': '\u2226',
|
|
9249
|
+
'NotElement': '\u2209',
|
|
9250
|
+
'notin': '\u2209',
|
|
9251
|
+
'notinva': '\u2209',
|
|
9252
|
+
'NotEqual': '\u2260',
|
|
9253
|
+
'ne': '\u2260',
|
|
9254
|
+
'NotEqualTilde': '\u2242\u0338',
|
|
9255
|
+
'nesim': '\u2242\u0338',
|
|
9256
|
+
'NotExists': '\u2204',
|
|
9257
|
+
'nexist': '\u2204',
|
|
9258
|
+
'nexists': '\u2204',
|
|
9259
|
+
'NotGreater': '\u226F',
|
|
9260
|
+
'ngt': '\u226F',
|
|
9261
|
+
'ngtr': '\u226F',
|
|
9262
|
+
'NotGreaterEqual': '\u2271',
|
|
9263
|
+
'nge': '\u2271',
|
|
9264
|
+
'ngeq': '\u2271',
|
|
9265
|
+
'NotGreaterFullEqual': '\u2267\u0338',
|
|
9266
|
+
'ngE': '\u2267\u0338',
|
|
9267
|
+
'ngeqq': '\u2267\u0338',
|
|
9268
|
+
'NotGreaterGreater': '\u226B\u0338',
|
|
9269
|
+
'nGtv': '\u226B\u0338',
|
|
9270
|
+
'NotGreaterLess': '\u2279',
|
|
9271
|
+
'ntgl': '\u2279',
|
|
9272
|
+
'NotGreaterSlantEqual': '\u2A7E\u0338',
|
|
9273
|
+
'ngeqslant': '\u2A7E\u0338',
|
|
9274
|
+
'nges': '\u2A7E\u0338',
|
|
9275
|
+
'NotGreaterTilde': '\u2275',
|
|
9276
|
+
'ngsim': '\u2275',
|
|
9277
|
+
'NotHumpDownHump': '\u224E\u0338',
|
|
9278
|
+
'nbump': '\u224E\u0338',
|
|
9279
|
+
'NotHumpEqual': '\u224F\u0338',
|
|
9280
|
+
'nbumpe': '\u224F\u0338',
|
|
9281
|
+
'NotLeftTriangle': '\u22EA',
|
|
9282
|
+
'nltri': '\u22EA',
|
|
9283
|
+
'ntriangleleft': '\u22EA',
|
|
9284
|
+
'NotLeftTriangleBar': '\u29CF\u0338',
|
|
9285
|
+
'NotLeftTriangleEqual': '\u22EC',
|
|
9286
|
+
'nltrie': '\u22EC',
|
|
9287
|
+
'ntrianglelefteq': '\u22EC',
|
|
9288
|
+
'NotLess': '\u226E',
|
|
9289
|
+
'nless': '\u226E',
|
|
9290
|
+
'nlt': '\u226E',
|
|
9291
|
+
'NotLessEqual': '\u2270',
|
|
9292
|
+
'nle': '\u2270',
|
|
9293
|
+
'nleq': '\u2270',
|
|
9294
|
+
'NotLessGreater': '\u2278',
|
|
9295
|
+
'ntlg': '\u2278',
|
|
9296
|
+
'NotLessLess': '\u226A\u0338',
|
|
9297
|
+
'nLtv': '\u226A\u0338',
|
|
9298
|
+
'NotLessSlantEqual': '\u2A7D\u0338',
|
|
9299
|
+
'nleqslant': '\u2A7D\u0338',
|
|
9300
|
+
'nles': '\u2A7D\u0338',
|
|
9301
|
+
'NotLessTilde': '\u2274',
|
|
9302
|
+
'nlsim': '\u2274',
|
|
9303
|
+
'NotNestedGreaterGreater': '\u2AA2\u0338',
|
|
9304
|
+
'NotNestedLessLess': '\u2AA1\u0338',
|
|
9305
|
+
'NotPrecedes': '\u2280',
|
|
9306
|
+
'npr': '\u2280',
|
|
9307
|
+
'nprec': '\u2280',
|
|
9308
|
+
'NotPrecedesEqual': '\u2AAF\u0338',
|
|
9309
|
+
'npre': '\u2AAF\u0338',
|
|
9310
|
+
'npreceq': '\u2AAF\u0338',
|
|
9311
|
+
'NotPrecedesSlantEqual': '\u22E0',
|
|
9312
|
+
'nprcue': '\u22E0',
|
|
9313
|
+
'NotReverseElement': '\u220C',
|
|
9314
|
+
'notni': '\u220C',
|
|
9315
|
+
'notniva': '\u220C',
|
|
9316
|
+
'NotRightTriangle': '\u22EB',
|
|
9317
|
+
'nrtri': '\u22EB',
|
|
9318
|
+
'ntriangleright': '\u22EB',
|
|
9319
|
+
'NotRightTriangleBar': '\u29D0\u0338',
|
|
9320
|
+
'NotRightTriangleEqual': '\u22ED',
|
|
9321
|
+
'nrtrie': '\u22ED',
|
|
9322
|
+
'ntrianglerighteq': '\u22ED',
|
|
9323
|
+
'NotSquareSubset': '\u228F\u0338',
|
|
9324
|
+
'NotSquareSubsetEqual': '\u22E2',
|
|
9325
|
+
'nsqsube': '\u22E2',
|
|
9326
|
+
'NotSquareSuperset': '\u2290\u0338',
|
|
9327
|
+
'NotSquareSupersetEqual': '\u22E3',
|
|
9328
|
+
'nsqsupe': '\u22E3',
|
|
9329
|
+
'NotSubset': '\u2282\u20D2',
|
|
9330
|
+
'nsubset': '\u2282\u20D2',
|
|
9331
|
+
'vnsub': '\u2282\u20D2',
|
|
9332
|
+
'NotSubsetEqual': '\u2288',
|
|
9333
|
+
'nsube': '\u2288',
|
|
9334
|
+
'nsubseteq': '\u2288',
|
|
9335
|
+
'NotSucceeds': '\u2281',
|
|
9336
|
+
'nsc': '\u2281',
|
|
9337
|
+
'nsucc': '\u2281',
|
|
9338
|
+
'NotSucceedsEqual': '\u2AB0\u0338',
|
|
9339
|
+
'nsce': '\u2AB0\u0338',
|
|
9340
|
+
'nsucceq': '\u2AB0\u0338',
|
|
9341
|
+
'NotSucceedsSlantEqual': '\u22E1',
|
|
9342
|
+
'nsccue': '\u22E1',
|
|
9343
|
+
'NotSucceedsTilde': '\u227F\u0338',
|
|
9344
|
+
'NotSuperset': '\u2283\u20D2',
|
|
9345
|
+
'nsupset': '\u2283\u20D2',
|
|
9346
|
+
'vnsup': '\u2283\u20D2',
|
|
9347
|
+
'NotSupersetEqual': '\u2289',
|
|
9348
|
+
'nsupe': '\u2289',
|
|
9349
|
+
'nsupseteq': '\u2289',
|
|
9350
|
+
'NotTilde': '\u2241',
|
|
9351
|
+
'nsim': '\u2241',
|
|
9352
|
+
'NotTildeEqual': '\u2244',
|
|
9353
|
+
'nsime': '\u2244',
|
|
9354
|
+
'nsimeq': '\u2244',
|
|
9355
|
+
'NotTildeFullEqual': '\u2247',
|
|
9356
|
+
'ncong': '\u2247',
|
|
9357
|
+
'NotTildeTilde': '\u2249',
|
|
9358
|
+
'nap': '\u2249',
|
|
9359
|
+
'napprox': '\u2249',
|
|
9360
|
+
'NotVerticalBar': '\u2224',
|
|
9361
|
+
'nmid': '\u2224',
|
|
9362
|
+
'nshortmid': '\u2224',
|
|
9363
|
+
'nsmid': '\u2224',
|
|
9364
|
+
'Nscr': '\uD835\uDCA9',
|
|
9365
|
+
'Ntilde': '\u00D1',
|
|
9366
|
+
'Nu': '\u039D',
|
|
9367
|
+
'OElig': '\u0152',
|
|
9368
|
+
'Oacute': '\u00D3',
|
|
9369
|
+
'Ocirc': '\u00D4',
|
|
9370
|
+
'Ocy': '\u041E',
|
|
9371
|
+
'Odblac': '\u0150',
|
|
9372
|
+
'Ofr': '\uD835\uDD12',
|
|
9373
|
+
'Ograve': '\u00D2',
|
|
9374
|
+
'Omacr': '\u014C',
|
|
9375
|
+
'Omega': '\u03A9',
|
|
9376
|
+
'ohm': '\u03A9',
|
|
9377
|
+
'Omicron': '\u039F',
|
|
9378
|
+
'Oopf': '\uD835\uDD46',
|
|
9379
|
+
'OpenCurlyDoubleQuote': '\u201C',
|
|
9380
|
+
'ldquo': '\u201C',
|
|
9381
|
+
'OpenCurlyQuote': '\u2018',
|
|
9382
|
+
'lsquo': '\u2018',
|
|
9383
|
+
'Or': '\u2A54',
|
|
9384
|
+
'Oscr': '\uD835\uDCAA',
|
|
9385
|
+
'Oslash': '\u00D8',
|
|
9386
|
+
'Otilde': '\u00D5',
|
|
9387
|
+
'Otimes': '\u2A37',
|
|
9388
|
+
'Ouml': '\u00D6',
|
|
9389
|
+
'OverBar': '\u203E',
|
|
9390
|
+
'oline': '\u203E',
|
|
9391
|
+
'OverBrace': '\u23DE',
|
|
9392
|
+
'OverBracket': '\u23B4',
|
|
9393
|
+
'tbrk': '\u23B4',
|
|
9394
|
+
'OverParenthesis': '\u23DC',
|
|
9395
|
+
'PartialD': '\u2202',
|
|
9396
|
+
'part': '\u2202',
|
|
9397
|
+
'Pcy': '\u041F',
|
|
9398
|
+
'Pfr': '\uD835\uDD13',
|
|
9399
|
+
'Phi': '\u03A6',
|
|
9400
|
+
'Pi': '\u03A0',
|
|
9401
|
+
'PlusMinus': '\u00B1',
|
|
9402
|
+
'plusmn': '\u00B1',
|
|
9403
|
+
'pm': '\u00B1',
|
|
9404
|
+
'Popf': '\u2119',
|
|
9405
|
+
'primes': '\u2119',
|
|
9406
|
+
'Pr': '\u2ABB',
|
|
9407
|
+
'Precedes': '\u227A',
|
|
9408
|
+
'pr': '\u227A',
|
|
9409
|
+
'prec': '\u227A',
|
|
9410
|
+
'PrecedesEqual': '\u2AAF',
|
|
9411
|
+
'pre': '\u2AAF',
|
|
9412
|
+
'preceq': '\u2AAF',
|
|
9413
|
+
'PrecedesSlantEqual': '\u227C',
|
|
9414
|
+
'prcue': '\u227C',
|
|
9415
|
+
'preccurlyeq': '\u227C',
|
|
9416
|
+
'PrecedesTilde': '\u227E',
|
|
9417
|
+
'precsim': '\u227E',
|
|
9418
|
+
'prsim': '\u227E',
|
|
9419
|
+
'Prime': '\u2033',
|
|
9420
|
+
'Product': '\u220F',
|
|
9421
|
+
'prod': '\u220F',
|
|
9422
|
+
'Proportional': '\u221D',
|
|
9423
|
+
'prop': '\u221D',
|
|
9424
|
+
'propto': '\u221D',
|
|
9425
|
+
'varpropto': '\u221D',
|
|
9426
|
+
'vprop': '\u221D',
|
|
9427
|
+
'Pscr': '\uD835\uDCAB',
|
|
9428
|
+
'Psi': '\u03A8',
|
|
9429
|
+
'QUOT': '\u0022',
|
|
9430
|
+
'quot': '\u0022',
|
|
9431
|
+
'Qfr': '\uD835\uDD14',
|
|
9432
|
+
'Qopf': '\u211A',
|
|
9433
|
+
'rationals': '\u211A',
|
|
9434
|
+
'Qscr': '\uD835\uDCAC',
|
|
9435
|
+
'RBarr': '\u2910',
|
|
9436
|
+
'drbkarow': '\u2910',
|
|
9437
|
+
'REG': '\u00AE',
|
|
9438
|
+
'circledR': '\u00AE',
|
|
9439
|
+
'reg': '\u00AE',
|
|
9440
|
+
'Racute': '\u0154',
|
|
9441
|
+
'Rang': '\u27EB',
|
|
9442
|
+
'Rarr': '\u21A0',
|
|
9443
|
+
'twoheadrightarrow': '\u21A0',
|
|
9444
|
+
'Rarrtl': '\u2916',
|
|
9445
|
+
'Rcaron': '\u0158',
|
|
9446
|
+
'Rcedil': '\u0156',
|
|
9447
|
+
'Rcy': '\u0420',
|
|
9448
|
+
'Re': '\u211C',
|
|
9449
|
+
'Rfr': '\u211C',
|
|
9450
|
+
'real': '\u211C',
|
|
9451
|
+
'realpart': '\u211C',
|
|
9452
|
+
'ReverseElement': '\u220B',
|
|
9453
|
+
'SuchThat': '\u220B',
|
|
9454
|
+
'ni': '\u220B',
|
|
9455
|
+
'niv': '\u220B',
|
|
9456
|
+
'ReverseEquilibrium': '\u21CB',
|
|
9457
|
+
'leftrightharpoons': '\u21CB',
|
|
9458
|
+
'lrhar': '\u21CB',
|
|
9459
|
+
'ReverseUpEquilibrium': '\u296F',
|
|
9460
|
+
'duhar': '\u296F',
|
|
9461
|
+
'Rho': '\u03A1',
|
|
9462
|
+
'RightAngleBracket': '\u27E9',
|
|
9463
|
+
'rang': '\u27E9',
|
|
9464
|
+
'rangle': '\u27E9',
|
|
9465
|
+
'RightArrow': '\u2192',
|
|
9466
|
+
'ShortRightArrow': '\u2192',
|
|
9467
|
+
'rarr': '\u2192',
|
|
9468
|
+
'rightarrow': '\u2192',
|
|
9469
|
+
'srarr': '\u2192',
|
|
9470
|
+
'RightArrowBar': '\u21E5',
|
|
9471
|
+
'rarrb': '\u21E5',
|
|
9472
|
+
'RightArrowLeftArrow': '\u21C4',
|
|
9473
|
+
'rightleftarrows': '\u21C4',
|
|
9474
|
+
'rlarr': '\u21C4',
|
|
9475
|
+
'RightCeiling': '\u2309',
|
|
9476
|
+
'rceil': '\u2309',
|
|
9477
|
+
'RightDoubleBracket': '\u27E7',
|
|
9478
|
+
'robrk': '\u27E7',
|
|
9479
|
+
'RightDownTeeVector': '\u295D',
|
|
9480
|
+
'RightDownVector': '\u21C2',
|
|
9481
|
+
'dharr': '\u21C2',
|
|
9482
|
+
'downharpoonright': '\u21C2',
|
|
9483
|
+
'RightDownVectorBar': '\u2955',
|
|
9484
|
+
'RightFloor': '\u230B',
|
|
9485
|
+
'rfloor': '\u230B',
|
|
9486
|
+
'RightTee': '\u22A2',
|
|
9487
|
+
'vdash': '\u22A2',
|
|
9488
|
+
'RightTeeArrow': '\u21A6',
|
|
9489
|
+
'map': '\u21A6',
|
|
9490
|
+
'mapsto': '\u21A6',
|
|
9491
|
+
'RightTeeVector': '\u295B',
|
|
9492
|
+
'RightTriangle': '\u22B3',
|
|
9493
|
+
'vartriangleright': '\u22B3',
|
|
9494
|
+
'vrtri': '\u22B3',
|
|
9495
|
+
'RightTriangleBar': '\u29D0',
|
|
9496
|
+
'RightTriangleEqual': '\u22B5',
|
|
9497
|
+
'rtrie': '\u22B5',
|
|
9498
|
+
'trianglerighteq': '\u22B5',
|
|
9499
|
+
'RightUpDownVector': '\u294F',
|
|
9500
|
+
'RightUpTeeVector': '\u295C',
|
|
9501
|
+
'RightUpVector': '\u21BE',
|
|
9502
|
+
'uharr': '\u21BE',
|
|
9503
|
+
'upharpoonright': '\u21BE',
|
|
9504
|
+
'RightUpVectorBar': '\u2954',
|
|
9505
|
+
'RightVector': '\u21C0',
|
|
9506
|
+
'rharu': '\u21C0',
|
|
9507
|
+
'rightharpoonup': '\u21C0',
|
|
9508
|
+
'RightVectorBar': '\u2953',
|
|
9509
|
+
'Ropf': '\u211D',
|
|
9510
|
+
'reals': '\u211D',
|
|
9511
|
+
'RoundImplies': '\u2970',
|
|
9512
|
+
'Rrightarrow': '\u21DB',
|
|
9513
|
+
'rAarr': '\u21DB',
|
|
9514
|
+
'Rscr': '\u211B',
|
|
9515
|
+
'realine': '\u211B',
|
|
9516
|
+
'Rsh': '\u21B1',
|
|
9517
|
+
'rsh': '\u21B1',
|
|
9518
|
+
'RuleDelayed': '\u29F4',
|
|
9519
|
+
'SHCHcy': '\u0429',
|
|
9520
|
+
'SHcy': '\u0428',
|
|
9521
|
+
'SOFTcy': '\u042C',
|
|
9522
|
+
'Sacute': '\u015A',
|
|
9523
|
+
'Sc': '\u2ABC',
|
|
9524
|
+
'Scaron': '\u0160',
|
|
9525
|
+
'Scedil': '\u015E',
|
|
9526
|
+
'Scirc': '\u015C',
|
|
9527
|
+
'Scy': '\u0421',
|
|
9528
|
+
'Sfr': '\uD835\uDD16',
|
|
9529
|
+
'ShortUpArrow': '\u2191',
|
|
9530
|
+
'UpArrow': '\u2191',
|
|
9531
|
+
'uarr': '\u2191',
|
|
9532
|
+
'uparrow': '\u2191',
|
|
9533
|
+
'Sigma': '\u03A3',
|
|
9534
|
+
'SmallCircle': '\u2218',
|
|
9535
|
+
'compfn': '\u2218',
|
|
9536
|
+
'Sopf': '\uD835\uDD4A',
|
|
9537
|
+
'Sqrt': '\u221A',
|
|
9538
|
+
'radic': '\u221A',
|
|
9539
|
+
'Square': '\u25A1',
|
|
9540
|
+
'squ': '\u25A1',
|
|
9541
|
+
'square': '\u25A1',
|
|
9542
|
+
'SquareIntersection': '\u2293',
|
|
9543
|
+
'sqcap': '\u2293',
|
|
9544
|
+
'SquareSubset': '\u228F',
|
|
9545
|
+
'sqsub': '\u228F',
|
|
9546
|
+
'sqsubset': '\u228F',
|
|
9547
|
+
'SquareSubsetEqual': '\u2291',
|
|
9548
|
+
'sqsube': '\u2291',
|
|
9549
|
+
'sqsubseteq': '\u2291',
|
|
9550
|
+
'SquareSuperset': '\u2290',
|
|
9551
|
+
'sqsup': '\u2290',
|
|
9552
|
+
'sqsupset': '\u2290',
|
|
9553
|
+
'SquareSupersetEqual': '\u2292',
|
|
9554
|
+
'sqsupe': '\u2292',
|
|
9555
|
+
'sqsupseteq': '\u2292',
|
|
9556
|
+
'SquareUnion': '\u2294',
|
|
9557
|
+
'sqcup': '\u2294',
|
|
9558
|
+
'Sscr': '\uD835\uDCAE',
|
|
9559
|
+
'Star': '\u22C6',
|
|
9560
|
+
'sstarf': '\u22C6',
|
|
9561
|
+
'Sub': '\u22D0',
|
|
9562
|
+
'Subset': '\u22D0',
|
|
9563
|
+
'SubsetEqual': '\u2286',
|
|
9564
|
+
'sube': '\u2286',
|
|
9565
|
+
'subseteq': '\u2286',
|
|
9566
|
+
'Succeeds': '\u227B',
|
|
9567
|
+
'sc': '\u227B',
|
|
9568
|
+
'succ': '\u227B',
|
|
9569
|
+
'SucceedsEqual': '\u2AB0',
|
|
9570
|
+
'sce': '\u2AB0',
|
|
9571
|
+
'succeq': '\u2AB0',
|
|
9572
|
+
'SucceedsSlantEqual': '\u227D',
|
|
9573
|
+
'sccue': '\u227D',
|
|
9574
|
+
'succcurlyeq': '\u227D',
|
|
9575
|
+
'SucceedsTilde': '\u227F',
|
|
9576
|
+
'scsim': '\u227F',
|
|
9577
|
+
'succsim': '\u227F',
|
|
9578
|
+
'Sum': '\u2211',
|
|
9579
|
+
'sum': '\u2211',
|
|
9580
|
+
'Sup': '\u22D1',
|
|
9581
|
+
'Supset': '\u22D1',
|
|
9582
|
+
'Superset': '\u2283',
|
|
9583
|
+
'sup': '\u2283',
|
|
9584
|
+
'supset': '\u2283',
|
|
9585
|
+
'SupersetEqual': '\u2287',
|
|
9586
|
+
'supe': '\u2287',
|
|
9587
|
+
'supseteq': '\u2287',
|
|
9588
|
+
'THORN': '\u00DE',
|
|
9589
|
+
'TRADE': '\u2122',
|
|
9590
|
+
'trade': '\u2122',
|
|
9591
|
+
'TSHcy': '\u040B',
|
|
9592
|
+
'TScy': '\u0426',
|
|
9593
|
+
'Tab': '\u0009',
|
|
9594
|
+
'Tau': '\u03A4',
|
|
9595
|
+
'Tcaron': '\u0164',
|
|
9596
|
+
'Tcedil': '\u0162',
|
|
9597
|
+
'Tcy': '\u0422',
|
|
9598
|
+
'Tfr': '\uD835\uDD17',
|
|
9599
|
+
'Therefore': '\u2234',
|
|
9600
|
+
'there4': '\u2234',
|
|
9601
|
+
'therefore': '\u2234',
|
|
9602
|
+
'Theta': '\u0398',
|
|
9603
|
+
'ThickSpace': '\u205F\u200A',
|
|
9604
|
+
'ThinSpace': '\u2009',
|
|
9605
|
+
'thinsp': '\u2009',
|
|
9606
|
+
'Tilde': '\u223C',
|
|
9607
|
+
'sim': '\u223C',
|
|
9608
|
+
'thicksim': '\u223C',
|
|
9609
|
+
'thksim': '\u223C',
|
|
9610
|
+
'TildeEqual': '\u2243',
|
|
9611
|
+
'sime': '\u2243',
|
|
9612
|
+
'simeq': '\u2243',
|
|
9613
|
+
'TildeFullEqual': '\u2245',
|
|
9614
|
+
'cong': '\u2245',
|
|
9615
|
+
'TildeTilde': '\u2248',
|
|
9616
|
+
'ap': '\u2248',
|
|
9617
|
+
'approx': '\u2248',
|
|
9618
|
+
'asymp': '\u2248',
|
|
9619
|
+
'thickapprox': '\u2248',
|
|
9620
|
+
'thkap': '\u2248',
|
|
9621
|
+
'Topf': '\uD835\uDD4B',
|
|
9622
|
+
'TripleDot': '\u20DB',
|
|
9623
|
+
'tdot': '\u20DB',
|
|
9624
|
+
'Tscr': '\uD835\uDCAF',
|
|
9625
|
+
'Tstrok': '\u0166',
|
|
9626
|
+
'Uacute': '\u00DA',
|
|
9627
|
+
'Uarr': '\u219F',
|
|
9628
|
+
'Uarrocir': '\u2949',
|
|
9629
|
+
'Ubrcy': '\u040E',
|
|
9630
|
+
'Ubreve': '\u016C',
|
|
9631
|
+
'Ucirc': '\u00DB',
|
|
9632
|
+
'Ucy': '\u0423',
|
|
9633
|
+
'Udblac': '\u0170',
|
|
9634
|
+
'Ufr': '\uD835\uDD18',
|
|
9635
|
+
'Ugrave': '\u00D9',
|
|
9636
|
+
'Umacr': '\u016A',
|
|
9637
|
+
'UnderBar': '\u005F',
|
|
9638
|
+
'lowbar': '\u005F',
|
|
9639
|
+
'UnderBrace': '\u23DF',
|
|
9640
|
+
'UnderBracket': '\u23B5',
|
|
9641
|
+
'bbrk': '\u23B5',
|
|
9642
|
+
'UnderParenthesis': '\u23DD',
|
|
9643
|
+
'Union': '\u22C3',
|
|
9644
|
+
'bigcup': '\u22C3',
|
|
9645
|
+
'xcup': '\u22C3',
|
|
9646
|
+
'UnionPlus': '\u228E',
|
|
9647
|
+
'uplus': '\u228E',
|
|
9648
|
+
'Uogon': '\u0172',
|
|
9649
|
+
'Uopf': '\uD835\uDD4C',
|
|
9650
|
+
'UpArrowBar': '\u2912',
|
|
9651
|
+
'UpArrowDownArrow': '\u21C5',
|
|
9652
|
+
'udarr': '\u21C5',
|
|
9653
|
+
'UpDownArrow': '\u2195',
|
|
9654
|
+
'updownarrow': '\u2195',
|
|
9655
|
+
'varr': '\u2195',
|
|
9656
|
+
'UpEquilibrium': '\u296E',
|
|
9657
|
+
'udhar': '\u296E',
|
|
9658
|
+
'UpTee': '\u22A5',
|
|
9659
|
+
'bot': '\u22A5',
|
|
9660
|
+
'bottom': '\u22A5',
|
|
9661
|
+
'perp': '\u22A5',
|
|
9662
|
+
'UpTeeArrow': '\u21A5',
|
|
9663
|
+
'mapstoup': '\u21A5',
|
|
9664
|
+
'UpperLeftArrow': '\u2196',
|
|
9665
|
+
'nwarr': '\u2196',
|
|
9666
|
+
'nwarrow': '\u2196',
|
|
9667
|
+
'UpperRightArrow': '\u2197',
|
|
9668
|
+
'nearr': '\u2197',
|
|
9669
|
+
'nearrow': '\u2197',
|
|
9670
|
+
'Upsi': '\u03D2',
|
|
9671
|
+
'upsih': '\u03D2',
|
|
9672
|
+
'Upsilon': '\u03A5',
|
|
9673
|
+
'Uring': '\u016E',
|
|
9674
|
+
'Uscr': '\uD835\uDCB0',
|
|
9675
|
+
'Utilde': '\u0168',
|
|
9676
|
+
'Uuml': '\u00DC',
|
|
9677
|
+
'VDash': '\u22AB',
|
|
9678
|
+
'Vbar': '\u2AEB',
|
|
9679
|
+
'Vcy': '\u0412',
|
|
9680
|
+
'Vdash': '\u22A9',
|
|
9681
|
+
'Vdashl': '\u2AE6',
|
|
9682
|
+
'Vee': '\u22C1',
|
|
9683
|
+
'bigvee': '\u22C1',
|
|
9684
|
+
'xvee': '\u22C1',
|
|
9685
|
+
'Verbar': '\u2016',
|
|
9686
|
+
'Vert': '\u2016',
|
|
9687
|
+
'VerticalBar': '\u2223',
|
|
9688
|
+
'mid': '\u2223',
|
|
9689
|
+
'shortmid': '\u2223',
|
|
9690
|
+
'smid': '\u2223',
|
|
9691
|
+
'VerticalLine': '\u007C',
|
|
9692
|
+
'verbar': '\u007C',
|
|
9693
|
+
'vert': '\u007C',
|
|
9694
|
+
'VerticalSeparator': '\u2758',
|
|
9695
|
+
'VerticalTilde': '\u2240',
|
|
9696
|
+
'wr': '\u2240',
|
|
9697
|
+
'wreath': '\u2240',
|
|
9698
|
+
'VeryThinSpace': '\u200A',
|
|
9699
|
+
'hairsp': '\u200A',
|
|
9700
|
+
'Vfr': '\uD835\uDD19',
|
|
9701
|
+
'Vopf': '\uD835\uDD4D',
|
|
9702
|
+
'Vscr': '\uD835\uDCB1',
|
|
9703
|
+
'Vvdash': '\u22AA',
|
|
9704
|
+
'Wcirc': '\u0174',
|
|
9705
|
+
'Wedge': '\u22C0',
|
|
9706
|
+
'bigwedge': '\u22C0',
|
|
9707
|
+
'xwedge': '\u22C0',
|
|
9708
|
+
'Wfr': '\uD835\uDD1A',
|
|
9709
|
+
'Wopf': '\uD835\uDD4E',
|
|
9710
|
+
'Wscr': '\uD835\uDCB2',
|
|
9711
|
+
'Xfr': '\uD835\uDD1B',
|
|
9712
|
+
'Xi': '\u039E',
|
|
9713
|
+
'Xopf': '\uD835\uDD4F',
|
|
9714
|
+
'Xscr': '\uD835\uDCB3',
|
|
9715
|
+
'YAcy': '\u042F',
|
|
9716
|
+
'YIcy': '\u0407',
|
|
9717
|
+
'YUcy': '\u042E',
|
|
9718
|
+
'Yacute': '\u00DD',
|
|
9719
|
+
'Ycirc': '\u0176',
|
|
9720
|
+
'Ycy': '\u042B',
|
|
9721
|
+
'Yfr': '\uD835\uDD1C',
|
|
9722
|
+
'Yopf': '\uD835\uDD50',
|
|
9723
|
+
'Yscr': '\uD835\uDCB4',
|
|
9724
|
+
'Yuml': '\u0178',
|
|
9725
|
+
'ZHcy': '\u0416',
|
|
9726
|
+
'Zacute': '\u0179',
|
|
9727
|
+
'Zcaron': '\u017D',
|
|
9728
|
+
'Zcy': '\u0417',
|
|
9729
|
+
'Zdot': '\u017B',
|
|
9730
|
+
'Zeta': '\u0396',
|
|
9731
|
+
'Zfr': '\u2128',
|
|
9732
|
+
'zeetrf': '\u2128',
|
|
9733
|
+
'Zopf': '\u2124',
|
|
9734
|
+
'integers': '\u2124',
|
|
9735
|
+
'Zscr': '\uD835\uDCB5',
|
|
9736
|
+
'aacute': '\u00E1',
|
|
9737
|
+
'abreve': '\u0103',
|
|
9738
|
+
'ac': '\u223E',
|
|
9739
|
+
'mstpos': '\u223E',
|
|
9740
|
+
'acE': '\u223E\u0333',
|
|
9741
|
+
'acd': '\u223F',
|
|
9742
|
+
'acirc': '\u00E2',
|
|
9743
|
+
'acy': '\u0430',
|
|
9744
|
+
'aelig': '\u00E6',
|
|
9745
|
+
'afr': '\uD835\uDD1E',
|
|
9746
|
+
'agrave': '\u00E0',
|
|
9747
|
+
'alefsym': '\u2135',
|
|
9748
|
+
'aleph': '\u2135',
|
|
9749
|
+
'alpha': '\u03B1',
|
|
9750
|
+
'amacr': '\u0101',
|
|
9751
|
+
'amalg': '\u2A3F',
|
|
9752
|
+
'and': '\u2227',
|
|
9753
|
+
'wedge': '\u2227',
|
|
9754
|
+
'andand': '\u2A55',
|
|
9755
|
+
'andd': '\u2A5C',
|
|
9756
|
+
'andslope': '\u2A58',
|
|
9757
|
+
'andv': '\u2A5A',
|
|
9758
|
+
'ang': '\u2220',
|
|
9759
|
+
'angle': '\u2220',
|
|
9760
|
+
'ange': '\u29A4',
|
|
9761
|
+
'angmsd': '\u2221',
|
|
9762
|
+
'measuredangle': '\u2221',
|
|
9763
|
+
'angmsdaa': '\u29A8',
|
|
9764
|
+
'angmsdab': '\u29A9',
|
|
9765
|
+
'angmsdac': '\u29AA',
|
|
9766
|
+
'angmsdad': '\u29AB',
|
|
9767
|
+
'angmsdae': '\u29AC',
|
|
9768
|
+
'angmsdaf': '\u29AD',
|
|
9769
|
+
'angmsdag': '\u29AE',
|
|
9770
|
+
'angmsdah': '\u29AF',
|
|
9771
|
+
'angrt': '\u221F',
|
|
9772
|
+
'angrtvb': '\u22BE',
|
|
9773
|
+
'angrtvbd': '\u299D',
|
|
9774
|
+
'angsph': '\u2222',
|
|
9775
|
+
'angzarr': '\u237C',
|
|
9776
|
+
'aogon': '\u0105',
|
|
9777
|
+
'aopf': '\uD835\uDD52',
|
|
9778
|
+
'apE': '\u2A70',
|
|
9779
|
+
'apacir': '\u2A6F',
|
|
9780
|
+
'ape': '\u224A',
|
|
9781
|
+
'approxeq': '\u224A',
|
|
9782
|
+
'apid': '\u224B',
|
|
9783
|
+
'apos': '\u0027',
|
|
9784
|
+
'aring': '\u00E5',
|
|
9785
|
+
'ascr': '\uD835\uDCB6',
|
|
9786
|
+
'ast': '\u002A',
|
|
9787
|
+
'midast': '\u002A',
|
|
9788
|
+
'atilde': '\u00E3',
|
|
9789
|
+
'auml': '\u00E4',
|
|
9790
|
+
'awint': '\u2A11',
|
|
9791
|
+
'bNot': '\u2AED',
|
|
9792
|
+
'backcong': '\u224C',
|
|
9793
|
+
'bcong': '\u224C',
|
|
9794
|
+
'backepsilon': '\u03F6',
|
|
9795
|
+
'bepsi': '\u03F6',
|
|
9796
|
+
'backprime': '\u2035',
|
|
9797
|
+
'bprime': '\u2035',
|
|
9798
|
+
'backsim': '\u223D',
|
|
9799
|
+
'bsim': '\u223D',
|
|
9800
|
+
'backsimeq': '\u22CD',
|
|
9801
|
+
'bsime': '\u22CD',
|
|
9802
|
+
'barvee': '\u22BD',
|
|
9803
|
+
'barwed': '\u2305',
|
|
9804
|
+
'barwedge': '\u2305',
|
|
9805
|
+
'bbrktbrk': '\u23B6',
|
|
9806
|
+
'bcy': '\u0431',
|
|
9807
|
+
'bdquo': '\u201E',
|
|
9808
|
+
'ldquor': '\u201E',
|
|
9809
|
+
'bemptyv': '\u29B0',
|
|
9810
|
+
'beta': '\u03B2',
|
|
9811
|
+
'beth': '\u2136',
|
|
9812
|
+
'between': '\u226C',
|
|
9813
|
+
'twixt': '\u226C',
|
|
9814
|
+
'bfr': '\uD835\uDD1F',
|
|
9815
|
+
'bigcirc': '\u25EF',
|
|
9816
|
+
'xcirc': '\u25EF',
|
|
9817
|
+
'bigodot': '\u2A00',
|
|
9818
|
+
'xodot': '\u2A00',
|
|
9819
|
+
'bigoplus': '\u2A01',
|
|
9820
|
+
'xoplus': '\u2A01',
|
|
9821
|
+
'bigotimes': '\u2A02',
|
|
9822
|
+
'xotime': '\u2A02',
|
|
9823
|
+
'bigsqcup': '\u2A06',
|
|
9824
|
+
'xsqcup': '\u2A06',
|
|
9825
|
+
'bigstar': '\u2605',
|
|
9826
|
+
'starf': '\u2605',
|
|
9827
|
+
'bigtriangledown': '\u25BD',
|
|
9828
|
+
'xdtri': '\u25BD',
|
|
9829
|
+
'bigtriangleup': '\u25B3',
|
|
9830
|
+
'xutri': '\u25B3',
|
|
9831
|
+
'biguplus': '\u2A04',
|
|
9832
|
+
'xuplus': '\u2A04',
|
|
9833
|
+
'bkarow': '\u290D',
|
|
9834
|
+
'rbarr': '\u290D',
|
|
9835
|
+
'blacklozenge': '\u29EB',
|
|
9836
|
+
'lozf': '\u29EB',
|
|
9837
|
+
'blacktriangle': '\u25B4',
|
|
9838
|
+
'utrif': '\u25B4',
|
|
9839
|
+
'blacktriangledown': '\u25BE',
|
|
9840
|
+
'dtrif': '\u25BE',
|
|
9841
|
+
'blacktriangleleft': '\u25C2',
|
|
9842
|
+
'ltrif': '\u25C2',
|
|
9843
|
+
'blacktriangleright': '\u25B8',
|
|
9844
|
+
'rtrif': '\u25B8',
|
|
9845
|
+
'blank': '\u2423',
|
|
9846
|
+
'blk12': '\u2592',
|
|
9847
|
+
'blk14': '\u2591',
|
|
9848
|
+
'blk34': '\u2593',
|
|
9849
|
+
'block': '\u2588',
|
|
9850
|
+
'bne': '\u003D\u20E5',
|
|
9851
|
+
'bnequiv': '\u2261\u20E5',
|
|
9852
|
+
'bnot': '\u2310',
|
|
9853
|
+
'bopf': '\uD835\uDD53',
|
|
9854
|
+
'bowtie': '\u22C8',
|
|
9855
|
+
'boxDL': '\u2557',
|
|
9856
|
+
'boxDR': '\u2554',
|
|
9857
|
+
'boxDl': '\u2556',
|
|
9858
|
+
'boxDr': '\u2553',
|
|
9859
|
+
'boxH': '\u2550',
|
|
9860
|
+
'boxHD': '\u2566',
|
|
9861
|
+
'boxHU': '\u2569',
|
|
9862
|
+
'boxHd': '\u2564',
|
|
9863
|
+
'boxHu': '\u2567',
|
|
9864
|
+
'boxUL': '\u255D',
|
|
9865
|
+
'boxUR': '\u255A',
|
|
9866
|
+
'boxUl': '\u255C',
|
|
9867
|
+
'boxUr': '\u2559',
|
|
9868
|
+
'boxV': '\u2551',
|
|
9869
|
+
'boxVH': '\u256C',
|
|
9870
|
+
'boxVL': '\u2563',
|
|
9871
|
+
'boxVR': '\u2560',
|
|
9872
|
+
'boxVh': '\u256B',
|
|
9873
|
+
'boxVl': '\u2562',
|
|
9874
|
+
'boxVr': '\u255F',
|
|
9875
|
+
'boxbox': '\u29C9',
|
|
9876
|
+
'boxdL': '\u2555',
|
|
9877
|
+
'boxdR': '\u2552',
|
|
9878
|
+
'boxdl': '\u2510',
|
|
9879
|
+
'boxdr': '\u250C',
|
|
9880
|
+
'boxhD': '\u2565',
|
|
9881
|
+
'boxhU': '\u2568',
|
|
9882
|
+
'boxhd': '\u252C',
|
|
9883
|
+
'boxhu': '\u2534',
|
|
9884
|
+
'boxminus': '\u229F',
|
|
9885
|
+
'minusb': '\u229F',
|
|
9886
|
+
'boxplus': '\u229E',
|
|
9887
|
+
'plusb': '\u229E',
|
|
9888
|
+
'boxtimes': '\u22A0',
|
|
9889
|
+
'timesb': '\u22A0',
|
|
9890
|
+
'boxuL': '\u255B',
|
|
9891
|
+
'boxuR': '\u2558',
|
|
9892
|
+
'boxul': '\u2518',
|
|
9893
|
+
'boxur': '\u2514',
|
|
9894
|
+
'boxv': '\u2502',
|
|
9895
|
+
'boxvH': '\u256A',
|
|
9896
|
+
'boxvL': '\u2561',
|
|
9897
|
+
'boxvR': '\u255E',
|
|
9898
|
+
'boxvh': '\u253C',
|
|
9899
|
+
'boxvl': '\u2524',
|
|
9900
|
+
'boxvr': '\u251C',
|
|
9901
|
+
'brvbar': '\u00A6',
|
|
9902
|
+
'bscr': '\uD835\uDCB7',
|
|
9903
|
+
'bsemi': '\u204F',
|
|
9904
|
+
'bsol': '\u005C',
|
|
9905
|
+
'bsolb': '\u29C5',
|
|
9906
|
+
'bsolhsub': '\u27C8',
|
|
9907
|
+
'bull': '\u2022',
|
|
9908
|
+
'bullet': '\u2022',
|
|
9909
|
+
'bumpE': '\u2AAE',
|
|
9910
|
+
'cacute': '\u0107',
|
|
9911
|
+
'cap': '\u2229',
|
|
9912
|
+
'capand': '\u2A44',
|
|
9913
|
+
'capbrcup': '\u2A49',
|
|
9914
|
+
'capcap': '\u2A4B',
|
|
9915
|
+
'capcup': '\u2A47',
|
|
9916
|
+
'capdot': '\u2A40',
|
|
9917
|
+
'caps': '\u2229\uFE00',
|
|
9918
|
+
'caret': '\u2041',
|
|
9919
|
+
'ccaps': '\u2A4D',
|
|
9920
|
+
'ccaron': '\u010D',
|
|
9921
|
+
'ccedil': '\u00E7',
|
|
9922
|
+
'ccirc': '\u0109',
|
|
9923
|
+
'ccups': '\u2A4C',
|
|
9924
|
+
'ccupssm': '\u2A50',
|
|
9925
|
+
'cdot': '\u010B',
|
|
9926
|
+
'cemptyv': '\u29B2',
|
|
9927
|
+
'cent': '\u00A2',
|
|
9928
|
+
'cfr': '\uD835\uDD20',
|
|
9929
|
+
'chcy': '\u0447',
|
|
9930
|
+
'check': '\u2713',
|
|
9931
|
+
'checkmark': '\u2713',
|
|
9932
|
+
'chi': '\u03C7',
|
|
9933
|
+
'cir': '\u25CB',
|
|
9934
|
+
'cirE': '\u29C3',
|
|
9935
|
+
'circ': '\u02C6',
|
|
9936
|
+
'circeq': '\u2257',
|
|
9937
|
+
'cire': '\u2257',
|
|
9938
|
+
'circlearrowleft': '\u21BA',
|
|
9939
|
+
'olarr': '\u21BA',
|
|
9940
|
+
'circlearrowright': '\u21BB',
|
|
9941
|
+
'orarr': '\u21BB',
|
|
9942
|
+
'circledS': '\u24C8',
|
|
9943
|
+
'oS': '\u24C8',
|
|
9944
|
+
'circledast': '\u229B',
|
|
9945
|
+
'oast': '\u229B',
|
|
9946
|
+
'circledcirc': '\u229A',
|
|
9947
|
+
'ocir': '\u229A',
|
|
9948
|
+
'circleddash': '\u229D',
|
|
9949
|
+
'odash': '\u229D',
|
|
9950
|
+
'cirfnint': '\u2A10',
|
|
9951
|
+
'cirmid': '\u2AEF',
|
|
9952
|
+
'cirscir': '\u29C2',
|
|
9953
|
+
'clubs': '\u2663',
|
|
9954
|
+
'clubsuit': '\u2663',
|
|
9955
|
+
'colon': '\u003A',
|
|
9956
|
+
'comma': '\u002C',
|
|
9957
|
+
'commat': '\u0040',
|
|
9958
|
+
'comp': '\u2201',
|
|
9959
|
+
'complement': '\u2201',
|
|
9960
|
+
'congdot': '\u2A6D',
|
|
9961
|
+
'copf': '\uD835\uDD54',
|
|
9962
|
+
'copysr': '\u2117',
|
|
9963
|
+
'crarr': '\u21B5',
|
|
9964
|
+
'cross': '\u2717',
|
|
9965
|
+
'cscr': '\uD835\uDCB8',
|
|
9966
|
+
'csub': '\u2ACF',
|
|
9967
|
+
'csube': '\u2AD1',
|
|
9968
|
+
'csup': '\u2AD0',
|
|
9969
|
+
'csupe': '\u2AD2',
|
|
9970
|
+
'ctdot': '\u22EF',
|
|
9971
|
+
'cudarrl': '\u2938',
|
|
9972
|
+
'cudarrr': '\u2935',
|
|
9973
|
+
'cuepr': '\u22DE',
|
|
9974
|
+
'curlyeqprec': '\u22DE',
|
|
9975
|
+
'cuesc': '\u22DF',
|
|
9976
|
+
'curlyeqsucc': '\u22DF',
|
|
9977
|
+
'cularr': '\u21B6',
|
|
9978
|
+
'curvearrowleft': '\u21B6',
|
|
9979
|
+
'cularrp': '\u293D',
|
|
9980
|
+
'cup': '\u222A',
|
|
9981
|
+
'cupbrcap': '\u2A48',
|
|
9982
|
+
'cupcap': '\u2A46',
|
|
9983
|
+
'cupcup': '\u2A4A',
|
|
9984
|
+
'cupdot': '\u228D',
|
|
9985
|
+
'cupor': '\u2A45',
|
|
9986
|
+
'cups': '\u222A\uFE00',
|
|
9987
|
+
'curarr': '\u21B7',
|
|
9988
|
+
'curvearrowright': '\u21B7',
|
|
9989
|
+
'curarrm': '\u293C',
|
|
9990
|
+
'curlyvee': '\u22CE',
|
|
9991
|
+
'cuvee': '\u22CE',
|
|
9992
|
+
'curlywedge': '\u22CF',
|
|
9993
|
+
'cuwed': '\u22CF',
|
|
9994
|
+
'curren': '\u00A4',
|
|
9995
|
+
'cwint': '\u2231',
|
|
9996
|
+
'cylcty': '\u232D',
|
|
9997
|
+
'dHar': '\u2965',
|
|
9998
|
+
'dagger': '\u2020',
|
|
9999
|
+
'daleth': '\u2138',
|
|
10000
|
+
'dash': '\u2010',
|
|
10001
|
+
'hyphen': '\u2010',
|
|
10002
|
+
'dbkarow': '\u290F',
|
|
10003
|
+
'rBarr': '\u290F',
|
|
10004
|
+
'dcaron': '\u010F',
|
|
10005
|
+
'dcy': '\u0434',
|
|
10006
|
+
'ddarr': '\u21CA',
|
|
10007
|
+
'downdownarrows': '\u21CA',
|
|
10008
|
+
'ddotseq': '\u2A77',
|
|
10009
|
+
'eDDot': '\u2A77',
|
|
10010
|
+
'deg': '\u00B0',
|
|
10011
|
+
'delta': '\u03B4',
|
|
10012
|
+
'demptyv': '\u29B1',
|
|
10013
|
+
'dfisht': '\u297F',
|
|
10014
|
+
'dfr': '\uD835\uDD21',
|
|
10015
|
+
'diamondsuit': '\u2666',
|
|
10016
|
+
'diams': '\u2666',
|
|
10017
|
+
'digamma': '\u03DD',
|
|
10018
|
+
'gammad': '\u03DD',
|
|
10019
|
+
'disin': '\u22F2',
|
|
10020
|
+
'div': '\u00F7',
|
|
10021
|
+
'divide': '\u00F7',
|
|
10022
|
+
'divideontimes': '\u22C7',
|
|
10023
|
+
'divonx': '\u22C7',
|
|
10024
|
+
'djcy': '\u0452',
|
|
10025
|
+
'dlcorn': '\u231E',
|
|
10026
|
+
'llcorner': '\u231E',
|
|
10027
|
+
'dlcrop': '\u230D',
|
|
10028
|
+
'dollar': '\u0024',
|
|
10029
|
+
'dopf': '\uD835\uDD55',
|
|
10030
|
+
'doteqdot': '\u2251',
|
|
10031
|
+
'eDot': '\u2251',
|
|
10032
|
+
'dotminus': '\u2238',
|
|
10033
|
+
'minusd': '\u2238',
|
|
10034
|
+
'dotplus': '\u2214',
|
|
10035
|
+
'plusdo': '\u2214',
|
|
10036
|
+
'dotsquare': '\u22A1',
|
|
10037
|
+
'sdotb': '\u22A1',
|
|
10038
|
+
'drcorn': '\u231F',
|
|
10039
|
+
'lrcorner': '\u231F',
|
|
10040
|
+
'drcrop': '\u230C',
|
|
10041
|
+
'dscr': '\uD835\uDCB9',
|
|
10042
|
+
'dscy': '\u0455',
|
|
10043
|
+
'dsol': '\u29F6',
|
|
10044
|
+
'dstrok': '\u0111',
|
|
10045
|
+
'dtdot': '\u22F1',
|
|
10046
|
+
'dtri': '\u25BF',
|
|
10047
|
+
'triangledown': '\u25BF',
|
|
10048
|
+
'dwangle': '\u29A6',
|
|
10049
|
+
'dzcy': '\u045F',
|
|
10050
|
+
'dzigrarr': '\u27FF',
|
|
10051
|
+
'eacute': '\u00E9',
|
|
10052
|
+
'easter': '\u2A6E',
|
|
10053
|
+
'ecaron': '\u011B',
|
|
10054
|
+
'ecir': '\u2256',
|
|
10055
|
+
'eqcirc': '\u2256',
|
|
10056
|
+
'ecirc': '\u00EA',
|
|
10057
|
+
'ecolon': '\u2255',
|
|
10058
|
+
'eqcolon': '\u2255',
|
|
10059
|
+
'ecy': '\u044D',
|
|
10060
|
+
'edot': '\u0117',
|
|
10061
|
+
'efDot': '\u2252',
|
|
10062
|
+
'fallingdotseq': '\u2252',
|
|
10063
|
+
'efr': '\uD835\uDD22',
|
|
10064
|
+
'eg': '\u2A9A',
|
|
10065
|
+
'egrave': '\u00E8',
|
|
10066
|
+
'egs': '\u2A96',
|
|
10067
|
+
'eqslantgtr': '\u2A96',
|
|
10068
|
+
'egsdot': '\u2A98',
|
|
10069
|
+
'el': '\u2A99',
|
|
10070
|
+
'elinters': '\u23E7',
|
|
10071
|
+
'ell': '\u2113',
|
|
10072
|
+
'els': '\u2A95',
|
|
10073
|
+
'eqslantless': '\u2A95',
|
|
10074
|
+
'elsdot': '\u2A97',
|
|
10075
|
+
'emacr': '\u0113',
|
|
10076
|
+
'empty': '\u2205',
|
|
10077
|
+
'emptyset': '\u2205',
|
|
10078
|
+
'emptyv': '\u2205',
|
|
10079
|
+
'varnothing': '\u2205',
|
|
10080
|
+
'emsp13': '\u2004',
|
|
10081
|
+
'emsp14': '\u2005',
|
|
10082
|
+
'emsp': '\u2003',
|
|
10083
|
+
'eng': '\u014B',
|
|
10084
|
+
'ensp': '\u2002',
|
|
10085
|
+
'eogon': '\u0119',
|
|
10086
|
+
'eopf': '\uD835\uDD56',
|
|
10087
|
+
'epar': '\u22D5',
|
|
10088
|
+
'eparsl': '\u29E3',
|
|
10089
|
+
'eplus': '\u2A71',
|
|
10090
|
+
'epsi': '\u03B5',
|
|
10091
|
+
'epsilon': '\u03B5',
|
|
10092
|
+
'epsiv': '\u03F5',
|
|
10093
|
+
'straightepsilon': '\u03F5',
|
|
10094
|
+
'varepsilon': '\u03F5',
|
|
10095
|
+
'equals': '\u003D',
|
|
10096
|
+
'equest': '\u225F',
|
|
10097
|
+
'questeq': '\u225F',
|
|
10098
|
+
'equivDD': '\u2A78',
|
|
10099
|
+
'eqvparsl': '\u29E5',
|
|
10100
|
+
'erDot': '\u2253',
|
|
10101
|
+
'risingdotseq': '\u2253',
|
|
10102
|
+
'erarr': '\u2971',
|
|
10103
|
+
'escr': '\u212F',
|
|
10104
|
+
'eta': '\u03B7',
|
|
10105
|
+
'eth': '\u00F0',
|
|
10106
|
+
'euml': '\u00EB',
|
|
10107
|
+
'euro': '\u20AC',
|
|
10108
|
+
'excl': '\u0021',
|
|
10109
|
+
'fcy': '\u0444',
|
|
10110
|
+
'female': '\u2640',
|
|
10111
|
+
'ffilig': '\uFB03',
|
|
10112
|
+
'fflig': '\uFB00',
|
|
10113
|
+
'ffllig': '\uFB04',
|
|
10114
|
+
'ffr': '\uD835\uDD23',
|
|
10115
|
+
'filig': '\uFB01',
|
|
10116
|
+
'fjlig': '\u0066\u006A',
|
|
10117
|
+
'flat': '\u266D',
|
|
10118
|
+
'fllig': '\uFB02',
|
|
10119
|
+
'fltns': '\u25B1',
|
|
10120
|
+
'fnof': '\u0192',
|
|
10121
|
+
'fopf': '\uD835\uDD57',
|
|
10122
|
+
'fork': '\u22D4',
|
|
10123
|
+
'pitchfork': '\u22D4',
|
|
10124
|
+
'forkv': '\u2AD9',
|
|
10125
|
+
'fpartint': '\u2A0D',
|
|
10126
|
+
'frac12': '\u00BD',
|
|
10127
|
+
'half': '\u00BD',
|
|
10128
|
+
'frac13': '\u2153',
|
|
10129
|
+
'frac14': '\u00BC',
|
|
10130
|
+
'frac15': '\u2155',
|
|
10131
|
+
'frac16': '\u2159',
|
|
10132
|
+
'frac18': '\u215B',
|
|
10133
|
+
'frac23': '\u2154',
|
|
10134
|
+
'frac25': '\u2156',
|
|
10135
|
+
'frac34': '\u00BE',
|
|
10136
|
+
'frac35': '\u2157',
|
|
10137
|
+
'frac38': '\u215C',
|
|
10138
|
+
'frac45': '\u2158',
|
|
10139
|
+
'frac56': '\u215A',
|
|
10140
|
+
'frac58': '\u215D',
|
|
10141
|
+
'frac78': '\u215E',
|
|
10142
|
+
'frasl': '\u2044',
|
|
10143
|
+
'frown': '\u2322',
|
|
10144
|
+
'sfrown': '\u2322',
|
|
10145
|
+
'fscr': '\uD835\uDCBB',
|
|
10146
|
+
'gEl': '\u2A8C',
|
|
10147
|
+
'gtreqqless': '\u2A8C',
|
|
10148
|
+
'gacute': '\u01F5',
|
|
10149
|
+
'gamma': '\u03B3',
|
|
10150
|
+
'gap': '\u2A86',
|
|
10151
|
+
'gtrapprox': '\u2A86',
|
|
10152
|
+
'gbreve': '\u011F',
|
|
10153
|
+
'gcirc': '\u011D',
|
|
10154
|
+
'gcy': '\u0433',
|
|
10155
|
+
'gdot': '\u0121',
|
|
10156
|
+
'gescc': '\u2AA9',
|
|
10157
|
+
'gesdot': '\u2A80',
|
|
10158
|
+
'gesdoto': '\u2A82',
|
|
10159
|
+
'gesdotol': '\u2A84',
|
|
10160
|
+
'gesl': '\u22DB\uFE00',
|
|
10161
|
+
'gesles': '\u2A94',
|
|
10162
|
+
'gfr': '\uD835\uDD24',
|
|
10163
|
+
'gimel': '\u2137',
|
|
10164
|
+
'gjcy': '\u0453',
|
|
10165
|
+
'glE': '\u2A92',
|
|
10166
|
+
'gla': '\u2AA5',
|
|
10167
|
+
'glj': '\u2AA4',
|
|
10168
|
+
'gnE': '\u2269',
|
|
10169
|
+
'gneqq': '\u2269',
|
|
10170
|
+
'gnap': '\u2A8A',
|
|
10171
|
+
'gnapprox': '\u2A8A',
|
|
10172
|
+
'gne': '\u2A88',
|
|
10173
|
+
'gneq': '\u2A88',
|
|
10174
|
+
'gnsim': '\u22E7',
|
|
10175
|
+
'gopf': '\uD835\uDD58',
|
|
10176
|
+
'gscr': '\u210A',
|
|
10177
|
+
'gsime': '\u2A8E',
|
|
10178
|
+
'gsiml': '\u2A90',
|
|
10179
|
+
'gtcc': '\u2AA7',
|
|
10180
|
+
'gtcir': '\u2A7A',
|
|
10181
|
+
'gtdot': '\u22D7',
|
|
10182
|
+
'gtrdot': '\u22D7',
|
|
10183
|
+
'gtlPar': '\u2995',
|
|
10184
|
+
'gtquest': '\u2A7C',
|
|
10185
|
+
'gtrarr': '\u2978',
|
|
10186
|
+
'gvertneqq': '\u2269\uFE00',
|
|
10187
|
+
'gvnE': '\u2269\uFE00',
|
|
10188
|
+
'hardcy': '\u044A',
|
|
10189
|
+
'harrcir': '\u2948',
|
|
10190
|
+
'harrw': '\u21AD',
|
|
10191
|
+
'leftrightsquigarrow': '\u21AD',
|
|
10192
|
+
'hbar': '\u210F',
|
|
10193
|
+
'hslash': '\u210F',
|
|
10194
|
+
'planck': '\u210F',
|
|
10195
|
+
'plankv': '\u210F',
|
|
10196
|
+
'hcirc': '\u0125',
|
|
10197
|
+
'hearts': '\u2665',
|
|
10198
|
+
'heartsuit': '\u2665',
|
|
10199
|
+
'hellip': '\u2026',
|
|
10200
|
+
'mldr': '\u2026',
|
|
10201
|
+
'hercon': '\u22B9',
|
|
10202
|
+
'hfr': '\uD835\uDD25',
|
|
10203
|
+
'hksearow': '\u2925',
|
|
10204
|
+
'searhk': '\u2925',
|
|
10205
|
+
'hkswarow': '\u2926',
|
|
10206
|
+
'swarhk': '\u2926',
|
|
10207
|
+
'hoarr': '\u21FF',
|
|
10208
|
+
'homtht': '\u223B',
|
|
10209
|
+
'hookleftarrow': '\u21A9',
|
|
10210
|
+
'larrhk': '\u21A9',
|
|
10211
|
+
'hookrightarrow': '\u21AA',
|
|
10212
|
+
'rarrhk': '\u21AA',
|
|
10213
|
+
'hopf': '\uD835\uDD59',
|
|
10214
|
+
'horbar': '\u2015',
|
|
10215
|
+
'hscr': '\uD835\uDCBD',
|
|
10216
|
+
'hstrok': '\u0127',
|
|
10217
|
+
'hybull': '\u2043',
|
|
10218
|
+
'iacute': '\u00ED',
|
|
10219
|
+
'icirc': '\u00EE',
|
|
10220
|
+
'icy': '\u0438',
|
|
10221
|
+
'iecy': '\u0435',
|
|
10222
|
+
'iexcl': '\u00A1',
|
|
10223
|
+
'ifr': '\uD835\uDD26',
|
|
10224
|
+
'igrave': '\u00EC',
|
|
10225
|
+
'iiiint': '\u2A0C',
|
|
10226
|
+
'qint': '\u2A0C',
|
|
10227
|
+
'iiint': '\u222D',
|
|
10228
|
+
'tint': '\u222D',
|
|
10229
|
+
'iinfin': '\u29DC',
|
|
10230
|
+
'iiota': '\u2129',
|
|
10231
|
+
'ijlig': '\u0133',
|
|
10232
|
+
'imacr': '\u012B',
|
|
10233
|
+
'imath': '\u0131',
|
|
10234
|
+
'inodot': '\u0131',
|
|
10235
|
+
'imof': '\u22B7',
|
|
10236
|
+
'imped': '\u01B5',
|
|
10237
|
+
'incare': '\u2105',
|
|
10238
|
+
'infin': '\u221E',
|
|
10239
|
+
'infintie': '\u29DD',
|
|
10240
|
+
'intcal': '\u22BA',
|
|
10241
|
+
'intercal': '\u22BA',
|
|
10242
|
+
'intlarhk': '\u2A17',
|
|
10243
|
+
'intprod': '\u2A3C',
|
|
10244
|
+
'iprod': '\u2A3C',
|
|
10245
|
+
'iocy': '\u0451',
|
|
10246
|
+
'iogon': '\u012F',
|
|
10247
|
+
'iopf': '\uD835\uDD5A',
|
|
10248
|
+
'iota': '\u03B9',
|
|
10249
|
+
'iquest': '\u00BF',
|
|
10250
|
+
'iscr': '\uD835\uDCBE',
|
|
10251
|
+
'isinE': '\u22F9',
|
|
10252
|
+
'isindot': '\u22F5',
|
|
10253
|
+
'isins': '\u22F4',
|
|
10254
|
+
'isinsv': '\u22F3',
|
|
10255
|
+
'itilde': '\u0129',
|
|
10256
|
+
'iukcy': '\u0456',
|
|
10257
|
+
'iuml': '\u00EF',
|
|
10258
|
+
'jcirc': '\u0135',
|
|
10259
|
+
'jcy': '\u0439',
|
|
10260
|
+
'jfr': '\uD835\uDD27',
|
|
10261
|
+
'jmath': '\u0237',
|
|
10262
|
+
'jopf': '\uD835\uDD5B',
|
|
10263
|
+
'jscr': '\uD835\uDCBF',
|
|
10264
|
+
'jsercy': '\u0458',
|
|
10265
|
+
'jukcy': '\u0454',
|
|
10266
|
+
'kappa': '\u03BA',
|
|
10267
|
+
'kappav': '\u03F0',
|
|
10268
|
+
'varkappa': '\u03F0',
|
|
10269
|
+
'kcedil': '\u0137',
|
|
10270
|
+
'kcy': '\u043A',
|
|
10271
|
+
'kfr': '\uD835\uDD28',
|
|
10272
|
+
'kgreen': '\u0138',
|
|
10273
|
+
'khcy': '\u0445',
|
|
10274
|
+
'kjcy': '\u045C',
|
|
10275
|
+
'kopf': '\uD835\uDD5C',
|
|
10276
|
+
'kscr': '\uD835\uDCC0',
|
|
10277
|
+
'lAtail': '\u291B',
|
|
10278
|
+
'lBarr': '\u290E',
|
|
10279
|
+
'lEg': '\u2A8B',
|
|
10280
|
+
'lesseqqgtr': '\u2A8B',
|
|
10281
|
+
'lHar': '\u2962',
|
|
10282
|
+
'lacute': '\u013A',
|
|
10283
|
+
'laemptyv': '\u29B4',
|
|
10284
|
+
'lambda': '\u03BB',
|
|
10285
|
+
'langd': '\u2991',
|
|
10286
|
+
'lap': '\u2A85',
|
|
10287
|
+
'lessapprox': '\u2A85',
|
|
10288
|
+
'laquo': '\u00AB',
|
|
10289
|
+
'larrbfs': '\u291F',
|
|
10290
|
+
'larrfs': '\u291D',
|
|
10291
|
+
'larrlp': '\u21AB',
|
|
10292
|
+
'looparrowleft': '\u21AB',
|
|
10293
|
+
'larrpl': '\u2939',
|
|
10294
|
+
'larrsim': '\u2973',
|
|
10295
|
+
'larrtl': '\u21A2',
|
|
10296
|
+
'leftarrowtail': '\u21A2',
|
|
10297
|
+
'lat': '\u2AAB',
|
|
10298
|
+
'latail': '\u2919',
|
|
10299
|
+
'late': '\u2AAD',
|
|
10300
|
+
'lates': '\u2AAD\uFE00',
|
|
10301
|
+
'lbarr': '\u290C',
|
|
10302
|
+
'lbbrk': '\u2772',
|
|
10303
|
+
'lbrace': '\u007B',
|
|
10304
|
+
'lcub': '\u007B',
|
|
10305
|
+
'lbrack': '\u005B',
|
|
10306
|
+
'lsqb': '\u005B',
|
|
10307
|
+
'lbrke': '\u298B',
|
|
10308
|
+
'lbrksld': '\u298F',
|
|
10309
|
+
'lbrkslu': '\u298D',
|
|
10310
|
+
'lcaron': '\u013E',
|
|
10311
|
+
'lcedil': '\u013C',
|
|
10312
|
+
'lcy': '\u043B',
|
|
10313
|
+
'ldca': '\u2936',
|
|
10314
|
+
'ldrdhar': '\u2967',
|
|
10315
|
+
'ldrushar': '\u294B',
|
|
10316
|
+
'ldsh': '\u21B2',
|
|
10317
|
+
'le': '\u2264',
|
|
10318
|
+
'leq': '\u2264',
|
|
10319
|
+
'leftleftarrows': '\u21C7',
|
|
10320
|
+
'llarr': '\u21C7',
|
|
10321
|
+
'leftthreetimes': '\u22CB',
|
|
10322
|
+
'lthree': '\u22CB',
|
|
10323
|
+
'lescc': '\u2AA8',
|
|
10324
|
+
'lesdot': '\u2A7F',
|
|
10325
|
+
'lesdoto': '\u2A81',
|
|
10326
|
+
'lesdotor': '\u2A83',
|
|
10327
|
+
'lesg': '\u22DA\uFE00',
|
|
10328
|
+
'lesges': '\u2A93',
|
|
10329
|
+
'lessdot': '\u22D6',
|
|
10330
|
+
'ltdot': '\u22D6',
|
|
10331
|
+
'lfisht': '\u297C',
|
|
10332
|
+
'lfr': '\uD835\uDD29',
|
|
10333
|
+
'lgE': '\u2A91',
|
|
10334
|
+
'lharul': '\u296A',
|
|
10335
|
+
'lhblk': '\u2584',
|
|
10336
|
+
'ljcy': '\u0459',
|
|
10337
|
+
'llhard': '\u296B',
|
|
10338
|
+
'lltri': '\u25FA',
|
|
10339
|
+
'lmidot': '\u0140',
|
|
10340
|
+
'lmoust': '\u23B0',
|
|
10341
|
+
'lmoustache': '\u23B0',
|
|
10342
|
+
'lnE': '\u2268',
|
|
10343
|
+
'lneqq': '\u2268',
|
|
10344
|
+
'lnap': '\u2A89',
|
|
10345
|
+
'lnapprox': '\u2A89',
|
|
10346
|
+
'lne': '\u2A87',
|
|
10347
|
+
'lneq': '\u2A87',
|
|
10348
|
+
'lnsim': '\u22E6',
|
|
10349
|
+
'loang': '\u27EC',
|
|
10350
|
+
'loarr': '\u21FD',
|
|
10351
|
+
'longmapsto': '\u27FC',
|
|
10352
|
+
'xmap': '\u27FC',
|
|
10353
|
+
'looparrowright': '\u21AC',
|
|
10354
|
+
'rarrlp': '\u21AC',
|
|
10355
|
+
'lopar': '\u2985',
|
|
10356
|
+
'lopf': '\uD835\uDD5D',
|
|
10357
|
+
'loplus': '\u2A2D',
|
|
10358
|
+
'lotimes': '\u2A34',
|
|
10359
|
+
'lowast': '\u2217',
|
|
10360
|
+
'loz': '\u25CA',
|
|
10361
|
+
'lozenge': '\u25CA',
|
|
10362
|
+
'lpar': '\u0028',
|
|
10363
|
+
'lparlt': '\u2993',
|
|
10364
|
+
'lrhard': '\u296D',
|
|
10365
|
+
'lrm': '\u200E',
|
|
10366
|
+
'lrtri': '\u22BF',
|
|
10367
|
+
'lsaquo': '\u2039',
|
|
10368
|
+
'lscr': '\uD835\uDCC1',
|
|
10369
|
+
'lsime': '\u2A8D',
|
|
10370
|
+
'lsimg': '\u2A8F',
|
|
10371
|
+
'lsquor': '\u201A',
|
|
10372
|
+
'sbquo': '\u201A',
|
|
10373
|
+
'lstrok': '\u0142',
|
|
10374
|
+
'ltcc': '\u2AA6',
|
|
10375
|
+
'ltcir': '\u2A79',
|
|
10376
|
+
'ltimes': '\u22C9',
|
|
10377
|
+
'ltlarr': '\u2976',
|
|
10378
|
+
'ltquest': '\u2A7B',
|
|
10379
|
+
'ltrPar': '\u2996',
|
|
10380
|
+
'ltri': '\u25C3',
|
|
10381
|
+
'triangleleft': '\u25C3',
|
|
10382
|
+
'lurdshar': '\u294A',
|
|
10383
|
+
'luruhar': '\u2966',
|
|
10384
|
+
'lvertneqq': '\u2268\uFE00',
|
|
10385
|
+
'lvnE': '\u2268\uFE00',
|
|
10386
|
+
'mDDot': '\u223A',
|
|
10387
|
+
'macr': '\u00AF',
|
|
10388
|
+
'strns': '\u00AF',
|
|
10389
|
+
'male': '\u2642',
|
|
10390
|
+
'malt': '\u2720',
|
|
10391
|
+
'maltese': '\u2720',
|
|
10392
|
+
'marker': '\u25AE',
|
|
10393
|
+
'mcomma': '\u2A29',
|
|
10394
|
+
'mcy': '\u043C',
|
|
10395
|
+
'mdash': '\u2014',
|
|
10396
|
+
'mfr': '\uD835\uDD2A',
|
|
10397
|
+
'mho': '\u2127',
|
|
10398
|
+
'micro': '\u00B5',
|
|
10399
|
+
'midcir': '\u2AF0',
|
|
10400
|
+
'minus': '\u2212',
|
|
10401
|
+
'minusdu': '\u2A2A',
|
|
10402
|
+
'mlcp': '\u2ADB',
|
|
10403
|
+
'models': '\u22A7',
|
|
10404
|
+
'mopf': '\uD835\uDD5E',
|
|
10405
|
+
'mscr': '\uD835\uDCC2',
|
|
10406
|
+
'mu': '\u03BC',
|
|
10407
|
+
'multimap': '\u22B8',
|
|
10408
|
+
'mumap': '\u22B8',
|
|
10409
|
+
'nGg': '\u22D9\u0338',
|
|
10410
|
+
'nGt': '\u226B\u20D2',
|
|
10411
|
+
'nLeftarrow': '\u21CD',
|
|
10412
|
+
'nlArr': '\u21CD',
|
|
10413
|
+
'nLeftrightarrow': '\u21CE',
|
|
10414
|
+
'nhArr': '\u21CE',
|
|
10415
|
+
'nLl': '\u22D8\u0338',
|
|
10416
|
+
'nLt': '\u226A\u20D2',
|
|
10417
|
+
'nRightarrow': '\u21CF',
|
|
10418
|
+
'nrArr': '\u21CF',
|
|
10419
|
+
'nVDash': '\u22AF',
|
|
10420
|
+
'nVdash': '\u22AE',
|
|
10421
|
+
'nacute': '\u0144',
|
|
10422
|
+
'nang': '\u2220\u20D2',
|
|
10423
|
+
'napE': '\u2A70\u0338',
|
|
10424
|
+
'napid': '\u224B\u0338',
|
|
10425
|
+
'napos': '\u0149',
|
|
10426
|
+
'natur': '\u266E',
|
|
10427
|
+
'natural': '\u266E',
|
|
10428
|
+
'ncap': '\u2A43',
|
|
10429
|
+
'ncaron': '\u0148',
|
|
10430
|
+
'ncedil': '\u0146',
|
|
10431
|
+
'ncongdot': '\u2A6D\u0338',
|
|
10432
|
+
'ncup': '\u2A42',
|
|
10433
|
+
'ncy': '\u043D',
|
|
10434
|
+
'ndash': '\u2013',
|
|
10435
|
+
'neArr': '\u21D7',
|
|
10436
|
+
'nearhk': '\u2924',
|
|
10437
|
+
'nedot': '\u2250\u0338',
|
|
10438
|
+
'nesear': '\u2928',
|
|
10439
|
+
'toea': '\u2928',
|
|
10440
|
+
'nfr': '\uD835\uDD2B',
|
|
10441
|
+
'nharr': '\u21AE',
|
|
10442
|
+
'nleftrightarrow': '\u21AE',
|
|
10443
|
+
'nhpar': '\u2AF2',
|
|
10444
|
+
'nis': '\u22FC',
|
|
10445
|
+
'nisd': '\u22FA',
|
|
10446
|
+
'njcy': '\u045A',
|
|
10447
|
+
'nlE': '\u2266\u0338',
|
|
10448
|
+
'nleqq': '\u2266\u0338',
|
|
10449
|
+
'nlarr': '\u219A',
|
|
10450
|
+
'nleftarrow': '\u219A',
|
|
10451
|
+
'nldr': '\u2025',
|
|
10452
|
+
'nopf': '\uD835\uDD5F',
|
|
10453
|
+
'not': '\u00AC',
|
|
10454
|
+
'notinE': '\u22F9\u0338',
|
|
10455
|
+
'notindot': '\u22F5\u0338',
|
|
10456
|
+
'notinvb': '\u22F7',
|
|
10457
|
+
'notinvc': '\u22F6',
|
|
10458
|
+
'notnivb': '\u22FE',
|
|
10459
|
+
'notnivc': '\u22FD',
|
|
10460
|
+
'nparsl': '\u2AFD\u20E5',
|
|
10461
|
+
'npart': '\u2202\u0338',
|
|
10462
|
+
'npolint': '\u2A14',
|
|
10463
|
+
'nrarr': '\u219B',
|
|
10464
|
+
'nrightarrow': '\u219B',
|
|
10465
|
+
'nrarrc': '\u2933\u0338',
|
|
10466
|
+
'nrarrw': '\u219D\u0338',
|
|
10467
|
+
'nscr': '\uD835\uDCC3',
|
|
10468
|
+
'nsub': '\u2284',
|
|
10469
|
+
'nsubE': '\u2AC5\u0338',
|
|
10470
|
+
'nsubseteqq': '\u2AC5\u0338',
|
|
10471
|
+
'nsup': '\u2285',
|
|
10472
|
+
'nsupE': '\u2AC6\u0338',
|
|
10473
|
+
'nsupseteqq': '\u2AC6\u0338',
|
|
10474
|
+
'ntilde': '\u00F1',
|
|
10475
|
+
'nu': '\u03BD',
|
|
10476
|
+
'num': '\u0023',
|
|
10477
|
+
'numero': '\u2116',
|
|
10478
|
+
'numsp': '\u2007',
|
|
10479
|
+
'nvDash': '\u22AD',
|
|
10480
|
+
'nvHarr': '\u2904',
|
|
10481
|
+
'nvap': '\u224D\u20D2',
|
|
10482
|
+
'nvdash': '\u22AC',
|
|
10483
|
+
'nvge': '\u2265\u20D2',
|
|
10484
|
+
'nvgt': '\u003E\u20D2',
|
|
10485
|
+
'nvinfin': '\u29DE',
|
|
10486
|
+
'nvlArr': '\u2902',
|
|
10487
|
+
'nvle': '\u2264\u20D2',
|
|
10488
|
+
'nvlt': '\u003C\u20D2',
|
|
10489
|
+
'nvltrie': '\u22B4\u20D2',
|
|
10490
|
+
'nvrArr': '\u2903',
|
|
10491
|
+
'nvrtrie': '\u22B5\u20D2',
|
|
10492
|
+
'nvsim': '\u223C\u20D2',
|
|
10493
|
+
'nwArr': '\u21D6',
|
|
10494
|
+
'nwarhk': '\u2923',
|
|
10495
|
+
'nwnear': '\u2927',
|
|
10496
|
+
'oacute': '\u00F3',
|
|
10497
|
+
'ocirc': '\u00F4',
|
|
10498
|
+
'ocy': '\u043E',
|
|
10499
|
+
'odblac': '\u0151',
|
|
10500
|
+
'odiv': '\u2A38',
|
|
10501
|
+
'odsold': '\u29BC',
|
|
10502
|
+
'oelig': '\u0153',
|
|
10503
|
+
'ofcir': '\u29BF',
|
|
10504
|
+
'ofr': '\uD835\uDD2C',
|
|
10505
|
+
'ogon': '\u02DB',
|
|
10506
|
+
'ograve': '\u00F2',
|
|
10507
|
+
'ogt': '\u29C1',
|
|
10508
|
+
'ohbar': '\u29B5',
|
|
10509
|
+
'olcir': '\u29BE',
|
|
10510
|
+
'olcross': '\u29BB',
|
|
10511
|
+
'olt': '\u29C0',
|
|
10512
|
+
'omacr': '\u014D',
|
|
10513
|
+
'omega': '\u03C9',
|
|
10514
|
+
'omicron': '\u03BF',
|
|
10515
|
+
'omid': '\u29B6',
|
|
10516
|
+
'oopf': '\uD835\uDD60',
|
|
10517
|
+
'opar': '\u29B7',
|
|
10518
|
+
'operp': '\u29B9',
|
|
10519
|
+
'or': '\u2228',
|
|
10520
|
+
'vee': '\u2228',
|
|
10521
|
+
'ord': '\u2A5D',
|
|
10522
|
+
'order': '\u2134',
|
|
10523
|
+
'orderof': '\u2134',
|
|
10524
|
+
'oscr': '\u2134',
|
|
10525
|
+
'ordf': '\u00AA',
|
|
10526
|
+
'ordm': '\u00BA',
|
|
10527
|
+
'origof': '\u22B6',
|
|
10528
|
+
'oror': '\u2A56',
|
|
10529
|
+
'orslope': '\u2A57',
|
|
10530
|
+
'orv': '\u2A5B',
|
|
10531
|
+
'oslash': '\u00F8',
|
|
10532
|
+
'osol': '\u2298',
|
|
10533
|
+
'otilde': '\u00F5',
|
|
10534
|
+
'otimesas': '\u2A36',
|
|
10535
|
+
'ouml': '\u00F6',
|
|
10536
|
+
'ovbar': '\u233D',
|
|
10537
|
+
'para': '\u00B6',
|
|
10538
|
+
'parsim': '\u2AF3',
|
|
10539
|
+
'parsl': '\u2AFD',
|
|
10540
|
+
'pcy': '\u043F',
|
|
10541
|
+
'percnt': '\u0025',
|
|
10542
|
+
'period': '\u002E',
|
|
10543
|
+
'permil': '\u2030',
|
|
10544
|
+
'pertenk': '\u2031',
|
|
10545
|
+
'pfr': '\uD835\uDD2D',
|
|
10546
|
+
'phi': '\u03C6',
|
|
10547
|
+
'phiv': '\u03D5',
|
|
10548
|
+
'straightphi': '\u03D5',
|
|
10549
|
+
'varphi': '\u03D5',
|
|
10550
|
+
'phone': '\u260E',
|
|
10551
|
+
'pi': '\u03C0',
|
|
10552
|
+
'piv': '\u03D6',
|
|
10553
|
+
'varpi': '\u03D6',
|
|
10554
|
+
'planckh': '\u210E',
|
|
10555
|
+
'plus': '\u002B',
|
|
10556
|
+
'plusacir': '\u2A23',
|
|
10557
|
+
'pluscir': '\u2A22',
|
|
10558
|
+
'plusdu': '\u2A25',
|
|
10559
|
+
'pluse': '\u2A72',
|
|
10560
|
+
'plussim': '\u2A26',
|
|
10561
|
+
'plustwo': '\u2A27',
|
|
10562
|
+
'pointint': '\u2A15',
|
|
10563
|
+
'popf': '\uD835\uDD61',
|
|
10564
|
+
'pound': '\u00A3',
|
|
10565
|
+
'prE': '\u2AB3',
|
|
10566
|
+
'prap': '\u2AB7',
|
|
10567
|
+
'precapprox': '\u2AB7',
|
|
10568
|
+
'precnapprox': '\u2AB9',
|
|
10569
|
+
'prnap': '\u2AB9',
|
|
10570
|
+
'precneqq': '\u2AB5',
|
|
10571
|
+
'prnE': '\u2AB5',
|
|
10572
|
+
'precnsim': '\u22E8',
|
|
10573
|
+
'prnsim': '\u22E8',
|
|
10574
|
+
'prime': '\u2032',
|
|
10575
|
+
'profalar': '\u232E',
|
|
10576
|
+
'profline': '\u2312',
|
|
10577
|
+
'profsurf': '\u2313',
|
|
10578
|
+
'prurel': '\u22B0',
|
|
10579
|
+
'pscr': '\uD835\uDCC5',
|
|
10580
|
+
'psi': '\u03C8',
|
|
10581
|
+
'puncsp': '\u2008',
|
|
10582
|
+
'qfr': '\uD835\uDD2E',
|
|
10583
|
+
'qopf': '\uD835\uDD62',
|
|
10584
|
+
'qprime': '\u2057',
|
|
10585
|
+
'qscr': '\uD835\uDCC6',
|
|
10586
|
+
'quatint': '\u2A16',
|
|
10587
|
+
'quest': '\u003F',
|
|
10588
|
+
'rAtail': '\u291C',
|
|
10589
|
+
'rHar': '\u2964',
|
|
10590
|
+
'race': '\u223D\u0331',
|
|
10591
|
+
'racute': '\u0155',
|
|
10592
|
+
'raemptyv': '\u29B3',
|
|
10593
|
+
'rangd': '\u2992',
|
|
10594
|
+
'range': '\u29A5',
|
|
10595
|
+
'raquo': '\u00BB',
|
|
10596
|
+
'rarrap': '\u2975',
|
|
10597
|
+
'rarrbfs': '\u2920',
|
|
10598
|
+
'rarrc': '\u2933',
|
|
10599
|
+
'rarrfs': '\u291E',
|
|
10600
|
+
'rarrpl': '\u2945',
|
|
10601
|
+
'rarrsim': '\u2974',
|
|
10602
|
+
'rarrtl': '\u21A3',
|
|
10603
|
+
'rightarrowtail': '\u21A3',
|
|
10604
|
+
'rarrw': '\u219D',
|
|
10605
|
+
'rightsquigarrow': '\u219D',
|
|
10606
|
+
'ratail': '\u291A',
|
|
10607
|
+
'ratio': '\u2236',
|
|
10608
|
+
'rbbrk': '\u2773',
|
|
10609
|
+
'rbrace': '\u007D',
|
|
10610
|
+
'rcub': '\u007D',
|
|
10611
|
+
'rbrack': '\u005D',
|
|
10612
|
+
'rsqb': '\u005D',
|
|
10613
|
+
'rbrke': '\u298C',
|
|
10614
|
+
'rbrksld': '\u298E',
|
|
10615
|
+
'rbrkslu': '\u2990',
|
|
10616
|
+
'rcaron': '\u0159',
|
|
10617
|
+
'rcedil': '\u0157',
|
|
10618
|
+
'rcy': '\u0440',
|
|
10619
|
+
'rdca': '\u2937',
|
|
10620
|
+
'rdldhar': '\u2969',
|
|
10621
|
+
'rdsh': '\u21B3',
|
|
10622
|
+
'rect': '\u25AD',
|
|
10623
|
+
'rfisht': '\u297D',
|
|
10624
|
+
'rfr': '\uD835\uDD2F',
|
|
10625
|
+
'rharul': '\u296C',
|
|
10626
|
+
'rho': '\u03C1',
|
|
10627
|
+
'rhov': '\u03F1',
|
|
10628
|
+
'varrho': '\u03F1',
|
|
10629
|
+
'rightrightarrows': '\u21C9',
|
|
10630
|
+
'rrarr': '\u21C9',
|
|
10631
|
+
'rightthreetimes': '\u22CC',
|
|
10632
|
+
'rthree': '\u22CC',
|
|
10633
|
+
'ring': '\u02DA',
|
|
10634
|
+
'rlm': '\u200F',
|
|
10635
|
+
'rmoust': '\u23B1',
|
|
10636
|
+
'rmoustache': '\u23B1',
|
|
10637
|
+
'rnmid': '\u2AEE',
|
|
10638
|
+
'roang': '\u27ED',
|
|
10639
|
+
'roarr': '\u21FE',
|
|
10640
|
+
'ropar': '\u2986',
|
|
10641
|
+
'ropf': '\uD835\uDD63',
|
|
10642
|
+
'roplus': '\u2A2E',
|
|
10643
|
+
'rotimes': '\u2A35',
|
|
10644
|
+
'rpar': '\u0029',
|
|
10645
|
+
'rpargt': '\u2994',
|
|
10646
|
+
'rppolint': '\u2A12',
|
|
10647
|
+
'rsaquo': '\u203A',
|
|
10648
|
+
'rscr': '\uD835\uDCC7',
|
|
10649
|
+
'rtimes': '\u22CA',
|
|
10650
|
+
'rtri': '\u25B9',
|
|
10651
|
+
'triangleright': '\u25B9',
|
|
10652
|
+
'rtriltri': '\u29CE',
|
|
10653
|
+
'ruluhar': '\u2968',
|
|
10654
|
+
'rx': '\u211E',
|
|
10655
|
+
'sacute': '\u015B',
|
|
10656
|
+
'scE': '\u2AB4',
|
|
10657
|
+
'scap': '\u2AB8',
|
|
10658
|
+
'succapprox': '\u2AB8',
|
|
10659
|
+
'scaron': '\u0161',
|
|
10660
|
+
'scedil': '\u015F',
|
|
10661
|
+
'scirc': '\u015D',
|
|
10662
|
+
'scnE': '\u2AB6',
|
|
10663
|
+
'succneqq': '\u2AB6',
|
|
10664
|
+
'scnap': '\u2ABA',
|
|
10665
|
+
'succnapprox': '\u2ABA',
|
|
10666
|
+
'scnsim': '\u22E9',
|
|
10667
|
+
'succnsim': '\u22E9',
|
|
10668
|
+
'scpolint': '\u2A13',
|
|
10669
|
+
'scy': '\u0441',
|
|
10670
|
+
'sdot': '\u22C5',
|
|
10671
|
+
'sdote': '\u2A66',
|
|
10672
|
+
'seArr': '\u21D8',
|
|
10673
|
+
'sect': '\u00A7',
|
|
10674
|
+
'semi': '\u003B',
|
|
10675
|
+
'seswar': '\u2929',
|
|
10676
|
+
'tosa': '\u2929',
|
|
10677
|
+
'sext': '\u2736',
|
|
10678
|
+
'sfr': '\uD835\uDD30',
|
|
10679
|
+
'sharp': '\u266F',
|
|
10680
|
+
'shchcy': '\u0449',
|
|
10681
|
+
'shcy': '\u0448',
|
|
10682
|
+
'shy': '\u00AD',
|
|
10683
|
+
'sigma': '\u03C3',
|
|
10684
|
+
'sigmaf': '\u03C2',
|
|
10685
|
+
'sigmav': '\u03C2',
|
|
10686
|
+
'varsigma': '\u03C2',
|
|
10687
|
+
'simdot': '\u2A6A',
|
|
10688
|
+
'simg': '\u2A9E',
|
|
10689
|
+
'simgE': '\u2AA0',
|
|
10690
|
+
'siml': '\u2A9D',
|
|
10691
|
+
'simlE': '\u2A9F',
|
|
10692
|
+
'simne': '\u2246',
|
|
10693
|
+
'simplus': '\u2A24',
|
|
10694
|
+
'simrarr': '\u2972',
|
|
10695
|
+
'smashp': '\u2A33',
|
|
10696
|
+
'smeparsl': '\u29E4',
|
|
10697
|
+
'smile': '\u2323',
|
|
10698
|
+
'ssmile': '\u2323',
|
|
10699
|
+
'smt': '\u2AAA',
|
|
10700
|
+
'smte': '\u2AAC',
|
|
10701
|
+
'smtes': '\u2AAC\uFE00',
|
|
10702
|
+
'softcy': '\u044C',
|
|
10703
|
+
'sol': '\u002F',
|
|
10704
|
+
'solb': '\u29C4',
|
|
10705
|
+
'solbar': '\u233F',
|
|
10706
|
+
'sopf': '\uD835\uDD64',
|
|
10707
|
+
'spades': '\u2660',
|
|
10708
|
+
'spadesuit': '\u2660',
|
|
10709
|
+
'sqcaps': '\u2293\uFE00',
|
|
10710
|
+
'sqcups': '\u2294\uFE00',
|
|
10711
|
+
'sscr': '\uD835\uDCC8',
|
|
10712
|
+
'star': '\u2606',
|
|
10713
|
+
'sub': '\u2282',
|
|
10714
|
+
'subset': '\u2282',
|
|
10715
|
+
'subE': '\u2AC5',
|
|
10716
|
+
'subseteqq': '\u2AC5',
|
|
10717
|
+
'subdot': '\u2ABD',
|
|
10718
|
+
'subedot': '\u2AC3',
|
|
10719
|
+
'submult': '\u2AC1',
|
|
10720
|
+
'subnE': '\u2ACB',
|
|
10721
|
+
'subsetneqq': '\u2ACB',
|
|
10722
|
+
'subne': '\u228A',
|
|
10723
|
+
'subsetneq': '\u228A',
|
|
10724
|
+
'subplus': '\u2ABF',
|
|
10725
|
+
'subrarr': '\u2979',
|
|
10726
|
+
'subsim': '\u2AC7',
|
|
10727
|
+
'subsub': '\u2AD5',
|
|
10728
|
+
'subsup': '\u2AD3',
|
|
10729
|
+
'sung': '\u266A',
|
|
10730
|
+
'sup1': '\u00B9',
|
|
10731
|
+
'sup2': '\u00B2',
|
|
10732
|
+
'sup3': '\u00B3',
|
|
10733
|
+
'supE': '\u2AC6',
|
|
10734
|
+
'supseteqq': '\u2AC6',
|
|
10735
|
+
'supdot': '\u2ABE',
|
|
10736
|
+
'supdsub': '\u2AD8',
|
|
10737
|
+
'supedot': '\u2AC4',
|
|
10738
|
+
'suphsol': '\u27C9',
|
|
10739
|
+
'suphsub': '\u2AD7',
|
|
10740
|
+
'suplarr': '\u297B',
|
|
10741
|
+
'supmult': '\u2AC2',
|
|
10742
|
+
'supnE': '\u2ACC',
|
|
10743
|
+
'supsetneqq': '\u2ACC',
|
|
10744
|
+
'supne': '\u228B',
|
|
10745
|
+
'supsetneq': '\u228B',
|
|
10746
|
+
'supplus': '\u2AC0',
|
|
10747
|
+
'supsim': '\u2AC8',
|
|
10748
|
+
'supsub': '\u2AD4',
|
|
10749
|
+
'supsup': '\u2AD6',
|
|
10750
|
+
'swArr': '\u21D9',
|
|
10751
|
+
'swnwar': '\u292A',
|
|
10752
|
+
'szlig': '\u00DF',
|
|
10753
|
+
'target': '\u2316',
|
|
10754
|
+
'tau': '\u03C4',
|
|
10755
|
+
'tcaron': '\u0165',
|
|
10756
|
+
'tcedil': '\u0163',
|
|
10757
|
+
'tcy': '\u0442',
|
|
10758
|
+
'telrec': '\u2315',
|
|
10759
|
+
'tfr': '\uD835\uDD31',
|
|
10760
|
+
'theta': '\u03B8',
|
|
10761
|
+
'thetasym': '\u03D1',
|
|
10762
|
+
'thetav': '\u03D1',
|
|
10763
|
+
'vartheta': '\u03D1',
|
|
10764
|
+
'thorn': '\u00FE',
|
|
10765
|
+
'times': '\u00D7',
|
|
10766
|
+
'timesbar': '\u2A31',
|
|
10767
|
+
'timesd': '\u2A30',
|
|
10768
|
+
'topbot': '\u2336',
|
|
10769
|
+
'topcir': '\u2AF1',
|
|
10770
|
+
'topf': '\uD835\uDD65',
|
|
10771
|
+
'topfork': '\u2ADA',
|
|
10772
|
+
'tprime': '\u2034',
|
|
10773
|
+
'triangle': '\u25B5',
|
|
10774
|
+
'utri': '\u25B5',
|
|
10775
|
+
'triangleq': '\u225C',
|
|
10776
|
+
'trie': '\u225C',
|
|
10777
|
+
'tridot': '\u25EC',
|
|
10778
|
+
'triminus': '\u2A3A',
|
|
10779
|
+
'triplus': '\u2A39',
|
|
10780
|
+
'trisb': '\u29CD',
|
|
10781
|
+
'tritime': '\u2A3B',
|
|
10782
|
+
'trpezium': '\u23E2',
|
|
10783
|
+
'tscr': '\uD835\uDCC9',
|
|
10784
|
+
'tscy': '\u0446',
|
|
10785
|
+
'tshcy': '\u045B',
|
|
10786
|
+
'tstrok': '\u0167',
|
|
10787
|
+
'uHar': '\u2963',
|
|
10788
|
+
'uacute': '\u00FA',
|
|
10789
|
+
'ubrcy': '\u045E',
|
|
10790
|
+
'ubreve': '\u016D',
|
|
10791
|
+
'ucirc': '\u00FB',
|
|
10792
|
+
'ucy': '\u0443',
|
|
10793
|
+
'udblac': '\u0171',
|
|
10794
|
+
'ufisht': '\u297E',
|
|
10795
|
+
'ufr': '\uD835\uDD32',
|
|
10796
|
+
'ugrave': '\u00F9',
|
|
10797
|
+
'uhblk': '\u2580',
|
|
10798
|
+
'ulcorn': '\u231C',
|
|
10799
|
+
'ulcorner': '\u231C',
|
|
10800
|
+
'ulcrop': '\u230F',
|
|
10801
|
+
'ultri': '\u25F8',
|
|
10802
|
+
'umacr': '\u016B',
|
|
10803
|
+
'uogon': '\u0173',
|
|
10804
|
+
'uopf': '\uD835\uDD66',
|
|
10805
|
+
'upsi': '\u03C5',
|
|
10806
|
+
'upsilon': '\u03C5',
|
|
10807
|
+
'upuparrows': '\u21C8',
|
|
10808
|
+
'uuarr': '\u21C8',
|
|
10809
|
+
'urcorn': '\u231D',
|
|
10810
|
+
'urcorner': '\u231D',
|
|
10811
|
+
'urcrop': '\u230E',
|
|
10812
|
+
'uring': '\u016F',
|
|
10813
|
+
'urtri': '\u25F9',
|
|
10814
|
+
'uscr': '\uD835\uDCCA',
|
|
10815
|
+
'utdot': '\u22F0',
|
|
10816
|
+
'utilde': '\u0169',
|
|
10817
|
+
'uuml': '\u00FC',
|
|
10818
|
+
'uwangle': '\u29A7',
|
|
10819
|
+
'vBar': '\u2AE8',
|
|
10820
|
+
'vBarv': '\u2AE9',
|
|
10821
|
+
'vangrt': '\u299C',
|
|
10822
|
+
'varsubsetneq': '\u228A\uFE00',
|
|
10823
|
+
'vsubne': '\u228A\uFE00',
|
|
10824
|
+
'varsubsetneqq': '\u2ACB\uFE00',
|
|
10825
|
+
'vsubnE': '\u2ACB\uFE00',
|
|
10826
|
+
'varsupsetneq': '\u228B\uFE00',
|
|
10827
|
+
'vsupne': '\u228B\uFE00',
|
|
10828
|
+
'varsupsetneqq': '\u2ACC\uFE00',
|
|
10829
|
+
'vsupnE': '\u2ACC\uFE00',
|
|
10830
|
+
'vcy': '\u0432',
|
|
10831
|
+
'veebar': '\u22BB',
|
|
10832
|
+
'veeeq': '\u225A',
|
|
10833
|
+
'vellip': '\u22EE',
|
|
10834
|
+
'vfr': '\uD835\uDD33',
|
|
10835
|
+
'vopf': '\uD835\uDD67',
|
|
10836
|
+
'vscr': '\uD835\uDCCB',
|
|
10837
|
+
'vzigzag': '\u299A',
|
|
10838
|
+
'wcirc': '\u0175',
|
|
10839
|
+
'wedbar': '\u2A5F',
|
|
10840
|
+
'wedgeq': '\u2259',
|
|
10841
|
+
'weierp': '\u2118',
|
|
10842
|
+
'wp': '\u2118',
|
|
10843
|
+
'wfr': '\uD835\uDD34',
|
|
10844
|
+
'wopf': '\uD835\uDD68',
|
|
10845
|
+
'wscr': '\uD835\uDCCC',
|
|
10846
|
+
'xfr': '\uD835\uDD35',
|
|
10847
|
+
'xi': '\u03BE',
|
|
10848
|
+
'xnis': '\u22FB',
|
|
10849
|
+
'xopf': '\uD835\uDD69',
|
|
10850
|
+
'xscr': '\uD835\uDCCD',
|
|
10851
|
+
'yacute': '\u00FD',
|
|
10852
|
+
'yacy': '\u044F',
|
|
10853
|
+
'ycirc': '\u0177',
|
|
10854
|
+
'ycy': '\u044B',
|
|
10855
|
+
'yen': '\u00A5',
|
|
10856
|
+
'yfr': '\uD835\uDD36',
|
|
10857
|
+
'yicy': '\u0457',
|
|
10858
|
+
'yopf': '\uD835\uDD6A',
|
|
10859
|
+
'yscr': '\uD835\uDCCE',
|
|
10860
|
+
'yucy': '\u044E',
|
|
10861
|
+
'yuml': '\u00FF',
|
|
10862
|
+
'zacute': '\u017A',
|
|
10863
|
+
'zcaron': '\u017E',
|
|
10864
|
+
'zcy': '\u0437',
|
|
10865
|
+
'zdot': '\u017C',
|
|
10866
|
+
'zeta': '\u03B6',
|
|
10867
|
+
'zfr': '\uD835\uDD37',
|
|
10868
|
+
'zhcy': '\u0436',
|
|
10869
|
+
'zigrarr': '\u21DD',
|
|
10870
|
+
'zopf': '\uD835\uDD6B',
|
|
10871
|
+
'zscr': '\uD835\uDCCF',
|
|
10872
|
+
'zwj': '\u200D',
|
|
10873
|
+
'zwnj': '\u200C'
|
|
10874
|
+
};
|
|
10875
|
+
// The &ngsp; pseudo-entity is denoting a space. see:
|
|
10876
|
+
// https://github.com/dart-lang/angular/blob/0bb611387d29d65b5af7f9d2515ab571fd3fbee4/_tests/test/compiler/preserve_whitespace_test.dart
|
|
10877
|
+
const NGSP_UNICODE = '\uE500';
|
|
10878
|
+
NAMED_ENTITIES['ngsp'] = NGSP_UNICODE;
|
|
10879
|
+
|
|
9004
10880
|
/**
|
|
9005
10881
|
* @license
|
|
9006
10882
|
* Copyright Google LLC All Rights Reserved.
|
|
@@ -15410,8 +17286,8 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
15410
17286
|
this._bindingScope.notifyImplicitReceiverUse();
|
|
15411
17287
|
}
|
|
15412
17288
|
// LocalResolver
|
|
15413
|
-
maybeRestoreView(
|
|
15414
|
-
this._bindingScope.maybeRestoreView(
|
|
17289
|
+
maybeRestoreView() {
|
|
17290
|
+
this._bindingScope.maybeRestoreView();
|
|
15415
17291
|
}
|
|
15416
17292
|
i18nTranslate(message, params = {}, ref, transformFn) {
|
|
15417
17293
|
const _ref = ref || this.i18nGenerateMainBlockVar();
|
|
@@ -16505,14 +18381,13 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
16505
18381
|
lhs: value.lhs,
|
|
16506
18382
|
declareLocalCallback: value.declareLocalCallback,
|
|
16507
18383
|
declare: false,
|
|
16508
|
-
priority: value.priority
|
|
16509
|
-
localRef: value.localRef
|
|
18384
|
+
priority: value.priority
|
|
16510
18385
|
};
|
|
16511
18386
|
// Cache the value locally.
|
|
16512
18387
|
this.map.set(name, value);
|
|
16513
18388
|
// Possibly generate a shared context var
|
|
16514
18389
|
this.maybeGenerateSharedContextVar(value);
|
|
16515
|
-
this.maybeRestoreView(
|
|
18390
|
+
this.maybeRestoreView();
|
|
16516
18391
|
}
|
|
16517
18392
|
if (value.declareLocalCallback && !value.declare) {
|
|
16518
18393
|
value.declare = true;
|
|
@@ -16552,7 +18427,6 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
16552
18427
|
declare: false,
|
|
16553
18428
|
declareLocalCallback: declareLocalCallback,
|
|
16554
18429
|
priority: priority,
|
|
16555
|
-
localRef: localRef || false
|
|
16556
18430
|
});
|
|
16557
18431
|
return this;
|
|
16558
18432
|
}
|
|
@@ -16616,22 +18490,20 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
16616
18490
|
},
|
|
16617
18491
|
declare: false,
|
|
16618
18492
|
priority: 2 /* SHARED_CONTEXT */,
|
|
16619
|
-
localRef: false
|
|
16620
18493
|
});
|
|
16621
18494
|
}
|
|
16622
18495
|
getComponentProperty(name) {
|
|
16623
18496
|
const componentValue = this.map.get(SHARED_CONTEXT_KEY + 0);
|
|
16624
18497
|
componentValue.declare = true;
|
|
16625
|
-
this.maybeRestoreView(
|
|
18498
|
+
this.maybeRestoreView();
|
|
16626
18499
|
return componentValue.lhs.prop(name);
|
|
16627
18500
|
}
|
|
16628
|
-
maybeRestoreView(
|
|
16629
|
-
//
|
|
16630
|
-
//
|
|
16631
|
-
//
|
|
16632
|
-
//
|
|
16633
|
-
|
|
16634
|
-
if (this.isListenerScope() && (retrievalLevel < this.bindingLevel || localRefLookup)) {
|
|
18501
|
+
maybeRestoreView() {
|
|
18502
|
+
// View restoration is required for listener instructions inside embedded views, because
|
|
18503
|
+
// they only run in creation mode and they can have references to the context object.
|
|
18504
|
+
// If the context object changes in update mode, the reference will be incorrect, because
|
|
18505
|
+
// it was established during creation.
|
|
18506
|
+
if (this.isListenerScope()) {
|
|
16635
18507
|
if (!this.parent.restoreViewVariable) {
|
|
16636
18508
|
// parent saves variable to generate a shared `const $s$ = getCurrentView();` instruction
|
|
16637
18509
|
this.parent.restoreViewVariable = variable(this.parent.freshReferenceName());
|
|
@@ -17598,13 +19470,13 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
17598
19470
|
* found in the LICENSE file at https://angular.io/license
|
|
17599
19471
|
*/
|
|
17600
19472
|
/**
|
|
17601
|
-
* An interface for retrieving documents by URL that the compiler uses
|
|
17602
|
-
*
|
|
19473
|
+
* An interface for retrieving documents by URL that the compiler uses to
|
|
19474
|
+
* load templates.
|
|
19475
|
+
*
|
|
19476
|
+
* This is an abstract class, rather than an interface, so that it can be used
|
|
19477
|
+
* as injection token.
|
|
17603
19478
|
*/
|
|
17604
19479
|
class ResourceLoader {
|
|
17605
|
-
get(url) {
|
|
17606
|
-
return '';
|
|
17607
|
-
}
|
|
17608
19480
|
}
|
|
17609
19481
|
|
|
17610
19482
|
/**
|
|
@@ -18053,7 +19925,7 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
18053
19925
|
* Use of this source code is governed by an MIT-style license that can be
|
|
18054
19926
|
* found in the LICENSE file at https://angular.io/license
|
|
18055
19927
|
*/
|
|
18056
|
-
const VERSION$1 = new Version('12.1.
|
|
19928
|
+
const VERSION$1 = new Version('12.1.5');
|
|
18057
19929
|
|
|
18058
19930
|
/**
|
|
18059
19931
|
* @license
|
|
@@ -18184,7 +20056,7 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
18184
20056
|
const { directives, bindings, references } = DirectiveBinder.apply(target.template, this.directiveMatcher);
|
|
18185
20057
|
// Finally, run the TemplateBinder to bind references, variables, and other entities within the
|
|
18186
20058
|
// template. This extracts all the metadata that doesn't depend on directive matching.
|
|
18187
|
-
const { expressions, symbols, nestingLevel, usedPipes } = TemplateBinder.
|
|
20059
|
+
const { expressions, symbols, nestingLevel, usedPipes } = TemplateBinder.applyWithScope(target.template, scope);
|
|
18188
20060
|
return new R3BoundTarget(target, directives, bindings, references, expressions, symbols, nestingLevel, templateEntities, usedPipes);
|
|
18189
20061
|
}
|
|
18190
20062
|
}
|
|
@@ -18461,7 +20333,7 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
18461
20333
|
* nesting level (how many levels deep within the template structure the `Template` is), starting
|
|
18462
20334
|
* at 1.
|
|
18463
20335
|
*/
|
|
18464
|
-
static
|
|
20336
|
+
static applyWithScope(template, scope) {
|
|
18465
20337
|
const expressions = new Map();
|
|
18466
20338
|
const symbols = new Map();
|
|
18467
20339
|
const nestingLevel = new Map();
|
|
@@ -18692,7 +20564,7 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
18692
20564
|
function compileDeclareClassMetadata(metadata) {
|
|
18693
20565
|
const definitionMap = new DefinitionMap();
|
|
18694
20566
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION));
|
|
18695
|
-
definitionMap.set('version', literal('12.1.
|
|
20567
|
+
definitionMap.set('version', literal('12.1.5'));
|
|
18696
20568
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
18697
20569
|
definitionMap.set('type', metadata.type);
|
|
18698
20570
|
definitionMap.set('decorators', metadata.decorators);
|
|
@@ -18732,7 +20604,7 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
18732
20604
|
function createDirectiveDefinitionMap(meta) {
|
|
18733
20605
|
const definitionMap = new DefinitionMap();
|
|
18734
20606
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$1));
|
|
18735
|
-
definitionMap.set('version', literal('12.1.
|
|
20607
|
+
definitionMap.set('version', literal('12.1.5'));
|
|
18736
20608
|
// e.g. `type: MyDirective`
|
|
18737
20609
|
definitionMap.set('type', meta.internalType);
|
|
18738
20610
|
// e.g. `selector: 'some-dir'`
|
|
@@ -18949,7 +20821,7 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
18949
20821
|
function compileDeclareFactoryFunction(meta) {
|
|
18950
20822
|
const definitionMap = new DefinitionMap();
|
|
18951
20823
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$2));
|
|
18952
|
-
definitionMap.set('version', literal('12.1.
|
|
20824
|
+
definitionMap.set('version', literal('12.1.5'));
|
|
18953
20825
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
18954
20826
|
definitionMap.set('type', meta.internalType);
|
|
18955
20827
|
definitionMap.set('deps', compileDependencies(meta.deps));
|
|
@@ -18991,7 +20863,7 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
18991
20863
|
function createInjectableDefinitionMap(meta) {
|
|
18992
20864
|
const definitionMap = new DefinitionMap();
|
|
18993
20865
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$3));
|
|
18994
|
-
definitionMap.set('version', literal('12.1.
|
|
20866
|
+
definitionMap.set('version', literal('12.1.5'));
|
|
18995
20867
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
18996
20868
|
definitionMap.set('type', meta.internalType);
|
|
18997
20869
|
// Only generate providedIn property if it has a non-null value
|
|
@@ -19070,7 +20942,7 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
19070
20942
|
function createInjectorDefinitionMap(meta) {
|
|
19071
20943
|
const definitionMap = new DefinitionMap();
|
|
19072
20944
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$4));
|
|
19073
|
-
definitionMap.set('version', literal('12.1.
|
|
20945
|
+
definitionMap.set('version', literal('12.1.5'));
|
|
19074
20946
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
19075
20947
|
definitionMap.set('type', meta.internalType);
|
|
19076
20948
|
definitionMap.set('providers', meta.providers);
|
|
@@ -19107,7 +20979,7 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
19107
20979
|
function createNgModuleDefinitionMap(meta) {
|
|
19108
20980
|
const definitionMap = new DefinitionMap();
|
|
19109
20981
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$5));
|
|
19110
|
-
definitionMap.set('version', literal('12.1.
|
|
20982
|
+
definitionMap.set('version', literal('12.1.5'));
|
|
19111
20983
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
19112
20984
|
definitionMap.set('type', meta.internalType);
|
|
19113
20985
|
// We only generate the keys in the metadata if the arrays contain values.
|
|
@@ -19165,7 +21037,7 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
19165
21037
|
function createPipeDefinitionMap(meta) {
|
|
19166
21038
|
const definitionMap = new DefinitionMap();
|
|
19167
21039
|
definitionMap.set('minVersion', literal(MINIMUM_PARTIAL_LINKER_VERSION$6));
|
|
19168
|
-
definitionMap.set('version', literal('12.1.
|
|
21040
|
+
definitionMap.set('version', literal('12.1.5'));
|
|
19169
21041
|
definitionMap.set('ngImport', importExpr(Identifiers.core));
|
|
19170
21042
|
// e.g. `type: MyPipe`
|
|
19171
21043
|
definitionMap.set('type', meta.internalType);
|
|
@@ -19197,7 +21069,7 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
19197
21069
|
* Use of this source code is governed by an MIT-style license that can be
|
|
19198
21070
|
* found in the LICENSE file at https://angular.io/license
|
|
19199
21071
|
*/
|
|
19200
|
-
const VERSION$2 = new Version('12.1.
|
|
21072
|
+
const VERSION$2 = new Version('12.1.5');
|
|
19201
21073
|
|
|
19202
21074
|
/**
|
|
19203
21075
|
* @license
|
|
@@ -21617,6 +23489,9 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
21617
23489
|
}
|
|
21618
23490
|
return { node, from: importDecl.moduleSpecifier.text };
|
|
21619
23491
|
}
|
|
23492
|
+
else if (ts$1.isModuleDeclaration(decl)) {
|
|
23493
|
+
return { node, from: null };
|
|
23494
|
+
}
|
|
21620
23495
|
else {
|
|
21621
23496
|
throw new Error(`Unknown import type?`);
|
|
21622
23497
|
}
|
|
@@ -21874,7 +23749,7 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
21874
23749
|
* Use of this source code is governed by an MIT-style license that can be
|
|
21875
23750
|
* found in the LICENSE file at https://angular.io/license
|
|
21876
23751
|
*/
|
|
21877
|
-
function extractReferencesFromType(checker, def,
|
|
23752
|
+
function extractReferencesFromType(checker, def, bestGuessOwningModule) {
|
|
21878
23753
|
if (!ts$1.isTupleTypeNode(def)) {
|
|
21879
23754
|
return [];
|
|
21880
23755
|
}
|
|
@@ -21887,12 +23762,15 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
21887
23762
|
if (!isNamedClassDeclaration(node)) {
|
|
21888
23763
|
throw new Error(`Expected named ClassDeclaration: ${nodeDebugInfo(node)}`);
|
|
21889
23764
|
}
|
|
21890
|
-
|
|
21891
|
-
|
|
21892
|
-
|
|
23765
|
+
if (from !== null && !from.startsWith('.')) {
|
|
23766
|
+
// The symbol was imported using an absolute module specifier so return a reference that
|
|
23767
|
+
// uses that absolute module specifier as its best guess owning module.
|
|
23768
|
+
return new Reference$1(node, { specifier: from, resolutionContext: def.getSourceFile().fileName });
|
|
21893
23769
|
}
|
|
21894
23770
|
else {
|
|
21895
|
-
|
|
23771
|
+
// For local symbols or symbols that were imported using a relative module import it is
|
|
23772
|
+
// assumed that the symbol is exported from the provided best guess owning module.
|
|
23773
|
+
return new Reference$1(node, bestGuessOwningModule);
|
|
21896
23774
|
}
|
|
21897
23775
|
});
|
|
21898
23776
|
}
|
|
@@ -22087,7 +23965,6 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
22087
23965
|
*/
|
|
22088
23966
|
getNgModuleMetadata(ref) {
|
|
22089
23967
|
const clazz = ref.node;
|
|
22090
|
-
const resolutionContext = clazz.getSourceFile().fileName;
|
|
22091
23968
|
// This operation is explicitly not memoized, as it depends on `ref.ownedByModuleGuess`.
|
|
22092
23969
|
// TODO(alxhub): investigate caching of .d.ts module metadata.
|
|
22093
23970
|
const ngModuleDef = this.reflector.getMembersOfClass(clazz).find(member => member.name === 'ɵmod' && member.isStatic);
|
|
@@ -22105,9 +23982,9 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
22105
23982
|
const [_, declarationMetadata, importMetadata, exportMetadata] = ngModuleDef.type.typeArguments;
|
|
22106
23983
|
return {
|
|
22107
23984
|
ref,
|
|
22108
|
-
declarations: extractReferencesFromType(this.checker, declarationMetadata, ref.
|
|
22109
|
-
exports: extractReferencesFromType(this.checker, exportMetadata, ref.
|
|
22110
|
-
imports: extractReferencesFromType(this.checker, importMetadata, ref.
|
|
23985
|
+
declarations: extractReferencesFromType(this.checker, declarationMetadata, ref.bestGuessOwningModule),
|
|
23986
|
+
exports: extractReferencesFromType(this.checker, exportMetadata, ref.bestGuessOwningModule),
|
|
23987
|
+
imports: extractReferencesFromType(this.checker, importMetadata, ref.bestGuessOwningModule),
|
|
22111
23988
|
schemas: [],
|
|
22112
23989
|
rawDeclarations: null,
|
|
22113
23990
|
};
|
|
@@ -23344,10 +25221,11 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
23344
25221
|
if (expr === null) {
|
|
23345
25222
|
return DynamicValue.fromDynamicInput(node, DynamicValue.fromExternalReference(node.expression, lhs));
|
|
23346
25223
|
}
|
|
23347
|
-
// If the
|
|
23348
|
-
//
|
|
23349
|
-
if (
|
|
23350
|
-
|
|
25224
|
+
// If the foreign expression occurs in a different file, then assume that the owning module
|
|
25225
|
+
// of the call expression should also be used for the resolved foreign expression.
|
|
25226
|
+
if (expr.getSourceFile() !== node.expression.getSourceFile() &&
|
|
25227
|
+
lhs.bestGuessOwningModule !== null) {
|
|
25228
|
+
context = Object.assign(Object.assign({}, context), { absoluteModuleName: lhs.bestGuessOwningModule.specifier, resolutionContext: lhs.bestGuessOwningModule.resolutionContext });
|
|
23351
25229
|
}
|
|
23352
25230
|
return this.visitFfrExpression(expr, context);
|
|
23353
25231
|
}
|
|
@@ -24292,6 +26170,11 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
24292
26170
|
* Ivy traits.
|
|
24293
26171
|
*/
|
|
24294
26172
|
this.fileToClasses = new Map();
|
|
26173
|
+
/**
|
|
26174
|
+
* Tracks which source files have been analyzed but did not contain any traits. This set allows
|
|
26175
|
+
* the compiler to skip analyzing these files in an incremental rebuild.
|
|
26176
|
+
*/
|
|
26177
|
+
this.filesWithoutTraits = new Set();
|
|
24295
26178
|
this.reexportMap = new Map();
|
|
24296
26179
|
this.handlersByName = new Map();
|
|
24297
26180
|
for (const handler of handlers) {
|
|
@@ -24314,11 +26197,16 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
24314
26197
|
const promises = [];
|
|
24315
26198
|
const priorWork = this.incrementalBuild.priorAnalysisFor(sf);
|
|
24316
26199
|
if (priorWork !== null) {
|
|
24317
|
-
for (const priorRecord of priorWork) {
|
|
24318
|
-
this.adopt(priorRecord);
|
|
24319
|
-
}
|
|
24320
26200
|
this.perf.eventCount(PerfEvent.SourceFileReuseAnalysis);
|
|
24321
|
-
|
|
26201
|
+
if (priorWork.length > 0) {
|
|
26202
|
+
for (const priorRecord of priorWork) {
|
|
26203
|
+
this.adopt(priorRecord);
|
|
26204
|
+
}
|
|
26205
|
+
this.perf.eventCount(PerfEvent.TraitReuseAnalysis, priorWork.length);
|
|
26206
|
+
}
|
|
26207
|
+
else {
|
|
26208
|
+
this.filesWithoutTraits.add(sf);
|
|
26209
|
+
}
|
|
24322
26210
|
// Skip the rest of analysis, as this file's prior traits are being reused.
|
|
24323
26211
|
return;
|
|
24324
26212
|
}
|
|
@@ -24363,6 +26251,9 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
24363
26251
|
}
|
|
24364
26252
|
result.set(sf, records);
|
|
24365
26253
|
}
|
|
26254
|
+
for (const sf of this.filesWithoutTraits) {
|
|
26255
|
+
result.set(sf, []);
|
|
26256
|
+
}
|
|
24366
26257
|
return result;
|
|
24367
26258
|
}
|
|
24368
26259
|
/**
|
|
@@ -25836,13 +27727,6 @@ define(['exports', 'typescript/lib/tsserverlibrary', 'os', 'typescript', 'fs', '
|
|
|
25836
27727
|
*/
|
|
25837
27728
|
this._after = new Map();
|
|
25838
27729
|
}
|
|
25839
|
-
/**
|
|
25840
|
-
* Visit a class declaration, returning at least the transformed declaration and optionally other
|
|
25841
|
-
* nodes to insert before the declaration.
|
|
25842
|
-
*/
|
|
25843
|
-
visitClassDeclaration(node) {
|
|
25844
|
-
return { node };
|
|
25845
|
-
}
|
|
25846
27730
|
_visitListEntryNode(node, visitor) {
|
|
25847
27731
|
const result = visitor(node);
|
|
25848
27732
|
if (result.before !== undefined) {
|
|
@@ -29689,6 +31573,13 @@ Either add the @Injectable() decorator to '${provider.node.name
|
|
|
29689
31573
|
class CycleAnalyzer {
|
|
29690
31574
|
constructor(importGraph) {
|
|
29691
31575
|
this.importGraph = importGraph;
|
|
31576
|
+
/**
|
|
31577
|
+
* Cycle detection is requested with the same `from` source file for all used directives and pipes
|
|
31578
|
+
* within a component, which makes it beneficial to cache the results as long as the `from` source
|
|
31579
|
+
* file has not changed. This avoids visiting the import graph that is reachable from multiple
|
|
31580
|
+
* directives/pipes more than once.
|
|
31581
|
+
*/
|
|
31582
|
+
this.cachedResults = null;
|
|
29692
31583
|
}
|
|
29693
31584
|
/**
|
|
29694
31585
|
* Check for a cycle to be created in the `ts.Program` by adding an import between `from` and
|
|
@@ -29698,10 +31589,12 @@ Either add the @Injectable() decorator to '${provider.node.name
|
|
|
29698
31589
|
* otherwise.
|
|
29699
31590
|
*/
|
|
29700
31591
|
wouldCreateCycle(from, to) {
|
|
31592
|
+
// Try to reuse the cached results as long as the `from` source file is the same.
|
|
31593
|
+
if (this.cachedResults === null || this.cachedResults.from !== from) {
|
|
31594
|
+
this.cachedResults = new CycleResults(from, this.importGraph);
|
|
31595
|
+
}
|
|
29701
31596
|
// Import of 'from' -> 'to' is illegal if an edge 'to' -> 'from' already exists.
|
|
29702
|
-
return this.
|
|
29703
|
-
new Cycle(this.importGraph, from, to) :
|
|
29704
|
-
null;
|
|
31597
|
+
return this.cachedResults.wouldBeCyclic(to) ? new Cycle(this.importGraph, from, to) : null;
|
|
29705
31598
|
}
|
|
29706
31599
|
/**
|
|
29707
31600
|
* Record a synthetic import from `from` to `to`.
|
|
@@ -29710,9 +31603,73 @@ Either add the @Injectable() decorator to '${provider.node.name
|
|
|
29710
31603
|
* import graph for cycle creation.
|
|
29711
31604
|
*/
|
|
29712
31605
|
recordSyntheticImport(from, to) {
|
|
31606
|
+
this.cachedResults = null;
|
|
29713
31607
|
this.importGraph.addSyntheticImport(from, to);
|
|
29714
31608
|
}
|
|
29715
31609
|
}
|
|
31610
|
+
const NgCyclicResult = Symbol('NgCyclicResult');
|
|
31611
|
+
/**
|
|
31612
|
+
* Stores the results of cycle detection in a memory efficient manner. A symbol is attached to
|
|
31613
|
+
* source files that indicate what the cyclic analysis result is, as indicated by two markers that
|
|
31614
|
+
* are unique to this instance. This alleviates memory pressure in large import graphs, as each
|
|
31615
|
+
* execution is able to store its results in the same memory location (i.e. in the symbol
|
|
31616
|
+
* on the source file) as earlier executions.
|
|
31617
|
+
*/
|
|
31618
|
+
class CycleResults {
|
|
31619
|
+
constructor(from, importGraph) {
|
|
31620
|
+
this.from = from;
|
|
31621
|
+
this.importGraph = importGraph;
|
|
31622
|
+
this.cyclic = {};
|
|
31623
|
+
this.acyclic = {};
|
|
31624
|
+
}
|
|
31625
|
+
wouldBeCyclic(sf) {
|
|
31626
|
+
const cached = this.getCachedResult(sf);
|
|
31627
|
+
if (cached !== null) {
|
|
31628
|
+
// The result for this source file has already been computed, so return its result.
|
|
31629
|
+
return cached;
|
|
31630
|
+
}
|
|
31631
|
+
if (sf === this.from) {
|
|
31632
|
+
// We have reached the source file that we want to create an import from, which means that
|
|
31633
|
+
// doing so would create a cycle.
|
|
31634
|
+
return true;
|
|
31635
|
+
}
|
|
31636
|
+
// Assume for now that the file will be acyclic; this prevents infinite recursion in the case
|
|
31637
|
+
// that `sf` is visited again as part of an existing cycle in the graph.
|
|
31638
|
+
this.markAcyclic(sf);
|
|
31639
|
+
const imports = this.importGraph.importsOf(sf);
|
|
31640
|
+
for (const imported of imports) {
|
|
31641
|
+
if (this.wouldBeCyclic(imported)) {
|
|
31642
|
+
this.markCyclic(sf);
|
|
31643
|
+
return true;
|
|
31644
|
+
}
|
|
31645
|
+
}
|
|
31646
|
+
return false;
|
|
31647
|
+
}
|
|
31648
|
+
/**
|
|
31649
|
+
* Returns whether the source file is already known to be cyclic, or `null` if the result is not
|
|
31650
|
+
* yet known.
|
|
31651
|
+
*/
|
|
31652
|
+
getCachedResult(sf) {
|
|
31653
|
+
const result = sf[NgCyclicResult];
|
|
31654
|
+
if (result === this.cyclic) {
|
|
31655
|
+
return true;
|
|
31656
|
+
}
|
|
31657
|
+
else if (result === this.acyclic) {
|
|
31658
|
+
return false;
|
|
31659
|
+
}
|
|
31660
|
+
else {
|
|
31661
|
+
// Either the symbol is missing or its value does not correspond with one of the current
|
|
31662
|
+
// result markers. As such, the result is unknown.
|
|
31663
|
+
return null;
|
|
31664
|
+
}
|
|
31665
|
+
}
|
|
31666
|
+
markCyclic(sf) {
|
|
31667
|
+
sf[NgCyclicResult] = this.cyclic;
|
|
31668
|
+
}
|
|
31669
|
+
markAcyclic(sf) {
|
|
31670
|
+
sf[NgCyclicResult] = this.acyclic;
|
|
31671
|
+
}
|
|
31672
|
+
}
|
|
29716
31673
|
/**
|
|
29717
31674
|
* Represents an import cycle between `from` and `to` in the program.
|
|
29718
31675
|
*
|
|
@@ -29753,7 +31710,7 @@ Either add the @Injectable() decorator to '${provider.node.name
|
|
|
29753
31710
|
constructor(checker, perf) {
|
|
29754
31711
|
this.checker = checker;
|
|
29755
31712
|
this.perf = perf;
|
|
29756
|
-
this.
|
|
31713
|
+
this.imports = new Map();
|
|
29757
31714
|
}
|
|
29758
31715
|
/**
|
|
29759
31716
|
* List the direct (not transitive) imports of a given `ts.SourceFile`.
|
|
@@ -29761,27 +31718,10 @@ Either add the @Injectable() decorator to '${provider.node.name
|
|
|
29761
31718
|
* This operation is cached.
|
|
29762
31719
|
*/
|
|
29763
31720
|
importsOf(sf) {
|
|
29764
|
-
if (!this.
|
|
29765
|
-
this.
|
|
31721
|
+
if (!this.imports.has(sf)) {
|
|
31722
|
+
this.imports.set(sf, this.scanImports(sf));
|
|
29766
31723
|
}
|
|
29767
|
-
return this.
|
|
29768
|
-
}
|
|
29769
|
-
/**
|
|
29770
|
-
* Lists the transitive imports of a given `ts.SourceFile`.
|
|
29771
|
-
*/
|
|
29772
|
-
transitiveImportsOf(sf) {
|
|
29773
|
-
const imports = new Set();
|
|
29774
|
-
this.transitiveImportsOfHelper(sf, imports);
|
|
29775
|
-
return imports;
|
|
29776
|
-
}
|
|
29777
|
-
transitiveImportsOfHelper(sf, results) {
|
|
29778
|
-
if (results.has(sf)) {
|
|
29779
|
-
return;
|
|
29780
|
-
}
|
|
29781
|
-
results.add(sf);
|
|
29782
|
-
this.importsOf(sf).forEach(imported => {
|
|
29783
|
-
this.transitiveImportsOfHelper(imported, results);
|
|
29784
|
-
});
|
|
31724
|
+
return this.imports.get(sf);
|
|
29785
31725
|
}
|
|
29786
31726
|
/**
|
|
29787
31727
|
* Find an import path from the `start` SourceFile to the `end` SourceFile.
|
|
@@ -30079,6 +32019,213 @@ Either add the @Injectable() decorator to '${provider.node.name
|
|
|
30079
32019
|
}
|
|
30080
32020
|
}
|
|
30081
32021
|
|
|
32022
|
+
/**
|
|
32023
|
+
* @license
|
|
32024
|
+
* Copyright Google LLC All Rights Reserved.
|
|
32025
|
+
*
|
|
32026
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
32027
|
+
* found in the LICENSE file at https://angular.io/license
|
|
32028
|
+
*/
|
|
32029
|
+
const NgOriginalFile = Symbol('NgOriginalFile');
|
|
32030
|
+
var UpdateMode;
|
|
32031
|
+
(function (UpdateMode) {
|
|
32032
|
+
/**
|
|
32033
|
+
* A complete update creates a completely new overlay of type-checking code on top of the user's
|
|
32034
|
+
* original program, which doesn't include type-checking code from previous calls to
|
|
32035
|
+
* `updateFiles`.
|
|
32036
|
+
*/
|
|
32037
|
+
UpdateMode[UpdateMode["Complete"] = 0] = "Complete";
|
|
32038
|
+
/**
|
|
32039
|
+
* An incremental update changes the contents of some files in the type-checking program without
|
|
32040
|
+
* reverting any prior changes.
|
|
32041
|
+
*/
|
|
32042
|
+
UpdateMode[UpdateMode["Incremental"] = 1] = "Incremental";
|
|
32043
|
+
})(UpdateMode || (UpdateMode = {}));
|
|
32044
|
+
|
|
32045
|
+
/**
|
|
32046
|
+
* @license
|
|
32047
|
+
* Copyright Google LLC All Rights Reserved.
|
|
32048
|
+
*
|
|
32049
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
32050
|
+
* found in the LICENSE file at https://angular.io/license
|
|
32051
|
+
*/
|
|
32052
|
+
/**
|
|
32053
|
+
* A `Symbol` which is used to patch extension data onto `ts.SourceFile`s.
|
|
32054
|
+
*/
|
|
32055
|
+
const NgExtension = Symbol('NgExtension');
|
|
32056
|
+
/**
|
|
32057
|
+
* Narrows a `ts.SourceFile` if it has an `NgExtension` property.
|
|
32058
|
+
*/
|
|
32059
|
+
function isExtended(sf) {
|
|
32060
|
+
return sf[NgExtension] !== undefined;
|
|
32061
|
+
}
|
|
32062
|
+
/**
|
|
32063
|
+
* Check whether `sf` is a shim `ts.SourceFile` (either a per-file shim or a top-level shim).
|
|
32064
|
+
*/
|
|
32065
|
+
function isShim(sf) {
|
|
32066
|
+
return isExtended(sf) && (sf[NgExtension].fileShim !== null || sf[NgExtension].isTopLevelShim);
|
|
32067
|
+
}
|
|
32068
|
+
|
|
32069
|
+
/**
|
|
32070
|
+
* @license
|
|
32071
|
+
* Copyright Google LLC All Rights Reserved.
|
|
32072
|
+
*
|
|
32073
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
32074
|
+
* found in the LICENSE file at https://angular.io/license
|
|
32075
|
+
*/
|
|
32076
|
+
const STRIP_NG_FACTORY = /(.*)NgFactory$/;
|
|
32077
|
+
function generatedFactoryTransform(factoryMap, importRewriter) {
|
|
32078
|
+
return (context) => {
|
|
32079
|
+
return (file) => {
|
|
32080
|
+
return transformFactorySourceFile(factoryMap, context, importRewriter, file);
|
|
32081
|
+
};
|
|
32082
|
+
};
|
|
32083
|
+
}
|
|
32084
|
+
function transformFactorySourceFile(factoryMap, context, importRewriter, file) {
|
|
32085
|
+
// If this is not a generated file, it won't have factory info associated with it.
|
|
32086
|
+
if (!factoryMap.has(file.fileName)) {
|
|
32087
|
+
// Don't transform non-generated code.
|
|
32088
|
+
return file;
|
|
32089
|
+
}
|
|
32090
|
+
const { moduleSymbols, sourceFilePath } = factoryMap.get(file.fileName);
|
|
32091
|
+
// Not every exported factory statement is valid. They were generated before the program was
|
|
32092
|
+
// analyzed, and before ngtsc knew which symbols were actually NgModules. factoryMap contains
|
|
32093
|
+
// that knowledge now, so this transform filters the statement list and removes exported factories
|
|
32094
|
+
// that aren't actually factories.
|
|
32095
|
+
//
|
|
32096
|
+
// This could leave the generated factory file empty. To prevent this (it causes issues with
|
|
32097
|
+
// closure compiler) a 'ɵNonEmptyModule' export was added when the factory shim was created.
|
|
32098
|
+
// Preserve that export if needed, and remove it otherwise.
|
|
32099
|
+
//
|
|
32100
|
+
// Additionally, an import to @angular/core is generated, but the current compilation unit could
|
|
32101
|
+
// actually be @angular/core, in which case such an import is invalid and should be replaced with
|
|
32102
|
+
// the proper path to access Ivy symbols in core.
|
|
32103
|
+
// The filtered set of statements.
|
|
32104
|
+
const transformedStatements = [];
|
|
32105
|
+
// The statement identified as the ɵNonEmptyModule export.
|
|
32106
|
+
let nonEmptyExport = null;
|
|
32107
|
+
// Extracted identifiers which refer to import statements from @angular/core.
|
|
32108
|
+
const coreImportIdentifiers = new Set();
|
|
32109
|
+
// Consider all the statements.
|
|
32110
|
+
for (const stmt of file.statements) {
|
|
32111
|
+
// Look for imports to @angular/core.
|
|
32112
|
+
if (ts$1.isImportDeclaration(stmt) && ts$1.isStringLiteral(stmt.moduleSpecifier) &&
|
|
32113
|
+
stmt.moduleSpecifier.text === '@angular/core') {
|
|
32114
|
+
// Update the import path to point to the correct file using the ImportRewriter.
|
|
32115
|
+
const rewrittenModuleSpecifier = importRewriter.rewriteSpecifier('@angular/core', sourceFilePath);
|
|
32116
|
+
if (rewrittenModuleSpecifier !== stmt.moduleSpecifier.text) {
|
|
32117
|
+
transformedStatements.push(ts$1.updateImportDeclaration(stmt, stmt.decorators, stmt.modifiers, stmt.importClause, ts$1.createStringLiteral(rewrittenModuleSpecifier)));
|
|
32118
|
+
// Record the identifier by which this imported module goes, so references to its symbols
|
|
32119
|
+
// can be discovered later.
|
|
32120
|
+
if (stmt.importClause !== undefined && stmt.importClause.namedBindings !== undefined &&
|
|
32121
|
+
ts$1.isNamespaceImport(stmt.importClause.namedBindings)) {
|
|
32122
|
+
coreImportIdentifiers.add(stmt.importClause.namedBindings.name.text);
|
|
32123
|
+
}
|
|
32124
|
+
}
|
|
32125
|
+
else {
|
|
32126
|
+
transformedStatements.push(stmt);
|
|
32127
|
+
}
|
|
32128
|
+
}
|
|
32129
|
+
else if (ts$1.isVariableStatement(stmt) && stmt.declarationList.declarations.length === 1) {
|
|
32130
|
+
const decl = stmt.declarationList.declarations[0];
|
|
32131
|
+
// If this is the ɵNonEmptyModule export, then save it for later.
|
|
32132
|
+
if (ts$1.isIdentifier(decl.name)) {
|
|
32133
|
+
if (decl.name.text === 'ɵNonEmptyModule') {
|
|
32134
|
+
nonEmptyExport = stmt;
|
|
32135
|
+
continue;
|
|
32136
|
+
}
|
|
32137
|
+
// Otherwise, check if this export is a factory for a known NgModule, and retain it if so.
|
|
32138
|
+
const match = STRIP_NG_FACTORY.exec(decl.name.text);
|
|
32139
|
+
const module = match ? moduleSymbols.get(match[1]) : null;
|
|
32140
|
+
if (module) {
|
|
32141
|
+
// If the module can be tree shaken, then the factory should be wrapped in a
|
|
32142
|
+
// `noSideEffects()` call which tells Closure to treat the expression as pure, allowing
|
|
32143
|
+
// it to be removed if the result is not used.
|
|
32144
|
+
//
|
|
32145
|
+
// `NgModule`s with an `id` property will be lazy loaded. Google-internal lazy loading
|
|
32146
|
+
// infra relies on a side effect from the `new NgModuleFactory()` call, which registers
|
|
32147
|
+
// the module globally. Because of this, we **cannot** tree shake any module which has
|
|
32148
|
+
// an `id` property. Doing so would cause lazy loaded modules to never be registered.
|
|
32149
|
+
const moduleIsTreeShakable = !module.hasId;
|
|
32150
|
+
const newStmt = !moduleIsTreeShakable ?
|
|
32151
|
+
stmt :
|
|
32152
|
+
updateInitializers(stmt, (init) => init ? wrapInNoSideEffects(init) : undefined);
|
|
32153
|
+
transformedStatements.push(newStmt);
|
|
32154
|
+
}
|
|
32155
|
+
}
|
|
32156
|
+
else {
|
|
32157
|
+
// Leave the statement alone, as it can't be understood.
|
|
32158
|
+
transformedStatements.push(stmt);
|
|
32159
|
+
}
|
|
32160
|
+
}
|
|
32161
|
+
else {
|
|
32162
|
+
// Include non-variable statements (imports, etc).
|
|
32163
|
+
transformedStatements.push(stmt);
|
|
32164
|
+
}
|
|
32165
|
+
}
|
|
32166
|
+
// Check whether the empty module export is still needed.
|
|
32167
|
+
if (!transformedStatements.some(ts$1.isVariableStatement) && nonEmptyExport !== null) {
|
|
32168
|
+
// If the resulting file has no factories, include an empty export to
|
|
32169
|
+
// satisfy closure compiler.
|
|
32170
|
+
transformedStatements.push(nonEmptyExport);
|
|
32171
|
+
}
|
|
32172
|
+
file = ts$1.updateSourceFileNode(file, transformedStatements);
|
|
32173
|
+
// If any imports to @angular/core were detected and rewritten (which happens when compiling
|
|
32174
|
+
// @angular/core), go through the SourceFile and rewrite references to symbols imported from core.
|
|
32175
|
+
if (coreImportIdentifiers.size > 0) {
|
|
32176
|
+
const visit = (node) => {
|
|
32177
|
+
node = ts$1.visitEachChild(node, child => visit(child), context);
|
|
32178
|
+
// Look for expressions of the form "i.s" where 'i' is a detected name for an @angular/core
|
|
32179
|
+
// import that was changed above. Rewrite 's' using the ImportResolver.
|
|
32180
|
+
if (ts$1.isPropertyAccessExpression(node) && ts$1.isIdentifier(node.expression) &&
|
|
32181
|
+
coreImportIdentifiers.has(node.expression.text)) {
|
|
32182
|
+
// This is an import of a symbol from @angular/core. Transform it with the importRewriter.
|
|
32183
|
+
const rewrittenSymbol = importRewriter.rewriteSymbol(node.name.text, '@angular/core');
|
|
32184
|
+
if (rewrittenSymbol !== node.name.text) {
|
|
32185
|
+
const updated = ts$1.updatePropertyAccess(node, node.expression, ts$1.createIdentifier(rewrittenSymbol));
|
|
32186
|
+
node = updated;
|
|
32187
|
+
}
|
|
32188
|
+
}
|
|
32189
|
+
return node;
|
|
32190
|
+
};
|
|
32191
|
+
file = visit(file);
|
|
32192
|
+
}
|
|
32193
|
+
return file;
|
|
32194
|
+
}
|
|
32195
|
+
/**
|
|
32196
|
+
* Wraps the given expression in a call to `ɵnoSideEffects()`, which tells
|
|
32197
|
+
* Closure we don't care about the side effects of this expression and it should
|
|
32198
|
+
* be treated as "pure". Closure is free to tree shake this expression if its
|
|
32199
|
+
* result is not used.
|
|
32200
|
+
*
|
|
32201
|
+
* Example: Takes `1 + 2` and returns `i0.ɵnoSideEffects(() => 1 + 2)`.
|
|
32202
|
+
*/
|
|
32203
|
+
function wrapInNoSideEffects(expr) {
|
|
32204
|
+
const noSideEffects = ts$1.createPropertyAccess(ts$1.createIdentifier('i0'), 'ɵnoSideEffects');
|
|
32205
|
+
return ts$1.createCall(noSideEffects,
|
|
32206
|
+
/* typeArguments */ [],
|
|
32207
|
+
/* arguments */
|
|
32208
|
+
[
|
|
32209
|
+
ts$1.createFunctionExpression(
|
|
32210
|
+
/* modifiers */ [],
|
|
32211
|
+
/* asteriskToken */ undefined,
|
|
32212
|
+
/* name */ undefined,
|
|
32213
|
+
/* typeParameters */ [],
|
|
32214
|
+
/* parameters */ [],
|
|
32215
|
+
/* type */ undefined,
|
|
32216
|
+
/* body */ ts$1.createBlock([
|
|
32217
|
+
ts$1.createReturn(expr),
|
|
32218
|
+
])),
|
|
32219
|
+
]);
|
|
32220
|
+
}
|
|
32221
|
+
/**
|
|
32222
|
+
* Clones and updates the initializers for a given statement to use the new
|
|
32223
|
+
* expression provided. Does not mutate the input statement.
|
|
32224
|
+
*/
|
|
32225
|
+
function updateInitializers(stmt, update) {
|
|
32226
|
+
return ts$1.updateVariableStatement(stmt, stmt.modifiers, ts$1.updateVariableDeclarationList(stmt.declarationList, stmt.declarationList.declarations.map((decl) => ts$1.updateVariableDeclaration(decl, decl.name, decl.type, update(decl.initializer)))));
|
|
32227
|
+
}
|
|
32228
|
+
|
|
30082
32229
|
/**
|
|
30083
32230
|
* @license
|
|
30084
32231
|
* Copyright Google LLC All Rights Reserved.
|
|
@@ -30282,11 +32429,11 @@ Either add the @Injectable() decorator to '${provider.node.name
|
|
|
30282
32429
|
break;
|
|
30283
32430
|
}
|
|
30284
32431
|
const oldVersions = priorAnalysis.versions;
|
|
30285
|
-
const oldFilesArray = oldProgram.getSourceFiles().map(
|
|
32432
|
+
const oldFilesArray = oldProgram.getSourceFiles().map(toOriginalSourceFile);
|
|
30286
32433
|
const oldFiles = new Set(oldFilesArray);
|
|
30287
32434
|
const deletedTsFiles = new Set(oldFilesArray.map(sf => absoluteFromSourceFile(sf)));
|
|
30288
32435
|
for (const possiblyRedirectedNewFile of program.getSourceFiles()) {
|
|
30289
|
-
const sf =
|
|
32436
|
+
const sf = toOriginalSourceFile(possiblyRedirectedNewFile);
|
|
30290
32437
|
const sfPath = absoluteFromSourceFile(sf);
|
|
30291
32438
|
// Since we're seeing a file in the incoming program with this name, it can't have been
|
|
30292
32439
|
// deleted.
|
|
@@ -30476,6 +32623,31 @@ Either add the @Injectable() decorator to '${provider.node.name
|
|
|
30476
32623
|
return this.step.priorState.emitted.has(sfPath);
|
|
30477
32624
|
}
|
|
30478
32625
|
}
|
|
32626
|
+
/**
|
|
32627
|
+
* To accurately detect whether a source file was affected during an incremental rebuild, the
|
|
32628
|
+
* "original" source file needs to be consistently used.
|
|
32629
|
+
*
|
|
32630
|
+
* First, TypeScript may have created source file redirects when declaration files of the same
|
|
32631
|
+
* version of a library are included multiple times. The non-redirected source file should be used
|
|
32632
|
+
* to detect changes, as otherwise the redirected source files cause a mismatch when compared to
|
|
32633
|
+
* a prior program.
|
|
32634
|
+
*
|
|
32635
|
+
* Second, the program that is used for template type checking may contain mutated source files, if
|
|
32636
|
+
* inline type constructors or inline template type-check blocks had to be used. Such source files
|
|
32637
|
+
* store their original, non-mutated source file from the original program in a symbol. For
|
|
32638
|
+
* computing the affected files in an incremental build this original source file should be used, as
|
|
32639
|
+
* the mutated source file would always be considered affected.
|
|
32640
|
+
*/
|
|
32641
|
+
function toOriginalSourceFile(sf) {
|
|
32642
|
+
const unredirectedSf = toUnredirectedSourceFile(sf);
|
|
32643
|
+
const originalFile = unredirectedSf[NgOriginalFile];
|
|
32644
|
+
if (originalFile !== undefined) {
|
|
32645
|
+
return originalFile;
|
|
32646
|
+
}
|
|
32647
|
+
else {
|
|
32648
|
+
return unredirectedSf;
|
|
32649
|
+
}
|
|
32650
|
+
}
|
|
30479
32651
|
|
|
30480
32652
|
/**
|
|
30481
32653
|
* @license
|
|
@@ -32173,190 +34345,6 @@ Either add the @Injectable() decorator to '${provider.node.name
|
|
|
32173
34345
|
}
|
|
32174
34346
|
}
|
|
32175
34347
|
|
|
32176
|
-
/**
|
|
32177
|
-
* @license
|
|
32178
|
-
* Copyright Google LLC All Rights Reserved.
|
|
32179
|
-
*
|
|
32180
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
32181
|
-
* found in the LICENSE file at https://angular.io/license
|
|
32182
|
-
*/
|
|
32183
|
-
/**
|
|
32184
|
-
* A `Symbol` which is used to patch extension data onto `ts.SourceFile`s.
|
|
32185
|
-
*/
|
|
32186
|
-
const NgExtension = Symbol('NgExtension');
|
|
32187
|
-
/**
|
|
32188
|
-
* Narrows a `ts.SourceFile` if it has an `NgExtension` property.
|
|
32189
|
-
*/
|
|
32190
|
-
function isExtended(sf) {
|
|
32191
|
-
return sf[NgExtension] !== undefined;
|
|
32192
|
-
}
|
|
32193
|
-
/**
|
|
32194
|
-
* Check whether `sf` is a shim `ts.SourceFile` (either a per-file shim or a top-level shim).
|
|
32195
|
-
*/
|
|
32196
|
-
function isShim(sf) {
|
|
32197
|
-
return isExtended(sf) && (sf[NgExtension].fileShim !== null || sf[NgExtension].isTopLevelShim);
|
|
32198
|
-
}
|
|
32199
|
-
|
|
32200
|
-
/**
|
|
32201
|
-
* @license
|
|
32202
|
-
* Copyright Google LLC All Rights Reserved.
|
|
32203
|
-
*
|
|
32204
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
32205
|
-
* found in the LICENSE file at https://angular.io/license
|
|
32206
|
-
*/
|
|
32207
|
-
const STRIP_NG_FACTORY = /(.*)NgFactory$/;
|
|
32208
|
-
function generatedFactoryTransform(factoryMap, importRewriter) {
|
|
32209
|
-
return (context) => {
|
|
32210
|
-
return (file) => {
|
|
32211
|
-
return transformFactorySourceFile(factoryMap, context, importRewriter, file);
|
|
32212
|
-
};
|
|
32213
|
-
};
|
|
32214
|
-
}
|
|
32215
|
-
function transformFactorySourceFile(factoryMap, context, importRewriter, file) {
|
|
32216
|
-
// If this is not a generated file, it won't have factory info associated with it.
|
|
32217
|
-
if (!factoryMap.has(file.fileName)) {
|
|
32218
|
-
// Don't transform non-generated code.
|
|
32219
|
-
return file;
|
|
32220
|
-
}
|
|
32221
|
-
const { moduleSymbols, sourceFilePath } = factoryMap.get(file.fileName);
|
|
32222
|
-
// Not every exported factory statement is valid. They were generated before the program was
|
|
32223
|
-
// analyzed, and before ngtsc knew which symbols were actually NgModules. factoryMap contains
|
|
32224
|
-
// that knowledge now, so this transform filters the statement list and removes exported factories
|
|
32225
|
-
// that aren't actually factories.
|
|
32226
|
-
//
|
|
32227
|
-
// This could leave the generated factory file empty. To prevent this (it causes issues with
|
|
32228
|
-
// closure compiler) a 'ɵNonEmptyModule' export was added when the factory shim was created.
|
|
32229
|
-
// Preserve that export if needed, and remove it otherwise.
|
|
32230
|
-
//
|
|
32231
|
-
// Additionally, an import to @angular/core is generated, but the current compilation unit could
|
|
32232
|
-
// actually be @angular/core, in which case such an import is invalid and should be replaced with
|
|
32233
|
-
// the proper path to access Ivy symbols in core.
|
|
32234
|
-
// The filtered set of statements.
|
|
32235
|
-
const transformedStatements = [];
|
|
32236
|
-
// The statement identified as the ɵNonEmptyModule export.
|
|
32237
|
-
let nonEmptyExport = null;
|
|
32238
|
-
// Extracted identifiers which refer to import statements from @angular/core.
|
|
32239
|
-
const coreImportIdentifiers = new Set();
|
|
32240
|
-
// Consider all the statements.
|
|
32241
|
-
for (const stmt of file.statements) {
|
|
32242
|
-
// Look for imports to @angular/core.
|
|
32243
|
-
if (ts$1.isImportDeclaration(stmt) && ts$1.isStringLiteral(stmt.moduleSpecifier) &&
|
|
32244
|
-
stmt.moduleSpecifier.text === '@angular/core') {
|
|
32245
|
-
// Update the import path to point to the correct file using the ImportRewriter.
|
|
32246
|
-
const rewrittenModuleSpecifier = importRewriter.rewriteSpecifier('@angular/core', sourceFilePath);
|
|
32247
|
-
if (rewrittenModuleSpecifier !== stmt.moduleSpecifier.text) {
|
|
32248
|
-
transformedStatements.push(ts$1.updateImportDeclaration(stmt, stmt.decorators, stmt.modifiers, stmt.importClause, ts$1.createStringLiteral(rewrittenModuleSpecifier)));
|
|
32249
|
-
// Record the identifier by which this imported module goes, so references to its symbols
|
|
32250
|
-
// can be discovered later.
|
|
32251
|
-
if (stmt.importClause !== undefined && stmt.importClause.namedBindings !== undefined &&
|
|
32252
|
-
ts$1.isNamespaceImport(stmt.importClause.namedBindings)) {
|
|
32253
|
-
coreImportIdentifiers.add(stmt.importClause.namedBindings.name.text);
|
|
32254
|
-
}
|
|
32255
|
-
}
|
|
32256
|
-
else {
|
|
32257
|
-
transformedStatements.push(stmt);
|
|
32258
|
-
}
|
|
32259
|
-
}
|
|
32260
|
-
else if (ts$1.isVariableStatement(stmt) && stmt.declarationList.declarations.length === 1) {
|
|
32261
|
-
const decl = stmt.declarationList.declarations[0];
|
|
32262
|
-
// If this is the ɵNonEmptyModule export, then save it for later.
|
|
32263
|
-
if (ts$1.isIdentifier(decl.name)) {
|
|
32264
|
-
if (decl.name.text === 'ɵNonEmptyModule') {
|
|
32265
|
-
nonEmptyExport = stmt;
|
|
32266
|
-
continue;
|
|
32267
|
-
}
|
|
32268
|
-
// Otherwise, check if this export is a factory for a known NgModule, and retain it if so.
|
|
32269
|
-
const match = STRIP_NG_FACTORY.exec(decl.name.text);
|
|
32270
|
-
const module = match ? moduleSymbols.get(match[1]) : null;
|
|
32271
|
-
if (module) {
|
|
32272
|
-
// If the module can be tree shaken, then the factory should be wrapped in a
|
|
32273
|
-
// `noSideEffects()` call which tells Closure to treat the expression as pure, allowing
|
|
32274
|
-
// it to be removed if the result is not used.
|
|
32275
|
-
//
|
|
32276
|
-
// `NgModule`s with an `id` property will be lazy loaded. Google-internal lazy loading
|
|
32277
|
-
// infra relies on a side effect from the `new NgModuleFactory()` call, which registers
|
|
32278
|
-
// the module globally. Because of this, we **cannot** tree shake any module which has
|
|
32279
|
-
// an `id` property. Doing so would cause lazy loaded modules to never be registered.
|
|
32280
|
-
const moduleIsTreeShakable = !module.hasId;
|
|
32281
|
-
const newStmt = !moduleIsTreeShakable ?
|
|
32282
|
-
stmt :
|
|
32283
|
-
updateInitializers(stmt, (init) => init ? wrapInNoSideEffects(init) : undefined);
|
|
32284
|
-
transformedStatements.push(newStmt);
|
|
32285
|
-
}
|
|
32286
|
-
}
|
|
32287
|
-
else {
|
|
32288
|
-
// Leave the statement alone, as it can't be understood.
|
|
32289
|
-
transformedStatements.push(stmt);
|
|
32290
|
-
}
|
|
32291
|
-
}
|
|
32292
|
-
else {
|
|
32293
|
-
// Include non-variable statements (imports, etc).
|
|
32294
|
-
transformedStatements.push(stmt);
|
|
32295
|
-
}
|
|
32296
|
-
}
|
|
32297
|
-
// Check whether the empty module export is still needed.
|
|
32298
|
-
if (!transformedStatements.some(ts$1.isVariableStatement) && nonEmptyExport !== null) {
|
|
32299
|
-
// If the resulting file has no factories, include an empty export to
|
|
32300
|
-
// satisfy closure compiler.
|
|
32301
|
-
transformedStatements.push(nonEmptyExport);
|
|
32302
|
-
}
|
|
32303
|
-
file = ts$1.updateSourceFileNode(file, transformedStatements);
|
|
32304
|
-
// If any imports to @angular/core were detected and rewritten (which happens when compiling
|
|
32305
|
-
// @angular/core), go through the SourceFile and rewrite references to symbols imported from core.
|
|
32306
|
-
if (coreImportIdentifiers.size > 0) {
|
|
32307
|
-
const visit = (node) => {
|
|
32308
|
-
node = ts$1.visitEachChild(node, child => visit(child), context);
|
|
32309
|
-
// Look for expressions of the form "i.s" where 'i' is a detected name for an @angular/core
|
|
32310
|
-
// import that was changed above. Rewrite 's' using the ImportResolver.
|
|
32311
|
-
if (ts$1.isPropertyAccessExpression(node) && ts$1.isIdentifier(node.expression) &&
|
|
32312
|
-
coreImportIdentifiers.has(node.expression.text)) {
|
|
32313
|
-
// This is an import of a symbol from @angular/core. Transform it with the importRewriter.
|
|
32314
|
-
const rewrittenSymbol = importRewriter.rewriteSymbol(node.name.text, '@angular/core');
|
|
32315
|
-
if (rewrittenSymbol !== node.name.text) {
|
|
32316
|
-
const updated = ts$1.updatePropertyAccess(node, node.expression, ts$1.createIdentifier(rewrittenSymbol));
|
|
32317
|
-
node = updated;
|
|
32318
|
-
}
|
|
32319
|
-
}
|
|
32320
|
-
return node;
|
|
32321
|
-
};
|
|
32322
|
-
file = visit(file);
|
|
32323
|
-
}
|
|
32324
|
-
return file;
|
|
32325
|
-
}
|
|
32326
|
-
/**
|
|
32327
|
-
* Wraps the given expression in a call to `ɵnoSideEffects()`, which tells
|
|
32328
|
-
* Closure we don't care about the side effects of this expression and it should
|
|
32329
|
-
* be treated as "pure". Closure is free to tree shake this expression if its
|
|
32330
|
-
* result is not used.
|
|
32331
|
-
*
|
|
32332
|
-
* Example: Takes `1 + 2` and returns `i0.ɵnoSideEffects(() => 1 + 2)`.
|
|
32333
|
-
*/
|
|
32334
|
-
function wrapInNoSideEffects(expr) {
|
|
32335
|
-
const noSideEffects = ts$1.createPropertyAccess(ts$1.createIdentifier('i0'), 'ɵnoSideEffects');
|
|
32336
|
-
return ts$1.createCall(noSideEffects,
|
|
32337
|
-
/* typeArguments */ [],
|
|
32338
|
-
/* arguments */
|
|
32339
|
-
[
|
|
32340
|
-
ts$1.createFunctionExpression(
|
|
32341
|
-
/* modifiers */ [],
|
|
32342
|
-
/* asteriskToken */ undefined,
|
|
32343
|
-
/* name */ undefined,
|
|
32344
|
-
/* typeParameters */ [],
|
|
32345
|
-
/* parameters */ [],
|
|
32346
|
-
/* type */ undefined,
|
|
32347
|
-
/* body */ ts$1.createBlock([
|
|
32348
|
-
ts$1.createReturn(expr),
|
|
32349
|
-
])),
|
|
32350
|
-
]);
|
|
32351
|
-
}
|
|
32352
|
-
/**
|
|
32353
|
-
* Clones and updates the initializers for a given statement to use the new
|
|
32354
|
-
* expression provided. Does not mutate the input statement.
|
|
32355
|
-
*/
|
|
32356
|
-
function updateInitializers(stmt, update) {
|
|
32357
|
-
return ts$1.updateVariableStatement(stmt, stmt.modifiers, ts$1.updateVariableDeclarationList(stmt.declarationList, stmt.declarationList.declarations.map((decl) => ts$1.updateVariableDeclaration(decl, decl.name, decl.type, update(decl.initializer)))));
|
|
32358
|
-
}
|
|
32359
|
-
|
|
32360
34348
|
/**
|
|
32361
34349
|
* @license
|
|
32362
34350
|
* Copyright Google LLC All Rights Reserved.
|
|
@@ -32471,28 +34459,6 @@ Either add the @Injectable() decorator to '${provider.node.name
|
|
|
32471
34459
|
decl.initializer.text.endsWith(IVY_SWITCH_PRE_SUFFIX));
|
|
32472
34460
|
}
|
|
32473
34461
|
|
|
32474
|
-
/**
|
|
32475
|
-
* @license
|
|
32476
|
-
* Copyright Google LLC All Rights Reserved.
|
|
32477
|
-
*
|
|
32478
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
32479
|
-
* found in the LICENSE file at https://angular.io/license
|
|
32480
|
-
*/
|
|
32481
|
-
var UpdateMode;
|
|
32482
|
-
(function (UpdateMode) {
|
|
32483
|
-
/**
|
|
32484
|
-
* A complete update creates a completely new overlay of type-checking code on top of the user's
|
|
32485
|
-
* original program, which doesn't include type-checking code from previous calls to
|
|
32486
|
-
* `updateFiles`.
|
|
32487
|
-
*/
|
|
32488
|
-
UpdateMode[UpdateMode["Complete"] = 0] = "Complete";
|
|
32489
|
-
/**
|
|
32490
|
-
* An incremental update changes the contents of some files in the type-checking program without
|
|
32491
|
-
* reverting any prior changes.
|
|
32492
|
-
*/
|
|
32493
|
-
UpdateMode[UpdateMode["Incremental"] = 1] = "Incremental";
|
|
32494
|
-
})(UpdateMode || (UpdateMode = {}));
|
|
32495
|
-
|
|
32496
34462
|
/**
|
|
32497
34463
|
* @license
|
|
32498
34464
|
* Copyright Google LLC All Rights Reserved.
|
|
@@ -33222,12 +35188,17 @@ Either add the @Injectable() decorator to '${provider.node.name
|
|
|
33222
35188
|
return visitNode(type) !== INELIGIBLE;
|
|
33223
35189
|
}
|
|
33224
35190
|
// To determine whether a type can be emitted, we have to recursively look through all type nodes.
|
|
33225
|
-
// If
|
|
33226
|
-
//
|
|
33227
|
-
//
|
|
33228
|
-
//
|
|
33229
|
-
//
|
|
35191
|
+
// If an unsupported type node is found at any position within the type, then the `INELIGIBLE`
|
|
35192
|
+
// constant is returned to stop the recursive walk as the type as a whole cannot be emitted in
|
|
35193
|
+
// that case. Otherwise, the result of visiting all child nodes determines the result. If no
|
|
35194
|
+
// ineligible type reference node is found then the walk returns `undefined`, indicating that
|
|
35195
|
+
// no type node was visited that could not be emitted.
|
|
33230
35196
|
function visitNode(node) {
|
|
35197
|
+
// `import('module')` type nodes are not supported, as it may require rewriting the module
|
|
35198
|
+
// specifier which is currently not done.
|
|
35199
|
+
if (ts$1.isImportTypeNode(node)) {
|
|
35200
|
+
return INELIGIBLE;
|
|
35201
|
+
}
|
|
33231
35202
|
// Emitting a type reference node in a different context requires that an import for the type
|
|
33232
35203
|
// can be created. If a type reference node cannot be emitted, `INELIGIBLE` is returned to stop
|
|
33233
35204
|
// the walk.
|
|
@@ -33290,9 +35261,23 @@ Either add the @Injectable() decorator to '${provider.node.name
|
|
|
33290
35261
|
emitType(type) {
|
|
33291
35262
|
const typeReferenceTransformer = context => {
|
|
33292
35263
|
const visitNode = (node) => {
|
|
35264
|
+
if (ts$1.isImportTypeNode(node)) {
|
|
35265
|
+
throw new Error('Unable to emit import type');
|
|
35266
|
+
}
|
|
33293
35267
|
if (ts$1.isTypeReferenceNode(node)) {
|
|
33294
35268
|
return this.emitTypeReference(node);
|
|
33295
35269
|
}
|
|
35270
|
+
else if (ts$1.isLiteralExpression(node)) {
|
|
35271
|
+
// TypeScript would typically take the emit text for a literal expression from the source
|
|
35272
|
+
// file itself. As the type node is being emitted into a different file, however,
|
|
35273
|
+
// TypeScript would extract the literal text from the wrong source file. To mitigate this
|
|
35274
|
+
// issue the literal is cloned and explicitly marked as synthesized by setting its text
|
|
35275
|
+
// range to a negative range, forcing TypeScript to determine the node's literal text from
|
|
35276
|
+
// the synthesized node's text instead of the incorrect source file.
|
|
35277
|
+
const clone = ts$1.getMutableClone(node);
|
|
35278
|
+
ts$1.setTextRange(clone, { pos: -1, end: -1 });
|
|
35279
|
+
return clone;
|
|
35280
|
+
}
|
|
33296
35281
|
else {
|
|
33297
35282
|
return ts$1.visitEachChild(node, visitNode, context);
|
|
33298
35283
|
}
|
|
@@ -34986,7 +36971,7 @@ Either add the @Injectable() decorator to '${provider.node.name
|
|
|
34986
36971
|
}
|
|
34987
36972
|
/**
|
|
34988
36973
|
* A `TcbOp` which constructs an instance of a non-generic directive _without_ setting any of its
|
|
34989
|
-
* inputs. Inputs
|
|
36974
|
+
* inputs. Inputs are later set in the `TcbDirectiveInputsOp`. Type checking was found to be
|
|
34990
36975
|
* faster when done in this way as opposed to `TcbDirectiveCtorOp` which is only necessary when the
|
|
34991
36976
|
* directive is generic.
|
|
34992
36977
|
*
|
|
@@ -36598,7 +38583,10 @@ Either add the @Injectable() decorator to '${provider.node.name
|
|
|
36598
38583
|
for (const originalSf of this.opMap.keys()) {
|
|
36599
38584
|
const newText = this.transform(originalSf);
|
|
36600
38585
|
if (newText !== null) {
|
|
36601
|
-
updates.set(absoluteFromSourceFile(originalSf),
|
|
38586
|
+
updates.set(absoluteFromSourceFile(originalSf), {
|
|
38587
|
+
newText,
|
|
38588
|
+
originalFile: originalSf,
|
|
38589
|
+
});
|
|
36602
38590
|
}
|
|
36603
38591
|
}
|
|
36604
38592
|
// Then go through each input file that has pending code generation operations.
|
|
@@ -36614,7 +38602,12 @@ Either add the @Injectable() decorator to '${provider.node.name
|
|
|
36614
38602
|
path: pendingShimData.file.fileName,
|
|
36615
38603
|
templates: pendingShimData.templates,
|
|
36616
38604
|
});
|
|
36617
|
-
|
|
38605
|
+
const sfText = pendingShimData.file.render(false /* removeComments */);
|
|
38606
|
+
updates.set(pendingShimData.file.fileName, {
|
|
38607
|
+
newText: sfText,
|
|
38608
|
+
// Shim files do not have an associated original file.
|
|
38609
|
+
originalFile: null,
|
|
38610
|
+
});
|
|
36618
38611
|
}
|
|
36619
38612
|
}
|
|
36620
38613
|
return updates;
|
|
@@ -36980,7 +38973,24 @@ Either add the @Injectable() decorator to '${provider.node.name
|
|
|
36980
38973
|
}
|
|
36981
38974
|
getDirectiveMeta(host, directiveDeclaration) {
|
|
36982
38975
|
var _a;
|
|
36983
|
-
|
|
38976
|
+
let directives = this.templateData.boundTarget.getDirectivesOfNode(host);
|
|
38977
|
+
// `getDirectivesOfNode` will not return the directives intended for an element
|
|
38978
|
+
// on a microsyntax template, for example `<div *ngFor="let user of users;" dir>`,
|
|
38979
|
+
// the `dir` will be skipped, but it's needed in language service.
|
|
38980
|
+
const firstChild = host.children[0];
|
|
38981
|
+
if (firstChild instanceof Element) {
|
|
38982
|
+
const isMicrosyntaxTemplate = host instanceof Template &&
|
|
38983
|
+
sourceSpanEqual(firstChild.sourceSpan, host.sourceSpan);
|
|
38984
|
+
if (isMicrosyntaxTemplate) {
|
|
38985
|
+
const firstChildDirectives = this.templateData.boundTarget.getDirectivesOfNode(firstChild);
|
|
38986
|
+
if (firstChildDirectives !== null && directives !== null) {
|
|
38987
|
+
directives = directives.concat(firstChildDirectives);
|
|
38988
|
+
}
|
|
38989
|
+
else {
|
|
38990
|
+
directives = directives !== null && directives !== void 0 ? directives : firstChildDirectives;
|
|
38991
|
+
}
|
|
38992
|
+
}
|
|
38993
|
+
}
|
|
36984
38994
|
if (directives === null) {
|
|
36985
38995
|
return null;
|
|
36986
38996
|
}
|
|
@@ -37340,6 +39350,9 @@ Either add the @Injectable() decorator to '${provider.node.name
|
|
|
37340
39350
|
function anyNodeFilter(n) {
|
|
37341
39351
|
return true;
|
|
37342
39352
|
}
|
|
39353
|
+
function sourceSpanEqual(a, b) {
|
|
39354
|
+
return a.start.offset === b.start.offset && a.end.offset === b.end.offset;
|
|
39355
|
+
}
|
|
37343
39356
|
|
|
37344
39357
|
/**
|
|
37345
39358
|
* @license
|
|
@@ -40100,11 +42113,20 @@ https://v9.angular.io/guide/template-typecheck#template-type-checking`,
|
|
|
40100
42113
|
TargetNodeKind[TargetNodeKind["AttributeInValueContext"] = 6] = "AttributeInValueContext";
|
|
40101
42114
|
TargetNodeKind[TargetNodeKind["TwoWayBindingContext"] = 7] = "TwoWayBindingContext";
|
|
40102
42115
|
})(TargetNodeKind || (TargetNodeKind = {}));
|
|
42116
|
+
/**
|
|
42117
|
+
* Special marker AST that can be used when the cursor is within the `sourceSpan` but not
|
|
42118
|
+
* the key or value span of a node with key/value spans.
|
|
42119
|
+
*/
|
|
42120
|
+
class OutsideKeyValueMarkerAst extends AST {
|
|
42121
|
+
visit() {
|
|
42122
|
+
return null;
|
|
42123
|
+
}
|
|
42124
|
+
}
|
|
40103
42125
|
/**
|
|
40104
42126
|
* This special marker is added to the path when the cursor is within the sourceSpan but not the key
|
|
40105
42127
|
* or value span of a node with key/value spans.
|
|
40106
42128
|
*/
|
|
40107
|
-
const OUTSIDE_K_V_MARKER = new
|
|
42129
|
+
const OUTSIDE_K_V_MARKER = new OutsideKeyValueMarkerAst(new ParseSpan(-1, -1), new AbsoluteSourceSpan(-1, -1));
|
|
40108
42130
|
/**
|
|
40109
42131
|
* Return the template AST node or expression AST node that most accurately
|
|
40110
42132
|
* represents the node at the specified cursor `position`.
|
|
@@ -42536,7 +44558,7 @@ https://v9.angular.io/guide/template-typecheck#template-type-checking`,
|
|
|
42536
44558
|
return program;
|
|
42537
44559
|
},
|
|
42538
44560
|
updateFiles(contents) {
|
|
42539
|
-
for (const [fileName, newText] of contents) {
|
|
44561
|
+
for (const [fileName, { newText }] of contents) {
|
|
42540
44562
|
const scriptInfo = getOrCreateTypeCheckScriptInfo(project, fileName);
|
|
42541
44563
|
const snapshot = scriptInfo.getSnapshot();
|
|
42542
44564
|
const length = snapshot.getLength();
|